JP2003186624A - ディスクアレイ装置及び同装置におけるデータ更新方法 - Google Patents

ディスクアレイ装置及び同装置におけるデータ更新方法

Info

Publication number
JP2003186624A
JP2003186624A JP2001384822A JP2001384822A JP2003186624A JP 2003186624 A JP2003186624 A JP 2003186624A JP 2001384822 A JP2001384822 A JP 2001384822A JP 2001384822 A JP2001384822 A JP 2001384822A JP 2003186624 A JP2003186624 A JP 2003186624A
Authority
JP
Japan
Prior art keywords
logical address
data
stripe
block
address tag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001384822A
Other languages
English (en)
Other versions
JP3590381B2 (ja
Inventor
Haruo Tomita
治男 冨田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001384822A priority Critical patent/JP3590381B2/ja
Priority to US10/231,157 priority patent/US6886068B2/en
Publication of JP2003186624A publication Critical patent/JP2003186624A/ja
Application granted granted Critical
Publication of JP3590381B2 publication Critical patent/JP3590381B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1038LFS, i.e. Log Structured File System used in RAID systems with parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/104Metadata, i.e. metadata associated with RAID systems with parity

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 For Digital Recording And Reproducing (AREA)

Abstract

(57)【要約】 【課題】論理アドレスタグブロックをストライプ単位で
まとめて読み出すことができるようにする。 【解決手段】制御装置1は、ディスクアレイ2に1デー
タストライプ分のデータブロックを書き込む際に、当該
1データストライプ分のデータブロック中の全論理ブロ
ックに対する論理アドレスを含む論理アドレスタグブロ
ックを生成する。制御装置1は、生成された論理アドレ
スタグブロックが、ディスクアレイ2上のデータ領域と
は別に当該ディスクアレイ2上に予め確保された論理ア
ドレスタグブロック領域中の、対応するデータストライ
プのディスクアレイ2上のストライプ位置で決まるブロ
ック位置に保存されるように制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のディスク装
置から構成されるディスクアレイを備え、ログ構造化フ
ァイルシステム(Log-Structured File System)を適用
するディスクアレイ装置に係り、特にディスクアレイに
対するストライプ単位でのデータ書き込み時に生成され
る論理アドレスタグブロックを当該ディスクアレイに書
き込むのに好適なディスクアレイ装置及び同装置におけ
るデータ更新方法に関する。
【0002】
【従来の技術】従来からログ構造化ファイルシステムと
呼ばれるディスク記憶管理方法が知られている。ログ構
造化ファイルシステムについては、例えば以下の文
献、"The Design and Implementation of a Log-Struct
ured File System",Mendel Rosenblum and John K.Oust
erhout,ACM Transaction on Computer Systems,Februar
y 1992に詳細に記載されている。この文献に記載された
ログ構造化ファイルシステムを要約すると、更新後のデ
ータを、複数個まとめて有効なデータが格納されていな
い別の連続領域に書き込み、更新前に、当該データが格
納されていた古い領域を無効にする方法である。
【0003】また、米国特許第6,219,752号公
報及び米国特許第6,233,648号公報には、ログ
構造化ファイルシステムをディスクアレイ装置に適用し
た技術(以下、先行技術と称する)が開示されている。
この先行技術においては、ホストコンピュータからのア
クセス要求で指定された論理アドレス(ホストコンピュ
ータからみたディスクアレイ上のデータアドレス)を、
ディスクアレイにおける物理的なデータの位置を示す物
理アドレスに変換するにのにアドレス変換テーブルが用
いられる。このアドレス変換テーブルを構成するには、
ディスクアレイにまとめ書きするデータ(1ストライプ
分のデータ)に含まれている複数の論理ブロックの論理
アドレス(とタイムスタンプと)が設定された、論理ア
ドレスタグブロックと呼ばれ情報ブロックが必要とな
る。上記先行技術において、論理アドレスタグブロック
は、まとめ書きするデータの一部として、つまり1スト
ライプ分のデータの一部として取り扱われている。
【0004】
【発明が解決しようとする課題】上記したように、ログ
構造化ファイルシステムを適用した従来のディスクアレ
イ装置では、アドレス変換テーブルを構成するために必
要な論理アドレスタグブロックをまとめ書きするデータ
の一部としている。このため従来のディスクアレイ装置
においては、アドレス変換テーブルを再構成するのに必
要な論理アドレスタグブロックを取得するのに、ディス
クアレイから全てのストライプのデータを読み込まなけ
ればならず、多くの処理時間を必要とする。更に従来の
ディスクアレイ装置においては、物理的に連続した複数
のデータブロックの読み込み要求に対し、その要求され
た複数のデータブロックの途中に論理アドレスタグブロ
ックがあるため、性能劣化の原因となる。
【0005】本発明は上記事情を考慮してなされたもの
でその目的は、論理アドレスタグブロックをストライプ
単位でまとめて読み出すことができるディスクアレイ装
置及び同装置におけるデータ更新方法を提供することに
ある。
【0006】
【課題を解決するための手段】本発明の1つの観点によ
れば、複数のディスク装置から構成されるディスクアレ
イを備え、ホストコンピュータからの書き込み要求の指
定するデータをブロック単位に分割して書き込みバッフ
ァに詰めて蓄積し、当該バッファに1データストライプ
分の論理ブロック数のデータが蓄積された段階で、その
1データストライプ分の論理ブロックを含む1データス
トライプ分のデータブロックが、上記ディスクアレイ内
の複数のディスク装置上の更新されるべきデータを保持
している領域とは別の空き領域内の物理的に連続する論
理アドレスタグブロック領域に書き込まれるディスクア
レイ装置が提供される。
【0007】このディスクアレイ装置は、上記ディスク
アレイに書き込まれる1データストライプ分のデータブ
ロック中の全論理ブロックに対する論理アドレスを含む
論理アドレスタグブロックを生成する手段と、この論理
アドレスタグブロック生成手段により生成された論理ア
ドレスタグブロックを、データストライプが格納される
上記ディスクアレイ上のデータ領域とは別に当該ディス
クアレイ上に予め確保された論理アドレスタグブロック
領域中の、対応するデータストライプのディスクアレイ
上のストライプ位置で決まる論理アドレスタグブロック
領域に保存する手段とを備えている。
【0008】このような構成のディスクアレイ装置によ
れば、論理アドレスタグブロックをストライプ(データ
ストライプ)から切り離して、ディスクアレイ上に確保
された論理アドレスタグブロック専用の領域における、
当該データストライプで決まる論理アドレスタグストラ
イプ中の対応する論理アドレスタグブロック領域に保存
することにより、ディスクアレイに保存された論理アド
レスタグブロックをストライプ単位でまとめて読み出す
ことができる。このため、論理アドレスタグブロックの
読み出しを必要とするアドレス変換テーブル再構成処理
を短時間で実行することができる。また、従来とは異な
って、データストライプ内に論理アドレスタグブロック
を含まず、したがって物理的に連続した複数のデータブ
ロックの読み込み要求に対し、その要求された複数のデ
ータブロックの途中に論理アドレスタグブロックが存在
しないため、読み込み性能が向上する。
【0009】ここで、上記論理アドレスタグブロック生
成手段により生成された論理アドレスタグブロックを蓄
積しておくための論理アドレスタグブロックバッファを
設け、ディスクアレイの上記論理アドレスタグブロック
領域への書き込み(保存)も、データ領域へのデータス
トライプの書き込みと同様に、当該論理アドレスタグブ
ロックバッファに1ストライプ(論理アドレスタグスト
ライプ)分が溜まった段階でまとめて書き込む構成とす
るならば、ディスクアレイへの多数の論理アドレスタグ
ブロックの書き込みが1回にまとめられるので、ディス
ク書き込み性能が大きく向上する。但し、データストラ
イプに対応する論理アドレスタグブロックの書き込み先
は、データストライプを構成する論理ブロックの書き込
み先と異なって、当該データストライプの物理位置に固
有のブロック位置であるため、ディスクアレイ上で物理
的に連続するデータストライプに対応する1論理アドレ
スタグストライプ分の論理アドレスタグブロックが論理
アドレスタグブロックバッファに溜まった段階で上述の
まとめ書きを行う必要がある。
【0010】なお、以上のディスクアレイ装置に係る本
発明は、ディスクアレイを制御する制御装置(ディスク
アレイコントローラ)に係る発明としても、ディスクア
レイ装置におけるデータ更新方法に係る発明としても成
立する。
【0011】また、本発明は、コンピュータに当該発明
に相当する手順を実行させるためのプログラムに係る発
明としても成立する。
【0012】
【発明の実施の形態】以下、本発明の実施の形態につき
図面を参照して説明する。図1は本発明の一実施形態に
係るディスクアレイ装置を備えたコンピュータシステム
の構成を示すブロック図である。
【0013】図1において、ディスクアレイ装置は、制
御装置1と、当該制御装置1に接続されたディスクアレ
イ2と、当該制御装置1に接続された不揮発性メモリ3
とから構成される。ディスクアレイ2は、複数のディス
ク装置、例えば図では4台のディスク装置21,22,
23,24から構成される。
【0014】制御装置1は、ディスクアレイ2を制御す
るコントローラ(ディスクアレイコントローラ)であ
り、ホストコンピュータ10と接続されている。ディス
クアレイ2は、ホストコンピュータ10からは1つの論
理的なディスク装置としてみえる。ホストコンピュータ
10と制御装置1とのインターフェースには、例えばS
CSI(Small Computer System Interface)、或いは
PCIバス(PeripheralComponent Interconnect Bus)
等が適用可能である。
【0015】なお、本実施形態では、図1に示す構成を
中心として説明するが、当該技術分野に属する熟練者に
とって、それらの詳しい細部の説明がなくても、図1に
示す構成から派生する他のコンピュータシステムの構成
であっても、本発明を実施できることは明らかである。
例えば、制御装置1を実現するのに、特開2000−1
0738号公報の第25頁段落[0042]〜[004
5]に記載されたディスクアレイコントローラの実現方
法を適用することも可能である。
【0016】ここで、図1の構成の詳細な説明の前に、
本実施形態の説明で用いる用語について説明する。 a)論理ブロック 論理ブロックとは、ホストコンピュータ10からみたデ
ータブロック、更に詳細に述べるならば、ホストコンピ
ュータ10からみたディスクアレイ2における論理的な
ディスク領域上のデータブロックを示す。 b)物理ブロック 物理ブロックとは、ディスクアレイ2上の物理的なブロ
ック、更に詳細に述べるならば、ディスクアレイ2にお
ける物理的なディスク領域上のデータブロックを示す。
データブロック(論理ブロック、物理ブロック)のサイ
ズは予め定められており、一定である。
【0017】c)論理アドレス 論理アドレスとは、ホストコンピュータ10からみたデ
ィスクアレイ(ディスク装置)2上のデータアドレスを
示す。ここでは、論理アドレスは、ディスクアレイ2に
おける論理的なディスク領域上のデータブロックの位
置、つまり論理ブロックの位置を示す論理ブロックアド
レスとして用いられる。
【0018】d)物理アドレス 物理アドレスとは、ディスクアレイ2上のデータ(デー
タブロック)の物理的位置を示すために使用する。ここ
では、物理アドレスは、ディスクアレイ2(を構成する
ディスク装置)上のデータブロックの物理的位置、つま
り物理ブロックの位置を示す物理ブロックアドレスであ
り、後述する物理ストライプ番号と物理ブロック番号と
から構成される。
【0019】e)論理アドレスタグ 論理アドレスタグとは、各論理ブロックに対する論理ア
ドレスとタイムスタンプからなる情報群を示す。 f)パリティブロック パリティブロックとは、複数の論理ブロックに対応する
冗長データを格納するためのデータブロックを意味す
る。 g)論理アドレスタグブロック 論理アドレスタグブロックとは、論理アドレスタグから
ならデータブロックを意味する。
【0020】h)論理ブロック番号 論理ブロック番号とは、ホストコンピュータからみたデ
ィスクアレイ2上のデータブロックの番号を示す。 i)物理ブロック番号 物理ブロック番号とは、ディスクアレイ2上の後述する
物理ストライプ内のデータブロックの相対位置を示す番
号であり、ディスクアレイ2を構成するディスク装置に
固有の番号である。
【0021】不揮発性メモリ3には、書き込みバッファ
31、アドレス変換テーブル32、タイムスタンプ3
3、書き込みバッファ管理テーブル34、論理アドレス
タグブロックバッファ35、論理アドレスタグブロック
バッファ管理テーブル36、及びパリティキャッシュ3
7が配置される。なお、ホストコンピュータ10とディ
スクアレイ装置との間で入出力されるデータを一時保持
するのに用いられるデータキャッシュについては省略さ
れている。
【0022】書き込みバッファ31は、ディスクアレイ
2に書き込むデータをログ構造化して保持するのに用い
られる。アドレス変換テーブル32は、ホストコンピュ
ータ10からみたディスクアレイ(ディスク装置)2上
のデータアドレス(データブロックアドレス)、つまり
論理アドレス(論理ブロックアドレス)を、ディスクア
レイ2における物理的なデータ(データブロック)の位
置を示すアドレス、つまり物理アドレス(物理ブロック
アドレス)に変換するのに用いられる変換マップであ
る。タイムスタンプ33は、書き込みの時間的順序を維
持するのに用いられる。書き込みバッファ管理テーブル
34は、書き込みバッファ31内の空き領域の情報及び
当該バッファ31に保持されている書き込データの論理
アドレスの情報を保持するのに用いられる。
【0023】論理アドレスタグブロックバッファ35
は、ディスクアレイ2に書き込む論理アドレスタグブロ
ックをログ構造化して保持するのに用いられる。論理ア
ドレスタグブロックバッファ管理テーブル36は、論理
アドレスタグブロックバッファ35内の空き領域の情報
及び当該バッファ35に保持されている論理アドレスタ
グブロックに対応する物理ストライプの情報(物理スト
ライプ番号)を保持するのに用いられる。パリティキャ
ッシュ37は、ディスクアレイ2にパリティデータを含
む後述する1論理アドレスタグストライプ分のデータを
書き込む際に、当該パリティデータを一時保持するのに
用いられる。
【0024】制御装置1は、ROM等の記憶装置(図示
せず)に予め格納されている制御プログラムに従ってデ
ィスクアレイ2へのアクセス等を制御すると共に、不揮
発性メモリ3上の書き込みバッファ31、アドレス変換
テーブル32、タイムスタンプ33、書き込みバッファ
管理テーブル34、論理アドレスタグブロックバッファ
35、論理アドレスタグブロックバッファ管理テーブル
36、及びパリティキャッシュ37を管理する。
【0025】図2は、不揮発性メモリ3上に配置される
書き込みバッファ31と書き込みバッファ管理テーブル
34との関係の一例を示す。制御装置1はホストコンピ
ュータ10から要求された書き込みデータを、ディスク
アレイ2に対して即書き込まずに、ブロック(論理ブロ
ック)単位に分割して書き込みバッファ31に順番に詰
めて(ログ形式に)格納していく。このとき制御装置1
は、書き込みデータを構成する論理ブロックを指定する
論理アドレスを、当該論理ブロックが格納された書き込
みバッファ31内の領域(ブロック領域)に対応する、
書き込みバッファ管理テーブル34内のエントリに保存
する。このエントリ(のエントリ番号)をiとすると、
そのエントリiには、対応するバッファ31内のブロッ
ク領域Biに有効なデータが格納されているか否か(つ
まり当該ブロック領域が空き領域であるか)を示すフラ
グフィールドが設けられている。バッファ31内の空き
のブロック領域に対応する、バッファ管理テーブル34
内のエントリには、その旨を示すフラグ“U”が設定さ
れている。
【0026】制御装置1は、バッファ管理テーブル34
内のエントリiに論理アドレスを保存した場合、当該エ
ントリi中のフラグフィールドに、対応する書き込みバ
ッファ31内のブロック領域Biにデータが格納されて
いることを示すフラグ“F”を設定する。したがって、
バッファ管理テーブル34を参照することにより、ホス
トコンピュータ10から受け取った書き込みデータを格
納すべき次のブロック領域を決めることができる。
【0027】図2に示す例では、書き込みバッファ31
内のブロック領域B0〜B15のうちのB7まで書き込
みデータが格納されており、ブロック領域B0,B1,
…,B7に格納されている論理ブロックの論理アドレス
がそれぞれL123,L99,…,L1であることを表
わしている。なお、図2に示す書き込みバッファ31
は、ディスクアレイ2を、パリティデータの生成が不要
なRAID0,RAID1,RAID10などのRAI
Dレベルで用いる場合を示している。
【0028】ディスクアレイ2を構成する各ディスク装
置21〜24は、それぞれデータブロックのサイズ(ブ
ロックサイズ)の整数倍(ここでは、K倍とする、但し
Kは1以上の整数)であるストライプユニットと呼ばれ
る予め決められた単位(Kブロック単位)で書き込みを
行う。このとき、ディスク装置21〜24の物理的に同
じ位置のストライプユニットは、1つの物理ストライプ
を構成するストライプユニットとして、同じタイミング
で書き込みが行われる。
【0029】明らかなように、1ストライプ(物理スト
ライプ)を構成するデータブロック(つまり1ストライ
プ分のデータブロック)の数は、ディスクアレイ2を構
成するディスク装置の台数N×1ストライプユニットの
データブロック数K、つまりN×Kで表される。また、
1ストライプに含まれる論理ブロック(つまり1ストラ
イプ分の論理ブロック)の数は、ディスクアレイ2を、
パリティデータの生成が不要なRAID0,RAID
1,RAID10などのRAIDレベルで用いる場合に
は、N×Kとなり、パリティデータの生成が必要なRA
ID4,RAID5,RAID50などのRAIDレベ
ルで用いる場合には、(N−1)×Kとなる。なお、ス
トライプユニットのサイズ(ブロック数)は、ディスク
装置に対するアクセス効率を考慮すると、当該ディスク
装置の1トラック長に近いサイズがよい。
【0030】書き込みバッファ31のブロック領域の数
は、1ストライプに含まれる論理ブロック数だけ必要と
なる。したがって、ディスクアレイ2を構成するディス
ク装置の数がディスク装置21〜24の4つである本実
施形態では、1ストライプユニットのデータブロック数
K=4であるとすると、書き込みバッファ31のブロッ
ク領域の数は、ディスクアレイ2をパリティデータの生
成が不要なRAIDレベルで用いるならば、N×K=4
×4=16、即ち1ストライプ分のデータブロック数と
なる。明らかなように、図2中の書き込みバッファ31
は、この例を示している。これに対し、ディスクアレイ
2をパリティデータの生成が必要なRAIDレベルで用
いる場合、書き込みバッファ31のブロック領域の数
は、パリティデータを構成するブロック(パリティブロ
ック)の数(K=4)だけ少ない(N−1)×K=3×
4=12でよい。ここでは、説明を簡略化するために、
ディスクアレイ2がRAID4の冗長化ディスク構成を
適用しており、ディスク装置21〜24のうちの特定の
1台、例えばディスク装置24がパリティデータを格納
するパリティ用ディスク装置として割り当てられている
ものとする。
【0031】さて本実施形態では、ホストコンピュータ
10に対しては、ディスクアレイ2を構成するディスク
装置21〜24の実際の記憶容量を合わせた全記憶容量
よりも少ない記憶容量のディスクアレイ2として見せて
いる。そのため、ホストコンピュータ10が最初にディ
スクアレイ装置内の制御装置1に対して記憶容量を問い
合わせてきたとき、制御装置1はその返答として少ない
記憶容量を返す。したがってディスクアレイ2には、ホ
ストコンピュータ10から論理的に読み書きできる記憶
領域の他に余分な記憶領域が確保されることになる。こ
の領域を空き領域と呼ぶことにする。つまり本実施形態
では、ホストコンピュータ10から論理的に読み書きで
きる記憶領域を全て使用している場合でも、必ずディス
クアレイ2上に空き領域が確保できる。但し、ディスク
アレイ2における空き領域の物理的な位置は固定ではな
い。また、ホストコンピュータ10が使用している論理
的な領域が少ない場合、空き領域の記憶容量は上記余分
な記憶領域の記憶容量より大きくなる。
【0032】不揮発性メモリ3上に格納されるタイムス
タンプ33は、ホストコンピュータ10からの書き込み
データが1ストライプ単位で実際にディスクアレイ2に
書き込まれる際に当該ストライプに付加される情報であ
り、ディスクアレイ2内でのデータ書き込み順序を判定
するのに用いられる。そのためタイムスタンプ33の値
は、書き込みバッファ31のデータがディスク装置2に
書き込まれる毎に例えば1インクリメントされる。この
ストライプ上のタイムスタンプを見ることにより、その
書き込みデータが新しいデータであるか、古いデータで
あるかが判定できる。
【0033】次に、図1に示すディスクアレイ装置の動
作を説明する。まず、ディスクアレイ装置の書き込み動
作について説明する。今、ディスクアレイ装置内の制御
装置1が、ホストコンピュータ10からの書き込み(更
新)要求に応じて、当該ホストコンピュータ10から書
き込むべきデータと当該データの開始位置の論理アドレ
ス及び論当該データのサイズ(データブロックのサイズ
の整数倍)を受け取ったものとする。すると、制御装置
1は、ホストコンピュータ10から受け取った書き込み
データ(更新データ)を、不揮発性メモリ3上の書き込
みバッファ31の空き領域に、ブロック単位に分割して
詰めて格納する。また、制御装置1は、受け取った論理
アドレスを、当該論理アドレスとサイズとから、ブロッ
ク毎の論理アドレス(論理ブロックアドレス)に変換し
て、書き込みバッファ管理テーブル34内の対応するエ
ントリに格納する。なお、既に書き込みバッファ31に
格納されているデータに対する更新データの書き込みの
場合には、制御装置1は書き込みバッファ31の空き領
域に詰めて格納するのではなく、直接書き込みバッファ
31内の旧データを変更する。書き込みバッファ31に
格納されているデータに対する更新データの書き込みで
あるか否かは、書き込みバッファ管理テーブル34内
に、対応する論理ブロックアドレスが設定されていて、
且つフラグが“F”のエントリが存在するか否かにより
判定可能である。
【0034】書き込みバッファ31に格納(蓄積)され
た書き込みデータを構成する論理ブロックの数が1スト
ライプ分の論理ブロック数(1ストライプ分のデータブ
ロック数でない点に注意されたい)に達すると、制御装
置1は、パリティデータを生成しない場合であれば、そ
の論理ブロック数の論理ブロックからなる1ストライプ
分のデータ、即ちN×K=4×4=16個の論理ブロッ
クを、ディスクアレイ2を構成するディスク装置21〜
24上の更新されるべきデータを保持している領域とは
別の空き領域の物理的に連続する領域に書き込む。
【0035】この様子を図3に示す。図3の例では、論
理アドレスL3,L21,L33,L41の論理ブロッ
ク(L3Data,L21Data,L33Data,
L41Data)からなるストライプユニットと、論理
アドレスL2,L7,L8,L0の論理ブロック(L2
Data,L7Data,L8Data,L0Dat
a)からなるストライプユニットと、論理アドレスL
1,L99,L20,L35の論理ブロック(L1Da
ta,L99Data,L20Data,L35Dat
a)からなるストライプユニットと、論理アドレスL
8,L98,L31,L32の論理ブロック(L8Da
ta,L98Data,L31Data,L32Dat
a)からなるストライプユニットとが、それぞれ後述す
るデータ用領域202に含まれているディスク装置2
1,22,23,24の空き領域に、データD1,D
2,D3,D4として一括して書き込まれる様子が示さ
れている。
【0036】また、パリティデータを生成する場合であ
れば、制御装置1は、書き込みバッファ31に格納され
た1ストライプ分の論理ブロック数の論理ブロック、即
ち“1ストライプ−1ストライプユニット”分のデータ
ブロック数に一致する(N−1)×K=3×4=12個
の論理ブロックから、K=3個のパリティブロックから
なる1ストライプユニット分のパリティデータを生成
し、そのK(=3)個のパリティブロックを(N−1)
×K(=12)個の論理ブロックに加えたN×K(=1
6)個のデータブロックからなる1ストライプ分のデー
タを、ディスクアレイ2を構成するディスク装置21〜
24上の更新されるべきデータを保持している領域とは
別の空き領域の物理的に連続する領域に書き込む。
【0037】この様子を図4に示す。図4の例では、論
理アドレスL3,L21,L33,L41の論理ブロッ
ク(L3Data,L21Data,L33Data,
L41Data)からなるストライプユニットと、論理
アドレスL2,L7,L8,L0の論理ブロック(L2
Data,L7Data,L8Data,L0Dat
a)からなるストライプユニットと、論理アドレスL
1,L99,L20,L35の論理ブロック(L1Da
ta,L99Data,L20Data,L35Dat
a)からなるストライプユニットと、パリティブロック
P0,P1,P2,P3からなるストライプユニットと
が、それぞれデータ用領域202に含まれているディス
ク装置21,22,23,24の空き領域に、データD
1,D2,D3,Pとして一括して書き込まれる様子が
示されている。この例では、パリティブロックP0は論
理アドレスL3,L2,L1の論理ブロックの間の排他
的論理和(XOR)演算により、パリティブロックP1
は論理アドレスL21,L7,L99の論理ブロックの
間の排他的論理和演算により、それぞれ生成される。ま
た、パリティブロックP2は論理アドレスL33,L
8,L20の間の排他的論理和演算により、パリティブ
ロックP3は論理アドレスL41,L0,L35の論理
ブロックの間の排他的論理和演算により、それぞれ生成
される。
【0038】このとき制御装置1は、書き込みバッファ
管理テーブル34の各エントリに設定されている、書き
込みバッファ31に蓄積された1ストライプ分の論理ブ
ロックの論理アドレスと、タイムスタンプ33とから構
成される、論理アドレスタグブロックを生成する。
【0039】論理アドレスタグブロック内の論理アドレ
ス(アドレスデータ)の相対的な設定位置と、その論理
アドレスで指定される論理ブロックの物理ストライプ中
の相対的な格納位置(を示す物理ブロック番号)とは予
め1対1の関係で固定的に定められている。したがっ
て、論理アドレスタグブロックから、対応する物理スト
ライプ内の各論理ブロックの論理アドレスが分かるよう
になっている。
【0040】本実施形態では、図3または図4に示すよ
うに、ディスクアレイ2の領域は、論理アドレスタグブ
ロック用領域201とデータ用領域202とに分けて管
理される。データ用領域202内の空き領域に書き込ま
れた物理ストライプ(データストライプ)xに対応する
論理アドレスタグブロックは、当該物理ストライプxの
物理ストライプ番号で決まる、論理アドレスタグブロッ
ク用領域201内のブロック位置に書き込まれる。つま
り、論理アドレスタグブロックが書き込まれる論理アド
レスタグブロック用領域201内のブロック位置と、当
該論理アドレスタグブロックに対応する物理ストライプ
x(の物理位置を示す物理ストライプ番号)との間に
は、予め1対1の関係が定められている。
【0041】さて本実施形態では、生成した論理アドレ
スタグブロックを、対応する物理ストライプxで決まる
論理アドレスタグブロック用領域201内のブロック位
置に直ちに書き込むことはしない。そのため制御装置1
は、論理アドレスタグブロックを生成すると、当該タグ
ブロックを不揮発性メモリ3上の論理アドレスタグブロ
ックバッファ35に一旦格納して溜めておく。そして、
ディスクアレイ2上で物理的に連続する物理ストライプ
に対応する1ストライプ分の論理アドレスタグブロック
が論理アドレスタグブロックバッファ35に蓄積された
段階で、制御装置1はその1ストライプ分の論理アドレ
スタグブロックを含む1ストライプ分のデータブロック
を、論理アドレスタグブロック用領域201内の対応す
るストライプ(論理アドレスタグストライプ)に属す
る、ディスク装置21〜24上の対応する位置にまとめ
て書き込む。
【0042】このように本実施形態においては、論理ブ
ロック及び論理アドレスタグブロック等の多数の細かい
ディスク書き込みを1回にまとめられるので、ディスク
書き込み性能が大きく向上する。
【0043】次に、論理アドレスタグブロックの書き込
み処理の詳細について説明する。まず制御装置1は、1
ストライプ分の論理ブロックを含む1ストライプ分のデ
ータブロックをディスクアレイ2にまとめて書き込んだ
際に、その1ストライプ分の論理ブロックに対応する論
理アドレスタグブロックのデータを生成する。そして制
御装置1は、生成した論理アドレスタグブロックを不揮
発性メモリ3上の論理アドレスタグブロックバッファ3
5の空きブロック領域に一旦格納する。ここで制御装置
1は、論理アドレスタグブロックバッファ35に蓄積さ
れている論理アドレスタグブロックが、当該ブロックに
対応するデータストライプのディスクアレイ2における
物理的な位置を示す物理ストライプ番号の昇順になるよ
うに、当該論理アドレスタグブロックを論理アドレスタ
グブロックバッファ35上で適宜移動する。
【0044】このとき制御装置1は、論理アドレスタグ
ブロックバッファ35に格納した論理アドレスタグブロ
ックに対応する物理ストライプ(データストライプ)を
示す情報である物理ストライプ番号を、その論理アドレ
スタグブロックが格納された当該バッファ35内のブロ
ック位置に対応する、不揮発性メモリ3上の論理アドレ
スタグブロックバッファ管理テーブル36内のエントリ
に保存する。このエントリ(のエントリ番号)をiとす
ると、そのエントリiには、対応する論理アドレスタグ
ブロックバッファ35内のブロック領域Biに有効なデ
ータが格納されているか否か(つまり当該ブロック領域
が空き領域であるか)を示すフラグフィールドが設けら
れている。論理アドレスタグブロックバッファ35内の
空きのブロック領域に対応する、論理アドレスタグブロ
ックバッファ管理テーブル36内のエントリには、その
旨を示すフラグ“U”が設定されている。
【0045】制御装置1は、論理アドレスタグブロック
バッファ管理テーブル36内のエントリiに物理ストラ
イプ番号を保存した場合、当該エントリi中のフラグフ
ィールドに、対応する論理アドレスタグブロックバッフ
ァ35内のブロック領域Biに論理アドレスタグブロッ
クが格納されていることを示すフラグ“F”を設定す
る。したがって、論理アドレスタグブロックバッファ管
理テーブル36を参照することにより、論理アドレスタ
グブロックの格納先となる次のブロック領域を決めるこ
とができる。
【0046】図5は、不揮発性メモリ3上に配置される
論理アドレスタグブロックバッファ35と論理アドレス
タグブロックバッファ管理テーブル36との関係の一例
を示す。この図5の例では、論理アドレスタグブロック
バッファ35内のブロック領域B0〜B15のうちのB
0−B2まで書き込みデータが格納されており、ブロッ
ク領域B0,B1,B2に格納されている論理アドレス
タグブロックが、それぞれ物理ストライプ番号ST10
1,ST100,ST1071(STは当該番号が物理
ストライプ番号であることを示す)の物理ストライプに
対応することを表わしている。図5の例の場合、ブロッ
ク領域B0,B1の論理アドレスタグブロックは、対応
する物理ストライプの物理ストライプ番号ST100,
ST101の順となるように、入れ替えられることにな
る。
【0047】制御装置1は、ディスクアレイ2上で物理
的に連続する物理ストライプに対応する1ストライプ分
の論理アドレスタグブロックが論理アドレスタグブロッ
クバッファ35に溜まっると、その1ストライプ分の論
理アドレスタグブロックを含む1ストライプ分のデータ
ブロックを、ディスクアレイ2の論理アドレスタグブロ
ック用領域201内の対応するストライプに属する、デ
ィスク装置21〜24上の対応する位置にまとめて書き
込む遅延書き込みを行う。
【0048】また制御装置1は、論理アドレスタグブロ
ックバッファ35に上記1ストライプ分の論理アドレス
タグブロックが溜まらなくても、最も最近に1ストライ
プ分の論理アドレスタグブロックの遅延書き込みを行っ
てから一定時間(例えばディスクアレイ装置の負荷状態
で決まる一定時間)が経過した場合には、論理アドレス
タグブロックバッファ35の利用効率を考慮して、その
時点において当該バッファ35に蓄積されている論理ア
ドレスタグブロックを、ディスクアレイ2内の対応する
ディスク装置に書き出す。このディスク装置への論理ア
ドレスタグブロック書き出しは、論理アドレスタグブロ
ックバッファ35の全ブロック領域に論理アドレスタグ
ブロックが蓄積されているものの、これらの論理アドレ
スタグブロックに対応する物理ストライプの中にディス
クアレイ2上で物理的に連続していないものが含まれて
いる場合にも、その不連続の物理ストライプに対応する
論理アドレスタグブロックを対象に行われる。
【0049】さて、論理アドレスタグブロックバッファ
35に蓄積されている論理アドレスタグブロックをディ
スク装置に書き出す(追い出す)場合、ディスクアレイ
2がパリティデータを必要とする構成であるならば、当
該論理アドレスタグブロックに対応する更新前の論理ア
ドレスタグブロックを含む論理アドレスタグストライプ
に設定されているパリティデータの更新のために、更新
前のパリティデータ(旧パリティデータ)が必要とな
る。
【0050】しかし、論理アドレスタグブロックをディ
スクアレイ2に書き込む度にパリティデータ(パリティ
ブロック)を当該ディスクアレイ2から読み出すのでは
効率が悪い。そこで、本実施形態では、K(=4)個の
パリティブロックからなるパリティデータを含む1論理
アドレスタグブストライプ分のデータブロックをディス
クアレイ2に書き込む際には、そのパリティデータを不
揮発性メモリ3上のパリティキャッシュ37に格納(キ
ャッシュ)し、当該パリティキャッシュ37から目的の
パリティデータが読み出せるようにしている。パリティ
データをキャッシュする方法に関しての詳細について
は、例えば、"Parity Logging Overcomingthe Small Wr
ite Problem in Redundant Disk Arrays",Daniel Stodo
lsky,Garth Gibson,and Mark Holland,the 20th Annual
International Symposium on Computer Architecture,
May16-19,1993,San Diego CA.などに詳しく記載されて
いるので、ここでは省略する。
【0051】図6及び図7は、1ストライプ分の論理ア
ドレスタグブロックを含む1ストライプ分のデータブロ
ックをディスクアレイ2に格納したときの様子を示す。
図6は、ディスクアレイ2がパリティデータを必要とし
ない構成の場合であり、図7は、ディスクアレイ2がパ
リティデータを必要とする構成の場合である。図中のL
AT100,LAT101など、LATxyzの表記
は、論理アドレスタグブロックが物理ストライプxyz
に対応していることを示す。
【0052】図6の例では、物理ストライプ100,1
04,108,112に対応する4(K=4)個の論理
アドレスタグブロックLAT100,LAT104,L
AT108,LAT112からなるストライプユニット
と、物理ストライプ101,105,109,113に
対応する4(K=4)個の論理アドレスタグブロックL
AT101,LAT105,LAT109,LAT11
3からなるストライプユニットと、物理ストライプ10
2,106,110,114に対応する4(K=4)個
の論理アドレスタグブロックLAT102,LAT10
6,LAT110,LAT114からなるストライプユ
ニットと、物理ストライプ103,107,111,1
15に対応する4(K=4)個の論理アドレスタグブロ
ックLAT103,LAT107,LAT111,LA
T115からなるストライプユニットとが、それぞれ論
理アドレスタグブロック用領域201内のストライプ
(論理アドレスタグストライプ)iに属する、ディスク
装置21,22,23,24上の対応する領域に、それ
ぞれ論理アドレスタグブロックデータLATD1,LA
TD2,LATD3,LATD4として書き込まれてい
る様子が示されている。論理アドレスタグブロック用領
域201内のストライプiの位置は、データ用領域20
2内の物理ストライプ100〜115(の物理ストライ
プ番号)で決まる。
【0053】図7の例では、物理ストライプ100,1
03,106,109に対応する4(K=4)個の論理
アドレスタグブロックLAT100,LAT103,L
AT106,LAT109からなるストライプユニット
と、物理ストライプ101,104,107,110に
対応する4(K=4)個の論理アドレスタグブロックL
AT101,LAT104,LAT107,LAT11
0からなるストライプユニットと、物理ストライプ10
2,105,108,111に対応する4(K=4)個
の論理アドレスタグブロックLAT102,LAT10
5,LAT108,LAT111からなるストライプユ
ニットと、パリティブロックP0,P1,P2,P3か
らなるストライプユニットとが、それぞれ論理アドレス
タグブロック用領域201内のストライプiに属する、
ディスク装置21,22,23,24上の対応する領域
に、それぞれ論理アドレスタグブロックデータLATD
1,LATD2,LATD3と、そのパリティデータL
ATPとして書き込まれている様子が示されている。論
理アドレスタグブロック用領域201内のストライプi
の位置は、データ用領域202内の物理ストライプ10
0〜111(の物理ストライプ番号)で決まる。
【0054】ここで、不揮発性メモリ3上に配置される
アドレス変換テーブル32について図8を参照して説明
する。同図に示すように、アドレス変換テーブル32の
各エントリは、それぞれ固有の論理アドレスに対応して
いる。図8の例では、アドレス変換テーブル7を参照す
る場合の効率を考慮して、当該テーブル7のi番目のエ
ントリを、論理アドレスLiに対応させている。アドレ
ス変換テーブル7のエントリ数は、ホストコンピュータ
10からみえる全論理アドレスの数(図ではn+1)に
一致する。
【0055】アドレス変換テーブル32の各エントリi
(i=0〜n)には、当該エントリiに対応する論理ア
ドレス(論理ブロックアドレス)Liで示される論理ブ
ロックが割り当てられるディスクアレイ2(における物
理的なディスク領域)上の物理ブロックを含む物理スト
ライプを示す物理ストライプ番号ST#と、その物理ス
トライプ内の当該物理ブロックの相対位置を示す物理ブ
ロック番号BLK#と、当該論理アドレスLiのデータ
ブロックがディスクアレイ2に書き込まれた時間的順序
を管理するためのタイムスタンプTS#から構成される
アドレス変換情報が設定(保持)される。
【0056】このようなデータ構造のアドレス変換テー
ブル32においては、論理アドレスLiが与えられれ
ば、当該論理アドレスLiに対応するアドレス変換テー
ブル32内エントリを参照することにより、物理ストラ
イプ番号ST#と物理ブロック番号BLK#から簡単に
実際の物理アドレスが求まる。例えば、ホストコンピュ
ータ10からの読み出し要求に従うディスクアレイ2を
対象とするデータ読み込み処理は、当該要求で指定され
た論理アドレスをアドレス変換テーブル32に従ってデ
ィスクアレイ2上の物理アドレスに変換することで行わ
れる。
【0057】アドレス変換テーブル32を不揮発性メモ
リ3上に備えたディスクアレイ装置では、当該不揮発性
メモリ3に障害が発生した場合、例えば不揮発性メモリ
3の交換や制御装置1の交換を実施した後、ディスクア
レイ2に記録されている論理アドレスタグブロックを使
用して、アドレス変換テーブル32を再構成する必要が
ある。
【0058】ここで、本発明の作用効果を容易に理解す
るために、従来のディスクアレイ装置におけるアドレス
変換テーブルの再構成処理について、便宜的に図1を参
照して説明する。従来は、ディスクアレイ2上の物理ス
トライプ中に論理アドレスタグが含まれている。そこ
で、物理ストライプ中の論理アドレスタグを読み込み、
当該論理アドレスタグに設定されている全ての論理アド
レスについて、その時点においてアドレス変換テーブル
32に登録されている同一論理アドレスに対応するタイ
ムスタンプより論理アドレスタグのタイムスタンプの方
が大きいか否かを調べる。そして、論理アドレスタグの
タイムスタンプの方が大きいときだけ、対応する物理ス
トライプのストライプ番号と当該論理アドレスの論理ア
ドレスタグ内の位置に固有の物理ブロック番号とを、当
該論理アドレスに対応するアドレス変換テーブル32内
エントリに設定する。この処理をディスクアレイ2上の
全物理ストライプについて行えば、有効ブロックだけを
指すアドレス変換テーブル32が再構成できる。更に、
ディスクアレイ2に1ストライプのデータを書き込む毎
に、そのストライプ中の論理アドレスタグを対象として
同様の処理を行うことにより、アドレス変換テーブル3
2の状態を常に有効なブロックを指すように維持するこ
とができる。
【0059】このように、アドレス変換テーブルの再構
成の主な処理は、論理アドレスタグの検査である。故
に、大容量ディスクアレイ装置のように論理アドレスタ
グ数が多い場合、アドレス変換テーブルの再構成に長時
間を要する。
【0060】これに対して本発明の実施形態では、論理
アドレスタグ(論理アドレスタグブロック)をデータが
保持されるストライプ(データストライプ)から切り離
して、ディスクアレイ2上に確保された論理アドレスタ
グ専用の論理アドレスタグブロック用領域201にスト
ライプ単位で配置している。このため、論理アドレスタ
グブロックをストライプ単位でまとめて読み出すことが
でき、論理アドレスタグブロックの読み出し性能を向上
させることができる。これにより、論理アドレスタグブ
ロックの読み出しを必要とするアドレス変換テーブル再
構成処理を短時間で実行することができる。即ち本実施
形態においては、論理ドレスタグブロックの読み込み処
理を、ディスクアレイ2を構成する複数のディスク装置
21〜24で並列に行うことができるため、アドレス変
換テーブル32の再構成に要する時間を大幅に短縮でき
る。また、従来と異なって、データストライプ内に論理
アドレスタグブロックが含まれていないため、つまり物
理的に連続した複数のデータブロックの読み込み要求に
対し、その要求された複数のデータブロックの途中に論
理アドレスタグブロックが存在しないため、読み込み性
能が向上する。これにより、複数のストライプの有効な
論理ブロックを、それより少ない数のストライプに論理
アドレスの順番(例えば昇順)に再配置するデフラグメ
ンテーション(いわゆるデフラグ)の実行時間の短縮と
デフラグメンテーション効果の改善が実現できる。
【0061】なお、論理アドレスタグブロックを論理ア
ドレスタグブロック用領域201に書き込む際の効率を
考慮しないならば、必ずしも1ストライプ分まとめて書
き込む必要はなく、1論理アドレスタグブロック単位で
書き込むようにしても構わない。
【0062】ここで、上述した論理アドレスタグブロッ
ク(のデータ)を論理アドレスタグブロックバッファ3
5のブロック領域に書き込んだ際の処理の詳細な手順に
ついて、ディスクアレイ2をパリティデータが必要なR
AID4,RAID5,RAID50などのRAIDレ
ベルで用いる場合を例に、図9のフローチャートを参照
して説明する。
【0063】制御装置1は、論理アドレスタグブロック
バッファ35に、1ストライプ分の論理ブロックを含む
1ストライプ分のデータブロックに対応する論理アドレ
スタグブロックを書き込んだ場合、その書き込みにより
当該バッファ35に1ストライプ分の論理アドレスタグ
ブロックが溜まったか否かを判定する(ステップS
1)。ここで、1ストライプ分の各論理アドレスタグブ
ロックに対応する物理ストライプは、前記したようにデ
ィスクアレイ2上で物理的に連続している。
【0064】もし、1ストライプ分の論理アドレスタグ
ブロックが溜まったならば(ステップS1のYES)、
制御装置1は当該1ストライプ分の論理アドレスタグブ
ロックに対応するパリティデータを生成する(ステップ
S2)。そして制御装置1は、論理アドレスタグブロッ
クバッファ35に溜まった1ストライプ分の論理アドレ
スタグブロックと生成したパリティデータとから構成さ
れる1ストライプ分のデータを、ディスクアレイ2のデ
ータ用領域202内の、対応するデータストライプで決
まる物理ストライプ(論理アドレスタグストライプ)の
領域に一括して書き込む(ステップS3)。次に制御装
置1は、ディスクアレイ2のデータ用領域202に書き
込んだ1ストライプ分のデータ中のパリティデータ(図
7の例であれば、パリティブロックP0〜P3から構成
されるパリティデータLATD4)の写しをパリティキ
ャッシュ37に格納する(ステップS4)。つまり、1
ストライプ分の論理アドレスタグブロックに対応するパ
リティデータがパリティキャッシュ37にキャッシュさ
れる。
【0065】一方、1ストライプ分の論理アドレスタグ
ブロックが溜まらなくても(ステップS1のNO)、最
も最近に1ストライプ分の論理アドレスタグブロックの
遅延書き込みを行ってから一定時間(ディスクアレイ装
置の負荷状態で決まる一定時間)が経過している場合に
は、制御装置1は現在論理アドレスタグブロックバッフ
ァ35に保持されている更新すべき論理アドレスタグブ
ロックを追い出すために以下の処理を行う。
【0066】まず、制御装置1は、論理アドレスタグブ
ロックバッファ35に保持されている論理アドレスタグ
ブロックに対応する、ディスクアレイ2の論理アドレス
タグブロック用領域201上の更新すべきストライプに
含まれているパリティデータ(パリティブロック)がパ
リティキャッシュ37にキャッシュされているか否かを
判定する(ステップS5)。もし、目的のパリティブロ
ックがキャッシュされていないならば(ステップS5の
NO)、制御装置1は、そのパリティブロックをディス
クアレイ2から読み込んで(ステップS6)、ステップ
S7に進む。これに対し、目的のパリティブロックがパ
リティキャッシュ37にキャッシュされているならば
(ステップS5のYES)、制御装置1はそのままステ
ップS7に進む。
【0067】ステップS7において制御装置1は、論理
アドレスタグブロックバッファ35内の更新する論理ア
ドレスタグブロック(新論理アドレスタグブロック)の
データと、ディスクアレイ2から読み込んだ、或いはパ
リティキャッシュ37から取得されるパリティブロック
(旧パリティブロック)のデータとの間の排他的論理和
演算により、更新する新しいパリティブロック(新パリ
ティブロック)のデータを生成する。次に制御装置1
は、更新する新論理アドレスタグブロックのデータと新
パリティブロックのデータとを、ディスクアレイ2の論
理アドレスタグブロック用領域201内の対応する位置
に書き込む(ステップS8)。そして制御装置1は、新
パリティブロックのデータをパリティキャッシュ37に
キャッシュする(ステップS4)。
【0068】次に、上述したアドレス変換テーブル32
の再構成処理の詳細な手順について図10のフローチャ
ートを参照して説明する。まず制御装置1は、不揮発性
メモリ3上のアドレス変換テーブル32を初期化する
(ステップS11)。このアドレス変換テーブル32の
初期化は、当該テーブル32内の全てのエントリについ
て、当該エントリ中の物理ストライプ番号ST#、物理
ブロック番号BLK#、及びタイムスタンプTS#の各
フィールドにNULLを設定することにより実現され
る。
【0069】次に、ディスクアレイ2の論理アドレスタ
グブロック用領域201に格納されている物理ストライ
プ(のストライプ番号)を指す変数iを初期値(ここで
は0とする)に設定する(ステップS12)。
【0070】次に制御装置1は、ディスクアレイ2の論
理アドレスタグブロック用領域201からストライプi
を読み込む(ステップS13)。また制御装置1は、ス
トライプi内の論理アドレスタグブロックの位置、つま
り物理ブロック番号を指す変数jを初期値0に設定する
(ステップS14)。そして制御装置1は、読み込んだ
ストライプiから物理ブロック番号がjのブロック位置
の論理アドレスタグブロックjを取り出す(ステップS
15)。また制御装置1は、論理アドレスタグブロック
j中の論理アドレスの位置を示す変数kを初期値0に設
定する(ステップS16)。
【0071】次に制御装置1は、論理アドレスタグブロ
ックjからk番目の論理アドレスを取り出す(ステップ
S17)。そして制御装置1は、取り出したk番目の論
理アドレスのアドレス変換情報がアドレス変換テーブル
32に未登録であるか否か、または登録済みでも論理ア
ドレスタグブロックj中のタイムスタンプの方が当該テ
ーブル32に登録されているk番目の論理アドレスに対
応する(アドレス変換情報中の)タイムスタンプより大
きい(新しい)か否かを判定する(ステップS18)。
【0072】制御装置1は、k番目の論理アドレスのア
ドレス変換情報がアドレス変換テーブル32に未登録で
あるか、或いは登録済みでも論理アドレスタグブロック
j中のタイムスタンプの方が新しい場合には(ステップ
S18のYES)、当該k番目の論理アドレスのアドレ
ス変換情報をアドレス変換テーブル32の対応するエン
トリに登録する(ステップS19)。次に制御装置1
は、kを1だけインクリメントする(ステップS2
0)。なお、ステップS18の判定がNOの場合には、
ステップS19をスキップしてステップS20が行われ
る。
【0073】制御装置1は、kを1インクリメントする
と、そのインクリメント後のkの値から、論理アドレス
タグブロックj上の全ての論理アドレスについて処理し
たか否かを判定する(ステップS21)。もし、未処理
の論理アドレスが残っているならば(ステップS21の
NO)、ステップS20でのインクリメント後のkで指
定される論理アドレスタグブロックj上の論理アドレス
kについて、ステップS17以降の処理を実行する。こ
れに対し、全ての論理アドレスについて処理したならば
(ステップS21のYES)、制御装置1はjを1だけ
インクリメントする(ステップS22)。
【0074】制御装置1は、jを1インクリメントする
と、そのインクリメント後のjの値から、ストライプi
上の全ての論理アドレスタグブロックについて処理した
か否かを判定する(ステップS23)。もし、未処理の
論理アドレスタグブロックが残っているならば(ステッ
プS23のNO)、ステップS23でのインクリメント
後のjで指定されるストライプi上の論理アドレスタグ
ブロックjについて、ステップS15以降の処理を実行
する。これに対し、全ての論理アドレスタグブロックに
ついて処理したならば(ステップS23のYES)、制
御装置1はiを1だけインクリメントする(ステップS
24)。
【0075】制御装置1は、iを1インクリメントする
と、そのインクリメント後のiの値から、論理アドレス
タグブロック用領域201上の全てのストライプについ
て処理したか否かを判定する(ステップS25)。も
し、未処理のストライプが残っているならば(ステップ
S25のNO)、ステップS24でのインクリメント後
のiで指定されるストライプiについて、ステップS1
3以降の処理を実行する。これに対し、論理アドレスタ
グブロック用領域201上の全てのストライプについて
処理したならば(ステップS25のYES)、制御装置
1はアドレス変換テーブル32の再構成処理を終了す
る。
【0076】なお、図10のフローチャートに従うアド
レス変換テーブル再構成処理の説明では、説明の便宜
上、ディスクアレイ2からの論理アドレスタグブロック
の読み出しはストライプ単位で行われるものの、当該ス
トライプ中の各論理アドレスタグブロックに基づく処理
は、1ブロック単位でシリアルに実行されるものとし
た。しかし、ストライプ中の各論理アドレスタグブロッ
クに基づく処理を、ディスクアレイ2を構成する各ディ
スク装置21〜24毎に、並列に処理することも可能で
ある。この場合、アドレス変換テーブル32の再構成に
要する時間をより一層短縮できる。
【0077】また、以上に述べた実施形態では、書き込
みバッファ31、アドレス変換テーブル32、タイムス
タンプ33、書き込みバッファ管理テーブル34、論理
アドレスタグブロックバッファ35、論理アドレスタグ
ブロックバッファ管理テーブル36及びパリティキャッ
シュ37の各部が不揮発性メモリ3に配置されるものと
して説明したが、これに限るものではない。例えば、揮
発性メモリと電源オフ時にも当該揮発性メモリの記憶内
容が消失するのを防止するための、電池等のメモリバッ
クアップ機構とにより、等価的に不揮発性メモリ3に相
当する不揮発性メモリを実現し、上記各部が揮発性メモ
リに配置される構成であっても構わない。つまり上記各
部が、揮発性メモリとメモリバックアップ機構とから構
成される不揮発性メモリに配置される構成であっても構
わない。この構成では、上記実施形態に比べてパリティ
キャッシュ37等のアクセスが高速に行える。
【0078】また、本発明は、上記実施形態に限定され
るものではなく、実施段階ではその要旨を逸脱しない範
囲で種々に変形することが可能である。更に、上記実施
形態には種々の段階の発明が含まれており、開示される
複数の構成要件における適宜な組み合わせにより種々の
発明が抽出され得る。例えば、実施形態に示される全構
成要件から幾つかの構成要件が削除されても、発明が解
決しようとする課題の欄で述べた課題が解決でき、発明
の効果の欄で述べられている効果が得られる場合には、
この構成要件が削除された構成が発明として抽出され得
る。
【0079】
【発明の効果】以上詳述したように本発明によれば、論
理アドレスタグブロックをデータストライプから切り離
してディスクアレイ上に確保された論理アドレスタグブ
ロック専用の領域における対応するストライプ(論理ア
ドレスタグストライプ)の対応するブロック位置に配置
するようにしたので、論理アドレスタグブロックをスト
ライプ単位でまとめて読み出すことができ、論理アドレ
スタグブロックの読み出し性能を向上させることができ
る。これにより、論理アドレスタグブロックの読み出し
を必要とするアドレス変換テーブル再構成処理に要する
時間を短縮することができ、また物理的に連続した複数
のデータブロックの読み込み要求に対する読み出し性能
も向上できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るディスクアレイ装置
を備えたコンピュータシステムの構成を示すブロック
図。
【図2】図1中の不揮発性メモリ3上に配置される書き
込みバッファ31と書き込みバッファ管理テーブル34
との関係の一例を示す図。
【図3】ディスクアレイ2のデータ用領域202内の空
き領域に書き込まれる1ストライプ分の論理ブロックか
らなるストライプxと論理アドレスタグブロックとの関
係の一例を示す図。
【図4】ディスクアレイ2のデータ用領域202内の空
き領域に書き込まれる、1ストライプ分の論理ブロック
と当該論理ブロックから生成されるパリティブロックと
からなるストライプxと論理アドレスタグブロックとの
関係の一例を示す図。
【図5】図1中の不揮発性メモリ3上に配置される論理
アドレスタグブロックバッファ35と論理アドレスタグ
ブロックバッファ管理テーブル36との関係の一例を示
す図。
【図6】1ストライプ分の論理アドレスタグブロックか
らなる1ストライプ分のデータブロックをディスクアレ
イ2に格納したときの様子を示す図。
【図7】1ストライプ分の論理アドレスタグブロックと
当該1ストライプ分の論理アドレスタグブロックに対す
るパリティブロックとからなる1ストライプ分のデータ
ブロックをディスクアレイ2に格納したときの様子を示
す図。
【図8】図1中のアドレス変換テーブル32のデータ構
造の一例を示す図。
【図9】論理アドレスタグブロック(のデータ)を論理
アドレスタグブロックバッファ35のブロック領域に書
き込んだ際の処理の詳細な手順を説明するためのフロー
チャート。
【図10】アドレス変換テーブル32の再構成処理の詳
細な手順を説明するためのフローチャート。
【符号の説明】
1…制御装置 2…ディスクアレイ 3…不揮発性メモリ 10…ホストコンピュータ 21,22,23,24…ディスク装置 31…書き込みバッファ 32…アドレス変換テーブル 33…タイムスタンプ 34…書き込みバッファ管理テーブル 35…論理アドレスタグブロックバッファ 36…論理アドレスタグブロックバッファ管理テーブル 37…パリティキャッシュ 201…論理アドレスタグブロック用領域 202…データ用領域

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 複数のディスク装置から構成されるディ
    スクアレイを備え、ホストコンピュータからの書き込み
    要求の指定するデータをブロック単位に分割して書き込
    みバッファに詰めて蓄積し、当該バッファに1データス
    トライプ分の論理ブロック数のデータが蓄積された段階
    で、その1データストライプ分の論理ブロックを含む1
    データストライプ分のデータブロックが、前記ディスク
    アレイ内の前記複数のディスク装置上の更新されるべき
    データを保持している領域とは別の空き領域内の物理的
    に連続する領域に書き込まれ、論理アドレスから物理ア
    ドレスに変換するアドレス変換テーブルを参照して前記
    ディスク装置をアクセスするディスクアレイ装置であっ
    て、 前記ディスクアレイに書き込まれる1データストライプ
    分のデータブロック中の全論理ブロックに対する論理ア
    ドレスを含む論理アドレスタグブロックを生成する手段
    と、 前記論理アドレスタグブロック生成手段により生成され
    た論理アドレスタグブロックを、前記データストライプ
    が格納される前記ディスクアレイ上のデータ領域とは別
    に当該ディスクアレイ上に予め確保された論理アドレス
    タグブロック領域中の、対応するデータストライプの前
    記ディスクアレイ上のストライプ位置で決まる論理アド
    レスタグブロック領域に保存する手段とを具備すること
    を特徴とするディスクアレイ装置。
  2. 【請求項2】 前記論理アドレスタグブロック生成手段
    により生成された論理アドレスタグブロックを記憶する
    論理アドレスタグブロックバッファを更に具備し、 前記保存手段は、1ストライプ分の前記論理アドレスタ
    グブロックが前記論理アドレスタグブロックバッファに
    蓄積された段階で前記論理アドレスタグブロック領域に
    まとめて書きすることを特徴とする請求項1記載のディ
    スクアレイ装置。
  3. 【請求項3】 前記保存手段は、前記ディスクアレイが
    パリティデータを不要とする構成を適用している場合、
    前記ディスクアレイを構成するディスク装置の台数に一
    致する数のストライプユニット分の論理アドレスタグブ
    ロックが前記論理アドレスタグブロックバッファに蓄積
    された段階で、その数のストライプユニット分の論理ア
    ドレスタグブロックからなる1論理アドレスタグストラ
    イプ分のデータブロックを、前記ディスクアレイの前記
    論理アドレスタグブロック領域中の、前記ディスクアレ
    イを構成する前記複数のディスク装置の物理的に連続す
    るブロック位置にまとめ書きすることを特徴とする請求
    項2記載のディスクアレイ装置。
  4. 【請求項4】 前記ディスクアレイがパリティデータを
    必要とする構成を適用している場合、前記ディスクアレ
    イを構成するディスク装置の台数より1少ない数のスト
    ライプユニット分の論理アドレスタグブロックが前記論
    理アドレスタグブロックバッファに蓄積された段階で、
    その数のストライプユニット分の論理アドレスタグブロ
    ックをもとに1ストライプユニット分のパリティブロッ
    クからなるパリティデータを生成する手段を更に具備
    し、 前記保存手段は、前記パリティデータ生成手段により生
    成された1ストライプユニット分のパリティデータと、
    前記論理アドレスタグブロックバッファに蓄積された前
    記ディスクアレイを構成するディスク装置の台数より1
    少ない数のストライプユニット分の論理アドレスタグブ
    ロックとからなる1論理アドレスタグストライプ分のデ
    ータブロックを、前記ディスクアレイの前記論理アドレ
    スタグブロック領域中の、前記ディスクアレイを構成す
    る前記複数のディスク装置の物理的に連続するブロック
    位置にまとめ書きすることを特徴とする請求項2記載の
    ディスクアレイ装置。
  5. 【請求項5】 前記パリティデータ生成手段により生成
    されたパリティデータを保持するパリティキャッシュを
    更に具備することを特徴とする請求項4記載のディスク
    アレイ装置。
  6. 【請求項6】 一定期間経過しても前記論理アドレスタ
    グブロックバッファに新たな1論理アドレスタグストラ
    イプ分の論理アドレスタグブロックが蓄積されなかった
    場合、その時点において当該バッファに蓄積されている
    論理アドレスタグブロックを新論理アドレスタグブロッ
    クとして、その新論理アドレスタグブロックに対応する
    前記ディスクアレイの前記論理アドレスタグブロック領
    域中の論理アドレスタグストライプに含まれているパリ
    ティブロックのデータを、前記パリティキャッシュまた
    は当該論理アドレスタグストライプから取得する手段
    と、 前記取得手段により取得されたパリティブロックのデー
    タと対応する新論理アドレスタグブロックのデータとか
    ら新パリティブロックのデータを生成する手段と、 前記新論理アドレスタグブロックのデータと前記新パリ
    ティブロックのデータとで、当該新論理アドレスタグブ
    ロックに対応する前記ディスクアレイの前記論理アドレ
    スタグブロック領域中の論理アドレスタグストライプの
    該当するデータを更新する手段と、 前記新パリティブロックのデータを前記パリティキャッ
    シュに保持する手段とを具備することを特徴とする請求
    項5記載のディスクアレイ装置。
  7. 【請求項7】 前記ディスクアレイの前記論理アドレス
    タグブロック領域中から、ストライプ単位で論理アドレ
    スタグストライプを当該ストライプの順番に順次読み込
    み、読み込んだストライプに含まれる各論理アドレスタ
    グブロックに設定されている論理アドレスと対応するデ
    ータストライプの物理アドレスとから前記アドレス変換
    テーブルを再構成する手段を更に具備することを特徴と
    する請求項1記載のディスクアレイ装置。
  8. 【請求項8】 前記再構成手段は、前記論理アドレスタ
    グストライプを読み込む毎に当該論理アドレスタグスト
    ライプに含まれている各論理アドレスタグブロックを取
    り出して、当該各論理アドレスタグブロックに含まれて
    いる各論理アドレスを取り出し、この取り出した論理ア
    ドレスを含むアドレス変換情報が前記アドレス変換テー
    ブルに未登録の場合に、当該論理アドレスと対応するデ
    ータストライプの物理アドレスとを含むアドレス変換情
    報を前記アドレス変換テーブルに登録することを特徴と
    する請求項7記載のディスクアレイ装置。
  9. 【請求項9】 前記アドレス変換テーブルに設定されて
    いる前記各アドレス変換情報には、対応する物理アドレ
    スで指定される前記ディスクアレイ内の領域へのデータ
    書き込み時のタイムスタンプが、前記論理アドレスタグ
    ブロックには、対応する1データストライプ分のデータ
    ブロックの前記ディスクアレイ内の領域へのデータ書き
    込み時のタイムスタンプが、それぞれ含まれており、 前記再構成手段は、前記取り出した論理アドレスを含む
    アドレス変換情報が前記アドレス変換テーブルに登録済
    みの場合でも、対応する論理アドレスタグブロックに含
    まれているタイムスタンプの方が前記取り出した論理ア
    ドレスに対応する前記アドレス変換テーブル内のアドレ
    ス変換情報に含まれているタイムスタンプより新しい場
    合には、前記取り出した論理アドレスと対応するデータ
    ストライプの物理アドレスとを含むアドレス変換情報を
    前記アドレス変換テーブルに登録することを特徴とする
    請求項8記載のディスクアレイ装置。
  10. 【請求項10】 複数のディスク装置から構成されるデ
    ィスクアレイを備え、ホストコンピュータからの書き込
    み要求の指定するデータをブロック単位に分割して書き
    込みバッファに詰めて蓄積し、当該バッファに1データ
    ストライプ分の論理ブロック数のデータが蓄積された段
    階で、その1データストライプ分の論理ブロックを含む
    1データストライプ分のデータブロックが、前記ディス
    クアレイ内の前記複数のディスク装置上の更新されるべ
    きデータを保持している領域とは別の空き領域内の物理
    的に連続する領域に書き込まれ、論理アドレスから物理
    アドレスに変換するアドレス変換テーブルを参照して前
    記ディスク装置をアクセスするディスクアレイ装置にお
    けるデータ更新方法であって、 前記ディスクアレイに1データストライプ分のデータブ
    ロックを書き込む際に、当該1データストライプ分のデ
    ータブロック中の全論理ブロックに対する論理アドレス
    を含む論理アドレスタグブロックを生成するステップ
    と、 生成された論理アドレスタグブロックを、前記データス
    トライプが格納される前記ディスクアレイ上のデータ領
    域とは別に当該ディスクアレイ上に予め確保された論理
    アドレスタグブロック領域中の、対応するデータストラ
    イプの前記ディスクアレイ上のストライプ位置で決まる
    論理アドレスタグブロック領域に保存するステップとを
    具備することを特徴とするデータ更新方法。
  11. 【請求項11】 前記生成された論理アドレスタグブロ
    ックを論理アドレスタグブロックバッファに蓄積するス
    テップを更に具備し、 前記保存ステップでは、前記1ストライプ分の論理アド
    レスタグブロックが前記論理アドレスタグブロックバッ
    ファに蓄積された段階で、前記論理アドレスタグブロッ
    ク領域にまとめ書きすることを特徴とする請求項10記
    載のデータ更新方法。
  12. 【請求項12】 前記ディスクアレイの前記論理アドレ
    スタグブロック領域中から、ストライプ単位で論理アド
    レスタグストライプを当該ストライプの順番に順次読み
    込むステップと、 読み込んだストライプに含まれる各論理アドレスタグブ
    ロックに設定されている論理アドレスと対応するデータ
    ストライプの物理アドレスとから前記アドレス変換テー
    ブルを再構成するステップとを更に具備することを特徴
    とする請求項10記載のデータ更新方法。
