Cerb
Elite Member
- Aug 26, 2000
- 17,484
- 33
- 86
And, there's no reason some given SSD couldn't do that. Sandforce SSDs might well do that, already. The SSD would have to know about the data being read and written, for that to work, or look all written data up against a dedup table. Most SSD makes probably don't want to add that kind of complexity, or risk poor performance over time, from doing so, given that write cycle life is not normally a problem.In an ideal world, they shouldn't have to be re-written at all. SSD's don't care about the physical location of the data like HDD's do. The flash translation layer presents the flash cells as a spinning disk to the host, but it's just a table of pointers, not an actual spinning disk.
The translation layer could simply "lie" to the host during a defrag - A request to move data from location B to location A comes in - instead of erasing the data, rewriting it somewhere else on the flash cells and updating the translation table, it could simply say "OK, I moved that data from B to A for you" and just update the translation table to reflect this without rewriting the data.
Ultimately, it would be nice for OSes to have bare flash FSes, and bare flash interface options. But, today, that seems to be something reserved for specialized companies, and very large tech-dependent companies (FI, Google, and Facebook).