JPWO2003085676A1 - 不揮発性記憶装置 - Google Patents
不揮発性記憶装置 Download PDFInfo
- Publication number
- JPWO2003085676A1 JPWO2003085676A1 JP2003582774A JP2003582774A JPWO2003085676A1 JP WO2003085676 A1 JPWO2003085676 A1 JP WO2003085676A1 JP 2003582774 A JP2003582774 A JP 2003582774A JP 2003582774 A JP2003582774 A JP 2003582774A JP WO2003085676 A1 JPWO2003085676 A1 JP WO2003085676A1
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- command
- unit
- data
- nonvolatile memory
- 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.)
- Granted
Links
- 238000003860 storage Methods 0.000 title claims abstract description 192
- 230000015654 memory Effects 0.000 claims abstract description 589
- 239000000872 buffer Substances 0.000 claims abstract description 557
- 238000000034 method Methods 0.000 claims abstract description 150
- 230000008569 process Effects 0.000 claims abstract description 149
- 238000012546 transfer Methods 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims description 87
- 230000008859 change Effects 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 13
- 239000004065 semiconductor Substances 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 22
- 238000003491 array Methods 0.000 description 15
- 102100036200 Bisphosphoglycerate mutase Human genes 0.000 description 5
- 108010029692 Bisphosphoglycerate mutase Proteins 0.000 description 5
- 239000007853 buffer solution Substances 0.000 description 5
- 101150005267 Add1 gene Proteins 0.000 description 4
- 101150060298 add2 gene Proteins 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000011017 operating method Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 3
- 102100034033 Alpha-adducin Human genes 0.000 description 2
- 101000799076 Homo sapiens Alpha-adducin Proteins 0.000 description 2
- 101000629598 Rattus norvegicus Sterol regulatory element-binding protein 1 Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 102100024348 Beta-adducin Human genes 0.000 description 1
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 description 1
- 229910052581 Si3N4 Inorganic materials 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- HQVNEWCFYHHQES-UHFFFAOYSA-N silicon nitride Chemical compound N12[Si]34N5[Si]62N3[Si]51N64 HQVNEWCFYHHQES-UHFFFAOYSA-N 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/22—Nonvolatile memory in which reading can be carried out from one memory bank or array whilst a word or sector in another bank or array is being erased or programmed simultaneously
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
Description
本発明は不揮発性メモリ部とそのバッファ部を有する不揮発性記憶装置に関し、例えばマルチバンクを有するフラッシュメモリに適用して有効な技術に関する。
背景技術
特開平11−85609号公報には、不揮発性メモリ部とそのバッファ部を有するフラッシュメモリについて記載がある。これによれば、メモリ部は8ビット又は16ビット単位でしかリード・ライトできないのに対し、ホスト装置とは512バイトのような単数もしくは複数セクタ単位でデータのやり取りを行なう必要があるため、バッファ部を設け、これをキャッシュメモリとして利用する、とある。キャッシュメモリとして利用される前記バッファ部は、フラッシュメモリに対する消去、書き込み、読み出し等のコマンドを実行するときに暗黙的に内部で利用されているに過ぎない。要するに、前記バッファ部は、フラッシュメモリの外部から直接操作の対象とはされていない。これについて本発明者が検討したところ以下の点を見出した。第1に、不揮発性メモリ部に対する消去動作ではバッファ部の利用は本来必要ないが、他用途への流用もできない為、消去動作中にオンチップバッファ部を有効に活用できない。また、一旦バッファ部に格納された記憶情報を、不揮発性メモリ部の動作とは独立させて外部に高速に読み出すように、動作させることはできない。これに関連し、特開平6−259320号公報及び特開平11−149788号公報には不揮発性メモリ部と外部からのデータを保持するバッファ部を備え、バッファ部をキャッシュメモリとして利用できるように制御する不揮発性記憶装置が記載される。しかしながら、マルチバンクを有する不揮発性記憶装置に対しては、アクセス動作の高速化のために、外部とフラッシュメモリとの間のデータ転送のオーバーヘッドを更に低減する余地の残されていることが本発明者によって見出された。
本発明の目的は、不揮発性メモリ部に対する消去動作中にバッファ部を有効に活用できる不揮発性記憶装置を提供することにある。
本発明の別の目的は、不揮発性メモリ部から読み出されてバッファ部が保有する記憶情報を、不揮発性メモリ部の動作とは独立させて外部に高速に読み出すことができる不揮発性記憶装置を提供することにある。
本発明の更に別の目的は、外部と不揮発性メモリ部との間のデータ転送のオーバーヘッドを低減することができる不揮発性記憶装置を提供することにある。
本発明の上記並びにその他の目的と新規な特徴は本明細書の以下の記述と添付図面から明らかにされるであろう。
発明の開示
〔1〕《独立アクセス制御》本発明に係る不揮発性記憶装置は、複数のバンク(BNK0〜BNK3)と制御部(CNT)を有し、前記バンク(BNK0〜BNK3)は不揮発性メモリ部(MARY0〜FARY3)とこれに対応するバッファ部(BMRY0〜BMRY3)を有する。各バンクの不揮発性メモリ部は相互に独立してアクセス動作可能とされる。前記制御部は、外部と前記バッファ部との間の第1アクセス処理の指示(22,23)と、前記不揮発性メモリ部と前記バッファ部との間の第2アクセス処理の指示(21,24)とを、それぞれ別々に外部から受けて制御可能である。前記第1アクセス処理は1のバッファ部へのアクセスを含み、前記第2アクセス処理は1の不揮発性メモリ部へのアクセスと複数の不揮発性メモリ部へのアクセスを含み、どちらのアクセスを行なうかが選択可能とされる。
上記より、前記制御部は、マルチバンクを有する前記不揮発性メモリ部及びバッファ部をそれぞれ外部からの指示に従って独立にアクセス制御可能であるから、不揮発性メモリ部とバッファ部を並列動作させたり、バッファ部に一旦読み出された記憶情報を外部からの指示に従ってキャッシュメモリ動作の如く高速に出力させたりすることが可能になる。これによって、マルチバンクを有する不揮発性記憶装置に対するデータ読み出しや書き込みのためのデータ転送のオーバーヘッドが低減する。
《第1アクセス処理》本発明の具体的な態様では、前記第1アクセス処理の指示は、外部から入力されるデータを前記バッファ部に書き込む指示又は前記バッファ部から外部にデータを読み出す指示である。前記書き込む指示又は読み出す指示は、例えば外部から入力される単数又は複数の制御信号(CLE,ALE,WEb,REb)の変化によって与えられる。具体的にはコマンドラッチディスエーブル及びアドレスラッチディスエーブルにおけるライトイネーブル状態で前記書き込む指示を与える。また、コマンドラッチディスエーブル及びアドレスラッチディスエーブルにおけるリードイネーブル状態で前記読み出す指示を与える。前記単数又は複数のストローブ信号のような制御信号の状態をコマンドコードとみなすことも可能である。第1アクセス処理の指示にストローブ信号とは異なるコマンドコードを採用することも可能である。
本発明の具体的な態様では、前記第2アクセス処理を行っていることを示すための状態指示情報(R/Bb)を外部に出力する。外部からのリードイネーブル又はライトイネーブルの指示タイミングの制御が容易になる。
《第2アクセス処理》本発明の具体的な態様では、前記第2アクセス処理の指示はアクセスコマンドにより与えられる。前記アクセスコマンドとして、バッファ部からデータを読み出して不揮発性メモリ部に書き込む指示を与える第1アクセスコマンド、不揮発性メモリ部からデータを読み出してバッファ部に書き込む指示を与える第2アクセスコマンド、又は不揮発性メモリ部のデータを消去する指示を与える第3アクセスコマンドを有する。
《複数メモリバンク》本発明の具体的な態様では、前記不揮発性メモリ部とバッファ部を相互に対応させて、それぞれの対応をメモリバンクとして複数組有する。
《アドレスコマンド》このときのアクセスアドレスの指定に、例えばアドレスコマンド(20)を採用する。前記制御部は、外部から供給されるアドレスコマンドを認識可能であり、前記アドレスコマンドは、バッファ部の記憶領域及び不揮発性メモリ部の記憶領域の指定を可能にする。
具体例として、前記アドレスコマンドは、第1指定情報、第2指定情報及び第3指定情報を持つことが可能である。前記第1指定情報は、不揮発性メモリ部を指定すると共に指定された不揮発性メモリ部に対応するバッファ部を暗黙的に指定する。前記第2指定情報は、指定された不揮発性メモリ部におけるアクセス対象アドレスを指定する。前記第3指定情報は、指定されたバッファ部におけるアクセス対象アドレスを指定する。
バッファ部の利用効率という点に着目する。第1アクセス処理ではバッファ部を自由に指定できるが、第2アクセス処理では、不揮発性メモリ部に対応するバッファ部が暗黙的に指定される。この指定を広げるには、前記制御部は、特定の第2アクセス処理の指示に応答するとき、前記第1指定情報によるバッファ部の指定を、不揮発性メモリ部とは対応しない別のバッファ部の指定とみなすようにすればよい。
《第1アクセス処理と第2アクセス処理の並列化》本発明の具体的な態様では、前記制御部は、前記第1及び第2アクセス処理の指示状態に応じて、不揮発性メモリ部の第2アクセス処理と当該不揮発性メモリ部に対応されない別のバッファ部の第1アクセス処理とを並行可能である。また、前記制御部は、不揮発性メモリ部の消去処理とバッファ部の第1アクセス処理とを並行可能である。例えば、不揮発性メモリ部の消去動作中に、当該不揮発性メモリ部に対応するバッファ部に、書込みデータの入力を行なう。要するに、不揮発性メモリ部のアクセス動作中、そのバックグラウンドでバッファ部に次に用いるデータ入力を行なう。
《バッファ部の記憶データ維持》アクセス処理の並列化に対する見方を変えれば、前記制御部は、前記バッファ部からデータを読み出して不揮発性メモリ部に書き込む第2アクセス処理の指示に応答する処理を行なった後に、別の第1アクセス処理又は第2アクセス処理の指示を待つ状態において、前記バッファ部の記憶情報を維持する。これにより、バッファ部が保持する記憶情報を不揮発性メモリ部の別の場所にコピーしたり、書き込みエラーに対するリトライ等を行なう場合に、便利である。また、前記制御部は、前記バッファ部からデータを読み出して外部に出力する第1アクセス処理の指示に応答する処理を行なった後に、別の第1アクセス処理又は第2アクセス処理の指示を待つ状態において、前記バッファ部の記憶情報を維持する。これにより、バッファ部に一旦読み出された記憶情報を外部からの指示に従ってキャッシュメモリ動作の如く高速に出力させたりすることが可能になる。
バッファ部に記憶情報を維持させる場合に、不要なデータ削除が可能なように、前記制御部は、バッファクリアコマンドに応答してバッファ部の記憶情報を初期化する。また、書き込みに際してバッファ部に残っている不要データが誤って書き込みされないようにする為に、前記制御部は、前記第1アクセス処理に応答して、外部からの入力データをバッファ部に書き込むとき、書き込み前に前記バッファ部の記憶情報を初期化する。
《バッファ部のリードキャッシュ動作》本発明の具体的な態様では、前記制御部は、第2アクセス処理により前記不揮発性メモリ部から読み出されてバッファ部に書き込まれたデータを、外部から指示される複数回の第1アクセス処理によりバッファ部から外部へ異なるタイミングで複数回データ転送可能とする。これにより、外部からの制御によりバッファ部をリードキャッシュ動作させることができる。
また、前記制御部は、不揮発性メモリ部からバッファ部にデータを書き込む第2アクセス処理が指示されたとき、バッファ部が保有するデータの不揮発性メモリ部上でのアドレスと同じアドレスをアクセス処理対象とする当該第2アクセス処理を省略する。これにより、不揮発性記憶装置みずからがアドレス比較を行なってバッファ部をリードキャッシュ動作させることができる。このアドレス比較動作のために、例えば、バッファ部が保有するデータの不揮発性メモリ部上におけるアドレスのアドレス情報を保持するアドレス保持手段と、アドレス保持手段が保持するアドレス情報と第2アクセス処理においてデータ読み出し対象とされる不揮発性メモリ部のアドレスのアドレス情報とを比較する比較手段とを有する。
前記制御部による前記バッファ部のリードキャッシュ動作制御は、第2アクセス処理で前記不揮発性メモリ部からバッファ部に書き込まれたデータを第1アクセス処理によりバッファ部から外部へ出力する指示が与えられたとき、前記第2アクセス処理の省略の有無により、第2アクセス処理中であることをビジー状態によって示す信号によるビジー状態の期間を相違させる制御と等価である。
《バッファ部利用のコピー、リライト》本発明の具体的な態様では、前記制御部は、第1アクセス処理により外部からバッファ部に書き込まれたデータを、複数回の第2アクセス処理によりバッファ部から不揮発性メモリ部へ複数回書き込み可能とする。これにより、コピーや書き込みリトライ処理を効率化することができる。
《書き込みデータのバッファ部上での確定》本発明の具体的な態様では、前記制御部は、複数回の第1アクセス処理により外部からバッファ部上で書き換えられたデータを、第2アクセス処理によりバッファ部から不揮発性メモリ部へ書き込み可能とする。例えば同一セクタデータ等に対してリード・モディファイ・ライト動作を何回か繰返したりするときに処理効率を向上させる。
《2値モード》本発明の具体的な態様では、前記不揮発性メモリ部は1個の記憶素子に2ビット以上の多値情報記憶が可能にされ、前記バッファ部は1個の記憶素子に1ビットの2値情報記憶が可能にされる。このとき前記制御部は、前記不揮発性メモリ部の記憶情報を2値情報とみなし、多値から2値への変換動作を省略する第3アクセス処理を制御可能である。これにより、データを外部に読み出すまでの時間が短縮されるので、第3アクセス処理による対象を、例えばファイルデータのセクタに対する管理領域データ等とすれば、セクタの有効性や代替の有無等を速く判定することができ、ファイルアクセス等の高速化に寄与する。
《自立クロック生成》本発明の具体的な態様では、第1アクセス処理に用いる信号経路に、外部からのアドレス情報をラッチするアドレスバッファ、アドレスバッファの出力を入力してメモリバッファ部に供給するバッファ部アドレスバッファ、バッファ部から出力されるデータをラッチするバッファ部データバッファ、バッファ部データバッファの出力データをラッチして外部に出力するデータバッファが設けられ、アドレス入力からデータ出力までのパイプライン段数が比較的多く配置された構成に着目する。このとき、前記制御部は、アドレスコマンドを第1ストローブ信号に同期して認識した後、第1アクセス処理において外部へのデータ読み出しを指示する第2ストローブ信号が変化されるまでの間に、自立的にクロックを生成して、バッファ部アドレスバッファのラッチタイミングと、バッファ部データバッファのラッチタイミングを生成する。アドレス入力からデータ出力までのパイプライン段数が比較的多くても対処することができる。
《書換え動作》本発明の具体的な態様では、前記不揮発性メモリ部とバッファ部をそれぞれ対応させて複数組有し、前記不揮発性メモリ部の消去単位は書き込み単位の複数倍であり、それぞれのバッファ部は前記書き込み単位の記憶容量を有するとき、前記制御部は、前記消去単位による記憶情報の書換え動作の指示に対して、書換え対象の不揮発性メモリ部と異なる不揮発性メモリ部のバッファ部を併せて、書換え対象記憶情報の退避領域に用いる。これによって不揮発性メモリ部に対する消去単位が書き込み単位よりも大きい場合であっても書換えを行なう事ができる。
《LSI》本発明の具体的な態様では、不揮発性記憶装置は、1個の半導体チップに形成された、メモリLSI、或は、CPU等のその他の回路モジュールと共に1個の半導体チップに形成されたマイクロコンピュータLSI或はシステムLSIとして構成される。
〔2〕《独立アクセス制御》別の観点による本発明に係る不揮発性記憶装置は、複数のメモリバンク(BNK0〜BNK3)と制御部(CNT)を有し、前記メモリバンクは不揮発性メモリ部(FARY0〜FARY3)とバッファ部(BMRY0〜BMRY3)を有する。前記バッファ部及び前記不揮発性メモリ部のアクセス対象領域はアドレスコマンド(20)に基づいて指定される。前記制御部は、外部と前記バッファ部との間の第1アクセス処理の指示(22,23)と、前記不揮発性メモリ部と前記バッファ部との間の第2アクセス処理の指示(21,24)とを、それぞれ別々に外部から受けて制御可能にされる。更に制御部は、1の前記第2アクセス処理に対応して1の前記第1アクセス処理を制御することと、1の前記第2アクセス処理に対応して複数の前記第1アクセス処理を制御することが可能である
上記より、前記制御部は、前記不揮発性メモリ部及びバッファ部をそれぞれ外部からの指示に従って独立にアクセス制御可能であるから、不揮発性メモリ部とバッファ部を並列動作させたり、バッファ部に一旦読み出された記憶情報を外部からの指示に従ってキャッシュメモリ動作の如く高速に出力させたりすることが可能になる。
前記制御部は、前記第1アクセス処理では、前記アドレスコマンドが指定するメモリバンクのバッファ部を利用させ、第1アクセス処理ではバッファ部を自由に指定できるようにする。前記第2アクセス処理では、その指示内容に応じて、前記アドレスコマンドが指定するメモリバンクのバッファ部又はそれと異なるメモリバンクのバッファ部を利用させる。
《マルチバンク・リード》本発明の具体的な態様では、前記制御部は、メモリバンク数に応ずる回数を限度にアドレスコマンドが入力される毎にアドレスコマンドで指定される不揮発性メモリ部のアクセス対象領域に対する読み出しセットアップ動作を制御し、第2アクセス処理としてリード動作を指示するリードアクセスコマンドが入力されたとき、前記読み出しセットアップされた不揮発性メモリ部から記憶情報を読み出してバッファ部に書き込む制御を行なう。これにより、マルチバンクに対するリード動作を行なうことができる。
《マルチバンク・ライト》本発明の具体的な態様では、前記制御部は、メモリバンク数に応ずる回数を限度に連続してアドレスコマンド入力と第1アクセス処理の指示による書き込みデータ入力が行われる毎に、アドレスコマンドで指定されるメモリバンクのバッファ部に前記書き込みデータの書き込み動作を制御し、第2アクセス処理として書き込み動作を指示するライトアクセスコマンドが入力されたとき、前記バッファ部が有する書き込みデータを対応するメモリバンクの不揮発性メモリ部に書き込む制御を行なう。これにより、マルチバンクに対するライト動作を行なうことができる。
《マルチバンク・イレーズ》本発明の具体的な態様では、前記制御部は、メモリバンク数に応ずる回数を限度に連続してアドレスコマンドを入力した後にイレーズコマンドを入力することにより、アドレスコマンドで指定されるメモリバンクの不揮発性メモリ部に対して記憶領域の消去動作を制御する。これにより、マルチバンクに対するイレーズ動作を行なうことができる。
〔3〕《独立アクセス制御》更に別の観点による本発明に係る不揮発性記憶装置は、制御部と不揮発性記憶部とバッファ回路とを有し、前記不揮発性記憶部は複数の不揮発性記憶領域に分割され、前記バッファ回路は前記不揮発性記憶領域に対応する複数のバッファ領域に分割される。前記制御部は外部から複数の動作指示コマンドを受け付ける。前記動作指示コマンドには、前記バッファ回路と外部との間でのアクセス動作を指示する第1の動作指示コマンド(22,23)と、前記バッファ回路と不揮発性記憶部との間でのアクセス動作を指示する第2の動作指示コマンド(21,24)とがある。前記第1の動作指示コマンドは1の前記バッファ領域へのアクセス動作を指示し、前記第2の動作指示コマンドは1の前記不揮発性記憶領域へのアクセス動作と、複数の前記不揮発性記憶領域へのアクセス動作との何れかを選択して指示することが可能である。
前記制御部は前記動作指示コマンドを受け付けることが可能なコマンド受付状態を有し、前記動作指示コマンドを受け付けてそれぞれの動作指示コマンドに応じた処理を行った後、前記コマンド受付状態となる。
《アドレスコマンド》本発明の具体的な一つの態様では、前記不揮発性記憶部は複数の記憶領域に分割され、前記動作指示コマンドには、前記不揮発性記憶部の一の記憶領域を選択するためのアドレスを指定する第3の動作指示コマンド(20)があり、前記第2の動作指示コマンドは、前記第3の動作指示コマンドで選択された前記不揮発性記憶部の記憶領域と前記バッファ回路との間でアクセス動作を行なう指示を与える。
《マルチバンク》前記複数の記憶領域に対応して、前記バッファ回路は複数の領域に分割される。このとき、前記制御部は、前記第3の動作指示コマンドで前記不揮発性記憶部の記憶領域を選択すると共に、選択された前記不揮発性記憶部の記憶領域に対応する前記バッファ回路の領域をも選択する。前記第1の動作指示コマンドは、前記第3の動作指示コマンドで選択されたバッファ回路の領域と外部との間でアクセス動作を行なう指示を与える。前記第2の動作指示コマンドは、前記第3の動作指示コマンドで選択されたバッファ回路の領域と前記不揮発性記憶部の記憶領域との間でアクセス動作を行なう指示を与える。
《マルチバンクの並列処理》前記制御部は、前記第2の動作指示コマンドによる前記不揮発性記憶部の一の記憶領域へのアクセス処理のうち一部の処理完了に応じて前記コマンド受付状態となり、前記一の記憶領域への全てのアクセス処理が完了する前に、前記第3の動作指示コマンドの受付と、前記第3の動作指示コマンドで選択されたバッファ回路の領域及び不揮発性記憶部の記憶領域が前記アクセス処理を行っている領域とは異なる領域である場合の前記第1又は前記第2の動作指示コマンドの受付を可能とする。
《書き込み・読み出し動作指示コマンド》前記第1の動作指示コマンドは、例えば、前記バッファ回路へのデータの書き込みを指示する第1書き込み動作コマンドと、前記バッファ回路からデータの読み出しを指示する第1読み出し動作コマンドとを含む。前記第2の動作指示コマンドは、例えば、前記バッファ回路から前記不揮発性記憶部へのデータの書き込みを指示する第2書き込み動作コマンドと、前記不揮発性記憶部から前記バッファ回路へデータの読み出しを指示する第2読み出し動作コマンドとを含む。
《消去動作指示コマンド》前記第1の動作指示コマンドには、更に前記バッファ回路に書き込まれているデータの消去を指示する第1消去動作コマンドを含む。前記第2の動作指示コマンドには、更に前記不揮発性記憶部に書き込まれているデータの消去を指示する第2消去動作コマンドを含む。
《消去に並行するコマンド受付け》前記不揮発性記憶部の第1記憶領域を指定する前記第3の動作指示コマンドの受付後、前記第2消去動作コマンドを受け付け、前記第1記憶領域に書き込まれているデータの消去を開始しデータの消去が完了する前において、前記不揮発性記憶部の第2記憶領域を指定する前記第3の動作指示コマンドと、前記第1の動作指示コマンド又は前記第2の動作指示コマンドの受付を可能とする。
《書き込みデータのバッファ回路上での確定》前記不揮発性記憶部の第1記憶領域を指定する前記第3の動作指示コマンドの受付後、前記第2読み出しコマンドを受け付け、前記不揮発性記憶部から前記バッファ回路へデータの読み出しが完了した後において、少なくとも1回以上の前記第1の動作指示コマンドを受け付け、更に前記第2書き込みコマンドの受付動作が可能である。
《並列処理》前記第2読み出しコマンドを受け付けた後、前記第2書き込みコマンドの受付前において、前記不揮発性記憶部の第2記憶領域を指定する前記第3の動作指示コマンドの受付と少なくとも1回以上の前記第1の動作指示コマンドまたは前記第2の動作指示コマンドの受付けを行った後、前記第1記憶領域を指定する前記第3の動作指示コマンドの受付動作が可能である。
《書き込みデータのバッファ回路上での確定》前記不揮発性記憶部の第1記憶領域を指定する前記第3の動作指示コマンドの受付後、少なくとも1回以上の前記第1書き込みコマンドを受け付けた後、前記第2書き込みコマンドの受付動作が可能である。少なくとも1回の前記第1書き込みコマンドを受け付けた後、1回以上の前記第1の動作指示コマンドの受付動作が可能である。少なくとも1回の前記書き込みコマンドを受け付けた後、1回以上の前記第2書き込みコマンドの受付動作が可能である。
《バッファ回路のキャッシュ動作》前記不揮発性記憶部の第1記憶領域に含まれる第1アドレスを指定する前記第3の動作指示コマンドの受付後、前記第2読み出しコマンドを受け付け、前記第2読み出しコマンドでは前記不揮発性記憶部から前記バッファ回路へ、前記第3の動作指示コマンドで指定されたアドレスから第1データ量のデータの読み出しを行った後、前記不揮発性記憶部の第1記憶領域に含まれかつ前記第1アドレスから第1データ量の範囲に含まれるアドレスを指定する前記第3の動作指示コマンドと前記第1の動作指示コマンドとを1回以上受け付けることが可能である。
《バッファ回路のキャッシュ動作》前記不揮発性記憶部の第1記憶領域に含まれる第1アドレスを指定する前記第3の動作指示コマンドの受付後、前記第2読み出しコマンドを受け付け、前記第2読み出しコマンドでは前記不揮発性記憶部から前記バッファ回路へ、前記第3の動作指示コマンドで指定されたアドレスから第1データ量のデータの読み出しを行い、さらに、前記不揮発性記憶部の第1記憶領域に含まれかつ前記第1アドレスから第1データ量の範囲に含まれる第2アドレスを指定する前記第3の動作指示コマンドの受付けと前記第2の読み出しコマンドを受け付けた場合、前記第2の読み出しコマンドの処理では前記不揮発性記憶部から前記バッファ回路への読み出し動作は行わない。
《バッファ回路の記憶情報保持》前記第2の書き込みコマンドの完了では前記バッファ回路に書き込まれているデータの消去は行わず、前記第1消去動作コマンドにより前記バッファ回路に書き込まれているデータの消去を行なう。
《非優先対応バッファ回路の利用》前記複数の記憶領域に対応して、前記バッファ回路は複数の領域に分割され、第1の記憶領域に優先的に対応するバッファ回路の第1の領域と、第2の記憶領域に優先的に対応するバッファ回路の第2の領域とを有する。前記バッファ回路の第1の領域は前記第2の記憶領域との間でもアクセス動作可能とされる。前記バッファ回路の第2の領域は前記第1の記憶領域との間でもアクセス動作可能とされる。
《非優先対応バッファ回路の利用》前記第1の動作指示コマンドは、前記バッファ回路の第1の領域と外部との間でアクセス動作させて、前記バッファ回路へのデータの書き込みを指示する第1書き込み動作コマンドと、前記バッファ回路からデータの読み出しを指示する第1読み出し動作コマンドと、前記バッファ回路に書き込まれているデータの消去を指示する第1消去動作コマンドとを含む。前記第2の動作指示コマンドは、前記第3の動作指示コマンドで選択されたバッファ回路の領域と前記不揮発性記憶部の記憶領域との間でアクセス動作させて、前記バッファ回路から前記不揮発性記憶部へのデータの書き込みを指示する第2書き込み動作コマンドと、前記不揮発性記憶部から前記バッファ回路へのデータの読み出しを指示する第2読み出し動作コマンドと、前記不揮発性記憶部に書き込まれているデータの消去を指示する第2消去動作コマンドとを含む。前記第2書き込み動作コマンドは、前記選択されたバッファ回路の領域に優先的に対応する記憶領域へのデータの書き込みを指示する主第2書き込み動作コマンドと、前記選択されたバッファ回路の領域に優先的に対応する記憶領域でない記憶領域へのデータの書き込みを指示する従第2書き込み動作コマンドとを有する。前記第2読み出し動作コマンドは、前記選択されたバッファ回路の領域に優先的に対応する記憶領域からのデータの読み出しを指示する主第2読み出し動作コマンドと、前記選択されたバッファ回路の領域に優先的に対応する記憶領域でない記憶領域からのデータの読み出しを指示する従第2読み出し動作コマンドとを有する。
《書換え動作》前記第2読み出しコマンド又は前記第2書き込みコマンドでは第1データ量単位に一度にデータの読み出し又は書き込みが行われる。記第2消去コマンドでは第1データ量よりも多い第2データ量単位に一度にデータの消去が行われる。前記第3の動作指示コマンドで第1アドレスを指定し、前記第2消去コマンドを指示する場合、前記第1アドレスから前記第1データ量のアドレス範囲に含まれる第1データと、前記第1アドレスから前記第1データ量のアドレス範囲に含まれない第2アドレスからの第2データとのうち、前記第1データは前記選択されたバッファ回路の領域に優先的に対応する記憶領域への書き込みと、前記第2データは前記選択されたバッファ回路の領域に優先的に対応する記憶領域でない記憶領域への書き込みとの少なくとも一方が行われる。
〔4〕《独立アクセス制御》更に別の観点による本発明に係る不揮発性記憶装置は、制御部と不揮発性記憶部とを有する。前記不揮発性記憶部は複数の記憶領域を有する。前記記憶領域の数と同数のバッファ回路を有し、それぞれのバッファ回路は外部に接続され、また前記複数の記憶領域のそれぞれと対応付けられ、前記複数のバッファ回路は前記制御部による制御に基づいてそれぞれ独立して外部との間でアクセス可能にされる。1又は複数の前記記憶領域は前記制御部による制御に基づいて、対応付けられたバッファ回路との間でそれぞれ独立してアクセス動作可能にされる。
発明を実施するための最良の形態
第1図には本発明に係る半導体記憶装置の一例であるフラッシュメモリの平面的なレイアウト構成が示される。同図に示されるフラッシュメモリ1は、特に制限されないが、公知のMOS集積回路製造方法によって単結晶シリコンのような1個の半導体基板(チップ)に形成される。
フラッシュメモリ1は、例えば4個のメモリバンクBNK0〜BNK3と制御部CNTを有する。前記メモリバンクBNK0〜BNK3は、不揮発性メモリ部としてのフラッシュメモリアレイFARY0〜FARY3と、バッファ部としてのバッファメモリBMRY0〜BMRY3とを有する。一つのフラッシュメモリアレイに対応してバッファメモリは左右に2分割されて配置される。便宜上右側のバッファメモリにはサフィックス(R)を付し、左側のバッファメモリにはサフィックス(L)を付す。
フラッシュメモリ1の外部入出力端子i/o0〜i/o7は、アドレス入力端子、データ入力端子、データ出力端子、コマンド入力端子に兼用される。フラッシュメモリ1は外部制御信号例えばストローブ信号として、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、チップイネーブル信号CEb、リードイネーブル信号REb、ライトイネーブル信号WEbを入力し、レディー・ビジー信号R/Bbを出力する。前記チップイネーブル信号CEbはフラッシュメモリ1にチップ選択状態を示し、リードイネーブル信号REbは外部入出力端子i/o0〜i/o7からのリード動作を指示し、ライトイネーブル信号WEbは外部入出力端子i/o0〜i/o7からのライト動作を指示する。コマンドラッチイネーブル信号CLEは外部から外部入出力端子i/o0〜i/o7にコマンドが供給されることを意味し、アドレスラッチイネーブル信号ALEは外部から外部入出力端子i/o0〜i/o7にアドレス信号が供給されることを意味する。前記レディー・ビジー信号R/BbはフラッシュメモリアレイFARY0〜FARY3の何れかに対して消去、書き込み、または読み出し動作中であること(ビジー状態)をローレベル(L)によって示す。フラッシュメモリアレイ(FARY0〜FARY3)毎に対するビジー状態またはレディー状態は後述のステータス情報を読み出すことによって外部から認識可能にされている。
前記制御部CNTは、前記ストローブ信号の状態に応じて外部との信号インタフェース機能などを制御し、また、入力されたコマンドに従って内部動作を制御する。
前記それぞれのフラッシュメモリアレイFARY0〜FARY3は、マトリクス配置された多数の不揮発性メモリセルを有する。この不揮発性メモリセルは、特に制限されないが、公知のフローティングゲート型トランジスタ1個で1個のメモリセルを構成する。例えば不揮発性メモリセルは、ウェル領域に形成されたソース及びドレインと、ソースとドレインとの間のチャンネル領域にトンネル酸化膜を介して形成されたフローティングゲート、そしてフローティングゲートに層間絶縁膜を介して重ねられたコントロールゲートによって構成される。コントロールゲートはワード線に、ドレインはビット線に、ソースはソース線に接続される。第1図では1個の不揮発性メモリセルMCと1本のビット線G−BLが代表的に図示され、ビット線G−BLの一端にはスタティックラッチ回路で構成されるセンスランチSLが接続される。
第1図のフラッシュメモリ1では記憶情報の512バイトを1セクタと呼ぶ。書き込みおよび読み出しの情報記憶単位は2048バイト(=4セクタ)であり、この単位を1ページと呼ぶ。1024バイトを1キロバイトとも記す。1ページはページアドレスで指定される。フラッシュメモリはフィールド素子分離のため、消去の情報記憶単位は書き込み単位の2倍(=4096バイト)とされ、これを1ブロックと呼ぶ。消去モードにおける偶数ページアドレスの指定がブロックの指定とされる。
特に制限されないが、フラッシュメモリ1において不揮発性メモリセルは1個で2ビットの情報記憶を行なう。これに従って、各フラッシュメモリアレイFARY0〜FARY3において、ワード線1本に2048バイト個の不揮発性メモリセルが接続され、ページアドレス情報は対応するワード線1本に接続する偶数番目または奇数番目の1024個のメモリセルを指定し、ページアドレス情報で指定された1024個のメモリセルに一対一対応するように1024バイト個のセンスラッチSLが並設される。ページアドレス情報はメモリバンク全体の中でページアドレスを指定し、その最下位ビットはページアドレスの偶数または奇数を指定し、その上位側はワード線を指定し、最上位2ビットはメモリバンクを指定する。ワード線の選択は図示を省略するワード線選択デコーダが行い、偶数ページまたは奇数ページ単位によるビット線の選択は図示を省略する偶奇ビット線セレクタが行い、この偶奇ビット線セレクタで選択された1024バイト本のビット線が1024バイト個のセンスラッチSLに接続される。消去モードでは偶数ページアドレスがブロックアドレス(1ワード線2ページ分アドレス)とみなされる。
前不揮発性メモリセルの記憶データは浮遊ゲートに蓄えられた電荷量に応じてメモリセルの閾値電圧が変化することを利用する。このとき、メモリセルの閾値電圧は記憶データの値に応じて所望の範囲に制限され、その閾値電圧分布をメモリ閾値分布と呼ぶ。例えば、この例でが不揮発性メモリセルは1個で2ビットの情報記憶を行い、記憶情報の“01,00,10,11”データに対応する4種類のメモリ閾値電圧分布が決められている。すなわち、一つのメモリセルの情報記憶状態は、第4閾値電圧(Vth4)状態としての消去状態(“11”)、第1閾値電圧(Vth1)状態としての第1の書き込み状態(“10”)、第2閾値電圧(Vth2)状態としての第2の書き込み状態(“00”)、第3閾値電圧(Vth3)状態としての第3の書き込み状態(“01”)の中から選ばれる。特に制限されないが、閾値電圧は、Vth4<Vth1<Vth2<Vth3の関係を有する。全部で4通りの情報記憶状態は、2ビットのデータによって決定される状態とされる。上記メモリ閾値分布を得るには、消去の後の書き込み動作時にワード線に印加する書き込みベリファイ電圧を相互に異なる3種類の電圧に設定し、これらの3種類の電圧を順次切り替えて、3回に分けて書き込み動作を行なう。それら3回に分けた個々の書き込み動作において、書き込み選択のビット線には0V、非選択のビット線には1Vを印加する。特に制限されないが、ワード線は例えば17Vとされる。前記書き込み高電圧印加時間を長くするにしたがってメモリセルの閾値電圧が上昇される。3種類の書き込み閾値電圧制御は、そのような高電圧状態の時間制御、更にはワード線に印加する高電圧のレベル制御によって行なうことができる。ビット線に0Vを印加するか、1Vを印加するかは、センスラッチ回路SLにラッチさせる書き込み制御情報の論理値で決定される。例えばセンスラッチ回路SLのラッチデータが論理値“1”で書き込み非選択、論理値“0”で書き込み選択となるように制御される。書き込み動作時にセンスラッチSLに“1”または“0”の何れをセットするかは、書き込みを行なうべき書き込み閾値電圧状態に応じて制御部CNTがバッファメモリ上の書き込みデータに従って決定する。ブロック一括消去時には、選択ワード線が−16Vとされ、非選択ワード線が0Vとされ、選択ビット線は2Vとされる。記憶情報の読み出しは、ワード線に印加するワード線選択レベルとしての電圧を、3種類設定し、3種類のワード線選択レベルを順次変更しながら最大3回の読出し動作を行い、個々の読み出し動作でメモリセルから読み出される2値(1ビット)の値に基づいて2ビットの記憶情報を判定する。
前記フラッシュメモリアレイFARY0〜FARY3に対する消去、書き込み及び読み出しの制御は前記制御部CNTが行なう。
バッファメモリBMRY0〜BMRY3は、例えばSRAM(Static Random Access Memory)によって構成され、外部から外部入出力端子i/o0〜i/o7に2値で入力される書き込みデータ及び外部入出力端子i/o0〜i/o7から出力する2値の読み出しデータを一時的に保存する。メモリバンク毎にバッファメモリBMRY0〜BMRY3は2分割されており、メモリバンク毎のバッファメモリBMRY0〜BMRY3は、対応するそれぞれのフラッシュメモリアレイにおける書き込み単位および読み出し単位に等しい最低限の記憶容量を備える。例えば、フラッシュメモリ1の場合、書き込み情報単位および読み出し情報単位が1ページ(=2Kバイト)であるから、オンチップバッファとしてのそれぞれのバッファメモリBMRY0〜BMRY3は2Kバイトの記憶容量を有する。前述の如く、バッファメモリBMRY0〜BMRY3は各メモリバンクに1組配置され、同一メモリバンクに配置されたバッファメモリは同一フラッシュメモリアレイに優先的に対応されて利用される。動作モードによっては優先的に対応されないバッファメモリを利用する場合もある。その制御はコマンドとアドレス信号に従って前記制御部CNTが制御する。
フラッシュメモリアレイとバッファメモリとの間のデータ入出力は8ビット単位で行われる。フラッシュメモリアレイFARY0〜FARY3において8ビット単位のセンスラッチSLの選択は図示を省略するセンスラッチ選択回路で行なう。バッファメモリBMRY0〜BMRY3は8ビット単位でアクセス可能にされる。フラッシュメモリアレイFARY0〜FARY3とバッファメモリBMRY0〜BMRY3との間のデータ転送、並びにバッファメモリBMRY0〜BMRY3に対するアクセス制御は、外部から与えられるコマンド及びアクセスアドレス情報などに基づいて制御部CNTが行なう。
第2図にはフラッシュメモリ1におけるアドレス、データ及びコマンドコードの伝達経路の詳細が例示される。外部入出力端子i/o0〜i/o7に供給されたコマンドコードは制御部CNTに入力される。
外部入出力端子i/o0〜i/o7に与えられた外部アドレス情報はアドレスバッファ(ABUF)10に供給される。アドレスバッファ10に入力されたアドレス情報は、メモリバンクBNK0〜BNK3全体の中でフラッシュメモリアレイのページアドレスを指定するページアドレス情報、バッファメモリのアクセス先頭アドレス情報(バッファ先頭カラムアドレス情報)などを含み、それらのアドレス情報は図示を省略するアドレスラッチ回路にラッチされる。アドレスバッファはフラッシュアドレスカウンタ(FAC)11、バッファアドレスカウンタ(BAC)12を有する。フラッシュアドレスカウンタ11は1ページ分のセンスラッチを順次バイト単位で選択するためのアドレス信号を生成するアドレスカウンタである。バッファアドレスカウンタ12はバッファ先頭カラムアドレス情報(単にカラムアドレスとも称する)などがプリセットされ、プリセット値又はカウンタリセット値を初期値として順次8ビット単位でバッファメモリのアクセスアドレス信号を生成するアドレスカウンタである。フラッシュメモリアレイFARY0〜FARY3には前記ページアドレス情報及びフラッシュアドレスカウンタ11の出力が供給される。バッファアドレスカウンタ12の出力はバッファメモリBMRY0〜BMRY3のアドレスバッファ(バッファ部アドレスバッファ=BABUF)13a〜13dに供給される。そこからバッファメモリBMRY0〜BMRY3に供給される。
外部入出力端子i/o0〜i/o7に与えられた書き込みデータはバッファメモリBMRY0〜BMRY3の内の1つのバッファメモリBMRYi(I=0〜3)に与えられる。バッファメモリBMRYiから読み出されるデータは対応するバッファメモリBMRYiのデータバッファ(バッファ部データバッファ=BDBUF)14a〜14d、データマルチプレクサ(MPX)15、データバッファ(DBUF)16を経由して外部入出力端子i/o0〜i/o7から外部に出力される。
バッファメモリBMRY〜BMRY3とフラッシュメモリアレイFARY0〜FARY3との間では8ビット単位でデータの入出力が行われる。
第3図には外部入出力端子i/o0〜i/o7とバッファメモリBMRY(i=0〜3)間におけるデータ転送形態が例示される。フラッシュメモリ1に対する読み出し動作において、ページアドレス情報に基づいて選択されたフラッシュメモリアレイFARYiの記憶情報を一時的に保持するバッファメモリBMRYiは外部入出力端子i/o0〜i/o7とインタフェースされ、特に、ページアドレス情報等に基づいて選択された一つのバッファメモリBMRYiのうちの左側のバッファメモリBMRYi(L)は外部入出力端子i/o0〜i/o3とインタフェースされ、ページアドレス情報等に基づいて選択された一つのバッファメモリBMRYiのうち右側のバッファメモリBMRYi(R)は外部入出力端子i/o4〜i/o7とインタフェースされて、記憶情報が外部に読み出される。また、フラッシュメモリ1に対する書き込み動作において、外部入出力端子i/o0〜i/o3に与えられる書き込みデータはページアドレス情報等に基づいて選択された一つのバッファメモリBMRYiのうちの左側のバッファメモリBMRYi(L)に一時的に保持され、外部入出力端子i/o4〜i/o7に与えられる書き込みデータはページアドレス情報等に基づいて選択された一つのバッファメモリBMRYiのうちの右側のバッファメモリBMRYi(R)に一時的に保持される。
第4図にはバッファメモリBMRYiとフラッシュFARYiとの間におけるデータ転送形態が例示される。フラッシュメモリ1に対するアクセス動作において、メモリバンクBNKiを指定した書き込み動作において、ページアドレス情報等に基づいて指定されたバッファメモリBMRYiが一時的に保持する書き込み情報がページアドレス情報等に基づいて指定されたフラッシュメモリアレイFARYiに書き込まれる。また、フラッシュメモリ1に対するアクセス動作において、メモリバンクBNKiを指定した読み出し動作において、ページアドレス情報等に基づいて指定されたフラッシュメモリアレイFARYiからの記憶情報がページアドレス情報に基づいて指定されたバッファメモリBMRYiに一時的に保持される。
第5図にはフラッシュメモリ1におけるアクセス処理の種別が例示される。FARYはフラッシュメモリアレイFARY0〜FARY3を総称する。BMRYはバッファメモリBMRY0〜BMRY3を総称する。MCNTはフラッシュメモリ1の外部に配置されるフラッシュメモリコントローラを意味する。前記制御部CNTは、外部と前記バッファメモリBMRYとの間の第1アクセス処理と、前記フラッシュメモリアレイFARYと前記バッファメモリBMRYとの間の第2アクセス処理とを、それぞれ別々に外部から指示を受けて制御可能である。第1アクセス処理は、外部からバッファメモリBMRYにデータを書き込むバッファプログラム処理BPGMと、バッファメモリBMRYから外部にデータを読み出すバッファリード処理BRDとに大別される。第2アクセス処理はバッファメモリBMRYの記憶情報をフラッシュメモリアレイFARYの所定エリアに書き込むフラッシュプログラム処理FPGMと、フラッシュメモリアレイFARYの所定エリアを消去するフラッシュイレーズ処理FERSと、フラッシュメモリアレイFARYの所定エリアの記憶情報を読み出してバッファメモリBMRYに保持させるフラッシュリード処理FRDとに大別される。その他に、制御部CNTは第3アクセス処理として、フラッシュメモリアレイの所定エリアの記憶情報を2値情報として外部に直接読み出すダイレクトフラッシュアクセス処理DFAを制御する。ここで、直接とは、記憶情報に対する2値と4値との間の変換処理を経ないことを意味する。
第6図には第1アクセス処理及び第2アクセス処理の指示形態の概略が例示される。
同図において20はアドレスコマンドを総称し、Com1はアドレスコマンドコード等の第1コマンドコードを総称し、CAは前記バッファ先頭カラムアドレス情報を意味し、PAはページアドレス情報を意味する。21は前記第2アクセス処理としての前記フラッシュリード処理を指示するアクセスコマンドを総称する。Com2はアクセスコマンド等を構成する第2コマンドコードを意味する。第6図のA欄において22は第1アクセス処理としての前記バッファリード処理BRDの指示を示す。バッファリード処理BRDの指示は、例えばコマンドラッチディスエーブル(CLE=L)及びアドレスラッチディスエーブル(ALE=L)状態におけるリードイネーブル状態(REb=L)で与えられる。前記アクセスコマンド21で指示されるフラッシュリード処理FRDの対象とされる記憶情報がページアドレス情報で指定されてフラッシュメモリアレイFARYiからバッファメモリBMRYiに転送完了される状態は、フラッシュメモリ1の外部にレディー・ビジー信号R/Bbの第1状態であるレディー状態(R/Bb=L)で指示される。バッファリード処理BRDの指示22はレディー・ビジー信号R/Bbのレディー状態を待って外部から与えられる。バッファリード処理BRDの指示22が与えられると、前記バッファ先頭カラムアドレス情報に基づいて指定されたデータがリードイネーブル信号REbのクロック変化に同期してバッファメモリBMRYiから外部に出力される。出力データはDoutとして図示される。
第6図のB欄において23は、第1アクセス処理としての前記バッファプログラム処理BPGMの指示を示す。バッファプログラム処理BPGMの指示23は、例えばコマンドラッチディスエーブル(CLE=L)及びアドレスラッチディスエーブル(ALE=L)状態におけるライトイネーブル状態(WEb=L)で与えられる。バッファプログラム処理BPGMの指示23が与えられると、ページアドレス情報で特定されるメモリバンクBNKiのバッファメモリBMRYiに前記バッファ先頭カラムアドレス情報を先頭アドレスとして順次ライトイネーブル信号WEbのクロック変化に同期して入力データDinが格納される。24は前記第2アクセス処理としての前記フラッシュプログラム処理FPGMを指示するアクセスコマンドを総称する。フラッシュプログラム処理FPGMが指示されると、バッファメモリBMRYiの記憶情報がページアドレス情報で指定されたフラッシュメモリアレイFARYiのページアドレスに書き込まれる。この書き込み動作が完了されるまで、前記レディー・ビジー信号R/Bbがビジー状態にされる。
第6図のC欄は第6図のA欄における第2アクセス処理としての前記フラッシュリード処理FRDを指示するアクセスコマンド21が省略され、アドレスコマンド20の直後に第1アクセス処理としての前記バッファリード処理BRDが指示される(22)。このアクセス処理の指示形態においては、アドレスコマンド20のページアドレス情報にしたがって決定されたメモリバンクBNKiにおけるバッファメモリBMRYiから、前記バッファ先頭カラムアドレス情報を先頭アドレスとして順次リードイネーブル信号REbのクロック変化に同期してデータDoutが出力される。このときには、第2アクセス処理21が指示されていないから、フラッシュメモリアレイFARYiに対するアクセスは行われない。既にバッファメモリBMRYiが保持しているデータを読み出す場合にはA欄のようにフラッシュメモリアレイFARYiからバッファメモリBMRYiへのデータ転送が完了するまでのビジー状態を生じないので、リードすべきデータの外部出力動作タイミングが早くなる。
第6図のD欄は第6図のB欄における第1アクセス処理としての前記バッファプログラム処理BPGMの指示23が省略され、アドレスコマンドの直後に第2アクセス処理としての前記フラッシュプログラム処理FPGMの指示24が与えられる。このアクセス処理の指示形態においては、アドレスコマンド20のページアドレス情報にしたがって決定されたメモリバンクBNKiにおけるバッファメモリBMRYiの記憶情報が、ページアドレス情報で指定されるフラッシュメモリアレイFARYiのページに書き込まれる。このときには、第1アクセス処理23が指示されていないから、外部からバッファメモリBMRYiへ書き込みデータの供給を受ける必要はない。既にバッファメモリBMRYiが保持しているデータをフラッシュメモリアレイFARYiに書き込む場合、B欄のような外部からの書き込みデータの転送を受ける必要がないので、フラッシュメモリアレイFARYiに対する書き込み完了までの期間を短縮することができる。
第7図にはフラッシュメモリ1におけるコマンド体系の具体例が示される。Com1の欄にはアドレスコマンドコード等が例示され、Com2の欄にはアクセスコマンドコード等が例示される。フラッシュメモリ1ではバッファメモリBMRYiに対するクリアは明示的に行なう。第6図のC欄及びD欄で説明した処理を可能にするには有意のデータがバッファメモリBMRYiに残っていなければならない。これを保証するためである。例えば、No.22のバッファクリアコマンドを実行することにより、全てのバッファメモリBMRY0〜BMRY3の記憶情報をクリアする。このバッファクリアコマンドにおけるCom1のコマンドコード“FEH”がバッファクリアの動作指示を与える。第8図には前記バッファクリアコマンドによるクリア処理の内容が模式的に示される。
第7図においてCom1にアドレスコマンドコード“80H”を伴うときはページアドレス情報PAに基づいて決定されるバッファメモリに対して予めクリアを処理を行なってからデータ転送処理に移る。但し、80Hを先頭とするアドレスコマンドが連続するときは第1回目だけクリア処理を伴う。アドレスコマンドコードの“00H”を伴うときはクリア処理は行われない。
第7図において、フラッシュメモリアレイに対する基本的な書き込みのコマンドコードは“10H”、“16H”とされ、フラッシュメモリアレイに対する基本的な読み出しのコマンドコードは“30H”とされる。それらコマンドコードによる書き込み又は読み出しは1〜4ページの範囲で任意とされる。複数ページの書き込み又は読み出しに必要なページアドレス情報などは“00H”や“80H”を先頭とするアドレスコマンドを複数回繰り返せばよい。複数ページの書き込みに必要な書き込みデータは例えばページアドレス情報を入力する毎に第1アクセス処理の指示に従って入力すればよい。フラッシュメモリアレイFARYiからバッファメモリBMRYiに転送された記憶情報の外部読み出しは前述の第1アクセス処理の指示に従って行なえばよいが、複数ページの記憶情報を複数のバッファメモリBMRYiから順次読み出しするときには、第7図のコマンドNo.2及び3に例示されるランダムアクセスコマンドを利用して、バッファメモリの任意カラムアドレスを起点にデータの外部読み出しを行なうことも可能である。起点となる任意カラムアドレスは前記CAで指定され、指定されたバッファ先頭カラムアドレス情報は第2図のバッファアドレスカウンタ12にプリセットされて順次更新される。第9図には前記1〜4ページの任意ページに対する書き込み又は読み出し処理の内容が模式的に示される。
書き込みや読み出し処理において、バッファメモリは同一バンクのフラッシュメモリアレイと優先的に対応される。即ち、優先的な対応関係では、ページアドレス情報でメモリバンクBNKiが指定されると、その指定は同一バンクのフラッシュメモリアレイFARYiとバッファメモリBMRYiの指定とみなされる。この優先的な対応関係か否かは、特に制限されないが、アクセスコマンドのコマンドコードで決定される。第7図において、Com2のアクセスコマンドコード“31H”、“12H”、“17H”の場合に非優先的な対応関係が選ばれ、その他では優先的な対応関係が選ばれる。非優先的な対応関係においてもフラッシュメモリアレイFARY0〜FARY3とバッファメモリBMRY0〜BMRY3との対応関係は予め決められている。すなわち、フラッシュメモリアレイFARY0,FARY1,FARY2,FARY3は、バッファメモリBMRY2,BMRY3,BMRY0,BMRY1に非優先対応される。第10図にはフラッシュメモリアレイに対するバッファメモリの優先的な対応関係と非優先的な対応関係が例示される。
尚、特に図示はしないが、フラッシュメモリアアレイに対する優先対応関係にあるバッファメモリの接続と、非優先対応関係にあるバッファメモリの接続とは、相互の接続を排他的に切換える切換えスイッチにより選択可能になっている。
フラッシュメモリアレイに対する書き込み又は読み出し動作では特に4ページ指定の動作に対して専用のアクセスコマンドが用意される。4ページ書き込みのアクセスコマンドコードは“13H”、“18H”であり、4ページ読み出しのアクセスコマンドコードは“30H”である。第11図には前記4ページ書き込み又は読み出し処理の内容が模式的に示される。
第7図において、フラッシュメモリアレイに対する消去の基本的なコマンドコードは“D0H”とされる。2ページ単位で最大8ページまで並列消去を指示することができる。そのコマンドコードによる消去は2〜8ページの範囲で任意とされる。複数ページの消去に必要なページアドレス情報などは“60H”を先頭とするアドレスコマンドを複数回繰り返せばよい。第12図には前記2〜8ページの任意ページに対する消去処理の内容が模式的に示される。
フラッシュメモリアレイに対する消去動作では特に8ページ指定の動作に対して専用のアクセスコマンドが用意される。8ページ消去のアクセスコマンドコードは“D1H”である。第13図には前記8ページ消去処理の内容が模式的に示される。
第7図においてコマンドNo.20はダイレクトフラッシュアクセスコマンド(2値読み出しコマンド)であり、1個のメモリセルに記憶されている2ビットの記憶情報を1ビットの記憶情報として読み出す。第14図にはダイレクトフラッシュアクセス処理の内容が模式的に示される。
フラッシュメモリ1はフラッシュメモリアレイFARYi毎のステータス情報をステータスレジスタに有し、第7図のCom1のコマンドコード7*H(70H〜76H)によってステータス情報を外部に読み出すことができ得る。要するに、フラッシュメモリアレイFARYi毎のレディー状態とビジー状態、更に、書き込みパス/フェイルなどの状態を外部で把握することができる。これにより、フラッシュメモリ1において、動作されていないメモリバンクに対するアクセス処理の指示、或は消去動作中のメモリバンクBNKiに対する第1処理の指示等を容易に行なうことが可能になる。
第15図にはアドレスコマンドと第1及び第2のアクセス処理の指示に応答する制御の状態遷移図が例示される。その状態遷移制御は前記制御部CNTの制御内容とされる。第15図においてハッチングが付された制御状態はビジー状態になる。
読み出し動作制御を説明する(4Page Read[30H])。アドレスコマンド(アドレス指定コマンド)コード“00H”を用いて読み出しページのアドレスを指定する。アドレスはCAとPAの順に指定される。次にフラッシュ系読み出しコマンド30H(31H,3AH)を用いて、アドレスコマンドで指定されたメモリセルのデータを選択ページに対応するオンチップバッファとしてのバッファメモリBMRYiに転送する。転送中のステータスはビジーとされる。フラッシュ系読み出しコマンドの実行が完了された後、リードイネーブル信号REbの変化に同期して、バッファメモリBMRYiの記憶情報を外部に出力する。複数ページを読み出し対象にする場合にはアドレスコマンド“00H”を繰返せばよい。フラッシュメモリアレイから記憶情報をバッファメモリBMRYiに読み出す動作(Flash→Buffer)を完了した後、リードイネーブル信号REbをクロック変化させると、これに同期して、バッファメモリBMRYiの記憶情報が先頭から外部に出力される。このリードイネーブル信号REbのクロック変化の前に、第7図のNo.2又はNo.3のコマンドコードが投入されると、そのCAによって指定されるカラムアドレスを先頭とするデータ出力が可能にされる。
書き込み動作制御について説明する(Page Program[10H])。アドレス指定コマンド“80H”又は“00H”を用いて書き込むページのアドレスを指定する。アドレスはCA、PAの順に入力される。そして、ライトイネーブル信号WEbのクロック変化に同期して外部より書き込みデータを選択ページに対応するバッファメモリBMRYiに入力する。外部より書き込みデータの入力が完了したら、フラッシュ系書き込みコマンド10H又は12H等を用いて、前記アドレスコマンドで指定されたページにバッファメモリBMRYi上の書き込みデータを転送する。転送中のステータスはビジーとされる。書き込み終了後、70H等のコマンドを用いてステータスコードを確認可能である。
書換え動作制御について説明する(Read−Program Back[35H−15H(10H)])。アドレスコマンド“00H”とアクセスコマンド“35H”によりページアドレスのデータがフラッシュメモリアレイFARYiからバッファメモリBMRYiに読み出され、この後、バッファメモリBMRYi上で書き換えるデータのカラムアドレスがアドレスコマンド“85H”に付随するCAによるバッファ先頭カラムアドレス情報に従って指定され、指定されたカラムアドレスのデータがバッファメモリBMRYiに入力される。この後、アクセスコマンド“15H”によりバッファメモリBMRYiのデータがフラッシュメモリアレイFARYiのページアドレスに書き戻される。これによってフラッシュメモリアレイFARYiの任意領域に対する書換えが可能にされる。
消去動作制御について説明する(Block Erase[D0H],4Block Erase[D1H])。アドレス指定コマンド60Hを用いて消去するブロックのアドレスを指定する。複数ブロック消去を行なう場合にはその処理を繰返す。アドレスはPAを指定し、チップ内部でブロックアドレスに変換される。次に、フラッシュ系消去コマンドD0H又はD1Hを用いて、前記アドレスコマンドで指定されたブロックの消去を行なう。消去中のステータスはビジーとされる。消去が終了したら70H等のコマンドを用いてステータスコードを確認する。またD0H等のフラッシュ系消去コマンドの実行中はこれに並行して、利用されていないバッファメモリに対して外部との間でデータの入出力が可能にされる(バックグラウンド・データ・アクセス)。
2値読み出し動作(ダイレクトフラッシュアクセス)について説明する(Direct Flash Access[3AH])。バッファメモリのアクセスコマンドコード“3AH”が指定された場合、1個のメモリセルに記憶されている2ビットの記憶情報を1ビットの記憶情報として読み出す。即ち、ダイレクトフラッシュアクセス対象のメモリセルに対する情報記憶は、読み出しの動作マージンを大きく採ることを考慮して、消去状態又は閾値電圧の最も高い第3の書き込み状態の2通りの状態から選択する。読み出し動作では消去状態と第3の書き込み状態との間の閾値電圧を読み出しワード線電圧とし、それによって読み出された記憶情報を2値の記憶情報に対する読み出しデータとしてそのまま用いる。
クリアコマンドについて説明する(Buffer Clear)。クリアコマンドコード“FEH”では、全てのバッファメモリBMRY0〜BMRY3を一括でクリアする。特に制限されないが、ここでは、全記憶情報を論理値“0”とすることをクリアと言う。フラッシュメモリアレイFARY0〜FARY3において論理値“0”の書き込みデータは書き込み阻止の論理値とされる。バッファメモリBMRY0〜BMRY3のクリアコマンドを用意することにより、1ページ中の任意小領域の書き込み(=追加書き込み)が高速化できる。追加書き込みを行なう場合、バッファメモリBMRY0〜BMRY3のクリアコマンドがないと、書き込みを行わない領域に書き込み禁止を意味するダミーデータ(論理値“0”のパターン)を入力する必要がある。そしてライトイネーブル信号WEbを書き込み単位だけクロック変化させる必要がある。これに対してバッファメモリBMRY0〜BMRY3のクリアコマンドがあると、バッファメモリBMRY0〜BMRY3をクリアした時点で、バッファメモリBMRY0〜BMRY3上には書き込み禁止を意味するダミーデータがセットされるため、書き込み単位のデータサイズに応じてライトイネーブル信号WEbをクロックさせてよい。
次ぎ、前記フラッシュメモリ1のアクセス動作について全体的な説明を行なう。
第16図にはフラッシュメモリに対する書換え動作が示される。右側にデータの流れが示され、左側に動作手順が示される。ここでは消去単位(2ページ=4Kバイト)による書換えを想定し、消去単位に相当する2個のバッファメモリBMRYをオンチップバッファ(4K)と称する。処理▲1▼では、メモリセルデータを読み出しコマンド(フラッシュ系)でオンチップバッファ(4K)に転送する。処理▲2▼では、メモリセルを消去コマンド(フラッシュ系)で消去する。処理▲3▼では、上記処理▲2▼の動作と並列して書き込みデータをオンチップバッファ(4K)に上書きする(バッファ系)。処理▲4▼では上記処理▲2▼及び▲3▼が終了した後、引き続きオンチップバッファのデータを書き込みコマンド(フラッシュ系)でメモリセルに転送する。
前記オンチップバッファ(4K)は図1のバッファメモリBMRY0〜BMRY3の内の2個のバッファメモリBMRYi,BMRYjに相当する。第17図ではその点を明確化して、フラッシュメモリに対する書換え動作が示される。
第17図において、処理▲1▼では、メモリセルデータ(=4Kバイト)を読み出しコマンド(フラッシュ系)でオンチップバッファBMRYi,BMRYjに転送する。この時、選択メモリバンクの対応バッファメモリ(=2Kバイト)BMRYiと併せて、非選択メモリバンクのバッファメモリ(=2Kバイト)BMRYjにもデータを退避する。処理▲2▼では、メモリセルを消去コマンド(フラッシュ系)で消去する。処理▲3▼では、前記処理▲2▼の動作と並列して書き込みデータをオンチップバッファメモリBMRYi,BMRYjに上書きする(バッファ系)。処理▲4▼では前記処理▲2▼及び▲3▼が終了した後、引き続きオンチップバッファメモリBMRYi,BMRYjのデータを書き込みコマンド(フラッシュ系)でメモリセルに転送する。
第18図にはフラッシュメモリに対する別の書換え動作が示される。右側にデータの流れが示され、左側に動作手順が示される。ここでは消去単位(2ページ=4Kバイト)による書換えを想定し、消去単位に相当するバッファメモリBMRYをオンチップバッファ(4K)と称する。ここでは、バッファメモリ上で必要回数データを書き換えてフラッシュメモリアレイへの書き込みを行なう(=Read−Program Backモード)。即ち、処理▲1▼では、メモリセルデータを読み出しコマンド(フラッシュ系)でオンチップバッファBMRYに転送する。処理▲2▼では、メモリセルを消去コマンド(フラッシュ系)で消去する。処理▲3▼では、前記▲2▼の動作と並列して書き込みデータをオンチップバッファBMRYに上書きする(バッファ系)。処理▲4▼では、変更された書き込みデータを再度オンチップバッファメモリBMRYで上書きする。バッファ系コマンドはフラッシュ系コマンドに対して10倍近くコマンド実行が高速になるので、バッファ系コマンドの実行だけで済む動作は積極的にバッファ系コマンドだけを利用する。処理▲4▼による書き込みは必要な回数だけ何回行なってよい。処理▲5▼では、チップの電源を落とす、あるい次のアドレス指定コマンドが入力される前にオンチップバッファBMRYのデータを書き込みコマンド(フラッシュ系)でメモリセルに転送する。前記▲1▼〜▲5▼の動作の間に行なうバッファデータの変更(=バッファデータ書き込み)に対し、回数制限は無い。必要に応じてバッファデータの変更を実施することができる。
第19図にはフラッシュメモリに対するキャッシュ読み出し動作が示される。右側にデータの流れが示され、左側に動作手順が示される。ここでは読み出しはページ単位(=2Kバイト)で行われ、バッファメモリBMRYiとしてのオンチップバッファはページ単位で読み出しデータを受ける。処理▲1▼では、メモリセルデータを読み出しコマンド(フラッシュ系)でオンチップバッファBMRYiに転送する。処理▲2▼では、引き続き、リードイネーブル信号REbのクロック変化に同期させてオンチップバッファのデータをi/oから外部に読み出す。処理▲3▼では、同じページを連続して読み出す場合、フラッシュ系読み出しコマンドを使用せず、リードイネーブル信号REbのクロック変化に同期させてオンチップバッファBMRYi上のデータをそのままi/oから外部に出力する。この処理はオンチップバッファBMRYi上のデータが書き換えられない限り、何度でも実行できる。この時、アドレスコマンドで指定されるページアドレスが、オンチップバッファBMRYi上のデータのページアドレスに一致(ページアドレスヒット)するか不一致(ページアドレスミスヒット)かの判定は、フラッシュッメモリ外部のフラッシュメモリコントローラMCNT側で行なえば、そのような判定結果を得る為のステータスポーリングは不要である。要するに、アクセス要求元であるメモリコントローラそれ自体がページアドレスヒット又はページアドレスミスヒットの状態を認識してアクセス要求を行なうから、フラッシュメモリのデータ出力タイミングがページアドレスヒット又はページアドレスミスヒットに応じて相違する状態をポーリングなどによってメモリメモリコントローラが認識するのを待つまでもない。
第20図にはフラッシュメモリに対するキャッシュ読み出し動作のためのページアドレスヒット及びページアドレスミスヒットの判定をフラッシュメモリが行なう場合の例を示す。右側にはそのためのハードウェア構成が例示され、左側にはその制御手順が例示される。
第2図のアドレスバッファ(ABUF)10に、前後2回のアクセスにおけるそれぞれのページアドレス情報を保持するアドレスラッチ回路30,31を用意する。第1のアドレスラッチ回路31は現在動作中のページアドレス情報を保存し、第2のアドレスラッチ回路31には一つ前に動作したアクセスのページアドレス情報を保存する。処理▲1▼では、メモリセルデータを読み出すコマンド(フラッシュ系)が入力されたら、第1のアドレスラッチ回路30の値と第2のアドレスラッチ回路31の値を比較回路32で比較する。比較結果は制御部CNTに与えられる。制御回路CNTはアドレスラッチ回路30,31の値が一致したらフラッシュメモリアレイFARYiに対するデータ読み出し動作を行なわずに、レディー・ビジー信号R/Bb(もしくはステータス)をレディー状態に戻して(▲3▼)、バッファメモリBMRYiのデータを出力可能になる。引き続き第1アドレスラッチ回路30の値を第2アドレスラッチ回路31にコピーする。
ドレスラッチ回路30,31の値が一致しない場合、フラッシュメモリアレイFARYiのメモリセルデータをオンチップバッファBMRYiに転送する(処理▲2▼)。この転送中はビジー状態にされる。引き続き第1アドレスラッチ回路30の値を第2アドレスラッチ回路31にコピーする。
上記比較判定動作中において、外部のフラッシュメモリコントローラFCNTはステータスポーリングを行なう。レディー・ビジー信号R/Bbでレディー状態を確認したら、リードイネーブル信号REbをクロック変化させて、オンチップのバッファメモリBMRYiからi/oにデータを出力させる。
第21図にはコピー書き込み動作が例示される。右側にデータの流れが示され、左側に動作手順が示される。ここでは書き込みはページ単位(=2Kバイト)で行われ、バッファメモリBMRYiとしてのオンチップバッファはページ単位で書き込みデータをフラッシュメモリアレイFARYiに与える。同図に示される動作は書き込みエラー処理やデータ書込の多重化等で使用される。処理▲1▼では、書き込みデータをオンチップバッファBMRYiに書込む(バッファ系コマンド)。処理▲2▼では、引き続きオンチップバッファBMRYiのデータを書き込みコマンド(フラッシュ系コマンド)でフラッシュメモリアレイFARYiに転送する。処理▲3▼では、処理▲2▼で選択したページとは異なるページに、同じデータを書き込む場合(要するにコピーする場合)、アドレス指定コマンドでコピー先のページアドレスを指定し、再度オンチップバッファBMRYiのデータを書き込みコマンド(フラッシュ系)でメモリセルに転送する。この処理はオンチップバッファBMRYi上のデータが書き換えられない限り、何度でも実行することができる。
次ぎ、前記フラッシュメモリ1のアクセス動作タイミングについて全体的な説明を行なう。
第22図には読み出し動作タイミングが例示される。これは第6図のA欄のコマンド形態の場合に対応され、また、第19図の処理▲1▼及び処理▲2▼を経る読み出し動作に対応される。第22図においてCol.Add1及びCol.Add2はCAに相当し、Raw.Add1及びRaw.Add2はPAに相当する。第22図における時間T1はフラッシュメモリアレイFARYiからデータを読み出してバッファメモリBMRYiに伝達するまでの動作時間に相当する。
第23図にはキャッシュ読み出し動作タイミングが例示される。これは第6図のC欄のコマンド形態の場合に対応され、また、第19図の処理▲3▼による読み出し動作に対応される。アドレスコマンドが入力された後、フラッシュメモリアレイFARYiの動作を待つ必要がないから、R/Bbはビジー状態にされず、即座に、外部へのデータ出力が可能にされる。
第24図には書き込み動作タイミングが例示される。これは第6図のB欄のコマンド形態の場合に対応され、また、第21図の処理▲1▼及び処理▲2▼による書き込み動作に対応される。第24図においてCol.Add1及びCol.Add2はCAに相当し、Raw.Add1及びRaw.Add2はPAに相当する。第24図における時間T2は、バッファメモリBMRYiが保持するデータをフラッシュメモリアレイFARYiに書き込む動作時間に相当する。
第25図にはコピー書き込み動作タイミングが例示される。これは第6図のD欄のコマンド形態の場合に対応され、また、第21図の処理▲3▼による書き込み動作に対応される。アドレスコマンドが入力された後、外部からバッファメモリBMRYiに書き込みデータが転送されるのを待つ必要がないから、書き込み動作全体で要する時間が短縮される。
第26図にはキャッシュ読み出し動作のためのページアドレス比較をフラッシュメモリコントローラMCNTが行なう場合のタイミングチャートが示され、これは、第19図の処理による動作に対応される。第26図においてCA1,CA2は前記CAに相当する。フラッシュメモリコントローラMCNTは連続してフラッシュリードアクセスを行なうとき、これからリードアクセスしようとするページアドレスと直前にリードアクセスしたページアドレスとを比較し(S1a)、その後に、アドレスコマンドを出力する(S2a)。前記S1比較結果が不一致である場合には、その後フラッシュメモリコントローラMCNTはフラッシュリードアクセスのためのアクセスコマンド(例えば“30H”)を出力し、レディー・ビジー信号R/Bbによるステータスポーリングでレディー状態への変化を待つ(S3a)。この間、フラッシュメモリコントローラMCNTは指定されたページアドレスから記憶情報を読み出して対応バッファメモリBMRYiに読み出しデータを転送する。フラッシュメモリコントローラMCNTはレディー状態を検出すると、リードイネーブル信号REbのクロック変化に同期させてバッファメモリBMRYiから前記読み出しデータを外部に出力させる(S4a)。前記S1a比較結果が一致である場合には、前記処理S3aを省略し、直ちに、フラッシュメモリコントローラMCNTはリードイネーブル信号REbのクロック変化に同期させてバッファメモリBMRYiから前記読み出しデータを外部に出力させる(S4a)。直前にフラッシュリードアクセス処理でアクセス対象ページアドレスの記憶情報が既に対応バッファメモリBMRYiに保持されているからである。このキャッシュリード処理を行なうときのコマンドは第7図のNo.2,No.3のアクセスコマンド等であってもよい。
第27図にはキャッシュ読み出し動作のためのページアドレス比較をフラッシュメモリが行なう場合のタイミングチャートが示され、これは第20図の処理による動作に対応される。第27図においてCA1,CA2は前記CAに相当する。フラッシュメモリコントローラMCNTはフラッシュリードアクセスを行なうとき、アドレス比較を行わず直ちにアドレスコマンドを出力する(S1b)。その後フラッシュメモリコントローラMCNTはフラッシュリードアクセスのためのアクセスコマンド(例えば“30H”)を出力し、レディー・ビジー信号R/Bbによるステータスポーリングでレディー状態への変化を待つ(S2b)。この間、フラッシュメモリは、指定されたリードアクセス対象ページアドレスと直前にリードアクセスしたページアドレスとを比較する。比較結果が不一致の場合には、フラッシュメモリは、指定されたページアドレスから記憶情報を読み出して対応バッファメモリBMRYiに読み出しデータを転送してから、レディー・ビジー信号R/Bbでレディー状態を通知する。比較結果が一致の場合には、フラッシュメモリは、直ちにレディー・ビジー信号R/Bbでレディー状態を通知する。すなわち、比較結果の一致により、時間ITだけステータスポーリングの期間が短縮される。フラッシュメモリコントローラMCNTはレディー状態を検出すると、リードイネーブル信号REbのクロック変化に同期させてバッファメモリBMRYiが保有するデータを外部に出力させる(S3b)。このキャッシュリード処理を行なうときのコマンドは第7図のNo.2,No.3のアクセスコマンド等であってもよい。
第28図にはフラッシュメモリ1におけるデータ出力系のパイプラインが示される。第1アクセス処理に用いる信号経路に、外部からのアドレス情報をラッチするアドレスバッファ(ABUF)10、アドレスバッファの出力を入力してバッファメモリBMRYiに供給するバッファ部アドレスバッファ(BABUF)13m(m=a〜d)、バッファメモリBMRYiから出力されるデータをラッチするバッファ部データバッファ(BDBUF)14m、バッファ部データバッファ14mの出力データをラッチして外部に出力するデータバッファ(DBUF)16が配置され、アドレス入力からデータ出力までのパイプライン段数は4段である。特に制限されないが、前記アドレスバッファ10はイネーブル信号ENのクロック変化に同期してラッチ動作を行なう。前記バッファ部アドレスバッファ13m、バッファ部データバッファ14m、及びデータバッファ16は、クロック信号CLKのクロック変化に同期してラッチ動作を行なう。前記イネーブル信号EN及びクロック信号CLKは制御部CNTが生成する。
第29図には第28図のパイプラインにおける各出力信号波形が例示される。前記制御部CNTは、アドレスコマンドCA1,CA2をアドレスラッチイネーブル状態(ALE=H)においてライトイネーブル信号(WEb)のクロック変化に同期して認識すると、ライトイネーブル信号(WEb)のクロック変化に同期してイネーブル信号ENをクロック変化させる(Tm1)。また、第1アクセス処理においてコマンドラッチディスエーブル状態(CLE=L)及びアドレスラッチディスエーブル状態(ALE=L)で外部へのデータ読み出しを指示するリードイネーブル信号REbのクロック変化に同期してクロック信号CLKをクロック変化させる(Tm2)。
前記Tm1のクロック変化はアドレスバッファ10の最初のラッチ動作を制御して、内部アドレス情報ADD1を確定させる。前記Tm2のクロック変化はデータバッファ16の最初のデータ出力等を確定させる。このとき、前記制御部CNTは、バッファ部アドレスバッファ13m及びバッファ部データバッファ14mの最初のラッチ動作を制御するためにクロック信号CLKを自立的に変化させる(Tm3)。すなわち、前記制御部CNTは、アドレスコマンドCA1,CA2をアドレスラッチイネーブル状態(ALE=H)においてライトイネーブル信号(WEb)のクロック変化に同期して認識した後、第1アクセス処理において外部へのデータ読み出しを指示するリードイネーブル信号REbが変化されるまでの間に、ダミークロックとして、バッファ部アドレスバッファ13mのラッチタイミングと、バッファ部データバッファ14mのラッチタイミングを生成する。
これにより、アドレスコマンドによるアクセス対象アドレスがA1,A2,A3…が続くとき、それによりリードデータがD1,D2,D3…のように連続する場合を考えると、最初のアドレス入力においてTm1のクロック変化でアドレスバッファ10の出力ADD1がA1に確定し、次のTm3の最初にクロック変化でバッファ部アドレスバッファ13mの出力ADD2がA1確定すると共に当該確定アドレスa1でバッファメモリBMRYiから読み出されるデータdata1がD1に確定する。Tm3の次のクロック変化でバッファ部データバッファ14mの出力データdata2がD1に確定する。そして、Tm2の最初のクロック変化でデータバッファ16から最初のデータD1が外部に出力される。以下パイプラインで順次後続データが出力されていく。
上記自立的にクロックを生成することにより、アドレス入力からデータ出力までのパイプライン段数が比較的多くても、最初の部分のパイプライン動作に対処することが可能になる。
次に、バックグラウンドデータインプット動作について説明する。
第30図にはバックグラウンドデータインプット動作の概略が例示される。バックグラウンドデータインプット動作は、フラッシュメモリアレイFARYiにおいて選択アドレスのメモリデータを消去している間、次に書き込むデータを外部入出力端子i/o0〜i/o7からバッファメモリBMRYiに入力し、消去後の書込み時間を短縮する高速書込みのためのデータ入力動作とされる。
第31図にはバックグラウンドデータインプットを利用した書込み動作とそれを利用しない書込み動作の相違を例示するタイミングチャートが示される。メモリセルの消去と外部入出力端子i/o0〜i/o7からバッファメモリBMRYiへの書込みデータ入力とが並列化されるので、その分、フラッシュメモリアレイFARYiに対する書込み時間を短縮することができる。
第32図にはバックグラウンドデータインプットの更に詳細な概念が例示される。ここでは、4個のメモリバンクBNK0〜BNK3のフラッシュメモリアレイFARY0〜FARY3に対する一括消去中に、例えば2個のバッファメモリBMRY0、BMRY2に書込みデータを入力する動作が例示される。先ず、マルチバンク消去コマンドが投入されることにより、フォアグラウンドにおいて各フラッシュメモリアレイFARY0〜FARY3の選択ブロックに対する消去が行なわれる。これに並行してバックグラウンドでは、アドレスコマンドで指定されたバッファメモリBMRY0,BMRY2に、順次8ビット単位でシリアルに書込みデータが格納される。消去終了後、フォアグラウンドで、フラッシュメモリアレイFARY0,FARY2の選択ページに、バッファメモリBMRY0,BMRY2の書込みデータが書き込まれる。
第33図にはバックグラウンドデータインプット動作を適用した消去及び書き込み動作のタイミングチャートが例示される。ここでは、各メモリバンクBNK0〜BNK3にわたる連続4ブロックに対して、4バンク一括ブロック消去を行っている間に、次に書き込むデータをバックグラウンドデータインプットする場合を例示する。
先ず、第1コマンドコード(Com1)例えば60Hのような消去コマンド(消去1st Com.)、ページアドレス(Page M)、第2コマンドコード(Com2)例えばD1Hのような連続4ブロック消去開始コマンド(消去2nd Com.)を投入すると、各メモリバンクBNK0〜BNK3にわたる選択ページを含む連続4ブロック消去が開始される。消去開始後、レディー/ビジー信号R/Bbはローレベル(L)になり、ビジー状態を示す。
このビジー状態の間に、バッファメモリへのデータインプットを指示するために、第1コマンドコード(Com1)例えば80Hのようなアドレスコマンドコード、必要なカラムアドレス(CA1、CA2)、ページアドレス(RA1、RA2)、書き込みデータ(DinN…)という順に外部からコマンド入力を行う。これによってカラムアドレス(CA1、CA2)、ページアドレス(RA1、RA2)に対応するバッファメモリに書込みデータが格納される。上記コマンド入力を必要回数繰り返すことによって複数のバッファメモリにバックグラウンドデータインプット動作を行なうことができる。
レディー/ビジー信号R/Bbによって外部に前記消去終了が通知された後、第2コマンド(Com2)例えば13Hのような書き込みコマンド(書き込み2nd Com.)が投入されることにより、例えばバッファメモリから対応するフラッシュメモリアレイに対する書き込みが開始される。この時の書き込みページは前記第1コマンドコード(Com1)例えば80Hのようなアドレスコマンドコードに続くページアドレス(RA1、RA2)で指定されたページとされる。フラッシュメモリアレイに対する書き込みページを変える場合には、第33図に示されるように、13Hのような書き込みコマンド(書き込み2nd Com.)の前に、例えば80Hのようなアドレスコマンドコード(書き込み1st Com.)、必要なカラムアドレス(CA1、CA2)、ページアドレス(RA1、RA2)を、必要回数挿入すればよい。
第34図には第33図のバックグラウンドデータインプット動作におけるバッファメモリのデータ入力動作が例示される。同図より明らかなように、連続4ブロック消去開始コマンド(消去2nd Com.)投入後の消去動作に並行して、メモリバンクBNK0〜BNK3に書込みデータ(Data In)がシリアルに入力される。
第35図には第33図のバックグラウンドデータインプット動作におけるバッファメモリとフラッシュメモリアレイの動作状態が例示される。第35図のA欄には各メモリバンクにおいて選択ページを含むブロックに対し連続4ブロック消去を開始する状態が示される。第35図のB欄には消去中に、フラッシュメモリアレイへの書込みデータをバッファメモリにバックグラウンドデータインプットする状態が示される。▲2▼〜▲5▼の動作の順序は任意でよい。第35図のC欄には消去動作終了後、書込み動作開始コマンドを投入することにより書き込みが開始される状態が例示される。この例は、消去選択ページと同じページアドレスに書き込みが行なわれる場合を示す。フラッシュメモリアレイに対する書き込みページアドレスは第35図のD欄に示されるように任意とすることも可能である。書込み動作開始コマンドを投入する前に、再度アドレスコマンドコードを投入してアドレス指定を行なえばよい。また、第35図のE欄に例示されるように、フラッシュメモリアレイに対して非優先関係のバッファメモリを用いる書込み動作を行なってもよい。これは12H又は17Hの書き込み開始コマンドを利用すればよい。
第36図にはマルチバンク消去に並行するバックグラウンドデータインプット動作が例示される。マルチバンク消去は、各バンクで異なるページを選択して消去を行なう動作である。第1コマンドコード(Com1)例えば60Hのような消去コマンド(消去1st Com.)とページアドレスの指定を4回繰返した後に、第2コマンドコード(Com2)例えばD0Hのような消去開始コマンドを投入すると、各メモリバンクBNK0〜BNK3で夫々指定されたページアドレスに対する一括消去が開始される。この消去動作動作に並行して第33図で説明したのと同様のバックグラウンドデータインプット動作が可能にされる。
第37には第36図のマルチバンク消去とその後のバックグラウンドデータインプット動作におけるバッファメモリのデータ入力動作が例示される。マルチバンク消去においてメモリバンクBNK0の消去ページアドレスはpageL、メモリバンクBNK1の消去ページアドレスはpageM、メモリバンクBNK2の消去ページアドレスはpageN、メモリバンクBNK3の消去ページアドレスはpagePとされる。同図より明かのように、4バンク一括ブロック消去開始コマンド(消去2nd Com.)投入後の消去動作に並行して、メモリバンクBNK0〜BNK3に書込みデータ(Data In)がシリアルに入力される。
第38図には第37図のマルチバンク消去による各メモリバンクBNK0〜BNK3における消去ブロックが示される。
第39図には書き込み動作時、バッファメモリ内の書き込みデータをセンスラッチに転送した後、選択ページのメモリアレイにデータを書き込んでいる間に、書き込みバンクのバッファ内に次の書き込みデータを入力するバックグラウンドデータインプット動作の概要が例示される。先ず、第39図の<A>の如く書込みデータが外部データ入出力端子i/o0〜i/o7からバッファメモリBMRYiに格納される。次に、<B>に示されるようにバッファメモリBMRYiの書込みデータが対応するフラッシュメモリアレイFARYiのセンスラッチSLにラッチされる。センスラッチSLにラッチされたデータは<C>の如くメモリセルに書き込み開始される。この書き込みの最中に、<D>に示されるように、バッファメモリBMRYiには外部から次の書込みデータの入力が行なわれる。
第40図には第39図の書き込み動作とバックグラウンドデータインプット動作のタイミングチャートが示される。第1コマンドコード(Com1)例えば80Hのようなアドレスコマンドコード、必要なカラムアドレス及びページアドレス、書き込みデータ(Data In)という順に外部からコマンド入力を行う。これによってカラムアドレス及びページアドレスに対応するバッファメモリに書込みデータが格納される。この後、第2コマンド(Com2)例えば10Hのような書き込みコマンド(書き込み2nd Com.)が投入されることにより、例えばバッファメモリから対応するフラッシュメモリアレイに対する書き込みが開始される。この時の書き込みページは前記第1コマンドコード(Com1)例えば80Hのようなアドレスコマンドコードに続くページアドレスで指定されたページとされる。この時、レディー/ビジー信号R/Bbは最初ローレベルになり、ビジー状態を外部に通知する。フラッシュメモリアレイの内部では、まず書込みデータがメモリバッファからセンスラッチに取り込まれ、センスラッチに取り込まれた書き込みデータにしたがってメモリセルへの書き込み動作が開始される。このメモリアレイへの書き込み動作中に、第6図のB欄に示されたデータインプットのフローにしたがって書き込みデータが外部から入力されると(Data In)、バッファメモリに当該次の書き込みデータが格納される。この後、前記同様に、第2コマンド(Com2)例えば10Hのような書き込みコマンド(書き込み2nd Com.)が投入されることにより、例えばバッファメモリから対応するフラッシュメモリアレイに対する書き込みが開始される。第39図及び第40図の動作では、書込みデータがバッファメモリからセンスラッチに転送された後に、当該バッファメモリに次の書込みデータが格納開始されるが、そのタイミングは、外部のメモリコントローラがレディー/ビジー信号R/Bbのビジー状態への変化を検出した後に所定時間経過するのを待つことによって実現することができる。或は、図41に例示されるように、ABUF10のFAC11のカウントアップ信号CNTUを制御部CNTが受けて、信号BDIをアサートする。信号BDIのアサートタイミングは、ビジー状態になって書込みデータがバッファメモリからセンスラッチに転送完了されたタイミングとなる。外部のメモリコントローラは信号BDIがアサートされた後、フラッシュメモリにデータインプットコマンドにしたがって次の書き込みデータ(Data In)を供給すればよい。
以上説明したフラッシュメモリによれば以下の作用効果を得る。
〔1〕フラッシュメモリ1に対するアクセス処理の指示若しくはコマンドを、フラッシュ系(=フラッシュメモリアレイ⇔オンチップバッファメモリ間転送)とバッファ系(オンチップバッファメモリ⇔i/o間転送)の2系統に分割する。そして両者を組み合わせて、あるいは単独で、フラッシュメモリ1に対するアクセスを可能にする。このようにコマンドを2系統に分割することで、消去動作の様にオンチップのバッファメモリBMRYiを利用しない動作モードでは、外部から並列してオンチップのバッファメモリをアクセス可能になる。また、高速なオンチップバッファメモリ⇔i/o間転送を積極的に利用することで、キャッシュ読み出し等が可能となる。また、書き込み用シリアルクロック(WEb信号)、読み出し様シリアルクロック(REb信号)端子を設け、更にアドレスバッファの値を外部から指定できるアドレス指定コマンド(例えば第7図のNo.2及びNo.3のコマン等)を用意することにより、スタンバイ中はコマンド入力が無くとも外部クロックに同期してアドレスバッファの指すオンチップバッファメモリとi/o間でデータの入出力が可能になる。
〔2〕オンチップバッファメモリBMRYi上のデータは、バッファクリアコマンドが入力されるまで保持する。そのためオンチップバッファメモリBMRYi上のデータをユーザが管理することができる。
〔3〕フラッシュ系の動作モード時、使用されていないオンチップバッファメモリBMRYiに対しては、バッファ系のコマンドを受け付け可能になる。
〔4〕バッファ系コマンドの動作単位をページ単位とするが、ページ内のアドレス(=CA)を指定するコマンドを併用することで、ページ内の任意の領域を選択的に転送することもできる。
〔5〕フラッシュ系コマンドの動作単位もページ単位であるが、これによる動作ではページ内の任意の領域を選択的にバッファメモリBMRY0〜BMRY3間で転送することは実現していない。制御を極端に複雑化しないためであり、バッファ系コマンドでページ内の任意選択が実現されていれば実質的に十分と考えられるからである。
〔6〕セクタ管理情報や記憶情報のECCデータ等を2値データとしてフラッシュメモリアレイFARYiに書込むことで、データを2値⇔4値変換を行わずにフラッシュメモリアレイFARYiから記憶情報をi/oに直接的に転送できるから(ダイレクフラッシュアクセスモード)、メモリコントローラMCNTによるセクタ管理情報やECCデータ等を用いる制御処理に即座に移ることができ、ファイルやデータに対するアクセス処理時間の全体的な短縮に寄与することができる。
〔7〕フラッシュメモリチップ1に搭載されているバッファメモリBMRYiを外部より直接指定できる、アドレス指定コマンド(第7図のNo.2、No.3、No.4のコマンド)を用意するから、バッファメモリBMRYiのデータは信号REb、WEbに同期してi/o⇔バッファメモリ間で転送することができる。
〔8〕書き込み、読み出しモードではアドレス指定コマンドにより選択ページ(=動作させるページ)のページアドレスをアドレスバッファに入力し、それによってフラッシュメモリアレイのアクセスアドレスが定まると共に、オンチップのバッファメモリのアドレスも一意に定まるため、バッファメモリのアドレス指定を特別に行なう操作は不要である。
〔9〕2個のアドレスラッチ回路30,31とアドレス比較回路32を用意すると、キャッシ読み出し動作の制御をフラッシュメモリ自体で行なうことができる。
〔10〕フラッシュメモリアレイFARYiの消去動作中にバッファメモリ部に次の書込みデータを入力するような動作に代表されるバックグラウンドデータインプットにより、フラッシュメモリアレイFARYiに対するデータの書き換え動作等を更に高速化することができる。
〔11〕以上より、高速書き換え、キャッシュ読み出し、及び高速コピー書き込み等を実現でき、フラッシュメモリチップの利便性を向上させることができる。そのようなフラッシュメモチップを用いるフラッシュメモリカードの性能を向上させることが可能になる。
以上本発明者によってなされた発明を実施例に基づいて具体的に説明したが本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。
例えば、バッファメモリにはバイト単位アクセスを行なうSRAMを用いてページ単位のデータを直列的に転送するシリアル転送方式を採用しているが、フラッシュメモリアレイとの間ではページ単位のデータを内部転送可能なパラレル転送方式のデータラッチ回路を用いてもよい。
バッファメモリに対する書き込み及び読み出しのためのシリアルクロックを書き込み用(WEb)と読み出し用(REb)に別々に用意したが、バッファ系制御コマンドを別途用意してもよい。その場合には、シリアルクロックは1つ共通化することができる。
バッファメモリのサイズは1バンク毎にnページ以上(n:1より大きな自然数)あってもよい。
本発明は4値など多値フラッシュメモリだけではなく、2値フラッシュメモリにも適用可能である。また、多値フラッシュメモリの記憶形式は記憶情報の値に応じて順次閾値電圧を相違させる場合に限定されず、メモリセルにおいて電荷を保持する場所を局所的に変更して多値で情報記憶を行なう電荷トラップ膜(窒化シリコン膜)を利用するメモリセル構造を採用してもよい。更に不揮発性メモリセルとして高誘電体メモリセル等のその他の記憶形式を採用する事も可能である。
また単数のメモリバンクを有する不揮発性記憶装置にも適用可能である。バッファ部の指定は暗黙的指定に限定されず、アドレスコマンドで積極的指定するようにしてもよい。但し、アドレスコマンドの情報量が増える。
また本発明はアドレス/データ両方がマルチプレクスされてI/O端子に入力されるものだけではなく、アドレスを入力するためのアドレス端子を有するものであっても良い。アドレス端子から入力されたアドレスに従ってバッファメモリへのアクセス又はフラッシュメモリアレイへのアクセスのいずれかを指定するコマンドを有するようにしても良い。この場合バッファメモリ又はフラッシュメモリの何れへのアクセスであるかを指定する制御信号によりアクセスする先を決定するようにしても良い。更にこの場合であってもフラッシュメモリからバッファメモリへのアクセスはページ単位に行い、バッファメモリへのアクセスはバイト単位に行なうようにすることが可能である。
産業上の利用可能性
本発明は、オンチップでバッファメモリを備えるフラッシュメモリチップ、そのフラッシュメモリチップを搭載し得たフラッシュメモリカード、バッファメモリを備えるフラッシュメモリをオンチップの不揮発メモリとして備えマイクロコンピュータ若しくはシステムLSIなどの半導体集積回路などに広く適用することができる。
【図面の簡単な説明】
第1図は本発明に係る半導体記憶装置の一例であるフラッシュメモリの平面的なレイアウト構成図である。
第2図はフラッシュメモリ1におけるアドレス、データ及びコマンドコードの伝達経路の詳細を例示するブロック図である。
第3図は外部入出力端子i/o0〜i/o7とバッファメモリ間におけるデータ転送形態を例示する説明図である。
第4図はバッファメモリとフラッシュ間におけるデータ転送形態を例示する説明図である。
第5図はフラッシュメモリにおけるアクセス処理の種別を例示する説明図である。
第6図は第1アクセス処理及び第2アクセス処理の指示形態の概略を例示する説明図である。
第7図はフラッシュメモリにおけるコマンド体系の具体例を示す説明図である。
第8図はバッファクリアコマンドによるクリア処理の内容を模式的に示す動作説明図である。
第9図は1〜4ページの任意ページに対する書き込み又は読み出し処理の内容を模式的に示す動作説明図である。
第10図はフラッシュメモリアレイに対するバッファメモリの優先的な対応関係と非優先的な対応関係を例示する説明図である。
第11図は4ページ書き込み又は読み出し処理の内容を模式的に示す説明図である。
第12図は2〜8ページの任意ページに対する消去処理の内容を模式的に示す説明図である。
第13図は8ページ消去処理の内容を模式的に示す説明図である。
第14図はダイレクトフラッシュアクセス処理の内容を模式的に示す説明図である。
第15図はアドレスコマンドと第1及び第2のアクセス処理の指示に応答する制御状態を示す状態遷移図である。
第16図はフラッシュメモリに対する書換え動作を示す説明図である。
第17図はメモリバンクの対応バッファメモリ及び非対応メモリバッファをデータ退避に利用する書換え動作を示す説明図である。
第18図はフラッシュメモリに対する別の書換え動作を示す説明図である。
第19図はフラッシュメモリに対するキャッシュ読み出し動作を示す説明図である。
第20図はフラッシュメモリに対するキャッシュ読み出し動作のためのページアドレスヒット及びページアドレスミスヒットの判定をフラッシュメモリが行なう場合の例を示す説明図である。
第21図はコピー書き込み動作を例示する説明図である。
第22図は読み出し動作のタイミングチャートである。
第23図はキャッシュ読み出し動作のタイミングチャートである。
第24図は書き込み動作のタイミングチャートである。
第25図はコピー書き込み動作のタイミングチャートである。
第26図はキャッシュ読み出し動作のためのページアドレス比較をメモリコントローラが行なう第19図の処理に対応される動作のタイミングチャートである。
第27図はキャッシュ読み出し動作のためのページアドレス比較をフラッシュメモリが行なう第20図の処理に対応される動作場のタイミングチャートである。
第28図はフラッシュメモリにおけるデータ出力系のパイプラインを示す説明図である。
第29図は第28図のパイプラインにおける各出力信号波形を例示するタイミングチャートである。
第30図はバックグラウンドデータインプット動作の概略を例示する説明図である。
第31図はバックグラウンドデータインプットを利用した書込み動作とそれを利用しない書込み動作の相違を例示するタイミングチャートである。
第32図はバックグラウンドデータインプットの更に詳細な概念を例示する説明図である。
第33図はバックグラウンドデータインプット動作を適用した消去及び書き込み動作のタイミングチャートである。
第34図は第33図のバックグラウンドデータインプット動作におけるバッファメモリのデータ入力動作を例示する説明図である。
第35図は第33図のバックグラウンドデータインプット動作におけるバッファメモリとフラッシュメモリアレイの動作状態を例示する説明図である。
第36図はマルチバンク消去に並行するバックグラウンドデータインプット動作のタイミングチャートである。
第37図は第36図のマルチバンク消去とその後のバックグラウンドデータインプット動作におけるバッファメモリのデータ入力動作を例示する説明図である。
第38図は第37図のマルチバンク消去による各メモリバンクBNK0〜BNK3における消去ブロックの状態を示す説明図である。
第39図は書き込み動作時におけるバックグラウンドデータインプット動作の概要を例示する説明図である。
第40図は第39図の書き込み動作とバックグラウンドデータインプット動作のタイミングチャートである。
第41図は書込みデータがバッファメモリからセンスラッチに転送された状態を外部で検出可能にする一例を示すブロック図である。
Claims (53)
- 複数のバンクと制御部を有し、
前記バンクは不揮発性メモリ部とこれに対応するバッファ部を有し、各バンクの不揮発性メモリ部は夫々独立してアクセス動作可能であり、
前記制御部は、外部と前記バッファ部との間の第1アクセス処理と、前記不揮発性メモリ部と前記バッファ部との間の第2アクセス処理とを、それぞれ別々に外部から指示を受けて制御可能にされ、
前記第1アクセス処理は1のバッファ部へのアクセスを含み、
前記第2アクセス処理は1の不揮発性メモリ部へのアクセスと複数の不揮発性メモリ部へのアクセスを含み、どちらのアクセスを行なうかが選択可能とされることを特徴とする不揮発性記憶装置 - 前記第1アクセス処理の指示は、外部から入力されるデータを前記バッファ部に書き込む指示又は前記バッファ部から外部にデータを読み出す指示であることを特徴とする請求の範囲第1項記載の不揮発性記憶装置。
- 前記書き込む指示又は読み出す指示は、外部から入力される単数又は複数の制御信号の変化によって与えられることを特徴とする請求の範囲第2項記載の不揮発性記憶装置。
- 第2アクセス処理を行っていることを示すための状態指示情報を外部に出力可能であることを特徴とする請求の範囲第3項記載の不揮発性記憶装置。
- 前記第2アクセス処理の指示はアクセスコマンドにより与えられ、前記アクセスコマンドとして、バッファ部からデータを読み出して不揮発性メモリ部に書き込む指示を与える第1アクセスコマンド、不揮発性メモリ部からデータを読み出してバッファ部に書き込む指示を与える第2アクセスコマンド、又は不揮発性メモリ部のデータを消去する指示を与える第3アクセスコマンドを有することを特徴とする請求の範囲第1項記載の不揮発性記憶装置。
- 前記制御部は、外部から供給されるアドレスコマンドを認識可能であり、
前記アドレスコマンドは、バッファ部の記憶領域及び不揮発性メモリ部の記憶領域の指定を可能にすることを特徴とする請求の範囲第1項記載の不揮発性記憶装置。 - 1又は複数の前記アドレスコマンドにより1又は複数の前記バッファ部を指定した後、
前記第2アクセス処理により、前記アドレスコマンドにより指定された1又は複数の前記バッファ部に対応した1又は複数の不揮発性メモリ部へのアクセスを行うことを特徴とする請求の範囲第6項記載の不揮発性記憶装置。 - 前記アドレスコマンドは第1指定情報、第2指定情報及び第3指定情報を持つことが可能であり、
前記第1指定情報は、不揮発性メモリ部を指定すると共に指定された不揮発性メモリ部に対応するバッファ部を暗黙的に指定し、
前記第2指定情報は、指定された不揮発性メモリ部のアクセス対象アドレスを指定し、
前記第3指定情報は、指定されたバッファ部のアクセス対象アドレスを指定することを特徴とする請求の範囲第6項記載の不揮発性記憶装置。 - 前記制御部は、特定の第2アクセス処理の指示に応答するとき、前記第1指定情報によるバッファ部の指定を、不揮発性メモリ部とは対応しない別のバッファ部の指定とみなすことを特徴とする請求の範囲第8項記載の不揮発性記憶装置。
- 前記制御部は、不揮発性メモリ部の第2アクセス処理と当該不揮発性メモリ部に対応されない別のバッファ部の第1アクセス処理とを並行可能であることを特徴とする請求の範囲第1項記載の不揮発性記憶装置。
- 前記制御部は、不揮発性メモリ部の消去処理とバッファ部の第1アクセス処理とを並行可能であることを特徴とする請求の範囲第1項記載の不揮発性記憶装置。
- 前記制御部は、前記バッファ部からデータを読み出して不揮発性メモリ部に書き込む第2アクセス処理の指示に応答する処理を行なった後に、別の第1アクセス処理又は第2アクセス処理の指示を待つ状態において、前記バッファ部の記憶情報を維持することを特徴とする請求の範囲第1項記載の不揮発性記憶装置。
- 前記制御部は、前記バッファ部からデータを読み出して外部に出力する第1アクセス処理の指示に応答する処理を行なった後に、別の第1アクセス処理又は第2アクセス処理の指示を待つ状態において、前記バッファ部の記憶情報を維持することを特徴とする請求の範囲第1項記載の不揮発性記憶装置。
- 前記制御部は、バッファクリアコマンドに応答してバッファメモリ部の記憶情報を初期化することを特徴とする請求の範囲第11項又は第13項記載の不揮発性記憶装置。
- 前記制御部は、前記第1アクセス処理に応答して、外部からの入力データをバッファ部に書き込むとき、書き込み前に前記バッファ部の記憶情報を初期化することを特徴とする請求の範囲第12項又は第13項記載の不揮発性記憶装置。
- 前記制御部は、第2アクセス処理により前記不揮発性メモリ部から読み出されてバッファ部に書き込まれたデータを、複数回の第1アクセス処理によりバッファ部から外部へ異なるタイミングで複数回データ転送可能とすることを特徴とする請求の範囲第1項記載の不揮発性記憶装置。
- 前記制御部は、不揮発性メモリ部からバッファ部にデータを書き込む第2アクセス処理が指示されたとき、バッファ部が保有するデータの不揮発性メモリ部上でのアドレスと同じアドレスをアクセス処理対象とする当該第2アクセス処理を省略することを特徴とする請求の範囲第1項記載の不揮発性記憶装置。
- バッファ部が保有するデータの不揮発性メモリ部上におけるアドレスのアドレス情報を保持するアドレス保持手段と、アドレス保持手段が保持するアドレス情報と第2アクセス処理においてデータ読み出し対象とされる不揮発性メモリ部のアドレスのアドレス情報とを比較する比較手段とを有することを特徴とする請求の範囲第17項記載の不揮発性記憶装置。
- 前記制御部は、第2アクセス処理で前記不揮発性メモリ部からバッファ部に書き込まれたデータを第1アクセス処理によりバッファ部から外部へ出力する指示が与えられたとき、前記第2アクセス処理の省略の有無により、第2アクセス処理中であることをビジー状態によって示す信号によるビジー状態の期間を相違させることを特徴とする請求の範囲第17項記載の不揮発性記憶装置。
- 前記制御部は、第1アクセス処理により外部からバッファ部に書き込まれたデータを、複数回の第2アクセス処理によりバッファ部から不揮発性メモリ部へ複数回書き込み可能とすることを特徴とする請求の範囲第1項記載の不揮発性記憶装置。
- 前記制御部は、複数回の第1アクセス処理により外部からバッファ部上で書き換えられたデータを、第2アクセス処理によりバッファ部から不揮発性メモリ部へ書き込み可能とすることを特徴とする請求の範囲第1項記載の不揮発性記憶装置。
- 前記不揮発性メモリ部は1個の記憶素子に2ビット以上の多値情報記憶が可能にされ、前記バッファ部は1個の記憶素子に1ビットの2値情報記憶が可能にされることを特徴とする請求の範囲第1項記載の不揮発性記憶装置。
- 前記制御部は、前記不揮発性メモリ部の記憶情報を2値情報とみなし、多値から2値への変換動作を省略する第3アクセス処理を制御可能であることを特徴とする請求の範囲第22項記載の不揮発性記憶装置。
- 前記第1アクセス処理に用いる信号経路に、外部からのアドレス情報をラッチするアドレスバッファ、前記アドレスバッファの出力を入力してバッファ部に供給するバッファ部アドレスバッファ、前記バッファ部から出力されるデータをラッチするバッファ部データバッファ、前記バッファ部データバッファの出力データをラッチして外部に出力するデータバッファが配置され、
前記制御部は、アドレスコマンドを第1ストローブ信号に同期して認識した後、第1アクセス処理において外部へのデータ読み出しを指示する第2ストローブ信号が変化されるまでの間に、ダミークロックとして、前記バッファ部アドレスバッファのラッチタイミングと、前記バッファ部データバッファのラッチタイミングを生成することを特徴とする請求の範囲第5項記載の不揮発性記憶装置。 - 前記不揮発性メモリ部の消去単位は書き込み単位の複数倍であり、それぞれのバッファ部は前記書き込み単位の記憶容量を有し、
前記制御部は、前記消去単位による記憶情報の書換え動作の指示に対して、書換え対象のバンクのバッファ部及び異なるバンクのバッファ部を併せて、書換え対象記憶情報の退避領域に用いることを特徴とする請求の範囲第1項記載の不揮発性記憶装置。 - 1個の半導体チップに形成されて成ることを特徴とする請求の範囲第1項記載の不揮発性記憶装置。
- その他の回路モジュールと共に1個の半導体チップに形成されて成ることを特徴とする請求の範囲第1項記載の不揮発性記憶装置。
- 複数のメモリバンクと制御部を有し、前記メモリバンクは不揮発性メモリ部とバッファ部を有し、
前記バッファ部及び前記不揮発性メモリ部のアクセス対象領域はアドレスコマンドに基づいて指定され、
前記制御部は、外部と前記バッファ部との間でアクセス動作を行なう第1アクセス処理と、前記不揮発性メモリ部と前記バッファ部との間でアクセス動作を行なう第2アクセス処理とを、それぞれ別々に外部から指示を受けて制御可能であり、1の前記第2アクセス処理に対応して1の前記第1アクセス処理を制御することと、1の前記第2アクセス処理に対応して複数の前記第1アクセス処理を制御することが可能であることを特徴とする不揮発性記憶装置。 - 前記制御部は、前記第1アクセス処理では、前記アドレスコマンドが指定するメモリバンクのバッファ部を利用させ、
前記第2アクセス処理では、その指示内容に応じて、前記アドレスコマンドが指定するメモリバンクのバッファ部又はそれと異なるメモリバンクのバッファ部を利用させることを特徴とする請求の範囲第28項記載の不揮発性記憶装置。 - 前記制御部は、メモリバンク数に応ずる回数を限度にアドレスコマンドが入力される毎にアドレスコマンドで指定される不揮発性メモリ部のアクセス対象領域に対する読み出しセットアップ動作を制御し、第2アクセス処理としてリード動作を指示するリードアクセスコマンドが入力されたとき、前記読み出しセットアップされた不揮発性メモリ部から記憶情報を読み出してバッファ部に書き込む制御を行なうことを特徴とする請求の範囲第28項記載の不揮発性記憶装置。
- 前記制御部は、メモリバンク数に応ずる回数を限度に連続してアドレスコマンド入力と第1アクセス処理の指示による書き込みデータ入力が行われる毎に、アドレスコマンドで指定されるメモリバンクのバッファ部に前記書き込みデータの書き込み動作を制御し、第2アクセス処理として書き込み動作を指示するライトアクセスコマンドが入力されたとき、前記バッファ部が有する書き込みデータを対応するメモリバンクの不揮発性メモリ部に書き込む制御を行なうことを特徴とする請求の範囲第28項記載の不揮発性記憶装置。
- 前記制御部は、メモリバンク数に応ずる回数を限度に連続してアドレスコマンドが入力された後にイレーズコマンドが入力されることにより、アドレスコマンドで指定されるメモリバンクの不揮発性メモリ部に対して記憶領域の消去動作を制御することを特徴とする請求の範囲第28項記載の不揮発性記憶装置。
- 制御部と不揮発性記憶部とバッファ回路とを有し、
前記不揮発性記憶部は複数の不揮発性記憶領域に分割され、
前記バッファ回路は前記不揮発性記憶領域に対応する複数のバッファ領域に分割され、
前記制御部は外部から複数の動作指示コマンドを受け付け、前記動作指示コマンドには
前記バッファ回路と外部との間でのアクセス動作を指示する第1の動作指示コマンドと、
前記バッファ回路と不揮発性記憶部との間でのアクセス動作を指示する第2の動作指示コマンドとがあり、
前記第1の動作指示コマンドは1の前記バッファ領域へのアクセス動作を指示し、
前記第2の動作指示コマンドは1の前記不揮発性記憶領域へのアクセス動作と、複数の前記不揮発性記憶領域へのアクセス動作との何れかを選択可能であることを特徴とする不揮発性記憶装置。 - 前記制御部は前記動作指示コマンドを受け付けることが可能なコマンド受付状態を有し、前記動作指示コマンドを受け付けてそれぞれの動作指示コマンドに応じた処理を行った後、前記コマンド受付状態となることを特徴とする請求の範囲第33項記載の不揮発性記憶装置。
- 前記動作指示コマンドには、前記一の不揮発性記憶領域を選択するためのアドレスを指定する第3の動作指示コマンドがあり、
前記第2の動作指示コマンドは、前記第3の動作指示コマンドで選択された前記不揮発性記領域と前記バッファ回路との間でアクセス動作を行なう指示を与えることを特徴とする請求の範囲第34項記載の不揮発性記憶装置。 - 前記制御部は、前記第3の動作指示コマンドで前記不揮発性記憶領域を選択すると共に、選択された前記不揮発性記領域に対応する前記バッファ領域をも選択し、
前記第1の動作指示コマンドは、前記第3の動作指示コマンドで選択されたバッファ領域と外部との間でアクセス動作を行なう指示を与え、
前記第2の動作指示コマンドは、前記第3の動作指示コマンドで選択されたバッファ領域と前記不揮発性記領域との間でアクセス動作を行なう指示を与えることを特徴とする請求の範囲第35項記載の不揮発性記憶装置。 - 前記制御部は、前記第2の動作指示コマンドによる一の前記不揮発性記憶領域へのアクセス処理のうち一部の処理完了に応じて前記コマンド受付状態となり、
前記一の不揮発性記憶領域への全てのアクセス処理が完了する前において、
前記第3の動作指示コマンドの受付と、
前記第3の動作指示コマンドで選択されたバッファ領域及び不揮発性記憶領域が前記アクセス処理を行っている領域とは異なる領域である場合の前記第1又は前記第2の動作指示コマンドの受付を可能とすることを特徴とする請求の範囲第36項記載の不揮発性記憶装置。 - 前記第1の動作指示コマンドには、前記バッファ回路へのデータの書き込みを指示する第1書き込み動作コマンドと、前記バッファ回路からデータの読み出しを指示する第1読み出し動作コマンドとを含み、
前記第2の動作指示コマンドには、前記バッファ回路から前記不揮発性記憶部へのデータの書き込みを指示する第2書き込み動作コマンドと、前記不揮発性記憶部から前記バッファ回路へデータの読み出しを指示する第2読み出し動作コマンドとを含むことを特徴とする請求の範囲第37項記載の不揮発性記憶装置。 - 前記第1の動作指示コマンドには、更に前記バッファ回路に書き込まれているデータの消去を指示する第1消去動作コマンドを含み、
前記第2の動作指示コマンドには、更に前記不揮発性記憶部に書き込まれているデータの消去を指示する第2消去動作コマンドを含むことを特徴とする請求の範囲第38項記載の不揮発性記憶装置。 - 前記不揮発性記憶部の第1の不揮発性記憶領域を指定する前記第3の動作指示コマンドの受付後、前記第2消去動作コマンドを受け付け、前記第1の不揮発性記憶領域に書き込まれているデータの消去を開始しデータの消去が完了する前において、
前記不揮発性記憶部の第2の不揮発性記憶領域を指定する前記第3の動作指示コマンドと、前記第1の動作指示コマンド又は前記第2の動作指示コマンドとの受付を可能とすることを特徴とする請求の範囲第39項記載の不揮発性記憶装置。 - 前記不揮発性記憶部の第1の不揮発性記憶領域を指定する前記第3の動作指示コマンドの受付後、前記第2読み出しコマンドを受け付け、前記不揮発性記憶部から前記バッファ回路へデータの読み出しが完了した後において、少なくとも1回以上の前記第1の動作指示コマンドを受け付け、更に前記第2書き込みコマンドの受付動作が可能であることを特徴とする請求の範囲第39項記載の不揮発性記憶装置。
- 前記第2読み出しコマンドを受け付けた後、前記第2書込コマンドの受付前において、
前記不揮発性記憶部の第2の不揮発性記憶領域を指定する前記第3の動作指示コマンドの受付と少なくとも1回以上の前記第1の動作指示コマンド又は前記第2の動作指示コマンドの受付けを行った後、
前記第1の不揮発性記憶領域を指定する前記第3の動作指示コマンドの受付動作が可能であることを特徴とする請求の範囲第41項記載の不揮発性記憶装置。 - 前記不揮発性記憶部の第1の不揮発性記憶領域を指定する前記第3の動作指示コマンドの受付後、少なくとも1回以上の前記第1書き込みコマンドを受け付けた後、前記第2書き込みコマンドの受付動作が可能であることを特徴とする請求の範囲第38項記載の不揮発性記憶装置。
- 少なくとも1回の前記第1書き込みコマンドを受け付けた後、1回以上の前記第1の動作指示コマンドの受付動作が可能であることを特徴とする請求の範囲第43項記載の不揮発性記憶装置。
- 少なくとも1回の前記書き込みコマンドを受け付けた後、1回以上の前記第2書き込みコマンドの受付動作が可能であることを特徴とする請求の範囲第43項記載の不揮発性記憶装置。
- 前記不揮発性記憶部の第1の不揮発性記憶領域に含まれる第1アドレスを指定する前記第3の動作指示コマンドの受付後、前記第2読み出しコマンドを受け付け、
前記第2読み出しコマンドでは前記不揮発性記憶部から前記バッファ回路へ、前記第3の動作指示コマンドで指定されたアドレスから第1データ量のデータの読み出しを行った後、
前記不揮発性記憶部の第1の不揮発性記憶領域に含まれかつ前記第1アドレスから第1データ量の範囲に含まれるアドレスを指定する前記第3の動作指示コマンドと前記第1の動作指示コマンドとを1回以上受け付けることが可能であることを特徴とする請求の範囲第39項記載の不揮発性記憶装置。 - 前記不揮発性記憶部の第1の不揮発性記憶領域に含まれる第1アドレスを指定する前記第3の動作指示コマンドの受付後、前記第2読み出しコマンドを受け付け、
前記第2読み出しコマンドでは前記不揮発性記憶部から前記バッファ回路へ、前記第3の動作指示コマンドで指定されたアドレスから第1データ量のデータの読み出しを行い、
さらに、前記不揮発性記憶部の第1の不揮発性記憶領域に含まれかつ前記第1アドレスから第1データ量の範囲に含まれる第2アドレスを指定する前記第3の動作指示コマンドの受付けと前記第2の読み出しコマンドを受け付けた場合、
前記第2の読み出しコマンドの処理では前記不揮発性記憶部から前記バッファ回路への読み出し動作は行わないことを特徴とする請求の範囲第39項記載の不揮発性記憶装置。 - 前記第2の書き込みコマンドの完了では前記バッファ回路に書き込まれているデータの消去は行わず、前記第1消去動作コマンドにより前記バッファ回路に書き込まれているデータの消去を行なうことを特徴とする請求の範囲第39項記載の不揮発性記憶装置。
- 第1の不揮発性記憶領域に優先的に対応するバッファ回路の第1のバッファ領域と、第2の不揮発性記憶領域に優先的に対応するバッファ回路の第2のバッファ領域とを有し、
前記バッファ回路の第1のバッファ領域は前記第2の不揮発性記憶領域との間でもアクセス動作可能とされ、
前記バッファ回路の第2のバッファ領域は前記第1の不揮発性記憶領域との間でもアクセス動作可能とされることを特徴とする請求の範囲第35項記載の不揮発性記憶装置。 - 前記第1の動作指示コマンドは、前記バッファ回路の第1のバッファ領域と外部との間でアクセス動作させて、前記バッファ回路へのデータの書き込みを指示する第1書き込み動作コマンドと、前記バッファ回路からデータの読み出しを指示する第1読み出し動作コマンドと、前記バッファ回路に書き込まれているデータの消去を指示する第1消去動作コマンドとを含み、
前記第2の動作指示コマンドは、前記第3の動作指示コマンドで選択されたバッファ回路のバッファ領域と前記不揮発性記憶部の不揮発性記憶領域との間でアクセス動作させて、前記バッファ回路から前記不揮発性記憶部へのデータの書き込みを指示する第2書き込み動作コマンドと、前記不揮発性記憶部から前記バッファ回路へのデータの読み出しを指示する第2読み出し動作コマンドと、前記不揮発性記憶部に書き込まれているデータの消去を指示する第2消去動作コマンドとを含み、
前記第2書き込み動作コマンドは、前記選択されたバッファ回路のバッファ領域に優先的に対応する不揮発性記憶領域へのデータの書き込みを指示する主第2書き込み動作コマンドと、前記選択されたバッファ回路のバッファ領域に優先的に対応する不揮発性記憶領域でない不揮発性記憶領域へのデータの書き込みを指示する従第2書き込み動作コマンドとを有し、
前記第2読み出し動作コマンドは、前記選択されたバッファ回路のバッファ領域に優先的に対応する不揮発性記憶領域からのデータの読み出しを指示する主第2読み出し動作コマンドと、前記選択されたバッファ回路のバッファ領域に優先的に対応する不揮発性記憶領域でない不揮発性記憶領域からのデータの読み出しを指示する従第2読み出し動作コマンドとを有することを特徴とする請求の範囲第49項記載の不揮発性記憶装置。 - 前記第2読み出しコマンド又は前記第2書き込みコマンドでは第1データ量単位に一度にデータの読み出し又は書き込みが行われ、
前記第2消去コマンドでは第1データ量よりも多い第2データ量単位に一度にデータの消去が行われ、
前記第3の動作指示コマンドで第1アドレスを指定し、前記第2消去コマンドを指示する場合、前記第1アドレスから前記第1データ量のアドレス範囲に含まれる第1データと、前記第1アドレスから前記第1データ量のアドレス範囲に含まれない第2アドレスからの第2データとのうち、前記第1データは前記選択されたバッファ回路のバッファ領域に優先的に対応する不揮発性記憶領域への書き込みと、前記第2データは前記選択されたバッファ回路のバッファ領域に優先的に対応する不揮発性記憶領域でない不揮発性記憶領域への書き込みとの少なくとも一方が行われることを特徴とする請求の範囲第50項記載の不揮発性半導体装置。 - 制御部と不揮発性記憶部とを有し、
前記不揮発性記憶部は複数の記憶領域を有し、
前記記憶領域の数と同数のバッファ回路を有し、
それぞれのバッファ回路は外部に接続され、また前記複数の記憶領域のそれぞれと対応付けられ、
前記複数のバッファ回路は前記制御部による制御に基づいてそれぞれ独立して外部との間でアクセス可能にされ、
1又は複数の前記記憶領域は前記制御部による制御に基づいて、対応付けられたバッファ回路との間でそれぞれ独立してアクセス動作可能にされることを特徴とする不揮発性記憶装置。 - 不揮発性メモリ部、バッファ部、及び制御部を有し、
前記不揮発性メモリ部はそれぞれ独立してアクセス動作可能な複数のメモリバンクに分割され、
前記バッファ部は前記夫々のメモリバンクに対応した複数の領域に分割され、
前記制御部は前記不揮発性メモリ部及びバッファ部に対してそれぞれ外部からの指示に従って独立にアクセス制御可能とされ、
外部からの指示に従って1又は複数の前記バッファ部の領域に対しアクセス指示を行った後、前記1又は複数の領域に対応付けられた1又は複数の前記メモリバンクに対して前記不揮発性メモリ部とバッファ部との間のアクセス制御可能とされることを特徴とする不揮発性記憶装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2002/003417 WO2003085677A1 (fr) | 2002-04-05 | 2002-04-05 | Memoire non volatile |
JPPCT/JP02/03417 | 2002-04-05 | ||
PCT/JP2002/011953 WO2003085676A1 (fr) | 2002-04-05 | 2002-11-15 | Dispositif de stockage non volatil |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2003085676A1 true JPWO2003085676A1 (ja) | 2005-08-11 |
JP4213045B2 JP4213045B2 (ja) | 2009-01-21 |
Family
ID=28694851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003582774A Expired - Fee Related JP4213045B2 (ja) | 2002-04-05 | 2002-11-15 | 不揮発性記憶装置 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7334080B2 (ja) |
JP (1) | JP4213045B2 (ja) |
KR (1) | KR20040097272A (ja) |
CN (1) | CN1625781A (ja) |
WO (2) | WO2003085677A1 (ja) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100608913B1 (ko) * | 2004-11-10 | 2006-08-09 | 한국전자통신연구원 | 직교주파수분할다중(ofdm) 송신기에서의 인터리빙장치 및 방법 |
WO2006051780A1 (ja) * | 2004-11-10 | 2006-05-18 | Matsushita Electric Industrial Co., Ltd. | 同時アクセスするバンク数が異なるメモリコントローラに対応した不揮発性メモリ装置 |
KR100590388B1 (ko) * | 2005-03-10 | 2006-06-19 | 주식회사 하이닉스반도체 | 멀티-플레인 타입 플래쉬 메모리 장치와, 그 프로그램 동작및 리드 동작 제어 방법 |
KR100685532B1 (ko) * | 2005-03-15 | 2007-02-22 | 주식회사 하이닉스반도체 | 독출속도를 향상시키기 위한 버퍼 메모리를 갖는 불휘발성메모리 장치 |
EP1712985A1 (en) * | 2005-04-15 | 2006-10-18 | Deutsche Thomson-Brandt Gmbh | Method and system for storing logical data blocks into flash-blocks in multiple non-volatile memories which are connected to at least one common data I/O bus |
US8200887B2 (en) | 2007-03-29 | 2012-06-12 | Violin Memory, Inc. | Memory management system and method |
JP2007052717A (ja) * | 2005-08-19 | 2007-03-01 | Fujitsu Ltd | データ転送装置およびデータ転送方法 |
CN107358974A (zh) * | 2005-09-30 | 2017-11-17 | 考文森智财管理公司 | 多个独立的串行链接存储器 |
US7652922B2 (en) * | 2005-09-30 | 2010-01-26 | Mosaid Technologies Incorporated | Multiple independent serial link memory |
KR100737913B1 (ko) | 2005-10-04 | 2007-07-10 | 삼성전자주식회사 | 반도체 메모리 장치의 읽기 방법 |
JP4418439B2 (ja) * | 2006-03-07 | 2010-02-17 | パナソニック株式会社 | 不揮発性記憶装置およびそのデータ書込み方法 |
EP1850347A1 (en) * | 2006-04-28 | 2007-10-31 | Deutsche Thomson-Brandt Gmbh | Method and device for writing to a flash memory |
JP2007328856A (ja) * | 2006-06-07 | 2007-12-20 | Toshiba Corp | 磁気ディスク装置及びデータ記録方法 |
KR100801065B1 (ko) * | 2006-08-04 | 2008-02-04 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그 제조 방법 |
KR100754226B1 (ko) * | 2006-08-22 | 2007-09-03 | 삼성전자주식회사 | 비휘발성 데이터 저장장치의 프로그래밍 방법 및 그 장치 |
KR100769776B1 (ko) * | 2006-09-29 | 2007-10-24 | 주식회사 하이닉스반도체 | 낸드 플래시 메모리 소자의 프로그램 방법 |
KR100800484B1 (ko) * | 2006-11-03 | 2008-02-04 | 삼성전자주식회사 | 불휘발성 메모리를 위한 버퍼와 디스크를 위한 버퍼를구비하는 데이터 저장 시스템 및 상기 데이터 저장시스템의 데이터 억세스 방법 |
US7921258B1 (en) | 2006-12-14 | 2011-04-05 | Microsoft Corporation | Nonvolatile disk cache for data security |
KR100885783B1 (ko) * | 2007-01-23 | 2009-02-26 | 주식회사 하이닉스반도체 | 플래시 메모리 장치 및 동작 방법 |
US7525842B2 (en) * | 2007-01-25 | 2009-04-28 | Micron Technology, Inc. | Increased NAND flash memory read throughput |
KR100813631B1 (ko) * | 2007-03-19 | 2008-03-14 | 삼성전자주식회사 | 읽기 성능을 향상시킬 수 있는 플래시 메모리 장치 |
US7606071B2 (en) * | 2007-04-24 | 2009-10-20 | Sandisk Corporation | Compensating source voltage drop in non-volatile storage |
US7606072B2 (en) * | 2007-04-24 | 2009-10-20 | Sandisk Corporation | Non-volatile storage with compensation for source voltage drop |
KR100914265B1 (ko) | 2007-05-10 | 2009-08-27 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 읽기 방법 |
US8397024B2 (en) * | 2008-10-25 | 2013-03-12 | Sandisk 3D Llc | Page buffer program command and methods to reprogram pages without re-inputting data to a memory device |
KR101324688B1 (ko) | 2009-06-12 | 2013-11-04 | 바이올린 메모리 인코포레이티드 | 영구 가비지 컬렉션을 갖는 메모리 시스템 |
JP4746699B1 (ja) * | 2010-01-29 | 2011-08-10 | 株式会社東芝 | 半導体記憶装置及びその制御方法 |
US8667248B1 (en) * | 2010-08-31 | 2014-03-04 | Western Digital Technologies, Inc. | Data storage device using metadata and mapping table to identify valid user data on non-volatile media |
JP5396415B2 (ja) | 2011-02-23 | 2014-01-22 | 株式会社東芝 | 半導体装置 |
US9659600B2 (en) | 2014-07-10 | 2017-05-23 | Sap Se | Filter customization for search facilitation |
US8892844B2 (en) | 2011-03-07 | 2014-11-18 | Micron Technology, Inc. | Methods of accessing memory cells, methods of distributing memory requests, systems, and memory controllers |
US8902653B2 (en) * | 2011-08-12 | 2014-12-02 | Micron Technology, Inc. | Memory devices and configuration methods for a memory device |
KR101903095B1 (ko) * | 2011-11-21 | 2018-10-02 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 제어하는 컨트롤러의 동작 방법 |
JP2014059930A (ja) * | 2012-09-18 | 2014-04-03 | Toshiba Corp | 不揮発性半導体記憶装置 |
DE102012218363A1 (de) * | 2012-10-09 | 2014-04-10 | Continental Automotive Gmbh | Verfahren zur Steuerung eines getrennten Ablaufs von verknüpften Programmblöcken und Steuergerät |
JP2014137721A (ja) * | 2013-01-17 | 2014-07-28 | Toshiba Corp | 記憶制御装置、データ記憶装置及び記憶制御方法 |
KR102223980B1 (ko) | 2013-08-21 | 2021-03-09 | 에버스핀 테크놀러지스, 인크. | 비파괴적 기록/판독 레벨링 |
JP6119533B2 (ja) * | 2013-09-27 | 2017-04-26 | 富士通株式会社 | ストレージ装置,ステージング制御方法及びステージング制御プログラム |
US9397941B2 (en) | 2014-06-27 | 2016-07-19 | International Business Machines Corporation | Dual purpose on-chip buffer memory for low latency switching |
JP6369176B2 (ja) * | 2014-07-07 | 2018-08-08 | 富士通株式会社 | 情報処理装置、通信制御方法及びプログラム |
KR20170010274A (ko) * | 2015-07-17 | 2017-01-26 | 삼성전자주식회사 | 적응적 페이지 사이즈 조절 기능을 갖는 반도체 메모리 장치 |
US10466907B2 (en) * | 2016-03-22 | 2019-11-05 | Toshiba Memory Corporation | Method to efficiently store object data of an object storage service on a magnetic disk drive and magnetic SMR disk drive |
JP6680978B2 (ja) * | 2016-04-15 | 2020-04-15 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
CN109164976B (zh) * | 2016-12-21 | 2021-12-31 | 北京忆恒创源科技股份有限公司 | 利用写缓存优化存储设备性能 |
US10613772B2 (en) * | 2017-03-16 | 2020-04-07 | Qualcomm Incorporated | Methods and apparatuses for copying a data page in an unmanaged flash memory device |
KR102444606B1 (ko) * | 2017-08-28 | 2022-09-20 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20190040604A (ko) * | 2017-10-11 | 2019-04-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102603916B1 (ko) * | 2018-04-25 | 2023-11-21 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 제어기를 포함하는 스토리지 장치 |
CN111813326B (zh) * | 2019-04-12 | 2024-04-19 | 建兴储存科技(广州)有限公司 | 具多数据流写入的固态存储装置及其相关写入方法 |
CN112540732B (zh) * | 2020-12-23 | 2022-11-11 | 展讯半导体(成都)有限公司 | 数据处理方法及相关产品 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US636697A (en) * | 1899-01-24 | 1899-11-07 | Coffin S Box And Lumber Company | Basket-making machine. |
JPH05216775A (ja) * | 1991-10-29 | 1993-08-27 | Hitachi Ltd | 半導体記憶装置 |
US5297029A (en) * | 1991-12-19 | 1994-03-22 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
JPH05282882A (ja) | 1991-12-19 | 1993-10-29 | Toshiba Corp | 不揮発性半導体メモリ |
JP3594626B2 (ja) * | 1993-03-04 | 2004-12-02 | 株式会社ルネサステクノロジ | 不揮発性メモリ装置 |
JPH1092186A (ja) * | 1996-09-12 | 1998-04-10 | Hitachi Ltd | 半導体記憶装置 |
JPH1185609A (ja) * | 1997-09-09 | 1999-03-30 | Mitsubishi Electric Corp | 半導体記憶装置及びそのデータ管理方法 |
JPH11149788A (ja) * | 1997-11-17 | 1999-06-02 | Oki Electric Ind Co Ltd | 半導体記憶装置及びその制御方法 |
JPH1173789A (ja) * | 1998-06-29 | 1999-03-16 | Hitachi Ltd | 半導体不揮発性メモリ |
JP4141581B2 (ja) * | 1999-04-05 | 2008-08-27 | 株式会社ルネサステクノロジ | フラッシュメモリを搭載する記憶装置 |
JP3983969B2 (ja) * | 2000-03-08 | 2007-09-26 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6883044B1 (en) * | 2000-07-28 | 2005-04-19 | Micron Technology, Inc. | Synchronous flash memory with simultaneous access to one or more banks |
US6748482B1 (en) * | 2000-09-27 | 2004-06-08 | Intel Corporation | Multiple non-contiguous block erase in flash memory |
US7356641B2 (en) * | 2001-08-28 | 2008-04-08 | International Business Machines Corporation | Data management in flash memory |
EP1345236B1 (en) * | 2002-03-14 | 2011-05-11 | STMicroelectronics Srl | A non-volatile memory device |
JP2004265162A (ja) * | 2003-03-03 | 2004-09-24 | Renesas Technology Corp | 記憶装置およびアドレス管理方法 |
JP2004318940A (ja) * | 2003-04-14 | 2004-11-11 | Renesas Technology Corp | 記憶装置 |
-
2002
- 2002-04-05 WO PCT/JP2002/003417 patent/WO2003085677A1/ja active Application Filing
- 2002-11-15 WO PCT/JP2002/011953 patent/WO2003085676A1/ja active Application Filing
- 2002-11-15 US US10/510,150 patent/US7334080B2/en not_active Expired - Fee Related
- 2002-11-15 CN CNA028289390A patent/CN1625781A/zh active Pending
- 2002-11-15 KR KR10-2004-7015747A patent/KR20040097272A/ko not_active Application Discontinuation
- 2002-11-15 JP JP2003582774A patent/JP4213045B2/ja not_active Expired - Fee Related
-
2007
- 2007-12-24 US US11/963,913 patent/US7581058B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP4213045B2 (ja) | 2009-01-21 |
US7334080B2 (en) | 2008-02-19 |
US20050228962A1 (en) | 2005-10-13 |
WO2003085677A1 (fr) | 2003-10-16 |
US20080098190A1 (en) | 2008-04-24 |
US7581058B2 (en) | 2009-08-25 |
CN1625781A (zh) | 2005-06-08 |
WO2003085676A1 (fr) | 2003-10-16 |
KR20040097272A (ko) | 2004-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4213045B2 (ja) | 不揮発性記憶装置 | |
US11150808B2 (en) | Flash memory system | |
US7409473B2 (en) | Off-chip data relocation | |
KR101088235B1 (ko) | 반도체 메모리를 갖는 메모리 시스템 및 그 데이터 전송 방법 | |
TWI469154B (zh) | 具有可組態之頁尺寸的非揮發性記憶體裝置 | |
US9159427B2 (en) | Memory devices and their operation with different sets of logical erase blocks | |
US8111562B2 (en) | Semiconductor storage device and method of reading data therefrom | |
JP4014801B2 (ja) | 不揮発性メモリ装置 | |
US20210373813A1 (en) | Semiconductor memory device | |
US20100042777A1 (en) | Semiconductor device including memory cell having charge accumulation layer and control gate and data write method for the same | |
US7978512B2 (en) | Semiconductor memory system | |
US20120159284A1 (en) | Semiconductor memory device capable of transferring various types of data | |
TW202232494A (zh) | 半導體裝置及連續讀出方法 | |
TW200306576A (en) | Nonvolatile memory device | |
US20120134211A1 (en) | Memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050714 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080701 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080829 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081028 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081029 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4213045 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131107 Year of fee payment: 5 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |