[go: up one dir, main page]

JP2010511963A - 複数のストレージデバイスでのデータ冗長性 - Google Patents

複数のストレージデバイスでのデータ冗長性 Download PDF

Info

Publication number
JP2010511963A
JP2010511963A JP2009540232A JP2009540232A JP2010511963A JP 2010511963 A JP2010511963 A JP 2010511963A JP 2009540232 A JP2009540232 A JP 2009540232A JP 2009540232 A JP2009540232 A JP 2009540232A JP 2010511963 A JP2010511963 A JP 2010511963A
Authority
JP
Japan
Prior art keywords
data redundancy
redundancy scheme
storage
storage device
raid
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.)
Pending
Application number
JP2009540232A
Other languages
English (en)
Other versions
JP2010511963A5 (ja
Inventor
ラドスラフ ダーニラク,
Original Assignee
サンドフォース インコーポレイテッド
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
Priority claimed from US11/942,623 external-priority patent/US8090980B2/en
Priority claimed from US11/942,629 external-priority patent/US7904672B2/en
Application filed by サンドフォース インコーポレイテッド filed Critical サンドフォース インコーポレイテッド
Publication of JP2010511963A publication Critical patent/JP2010511963A/ja
Publication of JP2010511963A5 publication Critical patent/JP2010511963A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)

Abstract

複数のストレージデバイス内でデータ冗長性を提供するシステム、方法、及びコンピュータプログラム製品を提供する。動作中に、ストレージコマンドが、第1データ冗長性方式に従ってデータ冗長性を提供するために受け取られる。さらに、ストレージコマンドは、第2データ冗長性方式に従ってデータ冗長性を提供するために変換される。さらに、変換されたストレージコマンドは、複数のストレージデバイス内でデータ冗長性を提供するために出力される。
【選択図】 図1

Description

