书签 分享 收藏 举报 版权申诉 / 30

盘存储装置的数据更新方法和盘存储控制装置.pdf

  • 上传人:t****
  • 文档编号:648987
  • 上传时间:2018-03-01
  • 格式:PDF
  • 页数:30
  • 大小:998.24KB
  • 摘要
    申请专利号:

    CN01125573.0

    申请日:

    1998.08.07

    公开号:

    CN1347031A

    公开日:

    2002.05.01

    当前法律状态:

    终止

    有效性:

    无权

    法律详情:

    未缴年费专利权终止IPC(主分类):G06F 11/00申请日:19980807授权公告日:20050323终止日期:20090907|||授权|||公开|||实质审查的生效

    IPC分类号:

    G06F11/00; G06F12/00; G06F12/08

    主分类号:

    G06F11/00; G06F12/00; G06F12/08

    申请人:

    株式会社东芝;

    发明人:

    关户一纪

    地址:

    日本神奈川县

    优先权:

    1997.08.08 JP 214656/97

    专利代理机构:

    中国专利代理(香港)有限公司

    代理人:

    张志醒

    PDF完整版下载: PDF下载
    内容摘要

    本发明提出一种原理上不需要间接变换映象、便宜且高速的盘存储装置的数据更新方法,并构成一种实现该方法的盘存储控制系统。在由N台盘装置构成的盘存储装置中,备有具有与N×K(整数)个逻辑块相当的容量的写入缓冲器,把应更新数据的逻辑块存储在该写入缓冲器中,控制装置1使该逻辑块的更新延迟到该已存储的逻辑块达到N×K-1个为止,把N×K-1个逻辑块并加上逻辑地址标记块的N×K个逻辑块依次连续写入N台盘装置上的空闲区域中。

    权利要求书

    1: 一种盘存储装置的数据更新方法,该盘存储装置具有N+1个盘装 置,其中N是一个不小于2的正整数,所述方法包括以下步骤: 在一个具有N×K个逻辑块的容量的写入缓冲存储器中累加要更新的 逻辑块数据,直到所述逻辑块个数达到N×K-2块为止,其中K是表示块 数量的一个整数; 生成两个包括用于所述N×K-2个逻辑块和存储在一个时间印记存 储器中的用于将剩余的两个块存储在所述写入缓冲存储器中的时间印记的 逻辑地址的逻辑地址标记块; 采用异逻辑操作生成对应于K个包括带有附加到N×K-2个逻辑块 的所述两个逻辑地址标记块的N×K-2个数据逻辑块的条形数据的K个奇 偶块;和 将N×K-2个逻辑块和带有两个逻辑地址标记块的K个奇偶块作为 一个条形顺序地写入到不同于N+1个盘装置上的存储要更新的的数据的一 个区域的一个空区域,以便使所述两个逻辑地址标记块存储在不同的盘装 置中。
    2: 一种盘存储控制装置,包括: 一个盘存储装置,其中包括N个盘装置,其中N是不小于2的一个 正整数; 一个写入缓冲器,具有等于N×K-1个逻辑块的容量,其中K是表 示块的数量的一个整数;和 一个顺序写入控制单元; 所述顺序写入控制单元还包括: 一个第一装置,用于累加在此写入缓冲器中要更新的数据的逻辑块; 一个第二装置,用于延迟所述逻辑块的更新,直到累加的逻辑块达 到一个选择的数量为止; 一个第三装置,用于产生一个包括在所述写入缓冲器中累加的逻辑 块的逻辑地址的逻辑地址标记块;和 一个第四装置,用于从带有附加到选择数量的逻辑块的逻辑地址标 记块的N×K-1个数据逻辑块产生K个奇偶块,并且将带有附加到此数据 逻辑块的奇偶块的N×K个逻辑块连续地写入到与N个盘装置上的保存要更 新的数据的一个区域相分隔的一个空区域中。

    说明书


    盘存储装置的数据更新方法和盘存储控制装置

        本发明涉及使用了RAID(Redundant Array of Inexpensive Disk廉价盘的冗余阵列)等多台盘存储装置的盘阵列存储装置,特别是涉及对盘阵列存储装置进行数据存储和读出的方法及其所用的控制装置。

        在美国专利第5124987号、特开平6-214720和特开平6-266510号所公开的RAID方式的存储装置中,作为向存储装置高速写入的方法,提出了一种改写数据的方法,即,不是改写旧数据区,而是将更新的数据整理后写入盘装置内的预先准备好的另外的空区域中,然后,在其后的空闲时间内再改写旧数据区。

        使用图18简单地说明上述现有的方法。在图中,考虑更新已存储在逻辑块地址(以下仅称为逻辑地址)L6、L4、L2、L12、L7、L11内的数据块的情况。这些逻辑块地址L6、L4、L2、L12、L7、L11内的旧数据存在于3个盘装置181、182、183内的物理块地址(以下仅称为物理地址)P6、P4、P2、P12、P7、P11中。首先,应更新的新数据块L6数据、L4数据、L2数据、L12数据、L7数据、L11数据通常暂时存储在由非易失性存储器构成的写入缓冲存储器184中。这些数据块不是直接去替换存储了要更新地旧数据的物理块地址P6、P4、P2、P12、P7、P11的内容、即数据,而是保持旧数据不变,将该更新的数据块整理后写入72、173内的预先准备好的另外的空区域、即物理地址P51、P52、P53、P54、P55、P56中。该写入操作是向3个盘装置181、182、183内的连续物理地址P51-P52、P53-P54、P55-P56写入的,所以,与直接进行替换时需要6次写入操作相比,减少到实际上只要3次写入操作,写入性能大大提高。

        另一方面,在这种现有的盘阵列存储装置中,设有表示数据块与存储的逻辑地址和物理地址的对应关系的表、即间接映象(map)。在数据更新时,如上所述,逻辑地址L6、L4、L2、L12、L7、L11内的最新数据实际上是存在于盘装置内的物理地址P51、P52、P53、P54、P55、P56中,所以,改写间接映象的内容使它正确地指向盘上的位置。即,例如,逻辑地址L6内的数据块本来必须在盘装置181内的物理地址P6中,但实际上存储在物理地址P51内,所以,将与间接映象175内的逻辑地址L6对应的物理地址P6改写成P51。以下,同样分别将与间接映象185内的逻辑地址L4、L2、L12、L7、L11对应的物理地址改写成P52、P53、P54、P55、P56。

        此外,因为在将存储在盘阵列存储装置中的数据读出时,是求出与间接映象185所指定的逻辑地址对应的存储了最新数据块的物理地址后再读出的,所以没有将旧数据读出的危险。

        再有,在图18所示的例子中,为使说明简单起见,作为存储的数据块,对1台盘装置只写入2个块的数据,但实际上要写入几十个数据块。

        在上述现有的技术中,因为是通过间接映象去管理最新数据的位置信息,所以,存在当间接映象因故障或误操作而使其数据丢失时盘装置内的全部数据便丢失的所谓数据安全性问题。此外,因为必须对全部逻辑块准备间接映象,而且当发生电源故障时还要保持间接映象,所以必需要大容量的非易失性存储器,因而存在间接映象非常贵的问题。

        本发明是为了解决上述问题而提出的,其目的在于提供一种原理上不需要间接映象、便宜而快速的盘存储装置的数据更新方法以及盘存储控制系统。

        本发明的一种盘存储装置的数据更新方法,该盘存储装置具有N+1个盘装置,其中N是一个不小于2的正整数,所述方法包括以下步骤:

        在一个具有N×K个逻辑块的容量的写入缓冲存储器中累加要更新的逻辑块数据,直到所述逻辑块个数达到N×K-2块为止,其中K是表示块数量的一个整数;

        生成两个包括用于所述N×K-2个逻辑块和存储在一个时间印记存储器中的用于将剩余的两个块存储在所述写入缓冲存储器中的时间印记的逻辑地址的逻辑地址标记块;

        采用异逻辑操作生成对应于K个包括带有附加到N×K-2个逻辑块的所述两个逻辑地址标记块的N×K-2个数据逻辑块的条形数据的K个奇偶块;和

        将N×K-2个逻辑块和带有两个逻辑地址标记块的K个奇偶块作为一个条形顺序地写入到不同于N+1个盘装置上的存储要更新的的数据的一个区域的一个空区域,以便使所述两个逻辑地址标记块存储在不同的盘装置中。

        本发明的一种盘存储控制装置,包括:

        一个盘存储装置,其中包括N个盘装置,其中N是不小于2的一个正整数;

        一个写入缓冲器,具有等于N×K-1个逻辑块的容量,其中K是表示块的数量的一个整数;和

        一个顺序写入控制单元;

        所述顺序写入控制单元还包括:

        一个第一装置,用于累加在此写入缓冲器中要更新的数据的逻辑块;

        一个第二装置,用于延迟所述逻辑块的更新,直到累加的逻辑块达到一个选择的数量为止;

        一个第三装置,用于产生一个包括在所述写入缓冲器中累加的逻辑块的逻辑地址的逻辑地址标记块;和

        一个第四装置,用于从带有附加到选择数量的逻辑块的逻辑地址标记块的N×K-1个数据逻辑块产生K个奇偶块,并且将带有附加到此数据逻辑块的奇偶块的N×K个逻辑块连续地写入到与N个盘装置上的保存要更新的数据的一个区域相分隔的一个空区域中。

        通过采用上述结构,原则上不需要间接映象,可以构筑一种便宜且高速的盘存储装置以及盘存储控制系统。

        图1是表示本发明的实施例的框图。

        图2是为显示本发明的实施例中写入缓冲器和缓冲器管理信息的关系所引用的图。

        图3是表示本发明的实施例中盘装置的空闲区存储的内容的图。

        图4是为显示从主机写入1个块的数据的写入顺序所引用的图。

        图5是表示图4的例子中条ST1、ST2的逻辑地址标记TG1/TG2的内容的图。

        图6是表示将条ST3/ST4统一成1个条ST5的例子的图。

        图7是表示在进行条的统一时从逻辑地址标记TG3/TG4作成逻辑地址标记TG5的例子的图。

        图8是表示本发明的实施例中使用的变换映象的结构例的图。

        图9是用于说明系统启动时变换映象的作成方法的流程图。

        图10是表示将根据条分散配置了4台存储逻辑地址标记的盘装置的例子的图。

        图11是表示在段分割中的盘装置的存储区域的分配的图。

        图12是表示段管理信息的输入项目结构的图。

        图13是表示连续地存储逻辑地址标记的专用标记区的内容的图。

        图14是表示应用本发明而构成的基于RAID5的盘装置的实施例的框图。

        图15是表示图13所示的实施例的工作原理的图。

        图16是表示控制成将相同的逻辑地址标记写入2个盘装置的例子的图。

        图17是表示为了高速地作成变换映象而分配使用专用标记区的情况的例子的图。

        图18是表示现有技术中实现数据更新方法的系统结构的图。

        图1使用本发明构成的盘存储装置的原理结构图。本发明的盘存储装控制系统由控制装置1、盘装置2、易失性存储器3和非易失性存储器4构成。盘装置2由多台盘存储装置构成,但在该实施例中为说明简单起见,以由4台21、22、23、24构成的盘装置为例进行说明。易失性存储器3中设有存储写入的时间顺序的时间印记区31和间接映象存储区32。非易失性存储器4中设有将写入盘装置2的数据作成记录表的结构并保存的写入缓冲区41和保存写入缓冲区41中的空闲区域及已保存的写入数据的逻辑地址的信息的缓冲器管理表42。控制装置1根据主机5来的命令管理这些时间印记区31、写入缓冲区41和缓冲器管理表42,控制向盘装置2的写入。

        图2示出分配给非易失性存储器4的写入缓冲区41和缓冲器管理表42的关系。控制装置1不是直接将与外部连接的主机所要求的写入数据写入盘装置2,而是将它们以块为单位分割后再顺序(以记录表的形式)存储到写入缓冲区41中。在此,缓冲器管理表41形成由多个输入项目构成的表格,在这些各输入项目中,与缓冲区41内的各块位置B0、B1、…B15对应地保存应写入的各数据块的从主机看到的逻辑地址。在缓冲器管理表42内的各输入项目中还设立标志“F”,表示该输入项目已分配了数据,对没有分配数据的输入项目设立标志“U”。

        在图2所示的例子中示出,写入数据存储在写入缓冲区41内的到块位置B9为目的区域中,B0、B1、…B9的逻辑地址是LA134、LA199、…LA678。

        此外,以称之为条单元的存储区为单位(其长度接近于该盘装置的1根个信的(track)长度即可),对于盘装置2的各盘存储装置21~24进行数据的写入,该数据的长度相当于块长度的整数(K)倍、即K个块的长度。而且,与各盘存储装置21~24的物理位置对应的条单元整体上作为1个条形区(ST),也以相同的时序进行写入。

        此外,盘装置2向主机2呈现的存储容量比构成它的多台盘装置21~24加在一起的实际存储容量要小,即,当主机5最初询问存储容量时,作为回答返回的是较小的容量。因此,除了从主机5可以进行逻辑读写的存储区域之外,还可确保多余的存储区域,即空闲区域。

        进而,时间印记31是当从主机5来的写入数据实际上已写入盘装置2时所附加的信息,是为了判定向盘装置2写入数据的顺序而使用的。因此,每当写入缓冲器41的数据写入盘装置2时,时间印记31就递增。

        下面,参照图2~图8详细说明图1所示的本发明实旋例的操作。

        首先,说明写入操作。控制装置1从主机5接受应写入的数据及其逻辑地址,如图2所示,将数据以块为单位分割,按顺序连续地存储到非易失性存储器4的写入缓冲区41的空闲区域中。再有,在图2中,依次连续地写入写入缓冲区41的相当于由B0、B1、…B15形成的15个块长的空闲区内。

        此外,将接受的逻辑地址变换成每个块的地址,并存储到与缓冲器管理表42对应的输入项目B0、B1、…B15中。再有,当对已存储到写入缓冲器41的数据进行更新时,不是依次存储到写入缓冲器41的空闲区,而是直接改变写入缓冲器41的旧数据。

        在从主机5写入的数据积存于比盘装置2的1个条(ST)的区域少1个块、即(4K-1)块写入缓冲器41时,控制装置1将这些数据写入盘装置2。在图2中,是在积存于K=4、即15个块写入缓冲器41时进行对于盘装置2的写入。这时,作为最后的写入块,根据存储在缓冲器管理表42内的写入管理表中的各个块的逻辑地址和易失性存储器3上的时间印记31作成图3所示那样的逻辑地址标记块LA-TAG。事先在该逻辑地址标记块的地址数据和数据块之间设一一对应的关系,就可以知道各数据块的逻辑地址。

        然后,如图3所示,将附加了该逻辑地址标记块的1个条的数据整理后同时写入盘装置21~24的空闲区。在图3中,盘装置21~24的1个条(ST)的空闲区由4个单元条D1~D4表示,图3示出了写入各单元条D1~D4区域内的4个数据块的逻辑地址。再有,图1的时间印记31的值在写入结束时加1。这样,将很多零碎的盘写入操作归纳成1次写入,所以大大地提高了盘的写入性能。

        其次,说明数据块的重新装入处理。作为本发明的盘写入方法,不是直接改写旧的数据区,而是将更新的数据存起来,归纳后写入盘装置2的事先准备好的另外的空闲区域中。在这样的盘写入方法中,必须始终存在用于将存储在盘装置2内的数据归纳后再写入的空闲区。因此,可以在没有进行从主机5来的盘的存取的空闲时间内把已写入其它区域而变成无效的数据集中起来,作成空闲区。将该处理称为重新装入处理。该重新装入处理由判定无效块和条统一两个步骤构成。

        作为判定无效块的例子,考虑有按图4所示的顺序从主机5写入1个块长的数据的情况。图中L××表示从主机送过来的逻辑地址,S××表示写入顺序。在本发明的实施例中,因写入缓冲器41保存有15个块的数据,将最初S1~S15写入的数据归纳成1个条(ST1),附加时间印记TS1后写入盘装置的空闲区。同样,S16~S30的写入数据作为另外的条(ST2)并附加时间印记TS2后写入另外的空闲区。再有,因每写入1次时间印记31加1,故存在TS1<TS2的关系。

        这里,由图可知,逻辑地址L9、L18的数据在时间印记为TS1的条中作为S5、S2的块、在时间印记为TS2的条中作为S19、S21的块重复存在。即,存在2个应写入同一逻辑地址L9、L18的数据。但是,若考虑写入数据块的顺序,后来写入的S19、S21的数据块是有效的,因此,S5、S2的数据必须判定为无效。

        然而,在此为方便而使用的写入顺序S××在实际的盘上没有记录下来。因此,使用附加在各个条中的逻辑地址标记进行判定。在图4的例子中,2个条ST1、ST2的逻辑地址标记TG1、TG2的内容如图5所示。即,逻辑地址TG1、TG2将各块的逻辑地址存储在与写入到写入缓冲器41的15个块B0、B1、…B15对应的存储区中,在第16号存储区内分别写入条ST1、ST2的每一个被写入时的时间印记TS1、TS2。

        由图可知,2个逻辑地址标记TG1、TG2包含相同的逻辑地址L9、L18的数据,条ST1的块B5、B2和条ST2的块B4、B6中的某一个的数据为无效数据。进而,若将逻辑地址标记TG1的时间印记TS1与逻辑地址标记TG2的时间印记TS2进行比较,根据TS1<TS2的关系可以判定条ST1的块B5、B2为无效。如上面说明的那样,通过调查盘装置2的逻辑地址就可以找出无效的数据块。

        图6是表示条统一的例子的图,示出了将2个条ST3、ST4统一成1个条ST5的情况。在该图中,对于条ST3,假定B2、B7、B8、B12、B13的5个块有效,其余10个块无效(画阴影线)。同样,对于条ST4,假定B18、B19、B20、B21、B22、B24、B25、B27、B29的9个块有效,其余6个块无效(画阴影线)。因此,在2个条ST3、ST4中,有效块加起来只有14块,通过只将这2个条ST3、ST4的有效块取出来统一变成1个条ST5,结果作成相当于1个条的空闲区。

        条统一的具体方法是,从易失性存储器3读出图6所示的2个条ST3、ST4,只将这2个条ST3、ST4的有效块取出并将它们连续地转送到写入缓冲器41中。与此相应,逻辑地址标记也如图7所示从TG3、TG4转移到只与有效块的逻辑地址对应的位置上,作成新的逻辑地址标记TG5,将这时的时间印记更新为ST5。

        在该例中,因只有14个有效块,故进而等待从主机5供给1个写入块,使之凑成1个条,归纳后写入盘装置2的空闲区。这时,虽然有效地利用了盘区域。但因为要等待从主机5供给写入块,故存在使向盘进行存取集中在一起的危险。因此,也可在存取的空隙时间按原有的空状态写入最后的数据块。这时,由于通过在与逻辑地址标记TG5的最后数据块对应的逻辑地址上输入-1等NULL地址来表示数据没有输入,所以不成为问题。

        其次,说明这样写入的数据块的读出操作。通过对盘装置2的全部条的逻辑地址标记进行重新装入处理的无效块判定,可以检测出对全部逻辑地址有效的块的物理位置。因此,从原理上讲,通过在从主机5接受读出块的逻辑地址时进行全部条的检查,可以找出应读出的物理块。但是,该方法在块读出时要耗费很长的时间,所以不实用。

        因此,只在系统启动时进行全部条的逻辑地址标记的调查,在图1所示的易失性存储器3上根据逻辑地址作成向物理地址变换的映象32。使用该变换映象32对主机5来的读出请求进行向有效块的存取。因此,可不对每一个主机5来的读出请求都进行地址标记的调查,不会大大降低读出时的性能。此外,该变换映象32无论何时都能通过调查全部条来再生,所以,不需要象以往的间接映象那样为了防备电源故障而必须将其存储在非易失性存储器中。

        在此,使用图8说明变换映象32。如图所示,变换映象32以表格的形式保存存储了相对各逻辑地址L0~Ln的块的条号ST#、该条内的块号BLK3及其时间印记TS#。因此,若给出逻辑地址L0~Ln,通过检索该表就可以简单地从ST#和BLK#求出实际的物理地址。

        此外,关于系统启动时变换映象的作成,如图9的流程图所示那样,依次读出存储在盘装置2中的条ST1、ST2、ST3、…的逻辑地址标记TG1、TG2、TG3、…(步骤1)。将这样读出的逻辑地址标记TG1、TG2、TG3、…内的各时间印记TS1、TS2、TS3、…取出(步骤2)。进而,将读出的各逻辑地址标记TG1、TG2、TG3、…内的各逻辑地址LA××依次取出(步骤3)。当将与取出的逻辑地址LAn相同的逻辑地址LAn登录在变换映象32内时,将登录在变换映象32内的逻辑地址LAn的时间印记TSn与取出的逻辑地址LAn的时间印记TSm进行比较(步骤4)。作为该比较的结果,当取出的逻辑地址LAn的时间印记TSi比登录在变换映象32内的逻辑地址LAn的时间印记TSj新、即TSi大于TSj时,将存储了已作为登录在对于逻辑地址LAn的变换映象32内的条号ST#取出的逻辑地址LAn的盘装置2的条号ST#存储来,此外,还将存储了该逻辑地址LAn的条ST#内的数据块的位置BLK#存储起来(步骤5)。进而,将已作为对于变换映象32内的逻辑地址LAn的时间印记TS#取出的、对于逻辑地址LAn的时间印记TS#存储起来(步骤6)。作为上述步骤4的比较结果,当取出的逻辑地址LAn的时间印记TSi比登录在变换映象32内的逻辑地址LAn的时间印记TSj旧、即TSi小于TSj时,使对于登录在变换映象32内的逻辑地址LAn的条ST#、数据块的位置BLK#和时间印记TS#的内容维持不变,针对已读出的逻辑地址标记内的所有的逻辑地址,调查是否执行了同样的处理(步骤7)。在对全部逻辑地址未执行同样的处理的情况下,返回步骤3,重复执行直到步骤8的处理。在对已读出的逻辑地址标记内的所有的逻辑地址已完成同样的处理的情况下,则接着针对存储在盘装置2上的所有的逻辑地址标记TG1、TG2、TG3、…,调查是否已执行上述处理(步骤8)。若未完成同样的处理,则返回步骤3,重复执行直到步骤7的处理。若已完成同样的处理,则使对于该时刻残留的逻辑地址的条ST#、数据块的位置BLK#和时间印记TS#的内容变成变换映象32的登录内容(步骤9)。

        即,对于已取出的逻辑地址标记内的全部逻辑地址,只有当逻辑地址标记的时间印记比变换映象32内表格的时间印记大时,才将与该条号对应的块号登录在表格中。若对全部条进行该调查,则可以作成只指示有效块的变换映象。进而,每当向盘装置2写入条时,通过对该逻辑地址标记也进行同样的处理,只将始终有效的块登录在该变换映象32上。此外,通过在盘存取的空隙时间内将各条的逻辑地址标记与变换映象进行比较检查,即使因存储器故障使该变换映象出现不正确的值,也能够检测出来并加以改正。

        如上所述,作成变换映象的主要的处理是逻辑地址标记的检查。所以,在象大容量盘装置那样逻辑地址标记数多时,作成电源故障和系统启动时的变换映象需要很长时间。特别是,如图2所示,当逻辑地址标记块集中在1台盘装置24上时,在系统启动时存取操作集中在该盘上进行,不能平行地进行逻辑地址标记的调查。因此,如图10所示,通过将根据条来存储逻辑地址标记的盘装置分散成4台平行地进行逻辑地址标记的调查,可以使作成该映象的时间缩短到1/4。

        此外,通过将盘装置2的存储区域分割成多个段进行管理,可以削减作成变换映象所必需的逻辑地址标记的检查个数。图11示出段分割方式下盘装置的存储区域的结构。如图所示,盘装置的存储区域以条为单位被分割成段管理信息部分(阴影部分)和4个段。在此,所谓段是指写入缓冲器数据的一并写入和重新装入处理的盘写入集中在某一时间进行的单位区域。例如,控制空闲区的选择,使得在段2是盘写入的对象的期间内不向段1、3、4进行写入。

        此外,当某段的空闲区少、将盘写入切换到其它段时,将段管理信息保存在盘装置上。段管理信息如图12所示那样由段号和切换时的变换映象构成。所谓段号是指切换目标段的段号码,所谓切换时的变换映象是指段切换时刻的易失性存储器3上的变换映象的状态。

        再有,每当段切换时切换时的变换映象不是全都写在上面,只要回写到当前段中已写入的逻辑地址的输入项目中即可。因此,通过在上一次段切换时记住时间印记并与变换映象的时间印记比较,就可以判定写入到当前段中的逻辑地址。

        在该段分割方式中,在段切换时保存了段管理信息。因此,从段管理信息读出段切换时的变换映象,然后,只要检查由段管理信息的段号所指定的段的逻辑地址标记,就能够再现与检查全部逻辑地址标记的情况相同的变换映象,所以,利用该方式所必需的逻辑地址标记的检查数只要检查1个段的即可,在本例中作成变换映象所要的时间缩短到1/4。

        进而,在非易失性存储器4上准备好与段内全部条对应的位映象,在段切换时清除该位映象,在一并写入和重新装入时将与已写入的条对应的比特置位成“1”。由此,在段切换之后只是有变化的条其位映象变成“1”。因此,在作成变换映象时,通过参照该位映象、只检查有变化的条的逻辑地址标记,可使检查数进一步减少,使作成变换映象所要的时间进一步缩短。

        通常逻辑地址标记的长度是512~1024字节。盘的顺序存取和随机存取大约有50倍的性能差。在图2所示的方式中,逻辑地址标记的信息对各个条是分散存在的,所以,进行的是在变换映象作成时很耗费时间的随机存取。因此,如图13所示那样,准备了专用标记区(在段分割的情况下,是对每个段准备的),该标记区只连续地存储逻辑地址标记,能以高到50倍速度的顺序存取来读出逻辑地址标记。

        而且,在将主机来的数据一并写入或重新装入数据的写入时,不仅将逻辑地址标记写入空闲区还写入对应的专用标记区。在该方法中,在图2的方式下,每一个条有4次盘写入,由于向专用区写入逻辑地址而增加1次。但是,作成变换映象的速度却提高了50倍,所以,当在盘装置的建立时间上出问题时,它是非常有效的方法。为了使向专用标记区的写入时间最少,使专用标记区如图13所示那样成为对象区域的中心,减少搜索时间。此外,盘装置2是以扇区(512字节等)为单位写入的,专用标记区内的逻辑地址标记没有必要以扇区为单位进行分配并在逻辑地址标记写入时读出。

        最后,就时间印记进行说明。如图1所示,因时间印记存储在易失性存储器3上,故由于电源故障等原因,易失性存储器3上的时间印记会丢失。因此,与变换映象一样,只在系统启动时调查全部条的逻辑地址标记,使最大的时间印记31的下一个值置成易失性存储器3上的时间印记31。再有,在作成变换映象的说明中所述的缩短时间的方法照样可以适用于时间印记的再生。

        此外,每当写入盘装置时时间印记31加1,只在判定盘上的写入顺序时才使用。作为例子,说明时间印记31由24位计数器构成时的情况。在24位计数器中,计数器在16M次写入后完成1个循环而回到0。因此,一般来说,以有效时间印记的最小值为基准,将比它小的值加16M后进行比较到定。该最小值也是一样,只在系统启动时才调查全部条的逻辑地址标记并将它求出来。

        但是,可以使用该方法的前提是,时间印记的最大值没有超过最小值,即时间印记最大值和最小值的差是在能用24位表示的范围内。因此,时间印记31必需在1个循环前更新全部条并重新更新时间印记值。因此,即使无效块少也控制成将在预先设定的写入次数间没有被更新的条作为重新装入的对象选出,或者只改写将无效块的逻辑地址作为NULL地址的条的逻辑地址标记。使用NULL地址的方法因为是改写逻辑地址标记块故与重新装入相比是非常简单的处理。

        再有,在上述实施例中,对于无效块的判定,只说明了将2个条ST1、ST2的逻辑地址标记相互比较来进行判定的方法,但要调查全部无效块则必需调查2个条之间的全部组合。然而,如果有变换映象,则可以对逻辑地址标记内的各逻辑地址将指示有效数据的变换映象的时间印记与该条的时间印记进行比较,将时间印记值小的块判定为无效块。

        图1已示出将数据分散在多个盘上的RAIDO的结构,但本发明的方式也可以适用于使用了奇偶检验的冗余性盘结构(RAID4、5)的情况。图14示出使用本发明构成的RAID5结构的盘存储装置的原理图。这是在图1的结构之上添加了冗余性盘25的结构,控制装置1、盘装置2(21、22、23、24)、易失性存储器3、非易失性存储器4、时间印记31、写入缓冲器41和缓冲器管理表42具有与图1所示的实施例相同的功能。

        对于图14所示的实施例的操作,着眼于与图1所示的实施例的差别进行说明。在写入处理中,在主机来的写入数据以只比1条少1个块的数(K×4-1)存储于写入缓冲器时,当控制装置1将这些数据写入盘装置21~25中。这时,直到从存储在缓冲器管理表42的各块的逻辑地址和易失性存储器3上的时间印记31作成逻辑地址标记块作为最后的写入块为止,与图1所示的实施例相同。

        然后,根据附加了该逻辑地址标记块的1个条的数据进行每一个条单元的异或逻辑(XOR)运算,作成奇偶性的条单元。而且,将该带奇偶的条单元的数据整理后同时写入盘装置21~25的空闲区内。此外,时间印记31的值在写入结束时刻加1。这样,将很多零碎的写入归纳成1次,而且计算奇偶性时不必读出旧数据和旧的奇偶性块,所以,能够进一步减少存取次数。再有,条的重新装入处理的数据写入也一样,在作成带奇偶的条之后写入盘装置2。该状态示于图15。

        在奇偶RAID的结构中,即使1台盘装置发生故障,通过计算发生故障的盘的数据和构成条的其他盘的数据的奇偶异或(XOR),可以再现发生故障的盘的数据,可以继续进行作为盘存储装置的服务。但是,当系统启动时1个盘发生故障时,因为还要读出没有存储逻辑地址标记的盘装置的数据并在再生逻辑地址标记之后进行检查,所以,作成变换映象很费时间,大大地增加了系统启动所需要的时间。

        因此,如图16所示,控制成将构成条的数据块减少1个,把相同的逻辑地址标记写入2个盘装置。由此,即使1个盘装置发生故障,因为在作成变换映象时可以读出另一个盘装置的逻辑地址标记,所以,能够避免大幅度增加系统启动所要的时间。

        此外,在使用专用标记区来高速地作成变换映象时,如图17所示那样,通过控制专用标记区的逻辑地址标记的分配以便使在专用标记区中存储逻辑地址标记的盘装置和存储在条中的盘装置不同,使条内的逻辑地址标记只要1个就行了。

        再有,在向专用标记区写入逻辑地址标记时,若利用奇偶校验去对付盘故障,过去增加1次写入即可,但在这里必需要2次写入和2次读出,这样,大大地增加了一并写入和条的重新装入时的额外的盘写入时间。因此,该专用区的信息不能用奇偶校验来对付故障。该信息是用于使变换映象高速化,存储在有故障的盘装置的专用标记区中的逻辑地址标记也可以看作是条中逻辑地址标记(随机存取时),所以没有问题。此外,因用随机存取检查的逻辑地址标记只有1/5,故对于高速八成变换映象很有效果。

        本发明可以适用于所有的不改写旧数据区、预先保存更新的数据归纳起来写入盘装置内事先准备好的另外的空闲区中的方法有效的领域。即,主要可以适用于盘装置和RAID结构的存储装置,所述盘装置不仅包括磁盘还包括在顺序写入和随机写入方面性能很不相同的光磁盘等,所述存储装置是具有在更新小块时需要2次读出和2次写入的奇偶校验的冗余性的RAID结构的存储装置。

        如上所述,若按照本发明,因原理上无论何时都可以再生变换映象,故不必为了防备电源故障而将变换映象保存在非易失性存储器中。因此,可以构筑非常便宜的盘存储装置。此外,当因硬件故障而使非易失性存储器中的内容丢失时,以往的方法因不能再生变换映象故盘上的数据全部丢失,而现在不同,只是保存在写入缓冲器中的最近的写入数据才丢失,而盘上绝大部分数据仍然完好地保留下来了。因此,大大地提高了对抗故障的能力。进而,因从电源故障恢复过来的处理和通常的系统启动处理完全相同,故不需要系统终结和恢复时的特别处理,从而降低了开发成本。

        此外,系统启动时的处理,也因能够通过将逻辑地址标记分散配置在多个盘装置中、设置可以顺序存取逻辑地址标记的专用标记区和对存储区的段分割管理等能实现高速化,故能够将系统启动时的等待时间控制在实际使用时不会发生问题的范围内。特别是,在奇偶性的RAID结构中,通过将逻辑地址标记记录在2个盘装置中,即使1个盘装置发生故障也可以不增加系统启动的时间。

    关 键  词:
    盘存 装置 数据 更新 方法 控制
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:盘存储装置的数据更新方法和盘存储控制装置.pdf
    链接地址:https://www.zhuanlichaxun.net/p-648987.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1