JP2859960B2 - Data storage device and method - Google Patents
Data storage device and methodInfo
- Publication number
- JP2859960B2 JP2859960B2 JP3506033A JP50603391A JP2859960B2 JP 2859960 B2 JP2859960 B2 JP 2859960B2 JP 3506033 A JP3506033 A JP 3506033A JP 50603391 A JP50603391 A JP 50603391A JP 2859960 B2 JP2859960 B2 JP 2859960B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- group
- redundant
- groups
- storage
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2089—Redundant storage control functionality
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/103—Hybrid, i.e. RAID systems with parity comprising a mix of RAID types
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【発明の詳細な説明】 発明の技術的背景 本発明は、大容量データ記憶素子に関する。特に、本
発明は、1もしくはそれ以上の論理大容量記憶素子とし
て集合的に実行する一組の物理的大容量記憶素子に関す
る。さらに、本発明は、柔軟性、トランザクション/帯
域幅効率、速度およびこれら一組の物理的大容量記憶素
子の信頼性の改善に関する。Description: TECHNICAL BACKGROUND OF THE INVENTION The present invention relates to mass data storage elements. In particular, the present invention relates to a set of physical mass storage devices that collectively execute as one or more logical mass storage devices. Further, the invention relates to improving flexibility, transaction / bandwidth efficiency, speed, and reliability of these sets of physical mass storage elements.
複数の大容量データ記憶素子が単一の論理大容量デー
タ記憶素子として操作されることは公知である。このよ
うな素子は、テープおよびその他の技術を含むディスク
ドライブまたはその他の大容量データ記憶技術からな
る。一組のこのような素子が、論理素子として集合的に
操作されると、書込み操作において記憶されたデータ
は、組合せの1つまたはそれ以上のメンバと公差して広
められる。It is known that multiple mass data storage elements are operated as a single logical mass data storage element. Such devices consist of disk drives or other mass data storage technologies, including tape and other technologies. When a set of such elements are operated collectively as logic elements, the data stored in the write operation is propagated tolerant with one or more members of the combination.
このような組合せの利点の1つは、データが迅速に記
憶され、または検索されることであり、それは全ての物
理的素子へまたは物理的素子から並行にデータが書込ま
れまたは読出されることである。このような組合せの別
の利点は、物理的故障についてより寛容であることであ
る。例えば、ある物理的素子が故障すれば、組合せの他
のメンバを読出しおよび書込むことがなお可能である。
さらに、組合せにおける冗長な情報を記憶することによ
り、故障した物理的素子に記憶されたデータを回復する
ことができる確立を増加させることができる。冗長な情
報は、鏡像または陰影データの形式を採り、この場合、
組合せのいずれかの素子に記憶されたデータは、組合せ
の他の素子に複写される。また、組合せに記憶された冗
長な情報の量は、検査データとして共通に参照されるこ
とを記憶することにより低減し得る。このような検査デ
ータは、典型的には、組合せに記憶されたデータを符号
化することにより構築されるコードワードからなる。故
障した素子に記憶されたデータの再構築は、コードワー
ドからの不足データの数学的抽出により達成される。One of the advantages of such a combination is that data is stored or retrieved quickly, which means that data is written to or read from all physical elements or in parallel from physical elements. It is. Another advantage of such a combination is that it is more tolerant of physical failure. For example, if one physical element fails, it is still possible to read and write other members of the combination.
In addition, storing redundant information in combinations can increase the probability that data stored on a failed physical element can be recovered. The redundant information is in the form of mirror or shadow data,
Data stored in any element of the combination is copied to the other element of the combination. Also, the amount of redundant information stored in the combination can be reduced by storing what is commonly referred to as test data. Such test data typically consists of a codeword constructed by encoding the data stored in the combination. Reconstruction of the data stored on the failed device is achieved by mathematical extraction of the missing data from the codeword.
論理素子として複数の物理的素子を使用することの他
の利点は、大容量記憶のユニット毎の読出し/書込みヘ
ッドの比が増加することである。それぞれデータを個々
にアクセスすることができるこのようなアクチュエータ
のより大きな密度を有する結果として、同時に要求され
るデータのより大きな番号を処理することを、論理素子
に対して可能となる。これは、高度の集合要求/第2の
率を要求するデータベースおよびオンラインのトランザ
クション処理のような適用業務において有利である。Another advantage of using multiple physical elements as logic elements is that the ratio of read / write heads per unit of mass storage is increased. As a result of having a greater density of such actuators, each of which can access data individually, it is possible for the logic element to simultaneously process a greater number of required data. This is advantageous in applications such as databases and on-line transaction processing that require a high rate of aggregate requests / second rate.
並行で多数の物理的素子の使用は、構成に従い、この
ような組合せの可能性の高い帯域幅、例えば同時に書込
みまたは読出しができる多数のデータ、を与えることが
できる。高い帯域幅は、実時間解析、数値解析およびイ
メージ処理のような適用業務に対して有利である。この
ような素子の組合せにおける高い帯域幅を与えるための
公知の技術は、組合せの素子を交差するインタリービン
グデータブロックにより、データを記憶することであ
り、このブロックは、組合せを介してラウンドロビン方
式でシーケンシャルに記憶される。これは、またデータ
のストライプをすることとして知られている。The use of multiple physical elements in parallel, depending on the configuration, can provide a likely bandwidth of such a combination, eg, a large number of data that can be written or read simultaneously. High bandwidth is advantageous for applications such as real-time analysis, numerical analysis and image processing. A known technique for providing high bandwidth in such a combination of elements is to store data by interleaving data blocks that intersect the elements of the combination, which block is implemented in a round-robin fashion through the combination. Is stored sequentially. This is also known as striping data.
しかしながら、物理的大容量記憶素子の組合せが上記
利点の可能性を有する間、その他の中に、このような組
合せにおいてデータを編成しかつバックアップするため
の公知の技術は、異なる適用業務に対してこれらの利点
を最高に活用することにおいて、柔軟性を与えることは
ない。このような素子の組合せにおいて可能なデータ編
成の全部の範囲を利用することはない。換言すれば、複
数の物理的記憶素子から作成された大容量記憶装置は、
異なるデータの記憶の必要性を有する2つの共に現在運
転している適用業務、例えば大きなデータ転送(高い帯
域幅)を要求する一方の適用業務、および高周波数転送
を要求する他方の適用業務(高い操作範囲)に対し、論
理記憶素子として操作することを要求される。第3の適
用業務は、高い帯域幅と高い操作範囲の両方が与えるた
めの装置を要求する。物理的素子の組合せに対する公知
の操作技術は、このような可変の必要性に対する応答に
おいて、最適なサービスを与えるために、単一の組合せ
からなる物理的素子をダイナミックに構成することの能
力は与えられない。However, while the combination of physical mass storage elements has the potential for the advantages described above, among other things, known techniques for organizing and backing up data in such combinations may require different applications. There is no flexibility in taking full advantage of these advantages. The full range of data organization possible in such a combination of elements is not utilized. In other words, a mass storage device created from a plurality of physical storage elements
Two currently running applications with different data storage needs, for example, one application requiring large data transfer (high bandwidth) and the other application requiring high frequency transfer (high Operation range) is required to operate as a logical storage element. A third application requires equipment to provide both high bandwidth and high operating range. Known operating techniques for combinations of physical elements provide the ability to dynamically compose a single combination of physical elements to provide optimal service in response to such variable needs. I can't.
従って、必要とされる高い信頼性と共に、高い帯域幅
と高い操作範囲の両方を柔軟に与えることができる複数
の物理的記憶素子から作成された大容量記憶装置を提供
することができることが好ましい。Accordingly, it would be desirable to be able to provide a mass storage device made from a plurality of physical storage elements that can flexibly provide both high bandwidth and high operating range with the required high reliability.
発明の概要 この発明の目的は、必要とされる高い信頼性と共に、
高い帯域幅と高い操作範囲の両方を柔軟に与えることが
できる複数の物理的記憶素子から作成された大容量記憶
装置を提供することにある。SUMMARY OF THE INVENTION The purpose of this invention is to provide the required high reliability,
It is an object of the present invention to provide a mass storage device made of a plurality of physical storage elements that can flexibly provide both a high bandwidth and a high operation range.
本発明によれば、1つまたはそれ以上の論理的に冗長
なグループとして、第1の論理レベルで機能するような
動作的に内部結合された多数の物理的大容量データ記憶
素子からなる大容量データ記憶装置が提供される。それ
ぞれ論理的に冗長なグループの幅、深さおよび冗長な型
式(例えば、鏡像データまたは検査データ)、およびそ
れらにおける冗長な情報の位置は、好適な容量および信
頼性の要求に対し、独立して構築可能である。第2の論
理的レベルで、大容量記憶データのブロックは、1つま
たはそれ以上の論理データグループにグループ化され
る。論理的に冗長なグループは、このようなデータグル
ープの1つ以上に分割される。それぞれの論理データグ
ループにおけるデータブロックの幅、深さ、アドレッシ
ングシーケンスおよび配列は、それぞれ異なる可能性の
ある帯域幅および操作範囲の特性を有する大容量データ
領域に分割するために、独立して構築可能である。According to the present invention, a large capacity comprising a number of physically large data storage elements operatively interconnected to function at a first logic level as one or more logically redundant groups. A data storage device is provided. The width, depth and type of redundancy (e.g., mirror image data or inspection data) of each logically redundant group, and the location of the redundant information therein, are independent of the desired capacity and reliability requirements. Can be built. At a second logical level, blocks of mass storage data are grouped into one or more logical data groups. Logically redundant groups are divided into one or more of such data groups. The width, depth, addressing sequence and arrangement of data blocks in each logical data group can be independently constructed to divide them into large data areas with potentially different bandwidth and operating range characteristics It is.
ホストコンピュータ操作システムの適用業務ソフトウ
エアと対話するため、第3の論理的レベルも、また提供
される。適用業務レベルは、データクループ、単独また
は1つまたはそれ以上の冗長なグループからの組合せを
許容するために、単一の論理記憶ユニットとして適用業
務ソフトウエアに対し出力するために、データグループ
に論理的適用業務ユニットを加える。このような装置の
操作方法が、さらに提供される。A third logical level is also provided for interacting with the application software of the host computer operating system. Application levels are logically grouped into data groups for output to application software as a single logical storage unit to allow for data groups, single or combination from one or more redundant groups. Add a business application unit. A method of operating such a device is further provided.
図面の簡単な説明 本発明の上記および他の目的および利点は、同様の参
照符号が引用する同様の部分からなる添付図面との関係
において、後述する詳細な説明を考慮すれば明白であろ
う。BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects and advantages of the present invention will be apparent in light of the following detailed description, taken in conjunction with the accompanying drawings, wherein like reference numerals designate like parts.
図1は、公知技術による組合せの駆動中に分配される
検出データにおける一組のディスクドライブの概略結線
図である。FIG. 1 is a schematic connection diagram of a set of disk drives in detection data distributed during driving of a combination according to the prior art.
図2は、本発明において使用するために好適な大容量
記憶システムの概略結線図である。FIG. 2 is a schematic diagram of a mass storage system suitable for use in the present invention.
図3は、マグネチックディスクの表面にデータを分配
するための概略結線図である。FIG. 3 is a schematic connection diagram for distributing data to the surface of the magnetic disk.
図4は、本発明による冗長なグループの第1の好適な
実施例としてのデータを分配するための概略結線図であ
る。FIG. 4 is a schematic connection diagram for distributing data as a first preferred embodiment of a redundant group according to the present invention.
図5は、本発明による冗長なグループの第2の特に好
適な実施例としてのデータを分配するための概略結線図
である。FIG. 5 is a schematic connection diagram for distributing data as a second particularly preferred embodiment of a redundant group according to the present invention.
図6は、本発明の原理により、素子の組合せのメモリ
スペースを構成する方法示す結線図である。FIG. 6 is a connection diagram illustrating a method of configuring a memory space of a combination of elements according to the principles of the present invention.
図7は、本発明の論理的レベルの間でのマッピングに
対するデータ構成の模範的実施例の結線図である。FIG. 7 is a schematic diagram of an exemplary embodiment of a data structure for mapping between logical levels of the present invention.
発明の詳細な説明 本発明は、1もしくはそれ以上の論理的大容量記憶素
子としてダイナミックに構築される一組の物理的大容量
データ記憶素子を提供するものである。本発明に従い、
このような一組の物理的素子は、1もしくはそれ以上の
冗長なグループとして構築され、そしてそれぞれの冗長
なグループは、1もしくはそれ以上のデータグループと
して構築される。DETAILED DESCRIPTION OF THE INVENTION The present invention provides a set of physical mass data storage elements that are dynamically constructed as one or more logical mass storage elements. According to the present invention,
Such a set of physical elements is constructed as one or more redundant groups, and each redundant group is constructed as one or more data groups.
公知の素子の組合せとして従来使用されている、冗長
なグループは、同様の冗長な素子の組合せと全て共用す
る一群の物理的素子である。冗長な素子は、もしグルー
プの1もしくはそれ以上の物理的素子が事故であれば、
記憶したデータの回復の目的のため、複写データまたは
検査データを記憶する素子である。A redundant group, conventionally used as a known combination of elements, is a group of physical elements that are all shared with similar redundant element combinations. Redundant elements are used if one or more physical elements of the group are accidental.
An element that stores copy data or inspection data for the purpose of recovering stored data.
検査データが伴うと、全体の冗長なグループに対する
冗長な素子としての特別な物理的素子の指定は、冗長な
素子がグループにおけるその他の物理的素子のいずれか
に伴う全ての書込み操作のためにアクセスされることを
要求する。従って、グループに対する全ての書込み操作
は、全てのデータ記憶素子よりも少なく伴う小さなデー
タアクセスに対すると同一の、他の1つと干渉する。With the test data, the designation of a special physical element as a redundant element for the entire redundant group allows the redundant element to be accessed for all write operations involving any of the other physical elements in the group. To be done. Thus, every write operation to a group interferes with the other one, which is the same for small data accesses involving less than all data storage elements.
冗長なグループ、すなわち、冗長なグループの幾つか
のまたは全ての素子の部分からなる論理的に冗長な素子
のような形成を経て検査データを分配することにより、
書込み操作上におけるこのような競合問題を回避するこ
とが知られている。例えば、図1は13のディスク記憶素
子のグループを示す。列は可変ディスクD1−D13で表示
し、そして行はディスク上の異なるセクタS1−S5で表示
する。検査データを含むセクタは、ハッチングで示され
る。ディスクD13のセクタS1は、ディスクD1−D12のセク
タS1に対する検査データを含む。同様に、ハッチングさ
れた残りのセクタは、それらのそれぞれセクタ行に対す
る検査データを含む。このように、もしデータがディス
ク7のセクタS4に対し書込まれるならば、更新検査デー
タはディスクD10のセクタS4に書込まれる。これは、古
い検査データの読出しにより、それが新規なデータを使
用する再符号化をし、そしてディスクに対する新しい検
査データの書込みにより達成される。この操作は、読出
し−変更−書込みとして、指示される。同様に、もしデ
ータがディスクD11のセクタS1に書込まれるならば、検
査データはディスクD13のセクタS1に書込まれる。書込
みのために、4つのディスクのこのような選択におい
て、重複はしないので、読出し−変更−書込みの両者の
操作は、並行して実行され得る。By distributing the test data through the formation of a redundant group, i.e. a logically redundant element consisting of parts of some or all elements of the redundant group,
It is known to avoid such contention problems on write operations. For example, FIG. 1 shows a group of thirteen disk storage elements. The columns are denoted by variable disks D1-D13, and the rows are denoted by different sectors S1-S5 on the disk. Sectors containing inspection data are indicated by hatching. Sector S1 of disk D13 includes inspection data for sector S1 of disks D1-D12. Similarly, the remaining hatched sectors contain inspection data for their respective sector rows. Thus, if the data is written to sector S4 of disk 7, the update check data is written to sector S4 of disk D10. This is achieved by reading the old test data, re-encoding it using the new data, and writing the new test data to the disk. This operation is indicated as read-modify-write. Similarly, if the data is written to sector S1 of disk D11, the test data is written to sector S1 of disk D13. For writing, in such a selection of four disks, there is no overlap, so both read-modify-write operations can be performed in parallel.
図1に示す方法での冗長なグループにおける検査デー
タの分配は、ストライプした検査データの構築として知
られている。用語「ストライプした冗長なグループ」と
は、図1に示すようなストライプされた構築において配
置される検査データの冗長なグループに対し、通常ここ
に引用するために使用され、そして用語「冗長なグルー
プのストライプ深さ」とは、このようなストライプした
冗長なグループにおける各検査データのストライプの深
さに対し、ここに引用するために使用される。The distribution of test data in redundant groups in the manner shown in FIG. 1 is known as the construction of striped test data. The term “redundant striped group” is generally used herein to refer to a redundant group of test data arranged in a striped configuration as shown in FIG. 1, and the term “redundant group” The "stripe depth of" is used to refer to the stripe depth of each test data in such a striped redundant group.
従来公知の素子の組合せにおいて、単一の冗長なグル
ープとしての全部の組合せを得ることは知られている。
冗長なグループは、それぞれ冗長なグループの深さ部分
として定義され、そしてそれぞれ同様の冗長なグループ
において他のエクステントのそれから異なる検査データ
の構築を有し得る可変な「エクステント」に分割され得
ることが見出された。さらに、1つ以上の冗長なグルー
プは、単一の「アレイコントローラ」の制御下に、そし
て1もしくはそれ以上の素子コントローラを経て主要処
理ユニットと接続した、単一の素子の組合せにおいて得
られることが見出された。It is known to obtain all combinations as a single redundant group in previously known combinations of elements.
A redundant group may be defined as a depth portion of each redundant group, and may be divided into variable "extents", each of which may have a different construction of test data from that of other extents in a similar redundant group. Was found. Further, one or more redundant groups may be obtained under the control of a single "array controller" and in a single element combination connected to the main processing unit via one or more element controllers. Was found.
同様に、従来公知の素子の組合せにおいて、単一の冗
長なグループは、適用業務データに対する1つのみのデ
ータグループ、例えば、単一の論理素子として操作され
る素子の組合せ、を含んでいた。しかしながら、冗長な
グループは、分離した論理記憶素子として、または大き
な論理記憶素子の部分として、それぞれ複合データグル
ープに、分解し得ることが見出された。データグループ
は、単一の物理的素子上に全ての利用可能な大容量記憶
メモリ(例えば、適用業務データを記憶するために利用
可能な素子上の全てのメモリ)を含むことができ、また
は、冗長なグループにおける複数の物理的素子上の全て
の利用可能な大容量記憶メモリを含むことができる。さ
らに、以下により十分に説明するように、データグルー
プは、幾つかの物理的素子を含むことができるが、しか
し各素子の全ての利用可能な大容量記憶メモリを含む代
りに、各素子の利用可能な大容量記憶メモリの部分のみ
を含み得る。加えて、異なる冗長なグループから単一の
論理素子の形式へデータグループを許容することが可能
であることが見出された。これは、より十分に説明され
るように、冗長でかつデータグループの上の追加論理層
に重ねることにより、達成される。Similarly, in previously known combinations of elements, a single redundant group included only one data group for application data, for example, a combination of elements operated as a single logical element. However, it has been found that the redundant groups can be broken down into separate data groups, each as a separate logical storage element or as part of a larger logical storage element. The data group may include all available mass storage memory on a single physical element (eg, all memory on the element available for storing application data), or It can include all available mass storage memory on multiple physical elements in a redundant group. In addition, as described more fully below, a data group can include several physical elements, but instead of including all available mass storage memory of each element, use of each element It may include only parts of the possible mass storage memory. In addition, it has been found that it is possible to allow groups of data from different redundant groups to the form of a single logic element. This is achieved by being redundant and overlaying additional logical layers above the data groups, as described more fully.
さらに、適用業務データが組合せの素子と交差してイ
ンタリーブされる従来公知の素子の組合せにおいて、デ
ータの編成または幾何学は非常に単純な形式である。こ
のような組合せは、通常、同様の論理ユニットにおける
適用業務データの異なる論理編成を可能にし得ず、また
論理ユニットにおける適用業務データの論理編成のダイ
ナミックマッピングを可能にすることもし得ない。デー
タグループでのデータの編成は、種々の方法でダイナミ
ックに構築することができることが見出された。特に、
重要なこととして、データグループのデータのストライ
プ深さは、冗長なグループのストライプ深さに独立して
作成され、そして異なるデータ記憶要求を有する適用業
務に対し、最適効率の特性を得るために、論理ユニット
での一方のデータグループから他方のデータグループへ
可変にすることができることが見出された。Furthermore, in the known combination of elements in which application data is interleaved across the elements of the combination, the organization or geometry of the data is of a very simple form. Such a combination usually cannot allow for a different logical organization of the application data in the same logical unit, and may not allow for a dynamic mapping of the logical organization of the application data in the logical unit. It has been found that the organization of data in data groups can be dynamically constructed in various ways. In particular,
Importantly, the data stripe depth of the data group is created independently of the redundant group stripe depth, and for applications with different data storage requirements, to obtain optimal efficiency characteristics, It has been found that one data group in a logical unit can be variable from another data group.
2つの並行アレイ201および202を含む大容量記憶シス
テム200の実施例は、図2のブロック結線図に示され
る。図2に示すように、各並行アレイ201および202は、
13の物理的素子203−215および並行アレイコントローラ
216を含む。並行アレイコントローラ216は、データをど
のように並行アレイのドライブに書込み、そして確認す
るかを、制御するマイクロプロセッサ216aを含む。マイ
クロプロセッサ216aは、また、物理的素子の1つが誤動
作し、または並行アレイの他の物理的素子と同期外れを
生じた際に、データの更新または再生制御をする。本発
明に関し、各並行アレイコントローラにおけるマイクロ
プロセッサ216aは、また、冗長なグループ、データグル
ープおよび適用業務ユニットへの、並行アレイ201およ
び202の分割を制御する。冗長なグループ、データグル
ープおよび適用業務ユニットは、並行アレイが装備され
る際に、システム操作者により初期的に構築され、また
並行アレイの茶道時間中に使用する前の時間で構築され
得る。構築は、以下のより詳細な説明により、好ましく
は、並行アレイの各物理的ドライブ上の、マイクロプロ
セッサ216aのプログラムメモリにおいて、可変アドレス
マップを作成して使用される確実な構築パラメータを定
義することにより達成される。An example of a mass storage system 200 including two parallel arrays 201 and 202 is shown in the block diagram of FIG. As shown in FIG. 2, each parallel array 201 and 202 comprises:
13 physical elements 203-215 and parallel array controller
Includes 216. Parallel array controller 216 includes a microprocessor 216a that controls how data is written to and verified on the drives of the parallel array. The microprocessor 216a also controls the updating or reproduction of data when one of the physical elements malfunctions or becomes out of sync with the other physical elements in the parallel array. For the present invention, the microprocessor 216a in each parallel array controller also controls the division of the parallel arrays 201 and 202 into redundant groups, data groups and application units. Redundant groups, data groups and application units are initially established by the system operator when the parallel array is equipped, and may be established at a time prior to use during the tea ceremony time of the parallel array. The build is defined by the following more detailed description, preferably in the program memory of the microprocessor 216a, on each physical drive of the parallel array, creating a variable address map to define the secure build parameters used. Is achieved by
各並行アレイ201および202は、一対の素子コントロー
ラ218および220と接続される。各素子コントローラは、
CPU主メモリにバスまたはチャネル222により順次に接続
される。一般的に、各並行アレイは、少なくとも2つの
素子コントローラに接続され、そして1もしくはそれ以
上のCPU主メモリからその並行アレイへの少なくとも2
つの並行経路となる。このように、例えば、各並行アレ
イ201および202は、バス224および226により、素子コン
トローラ218および220と接続される。このように、CPU
から並行アレイへの並行データ経路は、使用中または障
害のある素子コントローラの周りの経路指定データとし
て、使用可能である。Each parallel array 201 and 202 is connected to a pair of element controllers 218 and 220. Each element controller:
It is sequentially connected to the CPU main memory by a bus or channel 222. Generally, each parallel array is connected to at least two element controllers, and at least two CPUs from one or more CPU main memories to the parallel array.
There are two parallel paths. Thus, for example, each parallel array 201 and 202 is connected to element controllers 218 and 220 by buses 224 and 226. Thus, the CPU
The parallel data path from the to the parallel array can be used as routing data around a busy or failed device controller.
各並行アレイとして、ディスクドライブユニット203
−214からなる駆動セット、およびディスクドライブユ
ニット215からなるバックアップセットが存在する。並
行アレイコントローラは、素子コントローラ218および2
20とディスクドライブユニット203−215の特定の1つま
たはそれと同様ものとの間でデータを送る。素子コント
ローラ218および220は、1もしくはそれ以上のCPUの主
メモリに対し、並行アレイ201および202とインタフェー
スし、そしてこれらCPUにより駆動される適用業務か
ら、処理I/Oの要求に対して応答可能である。Disk drive unit 203 as each parallel array
There is a drive set consisting of −214 and a backup set consisting of the disk drive unit 215. The parallel array controllers are the same as the element controllers 218 and 2
Send data between 20 and a particular one of disk drive units 203-215 or the like. Element controllers 218 and 220 interface with parallel arrays 201 and 202 to the main memory of one or more CPUs and can respond to processing I / O requests from applications driven by these CPUs It is.
並行アレイ201および202の駆動セット230の可変物理
的ドライブの中でどのようにデータを展開させるかを理
解するために、単一のドライブの幾何学を理解すること
が必要である。図3は、ディスクドライブの最も単純な
型式、単一のプラッタドライブ、の一側面を示す。パー
ソナルコンピュータにおける幾つかのディスクドライブ
は、両面にデータを記憶することができる単一のディス
ク型「プラッタ」を有する、この種の型式からなる。多
くの複合型ドライブにおいては、プラッタのスピンの周
りに中央ポストがある1つの「スピンドル」上に幾つか
のプラッタが存在する。To understand how to deploy data within the variable physical drives of the drive set 230 of the parallel arrays 201 and 202, it is necessary to understand the geometry of a single drive. FIG. 3 shows one aspect of the simplest type of disk drive, a single platter drive. Some disk drives in personal computers are of this type, with a single disk-type "platter" capable of storing data on both sides. In many hybrid drives, there are several platters on one "spindle" with a central post around the platter spin.
図3に示すように、ディスクプラッタの各面300は、
複数の幾何学的角度301に分割され、図3には8つの分
割が示されているが、他の数の分割であってもよい。面
300は、また、実質的に等しい幅の複数のリング形の
「トラック」に分割され、図3には7トラックのものが
示されている。トラックと幾何学的角度の交差区画は、
セクタとして知られ、そして典型的にはディスクドライ
ブシステムにおける記憶の最も基本的な単位である。図
3には、56のセクタ303が示されている。As shown in FIG. 3, each surface 300 of the disk platter
It is divided into a plurality of geometrical angles 301, and eight divisions are shown in FIG. 3, but other numbers of divisions may be used. surface
The 300 is also divided into a plurality of ring-shaped "tracks" of substantially equal width, with seven tracks shown in FIG. The intersection of the track and the geometric angle is
Known as a sector, and is typically the most basic unit of storage in a disk drive system. FIG. 3 shows 56 sectors 303.
一つのスピンドル上のディスクプラッタの幾つかの面
300上の等しい半径のトラック302の集まりは「シリン
ダ」を形成する。したがって、一枚プラッタ両面のドラ
イブには、高さ=2のシリンダがあり、片面300上のト
ラック302の数と等しい数のシリンダがある。二枚プラ
ッタのドライブでは、シリンダの高さは4となる。片面
の一枚プラッタのドライブでは、シリンダの高さは1で
ある。Several faces of disk platter on one spindle
A collection of equal radius tracks 302 on 300 forms a "cylinder". Thus, a single platter duplex drive has two cylinders with height = 2 and has as many cylinders as tracks 302 on one side 300. For a two platter drive, the cylinder height would be four. For a single platter drive on one side, the cylinder height is one.
ディスクドライブは、側面300の表面上を移動する
「リード/ライトヘッド」により、読出しおよび書込み
が行われる。図4は、データのサブユニット、すなわち
セクタ、トラックおよびシリンダの、本発明に示される
より好適な方法における、8つの単一プラッタ、2側面
ドライバ400−407の一群の中での、分配が示される。ド
ライブ400−407は、例えば、並行アレイ201または202の
ドライブユニット203−210と対応する。それぞれの小さ
い水平分割体は、セクタ408に表示される。各ドライブ
に対し、4つのシリンダ409−412は、2つのトラック41
3および414を含む各シリンダ、5つのセクタを含む各ト
ラックが示される。The disk drive performs reading and writing by a “read / write head” that moves on the surface of the side surface 300. FIG. 4 shows the distribution of data sub-units, ie, sectors, tracks and cylinders, within a group of eight single platters, two-sided drivers 400-407 in a more preferred manner as shown in the present invention. It is. Drives 400-407 correspond, for example, to drive units 203-210 of parallel array 201 or 202. Each small horizontal split is displayed in sector 408. For each drive, four cylinders 409-412 consist of two tracks 41
Each cylinder containing 3 and 414, each track containing 5 sectors is shown.
図4に示される好適な実施例において、グループ416
は、データを冗長させるのに使用される「P」検査デー
タおよび「Q」検査データとして引用される、冗長なデ
ータの2つの型式としての単一の冗長なグループからな
る。PおよびQ検査データは、冗長なグループとして記
憶された大容量記憶データに対し適用されるリードソロ
モンコード化アルゴリズムが決定される。使用される特
定の冗長方法は、実装規約によるものであって、この発
明の一部をなすものではない。図示のように、冗長なデ
ータは、グループ416の全てのスピンドル、または物理
的ドライブ、を交差して分配され、このグループは、グ
ループ416からなる冗長なグループに対する2つの論理
検査ドライブを形成する。例えば、ドライブ400−405の
シリンダ409のセクタ408におけるデータに対するPおよ
びQ検査データは、ドライブ406および407のシリンダ40
9に別々に含まれる。各タイムデータは、ドライブ400−
405のシリンダ409のいずれか1つに、いずれかのセクタ
408に対し書込まれ、読出し−変更−書込み操作は、冗
長データを更新するためにドライブ406および407の相対
するセクタに含まれるPおよびQ検査データ上で実行さ
れる。In the preferred embodiment shown in FIG.
Consists of a single redundant group as two types of redundant data, referred to as "P" test data and "Q" test data used to make the data redundant. The P and Q test data determines the Reed-Solomon coding algorithm applied to the mass storage data stored as redundant groups. The particular redundancy method used is by convention and not part of the present invention. As shown, redundant data is distributed across all spindles, or physical drives, of group 416, which form two logical test drives for the redundant group of groups 416. For example, the P and Q test data for the data in sector 408 of cylinder 409 of drives 400-405 are stored in cylinder 40 of drives 406 and 407.
9 Separately included. Each time data is stored in drive 400-
Any sector in any one of 405 cylinders 409
Writes to 408 and read-modify-write operations are performed on the P and Q test data contained in opposite sectors of drives 406 and 407 to update the redundant data.
同様に、ドライブ400−407のシリンダ410は、ドライ
ブ404および405のシリンダ410に含まれるPおよびQ検
査データを共用し、ドライブ400−407のシリンダ411
は、ドライブ402および403のシリンダ411に含まれるP
およびQ検査データを共用し、そしてドライブ400−407
のシリンダ412は、ドライブ400および401のシリンダ412
に含まれるPおよびQ検査データを共用する。Similarly, cylinders 410 of drives 400-407 share the P and Q inspection data contained in cylinders 410 of drives 404 and 405, and cylinders 411 of drives 400-407.
Is the P included in the cylinder 411 of the drives 402 and 403
And Q test data, and drives 400-407
Cylinder 412 of drive 400 and 401
Share the P and Q test data contained in.
3つのデータグループD1−D3は図4に示される。デー
タグループD1は、各スピンドル400、401のシリンダ409
を含む。データグループD2は、各スピンドル402、403の
シリンダ409を含む。データグループD3は、PおよびQ
検査データ含むこれらシリンダを除外したスピンドル40
0−407の残る全てのシリンダを含む。データグループD1
は、2つのスピンドル帯域幅を有し、データグループD2
は、4つのスピンドル帯域幅を有し、そしてデータグル
ープD3は、6つのスピンドル帯域幅を有する。このよう
に、本発明の原理に従って、冗長なグループが異なる帯
域幅の幾つかのデータグループからなることが、図4に
示されている。加えて、各データグループD1−D3は単独
でまたは他の任意の一つ若しくは複数のデータグループ
との組合せで、別々の論理記憶装置を構成する。これ
は、各データグループまたは個々の適用業務ユニットと
しての組合せを定義することにより、達成することがで
きる。適用業務ユニットは、以下により詳細に説明す
る。Three data groups D1-D3 are shown in FIG. Data group D1 includes cylinders 409 of spindles 400 and 401.
including. Data group D2 includes cylinders 409 of each spindle 402,403. Data group D3 contains P and Q
Spindle 40 excluding these cylinders including inspection data
Includes all remaining cylinders 0-407. Data group D1
Has two spindle bandwidths and data group D2
Has four spindle bandwidths, and data group D3 has six spindle bandwidths. Thus, in accordance with the principles of the present invention, it is shown in FIG. 4 that a redundant group consists of several data groups of different bandwidths. In addition, each data group D1-D3 alone or in combination with one or more other data groups constitutes a separate logical storage device. This can be achieved by defining combinations as each data group or individual application unit. Application units are described in more detail below.
図4において、セクタ408は、論理データブロックの
シーケンスとして、各データグループに番号付けされ
る。このシーケンスは、データグループが構築される際
に定義され、そして種々の方法で配置することができ
る。図4は、各データグループにおけるセクタが個々の
データグループの幅と交差するストライプにおいて、左
から右へ番号付けされる場合の、関連する単純な配置を
示し、各データストライプは、1つのセクタの幅を有す
る。このような配置は、連続的に番号付けしたセクタの
最大並行転送レートを各データグループの与えられた帯
域幅に対し可能にする。In FIG. 4, sectors 408 are numbered for each data group as a sequence of logical data blocks. This sequence is defined when the data group is built and can be arranged in various ways. FIG. 4 shows an associated simple arrangement where the sectors in each data group are numbered from left to right in stripes that intersect the width of the individual data groups, where each data stripe is a single sector of data. Have a width. Such an arrangement allows a maximum parallel transfer rate of consecutively numbered sectors for a given bandwidth of each data group.
用語の「データグループのストライプ深さ」は、ここ
で説明するように、データグループを与えるために、デ
ータグループにおけるデータの単一ストライプの境界
で、ドライブ上に記憶された論理的連続データセクタの
数として使用される。この発明の原理に従って、データ
グループのストライプの深さは、冗長のグループのスト
ライプの深さに対し、より小さく、より大きくまたは等
しくなる。この例の1つとして、図4は、1つのセクタ
のデータグループのストライプ深さをそれぞれ有するデ
ータグループD1−D3を示し、そして1つのシリンダの冗
長なグループのストライプ深さを有する冗長なグループ
の中に全て含まれる。The term "data group stripe depth", as described herein, refers to a logically contiguous data sector stored on a drive at the boundary of a single stripe of data in a data group to provide a data group. Used as a number. In accordance with the principles of the present invention, the stripe depth of the data group is smaller, greater, or equal to the stripe depth of the redundant group. As one example of this, FIG. 4 shows data groups D1-D3 each having a data group stripe depth of one sector, and a redundant group having a stripe depth of one cylinder redundant group. It is included in everything.
冗長なグループ416は、同時に6つのデータの読出し
要求、すなわち各スピンドル400−405からの1つ、を処
理する。それは、スピンドルのリード/ライトヘッド
が、他方へ個別に移動するからである。図4において構
築されるような冗長なグループ416は、また、同時に書
込み要求の確実な組合せを処理擦ることができる。例え
ば、データグループD1のデータセクタの多くの要求にお
いて、スピンドル400、401、406または407上のPおよび
Q検査データによりバックアップし得ないスピンドル40
2−405を含むデータグループD3のデータセクタと同時に
書込みし得る。Redundant group 416 processes six data read requests simultaneously, one from each spindle 400-405. This is because the read / write heads of the spindle move individually to the other. Redundant groups 416, such as those constructed in FIG. 4, can also simultaneously process certain combinations of write requests. For example, in many requests for data sectors of data group D1, spindle 40 that cannot be backed up by P and Q test data on spindles 400, 401, 406 or 407
Data can be written simultaneously with the data sector of data group D3 including 2-405.
図4において構築されるような冗長なグループ416
は、一般的に、データグループD1およびD2におけるセク
タに対し、同時に書込み操作の処理はできない。しかし
ながら、これらのデータグループのいずれかで書込み操
作を実行する理由は、ドライブ406および407に対し好適
に書込むことが必要であるからである。書込み操作のみ
は、何時でもドライブ406、407の検査データ上で実行し
得る。同様に、データグループの分配と無関係に、同様
のドライブ上の検査データによりバックアップされる2
つのデータセクタに対する書込み操作は、値同時にする
ことはできない。ある時点での場所よりも多くなる検査
データのリード/ライトヘッドに対する要求は、「不一
致」として参照することができる。Redundant group 416 as constructed in FIG.
Generally cannot simultaneously process write operations on sectors in data groups D1 and D2. However, the reason for performing a write operation on any of these data groups is that it is necessary to suitably write to drives 406 and 407. Only write operations may be performed on the test data of drives 406, 407 at any time. Similarly, independent of the distribution of data groups, backed up by inspection data on similar drives 2
Write operations to two data sectors cannot be simultaneous. A request to the read / write head for more test data than at a point in time can be referred to as a "mismatch."
上述した共通検査ドライブを共通にする異なるデータ
ドライブに対し同時に書込むことに関する制限は、ドラ
イブシステムを特別に検査することであり、本発明を限
定するものではない。例えば、制限は、鏡像の冗長なグ
ループを使用する発明の実施により回避することがで
き、この冗長なグループは、異なるデータドライブが同
様のドライブ上の冗長なデータと共通するという特性を
有しない。The limitation on writing simultaneously to different data drives sharing the common test drive described above is that the drive system is specially tested and is not a limitation of the present invention. For example, limitations can be avoided by implementing the invention using redundant groups of mirror images, which redundant groups do not have the property that different data drives have in common with redundant data on similar drives.
図5は、本発明により構築された冗長なグループ416
の特に好適な実施例を示すものである。図5において、
図4におけるように、論理検査「ドライブ」は、シリン
ダ基準毎にスピンドル400−407の全ての中に展開される
が、トラック基準毎に、またはセクタ基準毎にすること
もできる。FIG. 5 shows a redundant group 416 constructed according to the present invention.
2 shows a particularly preferred embodiment of the present invention. In FIG.
As in FIG. 4, the logic test "drive" is deployed in all of the spindles 400-407 on a cylinder basis, but could be on a track basis or on a sector basis.
データグループD1およびD2は、図4におけるように構
築される。図4のデータグループD3のセクタは、しかし
ながら、4つのデータグループD4−D7の中で分割され
る。図5に示されるように、データグループD4−D7にお
けるセクタのシーケンスは、データグループD1およびD2
の単一−セクタ−深さストライプと同様ではない。デー
タグループD4は、20のセクタのデータグループストライ
プ深さ、データグループそれ自身の深さに等しい、を有
する。このように、データグループD4において、論理的
に番号付けされたセクタ0−19は、単一のスピンドル40
0のみをアクセスすることにより、連続的に読出すこと
ができ、これにより他のトランザクションを処理するた
めのスピンドル401−407のリード/ライトヘッドを許容
する。データグループD5、D6およびD7は、5つのセク
タ、2つのセクタおよび4つのセクタそれぞれの異なる
中間データグループのストライプ深さの例をそれぞれ示
す。Data groups D1 and D2 are constructed as in FIG. The sectors of data group D3 in FIG. 4 are, however, divided into four data groups D4-D7. As shown in FIG. 5, the sequence of the sectors in the data groups D4-D7 includes the data groups D1 and D2.
Not a single-sector-depth stripe of Data group D4 has a data group stripe depth of 20 sectors, equal to the depth of the data group itself. Thus, in data group D4, logically numbered sectors 0-19 comprise a single spindle 40
Accessing only 0 allows continuous reading, thereby allowing the read / write head of spindles 401-407 to process other transactions. Data groups D5, D6, and D7 show examples of different intermediate data group stripe depths for five sectors, two sectors, and four sectors, respectively.
可変スピンドル上の検査データの分配は、不一致を最
小にするこのような方法において選択される。さらに、
特有の分配を与え、そして並行アレイコントローラ216
ガ操作の命令を選択することの範囲に対し、命令は不一
致を最小にするように選択され得る。The distribution of inspection data on the variable spindle is chosen in such a way to minimize discrepancies. further,
Give unique distribution and parallel array controller 216
For the scope of selecting the command of the gas operation, the command may be selected to minimize the mismatch.
並行アレイ201および202の駆動セット230上の冗長な
グループおよびデータグループの分配は、パラメータ化
することができる。例えば、冗長なグループは、冗長な
グループ幅(スピンドルにおける)、検査データの特定
の組合せによりスパンされるスピンドルの数の表示、冗
長なグループの深さ(提出される、セクタ、トラックま
たはシリンダ)および冗長なグループのストライプ深さ
(また提出される、セクタ、トラックまたはシリンダ)
により特徴付けられる。データグループは、幅(スピン
ドルにおける)、深さ(提出される、セクタ、トラック
またはシリンダ)、およびデータグループのストライプ
深さ(また提出される、セクタ、トラックまたはシリン
ダ)により特徴付けられる。何故ならば、データグルー
プは、駆動セット230の開始時にのみスタートせず、デ
ータグループがスタートする時にスピンドルの開始から
スピンドルおよびオフセットの2つのパメータをする
「基礎」によって特徴付けられる。冗長なグループは、
データグループのように、全体のスピンドルの全てより
も少なく含まれる。加えて、前述したように、冗長なグ
ループは、複数の範囲に分割される。冗長なグループの
範囲は、等しい幅と、異なる基礎および深さとを有す
る。それぞれの範囲に対し、そこにおける検査データの
分配は、個々にパラメータ化される。好適な実施例にお
いて、各冗長なグループの範囲は、冗長なグループの範
囲での各冗長なグループのストライプの深さ、およびこ
のような冗長なグループのストライプに対するPおよび
Q検査データの駆動位置のように、追加内部パラメータ
を有する。The distribution of redundant groups and data groups on the drive sets 230 of the parallel arrays 201 and 202 can be parameterized. For example, redundant groups include redundant group width (at the spindle), an indication of the number of spindles spanned by a particular combination of inspection data, redundant group depth (submitted, sector, track or cylinder) and Redundant group stripe depth (also submitted, sector, track or cylinder)
It is characterized by A data group is characterized by a width (at the spindle), a depth (submitted, sector, track or cylinder) and a stripe depth of the data group (also submitted, sector, track or cylinder). Because the data group does not start only at the start of the drive set 230, it is characterized by a "basis" which, when the data group starts, makes two parameters, spindle and offset, from the start of the spindle. Redundant groups are
Like a data group, less than all of the entire spindle is included. In addition, as described above, the redundant group is divided into a plurality of ranges. Redundant group ranges have equal widths and different bases and depths. For each range, the distribution of test data therein is individually parameterized. In a preferred embodiment, the extent of each redundant group is determined by the stripe depth of each redundant group in the extent of the redundant group and the drive position of the P and Q test data for such a redundant group of stripes. As such, it has additional internal parameters.
冗長なグループの幅は、信頼性と容量との間の交換に
反映する。もし、冗長なグループの幅が大きいとすれ
ば、大きな容量は利用可能であり、従って大きな数以外
の2つのみからなるドライブは、データに対し残された
ドライブを通過させて、検査データとして使用される。
他方において、もし冗長なグループの幅が=4であれ
ば、状況は鏡像的または陰影的に終結し、ドライブの50
%は、検査データに対し、存在するものとして(しか
し、鏡像的に、もし4つの故障以外の2つのドライブの
収集が、それらの全てのデータが失われると、検査デー
タについて2つのドライバはその状況において再生す
る)使用される。このような、低い冗長なグループの幅
は、大きな信頼性を表われるが、しかし単位コスト当り
の容量は低く、一方高い冗長なグループの幅は、低い単
位コスト当りの容量は大きく表われるが、しかし相対的
に信頼性は高い。The width of the redundant group reflects an exchange between reliability and capacity. If the width of the redundant group is large, a large capacity is available, so a drive consisting of only two but a large number is passed through the remaining drives for data and used as test data. Is done.
On the other hand, if the width of the redundant group is = 4, the situation ends mirrorically or shaded, and 50
Percentage of the test data as being present (but mirroring, if the collection of two drives other than the four failures, all of their data is lost, the two drivers Used to play in situations). Such low redundancy group widths exhibit great reliability, but low capacity per unit cost, while high redundancy group widths exhibit high capacity per low cost unit, However, the reliability is relatively high.
データグループの幅は、上述した帯域幅と要求レート
との間での交換に反映する。すなわち、高いデータグル
ープの幅は、高い帯域幅に反映し、そして低いデータグ
ループの幅は、高い要求レートにに反映する。The width of the data group reflects the exchange between the bandwidth and the requested rate as described above. That is, the width of the high data group reflects on the high bandwidth, and the width of the low data group reflects on the high required rate.
データグループのストライプ深さは、また、帯域幅と
要求レートとの間での交換に反映する。このような交換
は、データグループとデータグループにおけるデータス
トライプの深さに対するI/O要求の平均サイズの関係に
より可変である。データグループのストライプ深さに対
する平均I/O要求サイズの関係は、いかにしばしばデー
タグループに対するI/O要求がデータグループで1つの
リード/ライトヘッド以上のスパンがあるかを決定し、
これはまた、帯域幅と要求レートとを決定する。大きな
比は、I/O要求における複数のデータドライブのスパン
と同様の結果であり、このような要求データは、もしデ
ータが1つのドライブの上の全てに位置されると、高い
帯域幅でアクセスされる。もし、他方において、高い要
求レートが促進されると、データグループのストライプ
深さは、データグループのストライプ深さに対するI/O
要求サイズの比が小さくなるように、好適に選択され
る。小さな比は、I/O要求が1つのデータドライブより
以上のスパンとなるような小さくなる見込みとしての結
果となり、このような見込みの増加は、データグループ
に対する複合的I/O要求が同時に処理され売ることであ
る。The data group stripe depth also reflects the exchange between bandwidth and required rate. Such an exchange is variable depending on the relationship between the data group and the average size of the I / O request with respect to the data stripe depth in the data group. The relationship of the average I / O request size to the stripe depth of the data group determines how often the I / O request for the data group spans more than one read / write head in the data group,
It also determines bandwidth and requested rate. The large ratio is a result similar to the span of multiple data drives in I / O requests, where such requested data is accessed with high bandwidth if the data is located all over one drive. Is done. If, on the other hand, a high request rate is promoted, the data group stripe depth will be less than the I / O to data group stripe depth.
It is preferably selected such that the ratio of the required sizes is small. A small ratio results in the likelihood that the I / O requests will be spanned more than one data drive, and such an increase in prospects will result in multiple I / O requests for data groups being processed simultaneously. Selling.
I/O要求の平均サイズの変化は、データグループのス
トライプ深さを選択することにおいて、計数することが
できる。例えば、平均I/O要求サイズがあたえられるこ
とに対し、望ましい要求レートを達成するために要求さ
れるデータグループのストライプ深さは、I/O要求サイ
ズの変化の増加に伴って増加する。The change in the average size of the I / O request can be counted in selecting the stripe depth of the data group. For example, given the average I / O request size, the stripe depth of the data group required to achieve the desired request rate increases with increasing changes in I / O request size.
本発明に従い、複数の物理的大容量記憶素子からなる
大容量記憶装置は、適用業務ユニットとしてここに引用
される、1つから、または共通論理ユニットへの異なる
冗長なグループからのデータグループのグルーピングに
より、さらに高められる。このような適用業務ユニット
は、可変データグループの異なる操作特性を組合わせた
単一の論理大容量記憶ユニットとして、操作システムの
適用業務ソフトウエアに対し、表われる。さらに、この
ような適用業務ユニットの利用は、適用業務ソフトウエ
アにより予期される特定の記憶アーキテクチャの個々の
システム操作者によって、望ましいように構築されるた
めのデータグループおよび冗長なグループを可能にす
る。このような、論理グルーピングの追加的レベルは、
冗長なグループおよびデータグループの論理的レベルと
同様であり、並行アレイコントローラ216により制御さ
れる。In accordance with the present invention, a mass storage device comprising a plurality of physical mass storage elements is referred to herein as an application unit, and groups data groups from one or from different redundant groups into a common logical unit. Is further enhanced. Such an application unit appears to the application software of the operating system as a single logical mass storage unit combining the different operating characteristics of the variable data groups. Further, the use of such application units allows for data groups and redundant groups to be constructed as desired by individual system operators of the particular storage architecture expected by the application software. . These additional levels of logical grouping are:
Similar to the logical level of redundant groups and data groups, controlled by the parallel array controller 216.
図6は、並行アレイの初期化において、どのように適
用業務ユニット、データグループおよび冗長なグループ
が、並行アレイ201または202のように、駆動セットに対
しマップされるかの例を示すものである。FIG. 6 shows an example of how application units, data groups, and redundant groups are mapped to drive sets, such as parallel arrays 201 or 202, during parallel array initialization. .
最初に論理ユニットのアドレススペースの線形グラフ
600に対し、このグラフは、CPU操作システムの適用業務
ソフトウエアに対し表われるものとして、並行アレイの
大容量データ記憶メモリを表示する。図6の特定の実施
例において、並行アレイは、2つの適用業務(論理)ユ
ニット(LUN0およびLUN1)からなる論理ユニットアドレ
ススペースを提供するために構築される。論理ユニット
LUN0は、論理ブロック番号LBN0−LBN19を有する20のア
ドレス可能な論理ブロックを含むように構築される。図
6に示されるように、論理ユニットLUN0は、また、ダイ
ナミック構築のために予約されたマップされていない論
理アドレススペース602を含む。ダイナミック構築手段
は、並行アレイの動作時間中においてCPUの適用業務ソ
フトウエアが、その初期の構築から並行アレイの構築に
変更することを要求できる。図6の実施例において、マ
ップされていないスペース602および604は、いずれかの
論理ユニットをラインから取出す要求なしに、各論理ユ
ニットに対し追加するためのデータグループを許容する
よう、各論理ユニットLUN0およびLUN1において、個別に
予約される。このような、ダイナミック構築の機能は、
構築の変更を要求するために、CPUの適用業務に対しメ
ッセージサービスを提供することにより、実施され得
る。大容量記憶システム200のために、メッセージサー
ビスは、例えば素子コントローラ218および220により、
処理し得る。論理ユニットLUN1は、複数のアドレス可能
な論理ブロックLBN0−LBN179およびLBN200−LBN239を含
む。論理ブロックLBN180−LBN199は、ダイナミック構築
のために予約され、そして並行アレイの初期構築におい
ては、図6に示すように、適用業務ソフトウエアに対し
利用可能ではない。First a linear graph of the logical unit address space
For 600, this graph displays the parallel array's mass data storage memory as it appears to the CPU operating system application software. In the particular embodiment of FIG. 6, the parallel array is constructed to provide a logical unit address space consisting of two application (logical) units (LUN0 and LUN1). Logical unit
LUN0 is constructed to include 20 addressable logical blocks with logical block numbers LBN0-LBN19. As shown in FIG. 6, logical unit LUN0 also includes an unmapped logical address space 602 reserved for dynamic construction. The dynamic construction means can request that the application software of the CPU change from its initial construction to a parallel array construction during the operating time of the parallel array. In the embodiment of FIG. 6, the unmapped spaces 602 and 604 are each logical unit LUN0 to allow a data group to be added to each logical unit without a request to remove any logical unit from the line. And LUN1 are individually reserved. Such dynamic construction features
It can be implemented by providing a message service to the CPU application to request a configuration change. For mass storage system 200, the message service is provided by, for example, element controllers 218 and 220.
Can be processed. Logical unit LUN1 includes a plurality of addressable logical blocks LBN0-LBN179 and LBN200-LBN239. Logical blocks LBN180-LBN199 are reserved for dynamic construction and are not available to application software during the initial construction of a parallel array, as shown in FIG.
論理ユニットLUN0の大容量記憶アドレススペースは、
データグループのアドレススペースチャート606により
示されるように、単一のデータグループD1からなる。デ
ータグループD1は、20の論理連続データプロック0−19
を含み、図4に示すように構築し、そして論理ブロック
番号LBN0−LBN19と1対1で対応する。論理ユニットLUN
1は、2つのデータグループD2およびD3を含み、40のデ
ータブロック番号0−39からなり、論理ユニットLUN1の
論理ブロックLBN200−LBN239、および180のデータブロ
ック番号0−179と対応し、論理ユニットLUN1の論理ブ
ロックLBN0−LBN179と対応する。図6の実施例に示され
るように、論理ユニットの論理ブロックは、種々の方法
で1もしくはそれ以上のデータグループのデータブロッ
クに対し望ましいように、マップし得る。データグルー
プのアドレススペース606は、また、ダイナミック構築
のために予約された追加のデータグループ(D4)および
(D5)を含む。これらのデータグループは、並行アレイ
の初期化において、または動作時間中のいずれかで、並
行アレイのディスクドライブ上にフォーマットされる
が、しかし並行アレイの初期構築において、適用業務ソ
フトウエアに対し利用可能ではない。The mass storage address space of logical unit LUN0 is:
As shown by the data group address space chart 606, it consists of a single data group D1. Data group D1 contains 20 logical continuous data blocks 0-19.
, And correspond one-to-one with the logical block numbers LBN0-LBN19. Logical unit LUN
1 includes two data groups D2 and D3 and consists of 40 data block numbers 0-39, corresponding to logical block LBN200-LBN239 of logical unit LUN1 and data block numbers 0-179 of 180, and logical unit LUN1 Logical blocks LBN0-LBN179. As shown in the embodiment of FIG. 6, the logical blocks of a logical unit may be mapped as desired to data blocks of one or more groups of data in various ways. The data group address space 606 also includes additional data groups (D4) and (D5) reserved for dynamic construction. These data groups are formatted on the disk drives of the parallel array, either during initialization of the parallel array or during operation time, but are available to application software during the initial configuration of the parallel array. is not.
並行アレイの冗長なグループ構築は、並行アレイの全
体のメモリスペースからなる2次元のアドレススペース
608によって示される。アドレススペース608は、駆動セ
ット230の12のドライブと、バックアップセット232の1
つのスペアドライブを含む、並行アレイの13の物理的ド
ライブが表示される。図6において、駆動セットのドラ
イブは、並行アレイにおけるそれらの論理位置に反映す
るために、個別に0−11の番号付けがされている。冗長
なグループのアドレススペース608により示されるよう
に、並行アレイは、3つの展開A、BおよびCを有する
1つの冗長なグループRG0として構築される。図示され
るように、各展開の幅は、冗長なグループRG0の、12の
論理ドライブ位置または、他の透視図からの、駆動セッ
ト230の全体の幅と等しい。The redundant group construction of the parallel array is a two-dimensional address space consisting of the entire memory space of the parallel array.
Indicated by 608. Address space 608 contains 12 drives in drive set 230 and 1 drive in backup set 232.
Thirteen physical drives in the parallel array are displayed, including one spare drive. In FIG. 6, the drives in the drive set are individually numbered 0-11 to reflect their logical position in the parallel array. As indicated by the redundant group address space 608, the parallel array is built as one redundant group RG0 with three deployments A, B and C. As shown, the width of each deployment is equal to the entire width of the drive set 230 from the 12 logical drive locations or other perspectives of the redundant group RG0.
冗長なグループRG0の展開Aは、ドライブ0−11のセ
クタ1−5を含む。このように、冗長なグループRG0の
展開Aは、12のスピンドルの幅、および5つのセクタの
展開深さを有する。図6の実施例において、展開Aは、
大容量記憶システム200と結合した診断プログラムのた
めのメモリスペースとして提供される。このような、診
断プログラムは、特定の診断操作が実行されることによ
り、多数の方法で展開Aのメモリスペースを構築する。
診断プログラムは、例えば、適用業務データおよび検査
データを含んでいる展開Aの境界で、再構成されるべく
他の展開の部分を生じ得る。Deployment A of redundant group RG0 includes sectors 1-5 of drives 0-11. Thus, deployment A of redundant group RG0 has a width of 12 spindles and a deployment depth of 5 sectors. In the embodiment of FIG.
Provided as a memory space for a diagnostic program coupled with the mass storage system 200. Such a diagnostic program constructs the memory space of the deployment A in a number of ways by executing a specific diagnostic operation.
The diagnostic program may generate other parts of the deployment to be reconstructed, for example, at the boundaries of deployment A containing application data and test data.
冗長なグループRG0の展開Bは、並行アレイ上に記憶
された全ての適用業務データを含む。特に、図6の実施
例において、展開Bは、データグループ(D4)および
(D5)に対し予約された追加のメモリスペースのよう
に、図4に示すように構築されたデータグループD1、D2
およびD3、および論理ユニットLUN0またはLUN1のいずれ
かに対しマップされないメモリスペースの領域609を含
む。この領域609は、例えば、他の適用業務により使用
される他の論理ユニット(例えば、LUN2)に対し、マッ
プされる。Deployment B of redundant group RG0 contains all application data stored on the parallel array. In particular, in the embodiment of FIG. 6, deployment B is a data group D1, D2 constructed as shown in FIG. 4, like the additional memory space reserved for data groups (D4) and (D5).
And D3, and an area 609 of memory space that is not mapped to either logical unit LUN0 or LUN1. This area 609 is mapped, for example, to another logical unit (eg, LUN2) used by another application.
アドレススペース608は、また、第2の診断領域が位
置つけられる第3の展開Cを含む。しかし、並行アレイ
は、単一の冗長なグループRG0のみを含んでいるように
示され、並行アレイは、1つの冗長なグループ以上に、
交互に分割される。たとえば、図4および図5に示され
るように、そして第2の冗長なグループが論理ドライブ
位置8−11に提供されるように、論理ドライブ位置0−
7を含む8つのスピンドルの幅を限定する。Address space 608 also includes a third deployment C in which the second diagnostic area is located. However, a parallel array is shown to include only a single redundant group RG0, and a parallel array has more than one redundant group,
Split alternately. For example, as shown in FIGS. 4 and 5 and such that a second redundant group is provided for logical drive locations 8-11.
Limit the width of eight spindles, including seven.
並行アレイの全体の幅は、冗長なグループRG0に含ま
れることは必要ではない。実施例として、図6は、上方
および下方の冗長なグループRG0が、冗長なグループを
含まないメモリスペースの部分610および611であること
を示す。図6の実施例において、部分610および611は、
並行アレイの構築を反映するデータ構成を含む。これら
のデータ構成は、図7との関係において、以下により詳
細に説明する。加えて、図6における領域DおよびEに
より表示される部分のような、アレイ展開A、Bおよび
Cとの間のメモリスペースの部分は、冗長なグループRG
0から除外される。The entire width of the parallel array need not be included in redundant group RG0. As an example, FIG. 6 shows that the upper and lower redundant groups RG0 are portions 610 and 611 of the memory space that do not include the redundant groups. In the embodiment of FIG. 6, portions 610 and 611 are:
Includes a data structure that reflects the construction of the parallel array. These data structures are described in more detail below in relation to FIG. In addition, portions of the memory space between array deployments A, B and C, such as those indicated by regions D and E in FIG.
Excluded from 0.
図6は、さらに、論理位置0におけるドライブの物理
的アドレススペースの線形表示を示すグラフ612を提供
する。グラフ612は、線0′−0″に沿ったアドレスス
ペースチャートの断面図を示し、さらに図6の模範的並
行アレイ構築における実施例として本発明の可変論理レ
ベルの関係を示す。FIG. 6 further provides a graph 612 showing a linear representation of the physical address space of the drive at logical location 0. Graph 612 shows a cross-sectional view of the address space chart along line 0'-0 "and further illustrates the relationship of the variable logic levels of the present invention as an example in the exemplary parallel array construction of FIG.
前述したように、並行アレイは、並行アレイの据付時
間および/または動作中で、初期的に操作者により構築
し得る。操作者は、各ユニットに対する最初に決定され
る容量、効率および冗長の要求により、使用すべき適用
業務ユニットをフォーマットし、そして構築する。これ
らの検討は、ここにおいて前述した通りである。容量、
効率および冗長の要求が定義されると、ユニットの論理
構成は、各論理層(冗長なグループ層、データグループ
層および適用業務ユニット層)に対する定義的パラメー
タにより指定され得る。これらのパラメータは、並行ア
レイコントローラ216のプロセッサ216aにより実行され
る構築ユーティリティプログラムを提供する。構築ユー
ティリティは、並行アレイに対する構築情報のメモリ常
駐のデータベースを管理する。好適には、このデータベ
ース情報の写しは、並行アレイに影響を及ぼす電源の故
障において消失される情報を予防するための不揮発性メ
モリニ保持される。プロセッサ216aにより実行されるフ
ォーマットユーティリティプログラムは、操作者により
指向されるように並行アレイの物理的ドライブをフォー
マッティングする場所の入力パラータのように、このデ
ータベースにおいて情報を利用する。As mentioned above, a parallel array may be initially constructed by an operator during installation time and / or operation of the parallel array. The operator formats and builds the application units to be used according to the initially determined capacity, efficiency and redundancy requirements for each unit. These considerations are as described above herein. capacity,
Once the efficiency and redundancy requirements are defined, the logical organization of the unit can be specified by the defining parameters for each logical layer (redundant group layer, data group layer and application unit layer). These parameters provide a construction utility program that is executed by the processor 216a of the parallel array controller 216. The configuration utility manages a memory-resident database of configuration information for the parallel arrays. Preferably, a copy of this database information is maintained in non-volatile memory to prevent information being lost in the event of a power supply failure affecting the parallel array. The format utility program executed by processor 216a makes use of the information in this database, such as input parameters of where to format the physical drives of the parallel array as directed by the operator.
基本的パラメータは、好適には次のものを含む構築デ
ータベースにより定義される。The basic parameters are preferably defined by a construction database that includes:
1)各冗長グループについて 型式:鏡像; 2つの検査ドライブ; 1つの検査ドライブ; 無検査ドライブ。1) For each redundancy group Type: mirror image; 2 inspection drives; 1 inspection drive;
幅: 冗長グループにおけるスピンドルとしての論理ド
ライブ位置の数。Width: The number of logical drive positions as spindles in the redundancy group.
展開サイズ: 冗長グループの各展開に対する、セクタにおける展開
のサイズ(深さ)。Deployment Size: For each deployment in the redundancy group, the size (depth) of the deployment in sectors.
展開ベース: 冗長グループの各展開に対する、展開における第1の
セクタの物理的層のアドレス。Deployment Base: For each deployment in the redundancy group, the physical layer address of the first sector in the deployment.
ストライプ深さ: インタリーブされた検査ドライブグループに対する、
検査データのストライプの、セクタにおける、深さ。Stripe depth: for interleaved test drive groups
The depth, in sectors, of the stripe of inspection data.
ドライブ: 冗長グループに含まれる物理的ドライブの識別。Drive: Identification of the physical drives included in the redundancy group.
名称: 大容量記憶システム200を固有に交差する名称
を有する各冗長グループ。Name: Each redundancy group with a name that uniquely intersects mass storage system 200.
2)各データグループについて ベース:冗長グループでのデータグループにおける第1
のドライブ位置である冗長グループでのドライブ位置の
インデックス(論理ドライブ番号)。2) For each data group Base: First in data group with redundancy group
Index (logical drive number) of the drive position in the redundancy group that is the drive position of.
幅: データグループにおけるドライブ位置(論理ドラ
イブ)の数。これは、データグループのアドレススペー
スを交差するセクタの数である。Width: Number of drive locations (logical drives) in the data group. This is the number of sectors that cross the address space of the data group.
開始: データグループ方形がベースパラメータにより
識別される論理ドライブ位置の上にある冗長グループの
展開を持った、セクタにおける、オフセット。Start: An offset in a sector with the expansion of the redundancy group above the logical drive location where the data group rectangle is identified by the base parameter.
深さ: 冗長グループの展開で、データグループの垂直
カラムにおけるセクタの数。深さおよび幅は、共に図4
−6に示すような各データグループにより形成される側
面および方形の頂部のそれぞれ寸法である。Depth: In a redundancy group expansion, the number of sectors in the vertical column of the data group. Both depth and width are shown in FIG.
-6 are the dimensions of the sides and square tops formed by each data group as shown in FIG.
冗長グループ: データグループに属する冗長グループの名称。Redundancy group: The name of the redundancy group that belongs to the data group.
展開番号: データグループが位置する展開を識別する名称および
番号。Deployment number: Name and number that identifies the deployment where the data group is located.
インデックス: 冗長グループでの固有な、各データグループに対する
番号を割当てる構築ユーティリティ。この番号は、デー
タグループの後を識別するため、フォーマットユーティ
リティに対しおよび動作時間で使用される。Index: A construction utility that assigns a number to each data group, unique in the redundancy group. This number is used for the format utility and in the run time to identify the end of the data group.
ストライプ深さ: データグループにおけるデータの各ストライプでデー
タの論理的に連続するブロックの、セクタにおける、深
さ。Stripe Depth: The depth, in sectors, of logically contiguous blocks of data in each stripe of data in a data group.
3)各適用業務ユニットについて サイズ:セクタのサイズ データグループのリスト: 各データグループのユニットアドレススペース、およ
びベースユニット論理アドレスでの、データグループの
リスト、およびそのサイズおよび命令。各グループは、
その中でおよびインデックスで冗長グループの名称によ
り識別される。3) For each application unit Size: Sector size List of data groups: List of data groups in unit address space and base unit logical address of each data group, and their sizes and instructions. Each group is
It is identified therein and in the index by the name of the redundancy group.
図7は、並行アレイ201または202のような素子の組合
せの構築データベースの実施において使用し得る上述し
たパラメータを含む模範的なデータ構成を示す。これら
のデータ構成は、適用される特定の素子の組合せ実施例
を適合するのに望ましいように可変となし得る。例え
ば、ここにおいて説明されたデータ構成は、特定の素子
の組合せにおいて使用されない多くの任意選択について
許容する。この場合、データ構成は、単純である。FIG. 7 shows an exemplary data structure including the above-described parameters that may be used in the implementation of a construction database for a combination of elements such as parallel arrays 201 or 202. These data structures may be as variable as desired to adapt the particular combination of elements applied. For example, the data structures described herein allow for many options that are not used in a particular element combination. In this case, the data structure is simple.
構築データベースは、並行アレイを参照する各適用業
務ユニット(ユニットは、1つ以上の並行アレイをマッ
プする)に対し、個々のユニットコントロールブロック
(UCB)を含む。これらのUCBは、リンクされたリスト70
0において互いに結合される。各UCBは、そのUCBにより
説明された適用業務ユニットの番号を識別して、領域を
ラベル付けしたAPPLICATION UNIT #を含む。また、リ
ンクリスト700におけるUCBは、リンクリスト700または
マイクロプロセッサ216aのプログラムメモリにおける他
のデータ構成の中に含まれるアドレスポインタのテーブ
ルにより識別される。各UCBは、さらに、特定の適用業
務ユニットに含まれるデータグループのマップ701を含
む。データグループマップ701は、適用業務ユニットで
のデータグループの番号を定義する計数領域702と、セ
クタにおける適用業務ユニットのサイズを定義するサイ
ズ領域704と、および適用業務ユニットの線形アドレス
スペースが連続(相対的アドレッシング)または非連続
(絶対的アドレッシング)であるかどうかを定義する型
式領域706とを含む。非連続アドレススペースは、図4
のデータグループ(D4)および(D5)との関係において
前述したように、ダイナミック構築のために予約される
べき適用業務ユニットの部分を許容すべく使用される。The build database includes a separate unit control block (UCB) for each application unit (a unit maps one or more parallel arrays) that references a parallel array. These UCBs are linked list 70
At 0 they are joined together. Each UCB includes an APPLICATION UNIT # that identifies the application unit number described by that UCB and labels the area. The UCB in the link list 700 is identified by a table of address pointers included in the link list 700 or another data structure in the program memory of the microprocessor 216a. Each UCB further includes a map 701 of the data groups contained in the particular application unit. The data group map 701 includes a counting area 702 that defines the number of the data group in the application unit, a size area 704 that defines the size of the application unit in the sector, and a linear address space of the application unit that is continuous (relative). Type area 706 that defines whether it is non-contiguous (absolute addressing) or discontinuous (absolute addressing). The non-contiguous address space is shown in FIG.
As described above in relation to the data groups (D4) and (D5) of this example, it is used to allow portions of the application unit to be reserved for dynamic construction.
ダイナミックグループマップ701は、さらに、適用業
務ユニットでの各データグループに対し、データグルー
プマッピング要素708を含む。各データグループマッピ
ング要素708は、相対するデータグループのセクタにお
けるサイズを定義するサイズ領域710と、データグルー
プリスト716での前述ブロック714に対するポインタ712
と、アレイ制御ブロック720に対するポインタ718と、お
よびインデックス領域721とを含む。データグループマ
ッピング要素708は、各データグループのデータブロッ
クが適用業務ユニットのLBNに対しマップすることにお
いて、命令にリストされる。例えば、図6のLUN1で引用
されるデータグループD3に対するマッピング要素は、デ
ータグループD2に対するデータグループマッピング要素
の前にリストされ得る。適用業務ユニットのアドレスス
ペースが非連続であると、図6のLUN1の場合のように、
データグループマップは、LBNの利用可能な範囲のギャ
ップと対応し、そしてサイズを識別するマッピング要素
を含む。The dynamic group map 701 further includes a data group mapping element 708 for each data group in the application unit. Each data group mapping element 708 includes a size area 710 that defines the size of the opposing data group in sectors, and a pointer 712 to the aforementioned block 714 in the data group list 716.
, A pointer 718 to the array control block 720, and an index area 721. A data group mapping element 708 is listed in the instruction in mapping the data blocks of each data group to the application unit's LBN. For example, the mapping element for data group D3 referenced in LUN1 of FIG. 6 may be listed before the data group mapping element for data group D2. If the address space of the application unit is non-contiguous, as in the case of LUN1 in FIG.
The data group map includes mapping elements that correspond to gaps in the available range of the LBN and identify the size.
データグループリスト716は、並行アレイでの各デー
タグループに対する記述ブロック714を含み、そして冗
長なグループおよびそれが位置する冗長なグループの展
開に対し、各データグループをマッピングするためのパ
ラメータを提供する。データグループリスト716は、リ
ストにおいて記述ブロックの番号を定義する計数領域71
7を含む。ストライプされた検査データの構築を有する
冗長なグループの場合、各データグループの記述ブロッ
ク714は、その第1のデータブロックを含む冗長なグル
ープのストライプに対し検査データの開始からデータグ
ループの第1のデータブロックのオフセットを定義する
「ピクデル(pqdel)」領域722を含む。ピクデル領域72
2の値は、データグループの第1のデータブロックが構
築されるドライブの相対的位置、および第1のデータブ
ロックを含む冗長なグループのストライプに対する相対
する検査データドライブにより、正または負となる。こ
の値は、I/O操作中に検査データの位置を決定すること
において、並行アレイコントローラを補助するために使
用可能である。The data group list 716 includes a description block 714 for each data group in the parallel array and provides parameters for mapping each data group to the redundant group and the expansion of the redundant group in which it is located. The data group list 716 includes a counting area 71 defining the number of the description block in the list.
Including 7. In the case of redundant groups with the construction of the striped test data, the description block 714 of each data group will have the first group of data groups from the start of the test data for the redundant group of stripes including the first data block. Includes a "pqdel" region 722 that defines the offset of the data block. Picdell area 72
A value of 2 is positive or negative depending on the relative position of the drive on which the first data block of the data group is built and the opposite test data drive for the redundant group of stripes containing the first data block. This value can be used to assist the parallel array controller in locating test data during I / O operations.
各データブロックの記述ブロック714は、また、前述
した相対するパラメータに対する値として個々に定義さ
れる、インデックス領域723(インデックス領域721と同
じ値)と、幅領域724と、ベース領域726と、展開番号領
域727と、スタート領域728と、深さ領域730と、データ
グループのストライプ深さ領域731と、および冗長なグ
ループの名称領域732とを含む。The description block 714 of each data block also includes an index area 723 (the same value as the index area 721), a width area 724, a base area 726, and a development number, which are individually defined as values for the above-described opposed parameters. An area 727, a start area 728, a depth area 730, a stripe depth area 731 of the data group, and a redundant group name area 732 are included.
アレイコントロールブロック720は、並行アレイから
なるドライブの物理的アドレススペースに対し、並行ア
レイの冗長なグループのマップを提供する。アレイコン
トロールブロック720は、また、アレイ名称領域734と、
並行アレイの現在の構築を固有に識別する1もしくはそ
れ以上の領域735とを含む。アレイコントロールブロッ
ク720は、また、冗長なグループの記述グループの記述
ブロック736のリストを含む。各冗長なグループの記述
ブロック736は、記述ブロックと対応する冗長なグルー
プを識別する冗長なグループの名称領域738と、冗長な
グループの幅領域740と、および冗長なグループの展開
マップ742を含む。アレイコントロールブロック720は、
さらに、物理的ドライブ識別子ブロック745を含む。Array control block 720 provides a map of the redundant groups of the parallel array to the physical address space of the drives of the parallel array. The array control block 720 also includes an array name area 734,
And one or more regions 735 that uniquely identify the current construction of the parallel array. The array control block 720 also includes a list of redundant group description group description blocks 736. Each redundant group description block 736 includes a redundant group name area 738 identifying the redundant group corresponding to the description block, a redundant group width area 740, and a redundant group expansion map 742. Array control block 720
Further, a physical drive identifier block 745 is included.
冗長なグループでの各展開に対し、冗長なグループの
展開マップ742は、並行アレイのメモリスペースにおけ
る相対する物理的アドレスに対し展開をマップするパラ
メータを含む展開記述ブロック746を含み、そして展開
における冗長な情報の構築を定義する。例えば、展開記
述ブロックは、図6の冗長なグループRG0の3つの展開
について示され、各展開記述ブロックは、展開番号領域
747、および相対する展開の物理的アドレスを定義する
ベースおよびサイズ領域を含む。適用業務データベース
およびサイズ領域748および750は、冗長なグループRG0
の展開Bのベースおよびサイズに対し個々に対応し、診
断(低)ベースおよびサイズ領域752および754は、冗長
なグループRG0の展開Aのベースおよびサイズに対し個
々に対応し、そして診断(高)ベースおよびサイズ領域
756および758は、冗長なグループRG0の展開Cのベース
およびサイズに対し個々に対応する。For each expansion in the redundant group, the redundant group expansion map 742 includes an expansion description block 746 that includes parameters that map the expansion to the corresponding physical addresses in the memory space of the parallel array, and The construction of sensitive information. For example, the expansion description blocks are shown for three expansions of the redundant group RG0 in FIG. 6, and each expansion description block has an expansion number area.
747, and a base and size area that defines the physical address of the relative deployment. Application database and size areas 748 and 750 are redundant group RG0
The diagnosis (low) base and size regions 752 and 754 correspond individually to the base and size of deployment A of the redundant group RG0 and the diagnosis (high). Base and size area
756 and 758 correspond individually to the base and size of deployment C of redundant group RG0.
各展開記述ブロック746は、また、展開において実施
される冗長の型式を定義する型式領域760を含む。例え
ば、冗長なグループの展開は、展開での(この場合、展
開はデータドライブおよび冗長なドライブと等しい番号
を有する)、データグループにおいて記憶される大容量
記憶データを鏡像しまたは陰影することにより実施され
得る。また、リード−ソロモンコード化アルゴリズム
は、展開での各冗長なグループのストライプに対する1
つのドライブ上の検査データを発生するために使用さ
れ、またより複雑なリード−ソロモンコード化アルゴリ
ズムは、各冗長なグループのストライプに対する検査デ
ータの2つのドライブを発生するために使用される。型
式領域760は、検査データが展開を介してストライプさ
れるかどうか、およびそれをどのように互い違いにする
かを確認し得る(例えば、型式領域は、一連の標準化検
査データパターンにインデックスし、このようなパター
ンは、展開における第1の冗長なグループのストライプ
に対する検査データを冗長なグループの次の2つの数値
的に高度な論理ドライブ位置に位置決めされ、展開にお
ける第2の冗長なグループのストライプに対する検査デ
ータは次の2つの数値的に高度な論理ドライブに位置決
めされ、以下同様となる)。さらにまた、型式領域760
は、検査ドライブが、冗長なグループの展開の初期構築
の中に含まれないことを表示する。これは、例えば、冗
長なグループの展開が診断プログラムにより使用するた
めに好適に作成される。冗長なグループRG0の展開Aと
の関係で前述したこの型式の冗長なグループの展開は、
図6にと示される。Each expansion description block 746 also includes a type area 760 that defines the type of redundancy to be implemented in the expansion. For example, the deployment of a redundant group is performed by mirroring or shading the mass storage data stored in the data group in the deployment (where the deployment has the same number as the data drive and the redundant drive). Can be done. Also, the Reed-Solomon coding algorithm uses one for each redundant group of stripes in the deployment.
Used to generate test data on one drive, and more complex Reed-Solomon coding algorithms are used to generate two drives of test data for each redundant group of stripes. The type area 760 may identify whether the test data is striped through the deployment and how to stagger it (e.g., the type area indexes a series of standardized test data patterns, Such a pattern would position the test data for the first redundant group of stripes in the deployment at the next two numerically advanced logical drive locations of the redundancy group and for the second redundant group of stripes in the deployment. The test data is located in the next two numerically advanced logical drives, and so on). Furthermore, the type area 760
Indicates that the test drive is not included in the initial build of the redundant group deployment. This is, for example, the creation of a redundant group preferably created for use by a diagnostic program. The expansion of a redundant group of this type, described above in relation to the expansion A of the redundant group RG0,
As shown in FIG.
各展開記述ブロック746は、さらに、展開での冗長な
グループのストライプの深さが、特有であるか、確認す
るために、冗長なグループのストライプ深さ領域762を
含む。Each expansion description block 746 further includes a redundant group stripe depth area 762 to verify that the redundancy group stripe depth in the expansion is unique.
物理的ドライブ識別子ブロック745のリスト744は、並
行アレイにおける各物理的ドライブに対する識別子ブロ
ック745を含む。各識別子ブロック745は、物理的ドライ
ブに関する情報およびその現在の操作状態の情報を提供
し、そして相対する物理的ドライブの並行アレイにおけ
る論理位置を定義するための特に1つまたはそれ以上の
領域764に含まれる。The list 744 of physical drive identifier blocks 745 includes an identifier block 745 for each physical drive in the parallel array. Each identifier block 745 provides information about the physical drive and its current operating state, and in particular, one or more areas 764 for defining logical locations in a parallel array of opposing physical drives. included.
図7の可変データ構成について予定される機能を簡単
に要約するため、リンクリスト700のユニット制御ブロ
ックは、並行アレイでのデータグループに対し適用業務
ユニットのマッピングを定義する。冗長なグループに対
するデータグループのマッピングは、データグループリ
スト716により定義され、そして並行アレイのメモリの
物理的アドレススペースに対する冗長なグループのマッ
ピングは、アレイコントロールブロック720により定義
される。To briefly summarize the functions expected for the variable data configuration of FIG. 7, the unit control block of the linked list 700 defines the mapping of application units to data groups in a parallel array. The mapping of the data groups to the redundant groups is defined by the data group list 716, and the mapping of the redundant groups to the physical address space of the memory of the parallel array is defined by the array control block 720.
並行アレイの各物理的ディスクは、フォーマッティン
グユーティリティ、アレイコントロールブロック720の
写し、リンクリスト700、およびドライブ上に記憶され
ているデータグループリスト716によりフォーマットさ
れる。この情報は、故障したドライブの再構成のような
可変操作のために、使用可能である。構築データベース
の写しは、また、他の並行アレイのコントローラに対し
書込みされ得る。これは、並行アレイの1つが故障し、
他のものが配置されるべく準備された場合である。Each physical disk in the parallel array is formatted with a formatting utility, a copy of the array control block 720, a linked list 700, and a data group list 716 stored on the drive. This information can be used for variable operations, such as rebuilding a failed drive. A copy of the build database can also be written to other parallel array controllers. This means that one of the parallel arrays fails,
This is the case when another is prepared to be placed.
並行アレイに対する各I/O要求の間に、ユニットアド
レスから物理的アドレスへのマッピングは、作成される
必要がある。マッピングは、次の事項を、翻訳するため
に構築データベースを審査することについての事項であ
る。(1)I/O要求において指定されるユニット論理ア
ドレススパンから、データグループアドレススパンのシ
ーケンスへ、(2)データグループアドレススパンのシ
ーケンスから、冗長なグループでの論理ドライブ位置上
の一組のアドレススパンへ、および(3)論理ドライブ
位置上の一組のアドレススパンから、駆動する物理的ド
ライブアドレススパンへ。このマッピング処理は、各I/
O要求に対する応答において、構築データベースデータ
構成を介してI/O要求の提供ステップを有することによ
り、行うことができる。しかし、並行アレイの初期化の
間に、構築ユーティリティは、前述したように構築デー
タベースを発生することを加えて、各データグループに
対し、固有の迅速なマッピング機能を実行するためにI/
O要求の提供に対しサブルーチンを発生する。I/O要求の
提供がマッピング操作を実行することについての特定の
方法は、実施が指定され、そして当業者において、ここ
に説明された発明としての本発明によるI/O要求の提供
を実施することは理解される。During each I / O request for a parallel array, a mapping from unit addresses to physical addresses needs to be created. Mapping is about examining the build database for translation of the following: (1) From a unit logical address span specified in an I / O request to a sequence of data group address spans, (2) From a sequence of data group address spans, a set of addresses on a logical drive position in a redundant group From the set of address spans on the logical drive location to the physical drive address span to drive. This mapping process is performed for each I /
In response to an O request, this can be done by having a step of providing an I / O request via the constructed database data configuration. However, during the initialization of the parallel array, the build utility, in addition to generating the build database as described above, performs I / O to perform a unique quick mapping function for each data group.
O Generate a subroutine for the provision of a request. The specific manner in which providing an I / O request performs a mapping operation is specified by the implementation, and one of ordinary skill in the art will implement the provision of the I / O request according to the present invention as described herein. It is understood.
以下は、I/O要求の提供が、適用業務I/O要求の論理ユ
ニットアドレススパンから並行アレイの物理的アドレス
スペースでの1つのスパンまたは複数のスパンへマップ
するために、どのように図7のデータ構成を使用するか
についての実施例である。論理ユニットアドレススパン
は、論理適用業務ユニット番号によるI/O要求におい
て、および適用業務ユニットでの1もしくはそれ以上の
LBNを定義すべく仮定される。The following describes how the provision of an I / O request maps from the logical unit address span of the application I / O request to one or more spans in the physical address space of the parallel array. This is an example of whether to use the data configuration of FIG. The logical unit address span is specified in I / O requests by logical application unit number and in one or more
It is assumed to define LBN.
I/O要求の提供は、アドレスされる適用業務ユニット
のI/O要求から決定し、そして適用業務ユニットが並行
アレイを参照するかどうかを決定する。この後の決定
は、I/O要求と対応するAPPLICATION UNIT #を有するUC
Bに対するリンクリスト700を審査することにより行われ
る。もし、特有のUCBが位置するならば、I/O要求の提供
は、これらLBNが位置と対応するデータブロックでデー
タグループをI/O要求において指定されるLBNから次に決
定する。これは、データグループマップ701におけるマ
ッピング要素のサイズ領域710とLBNを比較することによ
り、適用業務ユニットのアドレススペース(適用業務ユ
ニットのアドレススペースにおけるいかなるギャップも
含まれる)の開始からサイズ領域のオフセットの計数を
行うことにより達成される。例えば、もし、マップ701
における第1のデータグループマッピング要素のサイズ
値がI/O要求のLBNよりも大きいと、それはLBNがそのデ
ータグループにおけるデータブロックと対応することと
して公知である。もし、そうでなければ、第1のマッピ
ング要素のサイズ値は、マップ701における次のマッピ
ング要素のサイズ値に加算され、そしてLBNは結果の総
計に対して検査がなされる。この処理は、データグルー
プがI/O要求において各LBNに対し、識別されるまで繰返
される。The provision of the I / O request is determined from the I / O request of the addressed application unit, and determines whether the application unit references a parallel array. Subsequent decisions are based on the UC with the APPLICATION UNIT # corresponding to the I / O request.
This is done by examining the linked list 700 for B. If a specific UCB is located, the provision of the I / O request then determines the data group in the data block for which these LBNs correspond to the location from the LBN specified in the I / O request. This is done by comparing the size area 710 of the mapping element in the data group map 701 with the LBN to determine the offset of the size area from the start of the application unit address space (including any gaps in the application unit address space). Achieved by counting. For example, if map 701
Is larger than the LBN of the I / O request, it is known that the LBN corresponds to the data block in that data group. If not, the size value of the first mapping element is added to the size value of the next mapping element in map 701, and the LBN is checked against the resulting sum. This process is repeated until a data group is identified for each LBN in the I / O request.
識別される特有のデータグループを有している、I/O
要求の提供は、識別されるデータグループでの相対する
データグループ番号の1もしくはそれ以上のスパンに対
し、I/O要求におけるLBNのスパンを翻訳する。構築ユー
ティリティは、そのデータグループに対するデータグル
ープリスト716において、データグループの記述ブロッ
ク714を位置させるために、識別されるデータグループ
と対応する各マッピング要素708で、インデックス領域7
06とポインタ712の値を使用することができる。I/O要求
の提供は、論理ドライブアドレスのスパンに対し、デー
タブロック番号の各スパンを翻訳するため、データグル
ープの記述ブロックのパラメータを使用する。I / Os with unique data groups identified
Providing the request translates the span of the LBN in the I / O request to one or more spans of the corresponding data group number in the identified data group. The construction utility may locate the data group description block 714 in the data group list 716 for that data group by using the index area 7 in each mapping element 708 corresponding to the identified data group.
06 and the value of the pointer 712 can be used. The provision of the I / O request uses the parameters of the description block of the data group to translate each span of the data block number to the span of the logical drive address.
最初に、I/O要求の提供は、データグループの記述ブ
ロック714のベース領域726からデータグループの開始の
論理ドライブ位置を決定する。I/O要求の提供は、ま
た、データグループが位置する冗長なグループの名称お
よび展開番号を、領域732および727から決定し、そして
さらに、冗長なグループの展開の開始およびデータグル
ープの開始の間でベース領域726において、識別される
ドライブ上のセクタの数をスタート領域728から決定す
る。このように、例えば、もし、I/O要求の提供が、図
6に示すように構築されたデータグループD3に対し、記
述ブロックが読出されると、ベース領域726は論理ドラ
イブ位置0上の始まるデータグループを表示し、冗長な
名称領域732は冗長なグループRG0におけるデータグルー
プを表示し、展開領域727は展開Bにおけるデータグル
ープを表示し、そしてスタート領域728は展開Bの開始
とデータグループD3の第1のデータブロックとの間の論
理ドライブ0上の10のセクタのオフセットを表示する。Initially, the provision of the I / O request determines the starting logical drive position of the data group from the base area 726 of the data group description block 714. Provision of the I / O request also determines the name and expansion number of the redundant group in which the data group is located from areas 732 and 727, and furthermore, during the start of the expansion of the redundant group and the start of the data group. In the base area 726, the number of sectors on the drive to be identified is determined from the start area 728. Thus, for example, if the provision of an I / O request reads a description block for a data group D3 constructed as shown in FIG. 6, the base area 726 begins on logical drive location 0. The data group is displayed, the redundant name area 732 displays the data group in the redundant group RG0, the expansion area 727 displays the data group in the expansion B, and the start area 728 displays the start of the expansion B and the data group D3. Display the offset of 10 sectors on logical drive 0 with the first data block.
論理ドライブ位置およびデータグループの第1のデー
タブロック展開オフセットとして知られている、I/O要
求の提供は、I/O要求のLBNと対応するデータグループに
おいて、各データブロックのシーケンスに対する論理ド
ライブ位置および展開オフセットを決定する。このよう
にして、I/O要求の提供は、幅領域724、深さ領域730お
よびデータグループのストライプ深さ領域731の値を使
用し得る。もし、いずれかの検査データがデータグルー
プの方形境界を含んでいるのであれば、検査データの位
置は、もし必要であれば、論理ドライブ位置およびデー
タブロックの展開オフセットアドレスの決定において計
数され得る。これは、アレイコントロールブロック720
からの情報を使用して達成される。さらに、I/O要求の
提供は、型式領域760および特有の冗長なグループの展
開記述ブロック746の冗長なグループのストライプ深さ
領域762を審査することにより、データグループの境界
での検査データの論理ドライブ位置および展開オフセッ
トを決定することができる(I/O要求の提供は、展開記
述ブロック746かデータグループの記述ブロック714にお
ける相対する展開番号領域727と整合する展開番号領域7
47を有する展開記述ブロック746を捜し出すことによ
り、特定される展開記述ブロック746を決定することが
できる。I/O要求の提供は、データグループのマッピン
グ要素708におけるポインタ718によりアレイコントロー
ルブロック720に指向させる。The provision of the I / O request, known as the logical drive position and the first data block expansion offset of the data group, is performed by the logical drive position for each data block sequence in the data group corresponding to the LBN of the I / O request. And the deployment offset. In this way, provision of an I / O request may use the values of the width region 724, the depth region 730, and the stripe depth region 731 of the data group. If any test data includes a data group square boundary, the position of the test data, if necessary, can be counted in determining the logical drive position and the development offset address of the data block. This is the array control block 720
Achieved using information from. In addition, the provision of I / O requests can be performed by examining the type area 760 and the redundant group stripe depth area 762 of the unique redundant group expansion description block 746 to provide a logic for test data at data group boundaries. The drive position and the expansion offset can be determined (providing the I / O request is based on the expansion number area 7 matching the expansion number area 727 in the expansion description block 746 or the data group description block 714).
By locating the expansion description block 746 having 47, the identified expansion description block 746 can be determined. Provision of an I / O request is directed to the array control block 720 by the pointer 718 in the mapping element 708 of the data group.
並行アレイの特定の物理的ドライブ上の物理的アドレ
ススパンに対する各論理ドライブ位置および展開オフセ
ットアドレススパンを翻訳するために、I/O要求の提供
は、識別される論理ドライブ位置と対応する物理的ドラ
イブを決定するために、物理的ドライブ識別子ブロック
745を読出す。I/O要求の提供は、また、展開の開始のド
ライブ上に物理的アドレスを提供するアレイコントロー
ルブロック720(例えば、適用業務ベース領域752)の特
有の展開記述ブロック746のベース領域を読出す。先に
決定された展開オフセットアドレススパンを使用して、
I/O要求の提供は、識別された展開オフセットアドレス
スパンと対応する物理的アドレスのスパンを、各物理的
ドライブに対し決定することができる。並行アレイの操
作中、1つまたはそれ以上の物理的ドライブは、除去ま
たは故障を生じ得る。これにより、誤りまたは故障した
ドライブのデータは予備のドライブに再構成しなければ
ならない。このような条件において、アレイの構築は、
データが誤りまたは故障したドライブから再生されそし
て予備のドライブ上に再構築される間の再構築期間に対
し、実施されなければならない一時的なアレイ変更のた
めに計数するように、新規なドライブに対する計数を変
更しなければならない。このような再生および再構築の
詳細は、本発明の範囲内ではない。しかしながら、構築
ユーティリティは、構築データベースのパラメータの再
定義により、アレイ構築を再マップすべく使用すること
ができる。To translate each logical drive location and deployment offset address span for a physical address span on a particular physical drive in a parallel array, the provision of the I / O request requires the physical drive corresponding to the identified logical drive location. To determine the physical drive identifier block
Read 745. Provision of an I / O request also reads the base area of the unique deployment description block 746 of the array control block 720 (eg, application base area 752) that provides the physical address on the drive at the start of the deployment. Using the expansion offset address span determined earlier,
Provision of the I / O request may determine the span of the physical address corresponding to the identified development offset address span for each physical drive. During operation of a parallel array, one or more physical drives can be removed or fail. Thus, the data of the erroneous or failed drive must be reconstructed into a spare drive. Under such conditions, the construction of the array
For the rebuild period during which data is reclaimed from the erroneous or failed drive and rebuilt on the spare drive, the new drive is counted as a temporary array change that must be performed. The count must be changed. The details of such regeneration and reconstruction are not within the scope of the present invention. However, the build utility can be used to remap the array build by redefining the build database parameters.
このようにして、大容量記憶装置は、高い帯域幅と高
い操作レートの両方を提供し、必要とされる高い信頼性
を提供される複数の物理的記憶素子により製造されるこ
とが理解されよう。当業者であれば、本発明が前述した
実施例以外によっても実施することができ、そして特に
前述した大容量記憶システム以外の回路に組込むことが
可能であることは、理解し得るであろう。前述された実
施例は、図示の目的で提出され、限定されるものではな
く、そして本発明は次のクレームのみによって限定され
る。In this manner, it will be appreciated that mass storage devices are manufactured with a plurality of physical storage elements that provide both high bandwidth and high operation rates and provide the required high reliability. . Those skilled in the art will appreciate that the present invention may be practiced with embodiments other than those described above, and in particular may be incorporated into circuits other than the mass storage systems described above. The foregoing embodiments are submitted for illustrative purposes, and are not limiting, and the present invention is limited only by the following claims.
フロントページの続き (72)発明者 ガジャー,クーマー アメリカ合衆国、カリフォルニア 95131、サンホセ、ファン ストリート 1700 (72)発明者 グリダー,ジョゼフ エス アメリカ合衆国、カリフォルニア 94303、パロアルト、マリ ウェイ 3292 (72)発明者 アイドルマン,トーマス イー アメリカ合衆国、カリフォルニア 95051、サンタクララ、ブレイディー コート 2660 (56)参考文献 特開 平2−236714(JP,A) 国際公開89/10594(WO,A1) (58)調査した分野(Int.Cl.6,DB名) G06F 11/10 G06F 3/06 G06F 12/00Continued on the front page (72) Inventor Gajah, Coomer United States, California 95131, San Jose, Fun Street 1700 (72) Inventor Glider, Joseph S. United States, California 94303, Palo Alto, Mari Way 3292 (72) Inventor Idolman, Thomas E United States, California 95051, Santa Clara, Brady Court 2660 (56) References JP-A-2-236714 (JP, A) WO 89/10594 (WO, A1) (58) Fields studied (Int. Cl. 6 , DB name) G06F 11/10 G06F 3/06 G06F 12/00
Claims (16)
ータを記憶するための大容量記憶システムであって、 複数の記憶素子と、 前記複数の記憶素子を作動的に相互接続して少なくとも
二つの記憶素子グループを形成するとともに、前記少な
くとも二つの記憶素子グループを前記チャネルを介して
前記CPUと接続して、CPUへのおよびCPUからのデータの
流れを制御するコントローラとを備えてなり、 前記コントローラは、第一の論理レベルにおいて前記少
なくとも二つの記憶素子グループの少なくとも一つのグ
ループ内に少なくとも一つの冗長グループを配置構成
し、前記少なくとも一つの冗長グループを前記少なくと
も二つの記憶素子グループのために共用の冗長グループ
として機能させる手段を含んでおり、 さらに、前記コントローラは、第二の論理レベルにおい
て前記少なくとも二つの記憶素子グループの各一つのグ
ループ内に少なくとも一つのデータグループを配置構成
し、各データグループは、独立して配置構成できて別々
の論理記憶装置として作動可能なものである ことを特徴とする記憶システム。1. A mass storage system for storing data received on a channel from a CPU main memory, comprising: a plurality of storage elements; and at least two storage elements operatively interconnecting the plurality of storage elements. A controller for forming a storage element group, connecting the at least two storage element groups to the CPU via the channel, and controlling a flow of data to and from the CPU. Configuring at least one redundant group within at least one of said at least two storage element groups at a first logic level, and sharing said at least one redundant group for said at least two storage element groups Means for functioning as a redundant group of Arranging at least one data group within each one of the at least two storage element groups at two logical levels, each data group being independently configurable and operable as a separate logical storage device A storage system characterized in that:
って、 前記冗長グループの各々は、複数のデータグループを含
んでいることを特徴とするもの。2. The mass storage system according to claim 1, wherein each of said redundant groups includes a plurality of data groups.
って、 前記冗長グループは複数あり、 さらに、前記複数の冗長グループの内の少なくとも二つ
の各々からの少なくとも一つずつのデータグループが結
合されて、一つの論理大容量データ記憶素子を形成して
いる ことを特徴とするもの。3. The mass storage system according to claim 1, wherein there are a plurality of said redundant groups, and at least one data group from each of at least two of said plurality of redundant groups. Characterized by being combined to form one logical mass data storage element.
って、 前記少なくとも一つの冗長グループの内の少なくとも一
つのために、冗長性が誤り検出訂正コードにより用意さ
れ、その誤り検出訂正コードのコードワードが前記少な
くとも一つの冗長グループに含まれた少なくとも一つの
チェックドライブの中に記憶される ことを特徴とするもの。4. The mass storage system according to claim 1, wherein for at least one of said at least one redundancy group, redundancy is provided by an error detection and correction code. Are stored in at least one check drive included in the at least one redundancy group.
って、 前記少なくとも一つのチェックドライブの各々は、特定
の記憶素子であることを特徴とするもの。5. The mass storage system according to claim 4, wherein each of said at least one check drive is a specific storage element.
って、 前記少なくとも一つのチェックドライブの各々は、複数
の前記記憶素子の一部のものを含んでなる論理大容量記
憶素子である ことを特徴とするもの。6. The mass storage system according to claim 4, wherein each of said at least one check drive is a logical mass storage element including a part of a plurality of said storage elements. Characterized by that.
って、 前記少なくとも一つの冗長グループの内の少なくとも一
つのために、冗長性がミラーリングにより用意されてい
る ことを特徴とするもの。7. The mass storage system according to claim 1, wherein redundancy is provided by mirroring for at least one of said at least one redundancy group.
って、 前記冗長グループ内に含まれている少なくとも一つの冗
長大容量記憶素子の中に冗長データが含まれている ことを特徴とするもの。8. The mass storage system according to claim 1, wherein at least one redundant mass storage element included in the redundancy group contains redundant data. What to do.
るためのコントローラを含んでなるデータ記憶システム
において、 外部のCPUからデータを受信するステップと、 前記データを、前記複数の記憶素子に書き込まれるよう
に複数グループのデータブロックに分解するステップ
と、 前記複数の記憶素子を作動的に相互接続して少なくとも
二つの記憶素子グループを形成するステップと、 第一の論理レベルにおいて前記少なくとも二つの記憶素
子グループの少なくとも一つのグループ内に少なくとも
一つの冗長グループを配置構成し、前記少なくとも一つ
の冗長グループを前記少なくとも二つの記憶素子グルー
プのために共用の冗長グループとして機能させるステッ
プと、 第二の論理レベルにおいて前記少なくとも二つの記憶素
子グループの各一つのグループ内に少なくとも一つのデ
ータグループを配置構成し、そのデータグループの各々
は、独立して配置構成できて別々の論理記憶素子として
作動可能とするステップと、 を含んでなることを特徴とする外部CPUからの受信デー
タの記憶方法。9. A data storage system comprising an external CPU and a controller for communicating with a plurality of storage elements, receiving data from an external CPU, and writing the data to the plurality of storage elements. Decomposing into a plurality of groups of data blocks such that the plurality of storage elements are operatively interconnected to form at least two storage element groups; and Arranging at least one redundancy group within at least one of the element groups, and causing the at least one redundancy group to function as a shared redundancy group for the at least two storage element groups; second logic Level of the at least two storage element groups. Arranging at least one data group within a group, each of the data groups being independently configurable and operable as a separate logical storage element. The method of storing received data from the external CPU.
であって、 各冗長グループが複数のデータグループを含んでなる ことを特徴とする方法。10. The method for storing received data according to claim 9, wherein each redundancy group comprises a plurality of data groups.
であって、 前記冗長グループが複数あり、 さらに、前記複数の冗長グループの内の少なくとも二つ
の各々からの少なくとも一つずつのデータグループが結
合されて、一つの論理大容量データ記憶素子を形成する
ように、前記複数の記憶素子を配置構成するステップを
含んでなる ことを特徴とする方法。11. The received data storage method according to claim 9, wherein there are a plurality of said redundant groups, and at least one data group from each of at least two of said plurality of redundant groups. Combining the plurality of storage elements so that they are combined to form a single logical mass data storage element.
であって、 前記少なくとも一つの冗長グループの内の少なくとも一
つのために、冗長性が誤り検出訂正コードにより用意さ
れ、その誤り検出訂正コードのコードワードが前記少な
くとも一つの冗長グループに含まれた少なくとも一つの
チェック記憶素子の中に記憶される ことを特徴とする方法。12. The received data storage method according to claim 9, wherein for at least one of said at least one redundancy group, redundancy is provided by an error detection and correction code, and said error detection and correction is provided. A method wherein a codeword of a code is stored in at least one check storage element included in said at least one redundancy group.
であって、 前記少なくとも一つのチェック記憶素子の各々が特定の
記憶素子である ことを特徴とする方法。13. The method for storing received data according to claim 12, wherein each of said at least one check storage element is a specific storage element.
であって、 前記少なくとも一つのチェック記憶素子の各々は、複数
の前記記憶素子の一部のものを含んでなる論理大容量記
憶素子である ことを特徴とするもの。14. The storage method according to claim 12, wherein each of said at least one check storage element includes a part of a plurality of said storage elements. It is characterized by being.
であって、 前記少なくとも一つの冗長グループの内の少なくとも一
つのために、冗長性がミラーリングにより用意されてい
る ことを特徴とする方法。15. The method of claim 12, wherein redundancy is provided by mirroring for at least one of the at least one redundancy group. .
であって、 前記冗長グループ内に含まれている少なくとも一つの冗
長記憶素子の中に冗長データが含まれている ことを特徴とする方法。16. The received data storage method according to claim 12, wherein at least one redundant storage element included in the redundant group includes redundant data. Method.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US488,749 | 1990-03-02 | ||
| US07/488,749 US5166939A (en) | 1990-03-02 | 1990-03-02 | Data storage apparatus and method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH05505481A JPH05505481A (en) | 1993-08-12 |
| JP2859960B2 true JP2859960B2 (en) | 1999-02-24 |
Family
ID=23940968
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3506033A Expired - Lifetime JP2859960B2 (en) | 1990-03-02 | 1991-02-27 | Data storage device and method |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US5166939A (en) |
| EP (1) | EP0518986A1 (en) |
| JP (1) | JP2859960B2 (en) |
| AU (1) | AU7477091A (en) |
| CA (1) | CA2076666C (en) |
| WO (1) | WO1991013404A1 (en) |
Families Citing this family (80)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5212785A (en) * | 1990-04-06 | 1993-05-18 | Micro Technology, Inc. | Apparatus and method for controlling data flow between a computer and memory devices |
| US5195100A (en) * | 1990-03-02 | 1993-03-16 | Micro Technology, Inc. | Non-volatile memory storage of write operation identifier in data sotrage device |
| US5414818A (en) * | 1990-04-06 | 1995-05-09 | Mti Technology Corporation | Method and apparatus for controlling reselection of a bus by overriding a prioritization protocol |
| US5263145A (en) * | 1990-05-24 | 1993-11-16 | International Business Machines Corporation | Method and means for accessing DASD arrays with tuned data transfer rate and concurrency |
| EP0485110B1 (en) * | 1990-11-09 | 1999-08-25 | Emc Corporation | Logical partitioning of a redundant array storage system |
| JP3160106B2 (en) * | 1991-12-23 | 2001-04-23 | ヒュンダイ エレクトロニクス アメリカ | How to sort disk arrays |
| US5469566A (en) * | 1992-03-12 | 1995-11-21 | Emc Corporation | Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units |
| JP2868141B2 (en) * | 1992-03-16 | 1999-03-10 | 株式会社日立製作所 | Disk array device |
| JP3575811B2 (en) * | 1992-05-07 | 2004-10-13 | 株式会社日立製作所 | Storage device |
| US5581784A (en) * | 1992-11-17 | 1996-12-03 | Starlight Networks | Method for performing I/O's in a storage system to maintain the continuity of a plurality of video streams |
| US5519849A (en) * | 1992-12-07 | 1996-05-21 | Digital Equipment Corporation | Method of reducing the complexity of an I/O request to a RAID-4 or RAID-5 array |
| US5845329A (en) * | 1993-01-29 | 1998-12-01 | Sanyo Electric Co., Ltd. | Parallel computer |
| US7174352B2 (en) | 1993-06-03 | 2007-02-06 | Network Appliance, Inc. | File system image transfer |
| DE69431186T2 (en) * | 1993-06-03 | 2003-05-08 | Network Appliance, Inc. | Method and file system for assigning file blocks to storage space in a RAID disk system |
| US5963962A (en) * | 1995-05-31 | 1999-10-05 | Network Appliance, Inc. | Write anywhere file-system layout |
| US6138126A (en) | 1995-05-31 | 2000-10-24 | Network Appliance, Inc. | Method for allocating files in a file system integrated with a raid disk sub-system |
| EP1031928B1 (en) * | 1993-06-04 | 2005-05-18 | Network Appliance, Inc. | A method for providing parity in a raid sub-system using non-volatile memory |
| US5392244A (en) * | 1993-08-19 | 1995-02-21 | Hewlett-Packard Company | Memory systems with data storage redundancy management |
| US5511227A (en) * | 1993-09-30 | 1996-04-23 | Dell Usa, L.P. | Method for configuring a composite drive for a disk drive array controller |
| US5537663A (en) * | 1993-10-29 | 1996-07-16 | Compaq Computer Corporation | System for determining configuration of devices installed on a computer bus by comparing response time of data lines to read from I/O address when undriven |
| US6154850A (en) * | 1993-11-01 | 2000-11-28 | Beaufort River, Inc. | Data storage system and method |
| US6003071A (en) * | 1994-01-21 | 1999-12-14 | Sony Corporation | Image data transmission apparatus using time slots |
| EP0664647B1 (en) * | 1994-01-21 | 2002-08-14 | Sony Corporation | Image data transmission apparatus |
| US5537567A (en) * | 1994-03-14 | 1996-07-16 | International Business Machines Corporation | Parity block configuration in an array of storage devices |
| US5732239A (en) * | 1994-05-19 | 1998-03-24 | Starlight Networks | Method for operating a disk storage system which stores video data so as to maintain the continuity of a plurality of video streams |
| US5802394A (en) * | 1994-06-06 | 1998-09-01 | Starlight Networks, Inc. | Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof |
| US5546558A (en) * | 1994-06-07 | 1996-08-13 | Hewlett-Packard Company | Memory system with hierarchic disk array and memory map store for persistent storage of virtual mapping information |
| EP1376329A2 (en) * | 1994-06-22 | 2004-01-02 | Hewlett-Packard Company, A Delaware Corporation | Method of utilizing storage disks of differing capacity in a single storage volume in a hierarchic disk array |
| US5572661A (en) * | 1994-10-05 | 1996-11-05 | Hewlett-Packard Company | Methods and system for detecting data loss in a hierarchic data storage system |
| US5664187A (en) * | 1994-10-26 | 1997-09-02 | Hewlett-Packard Company | Method and system for selecting data for migration in a hierarchic data storage system using frequency distribution tables |
| US5488701A (en) * | 1994-11-17 | 1996-01-30 | International Business Machines Corporation | In log sparing for log structured arrays |
| US5659704A (en) * | 1994-12-02 | 1997-08-19 | Hewlett-Packard Company | Methods and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy |
| EP0716370A3 (en) * | 1994-12-06 | 2005-02-16 | International Business Machines Corporation | A disk access method for delivering multimedia and video information on demand over wide area networks |
| US5583995A (en) * | 1995-01-30 | 1996-12-10 | Mrj, Inc. | Apparatus and method for data storage and retrieval using bandwidth allocation |
| US5651133A (en) * | 1995-02-01 | 1997-07-22 | Hewlett-Packard Company | Methods for avoiding over-commitment of virtual capacity in a redundant hierarchic data storage system |
| US5537534A (en) * | 1995-02-10 | 1996-07-16 | Hewlett-Packard Company | Disk array having redundant storage and methods for incrementally generating redundancy as data is written to the disk array |
| US5666512A (en) * | 1995-02-10 | 1997-09-09 | Hewlett-Packard Company | Disk array having hot spare resources and methods for using hot spare resources to store user data |
| US5542065A (en) * | 1995-02-10 | 1996-07-30 | Hewlett-Packard Company | Methods for using non-contiguously reserved storage space for data migration in a redundant hierarchic data storage system |
| EP0832456A1 (en) * | 1995-05-22 | 1998-04-01 | MTI Technology Corporation | Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability |
| US5845095A (en) * | 1995-07-21 | 1998-12-01 | Motorola Inc. | Method and apparatus for storing and restoring controller configuration information in a data communication system |
| US5862312A (en) * | 1995-10-24 | 1999-01-19 | Seachange Technology, Inc. | Loosely coupled mass storage computer cluster |
| US6449730B2 (en) * | 1995-10-24 | 2002-09-10 | Seachange Technology, Inc. | Loosely coupled mass storage computer cluster |
| JP3998289B2 (en) * | 1997-02-14 | 2007-10-24 | 富士通株式会社 | Library control apparatus and method for logically dividing and controlling library apparatus |
| US5960169A (en) * | 1997-02-27 | 1999-09-28 | International Business Machines Corporation | Transformational raid for hierarchical storage management system |
| JPH10240452A (en) * | 1997-02-28 | 1998-09-11 | Nec Corp | Distributed data storage system and recovery system |
| US5975738A (en) * | 1997-09-30 | 1999-11-02 | Lsi Logic Corporation | Method for detecting failure in redundant controllers using a private LUN |
| US6119244A (en) | 1998-08-25 | 2000-09-12 | Network Appliance, Inc. | Coordinating persistent status information with multiple file servers |
| US6272533B1 (en) * | 1999-02-16 | 2001-08-07 | Hendrik A. Browne | Secure computer system and method of providing secure access to a computer system including a stand alone switch operable to inhibit data corruption on a storage device |
| US6754661B1 (en) * | 1999-07-13 | 2004-06-22 | Microsoft Corporation | Hierarchical storage systems for holding evidentiary objects and methods of creating and operating upon hierarchical storage systems |
| US6629202B1 (en) * | 1999-11-29 | 2003-09-30 | Microsoft Corporation | Volume stacking model |
| JP3989665B2 (en) * | 2000-03-03 | 2007-10-10 | 株式会社リコー | Optical information recording medium |
| US6571351B1 (en) | 2000-04-07 | 2003-05-27 | Omneon Video Networks | Tightly coupled secondary storage system and file system |
| US6618798B1 (en) * | 2000-07-11 | 2003-09-09 | International Business Machines Corporation | Method, system, program, and data structures for mapping logical units to a storage space comprises of at least one array of storage units |
| US6636879B1 (en) | 2000-08-18 | 2003-10-21 | Network Appliance, Inc. | Space allocation in a write anywhere file system |
| US6728922B1 (en) | 2000-08-18 | 2004-04-27 | Network Appliance, Inc. | Dynamic data space |
| US7072916B1 (en) | 2000-08-18 | 2006-07-04 | Network Appliance, Inc. | Instant snapshot |
| US6904540B2 (en) * | 2001-10-29 | 2005-06-07 | Hewlett-Packard Development Company, L.P. | Targeted data protection |
| US7437727B2 (en) * | 2002-03-21 | 2008-10-14 | Network Appliance, Inc. | Method and apparatus for runtime resource deadlock avoidance in a raid system |
| US6857001B2 (en) | 2002-06-07 | 2005-02-15 | Network Appliance, Inc. | Multiple concurrent active file systems |
| US7024586B2 (en) | 2002-06-24 | 2006-04-04 | Network Appliance, Inc. | Using file system information in raid data reconstruction and migration |
| US7234036B1 (en) * | 2002-10-28 | 2007-06-19 | Sandisk Corporation | Method and apparatus for resolving physical blocks associated with a common logical block |
| US7328364B1 (en) | 2003-03-21 | 2008-02-05 | Network Appliance, Inc. | Technique for coherent suspension of I/O operations in a RAID subsystem |
| JP2005149436A (en) * | 2003-11-20 | 2005-06-09 | Hitachi Ltd | Storage device, control method in storage device, job scheduling processing method, failure processing method, and program thereof |
| JP4405277B2 (en) | 2004-02-16 | 2010-01-27 | 株式会社日立製作所 | Disk controller |
| US7467238B2 (en) | 2004-02-10 | 2008-12-16 | Hitachi, Ltd. | Disk controller and storage system |
| US20060036579A1 (en) * | 2004-08-10 | 2006-02-16 | Byrd Stephen A | Apparatus, system, and method for associating resources using a time based algorithm |
| US7661135B2 (en) * | 2004-08-10 | 2010-02-09 | International Business Machines Corporation | Apparatus, system, and method for gathering trace data indicative of resource activity |
| US7546601B2 (en) * | 2004-08-10 | 2009-06-09 | International Business Machines Corporation | Apparatus, system, and method for automatically discovering and grouping resources used by a business process |
| US20060059118A1 (en) * | 2004-08-10 | 2006-03-16 | Byrd Stephen A | Apparatus, system, and method for associating resources using a behavior based algorithm |
| US7630955B2 (en) * | 2004-08-10 | 2009-12-08 | International Business Machines Corporation | Apparatus, system, and method for analyzing the association of a resource to a business process |
| JP2006134208A (en) * | 2004-11-09 | 2006-05-25 | Fujitsu Ltd | Storage virtualization device |
| US20070180214A1 (en) * | 2005-12-20 | 2007-08-02 | Dell Products L.P. | System and method for dynamic striping in a storage array |
| US20080189481A1 (en) * | 2007-02-07 | 2008-08-07 | Peter Mayer | Methods and systems for storing data based on a reliability requirement |
| WO2012170154A1 (en) * | 2011-06-06 | 2012-12-13 | Rambus Inc. | Memory system for error detection and correction coverage |
| US8914706B2 (en) | 2011-12-30 | 2014-12-16 | Streamscale, Inc. | Using parity data for concurrent data authentication, correction, compression, and encryption |
| US8683296B2 (en) | 2011-12-30 | 2014-03-25 | Streamscale, Inc. | Accelerated erasure coding system and method |
| US9104330B1 (en) * | 2012-06-30 | 2015-08-11 | Emc Corporation | System and method for interleaving storage |
| US9501449B2 (en) * | 2013-09-10 | 2016-11-22 | Sviral, Inc. | Method, apparatus, and computer-readable medium for parallelization of a computer program on a plurality of computing cores |
| JP6500505B2 (en) * | 2015-03-05 | 2019-04-17 | 富士通株式会社 | Control device, control method, and control program |
| US20160328184A1 (en) * | 2015-05-07 | 2016-11-10 | Dell Products L.P. | Performance of storage controllers for applications with varying access patterns in information handling systems |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1989010594A1 (en) | 1988-04-22 | 1989-11-02 | Amdahl Corporation | A file system for a plurality of storage classes |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4467421A (en) * | 1979-10-18 | 1984-08-21 | Storage Technology Corporation | Virtual storage system and method |
| FR2561428B1 (en) * | 1984-03-16 | 1986-09-12 | Bull Sa | DISC MEMORY RECORDING METHOD AND DISC MEMORY SYSTEM |
| US4819205A (en) * | 1985-03-25 | 1989-04-04 | Motorola, Inc. | Memory system having memory elements independently defined as being on-line or off-line |
| US4958351A (en) * | 1986-02-03 | 1990-09-18 | Unisys Corp. | High capacity multiple-disk storage method and apparatus having unusually high fault tolerance level and high bandpass |
| CA1296103C (en) * | 1987-06-02 | 1992-02-18 | Theodore Jay Goodlander | High-speed, high capacity, fault-tolerant, error-correcting storage system |
| US4899342A (en) * | 1988-02-01 | 1990-02-06 | Thinking Machines Corporation | Method and apparatus for operating multi-unit array of memories |
| US4914656A (en) * | 1988-06-28 | 1990-04-03 | Storage Technology Corporation | Disk drive memory |
| AU630635B2 (en) * | 1988-11-14 | 1992-11-05 | Emc Corporation | Arrayed disk drive system and method |
-
1990
- 1990-03-02 US US07/488,749 patent/US5166939A/en not_active Expired - Lifetime
-
1991
- 1991-02-27 CA CA002076666A patent/CA2076666C/en not_active Expired - Fee Related
- 1991-02-27 AU AU74770/91A patent/AU7477091A/en not_active Abandoned
- 1991-02-27 EP EP91906226A patent/EP0518986A1/en not_active Withdrawn
- 1991-02-27 WO PCT/US1991/001252 patent/WO1991013404A1/en not_active Ceased
- 1991-02-27 JP JP3506033A patent/JP2859960B2/en not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1989010594A1 (en) | 1988-04-22 | 1989-11-02 | Amdahl Corporation | A file system for a plurality of storage classes |
Also Published As
| Publication number | Publication date |
|---|---|
| CA2076666A1 (en) | 1991-09-03 |
| CA2076666C (en) | 2000-06-27 |
| WO1991013404A1 (en) | 1991-09-05 |
| JPH05505481A (en) | 1993-08-12 |
| US5166939A (en) | 1992-11-24 |
| EP0518986A1 (en) | 1992-12-23 |
| AU7477091A (en) | 1991-09-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2859960B2 (en) | Data storage device and method | |
| US8839028B1 (en) | Managing data availability in storage systems | |
| US5301297A (en) | Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof | |
| US11449226B2 (en) | Reorganizing disks and raid members to split a disk array during capacity expansion | |
| US7506187B2 (en) | Methods, apparatus and controllers for a raid storage system | |
| US5303244A (en) | Fault tolerant disk drive matrix | |
| JP3792269B2 (en) | Using storage disks of different capacities in a single storage volume in a hierarchical disk array | |
| JP2769443B2 (en) | Storage subsystem and related apparatus / method | |
| KR940011039B1 (en) | Distributed sparing method and apparatus in dasd arrays | |
| US6934804B2 (en) | Method and system for striping spares in a data storage system including an array of disk drives | |
| US6647460B2 (en) | Storage device with I/O counter for partial data reallocation | |
| US11327668B1 (en) | Predictable member assignment for expanding flexible raid system | |
| EP0499365A2 (en) | Data processing system and method for encoding and rebuilding data contents of unavailable DASDS | |
| HK1000076B (en) | Distributed sparing in dasd arrays | |
| JP2000207136A (en) | Multi-drive fault-tolerance raid algorithm | |
| US20070143541A1 (en) | Methods and structure for improved migration of raid logical volumes | |
| US11314608B1 (en) | Creating and distributing spare capacity of a disk array | |
| US20050193273A1 (en) | Method, apparatus and program storage device that provide virtual space to handle storage device failures in a storage system | |
| US11474901B2 (en) | Reliable RAID system with embedded spare capacity and flexible growth | |
| JPH0863298A (en) | Disk array device | |
| US11507287B1 (en) | Adding single disks to an array by relocating raid members | |
| US11868637B2 (en) | Flexible raid sparing using disk splits | |
| US20080104445A1 (en) | Raid array | |
| US12399618B1 (en) | Leveraging recurrent patterns of RAID members distribution for efficient array growth | |
| US12175094B1 (en) | Fast and flexible data capacity upgrade via efficient reconfiguration |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081204 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091204 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101204 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101204 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111204 Year of fee payment: 13 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111204 Year of fee payment: 13 |