[0001]本発明は、データストレージに関し、より具体的には、ストレージデバイス内のデータ冗長性に関する。
背景
[0002]ストレージシステムは、現代のエンタープライズコンピューティングシステムの性能に関する最も制限的な態様の1つである。ハードドライブに基づくストレージの性能は、シーク時間と1/2回転の時間とによって決定される。性能は、シーク時間を減らし、回転待ち時間を減らすことによって高められる。しかし、ドライブが回転できる速さには限度がある。最高速の現代のドライブは、15000rpmに達しようとしている。
[0003]図1に、従来技術によるシステム100を示す。システム100では、少なくとも1つのコンピュータ102〜108が、ホストコントローラ110、112に結合される。ホストコントローラ110、112は、複数のディスク114〜120に結合される。
[0004]しばしば、システム100は、redundant array of independent disks(RAID)−1として構成され、ディスク114〜116のミラーリングされた内容をディスク118〜120に格納する。ディスク114〜116は、ディスク118〜120によってミラーリングされると言われる。
[0005]コンピュータシステムの高められた信頼性は、ディスク114〜116、ホストコントローラ110、及びそれらの間の接続を二重化することによって達成される。したがって、信頼できるコンピュータシステムは、少なくとも、ディスク114〜120、RAIDコントローラ110、112、コンピュータ102〜108、並びにそれらの間の接続の一つに障害があるときでも動作することができる。しかし、ストレージシステム性能は、それでも、システム100を使用して不適切である場合がある。さらに、そのようなシステムの性能を高めることは、現在、コストがかかり、しばしば、実現可能ではない。
[0006]したがって、従来技術に関連する上記及び/又は他の問題に対処する必要がある。
概要
[0007]複数のストレージデバイス内でデータ冗長性を提供するシステム、方法、及びコンピュータプログラム製品を提供する。動作中に、ストレージコマンドが、第1データ冗長性方式に従ってデータ冗長性を提供するために受け取られる。さらに、ストレージコマンドは、第2データ冗長性方式に従ってデータ冗長性を提供するために変換される。さらに、変換されたストレージコマンドは、複数のストレージデバイス内でデータ冗長性を提供するために出力される。
従来技術によるシステムを示す図である。 一実施形態による、複数のストレージデバイス内でデータ冗長性を提供するシステムを示す図である。 一実施形態による、複数のストレージデバイス内でデータ冗長性を提供するストレージシステムを示す図である。 一実施形態による、ディスクアセンブリを示す図である。 別の実施形態による、ディスクアセンブリを示す図である。 一実施形態による、冗長ディスクコントローラを動作させる方法を示す図である。 別の実施形態による、冗長ディスクコントローラを動作させる方法を示す図である。 別の実施形態による、冗長ディスクコントローラを動作させるシステムを示す図である。 さまざまな前の実施形態のさまざまなアーキテクチャ及び/又は機能性を実施できる例示的システムを示す図である。
詳細な説明
[0017]図2Aに、一実施形態による、複数のストレージデバイス内でデータ冗長性を提供するシステム280を示す。図示されているように、システム280は、少なくとも1つのコンピュータ285〜288を含む。コンピュータ285〜288は、少なくとも1つのコントローラ290〜291と通信する。さらに図示されているように、コントローラ290〜291は、ストレージシステム292と通信し、ストレージシステム292は、複数のディスクコントローラ293〜294及び複数のストレージデバイス296〜299を含む。コントローラ290〜291が、別々に図示されているが、別の実施形態では、そのようなコントローラ290〜291を1つのユニットにしてもよいことに留意されたい。さらに、複数のディスクコントローラ293〜294は、各種実施形態において、1つのユニット又は独立した複数のユニットにすることができる。
[0018]動作中に、ストレージコマンドが、第1データ冗長性方式に従ってデータ冗長性を提供するために受け取られる。さらに、そのストレージコマンドは、第2データ冗長性方式に従ってデータ冗長性を提供するために変換される。さらに、変換されたストレージコマンドは、複数のストレージデバイス296〜299内でデータ冗長性を提供するために出力される。
[0019]この説明の文脈では、ストレージコマンドは、データを格納するかデータのストレージを容易にする任意のコマンド、命令、又はデータを指す。さらに、この説明の文脈では、データ冗長性方式は、システム内で冗長データ又はフォールトトレランスを提供する任意のタイプの方式を指す。たとえば、各種実施形態で、データ冗長性方式は、redundant array of independent disks(RAID) 0データ冗長性方式、RAID 1データ冗長性方式、RAID 10データ冗長性方式、RAID 3データ冗長性方式、RAID 4データ冗長性方式、RAID 5データ冗長性方式、RAID 50データ冗長性方式、RAID 6データ冗長性方式、RAID 60データ冗長性方式、スクエアパリティ(square parity)データ冗長性スキーマ、任意の非標準RAIDデータ冗長性方式、任意のネストされたRAIDデータ冗長性方式、及び/又は上の定義を満足する任意の他のデータ冗長性方式を含むことができるが、これらに限定はされない。
[0020]一実施形態で、第1データ冗長性方式は、RAID 1データ冗長性方式を含むことができる。別の実施形態で、第2データ冗長性方式は、RAID 5データ冗長性方式を含むことができる。別の実施形態で、第2データ冗長性方式は、RAID 6データ冗長性方式を含むことができる。
[0021]さらに、この説明の文脈で、複数のストレージデバイス296〜299は、任意のタイプのストレージデバイスを表すことができる。たとえば、さまざまな実施形態で、ストレージデバイス296〜299は、機械的ストレージデバイス(たとえば、ディスクドライブなど)、ソリッドステートストレージデバイス(たとえば、ダイナミックランダムアクセスメモリ(DRAM)、フラッシュメモリなど)、及び/又は任意の他のストレージデバイスを含むことができるが、これらに限定はされない。ストレージデバイス296〜299がフラッシュメモリを含む場合に、そのフラッシュメモリは、単一レベルセル(SLC)デバイス、マルチレベルセル(MLC)デバイス、NORフラッシュメモリ、NANDフラッシュメモリ、MLC NANDフラッシュメモリ、SLC NANDフラッシュメモリなどを含むことができるが、これらに限定はされない。
[0022]ここで、ユーザの望みに応じて前述のフレームワークを実施してもしなくてもよいさまざまなオプションのアーキテクチャ及び特徴に関し、より例示的な情報を示す。次の情報が、例示のために示され、いかなる形でも限定的と解釈されてはならないことに強く留意されたい。次の特徴のいずれをも、説明される他の特徴の排除を伴って又は伴わずにオプションで組み込むことができる。
[0023]図2Bに、一実施形態による、複数のストレージデバイス内でデータ冗長性を提供するストレージサブシステム250を示す。オプションとして、ストレージサブシステム250を、図2Aの詳細の文脈で見ることができる。しかし、もちろん、ストレージサブシステム250を、任意の所望の環境の文脈で実施することができる。前述の定義を、この説明中にあてはめることができることにも留意されたい。
[0024]図示されているように、ストレージサブシステム250は、複数の主ストレージデバイス231〜232及び冗長情報を含むために記憶容量を増やすのに利用される少なくとも1つの追加ストレージデバイス233〜234を含む。ストレージサブシステム250のデータストレージの量は、複数の主ストレージデバイス231〜232のストレージ容量の合計と考えてよい。オプションとして、ストレージ容量を、追加ストレージデバイス233〜234を介して拡張することもできる。もちろん、一実施形態で、追加ストレージデバイス233〜234を、格納されたデータから計算される冗長情報の格納だけに使用することができる。
[0025]さらに図示されているように、第1ディスクコントローラ210は、少なくとも1つのポート201を含む。動作中に、ポート201のうちの少なくとも1つが、ストレージサブシステム250の第1ポートとして働くことができる。さらに、ポート201のうちの少なくとも1つが、ディスクコントローラバス203、電源接続275、及び第1ディスクコントローラ210をストレージデバイス231〜234の対応するバス241〜244に結合する内部接続211〜214への第1ディスクコントローラ210のポートとして働くことができる。
[0026]バス203は、第1ディスクコントローラ210を第2ディスクコントローラ220に結合する。動作中に、バス203を使用して、第2ディスクコントローラ220を用いて第1ディスクコントローラ210の動作を監視することができる。第2ディスクコントローラ220が、第1ディスクコントローラ210の障害を検出する時に、ディスクコントローラ220は、ディスクコントローラバス203を介して第1ディスクコントローラ210に切断要求を発行することによって、内部接続211〜214を対応するバス241〜244から切断することができる。
[0027]第1ディスクコントローラ210を第2ディスクコントローラ220に結合するバス203を、第1ディスクコントローラ210を使用して第2ディスクコントローラ220の動作を監視するのに使用することもできる。第1ディスクコントローラ210が、第2ディスクコントローラ220の障害を検出する時に、第1ディスクコントローラ210は、ディスクコントローラバス203を介して第2ディスクコントローラ220に切断要求を発行することによって、内部接続221〜224を対応するバス241〜244から切断することができる。
[0028]一実施形態で、第1ディスクコントローラ210は、内部不正動作又は第1ディスクコントローラ210に関連する不正動作を検出することができる。この場合に、第1ディスクコントローラ210は、内部不正動作が検出される時に接続211〜214を対応するバス241〜244から切断することができる。同様に、第2ディスクコントローラ220は、内部不正動作又は第2ディスクコントローラ220に関連する不正動作を検出することができる。この場合に、第2ディスクコントローラ220は、内部不正動作が検出される時に接続221〜224を対応するバス241〜244から切断することができる。
[0029]さらに、一実施形態で、第1ディスクコントローラ210及び第2ディスクコントローラ220は、ディスクコントローラバス203の障害を検出することができる。この場合に、第2ディスクコントローラ220は、接続221〜224を対応するバス241〜244から切断することができ、第1ディスクコントローラ210は、アクティブのままであってもよい。別の実施形態で、第1ディスクコントローラ210は、接続211〜214を対応するバス241〜244から切断することができ、第2ディスクコントローラ220は、アクティブのままであってもよい。さらに別の実施形態では、アクティブのままになるディスクコントローラが、インアクティブになるコントローラの接続を切断することができる。
[0030]バス211〜214及び221〜224の切断を、三状態回路、マルチプレクサ、又はバス211〜214及び221〜224を切断する任意の他の回路を介して実施できることに留意されたい。たとえば、一実施形態で、ディスクコントローラ210又はディスクコントローラ220に関連する三状態バスドライバをハイインピーダンス状態にすることによって、切断を達成することができる。別の実施形態で、ストレージデバイス231〜234の入力のマルチプレクサを制御することによって、切断を達成することができる。
[0031]さらに図示されているように、第2ディスクコントローラ220は、少なくとも1つのポート202を含む。動作中に、ポート202のうちの少なくとも1つが、ストレージサブシステム250の第2ポートとして働くことができる。さらに、ポート202のうちの少なくとも1つが、ディスクコントローラバス203、電源接続276、及び第2ディスクコントローラ220をストレージデバイス231〜234の対応するバス241〜244に結合する内部接続221〜224への第2ディスクコントローラ220のポートとして働くことができる。
[0032]単一の冗長ストレージデバイス233が、追加の冗長ストレージデバイス234なしで設けられる場合に、ストレージサブシステム250は、ストレージデバイス231〜233のいずれかの単一の障害の存在の下でデータの消失なしで動作することができる。一実施形態で、データ及び冗長情報の編成は、RAID 5に従うものとしてよい。別の実施形態で、データ及び冗長情報の編成は、RAID 6、RAID 10、RAID 50、RAID 60、スクエアパリティ冗長性スキーマなどに従うものとしてよい。
[0033]2つの冗長ストレージデバイス233、234が設けられる場合に、ストレージサブシステム250は、ストレージデバイス231〜234のいずれか2つの障害の存在の下でデータの消失なしで動作し続けることができる。動作時に、ポート201、202は、2つの従来の独立のミラーリングされたディスクとして、ストレージサブシステム250内に格納されたデータを提示することができる。この場合に、そのような従来の独立のミラーリングされたディスクは、RAID 1、RAID 10、RAID 50、RAID 60、スクエアパリティ冗長性スキーマなどに見えてもよい。
[0034]ストレージサブシステム250への電力を、電気接続252を介して第1電源ユニット253に結合された第1電力コネクタ251を通じて供給することができる。ストレージサブシステム250への電力を、接続262を介して第2電源ユニット263に結合された第2電力コネクタ261を通じて供給することもできる。オプションとして、第1電源253の出力及び第2電源263の出力を加え合わせて、電力分配網270を介して、ディスクコントローラ210、220とストレージデバイス231〜234とに分配することができる。ストレージデバイス231〜234は、対応する接続271〜274を介して電力分配網270に結合される。ディスクコントローラ210、220は、電源接続275、276を介して電力分配網270に結合される。
[0035]電力コネクタ251への電力に障害が発生する場合に、ストレージサブシステム250への電力を、電力コネクタ261を通じて供給することができる。同様に、電力コネクタ261への電力に障害が発生する場合に、ストレージサブシステム250への電力を、電力コネクタ251を通じて供給することができる。接続252に障害が発生する場合に、ストレージサブシステム250への電力を、接続262を通じて供給することができる。接続262に障害が発生する場合に、ストレージサブシステム250への電力を、接続252を通じて供給することができる。
[0036]電源253に障害が発生する場合に、ストレージサブシステム250への電力を、電源263によって供給することができる。電源263に障害が発生する場合に、ストレージサブシステム250への電力を、電源253によって供給することができる。同様に、接続254に障害が発生する時に、ストレージサブシステム250への電力を、接続264を通じて供給することができる。同様に、接続264に障害が発生する時に、ストレージサブシステム250への電力を、接続254を通じて供給することができる。したがって、ストレージサブシステム250は、ストレージサブシステム250を動作不能にすることなく、さまざまなコンポーネントの障害を許容する。
[0037]一実施形態で、ディスクコントローラ210及び/又はディスクコントローラ220は、電源253、263への電力が切断されたことを検出する回路を含んでよい。さらに、そのような回路が、データの消失が発生しないように、ディスクコントローラ210、220の状態をストレージデバイス231〜234に保存するための電力を供給することができる。たとえば、電源253及び/又は電源263の切断を検出することができる。
[0038]この場合に、電力を、電源253、263の切断の検出に応答して、ストレージデバイス231〜234に供給することができる。電源253、263は、電源253、263の両方への電力が切断された後に、ストレージデバイス231〜234へのディスクコントローラ210、220の状態の書込みを完了できるようにするのに十分な時間にわたってストレージサブシステム250に電力を供給することができる。したがって、少なくとも電源253、263の切断の結果としてデータ消失が発生しない時点まで、電力をストレージデバイス231〜234に供給することができる。さまざまな実施形態で、電源253、263は、バッテリ、キャパシタ、並びに/又は電源253、263への電力が切断された時にストレージサブシステム250に電力を供給する任意の他のコンポーネントを含むことができる。
[0039]ストレージサブシステム250が、図2Bに示された任意の要素のどのような単一の障害の存在の下であっても、データの消失なしに動作し続けることができることに留意されたい。また、さまざまな実施形態で、ストレージデバイス231〜234を、機械的ストレージデバイス、非機械的ストレージデバイス、揮発性ストレージ、又は不揮発性ストレージとすることができることに留意されたい。さらに、さまざまな実施形態で、ストレージデバイス231〜234は、DRAM又はフラッシュストレージ(たとえば、SLCデバイス、MLCデバイス、NORゲートフラッシュデバイス、NANDゲートフラッシュストレージデバイスなど)を含むことができるが、これらに限定はされない。
[0040]さらに、一実施形態で、ディスクコントローラ210、220を、2つの独立のチップとして実施することができる。別の実施形態で、ディスクコントローラ210、220を、1つのチップ上またダイ上で実施することができる。そのような実施態様を、たとえば、パッケージング時の影響に基づいて決定してよい。
[0041]図3に、一実施形態によるディスクアセンブリ300を示す。オプションとして、ディスクアセンブリ300を、図1〜2の機能性及びアーキテクチャの文脈で実施することができる。しかし、もちろん、ディスクアセンブリ300を、任意の所望の環境の文脈で実施することができる。前述の定義を、この説明中にあてはめることができることにも留意されたい。
[0042]図示されているように、ディスクアセンブリ300は、ディスクドライブ(図示せず)を含むプリント回路基板302、SATA(Serial Advanced Technology Attachment)コネクタ304の一部としてプライマリポートを有する電源コネクタ、及び第2SATAコネクタ306の一部としてセカンダリポートを有する電源コネクタを含んでいる。一実施形態で、ディスクアセンブリ300は、SAS(Serial Attached SCSI)コネクタを含んでもよい。たとえば、ディスクアセンブリ300は、ディスクドライブ(図示せず)を含むプリント回路基板302、SASコネクタ304の一部としてプライマリポートを有する電源コネクタ、及び第2SASコネクタ306の一部としてセカンダリポートを有する電源コネクタを含んでよい。
[0043]オプションとして、コネクタ304、306は、ディスクアセンブリ300を、あるデータ冗長性構成として公開することができる。たとえば、SATAインターフェースは、RAID 1モードで構成されたディスクの対としてディスクアセンブリ300を公開することができる。別の実施形態で、SASインターフェースは、RAID 1モードで構成されたディスクの対としてディスクアセンブリ300を公開することができる。さらに別の実施形態で、SATA及びSASインターフェースは、RAID 0モードで構成された複数のディスクとしてディスクアセンブリ300を公開することができる。
[0044]図4に、別の実施形態によるディスクアセンブリ400を示す。オプションとして、ディスクアセンブリ400を、図1〜3の機能性及びアーキテクチャの文脈で実施することができる。しかし、もちろん、ディスクアセンブリ400を、任意の所望の環境の文脈で実施することができる。前述の定義を、この説明中にあてはまめることができることにも留意されたい。
[0045]図示されているように、ディスクアセンブリ400は、複数のディスクアセンブリ410、420を含む。オプションとして、ディスクアセンブリ410、420は、図3からのディスクアセンブリ300を含むことができる。この場合に、各ディスクアセンブリ410、420は、プリント回路基板及びコネクタ430を含むことができる。
[0046]オプションで、各ディスクアセンブリ410、420を、電気接続401を介して相互接続することができる。この場合に、電気接続401は、たとえば図2Bのディスクコントローラバス203などのディスクコントローラバスを表すことができる。動作中に、ディスクアセンブリ400は、複数のディスク(たとえば、ディスクアセンブリ410及びディスクアセンブリ420)が従来のストレージ又はプライマリストレージ(たとえば、ディスクドライブなど)のスペースを占めることを可能にすることによって、システムのストレージ性能を高めることができる。
[0047]図5に、一実施形態による、冗長ディスクコントローラを動作させる方法500を示す。オプションとして、この方法500を、図1〜4の機能性及びアーキテクチャの文脈で実施することができる。しかし、もちろん、方法500を、任意の所望の環境で実行することができる。前述の定義を、この説明中にあてはめることができることにも留意されたい。
[0048]図示されているように、ストレージシステム(たとえば、ディスクアセンブリなど)の電源を入れる。工程510を参照されたい。ストレージシステムのディスクコントローラを監視する。工程520を参照されたい。オプションとして、ディスクコントローラを別のディスクコントローラによって監視することができる。そのような監視には、2つのディスクコントローラの間のバス(たとえば、図2Bのディスクコントローラバス203など)を介するディスクコントローラの監視、及び/又はストレージシステムのストレージデバイスに対応するバス(たとえば、ストレージデバイス231〜234の対応するバス241〜244など)上の動きの監視を含めることができる。
[0049]ストレージシステムは、監視されるディスクコントローラに障害が発生したと判定されるまで、ディスクコントローラを監視して動作し続ける。工程530を参照されたい。監視されているディスクコントローラに障害が発生する場合に、その監視されているディスクコントローラを切断する。工程540を参照されたい。
[0050]一実施形態で、ディスクコントローラの切断を、2つのディスクコントローラの間のバス(たとえば、図2Bのディスクコントローラバス203など)を介して切断コマンドを発行することによって実施することができる。この場合に、切断コマンドは、監視されるディスクコントローラをストレージデバイスにリンクするバス(たとえば、図2Bの接続211〜214又は接続221〜224)を切断することを含むことができる。一実施形態で、複数のディスクコントローラを、他のディスクコントローラによって監視してよい。この場合に、複数のディスクコントローラの各ディスクコントローラを、監視されるディスクコントローラと考えることができる。
[0051]図6に、別の実施形態による、冗長ディスクコントローラを動作させる方法600を示す。オプションとして、この方法600を、図1〜5の機能性及びアーキテクチャの文脈で実施することができる。しかし、もちろん、方法600を、任意の所望の環境で実行することができる。前述の定義を、この説明中にあてはめることができることにも留意されたい。
[0052]図示されているように、ストレージシステム(たとえば、ディスクアセンブリなど)の電源を入れる。工程610を参照されたい。ストレージシステムの少なくとも2つのディスクコントローラの間のリンクを監視する。工程620を参照されたい。一実施形態で、ディスクコントローラの間のリンクは、図2Bのディスクコントローラバス203を含むことができる。さらに、ディスクコントローラの間のリンクを、ディスクコントローラのうちの少なくとも1つ(たとえば、図2Bの第1のディスクコントローラ210及び第2のディスクコントローラ220など)によって監視することができる。
[0053]リンクに障害が発生したと判定されるまで、ストレージシステムは、リンクを監視して動作し続ける。工程630を参照されたい。リンクに障害が発生する場合に、1つのディスクコントローラを切断する。工程640を参照されたい。
[0054]一実施形態で、切断は、ディスクコントローラをストレージデバイスにリンクするバス(たとえば、図2Bの接続211〜214又は接続221〜224など)を切断することを含むことができる。この場合に、切断されるコントローラに関連するポートによって受け取られるコマンドは、処理されないものとすることができる。一例として、2つのディスクコントローラのうちの第2のディスクコントローラは、第1のディスクコントローラ及び第2のディスクコントローラの間のリンクの障害時に切断され得る。この場合に、第1コントローラは、動作し続けることができ、第2ディスクコントローラのポートからのコマンドは、処理されなくてもよい。
[0055]図7に、別の実施形態による、冗長ディスクコントローラを動作させるシステム700を示す。オプションとして、システム700を、図1〜6の機能性及びアーキテクチャの文脈で実施することができる。しかし、もちろん、システム700を、任意の所望の環境で実施することができる。前述の定義に、この説明中にあてはめることができることにも留意されたい。
[0056]図示されているように、少なくとも1つのコンピュータ702〜706が設けられる。コンピュータ702〜706は、複数のRAIDコントローラ712〜714に結合される。コントローラ712〜714は、複数のストレージデバイス716〜722と通信する。そのような通信には、ストレージデバイス716〜722に関連するポートを利用することを含めることができる。
[0057]システム700の信頼性は、ドライブ内冗長性を有するストレージデバイス716〜722(たとえば、図2Bのストレージシステム250)を使用することによって達成することができる。さらに、すべての接続(たとえば、バスなど)を二重化して、システム700の信頼性を保証することができる。オプションとして、ストレージデバイス716〜722が、それぞれ、デバイスあたり2つのポートを含み、単一ポートを有するストレージデバイスの使用と比較して2倍の帯域幅を提供することができる。さらに、各ストレージデバイス716〜722は、RAID 5、RAID 6、RAID 10、RAID 50、RAID 60、スクエアパリティ冗長性スキーマなどの冗長性システムを利用することによって、2台のディスクをシミュレートすることができる。
[0058]オプションとして、書込減少論理708〜710を利用して、ストレージデバイス716〜722への書込みの回数を減らすことができる。この場合に、データ冗長性を提供するためのストレージコマンドの変換は、減少の後に実行することができる。たとえば、ストレージコマンドを、コントローラ712〜714の第1データ冗長性方式(たとえば、RAID 5、RAID 6、RAID 10、RAID 50、RAID 60、スクエアパリティ冗長性スキーマなど)に従ってデータ冗長性を提供するために受け取ることができる。
[0059]次に、書込減少論理708〜710を利用して、ストレージデバイス716〜722への書込みの回数を減らすことができる。次に、ストレージコマンドを、ストレージデバイス716〜722に関連する第2データ冗長性方式に従ってデータ冗長性を提供するために変換する(たとえば、回路によって)ことができる。一実施形態で、第2データ冗長性方式は、第1データ冗長性方式と同一(たとえば、RAID 5、RAID 6、RAID 10、RAID 50、RAID 60、スクエアパリティ冗長性スキーマなど)とすることができる。別の実施形態で、第2データ冗長性方式は、第1データ冗長性方式と異なるもの(たとえば、RAID 1、RAID 6、RAID 10、RAID 50、RAID 60、スクエアパリティ冗長性スキーマなど)とすることができる。
[0060]一実施形態で、書込減少論理708〜710を利用して、第1データ冗長性方式に従ってデータ冗長性を提供するために受け取られたストレージコマンドを、第2データ冗長性方式と互換のフォーマットにフォーマットすることができる。厳密にはオプションとして、RAIDコントローラ712〜714は、ストレージデバイス716〜722の文脈で説明したドライブ内冗長性を有するシステムを含むことができる。この形で、ストレージデバイス716〜722への書込みの回数を減らすことができる。したがって、ストレージコマンドを、書込みの回数を減らした後に、ストレージデバイス716〜722に関連する第2データ冗長性方式に従ってデータ冗長性を提供するために変換することができる。この形で、データのランダム化を回避することができる。
[0061]図8に、前述のさまざまな実施形態のさまざまなアーキテクチャ及び/又は機能性を実施できる例示的システム800を示す。図示されているように、システム800は、通信バス802に接続された少なくとも1つの主処理装置801を含んで提供される。システム800は、メインメモリ804をも含む。制御論理(ソフトウェア)及びデータが、メインメモリ804に格納され、メインメモリ804は、ランダムアクセスメモリ(RAM)の形をとることができる。
[0062]システム800は、グラフィックスプロセッサ806及びディスプレイ808すなわちコンピュータモニタをも含む。一実施形態で、グラフィックスプロセッサ806は、複数のシェーダモジュール、ラスタライゼーションモジュールなどを含むことができる。前述のモジュールのそれぞれを、グラフィックス処理ユニット(GPU)を形成するために単一の半導体プラットフォーム上に配置することさえできる。
[0063]この説明では、単一の半導体プラットフォームが、ただ一つの単位の半導体ベースの集積回路又はチップを指すことができる。その意味での単一の半導体プラットフォームが、オンチップ動作をシミュレートする高められた接続性を有するマルチチップモジュールをも指すことができ、従来の中央処理装置(CPU)及びバス実施態様の利用に対する実質的な改善を行うことができることに留意されたい。もちろん、さまざまなモジュールを、ユーザの望みに従って、別々に又は半導体プラットフォームのさまざまな組合せで配置することもできる。
[0064]システム800は、二次ストレージ810をも含むことができる。二次ストレージ810は、たとえば、ハードディスクドライブ及び/又は、フロッピディスクドライブ、磁気テープドライブ、コンパクトディスクドライブなどを表すリムーバブルストレージドライブを含む。リムーバブルストレージドライブは、周知の形でリムーバブルストレージユニットから読み取り、及び/又はこれに書き込む。
[0065]コンピュータプログラム、又はコンピュータ制御論理アルゴリズムを、メインメモリ804及び/又は二次ストレージ810に格納することができる。そのようなコンピュータプログラムは、実行された時に、システム800がさまざまな機能を実行することを可能にする。メモリ804、ストレージ810、及び/又は任意の他のストレージは、コンピュータ読み取り可能な媒体のあり得る例である。
[0066]一実施形態で、さまざまな前の図面のアーキテクチャ及び/又は機能性を、主処理装置801、グラフィックスプロセッサ806、二次ストレージ810、主処理装置801とグラフィックスプロセッサ806との両方の機能の少なくとも一部が可能な集積回路(図示せず)、チップセット(すなわち、関連する機能を実行するユニットとして働くように設計され、そのようなユニットとして販売される集積回路のグループなど)、並びに/或いはさらに言えば任意の他の集積回路の文脈で実施することができる。
[0067]さらに、前述のさまざまな図面のアーキテクチャ及び/又は機能性を、一般的コンピュータシステム、回路基板システム、エンターテイメント目的専用のゲーム機システム、特定用途向けシステム、及び/又は任意の他の所望のシステムの文脈で実施することができる。たとえば、システム800は、デスクトップコンピュータ、ラップトップコンピュータ、及び/又は任意の他のタイプの論理の形をとることができる。さらに、システム800は、携帯情報端末(PDA)デバイス、携帯電話機デバイス、テレビジョンなどを含むがこれらに限定はされないさまざまな他のデバイスの形をとることができる。
[0068]さらに、図示されてはいないが、システム800を、通信のためにネットワーク(たとえば、遠隔通信ネットワーク、ローカルエリアネットワーク(LAN)、無線ネットワーク、インターネットなどの広域ネットワーク(WAN)、ピアツーピアネットワーク、ケーブルネットワークなど)に結合することができる。
[0069]さまざまな実施形態を上で説明したが、これらが、限定ではなく例としてのみ提供されたことを理解されたい。したがって、好ましい実施形態の広がり及び範囲は、上で説明された例示的実施形態のいずれかによって限定されるのではなく、添付の特許請求の範囲及びその同等物に従ってのみ定義されなければならない。

