[go: up one dir, main page]

JPH0729392A - 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置 - Google Patents

不揮発性半導体メモリおよびそれを使用した半導体ディスク装置

Info

Publication number
JPH0729392A
JPH0729392A JP15338293A JP15338293A JPH0729392A JP H0729392 A JPH0729392 A JP H0729392A JP 15338293 A JP15338293 A JP 15338293A JP 15338293 A JP15338293 A JP 15338293A JP H0729392 A JPH0729392 A JP H0729392A
Authority
JP
Japan
Prior art keywords
block
address
data
write
blocks
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.)
Pending
Application number
JP15338293A
Other languages
English (en)
Inventor
Kunio Ueda
国生 上田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP15338293A priority Critical patent/JPH0729392A/ja
Publication of JPH0729392A publication Critical patent/JPH0729392A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

(57)【要約】 【目的】フラッシュEEPROMのチップ内部で不良記
憶領域と予備記憶領域との代替を行えるようにし、その
チップ耐用期間の延長を図る。 【構成】メモリセルアレイには、データ領域を構成する
256個のブロックと、これら各ブロックと同一サイズ
の予備ブロックが設けられている。ベリファイ回路12
2による検証結果に基づいてデータ領域のブロックに不
良が発生したことが検出されると、その不良ブロックを
指定するアドレスが代替アドレステーブル15に登録さ
れる。そして、以降は、その不良ブロックを指定するア
ドレスが外部から入力されると、そのアドレスと代替ア
ドレステーブル15に登録されている不良ブロックのア
ドレスとがブロック選択制御回路16によって比較され
る。この場合、アドレス値が一致されると、不良ブロッ
クと予備ブロックとの代替が行われ、不良ブロックの代
わりに予備ブロックが選択されてアクセスされる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、不揮発性半導体メモ
リおよびそれを使用した半導体ディスク装置に関する。
【0002】
【従来の技術】従来のワークステーションやパーソナル
コンピュータ等の情報処理装置の多くは、記憶装置とし
て磁気ディスク装置を用いていた。磁気ディスク装置
は、記録の信頼性が高い、ビット単価が安いなどの利点
がある反面、装置のサイズが大きい、物理的な衝撃に弱
いなどの欠点を持つ。
【0003】すなわち、磁気ディスク装置は、磁気ヘッ
ドを回転ディスク表面に走らせることによって、データ
を回転ディスク上に磁気的に書き込む、あるいはそれら
を読み出すという動作原理である。この回転ディスクや
磁気ヘッドといった機械的な可動部分は、装置に物理的
な衝撃が与えられることによって誤動作や故障が発生す
る恐れがある。またそのような機械的可動部を必要とす
る事が、装置全体のサイズを小さくする障害となってい
る。
【0004】このため、磁気ディスク装置は、机上に固
定して使用するデスクトップタイプのコンピュータで用
いるにはあまり支障とならないが、持ち運び可能で小型
なラップトップコンピュータやノートブックコンピュー
タにおいては、これらの欠点は大きな問題となる。
【0005】そこで、近年、装置のサイズが小さく物理
的な衝撃にも強いシリコンディスク装置に注目が集まっ
ている。シリコンディスク装置とは、電気的に一括消去
が可能な不揮発メモリであるフラッシュEEPROM
を、従来の磁気ディスク装置などと同様にパーソナルコ
ンピュータなどの2次記憶装置として用いるものであ
る。このシリコンディスク装置には、磁気ディスク装置
のような機械的な可動部分がないため、物理的な衝撃に
よる誤動作や故障は発生しにくい。また、装置としての
サイズも小さくなる等の利点がある。
【0006】しかし、このシリコンディスク装置の構成
要素であるフラッシュメモリは、同一メモリセルに対す
るデータ書き込み/消去の繰り返しによって、そのメモ
リセル中の酸化膜が徐々に劣化されるという特徴を持っ
ている。酸化膜の劣化が進むと、正しいデータの書き込
みや読み出しを行うことができなくなる。このため、フ
ラッシュメモリの書き替え回数の限界値は、10の6乗
程度以下の回数に制限されている。この書き替え可能回
数の限界値は、フラッシュメモリを有するシリコンディ
スク装置を磁気ディスク装置などと同様にコンピュータ
の記憶装置として用いるには、必ずしも充分な値とはい
えない。
【0007】書き替え可能回数の限界値に達したか否か
は、プログラムベリファイ動作を利用して検出される。
このプログラムベリファイ動作は、データ書き込み動作
に後続してフラッシュメモリ内で自動実行される動作で
あり、その動作は次の通りである。
【0008】すなわち、フラッシュメモリのプログラム
動作においては、まず、外部からの書き込みアドレスお
よび書き込みデータにしたがってデータ書き込み動作が
行われ、次いで、そのデータ書き込み動作が正常に実行
されたか否かの確認のためのプログラムベリファイ動作
が行われる。このプログラムベリファイ動作では、メモ
リセルに書き込まれた実際のデータ内容とフラッシュメ
モリ内のレジスタに保持されているライトデータとが比
較され、一致すればベリファイOKを示すステータスが
フラッシュメモリから外部回路に出力され、プログラム
動作が終了される。
【0009】一方、不一致の場合には、データ書き込み
動作が再試行され、その後、プログラムベリファイ動作
が再び行われる。データ書き込み動作の再試行は、ベリ
ファイOKになるまで繰り返される。この場合、再試行
の繰り返し回数がある一定値を越えると、書き込み失敗
を示すステータスがフラッシュメモリから外部回路に出
力される。外部回路は、書き込み失敗を示すステータス
を一旦受け取るとフラッシュメモリ内の該当する記憶領
域に書き込み可能回数を越えたメモリセルがあると判断
する。
【0010】このように不良が検出されると、従来で
は、そのフラッシュメモリを別のチップに交換するか、
あるいはチップ交換せずに不良箇所以外の正常な部分だ
けを引き続き使用する等の手法が取られていた。
【0011】後者の手法はフラッシュメモリの寿命(耐
用期間)を延ばすことでできるという点で有効である
が、実際にはあまり利用されてない。なぜなら、不良箇
所が発生するとアドレスの連続性が保てなくなったり、
チップ全体の記憶容量が変わるので、それに応じてコン
ピュータシステムのソフトウェアを設計し直すことが必
要とされるからである。
【0012】
【発明が解決しようとする課題】従来では、チップ内部
の記憶領域に不良箇所が発生した場合には、そのチップ
を引き続き使用するためには、その不良によるアドレス
不連続性やチップ全体の記憶容量の減少を考慮した複雑
なアルゴリズムを外部システムに用意する必要があっ
た。このため、実際には、チップ内部の記憶領域に不良
箇所が発生すると、たとえ不良箇所が一部であってもチ
ップの交換が行なわれており、十分なチップ耐用期間を
得ることができなかった。
【0013】この発明はこのような点に鑑みてなされた
もので、チップ内部で不良記憶領域と予備の記憶領域と
の代替を行えるようにし、チップ内部の記憶領域に不良
箇所が発生しても、複雑なアルゴリズムを外部システム
に用意する事なく引き続く使用することができる不揮発
性半導体メモリおよびそれを使用した半導体ディスク装
置を提供することを目的とする。
【0014】
【課題を解決するための手段および作用】この発明の不
揮発性半導体メモリは、所定サイズの記憶容量を有する
複数のデータブロックと、前記所定サイズの記憶容量を
有する1以上の予備ブロックとを有するメモリセルアレ
イと、外部から供給される書き込みデータを前記メモリ
セルアレイの複数のデータブロックに書き込む書き込み
手段と、この書込み手段によって前記メモリセルアレイ
のデータブロックに書き込まれたデータ内容を前記書き
込みデータと比較し、その一致の有無に基づいてデータ
書き込み動作が正常に実行されたか否かを検証するベリ
ファイ手段と、このベリファイ手段による検証結果に基
づいて前記書き込みが行われたデータブロックの不良を
検出し、その不良データブロックを指定するアドレスを
保持する手段と、この保持された不良データブロックの
アドレスと外部からのアドレスを比較し、それらが一致
した際に前記不良データブロックの代わりに前記予備ブ
ロックをアクセス対象ブロックとして選択するブロック
代替手段とを具備することを特徴とする。
【0015】この不揮発性半導体メモリにおいては、ベ
リファイ手段による検証結果に基づいて不良セルを含む
不良ブロックの存在が検出されると、その不良ブロック
を指定するアドレスが保持される。そして、以降は、そ
の不良ブロックを指定するアドレスが外部から入力され
ると、そのアドレスと保持されている不良ブロックのア
ドレスとが比較される。この場合、アドレス値が一致さ
れると、不良ブロックと予備ブロックとの代替が行わ
れ、不良ブロックの代わりに予備ブロックが選択されて
アクセスされる。このようにこのメモリにおいては、チ
ップ内部に予備領域が設けられており、その予備領域と
不良領域との代替がチップ内部で行われる。この場合、
予備領域と不良領域のサイズは同じなので、チップ全体
の記憶容量が変化されることもない。このため、ホスト
コンピュータ等の外部システムは、見掛け上あたかも不
良が発生していないかのように引き続きメモリをアクセ
スすることができる。したがって、複雑なアルゴリズム
を外部システムに用意する事なく引き続き同一チップを
使用することができ、耐用期間の延長を図ることができ
る。
【0016】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。図1にはこの発明の一実施例に係わるフラッシ
ュEEPROMのチップ内のロジックが示されている。
このフラッシュEEPROM10はNAND型のメモリ
であり、データの書き込みは例えば512バイトのペー
ジ単位で行われ、データ消去は4Kバイトのブロック単
位で実行されるように構成されている。
【0017】このフラッシュEEPROM10には、図
示のように、入出力回路11、制御回路12、データバ
ッファ13、メモリ回路14、代替アドレステーブル1
5、およびブロック選択制御回路16が設けられてお
り、これらは同一チップ上に集積形成されている。
【0018】入出力回路11は、外部回路との間でアド
レス、データ、各種制御信号を授受するためのものであ
り、各種入出力ピンに結合されている。フラッシュEE
PROM10のピンには、データ入出力ピン(I/
O)、チップイネーブル信号入力ピン(CE)、レディ
ー/ビジー信号出力ピン(READY/BUSY)、ラ
イトイネーブル信号入力ピン(WE)、アウトプットイ
ネーブル信号入力ピン(OE)、アドレスラッチイネー
ブル信号入力ピン(ALE)、エラー信号出力ピン(E
RROR)、等が含まれている。
【0019】データ入出力ピン(I/O)は、リード/
ライトデータの入出力の他、アドレスやコマンドの入力
にも利用される。フラッシュEEPROM10の動作モ
ード(ライト、リード、消去、ベリファイ等)の指定は
コマンドによって行われる。例えば、データ書き込み時
においては、ライトアドレス、ライドデータ、ライトコ
マンドが順にデータ入出力ピン(I/O)に入力され、
これによってフラッシュEEPROM10のデータ書き
込み動作が実行される。この場合、ライトアドレスおよ
びライトコマンドは入出力回路11から制御回路12に
送られ、ライトデータは入出力回路11からデータバッ
ファ13に送られる。
【0020】また、データ入出力ピン(I/O)を介し
て入力されるコマンドには、不良ブロックアドレスの登
録コマンドもある。この登録コマンドは、代替アドレス
テーブル15への不良ブロックアドレスの登録を指示す
る。
【0021】制御回路12は、メモリ回路14のライ
ト、リード、消去、ベリファイ等の動作制御を初め、レ
ジスタ15の書き替え制御を行う。この制御回路12の
動作は、コマンドにしたがって制御される。
【0022】制御回路12には、図示のように、コント
ローラ121、ベリファイ回路122、リード/ライト
制御回路123、およびテーブル制御回路124が含ま
れている。コントローラ121は入力コマンドを解釈
し、その入力コマンドの内容にしたがってベリファイ回
路122、リード/ライト制御回路123およびテーブ
ル制御回路124を制御する。
【0023】ベリファイ回路122は、メモリ回路14
内のメモリセルアレイに書き込まれたデータ内容とデー
タバッファ13に残っているライトデータを比較し、そ
の一致の有無に基づいてデータ書き込み動作が正常に実
行されたか否かを検出する。この検出結果は、コントロ
ーラ121に送られる。
【0024】リード/ライト制御回路123は、メモリ
回路14内のメモリセルアレイに対するデータの書き込
み、読み出し、消去を制御するためのものであり、アド
レスおよび各種制御信号をメモリ回路14に供給する。
【0025】テーブル制御回路124は、代替アドレス
テーブル15への不良ブロックアドレスの登録を制御す
る。この代替アドレステーブル15に登録された不良ブ
ロックアドレスは、ブロック選択制御回路16に供給さ
れると共に、コントローラ121に必要に応じて読み出
される。
【0026】データバッファ13は、入出力回路11を
介して外部から供給されるライトデータや、メモリ回路
14から読み出されたリードデータを一時的に保持す
る。このデータバッファ13には、例えば1ページ(2
56バイト)分のライトデータが蓄積される。
【0027】メモリ回路14は、メモリセルアレイと、
ロウデコーダ、カラムデコーダ等を含むメモリセルアレ
イアクセスのための周辺回路とから構成されている。メ
モリセルアレイは、図2に示されているように、データ
領域と予備領域を含んでいる。データ領域はユーザが自
由にリード/ライトできる領域であり、このデータ領域
の大きさがフラッシュEEPROM10の記憶容量とな
る。このデータ領域は、4Kバイトのサイズをそれぞれ
有する256個のブロックから構成されている。4Kバ
イトのブロックはデータ消去の単位であり、このブロッ
クは256バイト×16ページから構成されている。デ
ータ書き込みは256バイトのページ単位で行われ、2
ページで1セクタが構成されている。
【0028】予備領域は、データ領域の不良部分の代替
のために利用される領域であり、データ領域と同様にデ
ータ消去の単位となる4Kバイトの予備ブロックを4個
含んでいる。各予備ブロックは256バイト×16ペー
ジから構成されている。データ書き込みは256バイト
のページ単位で行われ、2ページで1セクタが構成され
ている。
【0029】このように、メモリセルアレイには、デー
タ領域のブロックと全く同一の構造を持つ予備ブロック
が設けられている。図1において、代替アドレステーブ
ル15は、不良ブロックアドレスを保持するためのもの
であり、4個の予備ブロックにそれぞれ対応する4つの
エントリを有している。不良ブロックアドレスはデータ
領域における代替元ブロックを指定するアドレスであ
る。
【0030】ブロック選択制御回路16は、リードライ
ト制御回路123を介して外部から供給されるアドレス
にしたがってデータ領域のブロックを選択すると共に、
代替アドレステーブル14を利用したアドレス変換によ
ってデータ領域のブロックと予備ブロックとの代替を行
う。
【0031】すなわち、ブロック選択制御回路16は、
外部からのアドレスと代替アドレステーブル15の各エ
ントリに登録されている不良ブロックアドレスとを比較
し、一致しない場合には通常通りにデータ領域のブロッ
クを選択し、一致する場合には、データ領域のブロック
の代りに不良ブロックアドレスの登録エントリに対応す
る予備ブロックを選択する。
【0032】次に、図3を参照して、ブロック選択制御
回路16の具体的構成の一例を説明する。ブロック選択
制御回路16は、図示のように、比較回路161〜16
4、アドレス制御回路165、およびアドレスデコーダ
166から構成されている。
【0033】比較回路161〜164は、代替アドレス
テーブル15の対応するエントリに登録されている不良
ブロックアドレスとリード/ライト制御回路123から
のアドレスの上位ビット(ブロックアドレス)とをそれ
ぞれ比較し、一致した際には対応する予備ブロック選択
信号RS1〜RS4を“1”レベルに付勢する。また、
比較回路161〜164の比較結果は、アドレス制御回
路165にも送られる。予備ブロック選択信号RS1〜
RS4は、4個の予備ブロックにそれぞれ対応して設け
られたものであり、付勢された予備ブロック選択信号に
対応する予備ブロックが選択される。この場合、その選
択された予備ブロック内の行線および列線の選択はメモ
リ回路14内に設けられている行デコーダおよび列デコ
ーダによって行われる。
【0034】アドレス制御回路165は、リード/ライ
ト制御回路123からのアドレスの上位ビット(ブロッ
クアドレス)をアドレスデコーダ166に供給するため
のものであり、比較回路161〜164の比較結果出力
が全て“0”の場合にはブロックアドレスをそのまま出
力し、比較結果出力のいずれかが“1”の場合には無効
コードを出力する。この無効コードはデータ領域には存
在しない疑似アドレスである。
【0035】アドレスデコーダ166は、アドレス制御
回路165からのブロックアドレスをデコードし、その
デコード結果にしたがってブロック選択信号S1〜S2
56を択一的に“1”に付勢する。もし、アドレス制御
回路165からの出力が無効コードであるある場合に
は、アドレスデコーダ166はブロック選択信号S1〜
S256のどれも付勢しない。ブロック選択信号S1〜
S256はデータ領域の256個のブロックにそれぞれ
対応して設けられたものであり、付勢されたブロック選
択信号に対応するブロックが選択される。この場合、そ
の選択されたブロック内の行線および列線の選択はメモ
リ回路14内に設けられている行デコーダおよび列デコ
ーダによって行われる。
【0036】次に、図4のフローチャートを参照して、
ブロック選択制御回路16によるブロック代替動作を説
明する。まず、コントローラ121およびリード/ライ
ト制御回路123を介して外部からのアドレスがブロッ
ク選択制御回路16に入力される(ステップS1)。こ
の入力アドレスは、メモリ回路14のロウデコーダやカ
ラムデコーダに供給される。また、その入力アドレスの
上位ビットから構成されるブロックアドレスは、アドレ
ス制御回路165、および比較回路161〜164にそ
れぞれ供給される。
【0037】比較回路161〜164は、代替アドレス
テーブル15の対応するエントリに格納されている不良
ブロックアドレスと入力ブロックアドレスとを比較し、
入力ブロックアドレスに一致する不良ブロックアドレス
が登録されているか否かを調べる(ステップS2)。
【0038】入力ブロックアドレスに一致する不良ブロ
ックアドレスが登録されている場合には、その不良ブロ
ックアドレスの登録エントリに対応した比較回路は
“1”の予備ブロック選択信号を発生する(ステップS
3)。これにより、その“1”の予備ブロック選択信号
に対応する予備ブロックが選択される。また、アドレス
制御回路165は、データ領域のブロックの選択を禁止
するために、無効コードをアドレスデコーダ166に出
力する(ステップS4)。
【0039】例えば、データ領域のブロック2を示すア
ドレスが不良ブロックアドレス1として代替アドレステ
ーブル15に登録されている場合に、データ領域のブロ
ック2をアクセス先とするアドレスが入力されると、比
較回路161によって予備ブロック選択信号RS1が
“1”に付勢される。また、アドレスデコーダ166に
よるデータ領域のブロック2の選択は、アドレス制御回
路165から出力される無効コードによって禁止され
る。この結果、データ領域のブロック2の代替として予
備ブロック1がアクセスされる。
【0040】一方、入力ブロックアドレスに一致する不
良ブロックアドレスが登録されて無い場合には、比較回
路161〜164の出力はすべて“0”となる。このた
め、アドレス制御回路165は、入力ブロックアドレス
をそのままアドレスデコーダ166に出力する(ステッ
プS5)。この結果、ブロック選択信号S1〜S256
の1つが“1”に付勢され、入力ブロックアドレスによ
って指定されたブロックが選択される。
【0041】次に、図5および図6のフローチャートを
参照して、不良検出から不良ブロックの代替までの一連
の動作を説明する。ここでは、図5のフローチャートは
外部からのコマンド入力に応じて代替処理が実行される
場合の動作に対応し、図6のフローチャートはチップ内
部で自動的に代替処理が実行される場合の動作に対応し
ている。
【0042】まず、図5を参照して、外部からのコマン
ド入力に応じて代替処理が実行される場合の動作につい
て説明する。データ書き込み時には、ライトアドレス、
ライドデータ、ライトコマンドが順に外部からフラッシ
ュEEPROM10のデータ入出力ピン(I/O)に入
力される。この場合、入出力回路11は、データ入出力
ピン(I/O)を介して受信したライトアドレス、ライ
トコマンドについては制御回路12に転送し、ライトデ
ータについてはデータバッファ13に転送する。アドレ
ス、データ,コマンドの種別は、その転送順序等によっ
て識別できる。また、アドレス入力時にはアドレスラッ
チイネーブル信号(ALE)が付勢されるので、アドレ
ス入力のタイミングはこれによって識別することもでき
る。ライトデータは8ビット単位で順次転送され、1ペ
ージすなわち256バイト分のデータがデータバッファ
13に蓄積される。
【0043】制御回路12のコントローラ121は、ラ
イトコマンドを受信すると、レディー/ビジー信号出力
ピン(READY/BUSY)をビジー状態にした後、
リード/ライト制御回路123を用いてメモリセルアレ
イに対するデータ書き込み試行する(ステップS1
1)。この書き込み試行においては、前述したように入
力アドレスと不良ブロックアドレスとの比較が行われ、
不一致であれはデータ領域のブロック、一致すれば予備
ブロックが選択される。
【0044】そして、データバッファ13に蓄積された
データがメモリセルアレイの選択されたブロックに転送
され、ライトアドレスによって指定されたページ位置に
256バイト分のデータが書き込まれる。
【0045】続いて、コントローラ121は、リード/
ライト制御回路123およびベリファイ回路122を利
用して、プログラムベリファイ動作を実行する(ステッ
プS12)。このプログラムベリファイ動作において
は、メモリセルアレイに書き込んだデータがリード/ラ
イト制御回路123によって読み出され、ベリファイ回
路122に送られる。ベリファイ回路122は、メモリ
セルアレイから読み出されたデータとデータバッファ1
3に保持されているライトデータとを比較し、その一致
の有無を示す検出信号をコントローラ121に出力す
る。この場合、データ書き込みが正常に実行されていれ
ば比較結果は一致し、書き込みが正常に行なわれなけれ
ば比較結果は不一致となる。
【0046】コントローラ121は、ベリファイ回路1
22から一致を示す検出信号を受信すると(ベリファイ
OK)、書き込み処理を終了すると共に、レディー/ビ
ジー信号出力ピン(READY/BUSY)をレディー
状態にして正常終了を示すステータスを外部に返送する
(ステップS13)。そして、次のコマンドを待つ。
【0047】一方、ベリファイ回路122から不一致を
示す検出信号を受信した時には、コントローラ121
は、リード/ライト制御回路123およびベリファイ回
路122を利用して、再びステップS11の書き込み試
行とステップS12のプログラムベリファイ処理を行
う。これら書き込み試行とプログラムベリファイ処理
は、書き込み処理が正しく行われるか、あるいは書き込
み処理の試行回数が所定の最大書き込み試行回数に達す
るまで繰り返される。
【0048】最大書き込み試行回数に達っしても書き込
みが正しく実行されなかった場合には(ステップS1
4)、コントローラ121は、エラー信号出力ピン(E
RROR)からエラー信号を出力して書き込みエラーの
ステータスを外部に返送する(ステップS15)。この
ステータスは、書き込み対象のページに不良セルが含ま
れていることを示すものである。
【0049】この場合は、そのフラッシュEEPROM
10を使用しているコンピュータシステムから代替コマ
ンドが発行され、それがコントローラ121に入力され
る(ステップS16)。
【0050】コントローラ121は、まず、代替アドレ
ステーブル15のエントリを検索して空きエントリが存
在するか否かを調べる(ステップS17)。空きエント
リが無い場合には、全ての予備ブロックが使用されてお
り未使用の予備ブロックが存在しないので、コントロー
ラ121は、エラー信号出力ピン(ERROR)からエ
ラー信号を出力して代替不可のステータスを外部に返送
する(ステップS18)。
【0051】一方、空きエントリが存在する場合には、
コントローラ121は、代替コマンドによって指定され
た不良ブロックアドレスをデータバッファ13を介して
代替アドレステーブル15に転送し、登録する(ステッ
プS19)。次いで、コントローラ121は、不良が発
生したのがデータ領域であるか予備(代替)領域である
かを調べる(ステップS20)。これは、登録した不良
ブロックアドレスがすでに代替アドレステーブル15の
エントリに登録されているか否かを検出することによっ
て行われる。もし、別のエントリに同一アドレスが登録
されていれば、代替領域としてすでに使用されている予
備ブロックに不良が発生したことになるので、コントロ
ーラ121は、代替アドレステーブル15の対応するエ
ントリの内容を無効化する(ステップS21)。この無
効化処理は、そのエントリに無効アドレス(データ領域
に存在しないアドレス)を書き込むことによって行われ
る。
【0052】これにより、代替領域として使用されてい
る予備ブロックに不良が発生した場合の再代替も行うこ
とが可能となる。次に、図6を参照して、チップ内部で
自動的に代替処理が実行される場合の動作について説明
する。
【0053】前述のように、制御回路12のコントロー
ラ121は、ライトコマンドを受信すると、レディー/
ビジー信号出力ピン(READY/BUSY)をビジー
状態にした後、リード/ライト制御回路123を用いて
メモリセルアレイに対するデータ書き込み試行する(ス
テップS31)。この書き込み試行においては、入力ア
ドレスと不良ブロックアドレスとの比較が行われ、不一
致であれはデータ領域のブロック、一致すれば予備ブロ
ックが選択される。そして、データバッファ13に蓄積
されたデータがメモリセルアレイの選択されたブロック
に転送され、ライトアドレスによって指定されたページ
位置に256バイト分のデータが書き込まれる。
【0054】続いて、コントローラ121は、リード/
ライト制御回路123およびベリファイ回路122を利
用して、プログラムベリファイ動作を実行する(ステッ
プS32)。コントローラ121は、ベリファイ回路1
22から一致を示す検出信号を受信すると(ベリファイ
OK)、書き込み処理を終了すると共に、レディー/ビ
ジー信号出力ピン(READY/BUSY)をレディー
状態にして正常終了を示すステータスを外部に返送する
(ステップS33)。そして、次のコマンドを待つ。
【0055】一方、ベリファイ回路122から不一致を
示す検出信号を受信した時には、コントローラ121
は、リード/ライト制御回路123およびベリファイ回
路122を利用して、再びステップS31の書き込み試
行とステップS32のプログラムベリファイ処理を行
う。これら書き込み試行とプログラムベリファイ処理
は、書き込み処理が正しく行われるか、あるいは書き込
み処理の試行回数が所定の最大書き込み試行回数に達す
るまで繰り返される。
【0056】最大書き込み試行回数に達っしても書き込
みが正しく実行されなかった場合には(ステップS3
4)、コントローラ121は、代替アドレステーブル1
5のエントリを検索して空きエントリが存在するか否か
を調べる(ステップS35)。空きエントリが無い場合
には、全ての予備ブロックが使用されており未使用の予
備ブロックが存在しないので、コントローラ121は、
エラー信号出力ピン(ERROR)からエラー信号を出
力して代替不可のステータスを外部に返送する(ステッ
プS36)。
【0057】一方、空きエントリが存在する場合には、
コントローラ121は、不良ブロックアドレス(ベリフ
ァイが失敗したライトアドレスの上位ビット)を代替ア
ドレステーブル15に登録する(ステップS37)。次
いで、コントローラ121は、不良が発生したのがデー
タ領域であるか予備(代替)領域であるかを調べる(ス
テップS30)。これは、登録した不良ブロックアドレ
スがすでに代替アドレステーブル15のエントリに登録
されているか否かを検出することによって行われる。も
し、別のエントリに同一アドレスが登録されていれば、
代替領域としてすでに使用されている予備ブロックに不
良が発生したことになるので、コントローラ121は、
代替アドレステーブル15の対応するエントリの内容を
無効化する(ステップS39)。この無効化処理は、そ
のエントリに無効アドレス(データ領域に存在しないア
ドレス)を書き込むことによって行われる。
【0058】以上のように、この実施例のフラッシュE
EPROM10においては、ベリファイ回路122によ
る検証結果に基づいて不良セルを含む不良ブロックの存
在が検出されると、その不良ブロックを指定するアドレ
スが代替アドレステーブル15に登録される。そして、
以降は、その不良ブロックを指定するアドレスが外部か
ら入力されると、そのアドレスと代替アドレステーブル
15登録されている不良ブロックのアドレスとが比較回
路161〜164によって比較される。この場合、アド
レス値が一致されると、不良ブロックと予備ブロックと
の代替が行われ、不良ブロックの代わりに予備ブロック
が選択されてアクセスされる。
【0059】この場合、予備領域と不良領域のサイズは
同じなので、チップ全体の記憶容量が変化されることも
ない。このため、ホストコンピュータ等の外部システム
は、見掛け上あたかも不良が発生していないかのように
引き続きメモリをアクセスすることができる。したがっ
て、複雑なアルゴリズムを外部システムに用意する事な
く引き続き同一チップを使用することができ、耐用期間
の延長を図ることができる。
【0060】なお、この実施例では、不良ブロックアド
レスを保持するための専用テーブル15を設けたが、デ
ータバッファ13やメモリセルアレイの一部を不良ブロ
ックアドレスの記憶領域として利用することもできる。
また、テーブル15はフリップフロップで構成するほ
か、メモリセルアレイのセルと同一構造のセルを用いて
実現することもできる。
【0061】さらに、ここでは、エラー信号出力専用の
ピンを設けたが、他のピンを利用して各種エラーステー
タスを返送することもできる。また、ここでは、4Kバ
イトの消去ブロックの単位で代替処理を行ったが、25
6バイトのページ単位、あるいは2ページすなわち1セ
クタ単位で代替処理を行うことも可能である。
【0062】図7には、図1のフラッシュEEPROM
を使用した半導体ディスク装置の構成が示されている。
この半導体ディスク装置20は、ハードディスク装置や
フロッピーディスク装置の代替としてパーソナルコンピ
ュータの2次記憶装置として使用されるものであり、例
えば、PCMCIAインターフェース、またはIDEイ
ンターフェースを有する。この半導体ディスク装置20
は、データ記憶用素子として図1のフラッシュEEPR
OM10とそれぞれ同一の構成を有する5個のフラッシ
ュEEPROM21−1〜21−5を備えている。
【0063】また、この半導体ディスク装置20は、ア
クセスコントローラ22、ホストインターフェースコン
トローラ23、ホストインターフェース24、およびデ
ータバッファ25を備えている。アクセスコントローラ
22は、ホストインターフェース24およびホストイン
ターフェースコントローラ23を介してホストCPUか
ら供給されるディスクアクセス要求に応じて、フラッシ
ュEEPROM21−1〜21−5をアクセス制御す
る。
【0064】このアクセスは、前述したようにフラッシ
ュEEPROMの動作モードをコマンドによって指定す
るコマンド方式で実現される。このため、例えばライト
モードにおいては、アクセス対象のフラッシュEEPR
OMのデータバッファにライトデータが転送された後
は、フラッシュEEPROM内部でライト動作が実行さ
れるので、アクセスコントローラ22はそのライトアク
セスの制御から解放される。
【0065】このアクセスコントローラ22には、アド
レス変換テーブル221が設けられている。アドレス変
換テーブル221には、ホストCPUからのディスクア
ドレス(トラック番号、セクタ番号、ヘッド番号)とフ
ラッシュEEPROM21−1〜21−5をアクセスす
るためのメモリアドレス(メモリアドレス、チップ番
号)との対応関係が定義されている。
【0066】ホストインターフェース24は、ホストシ
ステムバスに接続可能なハードディスク装置と同様に例
えばIDEインターフェースに準拠した40ピンのピン
配置、またはICカードスロットに装着可能なICカー
ドと同様に例えばPCMCIAインターフェースに準拠
した68ピンのピン配置を有している。
【0067】ホストインターフェースコントローラ23
は、ホストインターフェース24とアクセスコントロー
ラ22間のインターフェースとして使用されるものであ
り、ここには、ホストCPUによってリード/ライト可
能な複数のレジスタが設けられている。
【0068】データバッファ25は、ホストCPUから
送られてきたライトデータやフラッシュメモリ21−1
〜21−5からの読み出しデータを保持する。アクセス
コントローラ22は、フラッシュEEPROM21−1
〜21−5の選択、およびその選択したフラッシュEE
PROMに対するデータのリード/ライト制御等を行な
う。この場合、アクセスコントローラ22は、アドレス
変換テーブル221から出力されるメモリチップ番号に
対応するフラッシュEEPROMを選択するために、フ
ラッシュEEPROM21−1〜21−5に選択的にチ
ップイネーブル信号CEを供給する。また、アクセスコ
ントローラ22は、アドレス変換テーブル221から出
力されるメモリアドレスを先頭アドレスとして発生し、
そしてホストCPUから送られてきたデータサイズ分の
データのリード/ライト動作が実行されるように、その
先頭アドレスを順次カウントアップする。
【0069】このように構成された半導体ディスク装置
20を使用すれば、アクセスコントローラ22からの指
示に応じて不良ブロックアドレスをテーブル15に登録
することによって、半導体ディスク装置20自体の性能
をユーザが用途に応じて設定することができる。
【0070】
【発明の効果】以上説明したように、この発明によれ
ば、チップ内部で不良記憶領域と予備の記憶領域との代
替が行えるようになり、チップ内部の記憶領域に不良箇
所が発生しても、複雑なアルゴリズムを外部システムに
用意する事なく引き続く使用することができる。
【図面の簡単な説明】
【図1】この発明の一実施例に係るフラッシュEEPR
OMの構成を示すブロック図。
【図2】同実施例のフラッシュEEPROMのメモリセ
ルアレイの構成を示す図。
【図3】同実施例のフラッシュEEPROMに設けられ
たブロック選択制御回路の具体的構成の一例を示す回路
図。
【図4】図3に示したブロック選択制御回路の動作を説
明するフローチャート。
【図5】同実施例のフラッシュEEPROMにおけるデ
ータ書き込み時における代替処理の一例を説明するフロ
ーチャート。
【図6】同実施例のフラッシュEEPROMにおけるデ
ータ書き込み時における代替処理の他の例を説明するフ
ローチャート。
【図7】同実施例のフラッシュEEPROMを使用した
半導体ディスク装置の構成の一例を示すブロック図。
【符号の説明】
10…フラッシュEEPROM、11…入出力回路、1
2…制御回路、13…データバッファ、14…メモリ回
路、15…代替アドレステーブル、16…ブロック選択
制御回路、121…コントローラ、122…ベリファイ
回路、123…リード/ライト回路、124…テーブル
御回路。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 所定サイズの記憶容量を有する複数のデ
    ータブロックと、前記所定サイズの記憶容量を有する1
    以上の代替ブロックとを有するメモリセルアレイと、 外部から供給される書き込みデータを前記メモリセルア
    レイの複数のデータブロックに書き込む書き込み手段
    と、 この書込み手段によって前記メモリセルアレイのデータ
    ブロックに書き込まれたデータ内容を前記書き込みデー
    タと比較し、その一致の有無に基づいてデータ書き込み
    動作が正常に実行されたか否かを検証するベリファイ手
    段と、 このベリファイ手段による検証結果に基づいて前記書き
    込みが行われたデータブロックの不良を検出し、その不
    良データブロックを指定するアドレスを保持する手段
    と、 この保持された不良データブロックのアドレスと外部か
    らのアドレスを比較し、それらが一致した際に前記不良
    データブロックの代わりに前記代替ブロックをアクセス
    対象ブロックとして選択するブロック代替手段とを具備
    することを特徴とする不揮発性半導体メモリ。
  2. 【請求項2】 前記不揮発性半導体メモリはフラッシュ
    EEPROMであることを特徴とする請求項1記載の不
    揮発性半導体メモリ。
  3. 【請求項3】 前記所定サイズの記憶容量を有する複数
    のデータブロックと、前記所定サイズの記憶容量を有す
    る1以上の代替ブロックとを有するメモリセルアレイ
    と、 外部からのコマンドによって指定される代替元データブ
    ロックのアドレスを保持する手段と、 この保持された代替元データブロックのアドレスと一致
    するアドレスが外部から供給された際、前記代替元デー
    タブロックの代わりに前記代替ブロックをアクセス対象
    ブロックとして選択するブロック代替手段とを具備する
    ことを特徴とする不揮発性半導体メモリ。
  4. 【請求項4】 前記不揮発性半導体メモリはフラッシュ
    EEPROMであることを特徴とする請求項3記載の不
    揮発性半導体メモリ。
  5. 【請求項5】 フラッシュEEPROMと、このフラッ
    シュEEPROMをホストコンピュータからの要求に応
    じてアクセス制御するコントローラとを有する半導体デ
    ィスク装置において、 前記フラッシュEEPROMは、 所定サイズの記憶容量を有する複数のデータブロック
    と、前記所定サイズの記憶容量を有する1以上の代替ブ
    ロックとを有するメモリセルアレイと、 外部から供給される書き込みデータを前記メモリセルア
    レイの複数のデータブロックに書き込む書き込み手段
    と、 この書込み手段によって前記メモリセルアレイのデータ
    ブロックに書き込まれたデータ内容を前記書き込みデー
    タと比較し、その一致の有無に基づいてデータ書き込み
    動作が正常に実行されたか否かを検証するベリファイ手
    段と、 このベリファイ手段による検証結果に基づいて前記書き
    込みが行われたデータブロックの不良を検出し、その不
    良データブロックを指定するアドレスを保持する手段
    と、 この保持された不良データブロックのアドレスと外部か
    らのアドレスを比較し、それらが一致した際に前記不良
    データブロックの代わりに前記代替ブロックをアクセス
    対象ブロックとして選択するブロック代替手段とを具備
    することを特徴とする半導体ディスク装置。
