メモリ装置、メモリ制御装置、メモリ制御方法
【課題】ガベージコレクションの発生等に伴う他フラッシュメモリへのデータコピーを、コピーコマンドを使用する場合と同等に高速化する。
【解決手段】共通のデータ線が接続された複数のフラッシュメモリ部についてデータの読出/書込制御を行うように構成されたメモリ装置において、上記複数のフラッシュメモリ部のうち第1のフラッシュメモリ部に読出指示を行って当該第1のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第1のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第1のフラッシュメモリ部とは異なる第2のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第2のフラッシュメモリ部に書き込まれるようにする。
【解決手段】共通のデータ線が接続された複数のフラッシュメモリ部についてデータの読出/書込制御を行うように構成されたメモリ装置において、上記複数のフラッシュメモリ部のうち第1のフラッシュメモリ部に読出指示を行って当該第1のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第1のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第1のフラッシュメモリ部とは異なる第2のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第2のフラッシュメモリ部に書き込まれるようにする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フラッシュメモリを備えたメモリ装置、及びフラッシュメモリに対するデータの読出/書込制御を行うメモリ制御装置とその方法に関する。
【先行技術文献】
【特許文献】
【0002】
【特許文献1】特開2007−193883号公報
【背景技術】
【0003】
不揮発性メモリの一種としてフラッシュメモリが広く知られている。
フラッシュメモリとして、特にNAND型フラッシュメモリは、安価で且つデータの書込/読出速度が比較的高速であるため、HDD(Hard Disk Drive)等の既存の記憶装置に代わるものとして期待されている。
【0004】
NAND型フラッシュメモリは、データの格納位置によって読出/書込速度が変わることや、読出/書込単位に対して消去単位が大きいため、高いパフォーマンスを維持するために定期的にガベージコレクションを行うようにされている(例えば上記特許文献1を参照)。
ガベージコレクションでは、フラッシュメモリ内の複数のブロックに分散して存在する有効データを寄せ集めて所定のブロックにマージするということが行われるため、多くの場合、或るフラッシュメモリから他のフラッシュメモリへのデータのコピーを伴う。
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、NAND型フラッシュメモリには、いわゆるコピーコマンド(コピーバックコマンド)が存在するが、このコピーコマンドは、コピー先とコピー元が同一のフラッシュメモリ内であることを前提としたコマンドであり、例えば上記のようなガベージコレクションの発生に伴う他フラッシュメモリへのデータコピー時においては、これを使用することができない。
【0006】
このため、従来のフラッシュメモリにおいて、異なるフラッシュメモリ間でのデータコピーを行う際には、コピー元のメモリから一旦外部バッファに読み出しを行った上で、そのデータをコピー先のフラッシュメモリに転送して書き込むということを行う必要があった。
【0007】
図13により、従来のデータコピーに要していた時間長について説明する。
図13において、図13Aは比較として、前述のコピーコマンドを使用した場合について示している。図13Bは、上記のような異なるフラッシュメモリ間でのデータコピーについて示している。
【0008】
図13Bにおいて、従来、異なるフラッシュメモリ間でのデータコピーを行う場合には、先ずはリードコマンドを発行してコピー元のフラッシュメモリからのデータ読出を行う。この読出データは、データ線を介してバッファメモリに蓄積される。
そして、当該読出(蓄積)の完了後、コピー先のフラッシュメモリにライトコマンドを発行し、上記のように蓄積された読出データをコピー先フラッシュメモリに対して書き込む。
【0009】
なお、図13Aのコピーコマンド使用の場合、データコピーは対象とするフラッシュメモリ内で完結するものであるため、読出データのバッファメモリへの転送は不要である。従ってこの場合、コピーに要する時間長は、図13Bの場合のおよそ半分で済むものとなる。
【0010】
このように従来の手法では、異なるフラッシュメモリ間でのデータコピーの際に、バッファメモリを介すため、データ転送がデータ線上において2度発生することとなり、結果として処理速度が低下する傾向となる。
【0011】
本技術はかかる問題点に鑑みなされたもので、フラッシュメモリを備えたメモリ装置において、例えばガベージコレクションの発生等に伴う他フラッシュメモリへのデータコピーを、コピーコマンドを使用する場合と同等に高速化することをその課題とする。
【課題を解決するための手段】
【0012】
上記課題の解決を図るため、本技術では、メモリ装置として以下のものを提案する。
すなわち、本技術のメモリ装置は、共通のデータ線が接続された複数のフラッシュメモリ部を備える。
また、上記複数のフラッシュメモリ部のデータ書込/読出のための制御を行う制御部とを備える。
そして、上記制御部が、上記複数のフラッシュメモリ部のうち第1のフラッシュメモリ部に読出指示を行って当該第1のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第1のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第1のフラッシュメモリ部とは異なる第2のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第2のフラッシュメモリ部に書き込まれるように制御するものである。
【0013】
また、本技術では、メモリ制御装置として以下のものを提案する。
つまり本技術のメモリ制御装置は、共通のデータ線が接続された複数のフラッシュメモリ部についてデータの読出/書込制御を行うメモリ制御装置であって、上記複数のフラッシュメモリ部のうち第1のフラッシュメモリ部に読出指示を行って当該第1のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第1のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第1のフラッシュメモリ部とは異なる第2のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第2のフラッシュメモリ部に書き込まれるように制御するものである。
【0014】
また、本技術では、メモリ制御方法として以下のものを提案する。
すなわち、本技術のメモリ制御方法は、共通のデータ線が接続された複数のフラッシュメモリ部についてデータの読出/書込制御を行うメモリ制御方法であって、上記複数のフラッシュメモリ部のうち第1のフラッシュメモリ部に読出指示を行って当該第1のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第1のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第1のフラッシュメモリ部とは異なる第2のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第2のフラッシュメモリ部に書き込まれるように制御するものである。
【0015】
上記構成によれば、第1のフラッシュメモリ部のデータの読出と、その読出データの第2のフラッシュメモリ部への書き込みとを同時並行的に行うことができる。
上記共通のデータ線に得られた読出データを他のフラッシュメモリ部に並行して書き込むことができるので、他フラッシュメモリへのコピー時にバッファメモリの介在を要する従来の場合と比較して、コピー速度を飛躍的に向上できる。
【発明の効果】
【0016】
本技術によれば、第1のフラッシュメモリ部からの読出とその読出データの第2のフラッシュメモリ部への書込を並行して行うことができるので、コピー時間は、従来のコピーコマンドを使用する場合と同等程度に短縮化することができる。
【図面の簡単な説明】
【0017】
【図1】第1の実施の形態としてのメモリ装置の内部構成を示した図である。
【図2】第1の実施の形態のメモリ制御手法を採用した場合のデータコピーに要する時間長について説明するための図である。
【図3】第1の実施の形態のメモリ装置の制御部が備えるべき構成を主に示した図である。
【図4】第1の実施の形態のメモリ制御手法の実現にあたり用いられる各信号のタイミングチャートである。
【図5】第1の実施の形態の場合におけるData Setup Time(tDS)とData Hold Time(tDH)についての説明図である。
【図6】EDOモード時に対応して第1の実施の形態のメモリ制御手法を実行した場合の動作波形を示したタイミングチャートである。
【図7】第1の実施の形態としてのメモリ制御手法を実現するために実行すべき具体的な処理手順を示したフローチャートである。
【図8】第2の実施の形態のメモリ装置の内部構成について説明するための図である。
【図9】第2の実施の形態のメモリ制御手法について説明するためのタイミングチャートである。
【図10】第2の実施の形態の場合におけるData Setup Time(tDS)とData Hold Time(tDH)についての説明図である。
【図11】第3の実施の形態としてのメモリ装置の内部構成を示した図である。
【図12】第3の実施の形態としてのメモリ制御手法を実現するために実行すべき具体的な処理手順を示したフローチャートである。
【図13】従来のデータコピーに要していた時間長について説明するための図である。
【発明を実施するための形態】
【0018】
以下、本技術に係る実施の形態について説明する。
なお、説明は以下の順序で行う。
<1.第1の実施の形態>
[1-1.メモリ装置の内部構成]
[1-2.第1の実施の形態のメモリ制御手法]
[1-3.処理手順]
<2.第2の実施の形態>
[2-1.メモリ装置の内部構成]
[2-2.第2の実施の形態のメモリ制御手法]
<3.第3の実施の形態>
[3-1.メモリ装置の内部構成及びメモリ制御手法]
[3-2.処理手順]
<4.変形例>
【0019】
<1.第1の実施の形態>
[1-1.メモリ装置の内部構成]
図1は、本技術に係る第1の実施の形態としてのメモリ装置(以下、メモリ装置1とする)の内部構成を示している。
図1において、メモリ装置1は、図のように複数のフラッシュメモリ2と、これらフラッシュメモリ2に対する書込/読出制御を行うためのコントローラ3と、当該コントローラ3のワーク領域として用いられるRAM(Random Access Memory)4と、上記フラッシュメモリ2の読出/書込データが一時蓄積されるバッファRAM5と、外部インターフェイス6とを備えている。
【0020】
フラッシュメモリ2は、NAND型のフラッシュメモリとされる。図1では、フラッシュメモリ2が4つ備えられている例を示しており、それぞれをフラッシュメモリ2-0、フラッシュメモリ2-1、フラッシュメモリ2-2、フラッシュメモリ2-3と表記している。
【0021】
これらフラッシュメモリ2の個々に対しては、図のようにコントローラ3との間で信号線Leがそれぞれ接続されている。フラッシュメモリ2-0との間の信号線Leは信号線Le-0、フラッシュメモリ2-1との間の信号線Leは信号線Le-1、フラッシュメモリ2-2との間の信号線Leは信号線Le-2、フラッシュメモリ2-3との間の信号線Leは信号線Le-3とする。
当該信号線Leは、読出又は書込の対象とするフラッシュメモリ2に対してデータの読出又は書込のタイミングを指示するために用いるイネーブル(Enable)信号(後述するリードイネーブル信号、又はライトイネーブル信号)を供給するための信号線となる。なおこの意味で、信号線Leについてはイネーブル信号線Leとも表記する。
【0022】
また、各フラッシュメモリ2に対しては、共通のデータ線Ldtが接続されている。このデータ線Ldtは、図のようにバッファRAM5に対しても接続されており、これによって当該バッファRAM5からの書込データのフラッシュメモリ2への供給、及びフラッシュメモリ2からの読出データのバッファRAM5への供給が可能とされている。
【0023】
なお、コントローラ3側とフラッシュメモリ2側との間の配線については本実施の形態のメモリ制御手法に係るもののみを特に抽出して示しており、実際には、例えば読出/書込のアドレス指定を実現するための信号線等の他の配線も接続されるものである。
【0024】
コントローラ3は、メモリ装置1の全体制御を行う。
具体的には、例えば外部インターフェイス6が外部のホスト機器から受信したコマンドの解釈、コマンドに応じたフラッシュメモリ2に対するデータの書込/読出制御、フラッシュメモリ2の記録データを管理するための各種の管理情報の生成等、さらにはフラッシュメモリ2へのデータ書込時のECC(Error Correction Code)データ生成・付加、読出時のECCエラー訂正処理などを行う。
【0025】
外部インターフェイス6は、外部のホスト機器とコントローラ3との間で各種データの送受信を可能とするために設けられ、上記ホスト機器からのコマンド受信やデータの送受信等を行う。
上記ホスト機器から書込指示されたデータは、当該外部インターフェイス6を介してバッファRAM5に一時蓄積された後、コントローラ3の制御により、データ線Ldtを介して所定のフラッシュメモリ2(アドレス)に書き込まれる。
また、ホスト機器から或るフラッシュメモリ2(アドレス)に書き込まれたデータの読出指示があった場合、コントローラ3の制御により当該フラッシュメモリ2からの読出データがデータ線Ldtを介してバッファRAM5に一時蓄積された後、外部インターフェイス6を介して上記ホスト機器に対して送出される。
【0026】
[1-2.第1の実施の形態のメモリ制御手法]
本実施の形態では、上記のように各フラッシュメモリ2に共通のデータ線Ldtが接続された構成とした上で、異なるフラッシュメモリ2へのデータコピーが発生した場合において、以下のような手法によるコピー処理が実行されるようにする。
すなわち、フラッシュメモリ2のうちデータのコピー元となるフラッシュメモリ2に読出指示を行って当該コピー元のフラッシュメモリ2からデータ線Ldtに読出データを出力させると共に、当該コピー元のフラッシュメモリ2から読出データが出力されるタイミングに応じたタイミングで、コピー先のフラッシュメモリ2に書込指示を行うことで、上記のようにデータ線Ddtに得られた読出データがコピー先のフラッシュメモリ2に書き込まれるようにするというものである。
このような手法により、コピー元のフラッシュメモリ2からのデータ読出と、その読出データについてのコピー先のフラッシュメモリ2に対する書込とが同時並行的に行われるようにすることができる。
【0027】
図2は、本実施の形態の手法を採用した場合のデータコピーに要する時間長について説明するための図である。
先の図13と比較して分かるように、本実施の形態によれば、他のフラッシュメモリ2に対するデータコピーに要する時間長は図13Aに示すコピーコマンドを用いた場合と同等とでき、図13Bに示した、データコピー時にバッファメモリの介在を要する従来手法と比較して、コピー時間長をおよそ半分に抑えることができる。
【0028】
上記により説明した本実施の形態としてのメモリ制御手法を実現するための具体的な構成、及び制御内容について図3〜図5を参照して説明する。
図3は、本実施の形態のメモリ制御手法の実現のためにコントローラ3が備えるべき具体的な構成を主に示しており、図4は、本実施の形態のメモリ制御手法の実現にあたり用いられる各信号のタイミングチャートを示している。なお図4において、DTはDataの略である。
図3においては、コントローラ3が備えるべき構成と共に、図1に示したフラッシュメモリ2、バッファRAM5、イネーブル信号線Le、及びデータ線Ldtも併せて示している。図示の都合上、フラッシュメモリ2に関してはフラッシュメモリ2-0とフラッシュメモリ2-1のみが備えられているものとしている。
ここで、以下での説明においては、データのコピー元がフラッシュメモリ2-0とされ、コピー先がフラッシュメモリ2-1とされた場合を例示する。
【0029】
図3において、この場合のコントローラ3は、クロックCLKに基づくストローブ(Strobe)信号を生成する。ストローブ信号の周波数はクロックCLKの周波数に一致する。
【0030】
本例の場合、コントローラ3は、上記ストローブ信号に基づいてリードイネーブル(Read Enable)信号RE、及びライトイネーブル(Write Enable)信号WEをそれぞれ生成する。具体的に、コントローラ3は、ストローブ信号を入力する可変遅延回路3Aを複数有しており、これら可変遅延回路3Aによってストローブ信号からリードイネーブル信号RE、ライトイネーブル信号WEを生成する。
本例において、可変遅延回路3Aは、イネーブル信号線Leごとに設けられる。すなわち、フラッシュメモリ2ごとに設けられている。
この場合、イネーブル信号線LeはLe-0とLe-1のみが設けられているので、可変遅延回路3Aとしては信号線Le-0に対応する可変遅延回路3A-0、信号線Le-1に対応する可変遅延回路3A-1の2つが設けられる。
【0031】
ここで、図4を参照して分かるように、リードイネーブル信号REは、ストローブ信号の位相を1/4周期分遅延させたものとなる。つまりこの場合のコントローラ3は、或るフラッシュメモリ2-xに書き込まれたデータの読出を行うとしたときは、そのフラッシュメモリ2-xに接続されたイネーブル信号線Le-xと接続されている可変遅延回路3A-xの遅延量をストローブ信号の1/4周期分の遅延量に設定する。
この場合の例のように、フラッシュメモリ2-0のデータをフラッシュメモリ2-1にコピーするとした場合において、フラッシュメモリ2-0からコピー対象のデータを読み出すとしたときは、可変遅延回路3A-0にストローブ信号の1/4周期分の遅延量を設定して、フラッシュメモリ2-0にリードイネーブル信号REを与えることになる。
なお、以下、リードイネーブル信号REの生成のために可変遅延回路3Aに対して設定される遅延量のことを便宜上「リード用遅延量」と表記する。
【0032】
このようなリードイネーブル信号REの供給に応じて、コピー先のフラッシュメモリ2-0からは、図4中「DT out_0」と示すように、リードイネーブル信号REの立ち下がりタイミング(時点t1,t3,t5)ごとに、1ビット分のデータの読出が順次為されることになる。
【0033】
ここで、このようにフラッシュメモリ2-0から読み出されたデータは、データ線Ldtに出力されることになるが、このとき、読出データがデータ線Ldtに得られるまでには、或る程度の時間を要する。
このため、フラッシュメモリ2-0からの読出データをフラッシュメモリ2-1に書き込ませるために当該フラッシュメモリ2-1に対して与えるべきライトイネーブル信号WEとしては、これが表す書込タイミングが、コピー元のフラッシュメモリ2-0に対して与えたリードイネーブル信号REの表す読出タイミングよりも所定時間だけ遅延されるように生成する。
なお、本例において、ライトイネーブル信号WEは、その立ち上がりタイミング(時点t2、t4,t6)によりデータの書き込みタイミングを表すものである。
【0034】
ここで、NAND型フラッシュメモリの場合、信号線Leに対してデータ線Ldtを入出力する信号が有効となるタイミングがベンダによって規定されている。
図5に示すように、ライトイネーブル信号WEの立ち上がり以前に有効なデータを設定しておく必要のあるData Setup Time(tDS)、以降に有効なデータを設定し続けておく必要のあるData Hold Time(tDH)がベンダにより規定されている。
例えば、tDSが5ns、tDHが15nsと規定されていた場合、ライトイネーブル信号WEに対してリードイネーブル信号REを5ns以上遅延させることが望ましい(図5中「delay」)。
このとき、イネーブル信号の周期は、少なくともtDSとtDHの和である20ns以上に設定することとなる。
【0035】
フラッシュメモリ2-0からの読出データをフラッシュメモリ2-1に書き込ませるとした場合、コントローラ3は、図3に示す可変遅延回路3A-1に対し、当該可変遅延回路3A-1から出力されるライトイネーブル信号WEとして、上記のようなリードイネーブル信号REとの位相差(例えば上記5nsに相当する位相差)を有する信号が得られるように予め設定された遅延量を設定する。
なお、このように他フラッシュメモリ2へのデータコピー時においてコピー先のフラッシュメモリ2に対し供給すべきライトイネーブル信号WEの生成のために可変遅延回路3Aに設定すべき遅延量については、「ライト用遅延量」と表記する。
【0036】
上記のように生成されたライトイネーブル信号WEの供給により、この場合のフラッシュメモリ2-1(コピー先フラッシュメモリ)は、フラッシュメモリ2-0から読み出されデータ線Ldt上に得られた読出データを、1ビットごとに確実に書き込むことができる。
【0037】
ここで、上記による説明では、フラッシュメモリ2-0からフラッシュメモリ2-1へのデータコピー時に対応して実行すべき処理について説明したが、逆に、フラッシュメモリ2-1からフラッシュメモリ2-0にデータコピーを行うとされた場合には、可変遅延回路3A-1に対してリード用遅延量を、可変遅延回路3A-0に対してライト用遅延量をそれぞれ設定するものとすればよい。
【0038】
なお、NAND型フラッシュメモリでは、EDO(Extended Data Output)モードを設定可能なものがあるが、当該EDOモード時においても、上記のメモリ制御手法により、同様に他フラッシュメモリへのデータコピーを適正に行うことができる。
図6は、EDOモード時に対応して本実施の形態のメモリ制御手法を実行した場合における図4と同様の動作波形を示している。なおこの場合もフラッシュメモリ2-0からフラッシュメモリ2-1へのデータコピーが行われる場合を例示している。
この図6を参照すれば、EDOモードではリードイネーブル信号REの1周期が読出期間となるだけで、前述した生成手法でフラッシュメモリ2-0に対するリードイネーブル信号RE、フラッシュメモリ2-1に対するライトイネーブル信号WEを生成することにより、コピー先であるフラッシュメモリ2-1が、データ線Ldt上に得られたフラッシュメモリ2-0からの読出データを、図4の場合と同様に適正に書き込むことができることが分かる。
【0039】
[1-3.処理手順]
図7のフローチャートを参照して、上記によるメモリ制御手法の実現のためにコントローラ3が実行すべき具体的な処理の手順を説明する。
図7において、ステップS101では、他フラッシュメモリへのコピーの発生を待機する。すなわち、図1に示したフラッシュメモリ2のうち或るフラッシュメモリ2に書き込まれているデータを他のフラッシュメモリ2に対して書き込むべき状態となることが検知されるまで待機するものである。
これまでの説明からも理解されるように、他フラッシュメモリへのコピーの発生要因としては、ガベージコレクションの発生等を挙げることができる。
【0040】
ステップS101において、他フラッシュメモリへのコピーが発生したとされた場合は、ステップS102において、コピー元メモリへのリードイネーブル信号REの出力、コピー先メモリへのライトイネーブル信号WEの出力を開始するための処理を行う。
本例の場合、リードイネーブル信号RE、ライトイネーブル信号WEはストローブ信号を可変遅延回路3Aにより所定量だけ遅延(前述のリード用遅延量、ライト用遅延量)させて生成するものとしている。従ってステップS102の処理としては、ストローブ信号のトグルを開始すると共に、コピー元のフラッシュメモリ2に接続された可変遅延回路3Aに前述のリード用遅延量を、またコピー先のフラッシュメモリ2に接続された可変遅延回路3Aにライト用遅延量をそれぞれ設定することとなる。
【0041】
ステップS102の処理の実行後は、ステップS103においてコピーが終了するまで待機する。つまり、コピー対象とされたデータのコピー先フラッシュメモリへの書込が全て終了するまで待機する。
【0042】
ステップS103においてコピーが終了したとされた場合は、ステップS104に進み、リードイネーブル信号REの出力、ライトイネーブル信号WEの出力を停止するための処理を実行する。本例の場合は、ストローブ信号のトグルを停止することで、リードイネーブル信号REの出力、ライトイネーブル信号WEの出力が停止されるようにすることになる。
【0043】
ステップS104の処理の実行後、この図に示す他フラッシュメモリへのコピーのための処理は終了となる。
【0044】
上記により説明した本実施の形態のメモリ制御手法によれば、コピー元フラッシュメモリのデータの読出と、その読出データのコピー先フラッシュメモリへの書き込みとを同時並行して行うことができる。これによれば、他フラッシュメモリへのコピーにあたりバッファRAM5の介在を要する従来のコピー手法と比較して、コピー速度を飛躍的に向上できる。
【0045】
なお、上記による説明では、主に、コピー元フラッシュメモリのデータの読出とその読出データのコピー先フラッシュメモリへの書き込みとを同時並行して行う処理についてのみ説明したが、実際においては、このような同時書込処理と並行として、コピー元フラッシュメモリからの読出データ(つまりバッファRAM5に蓄積されるデータ)についてコントローラ3がエラーチェック処理、及び必要に応じてエラー訂正処理を実行することになる。このとき、エラー訂正を実行したときは、コントローラ3は、コピー先フラッシュメモリに書き込まれた読出データのうち該当する箇所のデータを、エラー訂正後のデータに書き換える処理を実行する。
これにより、データのコピーと共に、データの信頼性低下の抑制を図ることができる。
【0046】
<2.第2の実施の形態>
[2-1.メモリ装置の内部構成]
続いて、第2の実施の形態について説明する。
第2の実施の形態は、DDR(Double Data Rate)規格が採用されたNAND型フラッシュメモリへの適用例である。
【0047】
図8は、第2の実施の形態のメモリ装置の内部構成について説明するための図である。
なお、第2の実施の形態のメモリ装置の構成としては、コントローラ3に代えてコントローラ7が設けられた点、当該コントローラ7から各フラッシュメモリ2への配線が異なる点以外は第1の実施の形態のメモリ装置1の場合と同様となる。
このため図8では、第2の実施の形態のメモリ装置の構成に関して、コントローラ7の内部構成と上記配線のみを主に示している。なおこの図8においても先の図3と同様に、フラッシュメモリ2としてはフラッシュメモリ2-0とフラッシュメモリ2-1のみが設けられたものとしており、また、バッファRAM5も併せて示している。
【0048】
DDR転送がサポートされる場合は、リードイネーブル信号RE、ライトイネーブル信号WEとは別に、データの入出力に使用するDQS信号(データストローブ信号)をコントローラ7から供給するためのDQS線Ldqsが、各フラッシュメモリ2に独立して接続される。
図示するように、フラッシュメモリ2-0に接続されるDQS信号線Ldqsは「Ldqs-0」、フラッシュメモリ2-1に接続されるDQS信号線Ldqsは「Ldqs-1」とする。
【0049】
周知のように、DDRが採用される場合、リード時にはフラッシュメモリ2側からDQS信号が出力され、レシーバ側(読出データの取込側)は、このようにフラッシュメモリ2側から出力されるDQS信号が示すタイミングでデータの取込を行うようにされる。
一方、データの書込時には、フラッシュメモリ2側にDQS信号を入力して、データの書込タイミングを指示することになる。
なお、以下、読出時に対応してフラッシュメモリ2側から出力されるDQS信号については便宜上「DQS出力信号」とし、書込時に対応してフラッシュメモリ2に対して書込タイミング指示のために与えるDQS信号については「DQS入力信号」とする。
【0050】
ここで、図中の「DQS出力」は、読出時に対応してフラッシュメモリ2側から出力されるDQS出力信号を表すものである。
【0051】
また図8では、コントローラ7側から各フラッシュメモリ2に供給されるクロックCLKの信号線Lclkも示している。図のようにフラッシュメモリ2-0に接続される信号線Lclkは「Lclk-0」、フラッシュメモリ2-1に接続される信号線Lclkは「Lclk-1」とする。
【0052】
なお、この場合もコントローラ側とフラッシュメモリ側との間の配線については本実施の形態のメモリ制御手法に係るもののみを特に抽出して示しており、実際には、例えばアドレスを指定するための信号線等の他の配線も接続されるものである。例えば、一例としてはCLE(Command Latch Enable)信号やALE(Address Latch Enable)信号の供給線等を挙げることができる。
【0053】
図示するようにクロックCLKは、コントローラ7内に設けられた可変遅延回路7Aを介して信号線Lclkに供給される。
具体的に、フラッシュメモリ2-0に対しては、可変遅延回路3A-0を介したクロックCLKが信号線Lclk-0を介して供給される。同様に、フラッシュメモリ2-1に対しては、可変遅延回路3A-1を介したクロックCLKが信号線Lclk-1を介して供給される。
可変遅延回路3A-0を介してフラッシュメモリ2-0に与えられるクロックCLKは「CLK_0」、可変遅延回路3A-1を介してフラッシュメモリ2-1に与えられるクロックCLKは「CLK_1」とする。
【0054】
またこの場合、コントローラ7内には、フラッシュメモリ2と同数のスイッチSWが設けられる。図のようにフラッシュメモリ2-0に対応して設けられたスイッチSWは「SW-0」、フラッシュメモリ2-1に対応して設けられたスイッチSWは「SW-1」とする。
この場合のスイッチSWは、端子t1に対して端子t2、端子t3、端子t4を択一的に選択可能なスイッチとされる。すなわち、端子t2又は端子t3又は端子t4に入力された信号の何れか1つを選択して、端子t1より出力するように構成されている。
図のように、端子t1の出力は、バッファアンプ7Bを介してDQS信号線Ldqsに供給される。ここで、DQS信号線Ldqs-0を介してフラッシュメモリ2-0に与えられるDQS信号(DQS入力信号)についてはDQS_0と表記し、DQS信号線Ldqs-1を介してフラッシュメモリ2-1に与えられるDQS信号(DQS入力信号)についてはDQS_1と表記する。
【0055】
スイッチSWの端子t4には、DQS入力信号が与えられる。他フラッシュメモリからのデータコピーではなく通常の書込動作時には、当該端子t4が選択されて、書込対象のフラッシュメモリ2に対して当該DQS入力信号が供給されることになる。
【0056】
また、スイッチSWの端子t3には、そのスイッチSWが対応して設けられたフラッシュメモリ2が読出時に出力するDQS出力信号が入力される。
【0057】
また、スイッチSW-1において、その端子t2に対しては、スイッチSW-0の端子t1からの出力が、バッファアンプ7B-0→バッファアンプ7C-0→遅延回路7D-1を介して入力されるものとなっている。
【0058】
なお、図8では図示の都合から示さなかったが、コントローラ7内には、フラッシュメモリ2-0に対応する遅延回路7Dとして、遅延回路7D-0が設けられる。そして、スイッチSW-0側の端子t2に対しては、スイッチSW-1の端子t1からの出力が、図中のバッファアンプ7B-1、バッファアンプ7C-1を介した後、当該遅延回路7D-0を介して入力されることになる。
【0059】
[2-2.第2の実施の形態のメモリ制御手法]
図9のタイミングチャートを参照して、第2の実施の形態のメモリ制御手法について説明する。
なお図9では、フラッシュメモリ2-0からフラッシュメモリ2-1へのデータコピー時に対応して得られるCLK_0、ALE/CLE_0、DQS out_0、DT out_0、CLK_1、ALE/CLE_1、DQS in_1、DT in_1をそれぞれ示している。
なお、ALE/CLE_0、ALE/CLE_1はそれぞれコントローラ7側からフラッシュメモリ2-0、フラッシュメモリ2-1に供給されるALE信号、CLE信号を意味し、DQS out_0はフラッシュメモリ2-0側から出力されるDQS出力信号、DQS in_1はフラッシュメモリ2-1に供給されるDQS入力信号を意味する。なおこの場合もDTはDataの略である。
【0060】
先ず、DDR規格が採用される第2の実施の形態の場合には、フラッシュメモリ2-0の読出に伴い、図中のDQS out_0と示すようなDQS出力信号がフラッシュメモリ2-0側から得られる。この場合の読出データは、当該DQS出力信号の半周期の期間ごとにデータ線Ldt上に得られることとなる。
【0061】
ここで、DDR転送において、読出データがデータ線Ldt上に得られるタイミングは、クロックCLKの立ち上がり/立ち下がりタイミングに対しては、必ずしも一致するものとはならない。特に、フラッシュメモリ2の動作温度変化に対して、両者のタイミング差は比較的大きなものとなる。
このため、本例においては、コピー先のフラッシュメモリ2-1に対して与えるべきDQS入力信号を、クロックCLKに基づいて生成するものとはせず、コピー元のフラッシュメモリ2-0が出力するDQS出力信号に基づき生成することとしている。
【0062】
具体的に、第2の実施の形態の場合、フラッシュメモリ2-0からフラッシュメモリ2-1へのデータコピーを行うとしたときは、図8に示したスイッチSW-0にて端子t3を選択し、スイッチSW-1にて端子t2を選択する。これにより、コピー先のフラッシュメモリ2-1に対して、コピー元の(つまり読出対象の)フラッシュメモリ2-0からのDQS出力信号を遅延回路7D-1で所定量遅延させて生成した信号を、DQS入力信号(書込タイミング指示信号)として供給することができる。
【0063】
ここで、DDRが採用される場合においても、図10に示すような、DQS入力信号(図中DQS in_1)の立ち上がり以前に有効なデータを設定しておく必要のあるtDS、以降に有効なデータを設定し続けておく必要のあるtDHがベンダにより規定されている。
例えば、実行周波数が100MHz、つまり周期10ns、tDS及びtDHが1nsとされている場合、遅延回路7Dに設定すべき遅延量は、コピー先フラッシュメモリからのDQS出力信号を2.5ns遅延させたDQS出力信号が得られるように設定すればよい(図中「delay」)。
【0064】
このようにコピー先のフラッシュメモリ2-0から出力されるDQS出力信号を所定量遅延させて生成したDQS入力信号がコピー元のフラッシュメモリ2-1に供給されることで、フラッシュメモリ2-1は、当該DQS入力信号に応じて、データ線Ldt上に得られたフラッシュメモリ2-0からの読出データを適正に書き込むことができる(図9中、時点t2,t4,t6,t8を参照)。
【0065】
ここで、図9を参照して分かるように、コピー先のフラッシュメモリ2-1に供給するクロックCLK_1については、上記のようにコピー元のフラッシュメモリ2-0からのDQS出力信号を遅延回路7D-1で遅延させた量に応じた分だけ、クロックCLK_0に対して遅延させることになる。このときの遅延量、すなわち、コピー先フラッシュメモリに対して供給されるべきクロックCLKの生成にあたり当該コピー先フラッシュメモリに対応して設けられた可変遅延回路3Aに対して設定すべき遅延量のことを、「ライト時遅延量」と表記する。
このライト時遅延量は、コントローラ7が設定する。
なおこの場合、コピー元フラッシュメモリに対応して設けられた可変遅延回路3Aに対して設定すべき遅延量は「0」とすればよい。
【0066】
なお、上記説明では、フラッシュメモリ2-0からフラッシュメモリ2-1に対するデータコピー時に対応した動作について説明したが、フラッシュメモリ2-1からフラッシュメモリ2-0に対するデータコピー時には、スイッチSW-1には端子t3を選択させ、スイッチSW-0には端子t2を選択させる。またこれと共に、可変遅延回路3A-0に上述のライト時遅延量を設定して、コピー先であるフラッシュメモリ2-0のクロックCLK_0を、コピー元であるフラッシュメモリ2-1のクロックCLK_1よりも遅延させるものとすればよい。
【0067】
また、他フラッシュメモリへのデータコピーに伴うライトではなく、通常のライト時には、データの書込対象とされるフラッシュメモリ2に対応して設けられたスイッチSWには、端子t4を選択させて、当該書込対象のフラッシュメモリ2に通常のDQS入力信号が供給されるようにする。
【0068】
また、図8では、フラッシュメモリ2の数が2である場合を例示したが、フラッシュメモリ2が3以上設けられる場合にも、第2の実施の形態のメモリ制御手法は適用可能である。
この場合、少なくとも可変遅延回路8A、スイッチSW、遅延回路7Dをフラッシュメモリ2ごとに設ければよい点は上記と同様となる。
但し、フラッシュメモリ2が3以上設けられる場合は、コピー元として選択され得るフラッシュメモリ2が2以上となるので、スイッチSWとしては、これら2以上のフラッシュメモリ2の何れがコピー元として選択された場合としても、その選択されたフラッシュメモリ2からのDQS出力信号の遅延後信号(遅延回路7Dによる遅延後のDQS出力信号=コピー先フラッシュメモリへのDQS入力信号)を選択入力できるように構成しておく必要がある。すなわち、端子t2としての、コピー元フラッシュメモリからのDQS出力信号に基づくDQS入力信号を入力するための端子を、コピー元フラッシュメモリとして選択され得るフラッシュメモリ2の数だけ設けるものとし、それらの端子のうちから、コピー元として選択されたフラッシュメモリ2に対応する端子を選択できるように構成する。
【0069】
上記により説明したように、第2の実施の形態では、DDR規格が採用される場合において、コピー元のフラッシュメモリ2のデータ読出タイミングが動作温度等により変動することを考慮して、コピー先のフラッシュメモリ2に供給すべきDQS入力信号が表す書込指示タイミングを調整するものとしている。具体的に、DDRの場合、コピー元のフラッシュメモリ2のデータ読出タイミングはそのフラッシュメモリ2からのDQS出力信号が表すものとなるので、当該DQS出力信号を所定時間分遅延させた信号を、コピー先のフラッシュメモリ2に対するDQS入力信号として生成するものとしている。
これにより、動作温度変化等に依存してコピー先のフラッシュメモリ2への書込タイミングが不適切なものとなってしまうことを防止できる。すなわち、動作温度変化等に依存してコピー先のフラッシュメモリ2に対し書込誤りが生じてしまうような事態の発生を防止することができる。
【0070】
なお、図10に示したtDHの時間長が比較的短くて良い場合等には、コピー先のフラッシュメモリ2に対し供給するDQS入力信号は、例えばクロックCLKなどの、DQS出力信号以外の他のタイミング信号に基づいて生成することもできる。つまり、例えばクロックCLKを、動作温度変化によるタイミング差分も考慮した比較的長い遅延量だけ遅延させて、これをコピー先のフラッシュメモリ2に対するDQS入力信号とすることによっても、同様の温度補償効果を得ることは可能である。
【0071】
<3.第3の実施の形態>
[3-1.メモリ装置の内部構成及びメモリ制御手法]
図11は、第3の実施の形態としてのメモリ装置(メモリ装置10とする)の内部構成を示している。
なお第3の実施の形態において、既にこれまでで説明済みとなった部分については同一符号を付して説明を省略する。
【0072】
このメモリ装置10は、第1の実施の形態のメモリ装置1と比較して、新たに冗長フラッシュメモリ2-rdが設けられた点と、コントローラ3に代えてコントローラ11が設けられた点が異なる。さらに、メモリ装置10においては、コントローラ11と冗長フラッシュメモリ2-rdとの間で信号線Le-rdが接続され、またこの場合のデータ線Ldtは、図のように冗長フラッシュメモリ2-rdに対しても接続されることになる。
【0073】
冗長フラッシュメモリ2-rdは、当該メモリ装置10の記録容量にはカウントされない冗長な記録領域として使用されるフラッシュメモリ2を意味する。つまり、この冗長フラッシュメモリ2-rdは、通常のユーザデータ等の記録には使用されないメモリとなる。
【0074】
ここで、メモリ装置10においては、コントローラ11内において、信号線Le-rdに対応して図3で説明したものと同様の可変遅延回路3Aが設けられ(可変遅延回路3A-rdとする)、当該信号線Le-rdに対しては、この可変遅延回路3A-rdを介したストローブ信号が入力されるようになっている。
【0075】
第3の実施の形態では、このような冗長フラッシュメモリ2-rdを設けた上で、他のフラッシュメモリ2-0〜2-3のうちの何れかのフラッシュメモリ2に対するデータ読出時において、そのフラッシュメモリ2からデータ線Ldt上に出力された読出データを、バッファRAM5側に転送しつつ、これと並行して、冗長フラッシュメモリ2-rdにも書き込むということを行う。
【0076】
ここで、コントローラ11は、このようなデータ読出時には、いわゆるリフレッシュ処理を実行すべきか否かを判断するために、バッファRAM5に蓄積される読出データについてのエラーチェック処理を行うようにされている。このエラーチェック処理の結果に基づき、例えばエラー箇所が予め定められた上限値に達するなど、予めリフレッシュ処理を行うべきとして定められた条件(以下、リフレッシュ実行条件と表記)が成立したとされた場合には、コントローラ11は、リフレッシュのための処理としてバッファRAM5上でエラーデータの訂正処理等を実行することになる。
なお、フラッシュメモリにおけるリフレッシュ処理については、例えば下記の参考文献1や参考文献2等にも記載されている。
・参考文献1・・・特開2010−15477号公報
・特許文献2・・・特開2010−198219号公報
【0077】
このとき、従来のメモリ装置では、バッファRAM5に溜め込んだ読出データについてのエラーチェック処理の結果、リフレッシュ実行条件が成立したとされた場合は、バッファRAM5上で上記のようなエラー訂正処理を実行した後に、当該訂正後の読出データ全体をフラッシュメモリ2側に書き戻すようにされている。すなわち、従来のリフレッシュ処理の実行によっては、このような読出データ全体の書込処理が介在する分、データ読出速度の低下が問題となる。
【0078】
そこで第3の実施の形態では、フラッシュメモリ2の読出時には、上記のように読出データを冗長フラッシュメモリ2-rdに並行書込させると共に、リフレッシュ実行条件の成立に応じバッファRAM5上でエラー箇所の訂正を行った後は、冗長フラッシュメモリ2-rdに既に書込済みのエラー箇所に係るデータ部分のみを、訂正後の同データ部分に書き換えるということを行う。
【0079】
これにより、リフレッシュにあたり読出データ全体の書き戻しを伴う従来の場合と比較して、リフレッシュ実行時の読出速度の低下を効果的に抑制することができる。
【0080】
ここで、上記のようなエラーチェック処理の結果に伴い、リフレッシュの実行が不要であるとされた場合(リフレッシュ実行条件が不成立となった場合)は、冗長フラッシュメモリ2-rdに並行書込したデータは破棄するものとする。
【0081】
また、リフレッシュ実行条件の成立に応じ、エラー部分の書き換えを行った後の冗長フラッシュメモリ2-rdのデータは、その後の然るべきタイミングで通常の記録領域(つまりフラッシュメモリ2-0〜2-3の何れか)に書き込む。例えば、当該メモリ装置11のその後の起動時や、ホスト機器側からのリクエストが発生していない状態を検知しそのタイミングで実行するなどが好ましい。
【0082】
[3-2.処理手順]
図12は、上記により説明した第3の実施の形態としてのメモリ制御手法を実現するために実行すべき具体的な処理手順を示したフローチャートである。
図12Aは、読出時の並行書込を実現するための処理を示し、図12Bはリフレッシュ実行条件の成立/不成立に応じた制御を実現するための処理を示している。
図12Aに示す処理、及び図12Bに示す処理は、コントローラ11が並行して実行する。
【0083】
先ずは、図12Aに示す処理から説明する。
図12Aにおいて、ステップS201では、リードコマンドを待機する。つまり、ホスト機器側からのリードコマンドを待機する。
【0084】
リードコマンドがあった場合には、ステップS202に進み、読出対象メモリへのリードイネーブル信号REの出力、冗長メモリに対するライトイネーブル信号WEの出力を開始するための処理を行う。すなわち、上記リードコマンドから特定される読出対象のフラッシュメモリ2に対するリードイネーブル信号REの出力、及び冗長フラッシュメモリ2-rdへのライトイネーブル信号WEの出力を開始するための処理を実行するものである。
なお、当該ステップS202の処理は、先の図7にて説明したステップS102の処理とリードイネーブル信号REの出力対象、ライトイネーブル信号WEの出力対象が異なる以外は同様となるので、改めての説明は省略する。
【0085】
ステップS202の出力開始処理の実行後は、ステップS203において、冗長メモリへの書込が完了するまで待機する。すなわち、冗長フラッシュメモリ2-rdに対し、上記リードコマンドで指示された読出データの全てが書き込まれるまで待機するものである。
【0086】
冗長メモリへの書込が完了した場合には、ステップS204に進み、リードイネーブル信号REの出力、ライトイネーブル信号WEの出力を停止するための処理を実行する。つまりこの場合も、先のステップS104と同様にストローブ信号のトグルを停止すればよい。
このステップS204の処理の実行後、図12Aに示す処理は終了となる。
【0087】
続いて、図12Bにおいて、ステップS301では、読出開始となるまで待機する。すなわち、上述のホスト機器側からのリードコマンドに応じた読出が開始されるまで待機するものである。
【0088】
読出開始が検知された場合は、ステップS302において、読出データのエラーチェックを実行する。すなわち、読出対象のフラッシュメモリ2からデータ線Ldt経由でバッファRAM5に蓄積された読出データについて、エラーチェックを行う。
【0089】
ステップS302によるエラーチェックの実行後は、ステップS303において、リフレッシュ実行条件が成立したか否かを判別する。
本例では、リフレッシュ実行条件として、例えばエラー箇所が予め定められた上限値に達しているという条件が設定されているとする。
なお、リフレッシュ実行条件としては、例えば読出対象とされたデータ部分(例えばブロック単位)の現在までの読出回数も加味した条件を設定することもできる。
【0090】
ステップS303において、リフレッシュ実行条件が成立したとして肯定結果が得られた場合は、ステップS304に進み、エラーデータの訂正処理を実行する。すなわち、バッファRAM5に蓄積された読出データのうち、ステップS302のエラーチェック処理でエラーが判定された箇所の訂正を行う。
【0091】
ステップS304でエラーデータの訂正処理を実行した後は、ステップS305において、訂正データにより冗長メモリのエラー部分を書き換える。すなわち、冗長フラッシュメモリ2-rdに既に書込済みの読出データのうち、ステップS304で訂正したエラー箇所に係るデータ部分のみを、訂正後の同データ部分に書き換えるものである。
【0092】
一方、先のステップS303において、リフレッシュ実行条件が成立していないとして否定結果が得られた場合は、ステップS306に進み、冗長メモリに書き込んだデータを破棄するための処理を実行する。このステップS306の処理としては、冗長フラッシュメモリ2に対して書込を中断するように指示を行い、書き込まれたデータが消去されるようにする。このとき、冗長フラッシュメモリ2に書き込まれた読出データが消去されたものと扱われるように管理情報を更新する処理のみを行うようにしても良いし、実際に当該読出データの記録部分を消去する処理も併せて実行するものとしてもよい。
【0093】
ステップS306の破棄処理、又は先のステップS305による書き換え処理の実行後、図12Bに示す処理は終了となる。
【0094】
なお、上記により説明した第3の実施の形態のメモリ制御手法は、第2の実施の形態のようにDDR規格が採用される場合においても同様に適用可能であることは言うまでもない。
【0095】
また、上記説明では、通常の記録領域として使用するフラッシュメモリ2以外に冗長フラッシュメモリ2-rdを別途設ける場合を例示したが、冗長フラッシュメモリ2-rdとして使用するフラッシュメモリ2を、適宜、フラッシュメモリ2のうちから選択して使用するものとしてもよい。
【0096】
<4.変形例>
以上、本技術に係る実施の形態について説明したが、本技術は、これまでで説明した具体例に限定されるべきものではない。
例えばこれまでの説明では、読出データを1つのフラッシュメモリ2に対してのみ並行書込する場合を例示したが、読出データを複数のフラッシュメモリ2に並行書込することももちろん可能である。
【0097】
また、これまでの説明では、リード/ライトのイネーブル信号を共通のイネーブル信号線Leを介してフラッシュメモリ2に供給する構成を例示したが、リードイネーブル信号を供給する信号線とライトイネーブル信号を供給する信号線とを個別に設ける構成とすることも可能である。
【0098】
また、本技術に係る並行書込の手法は、以下のようなケースにおいても適用可能である。
ここで、NAND型フラッシュメモリにおいては、小さいサイズのデータ(ブロックサイズ未満のデータ)の書込を行う際、それらのデータを毎回連続した領域にマージすると書込速度の低下が生じるため、通常の記録領域とは別に小さいサイズのデータを記録して、別のある時点で連続した領域にマージするという手法が採られている。
このような場合において、小さいサイズのデータは一旦冗長なフラッシュメモリ2に記録するものとしておき、連続した領域へのマージが必要となった際に、冗長なフラッシュメモリ2から、それら小さいサイズのデータをマージ先のフラッシュメモリ2にコピーするということが考えられる。この、冗長なフラッシュメモリ2からマージ先のフラッシュメモリ2へのデータコピーの際に、本技術に係る並行書込手法を適用することができる。
この場合も、読出と同時に書込ができることで、コピー時間の短縮化が図られる。
【0099】
また、本技術は、以下の(1)〜(9)に記す構成とすることも可能である。
(1)
共通のデータ線が接続された複数のフラッシュメモリ部と、
上記複数のフラッシュメモリ部のデータ書込/読出のための制御を行う制御部とを備え、
上記制御部は、
上記複数のフラッシュメモリ部のうち第1のフラッシュメモリ部に読出指示を行って当該第1のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第1のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第1のフラッシュメモリ部とは異なる第2のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第2のフラッシュメモリ部に書き込まれるように制御する
メモリ装置。
(2)
上記制御部は、
上記読出指示をリードイネーブル信号、上記書込指示をライトイネーブル信号によりそれぞれ行う
上記(1)に記載のメモリ装置。
(3)
上記リードイネーブル信号が表すビット読出タイミングから所定時間遅延したタイミングで書込指示のタイミングを表す上記ライトイネーブル信号により上記書込指示を行う
上記(2)に記載のメモリ装置。
(4)
上記リードイネーブル信号と上記ライトイネーブル信号を上記制御部から上記フラッシュメモリ部に供給するための信号線が各上記フラッシュメモリ部ごとに共通線とされる
上記(2)及び(3)に記載のメモリ装置。
(5)
上記制御部は、
ガベージコレクション処理に伴う上記第1のフラッシュメモリ部から上記第2のフラッシュメモリ部へのデータコピー時において、上記読出指示と上記書込指示とによる読出及び書込が行われるようにする
上記(1)〜(4)に記載のメモリ装置。
(6)
DDR(Double Data Rate)規格に対応して上記制御部と各上記フラッシュメモリ部との間にDQS信号線が接続されており、
上記制御部は、
読出対象とされた上記第1のフラッシュメモリ部からのデータの読出タイミングに応じたタイミングでの書込タイミングを表すDQS入力信号を生成し、当該DQS入力信号を書込対象とされた上記第2のフラッシュメモリ部の上記DQS信号線に供給することで、上記共通のデータ線に得られた上記第1のフラッシュメモリ部からの読出データが上記第2のフラッシュメモリ部に書き込まれるように制御する
上記(1)に記載のメモリ装置。
(7)
上記制御部は、
上記第1のフラッシュメモリ部からの上記DQS出力信号を所定時間遅延させて上記DQS入力信号を生成する
上記(6)に記載のメモリ装置。
(8)
上記共通のデータ線に接続されたバッファメモリをさらに備え、
上記制御部は、
上記バッファメモリに蓄積された上記第1のフラッシュメモリ部からの読出データについて誤り検査を行うと共に、その結果に基づき、誤り訂正が必要とされた場合は、上記第2のフラッシュメモリ部に書き込まれた上記読出データのうち、誤り訂正が必要とされるデータ部分のみが修正されるように制御する
上記(1)〜(7)に記載のメモリ装置。
(9)
上記制御部は、
上記誤り検査の結果に基づき、誤り訂正が必要でないとされた場合は、上記第2のフラッシュメモリ部に書き込まれた上記読出データが破棄されるように制御する
上記(1)〜(8)に記載のメモリ装置。
【符号の説明】
【0100】
1,10 メモリ装置、2 フラッシュメモリ、2-rd 冗長フラッシュメモリ、3,7,11 コントローラ、4 RAM、5 バッファRAM、6 外部インターフェイス、3A,7A 可変遅延回路、7D 遅延回路
【技術分野】
【0001】
本発明は、フラッシュメモリを備えたメモリ装置、及びフラッシュメモリに対するデータの読出/書込制御を行うメモリ制御装置とその方法に関する。
【先行技術文献】
【特許文献】
【0002】
【特許文献1】特開2007−193883号公報
【背景技術】
【0003】
不揮発性メモリの一種としてフラッシュメモリが広く知られている。
フラッシュメモリとして、特にNAND型フラッシュメモリは、安価で且つデータの書込/読出速度が比較的高速であるため、HDD(Hard Disk Drive)等の既存の記憶装置に代わるものとして期待されている。
【0004】
NAND型フラッシュメモリは、データの格納位置によって読出/書込速度が変わることや、読出/書込単位に対して消去単位が大きいため、高いパフォーマンスを維持するために定期的にガベージコレクションを行うようにされている(例えば上記特許文献1を参照)。
ガベージコレクションでは、フラッシュメモリ内の複数のブロックに分散して存在する有効データを寄せ集めて所定のブロックにマージするということが行われるため、多くの場合、或るフラッシュメモリから他のフラッシュメモリへのデータのコピーを伴う。
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、NAND型フラッシュメモリには、いわゆるコピーコマンド(コピーバックコマンド)が存在するが、このコピーコマンドは、コピー先とコピー元が同一のフラッシュメモリ内であることを前提としたコマンドであり、例えば上記のようなガベージコレクションの発生に伴う他フラッシュメモリへのデータコピー時においては、これを使用することができない。
【0006】
このため、従来のフラッシュメモリにおいて、異なるフラッシュメモリ間でのデータコピーを行う際には、コピー元のメモリから一旦外部バッファに読み出しを行った上で、そのデータをコピー先のフラッシュメモリに転送して書き込むということを行う必要があった。
【0007】
図13により、従来のデータコピーに要していた時間長について説明する。
図13において、図13Aは比較として、前述のコピーコマンドを使用した場合について示している。図13Bは、上記のような異なるフラッシュメモリ間でのデータコピーについて示している。
【0008】
図13Bにおいて、従来、異なるフラッシュメモリ間でのデータコピーを行う場合には、先ずはリードコマンドを発行してコピー元のフラッシュメモリからのデータ読出を行う。この読出データは、データ線を介してバッファメモリに蓄積される。
そして、当該読出(蓄積)の完了後、コピー先のフラッシュメモリにライトコマンドを発行し、上記のように蓄積された読出データをコピー先フラッシュメモリに対して書き込む。
【0009】
なお、図13Aのコピーコマンド使用の場合、データコピーは対象とするフラッシュメモリ内で完結するものであるため、読出データのバッファメモリへの転送は不要である。従ってこの場合、コピーに要する時間長は、図13Bの場合のおよそ半分で済むものとなる。
【0010】
このように従来の手法では、異なるフラッシュメモリ間でのデータコピーの際に、バッファメモリを介すため、データ転送がデータ線上において2度発生することとなり、結果として処理速度が低下する傾向となる。
【0011】
本技術はかかる問題点に鑑みなされたもので、フラッシュメモリを備えたメモリ装置において、例えばガベージコレクションの発生等に伴う他フラッシュメモリへのデータコピーを、コピーコマンドを使用する場合と同等に高速化することをその課題とする。
【課題を解決するための手段】
【0012】
上記課題の解決を図るため、本技術では、メモリ装置として以下のものを提案する。
すなわち、本技術のメモリ装置は、共通のデータ線が接続された複数のフラッシュメモリ部を備える。
また、上記複数のフラッシュメモリ部のデータ書込/読出のための制御を行う制御部とを備える。
そして、上記制御部が、上記複数のフラッシュメモリ部のうち第1のフラッシュメモリ部に読出指示を行って当該第1のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第1のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第1のフラッシュメモリ部とは異なる第2のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第2のフラッシュメモリ部に書き込まれるように制御するものである。
【0013】
また、本技術では、メモリ制御装置として以下のものを提案する。
つまり本技術のメモリ制御装置は、共通のデータ線が接続された複数のフラッシュメモリ部についてデータの読出/書込制御を行うメモリ制御装置であって、上記複数のフラッシュメモリ部のうち第1のフラッシュメモリ部に読出指示を行って当該第1のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第1のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第1のフラッシュメモリ部とは異なる第2のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第2のフラッシュメモリ部に書き込まれるように制御するものである。
【0014】
また、本技術では、メモリ制御方法として以下のものを提案する。
すなわち、本技術のメモリ制御方法は、共通のデータ線が接続された複数のフラッシュメモリ部についてデータの読出/書込制御を行うメモリ制御方法であって、上記複数のフラッシュメモリ部のうち第1のフラッシュメモリ部に読出指示を行って当該第1のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第1のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第1のフラッシュメモリ部とは異なる第2のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第2のフラッシュメモリ部に書き込まれるように制御するものである。
【0015】
上記構成によれば、第1のフラッシュメモリ部のデータの読出と、その読出データの第2のフラッシュメモリ部への書き込みとを同時並行的に行うことができる。
上記共通のデータ線に得られた読出データを他のフラッシュメモリ部に並行して書き込むことができるので、他フラッシュメモリへのコピー時にバッファメモリの介在を要する従来の場合と比較して、コピー速度を飛躍的に向上できる。
【発明の効果】
【0016】
本技術によれば、第1のフラッシュメモリ部からの読出とその読出データの第2のフラッシュメモリ部への書込を並行して行うことができるので、コピー時間は、従来のコピーコマンドを使用する場合と同等程度に短縮化することができる。
【図面の簡単な説明】
【0017】
【図1】第1の実施の形態としてのメモリ装置の内部構成を示した図である。
【図2】第1の実施の形態のメモリ制御手法を採用した場合のデータコピーに要する時間長について説明するための図である。
【図3】第1の実施の形態のメモリ装置の制御部が備えるべき構成を主に示した図である。
【図4】第1の実施の形態のメモリ制御手法の実現にあたり用いられる各信号のタイミングチャートである。
【図5】第1の実施の形態の場合におけるData Setup Time(tDS)とData Hold Time(tDH)についての説明図である。
【図6】EDOモード時に対応して第1の実施の形態のメモリ制御手法を実行した場合の動作波形を示したタイミングチャートである。
【図7】第1の実施の形態としてのメモリ制御手法を実現するために実行すべき具体的な処理手順を示したフローチャートである。
【図8】第2の実施の形態のメモリ装置の内部構成について説明するための図である。
【図9】第2の実施の形態のメモリ制御手法について説明するためのタイミングチャートである。
【図10】第2の実施の形態の場合におけるData Setup Time(tDS)とData Hold Time(tDH)についての説明図である。
【図11】第3の実施の形態としてのメモリ装置の内部構成を示した図である。
【図12】第3の実施の形態としてのメモリ制御手法を実現するために実行すべき具体的な処理手順を示したフローチャートである。
【図13】従来のデータコピーに要していた時間長について説明するための図である。
【発明を実施するための形態】
【0018】
以下、本技術に係る実施の形態について説明する。
なお、説明は以下の順序で行う。
<1.第1の実施の形態>
[1-1.メモリ装置の内部構成]
[1-2.第1の実施の形態のメモリ制御手法]
[1-3.処理手順]
<2.第2の実施の形態>
[2-1.メモリ装置の内部構成]
[2-2.第2の実施の形態のメモリ制御手法]
<3.第3の実施の形態>
[3-1.メモリ装置の内部構成及びメモリ制御手法]
[3-2.処理手順]
<4.変形例>
【0019】
<1.第1の実施の形態>
[1-1.メモリ装置の内部構成]
図1は、本技術に係る第1の実施の形態としてのメモリ装置(以下、メモリ装置1とする)の内部構成を示している。
図1において、メモリ装置1は、図のように複数のフラッシュメモリ2と、これらフラッシュメモリ2に対する書込/読出制御を行うためのコントローラ3と、当該コントローラ3のワーク領域として用いられるRAM(Random Access Memory)4と、上記フラッシュメモリ2の読出/書込データが一時蓄積されるバッファRAM5と、外部インターフェイス6とを備えている。
【0020】
フラッシュメモリ2は、NAND型のフラッシュメモリとされる。図1では、フラッシュメモリ2が4つ備えられている例を示しており、それぞれをフラッシュメモリ2-0、フラッシュメモリ2-1、フラッシュメモリ2-2、フラッシュメモリ2-3と表記している。
【0021】
これらフラッシュメモリ2の個々に対しては、図のようにコントローラ3との間で信号線Leがそれぞれ接続されている。フラッシュメモリ2-0との間の信号線Leは信号線Le-0、フラッシュメモリ2-1との間の信号線Leは信号線Le-1、フラッシュメモリ2-2との間の信号線Leは信号線Le-2、フラッシュメモリ2-3との間の信号線Leは信号線Le-3とする。
当該信号線Leは、読出又は書込の対象とするフラッシュメモリ2に対してデータの読出又は書込のタイミングを指示するために用いるイネーブル(Enable)信号(後述するリードイネーブル信号、又はライトイネーブル信号)を供給するための信号線となる。なおこの意味で、信号線Leについてはイネーブル信号線Leとも表記する。
【0022】
また、各フラッシュメモリ2に対しては、共通のデータ線Ldtが接続されている。このデータ線Ldtは、図のようにバッファRAM5に対しても接続されており、これによって当該バッファRAM5からの書込データのフラッシュメモリ2への供給、及びフラッシュメモリ2からの読出データのバッファRAM5への供給が可能とされている。
【0023】
なお、コントローラ3側とフラッシュメモリ2側との間の配線については本実施の形態のメモリ制御手法に係るもののみを特に抽出して示しており、実際には、例えば読出/書込のアドレス指定を実現するための信号線等の他の配線も接続されるものである。
【0024】
コントローラ3は、メモリ装置1の全体制御を行う。
具体的には、例えば外部インターフェイス6が外部のホスト機器から受信したコマンドの解釈、コマンドに応じたフラッシュメモリ2に対するデータの書込/読出制御、フラッシュメモリ2の記録データを管理するための各種の管理情報の生成等、さらにはフラッシュメモリ2へのデータ書込時のECC(Error Correction Code)データ生成・付加、読出時のECCエラー訂正処理などを行う。
【0025】
外部インターフェイス6は、外部のホスト機器とコントローラ3との間で各種データの送受信を可能とするために設けられ、上記ホスト機器からのコマンド受信やデータの送受信等を行う。
上記ホスト機器から書込指示されたデータは、当該外部インターフェイス6を介してバッファRAM5に一時蓄積された後、コントローラ3の制御により、データ線Ldtを介して所定のフラッシュメモリ2(アドレス)に書き込まれる。
また、ホスト機器から或るフラッシュメモリ2(アドレス)に書き込まれたデータの読出指示があった場合、コントローラ3の制御により当該フラッシュメモリ2からの読出データがデータ線Ldtを介してバッファRAM5に一時蓄積された後、外部インターフェイス6を介して上記ホスト機器に対して送出される。
【0026】
[1-2.第1の実施の形態のメモリ制御手法]
本実施の形態では、上記のように各フラッシュメモリ2に共通のデータ線Ldtが接続された構成とした上で、異なるフラッシュメモリ2へのデータコピーが発生した場合において、以下のような手法によるコピー処理が実行されるようにする。
すなわち、フラッシュメモリ2のうちデータのコピー元となるフラッシュメモリ2に読出指示を行って当該コピー元のフラッシュメモリ2からデータ線Ldtに読出データを出力させると共に、当該コピー元のフラッシュメモリ2から読出データが出力されるタイミングに応じたタイミングで、コピー先のフラッシュメモリ2に書込指示を行うことで、上記のようにデータ線Ddtに得られた読出データがコピー先のフラッシュメモリ2に書き込まれるようにするというものである。
このような手法により、コピー元のフラッシュメモリ2からのデータ読出と、その読出データについてのコピー先のフラッシュメモリ2に対する書込とが同時並行的に行われるようにすることができる。
【0027】
図2は、本実施の形態の手法を採用した場合のデータコピーに要する時間長について説明するための図である。
先の図13と比較して分かるように、本実施の形態によれば、他のフラッシュメモリ2に対するデータコピーに要する時間長は図13Aに示すコピーコマンドを用いた場合と同等とでき、図13Bに示した、データコピー時にバッファメモリの介在を要する従来手法と比較して、コピー時間長をおよそ半分に抑えることができる。
【0028】
上記により説明した本実施の形態としてのメモリ制御手法を実現するための具体的な構成、及び制御内容について図3〜図5を参照して説明する。
図3は、本実施の形態のメモリ制御手法の実現のためにコントローラ3が備えるべき具体的な構成を主に示しており、図4は、本実施の形態のメモリ制御手法の実現にあたり用いられる各信号のタイミングチャートを示している。なお図4において、DTはDataの略である。
図3においては、コントローラ3が備えるべき構成と共に、図1に示したフラッシュメモリ2、バッファRAM5、イネーブル信号線Le、及びデータ線Ldtも併せて示している。図示の都合上、フラッシュメモリ2に関してはフラッシュメモリ2-0とフラッシュメモリ2-1のみが備えられているものとしている。
ここで、以下での説明においては、データのコピー元がフラッシュメモリ2-0とされ、コピー先がフラッシュメモリ2-1とされた場合を例示する。
【0029】
図3において、この場合のコントローラ3は、クロックCLKに基づくストローブ(Strobe)信号を生成する。ストローブ信号の周波数はクロックCLKの周波数に一致する。
【0030】
本例の場合、コントローラ3は、上記ストローブ信号に基づいてリードイネーブル(Read Enable)信号RE、及びライトイネーブル(Write Enable)信号WEをそれぞれ生成する。具体的に、コントローラ3は、ストローブ信号を入力する可変遅延回路3Aを複数有しており、これら可変遅延回路3Aによってストローブ信号からリードイネーブル信号RE、ライトイネーブル信号WEを生成する。
本例において、可変遅延回路3Aは、イネーブル信号線Leごとに設けられる。すなわち、フラッシュメモリ2ごとに設けられている。
この場合、イネーブル信号線LeはLe-0とLe-1のみが設けられているので、可変遅延回路3Aとしては信号線Le-0に対応する可変遅延回路3A-0、信号線Le-1に対応する可変遅延回路3A-1の2つが設けられる。
【0031】
ここで、図4を参照して分かるように、リードイネーブル信号REは、ストローブ信号の位相を1/4周期分遅延させたものとなる。つまりこの場合のコントローラ3は、或るフラッシュメモリ2-xに書き込まれたデータの読出を行うとしたときは、そのフラッシュメモリ2-xに接続されたイネーブル信号線Le-xと接続されている可変遅延回路3A-xの遅延量をストローブ信号の1/4周期分の遅延量に設定する。
この場合の例のように、フラッシュメモリ2-0のデータをフラッシュメモリ2-1にコピーするとした場合において、フラッシュメモリ2-0からコピー対象のデータを読み出すとしたときは、可変遅延回路3A-0にストローブ信号の1/4周期分の遅延量を設定して、フラッシュメモリ2-0にリードイネーブル信号REを与えることになる。
なお、以下、リードイネーブル信号REの生成のために可変遅延回路3Aに対して設定される遅延量のことを便宜上「リード用遅延量」と表記する。
【0032】
このようなリードイネーブル信号REの供給に応じて、コピー先のフラッシュメモリ2-0からは、図4中「DT out_0」と示すように、リードイネーブル信号REの立ち下がりタイミング(時点t1,t3,t5)ごとに、1ビット分のデータの読出が順次為されることになる。
【0033】
ここで、このようにフラッシュメモリ2-0から読み出されたデータは、データ線Ldtに出力されることになるが、このとき、読出データがデータ線Ldtに得られるまでには、或る程度の時間を要する。
このため、フラッシュメモリ2-0からの読出データをフラッシュメモリ2-1に書き込ませるために当該フラッシュメモリ2-1に対して与えるべきライトイネーブル信号WEとしては、これが表す書込タイミングが、コピー元のフラッシュメモリ2-0に対して与えたリードイネーブル信号REの表す読出タイミングよりも所定時間だけ遅延されるように生成する。
なお、本例において、ライトイネーブル信号WEは、その立ち上がりタイミング(時点t2、t4,t6)によりデータの書き込みタイミングを表すものである。
【0034】
ここで、NAND型フラッシュメモリの場合、信号線Leに対してデータ線Ldtを入出力する信号が有効となるタイミングがベンダによって規定されている。
図5に示すように、ライトイネーブル信号WEの立ち上がり以前に有効なデータを設定しておく必要のあるData Setup Time(tDS)、以降に有効なデータを設定し続けておく必要のあるData Hold Time(tDH)がベンダにより規定されている。
例えば、tDSが5ns、tDHが15nsと規定されていた場合、ライトイネーブル信号WEに対してリードイネーブル信号REを5ns以上遅延させることが望ましい(図5中「delay」)。
このとき、イネーブル信号の周期は、少なくともtDSとtDHの和である20ns以上に設定することとなる。
【0035】
フラッシュメモリ2-0からの読出データをフラッシュメモリ2-1に書き込ませるとした場合、コントローラ3は、図3に示す可変遅延回路3A-1に対し、当該可変遅延回路3A-1から出力されるライトイネーブル信号WEとして、上記のようなリードイネーブル信号REとの位相差(例えば上記5nsに相当する位相差)を有する信号が得られるように予め設定された遅延量を設定する。
なお、このように他フラッシュメモリ2へのデータコピー時においてコピー先のフラッシュメモリ2に対し供給すべきライトイネーブル信号WEの生成のために可変遅延回路3Aに設定すべき遅延量については、「ライト用遅延量」と表記する。
【0036】
上記のように生成されたライトイネーブル信号WEの供給により、この場合のフラッシュメモリ2-1(コピー先フラッシュメモリ)は、フラッシュメモリ2-0から読み出されデータ線Ldt上に得られた読出データを、1ビットごとに確実に書き込むことができる。
【0037】
ここで、上記による説明では、フラッシュメモリ2-0からフラッシュメモリ2-1へのデータコピー時に対応して実行すべき処理について説明したが、逆に、フラッシュメモリ2-1からフラッシュメモリ2-0にデータコピーを行うとされた場合には、可変遅延回路3A-1に対してリード用遅延量を、可変遅延回路3A-0に対してライト用遅延量をそれぞれ設定するものとすればよい。
【0038】
なお、NAND型フラッシュメモリでは、EDO(Extended Data Output)モードを設定可能なものがあるが、当該EDOモード時においても、上記のメモリ制御手法により、同様に他フラッシュメモリへのデータコピーを適正に行うことができる。
図6は、EDOモード時に対応して本実施の形態のメモリ制御手法を実行した場合における図4と同様の動作波形を示している。なおこの場合もフラッシュメモリ2-0からフラッシュメモリ2-1へのデータコピーが行われる場合を例示している。
この図6を参照すれば、EDOモードではリードイネーブル信号REの1周期が読出期間となるだけで、前述した生成手法でフラッシュメモリ2-0に対するリードイネーブル信号RE、フラッシュメモリ2-1に対するライトイネーブル信号WEを生成することにより、コピー先であるフラッシュメモリ2-1が、データ線Ldt上に得られたフラッシュメモリ2-0からの読出データを、図4の場合と同様に適正に書き込むことができることが分かる。
【0039】
[1-3.処理手順]
図7のフローチャートを参照して、上記によるメモリ制御手法の実現のためにコントローラ3が実行すべき具体的な処理の手順を説明する。
図7において、ステップS101では、他フラッシュメモリへのコピーの発生を待機する。すなわち、図1に示したフラッシュメモリ2のうち或るフラッシュメモリ2に書き込まれているデータを他のフラッシュメモリ2に対して書き込むべき状態となることが検知されるまで待機するものである。
これまでの説明からも理解されるように、他フラッシュメモリへのコピーの発生要因としては、ガベージコレクションの発生等を挙げることができる。
【0040】
ステップS101において、他フラッシュメモリへのコピーが発生したとされた場合は、ステップS102において、コピー元メモリへのリードイネーブル信号REの出力、コピー先メモリへのライトイネーブル信号WEの出力を開始するための処理を行う。
本例の場合、リードイネーブル信号RE、ライトイネーブル信号WEはストローブ信号を可変遅延回路3Aにより所定量だけ遅延(前述のリード用遅延量、ライト用遅延量)させて生成するものとしている。従ってステップS102の処理としては、ストローブ信号のトグルを開始すると共に、コピー元のフラッシュメモリ2に接続された可変遅延回路3Aに前述のリード用遅延量を、またコピー先のフラッシュメモリ2に接続された可変遅延回路3Aにライト用遅延量をそれぞれ設定することとなる。
【0041】
ステップS102の処理の実行後は、ステップS103においてコピーが終了するまで待機する。つまり、コピー対象とされたデータのコピー先フラッシュメモリへの書込が全て終了するまで待機する。
【0042】
ステップS103においてコピーが終了したとされた場合は、ステップS104に進み、リードイネーブル信号REの出力、ライトイネーブル信号WEの出力を停止するための処理を実行する。本例の場合は、ストローブ信号のトグルを停止することで、リードイネーブル信号REの出力、ライトイネーブル信号WEの出力が停止されるようにすることになる。
【0043】
ステップS104の処理の実行後、この図に示す他フラッシュメモリへのコピーのための処理は終了となる。
【0044】
上記により説明した本実施の形態のメモリ制御手法によれば、コピー元フラッシュメモリのデータの読出と、その読出データのコピー先フラッシュメモリへの書き込みとを同時並行して行うことができる。これによれば、他フラッシュメモリへのコピーにあたりバッファRAM5の介在を要する従来のコピー手法と比較して、コピー速度を飛躍的に向上できる。
【0045】
なお、上記による説明では、主に、コピー元フラッシュメモリのデータの読出とその読出データのコピー先フラッシュメモリへの書き込みとを同時並行して行う処理についてのみ説明したが、実際においては、このような同時書込処理と並行として、コピー元フラッシュメモリからの読出データ(つまりバッファRAM5に蓄積されるデータ)についてコントローラ3がエラーチェック処理、及び必要に応じてエラー訂正処理を実行することになる。このとき、エラー訂正を実行したときは、コントローラ3は、コピー先フラッシュメモリに書き込まれた読出データのうち該当する箇所のデータを、エラー訂正後のデータに書き換える処理を実行する。
これにより、データのコピーと共に、データの信頼性低下の抑制を図ることができる。
【0046】
<2.第2の実施の形態>
[2-1.メモリ装置の内部構成]
続いて、第2の実施の形態について説明する。
第2の実施の形態は、DDR(Double Data Rate)規格が採用されたNAND型フラッシュメモリへの適用例である。
【0047】
図8は、第2の実施の形態のメモリ装置の内部構成について説明するための図である。
なお、第2の実施の形態のメモリ装置の構成としては、コントローラ3に代えてコントローラ7が設けられた点、当該コントローラ7から各フラッシュメモリ2への配線が異なる点以外は第1の実施の形態のメモリ装置1の場合と同様となる。
このため図8では、第2の実施の形態のメモリ装置の構成に関して、コントローラ7の内部構成と上記配線のみを主に示している。なおこの図8においても先の図3と同様に、フラッシュメモリ2としてはフラッシュメモリ2-0とフラッシュメモリ2-1のみが設けられたものとしており、また、バッファRAM5も併せて示している。
【0048】
DDR転送がサポートされる場合は、リードイネーブル信号RE、ライトイネーブル信号WEとは別に、データの入出力に使用するDQS信号(データストローブ信号)をコントローラ7から供給するためのDQS線Ldqsが、各フラッシュメモリ2に独立して接続される。
図示するように、フラッシュメモリ2-0に接続されるDQS信号線Ldqsは「Ldqs-0」、フラッシュメモリ2-1に接続されるDQS信号線Ldqsは「Ldqs-1」とする。
【0049】
周知のように、DDRが採用される場合、リード時にはフラッシュメモリ2側からDQS信号が出力され、レシーバ側(読出データの取込側)は、このようにフラッシュメモリ2側から出力されるDQS信号が示すタイミングでデータの取込を行うようにされる。
一方、データの書込時には、フラッシュメモリ2側にDQS信号を入力して、データの書込タイミングを指示することになる。
なお、以下、読出時に対応してフラッシュメモリ2側から出力されるDQS信号については便宜上「DQS出力信号」とし、書込時に対応してフラッシュメモリ2に対して書込タイミング指示のために与えるDQS信号については「DQS入力信号」とする。
【0050】
ここで、図中の「DQS出力」は、読出時に対応してフラッシュメモリ2側から出力されるDQS出力信号を表すものである。
【0051】
また図8では、コントローラ7側から各フラッシュメモリ2に供給されるクロックCLKの信号線Lclkも示している。図のようにフラッシュメモリ2-0に接続される信号線Lclkは「Lclk-0」、フラッシュメモリ2-1に接続される信号線Lclkは「Lclk-1」とする。
【0052】
なお、この場合もコントローラ側とフラッシュメモリ側との間の配線については本実施の形態のメモリ制御手法に係るもののみを特に抽出して示しており、実際には、例えばアドレスを指定するための信号線等の他の配線も接続されるものである。例えば、一例としてはCLE(Command Latch Enable)信号やALE(Address Latch Enable)信号の供給線等を挙げることができる。
【0053】
図示するようにクロックCLKは、コントローラ7内に設けられた可変遅延回路7Aを介して信号線Lclkに供給される。
具体的に、フラッシュメモリ2-0に対しては、可変遅延回路3A-0を介したクロックCLKが信号線Lclk-0を介して供給される。同様に、フラッシュメモリ2-1に対しては、可変遅延回路3A-1を介したクロックCLKが信号線Lclk-1を介して供給される。
可変遅延回路3A-0を介してフラッシュメモリ2-0に与えられるクロックCLKは「CLK_0」、可変遅延回路3A-1を介してフラッシュメモリ2-1に与えられるクロックCLKは「CLK_1」とする。
【0054】
またこの場合、コントローラ7内には、フラッシュメモリ2と同数のスイッチSWが設けられる。図のようにフラッシュメモリ2-0に対応して設けられたスイッチSWは「SW-0」、フラッシュメモリ2-1に対応して設けられたスイッチSWは「SW-1」とする。
この場合のスイッチSWは、端子t1に対して端子t2、端子t3、端子t4を択一的に選択可能なスイッチとされる。すなわち、端子t2又は端子t3又は端子t4に入力された信号の何れか1つを選択して、端子t1より出力するように構成されている。
図のように、端子t1の出力は、バッファアンプ7Bを介してDQS信号線Ldqsに供給される。ここで、DQS信号線Ldqs-0を介してフラッシュメモリ2-0に与えられるDQS信号(DQS入力信号)についてはDQS_0と表記し、DQS信号線Ldqs-1を介してフラッシュメモリ2-1に与えられるDQS信号(DQS入力信号)についてはDQS_1と表記する。
【0055】
スイッチSWの端子t4には、DQS入力信号が与えられる。他フラッシュメモリからのデータコピーではなく通常の書込動作時には、当該端子t4が選択されて、書込対象のフラッシュメモリ2に対して当該DQS入力信号が供給されることになる。
【0056】
また、スイッチSWの端子t3には、そのスイッチSWが対応して設けられたフラッシュメモリ2が読出時に出力するDQS出力信号が入力される。
【0057】
また、スイッチSW-1において、その端子t2に対しては、スイッチSW-0の端子t1からの出力が、バッファアンプ7B-0→バッファアンプ7C-0→遅延回路7D-1を介して入力されるものとなっている。
【0058】
なお、図8では図示の都合から示さなかったが、コントローラ7内には、フラッシュメモリ2-0に対応する遅延回路7Dとして、遅延回路7D-0が設けられる。そして、スイッチSW-0側の端子t2に対しては、スイッチSW-1の端子t1からの出力が、図中のバッファアンプ7B-1、バッファアンプ7C-1を介した後、当該遅延回路7D-0を介して入力されることになる。
【0059】
[2-2.第2の実施の形態のメモリ制御手法]
図9のタイミングチャートを参照して、第2の実施の形態のメモリ制御手法について説明する。
なお図9では、フラッシュメモリ2-0からフラッシュメモリ2-1へのデータコピー時に対応して得られるCLK_0、ALE/CLE_0、DQS out_0、DT out_0、CLK_1、ALE/CLE_1、DQS in_1、DT in_1をそれぞれ示している。
なお、ALE/CLE_0、ALE/CLE_1はそれぞれコントローラ7側からフラッシュメモリ2-0、フラッシュメモリ2-1に供給されるALE信号、CLE信号を意味し、DQS out_0はフラッシュメモリ2-0側から出力されるDQS出力信号、DQS in_1はフラッシュメモリ2-1に供給されるDQS入力信号を意味する。なおこの場合もDTはDataの略である。
【0060】
先ず、DDR規格が採用される第2の実施の形態の場合には、フラッシュメモリ2-0の読出に伴い、図中のDQS out_0と示すようなDQS出力信号がフラッシュメモリ2-0側から得られる。この場合の読出データは、当該DQS出力信号の半周期の期間ごとにデータ線Ldt上に得られることとなる。
【0061】
ここで、DDR転送において、読出データがデータ線Ldt上に得られるタイミングは、クロックCLKの立ち上がり/立ち下がりタイミングに対しては、必ずしも一致するものとはならない。特に、フラッシュメモリ2の動作温度変化に対して、両者のタイミング差は比較的大きなものとなる。
このため、本例においては、コピー先のフラッシュメモリ2-1に対して与えるべきDQS入力信号を、クロックCLKに基づいて生成するものとはせず、コピー元のフラッシュメモリ2-0が出力するDQS出力信号に基づき生成することとしている。
【0062】
具体的に、第2の実施の形態の場合、フラッシュメモリ2-0からフラッシュメモリ2-1へのデータコピーを行うとしたときは、図8に示したスイッチSW-0にて端子t3を選択し、スイッチSW-1にて端子t2を選択する。これにより、コピー先のフラッシュメモリ2-1に対して、コピー元の(つまり読出対象の)フラッシュメモリ2-0からのDQS出力信号を遅延回路7D-1で所定量遅延させて生成した信号を、DQS入力信号(書込タイミング指示信号)として供給することができる。
【0063】
ここで、DDRが採用される場合においても、図10に示すような、DQS入力信号(図中DQS in_1)の立ち上がり以前に有効なデータを設定しておく必要のあるtDS、以降に有効なデータを設定し続けておく必要のあるtDHがベンダにより規定されている。
例えば、実行周波数が100MHz、つまり周期10ns、tDS及びtDHが1nsとされている場合、遅延回路7Dに設定すべき遅延量は、コピー先フラッシュメモリからのDQS出力信号を2.5ns遅延させたDQS出力信号が得られるように設定すればよい(図中「delay」)。
【0064】
このようにコピー先のフラッシュメモリ2-0から出力されるDQS出力信号を所定量遅延させて生成したDQS入力信号がコピー元のフラッシュメモリ2-1に供給されることで、フラッシュメモリ2-1は、当該DQS入力信号に応じて、データ線Ldt上に得られたフラッシュメモリ2-0からの読出データを適正に書き込むことができる(図9中、時点t2,t4,t6,t8を参照)。
【0065】
ここで、図9を参照して分かるように、コピー先のフラッシュメモリ2-1に供給するクロックCLK_1については、上記のようにコピー元のフラッシュメモリ2-0からのDQS出力信号を遅延回路7D-1で遅延させた量に応じた分だけ、クロックCLK_0に対して遅延させることになる。このときの遅延量、すなわち、コピー先フラッシュメモリに対して供給されるべきクロックCLKの生成にあたり当該コピー先フラッシュメモリに対応して設けられた可変遅延回路3Aに対して設定すべき遅延量のことを、「ライト時遅延量」と表記する。
このライト時遅延量は、コントローラ7が設定する。
なおこの場合、コピー元フラッシュメモリに対応して設けられた可変遅延回路3Aに対して設定すべき遅延量は「0」とすればよい。
【0066】
なお、上記説明では、フラッシュメモリ2-0からフラッシュメモリ2-1に対するデータコピー時に対応した動作について説明したが、フラッシュメモリ2-1からフラッシュメモリ2-0に対するデータコピー時には、スイッチSW-1には端子t3を選択させ、スイッチSW-0には端子t2を選択させる。またこれと共に、可変遅延回路3A-0に上述のライト時遅延量を設定して、コピー先であるフラッシュメモリ2-0のクロックCLK_0を、コピー元であるフラッシュメモリ2-1のクロックCLK_1よりも遅延させるものとすればよい。
【0067】
また、他フラッシュメモリへのデータコピーに伴うライトではなく、通常のライト時には、データの書込対象とされるフラッシュメモリ2に対応して設けられたスイッチSWには、端子t4を選択させて、当該書込対象のフラッシュメモリ2に通常のDQS入力信号が供給されるようにする。
【0068】
また、図8では、フラッシュメモリ2の数が2である場合を例示したが、フラッシュメモリ2が3以上設けられる場合にも、第2の実施の形態のメモリ制御手法は適用可能である。
この場合、少なくとも可変遅延回路8A、スイッチSW、遅延回路7Dをフラッシュメモリ2ごとに設ければよい点は上記と同様となる。
但し、フラッシュメモリ2が3以上設けられる場合は、コピー元として選択され得るフラッシュメモリ2が2以上となるので、スイッチSWとしては、これら2以上のフラッシュメモリ2の何れがコピー元として選択された場合としても、その選択されたフラッシュメモリ2からのDQS出力信号の遅延後信号(遅延回路7Dによる遅延後のDQS出力信号=コピー先フラッシュメモリへのDQS入力信号)を選択入力できるように構成しておく必要がある。すなわち、端子t2としての、コピー元フラッシュメモリからのDQS出力信号に基づくDQS入力信号を入力するための端子を、コピー元フラッシュメモリとして選択され得るフラッシュメモリ2の数だけ設けるものとし、それらの端子のうちから、コピー元として選択されたフラッシュメモリ2に対応する端子を選択できるように構成する。
【0069】
上記により説明したように、第2の実施の形態では、DDR規格が採用される場合において、コピー元のフラッシュメモリ2のデータ読出タイミングが動作温度等により変動することを考慮して、コピー先のフラッシュメモリ2に供給すべきDQS入力信号が表す書込指示タイミングを調整するものとしている。具体的に、DDRの場合、コピー元のフラッシュメモリ2のデータ読出タイミングはそのフラッシュメモリ2からのDQS出力信号が表すものとなるので、当該DQS出力信号を所定時間分遅延させた信号を、コピー先のフラッシュメモリ2に対するDQS入力信号として生成するものとしている。
これにより、動作温度変化等に依存してコピー先のフラッシュメモリ2への書込タイミングが不適切なものとなってしまうことを防止できる。すなわち、動作温度変化等に依存してコピー先のフラッシュメモリ2に対し書込誤りが生じてしまうような事態の発生を防止することができる。
【0070】
なお、図10に示したtDHの時間長が比較的短くて良い場合等には、コピー先のフラッシュメモリ2に対し供給するDQS入力信号は、例えばクロックCLKなどの、DQS出力信号以外の他のタイミング信号に基づいて生成することもできる。つまり、例えばクロックCLKを、動作温度変化によるタイミング差分も考慮した比較的長い遅延量だけ遅延させて、これをコピー先のフラッシュメモリ2に対するDQS入力信号とすることによっても、同様の温度補償効果を得ることは可能である。
【0071】
<3.第3の実施の形態>
[3-1.メモリ装置の内部構成及びメモリ制御手法]
図11は、第3の実施の形態としてのメモリ装置(メモリ装置10とする)の内部構成を示している。
なお第3の実施の形態において、既にこれまでで説明済みとなった部分については同一符号を付して説明を省略する。
【0072】
このメモリ装置10は、第1の実施の形態のメモリ装置1と比較して、新たに冗長フラッシュメモリ2-rdが設けられた点と、コントローラ3に代えてコントローラ11が設けられた点が異なる。さらに、メモリ装置10においては、コントローラ11と冗長フラッシュメモリ2-rdとの間で信号線Le-rdが接続され、またこの場合のデータ線Ldtは、図のように冗長フラッシュメモリ2-rdに対しても接続されることになる。
【0073】
冗長フラッシュメモリ2-rdは、当該メモリ装置10の記録容量にはカウントされない冗長な記録領域として使用されるフラッシュメモリ2を意味する。つまり、この冗長フラッシュメモリ2-rdは、通常のユーザデータ等の記録には使用されないメモリとなる。
【0074】
ここで、メモリ装置10においては、コントローラ11内において、信号線Le-rdに対応して図3で説明したものと同様の可変遅延回路3Aが設けられ(可変遅延回路3A-rdとする)、当該信号線Le-rdに対しては、この可変遅延回路3A-rdを介したストローブ信号が入力されるようになっている。
【0075】
第3の実施の形態では、このような冗長フラッシュメモリ2-rdを設けた上で、他のフラッシュメモリ2-0〜2-3のうちの何れかのフラッシュメモリ2に対するデータ読出時において、そのフラッシュメモリ2からデータ線Ldt上に出力された読出データを、バッファRAM5側に転送しつつ、これと並行して、冗長フラッシュメモリ2-rdにも書き込むということを行う。
【0076】
ここで、コントローラ11は、このようなデータ読出時には、いわゆるリフレッシュ処理を実行すべきか否かを判断するために、バッファRAM5に蓄積される読出データについてのエラーチェック処理を行うようにされている。このエラーチェック処理の結果に基づき、例えばエラー箇所が予め定められた上限値に達するなど、予めリフレッシュ処理を行うべきとして定められた条件(以下、リフレッシュ実行条件と表記)が成立したとされた場合には、コントローラ11は、リフレッシュのための処理としてバッファRAM5上でエラーデータの訂正処理等を実行することになる。
なお、フラッシュメモリにおけるリフレッシュ処理については、例えば下記の参考文献1や参考文献2等にも記載されている。
・参考文献1・・・特開2010−15477号公報
・特許文献2・・・特開2010−198219号公報
【0077】
このとき、従来のメモリ装置では、バッファRAM5に溜め込んだ読出データについてのエラーチェック処理の結果、リフレッシュ実行条件が成立したとされた場合は、バッファRAM5上で上記のようなエラー訂正処理を実行した後に、当該訂正後の読出データ全体をフラッシュメモリ2側に書き戻すようにされている。すなわち、従来のリフレッシュ処理の実行によっては、このような読出データ全体の書込処理が介在する分、データ読出速度の低下が問題となる。
【0078】
そこで第3の実施の形態では、フラッシュメモリ2の読出時には、上記のように読出データを冗長フラッシュメモリ2-rdに並行書込させると共に、リフレッシュ実行条件の成立に応じバッファRAM5上でエラー箇所の訂正を行った後は、冗長フラッシュメモリ2-rdに既に書込済みのエラー箇所に係るデータ部分のみを、訂正後の同データ部分に書き換えるということを行う。
【0079】
これにより、リフレッシュにあたり読出データ全体の書き戻しを伴う従来の場合と比較して、リフレッシュ実行時の読出速度の低下を効果的に抑制することができる。
【0080】
ここで、上記のようなエラーチェック処理の結果に伴い、リフレッシュの実行が不要であるとされた場合(リフレッシュ実行条件が不成立となった場合)は、冗長フラッシュメモリ2-rdに並行書込したデータは破棄するものとする。
【0081】
また、リフレッシュ実行条件の成立に応じ、エラー部分の書き換えを行った後の冗長フラッシュメモリ2-rdのデータは、その後の然るべきタイミングで通常の記録領域(つまりフラッシュメモリ2-0〜2-3の何れか)に書き込む。例えば、当該メモリ装置11のその後の起動時や、ホスト機器側からのリクエストが発生していない状態を検知しそのタイミングで実行するなどが好ましい。
【0082】
[3-2.処理手順]
図12は、上記により説明した第3の実施の形態としてのメモリ制御手法を実現するために実行すべき具体的な処理手順を示したフローチャートである。
図12Aは、読出時の並行書込を実現するための処理を示し、図12Bはリフレッシュ実行条件の成立/不成立に応じた制御を実現するための処理を示している。
図12Aに示す処理、及び図12Bに示す処理は、コントローラ11が並行して実行する。
【0083】
先ずは、図12Aに示す処理から説明する。
図12Aにおいて、ステップS201では、リードコマンドを待機する。つまり、ホスト機器側からのリードコマンドを待機する。
【0084】
リードコマンドがあった場合には、ステップS202に進み、読出対象メモリへのリードイネーブル信号REの出力、冗長メモリに対するライトイネーブル信号WEの出力を開始するための処理を行う。すなわち、上記リードコマンドから特定される読出対象のフラッシュメモリ2に対するリードイネーブル信号REの出力、及び冗長フラッシュメモリ2-rdへのライトイネーブル信号WEの出力を開始するための処理を実行するものである。
なお、当該ステップS202の処理は、先の図7にて説明したステップS102の処理とリードイネーブル信号REの出力対象、ライトイネーブル信号WEの出力対象が異なる以外は同様となるので、改めての説明は省略する。
【0085】
ステップS202の出力開始処理の実行後は、ステップS203において、冗長メモリへの書込が完了するまで待機する。すなわち、冗長フラッシュメモリ2-rdに対し、上記リードコマンドで指示された読出データの全てが書き込まれるまで待機するものである。
【0086】
冗長メモリへの書込が完了した場合には、ステップS204に進み、リードイネーブル信号REの出力、ライトイネーブル信号WEの出力を停止するための処理を実行する。つまりこの場合も、先のステップS104と同様にストローブ信号のトグルを停止すればよい。
このステップS204の処理の実行後、図12Aに示す処理は終了となる。
【0087】
続いて、図12Bにおいて、ステップS301では、読出開始となるまで待機する。すなわち、上述のホスト機器側からのリードコマンドに応じた読出が開始されるまで待機するものである。
【0088】
読出開始が検知された場合は、ステップS302において、読出データのエラーチェックを実行する。すなわち、読出対象のフラッシュメモリ2からデータ線Ldt経由でバッファRAM5に蓄積された読出データについて、エラーチェックを行う。
【0089】
ステップS302によるエラーチェックの実行後は、ステップS303において、リフレッシュ実行条件が成立したか否かを判別する。
本例では、リフレッシュ実行条件として、例えばエラー箇所が予め定められた上限値に達しているという条件が設定されているとする。
なお、リフレッシュ実行条件としては、例えば読出対象とされたデータ部分(例えばブロック単位)の現在までの読出回数も加味した条件を設定することもできる。
【0090】
ステップS303において、リフレッシュ実行条件が成立したとして肯定結果が得られた場合は、ステップS304に進み、エラーデータの訂正処理を実行する。すなわち、バッファRAM5に蓄積された読出データのうち、ステップS302のエラーチェック処理でエラーが判定された箇所の訂正を行う。
【0091】
ステップS304でエラーデータの訂正処理を実行した後は、ステップS305において、訂正データにより冗長メモリのエラー部分を書き換える。すなわち、冗長フラッシュメモリ2-rdに既に書込済みの読出データのうち、ステップS304で訂正したエラー箇所に係るデータ部分のみを、訂正後の同データ部分に書き換えるものである。
【0092】
一方、先のステップS303において、リフレッシュ実行条件が成立していないとして否定結果が得られた場合は、ステップS306に進み、冗長メモリに書き込んだデータを破棄するための処理を実行する。このステップS306の処理としては、冗長フラッシュメモリ2に対して書込を中断するように指示を行い、書き込まれたデータが消去されるようにする。このとき、冗長フラッシュメモリ2に書き込まれた読出データが消去されたものと扱われるように管理情報を更新する処理のみを行うようにしても良いし、実際に当該読出データの記録部分を消去する処理も併せて実行するものとしてもよい。
【0093】
ステップS306の破棄処理、又は先のステップS305による書き換え処理の実行後、図12Bに示す処理は終了となる。
【0094】
なお、上記により説明した第3の実施の形態のメモリ制御手法は、第2の実施の形態のようにDDR規格が採用される場合においても同様に適用可能であることは言うまでもない。
【0095】
また、上記説明では、通常の記録領域として使用するフラッシュメモリ2以外に冗長フラッシュメモリ2-rdを別途設ける場合を例示したが、冗長フラッシュメモリ2-rdとして使用するフラッシュメモリ2を、適宜、フラッシュメモリ2のうちから選択して使用するものとしてもよい。
【0096】
<4.変形例>
以上、本技術に係る実施の形態について説明したが、本技術は、これまでで説明した具体例に限定されるべきものではない。
例えばこれまでの説明では、読出データを1つのフラッシュメモリ2に対してのみ並行書込する場合を例示したが、読出データを複数のフラッシュメモリ2に並行書込することももちろん可能である。
【0097】
また、これまでの説明では、リード/ライトのイネーブル信号を共通のイネーブル信号線Leを介してフラッシュメモリ2に供給する構成を例示したが、リードイネーブル信号を供給する信号線とライトイネーブル信号を供給する信号線とを個別に設ける構成とすることも可能である。
【0098】
また、本技術に係る並行書込の手法は、以下のようなケースにおいても適用可能である。
ここで、NAND型フラッシュメモリにおいては、小さいサイズのデータ(ブロックサイズ未満のデータ)の書込を行う際、それらのデータを毎回連続した領域にマージすると書込速度の低下が生じるため、通常の記録領域とは別に小さいサイズのデータを記録して、別のある時点で連続した領域にマージするという手法が採られている。
このような場合において、小さいサイズのデータは一旦冗長なフラッシュメモリ2に記録するものとしておき、連続した領域へのマージが必要となった際に、冗長なフラッシュメモリ2から、それら小さいサイズのデータをマージ先のフラッシュメモリ2にコピーするということが考えられる。この、冗長なフラッシュメモリ2からマージ先のフラッシュメモリ2へのデータコピーの際に、本技術に係る並行書込手法を適用することができる。
この場合も、読出と同時に書込ができることで、コピー時間の短縮化が図られる。
【0099】
また、本技術は、以下の(1)〜(9)に記す構成とすることも可能である。
(1)
共通のデータ線が接続された複数のフラッシュメモリ部と、
上記複数のフラッシュメモリ部のデータ書込/読出のための制御を行う制御部とを備え、
上記制御部は、
上記複数のフラッシュメモリ部のうち第1のフラッシュメモリ部に読出指示を行って当該第1のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第1のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第1のフラッシュメモリ部とは異なる第2のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第2のフラッシュメモリ部に書き込まれるように制御する
メモリ装置。
(2)
上記制御部は、
上記読出指示をリードイネーブル信号、上記書込指示をライトイネーブル信号によりそれぞれ行う
上記(1)に記載のメモリ装置。
(3)
上記リードイネーブル信号が表すビット読出タイミングから所定時間遅延したタイミングで書込指示のタイミングを表す上記ライトイネーブル信号により上記書込指示を行う
上記(2)に記載のメモリ装置。
(4)
上記リードイネーブル信号と上記ライトイネーブル信号を上記制御部から上記フラッシュメモリ部に供給するための信号線が各上記フラッシュメモリ部ごとに共通線とされる
上記(2)及び(3)に記載のメモリ装置。
(5)
上記制御部は、
ガベージコレクション処理に伴う上記第1のフラッシュメモリ部から上記第2のフラッシュメモリ部へのデータコピー時において、上記読出指示と上記書込指示とによる読出及び書込が行われるようにする
上記(1)〜(4)に記載のメモリ装置。
(6)
DDR(Double Data Rate)規格に対応して上記制御部と各上記フラッシュメモリ部との間にDQS信号線が接続されており、
上記制御部は、
読出対象とされた上記第1のフラッシュメモリ部からのデータの読出タイミングに応じたタイミングでの書込タイミングを表すDQS入力信号を生成し、当該DQS入力信号を書込対象とされた上記第2のフラッシュメモリ部の上記DQS信号線に供給することで、上記共通のデータ線に得られた上記第1のフラッシュメモリ部からの読出データが上記第2のフラッシュメモリ部に書き込まれるように制御する
上記(1)に記載のメモリ装置。
(7)
上記制御部は、
上記第1のフラッシュメモリ部からの上記DQS出力信号を所定時間遅延させて上記DQS入力信号を生成する
上記(6)に記載のメモリ装置。
(8)
上記共通のデータ線に接続されたバッファメモリをさらに備え、
上記制御部は、
上記バッファメモリに蓄積された上記第1のフラッシュメモリ部からの読出データについて誤り検査を行うと共に、その結果に基づき、誤り訂正が必要とされた場合は、上記第2のフラッシュメモリ部に書き込まれた上記読出データのうち、誤り訂正が必要とされるデータ部分のみが修正されるように制御する
上記(1)〜(7)に記載のメモリ装置。
(9)
上記制御部は、
上記誤り検査の結果に基づき、誤り訂正が必要でないとされた場合は、上記第2のフラッシュメモリ部に書き込まれた上記読出データが破棄されるように制御する
上記(1)〜(8)に記載のメモリ装置。
【符号の説明】
【0100】
1,10 メモリ装置、2 フラッシュメモリ、2-rd 冗長フラッシュメモリ、3,7,11 コントローラ、4 RAM、5 バッファRAM、6 外部インターフェイス、3A,7A 可変遅延回路、7D 遅延回路
【特許請求の範囲】
【請求項1】
共通のデータ線が接続された複数のフラッシュメモリ部と、
上記複数のフラッシュメモリ部のデータ書込/読出のための制御を行う制御部とを備え、
上記制御部は、
上記複数のフラッシュメモリ部のうち第1のフラッシュメモリ部に読出指示を行って当該第1のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第1のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第1のフラッシュメモリ部とは異なる第2のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第2のフラッシュメモリ部に書き込まれるように制御する
メモリ装置。
【請求項2】
上記制御部は、
上記読出指示をリードイネーブル信号、上記書込指示をライトイネーブル信号によりそれぞれ行う
請求項1に記載のメモリ装置。
【請求項3】
上記リードイネーブル信号が表すビット読出タイミングから所定時間遅延したタイミングで書込指示のタイミングを表す上記ライトイネーブル信号により上記書込指示を行う
請求項2に記載のメモリ装置。
【請求項4】
上記リードイネーブル信号と上記ライトイネーブル信号を上記制御部から上記フラッシュメモリ部に供給するための信号線が各上記フラッシュメモリ部ごとに共通線とされる
請求項2に記載のメモリ装置。
【請求項5】
上記制御部は、
ガベージコレクション処理に伴う上記第1のフラッシュメモリ部から上記第2のフラッシュメモリ部へのデータコピー時において、上記読出指示と上記書込指示とによる読出及び書込が行われるようにする
請求項1に記載のメモリ装置。
【請求項6】
DDR(Double Data Rate)規格に対応して上記制御部と各上記フラッシュメモリ部との間にDQS信号線が接続されており、
上記制御部は、
読出対象とされた上記第1のフラッシュメモリ部からのデータの読出タイミングに応じたタイミングでの書込タイミングを表すDQS入力信号を生成し、当該DQS入力信号を書込対象とされた上記第2のフラッシュメモリ部の上記DQS信号線に供給することで、上記共通のデータ線に得られた上記第1のフラッシュメモリ部からの読出データが上記第2のフラッシュメモリ部に書き込まれるように制御する
請求項1に記載のメモリ装置。
【請求項7】
上記制御部は、
上記第1のフラッシュメモリ部からの上記DQS出力信号を所定時間遅延させて上記DQS入力信号を生成する
請求項6に記載のメモリ装置。
【請求項8】
上記共通のデータ線に接続されたバッファメモリをさらに備え、
上記制御部は、
上記バッファメモリに蓄積された上記第1のフラッシュメモリ部からの読出データについて誤り検査を行うと共に、その結果に基づき、誤り訂正が必要とされた場合は、上記第2のフラッシュメモリ部に書き込まれた上記読出データのうち、誤り訂正が必要とされるデータ部分のみが修正されるように制御する
請求項1に記載のメモリ装置。
【請求項9】
上記制御部は、
上記誤り検査の結果に基づき、誤り訂正が必要でないとされた場合は、上記第2のフラッシュメモリ部に書き込まれた上記読出データが破棄されるように制御する
請求項8に記載のメモリ装置。
【請求項10】
共通のデータ線が接続された複数のフラッシュメモリ部についてデータの読出/書込制御を行うメモリ制御装置であって、
上記複数のフラッシュメモリ部のうち第1のフラッシュメモリ部に読出指示を行って当該第1のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第1のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第1のフラッシュメモリ部とは異なる第2のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第2のフラッシュメモリ部に書き込まれるように制御する
メモリ制御装置。
【請求項11】
共通のデータ線が接続された複数のフラッシュメモリ部についてデータの読出/書込制御を行うメモリ制御方法であって、
上記複数のフラッシュメモリ部のうち第1のフラッシュメモリ部に読出指示を行って当該第1のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第1のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第1のフラッシュメモリ部とは異なる第2のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第2のフラッシュメモリ部に書き込まれるように制御する
メモリ制御方法。
【請求項1】
共通のデータ線が接続された複数のフラッシュメモリ部と、
上記複数のフラッシュメモリ部のデータ書込/読出のための制御を行う制御部とを備え、
上記制御部は、
上記複数のフラッシュメモリ部のうち第1のフラッシュメモリ部に読出指示を行って当該第1のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第1のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第1のフラッシュメモリ部とは異なる第2のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第2のフラッシュメモリ部に書き込まれるように制御する
メモリ装置。
【請求項2】
上記制御部は、
上記読出指示をリードイネーブル信号、上記書込指示をライトイネーブル信号によりそれぞれ行う
請求項1に記載のメモリ装置。
【請求項3】
上記リードイネーブル信号が表すビット読出タイミングから所定時間遅延したタイミングで書込指示のタイミングを表す上記ライトイネーブル信号により上記書込指示を行う
請求項2に記載のメモリ装置。
【請求項4】
上記リードイネーブル信号と上記ライトイネーブル信号を上記制御部から上記フラッシュメモリ部に供給するための信号線が各上記フラッシュメモリ部ごとに共通線とされる
請求項2に記載のメモリ装置。
【請求項5】
上記制御部は、
ガベージコレクション処理に伴う上記第1のフラッシュメモリ部から上記第2のフラッシュメモリ部へのデータコピー時において、上記読出指示と上記書込指示とによる読出及び書込が行われるようにする
請求項1に記載のメモリ装置。
【請求項6】
DDR(Double Data Rate)規格に対応して上記制御部と各上記フラッシュメモリ部との間にDQS信号線が接続されており、
上記制御部は、
読出対象とされた上記第1のフラッシュメモリ部からのデータの読出タイミングに応じたタイミングでの書込タイミングを表すDQS入力信号を生成し、当該DQS入力信号を書込対象とされた上記第2のフラッシュメモリ部の上記DQS信号線に供給することで、上記共通のデータ線に得られた上記第1のフラッシュメモリ部からの読出データが上記第2のフラッシュメモリ部に書き込まれるように制御する
請求項1に記載のメモリ装置。
【請求項7】
上記制御部は、
上記第1のフラッシュメモリ部からの上記DQS出力信号を所定時間遅延させて上記DQS入力信号を生成する
請求項6に記載のメモリ装置。
【請求項8】
上記共通のデータ線に接続されたバッファメモリをさらに備え、
上記制御部は、
上記バッファメモリに蓄積された上記第1のフラッシュメモリ部からの読出データについて誤り検査を行うと共に、その結果に基づき、誤り訂正が必要とされた場合は、上記第2のフラッシュメモリ部に書き込まれた上記読出データのうち、誤り訂正が必要とされるデータ部分のみが修正されるように制御する
請求項1に記載のメモリ装置。
【請求項9】
上記制御部は、
上記誤り検査の結果に基づき、誤り訂正が必要でないとされた場合は、上記第2のフラッシュメモリ部に書き込まれた上記読出データが破棄されるように制御する
請求項8に記載のメモリ装置。
【請求項10】
共通のデータ線が接続された複数のフラッシュメモリ部についてデータの読出/書込制御を行うメモリ制御装置であって、
上記複数のフラッシュメモリ部のうち第1のフラッシュメモリ部に読出指示を行って当該第1のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第1のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第1のフラッシュメモリ部とは異なる第2のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第2のフラッシュメモリ部に書き込まれるように制御する
メモリ制御装置。
【請求項11】
共通のデータ線が接続された複数のフラッシュメモリ部についてデータの読出/書込制御を行うメモリ制御方法であって、
上記複数のフラッシュメモリ部のうち第1のフラッシュメモリ部に読出指示を行って当該第1のフラッシュメモリ部から上記共通のデータ線に読出データを出力させると共に、上記第1のフラッシュメモリ部から上記読出データが出力されるタイミングに応じたタイミングで、上記第1のフラッシュメモリ部とは異なる第2のフラッシュメモリ部に書込指示を行うことで、上記共通のデータ線に得られた上記読出データが上記第2のフラッシュメモリ部に書き込まれるように制御する
メモリ制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−230621(P2012−230621A)
【公開日】平成24年11月22日(2012.11.22)
【国際特許分類】
【出願番号】特願2011−99668(P2011−99668)
【出願日】平成23年4月27日(2011.4.27)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成24年11月22日(2012.11.22)
【国際特許分類】
【出願日】平成23年4月27日(2011.4.27)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]