(57)【要約】【課題】不揮発性メモリのデータコピー動作において、対象のアドレスがコピーバック機能を使用することができるかどうかを判断する必要があった。【解決手段】所定のエントリテーブルの構成により論理アドレスによって書込み対象となる物理ブロックの領域を決定しておく。その上で、第１の物理ブロックのデータを書きかえる際に、第１の物理ブロックからコピーバック機能を使用することができる範囲に対応するエントリテーブルの範囲を検索する。その結果、得られた第２の物理ブロックのアドレスへのデータコピー時にコピーバック機能を使用可能かどうかの判定を行うこと無しに必ずコピーバック機能を使用してデータをコピーすることができる。【選択図】図７
2006277736.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリとコントローラからなる不揮発性記憶装置の書き込み方法であって、
前記不揮発性メモリは、複数の領域からなり、前記領域は独立して消去可能な複数の物理ブロックと少なくとも１つの揮発性メモリであるページバッファからなり、前記物理ブロックは、独立して書込み可能な複数の物理ページからなり、
前記不揮発性メモリはまた、同一の前記領域内における任意の２つの物理ブロックを第１の物理ブロックと第２の物理ブロックとしたときに、前記第１の物理ブロックの任意の物理ページからページバッファに読み出したデータを前記第２の物理ブロックの任意のページに書き込みを行うコピーバック機能を有し、
前記コントローラは、不揮発性記憶装置外部からのアドレスを指定したデータの書き込みにおいて、前記アドレスに対応するデータがすでに書き込まれている物理ブロックの存在する領域を確定する第１のステップと、前記確定した領域内にある消去済みの物理ブロックに対して前記データを書き込む第２のステップからなることを特徴とする不揮発性記憶装置の書込み方法。
【請求項２】
前記不揮発性メモリが２つ以上の不揮発性メモリチップから成ることを特徴とする請求項１に記載の不揮発性記憶装置の書込み方法。
【請求項３】
前記不揮発性メモリが１つのパッケージで構成されていることを特徴とする請求項２に記載の不揮発性記憶装置の書込み方法。
【請求項４】
前記不揮発性メモリが１つの不揮発性メモリチップから成ることを特徴とする請求項１に記載の不揮発性記憶装置の書き込み方法。
【請求項５】
前記不揮発性記憶装置外部から指定されるアドレスに対応して、前記不揮発性メモリにおける書き込み先の物理ブロックの存在する領域が決定されることを特徴とする請求項１に記載の不揮発性記憶装置の書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリを使用した不揮発性記憶装置のデータの書込み方法に関する。
【背景技術】
【０００２】
近年、不揮発性メモリを搭載したメモリーカードは、デジタルカメラや携帯電話に用いられる記録媒体として、その市場を拡大している。そしてメモリーカードの記憶容量の増加に伴い、データファイルや静止画等の小容量の記録から、より大容量が必要となる動画記録へとその用途は広がっている。
【０００３】
しかし、メモリーカードの不揮発性メモリとして主に使用されているＮＡＮＤタイプのフラッシュメモリは、その容量の増加に伴いデータの消去単位となる物理ブロックの容量が１６ＫＢ（主に１２８ＭＢ以下のフラッシュメモリ）のものから１２８ＫＢ（主に１２８ＭＢ以上のフラッシュメモリ）のものになっている。にもかかわらずメモリーカードにデータを書込む際のファイルシステムでは、データの書込み単位となるクラスタは１６ＫＢのままで変化していない。
【０００４】
そのために以前の小容量のメモリーカード（主に１２８ＭＢまでの容量）においては、メモリーカードにデータを書込む際クラスタの容量と、メモリーカード内部に搭載されているＮＡＮＤタイプのフラッシュメモリの消去単位となる物理ブロックは等しかった。しかし大容量化が進むと、具体的には１２８ＭＢを越える容量値の不揮発性メモリなどは、メモリーカードにデータを書込む単位であるクラスタの容量の１６ＫＢと、メモリーカード内部に搭載されているＮＡＮＤタイプのフラッシュメモリの消去単位である物理ブロックの容量の１２８ＫＢが異なっている。
【０００５】
図２はフラッシュメモリの内部構成を示した図である。フラッシュメモリはページバッファ２０２と複数の物理ブロック２０１からなる。ページバッファ２０２はフラッシュメモリの書き込み読み出しするデータが一時的に格納されるバッファである。物理ブロック２０１ひとつ分の容量はデータ領域の１２８ＫＢと管理領域の４ＫＢの合計１３２ＫＢからなる。ここでは物理ブロックはＰＢ０〜ＰＢ１０２３まで１０２４個あるのでデータ領域の容量が１２８ＭＢ（１Ｇｂｉｔ）のフラッシュメモリになる。物理ブロック２０１はフラッシュメモリにおけるデータの消去単位である。
【０００６】
図３は物理ブロック２０１の内部構成を示した図である。物理ブロック２０１はＰＰ０〜ＰＰ６３の６４個の物理ページ３０１からなる。物理ページ３０１ひとつ分の容量はデータ領域の２ＫＢと管理領域の６４Ｂである。物理ページ３０１はフラッシュメモリにおけるデータの書き込み単位であり、図２で示したページバッファ２０２の容量は物理ページの容量と等しい。
【０００７】
このようにデータの消去単位である物理ブロック２０１のデータ領域が１２８ＫＢであるのでクラスタ単位である１６ＫＢの書込みであっても、１６ＫＢの書き込みと１１２ＫＢ（１２８ＫＢ−１６ＫＢ）のデータのコピーを行うことによって消去単位である１２８ＫＢの書込みを行っていた。この際にデータをコピーする方法として、ＮＡＮＤタイプのフラッシュメモリのコピーバック機能を使用することが出来る。このことは、特許文献１にも述べられている。コピーバック機能を使用することによりコピーするデータを不揮発性メモリ外部へ転送する必要がないので、高速にデータをコピーすることが出来るという利点がある。
【０００８】
コピーバック機能を使用したデータのコピーについて図１４，１５を用いて簡単に説明する。図１４はフラッシュメモリの内部構成を示しており１４０１はフラッシュメモリ、１４０２はページバッファ、１４０３と１４０４はそれぞれフラッシュメモリ１４０１内部の物理ブロックを示している。
【０００９】
同図（Ａ）に示す状態は、物理ブロック１４０４にデータが書き込み済みで、物理ブロック１４０３が消去済みである。
【００１０】
同図（Ｂ）でフラッシュメモリ外部から、物理ブロック１４０３にすでに書き込まれているデータの先頭の２ＫＢ分に対して上書きデータが書き込まれるときには、データはまずページバッファ１４０２に格納され、その後消去済みの物理ブロック、ここでは物理ブロック１４０３の先頭ページＰＰ０に書き込まれる。
【００１１】
同図（Ｃ）は、外部からの上書きが２ＫＢだけであった場合、物理ブロック１４０４のＰＰ０は物理ブロック１４０３のＰＰ０に書き込まれたデータによって無効になっているが、物理ブロック１４０４のＰＰ１〜ＰＰ６３は有効なデータである。この有効なデータを同図（Ｂ）で書き込みが行われた物理ブロック１４０３にコピーしてひとつの物理ブロックに有効なデータを集めるために物理ブロック１４０３のＰＰ１〜ＰＰ６３のデータを物理ブロック１４０４のＰＰ１〜ＰＰ６３に１ページずつコピーする。このときの１ページ分コピーするときのタイミングチャートが図１５である。
【００１２】
図１５において、制御信号はフラッシュメモリ外部からフラッシュメモリを制御するための信号線によるコマンドやアドレス入力について示しており、レディ／ビジーはフラッシュメモリのメモリセルへのデータの書き込みやメモリセルからのデータの読み出しを実行している期間をフラッシュメモリ外部に出力している信号で“Ｌ”でフラッシュメモリがビジー（データの書き込み／読出し中）を示している。ページをコピーするにはまず時間ｔ１５０１でコピーリードコマンドを発行してからコピーリードアドレスを指定する。ここでは物理ブロック１４０４の物理ページＰＰ１のアドレスを指定するとする。すると時間ｔ１５０２でフラッシュメモリは物理ブロック１４０４の物理ページＰＰ１からデータを読み出してページバッファ１４０２にデータを転送する期間をビジーとして外部に出力する。フラッシュメモリからのビジーが解除されると時間ｔ１５０３からコピーライト開始コマンドとコピーライトアドレスの指定とコピーライト実行コマンドを発行する。ここで指定するアドレスは物理ブロック１４０３のＰＰ１を指定する。すると時間ｔ１５０４でフラッシュメモリはページバッファ１４０２のデータを物理ブロック１４０３の物理ページＰＰ１に書き込む。書き込み処理に必要な期間をビジーとして外部に出力する。フラッシュメモリからのビジーが解除された時間ｔ１５０５で１ページ分のデータのコピーが終了する。ＰＰ１〜ＰＰ６３までデータをコピーするためにはこの処理を６３回繰り返す。
【００１３】
そして最後に図１４（Ｄ）で物理ブロック１４０４を物理消去することによってデータのコピー処理を完了する。
【００１４】
しかしながら、このようにコピーするデータをフラッシュメモリの外部に出力したり、また外部からデータを入力することなくデータのコピーが行えるコピーバック機能は異なるフラッシュメモリ間では使用することができない。
【００１５】
コピーバック機能を使用しないデータのコピーについて図１６，１７を用いて簡単に説明する。図１６はメモリーカード内部の構成を示した図で、２つのフラッシュメモリ１６０４，１６０７とフラッシュメモリ１６０４，１６０７を制御するコントローラ１６０１からなる。コントローラ１６０１にはデータをコピーするときに使用する容量が２ＫＢ＋６４Ｂの退避バッファ１６０２とメモリーカード外部からのデータを読み書きするときに使用する容量２ＫＢのページバッファ１６０３がある。フラッシュメモリ１６０４にはページバッファ１６０５と複数の物理ブロックがあり、そのうちあるひとつのデータが書き込み済みの物理ブロックを１６０６とし、フラッシュメモリ１６０７にはページバッファ１６０８と複数の物理ブロックがあり、そのうちあるひとつの消去済みの物理ブロックを１６０９としている。
【００１６】
図１６（Ａ）に示す状態は、物理ブロック１６０６にデータが書き込み済みで、物理ブロック１６０９が消去済みである。
【００１７】
同図（Ｂ）でメモリーカード外部から、物理ブロック１６０６にすでに書き込まれているデータの先頭の２ＫＢ分に対して上書きデータが書き込まれるときには、データはまずページバッファ１６０３に格納される、その後コントローラ１６０１のページバッファ１６０３からフラッシュメモリ１６０７のページバッファ１６０８にデータがコピーされ、消去済みの物理ブロック、ここでは物理ブロック１６０９の先頭ページＰＰ０に書き込まれる。
【００１８】
同図（Ｃ）外部からの上書きが２ＫＢだけであった場合、物理ブロック１６０６のＰＰ０は物理ブロック１６０９のＰＰ０に書き込まれたデータによって無効になっているが、物理ブロック１６０６のＰＰ１〜ＰＰ６３は有効なデータである。この有効なデータを同図（Ｂ）で書き込みが行われた物理ブロック１６０９にコピーしてひとつの物理ブロックに有効なデータを集めるために物理ブロック１６０６のＰＰ１〜ＰＰ６３のデータを物理ブロック１６０９のＰＰ１〜ＰＰ６３に１ページずつコピーする。このときの１ページ分コピーするときのタイミングチャートが図１７である。
【００１９】
図１７において制御信号はコントローラがフラッシュメモリを制御するための信号線によるコマンドやアドレス入力について示しており、レディ／ビジーはフラッシュメモリのメモリセルへのデータの書き込みやメモリセルからのデータの読み出しを実行している期間をコントローラに出力している信号で“Ｌ”でフラッシュメモリがビジー（データの書き込み／読出し中）を示している。ページをコピーするにはまず時間ｔ１７０１でフラッシュメモリ１６０４にリードコマンドを発行してからリードアドレスを指定する。ここでは物理ブロック１６０６の物理ページＰＰ１のアドレスを指定するとする。すると時間ｔ１７０２でフラッシュメモリ１６０４は物理ブロック１６０６の物理ページＰＰ１からデータを読み出してページバッファ１６０５にデータを転送する期間をビジーとして外部に出力する。フラッシュメモリ１６０４からのビジーが解除されると時間ｔ１７０３からコントローラ１６０１はフラッシュメモリ１６０４からデータを読み出し転送して退避バッファ１６０２に格納する。次に時間ｔ１７０４でライト開始コマンド発行とライトアドレスの指定を行う。ここで指定するアドレスは物理ブロック１６０９のＰＰ１を指定する。それから退避バッファ１６０２からフラッシュメモリ１６０７のページバッファ１６０８へとデータを書込み転送し、転送終了後ライト実行コマンドを発行する。すると時間ｔ１７０５でフラッシュメモリ１６０７はページバッファ１６０８のデータを物理ブロック１６０９の物理ページＰＰ１に書き込む。書き込み処理に必要な期間をビジーとして外部に出力する。フラッシュメモリからのビジーが解除された時間ｔ１７０６で１ページ分のデータのコピーが終了する。ＰＰ１〜ＰＰ６３までデータをコピーするためにはこの処理を６３回繰り返す。
【００２０】
そして最後に図１６（Ｄ）で物理ブロック１６０６を物理消去することによってデータのコピー処理を完了する。
【００２１】
このようにフラッシュメモリ間でデータのコピーを行う際には、コピー元のデータのあるフラッシュメモリからコントローラへのデータの読出し転送と、コントローラからコピー先へフラッシュメモリへのデータの書き込み転送が必要となり。処理時間が増大する。
【００２２】
また同じフラッシュメモリ内においてもコピーバック機能を使用することができるフラッシュメモリの物理ブロックのアドレスが制限されていることがある。その場合にも、同じフラッシュメモリ内部におけるデータのコピー処理において、フラッシュメモリからコントローラへのデータの読出し転送と、コントローラからフラッシュメモリへのデータの書き込み転送が必要となり。処理時間が増大する。
【特許文献１】特開２００４−３０７８４号公報
【発明の開示】
【発明が解決しようとする課題】
【００２３】
従来の不揮発性記憶装置の書き込み方法においては、不揮発性メモリの消去単位よりも小さなデータを書き込む際に行われるコピーバック機能を用いたデータのコピー動作において、コピーバック機能を使用することができるかどうかを判断する必要があった。
【課題を解決するための手段】
【００２４】
上記課題を解決するために本発明の不揮発性記憶装置の書込み方法は、不揮発性メモリとコントローラからなる不揮発性記憶装置の書き込み方法であって、前記不揮発性メモリは、複数の領域からなり、前記領域は独立して消去可能な複数の物理ブロックと少なくとも１つの揮発性メモリであるページバッファからなり、前記物理ブロックは、独立して書込み可能な複数の物理ページからなり、前記不揮発性メモリはまた、同一の前記領域内における任意の２つの物理ブロックを第１の物理ブロックと第２の物理ブロックとしたときに、前記第１の物理ブロックの任意の物理ページからページバッファに読み出したデータを前記第２の物理ブロックの任意のページに書き込みを行うコピーバック機能を有し、前記コントローラは不揮発性記憶装置外部からのアドレスを指定したデータの書き込みにおいて、前記アドレスに対応するデータがすでに書き込まれている物理ブロックの存在する領域を確定する第１のステップと、前記確定した領域内にある消去済みの物理ブロックに対して前記データを書き込む第２のステップからなる
【発明の効果】
【００２５】
本発明の不揮発性記憶装置の書込み方法によれば、フラッシュメモリのコピーバック機能を使用することが可能な範囲から書込み先物理ブロックを検索するので、データコピー時にコピーバック機能を使用可能かどうかの判定を行うこと無しに必ずコピーバック機能を使用してデータをコピーすることができる。
【発明を実施するための最良の形態】
【００２６】
本発明の実施の形態における不揮発性記憶装置の書込み方法について図１〜５を用いて説明する。
【００２７】
（実施の形態１）
図１は、本発明の実施の形態１による不揮発性記憶装置と、それにつながる外部のホスト機器について示したブロック図である。
【００２８】
図１において、１０１は不揮発性記憶装置、１０２は外部ホストである。不揮発性記憶装置１０１は、１０３のコントローラと１０４のフラッシュメモリからなる。
【００２９】
フラッシュメモリ１０４は、その中に、１ＧｂｉｔのフラッシュメモリチップＡ１１０と、１ＧｂｉｔのフラッシュメモリチップＢ１１１の２つのフラッシュメモリチップとを有し、２つのフラッシュメモリチックをひとつのパッケージにしている。
【００３０】
図２にフラッシュメモリチップＡ１１０の詳細を示す。フラッシュメモリチップＡ１１０はＰＢ０〜ＰＢ１０２３の合計１０２４個の物理ブロック２０１からなる。各々の物理ブロック２０１がフラッシュメモリ１０４における消去単位であり、容量はそれぞれユーザデータ領域として１２８ＫＢ（１０２４Ｋｂｉｔ）を持ち、管理領域として４ＫＢ（３２Ｋｂｉｔ）を持つ。なお、図２ではデータ領域の容量値のみを示している。
【００３１】
図３に物理ブロック２０１の詳細を示す。物理ブロック２０１はＰＰ０〜ＰＰ６３の合計６４個の物理ページ３０１からなる。各々の物理ページ３０１がフラッシュメモリ１０４における書き込み単位であり、容量はそれぞれユーザデータ領域として２ＫＢ（２０４８ｂｉｔ）を持ち、管理領域として６４Ｂ（５１２ｂｉｔ）を持つ。
【００３２】
なお、フラッシュメモリチップＢ１１１はフラッシュメモリチップＡ１１０と同じ構成である。
【００３３】
フラッシュメモリチップＡ１１０とフラッシュメモリチップＢ１１１は同一の半導体パッケージ内に封止されている。例えばそれは図４に示すようにフラッシュメモリチップＡ１１０とフラッシュメモリチップＢ１１１とを重ねてひとつのパッケージに封止したものであったり、また図５のようにはフラッシュメモリチップＡ１１０とフラッシュメモリチップＢ１１１とを背中合わせの状態で封止したものである。
【００３４】
フラッシュメモリチップＡ１１０とフラッシュメモリチップＢ１１１は共にコピーバック機能を備えており、それぞれ同一のフラッシュメモリチップ内においては任意の物理ブロック２０１から異なる任意の物理ブロック２０１へのコピーバックを行うことが可能である。しかし、異なるフラッシュメモリチップへのコピーバック、即ちフラッシュメモリチップＡ１１０からフラッシュメモリチップＢ１１１へのコピーバックまたはフラッシュメモリチップＢ１１１からフラッシュメモリチップＡ１１０へのコピーバックを行うことが出来ない。
【００３５】
結果としてフラッシュメモリ１０４で考えた場合、コピーバック機能が使用できるコピー先の物理ブロック２０１の範囲はコピー元の物理ブロック２０１の位置によって制限されることになる。
【００３６】
一方、コントローラ１０３は、外部ホスト１０２とフラッシュメモリ１０４との間でフラッシュメモリ１０４から外部ホスト１０２へのデータ転送（不揮発性記憶装置１０１からの読み出し動作）と外部ホスト１０２からフラッシュメモリ１０４へのデータ転送（不揮発性記憶装置１０１への書き込み動作）を制御する。コントローラ１０３は、１０５の制御回路と、１０６のページバッファと、１０７の退避バッファと、１０８のアドレス変換テーブルと、１０９のエントリテーブルからなる。ここで、制御回路１０５はコントローラ１０３の動作を制御するものである。
【００３７】
ページバッファ１０６は、外部ホスト１０２とフラッシュメモリ１０４間のデータ転送時に一時的にデータを保存するための揮発性メモリによって構成され、その容量は少なくとも物理ページ３０１に含まれるユーザデータの単位を備える。本実施の形態においては、フラッシュメモリ１０４のユーザデータの書き込み単位である２ＫＢを備える。
【００３８】
退避バッファ１０７は、フラッシュメモリ１０４のある物理ブロック２０１のある物理ページ３０１からユーザデータを読み出して、読み出しを行ったブロックとは異なる物理ブロック２０１の物理ページ３０１にユーザデータをコピーするために一時的にデータを保存するためのものであり、例えば揮発性メモリによって構成され、その容量は少なくとも物理ページ３０１に含まれるユーザデータの単位を備える。本実施の形態においては、フラッシュメモリ１０４のユーザデータの書き込み単位である２ＫＢを備える。
【００３９】
アドレス変換テーブル１０８は、外部ホスト１０２が読み出し、または書き込みの対象として不揮発性記憶装置１０１に対して指定する論理アドレスをフラッシュメモリ１０４の物理アドレスに変換するためのテーブルであり、例えば揮発性メモリによって構成される。論理アドレスをアドレス変換テーブルのアドレス値とした場合に、そのアドレス位置のデータとして物理アドレスが格納される。本発明の実施の形態においては、物理ブロック２０１単位で論理アドレスを物理アドレスに変換するので、１０２４×２個の物理ブロック２０１からひとつを指定するために必要な１１ｂｉｔのデータを物理ブロック２０１の個数である２０４８ワード備える必要があり、従ってアドレス変換テーブル１０８の容量は２．７５ＫＢとなる。
【００４０】
エントリテーブル１０９は、フラッシュメモリ１０４における書き込み可能な消去済みブロック２０１を示すためのテーブルであり、揮発性メモリによって構成される。物理ブロック２０１単位で消去済みを表す「１」、またはユーザデータ書き込み済みを表す「０」の１ｂｉｔのデータを持つ必要があり、従ってエントリテーブル１０９の容量は物理ブロック２０１の個数１０２４×２個と等しいビット容量２５６Ｂ（２０４８ｂｉｔ）となる。
【００４１】
フラッシュメモリにデータを書き込むことのできる消去済みの物理ブロックは、エントリテーブル１０９のデータ“１”を検索して特定する。
【００４２】
図６はエントリテーブル１０９の構成を示した図である。２５６Ｂの容量のエントリテーブルを１６ｂｉｔ×１２８ワードで構成して、下位の８ビットにあたるｂｉｔ０〜７の範囲はフラッシュメモリチップＡ１１０に対応させて、上位の８ビットに当たるｂｉｔ８〜１５の範囲はフラッシュメモリチップＢ１１１に対応させている。
【００４３】
従って、フラッシュメモリチップＡ１１０の物理ブロックＰＢ０はアドレス０のｂｉｔ０に対応し、アドレス１のｂｉｔ０はフラッシュメモリチップＡ１１０の物理ブロックＰＢ８に対応する。そして、フラッシュメモリチップＡ１１０の物理ブロックＰＢ１０２３はアドレス１２７のｂｉｔ７に対応する。
【００４４】
このようなエントリテーブル１０９の構成をとることにより下位ビット（ｂｉｔ０〜７）に対応する物理ブロックからコピーバック機能を使用してデータをコピーすることが可能な物理ブロックの情報はエントリテーブル１０９の下位ビットにのみ存在し、上位ビット（ｂｉｔ８〜１５）に対応する物理ブロックからコピーバック機能を使用してデータをコピーすることが可能な物理ブロックの情報はエントリテーブル１０９の上位ビットにのみ存在する。
【００４５】
図７は書込み先となる物理ブロックを決定するためのフローチャートである。
【００４６】
外部ホスト１０２が論理アドレスを指定して不揮発性記憶装置１０１にデータを書込む際に、制御回路１０５は書込み先となるフラッシュメモリ１０４の物理ブロックアドレスを決定する必要がある。
【００４７】
まず、ステップ７０１で、外部ホスト１０２が指定する論理アドレスを基にして書込み対象となるフラッシュメモリチップを決定する必要がある。ここでは外部ホスト１０２が指定する論理アドレスを物理ブロック２０１と同じ容量値である１２８ＫＢ単位のアドレスに直したときに最下位ビットが「０」であるか「１」であるかによって書込み対象のフラッシュメモリチップを決定する。最下位ビットが「０」の場合はフラッシュメモリチップＡ１１０が書込み対象のフラッシュメモリチップであり、最下位ビットが「１」の場合はフラッシュメモリチップＢ１１１が書込み対象のフラッシュメモリチップとなる。例として、論理アドレス先頭のアドレス「０」から先頭の１２８ＫＢはフラッシュメモリチップＡ１１０に、次の１２８ＫＢはフラッシュメモリチップＢ１１１に書き込まれることとなる。
【００４８】
次にステップ７０２でエントリテーブル１０９のうち書込み対象フラッシュメモリチップに対応する領域を検索して消去済みの物理ブロックアドレスを取得する。書込み対象フラッシュメモリチップがフラッシュメモリチップＡ１１０の時にはエントリテーブル１０９の下位の８ビットにあたるｂｉｔ０〜７だけを対象として消去済み物理ブロック２０１を検索する。書込み対象フラッシュメモリチップがフラッシュメモリチップＢ１１１の時にはエントリテーブル１０９の上位の８ビットにあたるｂｉｔ８〜１５だけを対象として消去済み物理ブロック２０１を検索する。
【００４９】
上記のように書込み先となるフラッシュメモリチップを決定するので、任意の論理アドレスのデータをコピーする際には当然のことながらコピー元の論理アドレスとコピー先の論理アドレスは同じものとなる。同じ論理アドレスを基にして図７に示した書込み先決定フローで書き込み先となる消去済み物理ブロック２０１を取得したら、当然それは同じフラッシュメモリチップにあるはずなので、結果として任意の論理アドレスのデータをコピーする際に必ずコピーバック処理を行うことが可能となる。
【００５０】
上記実施の形態において、エントリテーブルの構成として、図６を示したが、異なる構成でも実現可能である。図８に、上記実施の形態とは異なる形でのエントリテーブル１０９の構成を示す。
【００５１】
図８は２５６Ｂの容量のエントリテーブルを１６ｂｉｔ×１２８ワードで構成して、前半の６４ワード（アドレス０〜６３）にあたる範囲はフラッシュメモリチップＡ１１０に対応させて、後半の６４ワード（アドレス６４〜１２７）にあたる範囲はフラッシュメモリチップＢ１１１に対応させている。
【００５２】
従って、フラッシュメモリチップＡ１１０の物理ブロックＰＢ０はアドレス０のｂｉｔ０に対応し、アドレス１のｂｉｔ０はフラッシュメモリチップＡ１１０の物理ブロックＰＢ１６に対応する。そして、フラッシュメモリチップＡ１１０の物理ブロックＰＢ１０２３はアドレス６３のｂｉｔ７に対応する。
【００５３】
図８の構成のエントリテーブル１０９を使用した場合のステップ７０２での検索方法は、書込み対象フラッシュメモリチップがフラッシュメモリチップＡ１１０の時にはエントリテーブル１０９の前半の６４ワード（アドレス０〜６３）だけを対象として消去済み物理ブロック２０１を検索する。書込み対象フラッシュメモリチップがフラッシュメモリチップＢ１１１の時にはエントリテーブル１０９の後半の６４ワード（アドレス６４〜１２７）だけを対象として消去済み物理ブロック２０１を検索する。
【００５４】
（実施の形態２）
上述した実施の形態１では、書込み対象論理アドレスを基にして書込み対象となるフラッシュメモリチップを決定することによって、必ずコピーバック処理が可能な物理ブロック２０１のアドレスを取得できるようにしているが、書込み対象となるフラッシュメモリチップを決定しない場合でもコピー元である物理ブロック２０１からコピーバック処理が可能であるフラッシュメモリチップに対応するエントリテーブル１０９の範囲から優先的に消去済み物理ブロック２０１を検索することにより、必ずコピーバック処理が可能な物理ブロック２０１のアドレスを取得することができる。
【００５５】
具体的には実施の形態１での図７でのフローチャートの代わりに、図９に示す書き込み先決定フローを用いて説明する。
【００５６】
ステップ９０１ではまず書き込み対象となる論理アドレスを基にアドレス変換テーブル１０８からその論理アドレスの既書き込みデータの存在する物理ブロックアドレスを取得する。
【００５７】
次にステップ９０２ではステップ９０１で取得した物理ブロックアドレスからコピーバック機能を使用してデータをコピーすることが可能な物理ブロック群に対応するエントリテーブル１０９の領域を決定する。
【００５８】
最後にステップ９０３ではステップ９０２で決定した領域を検索することで消去済みの物理ブロックアドレスを取得する。
【００５９】
以上のフローで書込み先となるフラッシュメモリチップを決定するので、任意の論理アドレスのデータをコピーする際に、必ずコピー元の物理ブロックとコピー先の物理ブロックとはコピーバック機能を使用してデータをコピーすることが可能となる。
【００６０】
なお、実施の形態２では書き込み先を決定するフローが異なること以外は実施の形態１とまったく同じ構成である。
【００６１】
（実施の形態３）
上述した実施の形態１および実施の形態２では、フラッシュメモリのチップ内部の物理ブロック間においてはコピーバック機能が使用できる場合について説明したが、フラッシュメモリの種類によってはフラッシュメモリのチップ内部の物理ブロック間においてもコピーバック機能が使用できない場合もある。そのケースについて説明する。
【００６２】
図１０は、本発明の実施の形態３による不揮発性記憶装置と、それにつながる外部のホスト機器について示したブロック図である。
【００６３】
図１０において、図１と同じものについては図１と同じ番号を付している。図１とはフラッシュメモリ１００１とエントリテーブル１００４が異なる。チップ内部の物理ブロック間においてもコピーバック機能に制限のあるフラッシュメモリチップを２チップ使用してフラッシュメモリ１００１を構成している。フラッシュメモリ１００１は、その中に、１ＧｂｉｔのフラッシュメモリチップＣ１００２と、１ＧｂｉｔのフラッシュメモリチップＤ１００３の２つのフラッシュメモリチップとを有し、２つのフラッシュメモリチックをひとつのパッケージにしている。
【００６４】
図１１にフラッシュメモリチップＣ１００２の詳細を示す。フラッシュメモリチップＣ１００２はＰＢ０〜ＰＢ１０２３の合計１０２４個の物理ブロック１１０１からなる。各々の物理ブロック１１０１がフラッシュメモリ１０４における消去単位であり、容量はそれぞれユーザデータ領域として１２８ＫＢ（１０２４Ｋｂｉｔ）を持ち、管理領域として４ＫＢ（３２Ｋｂｉｔ）を持つ。物理ブロック１１０１はＰＢ０〜ＰＢ５１１の前半の物理ブロックと、ＰＢ５１２〜ＰＢ１０２３の後半の物理ブロックとに分けられ、それぞれ前半の物理ブロックに対してはページバッファ１１０２が、後半の物理ブロックに対してはページバッファ１１０３が関連付けられ、前半の物理ブロックは前半の物理ブロック間でのみページバッファ１１０２を介することでコピーバック機能を使用することが可能で、後半の物理ブロックは後半の物理ブロック間でのみページバッファ１１０３を介することでコピーバック機能を使用することができる。フラッシュメモリチップＤ１１０３もフラッシュメモリチップＣ１００２と同じ構成である。
【００６５】
図１２にエントリテーブル１００４の構成を改めて示すが、エントリテーブル１００４の構成は図６と似ている。ただし図６ではエントリテーブルがフラッシュメモリチップによって下位ビット（ｂｉｔ０〜７）と上位ビット（ｂｉｔ８〜１５）の２つの領域に分けられていたが、図１２ではフラッシュメモリ下位ビット（ｂｉｔ０〜７）と上位ビット（ｂｉｔ８〜１５）の区別に加えて前半グループ（Ａｄｄｒｅｓｓ０〜６３）と後半グループ（Ａｄｄｒｅｓｓ６４〜１２７）とに区別でき、結果としてフラッシュメモリチップＣ１１０２のＰＢ０〜５１１が、下位ビット（ｂｉｔ０〜７）で前半グループ（Ａｄｄｒｅｓｓ０〜６３）の領域。フラッシュメモリチップＣ１１０２のＰＢ５１２〜１０２３が、下位ビット（ｂｉｔ０〜７）で後半グループ（Ａｄｄｒｅｓｓ６４〜１２７）の領域。フラッシュメモリチップＤ１１０３のＰＢ０〜５１１が、上位ビット（ｂｉｔ８〜１５）で前半グループ（Ａｄｄｒｅｓｓ０〜６３）の領域。フラッシュメモリチップＤ１１０３のＰＢ５１２〜１０２３が、上位ビット（ｂｉｔ８〜１５）で後半グループ（Ａｄｄｒｅｓｓ６４〜１２７）の領域。の４つの領域に分けられる。
【００６６】
このようなエントリテーブル１００４の構成において図７のフローチャートのステップ７０１で、実施の形態１ではエントリテーブル領域を２つの領域から選択して決定していたところを本実施の形態においては４つの領域から選択して決定する。
【００６７】
また図９のフローチャートのステップ９０２で、実施の形態２ではエントリテーブル領域を２つの領域から選択して決定していたところを本実施の形態においては４つの領域から選択して決定する。
【００６８】
そうすることで、フラッシュメモリチップ内においてコピーバック機能の使用できる物理ブロックの領域が限定されている場合においても、必ずコピー元の物理ブロックからコピーバック機能を使用してデータをコピーできる領域からコピー先の物理ブロックを決定するので、任意の論理アドレスのデータをコピーする際に、必ずコピー元の物理ブロックとコピー先の物理ブロックとはコピーバック機能を使用してデータをコピーすることが可能となる。
【００６９】
（実施の形態４）
上述した実施の形態１〜３では、複数のフラッシュメモリチップを対象とした場合について説明したが、フラッシュメモリのチップ内部の物理ブロック間においてもコピーバック機能が使用できない場合には単一のフラッシュメモリチップを対象としても本発明の考え方を適用できる。そのケースについて説明する。
【００７０】
図１３は、本発明の実施の形態３による不揮発性記憶装置と、それにつながる外部のホスト機器について示したブロック図である。
【００７１】
図１３において、図１と同じものについては図１と同じ番号を付している。図１とはフラッシュメモリ１３０１とエントリテーブル１３０３とアドレス変換テーブル１３０４が異なる。チップ内部の物理ブロック間においてもコピーバック機能に制限のあるフラッシュメモリチップを１チップ使用してフラッシュメモリ１３０１を構成している。フラッシュメモリ１３０１は、その中に、１ＧｂｉｔのフラッシュメモリチップＣ１３０２を有している。
【００７２】
フラッシュメモリチップＣ１００２の詳細は図１１に示されたものと同じである。
【００７３】
エントリテーブル１３０４は特に図示しないが、図１２の下位ビット（ｂｉｔ０〜７）だけを抽出したものと同じである。エントリテーブル１３０４は物理ブロックＰＢ０〜５１１が対応する前半グループ（Ａｄｄｒｅｓｓ０〜６３）の領域と、物理ブロックＰＢ５１２〜１０２３が対応する後半グループ（Ａｄｄｒｅｓｓ６４〜１２７）の２つの領域に分けられる。
【００７４】
このようなエントリテーブル１３０３の構成において図７のフローチャートのステップ７０１で、および図９のフローチャートのステップ９０２を適用することで、フラッシュメモリチップ内においてコピーバック機能の使用できる物理ブロックの領域が限定されている場合においても、必ずコピー元の物理ブロックからコピーバック機能を使用してデータをコピーできる領域からコピー先の物理ブロックを決定するので、任意の論理アドレスのデータをコピーする際に、必ずコピー元の物理ブロックとコピー先の物理ブロックとはコピーバック機能を使用してデータをコピーすることが可能となる。
【００７５】
以上、本発明の実施の形態によれば、コピー元となる物理ブロック２０１からコピーバック処理が可能な範囲にある物理ブロック２０１に対応する領域のエントリテーブルから優先的に消去済み物理ブロック２０１を検索することによって、コピーバック処理が可能な物理ブロック２０１を書込み対象として選ぶことが出来る。また、論理アドレスによって書込み対象となる物理ブロック２０１のアドレス範囲を限定することにより、確実にコピーバック処理が可能な物理ブロック２０１を書込み対象として選ぶことが出来る。
【産業上の利用可能性】
【００７６】
以上のように、本発明に係わる不揮発性記憶装置の書き込み方法は、音楽データや映像データを取り扱う機器、例えばデジタルカメラやデジタルビデオカメラ等の携帯機器のデータを記憶する記憶装置に用いる書き込み方法としての利用に適している。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施の形態１による書き込み方法を行なう不揮発性記憶装置とホスト機器の構成を示すブロック図
【図２】同書き込み方法におけるフラッシュメモリの詳細を示す概念図
【図３】同書き込み方法におけるフラッシュメモリの物理ブロックの詳細を示す概念図
【図４】同書き込み方法におけるフラッシュメモリのパッケージ構成を示す概念図
【図５】同書き込み方法におけるフラッシュメモリのパッケージ構成を示す概念図
【図６】同書き込み方法におけるエントリテーブルの構成を示す概念図
【図７】同書き込み方法における書込み先を決定するフローチャート
【図８】同書き込み方法におけるエントリテーブルの異なる構成例を示す概念図
【図９】同書き込み方法における書込み先を決定するフローチャート
【図１０】本発明の実施の形態３による書き込み方法を行なう不揮発性記憶装置とホスト機器の構成を示すブロック図
【図１１】同書き込み方法におけるフラッシュメモリの詳細を示す概念図
【図１２】同書き込み方法におけるエントリテーブルの構成を示す概念図
【図１３】本発明の実施の形態４による書き込み方法を行なう不揮発性記憶装置とホスト機器の構成を示すブロック図
【図１４（Ａ）】フラッシュメモリチップ内におけるデータのコピー動作を示した模式図
【図１４（Ｂ）】フラッシュメモリチップ内におけるデータのコピー動作を示した模式図
【図１４（Ｃ）】フラッシュメモリチップ内におけるデータのコピー動作を示した模式図
【図１４（Ｄ）】フラッシュメモリチップ内におけるデータのコピー動作を示した模式図
【図１５】フラッシュメモリチップ内におけるデータのコピーのタイミングチャート
【図１６（Ａ）】フラッシュメモリチップ間におけるデータのコピー動作を示した模式図
【図１６（Ｂ）】フラッシュメモリチップ間におけるデータのコピー動作を示した模式図
【図１６（Ｃ）】フラッシュメモリチップ間におけるデータのコピー動作を示した模式図
【図１６（Ｄ）】フラッシュメモリチップ間におけるデータのコピー動作を示した模式図
【図１７】フラッシュメモリチップ間におけるデータのコピーのタイミングチャート
【符号の説明】
【００７８】
１０１    不揮発性記憶装置
１０２    外部ホスト
１０３    コントローラ
１０４    フラッシュメモリ
１０５    制御回路
１０６    ページバッファ
１０７    退避バッファ
１０８    アドレス変換テーブル
１０９    エントリテーブル
１１０    フラッシュメモリチップＡ
１１１    フラッシュメモリチップＢ
２０１    物理ブロック
２０２    ページバッファ
３０１    物理ページ
１００１    フラッシュメモリ
１００２    フラッシュメモリチップＣ
１００３    フラッシュメモリチップＤ
１００４    エントリテーブル
１１０１    物理ブロック
１１０２，１１０３    ページバッファ
１３０１    フラッシュメモリ
１３０２    フラッシュメモリチップＣ
１３０３    エントリテーブル
１３０４    アドレス変換テーブル
１４０１    フラッシュメモリ
１４０２    ページバッファ
１４０３，１４０４    物理ブロック
１６０１    コントローラ
１６０２    退避バッファ
１６０３    ページバッファ
１６０４，１６０７    フラッシュメモリ
１６０５，１６０８    ページバッファ
１６０６，１６０９    物理ブロック
【図１】
2006277736.tif 000003
【図２】
2006277736.tif 000004
【図３】
2006277736.tif 000005
【図４】
2006277736.tif 000006
【図５】
2006277736.tif 000007
【図６】
2006277736.tif 000008
【図７】
2006277736.tif 000009
【図８】
2006277736.tif 000010
【図９】
2006277736.tif 000011
【図１０】
2006277736.tif 000012
【図１１】
2006277736.tif 000013
【図１２】
2006277736.tif 000014
【図１３】
2006277736.tif 000015
【図１４（Ａ）】
2006277736.tif 000016
【図１４（Ｂ）】
2006277736.tif 000017
【図１４（Ｃ）】
2006277736.tif 000018
【図１４（Ｄ）】
2006277736.tif 000019
【図１５】
2006277736.tif 000020
【図１６（Ａ）】
2006277736.tif 000021
【図１６（Ｂ）】
2006277736.tif 000022
【図１６（Ｃ）】
2006277736.tif 000023
【図１６（Ｄ）】
2006277736.tif 000024
【図１７】
2006277736.tif 000025