JP15338293A 1993-06-24 1993-06-24 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置 Pending JPH0729392A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15338293A JPH0729392A (ja) 1993-06-24 1993-06-24 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15338293A JPH0729392A (ja) 1993-06-24 1993-06-24 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置

Publications (1)

Publication Number Publication Date
JPH0729392A true JPH0729392A (ja) 1995-01-31

Family

ID=15561255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15338293A Pending JPH0729392A (ja) 1993-06-24 1993-06-24 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置

Country Status (1)

Country Link
JP (1) JPH0729392A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6288940B1 (en) 2000-01-06 2001-09-11 Fujitsu Limited Non-volatile semiconductor memory device
JP2003338197A (ja) * 2002-05-21 2003-11-28 Stmicroelectronics Srl 消去/プログラミングに不具合を生じた不揮発性メモリ装置の自己修復方法およびそれに関する不揮発性メモリ装置
JP2006048893A (ja) * 2004-08-04 2006-02-16 Samsung Electronics Co Ltd 不良ブロック管理機能を有するフラッシュメモリ装置及びフラッシュメモリ装置の不良ブロック管理方法
JP2008084530A (ja) * 2000-06-30 2008-04-10 Toshiba Corp 不揮発性半導体記憶装置
US7376012B2 (en) 2004-08-02 2008-05-20 Kabushiki Kaisha Toshiba Memory system and data writing method
US7454670B2 (en) 2004-01-27 2008-11-18 Samsung Electronics Co., Ltd. Data management apparatus and method of flash memory
JP2011154572A (ja) * 2010-01-27 2011-08-11 Kyocera Corp 電子機器

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6288940B1 (en) 2000-01-06 2001-09-11 Fujitsu Limited Non-volatile semiconductor memory device
JP2008084530A (ja) * 2000-06-30 2008-04-10 Toshiba Corp 不揮発性半導体記憶装置
JP2003338197A (ja) * 2002-05-21 2003-11-28 Stmicroelectronics Srl 消去/プログラミングに不具合を生じた不揮発性メモリ装置の自己修復方法およびそれに関する不揮発性メモリ装置
US7454670B2 (en) 2004-01-27 2008-11-18 Samsung Electronics Co., Ltd. Data management apparatus and method of flash memory
US7376012B2 (en) 2004-08-02 2008-05-20 Kabushiki Kaisha Toshiba Memory system and data writing method
US7558113B2 (en) 2004-08-02 2009-07-07 Kabushiki Kaisha Toshiba Memory system and data writing method
US7830711B2 (en) 2004-08-02 2010-11-09 Kabushiki Kaisha Toshiba Memory system and data writing method
JP2006048893A (ja) * 2004-08-04 2006-02-16 Samsung Electronics Co Ltd 不良ブロック管理機能を有するフラッシュメモリ装置及びフラッシュメモリ装置の不良ブロック管理方法
KR100622349B1 (ko) * 2004-08-04 2006-09-14 삼성전자주식회사 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
JP2011154572A (ja) * 2010-01-27 2011-08-11 Kyocera Corp 電子機器

