JP5426684B2 - 独立ディスク冗長アレイ(raid)の書き込みキャッシュサブアセンブリ - Google Patents

独立ディスク冗長アレイ(raid)の書き込みキャッシュサブアセンブリ Download PDF

Info

Publication number
JP5426684B2
JP5426684B2 JP2011534471A JP2011534471A JP5426684B2 JP 5426684 B2 JP5426684 B2 JP 5426684B2 JP 2011534471 A JP2011534471 A JP 2011534471A JP 2011534471 A JP2011534471 A JP 2011534471A JP 5426684 B2 JP5426684 B2 JP 5426684B2
Authority
JP
Japan
Prior art keywords
raid
write cache
memory
subassembly
protocol
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
JP2011534471A
Other languages
English (en)
Other versions
JP2012507784A (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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2012507784A publication Critical patent/JP2012507784A/ja
Application granted granted Critical
Publication of JP5426684B2 publication Critical patent/JP5426684B2/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、RAIDの書き込みキャッシュサブアセンブリに関する。
独立ディスク冗長アレイ(RAID)技術は、小さく、安価な複数のディスクドライブを統合して、大きく、高価な1つのディスクドライブの性能を上回る性能を生み出すアレイにする。
RAIDは、例えば、冗長性、より低いレイテンシ、より高いバンド幅、および、データの復元可能性といった利益をもたらす。
RAIDアレイは、コンピュータには、1つ以上の論理ストレージまたは仮想ディスクドライブであるように見える。
RAIDへの2つの既存のアプローチ:ハードウェアベースのRAID、および、ソフトウェアベースのRAIDが存在する。
ハードウェアベースのRAIDは、ホストから独立してドライブを管理し、ホストに対して1つ以上の仮想ディスクを提示する。
一般的に、ハードウェアベースのRAIDは、ディスクドライブとホストとの間をインタフェースするRAIDコントローラカードを採用する。
ハードウェアベースのRAIDの利益は、ホストプロセッサのオーバーヘッドを最小化すること、ホストシステムメモリのオーバーヘッドを最小化すること、および、不揮発性のRAID書き込みキャッシュを提供することを含む。
しかしながら、ハードウェアベースのRAIDは、多くの消費者に対して望ましくない経費を提示する。
ソフトウェアベースのRAIDは、ホストにおいて様々なRAIDレベルを実行する。
ソフトウェアベースのRAIDは、安価であり、高い性能を提供することができる。
しかしながら、ソフトウェアベースのRAIDは、ホストプロセッサのオーバーヘッド、および、システムメモリのオーバーヘッドを必要とする。
さらに、ソフトウェアベースのRAIDは、揮発性のシステムメモリに依存するので、もし、書き込みトランザクションが完了前に中断される(例えば、停電により)と、データが失われ得る。
本発明は、RAIDの書き込みキャッシュサブアセンブリを提供する。
本発明の一形態は、プロセッサと、前記プロセッサに結合されたディスクインタフェースと、前記プロセッサの外部の通信バスと、前記通信バスに結合されたRAID書き込みキャッシュサブアセンブリであって、前記RAID書き込みキャッシュサブアセンブリは、不揮発性ストレージを有する、RAID書き込みキャッシュサブアセンブリとを含むコンピュータシステムを提供する。
本発明の例示の実施形態の詳細な説明のために、添付の図面に対する参照が作成される。
実施形態に基づく独立ディスク冗長アレイ(RAID)システムを例示する図である。 実施形態に基づくコンピュータシステムを例示する図である。 実施形態に基づくRAID書き込みキャッシュカードまたはサブアセンブリを例示する図である。 実施形態に基づくRAID書き込みキャッシュカードまたはサブアセンブリを例示する図である。 実施形態に基づく方法を示す図である。
[表記法および用語]
特定の用語は、以下の説明および請求項全体にわたって使用され、特定のシステムコンポーネントに言及する。
当業者が十分理解するように、コンピュータ会社は、コンポーネントを異なる名前により言及し得る。
この文書は、名前は異なるが機能は異ならないコンポーネント間を区別することを意図していない。
以下の議論および以下の請求項において、用語「〜を含んでいる(including)」および「〜を構成している(comprising)」は、変更可能な形式(open-ended fashion)で用いられ、「含んでいるが、・・・に限定されない」を意味すると解釈されるべきである。
また、用語「接続する(couple or couples)」は、間接的な接続、直接的な接続、光学的な接続または無線接続のいずれかを意味すること意図している。
したがって、第1のデバイスが第2のデバイスに結合する場合、その接続は、直接的な接続、他のデバイスおよび接続を介した間接的な接続、光学的な接続、または、無線接続を介し得る。
用語「システム」は、2つ以上のハードウェア、および/または、ソフトウェアコンポーネントの集まりに言及し、電子デバイス(複数可)またはそのサブシステムに言及するために用いられ得る。
さらに、用語「ソフトウェア」は、ソフトウェアを格納するために用いられるメディアにかかわらず、プロセッサ上で実行することができる任意の実行可能なコードを含む。
したがって、不揮発性メモリに格納され、「埋め込みファームウェア」と呼ばれることもあるコードは、ソフトウェアの定義に含まれる。
[詳細な説明]
以下の議論は、本発明の様々な実施形態を対象にする。
これらの実施形態の1つ以上が好適であり得るが、開示された実施形態が、請求項を含む開示の範囲を限定することとして解釈または使用されるべきではない。
また、当業者は、以下の説明が、広い適用性を有し、任意の実施形態の議論が、その実施形態の例示に過ぎないことを意味し、請求項を含む開示の範囲が、その実施形態に限定されることの暗示を意図していないということを理解するであろう。
開示の実施形態は、独立ディスク冗長アレイ(RAID)コントローラカードなしに、RAIDの機能性を提供する。
少なくともいくつかの実施形態において、ソフトウェアベースのRAIDは、周辺機器用通信バス(例えば、周辺コンポーネントインターコネクトエクスプレス(PCIe)バス)上の不揮発性のRAID書き込みキャッシュを提供することにより改良される。
図1は、様々な実施形態に基づくRAIDシステム100を例示する。
図のように、RAIDシステム100は、RAIDコントローラカード機能102を提供し、複数のディスク112A−112Nをサポートする。
RAIDコントローラカード機能102は、RAIDレベル処理ロジック104、不揮発性の書き込みキャッシュ106、ディスクインタフェース108およびメモリ間インタフェース110を含むが、これらに限定されない。
従来のRAIDコントローラカードを実行するよりも、実施形態は、機能102を、ここで記述されるようなコンピュータシステムの他のコンポーネントに分配する。
実施形態によれば、機能102は、例えば、ストライピングおよびデータミラーリングといった既知のRAIDオペレーションをサポートする。
ストライピングは、データを均一なサイズのブロックに分割し、そのブロックをディスク112A−112Nの少なくともいくつかに広げることを含む。
ディスク112A−112Nの読み込み/書き込みヘッドが同時にアクティブである場合、ストライピングは、データ転送の速度を向上させる。
一般的に、データモニタリングは、データ冗長性を提供する。
RAID−0,RAID−1,RAID−5およびRAID−6は、データ冗長性スキームの例である。
図2は、実施形態に基づくコンピュータシステム200を例示する。
図のように、コンピュータシステム200は、CPU202Aおよび202Bを含み、CPU202Aおよび202Bは、デュアルプロセッサインタフェースを介して接続される。
代替の実施形態では、追加の、または、より少ないCPUが実行される。
CPUの数にかかわらず、CPUの少なくとも1つ(例えば、CPU202B)は、RAIDレベル処理ロジック104を含み、前述のようなRAIDオペレーションをサポートする。
RAIDレベル処理ロジック104は、ハードウェア、ファームウェア、および/または、ソフトウェアを含む。
少なくともいくつかの実施形態において、RAIDレベル処理ロジック104は、ソフトウェアベースのRAID機能に対応する。
CPU202Bは、例えば、ダブルデータレート3(DDR−3)といったメモリモジュールプロトコルを介して、複数のデュアルインラインメモリモジュール(DIMMs)と通信する。
代替的には、他のメモリモジュールプロトコルが利用され得る。
図のように、CPU202Bはまた、周辺インタフェース208を含み、周辺インタフェース208は、周辺コンポーネントインターコネクトエクスプレス(PCIe)インタフェースであり得る。
このような場合、周辺インタフェース208と、コンピュータシステム200の様々な内部または外部のコンポーネントとの間の通信は、PCIeプロトコルに基づいている。
いくつかの実施形態において、周辺インタフェース208は、ディスクインタフェース108を有するサウスブリッジ220に結合する。
このような実施形態において、周辺インタフェース208と、サウスブリッジ220との間の通信は、PCIeプロトコルまたは他のプロトコルに基づき得る。
さらに、サウスブリッジ220と、ディスク112A−112Nとの間の通信は、シリアル接続SCSI(SAS)プロトコル、シリアルATA(SATA)プロトコル、ユニバーサルシリアルバス(USB)プロトコル、または、ディスクインタフェース108に実行される別の通信プロトコルに基づき得る。
周辺インタフェース208はまた、RAID書き込みキャッシュカードまたはサブアセンブリ230に結合される(すなわち、コンポーネントは、カードまたは別の位置に集められ(assembled)得る)。
図のように、RAID書き込みキャッシュカードまたはサブアセンブリ230は、不揮発性の書き込みキャッシュ106に結合されたプロトコル変換器ロジック232を含む。
プロトコル変換器ロジック232は、周辺インタフェース208から受信した通信バスデータを、不揮発性の書き込みキャッシュ106へ格納するためのメモリモジュールデータに変換する。
一例として、プロトコル変換器ロジック232は、PCIe Generation3データを、DDR−3のデータに変換し得る。そして、その逆も同様である。
実施形態によれば、不揮発性の書き込みキャッシュ106は、ダイナミックランダムアクセスメモリ(DRAM)、電源(例えば、バッテリー)を含み、いくつかの実施形態においては、フラッシュメモリを含む。
不揮発性の書き込みキャッシュ106により提供されているような書き込みキャッシングは、キャッシュへの書き込みがディスクへの書き込みよりも速い方式に基づいており、RAIDシステム(例えば、RAIDシステム100)のI/O性能を改善するコスト効率のよい方法である。
書き込みトランザクションにおいて、書き込みデータは、キャッシュに書き込まれ、書き込みトランザクションは、書き込みを発行したホストに「完了」と認められる。
その後、キャッシュされた書き込みは、ディスクに書き込まれるまたはフラッシュされ得る。
ホストが「完了」確認を受信するときに、データは、ディスクに永久的に格納されると考えられている。
もしI/Oコンポーネントが停電すれば、書き込みキャッシングは、誤ったデータがアプリケーションに送信されることを引き起こす可能性があり、電源が復旧するときに、データベースを破損する可能性がある。
このような問題を改善するまたは除去するために、不揮発性の書き込みキャッシュ106は、コンピュータシステム200がクラッシュまたは停電から回復するときに、進行中であった書き込みを完了するために利用することができる情報を格納する。
図3Aは、様々な実施形態に基づくRAID書き込みキャッシュカードまたはサブアセンブリ230Aを例示する。
図のように、RAID書き込みキャッシュカードまたはサブアセンブリ230Aは、プロトコル変換器ロジック232およびメモリ間インタフェース110を有する制御ロジック302(例えば、特定用途向け集積回路(ASIC)または他の半導体デバイス)を含む。
いくつかの実施形態において、制御ロジック302は、フィールドプログラマブルゲートアレイ(FPGA)に対応する。
また、メモリ間インタフェース110は、ダイレクトメモリアクセス(DMA)インタフェースに対応し得る。
いくつかの実施形態において、CPU202Bは、メモリ間インタフェース110の少なくともいくつかを含み、または、追加のまたは代替のメモリ間インタフェースを提供する。
RAID書き込みキャッシュカードまたはサブアセンブリ230Aはまた、DRAM304およびバッテリー306を含み、バッテリー306は、たとえコンピュータシステム200がクラッシュまたは停電するとしても、制御ロジック302および/またはDRAM304に電源を供給する。
DRAM304およびバッテリー308を合わせると、バッテリーでバックアップされた(battery-backed)DRAM、または、より一般的には、ある不揮発性のストレージを示す。
コンピュータシステム200が回復したときに、DRAM304に格納された情報は、コンピュータシステム200がクラッシュまたは停電したときに進行中であったRAID書き込みを終了させるために利用することができる。
図3Bは、実施形態に基づくRAID書き込みキャッシュカードおよびサブアセンブリ230Bを例示する。
図のように、RAID書き込みキャッシュカードまたはサブアセンブリ230Bは、プロトコル変換器ロジック232およびメモリ間インタフェース110(例えば、DMAインタフェース)を有する制御ロジック302を含む。
いくつかの実施形態において、CPU202Bは、メモリ間インタフェース110の少なくともいくつかを含み、または、追加のまたは代替のメモリ間インタフェース110を提供する。
RAID書き込みキャッシュカードまたはサブアセンブリ230Bはまた、DRAM304、フラッシュメモリ308および電源310(例えば、バッテリまたは蓄電器)を含む。
たとえコンピュータシステム200がクラッシュまたは停電するとしても、電源310は、制御ロジック302、DRAM304および/またはフラッシュメモリ308に対して電源を供給する。
DRAM304、フラッシュメモリ308および電源310を合わせると、不揮発性のストレージを示す。
いくつかの実施形態において、コンピュータシステム200のクラッシュまたは停電を検出すると、電源310は、メモリ間インタフェース110を介して、DRAM304からフラッシュメモリ308へデータを転送させることができる。
コンピュータシステム200が回復したときに、データは、フラッシュメモリ308から、もとのDRAM304へ転送され、DRAM304に格納された情報は、コンピュータシステム200がクラッシュまたは停電したときに進行中であった書き込みを終了させるために利用することができる。
図4は、実施形態に基づく方法400を例示する。
図のように、方法400は、ブロック402から開始し、通信バスプロトコルからメモリモジュールプロトコルに変換する(ブロック404)ことにより進む。
データは、不揮発性のRAID書き込みキャッシュに格納され(ブロック406)、方法400は、ブロック408で終了する。
少なくともいくつかの実施形態において、方法400はまた、不揮発性のRAID書き込みキャッシュに対するメモリ間オペレーションを実行することを含み得る。
一例として、方法400は、いつコンピューティングシステムがクラッシュまたは停電するのかを決定し、それに応じて、DRAMからフラッシュメモリへデータを転送することを含み得る。
DRAMおよびフラッシュメモリは、RAID書き込みキャッシュカードおよびサブアセンブリの一部であり得る。
上述の議論は、本発明の本質および様々な実施形態の例示のためである。
ひとたび上記開示が十分に理解されれば、多数のバリエーションおよび変更は、当業者にとって明らかになるであろう。
以下の請求項は、このようなすべてのバリエーションおよび変更を包含すると解釈されることを意図している。
100・・・RAIDシステム,
102・・・RAIDコントローラカード機能,
104・・・RAIDレベル処理ロジック,
106・・・不揮発性の書き込みキャッシュ,
108・・・ディスクインタフェース,
110・・・メモリ間インタフェース,
112・・・ディスク,
200・・・コンピュータシステム,
202・・・CPU,
208・・・周辺インタフェース,
210・・・DIMM,
220・・・サウスブリッジ,
230・・・RAID書き込みキャッシュカード,
232・・・プロトコル変換器ロジック,
302・・・制御ロジック,
304・・・DRAM,
306・・・バッテリー,
308・・・フラッシュメモリ,
310・・・電源

Claims (15)

  1. プロセッサと、
    前記プロセッサに結合されたディスクインタフェースと、
    前記プロセッサの外部の通信バスと、
    前記通信バスに結合された独立ディスク冗長アレイ(RAID)書き込みキャッシュサブアセンブリと
    を含み、
    前記RAID書き込みキャッシュサブアセンブリは、
    不揮発性メモリと、
    前記通信バスに結合され、この通信バスから受けたデータを、前記通信バスのプロトコルから、前記不揮発性メモリのプロトコルに変換して、前記不揮発性メモリに記憶するバッテリーバックアップされたロジックと
    を有し、
    前記RAID書き込みキャッシュアセンブリは、前記不揮発性メモリに記憶されたデータを、前記RAIDに格納する
    コンピュータシステム。
  2. 前記不揮発性メモリは、バッテリーでバックアップされたダイナミックランダムアクセスメモリ(DRAM)を含む
    請求項1に記載のコンピュータシステム。
  3. 前記不揮発性メモリは、
    ダイナミックランダムアクセスメモリ(DRAM)と、
    電源と、
    フラッシュメモリと
    を含む請求項1に記載のコンピュータシステム。
  4. 前記RAID書き込みキャッシュサブアセンブリは、前記コンピューティングシステムが停電するときに、データを前記DRAMからフラッシュメモリへ転送するためのバッテリーと、ダイレクトメモリアクセス(DMA)とを
    さらに含む請求項3に記載のコンピュータシステム。
  5. 前記プロセッサと関連するチップセットをさらに含み、
    前記チップセットは、前記RAIDと通信するためのロジックを含む
    請求項1に記載のコンピュータシステム。
  6. 前記プロセッサは、少なくともいくつかのRAIDコントローラオペレーションを実行する
    請求項1に記載のコンピュータシステム。
  7. 前記通信バスは、PCI−Expressバスに対応し、
    前記RAID書き込みキャッシュサブアセンブリは、
    PCI−Express互換カード
    を含む
    請求項1に記載のコンピュータシステム。
  8. 前記不揮発性メモリに記憶するためのプロトコルは、ダイナミックランダムアクセスメモリ(DRAM)のプロトコルである
    請求項1に記載のコンピュータシステム。
  9. 不揮発性の独立ディスク冗長アレイ(RAID)書き込みキャッシュと、
    通信バスに結合され、この通信バスから受けたデータを、前記通信バスのプロトコルから前記RAID書き込みキャッシュのプロトコルに変換して、前記RAID書き込みキャッシュに記憶するバッテリーバックアップされたロジックと
    を含み、
    前記RAID書き込みキャッシュに記憶されたデータを前記RAIDに格納する RAID書き込みキャッシュサブアセンブリ。
  10. 前記RAID書き込みキャッシュは、
    バッテリーでバックアップされたダイナミックランダムアクセスメモリ(DRAM)
    を含む
    請求項9に記載のRAID書き込みキャッシュサブアセンブリ。
  11. 前記RAID書き込みキャッシュは、
    フラッシュメモリと、
    電源と
    を含む請求項9に記載のRAID書き込みキャッシュサブアセンブリ。
  12. 前記バッテリーでバックアップされたRAID書き込みキャッシュに対するメモリ間オペレーションを実行するダイレクトメモリアクセス(DMA)インタフェースを
    さらに含む請求項10に記載のRAID書き込みキャッシュサブアセンブリ。
  13. データを通信バスプロトコルから不揮発性の独立ディスク冗長アレイ(RAID)書き込みキャッシュのプロトコルに変換することと、
    バッテリーバックアップされたロジックにより、前記メモリモジュールプロトコルに変換されたデータを、前記RAID書き込みキャッシュに記憶することと、
    前記RAID書き込みキャッシュに記憶されたデータを、前記RAIDに格納することと、
    を含むRAID書き込みキャッシュサブアセンブリのための方法。
  14. 前記RAID書き込みキャッシュに対するメモリ間オペレーションを実行すること
    をさらに含む請求項13に記載の方法。
  15. コンピューティングシステムがいつ停電するかを決定し、それに応じて、データをダイナミックランダムアクセスメモリ(DRAM)から前記RAID書き込みキャッシュに転送すること
    をさらに含む請求項13に記載の方法。
JP2011534471A 2008-10-30 2008-10-30 独立ディスク冗長アレイ(raid)の書き込みキャッシュサブアセンブリ Expired - Fee Related JP5426684B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/081700 WO2010050947A1 (en) 2008-10-30 2008-10-30 Redundant array of independent disks (raid) write cache sub-assembly

Publications (2)

Publication Number Publication Date
JP2012507784A JP2012507784A (ja) 2012-03-29
JP5426684B2 true JP5426684B2 (ja) 2014-02-26

Family

ID=42129104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011534471A Expired - Fee Related JP5426684B2 (ja) 2008-10-30 2008-10-30 独立ディスク冗長アレイ(raid)の書き込みキャッシュサブアセンブリ

Country Status (6)

Country Link
US (1) US20110225353A1 (ja)
EP (1) EP2350842B1 (ja)
JP (1) JP5426684B2 (ja)
KR (1) KR101475113B1 (ja)
CN (1) CN102203751A (ja)
WO (1) WO2010050947A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI401567B (zh) * 2010-05-07 2013-07-11 Promise Tecnnology Inc 資料儲存系統及其控制方法
US8484408B2 (en) * 2010-12-29 2013-07-09 International Business Machines Corporation Storage system cache with flash memory in a raid configuration that commits writes as full stripes
US20130111103A1 (en) * 2011-10-28 2013-05-02 International Business Corporation High-speed synchronous writes to persistent storage
US9552176B2 (en) 2013-04-12 2017-01-24 Microsoft Technology Licensing, Llc Block storage using a hybrid memory device
US9535828B1 (en) * 2013-04-29 2017-01-03 Amazon Technologies, Inc. Leveraging non-volatile memory for persisting data
JP6380322B2 (ja) * 2015-09-29 2018-08-29 コニカミノルタ株式会社 画像形成装置
CN106528001B (zh) * 2016-12-05 2019-08-23 北京航空航天大学 一种基于非易失性存储器和软件raid的缓存系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3188071B2 (ja) * 1993-10-14 2001-07-16 富士通株式会社 ディスクキャッシュ装置
EP0707267A3 (en) * 1994-10-12 1996-07-03 Ibm Redundant arrangement of disk drives with asymmetrical mirroring and data processing methods for asymmetrical mirroring
US5758187A (en) * 1996-03-15 1998-05-26 Adaptec, Inc. Method for enhancing performance of a RAID 1 read operation using a pair of I/O command blocks in a chain structure
JPH10154065A (ja) * 1996-11-26 1998-06-09 Fujitsu Ltd バス制御装置
US6098114A (en) * 1997-11-14 2000-08-01 3Ware Disk array system for processing and tracking the completion of I/O requests
US6446220B1 (en) * 1998-08-04 2002-09-03 International Business Machines Corporation Updating data and parity data with and without read caches
US6141747A (en) * 1998-09-22 2000-10-31 Advanced Micro Devices, Inc. System for store to load forwarding of individual bytes from separate store buffer entries to form a single load word
US6321298B1 (en) * 1999-01-25 2001-11-20 International Business Machines Corporation Full cache coherency across multiple raid controllers
JP2002099390A (ja) * 2000-09-22 2002-04-05 Toshiba Corp ディスク制御装置
US6687765B2 (en) * 2001-01-16 2004-02-03 International Business Machines Corporation System, method, and computer program for explicitly tunable I/O device controller
US7340555B2 (en) * 2001-09-28 2008-03-04 Dot Hill Systems Corporation RAID system for performing efficient mirrored posted-write operations
US7536495B2 (en) * 2001-09-28 2009-05-19 Dot Hill Systems Corporation Certified memory-to-memory data transfer between active-active raid controllers
US7315911B2 (en) * 2005-01-20 2008-01-01 Dot Hill Systems Corporation Method for efficient inter-processor communication in an active-active RAID system using PCI-express links
US7076606B2 (en) * 2002-09-20 2006-07-11 Quantum Corporation Accelerated RAID with rewind capability
JP4651913B2 (ja) * 2003-02-17 2011-03-16 株式会社日立製作所 記憶装置システム
US7493441B2 (en) * 2005-03-15 2009-02-17 Dot Hill Systems Corporation Mass storage controller with apparatus and method for extending battery backup time by selectively providing battery power to volatile memory banks not storing critical data
US7661002B2 (en) * 2005-08-04 2010-02-09 Dot Hill Systems Corporation Storage controller super capacitor dynamic voltage throttling
US20070101158A1 (en) * 2005-10-28 2007-05-03 Elliott Robert C Security region in a non-volatile memory
US7627714B2 (en) * 2006-08-22 2009-12-01 International Business Machines Corporation Apparatus, system, and method for preventing write starvation in a partitioned cache of a storage controller
JP4437489B2 (ja) * 2006-10-25 2010-03-24 株式会社日立製作所 揮発性キャッシュメモリと不揮発性メモリとを備えたストレージシステム
US20100199039A1 (en) * 2009-01-30 2010-08-05 International Business Machines Corporation Systems and Methods for Optimizing Host Reads and Cache Destages in a Raid System

Also Published As

Publication number Publication date
US20110225353A1 (en) 2011-09-15
EP2350842A4 (en) 2013-01-23
CN102203751A (zh) 2011-09-28
EP2350842A1 (en) 2011-08-03
JP2012507784A (ja) 2012-03-29
KR20110080155A (ko) 2011-07-12
EP2350842B1 (en) 2015-02-25
KR101475113B1 (ko) 2014-12-22
WO2010050947A1 (en) 2010-05-06

Similar Documents

Publication Publication Date Title
CN111177040B (zh) 共享主机存储器的存储装置及其操作方法和存储系统
KR101861924B1 (ko) 보호된 데이터로부터 분리된 패리티 데이터 저장
US7984325B2 (en) Storage control device, data recovery device, and storage system
EP2732373B1 (en) Method and apparatus for flexible raid in ssd
KR102102728B1 (ko) 스케일러블 스토리지 보호
JP5426684B2 (ja) 独立ディスク冗長アレイ(raid)の書き込みキャッシュサブアセンブリ
US8621142B1 (en) Method and apparatus for achieving consistent read latency from an array of solid-state storage devices
US6223301B1 (en) Fault tolerant memory
US8074017B2 (en) On-disk caching for raid systems
US7590884B2 (en) Storage system, storage control device, and storage control method detecting read error response and performing retry read access to determine whether response includes an error or is valid
US20150143027A1 (en) Solid state drive with raid functions
JP2007513435A (ja) データ組織化を管理するための方法、システム、及びプログラム
US20180089088A1 (en) Apparatus and method for persisting blocks of data and metadata in a non-volatile memory (nvm) cache
US11288183B2 (en) Operating method of memory system and host recovering data with write error
JP6649989B2 (ja) ストレージシステム及びその制御方法
US20180074709A1 (en) Stream management for storage devices
JP2010020648A (ja) 記憶装置
US7143234B2 (en) Bios storage array
US20150143024A1 (en) Redundant array of independent modules
US20230100149A1 (en) Recovery From HMB Loss
US7886310B2 (en) RAID control method and core logic device having RAID control function
JP2014182812A (ja) データ記憶装置
US20080040629A1 (en) Computer system having raid control function and raid control method
CN115840661A (zh) 从hmb丢失恢复的无dram ssd
CN118382893A (zh) 存储系统和存储系统的操作方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130417

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130830

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130906

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131128

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

LAPS Cancellation because of no payment of annual fees
R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350