Why I'm usually unnerved when modern SSDs die on us
I worked on SSD firmware for quite a long time and here is my perspective.<p>Early flash used to fairly reliable with almost minimal error correction. However with increasing density, smaller processes and multi level cells, it has gone progressively less reliable and slower. Here are some of the things that we need to worry about: <a href="https:&#x2F;&#x2F;www.flashmemorysummit.com&#x2F;English&#x2F;Collaterals&#x2F;Proceedings&#x2F;2016&#x2F;20160808_PreConfH_Parnell.pdf" rel="nofollow">https:&#x2F;&#x2F;www.flashmemorysummit.com&#x2F;English&#x2F;Collaterals&#x2F;Procee...</a><p>To compensate for all these deficiencies, the SSD architecture and hence the entire FTL becomes very complicated because any part of it can become damaged at any time. We always have to have backup algorithms to recovery from any scenario. Its difficult to build algorithms that can recovery from arbitrary failures in a reasonable time. I cannot have a drive sitting around for 20 minutes trying to fsck itself.<p>Another problem is that the job while rewarding is not very lucrative. The chance of a multi million dollar payoff for an employee is low. I have a higher chance working on a web connected gadget to become a millionaire. So that means it is really hard to recruit those who are top notch programmers who known how to figure out the algorithms, write the code, debug the hardware. Most new grads these days are interested in python, javascript and machine learning.