JP4366298B2 - 記憶装置、その制御方法及びプログラム - Google Patents

記憶装置、その制御方法及びプログラム Download PDF

Info

Publication number
JP4366298B2
JP4366298B2 JP2004349530A JP2004349530A JP4366298B2 JP 4366298 B2 JP4366298 B2 JP 4366298B2 JP 2004349530 A JP2004349530 A JP 2004349530A JP 2004349530 A JP2004349530 A JP 2004349530A JP 4366298 B2 JP4366298 B2 JP 4366298B2
Authority
JP
Japan
Prior art keywords
data
storage device
area
continuous
page
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 - Fee Related
Application number
JP2004349530A
Other languages
English (en)
Other versions
JP2006163474A (ja
Inventor
実希夫 伊藤
明人 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004349530A priority Critical patent/JP4366298B2/ja
Priority to US11/090,075 priority patent/US7320055B2/en
Priority to CNB2005100652379A priority patent/CN100410897C/zh
Priority to KR1020050031158A priority patent/KR100689137B1/ko
Publication of JP2006163474A publication Critical patent/JP2006163474A/ja
Application granted granted Critical
Publication of JP4366298B2 publication Critical patent/JP4366298B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation
    • Y10S707/99957Garbage collection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、上位装置の記憶デバイスに対する入出力要求をキャッシュメモリを介して処理する記憶装置、その制御方法及びプログラムに関し、特にキャッシュメモリ上で更新された最新のデータを記憶デバイスにライトバックする記憶装置、その制御方法及びプログラムに関する。
従来、ホストからの入出力要求を処理するRAID装置にあっては、制御モジュールにキャッシュメモリを設け、キャッシュメモリ上でホストからの入出力要求を処理するようにしている。
このようなRAID装置のキャッシュデータはページ単位に管理されており、図11のように、キャッシュページ100は例えば66,560バイトを1ページとして管理している。
キャッシュページ100はホストのアクセス単位となる複数のブロック単位のユーザデータで構成され、1ブロックのユーザデータは512バイトであり、512バイト毎に8バイトのブロックチェックコード(BCC)が付加され、この520バイトのブロックを128ブロック単位で1ページとして管理し、このため1ページは520×128=66,560バイトとなる。
またキャッシュページを管理するためにキャッシュバンドルエレメントCBEと呼ばれるキャッシュ管理テーブルを用意する。キャッシュ管理テーブルには1ページごとに対応する管理レコードが存在し、管理レコードは論理ユニット番号LUN、論理ブロックアドレスLBA、1ブロックを1ビットで対応したダーティデータを示す図12(B)のダーティデータビットマップ104、及び同じく1ブロックを1ビットで対応した現在データの有無を示す図12(A)の現在データビットマップ102等を保持している。このキャッシュ管理テーブルの1ページはRAIDグループを構成するディスク装置のストリップは1対1のサイズに合わせている。
RAID装置のキャッシュ制御にあっては、ホストからライト要求時にキャッシュページを必要分割り当てるが、ライトデータは必ず1ページ分の全て存在する分けではないため、ページ内のライト処理で更新されたブロックについてダーティビットマップの対応するビットをビット1にセットしてダーティデータの有無を管理している。
また従来のキャッシュ制御にあっては、キャッシュメモリ空き領域が不足した場合やLRUアルゴリズムにより古いキャッシュデータを追い出す際に、ページ内に存在するダーティデータをディスク装置に書き戻すライトバック処理を行う。
特開平05−303528号公報 特開平08−115169号公報
しかしながら、このような従来のキャッシュ制御処理にあっては、ページ内に存在するダーティデータをディスク装置にライトバックする場合、ダーティデータビットマップで管理されたビット1となるブロックのみをディクス装置へライトするため、ページ内にダーティデータのブロックが不連続に存在する場合、ビット1のかたまりとなる連続領域ごとにライトコマンドを発行してディスク装置に書き込むこととなり、ディスク装置に対するコマンド処理の時間が長くなり、性能が低下する問題がある。
本発明は、ページ内にダーティデータが不連続に存在してもライトバックのコマンド発行数を必要最小限に抑えてライトバック処理時間を低減する記憶装置、その制御方法及びプログラムを提供することを目的とする。
図1は本発明の原理説明図である。本発明は記憶装置を提供する。本発明の記憶装置は、
キャッシュメモリ上のデータを、上位装置のアクセス単位となるブロックデータを複数含むページデータ単位に管理して上位装置の記憶デバイス22に対する入出力要求を処理するキャッシュ制御部42と、
上位装置により更新された記憶デバイス22の記憶データより新しいキャッシュメモリ上のダーティデータを記憶デバイスに書き戻す際に、ダーティデータのページ内での不連続領域を判定した場合は、不連続領域を記憶デバイス22から読み出してマージすることにより連続領域を生成してライトバックするライトバック処理部54と、
を備えたことを特徴とする。
ここで、ライトバック処理部は、3回以上のコマンド発行によるライトバック処理となる場合に、不連続領域を前記記憶デバイスから読み出してマージすることにより連続領域を生成してページ単位にライトバックする。
ライトバック処理部は、ページ内のダーティデータの分布として、ページ先端に最も近い第1連続領域とページ末尾に最も近い第2連続領域の間に不連続領域を介して少なくとも1つの第3連続領域が存在する場合に、第1連続領域と第2連続領域の間の第3連続領域を含む不連続領域を判定して記憶デバイスから読み出し、不連続領域に存在する第3連続領域以外の領域を読み出したデータでマージした連続領域を生成してライトバックする。
キャッシュ制御部は、ページ内におけるダーティデータの有無を各ブロック対応のビットにより管理するダーティビットマップと、ページ内におけるデータの有無を各ブロック対応のビットにより管理する現在データビットマップとを備え、ライトバック処理部は、ダーティデータビットマップを参照してダーティデータのページ内での不連続領域を判定し、不連続領域の一端又は両端について現在データビットマップから連続現在データを判別した場合は、残りの不連続領域につき記憶デバイスから読み出してマージする。
記憶デバイスのストリップデータのサイズはキャッシュメモリのページサイズと同一とする。
本発明は記憶装置の制御方法を提供する。本発明による記憶装置の制御方法は、
キャッシュメモリ上のデータを、上位装置のアクセス単位となるブロックデータを複数含むページデータ単位に管理して、前記上位装置の記憶デバイスに対する入出力要求を処理するキャッシュ制御ステップと、
上位装置により更新された記憶デバイスの記憶データより新しいキャッシュメモリ上のダーティデータを記憶デバイスに書き戻す際に、ダーティデータのページ内での不連続領域を判定した場合は、不連続領域を記憶デバイスから読み出してマージすることにより連続領域を生成してライトバックするライトバック処理ステップと、
を備えたことを特徴とする。
本発明は記憶装置のコンピュータで実行されるプログラムを提供する。本発明のプログラムは、記憶装置のコンピュータに、
キャッシュメモリ上のデータを、上位装置のアクセス単位となるブロックデータを複数含むページデータ単位に管理して、上位装置の記憶デバイスに対する入出力要求を処理するキャッシュ制御ステップと、
上位装置により更新された記憶デバイスの記憶データより新しいキャッシュメモリ上のダーティデータを記憶デバイスに書き戻す際に、ダーティデータのページ内での不連続領域を判定した場合は、不連続領域を記憶デバイスから読み出してマージすることにより連続領域を生成してライトバックするライトバック処理ステップと、
を実行させることを特徴とする。
なお、本発明における記憶装置の制御方法及びプログラムの詳細は、本発明の記憶装置の場合と基本的に同じになる。
本発明によれば、ページ内に少なくとも3箇所以上に分かれてダーティデータが存在する場合であっても、不連続領域を記憶デバイスから読み出してマージするためのリードコマンドの発行と、読み出しによるマージで生成した連続領域を記憶デバイスに書き込むライトコマンドの発行の2回のコマンド発行でライトバックすることができ、ページ内にダーティデータが不連続に分散して存在しても、コマンド発生回数を2回に抑えてコマンド処理時間を短縮し、装置全体としての性能向上に大きく寄与させることができる。
図2は本発明が適用されるRAID装置のハードウェア構成のブロック図であり、大型の装置構成を例にとっている。図2において、RAID装置10に対しては、フレーム系ホスト12とUNIX(R)/AIサーバ系ホスト14が設けられている。
RAID装置10内には、CPU15を備えたチャネルアダプタ16、制御モジュール18−1〜18−4、バックエンドルータ20−1,20−2、記憶デバイスとして機能するRAID構成をとるハードディスクドライブなどのディスク装置22−1〜22−4、更にフロントエンドルータ32−1〜32−4を設けている。
RAID装置10は最大構成で制御モジュールを8台実装することができるが、この例にあっては制御モジュール18−1〜18−4の4台構成とした場合を例にとっている。チャネルアダプタ16はCPU15を備え、フレームワーク系ホスト12を制御モジュール18−1〜18−4に接続している。
制御モジュール18−1〜18−4には、制御モジュール18−1に代表して示すように、CPU24、チャネルアダプタ26、キャッシュメモリ28及びファイバチャネル30−1〜30−8が設けられている。チャネルアダプタ26はUNIX(R)/AIサーバ系ホスト14を接続する。
CPU24には、ホスト12からのライトコマンド及びリードコマンドに対する入出力要求をキャッシュメモリ28上で処理して応答する入出力処理機能に加え、キャッシュメモリ28の制御と管理、更にキャッシュメモリ28からバックエンドルータ20−1,20−2を介して、ディスク装置22−1〜22−4に対するキャッシュデータのライトバック、及びディスク装置22−1〜22−4からのディスクデータのステージングなどをプログラム制御により行っている。
フロントエンドルータ32−1〜32−4は、制御モジュール18−1に対し他の制御モジュール18−2〜18−4を接続して、制御の多重化を図っている。またバックエンドルータ20−1,20−2に対しては制御モジュール18−1〜18−4がそれぞれ接続され、制御モジュール側のCPU24によるRAID制御によるデータの入出力処理を行っている。
図3は本発明が適用されるRAID装置の他のハードウェア構成のブロック図であり、図2の大型装置に対し規模の小さな小型あるいは中型装置とした場合を例にとっている。図3において、RAID装置10は、CPU15を備えたチャネルアダプタ16、二重構成の制御モジュール18−1,18−2、及びRAID構成をとるディスク装置22−1〜22−3を備えている。制御モジュール18−1,18−2には、制御モジュール18−1に代表して示すように、CPU24、チャネルアダプタ26、キャッシュメモリ28及びファイバチャネル30−1〜30−8が設けられている。
この小型及び中型に対応した図3のRAID装置10は、図2のRAID装置10からバックエンドルータ20−1,20−2及びフロントエンドルータ32−1〜32−4を除いた規模の小さな構成であり、それ以外の構成は基本的に図2の実施形態と同じである。
図4は本発明によるRAID装置の機能構成のブロック図である。図4において、RAID装置10の機能は、制御モジュール18に設けているCPU24のプログラム制御により実現され、図4の制御モジュール18内に示すように、リソース処理部34、キャッシュ処理部36、RAID制御部38及びコピー処理部40を構築している。
キャッシュ処理部36にはキャッシュ制御部42、キャッシュ管理テーブル44及びライトバック処理部54が設けられている。キャッシュ処理部36の対象となる図2または図3に示したキャッシュメモリ28は、図11に示したようにページ単位に管理されており、ホスト側のアクセス単位である512バイトのユーザデータと8バイトのBCCで構成される520バイトのブロックデータを128ブロック備えた66,560バイトで1ページを構成している。
このようなキャッシュメモリ上のページに対し、キャッシュ管理テーブル44はページごとにレコード管理を行っており、ページに対応したレコードは図示のように、論理ユニット番号(LUN)46、論理ブロックアドレス(LBA)48、ダーティデータビットマップ50及び現在データビットマップ52で構成されている。
ダーティデータビットマップ50は1ページを構成する128ブロックのそれぞれを1ビットに対応した128ビットデータで構成されており、ホストからのライトコマンドにより更新が行われたブロックの対応ビットが1にセットされ、ダーティデータ以外のブロックはビット0となっている。
現在データビットマップ52はダーティデータビットマップと同様、1ページを構成する128ブロックをビット対応で表した128ビットのビットマップであり、ダーティデータを含めてデータの有無を示しており、データありでビット1、データなしでビット0となっている。
ライトバック処理部54は、キャッシュ制御部42から記憶デバイス22に対するライトバック指示を受けた際に、対象となったページ内のダーティデータについて不連続領域を判定した場合は、不連続領域を記憶デバイスは22から読み出してマージすることにより連続領域を生成して、記憶デバイス22にライトバックする。
このライトバック処理にあっては、ページ内におけるダーティデータの分布状態により、3回以上のコマンド発行によるライトバック処理となる場合に、不連続領域を記憶デバイスから読み出してマージすることにより連続領域を生成してライトバックする。
具体的には、ページ内のダーティデータを2回のライトコマンドの発行で記憶デバイス22にライトバックできる場合には、そのままライトバック処理を終了し、ライトコマンドを3回以上発行する必要のある場合に限り、ページ内のダーティデータの不連続領域を記憶デバイス22から読み出してマージすることにより、ページ内で連続した1つのダーティデータの連続領域とし、記憶デバイス22から不連続領域のデータを読み出すための1回のリードコマンドの発行と、リードコマンドで読み出した不連続領域にデータをマージすることで連続領域としたダーティデータの1回のライトコマンド発行によるライトバックの合計2回のコマンド発行でライトバック処理を終了させるように処理する。
図5は本発明のライトバック処理におけるダーティデータ、現在データ及びライトバックデータのビットマップの説明図である。図5(A)はダーティデータビットマップ50であり、この例では1ページの128ブロックに対応した128ビットデータのビット列において、ビット1がダーティデータを表している。
この例でダーティデータの分布は、ページ先頭側の2ブロックの連続領域58−1、その後ろに2ブロック空いた1ブロックとなる連続領域58−2、更に末尾に複数ブロック連続した連続領域58−3の3つの領域に分かれており、その間にビット0となる不連続領域を持っている。
この図8(A)のダーティデータビットマップ50のダーティデータは、連続領域58−1,58−2,58−3ごとにライトコマンドを発行して記憶デバイス28にライトバックする必要があるため、コマンド発行が3回となる。このようにコマンド発行が3回以上となった場合には、本発明によるライトバック処理が適用される。
本発明のライトバック処理にあっては、図5(A)のダーティデータビットマップ50について、ダーティデータの連続領域と記憶デバイス28からの読出しによりマージを必要とする不連続領域60を判定する。この場合、ページ先頭側の連続領域58−1とページ末尾側の連続領域58−3に挟まれた連続領域58−2を含む領域を不連続領域60として判定する。
次に図5(B)の現在データビットマップ52を参照して、ダーティデータビットマップ50から判定した不連続領域60について現在データの有無を判定する。図5(B)の現在データビットマップ52にあっては、ダーティデータを含んで各ブロックのデータの有無を示しており、連続領域58−1,58−2,58−3はダーティデータであり、これに加えて、連続領域58−3の先頭側から前方に3ブロックの現在データがビット1として存在しており、この3ブロックの現在データ領域62を図5(A)で判定した不連続領域60から除去した不連続領域64をリード対象として特定する。
続いて図5(B)で特定された不連続領域64について、記憶デバイス28からデータを読み出し、図5(C)に示すようにダーティデータの連続領域58−2を除くブロックのリードデータを不連続領域64にマージする。
そして、図5(C)のライトバックビットマップ56に示すように、1ページ分の全ブロックをダーティデータとして、1回のライトコマンドの発行で記憶デバイスに対するライトバック処理を行う。
この結果、図5の場合には、図5(B)で生成した不連続領域64を記憶デバイスから読み出すためのリードコマンドの発行と、図5(C)の連続ブロックとなった1ページ分のダーティデータをライトバックするための1回のライトコマンド発行の2回のコマンド発行で、不連続領域を含むダーティデータのライトバックを完了することができる。
図6は本発明のライトバック処理におけるダーティデータの不連続領域が現在データでリカバリされて通常のライトバック処理となる場合の説明図である。図6(A)は図5(A)のダーティデータビットマップ50と同じであるが、図6(B)の現在データビットマップ52にあっては、ダーティデータビットマップ50における連続領域58−2と58−3の間の全ブロックにつき、現在データ連続領域66でリカバリできている。
その結果、図6(C)に示すように、ライトバックビットマップ56にあってはダーティデータの連続領域は連続領域58−1と58−4の2つになっている。この場合には、連続領域58−1を記憶デバイス28にライトバックするライトコマンドの発行と、連続領域58−4を記憶デバイス28にライトバックするためには、ライトコマンドの発行の2回のコマンド発行で済むことから、本発明による記憶デバイスからの読出しによるマージは必要とせずに、そのまま従来と同様なライトバック処理とする。
図7は本発明のライトバック処理から除外されるダーティデータのビットマップ説明図である。図7(A)のダーティデータビットマップ50にあっては、ページの先頭の連続領域58−1と末尾の連続領域58−2の間が不連続領域60となっており、この場合にも連続領域58−1と連続領域58−2のそれぞれをライトバックする2回のライトコマンドの発行で済むことから、本発明のライトバック処理は適用されない。
図7(B)のダーティデータビットマップ50にあっては、ページ内の前半が不連続領域60、後半が連続領域58となった場合であり、この場合には連続領域58について1回のライトコマンドの発行でライトバックできることから、本発明によるライトバック処理は適用されない。
図8はキャッシュメモリのライトバックの際に出現するダーティデータのページ内の分布パターンをまとめて示した説明図である。図8(A)(B)(C)(D)は本発明によるライトバック処理が適用されるダーティデータの分布パターンであり、残り図8(E)(F)(G)(H)(I)は本発明のライトバック処理が除外されるダーティデータ分布パターンである。
図8(A)は図5(A)と同じ分布パターンであり、ページ先頭側に連続領域58−1が存在し、ページ末尾に連続領域58−3が存在し、その間に不連続領域66−1,66−2を介して連続領域58−2が存在している。
この場合には、先頭側の連続領域58−1の直後から末尾側の連続領域58−3の先頭直前までの連続領域58−2を含む領域を不連続領域60として記憶デバイス28からデータをリードして、連続領域58−2を除いた連続領域66−1,66−2にマージし、1ページ全体を1回のライトコマンドでライトバックする。
図8(B)は、ページ先頭が不連続領域66−1となって、その後ろに連続領域58−1、不連続領域66−2、連続領域58−2、不連続領域66−3及び連続領域58−3が分布した場合である。
この場合には、不連続領域60で示す連続領域58−2を含む領域について記憶デバイス28からリードして、不連続領域66−2,66−3にマージし、連続領域58−1からページ末尾までの領域を1回のライトコマンドでライトバックする。
図8(C)はページ末尾が不連続領域66−3となった場合であり、ページ手前側に連続領域58−1,58−2,58−3と不連続領域66−1,66−2が交互に存在している。
この場合にも、連続領域58−2を含む不連続領域60につき、記憶デバイス28からデータをリードして不連続領域62−1,62−2をマージし、連続領域58−1から連続領域58−3までの領域のデータを1回のライトコマンドでライトバックする。
図8(D)はページ先頭とページ末尾がそれぞれ不連続領域66−1,66−4となった場合であり、その間に連続領域58−1,58−2,58−3と不連続領域66−2,66−3が交互に存在している。
この場合には、連続領域58−2を含む不連続領域60を記憶デバイス22からリードして不連続領域66−2,66−3をマージし、連続領域58−1から連続領域58−3までのブロックのデータを1回のライトコマンドでライトバックする。
この図8(A)〜(D)の本発明のライトバック処理が適用されるダーティデータの分布パターンをまとめると、ページ内のダーティデータの分布として、ページ先端に最も近い第1連続領域58−1とページ末尾に最も近い第2連続領域58−3の間に、不連続領域66−2,66−3を介して少なくとも1つの第3連続領域58−2が存在する場合に、第1連続領域58−1と第2連続領域の間の第3連続領域58−2を含む不連続領域60を判定して記憶デバイス28から読み出し、不連続領域60に存在する第3連続領域58−2以外の領域66−2,66−3を、読み出したデータのマージにより連続領域を作成してライトバックする、ということができる。
図8(E)はページ全領域がダーティデータの場合であり、1回のライトコマンドで済むことから、本発明のライトバック処理からは除外される。図8(F)は先頭側が連続領域58−1、末尾側が不連続領域66−1となった場合であり、1回のライトコマンドで連続領域58−1のライトバックが可能であることから、本発明のライトバック処理からは除外される。
図8(G)は図7(B)と同じパターンであり、1回の連続領域58−1のライトバックで済むことから、本発明のライトバック処理からは除外される。図8(H)は連続領域58−1の前後に不連続領域66−1,66−2が存在した場合であり、この場合にも連続領域58−1を1回のライトコマンドでライトバックできることから、本発明のライトバック処理からは除外される。
図8(I)は連続領域58−1,58−2の間に不連続領域66−1が存在した場合であり、図7(A)と同じ分布パターンであり、連続領域58−1,58−2のそれぞれのライトバックで2回のライトコマンドの発行で済むことから、本発明のライトバック処理からは除外される。
なお図8(A)〜(D)は、先頭側の連続領域58−1と末尾側の連続領域58−3の間に不連続領域66−1,66−2を介して連続領域58−2が存在した場合を例にとるものであったが、ヘッド側の連続領域58−1と末尾側の連続領域58−3の間に不連続領域を間に介して交互に存在する連続領域の数は、複数であっても全く同様に本発明のライトバック処理が適用されることになる。
図9は本発明によるライトバック処理のフローチャートである。図9において、ライトバック処理は、ステップS1でライトバックの対象となったページのダーティデータビットマップからダーティデータの連続領域と不連続領域を判定する。続いてステップS2でダーティデータは全て連続データか否かチェックし、もし連続データであればステップS11に進み、そのままディスクライト処理を実行する。
ステップS2でダーティデータがページ内で不連続であった場合には、ステップS3に進み、ライトバック処理のコマンド発行回数は3回以上か否かチェックする。3回未満即ち1回または2回であった場合には、ステップS11に進み、そのままディスクライト処理を実行する。
コマンド発行回数が3回以上の場合にはステップS4に進み、対象データの現在データビットマップを判定し、ステップS5で不連続領域が現在データにより全て連続領域として存在することになるか否かチェックする。もし不連続領域が全て現在データの連続領域としてリカバリされた場合には、ステップS11に進み、そのままディスクライト処理を実行する。
不連続領域が現在データにより全て連続領域とならない場合には、ステップS6に進み、不連続領域の一端または両端に続く現在データは存在するか否かチェックする。もし存在すれば、ステップS7で現在データの存在領域を除いた不連続領域を生成する。存在しない場合はステップS9へ進む。
この新たに生成した不連続領域について、ステップS8でライトバック処理のコマンド回数が3回以上か否かチェックする。もし3回未満即ち1回または2回であれば、ステップS11でそのままディスクライト処理を実行する。
コマンド回数が3回以上の場合には、ステップS9で不連続領域をディスク装置からリードし、ステップS10でリードデータをキャッシュデータにマージする。もちろんダーティデータについては、マージは行わない。そしてステップS11で連続データとなったダーティデータについてディスクライト処理を実行する。
図10は図9のステップS1におけるダーティビットマップの判定処理のフローチャートであり、判定結果として記憶デバイスからデータを読み出してマージする不連続領域が存在するか、そのままライトバックできる不連続領域なしとするかの判定結果を得る。
図10において、まずステップS1でダーティデータビットマップを先頭から1ビットずつビットサーチを開始する。続いてステップS2でエンドビットか否かチェックしており、エンドビットに達するまでは、ステップS3でビット変化がビット1からビット0となったか否かチェックしている。
このビット1からビット0への変化は、ダーティデータの連続領域から不連続領域への境界を検出している。ステップS3でビット1からビット0へのビット変化が検出されると、ステップS4に進み、不連続領域開始位置を登録し、ステップS5へ進む。
なお、ステップS2でステップS3のビット変化を検出することなくエンドビットに達した場合には、ステップS13に進み、不連続領域なしと判定する。
ステップS5のビットサーチに続いて、ステップS6でエンドビットへの到達をチェックした後、ステップS7でビット変化がビット0からビット1となったか否かチェックしている。このビットが0から1に変化する状態は、ダーティデータの不連続領域から連続領域への境界を検出している。
ステップS7でビットがビット0からビット1に変化した場合には、ステップS8に進み、不連続領域終了位置を登録または更新する。即ち、最初の不連続領域位置の検出については登録し、2回目以降については前に登録した不連続領域終了位置を新たに検出した終了位置に更新する。
続いて、ステップS9でカウンタAを1つカウントアップする。カウンタAの初期値はA=0である。このカウンタAは連続領域の間に存在する不連続領域の数をカウントしている。続いて、ステップS10で再度ビットサーチを開始し、ステップS11でエンドビットか否かチェックし、ステップS12でビット0からビット1へのビット変化、即ち2回目以降の不連続領域から連続領域への境界位置の検出を行っている。
ステップS12で再度、ビット0からビット1への変化を検出すると、ステップS8に戻り、不連続領域終了位置を前回の登録位置から新たに検出した登録位置に更新した後、ステップS9でカウンタAを1つカウントアップし、再びステップS10でビットサーチに入る。
ステップS10〜S12におけるビットサーチの間に、ステップS11でエンドビットへの到達が判別されると、ステップS14に進み、不連続領域を計数しているカウンタAの値が2以上か否かチェックし、2以上であればステップS15に進み、ステップS4で検出した不連続領域開始位置からステップS8で更新している不連続領域終了位置までの分布を持つ不連続領域を判定して、図9のメインルーチンにリターンする。
ステップS14でカウンタAが2未満であった場合には、ステップS16で不連続領域はないものと判断して、ステップS9にリターンする。
図9にリターンした場合、不連続領域なしについてはステップS2の全データが連続データであるとの判断、あるいはステップS3におけるライトバック処理のコマンド発行回数が3回以上との判断で3回未満と判定され、本発明によるライトバック処理をスキップして、ステップS11でそのまま従来と同じディスクライト処理を行うことになる。
ここで図10のビットマップ判定処理を例えば図8(A)のダーティデータ分布パターンについて具体的に説明すると、次のようになる。
まずステップS1〜S3の処理により、ページ内の先頭側の連続領域58−1から次の不連続領域66−1の境界におけるビット1からビット0への変化をステップS3で検出し、ステップS4で不連続領域60の開始位置を登録する。
続いてステップS5で不連続領域66−1のビットサーチを行い、ステップS6を介して、ステップS7で不連続領域66−1の末尾から連続領域58−2の先頭へのビット0からビット1への変化を検出し、ステップS8で不連続領域66−1の最後のビットを不連続領域終了位置として登録する。
続いて、ステップS9でカウンタAを1つカウントアップしてA=1とすることで不連続領域66−1の数を計数した後、ステップS10で連続領域58−2のビットサーチを開始する。
このビットサーチにあっては、ステップS12でビット0からビット1への変化はないことから、そのまま不連続領域66−2のビットサーチに入り、不連続領域66−2の最終ビットと次の連続領域58−1の先頭ビットのビットサーチでステップS12のビット0からビット1への変化が検出され、ステップS8で不連続領域66−2の最終ビットを不連続領域終了位置として、前回の登録位置を更新し、ステップS9でカウンタAを1つカウントアップしてA=2とし、不連続領域の数を計数する。
続いて連続領域58−3のビットサーチをステップS10で繰り返していると、128ビット目のビットサーチでステップS11のエンドビット判別が行われ、ステップS14に進み、カウンタAを判定すると、A=2であることから、ステップS15に進み、ステップS4の開始位置とステップS8の終了位置を持つ不連続領域60を判定することができる。もちろん、本発明が対象とするダーティデータの分布パターンの判定は図10のビットマップ判定処理によらず、適宜のパターン判定の手法を適用することができる。
また本発明はRAID装置のCPU24で実行されるプログラムを提供するものであり、図9のフローチャート及び図10に示したフローチャートに従った手順でプログラムを実現することができる。
なお本発明は、その目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。
ここで本発明の特徴をまとめて列挙すると次の付記のようになる。
(付記)
(付記1)
キャッシュメモリ上のデータを、上位装置のアクセス単位となるブロックデータを複数含むページデータ単位に管理して、前記上位装置の記憶デバイスに対する入出力要求を処理するキャッシュ制御部と、
上位装置により更新された前記記憶デバイスの記憶データより新しい前記キャッシュメモリ上のダーティデータを前記記憶デバイスに書き戻す際に、前記ダーティデータのページ内での不連続領域を判定した場合は、不連続領域を前記記憶デバイスから読み出してマージすることにより連続領域を生成してライトバックするライトバック処理部と、
を備えたことを特徴とする記憶装置。(1)
(付記2)
付記1記載の記憶装置に於いて、前記ライトバック処理部は、3回以上のコマンド発行によるライトバック処理となる場合に、不連続領域を前記記憶デバイスから読み出してマージすることにより連続領域を生成してライトバックすることを特徴とする記憶装置。(2)
(付記3)
付記1記載の記憶装置に於いて、前記ライトバック処理部は、ページ内のダーティデータの分布として、ページ先端に最も近い第1連続領域とページ末尾に最も近い第2連続領域の間に不連続領域を介して少なくとも1つの第3連続領域が存在する場合に、前記第1連続領域と第2連続領域の間の第3連続領域を含む不連続領域を判定して前記記憶デバイスから読み出し、前記不連続領域に存在する第3連続領域以外の領域を読み出したデータのマージにより連続領域を生成してライトバックすることを特徴とする記憶装置。(3)
(付記4)
付記3記載の記憶装置に於いて、前記キャッシュ制御部は、
前記ページ内におけるダーティデータの有無を各ブロック対応のビットにより管理するダーティビットマップと、
前記ページ内におけるデータの有無を各ブロック対応のビットにより管理する現在データビットマップと、
を備え、
前記ライトバック処理部は、前記ダーティデータビットマップを参照してダーティデータのページ内での前記不連続領域を判定し、前記不連続領域の一端又は両端について前記現在データビットマップから連続現在データを判別した場合は、残りの不連続領域につき前記記憶デバイスから読み出してマージすることを特徴とする記憶装置。(4)
(付記5)
付記1記載の記憶装置に於いて、前記記憶デバイスのストリップデータのサイズを前記キャッシュメモリのページサイズと同一としたことを特徴とする記憶装置。(5)
(付記6)
記憶装置の制御方法に於いて、
キャッシュメモリ上のデータを、上位装置のアクセス単位となるブロックデータを複数含むページデータ単位に管理して、前記上位装置の記憶デバイスに対する入出力要求を処理するキャッシュ制御ステップと、
上位装置により更新された前記記憶デバイスの記憶データより新しい前記キャッシュメモリ上のダーティデータを前記記憶デバイスに書き戻す際に、前記ダーティデータのページ内での不連続領域を判定した場合は、不連続領域を前記記憶デバイスから読み出してマージすることによりページ連続データを生成してページ単位にライトバックするライトバック処理ステップと、
を備えたことを特徴とする記憶装置の制御方法。(6)
(付記7)
付記6記載の記憶装置の制御方法に於いて、前記ライトバック処理ステップは、3回以上のコマンド発行によるライトバック処理となる場合に、不連続領域を前記記憶デバイスから読み出してマージすることによりページ連続データを生成してページ単位にライトバックすることを特徴とする記憶装置の制御方法。(7)
(付記8)
付記6記載の記憶装置の制御方法に於いて、前記ライトバック処理ステップは、ページ内のダーティデータの分布として、ページ先端に最も近い第1連続領域とページ末尾に最も近い第2連続領域の間に不連続領域を介して少なくとも1つの第3連続領域が存在する場合に、前記大地連続領域と第2連続領域の間の第3連続領域を含む不連続領域を判定して前記記憶デバイスから読み出し、前記不連続領域に存在する第3連続領域以外の領域を読み出したデータのマージにより連続領域を生成してライトバックすることを特徴とする記憶装置の制御方法。(8)
(付記9)
付記8記載の記憶装置の制御方法に於いて、前記キャッシュ制御ステップは、
前記ページ内におけるダーティデータの有無を各ブロック対応のビットにより管理するダーティビットマップと、
前記ページ内におけるデータの有無を各ブロック対応のビットにより管理する現在データビットマップと、
を生成し、
前記ライトバック処理ステップは、前記ダーティデータビットマップを参照してダーティデータのページ内での前記不連続領域を判定し、前記不連続領域の一端又は両端について前記現在データビットマップから連続現在データを判別した場合は、残りの不連続領域につき前記記憶デバイスから読み出してマージすることを特徴とする記憶装置の制御方法。(9)
(付記10)
付記6記載の記憶装置の制御方法に於いて、前記記憶デバイスのストリップデータのサイズを前記キャッシュメモリのページサイズと同一としたことを特徴とする記憶装置の制御方法。
(付記11)
記憶装置のコンピュータに、
キャッシュメモリ上のデータを、上位装置のアクセス単位となるブロックデータを複数含むページデータ単位に管理して、前記上位装置の記憶デバイスに対する入出力要求を処理するキャッシュ制御ステップと、
上位装置により更新された前記記憶デバイスの記憶データより新しい前記キャッシュメモリ上のダーティデータを前記記憶デバイスに書き戻す際に、前記ダーティデータのページ内での不連続領域を判定した場合は、不連続領域を前記記憶デバイスから読み出してマージすることによりページ連続データを生成してページ単位にライトバックするライトバック処理ステップと、
を実行させることを特徴とするプログラム。(10)
(付記12)
付記11記載のプログラムに於いて、前記ライトバック処理ステップは、3回以上のコマンド発行によるライトバック処理となる場合に、不連続領域を前記記憶デバイスから読み出してマージすることによりページ連続データを生成してページ単位にライトバックすることを特徴とするプログラム。
(付記13)
付記11記載のプログラムに於いて、前記ライトバック処理ステップは、ページ内のダーティデータの分布として、ページ先端に最も近い第1連続領域とページ末尾に最も近い第2連続領域の間に不連続領域を介して少なくとも1つの第3連続領域が存在する場合に、前記大地連続領域と第2連続領域の間の第3連続領域を含む不連続領域を判定して前記記憶デバイスから読み出し、前記不連続領域に存在する第3連続領域以外の領域を読み出したデータのマージにより連続領域を生成してライトバックすることを特徴とするプログラム。
(付記14)
付記13記載のプログラムに於いて、前記キャッシュ制御ステップは、
前記ページ内におけるダーティデータの有無を各ブロック対応のビットにより管理するダーティビットマップと、
前記ページ内におけるデータの有無を各ブロック対応のビットにより管理する現在データビットマップと、
を生成し、
前記ライトバック処理ステップは、前記ダーティデータビットマップを参照してダーティデータのページ内での前記不連続領域を判定し、前記不連続領域の一端又は両端について前記現在データビットマップから連続現在データを判別した場合は、残りの不連続領域につき前記記憶デバイスから読み出してマージすることを特徴とするプログラム。
(付記15)
付記11記載のプログラムに於いて、前記記憶デバイスのストリップデータのサイズを前記キャッシュメモリのページサイズと同一としたことを特徴とするプログラム。
本発明の原理説明図 本発明が適用されるRAID装置のハードウェア構成のブロック図 本発明が適用されるRAID装置の他のハードウェア構成のブロック図 本発明によるRAID装置の機能構成のブロック図 本発明のライトバック処理におけるダーティデータ、現在データ及びライトバックデータのビットマップの説明図 本発明のライトバック処理におけるダーティデータの不連続領域が現在データでリカバリされた場合のビットマップ説明図 本発明のライトバック処理から除外されるダーティデータのビットマップ説明図 ライトバックの際に出現するダーティデータの分布パターンをまとめて示した説明図 本発明によるライトバック処理のフローチャート 図9のステップS1におけるダーティビットマップの判定処理のフローチャート 従来装置におけるキャッシュページのレコード構造の説明図 従来のキャッシュ管理テーブルに設けたダーティビットマップと現在データビットマップの説明図
符号の説明
10:RAID装置
12:ホスト(メインフレーム系)
14:ホスト(UNIX(R)/AIサーバ系)
15,24:CPU
16,26:チャネルアダプタ
18,18−1〜18−4:制御モジュール
20−1,20−2:バックエンドルータ
22:記憶デバイス
22−1〜22−4:ディスク装置
28:キャッシュメモリ
30−1〜30−8:ファイバチャネル
32−1〜32−4:フロントエンドルータ
34:リソース処理部
36:キャッシュ処理部
38:RAID制御部
40:コピー処理部
42:キャッシュ制御部
44:キャッシュ管理テーブル
46:論理ユニット番号(LUN)
48:論理ブロックアドレス(LBA)
50:ダーティデータビットマップ
52:現在データビットマップ
54:ライトバック処理部
56:ライトバックビットマップ

Claims (10)

  1. キャッシュメモリ上のデータを、上位装置のアクセス単位となるブロックデータを複数含むページデータ単位に管理して、前記上位装置の記憶デバイスに対する入出力要求を処理するキャッシュ制御部と、
    上位装置により更新された前記記憶デバイスの記憶データより新しい前記キャッシュメモリ上のダーティデータを前記記憶デバイスの前記記憶データの記憶されている箇所に書き戻す際に、前記ダーティデータのページ内での不連続領域を判定した場合は、前記不連続領域を前記記憶デバイスから読み出して前記ダーティデータにマージすることにより前記キャッシュ上に連続領域を生成して一つのコマンドで前記連続領域をライトバックするライトバック処理部と、
    を備えたことを特徴とする記憶装置。
  2. 請求項1記載の記憶装置に於いて、前記ライトバック処理部は、3回以上のコマンド発行によるライトバック処理となる場合に、不連続領域を前記記憶デバイスから読み出してマージすることにより連続領域を生成してライトバックすることを特徴とする記憶装置。
  3. 請求項1記載の記憶装置に於いて、前記ライトバック処理部は、ページ内のダーティデータの分布として、ページ先端に最も近い第1連続領域とページ末尾に最も近い第2連続領域の間に不連続領域を介して少なくとも1つの第3連続領域が存在する場合に、前記第1連続領域と第2連続領域の間の第3連続領域を含む不連続領域を判定して前記記憶デバイスから読み出し、前記不連続領域に存在する第3連続領域以外の領域を読み出したデータのマージにより連続領域を生成してライトバックすることを特徴とする記憶装置。
  4. 請求項3記載の記憶装置に於いて、前記キャッシュ制御部は、
    前記ページ内におけるダーティデータの有無を各ブロック対応のビットにより管理するダーティビットマップと、
    前記ページ内におけるデータの有無を各ブロック対応のビットにより管理する現在データビットマップと、
    を備え、
    前記ライトバック処理部は、前記ダーティデータビットマップを参照してダーティデータのページ内での前記不連続領域を判定し、前記不連続領域の一端又は両端について前記現在データビットマップから連続現在データを判別した場合は、残りの不連続領域につき前記記憶デバイスから読み出してマージすることを特徴とする記憶装置。
  5. 請求項1記載の記憶装置に於いて、前記記憶デバイスのストリップデータのサイズを前記キャッシュメモリのページサイズと同一としたことを特徴とする記憶装置。
  6. 記憶装置の制御方法に於いて、
    キャッシュメモリ上のデータを、上位装置のアクセス単位となるブロックデータを複数含むページデータ単位に管理して、前記上位装置の記憶デバイスに対する入出力要求を処理するキャッシュ制御ステップと、
    上位装置により更新された前記記憶デバイスの記憶データより新しい前記キャッシュメモリ上のダーティデータを前記記憶デバイスの前記記憶データの記憶されている箇所に書き戻す際に、前記ダーティデータのページ内での不連続領域を判定した場合は、前記不連続領域を前記記憶デバイスから読み出して前記ダーティデータにマージすることにより前記キャッシュ上にページ連続データを生成して一つのコマンドで前記連続領域をページ単位にライトバックするライトバック処理ステップと、
    を備えたことを特徴とする記憶装置の制御方法。
  7. 請求項6記載の記憶装置の制御方法に於いて、前記ライトバック処理ステップは、3回以上のコマンド発行によるライトバック処理となる場合に、不連続領域を前記記憶デバイスから読み出してマージすることによりページ連続データを生成してページ単位にライトバックすることを特徴とする記憶装置の制御方法。
  8. 請求項6記載の記憶装置の制御方法に於いて、前記ライトバック処理ステップは、ページ内のダーティデータの分布として、ページ先端に最も近い第1連続領域とページ末尾に最も近い第2連続領域の間に不連続領域を介して少なくとも1つの第3連続領域が存在する場合に、前記大地連続領域と第2連続領域の間の第3連続領域を含む不連続領域を判定して前記記憶デバイスから読み出し、前記不連続領域に存在する第3連続領域以外の領域を読み出したデータのマージにより連続領域を生成してライトバックすることを特徴とする記憶装置の制御方法。
  9. 請求項8記載の記憶装置の制御方法に於いて、前記キャッシュ制御ステップは、
    前記ページ内におけるダーティデータの有無を各ブロック対応のビットにより管理するダーティビットマップと、
    前記ページ内におけるデータの有無を各ブロック対応のビットにより管理する現在データビットマップと、
    を生成し、
    前記ライトバック処理ステップは、前記ダーティデータビットマップを参照してダーティデータのページ内での前記不連続領域を判定し、前記不連続領域の一端又は両端について前記現在データビットマップから連続現在データを判別した場合は、残りの不連続領域につき前記記憶デバイスから読み出してマージすることを特徴とする記憶装置の制御方法。
  10. 記憶装置のコンピュータに、
    キャッシュメモリ上のデータを、上位装置のアクセス単位となるブロックデータを複数含むページデータ単位に管理して、前記上位装置の記憶デバイスに対する入出力要求を処理するキャッシュ制御ステップと、
    上位装置により更新された前記記憶デバイスの記憶データより新しい前記キャッシュメモリ上のダーティデータを前記記憶デバイスの前記記憶データの記憶されている箇所に書き戻す際に、前記ダーティデータのページ内での不連続領域を判定した場合は、前記不連続領域を前記記憶デバイスから読み出して前記ダーティデータにマージすることにより前記キャッシュ上にページ連続データを生成して一つのコマンドで前記連続領域をページ単位にライトバックするライトバック処理ステップと、
    を実行させることを特徴とするプログラム。
JP2004349530A 2004-12-02 2004-12-02 記憶装置、その制御方法及びプログラム Expired - Fee Related JP4366298B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004349530A JP4366298B2 (ja) 2004-12-02 2004-12-02 記憶装置、その制御方法及びプログラム
US11/090,075 US7320055B2 (en) 2004-12-02 2005-03-28 Storage system, and control method and program thereof
CNB2005100652379A CN100410897C (zh) 2004-12-02 2005-04-14 存储系统及其控制方法
KR1020050031158A KR100689137B1 (ko) 2004-12-02 2005-04-14 기억 장치, 그 제어 방법 및 프로그램이 기록된 기억매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004349530A JP4366298B2 (ja) 2004-12-02 2004-12-02 記憶装置、その制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2006163474A JP2006163474A (ja) 2006-06-22
JP4366298B2 true JP4366298B2 (ja) 2009-11-18

Family

ID=36575732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004349530A Expired - Fee Related JP4366298B2 (ja) 2004-12-02 2004-12-02 記憶装置、その制御方法及びプログラム

Country Status (4)

Country Link
US (1) US7320055B2 (ja)
JP (1) JP4366298B2 (ja)
KR (1) KR100689137B1 (ja)
CN (1) CN100410897C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104090728A (zh) * 2014-07-02 2014-10-08 浙江宇视科技有限公司 一种动态调整存储设备Cache读写命令数的方法和装置

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418544B2 (en) * 2005-10-05 2008-08-26 Oracle International Corporation Method and system for log structured relational database objects
JP4413184B2 (ja) * 2005-11-28 2010-02-10 富士通株式会社 データストレージシステム及びデータストレージ制御装置
JP2008071047A (ja) * 2006-09-13 2008-03-27 Kwok-Yan Leung ディスクインターフェースカード
US7904619B2 (en) 2006-11-24 2011-03-08 Sandforce, Inc. System, method, and computer program product for reducing memory write operations using difference information
WO2008073219A1 (en) * 2006-12-08 2008-06-19 Sandforce, Inc. Data redundancy in a plurality of storage devices
US7904672B2 (en) 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
KR100881669B1 (ko) * 2006-12-18 2009-02-06 삼성전자주식회사 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
JP4963088B2 (ja) * 2007-07-13 2012-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション データをキャッシュする技術
JP4706029B2 (ja) * 2009-03-19 2011-06-22 富士通株式会社 ストレージ装置、データ書き込み方法、及びデータ書き込みプログラム
US8055816B2 (en) 2009-04-09 2011-11-08 Micron Technology, Inc. Memory controllers, memory systems, solid state drives and methods for processing a number of commands
US8700842B2 (en) * 2010-04-12 2014-04-15 Sandisk Enterprise Ip Llc Minimizing write operations to a flash memory-based object store
US9164554B2 (en) 2010-04-12 2015-10-20 Sandisk Enterprise Ip Llc Non-volatile solid-state storage system supporting high bandwidth and random access
US8954385B2 (en) 2010-06-28 2015-02-10 Sandisk Enterprise Ip Llc Efficient recovery of transactional data stores
WO2012032666A2 (en) * 2010-09-06 2012-03-15 Nec Corporation Information processing device and information processing method
US8874515B2 (en) 2011-04-11 2014-10-28 Sandisk Enterprise Ip Llc Low level object version tracking using non-volatile memory write generations
JP5492156B2 (ja) 2011-08-05 2014-05-14 株式会社東芝 情報処理装置およびキャッシュ方法
JP5923964B2 (ja) 2011-12-13 2016-05-25 富士通株式会社 ディスクアレイ装置、制御装置、およびプログラム
CN103246542B (zh) 2012-02-01 2017-11-14 中兴通讯股份有限公司 智能缓存及智能终端
US9135064B2 (en) 2012-03-07 2015-09-15 Sandisk Enterprise Ip Llc Fine grained adaptive throttling of background processes
JP6027479B2 (ja) * 2013-03-29 2016-11-16 東芝プラットフォームソリューション株式会社 半導体メモリ装置
US20160154743A1 (en) * 2013-06-25 2016-06-02 Hewlett-Packard Development Company, L.P. Flushing dirty data from cache memory
JP6095539B2 (ja) * 2013-09-20 2017-03-15 株式会社日立製作所 I/o処理制御装置及びi/o処理制御方法
JP2016028319A (ja) * 2014-07-08 2016-02-25 富士通株式会社 アクセス制御プログラム、アクセス制御装置及びアクセス制御方法
US9971686B2 (en) * 2015-02-23 2018-05-15 Intel Corporation Vector cache line write back processors, methods, systems, and instructions
JP6521694B2 (ja) * 2015-03-27 2019-05-29 株式会社バイオス 記憶制御システム及び記憶制御装置
CN106874216B (zh) * 2015-12-11 2020-07-10 捷鼎新加坡私人有限公司 加快在不连续页面写入数据的计算机系统及其方法
CN107145301B (zh) * 2016-03-01 2020-09-01 深信服科技股份有限公司 基于混合磁盘的数据存取方法及装置
US10037149B2 (en) * 2016-06-17 2018-07-31 Seagate Technology Llc Read cache management
CN108427648B (zh) * 2017-02-14 2023-12-01 中兴通讯股份有限公司 存储系统页内脏数据索引方法和装置
US11436151B2 (en) * 2018-08-29 2022-09-06 Seagate Technology Llc Semi-sequential drive I/O performance
CN111563053B (zh) * 2020-07-10 2020-12-11 阿里云计算有限公司 处理Bitmap数据的方法以及装置
CN113986118B (zh) * 2021-09-28 2024-06-07 新华三大数据技术有限公司 一种数据处理方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2690691B2 (ja) * 1994-06-27 1997-12-10 新潟日本電気株式会社 ライトバック・キャッシュ・メモリを有する演算処理装置
JP3713312B2 (ja) * 1994-09-09 2005-11-09 株式会社ルネサステクノロジ データ処理装置
JPH08249218A (ja) * 1995-03-15 1996-09-27 Fujitsu Ltd ファイル制御装置及びデータ書き込み方法
US5765196A (en) 1996-02-27 1998-06-09 Sun Microsystems, Inc. System and method for servicing copyback requests in a multiprocessor system with a shared memory
US5860091A (en) 1996-06-28 1999-01-12 Symbios, Inc. Method and apparatus for efficient management of non-aligned I/O write request in high bandwidth raid applications
US6202135B1 (en) * 1996-12-23 2001-03-13 Emc Corporation System and method for reconstructing data associated with protected storage volume stored in multiple modules of back-up mass data storage facility
JP3176319B2 (ja) * 1997-07-03 2001-06-18 日本電気アイシーマイコンシステム株式会社 データ処理装置
US6381674B2 (en) * 1997-09-30 2002-04-30 Lsi Logic Corporation Method and apparatus for providing centralized intelligent cache between multiple data controlling elements
JP2000182292A (ja) 1998-12-15 2000-06-30 Fujitsu Ltd 光学的記憶装置及び光記憶媒体の記録再生方法
US6529995B1 (en) * 1999-06-18 2003-03-04 Storage Technology Corporation Method and apparatus for maintaining and restoring mapping table entries and data in a raid system
JP3860402B2 (ja) 2000-09-20 2006-12-20 株式会社東芝 光ディスク記録再生装置及び光ディスク記録再生方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104090728A (zh) * 2014-07-02 2014-10-08 浙江宇视科技有限公司 一种动态调整存储设备Cache读写命令数的方法和装置
CN104090728B (zh) * 2014-07-02 2017-07-14 浙江宇视科技有限公司 一种动态调整存储设备Cache读写命令数的方法和装置

Also Published As

Publication number Publication date
JP2006163474A (ja) 2006-06-22
KR20060061747A (ko) 2006-06-08
KR100689137B1 (ko) 2007-03-08
US7320055B2 (en) 2008-01-15
CN1783034A (zh) 2006-06-07
US20060123200A1 (en) 2006-06-08
CN100410897C (zh) 2008-08-13

Similar Documents

Publication Publication Date Title
JP4366298B2 (ja) 記憶装置、その制御方法及びプログラム
JP4440803B2 (ja) 記憶装置、その制御方法及びプログラム
US7861035B2 (en) Method of improving input and output performance of raid system using matrix stripe cache
US7281089B2 (en) System and method for reorganizing data in a raid storage system
JP4749112B2 (ja) 記憶制御システム及び方法
US7769952B2 (en) Storage system for controlling disk cache
US8074017B2 (en) On-disk caching for raid systems
US7386758B2 (en) Method and apparatus for reconstructing data in object-based storage arrays
US7370148B2 (en) Storage system, control method thereof, and program
EP1770492B1 (en) A method for improving writing data efficiency and storage subsystem and system implementing the same
JP4961319B2 (ja) 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム
US20090327801A1 (en) Disk array system, disk controller, and method for performing rebuild process
JPH06180671A (ja) ディスクキャッシュ制御装置
CN100361064C (zh) 写入过程管理方法和系统
US7346733B2 (en) Storage apparatus, system and method using a plurality of object-based storage devices
JPH11288387A (ja) ディスクキャッシュ装置
US11288006B2 (en) Storage system and volume copying method where changes to address conversion table is rolled back
US8713279B2 (en) Storage system with LU-setting function
JPH09288547A (ja) アレイ型記憶装置
JP2006031446A (ja) データ記憶装置、データ記憶方法およびデータ記憶プログラム
JP4040797B2 (ja) ディスク制御装置および記録媒体
JP3573599B2 (ja) ディスクアレイにおけるデータ回復方法
US12073089B2 (en) Storage device and data recovery method by storage device
KR20000056291A (ko) 레이드 시스템에서 패러티 캐쉬 및 이의 운영 방법
JPH10269695A (ja) コンピュータシステムにおける記憶装置の制御方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090430

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090824

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

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4366298

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130828

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees