SanDisk pitches 100x SSD speed boost tech
Slow random writes hidden in fast sequential writes
SanDisk has come up with a tweak for solid-state drives that, it claims, will accelerate SSD random write speeds by a factor of 100.
Dubbed ExtremeFFS, the technology is a Flash file management system that decouples physical and logical storage, allowing data to be written to a drive randomly yet very quickly. Essentially, individual writes are cached in virtual storage - Ram, presumably - then written en masse, a sector at a time, to the optimum location in the Flash bank, chosen by the wear-leveling algorithm.
This hides the actual to-Flash write from the write operation instigated by the OS, in turn, creates the illusion of that apparent 100x increase in random write speed. Writing a sequence of data to an SSD is much faster than writing it randomly, bit by bit.
This paging approach can be adjusted to suit the host operating system, allowing SanDisk to overcome the performance problems it earlier this year laid at the door of Windows Vista.
But it all works independent of the OS, which just thinks it's talking to a regular hard drive.
ExtremeFFS also allows NAND Flash data channels to operate independently, allowing some to be read while others are writing.
SanDisk said the system also allows data to be written to specific parts of a disk, allowing content to be localised according to how frequently it's used. This, it suggested, will make for better longevity that current write-leveling techniques.
ExtremeFFs is actually a version of TrueFFS, a Flash file management system developed by M-Systems - which SanDisk now owns - more than a decade ago for mobile phones. Ironically, Microsoft built TrueFFS into Windows 95 to support PC Card Flash storage.
SanDisk said the technology will return to the PC next year, as it rolls out SSDs with ExtremeFFS on board. Since TrueFFS has been around since 2004, why wait that long? Indeed, why didn't SanDisk use this system sooner?
Thanks. The word "non-volatile" wasn't part of the original article. With that tiny addition, everything makes sense.
Write back caches using non-volatile memory are extensively used in any decent medium point storage array worth buying. That gets write times down to the sub ms level, and it's all perfectly safe. "All" that is require to make this safe in a flash drive is to have sufficient power available to flush the cache out before power dies. A decent sized capacitor (especially now we have super-capacitors) should be plenty to keep the electronics going long enough to do it.
Non-volatile write caching most definitely belongs in the storage device - not the server. Server caching is great for reads and non-synchronous write buffers, but it's absolutely the wrong place for non-volatile synchronous write caches, especially where you have shared access storage. Lose the server and the data is stuck in the non-volatile cache server and not where it belongs on the storage device.
The problem with write times on SSDs, at least for all but the ultra-expensive ones, is on small random write latency. I don't care a jot how the SSD does it, as long as it happens quickly and securely. Non-volatile write-caching in the SSD is fine by me.
So should SSD's have an on-board battery?
So that when the power goes down they have some to empty the write cache?
Sounds like a good idea until the battery needs replacing :-)
PH - doesn't need batteries at all though you could 'cache' all sorts of diseases from her.
Nothing wrong with Caching.
HyperOs do a complete ram drive.
So does gigabyte (http://www.youtube.com/watch?v=Gp676uX3EXA)
Both of these has battery backup. The HyperOs actually allows does a system which backs up automatically to SSD in a power failure.
These two alternatives redefine performance for me.
I see no problem at all with having a tiny rechargable battery in an SSD, to provide a minute's power, if the solution allows this kind of performance for writes.
I've long since thought that DVD drives, and Harddrives should have their own Dimm slots so users can buy cache ram. A DVD ram with a 8 GB ram would transfer the whole hour of music into cache in 90 seconds, and from then on not spin up again, likewise an inserted DVD would take 7 minutes of spinning, after which it would provide a random access seek of basically nothing.
Similarly, with very little work, and 16GB of ram on a hard drive, Windows XP's read only files, such as C:\Windows and C:\Program Files could be cached on first use, or on lazy read. They almost never change. You could even cache files, just on the basis of the head passing over a track on the basis that "We're going to track 5 sector 3 to get something. We might as well cache most of Outlook.exe on the way, as we're passing over it to get there."
I'm surprised, bearing in mind the cost of Ram, that Microsoft hasn't got huge ramdisk mirroring of files that aren't modified. It's obvious.
cache and power loss...
This is different from a cacheing RAID controller attached to fixed disks how?
It's true that losing power will usually result in data not being written to the device, however this is likely anyway as most applications use the OS disk cache. Stick the computer on a UPS and the controller is also protected - a battery backup on the RAID controller is useful, but not used that often.
@Dennis : controllers don't power the drives enough to write the data - they power the controller memory long enough for sysadmins to power the system back up again and the cached writes to be written. This uses vastly less power.