|
|
51CTO旗下网站
|
|
移动端

1.3 海量存储器

《计算机科学概论》(Computer Science:An Overview) 多年来一直深受世界各国高校师生的欢迎,是许多著名大学(包括美国哈佛大学、麻省理工学院、普林斯顿大学、加州大学伯克利分校等)的首选教材,对我国的高校教学也产生了广泛影响。本书以历史的眼光,从发展的角度、当前的水平,以及现阶段的研究方向等几个方面,全景式描绘了计算 机科学各个子学科的主要领域。本书为最新的第10版,其中新增加了关于计算机图形学的一章(第10章),这一章主要介绍视频游戏和当今电影产业中使用的技术,为读者进一步了解虚拟现实打下了基础。

作者:[美] J.Glenn Brookshear 译 刘艺/肖成海/马小会来源:人民邮电出版社|2011-02-03 21:03

1.3  海量存储器

由于计算机主存储器的不稳定性和容量的限制,大多数计算机都有称为海量存储系统(mass storage)或者称为辅助存储器的附加存储设备,包括磁盘、CD盘、DVD盘、磁带、闪存驱动器(所有这些我们稍后会讨论)。相对于主存储器,海量存储系统的优点是更稳定、容量大、价格低,并且在许多情况下,为了存档的需要可以从计算机上方便地取下这类存储设备。

术语联机(on-line)和脱机(off-line)通常分别用来描述那些既能接入计算机又能从计算机上移除的设备。联机,意味着设备或信息已经与计算机连接,不需要人的干预就可以使用。脱机,意味着必须先有人的干预,设备和信息才可被计算机使用——或许这个设备需要接通电源,或许包含该信息的介质需要插到某机械装置里。
海量存储系统的主要不足之处是,它们一般都需要机械运动,而主存储器的所有工作都是由电子器件实现的,因此比起计算机主存储器来,海量存储系统的数据存取需要花费更长的时间。

1.3.1  磁学系统

很多年以来,磁技术已经占据了海量存储领域。我们今天使用最多的是磁盘(magnetic disk)。它里面是薄的、可以旋转的盘片,表面有磁介质的涂层用以存储数据(图1-9)。读/写磁头安装在盘片的上面和(或)下面,当盘片旋转时,每个磁头在盘片上面或下面相对于称为道(track)的圆圈转动。移动磁头时,可以对各个同心的道进行存取。在很多情况下,一个磁盘存储系统包含若干个安装在同一根轴上的盘片,一个盘片在另一个盘片的上面,盘片之间留有足够的距离,使得磁头可以在盘片之间滑动。这种情况下,所有的磁头是一起移动的。因此,每当磁头移到新的位置时,新的一组道,称为柱面(cylinder),就可以进行存取操作了。


图1-9  磁盘存储系统

因为一个道可以包含的数据通常比我们每一次要处理的数据多,所以每个道划分成若干个小弧区,称为扇区(sector)。记录在每个扇区上的信息是连续的二进制位串。磁盘上所有的扇区包含相同数目的二进制位(典型的容量是512个字节到若干KB),而且在最简单的磁盘存储系统里,每一个道分为相同数目的扇区。因此,盘片边缘道扇区上存储的位密度要小于靠近盘片中心道上存储的位,这是因为外道要长于内道的缘故。事实上,在大容量磁盘存储器系统里,边缘道包含的扇区要远多于靠近中心的道,这种存储能力常通过一种称作区位记录(zoned-bit recording,ZBR)的技术得以应用。运用区位记录,一些相邻的道被统一命名为区,一个典型的盘片大约包含10个区。一个区的所有道有相同数目的扇区,但是靠外的区中每一个道包含的扇区比靠内的区包含的多。因此,盘片边缘的存储空间利用率要高于传统磁盘系统。不考虑细节,一个磁盘存储系统包含许多独立的扇区,每一个扇区又可以作为独立的位串进行存取。

道和扇区的位置不是磁盘物理结构的固定部分,相反,它们是通过称为磁盘格式化(formatting)或初始化的过程磁化形成的。这个过程通常是由磁盘的厂家完成的,出厂的此类盘称为格式化盘。大多数计算机系统都能够执行此项任务。所以,如果一个磁盘的格式化信息被破坏了,那么这个磁盘可以重新格式化,不过这种操作将会丢失原先记录在磁盘上的所有信息。

一个磁盘存储系统的容量取决于所用盘片数目以及所划分道与扇区的密度。仅由一张塑料盘片组成的低容量系统称为磁盘(diskette),有时也称为软盘(floppy disk),后者强调了它的灵活性。软盘很容易插入到相应的读/写装置里,也容易取出和保存,通常用作信息脱机存储设备。不过,普通的3.5英寸软盘容量仅有1.44 MB,因此它们很快被其他技术取代了。

大容量磁盘系统的容量可达几GB,它可能有5~10个刚硬的盘片,并安装在同一个轴上。由于这种磁盘系统所用的盘片是刚硬的,所以称为硬盘系统,用以区别于软盘系统。为了使盘片可以比较快地旋转,硬盘系统里的磁头不接触盘片表面,而是 “浮”在上面。磁头与盘片表面的空隙非常小,以至于一颗灰尘都会阻塞在磁头和盘片之间的空隙,造成破坏(这个现象称为划道)。因此,硬盘系统出厂前已被密封在盒子里。

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

硬盘系统的性能通常大大优于软盘。硬盘系统里的读/写磁头不接触盘片表面,盘片的旋转速度可达每分钟几千转,而软盘系统里的盘片只有固定的每分钟300转。因此,硬盘系统的传输速率通常以每秒几MB来度量,这比软盘系统大得多,后者计量单位仅为每秒几KB。

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

磁盘存储系统不是唯一应用磁技术的海量存储设备。一种更古老的形式是磁带(magnetic tape)(见图1-10),在这些系统里,信息存储在一条细薄的塑料带的磁涂层上,而塑料带则绕在磁带卷轴上作为存储器。为了存取数据,磁带装到称为磁带驱动器的设备里,并可以在计算机控制下读带、写带和倒带。磁带驱动器有大有小,小至盒式机,大至比较老式的大型盘式机。而盒式机又称为流式磁带机,磁带的外表与立体声收音机类似。虽然这些磁带机的存储容量依赖于所使用的格式,但是大多数都达到几GB。


图1-10  磁带存储装置

磁带的一个主要缺点是,由于在磁带卷轴之间要移动的带子很长,所以在一条磁带不同位置之间移动非常耗费时间。于是相对于磁盘系统而言,磁带系统的存取时间比较长,因为磁盘的读/写磁头只需要做短的移动就可以在不同的扇区存取。因此,磁带机对于联机的数据存储设备不是很常用。但是,磁带技术常应用在脱机档案数据存储中,原因是它具有容量大、可靠性高和性价比好等优势,尽管其他技术,如DVD、闪存等的进步,正迅速地挑战磁带系统最后的阵地。

1.3.2  光学系统

另一类海量存储器所应用的是光学技术,光盘(Compact Disk,CD)就是其中的一种。光盘的直径为12cm(大约5英寸),由涂着光洁保护层的反射材料制成。通过在反射层上创建偏差的方法在光盘上面记录信息。激光束通过监视CD快速旋转时反射层的不规则反射偏差来读取信息。

CD技术最初是用于音频录制,使用称为数字音频光盘(CD-DA)的记录格式,而今天CD作为计算机的数据存储设备,实质上使用的仍是同样的格式。尤其是,CD上的信息是存储在一条道上,它呈螺旋形缠绕在CD上,很像老式唱片里的凹槽,不过与老式唱片不同的是,CD上的道是由内至外的(见图1-11)。这条道划分为称为扇区的单元,每个扇区都有自己的标识,数据存储容量2KB,相当于在音频录制时 s的音乐。