Claims (44)

  1. 第1データ冗長性方式に従ってデータ冗長性を提供するためにストレージコマンドを受け取る工程と、
    第2データ冗長性方式に従って前記データ冗長性を提供するために前記ストレージコマンドを変換する工程と、
    複数のストレージデバイス内で前記データ冗長性を提供するために前記変換されたストレージコマンドを出力する工程と
    を含む方法。
  2. 前記第1データ冗長性方式が、redundant array of independent disks(RAID)−1データ冗長性方式を含む、請求項1に記載の方法。
  3. 前記第2データ冗長性方式が、redundant array of independent disks(RAID)−5データ冗長性方式を含む、請求項1に記載の方法。
  4. 前記第2データ冗長性方式が、redundant array of independent disks(RAID)−6データ冗長性方式を含む、請求項1に記載の方法。
  5. 前記ストレージデバイスが、機械的ストレージデバイスを含む、請求項1に記載の方法。
  6. 前記機械的ストレージデバイスが、ディスクドライブを含む、請求項5に記載の方法。
  7. 前記ストレージデバイスが、ソリッドステートストレージデバイスを含む、請求項1に記載の方法。
  8. 前記ソリッドステートストレージデバイスが、フラッシュメモリを含む、請求項7に記載の方法。
  9. 前記フラッシュメモリが、NANDフラッシュメモリを含む、請求項8に記載の方法。
  10. 前記NANDフラッシュメモリが、単一レベルセル(SLC)NANDフラッシュメモリを含む、請求項9に記載の方法。
  11. 前記NANDフラッシュメモリが、マルチレベルセル(MLC)NANDフラッシュメモリを含む、請求項9に記載の方法。
  12. 前記ソリッドステートメモリが、ダイナミックランダムアクセスメモリ(DRAM)を含む、請求項7に記載の方法。
  13. 前記ストレージデバイスの電源の切断を検出する工程をさらに含む、請求項1に記載の方法。
  14. 前記電源の前記切断の検出に応じて、前記ストレージデバイスに電力を供給する工程をさらに含む、請求項13に記載の方法。
  15. 少なくとも、前記電源の切断の結果としてデータ消失が生じない時点まで、前記ストレージデバイスに電力が供給される、請求項14に記載の方法。
  16. 前記電力が、キャパシタを利用して供給される、請求項15に記載の方法。
  17. 前記電力が、バッテリを利用して供給される、請求項15に記載の方法。
  18. 前記ストレージデバイスへの書込みの回数を減らす工程をさらに含む、請求項1に記載の方法。
  19. 前記変換する工程が、前記減らす工程の後に実行される、請求項18に記載の方法。
  20. 前記第1データ冗長性方式又は前記第2データ冗長性方式の一方が、redundant array of independent disks(RAID)−10データ冗長性方式、redundant array of independent disks(RAID)−50データ冗長性方式、redundant array of independent disks(RAID)−60データ冗長性方式、及びスクエアパリティ冗長性方式のうちの1つを含む、請求項1に記載の方法。
  21. 第1データ冗長性方式を利用してデータ冗長性を提供するためにストレージコマンドを受け取るコンピュータコードと、
    第2データ冗長性方式を利用して前記データ冗長性を提供するために前記ストレージコマンドを変換するコンピュータコードと、
    複数のストレージデバイス内で前記データ冗長性を提供するために前記変換されたストレージコマンドを出力するコンピュータコードと
    を含む、コンピュータ読み取り可能な媒体上で実行される、コンピュータコード。
  22. 第1データ冗長性方式を利用してデータ冗長性を提供するように適合されたストレージコマンドを、第2データ冗長性方式を利用して前記データ冗長性を提供するように適合されたストレージコマンドに変換する回路
    を備える装置。
  23. 前記回路に結合された複数のストレージデバイスをさらに備える、請求項22に記載の装置。
  24. 複数のストレージデバイスへの書込みの回数を減らす工程と、
    前記減らす工程の後に、データ冗長性方式を利用してデータ冗長性を提供する工程と、
    を含む方法。
  25. 前記データ冗長性方式が、redundant array of independent disks(RAID)データ冗長性方式を含む、請求項24に記載の方法。
  26. 前記データ冗長性方式が、redundant array of independent disks(RAID)−5データ冗長性方式を含む、請求項25に記載の方法。
  27. 前記データ冗長性方式が、redundant array of independent disks(RAID)−6データ冗長性方式を含む、請求項25に記載の方法。
  28. 前記ストレージデバイスが、機械的ストレージデバイスを含む、請求項24に記載の方法。
  29. 前記機械的ストレージデバイスが、ディスクドライブを含む、請求項28に記載の方法。
  30. 前記ストレージデバイスが、ソリッドステートストレージデバイスを含む、請求項24に記載の方法。
  31. 前記ソリッドステートストレージデバイスが、フラッシュメモリを含む、請求項30に記載の方法。
  32. 前記フラッシュメモリが、NANDフラッシュメモリを含む、請求項31に記載の方法。
  33. 前記NANDフラッシュメモリが、単一レベルセル(SLC)NANDフラッシュメモリを含む、請求項32に記載の方法。
  34. 前記NANDフラッシュメモリが、マルチレベルセル(MLC)NANDフラッシュメモリを含む、請求項32に記載の方法。
  35. 前記ソリッドステートメモリが、ダイナミックランダムアクセスメモリ(DRAM)を含む、請求項30に記載の方法。
  36. 前記ストレージデバイスの電源の切断を検出する工程をさらに含む、請求項24に記載の方法。
  37. 前記電源の前記切断の検出に応じて、前記ストレージデバイスに電力を供給する工程をさらに含む、請求項36に記載の方法。
  38. 少なくとも、前記電源の前記切断の結果としてデータ消失が生じない時点まで、前記ストレージデバイスに電力が供給される、請求項37に記載の方法。
  39. 前記電力が、キャパシタを利用して供給される、請求項38に記載の方法。
  40. 前記電力が、バッテリを利用して供給される、請求項38に記載の方法。
  41. 前記減らす工程の後に、データ冗長性方式を利用してデータ冗長性を提供することによって、ランダム化が回避される、請求項24に記載の方法。
  42. 複数のストレージデバイスへの書込みの回数を減らすコンピュータコードと、
    前記減らす工程の後に、データ冗長性方式を利用してデータ冗長性を提供するコンピュータコードと
    を含む、コンピュータ読み取り可能な媒体上で実行される、コンピュータプログラム製品。
  43. 複数のストレージデバイスへの書込みの回数を減らし、前記減らす工程の後に、データ冗長性方式を利用してデータ冗長性を提供する回路
    を備える装置。
  44. 前記回路に結合された複数のストレージデバイスをさらに備える、請求項43に記載の装置。
