数据储蓄简介
数据存储对象包括数据流在加工过程中产生的临时文件或加工过程中需要查找的信息。数据以某种格式记录在计算机内部或外部存储介质上。数据存储要命名,这种命名要反映信息特征的组成含义。数据流反映了系统中流动的数据,表现出动态数据的特征;数据存储反映系统中静止的数据,表现出静态数据的特征。
存储介质磁盘和磁带都是常用的存储介质。数据存储组织方式因存储介质而异。在磁带上数据仅按顺序文件方式存取;在磁盘上则可按使用要求采用顺序存取或直接存取方式。数据存储方式与数据文件组织密切相关,其关键在于建立记录的逻辑与物理顺序间对应关系,确定存储地址,以提高数据存取速度。
三类存储方式DAS
DAS(Direct Attached Storage)直接附加存储方式与我们普通的PC存储架构一样,外部存储设备都是直接挂接在服务器内部总线上,数据存储设备是整个服务器结构的一部分。
NAS
NAS(Network Attached Storage)数据存储方式全面改进了以前低效的DAS存储方式。它采用独立于服务器,单独为网络数据存储而开发的一种文件服务器来连接所存储设备,自形成一个网络。这样数据存储就不再是服务器的附属,而是作为独立网络节点而存在于网络之中,可由所有的网络用户共享。
SAN
1991年,IBM公司在S/390服务器中推出了ESCON(Enterprise System Connection)技术。它是基于光纤介质,最大传输速率达17MB/s的服务器访问存储器的一种连接方式。在此基础上,进一步推出了功能更强的ESCON Director(FC SWitch),构建了一套最原始的SAN系统。
磁盘数据通道无论是大型机的专用I/O处理机、存储通道部件还是小型机的存取服务器乃至微型机的磁盘控制器或适配器,磁盘数据通道的最基本功能是管理磁盘的数据存取。因而我们可将其抽象为如下的数据通道模型。如附图所示,它由主连接通道Host channel、缓冲部件Buffer或Cache及连接驱动器设备通道Device channel组成。其中T。是驱动器读写所能提供的最大传输率(峰值传输率)、T是磁盘系统响应主机系统读写请求过程中所能提供的传输率,它是一段时间内的平均值。
这里,为简化分析,假定主通道和设备通道容量很大,足以维持最大传输率传送数据,以便着重讨论磁盘系统的关键技术问题。
由于磁盘驱动器的数据信息是三维(扇段号,柱面号,头号)分布的,在找道和旋转等待期间不能传送数据,加之数据块域附有地址标志、ECC域,和各域间的间隙,故扇段数据块传送峰值之间都有一段空隙。单通道的平均数据传输率可表示为:
式中,、
分别为平均找道时间和平均旋转等待时间,B,T分别为扇段的字节数和读写时间,s为读写扇段数,g为扇段间间隙旋转时间。TD1=B/T是单读写通道的峰值传输率,它由记录位密度和主轴转速决定;
是传输有效系数,它与平均找道时间ts、主轴转速、扇段长与空隙长之比以及读写扇段数有关,对于多个独立读写通道磁盘系统,
其有效平均传输率为
假定控制器有一定容量的Buffer或Cache,许多数据传送可在Buffe:或Cache主机之间重复进行,这样主通道的有效数据传输率TH,可表示为:
其中β是等效复传系数,它与Buffer或Cache容量、预读和替换策略等因素有关。
快速存取技术提高有效传输率从以上磁盘系统的通道模型可知,除了提高位密度和主轴转速增大Tp、缩短找道时间以增大a外,如下的方法也是提高有效传输率的重要途径:
a.用固定头磁盘消除找道延时增大a;
b.用并行传输磁盘(PTD)增加读写通道数增大Tu;
c.用磁盘Cache提高s;
d.用适宜的磁盘调度策略减小定位时间增大a;
e.用镜象盘减小旋转等待时间增大a;
f.用固态盘提高β和提供大批量的驱动器与控制器间数据传输增大a。
(1)固定头磁盘是每道一头的磁盘驱动器,它无需找道时间开销ts,从而可有效地增大a。在早期计算机中它被用作虚拟存储器的后援存储器,如今每个盘面达到千道以上,这种方法从经济上是不合适的。但每面多磁头、分区读写以减少找道时间的方法则仍在应用,如IBM 3390- 2的快速型驱动器。
(2)并行传输磁盘提供多个读写通道直接提高数据传输率TD. Cray公司的DD--19和DD一49、富士通公司M 2350A 、 M 2360A和M 2380A等都是并行传输磁盘。在Cray-DD--49并行传输磁盘中,有两个独立的小车执行机构,小车上装有16个磁头,每面有两个磁头。每个小车可独立寻址所有柱面,减小了平均找道时间.这样在增大TD的同时还提高了a,是一种高性能的典型磁盘系统。
(3)磁盘高速 Csche是设置在主机和磁盘间的缓冲存储器,用它实现外存与主机间高速数据传输。磁盘C2che有两方面作用。
其一,作为两种不同速率通道传输的缓冲池(也叫Buffer)以实现传输速度匹配。由于磁盘驱动器所支持的数据传输是以扇段长为单位的分块连续传输,且传输速率较低。而主机与磁盘系统之间的数据通路可以较大的数据块的分块甚至是连续的快速传输。这两种不同性质和速率的通道传输靠高速Buffer来实现匹配;
其二,它是主机存储管理技术的部分下移,即暂存重复调用的数据,并以先读和后写技术提高外存响应和数据传输的快速性。
其具体做法是,采用一定的算法让磁盘读往Cache的操作先于主机的读请求,以便主机读请求到来时立即从Cache中读取数据。同时主机写磁盘操作当写到Cache时即认为写操作完成,实际磁盘写操作的完成滞后于主机写操作完成,有些重复调用率高的数据可能在主机和Cache间多次传输后才写入磁盘,从通道模型来看,磁盘Cache是引入了较大的等效数据复传率β。
磁盘Cache的有效性一方面取决于Cache管理算法;另一方面依赖于各种应用的数据分布特性。Cache管理一般采用LRU(最近最少使用)、FIFO(先进先出)等算法,它应与主机调用数据的时域特性相一致。主机请求传输的数据应具有较好的空间、时间局部性,这种局部性决定了预读的有效性、Cache中数据重复利用的可能性和连续磁盘写入的批处理效果。数据的空间时域分布局部性又取决于应用环境、软件算法及文件组织方式等因素。对于磁盘系统来说,较小数据块的随机存取难以使磁盘Cache得到有效利用;较大数据块的顺序存取和重复调用有利用磁盘Cache的效能发挥。
(4)磁盘调度是在一组I/O请求中以定位时间极短为目标来调度磁盘读写,从而减小总体的机械定位延迟和增大a。广义的磁盘调度包括如下两方面:
第一,在磁盘系统中设置命令缓冲器,一次接受多个I/O请求命令,并以某种算法(如找道时间最短算法)对I /O请求命令排队。然后,按顺序执行命令队列,即以总体上最短的找道时间处理I /O命令。队列中下一个被执行的I/O命令应选择存取的数据位置离当前读写头最近,使找道时间最短。这种方法在I/O请求队列较长、数据存取响应立即性要求不太高的系统中相当有效。
第二,磁盘系统对管辖下的多台磁盘串按“重叠操作”的原则实行同时并发的定位操作,以减小整体的定位时间。同时,按“旋转优化”的原则调度,选择磁头最靠近所要求扇段的磁盘驱动器去首先执行数据读写,以使旋转等待时间减少至最小。从整体上讲减小了数据定位时间因而增大了有效系数a。
(5)镜像磁盘通常用作提高磁盘系统的可靠性和数据可用性。它是使数据同时存放在两个磁盘的相应位置上,数据分布互为镜像。在读取时,一个盘上数据出错便读取另一盘上的镜像数据,只有当两个盘同时出错才算出错,因而数据可用性高。
在无误码或故障的情况,可以采用两种方法调度磁盘使数据定位时间缩短以增大有效系数a。第一种方法是以极小找道时间来调度。具体做法是根据两个磁盘的当前磁头位置距离主机请求的数据位置的道差,调度较小道差的磁盘作为主磁盘优先去完成读写操作,另一磁盘作为其镜像盘,其读写数据作为纠错备用。这种算法响应主机请求的时间最短。第二种方法是将磁盘数据区域按柱面划分两部分,每个磁盘作为主磁盘的一部分,相当于主磁盘的找道行程缩短了一半。
(6)固态盘又称为SSD (Static -StateDisk )。它是由速度相对较慢的存储器芯片构成,可视之为一种大型低速主存或小型高速磁盘。以快速、连续的大块数据传输响应主机的读写请求,从面向主机的数据通道来看,相当于一个大容量的磁盘Cache,大大提高了磁盘系统模型中的等效复传系数R,现今被视为新一代较大容量的外存储设备。
使用固态磁盘可用三种不同的方式来使用固态磁盘:1
a)扩展存储器ES (Extanded Storage ) ;
b)逻辑磁盘(或叫虚拟磁盘);
c)用作文件的主存Cache和磁盘设备间的二级Cache。
作为扩展存储器时,SSD通过一个宽带的高速数据通道连接到主存,其最大数据传输率较磁盘要快两个数量级。例如:IBM 3090系列机上扩存与主存之间的传输率为216MB/s一每个字18. 5ns。Cray X一MP和Y -MP机上用作扩存的SSD在25μs之内存取9096字节,数据传输率为160MB/s。
Cray X一MP和Y一MP还支持作为逻辑磁盘和二级Cache的SSD。SSD相对磁盘来说存储空间小得多,因而作为逻辑盘使用时常出现空间争用现象,这是逻辑盘难免的因难。Cray系统研究人员发现,SSD作为多道程序的二级Cache可使Unix操作系统下的运行环境加速四倍。
大量实践经验表明,存储系统中20%的数据接受了80%的存取访问频度,亦即相对少量的活跃(hot spot)数据被重复访间,其访问次数之和占所有访问次数总和的绝大多数比例。SSD非常适合于存放这些hot spot数据。数据hot spot规律是促进SSD发展的根本动力。