Electronic – Overview of typicals RAID/wear leveling algorithms used in SSD controllers

algorithmcontrollerflashwear-leveling

I am trying to understand SSD controller design. I am particularly interested in the physical distribution of data to several NAND chips/dies.

Can somebody point me towards an "idiot's guide to SSD engineering"? 😉

Or alternatively a description of the RAID/wear leveling algorithms used in SSD controllers. Early ones (pre-TRIM) would be perfectly fine.

Best Answer

I'd suggest that you start with the OpenSSD project. It is GPL-licensed SSD firmware that can be used as a point of departure in your research. More info on the goals of the project here.

The OpenSSD Project is an initiative to promote research and education on the recent SSD (Solid State Drive) technology by providing easy access to OpenSSD platforms on which open source SSD firmware can be developed. Currently, we offer an OpenSSD platform based on the commercially successful BarefootTM controller from Indilinx Co., Ltd. This site is also intended to be a forum to share various simulators, tools, and workload generators and traces related to SSDs, among researchers in academia and industry.

Related Topic