JP2009540232A 2006-12-08 2007-11-21 複数のストレージデバイスでのデータ冗長性 Pending JP2010511963A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US87363006P 2006-12-08 2006-12-08
US11/942,623 US8090980B2 (en) 2006-12-08 2007-11-19 System, method, and computer program product for providing data redundancy in a plurality of storage devices
US11/942,629 US7904672B2 (en) 2006-12-08 2007-11-19 System and method for providing data redundancy after reducing memory writes
PCT/US2007/024294 WO2008073219A1 (en) 2006-12-08 2007-11-21 Data redundancy in a plurality of storage devices

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013169214A Division JP2013257900A (ja) 2006-12-08 2013-08-16 複数のストレージデバイスでのデータ冗長性

Publications (2)

Publication Number Publication Date
JP2010511963A true JP2010511963A (ja) 2010-04-15
JP2010511963A5 JP2010511963A5 (ja) 2011-01-27

Family

ID=39512026

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009540232A Pending JP2010511963A (ja) 2006-12-08 2007-11-21 複数のストレージデバイスでのデータ冗長性
JP2013169214A Pending JP2013257900A (ja) 2006-12-08 2013-08-16 複数のストレージデバイスでのデータ冗長性

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2013169214A Pending JP2013257900A (ja) 2006-12-08 2013-08-16 複数のストレージデバイスでのデータ冗長性

