存储设备:从磁盘到固态硬盘的技术演进
存储设备:从磁盘到固态硬盘的技术演进
在计算机系统中,存储设备是数据存储和保留的核心组件。本文将详细介绍各种存储设备的技术原理、性能特点和应用场景,帮助读者全面了解计算机存储系统的架构和工作方式。
内存层次结构
下图可帮助快速回顾内存层次结构。 现代计算机中最快(且最贵)的存储空间是芯片寄存器,其每个内核包含约 16 个 8 字节寄存器。 可在一个时钟周期(< 1 纳秒)内对这些寄存器进行访问。 下一层是静态 RAM (SRAM),这是用于缓存内存的存储技术。 可在 0.5 到 2.5 纳秒之间对其进行访问,但每 MB 的成本约为 10-50 美元。 现代处理器拥有几 MB 的此类型内存,位于处理器裸片的各个缓存级别 (L1-L3)。 每个级别在容量、访问时间、带宽和组织方面各不相同。
图 3:内存层次结构
从这一层开始,主内存 (DRAM) 的容量和访问时间有了重大飞跃。 当前的 DRAM 技术允许 50-70 纳秒的访问延迟,且容量为数个 GB。 DRAM 的成本为每 GB 约 10-30 美元,因而可在个人计算机中提供数 GB 的存储,并在服务器中提供高达 1 TB 的存储。 回忆一下,目前为止介绍的所有内存都是易失性内存。 只要保持通电,这些内存中存储的数据就会存在。 当内存电源关闭时,它们会丢失所有信息。
下一个数量级的差异来自磁盘,根据所使用的存储设备的类型,提取给定项所需的时间为数十纳秒到数百毫秒不等。 最后是网络,它可以连接位于同一机架中的计算机或跨整个国家/地区进行连接。 根据使用的技术和距离,此处的访问延迟可能会有很大差异。 磁盘是非易失性的,即使关闭电源也可以保留数据。
存储设备类型
磁盘
多年来,磁盘一直是最具成本效益且最常见的存储系统,但磁盘的优势地位正在逐渐移交给固态硬盘。 磁盘由一个或多个旋转的磁性盘片和一个悬浮在盘片上方的可移动读/写磁头组成。 磁盘十分密集且成本低廉。 在撰写本文时,可用于 3.5 英寸台式机的 6 TB 驱动器的价格约为 270 美元,折合每 GB 4 美分。 这让磁盘成为最便宜的可用在线存储技术之一(与磁带/光盘等离线/可移动技术相对)。
但是,磁盘是速度最慢的存储技术之一。 现代磁盘的典型访问延迟为 5-20 毫秒。 磁盘性能低下的主要原因在于读取和写入数据期间涉及移动部件这一事实。 如下图所示,磁盘是扇区、磁道和柱面的集合。 具体而言,典型磁盘驱动器的表面划分为多个同心磁道。 每个磁道都划分为多个大小相等的扇区。 使用一组读写磁头对扇区中存储的数据进行读写操作,每面一个磁头。 磁盘的磁头在任何一次读写操作中选择的一组磁道称为柱面。 通过将磁盘的磁头移到合适的柱面(完成此任务所需的时间称为寻道时间),然后等待磁盘旋转,直到所需的磁盘扇区位于其中一个磁头下方(称为旋转时间),来访问扇区中的数据。 访问扇区所需的时间(即寻道时间 + 旋转时间)取决于磁盘磁头的当前位置距所需扇区的距离。
图 4:磁盘驱动器的体系结构
因此,磁盘存储的速度很慢,尤其是在进行随机读写操作时。 磁头必须持续移动到磁盘上的不同区域以读取信息,这增加了总体访问时间。 但是,它们很便宜,并且是大型存储系统中使用的主要存储技术。 磁性存储往往是位于频谱末端的主要存储设备,负责以具有成本效益的方式保留大量数据。
固态硬盘
在过去十年左右的时间内,NAND 闪存技术的出现提高了固态存储的性能并降低了固态存储的价格。 固态硬盘 (SSD) 与磁盘不同,其没有任何移动部件,且执行随机读写操作的速度比磁盘快了差不多一个数量级。 SSD 的访问延迟比磁盘要好一个数量级(执行顺序操作时为 70-150 纳秒),但成本要高得多(每 GB 约 2-5 美元)。
图 5:固态硬盘的体系结构
但是,固态硬盘存在其自己的性能和可靠性问题。 由于 NAND 闪存技术的性质,对 SSD 的写入操作需要完成一个昂贵的擦除周期,该擦除周期将擦除整页数据,如上图所示。 此过程需要耗费时间,并会随时间推移磨损闪存介质。 SSD 的内部包含相关逻辑,可通过将写入操作分散到磁盘上的多个页和块来均衡介质的磨损。 如前面的模块中所述,市场上有多种 SSD 技术可用,其中的主要权衡涉及成本与性能及磁盘使用寿命。
因此,SSD 的性能特征与旋转磁盘的性能特征不同。 顺序读取和写入操作(其中 CPU 按顺序访问逻辑磁盘块)的性能相当,且顺序读取操作比顺序写入操作的速度要快一些。 但是,如果以随机顺序访问逻辑块,则写入操作要比读取操作的速度慢一个数量级,主要原因在于 SSD 中擦除逻辑的性质。
以存储设备形式提供的 DRAM
DRAM 的容量不断增加,再加上每 GB 的价格下降,为内存中存储系统的出现创造了条件。 相较基于磁盘的传统存储系统,内存中存储系统的性能要更快(快一个数量级),但存在一个问题,即持续性。 内存中存储系统通常具有相当复杂的方案,这些方案会将数据流式传输到持久存储中,以便为恢复和容错目的保留数据。 本模块稍后将详细探讨这些类型的系统。
存储类内存和非易失性内存
许多旨在弥补易失性 DRAM 和非易失性 SSD/磁盘之间的性能差距的技术正在涌现。 这些设备被称为存储类内存,其旨在实现与 DRAM 在数量级上一致的访问延迟。 这样一来,不仅可以快速移动数据,同时还可保留 SSD/磁盘的持久性属性,并拥有比 DRAM 高得多的存储密度。 伴随 NAND 闪存的改进版本而来的是,忆阻器、相变内存等技术为获得立足之地而在这一领域展开竞争。 SCM/NVM 类内存正在不断发展,我们希望其很快就能成为内存层次结构的一部分。