Similar Documents

Publication Publication Date Title
US7114117B2 (en) Memory card and memory controller
JP4761959B2 (ja) 半導体集積回路装置
US6388919B2 (en) Memory controller for flash memory system and method for writing data to flash memory device
US7117328B2 (en) Non-volatile data storage system and data storaging method
KR100622349B1 (ko) 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
US6728138B2 (en) Semiconductor memory device having faulty cells
JP2647312B2 (ja) 一括消去型不揮発性半導体記憶装置
US5875477A (en) Method and apparatus for error management in a solid state disk drive using primary and secondary logical sector numbers
KR102378819B1 (ko) 메모리 장치
US20050024954A1 (en) Programming suspend status indicator for flash memory
JP3472008B2 (ja) フラッシュメモリ管理方法
JPH06274409A (ja) 一括消去型不揮発性メモリ
JPH08235028A (ja) フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置
JP3589033B2 (ja) フラッシュメモリシステム
TWI651650B (zh) 記憶體管理方法及使用所述方法的儲存控制器
JP2002358246A (ja) 不揮発性記憶システム
JPH0729392A (ja) 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置
JPH0714392A (ja) 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置
WO2018040804A1 (zh) 一种存储器块处理方法、装置和计算机存储介质
US5479609A (en) Solid state peripheral storage device having redundent mapping memory algorithm
JPH09212429A (ja) 不揮発性半導体ディスク装置
JP3865530B2 (ja) 不揮発性半導体メモリおよび半導体記憶装置
JP4222879B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JPH08138391A (ja) フラッシュメモリ制御方式
JPH11143788A (ja) 不揮発性メモリを使用した外部記憶装置