图1-11  CD存储格式

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

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

传统CD的存储容量是600~700MB。但是,DVD(digital versatile disk) 可提供达到几个GB的存储容量,它由多个半透明的层面构成,精确聚焦的激光可以识别其不同的层面。这种盘片能够存储冗长的多媒体信息,包括完整的电影。

1.3.3  闪存驱动器

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

尽管存储在闪存系统里的数据,能够像在RAM应用中一样,以小字节单元存取,但是现代技术规定存储的数据应以批量擦写。不过反复的擦写会逐渐损坏二氧化硅的晶格,这就意味着现今的闪存技术不适合主存储器应用,主存储器的内容在一秒钟可能改变许多次。然而,在某些应用里,改变可以被控制在一个合理的水平上,例如数码相机、移动电话、手提式PDA,所以闪存已经成为海量存储技术的一个选择。的确,因为闪存对物理震动不敏感(与磁学系统和光学系统不同),它在便携式应用中的潜力是诱人的。

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

1.3.4  文件存储及检索

海量存储系统中的信息一般被分组为较大的单元,称为文件(file)。典型的文件可能由文本、照片、程序、音乐录音或者一组有关公司员工的数据组成。我们已经了解到,海量存储设备规定这些文件要以较小的多字节单位进行存储和检索。例如,存储在磁盘上的文件必须按照扇区操作,每个扇区都有固定的规格。符合存储设备特性的数据块称为物理记录(physical record)。因此,海量存储系统中的大文件通常包含多个物理记录。

与这种物理记录划分相对,文件通常有其自然划分,这是由它所表示的信息决定。例如,一个包含公司员工信息的文件由许多单元组成,其中每个单元包含一个员工的信息;一个有关文本的文件包含段落或页。这些自然产生的数据块称为逻辑记录(logical record)。

逻辑记录通常由称为字段(field)的较小的单元组成。例如,一个包含员工信息的逻辑记录大致由姓名、地址、员工标识号等这样的字段组成。有时候,文件的每一个逻辑记录是由一个特定的字段唯一标识出来的(也许是一个员工的标识号、一个部门标号或者是目录项标号)。这样的标识字段称为键字段(key field),键字段中的值称为键(key)。
逻辑记录的规格很少能与海量存储系统的物理记录相匹配。因此,人们可能会发现若干逻辑记录存放在一个物理记录里,或者一个逻辑记录存放在两个或者更多的物理记录里(见图1 12)。因此,海量存储系统的信息检索需要一定的整理工作。这个问题的一个常用解决方法是,在主存储器里留出一个足够大的区域,用于存放若干物理记录并以此存储空间作为重组区域。也就是说,与物理记录兼容的数据块可以在主存储区与海量存储系统之间传输,主存储区的数据能够根据逻辑记录引用。


图1-12  磁盘上的逻辑记录与物理记录

这种存储区域称为缓冲区(buffer)。一般情况下,缓冲区通常是用于一个设备向另一个设备传输的过程中临时存储数据的区域。例如,现代的打印机都有自己的存储电路,其大部分作为缓冲区,用于保存该打印机已经收到但还没有打印的那部分文档。

问题与练习

1.硬盘系统的盘片比软盘系统的盘片旋转得快这一事实说明硬盘系统的优势是什么?

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

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

4.使用字处理程序修改文档时,有时添加一段文本都不会很明显地增加海量存储器中文件的大小,而有时一个符号的增加就会使文件增加几百个字节。为什么?

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

6.什么是缓冲区?


【责任编辑:王苑 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

主流ARM嵌入式系统设计技术与实例精解

本书重点介绍了主流ARM应用系统的开发与实践。全书基于目前较为通用、流行的ARM处理器,介绍了其原理、硬件结构、硬件电路设计与开发和软件...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