"ホストシステムに接続可能な不揮発性半導体記憶装置であって、不揮発性記憶部と、その動作制御を行うコントローラと、を含み、上記コントローラは、上記ホストシステム側の論理アドレスと上記不揮発性記憶部側の物理アドレスとの対応関係を、上記ホストシステム側のアクセス単位と、上記不揮発性記憶部側のアクセス単位とに分けて管理し、上記ホストシステムからの書込み指示に係るデータのサイズに応じて、上記ホストシステム側のアクセス単位での管理と、上記不揮発性記憶部側のアクセス単位での管理とを判定し、それに基づいて、上記不揮発性記憶部における対応領域に、上記ホストシステムからの書込み指示に係るデータを書込むことを特徴とする不揮発性半導体記憶装置。上記不揮発性記憶部の消去単位をブロックとし、上記不揮発性記憶部の書込み単位をページとし、上記ホストシステムからの書込み単位をセクタとするとき、上記コントローラは、上記ホストシステム側の論理アドレスと上記不揮発性記憶部側の物理アドレスとの対応関係を、上記ブロック単位と、上記ページ単位と、上記セクタ単位とに分けて管理する請求項1記載の不揮発性半導体記憶装置。上記不揮発性記憶部は、上記ブロック単位での管理に対応する第1領域と、上記ページ単位での管理に対応する第2領域と、上記セクタ単位での管理に対応する第3領域とを含み、上記コントローラは、上記ホストシステムからの書込み指示に係るデータのサイズが上記ブロックのサイズより大きい場合には上記第1領域に上記データを書込み、上記ホストシステムからの書込み指示に係るデータのサイズが上記ブロックのサイズより小さく、且つ、上記ページのサイズより大きい場合には上記第2領域に上記データを書込み、上記ホストシステムからの書込み指示に係るデータのサイズが上記ブロックのサイズより小さく、且つ、上記ページのサイズより小さい場合には上記第3領域に上記データを書込む請求項2記載の不揮発性半導体記憶装置。上記コントローラは、上記第2領域に対応するブロック又は上記第3領域に対応するブロックにおける有効データを別の領域に移動することによって、上記第2領域又は上記第3領域の空きを増やすためのガベージコレクション処理を実行する請求項3記載の不揮発性半導体記憶装置。上記コントローラは、リセット処理毎に上記ガベージコレクション処理を実行する請求項4記載の不揮発性半導体記憶装置。上記コントローラは、上記フラッシュメモリとの間で信号のやり取りを可能とするバスがアイドル状態の際に上記ガベージコレクション処理を実行する請求項4記載の不揮発性半導体記憶装置。上記コントローラは、上記第2領域又は上記第3領域の書込み可能ページ数が所定数よりも小さい場合に上記ガベージコレクション処理を実行する請求項4記載の不揮発性半導体記憶装置。不揮発性半導体記憶装置と、上記不揮発性半導体記憶装置にアクセス可能なホストシステムと、を含むデータ処理システムであって、上記不揮発性半導体記憶装置は、不揮発性記憶部と、その動作制御を行うコントローラと、を含み、上記コントローラは、上記ホストシステム側の論理アドレスと上記不揮発性記憶部側の物理アドレスとの対応関係を、上記ホストシステム側のアクセス単位と、上記不揮発性記憶部側のアクセス単位とに分けて管理し、上記ホストシステムからの書込み指示に係るデータのサイズに応じて、上記ホストシステム側のアクセス単位での管理と、上記不揮発性記憶部側のアクセス単位での管理とを判定し、それに基づいて、上記不揮発性記憶部における対応領域に、上記ホストシステムからの書込み指示に係るデータを書込むことを特徴とするデータ処理システム。不揮発性半導体記憶装置の一例として、フラッシュSSDSolidStateDriveを挙げることができる。フラッシュSSDは、半導体記憶素子であるフラッシュメモリを使用した記憶装置であり、ハードディスクドライブの機能をエミュレートする仕様であり、ハードディスクドライブと同等のインタフェースを持つ。デバイス内には、フラッシュメモリの他、専用のコントローラなどが組み込まれ、利用上はハードディスクドライブと大差はないと考えられる。フラッシュSSD内のフラッシュメモリには、NAND型が用いられる。フラッシュSSDは、ハードディスクドライブと比較して、小容量の高速アクセスが可能という特徴があり、それはフラッシュSSDの性能を表す重要な指標となっている。小容量の高速アクセスは、NAND型のフラッシュメモリよりも高速アクセス可能なDRAMダイナミックランダムアクセスメモリのような揮発性メモリに一時的にデータを保存するキャッシュ機能を用いて実現される。しかしながら、NAND型フラッシュメモリにおけるキャッシュは、DRAMなどの揮発性メモリであるため、不所望な電源遮断により、キャッシュ内のデータが消失するおそれがある。従って、フラッシュSSDの用途によっては、キャッシュ機能を用いないで、小容量書込みの高速化を図ることが強く望まれる。また、従来のフラッシュSSDにおいては、NAND型フラッシュメモリの消去単位やプログラム書込み単位毎に論理アドレスを管理している。論理アドレスの単位はセクタとされる。プログラム書込み単位は、ページとされ、一つのページは、複数のセクタで構成される。このため、ホストシステムからフラッシュSSD内のNAND型フラッシュメモリに1セクタ分のデータを書込む場合には、当該セクタを含むページのデータがNAND型フラッシュメモリからバッファメモリに読出され、このバッファメモリ内の該当するセクタのデータが更新される。このデータ更新後にバッファメモリ内のデータが、NAND型フラッシュメモリ内の別のアドレスに書込まれ、その書込みが完了した後に、論理アドレスと物理アドレスの変換を行うテーブルが更新される。しかしながら、上記のように、ホストシステムからフラッシュSSD内のNAND型フラッシュメモリに1セクタ分のデータを書込む場合に、当該セクタを含むページのデータがNAND型フラッシュメモリからバッファメモリに読出す必要があるため、小容量の書込みが低速化するおそれがある。本発明の目的は、キャッシュ機能を用いないで、不揮発性半導体記憶装置における小容量書込みの高速化を図るための技術を提供する。本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。すなわち、ホストシステムに接続可能とされ不揮発性半導体記憶装置は、不揮発性記憶部と、その動作制御を行うコントローラとを含む。上記コントローラは、上記ホストシステム側の論理アドレスと上記不揮発性記憶部側の物理アドレスとの対応関係を、上記ホストシステム側のアクセス単位と、上記不揮発性記憶部側のアクセス単位とに分けて管理し、上記ホストシステムからの書込み指示に係るデータのサイズに応じて、上記ホストシステム側のアクセス単位での管理と、上記不揮発性記憶部側のアクセス単位での管理とを判定する。そして上記コントローラは、上記判定結果に基づいて、上記不揮発性記憶部における対応領域に、上記ホストシステムからの書込み指示に係るデータを書込む。本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。すなわち、キャッシュ機能を用いないで、不揮発性半導体記憶装置における小容量書込みの高速化を図ることができる。1.実施の形態の概要先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。1本発明の代表的な実施の形態に係る不揮発性半導体記憶装置1は、ホストシステム2に接続可能とされ、不揮発性記憶部11と、その動作制御を行うコントローラ12とを含む。上記コントローラは、上記ホストシステム側の論理アドレスと上記不揮発性記憶部側の物理アドレスとの対応関係を、上記ホストシステム側のアクセス単位と、上記不揮発性記憶部側のアクセス単位とに分けて管理し、上記ホストシステムからの書込み指示に係るデータのサイズに応じて、上記ホストシステム側のアクセス単位での管理と、上記不揮発性記憶部側のアクセス単位での管理とを判定する。そして上記コントローラは、上記判定結果に基づいて、上記不揮発性記憶部における対応領域に、上記ホストシステムからの書込み指示に係るデータを書込む。ここで従来装置でのデータ書込みにおいてバッファメモリへのデータ退避が必要となるのは、上記ホストシステム側の論理アドレスと上記不揮発性記憶部側の物理アドレスとの対応関係を、上記ホストシステム側のアクセス単位で管理していないことに起因する。この結果、例えばホストシステムから1セクタ分のデータを書込む場合には、当該セクタを含むページのデータをバッファメモリに読出し、このバッファメモリにおいて、該当する1セクタ分のデータを更新する必要がある。これに対して、本発明の代表的な実施の形態に係る不揮発性半導体記憶装置によれば、上記ホストシステムからの書込み指示に係るデータのサイズに応じて、上記ホストシステム側のアクセス単位での管理と、上記不揮発性記憶部側のアクセス単位での管理とが判定され、その判定結果に基づいて、上記データの上記不揮発性記憶部における書込み先が決定される。このように上記ホストシステムからの書込み指示に係るデータのサイズに応じて、上記不揮発性記憶部における書込み先として適切な領域が決定されることにより、バッファメモリへのデータ退避が不要とされるので、ホストシステムから不揮発性半導体記憶装置への小容量書込みの高速化を図ることができる。また、このような小容量書込みの高速化は、DRAM等のキャッシュ機能を用いるものではないので、キャッシュ内のデータが不所望な電源遮断により消失することを心配する必要もない。2上記1において、上記不揮発性記憶部の消去単位をブロックとし、上記不揮発性記憶部の書込み単位をページとし、上記ホストシステムからの書込み単位をセクタとするとき、上記コントローラは、上記ホストシステム側の論理アドレスと上記不揮発性記憶部側の物理アドレスとの対応関係を、上記ブロック単位と、上記ページ単位と、上記セクタ単位とに分けて管理することができる。3上記2において、上記不揮発性記憶部には、上記ブロック単位での管理に対応する第1領域と、上記ページ単位での管理に対応する第2領域と、上記セクタ単位での管理に対応する第3領域とを形成することができる。このとき上記コントローラは、上記ホストシステムからの書込み指示に係るデータのサイズが上記ブロックのサイズより大きい場合には上記第1領域に上記データを書込む。また上記コントローラは、上記ホストシステムからの書込み指示に係るデータのサイズが上記ブロックのサイズより小さく、且つ、上記ページのサイズより大きい場合には上記第2領域に上記データを書込む。さらに上記コントローラは、上記ホストシステムからの書込み指示に係るデータのサイズが上記ブロックのサイズより小さく、且つ、上記ページのサイズより小さい場合には上記第3領域に上記データを書込む。4上記3において、上記コントローラは、上記第2領域に対応するブロック又は上記第3領域に対応するブロックにおける有効データを別の領域に移動することによって、上記第2領域又は上記第3領域の空きを増やすためのガベージコレクション処理を実行するように構成することができる。5上記4において、リセット処理毎に上記ガベージコレクション処理を実行させることができる図13A,図13B。6上記4において、上記フラッシュメモリとの間で信号のやり取りを可能とするバスがアイドル状態のときに上記ガベージコレクション処理を実行させることができる図15A,図15B。7上記4において、上記第2領域又は上記第3領域の書込み可能ページ数が所定数よりも小さい場合に上記ガベージコレクション処理を実行させることができる図16。8本発明の代表的な実施の形態に係るデータ処理システム100は、不揮発性半導体記憶装置1と、上記不揮発性半導体記憶装置にアクセス可能なホストシステム2とを含む。上記不揮発性半導体記憶装置は、不揮発性記憶部11と、その動作制御を行うコントローラ12とを含む。上記コントローラは、上記ホストシステム側の論理アドレスと上記不揮発性記憶部側の物理アドレスとの対応関係を、上記ホストシステム側のアクセス単位と、上記不揮発性記憶部側のアクセス単位とに分けて管理し、上記ホストシステムからの書込み指示に係るデータのサイズに応じて、上記ホストシステム側のアクセス単位での管理と、上記不揮発性記憶部側のアクセス単位での管理とを判定し、それに基づいて、上記不揮発性記憶部における対応領域に、上記ホストシステムからの書込み指示に係るデータを書込む。上記の構成のデータ処理システムによれば、上記ホストシステムからの書込み指示に係るデータのサイズに応じて、上記ホストシステム側のアクセス単位での管理と、上記不揮発性記憶部側のアクセス単位での管理とが判定され、その判定結果に基づいて、上記データの上記不揮発性記憶部における書込み先が決定される。このように上記ホストシステムからの書込み指示に係るデータのサイズに応じて、上記不揮発性記憶部における書込み先として適切な領域が決定されることにより、バッファメモリへのデータ退避が不要とされるので、ホストシステムから不揮発性半導体記憶装置への小容量書込みの高速化を図ることができる。また、このような小容量書込みの高速化は、DRAM等のキャッシュ機能を用いるものではないので、キャッシュ内のデータが不所望な電源遮断により消失することを心配する必要もない。2.実施の形態の詳細実施の形態について更に詳述する。《実施の形態1》図1には、本発明にかかるデータ処理システムが示される。図1に示されるデータ処理システム100は、フラッシュSSD1と、このフラッシュSSD1にアクセス可能なホストシステム単にホストという2とを含む。ホスト2は、特に制限されないが、携帯して利用できるコンピュータシステムモバイルPCや、デジタルカメラとされる。このホスト2には、端子を介してフラッシュSSD1が結合されている。フラッシュSSD1は、フラッシュメモリ11、コントローラ12、及び外部RAM13を含み、ホスト2によってリード/ライト可能とされる。フラッシュメモリ11、コントローラ12、及び外部RAM13は、それぞれ公知の半導体集積回路製造技術により、例えば単結晶シリコン基板などの一つの半導体基板に形成されている。フラッシュメモリ11は、特に制限されないが、NAND型とされ、バッファ111と、フラッシュアレイ112とを含む。フラッシュアレイ112へのデータ書込みや、フラッシュアレイ112からのデータ読出しは、バッファ111を介して行われる。フラッシュアレイ112に対する書込み単位ページというは、例えば図3に示されるように、2kB64Bとされ、消去単位ブロックというは64ページとなっている。また、ホスト2からの書込みの最小単位セクタというは、512Bとなっている。尚、セクタ、ページ、及びブロックのサイズは任意に設定することができる。フラッシュメモリ11とコントローラ12とは、バスBSを介して結合されている。コントローラ12は、ホスト2から与えられたコマンドを解釈してフラッシュメモリ11の動作制御を行う。このコントローラ12は、特に制限されないが、ROMリードオンリーメモリ121、RAMランダムアクセスメモリ122、CPU中央処理装置123、ECCエラー検出訂正回路124、フラッシュインタフェース125、ページバッファ126、バッファインタフェース127、ホストインタフェース128を含む。ROM121には、CPU123で実行されるプログラムが格納される。CPU123は、ROM121内のプログラムを実行することによって、各部の動作制御を行う。RAM122は、CPU123でプログラムが実行される際の作業領域などに利用される。ECC回路124は、フラッシュメモリ1から読出されるデータに符号誤りエラーが発生した場合にそれを検出して訂正する。フラッシュインタフェース125は、CPU123、ECC回路124、バッファインタフェース127と、フラッシュメモリ11との間の情報のやり取りを仲介する。ページバッファ126は、フラッシュメモリ11の書込み単位に相当する記憶容量を有する。バッファインタフェース127は、フラッシュインタフェース125、ホストインタフェース128、外部RAM13と、ページバッファ126との間の情報のやり取りを仲介する。ホストインタフェース128は、CPU123、バッファインタフェース127と、ホスト2との間の情報のやり取りを仲介する。外部RAM13は、一定周期のクロック信号に同期して動作するSDRAMとされる。ホスト2は、特に制限されないが、コンピュータシステムとされる。ホスト2から書込まれるデータは、外部RAM13又はページバッファ126に一時格納され、フラッシュメモリ11のバッファ111を介して、フラッシュアレイ112に書込まれる。ここで、フラッシュアレイ112の各ブロックは、消去後に、データの書込みが可能になる。ホスト2がフラッシュメモリ11からデータを読み出す場合には、フラッシュアレイ112からバッファ111を介して、外部RAM13又はページバッファ126に格納され、その後、ホスト2に出力される。CPU123による演算処理においては、各種テーブルが参照される。上記各種テーブルとしては、例えば図2に示されるように、ブロック単位で管理する領域の論物変換テーブルTB1、消去可能PBAテーブルTB2、ページ単位で管理する領域の論物変換テーブルTB3、書込み可能ページテーブルTB4、セクタ単位で管理する領域の論物変換テーブルTB5を挙げることができる。図8には、ブロック単位で管理する領域の論物変換テーブルTB1の構成例が示される。ブロック単位で管理する領域の論物変換テーブルTB1は、ブロック単位で管理する領域の論理アドレスと物理アドレスとの対応を把握可能とするもので、そのサイズは2048Byteである。論物変換テーブルには、複数のエントリーEntry-0~Entry-1023が形成される。Entry-0~Entry-1023は、物理情報とされ、それぞれ1ブロックを管理するためのテーブル上の領域である。一つのEntryは、16bit=2Bとされる。各Entryは、そのうちの一つが拡大して示されるように、PBAの格納領域11bitとフラッシュアレイのチップChip番号の格納領域5bitが形成される。PBAは0~7FFhで示され、チップ番号は0~1Fhで示される。論物変換テーブルの縦軸には、論理情報であるLBAが割り当てられる。Entryの添え字0~1023に対応してLBAが昇順に割り当てられる。例えばEntry-0は、LBA=0から1エントリー分のサイズが割り当てられ、Entry-1は、Entry-0の次のアドレスから1Entry分のサイズが割り当てられる。例えばホスト2がフラッシュメモリ11にLBA0のデータを書込む場合、Entry-0の内容が書き替えられることで、論物変換テーブルが更新される。図9には、消去可能PBAテーブルTB2の構成例が示される。消去可能PBAテーブルTB2は、論理アドレスにかかるデータが格納されていないブロックがどのチップのどの物理アドレスにあるかを把握可能とするテーブルとされ、そのサイズは、2048Byteバイトとされる。消去可能PBAテーブルTB2には、複数のエントリーEntry-0~Entry-1023が形成される。Entry-0~Entry-1023は、物理情報とされ、それぞれ1ブロックを管理するためのテーブル上の領域である。一つのEntryは、16bit=2Bとされる。各Entryは、そのうちの一つが拡大して示されるように、PBAの格納領域11bitとフラッシュアレイのチップChip番号の格納領域5bitが形成される。PBAは0~7FFhで示され、チップ番号は0~1Fhで示される。尚、消去可能PBAテーブルTB2は、論理アドレスにかかるデータ格納されていないブロックがどのチップのどの物理アドレスにあるかを把握するためのテーブルとされ、論理情報は不要であるため、LBAは割り当てられていない。図10には、ページ単位で管理する領域の論物変換テーブルTB3の構成例が示される。ページ単位で管理する領域の論物変換テーブルTB3は、ページ単位で管理する領域の論理アドレスと物理アドレスとの対応を把握可能とするもので、そのサイズは、2048Byteとされる。ページ単位で管理する領域の論物変換テーブルTB3には、複数のエントリーEntry-0~Entry-168が形成される。Entry-0~Entry-168は、それぞれ1ページを管理するためのテーブル上の領域である。一つのEntryは、70bitとされる。各Entryは、そのうちの一つが拡大して示されるように、LBAの格納領域48bit、PBAの格納領域11bit、ページアドレスを意味するページ番号の格納領域6bit、フラッシュアレイのチップChip番号の格納領域5bitが形成される。PBAは0~7FFFFFFFFFFFhで示され、PBAは0~7FFhで示され、ページ番号は0~3Fhで示され、チップ番号は0~1FFhで示される。図11には、書込み可能ページテーブルTB4の構成例が示される。書込み可能ページテーブルTB4は、書込み可能なページを把握可能とするテーブルであり、そのサイズは、2048Byteとされる。書込み可能ページテーブルTB4には、複数のエントリーEntry-0~Entry-681が形成される。Entry-0~Entry-681は、それぞれ1ページを管理するためのテーブル上の領域である。一つのEntryは、22bitとされる。各Entryは、そのうちの一つが拡大して示されるように、PBAの格納領域11bit、ページアドレスを意味するページPage番号の格納領域6bit、フラッシュアレイのチップChip番号の格納領域5bitが形成される。PBAは0~7FFhで示され、ページ番号は0~3Fhで示され、チップ番号は0~1FFhで示される。図12には、セクタ単位で管理する領域の論物変換テーブルTB5の構成例が示される。セクタ単位で管理する領域の論物変換テーブルTB5は、セクタ単位で管理する領域における論理アドレスと物理アドレスとの対応を把握可能とするもので、そのサイズは、2048Byteとされる。セクタ単位で管理する領域の論物変換テーブルTB5には、複数のエントリーEntry-0~Entry-168が形成される。Entry-0~Entry-168は、それぞれ1セクタを管理するためのテーブル上の領域である。一つのEntryは、72bitとされる。各Entryは、そのうちの一つが拡大して示されるように、LBAの格納領域48bit、PBAの格納領域11bit、ページアドレスを意味するページPage番号の格納領域6bit、フラッシュアレイのチップChip番号の格納領域5bit、セクタ数2bitが形成される。LBAは0~FFFFFFFFFFFFhで示され、PBAは0~7FFhで示され、ページ番号は0~3Fhで示され、チップ番号は0~1FFhで示され、セクタ数は0~3hで示される。上記ブロック単位で管理する領域の論物変換テーブルTB1、消去可能PBAテーブルTB2、ページ単位で管理する領域の論物変換テーブルTB3、書込み可能ページテーブルTB4、セクタ単位で管理する領域の論物変換テーブルTB5は、フラッシュアレイ112内に格納されており、フラッシュSSD1の初期化処理においてページバッファ126又は外部RAM13にロードされるようになっている。CPU123によるテーブル参照やテーブル情報の更新は、ページバッファ126又は外部RAM13にロードされたテーブルに対して行われる。そしてテーブル情報が更新された場合には、それに応じてフラッシュアレイ112内のテーブルが更新される。図4には、上記フラッシュSSD1におけるライト処理の流れが示される。ホスト2からフラッシュSSD1に対してライトコマンドが発行されるS301。フラッシュSSD1内のCPU123は、上記ライトコマンドを解析して、書込み先LBALogicalBlockAddressと書込みセクタ数とを取得しS302、この書込みセクタ数をホストが指定したセクタ数とするS303。ここで、LBAとは、ホスト側の論理的なブロックアドレスを意味する。書込み用データは、ホストインタフェース128及びバッファインタフェース127を介してページバッファ126に一時的に保存される。そしてCPU123は、書込みセクタ数がブロックサイズより大きいか否かの判別を行うS304。この判別において、書込みセクタ数がブロックサイズより大きいYesと判断された場合には、上記ステップS302で取得された書込み先LBAにかかる書込みデータを、ブロックで管理する領域に書込むための処理がCPU123で実行されるS306。また、上記ステップS304の判別において、書込みセクタ数がブロックサイズより小さいNoと判断された場合には、書込みサイズがページサイズより大きいか否かの判別がCPU123で行われるS305。この判別において、書込みサイズがページサイズより大きいYesと判断された場合には、上記ステップS302で取得された書込み先LBAをブロックで管理する領域に書込むための処理がCPU123で実行されるS307。また上記ステップS305の判別において、書込みサイズがページサイズより小さいNoと判断された場合には、上記ステップS302で取得された書込み先LBAをセクタ単位で管理する領域に書込むための処理がCPU123で実行されるS308。尚、上記ステップS306、S307、S308の各処理については後に詳述する。上記ステップS306、S307、S308の各処理の後に、書込みセクタ数から、実際に書込んだセクタ数が減算され、書込みセクタ数が0より大きいか否かの判別が行われるS310。この判別において、書込みセクタ数が0より大きいYesと判断された場合には、未だ書込み可能であるため、上記ステップS304の判別に戻る。また、上記ステップS310の判別において、書込みセクタ数が0より大きくないNoと判断された場合には、書込みが不可能であるため、本フローチャートによる処理が終了される。図5には、図4におけるステップS306における書込み処理書込み先LBAにかかる書込み用データを、ブロック単位で管理する領域に書込むための処理の詳細が示される。書込み先LBAにかかる書込み用データを、ブロック単位で管理する領域に書込むための処理において、先ず、CPU123によって、消去可能PBAPhysicalBlockAddressテーブルが参照されて、消去可能ブロックのアドレスが取得されS401、当該アドレスに対応する消去可能ブロックが消去される。CPU123は、上記ステップ402で消去されたブロックに対して、上記ページバッファ126に保存されているホスト転送データを書込むS403。その後、CPU123によって、ブロック単位で管理する領域の論物変換テーブルTB1と、消去可能PBAテーブルTB2が更新されるS404。ここで、ブロック単位で管理する領域の論物変換テーブルTB1は、ブロック単位で管理する領域における論理アドレスと物理アドレスとの変換を可能にするもので、ページバッファ126又は外部RAM13に形成される。図6には、図4におけるステップS307の処理書込み先LBAにかかる書込み用データを、ブロック単位で管理する領域に書込むための処理の詳細が示される。書込み先LBAにかかる書込み用データを、ブロック単位で管理する領域に書込むための処理において、先ず、CPU123は、書込み可能ページテーブルTB4を参照して書込み可能ページのアドレスを取得するS501。書込み可能ページテーブルTB4は、ページバッファ126又は外部RAM13に形成される。そしてCPU123は、書込み可能ページがあるか否かの判別を行うS502。書込み可能ページがあるYesと判断した場合、ページバッファ126に一時的に保存されているホスト転送データをフラッシュアレイ112へ書込むS506。またCPU123は、上記ステップS502の判別において、書込み可能ページが無いNoと判断した場合、消去可能PBAテーブルTB2を参照して、消去可能ブロックのアドレスを取得しS503、当該消去可能ブロックを消去しS504、その後、消去したブロックから書込み可能ページを取得するS505。そして、取得した着込み可能ページに対してホスト転送データの書込みが行われるS506。CPU123は、消去を実行したか否かの判別を行うS507。この判別において、消去を実行していないNoと判断された場合、ページ単位で管理する領域の論物変換テーブルと、書込み可能ページテーブルTB4を更新するS508。また、上記ステップS507の判別において消去を実行したYesと判断された場合、ページ単位で管理する領域の論物変換テーブルと書込み可能ページテーブルTB4と消去可能PBAテーブルTB2とを更新するS509。図7には、図4におけるステップS308の処理書込み先LBAにかかる書込み用データを、セクタ単位で管理する領域に書込むための処理の詳細が示される。書込み先LBAにかかる書込み用データを、セクタ単位で管理する領域に書込むための処理において、先ず、CPU123は、書込み可能ページテーブルTB4を参照して書込み可能ページのアドレスを取得するS601。そしてCPU123は、書込み可能ページがあるか否かの判別を行うS602。書込み可能ページがあるYesと判断した場合、ページバッファ126に一時的に保存されているホスト転送データをフラッシュアレイ112へ書込むS606。またCPU123は、上記ステップS602の判別において、書込み可能ページが無いNoと判断した場合、消去可能PBAテーブルTB2を参照して、消去可能ブロックのアドレスを取得しS603、当該消去可能ブロックを消去しS604、その後、消去したブロックから書込み可能ページを取得するS605。そして、取得した着込み可能ページに対してホスト転送データの書込みが行われるS606。CPU123は、消去を実行したか否かの判別を行うS607。この判別において、消去を実行していないNoと判断された場合、セクタ単位で管理する領域の論物変換テーブルと、書込み可能ページテーブルTB4を更新するS608。また、上記ステップS607の判別において消去を実行したYesと判断された場合、セクタ単位で管理する領域の論物変換テーブルと書込み可能ページテーブルTB4と消去可能PBAテーブルTB2とを更新するS609。次に、ガベージコレクションについて説明する。ブロックより小さい単位で論物変換する領域は、フラッシュSSD1の全容量より少ない領域に限定される場合があるため、ホスト2から連続して書込みが行われると、空きページが無くなることがある。このため、コントローラ12では、ブロックより小さい単位で論物変換する領域に空きページを作るためのガベージコレクションが実行される。ガベージコレクションは、1フラッシュSSD1のリセット処理毎に実行することができる。先ず、ガベージコレクションをフラッシュSSD1のリセット処理毎に実行する場合について説明する。図13A及び図13Bには、ガベージコレクションをリセット処理毎に実行する場合のフローチャートが示される。尚、図13A及び図13Bにおいて、CON1は、処理が連続していることを示している。フラッシュSSD1に対する電源投入や、リセット信号がアサートされた場合に、所定のリセット処理が起動されるS1301。つまり、CPU123によって所定のリセットプログラムが実行される。フラッシュSSD1においてリセット処理が行われている期間は、ホスト2に対してビジー状態になる。このビジー状態が解除される前に、以下の処理がCPU123によって行われる。先ずブロックより小さい単位で論物変換する領域の空きページ数の確認がCPU123によって行われるS1302。この確認は、ページ単位で管理する領域の論物変換テーブルTB3及びセクタ単位で管理する領域の論物変換テーブルTB5を参照することで行われる。そして、ブロックより小さい単位で論物変換する領域の空きページ数が規定値以下であるか否かの判別が行われるS1303。この判別において、ブロックより小さい単位で論物変換する領域の空きページ数が規定値以下であるYesと判断された場合には、ガベージコレクションの必要があるため、消去可能PBAテーブルTB2が参照されることにより、消去可能PBAの取得が行われS1304、取得された消去可能PBAが消去されるS1305。次に、ブロックより小さい単位で論物変換する領域のブロックで、空きページ数が規定値以下のブロックが選択されS1306、処理ページ番号を0にする。ここで、処理ページ番号とは、内部的な変数を意味する。そして、ガベージコレクション処理に要する時間が、規定時間を越えるか否かの判別が行われるS1308。ここで、規定時間とは、例えばリセット処理のために許容される時間を意味する。ガベージコレクション処理は、このリセット処理のために許容される時間内に終了する必要がある。ガベージコレクション処理に要する時間が、規定時間を越えないNoと判断された場合には、処理ページ数が当該ブロックにおける最大ページ数未満であるか否かの判別が行われるS1309。つまり、これから処理しようとするページ番号が、上記ステップS1305で消去されたブロックにおける最大ページ数に達したか否かが判別される。この判別において、処理ページ数が当該ブロックにおける最大ページ数未満であるYesと判断された場合には、当該ページに有効なデータがあるか否かの判別が行われるS1310。この判別において、当該ページに有効なデータがあるYesと判断された場合には、その有効データがページバッファ126に読出されるS1312。そして、ページバッファ126に読出された上記データはページサイズ以上であるか否かの判別が行われるS1313。この判別において、ページバッファ126に読出された上記データがページサイズ以上であるYesと判断された場合には、ページバッファ126に読出された上記データが、上記ステップS1305で消去されたPBAに書込まれるS1314。その後、処理ページ番号がインクリメントされた後にS1311、上記ステップS1308の判別に戻されることにより、次の処理ページ番号についてのガベージコレクション処理が行われる。上記ステップS1303の判別において、ブロックより小さい単位で論物変換する領域の空きページ数が規定値以下ではないNoと判断された場合には、ブロックより小さい単位で論物変換する領域の空きページ数が十分に残っており、ガベージコレクションは不要である。この場合、ページバッファ126上にデータが残っているか否かの判別が行われるS1315。この判別において、ページバッファ126上にデータが残っているYesYesと判断された場合には、当該データが、上記ステップS1305で消去されたPBAに書込まれるS1316。その後、ガベージコレクションでデータが移動されたか否かの判別が行われるS1317。この判別において、ガベージコレクションでデータが移動されたYesと判断された場合には、ブロックより小さい単位で論物変換する領域の論物変換テーブル、すなわち、ページ単位で管理する領域の論物変換デーブルTB3及びセクタ単位で管理する領域の論物変換テーブルTB5、ブロック単位で管理する領域の領域の論物変換テーブルTBTB1、消去可能PBAテーブルTB2、書込み可能ページテーブルTB4が更新されS1318、その後、リセットビジーが解除されることで、リセット処理の終了がホスト2に伝えられるS1319。また、上記ステップS1308の判別において、ガベージコレクション処理に要する時間が、規定時間を越えるYesと判断された場合には、ガベージコレクション処理を行うべきではないので、上記ステップS1303でブロックより小さい単位で論物変換する領域の空きページ数が規定値以下ではないNoと判断された場合と同様に、ページバッファ126上にデータが残っているか否かの判別に遷移されるS1315。上記ステップS1310の判別において、当該ページに有効なデータが無いNoと判断された場合には、処理ページ番号がインクリメントされた後にS1311、上記ステップS1308の判別に戻されることにより、次の処理ページ番号についてのガベージコレクション処理が行われる。また、上記ステップS1313の判別で、ページバッファ上のデータはページサイズ以上ではないNoと判断された場合には、ステップS1314のデータ書込みを行うことなく、処理ページ番号がインクリメントされた後にS1311、上記ステップS1308の判別に戻されることにより、次の処理ページ番号についてのガベージコレクション処理が行われる。そして上記ステップS1309の判別において、処理ページ数が当該ブロックにおける最大ページ数未満ではないNoと判断された場合には、全ての処理ページ番号についてのガベージコレクション処理が終了したことから、上記ステップS1302の確認処理に戻される。尚、ホスト2からリードコマンドが発行された場合には、コントローラ12によって論物変換テーブルTB1、TB3、又はTB5が参照され、当該リードコマンドにかかるデータがフラッシュメモリ11から読出されて、ホスト2に伝達される。この実施の形態によれば、以下の効果を得ることができる。従来システムに従えば、フラッシュメモリの消去単位やプログラム書込み単位毎に論理アドレスを管理していることから、ホストシステムからフラッシュSSD内のフラッシュメモリに1セクタ分のデータを書込む場合には、当該セクタを含むページのデータがフラッシュメモリからバッファメモリに読出され、その後このバッファメモリ内の該当するセクタのデータが更新され、このデータ更新後にバッファメモリ内のデータがフラッシュメモリ内の別のアドレスに書込まれる。このようにホストシステムからフラッシュSSD内のフラッシュメモリに1セクタ分のデータを書込む場合には、ホストシステムが書込みたいセクタ以外のデータをフラッシュメモリから読出さなければならず、それによって、フラッシュSSDにおける小容量書込みの高速化が阻害される。これに対して図1に示されるフラッシュSSD1においては、書込みセクタ数に応じて、データの上記不揮発性記憶部における書込み先が決定される。例えばフラッシュメモリ11に対して1セクタのデータ書込みを実行する場合には、セクタ単位で管理する領域にデータ書込みが行われることになり、上記従来システムでのデータ書込みの場合のように、バッファメモリへのデータ退避を行う必要がないので、小容量書込みの高速化を図ることができる。また、リセット処理毎にガベージコレクション処理が行われることにより、ブロック内に有効データが有る場合に、それが全て別の領域に移動され、当該ブロックは、消去によって再度書込み可能状態とされる。これにより、書込み可能な空き容量を増やすことができる。《実施の形態2》図14には、本発明にかかる不揮発性半導体記憶装置の一例とされるフラッシュSSD1の別の構成例が示される。図14に示されるフラッシュSSD1が、図1に示されるのと大きく相違するのは、複数のフラッシュメモリ11A,11B,11C,11Dが設けられている点である。フラッシュメモリ11A,11B,11C,11Dは、それぞれ公知の半導体集積回路製造技術により、例えば単結晶シリコン基板などの一つの半導体基板に形成されている。コントローラ12内のフラッシュインタフェース125と、フラッシュメモリ11A,11B,11C,11Dとは、それぞれ専用のバスBS1,BS2,BS3,BS4によって互いに結合されている。コントローラ12は、バスBS1,BS2,BS3,BS4を介してフラッシュメモリ11A,11B,11C,11Dの動作制御を行う。各フラッシュメモリ11A,11B,11C,11Dに対する動作制御の基本的な内容は、図1に示されるフラッシュSSD1の場合と同様である。図14に示される構成において、バスBS1,BS2,BS3,BS4が常に使用されているわけではない。例えばフラッシュメモリ11A~11Cに対してはデータの書込みが行われているが、フラッシュメモリ11Dに対してはデータの書込みが行われていない場合には、バスBS4がアイドル状態空き状態であることが考えられる。そこでアイドル状態のバスが存在する場合に、当該バスを利用して、対応するフラッシュメモリ11A,11B,11C,11Dについてのガベージコレクション処理を実行することができる。図15A及び図15Bには、アイドル状態のバスを用いてガベージコレクション処理を実行する場合のフローチャートが示される。尚、図15A及び図15Bにおいて、CON2は、処理が連続していることを示している。このガベージコレクション処理は、CPU123によって行われる。ホスト2からコマンドが受信された後に、書込むLBAとセクタ数が取得されS1401,S1402、アイドル状態のバスが存在するか否かの判別が行われるS1403。ステップS1402で取得された情報書込むLBAとセクタ数によって書込み先が決定される。書込み先が決定すれば、そのとき使用されるバスが判明するため、それに基づいて、アイドル状態のバスが存在するか否かの判別が可能になる。アイドル状態のバスが無いNoと判断された場合には、ガベージコレクションは実行されない。空きのバスがあると判断された場合には、書込み可能ページテーブルTB4を参照して、当該バスに対応するフラッシュメモリにおいて空きページ数が規定値以下のブロックがあるか否かの確認が行われるS1404,S1405。ステップS1405の判別において、空きページ数が規定値以下のブロックがあるYesと判断された場合、消去可能PBAテーブルTB2を参照して、消去可能PBAが取得されて、対応データが消去されるS1406,1407。ガベージコレクションによるデータの移動を行う前に、ホスト2から与えられたコマンドの処理が終了しているか否かの確認が行われるS1410。コマンド処理が終了しているYesと判断された場合には、ガベージコレクションは行われない。ホスト2から与えられたコマンドの処理が終了していないNoと判断された場合には、ガベージコレクションが実行されるS1411~S1416。ステップS1411~S1416のガベージコレクション処理は、図13AにおけるステップS1309~S1314の処理に対応する。すなわち、ブロックより小さい単位で論物変換する領域の論物変換テーブルTB3,TB5を参照して、選択したブロック内の有効なデータがあるか確認されS1412、有効なデータがある場合は、当該データをページバッファに読出される。ページバッファにページサイズ以上のデータを読み出したか否かの確認が行われS1415、ページサイズ以上のデータが読出された場合に、当該データの書込み行われるS1416。ページサイズ未満の場合は、書込みは行われずに、ガベージコレクションが継続される。ガベージコレクションの終了条件になった場合、書込んでいないデータがページバッファ126上に残っているか否かの確認が行われS1417、データが残っている場合のみ、読み出したデータの書込みが実行されるS1418。その後、ガベージコレクション中にデータの移動を行ったか否かの判定が行われS1419、データ移動を行った場合に、ブロックより小さい単位で論物変換する領域の論物変換テーブルTB3,TB5、ブロック単位に管理する領域の論物変換テーブルTB1、消去可能PBAテーブルTB2を更新して論物変換の対応関係が変更されるS1420。このようにアイドル状態のバスを利用することにより、フラッシュメモリのリード/ライト動作に支障を与えることなく、ガベージコレクション処理を実行することができる。《実施の形態3》図1や図14に示される構成において、ブロックより小さい単位で論物変換する領域がフラッシュSSD1の全容量より少ない場合や、ブロックより小さい単位で論物変換する領域に書込むための領域が不足する場合にもガベージコレクションを実行することができる。図16には、ブロックより小さい単位で論物変換する領域に書込むための領域が不足する場合のガベージコレクションのフローチャートが示される。ホストからライトコマンドが受信された後S1501、ブロックより小さい単位で論物変換する領域に書込むための書込み可能ページが存在するか否かの判別が行われるS1502。この判別において、書込み可能ページが存在するYesと判断された場合には、その書込み可能ページへの書込みが実行されS1510、ブロックより小さい単位で論物変換する領域の論物変換テーブルTB3,TB5、書込み可能ページテーブルTB4が更新されてS1511、本フローチャートによる処理が終了される。上記ステップS1502の判別において、書込み可能ページが存在しないNoと判断された場合には、消去可能PBAが規定以下か否かの判定が行われるS1503。この判別において、規定値以下ではないNoと判断された場合には、消去可能ページが消去されS1504、消去した領域が書込み可能ページとされて、上記ステップS1510の書込み処理に遷移される。上記ステップS1503の判別において、消去可能PBAが規定値以下であるYesと判断された場合には、ブロックより小さい単位で論物変換する領域の論物変換テーブルTB3,TB5が参照されて、有効なデータが最小のブロックの選択が行われるS1505。選択したブロックの有効なデータがページバッファ126に読出されS1506、消去可能PBAが消去されS1507、ページバッファ126上の有効なデータが、消去されたブロックに書込まれるS1508。そしてブロックより小さい単位で論物変換する領域の論物変換テーブルTB3,TB5、書込み可能ページテーブルTB4、消去可能PBAテーブルTB4が更新されるS1509。これにより、有効なデータが最小のブロックを消去可能PBAとすることができ、書込みができない無効なデータを保存した領域を空けることができる。そして上記ステップS1509の処理後に、上記ステップS1510の書込み処理に遷移される。このように、図16に示される処理によれば、ブロックより小さい単位で論物変換する領域がフラッシュSSD1の全容量より少ない場合や、ブロックより小さい単位で論物変換する領域に書込むための領域が不足する場合にもガベージコレクションを実行することができる。《実施の形態4》フラッシュメモリの記憶素子は動作原理上絶縁体となる酸化膜を貫通する電子により劣化するため、消去回数が限られている。そこでフラッシュSSD1の製品寿命を延ばすには、ブロック毎の消去回数を平準化するのが望ましい。ブロック毎の消去回数を平準化するには、消去可能PBAテーブルTB2の他に図17に示されるような消去回数の管理するテーブルを持つ構成にすると良い。図17に示される消去回数カウント値テーブルは、図9に示されるエントリーEntry-0~Entry-1023毎に、消去回数をカウントする。図18には、図17に示される消去回数カウント値テーブルを用いた処理の流れが示される。先ず、図17に示される消去回数カウント値テーブルを参照して、消去回数が最小のPBAがガベージコレクション実行PBAとして取得されS1701、論物変換テーブルTB1,TB3,TB5にガベージコレクション実行PBAが登録されていないことを確認することで、ガベージコレクション実行PBAに有効なデータが存在するか否かの判別が行われるS1702。この判別において、ガベージコレクション実行PBAに有効なデータが存在しないNoと判断された場合には、ガベージコレクション実行PBAを用いてガベージコレクションが実行されるS1706。このガベージコレクションの具体的な処理内容は、図13A,13Bや、図15A,15Bを用いて説明した通りである。そして消去回数カウント値テーブルにおける、消去を行なったPBAの消去回数がインクリメントされるS1707。上記ステップS1702の判別において、ガベージコレクション実行PBAに有効なデータが存在するYesと判断された場合には、消去回数が最大の消去可能PBAが消去されS1703、ガベージコレクション実行PBAに保存されている有効データが、上記ステップS1703で消去されたPBAに移動されるS1704。そして、論物変換テーブルTB1,TB3,TB5、消去可能PBAテーブルTB2、書込み可能ページテーブルTB5が更新されることで、ガベージコレクション実行PBAが消去可能PBAに変更されるS1705。図18に示される処理が定期的に行われることで、ホスト2からのコマンドによるデータ書込みが著しく少ないブロックについても、ステップS1704での処理により定期的にデータが移動され、消去可能PBAテーブルTB2や、書込み可能ページテーブルTB5に記述されることになるため、フラッシュメモリ内の全ブロックが定期的に消去対象となる。これにより、ブロック毎の消去回数を平準化することができるので、フラッシュSSD1の製品寿命を延ばすことができる。以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。"