CN1790281A - 存贮控制器及存贮控制方法 - Google Patents

存贮控制器及存贮控制方法 Download PDF

Info

Publication number
CN1790281A
CN1790281A CNA2005100662690A CN200510066269A CN1790281A CN 1790281 A CN1790281 A CN 1790281A CN A2005100662690 A CNA2005100662690 A CN A2005100662690A CN 200510066269 A CN200510066269 A CN 200510066269A CN 1790281 A CN1790281 A CN 1790281A
Authority
CN
China
Prior art keywords
storage
band
parity checking
data
memory
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
Application number
CNA2005100662690A
Other languages
English (en)
Other versions
CN100412806C (zh
Inventor
望月信哉
伊藤实希夫
大黑谷秀治郎
池内和彦
高桥秀夫
绀田与志仁
佐藤靖丈
越智弘昭
牧野司
久保田典秀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN1790281A publication Critical patent/CN1790281A/zh
Application granted granted Critical
Publication of CN100412806C publication Critical patent/CN100412806C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1057Parity-multiple bits-RAID6, i.e. RAID 6 implementations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • G11B2220/415Redundant array of inexpensive disks [RAID] systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

存贮控制器及存贮控制方法。存贮目标存储装置,其中将每个条带中包括的N个数据带和M个奇偶校验带确定为,在向N+M个存储装置分布并存储分别包括N个数据带和M个不同类型奇偶校验带的多个条带时,在两个连续条带之间不向同一存储装置连续地存储奇偶校验带。

Description

存贮控制器及存贮控制方法
技术领域
本发明涉及对在诸如RAID(廉价盘冗余阵列)的多个存储装置中分布并存贮数据和奇偶校验进行控制的存贮控制器,以及其存贮控制方法。
背景技术
RAID是一种将多个硬盘组合起来并作为一个冗余硬盘进行控制的技术,并且根据用于向盘分配数据以及数据冗余化的方法,被分为从RAID 0到RAID 6的七个级别。在这些级别之中的RAID 3到RAID 6中,通过独立于数据存储已根据该数据创建的奇偶校验来实现冗余化(例如,参照日本专利特开第2000-259359号公报)。
首先说明RAID 5的映射。在RAID 5中,每当条带(stripe)改变时改变固定在RAID 4中用于处理奇偶校验的盘,以便分布奇偶校验,由此实现性能增强。例如,对于(4+1)RAID配置的情况,RAID 5映射的一个条带的分配如图1A所示。
在这里,(N+1)RAID配置表示这样一种配置,即,其中,在(N+1)个盘中,N个盘处理数据带,而一个盘处理奇偶校验带。在图1A的示例中,一个条带包括分别分配给盘0到盘3共4个盘的数据D00到D03和分配给盘4的奇偶校验P00。从D00开始按标码的连续顺序排列和分配数据D00到D03。
用于读取这样存储的数据的常规读取处理不需要奇偶校验P00。因此,对于针对D00到D03的读取请求,不使用分配了奇偶校验的盘4。
如果在盘0到盘4中存储有多个条带,也可能要考虑到这样的读取请求,其中按照标码的连续顺序读取跨布不同条带的数据。当考虑到采用诸如这样的连续读取处理的性能时,有效的是,将作为下一条带的头部的数据D04分配给盘4,对于盘4已经在前一条带中分配了奇偶校验P00,并且尚未对盘4进行过任何存取。例如,如果每个条带中的头部数据的位置随着各条带偏移,那么数据和奇偶校验的分配如图1B所示。
对应于(N+1)RAID配置,通常以(N+1)个条带为周期进行数据和奇偶检验的映射。由于这里N=4,所以周期是5个条带。
接下来描述RAID 6的映射。RAID 6是应对多个盘的故障的RAID级别。RAID 6由(N+M)RAID配置来表示,并且与RAID 5中一样,保持每个条带的奇偶校验。由于分配了奇偶校验的M个盘对应于多个盘的故障,所以它为2个或者更多个。作为奇偶校验,通常使用与RAID 5等同的奇偶校验P以及不同于奇偶校验P的奇偶校验Q、R、S等。
在下面的说明中,为了应对两个盘的故障,使用了奇偶校验P和奇偶校验Q,令M=2。
如果将图1B所示的RAID 5的映射应用于RAID 6中的(4+2)RAID配置,则数据和奇偶校验的分配如图1C所示。通常,这是以(N+M)个条带为周期的分配,并且所有的盘都要既处理奇偶校验P又处理奇偶校验Q。
上述常规RAID 6的映射存在以下问题。
在图1C所示的RAID 6的映射中,同一盘只处理两个连续条带中的奇偶校验P和奇偶校验Q,而不处理数据。从连续读取性能的角度而言这不是所希望的。
发明内容
本发明的目的是执行映射以改进诸如RAID的存贮装置的连续读取性能,所述存贮装置通过使用两类或者更多类奇偶校验来获得数据冗余化。
根据本发明的存贮装置包括确定装置和控制装置,并通过对向N+M个存储装置分布并存贮包括N个数据带和M个不同类型的奇偶校验带在内的条带进行控制,来实现数据冗余化。
确定装置为每个条带中包括的N个数据带和M个奇偶校验带确定存贮目标存储装置,以避免当N+M个存储装置存储多个条带时,在两个连续条带之间向同一存储装置连续存储奇偶校验带。控制装置对向每个确定的存贮目标存储装置存贮N个数据带和两个或更多个奇偶校验带进行控制。
附图说明
图1A是示出RAID 5中的条带的图;
图1B是示出RAID 5中的映射的图;
图1C是示出RAID 6中的映射的图;
图2A是根据本发明的存贮控制器的原理图;
图2B是示出第一存贮系统的构成图的图;
图3是示出M=2时的第一映射的图;
图4是示出M=2时的第二映射的图;
图5是示出M=2时的第三映射的图;
图6是示出M=2时的第四映射的图;
图7是示出M=2时的第五映射的图;
图8是示出M=3时的第一映射的图;
图9是示出M=3时的第二映射的图;
图10是示出M=3时的第三映射的图;
图11是示出M=3时的第四映射的图;
图12是示出用于提供程序和数据的方法的图;
图13是示出第二存贮系统的构成图;以及
图14是示出第三存贮系统的构成图。
具体实施方式
下面参照附图,详细说明用于实现本发明的优选实施例。
图2A是根据本发明的存贮控制器的原理图。图2A中的存贮控制器101包括确定装置111和控制器112,并通过对向N+M个存储装置102-1、102-2、……、102-(N+M)分布并存储条带(包括N个数据带和M个不同类型的奇偶校验带)进行控制来实现数据冗余化。
确定装置111为N个数据带和M个不同类型的奇偶校验带确定存贮目标存储装置,以避免当存储装置102-1、102-2、……、102-(N+M)存储多个条带时在两个连续条带之间将奇偶校验带连续存储至同一存储装置。控制器112对向每个确定的存贮目标存储装置存储N个数据带和两个或更多个奇偶校验带进行控制。
在(N+M)RAID配置中,每个存储装置相当于一个或更多个磁盘装置。如果存储了多个条带,则将一个条带内的数据和奇偶校验分散存储至存储装置102-1、102-2、……、102-(N+M),使得同一存储装置不在两个连续的条带之间连续处理相同类型或不同类型的奇偶校验。这样,就均衡化了当顺序读取跨布不同条带的数据时对(N+M)个存储装置的存取频率。
存贮控制器101例如对应于稍后将描述的图2B中的控制器211、图13中的主机总线适配器1311或图14中的主机装置1401。
根据本发明,在其中将包括N个数据带和M个不同类型的奇偶校验带在内的条带分布并存储在N+M个存储装置中的存贮装置中,增强了顺序读取的性能。
图2B示出了本实施例中的存贮系统的构成示例。图2B中的存贮系统包括主机装置201和RAID装置202。RAID装置202对应于包括控制器211和盘0到盘5共六个盘在内的存贮装置。
每个盘包括一个或更多个磁盘装置,主机装置201将所有的盘视为一个存储装置并执行数据的读取/写入。连接到控制器211的盘的数量不必限于6个。
控制器211包括处理器221、存储器222以及缓存存储器223,并控制对盘0到盘5的存取。处理器221通过执行存储器222中存储的程序来控制存取。
下面参照图3到图11描述采用(N+M)RAID配置的本实施例中的映射示例。
(1)第一映射
如果在图1C所示的(4+2)RAID配置中考虑连续读取的性能,对于每个条带将分配偏移两个盘,以使得奇偶校验不连续,则映射如图3所示。在这个映射中,分别集总分配数据和奇偶校验,并且处理相同类型奇偶校验的盘对于每个条带偏移M个盘。这样,由于同一盘绝不在两个连续条带中都处理奇偶校验,所以增强了连续读取的性能。
通常,在(N+M)RAID配置中,如果盘的数量(N+M)是奇偶校验数量(M)的倍数,则由于分配偏移M个盘,所以分配被确定为以(N+M)/M个条带为周期。这里,由于N=4且M=2,所以是以3个条带为周期。然而,在图3的映射中,奇偶校验P未分配给盘1、盘3或盘5,而奇偶校验Q未分配给盘0、盘2或盘4。
另一方面,在一个盘出现故障时的读取处理或重建处理中,考虑到性能等,执行只使用奇偶校验P而不使用奇偶校验Q的与RAID 5等同的处理。这样,由于根本未分配有奇偶校验P的盘的负载与除前面以外的盘的负载不同,所以存在改进映射的余地。作为用于改进奇偶校验映射的方案,可以考虑下面的(2)和(3)。
(2)第二映射
如图4所示,创建并分配了其中按奇偶校验P和Q的顺序排列它们的条带以及其中按奇偶校验Q和P的顺序排列它们的条带,使得所有的盘都要处理奇偶校验P和Q。从而,处理P和Q的盘每(N+M)/M个条带循环一次。因此,分配以(N+M)个条带为周期进行。
(3)第三映射
如图5所示,P和Q不是连续分配的,而是相隔一个或更多个盘。这里,P和Q被分配得相隔N/M(=2)个盘,数据和奇偶校验的分配对于每个条带偏移一个盘。因此,所有的盘都处理P和Q。
另外,由于在一个条带内将P和Q分配得相隔N/M个盘,所以盘处理P或Q的机会在(N+M)/M个条带的周期中被均等化了。然而,数据和奇偶校验的分配都与RAID 5中的不同。
上面两种改进方案,是用于减少RAID 6中作为不相同的奇偶校验带且具有不同作用的奇偶校验P和Q所引起的负载差异的方案。两种方案中改进方案(2)被认为更有效。
另外,数据带的作用可能不同于奇偶校验P和奇偶校验Q的作用。例如,在称为行-对角线奇偶校验(RDP)系统的RAID 6中,利用RAID 5的数据和奇偶校验P创建对角线奇偶校验Q。然而,一个条带中的各带的作用都不相同。具体来说,对于数据或P中的一个带,使用整个带来创建对角线奇偶检验Q。另一方面,在剩余的数据和奇偶校验P带中,仅使用其一部分来创建Q。
因此,当在一个盘出现故障时的重构处理中恢复奇偶校验Q时,处理数据的盘与处理奇偶校验P的盘之间就产生了负载差异。因此,存在改进映射的余地。作为用于改进数据映射的方案,可以考虑下面的(4)和(5)。
(4)第四映射
例如,如果使用整个P带来创建Q,则随着P的更新会产生更多的Q的更新。换句话说,由于为更新少量数据而增加了Q的更新,所以这不是很有效。因此,将用来创建Q的整个带确定为被指配为其中一个数据带,而不是P带。
暂时假定条带中的头部数据带是使用所有数据来创建Q的带。这样,由于存在处理头部数据的盘和不处理头部数据的盘,所以在图3和图4的映射中,负载不是均等分布的。例如,在图3的映射中,将头部数据分配给盘0、盘2和盘4,而未将头部数据分配给盘1、盘3或盘5。
为了减少诸如此类的不均衡,针对图6中所示的数据带执行在图4的映射中执行的对P和Q的循环重排,数据和奇偶校验相对所配置的M个盘的映射顺序是每(N+M)/M个条带循环一次。
例如,前三个条带601到603的分配与图4中相同,并且将每个条带的头部数据D00、D04和D08分布给盘0、盘4和盘2。
在后面的三个条带604到606中,尽管P和Q的分配与图4中相同,但与图4中相比数据的分配在两个相邻盘间是颠倒的。具体来说,在条带604中D0c和D0d的分配与图4中的相反,并且D0e和D0f的分配也与图4中的相反。对于条带605和606的分配也是同样的。作为如此的数据重排的结果,将每个条带中的头部数据D0c、D10和D14分布给盘1、盘5和盘3。
因此,在图6的映射中,可以将P、Q和头部数据分布并分配给所有的盘。
(5)第五映射
该映射是上面(4)中的改进方案的变型。如图7所示,尽管奇偶校验的分配和图3中相同,但数据的分配不同。在该映射中,头部数据在条带中的位置是通过在紧接的前一条带中用于处理奇偶校验的M个盘中对于每个条带错开所述位置来选定的。然而,由于第2到第M数据可能被分配给同样在紧接的前一条带中用于处理数据的盘,所以该方案在顺序读取性能方面不如(4)中的改进方案。
尽管图3到图7示出了M=2时的映射示例,这些映射也可应用于M=3的情况下的RAID配置。图8、9、10和11示出了将(1)、(2)、(3)以及(4)中的映射分别应用于(3+3)RAID配置的示例。
控制器211根据RAID配置如上所述地执行映射处理,以便对盘执行数据或奇偶校验的读取/写入访问。因此,下面将具体描述在(N+M)RAID配置中由控制器211执行的映射处理。
在下面的解释中,与C语言中一样,运算符“/”表示整除的商,运算符“%”表示整除的余数。首先,对映射处理所用的变量的定义进行解释。
●RAID配置中的盘的数量:(N+M)
(N+M)是构成RAID组的盘的数量。RAID组包括总共(N+M)个盘,其中N个盘用于数据容量,而M个盘用于奇偶校验容量。这里,将盘的总数(N+M)设为奇偶校验用盘数量M的倍数。
●条带大小:S
S表示一个条带的数据容量(块等的数量),并与条带深度(stripedepth)相同。
●分配给数据的地址:a
a是顺序分配给除奇偶检验外的数据的地址,是一个为0或更大的整数。通过指定地址a执行对来自主机装置201的数据的I/O请求。
●条带号:i
i是表示与其对应的数据和奇偶校验所属条带的编号,是一个为0或更大的整数。i是根据数据地址a和RAID配置来确定的,并由下面的公式给出:
i=a/(N*S)
●带号:j
j是表示属于条带的带的顺序的数字。将满足0≤j<(N-1)的j指配给数据带。由下面的公式给出数据带的j,并根据数据地址a顺序地存储数据。
j=(a%(S*N))/S
将满足N≤j≤(N+M-1)的j指配给奇偶校验带。例如,将j=N指配给奇偶校验P,将j=N+1指配给奇偶校验Q。
●盘号:d
d是指定在构成RAID系统的盘中将成为访问目标的盘的编号,满足0≤d≤(N+M-1)。根据要实现的映射方法,以i和j为参数来确定d。
下面描述使用前述变量定义的映射处理。在该映射处理中,依照映射方法,根据数据地址a来确定条带号i和带号j,从而确定访问目标的盘号d。
1、传统映射
在图1C所示的传统映射方法中,盘号d每次偏移一个盘。d由下面的公式计算:
d=(j+i*(N+M-1))%(N+M)
2、第一映射
在图3和图8所示的映射方法中,盘号d偏移奇偶校验的数量。d由下面的公式计算:
d=(j+(i*N))%(N+M)
3、第二映射
在图4和图9所示的映射方法中,M个奇偶校验的阵列按前述第一映射循环。针对数据的d与第一映射中的相同,并由下面的公式计算:
d=(j+(i*N))%(N+M)
然而,对于奇偶校验,将每个条带中分配有奇偶校验的盘中的头盘的编号确定为ptop,并由下面的公式计算ptop:
ptop=(N+(i*N))%(N+M)
对于奇偶校验,由下面的利用ptop的公式来计算d:
d=ptop+(j-N+(M-1)*(i/(N+M)/M)%M
4、第三映射
在图5和图10所示的映射方法中,奇偶校验不是连续分布的,盘号d每次偏移一个盘。对于数据,d由下面的公式计算:
d=(i*(N+M-1)+j/(N/M)*((N+M)/M+j%(N/M))%(N+M)
另一方面,对于奇偶校验,d由下面的公式计算:
d=(i*(N+M-1)+(j-N)*((N+M)/M)+(N/M))%(N+M)
5、第四映射
在图6和图11所示的映射方法中,还将前述第二映射中的M个奇偶校验的循环应用于数据,并将M个数据的阵列作为一组按组进行循环。在此情况下,由下面的公式计算奇偶校验和数据的组的总数gnum:
gnum=(N+M)/M
由下面的公式给出数据或奇偶校验所属组的编号gi和在组中的序号gj:
gi=j/M
gj=j%M
如果将组中数据或奇偶校验所属的头盘的编号确定为gtop,那么gtop由下面的公式计算:
gtop=(gi*M+i*N)%(N+M)
d由下面的利用该gtop的公式来计算:
d=gtop+((gj+(M-1)*(i/gnum))%M
控制器211以对应于由上面公式获得的d的盘为访问目标来执行数据或奇偶校验的读取/写入。
图12示出了用于提供控制器211的处理器221为处理使用的程序和数据的方法。存储在外部装置1201(如信息处理器)或移动记录介质1202中的程序和数据被加载到RAID装置202的存储器222。
外部装置1201产生携带有所述程序和数据的载波信号并通过通信网络上的任意传输介质将该信号传送给RAID装置202。移动记录介质1202是任意的计算机可读记录介质,如存储卡、软盘、光盘或磁-光盘。处理器221利用所述数据执行所述程序,并执行必要的处理。
图13和图14示出了存贮系统的其它配置示例。图13示出了安装在主机装置上的主机总线适配器控制盘访问的示例。图14示出了安装在主机装置中的软件控制盘访问的示例。在任一配置中,都如RAID装置202中那样提供了必需的程序和数据。
图13中的存贮系统包括主机装置1301和盘0到盘5。主机装置1301包括主机总线适配器1311。主机总线适配器1311包括处理器1321、存储器1322和缓存存储器1323,并控制对盘0到盘5的存取。此时,处理器1321运行存储器1322中存储的程序,以执行前述映射处理。
图14中的存贮系统包括主机装置1401和盘0到盘5。主机装置1401包括处理器1411和存储器1412,并控制对盘0到盘5的存取。此时,处理器1411运行存储器1412中存储的程序,以执行前述映射处理。
另外,尽管在前述实施例中使用磁-光盘装置作为盘装置,但本发明也可应用于使用诸如光盘装置、磁-光盘装置以及其它存储装置(如磁带装置)的存贮系统。

Claims (17)

1、一种存贮控制器,通过对向N+M个存储装置分布并存贮包括N个数据带和M个不同类型的奇偶校验带在内的条带进行控制,来实现数据冗余化,该存贮控制器包括:
确定装置,用于为每个条带中包括的N个数据带和M个奇偶校验带确定存贮目标存储装置,使得在所述N+M个存储装置存储多个条带时,在两个连续条带之间不向同一存储装置连续地存储奇偶校验带;和
控制器,用于对向每个确定的存贮目标存储装置存储所述N个数据带和两个或更多个奇偶校验带进行控制。
2、如权利要求1所述的存贮控制器,其中,所述确定装置确定所述存贮目标存储装置,使得在所述多个条带中包括的奇偶校验带被均等地分布在所述N+M个存储装置中。
3、如权利要求2所述的存贮控制器,其中,所述确定装置确定所述存贮目标存储装置,使得向其存储同一类型奇偶校验带的存储装置的编号对于每个条带偏移M。
4、如权利要求2或3所述的存贮控制器,其中,所述确定装置根据指定的数据地址来确定表示数据或奇偶校验所属条带的条带号i和表示条带中数据或奇偶校验所属带的带号j,并通过使用以下公式的计算来获得向其存储数据或奇偶校验的存储装置的存储装置号d,在该公式中%为表示整除中的余数的运算符:
d=(j+(i*N))%(N+M)。
5、如权利要求2所述的存贮控制器,其中,所述确定装置确定所述存贮目标存储装置,使得所述多个条带中包括的同一类型奇偶校验带被均等地分布在所述N+M个存储装置中。
6、如权利要求5所述的存贮控制器,其中,所述确定装置确定所述存贮目标存储装置,使得存储同一类型奇偶校验带的存储装置的编号对于每个条带偏移M,并且存储M个奇偶校验带的存储装置的编号每(N+M)/M个条带循环一次。
7、如权利要求5或6所述的存贮控制器,其中,所述确定装置根据指定的数据地址来确定表示数据或奇偶校验所属条带的条带号i和表示条带中数据或奇偶校验所属带的带号j,并且当由i和j确定存储装置号d时,对于数据的存贮目标,利用下面公式的计算来确定d,在该公式中%运算符表示整除中的余数:
d=(j+(i*N))%(N+M),
对于奇偶校验的存贮目标,通过下面公式的计算来确定d,在该公式中/运算符表示整除中的商:
ptop=(N+(i*N))%(N+M),
d=ptop+(j-N+(M-1)*(i/(N+M)/M))%M。
8、如权利要求5所述的存贮控制器,其中,所述确定装置确定所述存贮目标存储装置,使得存储同一类型奇偶校验带的存储装置的编号对于每个条带偏移1,并且使得在各个条带中存储M个奇偶校验带的存储装置的编号不连续。
9、如权利要求5或8所述的存贮控制器,其中,所述确定装置根据指定的数据地址,确定表示数据或奇偶校验所属条带的条带号i和表示条带中数据或奇偶校验所属带的带号j,并且当由i和j确定存储装置号d时,对于数据的存贮目标,通过使用下面公式的计算得到d,在该公式中,/运算符表示整除中的商,%运算符表示整除中的余数:
d=(i*(N+M-1)+j/(N/M)*((N+M)/M+j%(N/M))%(N+M),
而对于奇偶校验的存贮目标,通过使用下面公式的计算来确定d:
d=(i*(N+M-1)+(j-N)*((N+M)/M)+(N/M))%(N+M)。
10、如权利要求1或5所述的存贮控制器,其中,所述确定装置确定所述存贮目标存储装置,使得在所述多个条带中包括的数据带被均等地分布在所述N+M个存储装置中。
11、如权利要求10所述的存贮控制器,其中,所述确定装置确定所述存贮目标存储装置,使得存储同一类型奇偶校验带的存储装置的编号对于每个条带偏移M,并且存储M个奇偶校验带的存储装置的编号每(N+M)/M个条带循环一次。
12、如权利要求10或11所述的存贮控制器,其中,所述确定装置根据指定的数据地址,确定表示数据或奇偶校验所属条带的条带号i和表示条带中数据或奇偶校验所属带的带号j,并通过下面公式的计算得到向其存储数据或奇偶校验的存储装置的存储装置号d,在该公式中/运算符表示整除中的商,%运算符表示整除中的余数:
gtop=(gi*M+i*N)%(N+M),
d=gtop+((gj+(M-1)*(i/gnum))%M。
13、一种存贮装置,包括:
N+M个存储装置,用于分布并存储包括N个数据带和M个不同类型的奇偶校验带在内的条带,以便实现数据冗余化;
确定装置,用于为每个条带中包括的N个数据带和M个奇偶校验带确定存贮目标存储装置,使得在所述N+M个存储装置存储多个条带时,在两个连续条带之间不向同一存储装置连续地存储奇偶校验带;以及
控制器,用于对向每个确定的存贮目标存储装置存贮所述N个数据带和两个或更多个奇偶校验带进行控制。
14、一种记录介质,向其记录了一种用于处理器的程序,该程序用于通过对向N+M个存储装置分布并存贮包括N个数据带和M个不同类型的奇偶校验带在内的条带进行控制来实现数据冗余化,其中,该程序使得处理器能够执行以下处理:
为每个条带中包括的N个数据带和M个奇偶校验带确定存贮目标存储装置,使得在所述N+M个存储装置存储多个条带时,在两个连续条带之间不在同一存储装置中连续地存储奇偶校验带;和
向每个确定的存贮目标存储装置存储所述N个数据带和两个或更多个奇偶校验带。
15、一种存贮控制方法,用于通过向N+M个存储装置分布并存贮包括N个数据带和M个不同类型的奇偶校验带在内的条带来实现数据冗余化,其中,该存贮控制方法执行以下操作:
为每个条带中包括的N个数据带和M个奇偶校验带确定存贮目标存储装置,使得在所述N+M个存储装置存储多个条带时,在两个连续条带之间不向同一存储装置连续地存储奇偶校验带;和
向每个确定的存贮目标存储装置存储所述N个数据带和两个或更多个奇偶校验带。
16、一种载波信号,携带有一种用于处理器的程序,该程序用于通过对在N+M个存储装置中分布并存贮包括N个数据带和M个不同类型的奇偶校验带在内的条带进行控制来实现数据冗余化,其中,所述程序使得处理器能够执行以下处理:
为每个条带中包括的N个数据带和M个奇偶校验带确定存贮目标存储装置,使得在所述N+M个存储装置存储多个条带时,在两个连续条带之间不向同一存储装置连续地存储奇偶校验带;和
向每个确定的存贮目标存储装置存储所述N个数据带和两个或更多个奇偶校验带。
17、一种存贮控制器,用于通过对在N+M个存储装置中分布并存贮包括N个数据带和M个不同类型的奇偶校验带在内的条带进行控制来实现数据冗余化,该存贮控制器包括:
确定单元,用于为每个条带中包括的N个数据带和M个奇偶校验带确定存贮目标存储装置,使得在所述N+M个存储装置存储多个条带时,在两个连续条带之间不向同一存储装置连续地存储奇偶校验带;和
控制单元,用于对向每个确定的存贮目标存储装置存贮所述N个数据带和两个或更多个奇偶校验带进行控制。
CNB2005100662690A 2004-12-14 2005-04-25 存贮控制器及存贮控制方法 Expired - Fee Related CN100412806C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004361149A JP2006171957A (ja) 2004-12-14 2004-12-14 ストレージ制御装置および方法
JP2004361149 2004-12-14

Publications (2)

Publication Number Publication Date
CN1790281A true CN1790281A (zh) 2006-06-21
CN100412806C CN100412806C (zh) 2008-08-20

Family

ID=36283791

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100662690A Expired - Fee Related CN100412806C (zh) 2004-12-14 2005-04-25 存贮控制器及存贮控制方法

Country Status (5)

Country Link
US (1) US7433999B2 (zh)
EP (1) EP1674997A3 (zh)
JP (1) JP2006171957A (zh)
KR (1) KR100703016B1 (zh)
CN (1) CN100412806C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102346694A (zh) * 2007-03-29 2012-02-08 提琴存储器公司 一种在存储系统中计算奇偶校验的方法
CN104471546A (zh) * 2012-02-09 2015-03-25 Tli有限公司 用于提高固态硬盘可靠性的有效的磁盘冗余阵列技法
CN107544862A (zh) * 2016-06-29 2018-01-05 中兴通讯股份有限公司 一种基于纠删码的存储数据重构方法和装置、存储节点

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7552357B2 (en) * 2005-04-29 2009-06-23 Network Appliance, Inc. Lost writes detection in a redundancy group based on RAID with multiple parity
US7406578B2 (en) * 2005-09-30 2008-07-29 Xiotech Corporation Method, apparatus and program storage device for providing virtual disk service (VDS) hints based storage
US7653829B2 (en) * 2005-12-08 2010-01-26 Electronics And Telecommunications Research Institute Method of data placement and control in block-divided distributed parity disk array
JP2007179297A (ja) * 2005-12-28 2007-07-12 Fujitsu Ltd Raid5のパリティチェック強化方法、装置及びプログラム
US7664915B2 (en) * 2006-12-19 2010-02-16 Intel Corporation High performance raid-6 system architecture with pattern matching
JP4358869B2 (ja) 2007-02-21 2009-11-04 富士通株式会社 ストレージ制御装置、ストレージ制御方法
TWI345224B (en) * 2007-09-27 2011-07-11 Quanta Comp Inc Rotating parity redundant array of independent disks and method for storing parity the same
JP4691154B2 (ja) * 2008-12-22 2011-06-01 富士通株式会社 データ管理装置,データ管理システム,データ管理方法およびデータ管理プログラム
JP4843695B2 (ja) * 2009-06-26 2011-12-21 株式会社東芝 ディスクアレイ制御装置及びディスクアレイ装置
JP2014199591A (ja) * 2013-03-29 2014-10-23 株式会社東芝 記憶装置制御システム、記憶装置制御装置及びプログラム
CN107479824B (zh) * 2016-06-08 2020-03-06 宜鼎国际股份有限公司 冗余磁盘阵列系统及其数据储存方法
US10374637B1 (en) * 2017-04-28 2019-08-06 EMC IP Holding Company LLC System and method for unbalanced load handling with distributed erasure coding
US10761743B1 (en) 2017-07-17 2020-09-01 EMC IP Holding Company LLC Establishing data reliability groups within a geographically distributed data storage environment
US10817388B1 (en) 2017-07-21 2020-10-27 EMC IP Holding Company LLC Recovery of tree data in a geographically distributed environment
US10684780B1 (en) 2017-07-27 2020-06-16 EMC IP Holding Company LLC Time sensitive data convolution and de-convolution
US10880040B1 (en) 2017-10-23 2020-12-29 EMC IP Holding Company LLC Scale-out distributed erasure coding
US10382554B1 (en) 2018-01-04 2019-08-13 Emc Corporation Handling deletes with distributed erasure coding
US10817374B2 (en) 2018-04-12 2020-10-27 EMC IP Holding Company LLC Meta chunks
US10579297B2 (en) 2018-04-27 2020-03-03 EMC IP Holding Company LLC Scaling-in for geographically diverse storage
US11023130B2 (en) 2018-06-15 2021-06-01 EMC IP Holding Company LLC Deleting data in a geographically diverse storage construct
US10936196B2 (en) 2018-06-15 2021-03-02 EMC IP Holding Company LLC Data convolution for geographically diverse storage
US10719250B2 (en) 2018-06-29 2020-07-21 EMC IP Holding Company LLC System and method for combining erasure-coded protection sets
US11436203B2 (en) 2018-11-02 2022-09-06 EMC IP Holding Company LLC Scaling out geographically diverse storage
US10901635B2 (en) 2018-12-04 2021-01-26 EMC IP Holding Company LLC Mapped redundant array of independent nodes for data storage with high performance using logical columns of the nodes with different widths and different positioning patterns
US10931777B2 (en) 2018-12-20 2021-02-23 EMC IP Holding Company LLC Network efficient geographically diverse data storage system employing degraded chunks
US11119683B2 (en) 2018-12-20 2021-09-14 EMC IP Holding Company LLC Logical compaction of a degraded chunk in a geographically diverse data storage system
US10892782B2 (en) 2018-12-21 2021-01-12 EMC IP Holding Company LLC Flexible system and method for combining erasure-coded protection sets
US11023331B2 (en) 2019-01-04 2021-06-01 EMC IP Holding Company LLC Fast recovery of data in a geographically distributed storage environment
US10768840B2 (en) 2019-01-04 2020-09-08 EMC IP Holding Company LLC Updating protection sets in a geographically distributed storage environment
US10942827B2 (en) 2019-01-22 2021-03-09 EMC IP Holding Company LLC Replication of data in a geographically distributed storage environment
US10942825B2 (en) 2019-01-29 2021-03-09 EMC IP Holding Company LLC Mitigating real node failure in a mapped redundant array of independent nodes
US10866766B2 (en) 2019-01-29 2020-12-15 EMC IP Holding Company LLC Affinity sensitive data convolution for data storage systems
US10846003B2 (en) 2019-01-29 2020-11-24 EMC IP Holding Company LLC Doubly mapped redundant array of independent nodes for data storage
US10936239B2 (en) 2019-01-29 2021-03-02 EMC IP Holding Company LLC Cluster contraction of a mapped redundant array of independent nodes
KR20200116268A (ko) 2019-04-01 2020-10-12 에스케이하이닉스 주식회사 버퍼 메모리, 이를 이용하는 연산 장치 및 시스템
US11029865B2 (en) 2019-04-03 2021-06-08 EMC IP Holding Company LLC Affinity sensitive storage of data corresponding to a mapped redundant array of independent nodes
US10944826B2 (en) 2019-04-03 2021-03-09 EMC IP Holding Company LLC Selective instantiation of a storage service for a mapped redundant array of independent nodes
US11113146B2 (en) 2019-04-30 2021-09-07 EMC IP Holding Company LLC Chunk segment recovery via hierarchical erasure coding in a geographically diverse data storage system
US11121727B2 (en) 2019-04-30 2021-09-14 EMC IP Holding Company LLC Adaptive data storing for data storage systems employing erasure coding
US11119686B2 (en) 2019-04-30 2021-09-14 EMC IP Holding Company LLC Preservation of data during scaling of a geographically diverse data storage system
US11748004B2 (en) 2019-05-03 2023-09-05 EMC IP Holding Company LLC Data replication using active and passive data storage modes
US11209996B2 (en) 2019-07-15 2021-12-28 EMC IP Holding Company LLC Mapped cluster stretching for increasing workload in a data storage system
US11449399B2 (en) 2019-07-30 2022-09-20 EMC IP Holding Company LLC Mitigating real node failure of a doubly mapped redundant array of independent nodes
US11023145B2 (en) 2019-07-30 2021-06-01 EMC IP Holding Company LLC Hybrid mapped clusters for data storage
US11228322B2 (en) 2019-09-13 2022-01-18 EMC IP Holding Company LLC Rebalancing in a geographically diverse storage system employing erasure coding
US11449248B2 (en) 2019-09-26 2022-09-20 EMC IP Holding Company LLC Mapped redundant array of independent data storage regions
US11119690B2 (en) 2019-10-31 2021-09-14 EMC IP Holding Company LLC Consolidation of protection sets in a geographically diverse data storage environment
US11435910B2 (en) 2019-10-31 2022-09-06 EMC IP Holding Company LLC Heterogeneous mapped redundant array of independent nodes for data storage
US11288139B2 (en) 2019-10-31 2022-03-29 EMC IP Holding Company LLC Two-step recovery employing erasure coding in a geographically diverse data storage system
US11435957B2 (en) 2019-11-27 2022-09-06 EMC IP Holding Company LLC Selective instantiation of a storage service for a doubly mapped redundant array of independent nodes
US11144220B2 (en) 2019-12-24 2021-10-12 EMC IP Holding Company LLC Affinity sensitive storage of data corresponding to a doubly mapped redundant array of independent nodes
US11231860B2 (en) 2020-01-17 2022-01-25 EMC IP Holding Company LLC Doubly mapped redundant array of independent nodes for data storage with high performance
US11507308B2 (en) 2020-03-30 2022-11-22 EMC IP Holding Company LLC Disk access event control for mapped nodes supported by a real cluster storage system
US11288229B2 (en) 2020-05-29 2022-03-29 EMC IP Holding Company LLC Verifiable intra-cluster migration for a chunk storage system
US11693983B2 (en) 2020-10-28 2023-07-04 EMC IP Holding Company LLC Data protection via commutative erasure coding in a geographically diverse data storage system
US11847141B2 (en) 2021-01-19 2023-12-19 EMC IP Holding Company LLC Mapped redundant array of independent nodes employing mapped reliability groups for data storage
US11625174B2 (en) 2021-01-20 2023-04-11 EMC IP Holding Company LLC Parity allocation for a virtual redundant array of independent disks
US11449234B1 (en) 2021-05-28 2022-09-20 EMC IP Holding Company LLC Efficient data access operations via a mapping layer instance for a doubly mapped redundant array of independent nodes
US11354191B1 (en) 2021-05-28 2022-06-07 EMC IP Holding Company LLC Erasure coding in a large geographically diverse data storage system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522032A (en) * 1994-05-05 1996-05-28 International Business Machines Corporation Raid level 5 with free blocks parity cache
JP3711631B2 (ja) * 1996-06-10 2005-11-02 株式会社日立製作所 コンピュータシステムのディスクアレイ装置
KR19980047273A (ko) * 1996-12-14 1998-09-15 양승택 레이드 레벨 5 시스템에서 캐쉬 관리 방법
KR100267366B1 (en) 1997-07-15 2000-10-16 Samsung Electronics Co Ltd Method for recoding parity and restoring data of failed disks in an external storage subsystem and apparatus therefor
JPH11203056A (ja) * 1998-01-19 1999-07-30 Fujitsu Ltd 入出力制御装置及びアレイディスク装置
US6453428B1 (en) 1998-07-17 2002-09-17 Adaptec, Inc. Dual-drive fault tolerant method and system for assigning data chunks to column parity sets
JP2000148409A (ja) 1998-11-12 2000-05-30 Hitachi Ltd 冗長記憶装置
KR100321987B1 (ko) * 1999-02-19 2002-02-04 윤종용 레이드 시스템에서 패러티 캐쉬 및 이의 운영 방법
JP2000259359A (ja) 1999-03-04 2000-09-22 Toshiba Corp Raid装置および記録媒体
US6957433B2 (en) * 2001-01-08 2005-10-18 Hewlett-Packard Development Company, L.P. System and method for adaptive performance optimization of data processing systems
US6766480B2 (en) * 2001-03-14 2004-07-20 Hewlett-Packard Development Company, L.P. Using task description blocks to maintain information regarding operations
US6950966B2 (en) * 2001-07-17 2005-09-27 Seachange International, Inc. Data transmission from raid services
KR100423812B1 (ko) 2001-12-20 2004-03-22 한국전자통신연구원 디스크 캐쉬메모리 제어기 및 패리티 연산장치를 구비한알에이아이디 제어기 및 패리티 연산방법
KR100470914B1 (ko) * 2001-12-28 2005-03-08 한국전자통신연구원 디스크어레이 시스템에서의 디스크 캐쉬 관리 장치 및관리 방법
US7085953B1 (en) * 2002-11-01 2006-08-01 International Business Machines Corporation Method and means for tolerating multiple dependent or arbitrary double disk failures in a disk array
JP2006107311A (ja) * 2004-10-08 2006-04-20 Hitachi Ltd ディスクアレイ装置およびその制御方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102346694A (zh) * 2007-03-29 2012-02-08 提琴存储器公司 一种在存储系统中计算奇偶校验的方法
CN102346694B (zh) * 2007-03-29 2015-02-11 提琴存储器公司 一种在存储系统中计算奇偶校验的方法
CN104471546A (zh) * 2012-02-09 2015-03-25 Tli有限公司 用于提高固态硬盘可靠性的有效的磁盘冗余阵列技法
CN104471546B (zh) * 2012-02-09 2017-06-06 Tli有限公司 用于提高固态硬盘可靠性的有效的磁盘冗余阵列技法
CN107544862A (zh) * 2016-06-29 2018-01-05 中兴通讯股份有限公司 一种基于纠删码的存储数据重构方法和装置、存储节点

Also Published As

Publication number Publication date
EP1674997A2 (en) 2006-06-28
US7433999B2 (en) 2008-10-07
KR100703016B1 (ko) 2007-04-06
JP2006171957A (ja) 2006-06-29
CN100412806C (zh) 2008-08-20
EP1674997A3 (en) 2008-06-11
US20060143508A1 (en) 2006-06-29
KR20060067084A (ko) 2006-06-19

Similar Documents

Publication Publication Date Title
CN1790281A (zh) 存贮控制器及存贮控制方法
CN1159663C (zh) 数据库储库及其访问管理方法
CN104011642B (zh) 将擦除码数据分配到磁盘存储器的方法和装置
US9542125B1 (en) Managing data relocation in storage systems
US10037277B2 (en) Multi-tiered caching for data storage management in a device
US8019965B2 (en) Data migration
US8380928B1 (en) Applying data access activity measurements
JP5048760B2 (ja) Raid管理、再割振り、およびリストライピングのためのシステムおよび方法
TWI768763B (zh) 用於在儲存伺服器中進行儲存控制的方法、記憶裝置及其記憶體控制器、以及儲存伺服器
US20100250826A1 (en) Memory systems with a plurality of structures and methods for operating the same
JP2017091546A (ja) 多重モード動作のための多重パーティションを含む格納装置、及びその動作方法
US8621176B2 (en) Method and system for allocating data objects for efficient reads in a mass storage subsystem
TW201005536A (en) Solid state storage system with data attribute wear leveling and method of controlling the solid state storage system
US20110072233A1 (en) Method for Distributing Data in a Tiered Storage System
CN1975679A (zh) 用于优化分段资源分配的方法和设备
JPH1091362A (ja) 頻繁にアクセスされ、ランダムにアドレス指定されるデータの適応局所化方法及び装置
CN1848069A (zh) 数据存储设备、重构控制设备、重构控制方法及存储介质
TWI471725B (zh) 用於管理儲存陣列的方法及具有執行該方法的指令之電腦可讀取記錄媒體
KR102521051B1 (ko) 하이브리드 데이터 룩-업 방법
US20160259598A1 (en) Control apparatus, control method, and control program
JP5567545B2 (ja) 仮想ボリュームに領域を割り当てるための方法及び装置
CN106933495A (zh) 一种数据读取方法、raid控制器及存储设备
US20110219185A1 (en) Optimizing execution of i/o requests for a disk drive in a computing system
CN104471548A (zh) 采用数据管理机制的存储系统及其操作的方法
JP5730446B1 (ja) トライアル領域を備えた階層化ストレージシステム、ストレージコントローラ及びプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CI03 Correction of invention patent

Correction item: Drawings

Correct: Reprint clear instructions, figures 1-3 and 6-14

False: The instructions are blurred on pages 1-3 and 6-14

Number: 34

Volume: 24

COR Change of bibliographic data

Free format text: CORRECT: FIGURE OF DESCRIPTION; FROM: FIGURE OF DESCRIPTION THE FIRST PAGE OF VAGUE 1-3,6-14 TO: REPRINT CLEAR FIGURE OF DESCRIPTION THE FIRST PAGE 1-3,6-14

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080820

Termination date: 20160425