Posted Oct 6, 2009 6:23 UTC (Tue) by dwmw2
In reply to: SSD
Parent article: LinuxCon: Kernel roundtable covers more than just bloat
We should probably take this discussion elsewhere. Your input would be welcome on the MTD list, where I've started a thread about what we want the hardware to look like, if we could have it our way.
But just a brief response...
"- Interoperability without losing flexibility."
This is still possible with a more flexible hardware design — you just implement the translation layer inside your driver, for legacy systems. M-Systems were doing this years ago with the DiskOnChip. More recently, take a look at the Moorestown NAND flash driver. You can happily use FAT on top of those. But of course you do have the opportunity to do a whole lot better
, too. And also you have the opportunity to fix the translation layer if/when it goes wrong. And to recover your data.
But this isn't being done in hardware. It's being done in software, on an extra microcontroller.
Yes, we do need to look carefully at the interface we ask for, and make sure it can perform well. But there's no performance-based reason for the SSD model.
"- Fast development"
You jest, surely? We had TRIM support for FTL in Linux last year, developed in order to test the core TRIM code. When do we get it on "real hardware"? This year? Next?
Being "wedged between stable interfaces" isn't a boon, in this case.
Because it's wedged under an inappropriate stable interface, we are severely hampered in what we can do with it.
"People that look at SSDs and see them just as disks and don't think about
the future will think it's best if the hardware does as much as possible.
But if you forget the classic disk model and look at what's really going
on it seems obvious that the classic disk model isn't that simple anyway
and doesn't fit flash or how the hardware looks like and could be used."
Agreed. I think it's OK for the hardware to do the same kind of thing that disk hardware does for us — ECC, and some block remapping to hide bad blocks. But that's all; we don't want it implementing a whole file system of its own just so it can pretend to be spinning rust. In particular, perpetuating the myth of 512-byte sectors is just silly.
to post comments)