
The OpenSSD Project (2011) - ashitlerferad
http://www.openssd-project.org/wiki/The_OpenSSD_Project
======
Confiks
A bit from Libreboot that is relevant: [https://libreboot.org/faq/#firmware-
hddssd](https://libreboot.org/faq/#firmware-hddssd)

> HDDs and SSDs are quite complex, and these days contain quite complex
> hardware which is even capable of running an entire operating system (by
> this, we mean that the drive itself is capable of running its own embedded
> OS), even GNU/Linux or BusyBox/Linux. Some proof of concepts have been
> demonstrated.

> For HDDs:
> [https://spritesmods.com/?art=hddhack&page=1](https://spritesmods.com/?art=hddhack&page=1)

> For SSDs:
> [http://www.bunniestudios.com/blog/?p=3554](http://www.bunniestudios.com/blog/?p=3554)

------
djsumdog
Kinda related, the complexity of a basic SD card is insane. They have full
32-bit micro-controllers for data handling:

[https://www.youtube.com/watch?v=CPEzLNh5YIo](https://www.youtube.com/watch?v=CPEzLNh5YIo)

Not anywhere near as complex as a full SSD, but still very interesting if
you're into storage technology.

~~~
versteegen
Thanks, fantastic talk. I never knew. Well actually, not far off the
complexity of an SSD: apparently SD cards even use wear levelling algorithms,
and so forth, and some SD cards have ARM microcontrollers.

------
pkaye
I have been involved with SSD development for many years. The thing is flash
memory is no longer a near ideal memory device like RAM. You start to see a
lot of the physics behind how the transistors behave and interact. The
companies spend lots of time and money characterizing them and developing
algorithms that are trade secrets. You may figure it out yourself but by that
time that part is already EOL. And if you don't do it right your SSD will be
unreliable.

~~~
bogomipz
Can you explain what you mean by "no longer a near ideal memory device." Was
it at one time?

I realize the page hans't been updated in a while but there are references to
NVMe on it so it can't be _that_ old no?

~~~
pkaye
Typing from phone so being brief for now. One time you could write NAND flash
pages and have no read errors for months on end. No longer the case now. You
need massive amounts of hardware error correction. You have to worry about
adjacent cell interactions. You have to use signal processing to read degraded
bits. Then there are weird eratta that will not be disclosed to you unless you
have an NDA and beg to them. This is just a few things that come to mind but
there are tons more.

------
crayg33k
A more actively-developed framework is LightNVM for Open-Channel SSDs. The
kernel bits have been upstreamed into mainline kernel as well:
[http://lightnvm.io/](http://lightnvm.io/)

I met the project architects at a conference earlier this year, and they are
on the right track IMO. If only more vendors would support the notion of open-
channel SSDs which allow for custom FTLs from outside the device.

Also, per the LightNVM supported hardware list:

"Other platform such as OpenSSD Jasmine and OpenSSD Cosmos are able to support
LightNVM. However, there are no compatible firmwares yet."

------
daenney
This has been around for a couple of years and the wiki is kind of dead, as
seems to be most of the project looking at the activity around it? This
probably warrants a (2011) update to the title as it seems that's when this
project was truly active.

------
mdip
Is it possible to buy a reference board like the one described in
[http://www.openssd-
project.org/wiki/Jasmine_OpenSSD_Platform](http://www.openssd-
project.org/wiki/Jasmine_OpenSSD_Platform)

~~~
duskwuff
Surprisingly, it looks like you might be able to:

[http://crz-mart.com/shop/shopdetail.html?branduid=1914659&xc...](http://crz-
mart.com/shop/shopdetail.html?branduid=1914659&xcode=003&mcode=002&scode=&type=X&sort=order&cur_code=003002&GfDT=bmp6W1w%3D)

The price is equivalent to about $2000 USD, though, and the controller is
completely obsolete nowadays. (I'd be surprised if the Barefoot controller is
still in production; it's SATA2 only, and OCZ - parent company of Indilinx -
went bankrupt in 2014.)

~~~
danielvinson
OCZ was for the most part bought by Toshiba.

I'm not sure how public this is, but there were many more Barefoot controllers
made and tested and a number of the later-generation OCZ drives were based on
a much newer Barefoot-based controller.

~~~
wtallis
I think the later Barefoot controllers were public enough, with the two
different speed grades of Barefoot 3 being used in the OCZ Arc 100 and Vector
180 (which still exists as the VT180):
[http://www.anandtech.com/show/9009/ocz-
vector-180-240gb-480g...](http://www.anandtech.com/show/9009/ocz-
vector-180-240gb-480gb-960gb-ssd-review)

But it's a dead end and last I heard Toshiba doesn't plan on doing another
revision of the silicon to update it with anything like support for SATA link
power saving modes.

------
crudbug
SR-IOV support [0] ?

[0] [https://en.wikipedia.org/wiki/Single-
root_input/output_virtu...](https://en.wikipedia.org/wiki/Single-
root_input/output_virtualization)

------
rdslw
Only me read it as openbsd project and thought, eee, where is (1996) about
first homepage dig up from archives ?

------
nickpsecurity
This could be a nice tool for prototyping disk cryptosystems or accelerators
for databases.