Country Status (4)

Country Link
JP (2) JP2010511963A (ja)
CN (2) CN101548271B (ja)
TW (2) TWI437427B (ja)
WO (1) WO2008073219A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013232053A (ja) * 2012-04-27 2013-11-14 Buffalo Memory Co Ltd 外部記憶装置
WO2016088254A1 (ja) * 2014-12-05 2016-06-09 株式会社日立製作所 ストレージシステム、方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904672B2 (en) 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
US7849275B2 (en) 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency
US8214589B2 (en) 2009-03-13 2012-07-03 Seagate Technology Llc Data storage system redundancy scheme verification
US8516166B2 (en) 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
TWI579688B (zh) * 2012-02-29 2017-04-21 萬國商業機器公司 磁碟陣列資料儲存系統
CN102915212B (zh) * 2012-09-19 2015-06-10 记忆科技(深圳)有限公司 一种固态硬盘的raid实现方法、固态硬盘及电子设备
JP6696280B2 (ja) 2016-04-13 2020-05-20 富士通株式会社 情報処理装置、raid制御方法、およびraid制御プログラム
TWI648675B (zh) * 2017-08-29 2019-01-21 群聯電子股份有限公司 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置
CN109460372B (zh) * 2017-09-06 2022-11-22 群联电子股份有限公司 数据存储方法、存储器控制电路单元及存储器存储装置
CN110780811B (zh) * 2019-09-19 2021-10-15 华为技术有限公司 数据保护方法、装置及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816328A (ja) * 1994-06-28 1996-01-19 Mitsubishi Electric Corp ディスクアレイシステム
JPH08235076A (ja) * 1994-11-10 1996-09-13 Raymond Eng Inc 半導体メモリ素子の冗長アレイ
JP2002108571A (ja) * 2000-09-26 2002-04-12 Hitachi Ltd ディスクアレイのディスク障害復旧方法
JP2002207572A (ja) * 2001-01-09 2002-07-26 Toshiba Corp ディスク制御システムおよびディスク制御方法
JP2004227560A (ja) * 2003-01-20 2004-08-12 Samsung Electronics Co Ltd 外部格納サブシステムにおけるパリティー格納方法及びエラーブロック復旧方法
JP2006163474A (ja) * 2004-12-02 2006-06-22 Fujitsu Ltd 記憶装置、その制御方法及びプログラム
JP2006252247A (ja) * 2005-03-11 2006-09-21 Hitachi Ltd ストレージシステム及びデータ移動方法
JP2006252165A (ja) * 2005-03-10 2006-09-21 Toshiba Corp ディスクアレイ装置、及びコンピュータシステム
WO2006120679A2 (en) * 2005-05-09 2006-11-16 Sandisk Il Ltd. A method and system for facilitating fast wake-up of a flash memory system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392244A (en) * 1993-08-19 1995-02-21 Hewlett-Packard Company Memory systems with data storage redundancy management
US5546558A (en) * 1994-06-07 1996-08-13 Hewlett-Packard Company Memory system with hierarchic disk array and memory map store for persistent storage of virtual mapping information
US5542065A (en) * 1995-02-10 1996-07-30 Hewlett-Packard Company Methods for using non-contiguously reserved storage space for data migration in a redundant hierarchic data storage system
JP3358795B2 (ja) * 1997-03-27 2002-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション ディスクドライブ装置及びその制御方法
JPH1153235A (ja) * 1997-08-08 1999-02-26 Toshiba Corp ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム
US6298415B1 (en) * 1999-02-19 2001-10-02 International Business Machines Corporation Method and system for minimizing writes and reducing parity updates in a raid system
US20050160218A1 (en) * 2004-01-20 2005-07-21 Sun-Teck See Highly integrated mass storage device with an intelligent flash controller
KR100388498B1 (ko) * 2000-12-30 2003-06-25 한국전자통신연구원 복수 개의 레이드를 구비한 계층적 레이드 시스템
US20030084397A1 (en) * 2001-10-31 2003-05-01 Exanet Co. Apparatus and method for a distributed raid
JP2003316664A (ja) * 2002-04-24 2003-11-07 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP2004021811A (ja) * 2002-06-19 2004-01-22 Hitachi Ltd 不揮発メモリを使用したディスク制御装置
US7213102B2 (en) * 2003-06-26 2007-05-01 International Business Machines Corporation Apparatus method and system for alternate control of a RAID array
TWI261993B (en) * 2004-05-20 2006-09-11 Rdc Semiconductor Co Ltd System and method for data redundancy checking and correcting

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816328A (ja) * 1994-06-28 1996-01-19 Mitsubishi Electric Corp ディスクアレイシステム
JPH08235076A (ja) * 1994-11-10 1996-09-13 Raymond Eng Inc 半導体メモリ素子の冗長アレイ
JP2002108571A (ja) * 2000-09-26 2002-04-12 Hitachi Ltd ディスクアレイのディスク障害復旧方法
JP2002207572A (ja) * 2001-01-09 2002-07-26 Toshiba Corp ディスク制御システムおよびディスク制御方法
JP2004227560A (ja) * 2003-01-20 2004-08-12 Samsung Electronics Co Ltd 外部格納サブシステムにおけるパリティー格納方法及びエラーブロック復旧方法
JP2006163474A (ja) * 2004-12-02 2006-06-22 Fujitsu Ltd 記憶装置、その制御方法及びプログラム
JP2006252165A (ja) * 2005-03-10 2006-09-21 Toshiba Corp ディスクアレイ装置、及びコンピュータシステム
JP2006252247A (ja) * 2005-03-11 2006-09-21 Hitachi Ltd ストレージシステム及びデータ移動方法
WO2006120679A2 (en) * 2005-05-09 2006-11-16 Sandisk Il Ltd. A method and system for facilitating fast wake-up of a flash memory system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013232053A (ja) * 2012-04-27 2013-11-14 Buffalo Memory Co Ltd 外部記憶装置
WO2016088254A1 (ja) * 2014-12-05 2016-06-09 株式会社日立製作所 ストレージシステム、方法

