New Transmeta Patent
deggy writes "Transmeta have a new patent as of the 20th of this month. It seems to basicly concern caching. "Apparatus and a method for storing data already stored at an often utilized memory address in registers local to a host processor and maintain the data in the registers and memory consistent so that the processor may respond more rapidly when a memory address is to be accessed." "
I agree that the description is way too vague. That is yet another problem with the patent system as it stands. There are patent attorneys who pride themselves on their ability to be vague but sound specific enough to get approval. Often they are the same ones who are experts on making the wroding of any patent sound like any existing device.
I've been reading the patent claims; so far it looks like they are patenting an L1 cache with bus snooping and write through (does not that describe every current L1 cache scheme?)
Claim 13 has more meat in it; it almost makes it sound like they are caching micro-ops from on-the-fly emulation of other instruction sets... but that is very similar to what the K7 is supposed to do! (and possibly Merced x86 mode)
Sure looks like Transmeta is building a chip intended to be fast at emulating existing processors; I hope they release full documentation on it, it would be fun to design my own instruction set!
--------- Webmaster, http://www.cpureview.com and
I was just trying to grok it too. Best as I can tell, this patent describes setting aside two "special" registers which it uses to cache a memory address and the data at that address.
The interesting part comes when it detects an access to that memory address - it then goes ahead and rewrites the next block of instructions, so that they use the special data register instead of a memory access to load/store the data (and dealing with keeping memory up to date in the background I guess - the patent seems a bit vague on this, as well as on how it chooses which memory address and data to store in those two registers initially).
Interesting idea, but I'm worried that the patent may be a bit vague on some points... as given, this method isn't guaranteed to work on SMP systems...
I'm always interested to know if anyone was able to glean more out of the patent, or find problems with my own description. =)
In order for real high tech companies (I'm not talking about the AOL's or the amazon.com's of the world) to compete they have to differentiate. To do this means that their principle scientists generate new ideas that give them an edge over the competition. In order to protect their intellectual property its in their best interest to patent it otherwise other companies just feed on the R&D expenditure of the real technology leaders.
If people and corporations were honest this wouldn't be necessary. They're not, so it is. Certain software patents may make it seem like the patent system is useless but that isn't true. It needs some work, but without the protection that patents and patent litigation affords no company would stick their out to break new ground. It'd be much safer to just wait for somebody else (probably academic institutions) to come up with technology and pilfer it.
I find this attitude disturbing; after reading through the claims, it looks like there is very little here that is novel or even interesting.
This kind of Linus-worship is clouding the judgement of lots of folks on this site. Just because it has to do with Linus/Transmeta DOES NOT mean it is unique, innovative, or novel. They might be working on cool things, but judge them for their accomplishments, not just because Linus happens to work there.
Here are my guesses.
:) (Oops! MOV != MOE | LARRY | CURLY. Now, I'm a cow chip because my cache failed :( Please reinsert smoke. )
1) It's for system-on-a-chip integratation.
2) It's for a 'self-programming' chip; i.e., the circuits can be 'changed' after manufacturing. I reliable cache for a new instruction set would be very important. (Hi, I'm an x86. Now, I'm a SPARC. Now, I'm an Alpha!
Seriously though, I think there's a project at MIT like number 2. (FPGA ?)
Sorry if I'm incoherent, I just woke up.
Patent #9448-220-1036
Anti-gravity pre-processor for FPU
Uses tri-parallel unidirectional buffering to achieve velocity sufficient to launch the processor into orbit. By utilitizing a integrated tcp/ip stack and a subminature subspace transmitter, the AGP-FPU can participate in the SETI@Home project and help find those pesky aliens that landed in Roswell some 50 years ago.
--
Not true. Only the U.S. and the Phillipines follow the "first-to-invent" rule: if I invent something a day before you invent it independently, but wait until a day after you apply for a patent to apply for mine, then I get the patent. _All_ other countries follow the "first-to-apply" rule and would give the patent to you.
Also, most (but not all) countries follow the so-called "absolute novelty" rule under which publishing the details of an invention makes it unpatentable. Here, you can apply up to 1 year after disclosure. A few countries, such as Canada and Brazil, and Australia's "petty patent" system, agree with us on this one.
Finally, the U.S. system is much more receptive to non-traditional subject matter, including software patents, than most countries'. You can't blame the Patent and Trademark Office for this: it's mostly the fault of the courts, especially the rabidly pro-patent Federal Circuit. After the _State Street Bank_ case of last year, which basically allowed the patenting of a method of accounting, it seems like just about any idea is now patentable in this country.
I Can't Believe It's A Law Firm, LLP does not necessarily endorse the contents of this message.
It helps if you know how the patent process works. I'm currently going through that process for my day job. A patent application has to describe a device or class of devices that has not been invented before and the description of the class of devices has to be described well enough so that someone who is "skilled in the art" can duplicate it without difficulty.
So, if something has ever been built before, it is not patentable. (This is true even if you were the one building it and you wait to long to file the patent.)
That puts a damper on your plans to rake in the big bucks from mass-transit manufacturers, doesn't it? People have been moved en masse for thousands of years, so there's lots of "prior art".
In order to be granted that patent, you have to explain what makes your device different from every other mass-transit device that's ever been built and why those differences are important enough to be afforded patent protection. So, it's not possible to patent, say, an airliner, but it may be possible to patent devices on the airliner. I'm sure that whoever invented retractable landing gear got a patent on the device even though most people today would consider that an "obvious" invention.
This whole software patent thing has been blown all out of proportion. Patents are there to help promote the free distribution of ideas, not to stifle invention. Some people focus solely on the fact that the patent gives the patent owner a monopoly on those devices, but they conveniently forget that, in order to get a patent on anything, you have to describe that thing in enough detail to duplicate it. Once the patent (assuming it's granted) expires, that information is freely available.
That works for software as well as for mechanical devices. I've heard the complaint that "software changes too fast so 17 years (or 25 or whatever the laws in your country say) is way too long." Unfortunately for that argument, it simply isn't true. The rapid rate of change in software technology was due to the relative youth of the technology. As software has matured, the rate of change in that technology has become much smaller. It's a lot harder to make fundamental changes in software technology now than it was 20 years ago. That alone means that you'll never see a situation where you can't write a program without violating some patent.
In fact, if you look, you'll see that patents in any technology follow a similar pattern: They come quickly and cover "obvious" (to posterity) inventions in the beginning and are granted less often and the patents that are granted get more esoteric as time goes on.
For the patent in question, well, I don't know about you, but I've never heard of a system where the cache contents were addressable as processor registers, which is what the patent covers. In fact, although I'm familiar with a number of processors and I am interested in processor design, I don't think it ever would have occured to me that this would be something useful or worthwhile. That means that I am satisfied, pending the arrival of some notification of "prior art", that the Transmeta guys have truly come up with something new.
No, American patent laws aren't that radically different. It's just that somewhere along the way the patent office forgot it's supposed to be following them.
Unfortunately here in the US, the patent office has actually stated that they do not have the technical skills or resources to evaluate even a small percentage of patent applications. They just accept them, and let people deal with it in court.
Sort of makes the concept of patents silly huh?
Put enough techno-jargon in the application, and you probably could patent a biological waste disposal system (to paraphrase another comment) and sue everyone's ass. In fact not only could you, but that's what the patent office recommends you do.
The real problem is that it costs an average of a million US dollars to fight a parent through the courts. The trick is, then, to patent something that lots of companies need, and make sure the license cost is under that amount for any individual company. You'll never get sued over it, because its not worth it to the companies, and AFAIK you can't file class-action patent challanges.
Ah, land of the free, home of the brave.
Patents have a few drawbacks.
1) You can get one on (it seems) nearly anything, simply by wording it so that it seems somewhat new to the examiner, and then use this patent, and the implied threat of lawsuit, to extort money from rival companies.
2) Patents need to be (from what I remember) on something that wouldn't be deemed trivial to a compotent member of the profession. (ie, if processors all had six registers, adding one or two, while new, wouldn't be that great of a conceptual leap). But, due to the secret nature of patent proceedings, the idea is not presented to knowledgable members of the profession, so someone less skilled gets to judge what is worthy of a patent.
Now, specifically about the Transmeta patent...
I read the patent and it described a current caching system, but using registers, presumably instead of very fast static ram located on the cpu...
Well, registers aren't very well defined, nor is their use, either in the patent, or in technical literature. In fact, pretty well anything that the CPU can access without an idle cycle can be refered to as a register. Does it matter if your CPU has 128 128b renamable GP registers, or if it has 2k of cache RAM that is addressable as registers with no more delay than an actual register, or in fact, just has 2k of cache ram with no more delay than a register? No, it doesn't. Either way, you're essentially getting 'free' reads of cached data.
Especially since the Transmeta patent doesn't say that those registers will be program addressable. It's not like they said that the program will be able to look in then to determine what is cached (which would be handy), simply that they are stored as 'registers' instead of 'l1 cache' (Level-n cache being a 'flexible' term itself...)
Considering that all cache ram works by having some area set asside to hold the data, and some set asside to hold the addresses that the data belongs at, and then some logic to make sure that any data changed gets updated in both ram and cache...
The only thing they did was call this storage 'registers' instead of 'cache RAM'.
That sure seems like an example of patenting the blatantly obvious. This sure inspires confidence in the usefulness of the patent system.
You're right, it was filed in 1996. While it looks like they were definitely working on a microprocessor design in 1996, it has been over 3 years since then, so they may have shifted gears entirely. So while it looks likely that Transmeta is working on a cool CPU design, who knows, they may actually be working on a cool graphics chip design by now.
-E
Send mail here if you want to reach me.
Storing frequently utilized data in a L1 cache is not the same as
using an execution unit resident data/address pair. This patent is
describing a system where-by the execution unit will cache its own
data in 'a first register of the execution unit.' Presumably, this
implies a simple case of one unit of data for the purposes of
describing the mechanism for the patent. A real processor would
require a vast quantity of such register pairs.
The second point under claim 7 is rather interesting. This point is
repeated in claim 13;
* software for translating instructions from a target instruction
set to instructions of the host instruction set;
The term 'code morphing' makes an appearance in claims 20 and 26;
* code morphing software for translating programs written for a
target processor having a second different instruction set into
instructions of the first instruction set for execution by the
host processor
This point is rather confusing. To my reading it implies that the
data/address register pair may also reference translated code
sequences which may change, forcing a retranslation, i.e. self
modifying code.
* software implemented means responsive to an exception generated by
the comparator for retranslating into a new code sequence without
storing memory data in the first register which is frequently
utilized by the host processor during a code sequence and
executing the new code sequence.
My (admittedly non-expert) reading of this document tells me that this
is not simply a rehash of existing technology. I think the claim that
this is a bogus patent is a simple knee-jerk reaction, probably the
result of not having read it and/or not understanding it.
Lurking at the bottom of the gravity well, getting old
Skimming the patent, a few things indicate that it's not just L1 cache.
The part about triggering a software exception when an address that is not coherant between memory and cache is accessed is interesting. This fits very well with the idea that they are building a fast instruction set emulator system for a risc processor.
Over all, it looks like the CPU runs in a virtual memory environment of it's own. That VM is provided by the MMU and a just in time translator in software. The translator may get feedback from the cache incoherance exception to re-order the risc code for the next execution.IF That is the case, then it is indeed new and the methods are non-obvious.
The holders of proper and valid patents should sue the USPTO in mass for devaluing the holding of a patent. At one time, holding many patents lended respect and credibility, now because USPTO will approve nearly anything, it is seen as meaningless or worse by the very people one would want to impress.