(57)【要約】  キャッシュメモリをオフロードするための方法（１４０）が開示される。本方法には、一般に、（Ａ）キャッシュメモリのオフロードに対する信号のアサーションに応じて、複数のキャッシュラインの全てをキャッシュメモリから読み出すステップ（１４４）と、（Ｂ）ＲＡＩＤ構成に従ってキャッシュラインを分割することによって、複数のブロックを生成するステップ（１４６）と、（Ｃ）ＲＡＩＤ構成において、複数の不揮発性メモリの間にブロックを書き込むステップであって、不揮発性メモリのそれぞれが、キャッシュメモリの読み出し帯域幅より小さい書き込み帯域幅を有するステップ（１４８）と、が含まれる。【選択図】図３
2010511224.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュメモリをオフロードするための方法であって、
（Ａ）コントローラを介して、前記キャッシュメモリとメインメモリとの間で複数のキャッシュラインを直接交換するステップと、
（Ｂ）前記キャッシュメモリのオフロード信号のアサーションに応じて、前記キャッシュラインの全てを前記キャッシュメモリから前記コントローラに読み出すステップと、
（Ｃ）ＲＡＩＤ構成に従って前記キャッシュラインを分割することによって、前記コントローラに複数のブロックを生成するステップと、
（Ｄ）前記ＲＡＩＤ構成において、前記コントローラから複数の不揮発性メモリに前記ブロックを直接書き込むステップであって、前記不揮発性メモリのそれぞれが、前記キャッシュメモリの読み出し帯域幅より小さい書き込み帯域幅を有するステップと、
を含む方法。
【請求項２】
前記ブロックの少なくとも２つが、前記不揮発性メモリにほぼ同時に書き込まれる、請求項１に記載の方法。
【請求項３】
前記ブロックをストライピングすることによって複数のストライプを生成するステップであって、前記ストライプのそれぞれが、前記ブロックの対応する１つにおけるサブセットを含むステップをさらに含む、請求項１に記載の方法。
【請求項４】
ステップ（Ｄ）が、前記不揮発性メモリの間に前記ストライプを書き込むサブステップを含む、請求項３に記載の方法。
【請求項５】
前記ストライプの少なくとも２つが、前記不揮発性メモリにほぼ同時に書き込まれる、請求項４に記載の方法。
【請求項６】
前記信号の前記アサーションが電力停止を示す、請求項１に記載の方法。
【請求項７】
（ｉ）前記不揮発性メモリのそれぞれが、第１の記憶容量を有し、（ｉｉ）前記キャッシュメモリが、第２の記憶容量を有し、（ｉｉｉ）前記第１の記憶容量の合計が、少なくとも、前記第２の記憶容量と同じくらい大きい、請求項１に記載の方法。
【請求項８】
前記書き込み帯域幅の合計が、少なくとも、前記読み出し帯域幅と同じくらい大きい、請求項１に記載の方法。
【請求項９】
前記キャッシュラインが、前記読み出し帯域幅に近い第１の帯域幅で、前記キャッシュメモリから読み出される、請求項１に記載の方法。
【請求項１０】
前記ブロックが、前記書き込み帯域幅に近い第２の帯域幅で、前記不揮発性メモリに書き込まれる、請求項９に記載の方法。
【請求項１１】
読み出し帯域幅を有し、かつ複数のキャッシュラインを記憶するように構成されたキャッシュメモリと、
前記読み出し帯域幅より小さい書き込み帯域幅をそれぞれが有する複数の不揮発性メモリと、
（ｉ）前記キャッシュメモリのオフロード信号のアサーションに応じて、前記キャッシュラインの全てを前記キャッシュメモリから読み出すように、（ｉｉ）ＲＡＩＤ構成に従って前記キャッシュラインを分割することによって、複数のブロックを生成するように、かつ（ｉｉｉ）前記ＲＡＩＤ構成において、前記ブロックを前記不揮発性メモリに直接書き込むように構成されたコントローラと、
前記コントローラを介して、前記キャッシュラインを前記キャッシュメモリと直接交換するように構成されたメインメモリと、
を含むシステム。
【請求項１２】
前記ブロックの少なくとも２つが、前記不揮発性メモリにほぼ同時に書き込まれる、請求項１１に記載のシステム。
【請求項１３】
前記コントローラを介して、前記キャッシュメモリおよび前記メインメモリの両方とデータを交換するように構成されたプロセッサをさらに含む、請求項１１に記載のシステム。
【請求項１４】
前記信号をアサートするように構成された電力回路をさらに含む、請求項１１に記載のシステム。
【請求項１５】
前記信号の前記アサーションが、前記電源回路に流れ込む電力の停止を示す、請求項１４に記載のシステム。
【請求項１６】
前記電力回路が、ソース電力の停止後に電力を供給するスーパーキャパシタおよびウルトラキャパシタの少なくとも１つを含む、請求項１４に記載のシステム。
【請求項１７】
少なくとも４つのスロットであって、前記スロットのそれぞれが、前記不揮発性メモリの１つに接続するように構成された少なくとも４つのスロットをさらに含む、請求項１１に記載のシステム。
【請求項１８】
前記スロットの少なくとも１つが、前記システムの少なくとも１つの構成において空である、請求項１７に記載のシステム。
【請求項１９】
前記ＲＡＩＤ構成が、（ｉ）ＲＡＩＤ０構成、（ｉｉ）ＲＡＩＤ１構成および（ｉｉｉ）ＲＡＩＤ５構成のうちの１つを含む、請求項１７に記載のシステム。
【請求項２０】
読み出し帯域幅を有し、かつ複数のキャッシュラインを記憶するように構成された揮発性記憶装置用手段と、
前記読み出し帯域幅より小さい書き込み帯域幅をそれぞれが有する、不揮発性記憶装置用の複数の手段と、
（ｉ）前記揮発性記憶装置用手段のオフロード信号のアサーションに応じて、前記揮発性記憶装置用手段から前記キャッシュラインの全てを読み出すことと、（ｉｉ）ＲＡＩＤ構成に従って前記キャッシュラインを分割することによって、複数のブロックを生成することと、（ｉｉｉ）前記ＲＡＩＤ構成において、前記ブロックを前記不揮発性記憶装置用手段に直接書き込むことと、を含む制御のための手段と、
前記制御のための手段を介して、前記キャッシュラインを前記揮発性記憶装置用手段と直接交換するように構成されたメインメモリ用手段と、
を含むシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、記憶装置コントローラに関し、特に、記憶装置コントローラキャッシュオフロード回路の性能および信頼性を最適化するための方法および／または装置に関する。
【背景技術】
【０００２】
ＡＣ電力の電力停止と同時に、従来の記憶装置コントローラは、制限のある保存電池バックアップユニットからの電力を用いて、キャッシュメモリからローカルの永久記憶装置にキャッシュの内容をできるだけ素早くかつ確実にオフロードせざるを得ない。永久記憶装置は、（ｉ）起動のために遠隔装置を頼りにすることを避けるために、通常、ローカルであり、かつ（ｉｉ）大きな電池を避けるために、非常に低い電力量を利用する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
非常に低い電力は、限られたアクセス帯域幅を有する永久記憶装置に帰着する。大きな電池は、非常に高価であり、経時的に信頼性が減少する。
【課題を解決するための手段】
【０００４】
本発明は、キャッシュメモリをオフロードするための方法に関する。この方法には、一般に、（Ａ）キャッシュメモリのオフロード信号のアサーションに応じて、キャッシュメモリから複数のキャッシュラインの全てを読み出すステップと、（Ｂ）ＲＡＩＤ構成に従ってキャッシュラインを分割することによって、複数のブロックを生成するステップと、（Ｃ）ＲＡＩＤ構成において、複数の不揮発性メモリの間にブロックを書き込むステップであって、不揮発性メモリのそれぞれが、キャッシュメモリの読み出し帯域幅より小さい書き込み帯域幅を有するステップと、が含まれる。
【０００５】
本発明の目的、特徴および利点には、記憶装置コントローラキャッシュオフロード回路の性能および信頼性を最適化するための方法および／または装置を提供することが含まれるが、この回路は、（ｉ）多数の不揮発性メモリをＲＡＩＤ構成に配置し、（ｉｉ）不揮発性メモリの２つ以上にほぼ同時に書き込み、（ｉｉｉ）より多くのメモリ回路を加えることによって、不揮発性メモリの容量拡張を可能にし、（ｉｖ）従来のアプローチと比較して、より低い電池バックアップユニットサイズを可能にし、かつ／または（ｖ）従来の電池セルに対する代替として、スーパーキャパシタ技術の利用を可能にすることができる。
【０００６】
本発明のこれらおよび他の目的、特徴および利点は、以下の詳細な説明ならびに添付の特許請求の範囲および図面から明らかになろう。
【図面の簡単な説明】
【０００７】
【図１】本発明の好ましい実施形態によるシステムのブロック図である。
【図２】不揮発性メモリ回路の例示的なインプリメンテーションの図である。
【図３】キャッシュメモリをオフロードするための例示的な方法の流れ図である。
【図４】例示的なＲＡＩＤ０構成の図である。
【図５】例示的なＲＡＩＤ１構成の図である。
【図６】例示的なＲＡＩＤ５構成の図である。
【発明を実施するための形態】
【０００８】
本発明は、一般に、多数の不揮発性ドライブを並列に用いて、迅速なキャッシュオフロードアーキテクチャを達成する。不揮発性ドライブは、ＲＡＩＤ０構成、ＲＡＩＤ１構成またはＲＡＩＤ５構成などのＲＡＩＤ構成に配置してもよい。特定の用途の基準を満たすために、他のＲＡＩＤ構成を実現してもよい。いくつかのＲＡＩＤ構成の並列書き込み特性により、一般に、従来の技術と比較して、キャッシュオフロードインタフェースにおけるより高い性能およびより高い信頼性が可能になる。
【０００９】
図１を参照すると、本発明の好ましい実施形態に従って、システム１００のブロック図が示されている。システム（または装置）１００は、キャッシュベースの処理システムとして実現してもよい。システム１００には、一般に、回路（またはモジュール）１０２、回路（またはモジュール）１０４、回路（またはモジュール）１０６、回路（またはモジュール）１０８、回路（またはモジュール）１１０および回路（またはモジュール）１１２が含まれる。信号（例えばＰＷＲ）は、回路１１０によって受信してもよい。信号（例えばＯＦＦＬＯＡＤ）は、回路１１０によって生成し、回路１０４に供給してもよい。インタフェース１１４によって、回路１０２および回路１０４が互いに通信できるようにしてもよい。回路１０４は、インタフェース１１６を介して回路１０６と通信してもよい。インタフェース１１８によって、回路１０４が、回路１０８と通信できるようにしてもよい。回路１０４は、インタフェース１２０を介して回路１１２と通信してもよい。
【００１０】
回路１０２は、プロセッサ回路として実現してもよい。回路１０２は、ソフトウエアプログラムを実行することによって様々な機能を実行するように、動作可能であってもよい。回路１０２は、回路１０４を介して、ソフトウエアプログラム用の命令および／またはデータを、回路１０６、１０８および１１２から読み出し、かつそこに書き込んでもよい。
【００１１】
回路１０４は、メモリコントローラ回路として実現してもよい。回路１０４は、回路１０６、回路１０８および回路１１２を制御するように動作可能であってもよい。回路１０４は、ソフトウエアプログラムのデータおよび命令を、プロセッサインタフェース１１４を介して回路１０２と交換してもよい。データおよび命令は、回路１０４と、（ｉ）キャッシュインタフェース１１６を介して回路１０６との間で、（ｉｉ）フラッシュインタフェース１１８を介して回路１０８との間で、および（ｉｉｉ）メモリインタフェース１２０を介して回路１１２との間で、交換してもよい。回路１０４は、信号ＯＦＦＬＯＡＤのアサートされた状態（例えば論理ロー）に応じて、回路１０６に記憶された情報（例えばデータおよび命令）の全てを、インタフェース１１８を介して回路１０８にオフロードするように、さらに動作可能であってもよい（矢印１２８を参照）。
【００１２】
回路１０６は、揮発性メモリとして実現してもよい。特に、回路１０６は、揮発性キャッシュメモリとして実現してもよい。回路１０６は、一般に、回路１０２におけるソフトウェアの実行によって使用され生成されるデータおよび命令をバッファするように動作可能である。回路１０６に記憶された情報は、キャッシュライン１２４ａ−１２４ｎとして配置してもよい。キャッシュライン１２４ａ−１２４ｎのそれぞれは、キャッシュヒットおよびキャッシュミスに基づいて、回路１１２と交換してもよい。キャッシュラインは、第１の読み出し帯域幅で回路１０６から読み出し、第１の書き込み帯域幅で書き込んでもよい。
【００１３】
回路１０８は、不揮発性メモリ１２６ａ−１２６ｄのアレイとして実現してもよい。メモリ（またはコンポーネント）１２６ａ−１２６ｄは、ＲＡＩＤ（独立ディスク冗長アレイ）構成に配置してもよい。いくつかの実施形態において、回路１０８の各メモリ「ディスク」１２６ａ−１２６ｄは、フラッシュメモリとして実現してもよい。特定の用途の基準を満たすために、他の不揮発性メモリ技術を実行してもよい。情報は、第２の書き込み帯域幅で、メモリ１２６ａ−１２６ｄのそれぞれに書き込み、第２の読み出し帯域幅で読み出してもよい。
【００１４】
回路１１０は、バックアップ電力ユニットとして実現してもよい。回路１１０は、信号ＰＷＲで受信された電力を、回路１０２、１０４、１０６、１０８および１１２によって用いるのに適した１つまたは複数の電力ネットワークへと蓄積、変換、規制またはフィルタリングするように動作可能であってもよい。回路１１０はまた、回路１０６から回路１０８に情報をオフロードするのに十分な時間にわたって少なくとも回路１０４、１０６および１０８を動作させるのに適した制限された時間、電力を供給するように動作可能であってもよい。さらに、回路１１０は、信号ＰＷＲを介して流入する電力の状態を監視し、信号ＰＷＲにおける電力の激しい低下および／または完全な停止に応じて、信号ＯＦＦＬＩＮＥをアサートしてもよい。いくつかの実施形態において、回路１１０は、１つまたは複数の電池として実現してもよい。少なくとも一実施形態において、回路１１０は、１つまたは複数のスーパーキャパシタまたはウルトラキャパシタとして実現してもよい。
【００１５】
回路１１２は、メインメモリ回路として実現してもよい。特に、回路１１２は、揮発性ランダムアクセスメモリとして実現してもよい。回路１１２は、回路１０２におけるソフトウェア実行のためのデータおよび命令を記憶するように動作可能であってもよい。回路１１２は、回路１０４によって決定されるように、回路１０６にキャッシュラインを提供し、回路１０６からキャッシュラインを受信してもよい。
【００１６】
図２を参照すると、回路１０８の例示的なインプリメンテーションの図が示されている。メモリコンポーネント１２６ａ−１２６ｄに加えて、回路１０８には、多数のソケット１３０ａ−１３０ｄを含んでもよい。ソケット（またはポート）１３０ａ−１３０ｄのそれぞれは、一般に、単一のメモリ１２６ａ−１２６ｄに結合するように配置される。結合には、物理的接続、電力接続および通信接続を含んでもよい。システム１００の少なくとも１つの構成において、ソケット１３０ａ−１３０ｄには、単一のメモリコンポーネント（例えば１２６ａ）を実装してもよい。システム１００の他の構成において、２以上のメモリ１２６ａ−１２６ｄを、ソケット１３０ａ−１３０ｄにインストールしてもよい。
【００１７】
図３を参照すると、回路１０６をオフロードするための例示的な方法１４０の流れ図が示されている。方法１４０は、一般に、回路１０６から回路１０８にデータを移動させる迅速なオフロード方法を実行する。方法１４０には、一般に、ステップ（またはブロック）１４２、ステップ（またはブロック）１４４、オプションのステップ（またはブロック）１４６およびステップ（またはブロック）１４８が含まれる。
【００１８】
方法１４０は、信号ＯＦＦＬＯＡＤのアサーションによってトリガしてもよい。回路１０２からのコマンドなどの他のトリガもまた、方法１４０を開始してもよい。ステップ１４２において、回路１１０は、信号ＰＷＲにおいて電力停止を検出すると、信号ＯＦＦＬＯＡＤをアサートしてもよい。信号ＯＦＦＬＯＡＤのアサーションは、回路１０４によって感知してもよい。それに応じて、回路１０４は、ステップ１４４において、回路１０６からキャッシュライン１２４ａ−１２４ｎを読み出し（オフロードし）てもよい。回路１０６から回路１０４への情報の転送速度は、回路１０６の読み出し帯域幅によって管理してもよい。
【００１９】
回路１０８に実現されている特定のＲＡＩＤ構成に依存して、回路１０４は、ステップ１４６で、キャッシュライン１２４ａ−１２４ｎにおける情報をストライピングしても／しなくてもよい。次に、情報のブロック／情報のストライプおよびエラー訂正情報（もしあれば）は、ステップ１４８で、回路１０４によってメモリ１２６ａ−１２６ｄに書き込んでもよい。回路１０４から回路１０８へのブロック／ストライプの転送速度は、メモリ１２６ａ−１２６ｄの書き込み帯域幅によって決定してもよい。
【００２０】
情報は、多数の並列経路に沿って、回路１０４からメモリ１２６ａ−１２６ｄにほぼ同時に書き込んでもよいので、メモリ１２６ａ−１２６ｄへの結合書き込み帯域幅は、回路１０６からの読み出し帯域幅より大きくても（速くても）よい。より高い結合書き込み帯域幅により、一般に、従来の技術と比較して、転送を実行する際に消費される時間が低減される。システム１００のアーキテクチャによって、低コストで、取り外し可能不揮発性メモリコンポーネント１２６ａ−１２６ｄを利用することが可能になる。例示的なメモリコンポーネント１２６ａ−１２６ｄには、限定するわけではないが、セキュアデジタル（ＳＤ）フラッシュカードおよびＵＳＢフラッシュドライブが含まれる。
【００２１】
回路１０６用の顧客指定キャッシュサイズは、近年大きくなった。したがって、低コスト不揮発性メモリの選択は、一般に、遅い書き込み時間およびより小さな容量ゆえに使用不可能である。本発明は、一般に、いくつかの不揮発性メモリを用いるが、不揮発性メモリの容量および速度が、普通の単一不揮発性メモリ要素より大きくかつ速い仮想不揮発性メモリ（回路１０８）を生成するＲＡＩＤ技術を用いて増加され得るように用いる。
【００２２】
多数のメモリ１２６ａ−１２６ｄを用いることによって、回路１０４および回路１０８は、顧客によって注文されたキャッシュ量に比例してスケーリングしてもよい。例えば、回路１０４は、回路１０６における８ギガバイト（ＧＢ）、１６ＧＢおよび３２ＧＢのキャッシュサイズオプションをサポートしてもよい。回路１０４は、回路１０８における、それぞれが８ＧＢのサイズを備えたいくつかの（例えば４つの）メモリコンポーネント１２６ａ−１２６ｄを制御するように構成してもよい。かかるものとして、８ＧＢキャッシュシステム１００は、単一の８ＧＢメモリ（例えば１２６ａ）を用いて構築してもよい。１６ＧＢキャッシュシステム１００は、２つの８ＧＢメモリ（例えば１２６ａおよび１２６ｂ）を用いて構築してもよい。３２ＧＢキャッシュシステムは、４つの８ＧＢメモリ（例えば１２６ａ−１２６ｄ）を用いて構築することになろう。
【００２３】
メモリ１２６ａ−１２６ｄのそれぞれが２０メガバイト／秒（ＭＢ／秒）の例示的な書き込み速度を有する場合を検討する。８ＧＢキャッシュシステム１００は、約８ＧＢ／（２０ＭＢ／秒）＝４００秒を用いて、８ＧＢ揮発性回路１０６を８ＧＢ不揮発性回路１０８にオフロードしてもよい。１６ＧＢキャッシュシステム１００に関して、回路１０８への書き込み帯域幅は、一般に、２つのメモリ（例えば１２６ａおよび１２６ｂ）を構成するＲＡＩＤ技術を用いるため、２倍になる。１６ＧＢ回路１０６から情報を移動させるための合計オフロード時間は、１６ＧＢ／（２×２０ＭＢ／秒）＝４００秒になろう。３２ＧＢキャッシュシステム１００は、４つのメモリ素子１２６ａ−１２６ｄを用いて、４×２０ＭＢ／秒＝８０ＭＢ／秒の有効帯域幅を提供してもよい。より大きな書き込み帯域幅によって、３２ＧＢ／（４×２０ＭＢ／秒）＝４００秒のキャッシュオフロード時間が可能になる。３つの全ての例において、キャッシュオフロード時間は、約４００秒に維持可能である。よい大きな数のメモリコンポーネント１２６ａ−１２６ｄを利用して、オフロード時間を低減し、より大きなキャッシュサイズを可能にし、かつ／または他のＲＡＩＤ構成を実現してもよい。
【００２４】
図４を参照すると、例示的なＲＡＩＤ０構成の図が示されている。ＲＡＩＤ０構成は、メモリコンポーネント１２６ａ−１２６ｄから作製されたストライプアレイを実現してもよい。回路１０４は、回路１０６から読み出されたキャッシュライン１２４ａ−１２４ｎをブロック（例えばＡ−Ｈ）にグループ化してもよい。個別ブロックＡ−Ｈのそれぞれは、単一のメモリ１２６ａ−１２６ｄに書き込んでもよく、いくつかのブロックは、並列経路１５０ａ−１５０ｄに沿ってほぼ同時に書き込んでもよい。例えば、回路１０４は、ブロックＡをメモリ１２６ａに、ブロックＢをメモリ１２６ｂに、ブロックＣをメモリ１２６ｃに、およびブロックＤをメモリ１２６ｄに、並列にかまたはスタガードスタート順に書き込んでもよい。スタガードスタート順において、回路１０４は、ブロックＡを書き込み始める一方で、なおかつ、キャッシュライン１２４ａ−１２４ｎからブロックＢを組み立ててもよい。一旦ブロックＢが用意できると、回路１０４は、ブロックＢを書き込み始め、ブロックＡの書き込みを継続し、ブロックＣを組み立て始めてもよい。ＲＡＩＤ０構成は、一般に、メモリ１２６ａ−１２６ｄの少なくとも２つを用いて実現される。
【００２５】
図５を参照すると、例示的なＲＡＩＤ１構成の図が示されている。ＲＡＩＤ１構成は、一般に、メモリ１２６ａ−１２６ｈの倍数（例えば８）を用いて、ミラーペアの二重化を実現する。回路１０４は、回路１０６から読み出されたキャッシュライン１２４ａ−１２４ｎをブロックＡ−Ｈにグループ化してもよい。個別ブロックＡ−Ｈのそれぞれは、１２６ａ−１２６ｈの２つに書き込んでもよく、いくつかのブロックは、経路１５０ａ−１５０ｈに沿ってほぼ同時に書き込んでもよい。例えば、ブロックＡは、メモリ１２６ａおよび１２６ｂの両方に書き込んでもよく、ブロックＢは、メモリ１２６ｃおよび１２６ｄの両方に書き込んでもよい等である。ＲＡＩＤ１構成は、一般に、記憶された情報のフォールトトレランスに備える。各メモリペアに関して、ペアに書き込まれたブロックは、たとえメモリコンポーネントの１つが故障したとしても、回復可能である。ＲＡＩＤ１構成は、メモリ１２６ａ−１２６ｈの少なくとも４つを用いて実現してもよい。
【００２６】
図６を参照すると、例示的なＲＡＩＤ５構成のブロック図が示されている。ＲＡＩＤ５構成は、分散パリティを備えたデータストライピングを実現してもよい。前述のように、回路１０４は、信号ＯＦＦＬＯＡＤのアサーションに応じて、回路１０６からキャッシュライン１２４ａ−１２４ｎを読み出してもよい。読み出された情報は、ブロックＡ−Ｈに組み立ててもよい。次に、ブロックＡ−Ｈのそれぞれは、ストライピングしてもよい。例えば、ブロックＡはストライプＡ０、Ａ１およびＡ２に、ブロックＢはストライプＢ０、Ｂ１およびＢ３に、ブロックＣはストライプＣ０、Ｃ２およびＣ３に、ブロックＤはストライプＤ１、Ｄ２およびＤ３になってもよい等である。所与のブロックのストライプは、単一のメモリ１２６ａ−１２６ｄに順番に書き込んでもよい。
【００２７】
パリティストライプは、同じランクの全てのストライプに対して回路１０４によって計算し、次に、単一のメモリ１２６ａ−１２６ｄに書き込んでもよい。例えば、ゼロランクパリティ（例えば０ＰＡＲＩＴＹ）は、ストライプＡ０、ストライプＢ０およびストライプＣ０から生成し、メモリ１２６ｄに書き込んでもよい。第１ランクパリティ（例えば１ＰＡＲＩＴＹ）は、ストライプＡ１、ストライプＢ１およびストライプＤ１に対して計算し、メモリ１２６ｃに書き込んでもよい。パリティ計算は、各新しいランクが書き込まれたときに継続してもよい。ＲＡＩＤ５構成によって、一般に、単一のメモリコンポーネント１２６ａ−１２６ｄの故障の場合に、記憶された情報を回復する能力が提供される。分散パリティの利用によって、メモリ１２６ａ−１２６ｄの効率的な利用が可能になる。ＲＡＩＤ５構成は、メモリ１２６ａ−１２６ｄの３つ以上を用いて実現してもよい。特定の用途の基準を満たすために、回路１０８において他のＲＡＩＤ構成を実現してもよい。
【００２８】
当業者には明らかであろうように、図１および３の図によって実行される機能は、本明細書の教示に従ってプログラムされた従来の汎用デジタルコンピュータを用いて実現してもよい。当業者にはまた明らかであろうように、適切なソフトウェアコーディングは、本開示の教示に基づいて、熟練したプログラマによって容易に準備することができる。
【００２９】
本発明はまた、ＡＳＩＣ、ＦＰＧＡを準備することによってか、または本明細書で説明するように、従来のコンポーネント回路の適切なネットワークを相互接続することによって実施してもよいが、これらの修正は、当業者には容易に明らかになろう。
【００３０】
したがって、本発明にはまた、コンピュータ製品を含んでもよいが、このコンピュータ製品は、本発明に従ってプロセスを実行するようにコンピュータをプログラムするために使用できる命令を含む記憶媒体であってもよい。記憶媒体には、限定するわけではないが、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、磁気もしくは光カードを含む任意のタイプのディスク、または電子命令を記憶するのに適した任意のタイプの媒体を含むことができる。本明細書で用いるように、用語「同時に」は、ある共通の期間を共有するイベントを説明するように意味されているが、しかしこの用語は、同じ時点で始まるか、同じ時点で終了するか、または同じ継続期間を有するイベントに限定されるようには意味されていない。
【００３１】
本発明の好ましい実施形態に関連して本発明を特に図示し説明したが、本発明の範囲から逸脱せずに、形態および詳細において様々な変更をなし得ることが、当業者によって理解されよう。
【図１】
2010511224.tif 000003
【図２】
2010511224.tif 000004
【図３】
2010511224.tif 000005
【図４】
2010511224.tif 000006
【図５】
2010511224.tif 000007
【図６】
2010511224.tif 000008
【国際調査報告】
2010511224.tif 000009