(57)【要約】      （修正有）【課題】ガベージコレクションの発生等に伴う他フラッシュメモリへのデータコピーを、コピーコマンドを使用する場合と同等に高速化する。【解決手段】共通のデータ線が接続された複数のフラッシュメモリ部についてデータの読出／書込制御を行うように構成されたメモリ装置において、上記複数のフラッシュメモリ部のうち第１のフラッシュメモリ部に読出指示を行って当該第１のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第１のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第１のフラッシュメモリ部とは異なる第２のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第２のフラッシュメモリ部に書き込まれるようにする。【選択図】図４
2012230621.tif 000002
【特許請求の範囲】
【請求項１】
共通のデータ線が接続された複数のフラッシュメモリ部と、
上記複数のフラッシュメモリ部のデータ書込／読出のための制御を行う制御部とを備え、
上記制御部は、
上記複数のフラッシュメモリ部のうち第１のフラッシュメモリ部に読出指示を行って当該第１のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第１のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第１のフラッシュメモリ部とは異なる第２のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第２のフラッシュメモリ部に書き込まれるように制御する
メモリ装置。
【請求項２】
上記制御部は、
上記読出指示をリードイネーブル信号、上記書込指示をライトイネーブル信号によりそれぞれ行う
請求項１に記載のメモリ装置。
【請求項３】
上記リードイネーブル信号が表すビット読出タイミングから所定時間遅延したタイミングで書込指示のタイミングを表す上記ライトイネーブル信号により上記書込指示を行う
請求項２に記載のメモリ装置。
【請求項４】
上記リードイネーブル信号と上記ライトイネーブル信号を上記制御部から上記フラッシュメモリ部に供給するための信号線が各上記フラッシュメモリ部ごとに共通線とされる
請求項２に記載のメモリ装置。
【請求項５】
上記制御部は、
ガベージコレクション処理に伴う上記第１のフラッシュメモリ部から上記第２のフラッシュメモリ部へのデータコピー時において、上記読出指示と上記書込指示とによる読出及び書込が行われるようにする
請求項１に記載のメモリ装置。
【請求項６】
ＤＤＲ（Double Data Rate）規格に対応して上記制御部と各上記フラッシュメモリ部との間にＤＱＳ信号線が接続されており、
上記制御部は、
読出対象とされた上記第１のフラッシュメモリ部からのデータの読出タイミングに応じたタイミングでの書込タイミングを表すＤＱＳ入力信号を生成し、当該ＤＱＳ入力信号を書込対象とされた上記第２のフラッシュメモリ部の上記ＤＱＳ信号線に供給することで、上記共通のデータ線に得られた上記第１のフラッシュメモリ部からの読出データが上記第２のフラッシュメモリ部に書き込まれるように制御する
請求項１に記載のメモリ装置。
【請求項７】
上記制御部は、
上記第１のフラッシュメモリ部からの上記ＤＱＳ出力信号を所定時間遅延させて上記ＤＱＳ入力信号を生成する
請求項６に記載のメモリ装置。
【請求項８】
上記共通のデータ線に接続されたバッファメモリをさらに備え、
上記制御部は、
上記バッファメモリに蓄積された上記第１のフラッシュメモリ部からの読出データについて誤り検査を行うと共に、その結果に基づき、誤り訂正が必要とされた場合は、上記第２のフラッシュメモリ部に書き込まれた上記読出データのうち、誤り訂正が必要とされるデータ部分のみが修正されるように制御する
請求項１に記載のメモリ装置。
【請求項９】
上記制御部は、
上記誤り検査の結果に基づき、誤り訂正が必要でないとされた場合は、上記第２のフラッシュメモリ部に書き込まれた上記読出データが破棄されるように制御する
請求項８に記載のメモリ装置。
【請求項１０】
共通のデータ線が接続された複数のフラッシュメモリ部についてデータの読出／書込制御を行うメモリ制御装置であって、
上記複数のフラッシュメモリ部のうち第１のフラッシュメモリ部に読出指示を行って当該第１のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第１のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第１のフラッシュメモリ部とは異なる第２のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第２のフラッシュメモリ部に書き込まれるように制御する
メモリ制御装置。
【請求項１１】
共通のデータ線が接続された複数のフラッシュメモリ部についてデータの読出／書込制御を行うメモリ制御方法であって、
上記複数のフラッシュメモリ部のうち第１のフラッシュメモリ部に読出指示を行って当該第１のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第１のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第１のフラッシュメモリ部とは異なる第２のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第２のフラッシュメモリ部に書き込まれるように制御する
メモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリを備えたメモリ装置、及びフラッシュメモリに対するデータの読出／書込制御を行うメモリ制御装置とその方法に関する。
【先行技術文献】
【特許文献】
【０００２】
【特許文献１】特開２００７−１９３８８３号公報
【背景技術】
【０００３】
不揮発性メモリの一種としてフラッシュメモリが広く知られている。
フラッシュメモリとして、特にＮＡＮＤ型フラッシュメモリは、安価で且つデータの書込／読出速度が比較的高速であるため、ＨＤＤ（Hard Disk Drive）等の既存の記憶装置に代わるものとして期待されている。
【０００４】
ＮＡＮＤ型フラッシュメモリは、データの格納位置によって読出／書込速度が変わることや、読出／書込単位に対して消去単位が大きいため、高いパフォーマンスを維持するために定期的にガベージコレクションを行うようにされている（例えば上記特許文献１を参照）。
ガベージコレクションでは、フラッシュメモリ内の複数のブロックに分散して存在する有効データを寄せ集めて所定のブロックにマージするということが行われるため、多くの場合、或るフラッシュメモリから他のフラッシュメモリへのデータのコピーを伴う。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、ＮＡＮＤ型フラッシュメモリには、いわゆるコピーコマンド（コピーバックコマンド）が存在するが、このコピーコマンドは、コピー先とコピー元が同一のフラッシュメモリ内であることを前提としたコマンドであり、例えば上記のようなガベージコレクションの発生に伴う他フラッシュメモリへのデータコピー時においては、これを使用することができない。
【０００６】
このため、従来のフラッシュメモリにおいて、異なるフラッシュメモリ間でのデータコピーを行う際には、コピー元のメモリから一旦外部バッファに読み出しを行った上で、そのデータをコピー先のフラッシュメモリに転送して書き込むということを行う必要があった。
【０００７】
図１３により、従来のデータコピーに要していた時間長について説明する。
図１３において、図１３Ａは比較として、前述のコピーコマンドを使用した場合について示している。図１３Ｂは、上記のような異なるフラッシュメモリ間でのデータコピーについて示している。
【０００８】
図１３Ｂにおいて、従来、異なるフラッシュメモリ間でのデータコピーを行う場合には、先ずはリードコマンドを発行してコピー元のフラッシュメモリからのデータ読出を行う。この読出データは、データ線を介してバッファメモリに蓄積される。
そして、当該読出（蓄積）の完了後、コピー先のフラッシュメモリにライトコマンドを発行し、上記のように蓄積された読出データをコピー先フラッシュメモリに対して書き込む。
【０００９】
なお、図１３Ａのコピーコマンド使用の場合、データコピーは対象とするフラッシュメモリ内で完結するものであるため、読出データのバッファメモリへの転送は不要である。従ってこの場合、コピーに要する時間長は、図１３Ｂの場合のおよそ半分で済むものとなる。
【００１０】
このように従来の手法では、異なるフラッシュメモリ間でのデータコピーの際に、バッファメモリを介すため、データ転送がデータ線上において２度発生することとなり、結果として処理速度が低下する傾向となる。
【００１１】
本技術はかかる問題点に鑑みなされたもので、フラッシュメモリを備えたメモリ装置において、例えばガベージコレクションの発生等に伴う他フラッシュメモリへのデータコピーを、コピーコマンドを使用する場合と同等に高速化することをその課題とする。
【課題を解決するための手段】
【００１２】
上記課題の解決を図るため、本技術では、メモリ装置として以下のものを提案する。
すなわち、本技術のメモリ装置は、共通のデータ線が接続された複数のフラッシュメモリ部を備える。
また、上記複数のフラッシュメモリ部のデータ書込／読出のための制御を行う制御部とを備える。
そして、上記制御部が、上記複数のフラッシュメモリ部のうち第１のフラッシュメモリ部に読出指示を行って当該第１のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第１のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第１のフラッシュメモリ部とは異なる第２のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第２のフラッシュメモリ部に書き込まれるように制御するものである。
【００１３】
また、本技術では、メモリ制御装置として以下のものを提案する。
つまり本技術のメモリ制御装置は、共通のデータ線が接続された複数のフラッシュメモリ部についてデータの読出／書込制御を行うメモリ制御装置であって、上記複数のフラッシュメモリ部のうち第１のフラッシュメモリ部に読出指示を行って当該第１のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第１のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第１のフラッシュメモリ部とは異なる第２のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第２のフラッシュメモリ部に書き込まれるように制御するものである。
【００１４】
また、本技術では、メモリ制御方法として以下のものを提案する。
すなわち、本技術のメモリ制御方法は、共通のデータ線が接続された複数のフラッシュメモリ部についてデータの読出／書込制御を行うメモリ制御方法であって、上記複数のフラッシュメモリ部のうち第１のフラッシュメモリ部に読出指示を行って当該第１のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第１のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第１のフラッシュメモリ部とは異なる第２のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第２のフラッシュメモリ部に書き込まれるように制御するものである。
【００１５】
上記構成によれば、第１のフラッシュメモリ部のデータの読出と、その読出データの第２のフラッシュメモリ部への書き込みとを同時並行的に行うことができる。
上記共通のデータ線に得られた読出データを他のフラッシュメモリ部に並行して書き込むことができるので、他フラッシュメモリへのコピー時にバッファメモリの介在を要する従来の場合と比較して、コピー速度を飛躍的に向上できる。
【発明の効果】
【００１６】
本技術によれば、第１のフラッシュメモリ部からの読出とその読出データの第２のフラッシュメモリ部への書込を並行して行うことができるので、コピー時間は、従来のコピーコマンドを使用する場合と同等程度に短縮化することができる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施の形態としてのメモリ装置の内部構成を示した図である。
【図２】第１の実施の形態のメモリ制御手法を採用した場合のデータコピーに要する時間長について説明するための図である。
【図３】第１の実施の形態のメモリ装置の制御部が備えるべき構成を主に示した図である。
【図４】第１の実施の形態のメモリ制御手法の実現にあたり用いられる各信号のタイミングチャートである。
【図５】第１の実施の形態の場合におけるData Setup Time(tDS)とData Hold Time(tDH)についての説明図である。
【図６】ＥＤＯモード時に対応して第１の実施の形態のメモリ制御手法を実行した場合の動作波形を示したタイミングチャートである。
【図７】第１の実施の形態としてのメモリ制御手法を実現するために実行すべき具体的な処理手順を示したフローチャートである。
【図８】第２の実施の形態のメモリ装置の内部構成について説明するための図である。
【図９】第２の実施の形態のメモリ制御手法について説明するためのタイミングチャートである。
【図１０】第２の実施の形態の場合におけるData Setup Time(tDS)とData Hold Time(tDH)についての説明図である。
【図１１】第３の実施の形態としてのメモリ装置の内部構成を示した図である。
【図１２】第３の実施の形態としてのメモリ制御手法を実現するために実行すべき具体的な処理手順を示したフローチャートである。
【図１３】従来のデータコピーに要していた時間長について説明するための図である。
【発明を実施するための形態】
【００１８】
以下、本技術に係る実施の形態について説明する。
なお、説明は以下の順序で行う。
＜１．第１の実施の形態＞
［1-1．メモリ装置の内部構成］
［1-2．第１の実施の形態のメモリ制御手法］
［1-3．処理手順］
＜２．第２の実施の形態＞
［2-1．メモリ装置の内部構成］
［2-2．第２の実施の形態のメモリ制御手法］
＜３．第３の実施の形態＞
［3-1．メモリ装置の内部構成及びメモリ制御手法］
［3-2．処理手順］
＜４．変形例＞
【００１９】
＜１．第１の実施の形態＞
［1-1．メモリ装置の内部構成］
図１は、本技術に係る第１の実施の形態としてのメモリ装置（以下、メモリ装置１とする）の内部構成を示している。
図１において、メモリ装置１は、図のように複数のフラッシュメモリ２と、これらフラッシュメモリ２に対する書込／読出制御を行うためのコントローラ３と、当該コントローラ３のワーク領域として用いられるＲＡＭ（Random Access Memory）４と、上記フラッシュメモリ２の読出／書込データが一時蓄積されるバッファＲＡＭ５と、外部インターフェイス６とを備えている。
【００２０】
フラッシュメモリ２は、ＮＡＮＤ型のフラッシュメモリとされる。図１では、フラッシュメモリ２が４つ備えられている例を示しており、それぞれをフラッシュメモリ２-0、フラッシュメモリ２-1、フラッシュメモリ２-2、フラッシュメモリ２-3と表記している。
【００２１】
これらフラッシュメモリ２の個々に対しては、図のようにコントローラ３との間で信号線Ｌｅがそれぞれ接続されている。フラッシュメモリ２-0との間の信号線Ｌｅは信号線Ｌｅ-0、フラッシュメモリ２-1との間の信号線Ｌｅは信号線Ｌｅ-1、フラッシュメモリ２-2との間の信号線Ｌｅは信号線Ｌｅ-2、フラッシュメモリ２-3との間の信号線Ｌｅは信号線Ｌｅ-3とする。
当該信号線Ｌｅは、読出又は書込の対象とするフラッシュメモリ２に対してデータの読出又は書込のタイミングを指示するために用いるイネーブル（Enable）信号（後述するリードイネーブル信号、又はライトイネーブル信号）を供給するための信号線となる。なおこの意味で、信号線Ｌｅについてはイネーブル信号線Ｌｅとも表記する。
【００２２】
また、各フラッシュメモリ２に対しては、共通のデータ線Ｌdtが接続されている。このデータ線Ｌdtは、図のようにバッファＲＡＭ５に対しても接続されており、これによって当該バッファＲＡＭ５からの書込データのフラッシュメモリ２への供給、及びフラッシュメモリ２からの読出データのバッファＲＡＭ５への供給が可能とされている。
【００２３】
なお、コントローラ３側とフラッシュメモリ２側との間の配線については本実施の形態のメモリ制御手法に係るもののみを特に抽出して示しており、実際には、例えば読出／書込のアドレス指定を実現するための信号線等の他の配線も接続されるものである。
【００２４】
コントローラ３は、メモリ装置１の全体制御を行う。
具体的には、例えば外部インターフェイス６が外部のホスト機器から受信したコマンドの解釈、コマンドに応じたフラッシュメモリ２に対するデータの書込／読出制御、フラッシュメモリ２の記録データを管理するための各種の管理情報の生成等、さらにはフラッシュメモリ２へのデータ書込時のＥＣＣ(Error Correction Code)データ生成・付加、読出時のＥＣＣエラー訂正処理などを行う。
【００２５】
外部インターフェイス６は、外部のホスト機器とコントローラ３との間で各種データの送受信を可能とするために設けられ、上記ホスト機器からのコマンド受信やデータの送受信等を行う。
上記ホスト機器から書込指示されたデータは、当該外部インターフェイス６を介してバッファＲＡＭ５に一時蓄積された後、コントローラ３の制御により、データ線Ｌdtを介して所定のフラッシュメモリ２（アドレス）に書き込まれる。
また、ホスト機器から或るフラッシュメモリ２（アドレス）に書き込まれたデータの読出指示があった場合、コントローラ３の制御により当該フラッシュメモリ２からの読出データがデータ線Ｌdtを介してバッファＲＡＭ５に一時蓄積された後、外部インターフェイス６を介して上記ホスト機器に対して送出される。
【００２６】
［1-2．第１の実施の形態のメモリ制御手法］
本実施の形態では、上記のように各フラッシュメモリ２に共通のデータ線Ｌdtが接続された構成とした上で、異なるフラッシュメモリ２へのデータコピーが発生した場合において、以下のような手法によるコピー処理が実行されるようにする。
すなわち、フラッシュメモリ２のうちデータのコピー元となるフラッシュメモリ２に読出指示を行って当該コピー元のフラッシュメモリ２からデータ線Ｌdtに読出データを出力させると共に、当該コピー元のフラッシュメモリ２から読出データが出力されるタイミングに応じたタイミングで、コピー先のフラッシュメモリ２に書込指示を行うことで、上記のようにデータ線Ｄdtに得られた読出データがコピー先のフラッシュメモリ２に書き込まれるようにするというものである。
このような手法により、コピー元のフラッシュメモリ２からのデータ読出と、その読出データについてのコピー先のフラッシュメモリ２に対する書込とが同時並行的に行われるようにすることができる。
【００２７】
図２は、本実施の形態の手法を採用した場合のデータコピーに要する時間長について説明するための図である。
先の図１３と比較して分かるように、本実施の形態によれば、他のフラッシュメモリ２に対するデータコピーに要する時間長は図１３Ａに示すコピーコマンドを用いた場合と同等とでき、図１３Ｂに示した、データコピー時にバッファメモリの介在を要する従来手法と比較して、コピー時間長をおよそ半分に抑えることができる。
【００２８】
上記により説明した本実施の形態としてのメモリ制御手法を実現するための具体的な構成、及び制御内容について図３〜図５を参照して説明する。
図３は、本実施の形態のメモリ制御手法の実現のためにコントローラ３が備えるべき具体的な構成を主に示しており、図４は、本実施の形態のメモリ制御手法の実現にあたり用いられる各信号のタイミングチャートを示している。なお図４において、ＤＴはDataの略である。
図３においては、コントローラ３が備えるべき構成と共に、図１に示したフラッシュメモリ２、バッファＲＡＭ５、イネーブル信号線Ｌｅ、及びデータ線Ｌdtも併せて示している。図示の都合上、フラッシュメモリ２に関してはフラッシュメモリ２-0とフラッシュメモリ２-1のみが備えられているものとしている。
ここで、以下での説明においては、データのコピー元がフラッシュメモリ２-0とされ、コピー先がフラッシュメモリ２-1とされた場合を例示する。
【００２９】
図３において、この場合のコントローラ３は、クロックＣＬＫに基づくストローブ（Strobe）信号を生成する。ストローブ信号の周波数はクロックＣＬＫの周波数に一致する。
【００３０】
本例の場合、コントローラ３は、上記ストローブ信号に基づいてリードイネーブル（Read Enable）信号ＲＥ、及びライトイネーブル（Write Enable）信号ＷＥをそれぞれ生成する。具体的に、コントローラ３は、ストローブ信号を入力する可変遅延回路３Ａを複数有しており、これら可変遅延回路３Ａによってストローブ信号からリードイネーブル信号ＲＥ、ライトイネーブル信号ＷＥを生成する。
本例において、可変遅延回路３Ａは、イネーブル信号線Ｌｅごとに設けられる。すなわち、フラッシュメモリ２ごとに設けられている。
この場合、イネーブル信号線ＬｅはＬｅ-0とＬｅ-1のみが設けられているので、可変遅延回路３Ａとしては信号線Ｌｅ-0に対応する可変遅延回路３Ａ-0、信号線Ｌｅ-1に対応する可変遅延回路３Ａ-1の２つが設けられる。
【００３１】
ここで、図４を参照して分かるように、リードイネーブル信号ＲＥは、ストローブ信号の位相を１／４周期分遅延させたものとなる。つまりこの場合のコントローラ３は、或るフラッシュメモリ２-xに書き込まれたデータの読出を行うとしたときは、そのフラッシュメモリ２-xに接続されたイネーブル信号線Ｌｅ-xと接続されている可変遅延回路３Ａ-xの遅延量をストローブ信号の１／４周期分の遅延量に設定する。
この場合の例のように、フラッシュメモリ２-0のデータをフラッシュメモリ２-1にコピーするとした場合において、フラッシュメモリ２-0からコピー対象のデータを読み出すとしたときは、可変遅延回路３Ａ-0にストローブ信号の１／４周期分の遅延量を設定して、フラッシュメモリ2-0にリードイネーブル信号ＲＥを与えることになる。
なお、以下、リードイネーブル信号ＲＥの生成のために可変遅延回路３Ａに対して設定される遅延量のことを便宜上「リード用遅延量」と表記する。
【００３２】
このようなリードイネーブル信号ＲＥの供給に応じて、コピー先のフラッシュメモリ２-0からは、図４中「ＤＴ out_0」と示すように、リードイネーブル信号ＲＥの立ち下がりタイミング（時点ｔ１，ｔ３，ｔ５）ごとに、１ビット分のデータの読出が順次為されることになる。
【００３３】
ここで、このようにフラッシュメモリ２-0から読み出されたデータは、データ線Ｌdtに出力されることになるが、このとき、読出データがデータ線Ｌdtに得られるまでには、或る程度の時間を要する。
このため、フラッシュメモリ２-0からの読出データをフラッシュメモリ２-1に書き込ませるために当該フラッシュメモリ２-1に対して与えるべきライトイネーブル信号ＷＥとしては、これが表す書込タイミングが、コピー元のフラッシュメモリ２-0に対して与えたリードイネーブル信号ＲＥの表す読出タイミングよりも所定時間だけ遅延されるように生成する。
なお、本例において、ライトイネーブル信号ＷＥは、その立ち上がりタイミング（時点ｔ２、ｔ４，ｔ６）によりデータの書き込みタイミングを表すものである。
【００３４】
ここで、ＮＡＮＤ型フラッシュメモリの場合、信号線Ｌｅに対してデータ線Ｌdtを入出力する信号が有効となるタイミングがベンダによって規定されている。
図５に示すように、ライトイネーブル信号ＷＥの立ち上がり以前に有効なデータを設定しておく必要のあるData Setup Time(ｔＤＳ)、以降に有効なデータを設定し続けておく必要のあるData Hold Time(ｔＤＨ)がベンダにより規定されている。
例えば、ｔＤＳが５ns、ｔＤＨが１５nsと規定されていた場合、ライトイネーブル信号ＷＥに対してリードイネーブル信号ＲＥを5ns以上遅延させることが望ましい（図５中「delay」）。
このとき、イネーブル信号の周期は、少なくともｔＤＳとｔＤＨの和である２０ns以上に設定することとなる。
【００３５】
フラッシュメモリ２-0からの読出データをフラッシュメモリ２-1に書き込ませるとした場合、コントローラ３は、図３に示す可変遅延回路３Ａ-1に対し、当該可変遅延回路３Ａ-1から出力されるライトイネーブル信号ＷＥとして、上記のようなリードイネーブル信号ＲＥとの位相差（例えば上記５nsに相当する位相差）を有する信号が得られるように予め設定された遅延量を設定する。
なお、このように他フラッシュメモリ２へのデータコピー時においてコピー先のフラッシュメモリ２に対し供給すべきライトイネーブル信号ＷＥの生成のために可変遅延回路３Ａに設定すべき遅延量については、「ライト用遅延量」と表記する。
【００３６】
上記のように生成されたライトイネーブル信号ＷＥの供給により、この場合のフラッシュメモリ２-1（コピー先フラッシュメモリ）は、フラッシュメモリ２-0から読み出されデータ線Ｌdt上に得られた読出データを、１ビットごとに確実に書き込むことができる。
【００３７】
ここで、上記による説明では、フラッシュメモリ２-0からフラッシュメモリ２-1へのデータコピー時に対応して実行すべき処理について説明したが、逆に、フラッシュメモリ２-1からフラッシュメモリ２-0にデータコピーを行うとされた場合には、可変遅延回路３Ａ-1に対してリード用遅延量を、可変遅延回路３Ａ-0に対してライト用遅延量をそれぞれ設定するものとすればよい。
【００３８】
なお、ＮＡＮＤ型フラッシュメモリでは、ＥＤＯ（Extended Data Output）モードを設定可能なものがあるが、当該ＥＤＯモード時においても、上記のメモリ制御手法により、同様に他フラッシュメモリへのデータコピーを適正に行うことができる。
図６は、ＥＤＯモード時に対応して本実施の形態のメモリ制御手法を実行した場合における図４と同様の動作波形を示している。なおこの場合もフラッシュメモリ２-0からフラッシュメモリ２-1へのデータコピーが行われる場合を例示している。
この図６を参照すれば、ＥＤＯモードではリードイネーブル信号ＲＥの１周期が読出期間となるだけで、前述した生成手法でフラッシュメモリ２-0に対するリードイネーブル信号ＲＥ、フラッシュメモリ２-1に対するライトイネーブル信号ＷＥを生成することにより、コピー先であるフラッシュメモリ２-1が、データ線Ｌdt上に得られたフラッシュメモリ２-0からの読出データを、図４の場合と同様に適正に書き込むことができることが分かる。
【００３９】
［1-3．処理手順］
図７のフローチャートを参照して、上記によるメモリ制御手法の実現のためにコントローラ３が実行すべき具体的な処理の手順を説明する。
図７において、ステップＳ１０１では、他フラッシュメモリへのコピーの発生を待機する。すなわち、図１に示したフラッシュメモリ２のうち或るフラッシュメモリ２に書き込まれているデータを他のフラッシュメモリ２に対して書き込むべき状態となることが検知されるまで待機するものである。
これまでの説明からも理解されるように、他フラッシュメモリへのコピーの発生要因としては、ガベージコレクションの発生等を挙げることができる。
【００４０】
ステップＳ１０１において、他フラッシュメモリへのコピーが発生したとされた場合は、ステップＳ１０２において、コピー元メモリへのリードイネーブル信号ＲＥの出力、コピー先メモリへのライトイネーブル信号ＷＥの出力を開始するための処理を行う。
本例の場合、リードイネーブル信号ＲＥ、ライトイネーブル信号ＷＥはストローブ信号を可変遅延回路３Ａにより所定量だけ遅延（前述のリード用遅延量、ライト用遅延量）させて生成するものとしている。従ってステップＳ１０２の処理としては、ストローブ信号のトグルを開始すると共に、コピー元のフラッシュメモリ２に接続された可変遅延回路３Ａに前述のリード用遅延量を、またコピー先のフラッシュメモリ２に接続された可変遅延回路３Ａにライト用遅延量をそれぞれ設定することとなる。
【００４１】
ステップＳ１０２の処理の実行後は、ステップＳ１０３においてコピーが終了するまで待機する。つまり、コピー対象とされたデータのコピー先フラッシュメモリへの書込が全て終了するまで待機する。
【００４２】
ステップＳ１０３においてコピーが終了したとされた場合は、ステップＳ１０４に進み、リードイネーブル信号ＲＥの出力、ライトイネーブル信号ＷＥの出力を停止するための処理を実行する。本例の場合は、ストローブ信号のトグルを停止することで、リードイネーブル信号ＲＥの出力、ライトイネーブル信号ＷＥの出力が停止されるようにすることになる。
【００４３】
ステップＳ１０４の処理の実行後、この図に示す他フラッシュメモリへのコピーのための処理は終了となる。
【００４４】
上記により説明した本実施の形態のメモリ制御手法によれば、コピー元フラッシュメモリのデータの読出と、その読出データのコピー先フラッシュメモリへの書き込みとを同時並行して行うことができる。これによれば、他フラッシュメモリへのコピーにあたりバッファＲＡＭ５の介在を要する従来のコピー手法と比較して、コピー速度を飛躍的に向上できる。
【００４５】
なお、上記による説明では、主に、コピー元フラッシュメモリのデータの読出とその読出データのコピー先フラッシュメモリへの書き込みとを同時並行して行う処理についてのみ説明したが、実際においては、このような同時書込処理と並行として、コピー元フラッシュメモリからの読出データ（つまりバッファＲＡＭ５に蓄積されるデータ）についてコントローラ３がエラーチェック処理、及び必要に応じてエラー訂正処理を実行することになる。このとき、エラー訂正を実行したときは、コントローラ３は、コピー先フラッシュメモリに書き込まれた読出データのうち該当する箇所のデータを、エラー訂正後のデータに書き換える処理を実行する。
これにより、データのコピーと共に、データの信頼性低下の抑制を図ることができる。
【００４６】
＜２．第２の実施の形態＞
［2-1．メモリ装置の内部構成］
続いて、第２の実施の形態について説明する。
第２の実施の形態は、ＤＤＲ（Double Data Rate）規格が採用されたＮＡＮＤ型フラッシュメモリへの適用例である。
【００４７】
図８は、第２の実施の形態のメモリ装置の内部構成について説明するための図である。
なお、第２の実施の形態のメモリ装置の構成としては、コントローラ３に代えてコントローラ７が設けられた点、当該コントローラ７から各フラッシュメモリ２への配線が異なる点以外は第１の実施の形態のメモリ装置１の場合と同様となる。
このため図８では、第２の実施の形態のメモリ装置の構成に関して、コントローラ７の内部構成と上記配線のみを主に示している。なおこの図８においても先の図３と同様に、フラッシュメモリ２としてはフラッシュメモリ２-0とフラッシュメモリ２-1のみが設けられたものとしており、また、バッファＲＡＭ５も併せて示している。
【００４８】
ＤＤＲ転送がサポートされる場合は、リードイネーブル信号ＲＥ、ライトイネーブル信号ＷＥとは別に、データの入出力に使用するＤＱＳ信号（データストローブ信号）をコントローラ７から供給するためのＤＱＳ線Ｌdqsが、各フラッシュメモリ２に独立して接続される。
図示するように、フラッシュメモリ２-0に接続されるＤＱＳ信号線Ｌdqsは「Ｌdqs-0」、フラッシュメモリ２-1に接続されるＤＱＳ信号線Ｌdqsは「Ｌdqs-1」とする。
【００４９】
周知のように、ＤＤＲが採用される場合、リード時にはフラッシュメモリ２側からＤＱＳ信号が出力され、レシーバ側（読出データの取込側）は、このようにフラッシュメモリ２側から出力されるＤＱＳ信号が示すタイミングでデータの取込を行うようにされる。
一方、データの書込時には、フラッシュメモリ２側にＤＱＳ信号を入力して、データの書込タイミングを指示することになる。
なお、以下、読出時に対応してフラッシュメモリ２側から出力されるＤＱＳ信号については便宜上「ＤＱＳ出力信号」とし、書込時に対応してフラッシュメモリ２に対して書込タイミング指示のために与えるＤＱＳ信号については「ＤＱＳ入力信号」とする。
【００５０】
ここで、図中の「ＤＱＳ出力」は、読出時に対応してフラッシュメモリ２側から出力されるＤＱＳ出力信号を表すものである。
【００５１】
また図８では、コントローラ７側から各フラッシュメモリ２に供給されるクロックＣＬＫの信号線Ｌclkも示している。図のようにフラッシュメモリ２-0に接続される信号線Ｌclkは「Ｌclk-0」、フラッシュメモリ２-1に接続される信号線Ｌclkは「Ｌclk-1」とする。
【００５２】
なお、この場合もコントローラ側とフラッシュメモリ側との間の配線については本実施の形態のメモリ制御手法に係るもののみを特に抽出して示しており、実際には、例えばアドレスを指定するための信号線等の他の配線も接続されるものである。例えば、一例としてはＣＬＥ（Command Latch Enable）信号やＡＬＥ（Address Latch Enable）信号の供給線等を挙げることができる。
【００５３】
図示するようにクロックＣＬＫは、コントローラ７内に設けられた可変遅延回路７Ａを介して信号線Ｌclkに供給される。
具体的に、フラッシュメモリ２-0に対しては、可変遅延回路３Ａ-0を介したクロックＣＬＫが信号線Ｌclk-0を介して供給される。同様に、フラッシュメモリ２-1に対しては、可変遅延回路３Ａ-1を介したクロックＣＬＫが信号線Ｌclk-1を介して供給される。
可変遅延回路３Ａ-0を介してフラッシュメモリ２-0に与えられるクロックＣＬＫは「ＣＬＫ_0」、可変遅延回路３Ａ-1を介してフラッシュメモリ２-1に与えられるクロックＣＬＫは「ＣＬＫ_1」とする。
【００５４】
またこの場合、コントローラ７内には、フラッシュメモリ２と同数のスイッチＳＷが設けられる。図のようにフラッシュメモリ２-0に対応して設けられたスイッチＳＷは「ＳＷ-0」、フラッシュメモリ２-1に対応して設けられたスイッチＳＷは「ＳＷ-1」とする。
この場合のスイッチＳＷは、端子ｔ１に対して端子ｔ２、端子ｔ３、端子ｔ４を択一的に選択可能なスイッチとされる。すなわち、端子ｔ２又は端子ｔ３又は端子ｔ４に入力された信号の何れか１つを選択して、端子ｔ１より出力するように構成されている。
図のように、端子ｔ１の出力は、バッファアンプ７Ｂを介してＤＱＳ信号線Ｌdqsに供給される。ここで、ＤＱＳ信号線Ｌdqs-0を介してフラッシュメモリ２-0に与えられるＤＱＳ信号（ＤＱＳ入力信号）についてはＤＱＳ_0と表記し、ＤＱＳ信号線Ｌdqs-1を介してフラッシュメモリ２-1に与えられるＤＱＳ信号（ＤＱＳ入力信号）についてはＤＱＳ_1と表記する。
【００５５】
スイッチＳＷの端子ｔ４には、ＤＱＳ入力信号が与えられる。他フラッシュメモリからのデータコピーではなく通常の書込動作時には、当該端子ｔ４が選択されて、書込対象のフラッシュメモリ２に対して当該ＤＱＳ入力信号が供給されることになる。
【００５６】
また、スイッチＳＷの端子ｔ３には、そのスイッチＳＷが対応して設けられたフラッシュメモリ２が読出時に出力するＤＱＳ出力信号が入力される。
【００５７】
また、スイッチＳＷ-1において、その端子ｔ２に対しては、スイッチＳＷ-0の端子ｔ１からの出力が、バッファアンプ７Ｂ-0→バッファアンプ７Ｃ-0→遅延回路７Ｄ-1を介して入力されるものとなっている。
【００５８】
なお、図８では図示の都合から示さなかったが、コントローラ７内には、フラッシュメモリ２-0に対応する遅延回路７Ｄとして、遅延回路７Ｄ-0が設けられる。そして、スイッチＳＷ-0側の端子ｔ２に対しては、スイッチＳＷ-1の端子ｔ１からの出力が、図中のバッファアンプ７Ｂ-1、バッファアンプ７Ｃ-1を介した後、当該遅延回路７Ｄ-0を介して入力されることになる。
【００５９】
［2-2．第２の実施の形態のメモリ制御手法］
図９のタイミングチャートを参照して、第２の実施の形態のメモリ制御手法について説明する。
なお図９では、フラッシュメモリ２-0からフラッシュメモリ２-1へのデータコピー時に対応して得られるＣＬＫ_0、ＡＬＥ／ＣＬＥ_0、ＤＱＳ out_0、ＤＴ out_0、ＣＬＫ_１、ＡＬＥ／ＣＬＥ_1、ＤＱＳ in_1、ＤＴ in_1をそれぞれ示している。
なお、ＡＬＥ／ＣＬＥ_0、ＡＬＥ／ＣＬＥ_1はそれぞれコントローラ７側からフラッシュメモリ２-0、フラッシュメモリ２-1に供給されるＡＬＥ信号、ＣＬＥ信号を意味し、ＤＱＳ out_0はフラッシュメモリ２-0側から出力されるＤＱＳ出力信号、ＤＱＳ in_1はフラッシュメモリ２-1に供給されるＤＱＳ入力信号を意味する。なおこの場合もＤＴはDataの略である。
【００６０】
先ず、ＤＤＲ規格が採用される第２の実施の形態の場合には、フラッシュメモリ２-0の読出に伴い、図中のＤＱＳ out_0と示すようなＤＱＳ出力信号がフラッシュメモリ２-0側から得られる。この場合の読出データは、当該ＤＱＳ出力信号の半周期の期間ごとにデータ線Ｌdt上に得られることとなる。
【００６１】
ここで、ＤＤＲ転送において、読出データがデータ線Ｌdt上に得られるタイミングは、クロックＣＬＫの立ち上がり／立ち下がりタイミングに対しては、必ずしも一致するものとはならない。特に、フラッシュメモリ２の動作温度変化に対して、両者のタイミング差は比較的大きなものとなる。
このため、本例においては、コピー先のフラッシュメモリ２-1に対して与えるべきＤＱＳ入力信号を、クロックＣＬＫに基づいて生成するものとはせず、コピー元のフラッシュメモリ２-0が出力するＤＱＳ出力信号に基づき生成することとしている。
【００６２】
具体的に、第２の実施の形態の場合、フラッシュメモリ２-0からフラッシュメモリ２-1へのデータコピーを行うとしたときは、図８に示したスイッチＳＷ-0にて端子ｔ３を選択し、スイッチＳＷ-1にて端子ｔ２を選択する。これにより、コピー先のフラッシュメモリ２-1に対して、コピー元の（つまり読出対象の）フラッシュメモリ２-0からのＤＱＳ出力信号を遅延回路７Ｄ-1で所定量遅延させて生成した信号を、ＤＱＳ入力信号（書込タイミング指示信号）として供給することができる。
【００６３】
ここで、ＤＤＲが採用される場合においても、図１０に示すような、ＤＱＳ入力信号（図中ＤＱＳ in_1）の立ち上がり以前に有効なデータを設定しておく必要のあるｔＤＳ、以降に有効なデータを設定し続けておく必要のあるｔＤＨがベンダにより規定されている。
例えば、実行周波数が１００MHz、つまり周期１０ns、ｔＤＳ及びｔＤＨが１nsとされている場合、遅延回路７Ｄに設定すべき遅延量は、コピー先フラッシュメモリからのＤＱＳ出力信号を２．５ns遅延させたＤＱＳ出力信号が得られるように設定すればよい（図中「delay」）。
【００６４】
このようにコピー先のフラッシュメモリ２-0から出力されるＤＱＳ出力信号を所定量遅延させて生成したＤＱＳ入力信号がコピー元のフラッシュメモリ２-1に供給されることで、フラッシュメモリ２-1は、当該ＤＱＳ入力信号に応じて、データ線Ｌdt上に得られたフラッシュメモリ２-0からの読出データを適正に書き込むことができる（図９中、時点ｔ２，ｔ４，ｔ６，ｔ８を参照）。
【００６５】
ここで、図９を参照して分かるように、コピー先のフラッシュメモリ２-1に供給するクロックＣＬＫ_1については、上記のようにコピー元のフラッシュメモリ２-0からのＤＱＳ出力信号を遅延回路７Ｄ-1で遅延させた量に応じた分だけ、クロックＣＬＫ_0に対して遅延させることになる。このときの遅延量、すなわち、コピー先フラッシュメモリに対して供給されるべきクロックＣＬＫの生成にあたり当該コピー先フラッシュメモリに対応して設けられた可変遅延回路３Ａに対して設定すべき遅延量のことを、「ライト時遅延量」と表記する。
このライト時遅延量は、コントローラ７が設定する。
なおこの場合、コピー元フラッシュメモリに対応して設けられた可変遅延回路３Ａに対して設定すべき遅延量は「０」とすればよい。
【００６６】
なお、上記説明では、フラッシュメモリ２-0からフラッシュメモリ２-1に対するデータコピー時に対応した動作について説明したが、フラッシュメモリ２-1からフラッシュメモリ２-0に対するデータコピー時には、スイッチＳＷ-１には端子ｔ３を選択させ、スイッチＳＷ-0には端子ｔ２を選択させる。またこれと共に、可変遅延回路３Ａ-0に上述のライト時遅延量を設定して、コピー先であるフラッシュメモリ２-0のクロックＣＬＫ_0を、コピー元であるフラッシュメモリ２-1のクロックＣＬＫ_1よりも遅延させるものとすればよい。
【００６７】
また、他フラッシュメモリへのデータコピーに伴うライトではなく、通常のライト時には、データの書込対象とされるフラッシュメモリ２に対応して設けられたスイッチＳＷには、端子ｔ４を選択させて、当該書込対象のフラッシュメモリ２に通常のＤＱＳ入力信号が供給されるようにする。
【００６８】
また、図８では、フラッシュメモリ２の数が２である場合を例示したが、フラッシュメモリ２が３以上設けられる場合にも、第２の実施の形態のメモリ制御手法は適用可能である。
この場合、少なくとも可変遅延回路８Ａ、スイッチＳＷ、遅延回路７Ｄをフラッシュメモリ２ごとに設ければよい点は上記と同様となる。
但し、フラッシュメモリ２が３以上設けられる場合は、コピー元として選択され得るフラッシュメモリ２が２以上となるので、スイッチＳＷとしては、これら２以上のフラッシュメモリ２の何れがコピー元として選択された場合としても、その選択されたフラッシュメモリ２からのＤＱＳ出力信号の遅延後信号（遅延回路７Ｄによる遅延後のＤＱＳ出力信号＝コピー先フラッシュメモリへのＤＱＳ入力信号）を選択入力できるように構成しておく必要がある。すなわち、端子ｔ２としての、コピー元フラッシュメモリからのＤＱＳ出力信号に基づくＤＱＳ入力信号を入力するための端子を、コピー元フラッシュメモリとして選択され得るフラッシュメモリ２の数だけ設けるものとし、それらの端子のうちから、コピー元として選択されたフラッシュメモリ２に対応する端子を選択できるように構成する。
【００６９】
上記により説明したように、第２の実施の形態では、ＤＤＲ規格が採用される場合において、コピー元のフラッシュメモリ２のデータ読出タイミングが動作温度等により変動することを考慮して、コピー先のフラッシュメモリ２に供給すべきＤＱＳ入力信号が表す書込指示タイミングを調整するものとしている。具体的に、ＤＤＲの場合、コピー元のフラッシュメモリ２のデータ読出タイミングはそのフラッシュメモリ２からのＤＱＳ出力信号が表すものとなるので、当該ＤＱＳ出力信号を所定時間分遅延させた信号を、コピー先のフラッシュメモリ２に対するＤＱＳ入力信号として生成するものとしている。
これにより、動作温度変化等に依存してコピー先のフラッシュメモリ２への書込タイミングが不適切なものとなってしまうことを防止できる。すなわち、動作温度変化等に依存してコピー先のフラッシュメモリ２に対し書込誤りが生じてしまうような事態の発生を防止することができる。
【００７０】
なお、図１０に示したｔＤＨの時間長が比較的短くて良い場合等には、コピー先のフラッシュメモリ２に対し供給するＤＱＳ入力信号は、例えばクロックＣＬＫなどの、ＤＱＳ出力信号以外の他のタイミング信号に基づいて生成することもできる。つまり、例えばクロックＣＬＫを、動作温度変化によるタイミング差分も考慮した比較的長い遅延量だけ遅延させて、これをコピー先のフラッシュメモリ２に対するＤＱＳ入力信号とすることによっても、同様の温度補償効果を得ることは可能である。
【００７１】
＜３．第３の実施の形態＞
［3-1．メモリ装置の内部構成及びメモリ制御手法］
図１１は、第３の実施の形態としてのメモリ装置（メモリ装置１０とする）の内部構成を示している。
なお第３の実施の形態において、既にこれまでで説明済みとなった部分については同一符号を付して説明を省略する。
【００７２】
このメモリ装置１０は、第１の実施の形態のメモリ装置１と比較して、新たに冗長フラッシュメモリ２-rdが設けられた点と、コントローラ３に代えてコントローラ１１が設けられた点が異なる。さらに、メモリ装置１０においては、コントローラ１１と冗長フラッシュメモリ２-rdとの間で信号線Ｌｅ-rdが接続され、またこの場合のデータ線Ｌdtは、図のように冗長フラッシュメモリ２-rdに対しても接続されることになる。
【００７３】
冗長フラッシュメモリ２-rdは、当該メモリ装置１０の記録容量にはカウントされない冗長な記録領域として使用されるフラッシュメモリ２を意味する。つまり、この冗長フラッシュメモリ２-rdは、通常のユーザデータ等の記録には使用されないメモリとなる。
【００７４】
ここで、メモリ装置１０においては、コントローラ１１内において、信号線Ｌｅ-rdに対応して図３で説明したものと同様の可変遅延回路３Ａが設けられ（可変遅延回路３Ａ-rdとする）、当該信号線Ｌｅ-rdに対しては、この可変遅延回路３Ａ-rdを介したストローブ信号が入力されるようになっている。
【００７５】
第３の実施の形態では、このような冗長フラッシュメモリ２-rdを設けた上で、他のフラッシュメモリ２-0〜２-3のうちの何れかのフラッシュメモリ２に対するデータ読出時において、そのフラッシュメモリ２からデータ線Ｌdt上に出力された読出データを、バッファＲＡＭ５側に転送しつつ、これと並行して、冗長フラッシュメモリ２-rdにも書き込むということを行う。
【００７６】
ここで、コントローラ１１は、このようなデータ読出時には、いわゆるリフレッシュ処理を実行すべきか否かを判断するために、バッファＲＡＭ５に蓄積される読出データについてのエラーチェック処理を行うようにされている。このエラーチェック処理の結果に基づき、例えばエラー箇所が予め定められた上限値に達するなど、予めリフレッシュ処理を行うべきとして定められた条件（以下、リフレッシュ実行条件と表記）が成立したとされた場合には、コントローラ１１は、リフレッシュのための処理としてバッファＲＡＭ５上でエラーデータの訂正処理等を実行することになる。
なお、フラッシュメモリにおけるリフレッシュ処理については、例えば下記の参考文献１や参考文献２等にも記載されている。
・参考文献１・・・特開２０１０−１５４７７号公報
・特許文献２・・・特開２０１０−１９８２１９号公報
【００７７】
このとき、従来のメモリ装置では、バッファＲＡＭ５に溜め込んだ読出データについてのエラーチェック処理の結果、リフレッシュ実行条件が成立したとされた場合は、バッファＲＡＭ５上で上記のようなエラー訂正処理を実行した後に、当該訂正後の読出データ全体をフラッシュメモリ２側に書き戻すようにされている。すなわち、従来のリフレッシュ処理の実行によっては、このような読出データ全体の書込処理が介在する分、データ読出速度の低下が問題となる。
【００７８】
そこで第３の実施の形態では、フラッシュメモリ２の読出時には、上記のように読出データを冗長フラッシュメモリ２-rdに並行書込させると共に、リフレッシュ実行条件の成立に応じバッファＲＡＭ５上でエラー箇所の訂正を行った後は、冗長フラッシュメモリ２-rdに既に書込済みのエラー箇所に係るデータ部分のみを、訂正後の同データ部分に書き換えるということを行う。
【００７９】
これにより、リフレッシュにあたり読出データ全体の書き戻しを伴う従来の場合と比較して、リフレッシュ実行時の読出速度の低下を効果的に抑制することができる。
【００８０】
ここで、上記のようなエラーチェック処理の結果に伴い、リフレッシュの実行が不要であるとされた場合（リフレッシュ実行条件が不成立となった場合）は、冗長フラッシュメモリ２-rdに並行書込したデータは破棄するものとする。
【００８１】
また、リフレッシュ実行条件の成立に応じ、エラー部分の書き換えを行った後の冗長フラッシュメモリ２-rdのデータは、その後の然るべきタイミングで通常の記録領域（つまりフラッシュメモリ２-0〜２-3の何れか）に書き込む。例えば、当該メモリ装置１１のその後の起動時や、ホスト機器側からのリクエストが発生していない状態を検知しそのタイミングで実行するなどが好ましい。
【００８２】
［3-2．処理手順］
図１２は、上記により説明した第３の実施の形態としてのメモリ制御手法を実現するために実行すべき具体的な処理手順を示したフローチャートである。
図１２Ａは、読出時の並行書込を実現するための処理を示し、図１２Ｂはリフレッシュ実行条件の成立／不成立に応じた制御を実現するための処理を示している。
図１２Ａに示す処理、及び図１２Ｂに示す処理は、コントローラ１１が並行して実行する。
【００８３】
先ずは、図１２Ａに示す処理から説明する。
図１２Ａにおいて、ステップＳ２０１では、リードコマンドを待機する。つまり、ホスト機器側からのリードコマンドを待機する。
【００８４】
リードコマンドがあった場合には、ステップＳ２０２に進み、読出対象メモリへのリードイネーブル信号ＲＥの出力、冗長メモリに対するライトイネーブル信号ＷＥの出力を開始するための処理を行う。すなわち、上記リードコマンドから特定される読出対象のフラッシュメモリ２に対するリードイネーブル信号ＲＥの出力、及び冗長フラッシュメモリ２-rdへのライトイネーブル信号ＷＥの出力を開始するための処理を実行するものである。
なお、当該ステップＳ２０２の処理は、先の図７にて説明したステップＳ１０２の処理とリードイネーブル信号ＲＥの出力対象、ライトイネーブル信号ＷＥの出力対象が異なる以外は同様となるので、改めての説明は省略する。
【００８５】
ステップＳ２０２の出力開始処理の実行後は、ステップＳ２０３において、冗長メモリへの書込が完了するまで待機する。すなわち、冗長フラッシュメモリ２-rdに対し、上記リードコマンドで指示された読出データの全てが書き込まれるまで待機するものである。
【００８６】
冗長メモリへの書込が完了した場合には、ステップＳ２０４に進み、リードイネーブル信号ＲＥの出力、ライトイネーブル信号ＷＥの出力を停止するための処理を実行する。つまりこの場合も、先のステップＳ１０４と同様にストローブ信号のトグルを停止すればよい。
このステップＳ２０４の処理の実行後、図１２Ａに示す処理は終了となる。
【００８７】
続いて、図１２Ｂにおいて、ステップＳ３０１では、読出開始となるまで待機する。すなわち、上述のホスト機器側からのリードコマンドに応じた読出が開始されるまで待機するものである。
【００８８】
読出開始が検知された場合は、ステップＳ３０２において、読出データのエラーチェックを実行する。すなわち、読出対象のフラッシュメモリ２からデータ線Ｌdt経由でバッファＲＡＭ５に蓄積された読出データについて、エラーチェックを行う。
【００８９】
ステップＳ３０２によるエラーチェックの実行後は、ステップＳ３０３において、リフレッシュ実行条件が成立したか否かを判別する。
本例では、リフレッシュ実行条件として、例えばエラー箇所が予め定められた上限値に達しているという条件が設定されているとする。
なお、リフレッシュ実行条件としては、例えば読出対象とされたデータ部分（例えばブロック単位）の現在までの読出回数も加味した条件を設定することもできる。
【００９０】
ステップＳ３０３において、リフレッシュ実行条件が成立したとして肯定結果が得られた場合は、ステップＳ３０４に進み、エラーデータの訂正処理を実行する。すなわち、バッファＲＡＭ５に蓄積された読出データのうち、ステップＳ３０２のエラーチェック処理でエラーが判定された箇所の訂正を行う。
【００９１】
ステップＳ３０４でエラーデータの訂正処理を実行した後は、ステップＳ３０５において、訂正データにより冗長メモリのエラー部分を書き換える。すなわち、冗長フラッシュメモリ２-rdに既に書込済みの読出データのうち、ステップＳ３０４で訂正したエラー箇所に係るデータ部分のみを、訂正後の同データ部分に書き換えるものである。
【００９２】
一方、先のステップＳ３０３において、リフレッシュ実行条件が成立していないとして否定結果が得られた場合は、ステップＳ３０６に進み、冗長メモリに書き込んだデータを破棄するための処理を実行する。このステップＳ３０６の処理としては、冗長フラッシュメモリ２に対して書込を中断するように指示を行い、書き込まれたデータが消去されるようにする。このとき、冗長フラッシュメモリ２に書き込まれた読出データが消去されたものと扱われるように管理情報を更新する処理のみを行うようにしても良いし、実際に当該読出データの記録部分を消去する処理も併せて実行するものとしてもよい。
【００９３】
ステップＳ３０６の破棄処理、又は先のステップＳ３０５による書き換え処理の実行後、図１２Ｂに示す処理は終了となる。
【００９４】
なお、上記により説明した第３の実施の形態のメモリ制御手法は、第２の実施の形態のようにＤＤＲ規格が採用される場合においても同様に適用可能であることは言うまでもない。
【００９５】
また、上記説明では、通常の記録領域として使用するフラッシュメモリ２以外に冗長フラッシュメモリ２-rdを別途設ける場合を例示したが、冗長フラッシュメモリ２-rdとして使用するフラッシュメモリ２を、適宜、フラッシュメモリ２のうちから選択して使用するものとしてもよい。
【００９６】
＜４．変形例＞
以上、本技術に係る実施の形態について説明したが、本技術は、これまでで説明した具体例に限定されるべきものではない。
例えばこれまでの説明では、読出データを１つのフラッシュメモリ２に対してのみ並行書込する場合を例示したが、読出データを複数のフラッシュメモリ２に並行書込することももちろん可能である。
【００９７】
また、これまでの説明では、リード／ライトのイネーブル信号を共通のイネーブル信号線Ｌｅを介してフラッシュメモリ２に供給する構成を例示したが、リードイネーブル信号を供給する信号線とライトイネーブル信号を供給する信号線とを個別に設ける構成とすることも可能である。
【００９８】
また、本技術に係る並行書込の手法は、以下のようなケースにおいても適用可能である。
ここで、ＮＡＮＤ型フラッシュメモリにおいては、小さいサイズのデータ（ブロックサイズ未満のデータ）の書込を行う際、それらのデータを毎回連続した領域にマージすると書込速度の低下が生じるため、通常の記録領域とは別に小さいサイズのデータを記録して、別のある時点で連続した領域にマージするという手法が採られている。
このような場合において、小さいサイズのデータは一旦冗長なフラッシュメモリ２に記録するものとしておき、連続した領域へのマージが必要となった際に、冗長なフラッシュメモリ２から、それら小さいサイズのデータをマージ先のフラッシュメモリ２にコピーするということが考えられる。この、冗長なフラッシュメモリ２からマージ先のフラッシュメモリ２へのデータコピーの際に、本技術に係る並行書込手法を適用することができる。
この場合も、読出と同時に書込ができることで、コピー時間の短縮化が図られる。
【００９９】
また、本技術は、以下の（１）〜（９）に記す構成とすることも可能である。
（１）
共通のデータ線が接続された複数のフラッシュメモリ部と、
上記複数のフラッシュメモリ部のデータ書込／読出のための制御を行う制御部とを備え、
上記制御部は、
上記複数のフラッシュメモリ部のうち第１のフラッシュメモリ部に読出指示を行って当該第１のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第１のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第１のフラッシュメモリ部とは異なる第２のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第２のフラッシュメモリ部に書き込まれるように制御する
メモリ装置。
（２）
上記制御部は、
上記読出指示をリードイネーブル信号、上記書込指示をライトイネーブル信号によりそれぞれ行う
上記（１）に記載のメモリ装置。
（３）
上記リードイネーブル信号が表すビット読出タイミングから所定時間遅延したタイミングで書込指示のタイミングを表す上記ライトイネーブル信号により上記書込指示を行う
上記（２）に記載のメモリ装置。
（４）
上記リードイネーブル信号と上記ライトイネーブル信号を上記制御部から上記フラッシュメモリ部に供給するための信号線が各上記フラッシュメモリ部ごとに共通線とされる
上記（２）及び（３）に記載のメモリ装置。
（５）
上記制御部は、
ガベージコレクション処理に伴う上記第１のフラッシュメモリ部から上記第２のフラッシュメモリ部へのデータコピー時において、上記読出指示と上記書込指示とによる読出及び書込が行われるようにする
上記（１）〜（４）に記載のメモリ装置。
（６）
ＤＤＲ（Double Data Rate）規格に対応して上記制御部と各上記フラッシュメモリ部との間にＤＱＳ信号線が接続されており、
上記制御部は、
読出対象とされた上記第１のフラッシュメモリ部からのデータの読出タイミングに応じたタイミングでの書込タイミングを表すＤＱＳ入力信号を生成し、当該ＤＱＳ入力信号を書込対象とされた上記第２のフラッシュメモリ部の上記ＤＱＳ信号線に供給することで、上記共通のデータ線に得られた上記第１のフラッシュメモリ部からの読出データが上記第２のフラッシュメモリ部に書き込まれるように制御する
上記（１）に記載のメモリ装置。
（７）
上記制御部は、
上記第１のフラッシュメモリ部からの上記ＤＱＳ出力信号を所定時間遅延させて上記ＤＱＳ入力信号を生成する
上記（６）に記載のメモリ装置。
（８）
上記共通のデータ線に接続されたバッファメモリをさらに備え、
上記制御部は、
上記バッファメモリに蓄積された上記第１のフラッシュメモリ部からの読出データについて誤り検査を行うと共に、その結果に基づき、誤り訂正が必要とされた場合は、上記第２のフラッシュメモリ部に書き込まれた上記読出データのうち、誤り訂正が必要とされるデータ部分のみが修正されるように制御する
上記（１）〜（７）に記載のメモリ装置。
（９）
上記制御部は、
上記誤り検査の結果に基づき、誤り訂正が必要でないとされた場合は、上記第２のフラッシュメモリ部に書き込まれた上記読出データが破棄されるように制御する
上記（１）〜（８）に記載のメモリ装置。
【符号の説明】
【０１００】
１,１０  メモリ装置、２  フラッシュメモリ、２-rd  冗長フラッシュメモリ、３,７,１１  コントローラ、４  ＲＡＭ、５  バッファＲＡＭ、６  外部インターフェイス、３Ａ,７Ａ  可変遅延回路、７Ｄ  遅延回路
【図１】
2012230621.tif 000003
【図２】
2012230621.tif 000004
【図３】
2012230621.tif 000005
【図４】
2012230621.tif 000006
【図５】
2012230621.tif 000007
【図６】
2012230621.tif 000008
【図７】
2012230621.tif 000009
【図８】
2012230621.tif 000010
【図９】
2012230621.tif 000011
【図１０】
2012230621.tif 000012
【図１１】
2012230621.tif 000013
【図１２】
2012230621.tif 000014
【図１３】
2012230621.tif 000015