JP3687111B2 - 記憶装置システムおよび記憶装置の制御方法 - Google Patents
記憶装置システムおよび記憶装置の制御方法 Download PDFInfo
- Publication number
- JP3687111B2 JP3687111B2 JP19396694A JP19396694A JP3687111B2 JP 3687111 B2 JP3687111 B2 JP 3687111B2 JP 19396694 A JP19396694 A JP 19396694A JP 19396694 A JP19396694 A JP 19396694A JP 3687111 B2 JP3687111 B2 JP 3687111B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- parity
- record
- update
- segment
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F2003/0697—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1009—Cache, i.e. caches used in RAID system with parity
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【産業上の利用分野】
本発明は、計算機システムに用いられる記憶装置、特に、ディスクアレイ向きの高機能ディスク装置、および、ディスクアレイ向きの高機能ディスク装置と制御装置により構成される記憶装置サブシステムに関する。
【0002】
【従来の技術】
計算機システムにおいて用いられる記憶装置として、Patterson等の論文、「ア ケース フォー リダンダント アレイズ オブ インイクスペンシブ ディスクス」,エー.シー.エム.シグモッド コンファレンス プロシーディング,1988年,6月,ページ109−116(D.Patterson, et al.:A Case for Redundant Arrays of Inexpensive Disks(RAID),ACM SIGMOD conference proceeding,Chicago,IL,June1-3,1988,pp.109-116)に開示されているようなディスクアレイが知られている。Patterson等の論文には、特に、ディスクアレイ上でのデータ配置に関する技術が開示されている。
【0003】
ディスクアレイは、ディスクシステムの高性能化、高信頼化を実現するために開発された機構である。ディスクアレイでは、物理的に複数のディスク装置を用い、これら複数のディスク装置を処理装置に対しては1台のディスク装置に見せかけることで高性能化を図っている。一方、高信頼化のために、データを格納したディスク装置の一部に障害が発生した場合、障害が発生したディスク装置のデータを回復するための冗長データを、別のディスク装置に格納しておく。以下の説明では、ディスク装置のリード/ライト単位となるデータの集合をレコードと呼ぶ。レコードの中で、処理装置が直接読み書きするデータを格納したレコードをデータレコードと呼び、冗長データを格納したレコードをパリティレコードと呼ぶ。
【0004】
ディスクアレイでは、m個(m≧1)のデータレコードからn個(n≧1)のパリティレコードが作成される。一般に、これらのm+n個のレコードの集合をパリティグループと呼ぶ。これらのm+n個のレコードは別々のディスク装置に格納される。通常、パリティグループ内のパリティレコードの数がn個であれば、n台までのディスク装置の障害に対してパリティグループ内のデータを回復することが可能である。
【0005】
パリティグループ内のデータレコードが書き替えられた場合には、これに伴いパリティレコードも書き替える必要がある。パリティグループ内のすべてのデータレコードが書き替えられれば、書き変わったデータレコードからパリティレコードの内容を作成できる。しかし、例えば、パリティグループ内の1つのデータレコードだけが書き替えられた場合には、書き変えられた内容と、そのデータレコードの更新前の値、及びパリティレコードの更新前の値とから、パリティレコードの更新値が作成される。
【0006】
このようなディスクアレイにおけるライト処理を効率化するための技術として、例えば、PCT WO 91/20025には、動的マッピングと呼ばれる技術が開示されている。この技術では、ライト処理によりディスクに格納されているデータを更新する場合、そのデータを書き込むディスク上の位置が動的に変更される。具体的には、ライトされたデータだけで、パリティグループを構成し、これらのデータからパリティデータを作成して、ディスクアレイを構成するディスク装置への書き込みが行なわれる。ただし、以上の処理を実行するためには、パリティグループ全体を、新たな更新値の書き込みが可能な状態(このような状態を、本明細書では、未割当て状態と呼ぶ)にする必要がある。
【0007】
また、電子情報通信学会技術研究報告、DE93−45(茂木他:仮想ストライピングによるRAID5型ディスクアレイの性能評価、1993年 9月、信学会技報Vol.25-No.251、pp.69-75)には、このような動的マッピングをさらに効率的にした技術が開示されている。本論文により開示される技術では、パリティグループそのもののディスク上の位置を動的に変更するために、より効率的にパリティグループ全体を未割当て状態にすることができる。
【0008】
【発明が解決しようとする課題】
上述した、PCT WO 91/20025や茂木の論文に開示される技術では、ディスクアレイのライト処理を効率化するため、ライト処理が発生したデータレコードだけでパリティグループを構成し、これらのデータレコードからパリティレコードを作成する。したがって、このようにして新たに作成されたパリティグループのレコードを格納するために、ディスク装置に余分なレコードをいくつか用意しておき、処理装置からみて最新の更新内容を格納していない未割当て状態のレコードだけからなるパリティグループを用意しておく必要がある。このため、パリティグループ全体を未割当て状態にするための処理を、処理装置からのアクセス要求に対する処理とは非同期に実行しておく必要がある。しかしながら、従来技術におけるこのようなパリティグループ全体を未割当て状態にする処理は、ディスクアレイの性能をわかりにくいものにしている。
【0009】
本発明の目的は、上述したような、動的マッピングの技法を、パリティグループ全体を未割当て状態にする処理ような特別の処理を行うことなく実現することを可能とし、記憶装置システムにおけるライト処理の効率化を図る点にある。
【0010】
【課題を解決するための手段】
上述した目的を達成するために、本発明の記憶装置システムは、処理装置がリード/ライトの対象とする論理的なレコードが割り当てられるデータレコードと、障害発生時にデータレコード内のデータを回復するために用いられるパリティレコードとでパリティグループを構成し、パリティグループ内の各データレコード及びパリティレコードをそれぞれ異なるディスク装置に配置した記憶装置システムにおいて、パリティグループの中から、それぞれに属するデータレコードの状態に応じてパリティレコードの作成を行うべきパリティグループを決定し、決定したパリティレコードの作成を行うべきパリティグループに属し、論理レコードに割り当てられていないデータレコードを識別する。そして、パリティレコードの作成を行うべきパリティグループ以外のパリティグループに属するデータレコードに割り当てられている論理レコードであって、その更新値が前記キャッシュメモリに格納されている論理レコードに割り当てるデータレコードを、識別されたデータレコードに変更して、パリティレコードの作成を行うべきパリティグループの新たなパリティレコードを作成する。その後、パリティレコードの作成を行うべきパリティグループ内のデータレコード及びパリティレコードを前記ディスク装置のそれぞれに格納するように構成される。
【0011】
より好ましい態様では、上述した各処理は、処理装置からのライト要求に応じて行われる論理レコードの更新値をキャッシュメモリへ格納する処理とは独立したタイミングで行われる。
【0012】
また、パリティグループを決定するステップでは、パリティグループの中で、全てのデータレコードが、論理レコードを割り当てられていない空き状態のデータレコードであるパリティグループを探索し、探索の結果得られたパリティグループの中からパリティレコードの作成を行うべきパリティグループを決定する。探索の結果、該当するパリティグループが存在しない場合には、更新値がキャッシュメモリ内に存在する論理レコードに割り当てられているデータレコードを含むパリティグループの中から前記パリティレコードの作成を行うべきパリティグループを決定する。
【0013】
さらに、割り当てを変更するステップでは、その対象となる論理レコードを、パリティレコードの作成を行うべきパリティグループ内のデータレコードのディスク装置内での配置位置に対して所定の範囲内に配置されているデータレコードに割り当てられている論理レコードの中から決定する。
【0014】
【作用】
上述したように、本発明によれば、パリティレコードの作成を決定したパリティグループに、論理レコードが割り当てられていないデータレコードがある場合に、そのデータレコードを他のパリティグループのデータレコードに割り当てられている更新値を持つ論理レコードのために割り当てるよう割り当ての変更を行った後パリティレコードの更新値を作成するので、それぞれのパリティグループごとに別々にパリティレコードの更新値を作成する場合に比べ、パリティレコードの更新値作成のために必要となるディスクのアクセス回数を低減することができる。
【0015】
また、パリティグループ内の一部のデータレコードに、論理レコードが割り当てられていない未割当て状態のデータレコードがあれば、そのデータレコードを他のパリティグループのデータレコードが割り当てられている論理レコードに割り当てるよう割り当ての変更を行っているので、このような未割り当て状態のデータレコードを有効に利用できる。さらに、これにより、上述した従来技術のように、パリティグループ内のすべてのデータレコードを未割当て状態にするような特別な処理を実行させる必要性をなくすことができる。
【0016】
【実施例】
以下、本発明について実施例により詳細に説明する。
【0017】
図1は、本発明の対象となる計算機システムの構成図である。本実施例において計算機システムは、大きく、処理装置1300、制御装置1305、および、1台以上のディスク装置1304により構成される。
【0018】
処理装置1300は、CPU1301、主記憶1302、および、チャネル1303により構成される。
【0019】
制御装置1305は、処理装置1300から発行されるリード/ライト要求にしたがって、処理装置1300と、ディスク装置1304との間で、データの転送処理を実行する。制御装置1305は、1つ以上のディスク制御プロセッサ1310、キャッシュメモリ(以下、単にキャッシュと略す。)1308、ディレクトリ1309、不揮発性メモリ1400、および、不揮発性メモリ管理情報1401を含む。キャッシュ1308は、ディスク装置1304に保持されているデータの中で、アクセス頻度の高いものがロードされる。ディレクトリ1309には、キャッシュ1308の管理情報が格納されている。不揮発性メモリ1400は、不揮発の媒体であり、キャッシュ1308と同様に、ディスク装置1304に保持されているデータの中で、アクセス頻度の高いものがロードされる。不揮発性メモリ管理情報1401も不揮発の媒体であり、不揮発性メモリ1400の管理情報を格納する。なお、キャッシュ1308や、ディレクトリ1309も不揮発化されていてもよい。ディスク制御プロセッサ1310は、制御装置1305内で、処理装置1300が発行したリード/ライト要求を受取り、キャッシュ1308等を利用し、処理装置1300と、ディスク装置1304の間で、転送処理を実行する機能をもつ。なお、制御装置1305は、必ずしも不揮発性メモリ1400、および、不揮発性メモリ管理情報1401を含まなくてもよい。
【0020】
本実施例において、制御装置1305は、処理装置1300からライト要求があった場合、ディスク装置1304に書き込むべきデータを、キャッシュ1308、あるいは、キャッシュ1308と不揮発性メモリ1400に格納した段階でその完了を処理装置1300に通知する。ディスク装置1304へのデータの書き込みは、その後、制御装置1305が実行する。このような処理は、ライトアフタ処理と呼ばれる。なお、制御装置1305には、ディスク制御プロセッサ1310を複数設けることも可能である。図1において、破線で示した部分は、例えば、ディスク制御装置1310を2つ設けた場合の追加の構成を示している。
【0021】
通常、処理装置1300がディスク装置1304を対象として、リード/ライトするデータの単位は、レコードと呼ばれる。図2は、本実施例におけるレコードの考え方をまとめたレコード定義図である。本実施例では、処理装置1300が制御装置との間でリード/ライトするレコードを論理レコード1700と呼ぶ。また、ディスク装置1304上に格納されたレコードを物理レコード1502と呼ぶ。ディスク装置1304上に格納されている物理レコード1502には、データレコード1500とパリティレコード1501の2種類のレコードが含まれる。データレコード1500は、処理装置1300がその処理に利用する論理レコード1700の内容を格納した物理レコード1502である。一方、パリティレコード1501は、ディスク装置1304に障害が発生し、データレコード1500の内容が消失した時、その消失した内容を回復する処理に用いられるレコードである。この場合、データレコード1500の値が変更されると、これに対応する、パリティレコード1501の内容も変更される。
【0022】
図3は、ディスクアレイにおけるパリティグループの概念図である。ディスク装置#1からディスク装置#mまでのm個のディスク装置1304上に、それぞれ対応するm個のデータレコード1500が格納されている。これらのm個のデータレコード1500から、n個のパリティレコード1501が作成され、それぞれ対応するディスク装置#m+1からディスク装置#m+nに格納される。したがって、図3に示す例では、m個のデータレコード1500とn個のパリティレコード1501により、1つのパリティグループ1600が構成されている。一般に、n個のパリティレコード1501を含むパリティグループ1600においては、そのパリティグループ1600内のレコード1502が格納されているm+n個ディスク装置のうち、n台までのディスク装置1304が故障しても、パリティグループ1600内のすべてのレコード1502の内容を回復することができる。このように、ディスクアレイを適用すると、ディスク装置1304の高信頼化を実現することができる。
【0023】
なお、図3では、ディスク装置#1からディスク装置#mにデータレコード1500が、ディスク装置#m+1からディスク装置#m+nにパリティレコード1501が格納されているが、ディスク装置#1からディスク装置#mのディスク装置1304に格納するすべてのレコードを、データレコード1500とする必要はない。同様に、ディスク装置#m+1からディスク装置#m+nまでのディスク装置1304上のすべてのレコード1502を、パリティレコード1500とする必要もない。つまり、別のパリティグループでは、ディスク装置#2から#m+1にデータレコード1500を格納し、ディスク装置#1、及びディスク装置#m+2から#m+nにパリティレコード1501を格納するようにしてもよい。
【0024】
なお、ディスク装置1304の数は、必ずしもパリティグループ内のレコードの数と対応している必要はない。例えば、図3に示すように、m+n個のレコードでパリティグループが構成される場合に、m+n台以上のディスク装置を用い、任意のm+n個のディスク装置にパリティグループ内のレコードを格納するように構成することもできる。同様に、パリティグループを構成するレコードの数もm+n個には限定されるものではない。
【0025】
また、本実施例では、論理レコード1700を、1つのデータレコード1500に格納しても、1以上のデータレコード1500に格納してもかまわない。
【0026】
本実施例では、すべてのデータレコード1500に格納できるデータの量は、すべての論理レコード1700のデータの量より多いものとする。このため、データレコード1500には、論理レコード1700が割り当てられた状態と、そうでない状態(この状態を以下未割当て状態と呼ぶ。)が存在することになる。図4にこの関係を示す概念図を示す。例えば、最初、「内容a」を持つ論理レコードa1702のために、パリティグループa1704に含まれるデータレコードa1701が割り当てられているとする。ここで、論理レコードa1702に対して書き換えが発生し、その内容が「内容b」になった時、本実施例では、以下に説明するように、「内容b」に更新された論理レコードa1702のために、パリティグループb1705に属するデータレコードb1703を割り当てる場合がある。この場合、更新前に論理レコードa1702に割り当てられていたデータレコードa1701は、論理レコード1700が割り当てられていない未割当状態状態になる。ただし、この場合でも、データレコードa1702に格納されている内容は、パリティグループa1704に属する他のデータレコード1500の内容を復元するために必要である。このため、データレコードa1701の内容を単純に別の内容に変更することはできない。つまり、データレコードa1701に、新たに論理レコード1700を割り当てる場合には、その内容にしたがって、パリティレコードa1706の値を書き換える必要が生じる。
【0027】
図5は、キャッシュ1308の論理的な構造を示す構成図である。キャッシュ1308は、複数のセグメント2000に分割されている。各セグメント2000には、データレコード1500、パリティレコード1501、論理レコード1700の更新値等のいずれかが格納される。また、それぞれのセグメント2000には、セグメントポインタ2001が設けられている。セグメントポインタ2001は、未割当状態にあるセグメント2000をチェイン上に結合するために用いられる。
【0028】
不揮発メモリ1400も、特に図示しないが、論理的にキャッシュ1308と同様の構成を有している。
【0029】
図6は、ディレクトリ1309の論理的な後続を示す構成図である。ディレクトリ1309は、マッピング情報2100、データレコード未割当情報2101、キャッシュ割当情報2102、セグメント管理情報2103、空きセグメントキューポインタ2104、空きセグメント管理情報キューポインタ2105から構成される。セグメント管理情報2103は、キャッシュ1308を構成するセグメント2000の数だけ存在する。ただし、後述するように、セグメント2000に1対1に対応しているわけではない。以下、各情報を詳細に説明する。
【0030】
図7は、マッピング情報2100の論理的な構造を示す構成図である。マッピング情報2100は、各論理レコード1700が、ディスク装置1304上のどのデータレコード1500に割当ててあるかを表している。論理レコードエントリ2200は、各論理レコード1700に対応して設けられる情報である。各論理レコードエントリ2200は、対応する論理レコードのデータが、ディスク装置1304内のどのデータレコード1500に割り当てられているかを示すデータレコードアドレス2201を含んでいる。本実施例では、各論理レコードエントリ2200が、1つ以上のデータレコードアドレス2201を含んでいるものとする。
【0031】
図8は、データレコード割当情報2101の論理的な構造を示す構成図である。データレコード割り当て情報2101には、各データレコード1500に対応したエントリ2300が設けられており、それぞれのデータレコードの状態を表している。各エントリ2300には、対応するデータレコード1500に、論理レコード1700が割り当てられているか否かを表す情報が保持される。
【0032】
図9は、キャッシュ割当情報2102の論理的な構造を示す構成図である。キャッシュ割り当て情報2102は、各物理レコード、すなわち、ディスク装置1304上のデータレコード1500、及びパリティレコード1501に対応するエントリ2400を有している。各エントリ2400には、対応するデータレコード1500、あるいはパリティレコード1501がキャッシュ1308に格納されているかどうかを表す情報を保持している。対応するデータレコード1500、あるいはパリティレコード1501がキャッシュ1308に格納されていれば、そのエントリ2400には、セグメント管理情報2103へのポインタ(レコード割当ポインタ)が保持される。一方、対応するデータレコード1500、あるいはパリティレコード1501がキャッシュ1308に格納されていないエントリ2400には、ヌル値が格納される。
【0033】
図10は、セグメント管理情報2103の論理的な構造を示す構成図である。セグメント管理情報2103は、キャッシュ1308の各セグメントを管理するために、各種の情報を有している。図11に示すように、セグメント管理情報2103は、本発明に関係する情報として、更新前セグメントポインタ2500、更新後セグメントポインタ2501、ダーティフラグ2502、バリッドフラグa2503、バリッドフラグb2504、使用中フラグ2505、及び空きポインタ2506を有している。なお、図10では、本発明に直接関係しない情報については、特に図示していない。
【0034】
更新前セグメントポインタ2500は、それを含むセグメント管理情報2103が、データレコード1500のためのものである場合、パリティレコード1501の更新値が作成されていない値を格納したセグメント2000をポイントする。また、セグメント管理情報2103が、パリティレコード1501のためのものである場合には、パリティレコード1501の更新値を作成する際に、一時的に利用するために確保したセグメント2000をポイントする。
【0035】
更新後セグメントポインタ2501は、それを含むセグメント管理情報2103が、データレコード1500のためのものである場合は、パリティレコード1501の更新値が作成済の値を格納したセグメント2000をポイントしている。また、セグメント管理情報2103が、パリティレコード1501のためのものである場合には、原則的に、本ポインタにより示されるセグメント2200にその値が格納される。
【0036】
ダーティフラグ2502は、更新後セグメントポインタ2501でポイントされているセグメント2000に保持されたデータが、まだディスク装置1304に書き込まれていないことを表している。バリッドフラグa2503は、更新前セグメントポインタ2500によって、また、バリッドフラグb2503は、更新後セグメントポインタ2501によって、それぞれポイントされているセグメント2000に保持されているデータが有効、すなわち、そのセグメント2000の内にデータが入っていることを表す情報を保持する。使用中フラグ2504は、そのセグメント管理情報2103が使用中であることを表す情報を保持する。空きポインタ2505は、空き状態にあるセグメント管理情報2103同士を結合するためのポインタである。
【0037】
図11は、空きセグメントキューの論理的な構造を示す構成図である。図11に示すように、空きセグメントキューは、ディレクトリ1309の空きセグメントキューポインタ2104を先頭として、空き状態にあるセグメント2000が結合されて構成される。具体的には、ディレクトリ1309の空きセグメントキューポインタ2104の次に、空きセグメントキューポインタ2104により示されるセグメントが接続する。その後ろには、空きセグメントキューポインタ2104に接続するセグメント2000が有するセグメントポインタ2001によりポイントされるセグメント2000が接続される。以下、セグメントポインタ2001によりポイントされるセグメント2000がチェイン状につながり、空きセグメントキューを構成する。なお、空きセグメントキューの最後部に接続されたセグメント2000のセグメントポインタ2001には、後続のセグメントがないことを示すために、例えば、Nullが格納される。このことが、図中では、アース記号で示されている。
【0038】
図12は、空きセグメント管理情報キューの構造を示す構成図である。図12に示すように、空きセグメント管理情報キューは、ディレクトリ1309の空きセグメント管理情報キューポインタ2105を先頭として、空き状態にある空きセグメント管理情報2103が結合されて構成される。セグメント管理情報2103同士の結合は、空きセグメントキューの場合と同様に、各セグメント管理情報2103の空きポインタ2506によりポイントされるセグメント管理情報を結合していくことにより行われる。また、空きセグメント管理情報キューの最後部に接続された空きセグメント管理情報2103の空きポインタには、後続の空きセグメント管理情報が存在しないことを示すために、例えば、Nullが格納される。
【0039】
以上、ディレクトリ1309の構造について説明したが、不揮発メモリ管理情報1401も、ディレクトリ1309と同様に構成されている。従って、ここでは、不揮発メモリ管理情報1401についての詳細な説明は行なわない。
【0040】
図13は、本実施例における制御装置により実施される処理の概要を示すデータフロー図である。本実施例において、ライト要求受付部101、パリティ生成スケジュール部110、ロード処理部102、デステージ処理部104、及びパリティ生成部103は、ディスク制御プロセッサ1310によるプログラム制御により実現される。
【0041】
ライト要求受け付け部101は、処理装置1300からのライト要求を受け付け、論理レコードの更新値をキャッシュ1308に格納する。パリティ生成スケジュール部100は、処理装置1300から受け付けた論理レコード1700の更新値を、どのデータレコード1500に格納し、これに伴う、パリティレコード1501の更新値をどのような手順で生成するかを決定する。ロード処理部102は、各ディスク装置1304からレコードを読み出し、キャッシュ1308への格納を行う。デステージ部104は、キャッシュ1308に格納された論理レコード、及びパリティレコードの更新値をデステージ処理によりディスク1304に格納する。また、パリティ生成部103は、パリティ生成スケジュール部100の決定に従いパリティレコードの更新値を生成する。
【0042】
以下、レコード更新時の処理について説明する。
【0043】
図14は、ライトデータ受付部101により行われる処理のフローチャートである。ライトデータ受付部101は、処理装置1300からのライト要求に応じて実行を開始する。
【0044】
ライトデータ受け付け部101は、ライト要求を受け付けると、まず、ライト要求の対象の論理レコード1700が、ディスク装置1304上でどのデータレコード1500に割り当てられているかチェックする(ステップ2600)。ライト要求の対象の論理レコード1700がどのデータレコード1500に割り当てられているかは、ディレクトリ1309のマッピング情報2100を参照することによりチェックすることができる。次に、そのデータレコード1500のためにセグメント管理情報2103と、キャッシュ1308のセグメント2000が割り当てられているかどうか判断する(ステップ2601)。この判断は、まず、ディレクトリ1309のキャッシュ割当情報2102を参照して、ステップ2600で求めたデータレコードに対応してセグメント管理情報2103が割り当てられているか調べる。セグメント管理情報2103が割り当てられている場合には、さらに、そのセグメント管理情報2103の更新前セグメントポインタ2501で示されるセグメント2000が割当てられているかどうか判断する。ステップ2601において、セグメント管理情報2103、および、セグメント2000が割当られていないものがあれば、ステップ2602で、必要なセグメント管理情報2103、および、セグメント2000を確保する。このとき、セグメント管理情報2103の使用中フラグ2504をオンにする。
【0045】
続いて、不揮発性メモリ1400にライトデータを書き込むかどうかを判断し(ステップ2603)、不揮発性メモリ1400にもライトデータを書き込む場合には、ステップ2601、2602と同様の処理を、不揮発性メモリ管理情報1401を参照して実行する(ステップ2604、2605)。
【0046】
ステップ2603で不揮発性メモリ1400にライトデータを書き込まないと判断したとき、あるいは、ステップ2604、2605の処理の終了後、処理装置1300から受け取ったライトデータをキャッシュ1308のセグメント2000に格納する(ステップ2606)。また、このとき、ステップ2603で、不揮発性メモリ1400にライトデータを書き込むと判断した場合は、不揮発性メモリ1400にもそのレコードを格納する。そして、格納したセグメント2000に対応するセグメント管理情報2103の管理情報を更新する。
【0047】
以上のようにして論理レコードが更新されると、パリティ生成スケジュール部100は、論理レコードの更新値をどのデータレコードに割り当てるとともに、パリティレコードの更新値を如何に生成するか決定する。パリティ生成スケジュール部100によるこのような処理は、ライト要求受付部101による処理装置1300からのライト要求の受け付けとは非同期で(独立して)行われる。図15にパリティ生成スケジュール部100の処理フローを示す。
【0048】
パリティ生成スケジュール部100は、まず、それに属する全てのデータレコードが空いている状態にあるパリティグループの有無を調べる(ステップ2700)。ここで、データレコードが空いている状態とは、論理レコードが割り当てられていない状態であることを言う。すべてのデータレコード1500が空いている状態のパリティグループがあれば、このパリティグループについてパリティレコードの更新値の作成をスケジュールすることとし、ステップ2702ヘジャンプする。全てのデータレコードが空き状態のパリティグループが存在しない場合には、パリティレコードに更新値の作成が必要なデータレコード1500を探す(ステップ2701)。パリティレコードの更新値の作成が必要なデータレコードを見出すと、このデータレコードの属するパリティグループについてパリティレコードの更新値の作成をスケジュールすることとする。
【0049】
ステップ2702では、パリティレコードの更新値を格納するために、キャッシュ1308のセグメント2000、および、必要があれば、セグメント管理情報2103を確保する。この時、セグメント管理情報2103の使用中フラグ2504をオンにする。なお、セグメント管理情報2103の更新前セグメントポインタ2500が、確保したセグメント2000を示すようにする。
【0050】
このようにして、パリティレコードの更新値の作成のスケジュールするパリティグループが決まると、続いて、このパリティグループ内に、論理レコードを割り当てていないデータレコードの有無を調べる(ステップ2703)。もし、論理レコードの割り当てられていないデータレコードがなければ、ステップ2706へジャンプする。該当するデータレコードがあれば、そのデータレコードに対して割り当てる論理レコードを探す(ステップ2704)。ここで探し出す論理レコードは、他のパリティグループのデータレコードに割り当てられており、処理装置1300により更新されている論理レコードであって、かつ、その論理レコードが割り当てられているデータレコードに対応するパリティレコードに、更新値の作成が必要なものである。なおこのとき、各ディスク装置1304の全体を探索するのではなく、探索の範囲を各ディスク装置1304の一定の範囲に限定してもよい。探索の範囲を限定することにより、論理レコードの番号が近いものを、ディスク装置1304内で近い場所に配置することができ、論理レコードの番号順にリード/ライト処理が実行されるシーケンシャル処理を高速に処理できるようになる。
【0051】
次に、論理レコードを割り当てていないデータレコードに対し、ステップ2704で見出した論理レコードを割当て直す(ステップ2705)。この処理によるセグメント管理情報2103の状態の変化の様子を図16に示す。なおここでは、スケジュール対象とするパリティグループを、パリティグループ“f”とし、パリティグループ“f”の中で、論理レコードを割り当てていないデータレコードを、データレコード“j”、データレコード“k”とする。また、パリティグループ“f”には属さないデータレコードの中で、論理レコードの更新値を受け取っているデータレコードとしてデータレコード“g”、データレコード“h”があるものとする。ステップ2705では、図16に示すように、データレコード“g”、データレコード“h”に対応しているセグメント管理情報2103−g、2103−hの更新前セグメントポインタ2500によりポイントされているセグメント2000−g、2000−hが、データレコード“j”、データレコード“k”に対応しているセグメント管理情報2103−j、2103−kの更新前セグメントポインタ2500によりポイントされるようにする。すなわち、セグメント管理情報2103−gの更新前セグメントポインタ2500の値を、セグメント管理情報2103−jの更新前セグメントポインタ2500にコピーし、セグメント管理情報2103−gの更新前セグメントポインタ2500をNullにする。同様にして、セグメント管理情報2103−hの更新前セグメントポインタ2500の値を、セグメント管理情報2103−kの更新前セグメントポインタ2500にコピーし、セグメント管理情報2103−hの更新前セグメントポインタ2500をNullにする。さらに、この割当変更に対応して、マッピング情報2100、データレコード割当情報2101を更新する。
【0052】
スケジュール対象として決定したパリティグループ内に空きデータレコードがなくなると、このパリティグループに属するパリティレコードのキャッシュ1308への格納状況を調べ、パリティレコードの更新値の作成に用いる情報を決定する(ステップ2706)。パリティレコードの更新値は次のうちのいずれかの情報により作成できる。
【0053】
(1)パリティグループ内のすべてのデータレコードの最新値。この場合、パリティレコードの更新を必要とする値をもたないデータレコード(ディスク装置1304に書き込まれた後更新されていないデータレコード)の値も必要となる。
(2)データレコードの更新値と更新前の値、及びパリティレコードの更新前の値。
【0054】
ここでは、(1)、(2)の情報の中で、キャッシュ1308に格納されていない情報が少ない方を、パリティレコードの更新値作成に用いる情報として決定する。これにより、ディスク装置1304からのロード処理を削減することができる。なお、このとき、パリティレコードの更新値作成に用いると決定した情報を格納している物理レコードに対応するセグメント管理情報2103の使用中フラグ2504をオンにする。
【0055】
次に、ステップ2707で、ステップ2706でパリティレコードの更新値の作成に用いることを決定した情報の中で、キャッシュ1308に保持されていない情報があるかチェックする。必要な全ての情報がキャッシュ1308に保持されていれば、ステップ2710ヘジャンプする。キャッシュ1308に保持されていない情報があれば、その情報をキャッシュ1308に格納するために、キャッシュ1308内のセグメント2000、および、必要があれば、セグメント管理情報2103を確保する(2708)。このとき、確保したセグメント管理情報2103の使用中フラグ2504をオンにする。また、セグメント管理情報2103の更新後セグメントポインタ2501が、確保したセグメント2000を示すようにする。その後、ロード処理部により、必要な情報をディスク装置1304から読み出して、確保したセグメント2000に格納する(ステップ2709)。
【0056】
ステップ2710では、パリティ生成部103により、先に決定した情報を用いてパリティレコードの更新値を作成する。パリティレコードの更新値を作成すると、更新値を持つデータレコード、及びパリティレコードに対応しているセグメント管理情報2103の更新前セグメントポインタ2500の値を、更新後セグメントポインタ2501に移し、更新値を格納しているセグメント200が更新後セグメントポインタ2501によってポイントされるようにする(ステップ2711)。この様子を図17に示す。具体的には、更新値を格納しているセグメント2000を更新後セグメントポインタ2501が示すようにし、それまで、更新値を格納したセグメント2000−mを示していた更新前セグメントポインタ2500にNullを格納する。なお、このとき、更新値を持つセグメント2000の内容をディスク装置1304に書き込むために、ダーティフラグ2502をオンにする。また、パリティレコード1501の更新値を作成するのに使用したデータレコード(更新値を持たないもの)に対応しているセグメント管理情報2103の使用中フラグ2504をオフにする。
【0057】
最後に、デステージ処理部104により論理レコードの更新値、及びパリティレコードの更新値をディスク装置1304に書き込み処理を終える(ステップ2712)。
【0058】
以上説明した処理による流れが、図13において、矢印▲1▼〜▲5▼により示されている。矢印▲1▼は、処理装置1300からのライト要求に応じて、論理レコードc、及び論理レコードeの更新値がキャッシュに格納されることを示している。矢印▲2▼は、ステップ2705による論理レコードの割り当ての変更を示している。なお、上述したように、論理レコードの割り当ての変更は、その内容が更新値eに変更されたデータレコードのセグメント管理情報の更新前セグメントポインタを更新するだけでよく、更新値eを格納したセグメントを移動する必要はない。矢印▲3▼は、パリティレコードの更新値を作成するに当たって、キャッシュ1308に格納されていない必要な情報が、ステップ2709においてロードされる様子を示している。矢印▲4▼は、ステップ2710におけるパリティレコードの更新時のデータの流れを示している。また、矢印▲5▼は、ステップ2712におけるデステージ処理によりデータレコード、パリティレコードがディスク装置1304に格納される様子を示している。
【0059】
以上説明した実施例では、ディスク装置と処理装置との間に接続される制御装置を備えたシステムを例に説明したが、本発明は、このようなシステムに限らず、処理装置とディスク装置とが制御装置を介さずに、直接接続されているようなシステムにも適用することができる。このような構成のシステムの一例を第2の実施例として図18に示す。本実施例では、キャッシュ1308、ディレクトリ1304は、処理装置1300の主記憶1302上に実現される。主記憶1302は、不揮発化されていても、いなくても本発明を実施するに当たっては特に問題がない。
【0060】
図18に示すように処理装置1300上では、応用プログラム300と管理プログラム301が実行される。第1の実施例においてディスク制御プロセッサが備えていた、キャッシュ1308、ディレクトリ1309、および、パリティグループ等の管理機能は、管理プログラム301がもつ。また、本実施例では、応用プログラム300が論理レコードのリード/ライトを要求し、管理プログラム301が論理レコードとディスク装置に格納されるデータレコードのマッピングを行う。すなわち、図2における処理装置1300が、図19では、応用プログラム300に相当し、制御装置1305が、管理プログラム301に相当する。したがって、管理プログラム301は、応用プログラム300からのライト要求によるデータを、キャッシュ1308に格納した段階で完了させる。ディスク装置1304へのデータの書き込みは、後から、管理プログラム300の制御により実行される。本実施例におけるディレクトリ1309、キャッシュ1308等の具体的な構成は、第1の実施例のものをそのまま適用することができる。また、本実施例において管理プログラムにより行われる処理は、先に説明した第1の実施例におけるディスク制御プロセッサのそれと同様であり、ここでは特に説明は省略する。
【0061】
【発明の効果】
本発明によれば、ディスクアレイにおいて、各ディスク装置に、余分なレコードを設けることにより、パリティの更新値を作成するのに必要な情報を読出す回数、パリティをディスク装置に書き込む回数を削減できる。また、本発明の場合、未割当て状態の領域が1つでもあれば、それを有効に利用できるため、パリティグループ内のすべてのデータレコードを空いた状態にするといった特別な処理を実行させる必要はない。
【図面の簡単な説明】
【図1】第1の実施例における計算機システムの構成図。
【図2】レコードの定義図。
【図3】ディスクアレイにおけるパリティグループの概念図。
【図4】マッピングの変更の概念図。
【図5】キャッシュメモリの論理的な構成図。
【図6】ディレクトリの論理的な構成図。
【図7】マッピング情報の論理的な構成図。
【図8】データレコード割り当て情報の構成図。
【図9】キャッシュ割当て情報の構成図。
【図10】セグメント管理情報の構成図。
【図11】空きセグメントキューの構成図。
【図12】空きセグメント管理情報キューの構成図。
【図13】パリティレコードの更新値作成処理におけるデータの流れを示すデータフロー図。
【図14】ライト要求受付時の処理フローチャート。
【図15】パリティレコードの更新値作成時の処理フローチャート。
【図16】論理レコードの割当て変更時のセグメント管理情報の変化の様子を示す概念図。
【図17】セグメントの切り替え時のセグメント管理情報の変化の様子を示す概念図。
【図18】第2の実施例における計算機システムの構成図。
【符号の説明】
100…パリティ生成スケジュール部、101…ライト要求受付部、102…ロード処理部、103…パリティ生成部、104…デステージ処理部、300…応用プログラム、301…管理プログラム、1300…処理装置、1304…ディスク装置、1305…制御装置、1308…キャッシュメモリ、1309…ディレクトリ、1400…不揮発性メモリ、1401…不揮発性メモリ管理情報、1500…データレコード、1501…パリティレコード、1502…物理レコード、1600…パリティレコード、1700…論理レコード、1701…レコード、2000…セグメント、2100…マッピング情報、2101…データレコード割当情報、2102…キャッシュ割当情報、2103…セグメント管理情報、2104…空きセグメントキューポインタ、2105…空きセグメント管理情報。
Claims (5)
- 各々複数のデータ格納領域から構成される複数の記憶装置と、
各々、1または複数個のデータ格納領域と前記1または複数個のデータ格納領域に格納されたデータの回復に用いられるパリティデータを格納する1または複数個のデータ格納領域とから構成される、複数のパリティグループを構成する、前記複数の記憶装置に接続される制御装置とを有する記憶装置システムにおいて、
前記制御装置は、前記制御装置と接続される処理装置から、前記複数のパリティグループのいずれかのデータ格納領域に格納されているデータに対する更新データを受信すると、受信した更新データを前記制御装置内のキャッシュメモリに格納し、
前記キャッシュメモリに格納されている複数の更新データのうち、第 1 の更新データについて、前記第 1 の更新データが属する第1のパリティグループを構成するデータ格納領域のうち、いずれかに、データが格納されていない空きデータ格納領域があるかどうかを判断し、
空きデータ格納領域があれば、前記複数の更新データのうち、第2のパリティグループに属する、第 2 の更新データを選択し、
前記第2の更新データを、前記第1のパリティグループ内の空きデータ格納領域に割り当て、
前記第1の更新データと前記第2の更新データを含む第1のパリティグループのパリティデータの更新を行うことを特徴とする記憶装置システム - 請求項1記載の記憶装置システムであって、
前記第 2 の更新データを選択する際、前記複数の更新データのうち、あらかじめ定めた記憶装置内での配置位置に配置されている更新データから、前記第 2 の更新データを選択することを特徴とする記憶装置システム - 請求項1記載の記憶装置システムであって、
前記第 1 のパリティグループのパリティデータを更新するために、更新後のパリティデータを作成する際、前記制御装置は、前記第 1 のパリティグループを構成するデータ格納領域に格納されているデータを用いて、前記更新後のパリティデータを作成することを特徴とする記憶装置システム - 請求項1記載の記憶装置システムであって、
前記第 1 のパリティグループのパリティデータを更新するために、更新後のパリティデータを作成する際、前記制御装置は、前記第 1 の更新データと、前記第 1 の更新データが更新される前のデータと、前記第2の更新データと、前記第 2 の更新データが更新される前のデータと、前記第 1 のパリティグループの更新前のパリティデータとを用いて、前記更新後のパリティデータを作成することを特徴とする記憶装置システム - 各々複数のデータ格納領域から構成される複数の記憶装置と、
各々、1または複数個のデータ格納領域と前記1または複数個のデータ格納領域に格納されたデータの回復に用いられるパリティデータを格納する1または複数個のデータ格納領域とから構成される、複数のパリティグループを構成する、前記複数の記憶装置に接続される制御装置とを有する記憶装置システムにおいて、前記制御装置により実行される制御方法であって、
前記制御装置と接続される処理装置から、前記複数のパリティグループのいずれかのデータ格納領域に格納されているデータに対する更新データを受信すると、受信した更新データを前記制御装置内のキャッシュメモリに格納するステップと、
前記キャッシュメモリに格納されている複数の更新データのうち、第 1 の更新データについて、前記第 1 の更新データが属する第1のパリティグループを構成するデータ格納領域 のうち、いずれかに、データが格納されていない空きデータ格納領域があるかどうかを判断するステップと、
空きデータ格納領域があれば、前記複数の更新データのうち、第2のパリティグループに属する、第 2 の更新データを選択するステップと、
前記第2の更新データを、前記第1のパリティグループ内の空きデータ格納領域に割り当てるステップと、
前記第1の更新データと前記第2の更新データを含む第1のパリティグループのパリティデータの更新を行うステップを有することを特徴とする制御方法
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19396694A JP3687111B2 (ja) | 1994-08-18 | 1994-08-18 | 記憶装置システムおよび記憶装置の制御方法 |
US08/511,731 US5734813A (en) | 1994-08-18 | 1995-08-07 | Storage apparatus system for reallocating data records among parity groups |
EP95112951A EP0702301B1 (en) | 1994-08-18 | 1995-08-17 | Storage apparatus and method for its control |
DE69519350T DE69519350T2 (de) | 1994-08-18 | 1995-08-17 | Speichergerät und Verfahren zu seiner Steuerung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19396694A JP3687111B2 (ja) | 1994-08-18 | 1994-08-18 | 記憶装置システムおよび記憶装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0863394A JPH0863394A (ja) | 1996-03-08 |
JP3687111B2 true JP3687111B2 (ja) | 2005-08-24 |
Family
ID=16316735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19396694A Expired - Lifetime JP3687111B2 (ja) | 1994-08-18 | 1994-08-18 | 記憶装置システムおよび記憶装置の制御方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5734813A (ja) |
EP (1) | EP0702301B1 (ja) |
JP (1) | JP3687111B2 (ja) |
DE (1) | DE69519350T2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544347A (en) | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US5680640A (en) * | 1995-09-01 | 1997-10-21 | Emc Corporation | System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state |
JP3713788B2 (ja) * | 1996-02-28 | 2005-11-09 | 株式会社日立製作所 | 記憶装置および記憶装置システム |
US6021463A (en) * | 1997-09-02 | 2000-02-01 | International Business Machines Corporation | Method and means for efficiently managing update writes and fault tolerance in redundancy groups of addressable ECC-coded sectors in a DASD storage subsystem |
US6289415B1 (en) * | 1998-12-23 | 2001-09-11 | At&T Corporation | System and method for storage media group parity protection |
JP4462852B2 (ja) * | 2003-06-23 | 2010-05-12 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの接続方法 |
US7519629B2 (en) * | 2004-09-30 | 2009-04-14 | International Business Machines Corporation | System and method for tolerating multiple storage device failures in a storage system with constrained parity in-degree |
JP5487482B2 (ja) * | 2007-06-29 | 2014-05-07 | シーゲイト テクノロジー エルエルシー | 記憶システムにおけるプロセッサ・パートナリング |
US9569303B2 (en) * | 2014-08-08 | 2017-02-14 | Kabushiki Kaisha Toshiba | Information processing apparatus |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5124987A (en) * | 1990-04-16 | 1992-06-23 | Storage Technology Corporation | Logical track write scheduling system for a parallel disk drive array data storage subsystem |
US5193184A (en) * | 1990-06-18 | 1993-03-09 | Storage Technology Corporation | Deleted data file space release system for a dynamically mapped virtual data storage subsystem |
JPH0731582B2 (ja) * | 1990-06-21 | 1995-04-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | パリティ保護データを回復するための方法および装置 |
US5210866A (en) * | 1990-09-12 | 1993-05-11 | Storage Technology Corporation | Incremental disk backup system for a dynamically mapped data storage subsystem |
US5155835A (en) * | 1990-11-19 | 1992-10-13 | Storage Technology Corporation | Multilevel, hierarchical, dynamically mapped data storage subsystem |
US5542064A (en) * | 1991-11-21 | 1996-07-30 | Hitachi, Ltd. | Data read/write method by suitably selecting storage units in which multiple copies of identical data are stored and apparatus therefor |
US5341381A (en) * | 1992-01-21 | 1994-08-23 | Tandem Computers, Incorporated | Redundant array parity caching system |
US5394532A (en) * | 1992-04-15 | 1995-02-28 | Storage Technology Corporation | Disk drive array memory system having instant format capability |
US5410667A (en) * | 1992-04-17 | 1995-04-25 | Storage Technology Corporation | Data record copy system for a disk drive array data storage subsystem |
JP3183719B2 (ja) * | 1992-08-26 | 2001-07-09 | 三菱電機株式会社 | アレイ型記録装置 |
US5581724A (en) * | 1992-10-19 | 1996-12-03 | Storage Technology Corporation | Dynamically mapped data storage subsystem having multiple open destage cylinders and method of managing that subsystem |
US5416915A (en) * | 1992-12-11 | 1995-05-16 | International Business Machines Corporation | Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array |
GB2273798A (en) * | 1992-12-22 | 1994-06-29 | Ibm | Cache system for disk array. |
US5579474A (en) * | 1992-12-28 | 1996-11-26 | Hitachi, Ltd. | Disk array system and its control method |
EP0612015A1 (en) * | 1993-02-16 | 1994-08-24 | International Business Machines Corporation | Improved disk array system having special parity groups for data blocks with high update activity |
US5463765A (en) * | 1993-03-18 | 1995-10-31 | Hitachi, Ltd. | Disk array system, data writing method thereof, and fault recovering method |
JP3249868B2 (ja) * | 1993-11-19 | 2002-01-21 | 株式会社日立製作所 | アレイ形式の記憶装置システム |
US5600783A (en) * | 1993-11-30 | 1997-02-04 | Hitachi, Ltd. | Disc array system having disc storage devices dispersed on plural boards and accessible at withdrawal of part of the boards |
US5530948A (en) * | 1993-12-30 | 1996-06-25 | International Business Machines Corporation | System and method for command queuing on raid levels 4 and 5 parity drives |
US5537567A (en) * | 1994-03-14 | 1996-07-16 | International Business Machines Corporation | Parity block configuration in an array of storage devices |
US5522032A (en) * | 1994-05-05 | 1996-05-28 | International Business Machines Corporation | Raid level 5 with free blocks parity cache |
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 |
US5574882A (en) * | 1995-03-03 | 1996-11-12 | International Business Machines Corporation | System and method for identifying inconsistent parity in an array of storage |
-
1994
- 1994-08-18 JP JP19396694A patent/JP3687111B2/ja not_active Expired - Lifetime
-
1995
- 1995-08-07 US US08/511,731 patent/US5734813A/en not_active Expired - Lifetime
- 1995-08-17 EP EP95112951A patent/EP0702301B1/en not_active Expired - Lifetime
- 1995-08-17 DE DE69519350T patent/DE69519350T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69519350D1 (de) | 2000-12-14 |
EP0702301A1 (en) | 1996-03-20 |
EP0702301B1 (en) | 2000-11-08 |
JPH0863394A (ja) | 1996-03-08 |
DE69519350T2 (de) | 2001-06-13 |
US5734813A (en) | 1998-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5379391A (en) | Method and apparatus to access data records in a cache memory by multiple virtual addresses | |
US5410667A (en) | Data record copy system for a disk drive array data storage subsystem | |
US5581724A (en) | Dynamically mapped data storage subsystem having multiple open destage cylinders and method of managing that subsystem | |
US5416915A (en) | Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array | |
US5239659A (en) | Phantom duplex copy group apparatus for a disk drive array data storge subsystem | |
US5210866A (en) | Incremental disk backup system for a dynamically mapped data storage subsystem | |
US5394532A (en) | Disk drive array memory system having instant format capability | |
US5632012A (en) | Disk scrubbing system | |
US7032070B2 (en) | Method for partial data reallocation in a storage system | |
EP0726514B1 (en) | Methods for using non contiguously reserved storage space for data migration in a redundant hierarchic data storage system | |
JP3505093B2 (ja) | ファイル管理システム | |
US6915382B2 (en) | Apparatus and method for reallocating logical to physical disk devices using a storage controller, with access frequency and sequential access ratio calculations and display | |
JP3371044B2 (ja) | ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法 | |
US6341331B1 (en) | Method and system for managing a raid storage system with cache | |
EP0899731B1 (en) | Improved disk log using distributed write | |
JPH08249134A (ja) | 冗長性パリティ記憶技法に従ってユーザ・データを書き込む方法 | |
EP0538288A1 (en) | SYSTEM FOR RELEASING THE SPACE OF DELETED FILES FOR A DYNAMIC IMAGE VIRTUAL DATA STORAGE SUBSYSTEM. | |
JPH0619632A (ja) | コンピユータ・システムのストレージ装置及びデータのストア方法 | |
WO1991016711A1 (en) | Logical track write scheduling system for a parallel disk drive array data storage subsystem | |
US6098191A (en) | Storage unit and storage unit subsystem | |
JPH06202817A (ja) | ディスクアレイ装置及びそのデータ更新方法 | |
US6079000A (en) | XPC backup for in-process audit | |
JP3687111B2 (ja) | 記憶装置システムおよび記憶装置の制御方法 | |
JP4252102B2 (ja) | 計算機システムおよび二次記憶装置 | |
JP2001043031A (ja) | 分散パリティ生成機能を備えたディスクアレイ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050422 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050517 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050530 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080617 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090617 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090617 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100617 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100617 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110617 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110617 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120617 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120617 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130617 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |