説明

半導体集積回路装置のデータ記録方式

【課題】 大規模な記録容量とともに、高速なデータ書き込み、並びにデータ読み出しを実現する不揮発性半導体メモリを有した半導体集積回路装置のデータ記録方式を提供する。
【解決手段】 二値領域55と多値領域57とを含むメモリ領域51を備え、ホスト機器が送信したデータ(DATA1〜DATA3)を、二値領域55に二値データで記録し、二値領域55に記録したデータ(DATA1〜DATA3)を、ホスト機器からのアクセスが無いときに多値領域57に多値データでコピーする。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、半導体集積回路装置のデータ記録方式に係わり、特に、データの書き換えが可能な不揮発性半導体メモリを備えた半導体集積回路装置のデータ記録方式に関する。
【背景技術】
【0002】
データ書き換えが可能な不揮発性半導体メモリは、例えば、メモリカード等の記録メディアの記憶手段の一つとして、その需要が拡大しつつある。記録メディアには、大規模な記録容量が要求され、このため、不揮発性半導体メモリにおいては記憶容量の大規模化が進められており、高集積化に加えて多値技術も進展しつつある。さらに、記録メディアには、大規模な記録容量に加え、高速なデータ書き込み、並びにデータ読み出しが要求される。しかしながら、多値技術を採用したメモリ、いわゆる多値メモリは、2値メモリに比べて記憶容量に勝るものの、書き込み速度、並びに読み出し速度に劣る。
【0003】
なお、多値モード、及び2値モードの双方で動作する半導体記憶装置は、例えば、特許文献1、2に記載されている。
【特許文献1】特開2001−6374
【特許文献2】特開2005−115982
【発明の開示】
【発明が解決しようとする課題】
【0004】
この発明は、大規模な記録容量とともに、高速なデータ書き込み、並びにデータ読み出しを実現する不揮発性半導体メモリを有した半導体集積回路装置のデータ記録方式を提供する。
【課題を解決するための手段】
【0005】
この発明の一態様に係る半導体集積回路装置のデータ記録方式は、二値領域と多値領域とを含むメモリ領域を備え、このメモリ領域とホスト機器との間でデータをやりとりする半導体集積回路装置のデータ記録方式であって、前記ホスト機器が送信したデータを、前記二値領域に二値データで記録し、前記二値領域に記録したデータを、前記ホスト機器からのアクセスが無いときに前記多値領域に多値データでコピーする。
【発明の効果】
【0006】
この発明によれば、大規模な記録容量とともに、高速なデータ書き込み、並びにデータ読み出しを実現する不揮発性半導体メモリを有した半導体集積回路装置のデータ記録方式を提供できる。
【発明を実施するための最良の形態】
【0007】
以下、この発明の実施形態のいくつかを、図面を参照して説明する。なお、図面においては、同一の部分については同一の参照符号を付す。本実施形態では、半導体集積回路装置の一例として、記録メディア、例えば、メモリカードに利用される不揮発性半導体メモリを示す。不揮発性半導体メモリの一例はフラッシュメモリである。フラッシュメモリの一例はNAND型フラッシュメモリである。
【0008】
(第1実施形態)
図1は、メモリカードの一例を示す図である。
【0009】
図1に示すように、メモリカード1は、バスインタフェース14を介してホスト機器2とデータを送受信する。メモリカード1は、ホスト機器2に設けられたスロットに対して挿抜可能に形成される。
【0010】
メモリカード1は、NAND型フラッシュメモリ11と、このフラッシュメモリ11を制御するカードコントローラ12、及び複数の信号ピン(第1ピン乃至第9ピン)13を備える。
【0011】
信号ピン13は、カードコントローラ12に電気的に接続されるピンで、メモリカード1の外部ピンとして働く。信号ピン13における第1ピン乃至第9ピンに対する信号の割り当ての一例を、図2に示す。
【0012】
図2に示すように、データ0乃至データ3は、第7ピン、第8ピン、第9ピン、及び第1ピンにそれぞれ割り当てられる。なお、第1ピンは、データ3だけでなく、カード検出信号に対しても割り当てられる。さらに、第2ピンはコマンドに割り当てられ、第3ピン、及び第6ピンは接地電位Vssに、第4ピンは電源電位Vddに、第5ピンはクロック信号に割り当てられる。
【0013】
信号ピン13、及びバスインタフェース14は、ホスト機器2内のホスト機器コントローラ(図示せず)とメモリカード1との通信に使用される。例えば、ホスト機器コントローラは、第1ピン乃至第9ピンを介してメモリカード1内のカードコントローラ12と各種信号、及びデータを通信する。例えば、メモリカード1にデータを書き込むときには、ホスト機器コントローラは、書き込みコマンドを、第2ピンを介してカードコントローラ12に送信する。このとき、カードコントローラ12は、第5ピンに供給されるクロック信号に応答して、第2ピンに与えられる書き込みコマンドを取り込む。コマンドの入力に割り当てられる第2ピンは、データ3用の第1ピンと接地電位Vss用の第3ピンとの間に配置される。
【0014】
これに対し、フラッシュメモリ11とカードコントローラ12との間の通信は、NAND型フラッシュメモリ用のインタフェースを介して行われる。例えば、8ビットのIO線(データライン)15である。
【0015】
カードコントローラ12がフラッシュメモリ11にデータを書き込むときには、カードコントローラ12は、IO線15を介してデータ入力コマンド80h、カラムアドレス、ページアドレス、データ、及びプログラムコマンド10hをフラッシュメモリ11に順次入力する。ここで、コマンド80hの“h”は16進数を示すものであり、実際には“10000000”という8ビットの信号が、8ビットのIO線15にパラレルに与えられる。つまり、NAND型フラッシュメモリ用のインタフェースでは、複数ビットのコマンドがパラレルに与えられる。また、NAND型フラッシュメモリ用のインタフェースでは、フラッシュメモリ11に対するコマンドと、データとが同じIO線15を共用して通信される。
【0016】
このように、ホスト機器コントローラとカードコントローラ12とが通信するインタフェースと、フラッシュメモリ11とカードコントローラ12とが通信するインタフェースとは異なる。
【0017】
図3は、メモリカードのハード構成の一例を示すブロック図である。
【0018】
ホスト機器2は、メモリカード1に対してアクセスを行うためのハードウェア、及びソフトウェアを備える。メモリカード1は、ホスト機器2に接続された時に電源供給を受けて動作し、ホスト機器2からのアクセスに応じた処理を行う。
【0019】
フラッシュメモリ11は、消去時の消去ブロックサイズ(消去単位のブロックサイズ)が所定サイズ(例えば、256kB)に定められている。また、このフラッシュメモリ11に対して、ページと称する単位(例えば、2kB)でデータの書き込み、及び読み出しが行われる。
【0020】
カードコントローラ12は、フラッシュメモリ11内部の物理状態(例えば、何処の物理ブロックアドレスに、何番目の論理セクタアドレスデータが含まれているか、あるいは、何処のブロックが消去状態であるか)を管理する。カードコントローラ12は、ホスト機器インタフェース21、CPU(Central Processing Unit)22、フラッシュインタフェース23、ROM(Read Only Memory)24、RAM(Random Access Memory)25、及びバッファ26を有する。
【0021】
ホスト機器インタフェース21は、カードコントローラ12とホスト機器2との間のインタフェース処理を行う。
【0022】
CPU22は、メモリカード1全体の動作を制御する。CPU22は、例えば、メモリカード1が電源供給を受けたときに、ROM24に格納されているファームウェア(制御プログラム)をRAM25上に読み出して所定の処理を実行することにより、各種のテーブルをRAM25上に作成する。
【0023】
また、CPU22は、書き込みコマンド、読み出しコマンド、消去コマンドをホスト機器2から受け取り、フラッシュメモリ11に対して所定の処理を実行したり、バッファ26を通じたデータ転送処理を制御したりする。
【0024】
ROM24は、CPU22により制御される制御プログラムなどを格納する。RAM25は、CPU22の作業エリアとして使用され、制御プログラムや各種のテーブルを記憶する。フラッシュインタフェース23は、カードコントローラ12とフラッシュメモリ11との間のインタフェース処理を行う。
【0025】
バッファ26は、ホスト機器2から送られてくるデータをフラッシュメモリ11へ書き込む際に、一定量のデータ(例えば、1ページ分)を一時的に記憶したり、フラッシュメモリ11から読み出されるデータをホスト機器2へ送り出す際に、一定量のデータを一時的に記憶したりする。
【0026】
図4は、NAND型フラッシュメモリの一例を示す平面図である。
【0027】
図4に示すように、NAND型フラッシュメモリ11は、メモリセルアレイ31、ロウデコーダ32、ページバッファ33、周辺回路34、チャージポンプ回路35、及びパッド部36を含む。
【0028】
メモリセルアレイ31には図示せぬ不揮発性半導体メモリセルが行列状に配置される。本例ではメモリセルアレイ31はNAND型フラッシュメモリチップ内に二箇所有る。
【0029】
ロウデコーダ32はメモリセルアレイ31のロウを選択する。NAND型フラッシュメモリ11においては、ロウデコーダ32はメモリセルアレイ31内のブロックを選択するデコーダ、及びブロック内のワード線を選択するデコーダを含む。本例では、ロウデコーダ32は、メモリセルアレイ31の、カラム方向(Column direction)に沿った端部の双方に隣接して配置される。
【0030】
ページバッファ33、周辺回路34、チャージポンプ回路35、及びパッド部36は、メモリセルアレイ31の、ロウ方向(Row direction)に沿った端部の一方に隣接して、順次配置される。
【0031】
ページバッファ33はデータ回路の一つである。ページバッファ33は、メモリセルアレイ31へ書き込む、例えば、1ページ分の書き込みデータを一時的に記憶したり、メモリセルアレイ31から読み出した、例えば、1ページ分の読み出しデータを一時的に記憶したりする。
【0032】
周辺回路34は、メモリ周辺回路、例えば、データ入出力バッファ、コマンドインタフェース、及びステートマシンなどを含む。
【0033】
チャージポンプ回路35は昇圧回路の一つである。チャージポンプ回路は、データの消去、及びデータの書き込みに必要とされる電位、例えば、外部電源電位よりも高い電位や、チップ内部で使用されるチップ内電源電位を発生させる。
【0034】
パッド部36にはパッドが配置される。パッドは、周辺回路34内のデータ入出力バッファ、及びコマンドインタフェースに電気的に接続される。パッドは、NAND型フラッシュメモリ11の外部電気的接点として働く部分であり、前述のフラッシュインタフェース23に電気的に接続される。フラッシュインタフェース23から出力されたデータ、及び制御信号はパッドを介してデータ入出力バッファ、及びコマンドインタフェースに入力される。また、データ入出力バッファから出力されたデータはパッドを介してフラッシュインタフェース23に入力される。本例では、パッド部36は、チップの、ロウ方向に沿った端部の一方に隣接して配置され、例えば、チャージポンプ回路35に沿う。
【0035】
図5は、この発明の第1実施形態に係るNAND型フラッシュメモリのデータ記録方式を示す図である。
【0036】
図5には、ホスト機器から送られてきたデータをメモリ領域51に記録する場合が示されている。本例で述べるメモリ領域51の具体的な一例は、例えば、図4に示したメモリセルアレイ31であるが、これに限られるものではない。
【0037】
まず、図5中の状態Iに示すように、ホスト機器2から送信されたデータ(DATA1〜DATA3)は、NAND型フラッシュメモリ11のメモリ領域51に入力される。データ(DATA1〜DATA3)はメモリ領域51に記録される。本例のメモリ領域51は、複数の単位領域、図5中では、10個の単位領域53-0〜53-9を含む。単位領域53の例は、セクタ、ブロック、ページなどである。本例のメモリ領域51は、二値領域55と、多値領域57とを含む。図1中では5個の単位領域53-0〜53-4が二値領域55であり、残りの5個の単位領域53-5〜53-9が多値領域57である。二値領域55はデータを二値で記録する。多値領域57はデータを多値で記録する。
【0038】
データ(DATA1〜DATA3)は、図5中の状態IIに示すように、二値領域55に記録される。本例では、単位領域53-0〜53-2に記録される。
【0039】
この後、カードコントローラ12、又はNAND型フラッシュメモリ11が、例えば、ホスト機器2からのアクセスが無いと判断したときには、図5中の状態IIIに示すように、二値領域55に記録したデータを、多値領域57にコピーする。本例では、単位領域53-0、53-1、及び53-2に記録したデータ(DATA1〜DATA3)は、単位領域53-5、及び53-6にコピーされる。
【0040】
本例では、二値領域55に記録したデータ(DATA1〜DATA3)を、多値領域57にコピーした後、二値領域55に記録したデータ(DATA1〜DATA3)は、二値領域55から消去せずに二値領域55に残す。データ(DATA1〜DATA3)に対して、再度、ホスト機器2が読み出し要求があった場合には、二値領域55からデータ(DATA1〜DATA3)を読み出す。これは、読み出し速度が低下しない、という利点がある。
【0041】
図6は、システム上での制御、及びデータの流れを示す図である。
【0042】
本例を実行するに当たり、カードコントローラ12は、例えば、NAND型フラッシュメモリ11のどのアドレスが二値領域55で、どのアドレスが多値領域57であるのかについて知っておくと良い。即ち、二値/多値の領域管理である。領域管理は、例えば、NAND型フラッシュメモリ11のどのアドレスが二値領域55で、どのアドレスが多値領域57であるのかを示す二値/多値領域管理テーブルを作成し、この二値/多値領域管理テーブルに従って管理されると良い。以下に、この管理の一例を示す。
【0043】
管理の一例は、二値/多値領域管理テーブルをNAND型フラッシュメモリ11に記録する例である。
【0044】
まず、二値/多値領域管理テーブルは、例えば、フラッシュメモリ11のメモリ領域51に出荷時に記録する。つまり、メモリカード1に組み込まれたフラッシュメモリ11は、二値/多値領域管理テーブルが記録されている。
【0045】
二値/多値領域管理テーブルをフラッシュメモリ11から読み出すために、CPU22は、フラッシュインタフェース23に、管理テーブルの読み出し指示を出す(参照符号105)。フラッシュインタフェース23は、受け取った指示をフラッシュメモリ11に送信する。フラッシュメモリ11は、受信した指示に従ってメモリ領域51から二値/多値領域管理テーブルを読み出し、読み出された二値/多値領域管理テーブルは、フラッシュインタフェース23を介してRAM25にロードされる。CPU22は、例えば、データ書き込みの制御に際して、RAM25にロードされた二値/多値領域管理テーブルを参照する。これにより、CPU22は、例えば、データ書き込み時において、フラッシュメモリ11の二値領域55に対してアクセスすることが可能となる。
【0046】
メモリ領域51は、本例ではメモリセルアレイ31に対応する。図7に、その一例を示す。
【0047】
図7に示すように、メモリ領域51は、保存するデータに応じて複数の領域に区分けされる。メモリ領域51は、データ記憶領域として、例えば、管理データ領域41、機密データ領域42、保護データ領域43、及びユーザデータ領域44を備える。
【0048】
管理データ領域41は、主にメモリカードに関する管理情報を格納する。例えば、メモリカード1のセキュリティ情報やメディアIDなどのカード情報は、管理データ領域41に格納される。
【0049】
機密データ領域42は、暗号化に用いる鍵情報や認証時に使用する機密データを格納する。機密データ領域42は、例えば、ホスト機器2からはアクセス不可能な領域である。
【0050】
保護データ領域43は、重要なデータを格納する。保護データ領域43は、例えば、メモリカード1に接続されたホスト機器2との相互認証によりホスト機器2の正当性が証明された場合にのみアクセスが可能となる領域である。
【0051】
ユーザデータ領域44は、ユーザデータを格納する。ユーザデータ領域44は、メモリカード1を使用するユーザが自由にアクセスでき、自由に使用することが可能な領域である。
【0052】
上記二値/多値領域管理テーブルは、不用意に消失されてはならない情報である。従って、ホスト機器2からはアクセス不可能、あるいは条件付でのみアクセス可能となる領域に格納されると良い。従って、二値/多値領域管理テーブルは、例えば、機密データ領域42、及び保護データ領域43に格納されると良い。
【0053】
本例では、フラッシュメモリ11から読み出された二値/多値領域管理テーブルは、カードコントローラ12のRAM25にロードされる。RAM25は揮発性半導体メモリである。電源を切ると、RAM25にロードされた二値/多値領域管理テーブルデータは消失する。消失されたデータを復帰させるために、本例では二値/多値領域管理テーブルは電源が投入される毎に読み出してRAM25にロードする。
【0054】
なお、RAM25は、揮発性半導体メモリに限られるものではなく、不揮発性半導体メモリの場合もある。RAM25に、例えば、強誘電体半導体メモリ(FeRAM)を利用した場合である。不揮発性半導体メモリをRAM25に利用した場合には、二値/多値領域管理テーブルは、メモリカード1の生産工場内で出荷前に読み出して不揮発性のRAM25にロードし、このRAM25に記録しても良い。あるいは市場における使用開始時、例えば、メモリカード1の初期化時に読み出して不揮発性のRAM25にロードし、このRAM25に記録しても良い。
【0055】
第1実施形態は、ホスト機器2から送信されたデータ(DATA1〜DATA3)を、二値領域55、及び多値領域57を含むメモリ領域51のうち、二値領域55に記録する。データ(DATA1〜DATA3)は、二値データの書き込みに従ってメモリ領域51に書き込まれる。二値データの書き込みは、多値データの書き込みに比較して、書き込み速度が速い。例えば、多値データをメモリセルに書き込むときには、メモリセルの書き込みしきい値レベルを、消去レベルと中間電圧Vpassとの間に複数設定しなければならない。例えば、四値データであれば書き込みしきい値レベルは、消去レベルの他に3つ設定される。対して、二値データであれば書き込みしきい値レベルは、消去レベルの他に1つ設定すれば良い。
【0056】
このように、第1実施形態によれば、データ(DATA1〜DATA3)を二値領域55に二値データで記録するので、NAND型フラッシュメモリ11の書き込み速度の低下を抑制できる。第1実施形態はメモリカード1である。NAND型フラッシュメモリ11の書き込み速度の低下が抑制されれば、データ書き込み時間が速いメモリカード1を得ることができる。
【0057】
ホスト機器から送信されたデータ(DATA1〜DATA3)を二値データばかりで記録していると、メモリ領域51の記録残量は急速に減る。そこで、第1実施形態は、二値領域55に記録されたデータ(DATA1〜DATA3)を、多値領域57に多値データでコピーする。コピーする時間帯は、データ書き込み、データ読み出し、あるいはステータスリクエスト等のNAND型フラッシュメモリ11に対するアクセスが無い時間帯を利用する。この時間帯の判断の一例は、NAND型フラッシュメモリ11への制御信号の入力、あるいはデータの入力、又は出力があってから、一定の時間が経過したことを検知すれば良い。一定の時間が経過したことを検知する回路は、NAND型フラッシュメモリ11に備えることも可能であるが、カードコントローラ12に備えることも可能である。どちらでも良い。一定の時間が経過したら、NAND型フラッシュメモリ11は、内部の動作として、NAND型フラッシュメモリ11自身の判断で、もしくはカードコントローラ12から命令に従ってデータコピー動作を開始する。一定の時間については、ホスト機器2からのアクセス頻度、あるいはカードコントローラ12からのアクセス頻度等を勘案して適宜設定されれば良い。
【0058】
二値領域55に記録されたデータ(DATA1〜DATA3)は、多値領域57にコピーされているから消去可能である。データ(DATA1〜DATA3)を消去することで、メモリ領域51の記録残量は回復する。しかし、第1実施形態では、データ(DATA1〜DATA3)を消去せず、例えば、二値領域55に空き領域が無くなるまで二値領域55に残す。データ(DATA1〜DATA3)に対して、ホスト機器2が読み出し要求が有った場合には、多値領域57にコピーされたデータ(DATA1〜DATA3)を読み出すのではなく、二値領域55に残ったコピー元のデータ(DATA1〜DATA3)を読み出す。多値データの読み出しは、二値データの読み出しに比較して時間がかかる。例えば、多値データの読み出しは、ワード線に与える読み出し電圧を変えながらメモリセルからのデータ読み出しを繰り返す、あるいはセンスアンプの基準電位を変えながら読み出したデータの判別を繰り返す。そこで、本例では、二値領域55に記録したデータ(DATA1〜DATA3)は、例えば、二値領域55に空き領域が無くなるまで二値領域55に残す。二値領域55に残ったデータ(DATA1〜DATA3)に対して、ホスト機器2が読み出し要求した場合には、多値領域57にコピーされたデータ(DATA1〜DATA3)を読み出すのではなく、二値領域55に残ったコピー元のデータ(DATA1〜DATA3)を読み出す。
【0059】
このように、第1実施形態によれば、二値領域55にコピー元のデータ(DATA1〜DATA3)が残っていれば、コピー元のデータ(DATA1〜DATA3)を二値読み出しに従って読み出すので、NAND型フラッシュメモリ11の書き込み速度のみならず、読み出し速度の低下をも抑制できる。もちろん、NAND型フラッシュメモリ11の読み出し速度の低下が抑制されれば、これを利用したメモリカード1は、データ読み出し時間の低下も抑制することができる。
【0060】
(第2実施形態)
第2実施形態は、二値領域55の空き領域が少なくなった場合の動作状態に関する例である。
【0061】
図8は、この発明の第2実施形態に係るNAND型フラッシュメモリのデータ記録方式を示す図である。
【0062】
図8中の状態IVに示すように、単位領域3つ分のデータ(DATA4〜DATA6)がホスト機器2から送られてきたとする。このとき、状態Vに示すように、二値領域55の空き領域が単位領域53-3、53-4の2つしかなかったとする。この場合、単位領域1つ分が不足する。
【0063】
二値領域55に空き領域が無くなったとき、第2実施形態では、二値領域55に記録したデータのうち、多値領域57にコピーされたデータがある部分に、ホスト機器2が送信したデータを上書き記録する。
【0064】
本例の二値領域55の空き領域は、状態Vに示すように、単位領域53-3、及び53-4の2つである。ホスト機器2が送信したデータ(DATA4〜DATA6)のうち、最初の単位領域2つ分のデータ(DATA4、DATA5)は、状態VIに示すように、空き領域である単位領域53-3、及び53-4にそのまま記録する。記録しきれないデータ、本例では、データ(DATA6)は、二値領域55の単位領域に記録したデータのうち、多値領域57の単位領域にコピーされたデータがある部分に上書き記録する。本例では、状態VIに示すように、データが最初に記録された単位領域53-0に上書き記録する。
【0065】
本例では、第1実施形態と同様に、データは、二値領域55に、例えば、単位領域53-0、53-1、…、53-4の順番で順次記録される。この間、記録されたデータは、第1実施形態において説明したように、フラッシュメモリ11に対するアクセスが無い時間帯を利用して、二値領域55から多値領域57にコピーされる。空き領域が二値領域55に無くなったとき、コピーされたデータが多値領域57にあれば、データを上書き、例えば、最初から単位領域53-0、53-1、…、53-4の順番で再度記録する。つまり、多値領域57にコピーされたデータがあれば二値領域55の単位領域はデータの上書き可能な状態にある。そこで、本例では、単位領域が上書き可能な状態にあれば、二値領域55に空き領域が無くなり次第、データを記録する単位領域を、“53-0→53-1→…→53-4→53-0→53-1→…→53-4→53-0→…”のように二値領域55内で循環させながら上書きする。なお、上書きされたデータ、本例では、データ(DATA6)は、第1実施形態と同様に、フラッシュメモリ11に対するアクセスが無い時間帯を利用して、二値領域55から多値領域57にコピーされる(状態VII)。
【0066】
このように、第2実施形態によれば、二値領域55に空き領域が無くなったとき、二値領域55に記録したデータのうち、多値領域57にコピーされたデータがある部分に、ホスト機器2が送信したデータを上書き記録する。これにより、二値領域55に空き領域が無くなった、としても、ホスト機器2が送信したデータを多値領域57に記録せずに、二値領域55に記録することができる。従って、二値領域55に空き領域が無くなった、としても、NAND型フラッシュメモリ11の書き込み速度の低下を抑制できる。
【0067】
(第3実施形態)
第3実施形態は、多値領域57の空き領域が少なくなった場合の動作状態に関する例である。
【0068】
図9は、この発明の第3実施形態に係るNAND型フラッシュメモリのデータ記録方式を示す図である。
【0069】
図9中の状態VIIIに示すように、多値領域57に空き領域が無かった、とする。このように、多値領域57に空き領域が無くなったとき、第3実施形態では、状態IXに示すように、二値領域55を部分的に多値領域57に変更する。
【0070】
多値領域57の単位領域53-5〜53-9は、状態VIII、及びIXに示すように、データ(DATA1〜DATA10)が記録されており、空き領域は無い。そこで、本例では、二値領域55の単位領域53-0〜53-4のうち、単位領域53-2〜53-4の3つの領域を二値領域55から多値領域57に変更する。これら3つの単位領域53-2〜53-4はデータ(DATA8〜DATA10)が記録されているが、これらのデータは多値領域57の単位領域53-8、及び53-9にコピーされている。つまり、消すことが可能なデータである。このように、本例では、二値領域55のうち、多値領域57にコピーされたデータがある部分を、部分的に多値領域57に変更する。本明細書では、二値領域から多値領域への変更を、“多値領域更新”と呼ぶ。
【0071】
さらに、状態Xに示すように、ホスト機器2からデータ(DATA11〜DATA13)が送信されてきたとする。これらのデータ(DATA11〜DATA13)は、メモリ領域51の二値領域55に二値データで記録する。
【0072】
本例では、データ(DATA11)を単位領域53-0に記録する(DATA6に対する上書き)。続いて、データ(DATA12)を単位領域53-1に記録する(DATA7に対する上書き)。二値領域55は単位領域53-0、及び53-1の2つである。
【0073】
しかし、本例では、さらに、データ(DATA13)が、カードコントローラ12の、例えば、バッファ26に残っている。このままでは、二値領域55が不足し、データ(DATA13)をフラッシュメモリ11に記録することができない。そこで、状態XIに示すように、今回送信されたデータのうち、記録済みのデータを多値領域57にコピーする。本例では、データ(DATA11)を単位領域53-0から、多値領域57の単位領域53-2にコピーする。単位領域53-0に記録されたデータ(DATA11)は、多値領域57にコピーされたので、単位領域53-0は上書き可能となる。データ(DATA13)は、上書き可能となった単位領域53-0に二値データで記録する。
【0074】
なお、本例では、データ(DATA11)のみを単位領域53-0から単位領域53-2にコピーする例を示したが、単位領域53-2は多値であるので、例えば、4値の場合には、単位領域53-0の2倍のデータを記録することができる。そこで、データ(DATA11)のコピーの際に、データ(DATA12)も単位領域53-2に記録しても良い。
【0075】
以下、多値領域更新の流れの一例を説明する。
【0076】
図10はこの発明の第3実施形態に係るNAND型フラッシュメモリのデータ記録方式の多値領域更新の流れの一例を示す流れ図である。
【0077】
まず、電源投入後、二値/多値領域管理テーブルをRAM25へロードする(ST.1)。これは、第1実施形態で説明した通りの、二値/多値領域管理テーブルのロードである。二値/多値領域管理テーブルの初期値が、カードコントローラ12に保持される。
【0078】
次に、ホスト機器2から送信されたデータを、カードコントローラ12を介してフラッシュメモリ11に記録する。カードコントローラ12は、ホスト機器2から送信されたデータをバッファ26に一時的に蓄積し、例えば、データを、単位領域53毎に区切ってフラッシュメモリ11に送信する。送信されたデータは、フラッシュメモリ11に記録される(データのライト:ST.2)。
【0079】
次に、バッファ26に、フラッシュメモリ11に記録するべきデータが残っているか否かを判断する(ライトデータ有り?:ST.3)。バッファ26に、記録するべきデータが残っていなければ(NO.)、データの記録を終了する。反対に、記録するべきデータが残っていれば(YES.)、ST.4に進む。
【0080】
ST.4では、二値領域55に、空き領域が有るか否かを判断する(書き込み領域(2値)有り?)。空き領域が有れば(YES.)、上記ST.2に戻り、データのライトからの手順を繰り返す。反対に空き領域が無ければ(NO.)、ST.5に進む。
【0081】
ST.5では、多値領域を更新する。多値領域更新は、上述の通りであり、例えば、二値領域55のうち、多値領域57にコピーされたデータがある部分を、部分的に多値領域に変更する。
【0082】
次に、二値/多値領域管理テーブルを更新する(ST.6)。次に、ST.1に戻り、更新された二値/多値領域管理テーブルをRAM25へロードする。これにより、二値/多値領域管理テーブルの初期値は更新値に更新され、カードコントローラ12に保持される。この後、ST.2に進み、ST.2以降の手順、本例ではST.3〜ST.6を繰り返す。
【0083】
このように、第3実施形態によれば、多値領域57に空き領域がなくなったとき、二値領域55を部分的に多値領域57に変更する。例えば、二値領域55のうち、多値領域57にコピーされたデータがある部分を、多値領域57に変更する。これにより、多値領域57に空き領域が無くなった、としても、フラッシュメモリ11の記録容量が増えるので、大規模な記録容量を維持することができる。
【0084】
さらに、第3実施形態によれば、二値領域55を多値領域57に変更する際、一度に全てを変更せず、部分的に変更する。いわば、二値領域55を、多値領域57へ段階的に変更する。段階的に変更することによれば、二値領域55をメモリ領域51に残すことができる、という利点を得ることができる。ホスト機器2から送信されてきたデータは、残された二値領域55に記録する。これにより、二値領域55を、一度に全て多値領域57に変更する場合に比較して、NAND型フラッシュメモリ11の書き込み速度の低下を抑制できる、という利点を得ることができる。
【0085】
(第4実施形態)
第4実施形態は、データの書き込み速度の低下を抑制し得るデータ記録方式に関する例である。
【0086】
図11は、この発明の第4実施形態に係るNAND型フラッシュメモリのデータ記録方式を示す図である。
【0087】
NAND型フラッシュメモリ11への記録が続くと、メモリ領域51の空き領域が少なくなる。メモリ領域51の空き領域が少なくなるにつれて、多値による読み書きが発生しやすくなる。これによる動作速度の低下を抑制するために、ホスト機器が送信したデータを、一旦、キャッシュに格納させるようにしても良い。
【0088】
本例では、図11中の状態XIIに示すように、ホスト機器2が送信したデータ(DATA11〜DATA13)を、状態XIIIに示すように、一旦、キャッシュ61に二値で記録する。この後、状態XIVに示すように、キャッシュ61に格納されたデータ(DATA11〜DATA13)を、メモリ領域51の二値領域55に記録する。
【0089】
このように、第4実施形態によれば、キャッシュ61を、さらに備え、ホスト機器2が送信したデータをキャッシュ61に格納し、キャッシュ61に格納したデータを、メモリ領域51の二値領域55に記録する。これにより、データの書き込み速度の低下を抑制することが可能となる。
【0090】
特に、図11の状態XIVに示すように、第3実施形態で説明した二値領域55の容量が不足する場合においては、二値領域55に記録されたデータを多値領域57に移し、二値領域55に空き領域をつくる動作が入る。データを多値領域57に移すとき、多値の書き込み動作が入る。多値の書き込み動作は二値の書き込み動作に比較して時間がかかる。状態XIVに示すような記録動作が完了するまでには、相応の時間を要する。
【0091】
ホスト機器2は、例えば、メモリカード1へのデータ記録中の間、他の動作を禁止するものが多い。例えば、デジタルスチルカメラを例にとるとユーザによる撮影がある。メモリカード1へのデータ記録中は撮影ができない。メモリカード1へのデータ記録動作が遅いことはユーザにとって不便である。これは、カメラ付携帯電話の場合も同様である。
【0092】
その点、第4実施形態は、ホスト機器2から送信されたデータを、キャッシュ61に高速に格納する。この格納が完了した時点で、例えば、メモリカード1とホスト機器2との間のデータの送受信を一旦停止する。一旦停止している間、例えば、ホスト機器2においては他の操作が可能な状態にしておけば、ユーザは、データ記録のために長い待ち時間を被ることはない。
【0093】
キャッシュ61にデータを格納した後、キャッシュ61は、格納したデータを、フラッシュメモリ11のメモリ領域51に記録する。メモリ領域51への書き込み速度は、キャッシュ61への格納速度に比較して低速であり、時間がかかる。しかしながら、第4実施形態によれば、ホスト機器2からのデータを、一旦、キャッシュ61に格納した時点で記録動作を終了させることが可能であるので、ホスト機器2が受ける、あるいはユーザが感じるデータ記録時間は、キャッシュ61を介さない場合に比較して短くすることができる。これは、メモリカード1へのデータの書き込み速度の低下が抑制されたことと等価である。
【0094】
(キャッシュの配置例)
上述したように、ホスト機器2とメモリカード1との間のデータの送受信を高速化する、という観点からは、キャッシュ61は、カードコントローラ12とNAND型フラッシュメモリ11との間に配置されることが良い。キャッシュ61を配置する箇所は、図12に示すようにフラッシュインタフェース23とNAND型フラッシュメモリ11との間、図13に示すようにホスト機器2とホストインタフェース21との間、図14に示すようにホストインタフェース21とバッファ26との間、図15に示すように、バッファ26とフラッシュインタフェース23との間のいずれでも良い。
【0095】
(第4実施形態の変形例)
キャッシュ61を利用することで、以下のようなデータ管理や、データ転送方式を採用することが可能となる。
【0096】
不揮発性半導体メモリをキャッシュ61に使用した場合、キャッシュ61にデータを格納できていれば、次にカードが挿入されたときに、キャッシュ61に格納されていたデータがメモリ領域51に対して未記録ならば、これを記録することができる。
【0097】
また、図16に示すように、キャッシュ61を、キャッシュ61a、及び61bのように並列化し、さらに、メモリ領域51も、メモリ領域51a、及び51bのように並列化することで、記録速度の低下を、さらに緩和させることもできる。
【0098】
以上、この発明を第1〜第4実施形態に従って説明したが、この発明の第1〜第4実施形態に係る発明を総括すると、下記のような利点が得られる。
【0099】
図17は使用容量と動作速度との関係を示す図である。
【0100】
図17には、典型的な多値不揮発性半導体メモリ(Conventional)の使用容量と動作速度との関係、及び上記実施形態に係る記録方式を利用した多値不揮発性半導体メモリ(Embodiments)の使用容量と動作速度との関係が示される。多値不揮発性半導体メモリ(Conventional)の記録容量と、多値不揮発性半導体メモリ(Embodiments)の記録容量とは、ともに1Gbyteとする。
【0101】
図17に示すように、多値不揮発性半導体メモリ(Conventional)は、使用開始時(使用容量が0)から全ての記録容量を使い切る(使用容量が1Gbyte)まで、動作速度は変化しない。対して、多値不揮発性半導体メモリ(Embodiments)は、使用開始時(使用容量が0)の動作速度はConventionalよりも速く、全ての記録容量を使い切った時点で動作速度はConventionalと同じとなる。
【0102】
このように、上記実施形態によれば、大規模な記録容量とともに、高速なデータ書き込み、並びにデータ読み出しを実現する不揮発性半導体メモリを有した半導体集積回路装置のデータ記録方式を提供できる。
【0103】
また、上記実施形態は以下の態様を含む。
【0104】
(1) 二値領域と多値領域とを含むメモリ領域を備え、このメモリ領域とホスト機器との間でデータをやりとりする半導体集積回路装置のデータ記録方式であって、
前記ホスト機器が送信したデータを、前記二値領域に二値データで記録し、
前記二値領域に記録したデータを、前記ホスト機器からのアクセスが無いときに前記多値領域に多値データでコピーする。
【0105】
(2) (1)の態様に係る半導体集積回路装置のデータの記録方式であって、
前記二値領域に記録したデータを前記多値領域にコピーした後、前記二値領域に記録したデータは、前記二値領域に残す。
【0106】
(3) (2)の態様に係る半導体集積回路装置のデータの記録方式であって、
前記ホスト機器からデータ読み出し要求がきたとき、前記読み出し要求に対応したデータが前記二値領域にあれば、前記二値領域からデータを読み出す。
【0107】
(4) (1)の態様に係る半導体集積回路装置のデータの記録方式であって、
前記二値領域に空き領域が無くなったとき、前記二値領域に記録したデータのうち、前記多値領域にコピーされたデータがある部分に、前記ホスト機器が送信したデータを上書き記録する。
【0108】
(5) (1)の態様に係る半導体集積回路装置のデータ記録方式であって、
前記多値領域に空き領域がなくなったとき、前記二値領域を部分的に多値領域に変更する。
【0109】
(6) (5)の態様に係る半導体集積回路装置のデータ記録方式であって、
前記二値領域のうち、前記二値領域のうち、前記多値領域にコピーされたデータがある部分が、前記多値領域に変更される。
【0110】
(7) (1)の態様に係る半導体集積回路装置のデータ記録方式であって、
キャッシュを、さらに、備え、
前記ホスト機器が送信したデータを前記キャッシュに格納し、前記キャッシュに格納したデータを、前記メモリ領域の前記二値領域に記録する。
【0111】
(8) (7)の態様に係る半導体集積回路装置のデータ記録方式であって、
前記キャッシュが不揮発性半導体メモリである場合、前記キャッシュに格納したデータが前記メモリ領域に未記録であれば、前記ホスト機器に再接続されたときに、前記未記録のデータを前記メモリ領域の前記二値領域に記録する。
【0112】
(9) (7)及び(8)いずれかの態様に係る半導体集積回路装置のデータ記録方式であって、
前記キャッシュ、及び前記メモリ領域を、それぞれ複数有し、
前記ホスト機器が送信したデータは分割されて前記複数のキャッシュにパラレルに格納され、前記複数のキャッシュに格納されたデータを各々、前記複数のメモリ領域それぞれの前記二値領域に記録する。
【0113】
以上、この発明をいくつかの実施形態により説明したが、この発明は各実施形態に限定されるものではなく、その実施にあたっては発明の要旨を逸脱しない範囲で種々に変形することが可能である。
【0114】
また、各実施形態は単独で実施することが可能であるが、適宜組み合わせて実施することも可能である。
【0115】
また、各実施形態は種々の段階の発明を含んでおり、各実施形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することが可能である。
【0116】
また、実施形態は、この発明をNAND型フラッシュメモリに適用した例に基づき説明したが、この発明はNAND型フラッシュメモリに限られるものではなく、AND型、NOR型等、NAND型以外のフラッシュメモリにも適用することができる。さらに、これらフラッシュメモリを内蔵した半導体集積回路装置、例えば、プロセッサ、システムLSI等もまた、この発明の範疇である。
【図面の簡単な説明】
【0117】
【図1】図1はメモリカードの一例を示す図
【図2】図2は信号ピンに対する信号割り当ての一例を示す図
【図3】図3はメモリカードのハード構成の一例を示すブロック図
【図4】図4はNAND型フラッシュメモリの一例を示す平面図
【図5】図5はこの発明の第1実施形態に係るデータ記録方式を示す図
【図6】図6はシステム上での制御及びデータの流れを示す図
【図7】図7はメモリ領域の一例を示す図
【図8】図8はこの発明の第2実施形態に係るデータ記録方式を示す図
【図9】図9はこの発明の第3実施形態に係るデータ記録方式を示す図
【図10】図10はこの発明の第3実施形態に係るデータ記録方式の多値領域更新の流れの一例を示す流れ図
【図11】図11はこの発明の第4実施形態に係るデータ記録方式を示す図
【図12】図12はこの発明の第4実施形態に係るデータ記録方式のキャッシュ配置の第1の例を示すブロック図
【図13】図13はこの発明の第4実施形態に係るデータ記録方式のキャッシュ配置の第2の例を示すブロック図
【図14】図14はこの発明の第4実施形態に係るデータ記録方式のキャッシュ配置の第3の例を示すブロック図
【図15】図15はこの発明の第4実施形態に係るデータ記録方式のキャッシュ配置の第4の例を示すブロック図
【図16】図16はこの発明の第4実施形態の変形例に係るデータ記録方式の一例を示すブロック図
【図17】図17は使用容量と動作速度との関係を示す図
【符号の説明】
【0118】
51…メモリ領域、53…単位領域、55…二値領域、57…多値領域

【特許請求の範囲】
【請求項1】
二値領域と多値領域とを含むメモリ領域を備え、このメモリ領域とホスト機器との間でデータをやりとりする半導体集積回路装置のデータ記録方式であって、
前記ホスト機器が送信したデータを、前記二値領域に二値データで記録し、
前記二値領域に記録したデータを、前記ホスト機器からのアクセスが無いときに前記多値領域に多値データでコピーすることを特徴とする半導体集積回路装置のデータ記録方式。
【請求項2】
前記二値領域に記録したデータを前記多値領域にコピーした後、前記二値領域に記録したデータは、前記二値領域に残すことを特徴とする請求項1に記載の半導体集積回路装置のデータ記録方式。
【請求項3】
前記二値領域に空き領域が無くなったとき、前記二値領域に記録したデータのうち、前記多値領域にコピーされたデータがある部分に、前記ホスト機器が送信したデータを上書き記録することを特徴とする請求項1に記載の半導体集積回路装置のデータ記録方式。
【請求項4】
前記多値領域に空き領域がなくなったとき、前記二値領域を部分的に多値領域に変更することを特徴とする請求項1に記載の半導体集積回路装置のデータ記録方式。
【請求項5】
キャッシュを、さらに、備え、
前記ホスト機器が送信したデータを前記キャッシュに格納し、前記キャッシュに格納したデータを、前記メモリ領域の前記二値領域に記録することを特徴とする請求項1に記載の半導体集積回路装置のデータ記録方式。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2007−242163(P2007−242163A)
【公開日】平成19年9月20日(2007.9.20)
【国際特許分類】
【出願番号】特願2006−64454(P2006−64454)
【出願日】平成18年3月9日(2006.3.9)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(598010562)東芝エルエスアイシステムサポート株式会社 (119)
【Fターム(参考)】