JP2001384822A 2001-12-18 2001-12-18 ディスクアレイ装置及び同装置におけるデータ更新方法 Expired - Fee Related JP3590381B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001384822A JP3590381B2 (ja) 2001-12-18 2001-12-18 ディスクアレイ装置及び同装置におけるデータ更新方法
US10/231,157 US6886068B2 (en) 2001-12-18 2002-08-30 Disk array apparatus and data update method for storing tag blocks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001384822A JP3590381B2 (ja) 2001-12-18 2001-12-18 ディスクアレイ装置及び同装置におけるデータ更新方法

Publications (2)

Publication Number Publication Date
JP2003186624A true JP2003186624A (ja) 2003-07-04
JP3590381B2 JP3590381B2 (ja) 2004-11-17

Family

ID=19187760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001384822A Expired - Fee Related JP3590381B2 (ja) 2001-12-18 2001-12-18 ディスクアレイ装置及び同装置におけるデータ更新方法

Country Status (2)

Country Link
US (1) US6886068B2 (ja)
JP (1) JP3590381B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134720A (ja) * 2006-11-27 2008-06-12 Toshiba Corp 情報記憶装置

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096413B2 (en) * 2002-11-19 2006-08-22 Lsi Logic Corporation Decomposer for parallel turbo decoding, process and integrated circuit
JP4651913B2 (ja) 2003-02-17 2011-03-16 株式会社日立製作所 記憶装置システム
KR101049747B1 (ko) * 2003-03-17 2011-07-19 코닌클리케 필립스 일렉트로닉스 엔.브이. 실시간 디지털 정보신호 스트림을 저장하는 장치 및 방법
EP1625489A2 (en) * 2003-04-21 2006-02-15 Netcell Corp. Disk array controller with reconfigurable data path
JP4060235B2 (ja) 2003-05-22 2008-03-12 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP2004348464A (ja) * 2003-05-22 2004-12-09 Hitachi Ltd ストレージ装置、及び通信信号の整形回路
JP4391170B2 (ja) * 2003-09-05 2009-12-24 株式会社日立製作所 データ転送装置の制御方法、データ転送回路、及びディスクアレイ装置
JP4156499B2 (ja) 2003-11-28 2008-09-24 株式会社日立製作所 ディスクアレイ装置
JP4497918B2 (ja) * 2003-12-25 2010-07-07 株式会社日立製作所 ストレージシステム
JP4634049B2 (ja) * 2004-02-04 2011-02-16 株式会社日立製作所 ディスクアレイ装置における異常通知制御
US7913148B2 (en) * 2004-03-12 2011-03-22 Nvidia Corporation Disk controller methods and apparatus with improved striping, redundancy operations and interfaces
JP2005293774A (ja) * 2004-04-02 2005-10-20 Hitachi Global Storage Technologies Netherlands Bv ディスク装置の制御方法
US7318119B2 (en) * 2004-10-29 2008-01-08 International Business Machines Corporation System and method for fault tolerant controller for network RAID
US8066515B2 (en) * 2004-11-17 2011-11-29 Nvidia Corporation Multiple graphics adapter connection systems
US7827439B2 (en) * 2007-09-28 2010-11-02 Symantec Corporation System and method of redundantly storing and retrieving data with cooperating storage devices
US8443167B1 (en) 2009-12-16 2013-05-14 Western Digital Technologies, Inc. Data storage device employing a run-length mapping table and a single address mapping table
US8194340B1 (en) 2010-03-18 2012-06-05 Western Digital Technologies, Inc. Disk drive framing write data with in-line mapping data during write operations
US9330715B1 (en) 2010-03-22 2016-05-03 Western Digital Technologies, Inc. Mapping of shingled magnetic recording media
US8699185B1 (en) 2012-12-10 2014-04-15 Western Digital Technologies, Inc. Disk drive defining guard bands to support zone sequentiality when butterfly writing shingled data tracks
US8687306B1 (en) 2010-03-22 2014-04-01 Western Digital Technologies, Inc. Systems and methods for improving sequential data rate performance using sorted data zones
US8856438B1 (en) 2011-12-09 2014-10-07 Western Digital Technologies, Inc. Disk drive with reduced-size translation table
US8693133B1 (en) 2010-03-22 2014-04-08 Western Digital Technologies, Inc. Systems and methods for improving sequential data rate performance using sorted data zones for butterfly format
US8667248B1 (en) 2010-08-31 2014-03-04 Western Digital Technologies, Inc. Data storage device using metadata and mapping table to identify valid user data on non-volatile media
US8954664B1 (en) 2010-10-01 2015-02-10 Western Digital Technologies, Inc. Writing metadata files on a disk
US8756361B1 (en) 2010-10-01 2014-06-17 Western Digital Technologies, Inc. Disk drive modifying metadata cached in a circular buffer when a write operation is aborted
US8793429B1 (en) 2011-06-03 2014-07-29 Western Digital Technologies, Inc. Solid-state drive with reduced power up time
US8756382B1 (en) 2011-06-30 2014-06-17 Western Digital Technologies, Inc. Method for file based shingled data storage utilizing multiple media types
US9213493B1 (en) 2011-12-16 2015-12-15 Western Digital Technologies, Inc. Sorted serpentine mapping for storage drives
US8819367B1 (en) 2011-12-19 2014-08-26 Western Digital Technologies, Inc. Accelerated translation power recovery
US8612706B1 (en) 2011-12-21 2013-12-17 Western Digital Technologies, Inc. Metadata recovery in a disk drive
US8953269B1 (en) 2014-07-18 2015-02-10 Western Digital Technologies, Inc. Management of data objects in a data object zone
US9875055B1 (en) 2014-08-04 2018-01-23 Western Digital Technologies, Inc. Check-pointing of metadata
US9569303B2 (en) * 2014-08-08 2017-02-14 Kabushiki Kaisha Toshiba Information processing apparatus
US11385961B2 (en) * 2020-08-14 2022-07-12 Micron Technology, Inc. Adaptive parity techniques for a memory device
CN115543216B (zh) * 2022-11-29 2023-03-21 苏州浪潮智能科技有限公司 磁盘阵列分布架构、分块计算方法、系统、设备和介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1153235A (ja) * 1997-08-08 1999-02-26 Toshiba Corp ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム
JPH11194899A (ja) * 1997-12-26 1999-07-21 Toshiba Corp ディスク記憶システム及び同システムに適用するデータ更新方法
JP2000010738A (ja) 1998-06-17 2000-01-14 Toshiba Corp ディスクアレイシステム、同システムに適用される記憶容量拡張方法および記録媒体
JP2001051806A (ja) 1999-08-05 2001-02-23 Fujitsu Ltd ディスクアレイ装置
JP4131894B2 (ja) 2000-02-29 2008-08-13 株式会社東芝 ランダムディスクライトに好適なディスク制御機構

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134720A (ja) * 2006-11-27 2008-06-12 Toshiba Corp 情報記憶装置

