> From: Jonathan Larmour > > That implementation doesn't sound like an FTL, but then without things > like wear-levelling or dealing with the inevitable bad blocks, it doesn't > sound terribly useful either! I doubt that that conflicts with > the patent. > You could write a (non-standard) FTL that worked on top of it of course, > but that's presumably not what you're talking about.
It is an FTL, if I understand the term correctly. To the higher levels, the device looks like a regular disk capable of supporting a FAT16 file system, the only restriction being that the "disk" has to be formatted so that the cluster size matches the erasable block size, and their boundaries have to line up. Underneath, it uses a RAM-based lookup table to map clusters to blocks, but since FAT16 can't have any more than 64K clusters, the table can never exceed 128KBytes. The mapping info is stored in the extra 16 bytes that accompany every 512 byte page or "sector", along with a Hamming code that can correct any single-bit error and detect most higher errors. It deals with bad blocks by only allocating 1000 out of every 1024 blocks, leaving the remaining 24 as spares, and it has a way of marking blocks free (unused), dirty (needs erasure), bad (never to be used again), or allocated to a particular location. If the software always searches for a free block just past the last block that it found, then wear tends to be leveled statistically, as long as the power stays on, but there is no usage count recorded in the flash that forces precise leveling. But nowadays, flash memories are so damn good that such a system works just fine for any but the busiest applications. For instance, in a camera, it's doubtful that any particular block will get erased and rewritten 100,000 times. The SmartMedia spec was developed and owned by Toshiba, and launched in 1995 according to Wikipedia. It's now completely obsolete, but since it consisted of a single NAND flash chip with no controller, the software needed to talk to a SmartMedia card is still useful if you want to solder a single NAND flash chip to a board, and run a FAT16 file system on it. It's possible that SmartMedia does use M-Systems' patent, and that Toshiba licensed it, because in order to obtain the SmartMedia spec, you had to buy it, and I recall it wasn't particularly cheap. But if that's true, then merely knowing how to write the necessary translation layer (which I know because I wrote one years ago for a company that bought the spec) wouldn't give you the right to put it into a product. That's what I'm curious about. -- Ciao, Paul D. DeRocco Paul mailto:[email protected] -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
