深度剖析企业存储进化史:从纸带到闪存

IT行业不断寻找新方法保存数据,所以这也是从一种存储媒介转变到另一种媒介的发展历程,下面的简要时间线索,表明了重要技术之间的更迭。

Herman Hollerith设计了一款可以吞掉穿孔卡的机器,然后对美国1890年的审查做统计。穿孔卡年代一直延续到20世纪80年代。

纸带:20世纪50年代到90年代

磁带:1951年到现在

旋转磁盘:1956年到现在

闪存:90年代至今

电脑需要存储,因为关机的时候,缓存会丢失所有数据,DRAM是不稳定的。当电脑首次被打开的时候,其缓存是空的,而告诉电脑做什么的代码,以及数据(被处理的信息),需要从持续型的存储处加载到内存中。

穿孔卡时代

穿孔卡,原来的电脑存储设备,最先是在20世纪30年代,且一直使用到80年代。这是种矩形卡片,有80列,12行。每一列都代表了一个数字信号或字符,以有没有洞来区别。IBM使用10行数据,而每一列的上面两行是保存其他信息的。这些卡片要通过读卡机。有洞的地方,读卡机的光线就可以穿过,从而被识别。

IBM 711穿孔卡读卡机每分钟可以读取150张卡片。每张卡是72x 10位,这意味着每分钟可读取150x 720位——这在当时已经是很快的速度了。

711的控制面板的线路曾用来把穿孔卡数据读取到静电内存中。通常主机系统会连接一个或多个读取器,如System/360主机。

当时出现了各种编码机制,如6位BCDIC和EBCDIC,这样每一列的孔洞就可以表示有正负的数字和字母。


 
IBM的卡片代码格式也被当时的主机供应商们所接受。

随着电脑在容量上的发展,卡片本身的存储能力与速度都成为一个问题,更不用说还存在容易被损坏的问题了。纸带卷成为了替换品,特别是可应用于第一代微型电脑,如Digital Equipment PDP-8。

纸带的推出

纸带的行和列都是连续的,每一列也是以孔洞的形式表示二进制数值。纸带从电传打字机进入电脑,数据采用ASCII编码。

它被保存到纸袋卷或是以复写纸的形式保存,被传送到光学读取器处,且是用带穿孔机写入。当存储介质通过读取器时,系统要知道它位于纸带的哪个位置,这样才能完成读取。也就是说,纸带要准确移动到读取位置,这样才能顺利读取纸带的信息。链轮齿可以确保纸带处于正确位置。

Digital Equipment DEC Type PC09C纸带读取器每秒读取300个字符,相当于每分钟18kb。

纸带更小,而且比穿孔卡更方便,但缺陷是容易被撕破。随着电脑容量的发展,人们需要更多纸带来保存较大的程序和更多数据——PDP-8逐步被16位PDP-12取代,而后又被32位VAX取代。

数据量的增加提升了电脑的处理能力,这意味着系统内存可允许更大的电脑程序和更多数据。第一款VAX是11/780系统,有4G处理能力,比PDP 11的64KB要大得多。12位的PDP-8有4KB的主存储器。

纸带速度不能和这些较大型的电脑匹配,所以就出现了数字磁带。

磁带的魅力

磁带是德国Fritz Pfleumer公司在1928年发明的录音介质。1951年它被首次被用作UNIVAC 1电脑上的数字存储介质。

磁带仍然是连续的,现在被称为磁道。数字信号仍然行和列交叉处,但是现在是用磁场方向来记录;北或南;正或负;1或0.记录密度比远远优于纸带和穿孔卡;在UNIVAC 1上,每英寸128个字符使用八个磁道。

磁带被保存在圆卷上,从一个卷传递到另一个卷的时候,由磁头读取。


 
10.5英寸,9磁道的磁带卷

磁带提供了很重要的新特性。由于所保存信号,数据量都日渐减少,所以同一地区可保存更多数据,从而增加了区域密度。再者,磁带比纸带通过读取头的速度要快,因此这也增加了数据的访问速度。

读写数据的进程也可在单独的读取头执行。这可以加快数据写入的速度,这样一来,电脑更快地把信息输出到存储,使其可以把数据备份到磁带,作为长时存储。

与此同时,磁带驱动由于具备磁性,所以也可以收缩,这样最初的落地式元件被安装在电脑前的驱动所取代。

后来人们研发出了用于大型机和个人PC的各种磁带型号和格式,逐渐淘汰了纸带。尽管如此,数据访问速度仍然有限,因为磁带驱动只有一个读取头。要想在磁带上获取某个文件时,必须把这个文件放到读取头下;磁带是按顺序通过读取头的。

为了解决这个问题,人们最先是想到了联网式或共享式存储。磁带库中收集了一组驱动和一套磁带卷,供若干电脑共享,从而成就了SAN和NAS的辉煌。

还不止这些。用磁带的时候,错误检测和纠正都变得更为重要,因为二进制的信号可能被减弱,于是人们想出了各种办法来保障二进制数值的确定性。这类办法随着位存储介质越变越小因而越来越复杂。

磁带技术稳步发展,数据容量和传输速度都在提升。下图显示了LTO格式容量和速度的发展情况,从2000年的LTO-1到去年年底的LTO-6:

随着电脑处理器的速度越来越快,它在磁带上定位和写入数据的时长成为了一个问题。但是处理器速度和数据存储速度的不协调一直存在,而这也刺激了主要存储技术的发展。

电脑数据存储技术的每一次革新都解决了此前存储技术中存在的一些问题,但是新问题又接踵而至,如此循环往复,技术不断推陈出新。正是在磁带的基础上,IBM才制造出了磁盘。

磁盘将存储带入旋转时代

IBM在1956年发布350 RAMAC(会计与控制的随机存取方法)磁盘系统。用一个扁平的磁盘平面来作为记录媒介是划时代的,不过它还需要另一个重要的方法来实用化。我们用移动的读取/写入头和旋转式磁盘平面取代了固定式的读取/写入头和移动式的磁带。

 
The IBM 350 RAMAC磁盘系统

突然间,数据的访问速度大幅提升。过去我们要等待磁带顺序地移动到指定的数据位置,然后才能将读取头移动到正确的轨道上。新的方法可以随机地快速访问任何数据,无论在哪里。我们实现了随机访问。

RAMAC有两个读取/写入头,可以在堆栈内上下移动来选择磁盘,然后内外移动来选择磁道。然后磁盘技术发展到每个记录平面都有读取/写入头,从而避免了磁盘磁片的寻找时间延迟。多个移动的读取-写入头带来了随机的数据读取功能,一下子解决了磁带的I/O等待问题。在数据存储技术领域,它是一个非常大的进步。让一个磁头在非常近的距离内在磁盘平面上来回移动相当于让一架大型喷气式飞机离地几米飞行而不坠毁。

RAMAC使用6位字符和50个24寸磁盘,提供5MB的容量。这些磁盘的两面都可以作为记录面。磁盘驱动器很快地越变越小,记录密度飞快提升到如今的水准。现在我们可以在一个差不多4个CD盒大小的机盒内配置4TB 4磁片驱动器,让驱动器一个挨一个地堆在各自上面。

一个重要的发展就是软盘。软盘是一个放在一个盒子里的一个可扭弯的磁片,可以插入到软盘驱动器。它让人想起磁带,不过它们非常便宜。个人电脑先驱们在数据存储上选择了软盘,不过软盘只是中间过渡产品,因为一旦3.5英寸硬盘驱动器格式和SCSI(小型计算机系统接口)访问协议出现,个人电脑和工作站的拥有者们就倾向后面的这些技术来获得更高的数据访问速度、可靠性和容量。

配置2个软盘驱动器的Apple II

3.5英寸格式成为主流,在如今所有的电脑上都可以看到,包括大型机、服务器、工作站和台式机。
个人电脑拥有率的快速增长推动了磁盘制造业的扩张,而网络磁盘存储阵列的崛起更推动了这一进程。服务器中的应用程序被诱导为认为它们正在访问的是本地的直连式磁盘,虽然它们实际上是在一个共享式的磁盘驱动器阵列上读取和写入数据。

应用程序,比如数据库,通过文件协议(文件系统设备或NAS)来访问阵列或将阵列看作SAN(存储局域网)阵列——裸磁盘块——来访问。通常,SAN是通过专门的光纤通道链接来访问的,而文件系统设备是通过以太网或局域网(LAN)来访问的。

随着读写头技术越来越复杂,磁盘驱动器制造逐渐变得越来越昂贵。能在这个行业中获取利润并支持营运的是那些善于组织它们的组件供应链、制造高成本经济性和高可靠性产品并能够有效管理成本和销售产品的公司。

其他公司的利润减少,陷入负债深渊,或破产或被收购。曾经市场上有超过200家磁盘驱动器制造商。现在只有三家了:希捷、东芝和西数/HGST。

Seagate的ST-412磁盘driveE

磁盘驱动器阵列的崛起以及单位GB成本的下降意味着它们可以承担备份数据存储责任,尤其是如果备份数据集中的重复数据可以被重复数据删除技术所移除的话。这对磁带备份业是一个沉重的打击,带来了快速的格式合并浪潮。现在,实际上我们只有两家拥有专有数据格式的大型机磁带供应商,即IBM和Oracle,然后只剩下一个服务器计算机磁带格式,LTO。LTO指的是线性磁带开放格式,现在已经发展到第六代。LTO格式是由一个三家厂商所组成的联盟开发的:惠普、IBM和Quantum。

虽然磁盘可以承载越来越多的数据并且技术发展使得磁盘可以更快地读取和写入数据,一个很大的问题仍然存在。磁盘可能会发生故障,导致所有被存储的数据丢失。这个问题可以通过制作额外的数据备份来避免。RAID技术——独立磁盘冗余阵列——可以算术式地处理数据,使得数据所需要的磁盘数量减少,从而降低数据保护成本。不同的RAID框架包括RAID 0、1、2、4、5、20,每个框架都可以对数据访问速度、数据保护可靠性和容量需求进行优化。

在RAID框架下,故障磁盘中的内容可以通过正常驱动器上的RAID数据来重建。不过这个RAID重建过程所需要的时间随着驱动器容量的增长而增长。

HGST 7K500 3.5英寸硬盘驱动器

随着阵列中驱动器的数量增加到数百个,随后又超过1000个的门槛,很有必要在第一个驱动器故障还未恢复而第二个驱动器发生故障的时候拥有能够恢复数据的能力,因此RAID 6就被开发出来。
磁盘驱动器的增长快速提高了被存储的数字信息的总量,研究者认为数字存储容量在2002年超过了模拟存储容量,而这个增长速度仍在继续加快。

IDC数字世界增长(按EB计算)(IDC/EMC 2011年6月)

由于磁盘中的转速对数据读取访问速度非常重要,因此制造商们度在努力提高每分钟转速(RPM)。磁盘速度在不断提高,直到触及到1.5万转的门槛。转速更高的话,磁盘磁片有可能因为离心力和振动而解体。较低转速的驱动器可以保存更多的数据,转速保持在5400转就可以了。这意味着随着驱动器容量的不断提高,从磁盘中读取和写入数据的速度却没有变化,这越来越成为一个制约因素。

另一个问题是随着摩尔定律下的计算机处理器速度不断提高,磁盘I/O速度已经远远落后。迁移到2.5英寸驱动器意味着磁盘驱动器机箱可以提高整体I/O速度,但是幅度并不大。

在磁盘无法跟上主机速度的背景下,我们看到NAND固态闪存存储的快速崛起。闪存没有移动的磁头,实际上完全没有任何读取/写入头。

NAND闪存

NAND闪存是东芝的Fujio Masuoka博士在1980年发明的。NAND闪存的形式是一个个块中的单元,必须被同时写入。因此,严格地说,NAND闪存不是随机访问设备。

闪存记忆体单元的示意图

作为闪存的一种类型,NOR在手机和其他设备中作为只读记忆体的一种形式被使用。NAND在照相机、U盘、平板电脑、笔记本电脑和各种需要小尺寸、低能耗和超越磁盘访问速度的持续数据存储的设备中作为数据存储被使用。

闪存是一个半导体技术,不包含任何机械部件,同样容量下的体积要远远小于磁盘。一个1TB的U盘可以就放在你手心上,而且比4CD盒装的3.5英寸磁盘驱动器要轻得多。

光学存储的快速回顾

CD和DVD也被用于归档数据存储,不过由于它们本身存在的缺陷,它们没有被广泛使用。与磁盘驱动器相比,光盘的容量低,写入速度慢,而磁带在存储大容量数据上的价格又低于磁盘和CD/DVD。磁盘在写入和读取备份数据上的速度也更快。所有这些都意味着光盘只能在如今小众市场上找到。

同时,厂商们也在努力开发全息存储技术来提供更长的归档期和更高的容量。他们失败了。现在,我们甚至可以考虑在归档存储上使用非常便宜的闪存记忆体,TLC闪存。

闪存有三种类型。单层单元(SLC)闪存的每个单元存储1比特,是最快也是最贵的闪存。它的问题在于在它的PE(编程/擦除)周期次数有限。

每单元2比特的闪存被称为MLC(多层单元)闪存。它的容量比SLC闪存高,但是速度慢,尽管价格更便宜些,而且工作寿命也更短。三比特的闪存被称为TLC(三层单元闪存)。TLC比MLC更便宜、更慢,寿命也更短。TLC用于数码相机以及类似的PE周期在2500次以下也可以接受的场合。

过量配置可以延长闪存的耐久性,可以将空闲的未使用的单元代替已经损耗殆尽的单元。我们还有一个问题。提高闪存单位密度的唯一方式就是缩小单元尺寸。不过,随着我们这样做,从40纳米单元尺寸(49-40纳米范围)到30纳米范围到20纳米范围以至更小,闪存单元的耐久度也随之下降。如今最新的闪存是16纳米制程。也许厂商会推出更小的迭代,但是某种形式的NAND晶圆堆栈,也就是一个堆一个,将有它的必要性。三星已经宣布自己的3D V-NAND驱动器。

闪存记忆体晶圆

台式机和服务器的闪存记忆体一般是封装在磁盘驱动器大小的机盒内——通常是2.5英寸——并被称为SSD(固态驱动器)。它使用磁盘的访问接口,SATA或SAS。

使用闪存记忆体的计算机可以在数毫秒时间内访问数据,而磁盘驱动器需要数微秒,因为磁盘的读取头必须先被移动到正确的轨道。因此,使用闪存的计算机可以更快地运行应用程序,在虚拟化的服务器中支持更多的虚拟机。

另一个提供闪存的方式是将它直接连到内部的PCIe插槽,这可以提供更快的数据访问速度,因为不需要磁盘I/O转换。这种PCIe闪存卡记忆体正在快速发展。镁光将在明年推出16TB版本。

SSD或卡形式的闪存,比如Violin Memory的VIMM,可以被用于创建网络纯闪存阵列。这种阵列的访问速度比硬盘驱动器更快,只需要后者十分之一或者更少的物理空间,耗电也只有后者的十分之一。系统可以用重复数据删除技术来提高有效容量,并提供媲美磁盘驱动器阵列的单位GB成本。

磁盘驱动器阵列制造商们现在使用SSD来存储最活跃的数据,在控制器中使用闪存高速缓存来加快数据访问。有可能目前存储在磁盘驱动器阵列中的主数据将来会慢慢迁移到纯闪存阵列。

磁盘驱动器将用于存储二级或近线数据。将闪存用于主数据并将磁盘用于二级数据的复合式阵列可以在纯闪存阵列和纯磁盘阵列之间提供一个过渡点。这种阵列的价格低于纯闪存阵列,速度快于纯磁盘那阵列,同时仍然提供磁盘级的容量。

随着时间流逝,闪存技术也将退出主流并被其他技术所取代。目前,相变记忆体和电阻式RAM(随机存取记忆体)都被看作是潜在的候选技术。这两种技术都提供接近DRAM(动态随机存取记忆体)的速度,完全的随机访问和非易失性。

过去,磁带是在相当于纸上打一个孔的面积上承载一个比特,现在同样的面积可以承载MB或GB的数据。存储过去需要英寸级或厘米级的面积来存储看得见的比特数据。现在,它在纳米级的范围内存储看不见的比特,而且速度快到我们几乎无法理解它们。

如果我们要继续推动计算机的使用,存储就必须更快、更小、更便宜和更可靠。我们现在既是处在计算机时代,也是处在存储时代。