JP2001332096A - 不揮発性半導体メモリおよび不揮発性半導体メモリを用いた記録再生装置 - Google Patents

不揮発性半導体メモリおよび不揮発性半導体メモリを用いた記録再生装置

Info

Publication number
JP2001332096A
JP2001332096A JP2000148592A JP2000148592A JP2001332096A JP 2001332096 A JP2001332096 A JP 2001332096A JP 2000148592 A JP2000148592 A JP 2000148592A JP 2000148592 A JP2000148592 A JP 2000148592A JP 2001332096 A JP2001332096 A JP 2001332096A
Authority
JP
Japan
Prior art keywords
flash memory
error
value
read
parity
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
JP2000148592A
Other languages
English (en)
Inventor
Yukari Katayama
ゆかり 片山
Takuji Nishitani
卓史 西谷
Kazuo Nakamura
一男 中村
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000148592A priority Critical patent/JP2001332096A/ja
Publication of JP2001332096A publication Critical patent/JP2001332096A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】フラッシュメモリチップ上のエラー訂正回路に
よる遅延時間を最小にし、エラー訂正機能を持つ外部コ
ントローラと組み合わせて使用することにより、性能を
向上できるフラッシュメモリチップ用エラー制御方式。 【解決手段】フラッシュメモリにおいて、1byteに1bit
のパリティを付加し、パリティエラーが発生しているバ
イトに関して、読み出し比較電圧を微調整して再度読み
なおし,エラー訂正を行う。または、パリティエラーが
発生したバイトに関してスレッシュホールド値をアナロ
グ読み出し、スレッシュホールド値が書き込み基準電圧
からもっとも遠いセル、またはスレッシュホールド値が
読み出し比較電圧に最も近いセルを誤りが発生したセル
として、誤り訂正を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フラッシュメモリ
などの不揮発性半導体メモリおよび不揮発性半導体メモ
リ用いた記録再生装置に関し、特にそのエラー処理の技
術に関するものである。
【0002】
【従来の技術】ディジタルカメラ、ディジタルオーディ
オなど携帯用個人向け機器のデジタル化は、ここ近年目
覚しいものがある。携帯用機器のデジタル化、小型化に
伴い、可動部がなく耐衝撃性に優れるフラッシュメモリ
の用途が急拡大している。たとえば、組み込み用記憶媒
体として携帯電話、携帯端末、カメラなどで使用された
り、シリコンディスクまたはコンパクトフラッシュ(登
録商標)など高機能フラッシュメモリカードとしても使
用されている。これらディジタル情報機器は、更なる高
画質、高音質を要求され、大容量データを扱う用途が多
くなっている。これらの要求に伴い、フラッシュメモリ
チップは容量で2倍/年、ビットコストで65\%/年とい
った速さで大容量化、低コスト化を続けている。
【0003】このような大容量、低コスト化に対応する
ため、特開平9−91971号公報に示されるように、1つの
セルに2ビット以上の値を書き込む多値技術の導入が進
んでいる。
【0004】ところで、フラッシュメモリチップは書き
込み回数がある一定回数以上になるとエラー率が急激に
劣化するという問題点がある。したがって、組み込み用
途など、特に専用コントローラのない低価格なシステム
に用いる場合は、不揮発性半導体メモリ(フラッシュメ
モリ)自身にもエラー検出/訂正機能が必要になってき
た。したがって、特開平3−5995号公報に示されるよう
に、不揮発性半導体メモリ(フラッシュメモリ)自身にも
エラー検出/訂正回路を持たせるようになってきた。こ
れら不揮発性半導体メモリは、一般的に1記録単位(1セ
クタ)毎に符号化し、1記録単位に1バイトなどの訂正を
行うというエラー訂正符号を使用していた。また、多値
フラッシュメモリは許容できるしきい値レベルのばらつ
きが狭くなるため、信頼性の確保が難しいという欠点が
ある。したがって、多値技術の導入により、不揮発性半
導体メモリ(フラッシュメモリ)自身のエラー検出/訂正
機能は、ますます必要性を増している。
【0005】一方高機能フラッシュメモリカードなど、
不揮発性半導体メモリを用いた記録再生装置(以下、フ
ラッシュメモリディスクと呼ぶ。)は、特開平9−30549
7号公報に示されているように、フラッシュメモリチッ
プ、インターフェースLSI、外部コントローラなどに
より構成されていた。外部コントローラにより制御され
るシステムでは、専用コントローラのない低価格なシス
テムに比べ信頼性に対する要求も厳しい。それゆえ外部
コントローラはその内部にエラー制御機能を持ち、高機
能なエラー制御を行っている。
【0006】他方、特開平11−330985号公報に示されて
いるように磁気ディスクにおいては、データを小さいブ
ロックに区切り、そのブロック毎に1ビットのパリティ
を付加し、パリティエラーが発生した場合には、磁気デ
ィスクの信号再生過程において計算される尤度情報を用
いて小ブロック中の最も信頼性のないビットを訂正する
という技術が用いられている。
【0007】
【発明が解決しようとする課題】現在フラッシュメモリ
チップに用いられている様に、1セクタ単位のエラー訂
正符号を用いると、1セクタのデータを読み出した後エ
ラー訂正演算を始めるため、エラーが発生した場合の読
み出し時間は、通常の読み出し時間の倍以上必要となっ
てしまいリードアクセス性能の劣化を招いてしまうとい
う問題がある。また、1バイト毎など小さい処理単位で1
ビット訂正符号化すると符号の冗長ビット数が非常に大
きくなってしまうという問題がある。
【0008】また、現在用いられているエラー検出/訂
正機能を持ったフラッシュメモリーチップを、カードシ
ステムなど、チップ単体よりもさらに高い信頼性を要求
されるシステムに用いる場合、カードシステムのコント
ローラは、フラッシュメモリチップ単体よりも高機能の
エラー訂正を行う必要がある。その場合、フラッシュメ
モリチップ上のECCを使用するとフラッシュメモリチッ
プ上のECCの誤訂正のために、かえって全体性能が劣化
し、使用できないという問題があった。
【0009】たとえば、フラッシュメモリチップ上に1
バイト訂正が可能なエラー訂正符号が付加されており、
システム全体は3バイトまでのエラーの訂正を行うこと
が必要とする。3バイトのエラーが素子上に発生した場
合、フラッシュメモリチップ上のECCの訂正範囲を超え
ているため、フラッシュメモリチップ上のECCでは、エ
ラーを訂正することはできない。さらにフラッシュメモ
リチップ上のエラー訂正回路にて訂正処理を行っている
場合、ある一定確率で誤訂正を起こし、3バイトのエラ
ーを4バイトのエラーに書き換えてしまう可能性があ
る。フラッシュメモリチップ上のECCを使用しない場合
には、コントローラが3バイトまでのエラーを訂正でき
るECCを使用すればシステムの性能要求を満たすことが
できるが、フラッシュメモリチップ上のECCを使用すれ
ばコントローラが3バイトまでのエラーを訂正できるECC
を使用しても確実に性能要求を満たせないことになる。
したがって、フラッシュメモリチップ上のECCは使用で
きず、まったく無駄になるという問題があった。無駄な
ECC回路が付加されている分全体の回路面積も大きくな
り、システム全体も割高になってしまう。
【0010】本発明の第1の目的は、少ない冗長ビット
で、リードアクセス性能の劣化しない、フラッシュメモ
リチップおよび固体メモリ素子用のエラー訂正方法を与
えることである。
【0011】本発明の第2の目的は、エラー訂正を行う
ことにより、信頼性を向上した、アクセス性能の劣化し
ないフラッシュメモリチップまたは固体メモリ素子を与
えることである。
【0012】本発明の第3の目的は、エラー検出/訂正
機能を持ったフラッシュメモリーチップを、カードシス
テムなど、チップ単体よりもさらに高い信頼性を要求さ
れるシステムに用いる場合に、フラッシュメモリチップ
上のエラー訂正とカードシステムのコントローラのエラ
ー訂正符号の両方のエラー訂正機能を用いて訂正するこ
とにより、更に高い訂正能力を得ることにある。
【0013】
【課題を解決するための手段】本発明は、上記問題を解
決するために、フラッシュメモリチップ上の記録データ
を所定の記録単位(たとえば1byte)に分割し、該所定の
記録単位毎に1ビットのパリティビットを設け、書きこ
み時にはパリティ情報をフラッシュメモリチップ上で生
成して書きこみ、読み出し時には、該パリティビットを
用いて該所定の記録単位毎にエラーが発生しているか否
かをチェックし、エラーが発生している場合には、フラ
ッシュメモリチップのメモリセルのスレッシュホールド
電圧のアナログ値を調べ、読み出し用の比較電圧に最も
近いスレッシュホールド電圧のメモリセルがエラーの発
生しているセルであると認識し、該セルの値をパリティ
エラーが発生しないように訂正する手段を設けたもので
ある。
【0014】または、上記問題を解決するために、フラ
ッシュメモリチップ上の記録データを所定の記録単位
(たとえば1byte)に分割し、該所定の記録単位毎に1ビッ
トのパリティビットを設け、書きこみ時にはパリティ情
報をフラッシュメモリチップ上で生成して書きこみ、読
み出し時には、該パリティビットを用いて該所定の記録
単位毎にエラーが発生しているか否かをチェックし、エ
ラーが発生している場合には、読み出し用の比較電圧を
通常の読み出しよりも細かく設定して読み出し、通常の
読み出しと値が異なるセルをエラーの発生しているセル
であると認識し、該セルの値をパリティエラーが発生し
ないように訂正する手段を設けたものである。
【0015】
【発明の実施の形態】以下、本発明の好適な第1の実施
例について、図1〜図7を用いて説明する。
【0016】図1は、本発明の第1の実施例であるフラ
ッシュメモリチップ(101)の構成図である。フラッシュ
メモリチップ(101)はフラッシュメモリアレイ(102)とセ
クタデコーダ(103)、センスラッチ(104)、パリティチェ
ック部(105)、データ入出力ポート(106)、データのメモ
リセルへの読み書きの全体的な制御を行うコントローラ
(107)から構成される。フラッシュメモリアレイには、
メモリセルが縦横に配置されている。セクタデコーダ(1
03)から出力される信号線WLには、1度にリード/ライト
される1セクタ(消去単位)分のメモリセルが接続されて
いる。縦方向、一つのBLには、該フラッシュメモリチッ
プに格納されるセクタ数分のメモリセルが接続されてい
る。メモリセルには、値がスレッシュホールド電圧の形
で蓄えられている。図3はフラッシュメモリ全体でのメ
モリセルのスレッシュホールド電圧の分布を示す。フラ
ッシュメモリへの値の書きこみ時、書きこむ値が0なら
ばVth1へ、1ならばVth2へスレッシュホールド電圧がな
るように制御する。しかし、ちょうどVth1,Vth2の値に
することは困難であり、実際には図3に示す様にVth1,V
th2を中心にある分散を持って各メモリセルのスレッシ
ュホールド電圧は分布している。フラッシュメモリが長
時間にわたって放置されたり、または他のセルなどへの
リードライトの影響を強く受けると、図4に示す様にメ
モリセルのスレッシュホールド電圧の分散は大きくな
り、読み出し比較電圧VWRを超えて分布するようになる
ことがある。スレッシュホールド電圧が読み出し比較電
圧VWRを超えてしまったメモリセルがエラーを発生させ
る。
【0017】図5は、図1に示されるセンスラッチ(10
4)、パリティチェック(105)部の詳細な図を示す。
【0018】本フラッシュメモリの通常の書きこみ動作
について、図5を用いて説明する。データ入出力ポート
(106)から書きこみデータがI1〜I8、を通して書きこま
れる。図5では1byte分しか詳細に書かれていないが、1
セクタ分、512byte+16byte分の回路が並列に動作してお
り、1度に1セクタ分のデータが入出力ポートからパリテ
ィ部へ移される。書きこみ動作時、信号線wrmはアクテ
ィブであり、セレクタS11〜S18,S1Pは、I1〜I8、'0'を
通し、P1〜P8,PPにはI1〜I8、0が格納される。次に、EO
RゲートE1〜E7の働きで信号線108にI1〜I8に対するパリ
ティIPが生成される。信号線wrmはアクティブであり、
セレクタS21〜S28,S2Pは、I1〜I8,IPを通し、L1〜L8,LP
にはI1〜I8,IPが格納される。コントローラ(107)は、こ
のL1〜L8,LPに格納された値に基づき、各メモリセルに
値を書きこむ。この書き込みにより、各フラッシュメモ
リのセルの中のスレッシュホールド値は、たとえば、図
6のグレーの円でに示される様に各論理値I1〜I8,IPに
対応するスレッシュホールド値Vth1,Vth2のあたりに設
定される。
【0019】次ぎに、本フラッシュメモリの読み出し動
作について、図1から図7を用いて説明する。まず最初
に、フラッシュメモリへの読み出しが、書きこまれてあ
まり時間がたっておらず、各メモリセルのスレッシュホ
ールド値は、図6のグレーの円でに示される所にあると
仮定する。図2を用いて説明する。まず、セクタデコー
ダにより、読み出すセクタの信号線WLを図3、図6で示
される読み出し比較電圧VWRにする(step 701)。次に読
み出しサイクルの最初で信号線PCをアクティブとし、信
号線BLをプリチャージし、Hiレベルにする。次に信号線
BSLをアクティブにし、メモリセルのソースラインを接
地すると、フラッシュメモリセルの書き込みデータが0
すなわちスレッシュホールド電圧がVth1のときは、メモ
リセルはON状態となり、信号線BLはディスチャージさ
れ、Lowレベルとなる(実線)。書き込みデータが1すなわ
ちスレッシュホールド電圧がVth2のときは、メモリセル
はOFF状態となり、信号線BLはHiレベルのまま保たれ
る(点線)。この信号線BLの値を図示していない信号線TR
をアクティブにすることにより、センスラッチ(SL(L1〜
L8,LP))に格納する。図5のパリティエラー検出ラッチ
(109)は、読み出し開始状態において、1(アクティブ状
態)に保たれている。パリティエラー検出ラッチ(109)が
アクティブ状態のとき、セレクタS11〜S18,S1Pはスルー
状態であり、センスラッチの値L1〜L8,LPをP1〜P8,PPに
対して出力する。センスラッチの値を入出力ポートを通
して外部に出力する。コントローラ(107)の指定するタ
イミングでパリティ部のラッチP1〜P8,PPはセンスラッ
チの値L1〜L8,LPを取り込む(step 702)。このときエラ
ーは起こっていないので、P1〜P8,PPのEOR出力であるE8
の出力値は'0'となり、パリティエラー検出ラッチ(109)
は'0'となる(step 703)。コントローラは、1セクタ分の
全てのパリティエラー検出ラッチ(109)の値を確認し(st
ep 704)、全て'0'であればP1〜P8,PPの値を入出力ポー
トに移し(step 712)、外部へ出力して(step 713)読み出
し動作を終了する。
【0020】次ぎに、フラッシュメモリへの読み出し
が、書きこまれてから非常に時間が経過しており、また
劣化したメモリセルがあり、各メモリセルのスレッシュ
ホールド値が図6の黒の円でに示される所に移動したと
仮定する。まず、セクタデコーダ(103)により、読み出
すセクタの信号線WLを図3、図6で示される読み出し比
較電圧VWRにして(step701)読み出し、値をセンスラッチ
(SL(L1〜L8,LP))に格納する。図5のパリティエラー検
出ラッチ(109)は、読み出し開始状態において、'1'(ア
クティブ状態)に保たれている。パリティエラー検出ラ
ッチ(109)がアクティブ状態のとき、セレクタS11〜S18,
S1Pはスルー状態であり、センスラッチの値L1〜L8,LPを
P1〜P8,PPに対して出力する。コントローラ(107)の指定
するタイミングでパリティ部のラッチP1〜P8,PPはセン
スラッチの値L1〜L8,LPを取り込む(step 702)。このと
きエラーが起こっているので、P1〜P8,PPのEOR出力であ
るE8の出力値は'1'となり、パリティエラー検出ラッチ
(109)は'1'のままである(step703)。コントローラは、1
セクタ分の全てのパリティエラー検出ラッチ(109)の値
を確認し(step 704)、'1'のバイトがあるので、セクタ
デコーダ(103)により、読み出すセクタの信号線WLを図
6で示される読み出し比較電圧VWR1に設定して再度読み
出し(step 705)、値をセンスラッチ(SL(L1〜L8,LP))に
格納する。パリティエラー検出ラッチ(109)は、1(アク
ティブ状態)なので、セレクタS11〜S18,S1Pはスルー状
態であり、センスラッチの値L1〜L8,LPをP1〜P8,PPに対
して出力する。コントローラ(107)の指定するタイミン
グでパリティ部のラッチP1〜P8,PPはセンスラッチの値L
1〜L8,LPを取り込む(step 706)。このとき、1回目の読
み出しで、パリティエラーの発生していないバイトは、
既にパリティエラー検出ラッチ(109)が0になっており、
パリティ部のラッチP1〜P8、PPの中身は1回目の読み出
し時の値のまま保持される。
【0021】次ぎにパリティエラーのチェックを行う。
このときエラーが起こっているので、P1〜P8、PPのEOR
出力であるE8の出力値は1となり、パリティエラー検出
ラッチ(109)は1のままである(step 707)。コントロー
ラは、1セクタ分の全てのパリティエラー検出ラッチ(10
9)の値を確認し(step708)、1のバイトがあるので、セ
クタデコーダ(103)により、読み出すセクタの信号線WL
を第6図で示される読み出し比較電圧VWR2に設定して再
度読み出し(step709)、値をセンスラッチ(SL(L1〜L8、L
P))に格納する。パリティエラー検出ラッチ(109)は、1
(アクティブ状態)なので、セレクタS11〜S18、S1Pはス
ルー状態であり、センスラッチの値L1〜L8、LPをP1〜P
8、PPに対して出力する。コントローラ(107)の指定する
タイミングでパリティ部のラッチP1〜P8、PPはセンスラ
ッチの値L1〜L8、LPを取り込む(step710)。このとき、
1、2回目の読み出しで、パリティエラーの発生していな
いバイトは、既にパリティエラー検出ラッチ(109)が0に
なっており、パリティ部のラッチP1〜P8、PPの中身は
1、2回目の読み出し時の値のまま保持される。このとき
エラーが起こっていないので、 P1〜P8、PPのEOR出力で
あるE8の出力値は0となり、パリティエラー検出ラッチ
(109)は0になる(step 711)。コントローラ(107)はP1〜P
8、PPの値を入出力ポートに移し(step 712)、外部へ出
力して(step 713)読み出し動作を終了する。
【0022】次に本特許を多値フラッシュメモリに応用
した場合について、第2の実施例として第8図〜第15図
を用いて説明する。第8図は、本発明の第2の実施例で
あるフラッシュメモリチップ(201)の構成図である。フ
ラッシュメモリチップ(201)はフラッシュメモリアレイ
(207 )とセクタデコーダ(202、203)、センスラッチ(20
6)、上位ビットデータラッチ(204)、下位ビットデータ
ラッチ(205)、パリティチェック部(208)、データ入出力
ポート(209)、データのメモリセルへの読み書きの全体
的な制御を行うコントローラ(210)から構成される。フ
ラッシュメモリアレイ(207)には、メモリセルが縦横に
配置されている。セクタデコーダ(202、203)から出力さ
れる信号線WLには、1度にリード/ライトされる1セクタ
(消去単位)分のメモリセルが接続されている。縦方向、
一つのBLには、該フラッシュメモリチップに格納される
セクタ数分のメモリセルが接続されている。各メモリセ
ルには、値がスレッシュホールド電圧の形で蓄えられて
いる。第9図はフラッシュメモリ全体でのメモリセルの
スレッシュホールド電圧の分布を示す。フラッシュメモ
リへの値の書きこみ時、書きこむ値が11ならばVth1へ、
10ならばVth2へ、00ならばVth3へ、01ならばVth4へ、ス
レッシュホールド電圧がなるように制御する。しかし、
ちょうどVth1、 Vth2、Vth3、Vth4の値にすることは困
難であり、実際には第9図に示す様にVth1、 Vth2、Vth
3、Vth4を中心にある分散を持って各メモリセルのスレ
ッシュホールド電圧は分布している。フラッシュメモリ
が長時間にわたって放置されたり、または他のセルなど
へのリードライトの影響を強く受けると、第10図に示す
様にメモリセルのスレッシュホールド電圧の分散は大き
くなり、読み出し比較電圧VWR1、VWR2、VWR3を超えて分
布するようになることがある。スレッシュホールド電圧
が読み出し比較電圧VWR1、VWR2、VWR3を超えてしまった
メモリセルがエラーを発生させる。また、 Vth1、 Vth
2、Vth3、Vth4の値に対する論理値の割り当てはグレー
コードと呼ばれるものを用いる。すなわち、隣のスレッ
シュホールドレベルに割り当てられている論理値とは必
ず1ビットのみ異なり、2ビット異なることがない符号を
用いる。このような符号を用いることにより、隣のスレ
ッシュホールドレベルに遷移するエラーに関しては、1
ビットのパリティを付加することにより、パリティを付
加したブロックにエラーの発生したセルが1つだけであ
れば、必ず検出できる。
【0023】第13図は、第8図に示されるセンスラッチ
(206)、パリティチェック(208)、上位ビットデータラッ
チ(204)、下位ビットデータラッチ(205)部の詳細な図を
示す。
【0024】本フラッシュメモリの通常の書きこみ動作
について、第13図を用いて説明する。データ入出力ポ
ート(106)から書きこみデータがI11〜I18、 I21〜I28を
通して書きこまれる。第13図では2byte分しか詳細に書
かれていないが、1セクタ分、512byte+16byte分の回路
が並列に動作しており、1度に1セクタ分のデータが入出
力ポートからパリティ部へ移される。書きこみ動作時信
号線wrmはアクティブであり、セレクタS11〜S18、S21〜
S28は、 I11〜I18、 I21〜I28を通し、L11〜L18、L21〜
L28にはI11〜I18、 I21〜I28が格納される。次に、EOR
ゲートE1〜E14の働きで信号線211、212にI11〜I18、 I2
1〜I28に対するパリティI1P、I2Pが生成される。信号線
wrmはアクティブであり、セレクタS1P、S2PはI1P、I2P
を通し、L1P、L2PにはI1P,I2Pが格納される。コントロ
ーラ(210)は、このL11〜L18,L1P,L21〜L28,L2Pに格納さ
れた値に基づき、各メモリセルに値を書きこむ。この書
き込みにより、各フラッシュメモリのセルの中のスレッ
シュホールド値は、たとえば、図11のグレーの円でに
示される様に各論理値I11〜I18,I1P,I21〜I28,I2Pに対
応するスレッシュホールド値Vth1,Vth2,Vth3,Vth4のあ
たりに設定される。
【0025】次に、本フラッシュメモリの読み出し動作
について、図2、図8〜図15を用いて説明する。まず
最初に、フラッシュメモリへの読み出しが、書きこまれ
てあまり時間がたっておらず、各メモリセルのスレッシ
ュホールド値は、図11のグレーの円でに示される所に
あると仮定する。まず、セクタデコーダ(202,203)によ
り、読み出すセクタの信号線WLを図9、図11で示され
る読み出し比較電圧VWR1にする(step 1501)。次に読み
出しサイクルの最初で信号線PCをアクティブとし、信号
線BLをプリチャージし、Hiレベルにする。次に信号線BS
Lをアクティブにし、メモリセルのソースラインを接地
すると、フラッシュメモリセルの書き込みデータが0す
なわちスレッシュホールド電圧がVth1のときは、メモリ
セルはON状態となり、信号線BLはディスチャージさ
れ、Lowレベルとなる(実線)。書き込みデータが1すなわ
ちスレッシュホールド電圧がVth2のときは、メモリセル
はOFF状態となり、信号線BLはHiレベルのまま保たれ
る(点線)。この信号線BLの値を図示していない信号線TR
をアクティブにすることにより、センスラッチ(SL1〜SL
9)に格納する。図5のパリティエラー検出ラッチP1,P2
は、読み出し開始状態において、'1'(アクティブ状態)
に保たれている。パリティエラー検出ラッチP1,P2がア
クティブ状態のとき、コントローラ(210)は、セレクタS
11,S13,S15,S17,S1P,S21,S23,S25,S27を通してセンスラ
ッチの値を反転して上位ビットデータラッチ(204) L11,
L13,L15,L17,L1P,L21,L23,L25,L27に格納する(step 150
2)。次にセクタデコーダにより、読み出すセクタの信号
線WLを図9、図11で示される読み出し比較電圧VWR2に
する(step 1503)。コントローラ(210)は、セレクタS12,
S14,S16,S18,S2P,S22,S24,S26,S28を通してセンスラッ
チの値を下位ビットデータラッチ(205) L12,L14,L16,L1
8,L2P,L22,L24,L26,L28に格納する(step 1504)。次にセ
クタデコーダ(202,203)により、読み出すセクタの信号
線WLを図9、図11で示される読み出し比較電圧VWR3に
する(step 1505)。コントローラ(210)は、セレクタS12,
S14,S16,S18,S2P,S22,S24,S26,S28を通してセンスラッ
チの値を下位ビットデータラッチ(205)の値とEORをと
り、下位ビットデータラッチ(205) L12,L14,L16,L18,L2
P,L22,L24,L26,L28に格納する(step 1506)。次にコント
ローラ(107)の指定するタイミングでパリティエラー検
出ラッチP1,P2はEORゲートE1〜E16の出力である信号線2
13,214の値をを取り込む。このときエラーは起こってい
ないので、EORゲートE1〜E16の出力である信号線213,21
4の値は'0'となり、パリティエラー検出ラッチP1,P2は'
0'となる。コントローラは、1セクタ分の全てのパリテ
ィエラー検出ラッチP1,P2の値を確認し(step 1508)、全
て0であればL11〜L18,L21〜L28の値を入出力ポートに移
し(step 1530)、外部へ出力して(step 1531)読み出し動
作を終了する。
【0026】次に、フラッシュメモリへの読み出しが、
書きこまれてから非常に時間が経過しており、また劣化
したメモリセルがあり、各メモリセルのスレッシュホー
ルド値が図11の黒の円でに示される所に移動したと仮
定する。まず、セクタデコーダ(202,203)により、読み
出すセクタの信号線WLを図9、図11で示される読み出
し比較電圧VWR1にして読み出し、値(010001100)をセン
スラッチ(SL1〜SL9)に格納する(step 1501)。図13の
パリティエラー検出ラッチP1,P2は、読み出し開始状態
において、'1'(アクティブ状態)に保たれている。パリ
ティエラー検出ラッチP1,P2がアクティブ状態のとき、
コントローラ(210)は、セレクタS11,S13,S15,S17,S1P,S
21,S23,S25,S27を通してセンスラッチの値を反転して(1
01110011)を上位ビットデータラッチ(204)L11,L13,L15,
L17,L1P,L21,L23,L25,L27に格納する(step 1502)。次に
セクタデコーダにより、読み出すセクタの信号線WLを図
9、図11で示される読み出し比較電圧VWR2にする(ste
p 1503)。コントローラ(210)は、セレクタS12,S14,S16,
S18,S2P,S22,S24,S26,S28を通してセンスラッチの値(01
1111101)を下位ビットデータラッチ(205)L12,L14,L16,L
18,L2P,L22,L24,L26,L28に格納する(step 1504)。次に
セクタデコーダ(202,203)により、読み出すセクタの信
号線WLを図9、図11で示される読み出し比較電圧VWR3
にする(step 1505)。コントローラ(210)は、セレクタS1
2,S14,S16,S18,S2P,S22,S24,S26,S28を通してセンスラ
ッチの値(000001000)を下位ビットデータラッチ(205)の
値とENORをとり(100001010)、下位ビットデータラッチ
(205) L12,L14,L16,L18,L2P,L22,L24,L26,L28に格納す
る(step 1506)。次にコントローラ(210)の指定するタイ
ミングでパリティエラー検出ラッチP1,P2はEORゲートE1
〜E16の出力である信号線213,214の値を取り込む。この
とき図11で示す第1byteは(110010101)と読み出されて
おり、1の数が奇数となってエラーが起こっているの
で、E1〜E7,E15の出力である信号線213の出力値は'1'と
なり、パリティエラー検出ラッチP1は'1'のままである
(step 1507)。第2byteは(001001110)にはエラーが起こ
っていないので、1の数が偶数であり信号線214は'0'、
パリティエラー検出ラッチP2は'0'となる。コントロー
ラ(210)は、1セクタ分の全てのパリティエラー検出ラッ
チP1,P2の値を確認し(step 1508)、'1'のバイトがある
ので、セクタデコーダ(202,203)により、読み出すセク
タの信号線WLを図11で示される読み出し比較電圧VWR3
3に設定して再度読み出し、値をセンスラッチ(SL1〜SL
9)に格納する(step 1509)。パリティエラー検出ラッチP
1は、'1'(アクティブ状態)なので、コントローラ(210)
は、セレクタS12,S14,S16,S18を通してセンスラッチの
値(0100)を下位ビットデータラッチ(205)のL12,L14,L1
6,L18の値(1000)とORをとり(1100)、下位ビットデータ
ラッチ(205)L12,L14,L16,L18に格納する(step 1510)。
このとき、パリティエラー検出ラッチが既に'0'になっ
ているbyteに関してはセレクタS11〜S18,S1P,S21〜S28,
S2Pはネゲート状態となり、上位、下位ビットデータラ
ッチ(204,205)の値は更新されない。次にコントローラ
(210)の指定するタイミングでパリティエラー検出ラッ
チP1はEORゲートE1〜E7,E15の出力である信号線213の値
を取り込む。図11で示す第1byteは(110110101)と読み
出されており、1の数が偶数であり信号線213は'0'、パ
リティエラー検出ラッチP1は'0'となる(step 1511)。コ
ントローラは、1セクタ分の全てのパリティエラー検出
ラッチP1,P2の値を確認し(step 1512)、全て'0'であれ
ば上位データラッチ(204)、下位データラッチ(205)の値
L11〜L18,L21〜L28の値を入出力ポートに移し(step 153
0)、外部へ出力して(step 1531)読み出し動作を終了す
る。このように動作することにより、本第2の実施例の
フラッシュメモリチップはエラー制御を行い信頼性の高
いデータを提供できる。
【0027】次に本第2の実施例に関し、図12に示す
様にパリティ部にエラーが載った場合に関し説明する。
まず、セクタデコーダ(202,203)により、読み出すセク
タの信号線WLを図9、図11で示される読み出し比較電
圧VWR1にして読み出し、値(010011100)をセンスラッチ
(SL1〜SL9)に格納する(step 1501)。図13のパリティ
エラー検出ラッチP1,P2は、読み出し開始状態におい
て、'1'(アクティブ状態)に保たれている。パリティエ
ラー検出ラッチP1,P2がアクティブ状態のとき、コント
ローラ(210)は、セレクタS11,S13,S15,S17,S1P,S21,S2
3,S25,S27を通してセンスラッチの値を反転して(101100
011)を上位ビットデータラッチ(204)L11,L13,L15,L17,L
1P,L21,L23,L25,L27に格納する(step 1502)。次にセク
タデコーダにより、読み出すセクタの信号線WLを図9、
図11で示される読み出し比較電圧VWR2にする(step 15
03)。コントローラ(210)は、セレクタS12,S14,S16,S18,
S2P,S22,S24,S26,S28を通してセンスラッチの値(011111
101)を下位ビットデータラッチ(205)L12,L14,L16,L18,L
2P,L22,L24,L26,L28に格納する(step 1504)。次にセク
タデコーダ(202,203)により、読み出すセクタの信号線W
Lを図9、図11で示される読み出し比較電圧VWR3にす
る(step 1505)。コントローラ(210)は、セレクタS12,S1
4,S16,S18,S2P,S22,S24,S26,S28を通してセンスラッチ
の値(010001000)を下位ビットデータラッチ(205)の値と
ENORをとり(110001010)、下位ビットデータラッチ(205)
L12,L14,L16,L18,L2P,L22,L24,L26,L28に格納する(ste
p 1506)。次にコントローラ(210)の指定するタイミング
でパリティエラー検出ラッチP1,P2はEORゲートE1〜E16
の出力である信号線213,214の値を取り込む。このとき
第1byteは(110110100)と読み出されており、1の数が奇
数となってエラーが起こっているので、E1〜E7,E15の出
力である信号線213の出力値は'1'となり、パリティエラ
ー検出ラッチP1は'1'のままである(step 1507)。第2byt
eは(001001110)にはエラーが起こっていないので、1の
数が偶数であり信号線214は'0'、パリティエラー検出ラ
ッチP2は'0'となる。
【0028】コントローラ(210)は、1セクタ分の全ての
パリティエラー検出ラッチP1,P2の値を確認し(step 15
08)、1のバイトがあるので、セクタデコーダ(202,203)
により、読み出すセクタの信号線WLを図11で示される
読み出し比較電圧VWR33に設定して再度読み出し、値を
センスラッチ(SL1〜SL9)に格納する(step 1509)。パリ
ティエラー検出ラッチP1は、'1'(アクティブ状態)なの
で、コントローラ(210)は、セレクタS12,S14,S16,S18を
通してセンスラッチの値(0100)を下位ビットデータラッ
チ(205)のL12,L14,L16,L18の値(1100)とORをとり(110
0)、下位ビットデータラッチ(205)L12,L14,L16,L18に格
納する(step 1510)。このとき、パリティエラー検出ラ
ッチが既に'0'になっているbyteに関してはセレクタS11
〜S18,S1P,S21〜S28,S2Pはネゲート状態となり、上位、
下位ビットデータラッチ(204,205)の値は更新されな
い。次にコントローラ(210)の指定するタイミングでパ
リティエラー検出ラッチP1はEORゲートE1〜E7,E15の出
力である信号線213の値を取り込む。第1byteは(1101101
00)と読み出されており,1の数が奇数となってエラーが
起こっているので、E1〜E7,E15の出力である信号線213
の出力値は'1'となり、パリティエラー検出ラッチP1は'
1'のままである(step 1511)。
【0029】コントローラ(210)は、1セクタ分の全ての
パリティエラー検出ラッチP1,P2の値を確認し(step 15
12)、'1'のバイトがあるので、セクタデコーダ(202,20
3)により、読み出すセクタの信号線WLを図11で示され
る読み出し比較電圧VWR12に設定して再度読み出し、値
をセンスラッチ(SL1〜SL9)に格納する(step 1513)。
【0030】パリティエラー検出ラッチP1は、'1'(アク
ティブ状態)なので、コントローラ(210)は、セレクタS1
1,S13,S15,S17,S1Pを通してセンスラッチの値(01001)を
反転して、上位ビットデータラッチ(204)に値(10110)を
格納する(step 1514)。このとき、パリティエラー検出
ラッチが既に'0'になっているbyteに関してはセレクタS
11〜S18,S1P,S21〜S28,S2Pはネゲート状態となり、上
位、下位ビットデータラッチ(204,205)の値は更新され
ない。次にコントローラ(210)の指定するタイミングで
パリティエラー検出ラッチP1はEORゲートE1〜E7,E15の
出力である信号線213の値を取り込む。第1byteは(11011
0100)と読み出されており、1の数が奇数となってエラー
が起こっているので、E1〜E7,E15の出力である信号線21
3の出力値は'1'となり、パリティエラー検出ラッチP1
は'1'のままである(step 1515)。
【0031】コントローラ(210)は、1セクタ分の全ての
パリティエラー検出ラッチP1,P2の値を確認し(step 15
16)、'1'のバイトがあるので、セクタデコーダ(202,20
3)により、読み出すセクタの信号線WLを図11で示され
る読み出し比較電圧VWR21に設定して再度読み出し、値
をセンスラッチ(SL1〜SL9)に格納する(step 1517)。
【0032】パリティエラー検出ラッチP1は、'1'(アク
ティブ状態)なので、コントローラ(210)は、セレクタS1
2,S14,S16,S18を通してセンスラッチの値(0111)の負論
理(1000)と、下位ビットデータラッチ(205)の値(110
0)、上位ビットデータラッチの値(1011)の論理積と上位
ビットデータラッチの値の負論理と下位ビットデータラ
ッチ(205)の値の論理積の論理和(1100)を格納する(step
1518)。このとき、パリティエラー検出ラッチが既に'
0'になっているbyteに関してはセレクタS11〜S18,S1P,S
21〜S28,S2Pはネゲート状態となり、上位、下位ビット
データラッチ(204,205)の値は更新されない。次にコン
トローラ(210)の指定するタイミングでパリティエラー
検出ラッチP1はEORゲートE1〜E7,E15の出力である信号
線213の値を取り込む。第1byteは(110110100)と読み出
されており、1の数が奇数となってエラーが起こってい
るので、E1〜E7,E15の出力である信号線213の出力値は'
1'となり、パリティエラー検出ラッチP1は'1'のままで
ある(step 1519)。
【0033】コントローラ(210)は、1セクタ分の全ての
パリティエラー検出ラッチP1,P2の値を確認し(step 15
20)、'1'のバイトがあるので、セクタデコーダ(202,20
3)により、読み出すセクタの信号線WLを図11で示され
る読み出し比較電圧VWR22に設定して再度読み出し、値
をセンスラッチ(SL1〜SL9)に格納する(step 1521)。
【0034】パリティエラー検出ラッチP1は、'1'(アク
ティブ状態)なので、コントローラ(210)は、セレクタS1
2,S14,S16,S18を通してセンスラッチの値(0111)の負論
理(1000)と、下位ビットデータラッチ(205)の値(1100)
のORをとり(1100)、下位ビットデータラッチ(205)に格
納する(step 1522)。このとき、パリティエラー検出ラ
ッチが既に'0'になっているbyteに関してはセレクタS11
〜S18,S1P,S21〜S28,S2Pはネゲート状態となり、上位、
下位ビットデータラッチ(204,205)の値は更新されな
い。次にコントローラ(210)の指定するタイミングでパ
リティエラー検出ラッチP1はEORゲートE1〜E7,E15の出
力である信号線213の値を取り込む。第1byteは(1101101
00)と読み出されており、1の数が奇数となってエラーが
起こっているので、E1〜E7,E15の出力である信号線213
の出力値は'1'となり、パリティエラー検出ラッチP1は'
1'のままである(step 1523)。
【0035】コントローラ(210)は、1セクタ分の全ての
パリティエラー検出ラッチP1,P2の値を確認し(step 15
24)、'1'のバイトがあるので、セクタデコーダ(202,20
3)により、読み出すセクタの信号線WLを図11で示され
る読み出し比較電圧VWR13に設定して再度読み出し、値
をセンスラッチ(SL1〜SL9)に格納する(step 1525)。
【0036】パリティエラー検出ラッチP1は、'1'(アク
ティブ状態)なので、コントローラ(210)は、セレクタS1
1,S13,S15,S17,S1Pを通してセンスラッチの値(01000)の
負論理(10111)を、上位ビットデータラッチ(204) に格
納する(step 1526)。このとき、パリティエラー検出ラ
ッチが既に'0'になっているbyteに関してはセレクタS11
〜S18,S1P,S21〜S28,S2Pはネゲート状態となり、上位、
下位ビットデータラッチ(204,205)の値は更新されな
い。次にコントローラ(210)の指定するタイミングでパ
リティエラー検出ラッチP1はEORゲートE1〜E7,E15の出
力である信号線213の値を取り込む。第1byteは(1101101
01)と読み出されており、1の数が偶数となってE1〜E7,E
15の出力である信号線213の出力値は'0'となり、パリテ
ィエラー検出ラッチP1は'0'となる(step 1527)。コント
ローラは、1セクタ分の全てのパリティエラー検出ラッ
チP1,P2の値を確認し(step 1528)、全て'0'であれば上
位データラッチ(204)、下位データラッチ(205)の値L11
〜L18,L21〜L28の値を入出力ポートに移し(step 153
0)、外部へ出力して(step 1531)読み出し動作を終了す
る。このように動作することにより、本第2の実施例の
フラッシュメモリチップはエラー制御を行い信頼性の高
いデータを提供できる。
【0037】フラッシュメモリにはVthiと呼ばれる熱平
衡状態スレッシュホールド値があり、長時間使用せずに
放置してあると、全てのメモリセルのスレッシュホール
ド値は、このVthiに向かって遷移する。本実施例におい
て、VthiはVth1よりも更に低い位置にあると仮定してあ
る。読み出し比較電圧の中間レベルの値の順番をVWR33,
VWR12,VWR21と本来の比較電圧よりも低い電圧を先に行
ったのは、エラーはVthiに向かってスレッシュホールド
値が遷移し起こる確率が高いため、早くエラー訂正を行
え、また誤った訂正をする確率が減少するためである。
また、Vthiから離れた電位にあるレベルほどVthiに向か
って早く遷移する傾向にある。したがって、VWR33,VWR1
2,VWR21とVthiから遠い順に行う。また、逆向きの遷移
に関しては、VWR22,VWR13,VWR34とVthiに近い順に行
う。
【0038】次に第3の実施例について図16を用いて
説明する。第3の実施例は、第2の実施例とほとんど同
じであるがバイトの割りつけ方法が第2の実施例と異な
る。各メモリセルの上位ビットを奇数バイトに割り付
け、各メモリセルの下位ビットを偶数バイトに割り付け
る。
【0039】このように割りつけても、第2の実施例と
同様にエラー制御を行い信頼性の高いデータを提供でき
る。
【0040】次に第4の実施例について図17を用いて
説明する。第4の実施例は第1、第2、第3の実施例の
フラッシュメモリチップを用いたフラッシュメモリディ
スク(1712)である。フラッシュメモリディスク(1712)
は、複数のフラッシュメモリチップ(201,1701,1702,170
3)とフラッシュメモリディスクのコントローラ(1705)か
らなる。フラッシュメモリチップ(201,1701,1702,1703)
は、第1または第2または第3の実施例のフラッシュメ
モリチップである。各フラッシュメモリチップは内部バ
ス1704によりコントローラ(1705)に接続されている。
コントローラ(1705)は本フラッシュメモリディスク(171
2)の全体の動きを制御するCPU(1706)、データを一時蓄
えるデータバッファ(1707)、内部バスインターフェイス
(1708)、外部バスインターフェイス(1709)、フラッシュ
メモリチップに書き込むデータをエラー訂正符号化し、
またはフラッシュメモリチップから読み出したデータに
たいし、エラー訂正符号をもとにエラー訂正を行うECC
回路(1710)からなる。ECC回路(1710)は、1byte単位で訂
正を行うRS符号を用いて符号化を行う。たとえば、ECC
回路(1710)では、1セクタ中の任意のtbyte訂正が可能
であるとする。第1、第2、第3の実施例のフラッシュ
メモリチップは、パリティエラーを検出したbyteのみを
訂正する。したがって、エラーバイト数を増やすことは
ない。したがって、第1、第2、第3の実施例のフラッ
シュメモリチップで訂正したバイト数をvとすると、t
+vbyteの訂正を行うことができる。
【0041】次に第5の実施例について図20を用いて
説明する。第4の実施例は第1、第2、第3の実施例の
フラッシュメモリチップをコアとした高機能フラッシュ
メモリチップ(2001)である。高機能フラッシュメモリチ
ップ(2001)は、フラッシュメモリコア(2002)と、コント
ローラコア(2003)からなる。フラッシュメモリコア(200
2)は、第1または第2または第3の実施例のフラッシュ
メモリチップと同様の機能を持ったフラッシュメモリコ
アである。フラッシュメモリコア(2002)は、内部バス(2
004)によりコントローラコア(2003)に接続されてい
る。コントローラコア(2003)は本高機能フラッシュメモ
リチップ(2001)の全体の動きを制御するCPU(2005)、デ
ータを一時蓄えるデータバッファ(2006)、内部バスイン
ターフェイス(2007)、外部バスインターフェイス(200
8)、フラッシュメモリチップに書き込むデータをエラー
訂正符号化し、またはフラッシュメモリチップから読み
出したデータにたいし、エラー訂正符号をもとにエラー
訂正を行うECC回路(2009)からなる。ECC回路(2009)は、
1byte単位で訂正を行うRS符号を用いて符号化を行う。
たとえば、ECC回路(2009)では、1セクタ中の任意のtby
te訂正が可能であるとする。フラッシュメモリコア(200
2)は、パリティエラーを検出したbyteのみを訂正する。
したがって、エラーバイト数を増やすことはない。した
がって、第1、第2、第3の実施例のフラッシュメモリ
チップで訂正したバイト数をvとすると、t+vbyteの訂
正を行うことができる。第1、第2、第3の実施例のフ
ラッシュメモリチップのエラー制御機能は、外部にエラ
ー訂正機能を持つコントローラを用いた場合でも有効に
使用できる。
【0042】次に第5の実施例について図20を用いて
説明する。第4の実施例は第1、第2、第3の実施例の
フラッシュメモリチップをコアとした高機能フラッシュ
メモリチップ(2001)である。高機能フラッシュメモリチ
ップ(2001)は、フラッシュメモリコア(2002)と、コント
ローラコア(2003)からなる。フラッシュメモリコア(200
2)は、第1または第2または第3の実施例のフラッシュ
メモリチップと同様の機能を持ったフラッシュメモリコ
アである。フラッシュメモリコア(2002)は、内部バス(2
004)によりコントローラコア(2003)に接続されてい
る。コントローラコア(2003)は本高機能フラッシュメモ
リチップ(2001)の全体の動きを制御するCPU(2005)、デ
ータを一時蓄えるデータバッファ(2006)、内部バスイン
ターフェイス(2007)、外部バスインターフェイス(200
8)、フラッシュメモリチップに書き込むデータをエラー
訂正符号化し、またはフラッシュメモリチップから読み
出したデータにたいし、エラー訂正符号をもとにエラー
訂正を行うECC回路(2009)からなる。ECC回路(2009)は、
1byte単位で訂正を行うRS符号を用いて符号化を行う。
たとえば、ECC回路(2009)では、1セクタ中の任意のtby
te訂正が可能であるとする。フラッシュメモリコア(200
2)は、パリティエラーを検出したbyteのみを訂正する。
したがって、エラーバイト数を増やすことはない。した
がって、第1、第2、第3の実施例のフラッシュメモリ
チップで訂正したバイト数をvとすると、t+vbyteの訂
正を行うことができる。本発明のフラッシュメモリコア
のエラー制御機能は、外部にエラー訂正機能を持つコン
トローラを用いた場合でも有効に使用できる。
【0043】次に第6の実施例について図21を用いて
説明する。第6の実施例は第1、第2、第3の実施例の
フラッシュメモリチップ(2101,2102,2103)とマイコン(2
104)を組み合わせた低機能フラッシュメモリカード(210
5)である。第1、第2、第3の実施例のフラッシュメモ
リチップ(2101,2102,2103)は、エラー制御機能を持つの
でさほど信頼性を必要としない低機能なシステムにおい
てはマイコンと組み合わせるだけで、フラッシュメモリ
カードを構成でき、安価なフラッシュメモリーカードを
提供できる。
【0044】次に第7の実施例について図22、図11
を用いて説明する。図22は第7の実施例のフラッシュ
メモリチップの基本構成を示すものである。第7の実施
例は、第2の実施例とほとんど同じであるが、スレッシ
ュホールド値アナログ読み出し回路2206が付加されてい
る点が異なる。読み出し動作時、上位ビットデータラッ
チ204と下位ビットデータラッチ205にデータ確定後、パ
リティチェック回路208でバイト単位のパリティチェッ
クを行う。パリティエラーが発生したバイトに関しての
み、スレッシュホールド値アナログ読み出し回路2206で
スレッシュホールド値をアナログ値で読み出す。たとえ
ば、読み出し時のスレッシュホールド値が図11の黒丸
で表される位置にあるとし、パリティエラーが発生して
アナログ読み出しを行ったとする。第1バイトのアナロ
グ読み出し値が(0.2,2.4,1.05,1.1,1.15,3.0,2.1,0.1,
0.9)だったとする。小数点以下の値を見ると、(0.2,0.
4,0.05,0.1,0.15,0.0,0.1,0.1,0.9)。このなかで、0.5
に最も近い値は、2つめのセルの0.4である。または、0
または1から最も遠い値と考えても良い。したがって、
2つ目のセルの値をVth3からVth4に訂正して、値を01
に訂正する。このように、アナログ値で読んだスレッシ
ュホールド値が最もVthの基準値から遠いもの、または
読み出し比較電圧に近いものを誤りセルと考え、現在読
み出した値のスレッシュホールド値を除く最も近いスレ
ッシュホールド値に訂正を行う。第7の実施例はこのよ
うに動作することにより、エラー制御を行い信頼性の高
いデータを提供できる。
【0045】
【発明の効果】本発明によれば、1回のアナログ読み出
しまたは数回の読み出し比較電圧の微調整による読み出
しでエラー訂正できるので、リードアクセス性能を大き
く劣化させることなく、エラー訂正できる。
【0046】また、本発明によれば、パリティチェック
によって確実にエラーの発生しているバイトにのみエラ
ー訂正を行い、エラーの発生していないバイトにエラー
を作りこむことがない。したがって、エラー訂正機能を
持つ外部コントローラと組み合わせても、本フラッシュ
メモリ上のエラー訂正機能によるシステム全体の性能劣
化はなく、効果的なエラー訂正が行える。
【図面の簡単な説明】
【図1】実施例1の2値フラッシュメモリの基本構成
図。
【図2】実施例1の2値フラッシュメモリチップ読み出
し時タイミングチャート。
【図3】実施例1の2値フラッシュメモリの書きこみ時
のVth分布図。
【図4】実施例1の2値フラッシュメモリのエラー発生
時のVth分布図。
【図5】実施例1のセンスラッチ及びパリティ部の詳細
図。
【図6】実施例1のあるバイトのVth分布図。
【図7】実施例1の読み出し動作フローチャート。
【図8】実施例2の多値(4値)フラッシュメモリチップ
の基本構成図。
【図9】実施例2の多値(4値)フラッシュメモリの書
きこみ時のVth分布図。
【図10】実施例2の多値(4値)フラッシュメモリの
エラー発生時のVth分布図。
【図11】実施例2のあるバイトのVth分布の例1を示
す図。
【図12】実施例2のあるバイトのVth分布の例2を示
す図。
【図13】実施例2のセンスラッチ及びパリティ部の詳
細図。
【図14】実施例2の読み出し動作フローチャート
(1)。
【図15】実施例2の読み出し動作フローチャート
(2)。
【図16】実施例3のあるバイトのVth分布の例を示す
図。
【図17】実施例4のフラッシュメモリーカードを示す
図。
【図18】実施例4のフラッシュメモリカードを用いた
MPEGカメラを示す図。
【図19】実施例4のフラッシュメモリカードを用いた
携帯端末を示す図。
【図20】実施例5のフラッシュメモリチップを示す
図。
【図21】実施例6のフラッシュメモリカードを示す
図。
【図22】実施例7の多値(4値)フラッシュメモリチッ
プの基本構成図。
【符号の説明】
101…フラッシュメモリチップ、102…フラッシュメモリ
アレイ、103…セクタデコーダ、104…センスラッチ、10
5…パリティチェック部、106…データ入出力ポート、10
7…コントローラ、106…外部バスインターフェイス、10
7…ECC回路、108…パリティエラー検出信号線、109…パ
リティエラー検出ラッチ、201…フラッシュメモリチッ
プ、202…セクタデコーダ1、203…セクタデコーダ2、
204…上位ビットデータラッチ、205…下位ビットデータ
ラッチ、206…センスラッチ、207…フラッシュメモリア
レイ、208…パリティチェック部、209…データ入出力ポ
ート、210…コントローラ、1701〜1703…フラッシュメ
モリチップ、1704…内部バス、1705…コントローラ、17
06…CPU(Central Processing Unit)、1707…データ
バッファ、1708…内部バスインターフェイス、1709…外
部バスインターフェイス、1710…ECC回路、2001…高
機能フラッシュメモリチップ、2206…Vthアナログ読
み出し装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中村 一男 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体グループ内 Fターム(参考) 5B018 GA02 HA12 HA40 KA21 NA06 RA11 5B025 AA03 AB01 AC01 AD04 AD05 AD13 AE05 AE08 5L106 AA10 BB02 BB11

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 不揮発性半導体素子上の記録データを複
    数のメモリセルからなる所定の記録単位に分割し、該所
    定の記録単位毎に1ビットのパリティビットを付加して
    書きこみ、読み出し時には、該パリティビットを用いて
    該所定の記録単位毎にエラーが発生しているか否かをチ
    ェックし、エラーが発生している場合には、該不揮発性
    半導体素子の記録値のアナログ値を読み出し、該エラー
    の発生しているブロックの中で、読み出し用の比較電圧
    に最も近い記録値を持つメモリセルがエラーの発生して
    いるメモリセルであると認識し、該セルの値を訂正する
    手段を持つことを特徴とする不揮発性半導体素子。
  2. 【請求項2】 不揮発性半導体素子上の記録データを複
    数のメモリセルからなる細かい記録単位に分割し、該細
    かい記録単位毎に1ビットのパリティビットを付加して
    書きこみ、読み出し時には、該パリティビットを用いて
    該細かい記録単位毎にエラーが発生しているか否かをチ
    ェックし、エラーが発生している場合には、読み出し用
    の比較電圧を通常の読み出しよりも細かく設定して読み
    出し、通常の読み出しと値が異なるセルをエラーの発生
    しているセルであると認識し、該セルの値をパリティエ
    ラーが発生しないように訂正する手段を持つことを特徴
    とする不揮発性半導体素子。
  3. 【請求項3】 請求項1、または2の不揮発性半導体素
    子を用いた記録再生装置。
  4. 【請求項4】 請求項3の記録再生装置において、 該記録再生装置は、エラー訂正機能を有し、該不揮発性
    半導体素子の前記細かい記録単位の大きさは、該記録再
    生装置が有するエラー訂正機能の訂正単位に等しいこと
    を特徴とする記録再生装置。
