为什么说 SSD 已经过时了

jopen 5年前

摘要:固态硬盘-SSDs -是一个便利的产品,但不是一个好的架构。存储系统需要重新架构,以达到闪存, 和即将推出的字节寻址的非易失性存储的最高性能。这里的一个例子。

固态硬盘的发展是因为有数以亿计的SATA和SAS磁盘端口的存在。将其中的一些端口连接SSDs硬盘,肯定是有利可图的,这已经在过去的5年中变成现实。

但 现在,今天的非易失性存储器技术-闪存,加之明天的RRAM技术已被广泛接受,是时候来建立直接采用闪存而不是通过我们的老旧的存储栈技术了。各种为减少 延时的努力- SATA 3,NVMe,和其他,仍然是在我们的应用和数据之间加入软件层,这既增加了复杂性又浪费了CPU周期。最近的博士论文让我思考这个问题。

间接性(Indirection)

当出现一些需要太多层来解决的问题时,在计算机科学界就出现了著名的一句名言:“所有的问题都可以通过迂回的方式用计算机解决,除了那些需要间接迂回太多层的问题。”

我们要说的SSD就是这一点问题。SSD所依赖于的闪存转换层(FTL)使得闪存-及其写入速度之慢与寿命之有限的特点-看起来就是块磁盘驱动器。这个FTL就是前面所说的迂回层。

FTL已过时

文件系统已经提供了这么一个迂回层使得我们的存储设备看上去就是一个连续的逻辑可寻址存储空间。这些系统通过维护类似用于跟踪设备块分配位图信息这样的元数据来管理逻辑地址。

但是,FTL同样维护了一个连续逻辑寻址空间,在这背后隐藏着像耗损平衡和垃圾回收等活动。那么就有一个很明显的问题了:为什么要维护着两个逻辑地址空间?为什么不让文件系统来直接管理闪存呢?

如果我们摆脱了FTL的束缚,那么SSD将变得更快、更低功耗、以及更可靠。何乐而不为呢?

存储位(该如何)获取

SSD在架构而不是功能层面是过时的。其具有许多传统硬盘所不具有的优越性,这也使得未来将会持续有着数以百万计的销量,但是这背后却是为了填补那些SATA端口的原因所引起的,这就与今天的系统背道而驰了。

不久之后,我们需要结合闪存和字节寻址的NVM存储,只有这样才不至于让他们还是一块”类磁盘“。这一步需要不小的努力,但是面对今天处理器性能增长的缓慢,我们完全有必要在其它方面寻求系统性能提升点。当前存储堆栈已使得颠覆性改进的时机变得成熟。