Also Published As

Publication number Publication date
US6886068B2 (en) 2005-04-26
US20030115437A1 (en) 2003-06-19
JP3590381B2 (ja) 2004-11-17

Similar Documents

Publication Publication Date Title
JP2003186624A (ja) ディスクアレイ装置及び同装置におけるデータ更新方法
US10229734B1 (en) Method and system for storing and recovering data from flash memory
JP4537481B2 (ja) 直接データファイル記憶を用いるフラッシュメモリにおけるデータ操作
US7475185B2 (en) Nonvolatile memory system, nonvolatile memory device, memory controller, access device, and method for controlling nonvolatile memory device
JP6385995B2 (ja) テーブル・オブ・コンテンツエントリを使用してデータを格納するためのシステムおよび方法
JP5013654B2 (ja) フラッシュファイルシステム
JPH11194899A (ja) ディスク記憶システム及び同システムに適用するデータ更新方法
US6938116B2 (en) Flash memory management method
US5953737A (en) Method and apparatus for performing erase operations transparent to a solid state storage system
US5963983A (en) Method and apparatus for dynamically creating conversion tables to access a semiconductor memory device
US9256527B2 (en) Logical to physical address mapping in storage systems comprising solid state memory devices
US9727452B2 (en) Distributing metadata across multiple different disruption regions within an asymmetric memory system
JP5431453B2 (ja) 記憶要求を追加データ記憶コマンドに変換するための装置、システム及び方法
AU2010265984B2 (en) Scalable indexing in a non-uniform access memory
US20190018788A1 (en) Memory system and method for controlling nonvolatile memory
US10545876B2 (en) Control unit for data storage system and method for updating logical-to-physical mapping table
JP2004240985A (ja) データ記憶装置
KR20100017094A (ko) 플래시 메모리에 메타데이터를 효율적으로 저장하는 방법
US5813025A (en) System and method for providing variable sector-format operation to a disk access system
US20150052329A1 (en) Memory control device, host computer, information processing system and method of controlling memory control device
KR20180002259A (ko) 계층적 플래시 변환 레이어 구조 및 그 설계 방법
US8688948B2 (en) Flexible memory controller for autonomous mapping of memory
WO2016056104A1 (ja) ストレージ装置、及び、記憶制御方法
US7533225B1 (en) Method and apparatus for enabling adaptive endianness
WO2015097739A1 (ja) ストレージ装置及びその制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040720

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: 20040817

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040819

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070827

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080827

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090827

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100827

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100827

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110827

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120827

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees