《计算机科学概论(第12版)》—第1章1.3节海量存储器-阿里云开发者社区

开发者社区> 大数据> 正文

《计算机科学概论(第12版)》—第1章1.3节海量存储器

简介:

本节书摘来自异步社区《计算机科学概论(第12版)》一书中的第1章1.3节海量存储器,作者【美】J. 格伦•布鲁克希尔(J. Glenn Brookshear) , 丹尼斯•布里罗(Dennis Brylow),更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 海量存储器
由于计算机主存储器的不稳定性和容量的限制,大多数计算机都有称为海量存储(mass storage,或者二级存储)系统的附加存储设备,包括磁盘、CD盘、DVD盘、磁带、闪存驱动器和固态硬盘(所有这些我们稍后会讨论)。相对于主存储器,海量存储系统的优点是更稳定、容量大、价格低,并且在许多情况下,能从机器上取下存储媒介进行存档。

磁性和光学海量磁存储系统和海量光存储系统的主要不足是,它们一般都需要机械运动。因为主存储器的所有工作都是由电子器件实现的,所以比起计算机主存储器来,海量存储系统的数据存取需要花费更长的时间。此外,与固态系统相比,带有移动部件的存储系统更容易出现机械故障。

1.3.1 磁系统
很多年以来,磁技术已经占据了海量存储领域。最常见的例子便是我们现在使用的磁盘(magnetic disk)或者硬盘驱动器(hard disk drive,HDD),它里面是可以旋转的薄盘片,表面有用以存储数据的磁介质涂层(图1-9)。读/写磁头安装在盘片的上面和/或下面,当盘片旋转时,每个磁头在盘片上面或下面相对于称为磁道(track)的圆圈转动。通过重定位读/写磁头,可以对各个同心的磁道进行存取。在很多情况下,一个磁盘存储系统包含若干个盘片,这些盘片安装在同一根轴上,层叠在一起,盘片之间有足够读/写磁头滑动的空间。在这种情况下,所有读/写磁头是一起移动的。每当读/写磁头重定位时,都可以访问一组新磁道,这组磁道称为柱面(cylinder)。


bbc186835287f4b62ab02a7ac3fd6c3e7e61bfda

因为一个磁道可以包含的信息通常比我们每一次想要处理的多,所以每个磁道又被划分成若干个称为扇区(sector)的小弧区,这些扇区上记录的信息是连续的二进制位串。磁盘上所有的扇区都包含相同数目的二进制位(典型的容量是512个字节到若干KB),而且在最简单的磁盘存储系统里,每一个磁道包含的扇区数都相同。因此,靠近盘片外边缘的磁道扇区上的位的存储密度,要比靠近盘片中心的磁道上的小,因为外磁道比内磁道长。相反,在大容量磁盘存储系统里,靠近外边缘的磁道包含的扇区要远多于靠近中心的磁道,这种存储能力常通过一种称作区位记录(zoned-bit recording,ZBR)的技术得以应用。在使用区位记录技术时,一些相邻的磁道会被统称为区,一个典型的盘片大约包含10个区。一个区的所有磁道有相同数目的扇区,但是靠外的区中每一个磁道包含的扇区数,比靠内的区中每一个磁道包含的扇区数多。采用这种方式,能够有效利用整个磁盘的表面。不管细节如何,一个磁盘存储系统都包含许多独立的扇区,每一个扇区都可以作为独立的位串进行存取。

一个磁盘存储系统的容量取决于使用的盘片数目以及磁道与扇区的划分密度。容量较小的系统可能只有一个盘片。大容量磁盘系统的容量可达数GB,甚至TB,同一根轴上可能装有3到6个盘片。此外,数据有可能存储在每个盘片的上下两面。

有4个标准可以用来评估一个磁盘系统的性能:(1)寻道时间(seek time),读/写磁头从一个磁道移到另一个磁道所需要的时间;(2)旋转延迟(rotation delay)或等待时间(latency time),盘片旋转一周所需时间的一半,也就是读/写磁头到达所要求磁道后,等待盘片旋转使读/写磁头位于所要存取的数据(扇区)上所需要的平均时间;(3)存取时间(access time),即寻道时间和旋转延迟之和;(4)传输速率(transfer rate),在磁盘上读出或写入数据的速率。需要注意的是,在区位记录存储情况下,盘片旋转一次,外区磁道通过读/写磁头传递的数据量,要多于内区磁道,因此,数据传输速率会随所使用的盘片部位的不同而有所变化。

限制磁盘存取时间和传输速率的一个因素是磁盘系统旋转的速度。为了支持高速旋转,这些系统里的读/写磁头并不接触盘片,而只是“悬浮”在盘片表面。磁头与盘片之间的空间很小,以至于一粒小小的灰尘都可能卡在其中,导致磁盘和磁头损坏,这一现象便是磁头划伤(head crash)。因此,磁盘系统出厂时都密封在箱子里。凭借这样的构造,磁盘系统能够以每秒几百次的速度旋转,达到每秒数以MB的传输速率。

因为磁盘系统的操作需要物理运动,所以难以与电子电路的速度相比。电子电路的延迟时间是以纳秒(十亿分之一秒)甚至更小的时间单位计算的,而磁盘系统的寻道时间、等待时间和存取时间是以毫秒(千分之一秒)度量的。因此,与电子电路等待结果的时间相比,从磁盘系统检索信息所需要的时间非常长。

磁存储技术现在很少使用了,包括磁带(magnetic tape)和软盘驱动器(floppy disk drive)。磁带是将信息记录在一条绕在卷轴上的薄塑料带的磁涂层上,软盘驱动器则是将带有磁涂层的单个盘片封在一个为了便于从驱动器中取出而设计的便携式的盒子里。磁带驱动器的寻道时间极长,它和它的兄弟——录音带——一样,都要花费很长的倒带时间和快进时间。不过,低成本和大数据容量,使磁带非常适用于那些数据主要被线性读或写的应用,如存档数据备份。虽然软盘盘片的可移动特性是以比硬盘盘片低得多的数据密度和存取速度为代价的,但是,在更大容量、更耐用的闪存驱动器诞生之前的几十年里,软盘盘片的便携性还是极其有价值的。

1.3.2 光系统
另一类海量存储器应用的是光技术。光盘(compact disk,CD)就是其中的一种。光盘的直径为12厘米(大约5英寸),由涂着光洁保护层的反射材料制成。光盘上的信息是通过在反射层上创建偏差的方法记录的,可以通过激光检测CD快速旋转时反射层的不规则反射偏差来读取。

CD技术最初是用于音频记录的,采用的记录格式叫作数字音频光盘(compact disk-digital audio,CD-DA),而现在的CD,作为计算机的数据存储设备,实质上使用的仍是同样的格式。特别值得一提的是,CD上的信息存储在一条磁道上,它呈螺旋形缠绕在CD上,很像老式留声机唱片里的凹槽,不过与老式留声机唱片不同的是,CD上的磁道是由内至外的(见图1-10)。这条磁道被划分为称为扇区的单元,每个扇区都有自己的标识,数据存储容量为2 KB,这个容量在录制音频时,大约能录制frac{1}{75}秒的音乐。


48cf5796d0fe38ccd6860c04a147b60354ea1ed5

需要注意的是,盘片外边缘螺旋形磁道的距离比内部螺旋形磁道的要长。为了使CD的存储能力达到最大,信息是按照统一的线性密度存储在整个螺旋形磁道上的,这就意味着,在螺旋形磁道上,外部边缘环道存放的信息比内部环道的多。所以,如果盘片旋转一整圈,激光在扫描外部螺旋形磁道时,读到的扇区个数要比扫描内部时读到的多。因此,为了获得统一的数据传输速率,CD-DA播放器要能够根据激光在盘片上的位置来调整盘片的旋转速度。不过,由于用于计算机数据存储的大多数CD系统,其盘片都是以比较快的恒定速度旋转的,所以其CD驱动器必须适应数据传输速率的变化。

由于采用这种设计思想,CD存储系统在处理长且连续的数据串(如音乐复制)时,表现最好。但是,当一个应用需要随机存取数据项时,磁盘存储器所用的方法(单个的同心磁道被划分成独立存取的扇区)就优于CD所用的螺旋形方法。

