CN1208891A - 盘存储装置的数据更新方法和盘存储控制装置 - Google Patents
盘存储装置的数据更新方法和盘存储控制装置 Download PDFInfo
- Publication number
- CN1208891A CN1208891A CN98116228A CN98116228A CN1208891A CN 1208891 A CN1208891 A CN 1208891A CN 98116228 A CN98116228 A CN 98116228A CN 98116228 A CN98116228 A CN 98116228A CN 1208891 A CN1208891 A CN 1208891A
- Authority
- CN
- China
- Prior art keywords
- data
- logical address
- block
- mentioned
- logical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1028—Distributed, i.e. distributed RAID systems with parity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Abstract
本发明提出一种原理上不需要间接变换映象、便宜且高速的盘存储装置的数据更新方法,并构成一种实现该方法的盘存储控制系统。在由N台盘装置构成的盘存储装置中,备有具有与N×K(整数)个逻辑块相当的容量的写入缓冲器,把应更新数据的逻辑块存储在该写入缓冲器中,控制装置1使该逻辑块的更新延迟到该已存储的逻辑块达到N×K-1个为止,把N×K-1个逻辑块并加上逻辑地址标记块的N×K个逻辑块依次连续写入N台盘装置上的空闲区域中。
Description
本发明涉及使用了RAID(Redundant Array of Inexpensive Disk廉价盘的冗余阵列)等多台盘存储装置的盘阵列存储装置,特别是涉及对盘阵列存储装置进行数据存储和读出的方法及其所用的控制装置。在美国专利第5,124,987号、特开平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的内容、即数据,而是保持旧数据不变,将该更新的数据块整理后写入盘装置181~183内的预先准备好的另外的空区域、即物理地址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台盘装置、根据主机的命令向上述N台盘装置写入数据或从上述N台盘装置读出数据的控制装置、易失性存储器和非易失性存储器构成的盘存储装置,该易失性存储器与该控制装置连接,并包含时间印记(stamp)存储部和变换映象存储部,该非易失性存储器与该控制装置连接,并包含具有与N×K(整数)个逻辑块的数据相当的存储容量的写入缓冲存储部和缓冲管理表存储部,将应更新的逻辑块的数据存储到上述写入缓冲器中,直到逻辑块个数达到N×K-1块为止,同时生成包含这些各逻辑块的逻辑地址和存储在时间印记存储部中的时间印记的逻辑地址标记(tag)块,将它附加在上述N×K-1个逻辑块上,总共是N×K个逻辑块,依次将它们连续地写入上述N台盘装置上的与分别保持上述应被更新的数据的逻辑地址区不同的别的空闲地址区中。
本发明的盘存储装置的数据更新方法的特征还在于,上述写入是在横跨多个盘存储装置的条形区中进行写入。
本发明的盘存储装置的数据更新方法的特征还在于,每当将上述写入缓冲器中存储的N×K个逻辑块写入上述N台盘装置时,使上述时间印记存储部递增。
本发明的盘存储装置的数据更新方法的特征还在于,读出记录在上述盘装置的各条形区的逻辑地址标记块,通过检查该逻辑地址标记块检测出与各逻辑地址对应的盘装置上的物理存储位置,对检测出的存储位置进行写入或读出。
本发明的盘存储装置的数据更新方法的特征还在于,在上述逻辑地址标记块的检查中,当有多个包含相同逻辑地址的条形区时,将上述逻辑地址标记块内的时间印记是最新的一条逻辑地址块作为有效块,把其它条形区的具有相同逻辑地址的块判定为无效块。
本发明的盘存储装置的数据更新方法的特征还在于,在上述逻辑地址标记块的检查中,寻找最大时间印记值,再生由下一次写入所附加的时间印记。
本发明的盘存储装置的数据更新方法的特征还在于,在上述逻辑地址标记块的检查中,寻找最小时间印记值,求出作为写入顺序判定基准的时间印记值。
本发明的盘存储装置的数据更新方法的特征还在于,读出存储在上述盘存储装置中的多个条形区的逻辑块的数据,通过检查上述逻辑地址标记块,只将各条形区内的有效逻辑块送到上述写入缓冲器,生成与这些有效逻辑块对应的新的逻辑地址标记块,将由已送入上述写入缓冲器的有效数据和新生成的逻辑地址标记构成的1条逻辑决依次写入与上述读出的多个条形区不同的另一个空闲区域中,由此,在上述盘存储装置上形成能够连续地写入逻辑块的空闲区域。
本发明的盘存储装置的数据更新方法的特征还在于,在生成上述新的逻辑地址标记块时,当有效块的个数不到N×K-1个时,对与不存储新的逻辑地址标记块内的数据的块对应的逻辑地址设定无效地址。
本发明的盘存储装置的数据更新方法的特征还在于,在把数据写入上述盘装置的空闲区域之后,在启动上述盘装置时检查上述多个条形区的逻辑地址标记块,据此,将与判断为有效的各逻辑地址对应的条号、条内的块号和有效数据的时间印记记录到上述变换映象中。
本发明的盘存储装置的数据更新方法的特征还在于,在作成上述变换映象的记录之后,在向盘装置进行的存取少的时间段内读出各条的逻辑地址标记块并与变换映象进行比较修正。
本发明的盘存储装置的数据更新方法的特征还在于,根据条对记录逻辑地址标记块的盘装置进行分散配置,在检查逻辑地址标记块时,将不同盘装置的逻辑地址标记块并列地读出。
本发明的盘存储装置的数据更新方法的特征还在于,上述逻辑地址标记与逻辑块数据一起依次写入各条形区,同时,还并列地写入专用标记区,在检查上述逻辑地址标记块时依次读该专用标记区并进行检查。
本发明的盘存储装置的数据更新方法的特征还在于,将盘装置上的存储区分割成以多个条为单位的多个段,控制成在一定时间内将条的数据只能写入1个段内,同时,在切换写入对象段时,将该时刻的上述变换映象的内容和切换目标段的号码记录在盘装置内,在作成以后的变换映象时,只检查上述段切换时的变换映象的内容和写入已记录在上述盘装置中的段号码内的条形区域的逻辑地址标记块。
本发明的盘存储装置的数据更新方法的特征还在于,在上述非易失性存储器上准备与上述段内的各条对应的位映象,在切换写入对象段时,清除该位映象,在向条形区写入数据时,将与已写好的条形区对应的位进行置位,在作成变换映象时,只检查在盘装置的段切换时的变换映象和已记录在上述盘装置的段号的逻辑地址标记中已将上述位映象置位的标记。
本发明的盘存储装置的数据更新方法的特征还在于,为了寻找时间印记的最小值,即使对无效块少的条也定期进行读出,只将有效块送人上述写入缓冲器,从对应的逻辑标记块的逻辑地址和新的时间印记生成逻辑地址标记块,把由写入缓冲器的有效数据和已生成的逻辑地址标记块构成的条依次写入与保存有已读出的条的区域不同的另外的空闲区中。
本发明的盘存储装置的数据更新方法的特征还在于,为了寻找时间印记的最小值,对无效块少的条定期地只读出逻辑地址标记块,生成附加了已把无效块的逻辑地址作为NULL地址的新的时间印记的逻辑地址标记块,把在这里生成的逻辑地址标记块写在已读出的逻辑地址标记块的上面。
本发明的盘存储装置的数据更新方法的特征还在于,在变换映象作成后,和与盘装置上的逻辑地址标记块的时间印记对应的变换映象的时间印记进行比较,判定无效块。
本发明的盘存储装置的数据更新方法的特征还在于,在由N台盘装置构成的盘存储装置中,备有具有相当于(N-1)×K个逻辑块的容量的写入缓冲器,把应更新数据的逻辑块存储在该写入缓冲器中,使该逻辑块的更新延迟到该已存储的逻辑块达到所选择的个数,生成由上述写入缓冲器存储的各逻辑块的逻辑地址构成的逻辑地址标记块,由在所选择的个数的逻辑块中附加了上述逻辑地址标记块的(N-1)×K个数据逻辑块生成K个奇偶块,通过连续的写入工作将在该数据逻辑块中附加了奇偶块的N×K个逻辑块依次写入N台盘装置上的与保存了应被更新的数据的区域不同的另外的空闲区域中。
本发明的盘存储装置的数据更新方法的特征还在于,使上述选择的个数为(N-1)×K-1,以便在1个盘装置上记录逻辑地址标记块。
本发明的盘存储装置的数据更新方法的特征还在于,使上述选择的个数为(N-1)×K-2,分配2个逻辑地址标记块,以便用1个奇偶条在2个盘装置上记录逻辑地址标记块。
本发明的盘存储装置的数据更新方法的特征还在于,在检查记录在盘装置上的逻辑地址标记块方面,除了奇偶条单位的依次写入之外,还将该逻辑地址标记写入集中了逻辑地址标记的专用标记区,虽不用奇偶保护该专用标记区的写入数据,但使奇偶条内的记录逻辑地址标记的盘装置与记录专用标记区的逻辑地址标记的盘装置不同。
本发明的盘存储控制装置的特征在于,具有由N台盘装置、根据主机的命令向上述N台盘装置写入数据或从上述N台盘装置读出数据的控制装置、易失性存储器和非易失性存储器构成的盘存储装置,该易失性存储器与该控制装置连接,并包含时间印记存储部和变换映象存储部,该非易失性存储器与该控制装置连接,并包含具有与N×K(整数)个逻辑块的数据相当的存储容量的写入缓冲存储部和缓冲管理表存储部,将应更新的逻辑块的数据存储到上述写入缓冲器中,直到逻辑块个数达到N×K-1块为止,同时生成包含这些各逻辑块的逻辑地址和存储在时间印记存储部中的时间印记的逻辑地址标记(tag)块,将它附加在上述N×K-1个逻辑块上,总共是N×K个逻辑块,依次将它们连续地写入上述N台盘装置上的与分别保持上述应被更新的数据的逻辑地址区不同的别的空闲地址区中。
本发明的盘存储控制装置的特征在于,还具有存储维持写入的时间顺序的时间印记的易失性存储器、将应写入到盘装置上的数据变成记录表格的形式后保存的上述写入缓冲器和存储写入缓冲器内的空闲区域及保存所保存的写入数据的逻辑地址信息的缓冲器管理信息的非易失性存储器。
本发明的盘存储控制装置的特征在于,还具备由N台盘装置构成的盘存储装置、具有与(N-1)×K个逻辑块相当的容量的写入缓冲器和控制装置,所述控制装置把应更新数据的逻辑块存储在该写入缓冲器中,使该逻辑块的更新延迟到该已存储的逻辑块达到所选择的个数为止,生成由对于上述写入缓冲器中已存储的各逻辑块的逻辑地址构成的逻辑地址标记块,从在选择个数的逻辑块中附加了上述逻辑地址标记块的(N-1)×K个数据逻辑块生成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内的到块位置B7为止的区域中,B0、B1、…B7的逻辑地址是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个块的数目的写入缓冲器41中、即存储在(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#。因此,若给出逻辑地址LO~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已示出将数据分散在多个盘上的RAID0的结构,但本发明的方式也可以适用于使用了奇偶检验的冗余性盘结构(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个盘装置发生故障也可以不增加系统启动的时间。
Claims (26)
1.一种盘存储装置的数据更新方法,该盘存储装置具有N台盘装置(2)和根据主机(5)的命令向上述N台盘装置(2)写入数据或从上述N台盘装置(2)读出数据的控制装置(1),其特征在于:上述盘存储装置包括与上述控制装置(1)连接的易失性存储装置(3)和非易失性存储器(4),易失性存储装置(3)包含时间印记存储部(31)和变换映象存储部(32),非易失性存储器(4)包含具有与N×K(整数)个逻辑块的数据相当的存储容量的写入缓冲存储部(41)和缓冲管理表存储部(42),将应更新的逻辑块的数据存储到上述写入缓冲存储部(41)中,直到逻辑块个数达到N×K-1块为止,同时生成包含对于这些各逻辑块的逻辑地址和存储在时间印记存储部(31)中的时间印记的逻辑地址标记块,将它附加在上述N×K-1个逻辑块上,总共是N×K个逻辑块,依次将它们连续地写入上述N台盘装置(2)上的与分别保持上述应被更新的数据的逻辑地址区不同的别的空闲地址区中。
2.如权利要求1所述的盘存储装置的数据更新方法,其特征在于:上述写入是在横跨多个盘存储装置的条形区中进行写入。
3.如权利要求2所述的盘存储装置的数据更新方法,其特征在于:每当将上述写入缓冲器(41)中存储的N×K个逻辑块写入上述N台盘装置(2)时,使上述时间印记存储部(31)的值递增。
4.如权利要求3所述的盘存储装置的数据更新方法,其特征在于:读出记录在上述盘装置的各条形区的逻辑地址标记块,通过检查该逻辑地址标记块检测出与各逻辑地址对应的盘装置上的物理存储位置,对检测出的存储位置进行写入或读出。
5.如权利要求4所述的盘存储装置的数据更新方法,其特征在于:在上述逻辑地址标记块的检查中,当有多个包含相同逻辑地址的条形区时,将上述逻辑地址标记块内的时间印记是最新的一条逻辑地址块作为有效块,把其它条形区的具有相同逻辑地址的块判定为无效块。
6.如权利要求4所述的盘存储装置的数据更新方法,其特征在于:在上述逻辑地址标记块的检查中,寻找最大时间印记值,再生由下一次写入所附加的时间印记。
7.如权利要求4所述的盘存储装置的数据更新方法,其特征在于:在上述逻辑地址标记块的检查中,寻找最小时间印记值,求出作为写入顺序判定基准的时间印记值。
8.如权利要求5所述的盘存储装置的数据更新方法,其特征还在于:读出存储在上述盘存储装置中的多个条形区的逻辑块的数据,通过检查上述逻辑地址标记块,只将各条形区内的有效逻辑块送到上述写入缓冲器,生成与这些有效逻辑块对应的新的逻辑地址标记块,将由已送入上述写入缓冲存储部(41)的有效数据和新生成的逻辑地址标记构成的1条逻辑块依次写入与上述读出的多个条形区不同的另一个空闲区域中,由此,在上述盘存储装置上形成能够连续地写入逻辑块的空闲区域。
9.如权利要求8所述的盘存储装置的数据更新方法,其特征在于:在生成上述新的逻辑地址标记块时,当有效块的个数不到N×K-1个时,对与不存储新的逻辑地址标记块内的数据的块对应的逻辑地址设定无效地址。
10.如权利要求8所述的盘存储装置的数据更新方法,其特征在于:在把数据写入上述盘装置的空闲区域之后,在启动上述盘装置时检查上述多个条形区的逻辑地址标记块,据此,将与判断为有效的各逻辑地址对应的条号、条内的块号和有效数据的时间印记记录到上述变换映象中。
11.如权利要求10所述的盘存储装置的数据更新方法,其特征在于:在作成上述变换映象的记录之后,在向盘装置进行的存取少的时间段内读出各条的逻辑地址标记块并与变换映象进行比较修正。
12.如权利要求4所述的盘存储装置的数据更新方法,其特征在于:根据条对记录逻辑地址标记块的盘装置进行分散配置,在检查逻辑地址标记块时,将不同盘装置的逻辑地址标记块并列地读出。
13.如权利要求4所述的盘存储装置的数据更新方法,其特征在于:上述逻辑地址标记与逻辑块数据一起依次写入各条形区,同时,还并列地写入专用标记区,在检查上述逻辑地址标记块时依次读该专用标记区并进行检查。
14.如权利要求4所述的盘存储装置的数据更新方法,其特征在于:将盘装置上的存储区分割成以多个条为单位的多个段,控制成在一定时间内将条的数据只能写入1个段内,同时,在切换写入对象段时,将该时刻的上述变换映象(32)的内容和切换目标段的号码记录在盘装置内,在作成以后的变换映象(32)时,只检查上述段切换时的变换映象的内容和写入已记录在上述盘装置中的段号码内的条形区域的逻辑地址标记块。
15.如权利要求4所述的盘存储装置的数据更新方法,其特征在于:在上述非易失性存储器上准备与上述段内的各条对应的位映象,在切换写入对象段时,清除该位映象,在向条形区写入数据时,将与已写好的条形区对应的位进行置位,在作成变换映象(32)时,只检查在盘装置的段切换时的变换映象和已记录在上述盘装置(2)的段号的逻辑地址标记中已将上述位映象置位的逻辑地址标记。
16.如权利要求7所述的盘存储装置的数据更新方法,其特征在于:为了寻找时间印记的最小值,即使对无效块少的条也定期进行读出,只将有效块送人上述写入缓冲器,从对应的逻辑标记块的逻辑地址和新的时间印记生成逻辑地址标记块,把由写入缓冲器的有效数据和已生成的逻辑地址标记块构成的条依次写入与保存有已读出的条的区域不同的另外的空闲区中。
17.如权利要求4所述的盘存储装置的数据更新方法,其特征在于:为了寻找时间印记的最小值,对无效块少的条定期地只读出逻辑地址标记块,生成附加了已把无效块的逻辑地址作为NULL地址的新的时间印记的逻辑地址标记块,把在这里生成的逻辑地址标记块写在已读出的逻辑地址标记块的上面。
18.如权利要求10所述的盘存储装置的数据更新方法,其特征在于:在变换映象(32)作成后,和与盘装置上的逻辑地址标记块的时间印记对应的变换映象(32)的时间印记进行比较,判定无效块。
19.一种由N台盘装置(2)构成的盘存储装置的数据更新方法,其特征在于:上述盘存储装置(2)备有具有相当于(N-1)×K个逻辑块的容量的写入缓冲器(41),把应更新数据的逻辑块存储在该写入缓冲器(41)中,使该逻辑块的更新延迟到该已存储的逻辑块达到所选择的个数,生成由对于上述写入缓冲器(41)存储的各逻辑块的逻辑地址构成的逻辑地址标记块,由在所选择的个数的逻辑块中附加了上述逻辑地址标记块的(N-1)×K个数据逻辑块生成K个奇偶块,通过连续的写入工作将在该数据逻辑块中附加了奇偶块的N×K个逻辑块依次写入N台盘装置上(2)的与保存了应被更新的数据的区域不同的另外的空闲区域中。
20.如权利要求19所述的盘存储装置的数据更新方法,其特征在于:使上述选择的个数为(N-1)×K-1,以便在1个盘装置上记录逻辑地址标记块。
21.如权利要求19所述的盘存储装置的数据更新方法,其特征在于:使上述选择的个数为(N-1)×K-2,分配2个逻辑地址标记块,以便用1个奇偶条在2个盘装置上记录逻辑地址标记块。
22.如权利要求20所述的盘存储装置的数据更新方法,其特征在于:在检查记录在盘装置上的逻辑地址标记块方面,除了奇偶条单位的依次写入之外,还将该逻辑地址标记写入集中了逻辑地址标记的专用标记区,虽不用奇偶保护该专用标记区的写入数据,但使奇偶条内的记录逻辑地址标记的盘装置与记录专用标记区的逻辑地址标记的盘装置不同。
23.一种盘存储控制装置,具有N台盘装置(2)和根据主机(5)的命令向上述N台盘装置(2)写入数据或从上述N台盘装置(2)读出数据的控制装置(1),其特征在于:具有与该盘存储控制装置的上述控制装置(1)连接的易失性存储装置(3)和与上述控制装置(1)连接的非易失性存储器(4),易失性存储装置(3)包含时间印记存储部(31)和变换映象存储部(32),非易失性存储器(4)包含具有与N×K(整数)个逻辑块的数据相当的存储容量的写入缓冲存储部(41)和缓冲管理表存储部(42),将应更新的逻辑块的数据存储到上述写入缓冲存储部(41)中,直到逻辑块个数达到N×K-1块为止,同时生成包含对于这些各逻辑块的逻辑地址和存储在时间印记存储部(31)中的时间印记的逻辑地址标记块,将它附加在上述N×K-1个逻辑块上,总共是N×K个逻辑块,依次将它们连续地写入上述N台盘装置(2)上的与分别保持上述应被更新的数据的逻辑地址区不同的别的空闲地址区中。
24.如权利要求23所述的盘存储控制装置,其特征在于:具有存储维持写入的时间顺序的时间印记的易失性存储器(3)、将应写入到盘装置上的数据变成记录表格的形式后保存的上述写入缓冲器(41)和存储写入缓冲器内的空闲区域及保存所保存的写入数据的逻辑地址信息的缓冲器管理信息的非易失性存储器(4)。
25.一种盘存储控制装置,该装置具有由N台盘装置(2)构成的盘存储装置,其特征在于:具有与(N-1)×K个逻辑块相当的容量的写入缓冲器(41)和控制装置,所述控制装置把应更新数据的逻辑块存储在该写入缓冲器(41)中,使该逻辑块的更新延迟直到该已存储的逻辑块达到所选择的个数为止,生成由对于上述写入缓冲器(41)中已存储的各逻辑块的逻辑地址构成的逻辑地址标记块,从在选择个数的逻辑块中附加了上述逻辑地址标记块的(N-1)×K个数据逻辑块生成K个奇偶块,通过连续的写入工作将在该数据逻辑块附加了奇偶的N×K个逻辑块依次写入N台盘装置上的与保存了应被更新的数据的区域不同的另外的空闲区域中。
26.如权利要求25所述的盘存储控制装置,其特征在于:为了采用使用了奇偶检验的冗余性的盘结构而附加冗余盘装置,进而还具有存储维持写入的时间顺序的时间印记的易失性存储器(3)、将应写入到盘装置上的数据变成记录表格的形式后保存的上述写入缓冲器(41)和存储写入缓冲器内的空闲区域及保存所保存的写入数据的逻辑地址信息的缓冲器管理信息的非易失性存储器(4)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP214656/97 | 1997-08-08 | ||
JP9214656A JPH1153235A (ja) | 1997-08-08 | 1997-08-08 | ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム |
JP214656/1997 | 1997-08-08 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011255730A Division CN1194298C (zh) | 1997-08-08 | 1998-08-07 | 盘存储装置的数据更新方法和盘存储控制装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1208891A true CN1208891A (zh) | 1999-02-24 |
CN1174318C CN1174318C (zh) | 2004-11-03 |
Family
ID=16659392
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB981162282A Expired - Fee Related CN1174318C (zh) | 1997-08-08 | 1998-08-07 | 盘存储装置的数据更新方法和盘存储控制装置 |
CNB011255730A Expired - Fee Related CN1194298C (zh) | 1997-08-08 | 1998-08-07 | 盘存储装置的数据更新方法和盘存储控制装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011255730A Expired - Fee Related CN1194298C (zh) | 1997-08-08 | 1998-08-07 | 盘存储装置的数据更新方法和盘存储控制装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6219752B1 (zh) |
EP (1) | EP0898228B1 (zh) |
JP (1) | JPH1153235A (zh) |
KR (1) | KR100310896B1 (zh) |
CN (2) | CN1174318C (zh) |
DE (1) | DE69831455T2 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1306416C (zh) * | 2001-08-10 | 2007-03-21 | 朴宗元 | 防冲突储存装置以及采用该装置的地址运算与数据选路方法 |
CN100342455C (zh) * | 1999-12-03 | 2007-10-10 | 恩益禧电子股份有限公司 | 半导体存储装置及其测试方法 |
CN100412823C (zh) * | 2004-11-18 | 2008-08-20 | 国际商业机器公司 | 存储系统中元数据道的原子更新的管理方法和系统 |
CN100426255C (zh) * | 2000-02-28 | 2008-10-15 | 夏普公司 | 文件管理方法 |
US7734153B1 (en) | 1999-10-08 | 2010-06-08 | Samsung Electronics Co., Ltd. | Video stream processing method for time-delayed viewing |
CN105393207A (zh) * | 2014-06-11 | 2016-03-09 | 株式会社东芝 | 共享贮存系统、以及控制向贮存装置的访问的方法 |
CN107436735A (zh) * | 2017-07-28 | 2017-12-05 | 郑州云海信息技术有限公司 | 一种分布式文件系统中存储单元状态更新方法 |
US11329803B2 (en) | 2020-09-29 | 2022-05-10 | Amazon Technologies, Inc. | Redundancy controls in convergent encryption using dynamic salt values |
US11582025B2 (en) | 2020-09-29 | 2023-02-14 | Amazon Technologies, Inc. | Efficient deduplication using block-based convergent encryption |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3233079B2 (ja) | 1997-09-30 | 2001-11-26 | ソニー株式会社 | データ処理システム及びデータ処理方法 |
US6532517B1 (en) * | 1999-04-13 | 2003-03-11 | Webtv Networks, Inc. | System and method for reducing disk chatter from disk-based data storage systems |
US6609176B1 (en) | 1999-12-27 | 2003-08-19 | Kabushiki Kaisha Toshiba | Disk control system and data rearrangement method |
JP4131894B2 (ja) | 2000-02-29 | 2008-08-13 | 株式会社東芝 | ランダムディスクライトに好適なディスク制御機構 |
SG99941A1 (en) * | 2000-08-30 | 2003-11-27 | Ibm | Transaction support on logical disks |
US6871271B2 (en) * | 2000-12-21 | 2005-03-22 | Emc Corporation | Incrementally restoring a mass storage device to a prior state |
JP3592640B2 (ja) | 2001-01-09 | 2004-11-24 | 株式会社東芝 | ディスク制御システムおよびディスク制御方法 |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
JP3682256B2 (ja) * | 2001-11-30 | 2005-08-10 | 株式会社東芝 | ディスクアレイ装置及び同装置におけるパリティ処理方法 |
JP3579389B2 (ja) * | 2001-11-30 | 2004-10-20 | 株式会社東芝 | ディスクアレイ装置及び同装置におけるデータ復旧方法 |
JP3590381B2 (ja) * | 2001-12-18 | 2004-11-17 | 株式会社東芝 | ディスクアレイ装置及び同装置におけるデータ更新方法 |
JP3526452B2 (ja) * | 2001-12-18 | 2004-05-17 | 株式会社東芝 | ディスクアレイ装置及びデータバックアップ方法 |
JP3702231B2 (ja) * | 2002-01-31 | 2005-10-05 | 株式会社東芝 | ディスクアレイ装置及び同装置における動的記憶容量拡張方法 |
EP1336967A1 (en) * | 2002-02-15 | 2003-08-20 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for addressing data segments on a recording medium for replay |
US20040003172A1 (en) * | 2002-07-01 | 2004-01-01 | Hui Su | Fast disc write mechanism in hard disc drives |
US7069465B2 (en) * | 2002-07-26 | 2006-06-27 | International Business Machines Corporation | Method and apparatus for reliable failover involving incomplete raid disk writes in a clustering system |
JP3785127B2 (ja) * | 2002-09-11 | 2006-06-14 | 株式会社東芝 | ディスクアレイ制御装置及びディスクアレイ制御装置におけるデータ書き込み方法 |
JP4651913B2 (ja) * | 2003-02-17 | 2011-03-16 | 株式会社日立製作所 | 記憶装置システム |
JP2004348464A (ja) * | 2003-05-22 | 2004-12-09 | Hitachi Ltd | ストレージ装置、及び通信信号の整形回路 |
JP4060235B2 (ja) * | 2003-05-22 | 2008-03-12 | 株式会社日立製作所 | ディスクアレイ装置及びディスクアレイ装置の制御方法 |
US8301809B2 (en) * | 2003-07-02 | 2012-10-30 | Infortrend Technology, Inc. | Storage virtualization computer system and external controller thereof |
US7509473B2 (en) * | 2003-08-27 | 2009-03-24 | Adaptec, Inc. | Segmented storage system mapping |
US7827362B2 (en) | 2004-08-24 | 2010-11-02 | Symantec Corporation | Systems, apparatus, and methods for processing I/O requests |
US7730222B2 (en) | 2004-08-24 | 2010-06-01 | Symantec Operating System | Processing storage-related I/O requests using binary tree data structures |
US7287133B2 (en) | 2004-08-24 | 2007-10-23 | Symantec Operating Corporation | Systems and methods for providing a modification history for a location within a data store |
US7577807B2 (en) * | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Methods and devices for restoring a portion of a data store |
US7991748B2 (en) | 2003-09-23 | 2011-08-02 | Symantec Corporation | Virtual data store creation and use |
US7904428B2 (en) | 2003-09-23 | 2011-03-08 | Symantec Corporation | Methods and apparatus for recording write requests directed to a data store |
US7725760B2 (en) | 2003-09-23 | 2010-05-25 | Symantec Operating Corporation | Data storage system |
US7577806B2 (en) | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Systems and methods for time dependent data storage and recovery |
JP4307202B2 (ja) * | 2003-09-29 | 2009-08-05 | 株式会社日立製作所 | 記憶システム及び記憶制御装置 |
US7080768B2 (en) * | 2003-11-10 | 2006-07-25 | Worktools, Inc. | Spring energized desktop stapler |
JP4156499B2 (ja) * | 2003-11-28 | 2008-09-24 | 株式会社日立製作所 | ディスクアレイ装置 |
JP4497918B2 (ja) * | 2003-12-25 | 2010-07-07 | 株式会社日立製作所 | ストレージシステム |
JP4634049B2 (ja) | 2004-02-04 | 2011-02-16 | 株式会社日立製作所 | ディスクアレイ装置における異常通知制御 |
JP4306525B2 (ja) * | 2004-04-16 | 2009-08-05 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
US7188212B2 (en) * | 2004-05-06 | 2007-03-06 | International Business Machines Corporation | Method and system for storing data in an array of storage devices with additional and autonomic protection |
WO2005109427A1 (en) * | 2004-05-10 | 2005-11-17 | Matsushita Electric Industrial Co., Ltd. | Data recording/reproduction for write-once discs |
US7093157B2 (en) * | 2004-06-17 | 2006-08-15 | International Business Machines Corporation | Method and system for autonomic protection against data strip loss |
US8066515B2 (en) * | 2004-11-17 | 2011-11-29 | Nvidia Corporation | Multiple graphics adapter connection systems |
KR100578143B1 (ko) * | 2004-12-21 | 2006-05-10 | 삼성전자주식회사 | 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템 |
US8122193B2 (en) * | 2004-12-21 | 2012-02-21 | Samsung Electronics Co., Ltd. | Storage device and user device including the same |
JP4248510B2 (ja) * | 2005-03-24 | 2009-04-02 | 株式会社東芝 | 計算機システム、ディスク装置およびデータ更新制御方法 |
US20060230455A1 (en) * | 2005-04-12 | 2006-10-12 | Yuan-Chang Lo | Apparatus and methods for file system with write buffer to protect against malware |
JP2007072839A (ja) * | 2005-09-08 | 2007-03-22 | Sony Corp | 記録制御装置および方法、並びにプログラム |
CN101313279A (zh) * | 2005-10-14 | 2008-11-26 | 塞门铁克操作公司 | 一种在数据存储器中用于时间线压缩的技术 |
JP4892225B2 (ja) * | 2005-10-28 | 2012-03-07 | 株式会社日立ハイテクノロジーズ | 真空処理方法、真空搬送装置および半導体処理装置 |
KR100706808B1 (ko) | 2006-02-03 | 2007-04-12 | 삼성전자주식회사 | 쓰기 버퍼로서 동작하는 불 휘발성 메모리를 구비한 데이터저장 장치 및 그것의 블록 회수 방법 |
US7549021B2 (en) | 2006-02-22 | 2009-06-16 | Seagate Technology Llc | Enhanced data integrity using parallel volatile and non-volatile transfer buffers |
US20070294565A1 (en) * | 2006-04-28 | 2007-12-20 | Network Appliance, Inc. | Simplified parity disk generation in a redundant array of inexpensive disks |
US8250316B2 (en) * | 2006-06-06 | 2012-08-21 | Seagate Technology Llc | Write caching random data and sequential data simultaneously |
JP2010511963A (ja) * | 2006-12-08 | 2010-04-15 | サンドフォース インコーポレイテッド | 複数のストレージデバイスでのデータ冗長性 |
US10002000B2 (en) * | 2007-04-09 | 2018-06-19 | Open Invention Network, Llc | Trace-assisted startup optimization from a virtual disk |
KR101028929B1 (ko) * | 2008-12-31 | 2011-04-12 | 성균관대학교산학협력단 | 실시간 시스템을 위한 로그 블록 연관성 분산 방법 및 이를수행하는 플래시 메모리 장치 |
JP5365236B2 (ja) * | 2009-02-16 | 2013-12-11 | 日本電気株式会社 | ストレージシステム |
KR101581859B1 (ko) * | 2009-02-27 | 2016-01-21 | 삼성전자주식회사 | 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법 |
US8799572B2 (en) * | 2009-04-20 | 2014-08-05 | Microsoft Corporation | Sliding-window multi-class striping |
JP4599450B2 (ja) * | 2009-04-24 | 2010-12-15 | 株式会社東芝 | 電子機器、ファイルシステムの記憶領域割当法、および記憶領域割当プログラム |
US8266501B2 (en) * | 2009-09-29 | 2012-09-11 | Micron Technology, Inc. | Stripe based memory operation |
KR20110103660A (ko) * | 2010-03-15 | 2011-09-21 | 주식회사 히타치엘지 데이터 스토리지 코리아 | 광디스크 드라이브 레이드 기록 장치 및 방법 |
US9588888B2 (en) | 2010-07-30 | 2017-03-07 | Hewlett Packard Enterprise Development Lp | Memory device and method for altering performance characteristic based on bandwidth demand |
CN101930404B (zh) * | 2010-08-27 | 2012-11-21 | 威盛电子股份有限公司 | 存储装置及其操作方法 |
EP2742429A4 (en) | 2011-08-09 | 2015-03-25 | Lsi Corp | I / O DEVICE AND INTERACTION WITH DATA PROCESSING HOST |
CN103392207B (zh) | 2011-10-05 | 2017-08-04 | 希捷科技有限公司 | 非易失性存储的自身日志记录和层级一致性 |
JP2013196276A (ja) * | 2012-03-19 | 2013-09-30 | Fujitsu Ltd | 情報処理装置、プログラムおよびデータ配置方法 |
US9395924B2 (en) | 2013-01-22 | 2016-07-19 | Seagate Technology Llc | Management of and region selection for writes to non-volatile memory |
US9213633B2 (en) | 2013-04-30 | 2015-12-15 | Seagate Technology Llc | Flash translation layer with lower write amplification |
JP2016143296A (ja) * | 2015-02-03 | 2016-08-08 | 富士通株式会社 | 情報記憶装置、ストレージシステムおよび情報記憶装置制御プログラム |
JP6429124B2 (ja) | 2015-03-27 | 2018-11-28 | パナソニックIpマネジメント株式会社 | 光ディスク装置、方法およびコンピュータプログラム |
CN110568993B (zh) * | 2019-08-06 | 2022-04-12 | 新华三技术有限公司成都分公司 | 一种数据更新方法及相关装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5233618A (en) * | 1990-03-02 | 1993-08-03 | Micro Technology, Inc. | Data correcting applicable to redundant arrays of independent disks |
US5195100A (en) * | 1990-03-02 | 1993-03-16 | Micro Technology, Inc. | Non-volatile memory storage of write operation identifier in data sotrage device |
US5124987A (en) * | 1990-04-16 | 1992-06-23 | Storage Technology Corporation | Logical track write scheduling system for a parallel disk drive array data storage subsystem |
US5274799A (en) * | 1991-01-04 | 1993-12-28 | Array Technology Corporation | Storage device array architecture with copyback cache |
KR970004255B1 (ko) * | 1992-12-07 | 1997-03-26 | 인터내셔널 비지네스 머신즈 코포레이션 | 병렬 디스크 상에서의 고속 데이타 갱신 방법 |
WO1997001139A1 (en) * | 1995-06-23 | 1997-01-09 | Elonex Plc | Disk array controller with enhanced synchronous write |
US6058455A (en) * | 1997-07-02 | 2000-05-02 | International Business Corporation | RAID system having a selectable unattended mode of operation with conditional and hierarchical automatic re-configuration |
-
1997
- 1997-08-08 JP JP9214656A patent/JPH1153235A/ja active Pending
-
1998
- 1998-07-07 KR KR1019980027214A patent/KR100310896B1/ko not_active IP Right Cessation
- 1998-07-09 EP EP98112743A patent/EP0898228B1/en not_active Expired - Lifetime
- 1998-07-09 DE DE69831455T patent/DE69831455T2/de not_active Expired - Fee Related
- 1998-08-04 US US09/128,774 patent/US6219752B1/en not_active Expired - Fee Related
- 1998-08-07 CN CNB981162282A patent/CN1174318C/zh not_active Expired - Fee Related
- 1998-08-07 CN CNB011255730A patent/CN1194298C/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7734153B1 (en) | 1999-10-08 | 2010-06-08 | Samsung Electronics Co., Ltd. | Video stream processing method for time-delayed viewing |
CN100342455C (zh) * | 1999-12-03 | 2007-10-10 | 恩益禧电子股份有限公司 | 半导体存储装置及其测试方法 |
CN100426255C (zh) * | 2000-02-28 | 2008-10-15 | 夏普公司 | 文件管理方法 |
CN1306416C (zh) * | 2001-08-10 | 2007-03-21 | 朴宗元 | 防冲突储存装置以及采用该装置的地址运算与数据选路方法 |
CN100412823C (zh) * | 2004-11-18 | 2008-08-20 | 国际商业机器公司 | 存储系统中元数据道的原子更新的管理方法和系统 |
CN105393207A (zh) * | 2014-06-11 | 2016-03-09 | 株式会社东芝 | 共享贮存系统、以及控制向贮存装置的访问的方法 |
CN105393207B (zh) * | 2014-06-11 | 2018-06-12 | 株式会社东芝 | 共享贮存系统、以及控制向贮存装置的访问的方法 |
CN107436735A (zh) * | 2017-07-28 | 2017-12-05 | 郑州云海信息技术有限公司 | 一种分布式文件系统中存储单元状态更新方法 |
US11329803B2 (en) | 2020-09-29 | 2022-05-10 | Amazon Technologies, Inc. | Redundancy controls in convergent encryption using dynamic salt values |
US11582025B2 (en) | 2020-09-29 | 2023-02-14 | Amazon Technologies, Inc. | Efficient deduplication using block-based convergent encryption |
Also Published As
Publication number | Publication date |
---|---|
CN1194298C (zh) | 2005-03-23 |
JPH1153235A (ja) | 1999-02-26 |
DE69831455T2 (de) | 2006-06-14 |
KR19990023182A (ko) | 1999-03-25 |
CN1347031A (zh) | 2002-05-01 |
EP0898228B1 (en) | 2005-09-07 |
EP0898228A3 (en) | 2004-01-21 |
US6219752B1 (en) | 2001-04-17 |
DE69831455D1 (de) | 2005-10-13 |
KR100310896B1 (ko) | 2001-11-15 |
CN1174318C (zh) | 2004-11-03 |
EP0898228A2 (en) | 1999-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1174318C (zh) | 盘存储装置的数据更新方法和盘存储控制装置 | |
EP1895418B1 (en) | Nonvolatile memory device, method of writing data, and method of reading out data | |
US6311193B1 (en) | Computer system | |
US5490248A (en) | Disk array system having special parity groups for data blocks with high update activity | |
US6865658B2 (en) | Nonvolatile data management system using data segments and link information | |
JP3682256B2 (ja) | ディスクアレイ装置及び同装置におけるパリティ処理方法 | |
JP2017102964A (ja) | 不揮発性メモリシステムにおける同期ミラーリング | |
EP3306477B1 (en) | Storage device and block storage method based on the storage device | |
US10353787B2 (en) | Data stripping, allocation and reconstruction | |
US20100306466A1 (en) | Method for improving disk availability and disk array controller | |
CN1512353A (zh) | 性能改善的数据存储和方法 | |
US20090204846A1 (en) | Automated Full Stripe Operations in a Redundant Array of Disk Drives | |
CN1610876A (zh) | 并行读写访问可移动随机访问数据存储介质的模拟连续数据 | |
US20110153917A1 (en) | Storage apparatus and its control method | |
US6636941B1 (en) | Enhanced stable disk storage | |
CN1299097A (zh) | 对数据存储库中的具有冗余拷贝的数据卷的平衡存取 | |
CN108170614B (zh) | 一种避免数据重复回收的方法、装置及固态硬盘 | |
US6427212B1 (en) | Data fault tolerance software apparatus and method | |
CN110874194A (zh) | 持久存储设备管理 | |
US6363457B1 (en) | Method and system for non-disruptive addition and deletion of logical devices | |
US20200303029A1 (en) | Media error reporting improvements for storage drives | |
US10282116B2 (en) | Method and system for hardware accelerated cache flush | |
US6701452B1 (en) | Disk array controller having distributed parity generation function | |
CN1304095A (zh) | 可重新启动的计算机数据库的信息处理 | |
US10338850B2 (en) | Split-page queue buffer management for solid state storage drives |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20041103 Termination date: 20090907 |