很久没更新blog了。前一阵子经历了人生第一次跳槽,比想象中的艰难多了。毕竟是第一份工作,离开还是挺伤感的。新的工作刚刚开始,希望一切顺利。这篇blog是五一期间写的,今天正式贴出来。写技术blog是个好习惯,我要保持!
在前东家的时候,一直很想去尝试一下flash/SSD,可惜由于各种原因到今天也没有实现。SSD在今天越来越流行,业内的很多公司都开始尝试使用,甚至作为主要的存储媒介,从Research的角度讲,SSD更是一个重磅炸弹,因为它颠覆了原有hard disk的一些基本假设,所以,理论上讲,原先基于hard disk的那些理论和实验都可以在SSD重新实现一回(这又能造就多少paper啊 ...)。
这两天有些空闲,找了几篇相关的论文科普了一遍,算是打些基础,希望将来有机会动手尝试。以下就是一些读书笔记,纯粹纸上谈兵。
PS:以下所提及的flash/SSD,都特指NAND flash,也是现在最常见的flash。
关于SSD的硬件原理不是这里讨论的重点(毕竟咱是软件开发人员)。唯一一点我觉着需要提及的是SSD不是hard disk这种机电式的硬件,而是电子芯片(microchip)。所以,使用hard disk最耗时间的seek time在SSD中基本上不存在。这个特性在后面会更详细的讨论。
在传统的计算机存储架构中,分了这样的几个层级:
CPU cache
main memory (RAM)
hard disk
它们的IO性能自上而下递减&#