JP2006323499A - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP2006323499A JP2006323499A JP2005144215A JP2005144215A JP2006323499A JP 2006323499 A JP2006323499 A JP 2006323499A JP 2005144215 A JP2005144215 A JP 2005144215A JP 2005144215 A JP2005144215 A JP 2005144215A JP 2006323499 A JP2006323499 A JP 2006323499A
- Authority
- JP
- Japan
- Prior art keywords
- information
- unit
- physical address
- data
- logical address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】 不揮発性メモリの書き込み途上における電源遮断による異常を容易に外部に知らせる。
【解決手段】 不揮発性メモリを制御するコントローラは、外部から与えられた論理アドレスに対応する物理アドレスが割り当てられていないとき、当該論理アドレスに対応する第1の物理アドレスの割り当てを行なう。そして第1の物理アドレスの初期化済み単位メモリ領域(BLK0)に論理アドレス情報(LA0)とその世代情報(GR0)を格納する。この後コントローラは、当該論理アドレスに対応する第2の物理アドレスの割り当てを行ない、第2の物理アドレスの初期化済み単位メモリ領域(BLK1)に論理アドレス情報(LA0)と一世代更新したその世代情報(GR1)とデータ情報(DAT0)を書き込む。書き込み途中での電源遮断により異常のある論理アドレスに対する読出しを行なったとき、読出しデータが全て初期状態とされることによって異常を検出させる。
【選択図】 図7
Description
本発明は、閾値電圧の初期化とプログラムにより情報を書き込み可能にされる不揮発性メモリとそのコントローラを有する半導体装置に関し、例えばフラッシュメモリを用いたファイルメモリ、更にはメモリカードなどに適用して有効な技術に関する。
フラッシュメモリを用いたファイルメモリは、各々物理アドレスを有する複数のメモリブロックを備え、ホスト装置から与えられる論理アドレスに対する物理アドレスの割り当てを行なう。メモリブロックはデータ領域と管理領域を有し、管理領域はメモリブロックに対応する論理アドレス情報や世代情報を保有する。ホスト装置はファイルメモリに論理アドレスを指定してデータ情報の書き込みを指示してくる。フラッシュメモリにおいてメモリブロックの書き込みを行なう場合には、論理アドレスに対応して既に存在するメモリブロックの情報が書き込み途中で失われないように、書き込み対象の論理アドレスに対応する別の物理アドレスを割り当てる。当該別の物理アドレスの管理領域に対応する論理アドレス情報と更新された世代情報を格納してから、新しい方の物理アドレスにデータ情報の書き込みを行ない、書き込みを完了した後に世代の古い方の物理アドレスのメモリブロックを初期化する。外部から与えられた論理アドレスに対応する物理アドレスが割り当てられていないときは、当該論理アドレスに対応する物理アドレスの割り当てを行ない、割り当てられた物理アドレスの管理領域に論理アドレス情報と世代情報を格納してから、この物理アドレスにデータ情報の書き込みを行なう。この場合の論理アドレスに対する物理アドレスの割り当て世代は初代であるから前の世代の物理アドレスに対する初期化動作は必要ない。フラッシュメモリを用いたファイルメモリについては特許文献1に記載がある。
本発明者はフラッシュメモリを用いたファイルメモリにおいてデータの書き込み途上で動作電源が遮断されたときの不都合について検討した。即ち、書き込み途上で動作電源が遮断されると、その後のパワーオンの時、一つの論理アドレスに二つの物理アドレスが割り当てられる状態が存在することになる。この状態に対しては世代の古い方のメモリブロックを有効とすれば、書き込み途中で破壊されたデータが誤って利用されることはない。
しかしながら、未だ物理アドレスへの割り当てが行なわれていない論理アドレスに対する書き込みの場合には一世代古い対応する物理アドレスが存在しないため、書き込み途上で動作電源が遮断された後のパワーオンの時には書き込み途中で破壊されたデータが誤って利用される虞がある。これに対して、各物理アドレスの管理領域に書き込み完了フラグを設け、書き込み完了後に当該フラグをセット状態にする書き込みシーケンスを採用すれば、途中で電源遮断があっても、パワーオンの後にはそれによる異常を書き込み完了フラグを参照することによって認識可能になる。リセット状態の書き込み完了フラグを検出したとき、ファイルメモリはホスト装置にエラーコードを返すことによって異常をホスト装置に知らせる事ができる。しかしながら、エラーコードを返す場合にはそれを受け取る側のホスト装置との間でハードウェア及びソフトウェアの両面でインタフェース仕様が整合しなければならず、実効性が乏しい場合もあると考えられる。
また、それに関連して本発明者は次の問題点を見出した。消去単位がプログラム単位よりも大きい場合に、プログラム単位で書き込みを終わる度に、物理アドレスの割り当てを変更してデータコピーを行って次のプログラム単位のデータ書き込みを行うという書き込み手順を繰り返したのでは処理時間が長くなる。しかもデータコピー等による書き込み処理が多くなる分だけ途中で電源遮断される機会も多くなる。
本発明の目的は、不揮発性メモリの書き込み途上における電源遮断による異常を外部に知らせることが容易な半導体装置を提供することにある。
本発明の別の目的は、消去単位がプログラム単位よりも大きい不揮発性メモリに対する書き込み処理時間を短縮することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
〔1〕半導体装置(1)は、不揮発性メモリ(2)と、外部からの指示に従って前記不揮発性メモリを制御するコントローラ(3)とを有する。前記不揮発性メモリは、物理アドレスが割り当てられた複数の単位メモリ領域(BLK)を有し、前記単位メモリ領域は閾値電圧の初期化とプログラムにより情報を書き込み可能にされる複数の不揮発性メモリセル(7)を有する。前記コントローラは、外部から与えられた論理アドレスに対応する物理アドレスが割り当てられていないとき、当該論理アドレスに対応する第1の物理アドレスの割り当てを行ない、第1の物理アドレスの初期化済み単位メモリ領域(図7のBLK0)に論理アドレス情報(LA0)とその世代情報(GR0)を格納する。この後、前記コントローラは、当該論理アドレスに対応する第2の物理アドレスの割り当てを行ない、第2の物理アドレスの初期化済み単位メモリ領域(図7のBLK1)に論理アドレス情報(LA0)と一世代更新したその世代情報(GR1)とデータ情報(DAT0)を書き込む。
上記より、第1の場合として、第1の物理アドレスの初期化済み単位メモリ領域に論理アドレス情報とその世代情報を格納するとき電源遮断を生じた場合には、その管理領域の情報(論理アドレス情報及び世代情報)は不定になるが、そのデータ情報は初期状態のままである。第2の場合として、第2の物理アドレスの初期化済み単位メモリ領域に論理アドレス情報と一世代更新したその世代情報とを格納するとき電源遮断を生じた場合には、第2の物理アドレスの情報は全て不定になるが、第1の物理アドレスのデータ情報は初期状態を維持している。第3の場合として、第2の物理アドレスの初期化済み単位メモリ領域にデータ情報を書き込むとき電源遮断を生じた場合には、第2の物理アドレスのデータ情報は不定になってもその管理領域の情報は確定し、第1の物理アドレスにおけるデータ情報は初期状態を維持している。したがって、電源遮断後にパワーオンされると、第1の場合には論理アドレスと物理アドレスの対応を定義するアドレス変換テーブルの内容を実現する物理アドレスの管理領域の情報(論理アドレス情報及び世代情報)からそれを確認できる。よってこの場合には、当該物理アドレスは論理アドレスに割り当てられていない未割り当てブロックとして利用可能になる。第2の場合には論理アドレスと物理アドレスの対応を定義するアドレス変換テーブルにおいて前記論理アドレスに対応する物理アドレスは第1の物理アドレスと第2の物理アドレスとなるが、第2の物理アドレスの管理領域の情報(論理アドレス情報及び世代情報)からはそれを確認できないので、当該第2の物理アドレスは未割り当てブロックとして利用可能になる。第1の物理アドレスからは全部初期状態のデータを読み出すことができる。第3の場合には論理アドレスと物理アドレスの対応を定義するアドレス変換テーブルにおいて前記論理アドレスに対応する物理アドレスは第1の物理アドレスと第2の物理アドレスとなるが、その場合には世代の古い方の第1の物理アドレスから全部初期状態のデータを読み出すことができる。データの読出しにおいて、書き込み途中での電源遮断により異常のある論理アドレスに対する読出しを行なったとき、読出しデータが全て初期状態のデータであるときは、対応する物理アドレスのデータが正規データでないことを意味することになる。ホスト装置は、読出しコマンドによって返されるリードデータから其れを検出することができる。特別な認識ハードウェアやインタフェースプロトコルを必要としない。ホスト装置は、リードデータの全てが初期状態のデータであるときはその論理アドレスに対応する物理アドレスに異常の可能性があることを認識するソフトウェアを追加するだけで、対処することが可能になる。
本発明の具体的な一つの形態として、前記コントローラは、前記第2の物理アドレスの初期化済み単位メモリ領域(図8のBLK1)に論理アドレス情報(LA0)と一世代更新したその世代情報(GR1)とデータ情報(DAT0)を書き込んだ後に、前記第1の物理アドレスの単位メモリ領域(図8のBLK0)を初期化する。書き込み途中で電源遮断したとき、書き込み対象とされていない領域が初期状態を維持することを容易に保証することができる。
本発明の具体的な他の一つの形態として、前記コントローラは、外部から与えられた論理アドレスに応ずる記憶情報を外部に出力するとき、論理アドレス情報が等しく世代情報が異なる複数の物理アドレスがある場合には古い世代情報を保有する物理アドレスのデータ情報を外部に出力する。同一論理アドレスに対して割り当てられる世代の異なる複数の物理アドレスが存在する場合に、何れを有効とするかを決める基本原則を提供する
本発明の具体的な他の一つの形態として、前記コントローラは、外部から与えられた論理アドレスに対応して第3の物理アドレスが割り当てられているとき、当該論理アドレスに対応する第4の物理アドレスの割り当てを行ない、第4の物理アドレスの初期化済み単位メモリ領域に論理アドレス情報と一世代更新したその世代情報とデータ情報を書き込み、書き込んだ後に前記第3の物理アドレスの単位メモリ領域を初期化する。外部から与えられた論理アドレスに対応する物理アドレスが割り当てられているときの動作を規定するものであり、書き込み中の電源遮断に対する作用は、外部から与えられた論理アドレスに対応する物理アドレスが割り当てられていない場合の制御手順と基本的に同じである。
本発明の具体的な他の一つの形態として、前記コントローラは、外部から与えられた論理アドレスに対応して第3の物理アドレスが割り当てられているとき、当該論理アドレスに対応する第4の物理アドレスの割り当てを行ない、第4の物理アドレスの初期化済み単位メモリ領域に論理アドレス情報と一世代更新したその世代情報とデータ情報を書き込み、書き込んだ後に前記第3の物理アドレスの単位メモリ領域を初期化する。外部から与えられた論理アドレスに対応する物理アドレスが割り当てられているときの動作を規定するものであり、書き込み中の電源遮断に対する作用は、外部から与えられた論理アドレスに対応する物理アドレスが割り当てられていない場合の制御手順と基本的に同じである。
本発明の具体的な他の一つの形態として、前記コントローラは、前記データ情報を書き込む不揮発性メモリセルには4値以上の多値情報のプログラムを行い、前記論理アドレス情報と世代情報(管理情報)を書き込む不揮発性メモリセルには2値情報のプログラムを行なう。データ情報の書き込み領域と前記管理情報の書き込み領域に対して並列にプログラムされる場合であっても、2値情報の方が早く書き上げることができるから、データ情報が不定で管理情報が確定するという不整合状態を生ずる可能が高くなる。換言すれば、本発明手段によって救済される頻度が高くなる。
本発明の具体的な他の一つの形態として、単位メモリ領域(BLK)は初期化単位であり、初期化単位は複数のプログラム単位(SCT)を有する。
この場合に、前記コントローラは、第1の書き込みコマンド(拡張書き込みコマンド)に応答するときは、外部から指定された一つの論理アドレスに対するデータ情報をプログラム単位で全て第2の物理アドレスの単位メモリ領域に書き込む処理(ブロックプログラム)を完了するのを待って、前記第1の単位メモリ領域を初期化する。また、前記コントローラは、第1の書き込みコマンドに応答するときは、外部から指定された一つの論理アドレスに対するデータ情報をプログラム単位で全て第4の物理アドレスの単位メモリ領域に書き込むのを待って、前記第3の単位メモリ領域を初期化する。プログラム単位毎に物理アドレスの割り当てを更新しながらデータコピーを繰り返す手間を省くことができる。
一方、プログラム単位毎に物理アドレスの割り当てを更新しながらデータコピーを繰り返す処理を行なう制御態様を使用することを妨げるものではない。即ち、前記コントローラは、第2の書き込みコマンド(書き込みコマンド)に応答するときは、外部から指定された一つの論理アドレスに対するデータ情報を一つのプログラム単位だけ第2の物理アドレスの単位メモリ領域に書き込むのを待って、前記第1の単位メモリ領域を初期化する。同様に、前記コントローラは、第2の書き込みコマンドに応答するときは、外部から指定された一つの論理アドレスに対するデータ情報を一つのプログラム単位だけ第4の物理アドレスの単位メモリ領域に書き込むのを待って、前記第3の単位メモリ領域を初期化する。
〔2〕書き込み途中の電源遮断による異常に対して不揮発性メモリの初期化データを出力するという点について別の観点による半導体装置は、不揮発性メモリと、外部からの指示に従って前記不揮発性メモリを制御するコントローラとを有する。前記不揮発性メモリは、物理アドレスが割り当てられた複数の単位メモリ領域を有し、前記単位メモリ領域は閾値電圧の初期化とプログラムにより情報を書き込み可能にされる複数の不揮発性メモリセルを有する。前記コントローラは、外部から指示された読出しコマンドに応答して、当該コマンドで指示された論理アドレスに対応する物理アドレスのデータ情報を外部に出力するとき、前記物理アドレスに対する情報の書き込み異常の痕跡に応答して、外部に出力するデータ情報の全てを不揮発性メモリセルの初期化状態のデータとする。
前記書き込み異常の痕跡は、前記単位メモリ領域のデータ領域に対するプログラムの完了によって所定の状態に変更されるフラグ(FLG)が、所定に状態になっていないことである。
前記書き込み異常の痕跡は、同じ論理アドレスに世代の異なる複数の物理アドレスが割り当てられて残っていることである。
〔3〕最大限消去単位全体を書き上げるまで物理アドレスの割り当てを変更しない(ブロックプログラム)という点について別の観点による半導体装置は、不揮発性メモリと、外部からの指示に従って前記不揮発性メモリを制御するコントローラとを有する。前記不揮発性メモリは、物理アドレスが割り当てられた複数の単位メモリ領域を有し、前記単位メモリ領域は閾値電圧の初期化とプログラムにより情報を書き込み可能にされる複数の不揮発性メモリセルを有する。前記単位メモリ領域は初期化単位とされ、初期化単位は複数のプログラム単位を有する。前記コントローラは、外部から供給される所定の書き込みコマンドに応答して、一つの初期化単位を上限として複数のプログラム単位のデータ領域に情報を格納するとき、外部から与えられた論理アドレスに対応する物理アドレスの割り当てを行ない、割り当てられた物理アドレスの初期化済み単位メモリ領域の一つのプログラム単位に論理アドレス情報と一世代更新したその世代情報とデータ情報を書き込み、当該単位メモリ領域の別のプログラム単位に残りのデータ情報を書き込み、全てのデータ情報の書き込みを完了してから、同一論理アドレスに関する一つ前の世代情報を有する単位メモリ領域を初期化する。
上記手段を2つの形態に分けて考えると、第1の形態に係る半導体装置においてコントローラは次の制御を行う。外部から供給される所定の書き込みコマンドに応答して、一つの初期化単位を上限として複数のプログラム単位のデータ領域に情報を格納するとき、外部から与えられた論理アドレスに対応する物理アドレスが割り当てられていないときは、当該論理アドレスに対応する第1の物理アドレスの割り当てを行なう。第1の物理アドレスの初期化済み単位メモリ領域に論理アドレス情報とその世代情報を格納した後、当該論理アドレスに対応する第2の物理アドレスの割り当てを行なう。第2の物理アドレスの初期化済み単位メモリ領域の一つのプログラム単位に論理アドレス情報と一世代更新したその世代情報とデータ情報を書き込み、当該単位メモリ領域の別のプログラム単位に残りのデータ情報を書き込み、全てのデータ情報の書き込みを完了してから、前記第1の物理アドレスの単位メモリ領域を初期化する。
第2の形態に係る半導体装置においてコントローラは次の制御を行う。外部から供給される所定の書き込みコマンドに応答して、一つの初期化単位を上限として複数のプログラム単位のデータ領域に情報を格納するとき、外部から与えられた論理アドレスに対応する第3の物理アドレスが割り当てられているときは、当該論理アドレスに対応する第4の物理アドレスの割り当てを行なう。第4の物理アドレスの初期化済み単位メモリ領域の一つのプログラム単位に論理アドレス情報と一世代更新したその世代情報とデータ情報を書き込み、当該単位メモリ領域の別のプログラム単位に残りのデータ情報を書き込む。全てのデータ情報の書き込みを完了してから、前記第3の物理アドレスの単位メモリ領域を初期化する。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、不揮発性メモリの書き込み途上における電源遮断による異常を容易に外部に知らせることができる。
消去単位がプログラム単位よりも大きい不揮発性メモリに対する書き込み処理時間を短縮することができる。
《ファイルメモリの全体的な構成》
図1にはファイル管理機能を備えたファイルメモリのブロック図が示される。ファイルメモリ1(FMRR)は、特に制限されないが、単結晶シリコンのような1個の半導体基板に相補型MOSなどの集積回路製造技術によって形成される。このファイルメモリ1(FMRR)は不揮発性メモリとしてフラッシュメモリ2、メモリコントローラ(CONT)3、バッファRAM(BRAM)4、外部インタフェース(I/F)5を有する。外部インタフェース5にはホスト装置(HOST)6が接続される。
図1にはファイル管理機能を備えたファイルメモリのブロック図が示される。ファイルメモリ1(FMRR)は、特に制限されないが、単結晶シリコンのような1個の半導体基板に相補型MOSなどの集積回路製造技術によって形成される。このファイルメモリ1(FMRR)は不揮発性メモリとしてフラッシュメモリ2、メモリコントローラ(CONT)3、バッファRAM(BRAM)4、外部インタフェース(I/F)5を有する。外部インタフェース5にはホスト装置(HOST)6が接続される。
前記フラッシュメモリ2はメモリアレイ(MARY)8と書き込み読出し回路(WRC)9を有する。メモリアレイ8は閾値電圧の初期化とプログラムにより情報を書き込み可能にされる複数の不揮発性メモリセル7を有する。不揮発性メモリセル7は、特に制限されないが電荷蓄積領域に絶縁膜を介してメモリゲートを重ねたスタックドゲート構造のメモリトランジスタによって構成される。例えばメモリセル7のドレインがビット線BLに、ソースがソース線SLに、メモリゲートがワード線WLに接続される。メモリセル7のソース、ドレイン及びウェルに回路の接地電位を印加し、メモリゲートに負の高電圧を印加して電荷蓄積領域の電子を放出させる方向に移動させることで閾値電圧を低くすることができる。ここでは、メモリセル7の閾値電圧を低くすることを初期化(消去)と称する。また、メモリセル7のドレインからソースに電流を流し、ソース端の基板表面でホットエレクトロンを発生させ、これをメモリゲートの高電圧による電界で電荷蓄積領域に注入することで閾値電圧を高くすることができる。メモリセル7の閾値電圧を高くすることをプログラムと称する。記憶情報の読出しは、ビット線を予めプリチャージしておき、所定の読出し判定レベルをワード線選択レベルとしてメモリトランジスタを選択し、ビット線に流れる電流変化若しくはビット線に現れる電圧レベル変化によって記憶情報を判定する。特に図示はしないがメモリアレイ8には書き込みデータや読出しデータをラッチするセンスラッチ回路、及びメモリトランジスタを選択するためのアドレスデコーダやセレクタ等を有する。書き込み読出し回路(WRC)9はプログラム及び消去のための高電圧発生回路を備えると共に、メモリセル7に対するプログラム、消去、読出しの各動作手順を制御するためのシーケンサを有する。
メモリコントローラ3はホスト装置6との間のインタフェース制御(ホストインタフェース機能)とフラッシュメモリ2及びBRAM4に対するアクセス制御(アクセス制御機能)を行う。メモリコントローラ3のホストインタフェース機能は例えばハードディスク装置互換のIDE(Integrated Device Electronics)仕様に準拠する。ホスト装置6は論理アドレスを指定してデータの読出し又は書き込みを要求する。メモリコントローラ3は論理アドレスに対応するフラッシュメモリ2の物理アドレスを割り当て、その割り当ての管理とフラッシュメモリ2に割り当てた物理アドレスに対するファイルアクセスを指示する。BRAM4はフラッシュメモリ2から読み出されたデータ、又はフラッシュメモリ2に書き込むデータ等を一次的に保持する。
図2にはメモリアレイ8における不揮発性メモリセル7のアレイ構成が例示される。メモリアレイ8の記憶領域は、セクタSCT0〜SCT3(代表してSCTとも記す)の4セクタで1個のブロックBLKを構成し、全体として複数ブロックBLKを有する。一つのブロックBLKが一つの論理アドレスに対応される。要するに論理アドレスに対応して割り当てられる物理アドレスはブロックBLK単位となる。1セクタ当たり例えば2キロバイト(KB)の記憶容量を有する。ブロックBLKは消去単位(ERS_UNIT)とされ、消去対象とされる一つのブロックBLKに含まれる全ての不揮発性メモリセルに前記消去のための高電圧パルスが一括して印加される。セクタSCTはプログラム単位(PGM_UNIT)とされ、プログラム対象とされる一つのセクタSCTの全ての不揮発性メモリセルにワード線を介してプログラム用の高電圧パルスが印加される。特に制限されないが、各セクタSCT0〜SCT3はデータ領域DFLDと管理領域CFLDを有する。特に制限されないが、データ領域DFLDにおいて1個の不揮発性メモリセル7は4値で情報を記憶する。記憶容量を増すためである。管理領域CFLDにおいて1個の不揮発性メモリセル7は2値で情報を記憶する。信頼性を優先させるためである。
図3には4値による記憶情報とその閾値電圧分布が例示される。4値による記憶情報は、“11”データ、“01”データ、“00”データ、“10”データとされる。“11”データは消去(ERS)によって得る。“01”データ、“00”データ、“10”データはプログラム(01PGM,00PGM,10PGM)によって得る。記憶情報“10”、“00”、“01”に応じてメモリセルの閾値電圧が相違される。その相違は夫々のプログラム01PGM,00PGM,10PGMにおいて高電圧パルスの印加時間又は印加レベルを相違されることによって制御される。読出し動作では、 “11”データ、“01”データ、“00”データ、“10”データを識別するためのワード線選択レベルを相違させる。2値による情報記憶は消去(ERS)によって“1”データを記憶し、プログラム01PGMによって“0”データを記憶する。“11”データの閾値電圧分布と“01”データの閾値電圧分布は相互に離れているので、4値記憶よりも2値記憶の方が情報記憶の信頼性が高い。
《ファイルアクセス制御機能》
メモリコントローラ3によるファイルアクセス制御機能を説明する。メモリコントローラ3は論理アドレスと物理アドレスの対応を図示を省略する論理・物理変換テーブル(論物変換テーブルとも記す)に形成する。論物変換テーブルはパワーオンでフラッシュメモリ2からBRAM4にロードされ、パワーオフのときBRAM4からフラッシュメモリ2にストアされる。メモリコントローラ3はホスト装置6からアクセス要求があると、論物変換テーブルを参照してその要求に係る論理アドレスに対応する物理アドレスを検索する。検索ヒットの場合には対応するブロックの先頭セクタから管理領域CFLDの情報を読み出し、対応する論理アドレス情報LAが含まれているかを判定する。対応する論理アドレス情報が含まれていればその物理アドレスのブロックBLKを正規の割り当てブロックとして認識し、ホスト装置からの指示に応答する処理をフラッシュメモリ2に指示する。対応する論理アドレス情報が含まれていなければその物理アドレスのブロックBLKを未割り当てブロックとして認識し、全体を消去し、論物変換テーブルからそのエントリを削除する。論物変換テーブルに対する検索ミスの場合には、論理アドレスに対応する物理アドレスを割り当てて、その変換エントリをテーブルに追加し、ホスト装置6からの指示に応答する処理をフラッシュメモリ2に指示する。データの書き込みを行なう場合には、対応する既存の物理アドレスに対して上書きを行なわず、未割り当ての別の物理アドレスに新たな割り当てを行ない、新たに割り当てた物理アドレスに既存物理アドレスのデータをコピーしてからそこに新たなデータの書き込みを行なう。このときには同一論理アドレスが異なる物理アドレスに割り当てられるので、そのような物理アドレスを世代管理によって識別可能にする。世代管理のために、管理領域CFLDには世代情報GRを記録する。世代情報は未割り当ての物理アドレスを初めて論理アドレスに割り当てたとき世代情報をGR0(世代0)とし、同じ論理アドレスに対して別の物理アドレスを割り当てる毎に世代を+1した世代情報を格納していく。データ領域DFLDにはデータ情報DATが格納される。同じ論理アドレスに対して割り当て世代の異なる物理アドレスが複数存在する場合には、最も古い世代の物理アドレスを用いる。
メモリコントローラ3によるファイルアクセス制御機能を説明する。メモリコントローラ3は論理アドレスと物理アドレスの対応を図示を省略する論理・物理変換テーブル(論物変換テーブルとも記す)に形成する。論物変換テーブルはパワーオンでフラッシュメモリ2からBRAM4にロードされ、パワーオフのときBRAM4からフラッシュメモリ2にストアされる。メモリコントローラ3はホスト装置6からアクセス要求があると、論物変換テーブルを参照してその要求に係る論理アドレスに対応する物理アドレスを検索する。検索ヒットの場合には対応するブロックの先頭セクタから管理領域CFLDの情報を読み出し、対応する論理アドレス情報LAが含まれているかを判定する。対応する論理アドレス情報が含まれていればその物理アドレスのブロックBLKを正規の割り当てブロックとして認識し、ホスト装置からの指示に応答する処理をフラッシュメモリ2に指示する。対応する論理アドレス情報が含まれていなければその物理アドレスのブロックBLKを未割り当てブロックとして認識し、全体を消去し、論物変換テーブルからそのエントリを削除する。論物変換テーブルに対する検索ミスの場合には、論理アドレスに対応する物理アドレスを割り当てて、その変換エントリをテーブルに追加し、ホスト装置6からの指示に応答する処理をフラッシュメモリ2に指示する。データの書き込みを行なう場合には、対応する既存の物理アドレスに対して上書きを行なわず、未割り当ての別の物理アドレスに新たな割り当てを行ない、新たに割り当てた物理アドレスに既存物理アドレスのデータをコピーしてからそこに新たなデータの書き込みを行なう。このときには同一論理アドレスが異なる物理アドレスに割り当てられるので、そのような物理アドレスを世代管理によって識別可能にする。世代管理のために、管理領域CFLDには世代情報GRを記録する。世代情報は未割り当ての物理アドレスを初めて論理アドレスに割り当てたとき世代情報をGR0(世代0)とし、同じ論理アドレスに対して別の物理アドレスを割り当てる毎に世代を+1した世代情報を格納していく。データ領域DFLDにはデータ情報DATが格納される。同じ論理アドレスに対して割り当て世代の異なる物理アドレスが複数存在する場合には、最も古い世代の物理アドレスを用いる。
《物理アドレスのダミー割り当て》
特にメモリコントローラ3は、ホスト装置6から与えられた論理アドレスに対応する物理アドレスが割り当てられていないときは以下の処理を行なう。当該論理アドレスに対応する物理アドレスの割り当てを行ない、始めてその論理アドレスの割り当てを行なった物理アドレスの初期化済みブロックBLKに論理アドレス情報とその世代情報を格納してダミーの割り当てを行なう。ダミーの割り当てに対してはデータ情報の書き込みを行なわず、メモリコントローラ3は、当該論理アドレスに対応する別の物理アドレスの割り当てを行ない、当該別の物理アドレスの初期化済みメモリブロックBLKに論理アドレス情報と一世代更新したその世代情報を書き込んでからデータ情報の書き込みを行う。書き込み完了後にダミー割り当てを行なったメモリブロックを消去する。この動作を図4乃至図22を用いて説明する。
特にメモリコントローラ3は、ホスト装置6から与えられた論理アドレスに対応する物理アドレスが割り当てられていないときは以下の処理を行なう。当該論理アドレスに対応する物理アドレスの割り当てを行ない、始めてその論理アドレスの割り当てを行なった物理アドレスの初期化済みブロックBLKに論理アドレス情報とその世代情報を格納してダミーの割り当てを行なう。ダミーの割り当てに対してはデータ情報の書き込みを行なわず、メモリコントローラ3は、当該論理アドレスに対応する別の物理アドレスの割り当てを行ない、当該別の物理アドレスの初期化済みメモリブロックBLKに論理アドレス情報と一世代更新したその世代情報を書き込んでからデータ情報の書き込みを行う。書き込み完了後にダミー割り当てを行なったメモリブロックを消去する。この動作を図4乃至図22を用いて説明する。
図4に代表的に示されたブロックBLK0〜BLK2は初期状態にされている。ホスト装置6から書き込みコマンドが与えられたとき、当該コマンドに付随する論理アドレスを検索キーとして論物変換テーブルが検索される。検索の結果、論物変換テーブルに当該論理アドレスに対応するエントリが存在していないことが判明した(検索ミス)とする。則ちその論理アドレスに対応する物理アドレスが割り当てられていない。このときは、例えばその論理アドレスをブロックBLK0の物理アドレスに割り当るために、論物変換テーブルにその論理アドレスと物理アドレスとの対応を示すエントリを追加する。そして、その割り当てに従って、メモリコントローラ3は図5のようにブロックBLK0の管理領域CFLDに論理アドレス情報LA0と割り当て世代が最初の世代(世代0)であることを示す世代情報GR0を書き込む。このメモリブロックBLK0の割り当てはダミー割り当て(管理割り当て)とし、ブロックBLK0のデータ領域にはデータの書き込みを行なわない。次にメモリコントローラ3は同じ論理アドレスを更に別のブロックBLK1の物理アドレスに割り当てるために、論物変換テーブルにその論理アドレスと物理アドレスとの対応を示すエントリを追加する。そして、その割り当てに従って、メモリコントローラ3は図6のようにブロックBLK1の管理領域CFLDに論理アドレス情報LA0と割り当て世代が第2世代(世代1)であることを示す世代情報GR1を書き込む。当該ブロックBLK1のデータ領域DFLDにはセクタ0のデータ情報DAT0を書き込み開始し、データ情報DAT0が書き込み完了される(図7)。データ情報DAT0の書き込み完了後に世代0のメモリブロックBLK0が消去される(図8)。
続けてセクタSCT1に対するデータ情報DAT1の書き込みが指示されている場合には、メモリコントローラ3は同じ論理アドレスを更に別のブロックBLK2の物理アドレスに割り当てるために、論物変換テーブルにその論理アドレスと物理アドレスとの対応を示すエントリを追加する。そして、その割り当てに従って、メモリコントローラ3は、図9のようにブロックBLK2の管理領域CFLDに論理アドレス情報LA0及び割り当て世代が第3世代(世代2)であることを示す世代情報GR2を書き込む。当該ブロックBLK2のセクタSCT0にはブロックBLK1が保有するセクタSCT0のデータ情報DAT0をコピー開始し、そのデータコピーが完了される(図10)。データコピーは、ソースブロック(BLK1)からリードしたデータをBRAM4に蓄え、そのデータを書き込みデータとしてディスティネーションブロック(BLK2)に書き込む処理とされる。この後、当該ブロックBLK2のデータ領域DFLDにはセクタSCT1のデータ情報DAT1を書き込む(図11)。データ情報DAT1の書き込み完了後に世代1のメモリブロックBLK1が消去される(図12)。
続けてセクタSCT2に対するデータ情報DAT2の書き込みが指示されている場合には、メモリコントローラ3は同じ論理アドレスを更に別のブロックBLK0の物理アドレスに割り当てるために、論物変換テーブルにその論理アドレスと物理アドレスとの対応を示すエントリを追加する。そして、その割り当てに従って、メモリコントローラ3は、図13のようにブロックBLK0の管理領域CFLDに論理アドレス情報LA0及び割り当て世代が第4世代(世代3)であることを示す世代情報GR3を書き込む。当該ブロックBLK0のセクタSCT0にはブロックBLK2が保有するセクタSCT0のデータ情報DAT0をコピー開始する(図14)。同じく、当該ブロックBLK0のセクタSCT1にはブロックBLK2が保有するセクタSCT1のデータ情報DAT1をコピーする(図15)。この後、当該ブロックBLK0のデータ領域DFLDにはセクタSCT2のデータ情報DAT2を書き込む(図16)。データ情報DAT2の書き込み完了後に世代2のメモリブロックBLK2が消去される(図17)。
続けてセクタSCT3に対するデータ3の書き込みが指示されている場合には、メモリコントローラ3は同じ論理アドレスを更に別のブロックBLK1の物理アドレスに割り当てるために、論物変換テーブルにその論理アドレスと物理アドレスとの対応を示すエントリを追加する。そして、その割り当てに従って、メモリコントローラ3は、図18のようにブロックBLK1の管理領域CFLDに論理アドレス情報LA0及び割り当て世代が第5世代(世代4)であることを示す世代情報GR4を書き込む。当該ブロックBLK1のセクタSCT0にはブロックBLK0が保有するセクタSCT0のデータ情報DAT0をコピーする(図19)。同じく、当該ブロックBLK1のセクタSCT1にはブロックBLK0が保有するセクタSCT1のデータ情報DAT1をコピーし、当該ブロックBLK1のセクタSCT2にはブロックBLK0が保有するセクタSCT2のデータ情報DAT2をコピーする(図20)。この後、当該ブロックBLK1のデータ領域DFLDにはセクタSCT3のデータ情報DAT3を書き込む(図21)。データ情報DAT3の書き込み完了後に世代3のメモリブロックBLK0が消去される(図22)。
特に図示はしないが、ホスト装置6から書き込みコマンドが与えられたとき、当該コマンドに付随する論理アドレスを検索キーとして論物変換テーブルを検索したとき、論物変換テーブルに当該論理アドレスに対応するエントリが存在していることが判明した(検索ヒット)時は、図4A〜図4Eのダミー割り当て(管理割り当て)に係る処理は必要ない。例えばヒットしたメモリブロックBLK0の状態が図4Eであれば、図4Fから必要なところまで処理を行なえばよい。
図23〜図38には図4〜図22に対する書き込みにおいて最初にダミー割り当て(管理割り当て)を行なわずに実行した時の処理手順を示す。出発点は図4と同じである。最初にダミー割り当て(管理割り当て)を行なわないから、最初に割り当てられたメモリブロックBLK0に対してセクタSCT0のデータ情報DAT0の書き込みが行なわれ(図23、図24)、その書き込みが終わったら、次の初期化ブロックBLK1の割り当てが行なわれて書き込みが開始される(図25)。図26以降の処理は図10以降の処理とブロックの割り当て状態が異なるだけで、基本的な処理は同じである。
物理アドレスのダミー割り当て(管理割り当て)を伴う書き込み処理の途中でファイルメモリ1の動作電源が遮断されたときの状態について説明する。その状態は5状態に大別することができる。第1の場合として、図5のようにダミー割り当て(管理割り当て)を行なったブロックBLK0に論理アドレス情報とその世代情報を格納するとき電源遮断を生じた場合には、その管理領域CFLDの論理アドレス情報及び世代情報は不定になるが、そのデータ領域DFLDは初期状態のままである。第2の場合として、図6のようにダミー割り当て(管理割り当て)の次の第2世代で割り当てられるブロックに論理アドレス情報と一世代更新した世代情報とを格納するとき電源遮断を生じた場合には、第2世代のブロックの情報は不定になるが、第1世代の割り当てブロックにおいて管理領域CFLDは有意の管理情報を保持し、データ領域DFLDは初期状態を維持している。第3の場合として、図6のようにダミー割り当て(管理割り当て)の次の第2世代で割り当てられるブロックBLK1のデータフィールドDFLDにデータ情報を格納しているとき電源遮断を生じた場合には、当該第2世代のブロックBLK1のデータフィールドDFLDのデータ情報は不定になってもその管理領域の情報は確定し、初代割り当てに係るブロックBLK0のデータ領域DFLDは初期状態を維持している。第4の場合は、第3世代以降の割り当てブロックにおいて管理領域CFLDのデータ情報DATが不定になる場合である。第5の場合は、第3世代以降の割り当てブロックにおいてデータ領域DFLDのデータ情報DATが不定になる場合である。
第1の場合の電源遮断を生じた後にパワーオンされたとき、その電源遮断時に書き込みを行なっていた論理アドレスに対するアクセスが指示されても、論物変換テーブルの関係を対応する物理アドレスの管理領域の情報(論理アドレス情報及び世代情報)から確認することができない。よってこの場合には、その物理アドレスのブロックを初期化することにより、当該物理アドレスは論理アドレスに割り当てられていない未割り当てブロックとして利用可能になる。
第2の場合の電源遮断を生じた後にパワーオンされたとき、その電源遮断時に書き込みを行なっていた論理アドレスに対するアクセスが指示されると、論物変換テーブルにおいて前記論理アドレスに対応する物理アドレスは第1世代の物理アドレスと第2世代の物理アドレスとなる。こもとき、第2世代の物理アドレスの管理領域の情報(論理アドレス情報及び世代情報)からはそれを確認できないので、当該第2世代の物理アドレスは未割り当てブロックとして利用可能になる。第1世代の物理アドレスからは全部初期状態のデータを読み出すことができる。
第3の場合の電源遮断を生じた後にパワーオンされたとき、その電源遮断時に書き込みを行なっていた論理アドレスに対するアクセスが指示されると、論物変換テーブルにおいて前記論理アドレスに対応する物理アドレスは第1世代の物理アドレスと第2世代の物理アドレスとなる。その場合には世代の古い方の第1世代の物理アドレスから全部初期状態のデータを読み出すことができる。
第4の場合の電源遮断を生じた後にパワーオンされたとき、その電源遮断時に書き込みを行なっていた論理アドレスに対するアクセスが指示されると、論物変換テーブルにおいて前記論理アドレスに対応する物理アドレスは前後する2世代分の物理アドレスとなる。しかし、相対的に新しい世代の物理アドレスの管理領域の情報(論理アドレス情報及び世代情報)からはそれを確認できないので、当該新しい世代の物理アドレスは未割り当てブロックとして利用可能になる。相対的に古い世代の物理アドレスからは当該世代において正規のデータ状を読み出すことができる。
第5の場合の電源遮断を生じた後にパワーオンされたとき、その電源遮断時に書き込みを行なっていた論理アドレスに対するアクセスが指示されると、論物変換テーブルにおいて前記論理アドレスに対応する物理アドレスは前後する2世代分の物理アドレスとなる。しかし、その場合には世代の古い方の物理アドレスから当該世代において正規のデータ情報を読み出すことができる。
データの読出しにおいて、書き込み途中での電源遮断により異常のある論理アドレスに対する読出しを行なったとき、読出しデータが全て初期状態のデータであるときは、対応する物理アドレスのデータがどの世代においても正規データでないことを意味することになる。ホスト装置は、読出しコマンドによって返されるリードデータから其れを検出することができる。特別な認識ハードウェアやインタフェースプロトコルを必要としない。ホスト装置は、リードデータの全て初期状態のデータであるときはその論理アドレスに対応する物理アドレスに異常の可能性があることを認識するソフトウェアを追加するだけで、対処することが可能になる。
《ブロックプログラム》
メモリコントローラ3は、ホスト装置6から拡張書き込みコマンドが与えられたときはブロックプログラムによる書き込みを行なう。ブロックプログラムとは、セクタ毎に物理アドレスの割り当て世代を更新してきた上記処理を、最大限1ブロックの範囲でセクタを切り換えても物理アドレスの割り当て世代を更新しないようにデータの書き込みを行なう処理を意味する。図39〜図45に基づいてブロックプログラムによるデータ書き込み処理を説明する。
メモリコントローラ3は、ホスト装置6から拡張書き込みコマンドが与えられたときはブロックプログラムによる書き込みを行なう。ブロックプログラムとは、セクタ毎に物理アドレスの割り当て世代を更新してきた上記処理を、最大限1ブロックの範囲でセクタを切り換えても物理アドレスの割り当て世代を更新しないようにデータの書き込みを行なう処理を意味する。図39〜図45に基づいてブロックプログラムによるデータ書き込み処理を説明する。
ブロックBLK0〜BLK2の初期状態は図4の通りとする。ホスト装置6から拡張書き込みコマンドが与えられたとき、当該コマンドに付随する論理アドレスを検索キーとして論物変換テーブルが検索される。検索の結果が検索ミスであったとする。その論理アドレスに対応する物理アドレスが割り当てられていないので、例えばその論理アドレスをブロックBLK0の物理アドレスに割り当てるために、論物変換テーブルにその論理アドレスと物理アドレスとの対応を示すエントリを追加する。そして、その割り当てに従って、メモリコントローラ3は図39のようにブロックBLK0の管理領域CFLDに論理アドレス情報LA0と割り当て世代が第1世代(世代0)であることを示す世代情報GR0を書き込む。このメモリブロックBLK0の割り当てはダミー割り当てとし、ブロックBLK0のデータ領域にはデータの書き込みを行なわない。次にメモリコントローラ3は同じ論理アドレスを更に別のブロックBLK1の物理アドレスに割り当てるために、論物変換テーブルにその論理アドレスと物理アドレスとの対応を示すエントリを追加する。そして、その割り当てに従って、メモリコントローラ3は図40のようにブロックBLK1の管理領域CFLDに論理アドレス情報LA0と割り当て世代が第2世代(世代1)であることを示す世代情報GR1を書き込む。当該ブロックBLK1のデータ領域DFLDにはセクタ0のデータ情報DAT0を書き込み開始し、データ情報DAT0が書き込み完了される(図41)。次に、データ情報DAT1の書き込みが指示されているときはメモリブロックBLK1のセクタSCT1にデータ情報DAT1を書き込む(図42)。続けてデータ情報DAT2の書き込みが指示されているときは、メモリブロックBLK1のセクタSCT2にデータ情報DAT2を書き込み(図43)、データ情報DAT3の書き込みが指示されているときはメモリブロックBLK1のセクタSCT3にデータ情報DAT3を書き込む(図44)。メモリブロックBLKに対するデータ書き込みを完了した後に世代0のメモリブロックBLK0が消去される(図45)。
上記よりデータの書き込み効率を向上させることができる。物理アドレスのダミー割り当てに対する効果は上記と同じである。
上記ブロックプログラムの手法は物理アドレスのダミー割り当て手法とは切り離して適用することができる。
《フラグを用いた初期化データ出力》
データの読出しにおいて、書き込み途中での電源遮断により異常のある論理アドレスに対する読出しを行なったとき、読出しデータを全て初期状態のデータとするのに替えて、フラグを用いる構成を説明する。これは、前記物理アドレスのダミー割り当て(管理割り当て)に代えて適用可能な構成である。
データの読出しにおいて、書き込み途中での電源遮断により異常のある論理アドレスに対する読出しを行なったとき、読出しデータを全て初期状態のデータとするのに替えて、フラグを用いる構成を説明する。これは、前記物理アドレスのダミー割り当て(管理割り当て)に代えて適用可能な構成である。
図46にはフラグを用いるためのファイルメモリ1Aの構成が例示される。基本的な構成は図1と同じである。メモリアレイ8AはセクタSCTのデータ領域DFLDにデータ情報DATの他に1のメモリセルを用いたフラグFLGを配置した点がメモリアレイ8と異なる。4値でデータ情報を格納する前記セクタSCTに対して“10”PGMのプログラム処理を完了することによってフラグFLGは“11”のローレベルから“10”のハイレベルに変更される。“10”PGMのプログラム処理が完了される前に動作電源が遮断されたときフラグFLGは“11”データのままになっている。セクタSCTに対するプログラム処理を完了して始めてフラグFLGはハイレベルとしての“10”データに変化される。書き込み読出し回路9AはフラグFLGのローレベルによって、データ情報DATのデータ状態に拘わらず、“11”データ(初期化データ)として出力する機能を備える。例えば、データ情報DATのセンスラッチ11の出力に対してビット毎にフラグFLGのセンスラッチ12の出力と論理和を採る回路13を備える。回路13は論理和ゲートであることを要しない。例えば、フラグFLGの出力がローレベルのときにはデータ情報DATのセンスラッチ11の入力ノードをビット線側に接続し、フラグFLGの出力がハイレベルのときにはデータ情報DATのセンスラッチ11の入力ノードをハイレベルに固定する回路構成などであってよい。メモリコントローラ3Aは物理アドレスのダミー割り当て機能を備えることを要しない。
図47〜図62にはフラグ操作を伴うデータ書き込み処理が示される。出発点は図4と同じである。最初にダミー割り当て(管理割り当て)を行なわないから、最初に割り当てられたメモリブロックBLK0に対してセクタSCT0のデータ情報DAT0の書き込みが行なわれ、最後の“10”プログラムのときフラグFLGにハイレベルのデータが書き込まれる(図47、図48)。データ情報DAT1の書き込みが指示されているときは、次の初期化ブロックBLK1の割り当てが行なわれて、そのセクタSCT0へのデータ情報DAT0のコピーの最後の“10”プログラムのときフラグFLGにハイレベルのデータが書き込まれる(図49、図50)。次にブロックBLK1のセクタSCT1にデータ情報DAT1が書き込まれ、最後の“10”プログラムのときフラグFLGにハイレベルのデータが書き込まれる(図51)、前の世代のブロックBLK0が初期化される(図52)。更にデータ情報DAT2の書き込みが指示されているときは、続けて次の初期化ブロックBLK2の割り当てが行なわれ、ブロックBLK2のセクタSCT0にブロックBLK1のデータ情報DAT0がコピーされ、このコピーの最後の“10”プログラムのときフラグFLGにハイレベルのデータが書き込まれる(図53、図54)。更にブロックBLK2のセクタSCT1にブロックBLK1のデータ情報DAT1がコピーされ、最後の“10”プログラムのときフラグFLGにハイレベルのデータが書き込まれる(図55)。続けて、ブロックBLK1のセクタSCT2にデータ情報DAT2が書き込まれ、最後の“10”プログラムのときフラグFLGにハイレベルのデータが書き込まれる(図56)。前の世代のブロックBLK1が初期化される(図57)。更にデータ情報DAT3の書き込みが指示されているときは、続けて次の初期化ブロックBLK0の割り当てが行なわれ、ブロックBLK0のセクタSCT0にブロックBLK2のデータ情報DAT0がコピーされ、このコピーの最後の“10”プログラムのときフラグFLGにハイレベルのデータが書き込まれる(図58、図59)。更にブロックBLK0のセクタSCT1にブロックBLK2のデータ情報DAT1がコピーされ、“10”プログラムのときフラグFLGにハイレベルのデータが書き込まれ、同様に当該ブロックBLK0のセクタSCT2にデータ情報DAT2がコピーされ、FLGにハイレベルのデータが書き込まれる(図60)。更にブロックBLK0のセクタSCT3にデータ情報DAT3が書き込まれ、FLGにハイレベルのデータが書き込まれる(図61)。前の世代のブロックBLK2が初期化される(図62)。
上記書き込み処理において、書き込み対象のセクタのデータフィールドDFLDに対してする“10”プログラムが完了する前に電源遮断があると、書き込み対象フラグFLGは“10”データにならない。このようなセクタを含むブロックBLKは論理アドレスへの割り当てが行われていて、書き込み対象フラグFLGが“10”データになっていない。従ってこのような割り当て済み物理アドレスがリード対象にされたとき、“10”データになっていないフラグFLGの作用で当該セクタのリードデータは全ビット消去状態(初期化状態)とされ、図1の場合と同じように、ホスト装置6は当該論理アドレスに書き込み異常のあることを検出することができる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、不揮発性メモリセルはスタックゲート構造に限定されず、選択トランジスタ部とメモリトランジスタ部とを分離したスプリットゲート構造のメモリトランジスタを採用することができる。メモリセルのプログラムはホットエレクトロンによる電子の注入に限定されずトンネル酸化膜を介して基板側から電子を注入する形式などであってもよい。またメモリセルに対する初期化もFNトンネルに限定されず、基板側からのホットホールの注入で行なってもよい。また、セクタのデータフィールドは4値による情報記憶に限定されず8値記憶などであってもよい。管理領域も2値記憶に限定されず適宜変更可能である。データ領域と管理領域のデータ記憶形式を同じにすることも可能である。半導体装置は1チップに限定されず不揮発性メモリとコントローラをマルチチップで構成しても良い。不揮発性メモリはフラッシメモリに限定されず、EEPROM、その他の記憶形式の不揮発性メモリにも広く適用することができる。
1、1A ファイルメモリ
2、2A フラッシュメモリ
3、3A メモリコントローラ
6 ホスト装置
7 不揮発性メモリセル
8、8A メモリアレイ
9、9A 書き込み読出し回路
BLK ブロック(初期化単位)
SCT セクタ(プログラム単位)
DFLD データ領域
CFLD 管理領域
FLG フラグ
2、2A フラッシュメモリ
3、3A メモリコントローラ
6 ホスト装置
7 不揮発性メモリセル
8、8A メモリアレイ
9、9A 書き込み読出し回路
BLK ブロック(初期化単位)
SCT セクタ(プログラム単位)
DFLD データ領域
CFLD 管理領域
FLG フラグ
Claims (17)
- 不揮発性メモリと、外部からの指示に従って前記不揮発性メモリを制御するコントローラとを有する半導体装置であって、
前記不揮発性メモリは、物理アドレスが割り当てられた複数の単位メモリ領域を有し、前記単位メモリ領域は閾値電圧の初期化とプログラムにより情報を書き込み可能にされる複数の不揮発性メモリセルを有し、
前記コントローラは、外部から与えられた論理アドレスに対応する物理アドレスが割り当てられていないとき、当該論理アドレスに対応する第1の物理アドレスの割り当てを行ない、第1の物理アドレスの初期化済み単位メモリ領域に論理アドレス情報とその世代情報を格納した後、当該論理アドレスに対応する第2の物理アドレスの割り当てを行ない、第2の物理アドレスの初期化済み単位メモリ領域に論理アドレス情報と一世代更新したその世代情報とデータ情報を書き込む半導体装置。 - 前記コントローラは、前記第2の物理アドレスの初期化済み単位メモリ領域に論理アドレス情報と一世代更新したその世代情報とデータ情報を書き込んだ後に、前記第1の物理アドレスの単位メモリ領域を初期化する請求項1記載の半導体装置。
- 前記コントローラは、外部から与えられた論理アドレスに応ずる記憶情報を外部に出力するとき、論理アドレス情報が等しく世代情報が異なる複数の物理アドレスがある場合には古い世代情報を保有する物理アドレスのデータ情報を外部に出力する請求項2記載の半導体装置。
- 前記コントローラは、外部から与えられた論理アドレスに対応して第3の物理アドレスが割り当てられているとき、当該論理アドレスに対応する第4の物理アドレスの割り当てを行ない、第4の物理アドレスの初期化済み単位メモリ領域に論理アドレス情報と一世代更新したその世代情報とデータ情報を書き込み、書き込んだ後に前記第3の物理アドレスの単位メモリ領域を初期化する請求項3記載の半導体装置。
- 前記コントローラは、前記データ情報を書き込む不揮発性メモリセルには4値以上の多値情報のプログラムを行い、前記論理アドレス情報と世代情報を書き込む不揮発性メモリセルには2値情報のプログラムを行なう請求項4記載の半導体装置。
- 単位メモリ領域は初期化単位であり、初期化単位は複数のプログラム単位を有する請求項5記載の半導体装置。
- 前記コントローラは、第1の書き込みコマンドに応答するときは、外部から指定された一つの論理アドレスに対するデータ情報をプログラム単位で全て第2の物理アドレスの単位メモリ領域に書き込むのを待って、前記第1の単位メモリ領域を初期化する請求項6記載の半導体装置。
- 前記コントローラは、第1の書き込みコマンドに応答するときは、外部から指定された一つの論理アドレスに対するデータ情報をプログラム単位で全て第4の物理アドレスの単位メモリ領域に書き込むのを待って、前記第3の単位メモリ領域を初期化する請求項7記載の半導体装置。
- 前記コントローラは、第2の書き込みコマンドに応答するときは、外部から指定された一つの論理アドレスに対するデータ情報を一つのプログラム単位だけ第2の物理アドレスの単位メモリ領域に書き込むのを待って、前記第1の単位メモリ領域を初期化する請求項6記載の半導体装置。
- 前記コントローラは、第2の書き込みコマンドに応答するときは、外部から指定された一つの論理アドレスに対するデータ情報を一つのプログラム単位だけ第4の物理アドレスの単位メモリ領域に書き込むのを待って、前記第3の単位メモリ領域を初期化する請求項9記載の半導体装置。
- 不揮発性メモリと、外部からの指示に従って前記不揮発性メモリを制御するコントローラとを有する半導体装置であって、
前記不揮発性メモリは、物理アドレスが割り当てられた複数の単位メモリ領域を有し、前記単位メモリ領域は閾値電圧の初期化とプログラムにより情報を書き込み可能にされる複数の不揮発性メモリセルを有し、
前記コントローラは、外部から指示された読出しコマンドに応答して、当該コマンドで指示された論理アドレスに対応する物理アドレスのデータ情報を外部に出力するとき、前記物理アドレスに対する情報の書き込み異常の痕跡に応答して、外部に出力するデータ情報の全てを不揮発性メモリセルの初期化状態のデータとする半導体装置。 - 前記書き込み異常の痕跡は、前記単位メモリ領域のデータ領域に対するプログラムの完了によって所定の状態に変更されるフラグが、所定の状態になっていないことである請求項11記載の半導体装置。
- 前記書き込み異常の痕跡は、同じ論理アドレスに世代の異なる複数の物理アドレスが割り当てられて残っていることである請求項11記載の半導体装置。
- 不揮発性メモリと、外部からの指示に従って前記不揮発性メモリを制御するコントローラとを有する半導体装置であって、
前記不揮発性メモリは、物理アドレスが割り当てられた複数の単位メモリ領域を有し、前記単位メモリ領域は閾値電圧の初期化とプログラムにより情報を書き込み可能にされる複数の不揮発性メモリセルを有し、
前記単位メモリ領域はそのデータ領域に対するプログラムの完了によって所定の状態に変更されるフラグを有し、
前記コントローラは、外部から指示された読出しコマンドに応答して、当該コマンドで指示された論理アドレスに対応する物理アドレスのデータ情報を外部に出力するとき、前記物理アドレスに対応するフラグが前記所定の状態でなければ、外部に出力するデータ情報の全てを不揮発性メモリセルの初期化状態のデータとする半導体装置。 - 不揮発性メモリと、外部からの指示に従って前記不揮発性メモリを制御するコントローラとを有する半導体装置であって、
前記不揮発性メモリは、物理アドレスが割り当てられた複数の単位メモリ領域を有し、前記単位メモリ領域は閾値電圧の初期化とプログラムにより情報を書き込み可能にされる複数の不揮発性メモリセルを有し、
前記単位メモリ領域は初期化単位とされ、初期化単位は複数のプログラム単位を有し、
前記コントローラは、外部から供給される所定の書き込みコマンドに応答して、一つの初期化単位を上限として複数のプログラム単位のデータ領域に情報を格納するとき、外部から与えられた論理アドレスに対応する物理アドレスの割り当てを行ない、割り当てられた物理アドレスの初期化済み単位メモリ領域の一つのプログラム単位に論理アドレス情報と一世代更新したその世代情報とデータ情報を書き込み、当該単位メモリ領域の別のプログラム単位に残りのデータ情報を書き込み、全てのデータ情報の書き込みを完了してから、同一論理アドレスに関する一つ前の世代情報を有する単位メモリ領域を初期化する半導体装置。 - 不揮発性メモリと、外部からの指示に従って前記不揮発性メモリを制御するコントローラとを有する半導体装置であって、
前記不揮発性メモリは、物理アドレスが割り当てられた複数の単位メモリ領域を有し、前記単位メモリ領域は閾値電圧の初期化とプログラムにより情報を書き込み可能にされる複数の不揮発性メモリセルを有し、
前記単位メモリ領域は初期化単位とされ、初期化単位は複数のプログラム単位を有し、
前記コントローラは、外部から供給される所定の書き込みコマンドに応答して、一つの初期化単位を上限として複数のプログラム単位のデータ領域に情報を格納するとき、外部から与えられた論理アドレスに対応する物理アドレスが割り当てられていないとき、当該論理アドレスに対応する第1の物理アドレスの割り当てを行ない、第1の物理アドレスの初期化済み単位メモリ領域に論理アドレス情報とその世代情報を格納した後、当該論理アドレスに対応する第2の物理アドレスの割り当てを行ない、第2の物理アドレスの初期化済み単位メモリ領域の一つのプログラム単位に論理アドレス情報と一世代更新したその世代情報とデータ情報を書き込み、当該単位メモリ領域の別のプログラム単位に残りのデータ情報を書き込み、全てのデータ情報の書き込みを完了してから、前記第1の物理アドレスの単位メモリ領域を初期化する半導体装置。 - 不揮発性メモリと、外部からの指示に従って前記不揮発性メモリを制御するコントローラとを有する半導体装置であって、
前記不揮発性メモリは、物理アドレスが割り当てられた複数の単位メモリ領域を有し、前記単位メモリ領域は閾値電圧の初期化とプログラムにより情報を書き込み可能にされる複数の不揮発性メモリセルを有し、
前記単位メモリ領域は初期化単位とされ、初期化単位は複数のプログラム単位を有し、
前記コントローラは、外部から供給される所定の書き込みコマンドに応答して、一つの初期化単位を上限として複数のプログラム単位のデータ領域に情報を格納するとき、外部から与えられた論理アドレスに対応する第3の物理アドレスが割り当てられているとき、当該論理アドレスに対応する第4の物理アドレスの割り当てを行ない、第4の物理アドレスの初期化済み単位メモリ領域の一つのプログラム単位に論理アドレス情報と一世代更新したその世代情報とデータ情報を書き込み、当該単位メモリ領域の別のプログラム単位に残りのデータ情報を書き込み、全てのデータ情報の書き込みを完了してから、前記第3の物理アドレスの単位メモリ領域を初期化する半導体装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005144215A JP2006323499A (ja) | 2005-05-17 | 2005-05-17 | 半導体装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005144215A JP2006323499A (ja) | 2005-05-17 | 2005-05-17 | 半導体装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006323499A true JP2006323499A (ja) | 2006-11-30 |
Family
ID=37543152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005144215A Withdrawn JP2006323499A (ja) | 2005-05-17 | 2005-05-17 | 半導体装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006323499A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008171257A (ja) * | 2007-01-12 | 2008-07-24 | Toshiba Corp | ホスト装置およびメモリシステム |
CN102880561A (zh) * | 2011-05-13 | 2013-01-16 | 株式会社东海理化电机制作所 | 闪存装置 |
US8819329B2 (en) | 2010-03-12 | 2014-08-26 | Panasonic Corporation | Nonvolatile storage device, access device and nonvolatile storage system |
CN109726140A (zh) * | 2017-10-27 | 2019-05-07 | 三星电子株式会社 | 非易失性存储器件及其操作方法以及存储设备 |
-
2005
- 2005-05-17 JP JP2005144215A patent/JP2006323499A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008171257A (ja) * | 2007-01-12 | 2008-07-24 | Toshiba Corp | ホスト装置およびメモリシステム |
US8819329B2 (en) | 2010-03-12 | 2014-08-26 | Panasonic Corporation | Nonvolatile storage device, access device and nonvolatile storage system |
CN102880561A (zh) * | 2011-05-13 | 2013-01-16 | 株式会社东海理化电机制作所 | 闪存装置 |
US9465730B2 (en) | 2011-05-13 | 2016-10-11 | Kabushiki Kaisha Tokai Rika Denki Seisakusho | Flash memory device |
CN109726140A (zh) * | 2017-10-27 | 2019-05-07 | 三星电子株式会社 | 非易失性存储器件及其操作方法以及存储设备 |
CN109726140B (zh) * | 2017-10-27 | 2023-06-27 | 三星电子株式会社 | 非易失性存储器件及其操作方法以及存储设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100502378B1 (ko) | 불휘발성 반도체 메모리 | |
US9075740B2 (en) | Memory system | |
US8190811B2 (en) | Defragmentation of solid state memory | |
KR100939146B1 (ko) | 비휘발성 반도체 메모리 시스템 및 그 데이터 기입 방법 | |
JP3812933B2 (ja) | ファイルシステムおよびその制御方法 | |
US9639463B1 (en) | Heuristic aware garbage collection scheme in storage systems | |
JP2007133683A (ja) | メモリシステム | |
JP2006338370A (ja) | メモリシステム | |
KR101731408B1 (ko) | 플래시 메모리에 데이터를 기록하는 방법 및 관련 메모리 장치 및 플래시 메모리 | |
CN105825892A (zh) | 单胞多位式的存储器及其操作方法 | |
JP2007164318A (ja) | 記憶装置 | |
JP2006323499A (ja) | 半導体装置 | |
US10698617B2 (en) | Memory system | |
KR20210157544A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
KR20220001137A (ko) | 메모리 시스템, 메모리 장치 및 메모리 장치의 동작 방법 | |
US11221945B2 (en) | Semiconductor memory device | |
JP3672576B2 (ja) | 不揮発性半導体メモリ装置 | |
US20140281226A1 (en) | Memory card and host device | |
JP6708762B1 (ja) | 半導体記憶装置 | |
JP4800732B2 (ja) | 半導体ディスクドライブ | |
JP4332108B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2009211202A (ja) | メモリシステム | |
JP3908238B2 (ja) | 不揮発性半導体メモリ装置のデータ書き込み方法 | |
JP4050250B2 (ja) | 不揮発性半導体メモリ装置 | |
JP5299493B2 (ja) | メモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080805 |