版权归原作者所有,如有侵权,请联系我们

[科普中国]-存储信道

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

信道是指通信的通道,是信号传输的媒介。信息是抽象的,但传送信息必须通过具体的媒质。例如二人对话,靠声波通过二人间的空气来传送,因而二人间的空气部分就是信道。邮政通信的信道是指运载工具及其经过的设施。无线电话的信道就是电波传播所通过的空间,有线电话的信道是电缆。每条信道都有特定的信源和信宿。在多路通信,例如载波电话中,一个电话机作为发出信息的信源,另一个是接收信息的信宿,它们之间的设施就是一条信道,这时传输用的电缆可以为许多条信道所共用。在理论研究中,一条信道往往被分成信道编码器、信道本身和信道译码器。人们可以变更编码器、译码器以获得最佳的通信效果,因此编码器、译码器往往是指易于变动和便于设计的部分,而信道就指那些比较固定的部分。但这种划分或多或少是随意的,可按具体情况规定。例如调制解调器和纠错编译码设备一般被认为是属于信道编码器、译码器的,但有时把含有调制解调器的信道称为调制信道;含有纠错编码器、译码器的信道称为编码信道。

按照传输媒质来划分,信道可以分为有线信道、无线信道和存储信道三类。

有线信道以导线为传输媒质,信号沿导线进行传输,信号的能量集中在导线附近,因此传输效率高,但是部署不够灵活。这一类信道使用的传输媒质包括用电线传输电信号的架空明线、电话线、双绞线、对称电缆和同轴电缆等等,还有传输经过调制的光脉冲信号的光导纤维。

无线信道主要有以辐射无线电波为传输方式的无线电信道和在水下传播声波的水声信道等。无线电信号由发射机的天线辐射到整个自由空间上进行传播。不同频段的无线电波有不同的传播方式,主要有:地波传输、天波传输、视距传输。无线信道在自由空间(对于无线电信道来说是大气层和太空,对于水声信道来说是水体)上传播信号,能量分散,传输效率较低,并且很容易被他人截获,安全性差。但是通过无线信道的通信摆脱了导线的束缚,因此无线通信具有有线通信所没有的高度灵活性

存储信道,在某种意义上,磁带、光盘、磁盘等数据存储媒质也可以被看作是一种通信信道。将数据写入存储媒质的过程即等效于发射机将信号传输到信道的过程,将数据从存储媒质读出的过程即等效于接收机从信道接收信号的过程。1

数据编码模型在磁带、磁盘或光盘上存储数据的过程,等效于在电话或无线信道上发送数据;回读过程以及在存储系统中恢复所存储的数据的信号处理,等效于在电话和无线通信系统中恢复发送信号。在存储系统中,电子元器件产生的加性噪声和来自邻近轨道的磁性干扰,都会影响数据在数据通道中的传输。通过对数据进行编码而引入附加冗余度,以纠正回读信号的差错,成为系统设计必须考虑的一个重要环节。这已在磁盘驱动器及冗余磁盘阵列中得到验证。

在存储系统中,数据电缆及存储介质构成了存储信道。数据经编码(目前一般采用密勒码及NRZI调制)后,送入磁头并写入磁介质;回读则是上述过程的逆过程。如果在编码中采用高性能的Turbo码,对于磁盘驱动器的数据传输可靠性会有较大的提高。2

RAID的存储信道RAID面向主机的界面是智能化的快速大容量外存系统。在存储信道上,智能化主要体现在系统具有容错功能,即无需主机的介入自动检查纠正错误,保证系统与主机间有效可靠地传输数据。当主机请求写人,主机送来的写人数据信息被分割成一系列数据元组,每一数据元组又编码生成存储元组,一系列存储元组被调度交叉存放在各磁盘单元。当主机请求读出,这些存储元组按相应调度策略取出后进人校验或纠错处理又变成一系列数据元组,经同步后传送到主机,即实现了数据的读出。从信息论来看,主机写人RAID和从它读出信息组成一存储信道,其信道功能模型如图所示。3

数据的分割与同步主机要写入RAID的数据信息M,分割成一系列k个数据元组m1,m2,…,mk,每一数据元mi(i=1,2,…,k)可以由位、字节、扇段或多扇段块数据组成,它表示对主机请求的分割因子。分割粒度是这个因子与数据元组的分量数k的乘积。它是对主机服务请求分割的基本单位。最佳的数据分割方法应该与主机的服务请求相适应。对于较大服务请求,一般应采取较大粒度的块分割,对较小服务请求块,一般应使分割粒度较小。同时还应考虑读出数据的同步问题,块大了同步等待时间长,块小了等待数据存取响应开销大。

在一般RAID系统中,为便于控制,常采用定长数据分割。我们用L维列向量m.来描述数据元。k个连续的数据元编成一组,用广义k维行向量m=(m1,m2,…,mk)表示。当数据分割是按位方式时,m是k维行向量,当它是L位长块时,m是L×k矩阵。作为写入的数据分割的逆过程,数据读出的同步则是将一系列的k数据元组变成完整的数据信息送给主机。它与数据分割粒度有关,同时还与多磁盘的同步异步存取机制有关。3

存储元的生成、检验与纠错为提高系统可靠性,系统设置了冗余磁盘容量存放冗余信息元,以便在出错情况下检出并纠正错误,实现容错功能。

存储信元的生成是将k数据元向量m=(m1,m2,…,mk)转成n存储信元向量C=(c1,c2,…,ck)的过程。一般常采用系统线性编码,即存储数据元向量C中的前k分量为数据信息元,后n-k=r分量为冗余信息元。冗余信息元由数据信息元的线性组合产生。

上式是矩阵运算表示存储元的生成过程。值得注意的是,存储元ci通常是多位(L>i)的因而存储元的生成是多重并行的矩阵运算。其重数应是L的因子,最大可等于L,它表示传输中处理的并行程度。由于组成系统的磁盘设备可能出现设备故障或数据误码,存储信道中将不可避免地出现噪音元,我们以e表示。它与存储信元一起进入检验功能单元,由于合法的存储信元组内各元间满足一定的模2运算关系,由此可检出e是否存在。当e为非0元时,将按最大似然原理自动纠错或采用其它出错控制方式改正错误。改正后还需写入相应的磁盘单元。

在RAID结构中,除镜像盘(idskmirroring)容错外,主要有两种纠错方式:其一,采用纠错码(如Hamming码)自动纠错,由于它是根据最大似然原理纠错,常会出现错纠现象,。其二,利用磁盘本身的ECC码指示和冗余盘检错相结合共同纠错。这是一种较为适合的方式。磁盘记录带有检查码(ECC),在传统磁盘系统中,出现ECC错大多是用重读方式来消除误码。RAID结构中容许一定量的误码,可通过出现误码磁盘的ECC检错指示和冗余一致校验来纠正误码。3

磁盘调度磁盘调度是将n存储元组C=(c1,c2,…,ck)按合适策略启动并送人相应磁盘单元或从多磁盘中按相应策略读出存储元组C。对于同步工作方式调度很简单,而对于异步方式,首先要考虑的是调度的次序,应以存取时间极小为目标。其次,使冗余信元的分布均匀,以保证如下所述的负荷平衡。

通常的系统采用定长数据分割,而写入数据信息往往不可能分成k数据元组的整数倍,出现数据存储元组的不完全写人,如最后一组只有j(j≤k)个数据元,在生成冗余信息元时空的数据元以“0”论,写人时只写有效数据信息元和冗余信息元。此外,当需改写其一个或几个数据信息元时,先应将原相应数据信息元和冗余信息元读出,将原数据信息元和要写入的数据信息元同时按生成矩阵要求与冗余信息元运算形成新的冗余信息。

然后将新数据信息元和冗余信息元写入进去即所谓“读一改一写”,由于这些情况带来的存储信元中的数据信息元和冗余信息元读写机会不等,如按存储信元与磁盘单元固定的对应关系调度磁盘,即c.固定存放在第i磁盘,将会出现严重的磁盘工作负荷不平衡现象。因而要采用优化调度策略,使冗余信息元分布均匀,各磁盘负荷趋于平衡。3