JP5124792B2

Apparatus and method for storing and assigning error checking and correcting processing of data to storage arrays

Abstract

This record has no abstract on file.

JP5124792B2, drawing sheet 1
Sheet 1 of 18

Term

0.8 yearsleft in the term

Expires 17 July 2027.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

22 claims: 5 independent, 17 dependent

  1. 1
    ネットワークインターフェースと、 N個のストレージアレイと、 データ処理モジュールと 前記データ処理モジュールと前記N個のストレージアレイとの間、および、前記N個のストレージアレイの間でデータを切り替えるスイッチモジュールと を備え、 前記N個のストレージアレイのそれぞれは、 ターゲット処理モジュールと、 1個からM個のハードディスクドライブと を有し、 MおよびNは1よりも大きい整数であり、 前記データ処理モジュールは、第1のデータブロックに対する第1のデータ格納要求を、前記第1のデータブロックに対するエラー検出訂正(ECC)データ処理のために、複数の前記ターゲット処理モジュールのうちの1つのターゲット処理モジュールに割り当て、 前記複数のターゲット処理モジュールのうちの前記1つのターゲット処理モジュールは、 前記第1のデータブロックの一部を格納し、 前記第1のデータブロックの第1の部分および前記第1のデータブロックに対応付けられているECCデータを、前記複数のターゲット処理モジュールのうちの別の1つのターゲット処理モジュールに送信し、 前記別の1つのターゲット処理モジュールは、前記第1のデータブロックの前記第1の部分及び前記ECCデータを受信および格納し、 前記データ処理モジュールおよび前記スイッチモジュールは前記N個のストレージアレイと前記ネットワークインターフェースとの間に接続され、 前記N個のストレージアレイは前記データ処理モジュールおよび前記スイッチモジュールを介して前記ネットワークインターフェースと通信するRAIDシステム。
  2. 2
    前記複数のターゲット処理モジュールのうち前記別の1つのターゲット処理モジュールが受信する前記ECCデータは、前記第1の部分に対応する請求項1に記載のRAIDシステム。
  3. 3
    前記ネットワークインターフェースは、前記第1のデータブロックを受信して、前記第1のデータブロックを前記データ処理モジュールに転送する請求項1または2に記載のRAIDシステム。
  4. 4
    前記ネットワークインターフェースは、ギガビットイーサネットネットワークインターフェース、およびデータバスのうち少なくとも1つを有する請求項3に記載のRAIDシステム。
  5. 5
    前記スイッチモジュールは、マルチポート高速スイッチを有する 請求項1から4の何れか1項に記載のRAIDシステム。
  6. 6
    前記データ処理モジュールは、第2のデータブロックに対する第2のデータ格納要求を、前記第2のデータブロックに対するECCデータ処理のために、第2のターゲット処理モジュールに割り当て、前記第2のターゲット処理モジュールは、前記第2のデータブロックのうち第1の部分および前記第2のデータブロックに対応付けられているECCデータを前記複数のターゲット処理モジュールのうち第3のターゲット処理モジュールに送信する請求項1から5の何れか1項に記載のRAIDシステム。
  7. 7
    前記第1および第2のデータブロックはそれぞれ、前記複数のターゲット処理モジュールのうち前記1つのターゲット処理モジュールおよび前記第2のターゲット処理モジュールにおいて 並列に 処理される請求項6に記載のRAIDシステム。
  8. 8
    前記データ処理モジュールは、前記第1のデータブロックに対してファイルシステム(FS)プロトコル機能を実行し、 前記FSプロトコルは、ネットワークファイルサーバ(NFS)および共通インターネットファイルサーバ(CIFS)のうち少なくとも1つを含む請求項1から7の何れか1項に記載のRAIDシステム。
  9. 9
    前記データ処理モジュールは、前記第1のデータブロックに適用されるRAIDストレージレベルを決定する請求項1から8の何れか1項に記載のRAIDシステム。
  10. 10
    前記データ処理モジュールは、前記N個のストレージアレイのうち選択される複数のストレージアレイに前記第1のデータブロックをマッピングして、前記N個のストレージアレイに対するストレージマップを更新する請求項1から9の何れか1項に記載のRAIDシステム。
  11. 11
    前記データ処理モジュールは、データ取得要求を受信すると、前記データ取得要求を前記複数のターゲット処理モジュールのうち第1のターゲット処理モジュールに割り当て、 前記複数のターゲット処理モジュールのうち前記第1のターゲット処理モジュールは、前記複数のターゲット処理モジュールのうちの他の複数のターゲット処理モジュールから前記データ取得要求に対応するデータを取得すると共に、前記データのうちエラーを含む部分に関連するECCデータを取得し、 前記複数のターゲット処理モジュールのうち前記第1のターゲット処理モジュールは、前記ECCデータを用いて前記部分に対してデータ復元を実行する請求項1から10の何れか1項に記載のRAIDシステム。
  12. 12
    前記データ処理モジュールは、データ取得要求を受信すると、前記データ取得要求に対応するデータを含む前記複数のターゲット処理モジュールにデータ取得メッセージを送信し、 前記複数のターゲット処理モジュールは、前記データ取得要求に対応する前記データおよび前記データのうちエラーを含む部分に関連するECCデータを取得し、 前記複数のターゲット処理モジュールは、前記データ取得要求に対応する取得された前記データおよび前記ECCデータを、前記データ処理モジュールに送信し、前記データ処理モジュールは前記ECCデータを用いて前記部分に対してデータ復元を実行する請求項1から11の何れか1項に記載のRAIDシステム。
  13. 13
    前記データ処理モジュールは、データ取得要求を受信すると、前記データ取得要求に対応するデータを含む前記複数のターゲット処理モジュールにデータ取得メッセージを送信し、 前記複数のターゲット処理モジュールは、前記データ取得要求に対応する前記データおよび前記データのうちエラーを含む部分に関連するECCデータを取得し、 前記複数のターゲット処理モジュールは、前記ECCデータを用いて前記部分に対してデータ復元を実行する請求項1から12の何れか1項に記載のRAIDシステム。
  14. 14
    前記データ処理モジュールは、前記スイッチモジュールと前記ネットワークインターフェースとの間に接続される請求項1から13の何れか1項に記載のRAIDシステム。
  15. 15
    前記ターゲット処理モジュールとは別物である前記データ処理モジュールは、前記RAIDシステムとは別物のホストデバイスから前記第1のデータブロックを受信する請求項1から14の何れか1項に記載のRAIDシステム。
  16. 16
    前記データ処理モジュールは、オペレーティングシステム、ファイルシステムプロトコルファンクションのうち少なくとも1つを用いて前記第1のデータブロックを処理し、選択された前記ターゲット処理モジュールの1つにRAID冗長処理および復元処理を割り当てる請求項1から15の何れか1項に記載のRAIDシステム。
  17. 17
    前記データ処理モジュールは、前記N個のストレージアレイに格納されたデータブロックのマップを管理し、前記ターゲット処理モジュールに前記マップを割り当てる請求項1から16の何れか1項に記載のRAIDシステム。
  18. 18
    前記データ処理モジュールは、前記ターゲット処理モジュールのうちの1つを選択し、 選択された前記ターゲット処理モジュールのうちの1つにRAID冗長処理および復元処理を割り当てる請求項1から17の何れか1項に記載のRAIDシステム。
  19. 19
    前記データ処理モジュールは、エラー訂正コード処理を実行し、前記N個のストレージアレイへの格納後、前記第1のデータブロックがリカバーされる請求項1から18の何れか1項に記載のRAIDシステム。
  20. 20
    前記RAIDストレージのレベルは、前記RAIDシステムが分散化、ディスクミラーリング、およびパリティーストレージを実行するか否かを識別する請求項9に記載のRAIDシステム。
  21. 21
    前記データ処理モジュールは、要求されたデータに対するデータ要求信号を生成する、 請求項1に記載のRAIDシステム。
  22. 22
    前記1つのターゲット処理モジュールが、前記第1のデータブロックに対してECCデータを生成する間、前記データ処理モジュールは、第2のデータブロックを受信し、前記第2のデータブロックを他の前記ターゲット処理モジュールに割り当て、 前記他のターゲット処理モジュールは、前記第2のデータブロックに対してECCデータを生成する 請求項1から21のいずれか1項に記載のRAIDシステム。
Independent claims22