JP2000148592A 2000-05-16 2000-05-16 不揮発性半導体メモリおよび不揮発性半導体メモリを用いた記録再生装置 Pending JP2001332096A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000148592A JP2001332096A (ja) 2000-05-16 2000-05-16 不揮発性半導体メモリおよび不揮発性半導体メモリを用いた記録再生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000148592A JP2001332096A (ja) 2000-05-16 2000-05-16 不揮発性半導体メモリおよび不揮発性半導体メモリを用いた記録再生装置

Publications (1)

Publication Number Publication Date
JP2001332096A true JP2001332096A (ja) 2001-11-30

Family

ID=18654595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000148592A Pending JP2001332096A (ja) 2000-05-16 2000-05-16 不揮発性半導体メモリおよび不揮発性半導体メモリを用いた記録再生装置

Country Status (1)

Country Link
JP (1) JP2001332096A (ja)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005527062A (ja) * 2002-05-20 2005-09-08 サンディスク コーポレイション 格納されたデータの品質についての情報を用いることによる誤り訂正符号の効率向上およびマルチレベルメモリシステムの操作
JP2006085895A (ja) * 2004-09-17 2006-03-30 Samsung Electronics Co Ltd 高い信頼度を有する不揮発性メモリ装置のプログラム方法
JP2007128577A (ja) * 2005-11-01 2007-05-24 Toshiba Corp 記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
JP2007157239A (ja) * 2005-12-05 2007-06-21 Toshiba Corp 記憶媒体、記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
JP2008034065A (ja) * 2006-07-31 2008-02-14 Toshiba Corp 半導体記憶装置
JP2009158043A (ja) * 2007-12-27 2009-07-16 Elpida Memory Inc 半導体集積回路及びその不安定ビットの検出方法
JP2010055746A (ja) * 2009-12-07 2010-03-11 Toshiba Corp 記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
JP2010055745A (ja) * 2009-12-07 2010-03-11 Toshiba Corp 記憶媒体
JP2010534361A (ja) * 2007-07-02 2010-11-04 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチレベル・メモリ・ストレージ・システムにおけるマルチビット・エラー訂正の方法およびプログラム
JP2011504276A (ja) * 2007-11-21 2011-02-03 マイクロン テクノロジー, インク. フラッシュメモリからデータを読み出す方法および装置
JP2011512611A (ja) * 2008-02-15 2011-04-21 サムスン エレクトロニクス カンパニー リミテッド 格納されたデータの誤りに基づいて基準電圧を制御するメモリデータ検出装置
JP4825874B2 (ja) * 2005-10-17 2011-11-30 ラマト アット テル アビブ ユニバーシティ リミテッド マルチビット・パー・セル・フラッシュメモリにおける、確率に基づくエラー訂正
JP2012507108A (ja) * 2008-12-18 2012-03-22 インテル コーポレイション 不揮発性メモリにおけるデータ・エラー回復
JP2012109012A (ja) * 2006-08-05 2012-06-07 Benhov Gmbh Llc 固体記憶素子及び方法
US8230303B2 (en) 2008-09-05 2012-07-24 Samsung Electronics Co., Ltd. Memory system and data processing method thereof
JP2012190538A (ja) * 2012-05-25 2012-10-04 Toshiba Corp 記憶装置、記憶媒体再生方法および記憶媒体再生プログラム
JP2013037761A (ja) * 2012-10-17 2013-02-21 Toshiba Corp 記憶媒体
US9036412B2 (en) 2012-07-24 2015-05-19 Samsung Electronics Co., Ltd. Memory device and method of determining read voltage of memory device
US9607703B2 (en) 2014-09-08 2017-03-28 Kabushiki Kaisha Toshiba Memory system

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005527062A (ja) * 2002-05-20 2005-09-08 サンディスク コーポレイション 格納されたデータの品質についての情報を用いることによる誤り訂正符号の効率向上およびマルチレベルメモリシステムの操作
US8103938B2 (en) 2002-05-20 2012-01-24 Sandisk Technologies Inc. Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data
JP2006085895A (ja) * 2004-09-17 2006-03-30 Samsung Electronics Co Ltd 高い信頼度を有する不揮発性メモリ装置のプログラム方法
JP4825874B2 (ja) * 2005-10-17 2011-11-30 ラマト アット テル アビブ ユニバーシティ リミテッド マルチビット・パー・セル・フラッシュメモリにおける、確率に基づくエラー訂正
JP4660353B2 (ja) * 2005-11-01 2011-03-30 株式会社東芝 記憶媒体再生装置
JP2007128577A (ja) * 2005-11-01 2007-05-24 Toshiba Corp 記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
JP2007157239A (ja) * 2005-12-05 2007-06-21 Toshiba Corp 記憶媒体、記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
JP4575288B2 (ja) * 2005-12-05 2010-11-04 株式会社東芝 記憶媒体、記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
JP2008034065A (ja) * 2006-07-31 2008-02-14 Toshiba Corp 半導体記憶装置
JP2012109012A (ja) * 2006-08-05 2012-06-07 Benhov Gmbh Llc 固体記憶素子及び方法
US7966547B2 (en) 2007-07-02 2011-06-21 International Business Machines Corporation Multi-bit error correction scheme in multi-level memory storage system
JP4588806B2 (ja) * 2007-07-02 2010-12-01 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチレベル・メモリ・ストレージ・システムにおけるマルチビット・エラー訂正の方法およびプログラム
JP2010534361A (ja) * 2007-07-02 2010-11-04 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチレベル・メモリ・ストレージ・システムにおけるマルチビット・エラー訂正の方法およびプログラム
US8719680B2 (en) 2007-11-21 2014-05-06 Micron Technology, Inc. Method and apparatus for reading data from non-volatile memory
JP2011504276A (ja) * 2007-11-21 2011-02-03 マイクロン テクノロジー, インク. フラッシュメモリからデータを読み出す方法および装置
US9197251B2 (en) 2007-11-21 2015-11-24 Micron Technology, Inc. Method and apparatus for reading data from non-volatile memory
JP2009158043A (ja) * 2007-12-27 2009-07-16 Elpida Memory Inc 半導体集積回路及びその不安定ビットの検出方法
JP2011512611A (ja) * 2008-02-15 2011-04-21 サムスン エレクトロニクス カンパニー リミテッド 格納されたデータの誤りに基づいて基準電圧を制御するメモリデータ検出装置
US8230303B2 (en) 2008-09-05 2012-07-24 Samsung Electronics Co., Ltd. Memory system and data processing method thereof
JP2012507108A (ja) * 2008-12-18 2012-03-22 インテル コーポレイション 不揮発性メモリにおけるデータ・エラー回復
JP2010055745A (ja) * 2009-12-07 2010-03-11 Toshiba Corp 記憶媒体
JP2010055746A (ja) * 2009-12-07 2010-03-11 Toshiba Corp 記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
JP2012190538A (ja) * 2012-05-25 2012-10-04 Toshiba Corp 記憶装置、記憶媒体再生方法および記憶媒体再生プログラム
US9036412B2 (en) 2012-07-24 2015-05-19 Samsung Electronics Co., Ltd. Memory device and method of determining read voltage of memory device
JP2013037761A (ja) * 2012-10-17 2013-02-21 Toshiba Corp 記憶媒体
US9607703B2 (en) 2014-09-08 2017-03-28 Kabushiki Kaisha Toshiba Memory system

Similar Documents

Publication Publication Date Title
US8943387B2 (en) Programming management data for a memory
KR101032576B1 (ko) 셀 당 비트가 가변하는 고체 상태 메모리 디바이스로의 에러 정정 코드의 프로그래밍
KR100921763B1 (ko) 비휘발성 메모리의 효율적인 데이터 검증 동작을 위한구조 및 방법
US8027195B2 (en) Folding data stored in binary format into multi-state format within non-volatile memory devices
US7420847B2 (en) Multi-state memory having data recovery after program fail
US7345928B2 (en) Data recovery methods in multi-state memory after program fail
JP2001332096A (ja) 不揮発性半導体メモリおよび不揮発性半導体メモリを用いた記録再生装置
US20100217919A1 (en) Memory controller, semiconductor memory device and control method thereof
KR101138512B1 (ko) 제어기 성능 요구들에 기초하는 프로그래밍
US20110141811A1 (en) Semiconductor memory device
KR20070012810A (ko) 개선된 부분 페이지 프로그램 능력을 가진 비휘발성 메모리및 제어
JP2004086991A (ja) 不揮発性記憶装置
US8443258B2 (en) Memory device including memory controller
US10186302B2 (en) Semiconductor systems performing double-write operations and methods of operating the same
US20240070062A1 (en) Nonvolatile memory, memory system, and control method of nonvolatile memory
US7236401B2 (en) Nonvolatile semiconductor memory device and write/verify method thereof
US11139044B2 (en) Memory testing method and memory testing system
TWI836534B (zh) 非揮發性記憶體
US10922019B2 (en) Data writing method, memory controlling circuit unit and memory storage device
US10074433B1 (en) Data encoding method, memory control circuit unit and memory storage device