(57)【特許請求の範囲】
【請求項１】
二値領域と多値領域とを含むメモリ領域を備え、このメモリ領域とホスト機器との間でデータをやりとりする半導体集積回路装置のデータ記録方式であって、
前記ホスト機器が送信したデータを、前記二値領域に二値データで記録し、
前記二値領域に記録したデータを、前記ホスト機器からのアクセスが無いときに前記多値領域に多値データでコピーし、
前記二値領域に記録したデータを前記多値領域にコピーした後、前記二値領域に記録したデータは、前記二値領域に残し、
前記ホスト機器が読み出し要求が有った場合には、前記多値領域にコピーされたデータを読み出すのではなく、前記二値領域に残ったコピー元のデータを読み出す
ことを特徴とする半導体集積回路装置のデータ記録方式。
【請求項２】
前記二値領域に空き領域が無くなったとき、前記二値領域に記録したデータのうち、前記多値領域にコピーされたデータがある部分に、前記ホスト機器が送信したデータを上書き記録することを特徴とする請求項１に記載の半導体集積回路装置のデータ記録方式。
【請求項３】
前記多値領域に空き領域がなくなったとき、前記二値領域を部分的に多値領域に変更することを特徴とする請求項１に記載の半導体集積回路装置のデータ記録方式。
【請求項４】
キャッシュを、さらに、備え、
前記ホスト機器が送信したデータを前記キャッシュに格納し、前記キャッシュに格納したデータを、前記メモリ領域の前記二値領域に記録することを特徴とする請求項１に記載の半導体集積回路装置のデータ記録方式。
【請求項５】
二値領域と多値領域とを含むメモリと前記メモリを制御するメモリコントローラとを備える半導体集積回路装置であって、前記メモリコントローラは、前記メモリと外部のホスト機器との間でデータをやりとりするデータ記録動作において、
前記ホスト機器が送信したデータを、前記二値領域に二値データで記録し、
前記二値領域に記録したデータを、前記ホスト機器からのアクセスが無いときに前記多値領域に多値データでコピーし、
前記二値領域に記録したデータを前記多値領域にコピーした後、前記二値領域に記録したデータは、前記二値領域に残し、
前記ホスト機器が読み出し要求が有った場合には、前記多値領域にコピーされたデータを読み出すのではなく、前記二値領域に残ったコピー元のデータを読み出す。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体集積回路装置のデータ記録方式に係わり、特に、データの書き換えが可能な不揮発性半導体メモリを備えた半導体集積回路装置のデータ記録方式に関する。
【背景技術】
【０００２】
データ書き換えが可能な不揮発性半導体メモリは、例えば、メモリカード等の記録メディアの記憶手段の一つとして、その需要が拡大しつつある。記録メディアには、大規模な記録容量が要求され、このため、不揮発性半導体メモリにおいては記憶容量の大規模化が進められており、高集積化に加えて多値技術も進展しつつある。さらに、記録メディアには、大規模な記録容量に加え、高速なデータ書き込み、並びにデータ読み出しが要求される。しかしながら、多値技術を採用したメモリ、いわゆる多値メモリは、２値メモリに比べて記憶容量に勝るものの、書き込み速度、並びに読み出し速度に劣る。
【０００３】
なお、多値モード、及び２値モードの双方で動作する半導体記憶装置は、例えば、特許文献１、２に記載されている。
【特許文献１】特開２００１−６３７４
【特許文献２】特開２００５−１１５９８２
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明の一態様に係る半導体集積回路装置のデータ記録方式は、二値領域と多値領域とを含むメモリ領域を備え、このメモリ領域とホスト機器との間でデータをやりとりする半導体集積回路装置のデータ記録方式であって、前記ホスト機器が送信したデータを、前記二値領域に二値データで記録し、前記二値領域に記録したデータを、前記ホスト機器からのアクセスが無いときに前記多値領域に多値データでコピーし、前記二値領域に記録したデータを前記多値領域にコピーした後、前記二値領域に記録したデータは、前記二値領域に残し、前記ホスト機器が読み出し要求が有った場合には、前記多値領域にコピーされたデータを読み出すのではなく、前記二値領域に残ったコピー元のデータを読み出す。
【課題を解決するための手段】
【０００５】
この発明の一態様に係る半導体集積回路装置のデータ記録方式は、二値領域と多値領域とを含むメモリ領域を備え、このメモリ領域とホスト機器との間でデータをやりとりする半導体集積回路装置のデータ記録方式であって、前記ホスト機器が送信したデータを、前記二値領域に二値データで記録し、前記二値領域に記録したデータを、前記ホスト機器からのアクセスが無いときに前記多値領域に多値データでコピーする。
【発明の効果】
【０００６】
この発明によれば、大規模な記録容量とともに、高速なデータ書き込み、並びにデータ読み出しを実現する不揮発性半導体メモリを有した半導体集積回路装置のデータ記録方式を提供できる。
【発明を実施するための最良の形態】
【０００７】
以下、この発明の実施形態のいくつかを、図面を参照して説明する。なお、図面においては、同一の部分については同一の参照符号を付す。本実施形態では、半導体集積回路装置の一例として、記録メディア、例えば、メモリカードに利用される不揮発性半導体メモリを示す。不揮発性半導体メモリの一例はフラッシュメモリである。フラッシュメモリの一例はＮＡＮＤ型フラッシュメモリである。
【０００８】
（第１実施形態）
図１は、メモリカードの一例を示す図である。
【０００９】
図１に示すように、メモリカード１は、バスインタフェース１４を介してホスト機器２とデータを送受信する。メモリカード１は、ホスト機器２に設けられたスロットに対して挿抜可能に形成される。
【００１０】
メモリカード１は、ＮＡＮＤ型フラッシュメモリ１１と、このフラッシュメモリ１１を制御するカードコントローラ１２、及び複数の信号ピン（第１ピン乃至第９ピン）１３を備える。
【００１１】
信号ピン１３は、カードコントローラ１２に電気的に接続されるピンで、メモリカード１の外部ピンとして働く。信号ピン１３における第１ピン乃至第９ピンに対する信号の割り当ての一例を、図２に示す。
【００１２】
図２に示すように、データ０乃至データ３は、第７ピン、第８ピン、第９ピン、及び第１ピンにそれぞれ割り当てられる。なお、第１ピンは、データ３だけでなく、カード検出信号に対しても割り当てられる。さらに、第２ピンはコマンドに割り当てられ、第３ピン、及び第６ピンは接地電位Ｖｓｓに、第４ピンは電源電位Ｖｄｄに、第５ピンはクロック信号に割り当てられる。
【００１３】
信号ピン１３、及びバスインタフェース１４は、ホスト機器２内のホスト機器コントローラ（図示せず）とメモリカード１との通信に使用される。例えば、ホスト機器コントローラは、第１ピン乃至第９ピンを介してメモリカード１内のカードコントローラ１２と各種信号、及びデータを通信する。例えば、メモリカード１にデータを書き込むときには、ホスト機器コントローラは、書き込みコマンドを、第２ピンを介してカードコントローラ１２に送信する。このとき、カードコントローラ１２は、第５ピンに供給されるクロック信号に応答して、第２ピンに与えられる書き込みコマンドを取り込む。コマンドの入力に割り当てられる第２ピンは、データ３用の第１ピンと接地電位Ｖｓｓ用の第３ピンとの間に配置される。
【００１４】
これに対し、フラッシュメモリ１１とカードコントローラ１２との間の通信は、ＮＡＮＤ型フラッシュメモリ用のインタフェースを介して行われる。例えば、８ビットのＩＯ線（データライン）１５である。
【００１５】
カードコントローラ１２がフラッシュメモリ１１にデータを書き込むときには、カードコントローラ１２は、ＩＯ線１５を介してデータ入力コマンド８０ｈ、カラムアドレス、ページアドレス、データ、及びプログラムコマンド１０ｈをフラッシュメモリ１１に順次入力する。ここで、コマンド８０ｈの“ｈ”は１６進数を示すものであり、実際には“１０００００００”という８ビットの信号が、８ビットのＩＯ線１５にパラレルに与えられる。つまり、ＮＡＮＤ型フラッシュメモリ用のインタフェースでは、複数ビットのコマンドがパラレルに与えられる。また、ＮＡＮＤ型フラッシュメモリ用のインタフェースでは、フラッシュメモリ１１に対するコマンドと、データとが同じＩＯ線１５を共用して通信される。
【００１６】
このように、ホスト機器コントローラとカードコントローラ１２とが通信するインタフェースと、フラッシュメモリ１１とカードコントローラ１２とが通信するインタフェースとは異なる。
【００１７】
図３は、メモリカードのハード構成の一例を示すブロック図である。
【００１８】
ホスト機器２は、メモリカード１に対してアクセスを行うためのハードウェア、及びソフトウェアを備える。メモリカード１は、ホスト機器２に接続された時に電源供給を受けて動作し、ホスト機器２からのアクセスに応じた処理を行う。
【００１９】
フラッシュメモリ１１は、消去時の消去ブロックサイズ（消去単位のブロックサイズ）が所定サイズ（例えば、２５６ｋＢ）に定められている。また、このフラッシュメモリ１１に対して、ページと称する単位（例えば、２ｋＢ）でデータの書き込み、及び読み出しが行われる。
【００２０】
カードコントローラ１２は、フラッシュメモリ１１内部の物理状態（例えば、何処の物理ブロックアドレスに、何番目の論理セクタアドレスデータが含まれているか、あるいは、何処のブロックが消去状態であるか）を管理する。カードコントローラ１２は、ホスト機器インタフェース２１、ＣＰＵ（Central Processing Unit）２２、フラッシュインタフェース２３、ＲＯＭ（Read Only Memory）２４、ＲＡＭ（Random Access Memory）２５、及びバッファ２６を有する。
【００２１】
ホスト機器インタフェース２１は、カードコントローラ１２とホスト機器２との間のインタフェース処理を行う。
【００２２】
ＣＰＵ２２は、メモリカード１全体の動作を制御する。ＣＰＵ２２は、例えば、メモリカード１が電源供給を受けたときに、ＲＯＭ２４に格納されているファームウェア（制御プログラム）をＲＡＭ２５上に読み出して所定の処理を実行することにより、各種のテーブルをＲＡＭ２５上に作成する。
【００２３】
また、ＣＰＵ２２は、書き込みコマンド、読み出しコマンド、消去コマンドをホスト機器２から受け取り、フラッシュメモリ１１に対して所定の処理を実行したり、バッファ２６を通じたデータ転送処理を制御したりする。
【００２４】
ＲＯＭ２４は、ＣＰＵ２２により制御される制御プログラムなどを格納する。ＲＡＭ２５は、ＣＰＵ２２の作業エリアとして使用され、制御プログラムや各種のテーブルを記憶する。フラッシュインタフェース２３は、カードコントローラ１２とフラッシュメモリ１１との間のインタフェース処理を行う。
【００２５】
バッファ２６は、ホスト機器２から送られてくるデータをフラッシュメモリ１１へ書き込む際に、一定量のデータ（例えば、１ページ分）を一時的に記憶したり、フラッシュメモリ１１から読み出されるデータをホスト機器２へ送り出す際に、一定量のデータを一時的に記憶したりする。
【００２６】
図４は、ＮＡＮＤ型フラッシュメモリの一例を示す平面図である。
【００２７】
図４に示すように、ＮＡＮＤ型フラッシュメモリ１１は、メモリセルアレイ３１、ロウデコーダ３２、ページバッファ３３、周辺回路３４、チャージポンプ回路３５、及びパッド部３６を含む。
【００２８】
メモリセルアレイ３１には図示せぬ不揮発性半導体メモリセルが行列状に配置される。本例ではメモリセルアレイ３１はＮＡＮＤ型フラッシュメモリチップ内に二箇所有る。
【００２９】
ロウデコーダ３２はメモリセルアレイ３１のロウを選択する。ＮＡＮＤ型フラッシュメモリ１１においては、ロウデコーダ３２はメモリセルアレイ３１内のブロックを選択するデコーダ、及びブロック内のワード線を選択するデコーダを含む。本例では、ロウデコーダ３２は、メモリセルアレイ３１の、カラム方向（Column direction）に沿った端部の双方に隣接して配置される。
【００３０】
ページバッファ３３、周辺回路３４、チャージポンプ回路３５、及びパッド部３６は、メモリセルアレイ３１の、ロウ方向（Row direction）に沿った端部の一方に隣接して、順次配置される。
【００３１】
ページバッファ３３はデータ回路の一つである。ページバッファ３３は、メモリセルアレイ３１へ書き込む、例えば、１ページ分の書き込みデータを一時的に記憶したり、メモリセルアレイ３１から読み出した、例えば、１ページ分の読み出しデータを一時的に記憶したりする。
【００３２】
周辺回路３４は、メモリ周辺回路、例えば、データ入出力バッファ、コマンドインタフェース、及びステートマシンなどを含む。
【００３３】
チャージポンプ回路３５は昇圧回路の一つである。チャージポンプ回路は、データの消去、及びデータの書き込みに必要とされる電位、例えば、外部電源電位よりも高い電位や、チップ内部で使用されるチップ内電源電位を発生させる。
【００３４】
パッド部３６にはパッドが配置される。パッドは、周辺回路３４内のデータ入出力バッファ、及びコマンドインタフェースに電気的に接続される。パッドは、ＮＡＮＤ型フラッシュメモリ１１の外部電気的接点として働く部分であり、前述のフラッシュインタフェース２３に電気的に接続される。フラッシュインタフェース２３から出力されたデータ、及び制御信号はパッドを介してデータ入出力バッファ、及びコマンドインタフェースに入力される。また、データ入出力バッファから出力されたデータはパッドを介してフラッシュインタフェース２３に入力される。本例では、パッド部３６は、チップの、ロウ方向に沿った端部の一方に隣接して配置され、例えば、チャージポンプ回路３５に沿う。
【００３５】
図５は、この発明の第１実施形態に係るＮＡＮＤ型フラッシュメモリのデータ記録方式を示す図である。
【００３６】
図５には、ホスト機器から送られてきたデータをメモリ領域５１に記録する場合が示されている。本例で述べるメモリ領域５１の具体的な一例は、例えば、図４に示したメモリセルアレイ３１であるが、これに限られるものではない。
【００３７】
まず、図５中の状態Ｉに示すように、ホスト機器２から送信されたデータ（ＤＡＴＡ１〜ＤＡＴＡ３）は、ＮＡＮＤ型フラッシュメモリ１１のメモリ領域５１に入力される。データ（ＤＡＴＡ１〜ＤＡＴＡ３）はメモリ領域５１に記録される。本例のメモリ領域５１は、複数の単位領域、図５中では、１０個の単位領域５３-０〜５３-９を含む。単位領域５３の例は、セクタ、ブロック、ページなどである。本例のメモリ領域５１は、二値領域５５と、多値領域５７とを含む。図１中では５個の単位領域５３-０〜５３-４が二値領域５５であり、残りの５個の単位領域５３-５〜５３-９が多値領域５７である。二値領域５５はデータを二値で記録する。多値領域５７はデータを多値で記録する。
【００３８】
データ（ＤＡＴＡ１〜ＤＡＴＡ３）は、図５中の状態IIに示すように、二値領域５５に記録される。本例では、単位領域５３-０〜５３-２に記録される。
【００３９】
この後、カードコントローラ１２、又はＮＡＮＤ型フラッシュメモリ１１が、例えば、ホスト機器２からのアクセスが無いと判断したときには、図５中の状態IIIに示すように、二値領域５５に記録したデータを、多値領域５７にコピーする。本例では、単位領域５３-０、５３-１、及び５３-２に記録したデータ（ＤＡＴＡ１〜ＤＡＴＡ３）は、単位領域５３-５、及び５３-６にコピーされる。
【００４０】
本例では、二値領域５５に記録したデータ（ＤＡＴＡ１〜ＤＡＴＡ３）を、多値領域５７にコピーした後、二値領域５５に記録したデータ（ＤＡＴＡ１〜ＤＡＴＡ３）は、二値領域５５から消去せずに二値領域５５に残す。データ（ＤＡＴＡ１〜ＤＡＴＡ３）に対して、再度、ホスト機器２が読み出し要求があった場合には、二値領域５５からデータ（ＤＡＴＡ１〜ＤＡＴＡ３）を読み出す。これは、読み出し速度が低下しない、という利点がある。
【００４１】
図６は、システム上での制御、及びデータの流れを示す図である。
【００４２】
本例を実行するに当たり、カードコントローラ１２は、例えば、ＮＡＮＤ型フラッシュメモリ１１のどのアドレスが二値領域５５で、どのアドレスが多値領域５７であるのかについて知っておくと良い。即ち、二値／多値の領域管理である。領域管理は、例えば、ＮＡＮＤ型フラッシュメモリ１１のどのアドレスが二値領域５５で、どのアドレスが多値領域５７であるのかを示す二値／多値領域管理テーブルを作成し、この二値／多値領域管理テーブルに従って管理されると良い。以下に、この管理の一例を示す。
【００４３】
管理の一例は、二値／多値領域管理テーブルをＮＡＮＤ型フラッシュメモリ１１に記録する例である。
【００４４】
まず、二値／多値領域管理テーブルは、例えば、フラッシュメモリ１１のメモリ領域５１に出荷時に記録する。つまり、メモリカード１に組み込まれたフラッシュメモリ１１は、二値／多値領域管理テーブルが記録されている。
【００４５】
二値／多値領域管理テーブルをフラッシュメモリ１１から読み出すために、ＣＰＵ２２は、フラッシュインタフェース２３に、管理テーブルの読み出し指示を出す（参照符号１０５）。フラッシュインタフェース２３は、受け取った指示をフラッシュメモリ１１に送信する。フラッシュメモリ１１は、受信した指示に従ってメモリ領域５１から二値／多値領域管理テーブルを読み出し、読み出された二値／多値領域管理テーブルは、フラッシュインタフェース２３を介してＲＡＭ２５にロードされる。ＣＰＵ２２は、例えば、データ書き込みの制御に際して、ＲＡＭ２５にロードされた二値／多値領域管理テーブルを参照する。これにより、ＣＰＵ２２は、例えば、データ書き込み時において、フラッシュメモリ１１の二値領域５５に対してアクセスすることが可能となる。
【００４６】
メモリ領域５１は、本例ではメモリセルアレイ３１に対応する。図７に、その一例を示す。
【００４７】
図７に示すように、メモリ領域５１は、保存するデータに応じて複数の領域に区分けされる。メモリ領域５１は、データ記憶領域として、例えば、管理データ領域４１、機密データ領域４２、保護データ領域４３、及びユーザデータ領域４４を備える。
【００４８】
管理データ領域４１は、主にメモリカードに関する管理情報を格納する。例えば、メモリカード１のセキュリティ情報やメディアＩＤなどのカード情報は、管理データ領域４１に格納される。
【００４９】
機密データ領域４２は、暗号化に用いる鍵情報や認証時に使用する機密データを格納する。機密データ領域４２は、例えば、ホスト機器２からはアクセス不可能な領域である。
【００５０】
保護データ領域４３は、重要なデータを格納する。保護データ領域４３は、例えば、メモリカード１に接続されたホスト機器２との相互認証によりホスト機器２の正当性が証明された場合にのみアクセスが可能となる領域である。
【００５１】
ユーザデータ領域４４は、ユーザデータを格納する。ユーザデータ領域４４は、メモリカード１を使用するユーザが自由にアクセスでき、自由に使用することが可能な領域である。
【００５２】
上記二値／多値領域管理テーブルは、不用意に消失されてはならない情報である。従って、ホスト機器２からはアクセス不可能、あるいは条件付でのみアクセス可能となる領域に格納されると良い。従って、二値／多値領域管理テーブルは、例えば、機密データ領域４２、及び保護データ領域４３に格納されると良い。
【００５３】
本例では、フラッシュメモリ１１から読み出された二値／多値領域管理テーブルは、カードコントローラ１２のＲＡＭ２５にロードされる。ＲＡＭ２５は揮発性半導体メモリである。電源を切ると、ＲＡＭ２５にロードされた二値／多値領域管理テーブルデータは消失する。消失されたデータを復帰させるために、本例では二値／多値領域管理テーブルは電源が投入される毎に読み出してＲＡＭ２５にロードする。
【００５４】
なお、ＲＡＭ２５は、揮発性半導体メモリに限られるものではなく、不揮発性半導体メモリの場合もある。ＲＡＭ２５に、例えば、強誘電体半導体メモリ（ＦｅＲＡＭ）を利用した場合である。不揮発性半導体メモリをＲＡＭ２５に利用した場合には、二値／多値領域管理テーブルは、メモリカード１の生産工場内で出荷前に読み出して不揮発性のＲＡＭ２５にロードし、このＲＡＭ２５に記録しても良い。あるいは市場における使用開始時、例えば、メモリカード１の初期化時に読み出して不揮発性のＲＡＭ２５にロードし、このＲＡＭ２５に記録しても良い。
【００５５】
第１実施形態は、ホスト機器２から送信されたデータ（ＤＡＴＡ１〜ＤＡＴＡ３）を、二値領域５５、及び多値領域５７を含むメモリ領域５１のうち、二値領域５５に記録する。データ（ＤＡＴＡ１〜ＤＡＴＡ３）は、二値データの書き込みに従ってメモリ領域５１に書き込まれる。二値データの書き込みは、多値データの書き込みに比較して、書き込み速度が速い。例えば、多値データをメモリセルに書き込むときには、メモリセルの書き込みしきい値レベルを、消去レベルと中間電圧Ｖｐａｓｓとの間に複数設定しなければならない。例えば、四値データであれば書き込みしきい値レベルは、消去レベルの他に３つ設定される。対して、二値データであれば書き込みしきい値レベルは、消去レベルの他に１つ設定すれば良い。
【００５６】
このように、第１実施形態によれば、データ（ＤＡＴＡ１〜ＤＡＴＡ３）を二値領域５５に二値データで記録するので、ＮＡＮＤ型フラッシュメモリ１１の書き込み速度の低下を抑制できる。第１実施形態はメモリカード１である。ＮＡＮＤ型フラッシュメモリ１１の書き込み速度の低下が抑制されれば、データ書き込み時間が速いメモリカード１を得ることができる。
【００５７】
ホスト機器から送信されたデータ（ＤＡＴＡ１〜ＤＡＴＡ３）を二値データばかりで記録していると、メモリ領域５１の記録残量は急速に減る。そこで、第１実施形態は、二値領域５５に記録されたデータ（ＤＡＴＡ１〜ＤＡＴＡ３）を、多値領域５７に多値データでコピーする。コピーする時間帯は、データ書き込み、データ読み出し、あるいはステータスリクエスト等のＮＡＮＤ型フラッシュメモリ１１に対するアクセスが無い時間帯を利用する。この時間帯の判断の一例は、ＮＡＮＤ型フラッシュメモリ１１への制御信号の入力、あるいはデータの入力、又は出力があってから、一定の時間が経過したことを検知すれば良い。一定の時間が経過したことを検知する回路は、ＮＡＮＤ型フラッシュメモリ１１に備えることも可能であるが、カードコントローラ１２に備えることも可能である。どちらでも良い。一定の時間が経過したら、ＮＡＮＤ型フラッシュメモリ１１は、内部の動作として、ＮＡＮＤ型フラッシュメモリ１１自身の判断で、もしくはカードコントローラ１２から命令に従ってデータコピー動作を開始する。一定の時間については、ホスト機器２からのアクセス頻度、あるいはカードコントローラ１２からのアクセス頻度等を勘案して適宜設定されれば良い。
【００５８】
二値領域５５に記録されたデータ（ＤＡＴＡ１〜ＤＡＴＡ３）は、多値領域５７にコピーされているから消去可能である。データ（ＤＡＴＡ１〜ＤＡＴＡ３）を消去することで、メモリ領域５１の記録残量は回復する。しかし、第１実施形態では、データ（ＤＡＴＡ１〜ＤＡＴＡ３）を消去せず、例えば、二値領域５５に空き領域が無くなるまで二値領域５５に残す。データ（ＤＡＴＡ１〜ＤＡＴＡ３）に対して、ホスト機器２が読み出し要求が有った場合には、多値領域５７にコピーされたデータ（ＤＡＴＡ１〜ＤＡＴＡ３）を読み出すのではなく、二値領域５５に残ったコピー元のデータ（ＤＡＴＡ１〜ＤＡＴＡ３）を読み出す。多値データの読み出しは、二値データの読み出しに比較して時間がかかる。例えば、多値データの読み出しは、ワード線に与える読み出し電圧を変えながらメモリセルからのデータ読み出しを繰り返す、あるいはセンスアンプの基準電位を変えながら読み出したデータの判別を繰り返す。そこで、本例では、二値領域５５に記録したデータ（ＤＡＴＡ１〜ＤＡＴＡ３）は、例えば、二値領域５５に空き領域が無くなるまで二値領域５５に残す。二値領域５５に残ったデータ（ＤＡＴＡ１〜ＤＡＴＡ３）に対して、ホスト機器２が読み出し要求した場合には、多値領域５７にコピーされたデータ（ＤＡＴＡ１〜ＤＡＴＡ３）を読み出すのではなく、二値領域５５に残ったコピー元のデータ（ＤＡＴＡ１〜ＤＡＴＡ３）を読み出す。
【００５９】
このように、第１実施形態によれば、二値領域５５にコピー元のデータ（ＤＡＴＡ１〜ＤＡＴＡ３）が残っていれば、コピー元のデータ（ＤＡＴＡ１〜ＤＡＴＡ３）を二値読み出しに従って読み出すので、ＮＡＮＤ型フラッシュメモリ１１の書き込み速度のみならず、読み出し速度の低下をも抑制できる。もちろん、ＮＡＮＤ型フラッシュメモリ１１の読み出し速度の低下が抑制されれば、これを利用したメモリカード１は、データ読み出し時間の低下も抑制することができる。
【００６０】
（第２実施形態）
第２実施形態は、二値領域５５の空き領域が少なくなった場合の動作状態に関する例である。
【００６１】
図８は、この発明の第２実施形態に係るＮＡＮＤ型フラッシュメモリのデータ記録方式を示す図である。
【００６２】
図８中の状態IVに示すように、単位領域３つ分のデータ（ＤＡＴＡ４〜ＤＡＴＡ６）がホスト機器２から送られてきたとする。このとき、状態Ｖに示すように、二値領域５５の空き領域が単位領域５３-３、５３-４の２つしかなかったとする。この場合、単位領域１つ分が不足する。
【００６３】
二値領域５５に空き領域が無くなったとき、第２実施形態では、二値領域５５に記録したデータのうち、多値領域５７にコピーされたデータがある部分に、ホスト機器２が送信したデータを上書き記録する。
【００６４】
本例の二値領域５５の空き領域は、状態Ｖに示すように、単位領域５３-３、及び５３-４の２つである。ホスト機器２が送信したデータ（ＤＡＴＡ４〜ＤＡＴＡ６）のうち、最初の単位領域２つ分のデータ（ＤＡＴＡ４、ＤＡＴＡ５）は、状態VIに示すように、空き領域である単位領域５３-３、及び５３-４にそのまま記録する。記録しきれないデータ、本例では、データ（ＤＡＴＡ６）は、二値領域５５の単位領域に記録したデータのうち、多値領域５７の単位領域にコピーされたデータがある部分に上書き記録する。本例では、状態VIに示すように、データが最初に記録された単位領域５３-０に上書き記録する。
【００６５】
本例では、第１実施形態と同様に、データは、二値領域５５に、例えば、単位領域５３-０、５３-１、…、５３-４の順番で順次記録される。この間、記録されたデータは、第１実施形態において説明したように、フラッシュメモリ１１に対するアクセスが無い時間帯を利用して、二値領域５５から多値領域５７にコピーされる。空き領域が二値領域５５に無くなったとき、コピーされたデータが多値領域５７にあれば、データを上書き、例えば、最初から単位領域５３-０、５３-１、…、５３-４の順番で再度記録する。つまり、多値領域５７にコピーされたデータがあれば二値領域５５の単位領域はデータの上書き可能な状態にある。そこで、本例では、単位領域が上書き可能な状態にあれば、二値領域５５に空き領域が無くなり次第、データを記録する単位領域を、“５３-０→５３-１→…→５３-４→５３-０→５３-１→…→５３-４→５３-０→…”のように二値領域５５内で循環させながら上書きする。なお、上書きされたデータ、本例では、データ（ＤＡＴＡ６）は、第１実施形態と同様に、フラッシュメモリ１１に対するアクセスが無い時間帯を利用して、二値領域５５から多値領域５７にコピーされる（状態VII）。
【００６６】
このように、第２実施形態によれば、二値領域５５に空き領域が無くなったとき、二値領域５５に記録したデータのうち、多値領域５７にコピーされたデータがある部分に、ホスト機器２が送信したデータを上書き記録する。これにより、二値領域５５に空き領域が無くなった、としても、ホスト機器２が送信したデータを多値領域５７に記録せずに、二値領域５５に記録することができる。従って、二値領域５５に空き領域が無くなった、としても、ＮＡＮＤ型フラッシュメモリ１１の書き込み速度の低下を抑制できる。
【００６７】
（第３実施形態）
第３実施形態は、多値領域５７の空き領域が少なくなった場合の動作状態に関する例である。
【００６８】
図９は、この発明の第３実施形態に係るＮＡＮＤ型フラッシュメモリのデータ記録方式を示す図である。
【００６９】
図９中の状態VIIIに示すように、多値領域５７に空き領域が無かった、とする。このように、多値領域５７に空き領域が無くなったとき、第３実施形態では、状態IXに示すように、二値領域５５を部分的に多値領域５７に変更する。
【００７０】
多値領域５７の単位領域５３-５〜５３-９は、状態VIII、及びIXに示すように、データ（ＤＡＴＡ１〜ＤＡＴＡ１０）が記録されており、空き領域は無い。そこで、本例では、二値領域５５の単位領域５３-０〜５３-４のうち、単位領域５３-２〜５３-４の３つの領域を二値領域５５から多値領域５７に変更する。これら３つの単位領域５３-２〜５３-４はデータ（ＤＡＴＡ８〜ＤＡＴＡ１０）が記録されているが、これらのデータは多値領域５７の単位領域５３-８、及び５３-９にコピーされている。つまり、消すことが可能なデータである。このように、本例では、二値領域５５のうち、多値領域５７にコピーされたデータがある部分を、部分的に多値領域５７に変更する。本明細書では、二値領域から多値領域への変更を、“多値領域更新”と呼ぶ。
【００７１】
さらに、状態Ｘに示すように、ホスト機器２からデータ（ＤＡＴＡ１１〜ＤＡＴＡ１３）が送信されてきたとする。これらのデータ（ＤＡＴＡ１１〜ＤＡＴＡ１３）は、メモリ領域５１の二値領域５５に二値データで記録する。
【００７２】
本例では、データ（ＤＡＴＡ１１）を単位領域５３-０に記録する（ＤＡＴＡ６に対する上書き）。続いて、データ（ＤＡＴＡ１２）を単位領域５３-１に記録する（ＤＡＴＡ７に対する上書き）。二値領域５５は単位領域５３-０、及び５３-１の２つである。
【００７３】
しかし、本例では、さらに、データ（ＤＡＴＡ１３）が、カードコントローラ１２の、例えば、バッファ２６に残っている。このままでは、二値領域５５が不足し、データ（ＤＡＴＡ１３）をフラッシュメモリ１１に記録することができない。そこで、状態XIに示すように、今回送信されたデータのうち、記録済みのデータを多値領域５７にコピーする。本例では、データ（ＤＡＴＡ１１）を単位領域５３-０から、多値領域５７の単位領域５３-２にコピーする。単位領域５３-０に記録されたデータ（ＤＡＴＡ１１）は、多値領域５７にコピーされたので、単位領域５３-０は上書き可能となる。データ（ＤＡＴＡ１３）は、上書き可能となった単位領域５３-０に二値データで記録する。
【００７４】
なお、本例では、データ（ＤＡＴＡ１１）のみを単位領域５３-０から単位領域５３-２にコピーする例を示したが、単位領域５３-２は多値であるので、例えば、４値の場合には、単位領域５３-０の２倍のデータを記録することができる。そこで、データ（ＤＡＴＡ１１）のコピーの際に、データ（ＤＡＴＡ１２）も単位領域５３-２に記録しても良い。
【００７５】
以下、多値領域更新の流れの一例を説明する。
【００７６】
図１０はこの発明の第３実施形態に係るＮＡＮＤ型フラッシュメモリのデータ記録方式の多値領域更新の流れの一例を示す流れ図である。
【００７７】
まず、電源投入後、二値／多値領域管理テーブルをＲＡＭ２５へロードする（ＳＴ．１）。これは、第１実施形態で説明した通りの、二値／多値領域管理テーブルのロードである。二値／多値領域管理テーブルの初期値が、カードコントローラ１２に保持される。
【００７８】
次に、ホスト機器２から送信されたデータを、カードコントローラ１２を介してフラッシュメモリ１１に記録する。カードコントローラ１２は、ホスト機器２から送信されたデータをバッファ２６に一時的に蓄積し、例えば、データを、単位領域５３毎に区切ってフラッシュメモリ１１に送信する。送信されたデータは、フラッシュメモリ１１に記録される（データのライト：ＳＴ．２）。
【００７９】
次に、バッファ２６に、フラッシュメモリ１１に記録するべきデータが残っているか否かを判断する（ライトデータ有り？：ＳＴ．３）。バッファ２６に、記録するべきデータが残っていなければ（ＮＯ．）、データの記録を終了する。反対に、記録するべきデータが残っていれば（ＹＥＳ．）、ＳＴ．４に進む。
【００８０】
ＳＴ．４では、二値領域５５に、空き領域が有るか否かを判断する（書き込み領域（２値）有り？）。空き領域が有れば（ＹＥＳ．）、上記ＳＴ．２に戻り、データのライトからの手順を繰り返す。反対に空き領域が無ければ（ＮＯ．）、ＳＴ．５に進む。
【００８１】
ＳＴ．５では、多値領域を更新する。多値領域更新は、上述の通りであり、例えば、二値領域５５のうち、多値領域５７にコピーされたデータがある部分を、部分的に多値領域に変更する。
【００８２】
次に、二値／多値領域管理テーブルを更新する（ＳＴ．６）。次に、ＳＴ．１に戻り、更新された二値／多値領域管理テーブルをＲＡＭ２５へロードする。これにより、二値／多値領域管理テーブルの初期値は更新値に更新され、カードコントローラ１２に保持される。この後、ＳＴ．２に進み、ＳＴ．２以降の手順、本例ではＳＴ．３〜ＳＴ．６を繰り返す。
【００８３】
このように、第３実施形態によれば、多値領域５７に空き領域がなくなったとき、二値領域５５を部分的に多値領域５７に変更する。例えば、二値領域５５のうち、多値領域５７にコピーされたデータがある部分を、多値領域５７に変更する。これにより、多値領域５７に空き領域が無くなった、としても、フラッシュメモリ１１の記録容量が増えるので、大規模な記録容量を維持することができる。
【００８４】
さらに、第３実施形態によれば、二値領域５５を多値領域５７に変更する際、一度に全てを変更せず、部分的に変更する。いわば、二値領域５５を、多値領域５７へ段階的に変更する。段階的に変更することによれば、二値領域５５をメモリ領域５１に残すことができる、という利点を得ることができる。ホスト機器２から送信されてきたデータは、残された二値領域５５に記録する。これにより、二値領域５５を、一度に全て多値領域５７に変更する場合に比較して、ＮＡＮＤ型フラッシュメモリ１１の書き込み速度の低下を抑制できる、という利点を得ることができる。
【００８５】
（第４実施形態）
第４実施形態は、データの書き込み速度の低下を抑制し得るデータ記録方式に関する例である。
【００８６】
図１１は、この発明の第４実施形態に係るＮＡＮＤ型フラッシュメモリのデータ記録方式を示す図である。
【００８７】
ＮＡＮＤ型フラッシュメモリ１１への記録が続くと、メモリ領域５１の空き領域が少なくなる。メモリ領域５１の空き領域が少なくなるにつれて、多値による読み書きが発生しやすくなる。これによる動作速度の低下を抑制するために、ホスト機器が送信したデータを、一旦、キャッシュに格納させるようにしても良い。
【００８８】
本例では、図１１中の状態XIIに示すように、ホスト機器２が送信したデータ（ＤＡＴＡ１１〜ＤＡＴＡ１３）を、状態XIIIに示すように、一旦、キャッシュ６１に二値で記録する。この後、状態XIVに示すように、キャッシュ６１に格納されたデータ（ＤＡＴＡ１１〜ＤＡＴＡ１３）を、メモリ領域５１の二値領域５５に記録する。
【００８９】
このように、第４実施形態によれば、キャッシュ６１を、さらに備え、ホスト機器２が送信したデータをキャッシュ６１に格納し、キャッシュ６１に格納したデータを、メモリ領域５１の二値領域５５に記録する。これにより、データの書き込み速度の低下を抑制することが可能となる。
【００９０】
特に、図１１の状態XIVに示すように、第３実施形態で説明した二値領域５５の容量が不足する場合においては、二値領域５５に記録されたデータを多値領域５７に移し、二値領域５５に空き領域をつくる動作が入る。データを多値領域５７に移すとき、多値の書き込み動作が入る。多値の書き込み動作は二値の書き込み動作に比較して時間がかかる。状態XIVに示すような記録動作が完了するまでには、相応の時間を要する。
【００９１】
ホスト機器２は、例えば、メモリカード１へのデータ記録中の間、他の動作を禁止するものが多い。例えば、デジタルスチルカメラを例にとるとユーザによる撮影がある。メモリカード１へのデータ記録中は撮影ができない。メモリカード１へのデータ記録動作が遅いことはユーザにとって不便である。これは、カメラ付携帯電話の場合も同様である。
【００９２】
その点、第４実施形態は、ホスト機器２から送信されたデータを、キャッシュ６１に高速に格納する。この格納が完了した時点で、例えば、メモリカード１とホスト機器２との間のデータの送受信を一旦停止する。一旦停止している間、例えば、ホスト機器２においては他の操作が可能な状態にしておけば、ユーザは、データ記録のために長い待ち時間を被ることはない。
【００９３】
キャッシュ６１にデータを格納した後、キャッシュ６１は、格納したデータを、フラッシュメモリ１１のメモリ領域５１に記録する。メモリ領域５１への書き込み速度は、キャッシュ６１への格納速度に比較して低速であり、時間がかかる。しかしながら、第４実施形態によれば、ホスト機器２からのデータを、一旦、キャッシュ６１に格納した時点で記録動作を終了させることが可能であるので、ホスト機器２が受ける、あるいはユーザが感じるデータ記録時間は、キャッシュ６１を介さない場合に比較して短くすることができる。これは、メモリカード１へのデータの書き込み速度の低下が抑制されたことと等価である。
【００９４】
（キャッシュの配置例）
上述したように、ホスト機器２とメモリカード１との間のデータの送受信を高速化する、という観点からは、キャッシュ６１は、カードコントローラ１２とＮＡＮＤ型フラッシュメモリ１１との間に配置されることが良い。キャッシュ６１を配置する箇所は、図１２に示すようにフラッシュインタフェース２３とＮＡＮＤ型フラッシュメモリ１１との間、図１３に示すようにホスト機器２とホストインタフェース２１との間、図１４に示すようにホストインタフェース２１とバッファ２６との間、図１５に示すように、バッファ２６とフラッシュインタフェース２３との間のいずれでも良い。
【００９５】
（第４実施形態の変形例）
キャッシュ６１を利用することで、以下のようなデータ管理や、データ転送方式を採用することが可能となる。
【００９６】
不揮発性半導体メモリをキャッシュ６１に使用した場合、キャッシュ６１にデータを格納できていれば、次にカードが挿入されたときに、キャッシュ６１に格納されていたデータがメモリ領域５１に対して未記録ならば、これを記録することができる。
【００９７】
また、図１６に示すように、キャッシュ６１を、キャッシュ６１ａ、及び６１ｂのように並列化し、さらに、メモリ領域５１も、メモリ領域５１ａ、及び５１ｂのように並列化することで、記録速度の低下を、さらに緩和させることもできる。
【００９８】
以上、この発明を第１〜第４実施形態に従って説明したが、この発明の第１〜第４実施形態に係る発明を総括すると、下記のような利点が得られる。
【００９９】
図１７は使用容量と動作速度との関係を示す図である。
【０１００】
図１７には、典型的な多値不揮発性半導体メモリ（Conventional）の使用容量と動作速度との関係、及び上記実施形態に係る記録方式を利用した多値不揮発性半導体メモリ（Embodiments）の使用容量と動作速度との関係が示される。多値不揮発性半導体メモリ（Conventional）の記録容量と、多値不揮発性半導体メモリ（Embodiments）の記録容量とは、ともに１Ｇｂｙｔｅとする。
【０１０１】
図１７に示すように、多値不揮発性半導体メモリ（Conventional）は、使用開始時（使用容量が０）から全ての記録容量を使い切る（使用容量が１Ｇｂｙｔｅ）まで、動作速度は変化しない。対して、多値不揮発性半導体メモリ（Embodiments）は、使用開始時（使用容量が０）の動作速度はConventionalよりも速く、全ての記録容量を使い切った時点で動作速度はConventionalと同じとなる。
【０１０２】
このように、上記実施形態によれば、大規模な記録容量とともに、高速なデータ書き込み、並びにデータ読み出しを実現する不揮発性半導体メモリを有した半導体集積回路装置のデータ記録方式を提供できる。
【０１０３】
また、上記実施形態は以下の態様を含む。
【０１０４】
（１）  二値領域と多値領域とを含むメモリ領域を備え、このメモリ領域とホスト機器との間でデータをやりとりする半導体集積回路装置のデータ記録方式であって、
前記ホスト機器が送信したデータを、前記二値領域に二値データで記録し、
前記二値領域に記録したデータを、前記ホスト機器からのアクセスが無いときに前記多値領域に多値データでコピーする。
【０１０５】
（２）  （１）の態様に係る半導体集積回路装置のデータの記録方式であって、
前記二値領域に記録したデータを前記多値領域にコピーした後、前記二値領域に記録したデータは、前記二値領域に残す。
【０１０６】
（３）  （２）の態様に係る半導体集積回路装置のデータの記録方式であって、
前記ホスト機器からデータ読み出し要求がきたとき、前記読み出し要求に対応したデータが前記二値領域にあれば、前記二値領域からデータを読み出す。
【０１０７】
（４）  （１）の態様に係る半導体集積回路装置のデータの記録方式であって、
前記二値領域に空き領域が無くなったとき、前記二値領域に記録したデータのうち、前記多値領域にコピーされたデータがある部分に、前記ホスト機器が送信したデータを上書き記録する。
【０１０８】
（５）  （１）の態様に係る半導体集積回路装置のデータ記録方式であって、
前記多値領域に空き領域がなくなったとき、前記二値領域を部分的に多値領域に変更する。
【０１０９】
（６）  （５）の態様に係る半導体集積回路装置のデータ記録方式であって、
前記二値領域のうち、前記二値領域のうち、前記多値領域にコピーされたデータがある部分が、前記多値領域に変更される。
【０１１０】
（７）  （１）の態様に係る半導体集積回路装置のデータ記録方式であって、
キャッシュを、さらに、備え、
前記ホスト機器が送信したデータを前記キャッシュに格納し、前記キャッシュに格納したデータを、前記メモリ領域の前記二値領域に記録する。
【０１１１】
（８）  （７）の態様に係る半導体集積回路装置のデータ記録方式であって、
前記キャッシュが不揮発性半導体メモリである場合、前記キャッシュに格納したデータが前記メモリ領域に未記録であれば、前記ホスト機器に再接続されたときに、前記未記録のデータを前記メモリ領域の前記二値領域に記録する。
【０１１２】
（９）  （７）及び（８）いずれかの態様に係る半導体集積回路装置のデータ記録方式であって、
前記キャッシュ、及び前記メモリ領域を、それぞれ複数有し、
前記ホスト機器が送信したデータは分割されて前記複数のキャッシュにパラレルに格納され、前記複数のキャッシュに格納されたデータを各々、前記複数のメモリ領域それぞれの前記二値領域に記録する。
【０１１３】
以上、この発明をいくつかの実施形態により説明したが、この発明は各実施形態に限定されるものではなく、その実施にあたっては発明の要旨を逸脱しない範囲で種々に変形することが可能である。
【０１１４】
また、各実施形態は単独で実施することが可能であるが、適宜組み合わせて実施することも可能である。
【０１１５】
また、各実施形態は種々の段階の発明を含んでおり、各実施形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することが可能である。
【０１１６】
また、実施形態は、この発明をＮＡＮＤ型フラッシュメモリに適用した例に基づき説明したが、この発明はＮＡＮＤ型フラッシュメモリに限られるものではなく、ＡＮＤ型、ＮＯＲ型等、ＮＡＮＤ型以外のフラッシュメモリにも適用することができる。さらに、これらフラッシュメモリを内蔵した半導体集積回路装置、例えば、プロセッサ、システムＬＳＩ等もまた、この発明の範疇である。
【図面の簡単な説明】
【０１１７】
【図１】図１はメモリカードの一例を示す図
【図２】図２は信号ピンに対する信号割り当ての一例を示す図
【図３】図３はメモリカードのハード構成の一例を示すブロック図
【図４】図４はＮＡＮＤ型フラッシュメモリの一例を示す平面図
【図５】図５はこの発明の第１実施形態に係るデータ記録方式を示す図
【図６】図６はシステム上での制御及びデータの流れを示す図
【図７】図７はメモリ領域の一例を示す図
【図８】図８はこの発明の第２実施形態に係るデータ記録方式を示す図
【図９】図９はこの発明の第３実施形態に係るデータ記録方式を示す図
【図１０】図１０はこの発明の第３実施形態に係るデータ記録方式の多値領域更新の流れの一例を示す流れ図
【図１１】図１１はこの発明の第４実施形態に係るデータ記録方式を示す図
【図１２】図１２はこの発明の第４実施形態に係るデータ記録方式のキャッシュ配置の第１の例を示すブロック図
【図１３】図１３はこの発明の第４実施形態に係るデータ記録方式のキャッシュ配置の第２の例を示すブロック図
【図１４】図１４はこの発明の第４実施形態に係るデータ記録方式のキャッシュ配置の第３の例を示すブロック図
【図１５】図１５はこの発明の第４実施形態に係るデータ記録方式のキャッシュ配置の第４の例を示すブロック図
【図１６】図１６はこの発明の第４実施形態の変形例に係るデータ記録方式の一例を示すブロック図
【図１７】図１７は使用容量と動作速度との関係を示す図
【符号の説明】
【０１１８】
５１…メモリ領域、５３…単位領域、５５…二値領域、５７…多値領域
【図１】
0004805696.tif 000002
【図２】
0004805696.tif 000003
【図３】
0004805696.tif 000004
【図４】
0004805696.tif 000005
【図５】
0004805696.tif 000006
【図６】
0004805696.tif 000007
【図７】
0004805696.tif 000008
【図８】
0004805696.tif 000009
【図９】
0004805696.tif 000010
【図１０】
0004805696.tif 000011
【図１１】
0004805696.tif 000012
【図１２】
0004805696.tif 000013
【図１３】
0004805696.tif 000014
【図１４】
0004805696.tif 000015
【図１５】
0004805696.tif 000016
【図１６】
0004805696.tif 000017
【図１７】
0004805696.tif 000018