It's interesting that Jeffrey Birnbaum offered that SATA is not the desired protocol to access solid state memory devices. If it's not been written about here, I've read somewhere that most manufacturers don't want to provide specs to these devices. Otherwise, the kernel/filesystem developers could potentially write something that is better. It would be nice if they could bring their collective purchasing power together to get companies like Intel to open up access to their SSDs.
Currently, manufacturers are taking the trade secret strategy for maintaining their competitive advantage - apply for patents on individual elements of the design, but keep the overall implementation a secret. The message to file systems developers is "Just trust us" and "Don't worry your pretty little systems programmers' heads about it" whenever we ask for more information on SSD implementation.
Notes from the LF End User Summit
Posted Nov 21, 2009 1:34 UTC (Sat) by giraffedata (subscriber, #1954)
[Link]
jhubbard is talking about specs, not implementation. We don't really care that the SSD makers are keeping their implementation secret because we can figure out one just as good (in fact, far better they keep it secret than patent it).
But I'm not sure what the point is about the missing specs, because the SSD manufacturers don't give us access to the underlying device. All we get is a SATA jack, so the only relevant spec is the SATA spec.
On the other hand, many vendors offer flash memory with a PCI interface and complete specs on that interface. Isn't that all we need if we don't care for the disk drive emulation method of accessing flash?
Notes from the LF End User Summit
Posted Nov 21, 2009 17:55 UTC (Sat) by giraffedata (subscriber, #1954)
[Link]
On the other hand, many vendors offer flash memory with a PCI interface and complete specs on that interface.
I take this back. I remember having a conversation recently about this and while there are PCI flash memory devices available, and they're usable on Linux, apparently the interface protocol is not in fact specified and people use them on Linux via object code only device drivers.
These device drivers present a Linux block device interface, which is almost as bad as SATA, in that it is designed for disk drives.