(57)【特許請求の範囲】
【請求項１】
２以上のフラッシュメモリデバイスが共通のデータバスに割り当てられ、バスライトサイクルにおいてバス毎の前記フラッシュメモリデバイスの２以上に格納のための情報データが逐次的に供給される、前記情報データをフラッシュメモリデバイスに書き込む際のライトエラーを処理する方法であって、
現在のバスライトサイクルにおいて、前記フラッシュメモリデバイスの少なくとも１つを前記現在のバスライトサイクル内の書き込みのために使用しないことでアイドルタイム期間を生じさせ、
前記情報データの現在部分を前記フラッシュメモリデバイスの現在のフラッシュメモリデバイスのページに書き込み、前記情報データの現在部分を非フラッシュメモリにさらに書き込み、
前記情報データの現在部分を前記現在のフラッシュメモリデバイスのページへの書き込み中にエラーが生じた場合、以降のバスライトサイクル中、不具合のあるページを含む前記現在のフラッシュメモリデバイスが通常のアイドル状態である場合に、前記非フラッシュメモリから前記現在のフラッシュメモリデバイスの仮の保存又は非欠陥ページに前記情報データの対応する格納された部分をコピーするため前記アイドルタイム期間を利用する、
ことを特徴とする方法。
【請求項２】
連続するバスライトサイクルの各バスライトサイクルにおいて、前記バス上の前記フラッシュメモリデバイスの異なる１つには、格納のため前記情報データの現在部分は供給されない、請求項１記載の方法。
【請求項３】
前記非フラッシュメモリは、ＳＲＡＭメモリである、請求項１又は２記載の方法。
【請求項４】
前記フラッシュメモリデバイスは、キャッシュモードで動作する、請求項１乃至３何れか一項記載の方法。
【請求項５】
前記フラッシュメモリデバイスは、キャッシュモードでは動作せず、
３以上のフラッシュメモリデバイスが、前記共通のデータバスに割り当てられる、請求項１乃至３何れか一項記載の方法。
【請求項６】
情報データをフラッシュメモリデバイスに書き込む際のライトエラーを処理する装置であって、
ＦＩＦＯデバイスを介しアプリケーションデータを受信する少なくとも１つの共通のデータバスと、
前記データバスの各データバスに割り当てられた２以上のフラッシュメモリデバイスと少なくとも１つの非フラッシュメモリと、
を有し、
バスライトサイクルにおいて、バス毎の前記フラッシュメモリデバイスの２以上に、前記情報データが格納のために逐次的に供給され、
現在のバスライトサイクルにおいて、前記フラッシュメモリデバイスの少なくとも１つを前記現在のバスライトサイクル内の書き込みのために使用しないことでアイドルタイム期間を生じさせ、
前記情報データの現在部分は前記フラッシュメモリデバイスの現在のフラッシュメモリデバイスのページと非フラッシュメモリとに書き込まれ、
前記情報データの現在部分を前記現在のフラッシュメモリデバイスのページへの書き込み中にエラーが生じた場合、以降のバスライトサイクル中、不具合のあるページを含む前記現在のフラッシュメモリデバイスが通常のアイドル状態である場合に、前記非フラッシュメモリから前記現在のフラッシュメモリデバイスの仮の保存又は非欠陥ページに前記情報データの対応する格納された部分をコピーするため前記アイドルタイム期間が利用される、
ことを特徴とする装置。
【請求項７】
連続するバスライトサイクルの各バスライトサイクルにおいて、前記バス上の前記フラッシュメモリデバイスの異なる１つには、格納のため前記情報データの現在部分は供給されない、請求項６記載の装置。
【請求項８】
前記非フラッシュメモリは、ＳＲＡＭメモリである、請求項６又は７記載の装置。
【請求項９】
前記フラッシュメモリデバイスは、キャッシュモードで動作する、請求項６乃至８何れか一項記載の装置。
【請求項１０】
前記フラッシュメモリデバイスは、キャッシュモードでは動作せず、
３以上のフラッシュメモリデバイスが、前記共通のデータバスに割り当てられる、請求項６乃至８何れか一項記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のフラッシュメモリデバイスが共通のデータバスに割り当てられ、バスライトサイクルにおいて、これらのフラッシュメモリデバイスに格納のため情報データが逐次的に供給される、情報データをフラッシュメモリデバイスに書き込む際のライトエラーを処理するための方法及び装置に関する。
【背景技術】
【０００２】
Ｇｒａｓｓ  Ｖａｌｌｅｙ  ＶＥＮＯＭソリッドステートレコーダなどのストレージデバイスにおいて用いられるＮＡＮＤフラッシュ半導体デバイスは、動作中にエラーフリーではない。書き込みのため、フラッシュメモリデバイスはページ指向モードにおいて物理的にアクセスされ、これにより、１つのページは、１０２４又は２０４８データワード及び関連する誤り訂正コードを含む。将来的には、フラッシュデバイスは４０９６バイトページサイズを有することになるであろう。特定のフラッシュメモリに対するイレース処理は、特定サイズのデータブロックに対して実行可能である。このようなデータブロックは、６４ページを含むものであってもよい。
【０００３】
メモリ不具合のいくつかはストレージデバイスの製造中にすでに検出され、対応するメモリ位置又はページが“不良”及び使用不可としてマークされる。特定の回路は、情報データがこのような“不良”な位置に格納されることを回避する。しかしながら、フラッシュ半導体の寿命及び動作期間中に、さらなるメモリ不具合が発生する。関連する処理は、フラッシュメモリのこのような新たな不具合部分に情報データが書き込まれることを回避し、失われないようにしなければならない。対応する処理が、ＷＯ２００７／０８００３１Ａ１とＷＯ２００６／１０８７５５Ａ１などに記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】ＷＯ２００７／０８００３１Ａ１
【特許文献２】ＷＯ２００６／１０８７５５Ａ１
【特許文献３】ＵＳ２００９０３７６５２
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような処理の問題点は、フラッシュメモリの不具合エリアに書き込まれようとしたが、ＳＲＡＭメモリなどにキャッシュされる情報データが、実際の記録又は取得が終了した後にフラッシュメモリ内の“保存（ｓａｖｅ）”エリアにコピーされるということである。これは余計な時間がかかり、情報データが記録装置のフラッシュメモリ部分にまだ格納されない間、対応する情報はセキュアでない。空の電池により生じる動作エラー又はパワーダウンなどの記録装置の即座の不具合は情報ロスを導く。しかしながら、このような格納不具合は業務用のストレージシステムでは許容されない。
【０００６】
本発明により解決されるべき課題は、エラー処理が共通バスに付属する複数のフラッシュメモリのライトサイクル期間中に実行されるように、フラッシュメモリデバイスにおける情報データの書き込みエラーを適切に処理することである。この課題は、請求項１に記載の方法により解決される。当該方法を利用する装置が請求項２に記載される。
【課題を解決するための手段】
【０００７】
本発明の方法は、２以上のフラッシュメモリデバイスが共通のデータバスに割り当てられ、バスライトサイクルにおいて前記フラッシュメモリデバイスの２以上に格納のための情報データが逐次的に供給される、前記情報データをフラッシュメモリデバイスに書き込む際のライトエラーを処理する方法であって、前記バスライトサイクルにおいて、前記フラッシュメモリデバイスの少なくとも１つには、前記情報データの現在部分は格納のために供給されず、少なくとも前記情報データの現在部分を前記フラッシュメモリデバイスの現在のもののページに書き込み中にエラーが生じた場合、前記情報データの現在部分を非フラッシュメモリに書き込み、以降のバスライトサイクル中、不具合のあるページを含む前記フラッシュメモリデバイスが通常のアイドル状態である間、アイドル期間は、前記非フラッシュメモリから前記フラッシュメモリデバイスの仮の保存又は非欠陥ページに前記情報データの対応する格納された部分をコピーするのに使用されることを特徴とする方法である。
【０００８】
本発明の装置は、情報データをフラッシュメモリデバイスに書き込む際のライトエラーを処理する装置であって、少なくとも１つの共通のデータバスと、前記データバスの各データバスに割り当てられた２以上のフラッシュメモリデバイスと少なくとも１つの非フラッシュメモリとを有し、前記データバスの各データバスは、ＦＩＦＯデバイスを介しアプリケーションデータを受信し、バスライトサイクルにおいて、バス毎に前記フラッシュメモリデバイスの２以上には、格納のため前記情報データが逐次的に供給され、前記バスライトサイクルにおいて、前記フラッシュメモリデバイスの少なくとも１つには、格納のため前記情報データの現在部分が供給されず、少なくとも前記情報データの現在部分を前記フラッシュメモリデバイスの現在のフラッシュメモリデバイスのページに書き込み中にエラーが生じた場合、前記情報データの現在部分が前記非フラッシュメモリに書き込まれ、以降のバスライトサイクル中、不具合のページを含む前記フラッシュメモリデバイスが通常のアイドル状態にある間、アイドル期間が、前記非フラッシュメモリから前記フラッシュメモリデバイスの仮の保存又は非欠陥ページに前記情報データの対応する格納されている部分をコピーするのに使用されることを特徴とする装置に関する。
【０００９】
本発明のさらなる効果的な実施例は、各従属項に記載される。
【発明の効果】
【００１０】
本発明によると、動的な欠陥管理は、記録が終了した後に処理されるのでなく、当該記録とパラレルに処理される。
【００１１】
効果的には、格納のために欠陥のあるフラッシュメモリページに当初意図された情報データを格納するＳＲＡＭメモリの要求サイズがより小さくすることができる。
【００１２】
近年商業的に利用可能なＮＡＮＤフラッシュデバイスのＩ／Ｏデータレートが従来のフラッシュデバイスタイプのものより増大しているため、現在残っている利用可能な帯域幅が、本発明の内部コピー処理に利用可能である。
【００１３】
すべての情報データの保存格納が、フラッシュメモリデバイスにおける現在知られていないタイプの欠陥の場合であっても実現される。記録開始と取得終了との間に生じる低バッテリ状態によるシステム停止又は記録装置の不具合のケースにおいても、情報は失われない。
【図面の簡単な説明】
【００１４】
【図１】図１は、バス上の既知のメモリライトサイクルを示す。
【図２】図２は、本発明による第１ライトシーケンスにおけるバス上のメモリライトサイクルを示す。
【図３】図３は、アイドル状態である異なるフラッシュメモリによる連続的な完了したバスライトサイクルを示す。
【図４】図４は、本発明によるコピー処理を示す。
【発明を実施するための形態】
【００１５】
以下、図面に基づいて本発明の実施の形態を説明する。
【００１６】
既知のＮＡＮＤフラッシュメモリデバイスへのライトアクセスは２つのステップにより実行される。
【００１７】
２０４８又は４０９６バイトなどのデータ量（すなわち、１ページ）の情報データが、フラッシュメモリデバイスのＩ／Ｏピンから収集され、内部のバッファメモリに格納される。内部のバッファメモリ（１ページ）のコンテンツが、フラッシュメモリエリアにコピーされる。
【００１８】
一方、上記コピー処理は相対的に低速であり、典型的には、１ページについて７００μｓコピー時間である。他方、フラッシュメモリデバイスの外部からの内部バッファメモリへのアクセスは相対的に高速であり、現在のデバイスについては２０〜４０ＭＢのバスデータレートであり、次世代のフラッシュメモリデバイスについては２００ＭＢ／ｓまでとなる。
【００１９】
データレートの増大を実現するため、ＮＡＮＤフラッシュデバイスは、複数のバスにより制御されるメモリのマトリックスとして記録装置に配置することができる。１つのバスについて図１に示されるように、Ｎ個のＮＡＮＤフラッシュデバイスＤｅｖｉｃｅ０，Ｄｅｖｉｃｅ２，Ｄｅｖｉｃｅ２，．．．，ＤｅｖｉｃｅＮ−２，ＤｅｖｉｃｅＮ−１が各バスＢに接続される。第１行はＤｅｖｉｃｅ０の第１ライト期間を表し、第２行はＤｅｖｉｃｅ１の第２ライト期間を表すなどである。最終行はＤｅｖｉｃｅＮ−１の最後のライト期間を表す。バスに接続されるＮＡＮＤフラッシュデバイスの個数は、アプリケーションデータレートの要求を満たすため、上述したバスデータレートとコピー時間とに関して計算される。この書き込みは、インタリーブされた多重化として実行される。最新のアーキテクチャ（上述したＶＥＮＯＭ  ＦｌａｓｈＰａｋ）は、ライトエラーの場合に追加的なデータ転送の帯域幅を提供するものでない。
【００２０】
本発明によると、（要求されるアプリケーション帯域幅に関して）追加的な帯域幅が、図２に示されるように、１以上の追加的なフラッシュメモリデバイスをバス又はバスＢに追加することによって、又はより高速なフラッシュメモリデバイスを使用することによって加えられる。例えば、Ｎ個のフラッシュメモリデバイスが当初の帯域幅要求を実現するためバス上で必要とされる場合、バス上に存在するＮ＋１個のフラッシュメモリデバイスが、（Ｎ＋１）／Ｎのファクタだけ増加したＩ／Ｏ帯域幅を提供する。この追加的な帯域幅は、進行中のインタリーブされた多重化の内部においてＳＲＡＭメモリからフラッシュデバイスへの内部的なコピー処理を実現するのに利用される。この追加的な帯域幅は、フラッシュページライトエラーが生じたときに限って使用される。フラッシュデバイスの内部コピー処理のための追加的な帯域幅とインタフェース帯域幅との双方が、本発明のページライトエラー不具合管理を可能にするよう選択される。
【００２１】
エラーフリーページ書き込み処理期間中、図２のＤｅｖｉｃｅ０などのバスＢ上の１つのフラッシュデバイスは、現在のライトサイクル内の書き込みのために使用されない。図２は、Ｄｅｖｉｃｅ１から始まり、ＤｅｖｉｃｅＮで終了する１つのライトサイクルを示す。第１行はＤｅｖｉｃｅ１の第１ライト期間を表し、第２行はＤｅｖｉｃｅ２の第２ライト期間を表すなどである。最終行はＤｅｖｉｃｅＮの最後のライト期間を表す。以降のライトサイクル中、バスＢ上の他のフラッシュデバイスは当該ライトサイクルでは使用されないが、Ｄｅｖｉｃｅ０が代わりに当該ライトサイクルにおいて使用される。図示されないが、コントローラ又はプロセッサの対応するプログラムは、
・バスＢに付属されるフラッシュメモリＤｅｖｉｃｅ０〜ＤｅｖｉｃｅＮへのライト処理を制御し、
・現在のバスライトサイクルにおいて、バスＢ上の何れのフラッシュメモリが使用されないか制御し、
・バスＢ上のフラッシュメモリ又は他の何れか対応する状態データが書き込みエラー又は新たに不具合となった書き込みエリアを通知したかチェックし、
・図４に関して説明されるように、バスＢに付属する非フラッシュメモリに対する対応する情報データの転送を制御する。
【００２２】
図３は、一例となる（完了した）バスライトサイクルの連続するシーケンスを示す。各バスライトサイクルにおいて、異なるフラッシュデバイスがバスＢ上でアイドル状態であり、バスライトサイクル０においてＤｅｖｉｃｅ０から始まってバスライトサイクルＮにおいてＤｅｖｉｃｅＮで終了する。Ｎ＋１回のライトサイクルの後、各フラッシュデバイスはアイドル状態であった。
【００２３】
図４ａにおいて、Ｄｅｖｉｃｅ０などのフラッシュメモリの書き込みエラー又は当該フラッシュメモリの新たに不具合となった書き込みエリアが通知された場合（当該フラッシュメモリによって）、不具合のあるフラッシュページへの書き込みのための情報データは、ＳＲＡＭメモリなどの非フラッシュメモリに一時的に格納される。
【００２４】
あるいは、現在のフラッシュメモリに書き込まれたページ情報データはまたパラレルにＳＲＡＭメモリに書き込まれ、ＳＲＡＭメモリに以前に格納された情報データは適切な時点で削除又は上書きされる。これは、ＳＲＡＭメモリの記憶容量は他の実施例のものより大きいことが必要であることを意味する。以降のバスライトサイクル中、当該不具合ページを含むフラッシュメモリデバイスは通常はアイドル状態であるが、このアイドル期間は、図４ｂに示されるように、ＳＲＡＭメモリから当該フラッシュメモリデバイスの仮の保存又は非欠陥フラッシュページへのコピー処理を開始及び実行するのに利用される。その後、図４ｃに示されるように、処理が通常通り続けられる。バスＢの入力に配置されるＦＩＦＯは、フラッシュバスＢのファクタ（Ｎ＋１）／Ｎにより増加するデータレートを補償するのに利用される。
【００２５】
大部分のケースでは、３以上のフラッシュメモリデバイスＤｅｖｉｃｅ０，Ｄｅｖｉｃｅ１，．．．，ＤｅｖｉｃｅＮ−１が共通のデータバスＢに配置又は接続され、バスライトサイクルにおいて、これらのフラッシュメモリデバイスの２以上に格納のための情報データが逐次的に供給される。キャッシュメモリデバイス内において、第１ステップでは、情報データはフラッシュデバイスの内部のキャッシュメモリ部分に書き込まれ、第２ステップでは、当該キャッシュメモリからフラッシュメモリカーネルに転送又はプログラムされる。
【００２６】
しかしながら、“キャッシュモード”がフラッシュメモリについて使用される場合、以前に受信した情報データがキャッシュメモリからフラッシュメモリカーネルにプログラム（すなわち、格納）されながら（フラッシュメモリデバイスは、２つのキャッシュメモリ部分又は２つのキャッシュメモリを有する）、フラッシュメモリデバイスはフラッシュデバイスのキャッシュメモリ部分に情報データを書き込むことを許可する。このような“キャッシュモード”処理では、少なくとも２つのフラッシュメモリデバイスＤｅｖｉｃｅ０，Ｄｅｖｉｃｅ１，．．．，ＤｅｖｉｃｅＮ−１が共通のデータバスＢに配置又は接続される。
【００２７】
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００２８】
Ｄｅｖｉｃｅ  ＮＡＮＤフラッシュデバイス
【図１】
0005575555.tif 000002
【図２】
0005575555.tif 000003
【図３】
0005575555.tif 000004
【図４】
0005575555.tif 000005