Also Published As

Publication number Publication date
CN101548271B (zh) 2012-12-05
JP2013257900A (ja) 2013-12-26
WO2008073219A1 (en) 2008-06-19
TWI437427B (zh) 2014-05-11
TWI550400B (zh) 2016-09-21
CN102929751A (zh) 2013-02-13
CN101548271A (zh) 2009-09-30
TW201428491A (zh) 2014-07-16
TW200837561A (en) 2008-09-16
CN102929751B (zh) 2018-04-20

Similar Documents

Publication Publication Date Title
US8090980B2 (en) System, method, and computer program product for providing data redundancy in a plurality of storage devices
US9804794B2 (en) Techniques for providing data redundancy after reducing memory writes
CN101548271B (zh) 多个存储装置中的数据冗余
CN110232001B (zh) 存储系统
CN107636601B (zh) 使用标准dram和整合储存器的处理器与平台辅助的nvdimm解决方案
US8930611B2 (en) Storage system and control method thereof
US20090113235A1 (en) Raid with redundant parity
JP7730283B2 (ja) メタデータにエラー検出訂正(ecc)ビットを割り当てるためのeccビットの分散
US11157200B2 (en) Communicating over portions of a communication medium
US10229018B2 (en) System and method for data restore flexibility on dual channel NVDIMMs
CN107636600A (zh) 高性能持久存储器
US12474855B2 (en) Duplicating memory content with chipset attached memory
US11487654B2 (en) Method for controlling write buffer based on states of sectors of write buffer and associated all flash array server
CN204203856U (zh) 一种新型内置式sas 12g raid存储卡
WO2021201900A1 (en) Dual-connector storage system and method for simultaneously providing power and memory access to a computing device
CN108614746A (zh) 一种数据处理方法及其系统、服务器
US20260030104A1 (en) Internal memory error correction code information for memory systems
CN121326241A (zh) 一种支持多协议的服务器ssd设计方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101122

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120829

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120905

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121001

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121009

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121029

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121129

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130416

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20130725