传统CD的存储容量是600~700 MB。但是,数字多功能光碟(digital versatile disk,DVD)可具有多达几个GB的存储容量,它由多个半透明的层面构成,精确聚焦的激光可以识别其不同的层面。这种盘片能够存储冗长的多媒体信息,包括完整的电影。最后,蓝光技术(blu-ray technology)使用蓝色(而非红色)激光,能够极为精确地聚焦激光束。因此,蓝光光碟(blu-ray disk,BD)的容量是DVD的5倍多,其巨大的存储器容量能满足高清视频的需要。

1.3.3 闪存驱动器
基于磁技术或光技术的海量存储系统的一个普遍特征是,通过物理运动来存储和读取信息,例如,旋转磁盘、移动读/写磁头和扫描激光束。这就意味着,其数据的存储和读取速度比电子电路的要慢。闪存(flash memory)技术有克服这个缺点的潜力。在闪存系统里,二进制位是由电子信号直接发送到存储介质中的,电子信号使得该介质中二氧化硅的微小晶格截获电子,从而转换微电子电路的性质。因为这些微小晶格能够在没有外力的情况下保持截获的电子很多年,所以闪存技术非常适合存储可移植的、非易失性数据。

尽管存储在闪存系统里的数据能够像在RAM应用中一样,以小字节单元存取,但是现代技术规定存储的数据应批量擦除。不过,反复的擦除会逐渐损坏二氧化硅的晶格,这就意味着,现今的闪存技术不适合一般的主存储器应用,因为主存储器的内容一秒可能要改很多次。然而,在那些改变可以被控制在一个合理的水平的应用里(如数码相机和智能手机),闪存已经成为海量存储技术的一个选择。的确,因为闪存对物理震动不敏感(与磁系统和光系统不同),所以它现在正代替便携式应用(如笔记本电脑)中的其他海量存储技术。

闪存设备称为闪存驱动器(flash drive),容量可达几百GB,可用于一般的海量存储应用。闪存设备被封装在极小的塑料格子里,其一端有一个可以取下的帽,当驱动器处于脱机状态时,可以保护这个设备的电子连接器。因为这些便携设备容量大,很容易与计算机进行连接或断开,所以是理想的便携数据存储器。不过,由于它们的微小存储晶格的缺点,当涉及真正长期应用时,它们不如光学盘片可靠。

较大的闪存驱动器称为固态硬盘(solid-state disk,SSD),是专为替代磁硬盘设计的。与硬盘相比,固态硬盘防震抗摔性能更好,能更安静地运行(因为没有移动部件),存取时间更短。不过,固态硬盘要比同等大小的硬盘贵,所以在购买计算机时,它仍然被看作是高端选择。虽然固态硬盘扇区也受所有闪存技术所共有的寿命比较有限的影响,但通过耗损均衡(wear-leveling)技术频繁地将改变的数据块重定位到驱动器中使用次数最少的位置上,可以减小这个影响。

闪存技术的另一应用是安全数字(secure digital,SD)存储卡(memory card),简称SD卡。SD卡的容量高达2 GB,它们被制成塑料封装的晶圆,有邮票大小(还有更小的小型和微型SD卡),其中,安全数字高容量(secure digital high capacity,SDHC)存储卡(简称SDHC卡)的存储容量可以高达32 GB,新一代的安全数字扩展容量(secure digital extended capacity,SDXC)存储卡(简称SDXC卡)的容量可超过1 TB。由于这些卡物理结构紧凑,可以方便地插入小型电子设备的插槽,因此它们是数码相机、智能手机、音乐播放器、汽车导航系统,以及其他许多电子产品的理想选择。

问题与练习

1.我们可以从加快磁盘或CD转速中获得什么?

2.当记录数据到多盘片存储系统时,我们是应该写满一张盘片后再写另一张盘片,还是应该写满一个柱面后再写另一个柱面?

3.为什么预订系统里的那些需要经常更新的数据,要存储在磁盘里,而不是CD或DVD里?

4.哪些因素能使同一个驱动器能读包含CD、DVD以及蓝光光碟在内的所有光碟?

5.相对于本节介绍的其他海量存储系统,闪存驱动器有什么优势?

6.让磁硬盘驱动器仍具竞争力的优势是什么?

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

其他文章