JP5095777B2 - 不揮発性半導体記憶装置 - Google Patents

不揮発性半導体記憶装置 Download PDF

Info

Publication number
JP5095777B2
JP5095777B2 JP2010130804A JP2010130804A JP5095777B2 JP 5095777 B2 JP5095777 B2 JP 5095777B2 JP 2010130804 A JP2010130804 A JP 2010130804A JP 2010130804 A JP2010130804 A JP 2010130804A JP 5095777 B2 JP5095777 B2 JP 5095777B2
Authority
JP
Japan
Prior art keywords
data
block
address
memory
management information
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.)
Expired - Lifetime
Application number
JP2010130804A
Other languages
English (en)
Other versions
JP2010192002A5 (ja
JP2010192002A (ja
Inventor
国弘 片山
隆之 田村
仁志 綿谷
清 井上
茂雅 塩田
理之 内藤
Original Assignee
ソリッド ステート ストレージ ソリューションズ エルエルシー
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=12636443&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP5095777(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by ソリッド ステート ストレージ ソリューションズ エルエルシー filed Critical ソリッド ステート ストレージ ソリューションズ エルエルシー
Priority to JP2010130804A priority Critical patent/JP5095777B2/ja
Publication of JP2010192002A publication Critical patent/JP2010192002A/ja
Publication of JP2010192002A5 publication Critical patent/JP2010192002A5/ja
Application granted granted Critical
Publication of JP5095777B2 publication Critical patent/JP5095777B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories

Description

本発明は電気的に書き換え可能な不揮発性半導体メモリを記憶媒体とする半導体記憶装置にかかり、特に部分的に不良を含み、かつ書き換えを頻繁に行うと不良になる半導体メモリを使用する半導体記憶装置に関する。
電気的に書き換え可能な不揮発性メモリは、低電力、振動衝撃に対する耐性、高速など、情報機器の記憶装置として他の記憶装置、例えば磁気記憶装置、光ディスク装置等より有利な特徴を持っている。しかしその半面、製造プロセスが複雑であり、また原理上半導体に対して不可逆的な作用を繰り返すことになるため、不良部分の発生や使用上の劣化が著しいという問題がある。そのため製造歩留まりが悪く、高価になり、使用中の信頼性も問題となる。
これを解決するために、メモリの不良部分を使用しないようにあらかじめ登録し、また各データブロックの使用回数を記録して、これが大きくなったら他の領域と入れ替えることにより、使用回数の増大を抑えることにより、寿命を延ばす技術が開発されている。この技術は、例えば特開平6−124596号公報に開示されている。
この開示技術によれば、論理アドレスと物理アドレスの対比、すなわち、ホストから指定された論理アドレスとメモリ上の物理アドレスの対応を示すアドレス変換テーブルを記録するメモリを備えている。これにより不良領域の物理アドレスはアドレス変換テーブルに不良であることを示すように登録し、ホスト指定の論理アドレスが割り当てられないようにすることにより、不良部分の使用を防ぐ。また、消去回数管理を行い、消去回数が一定の値に達したら、他の領域とデータを入れ替え、同時にアドレス変換テーブル上のアドレス値を書き換えることにより、論理アドレスと物理アドレスの対応を登録し直し、正しい対応が取れるようにする。上記アドレス変換テーブルは使用されている全ての論理アドレス値を登録する。そしてその記憶媒体としてDRAMやSRAMなどの高速揮発性メモリを使用している。
高速揮発性メモリを使用する理由は、アドレス変換を高速に行えること、またアドレスの入れ替えが起きたときに、登録を部分的に高速に書き換えることができること、大容量のデータの記憶を比較的安価なメモリで実現できること、などである。
特開平6−124596号公報
上記従来技術では、アドレス変換の登録を全ての論理アドレスについて行っているため、大容量の記憶装置となったときには、アドレス変換テーブルの大きさが膨大となり、大容量の登録用メモリが必要となる。また、揮発性メモリであることから、電源を切断するとデータが消えてしまい、電源投入時に全登録値を他の不揮発性メモリから書き込む必要があり、起動時間が長くなるという課題があった。
また、外部の登録用メモリが大容量になるため、部品点数が増加し、装置の小型化や低価格化の妨げになるという課題があった。
また、上記登録用メモリを不揮発性メモリにすると、不揮発性メモリのアクセス時間が一般的に長いため、記憶装置自体のアクセス時間が長くなるという課題があった。
また、揮発性の登録用メモリを電源バックアップするとさらに部品点数が増加し、装置の小型化や低価格化の妨げになるという課題があった。
本発明の目的は、上記課題を解決した、小型化、低価格化が可能で、起動時間、アクセス時間が短い大容量の半導体記憶装置を提供することである。
具体的な本発明の目的は、外部登録用メモリ容量を削減し、あるいは外部登録用メモリをなくし、起動時間、アクセス時間が短い大容量の半導体記憶装置を提供することである。
具体的な本発明の目的は、外部登録用メモリ容量を削減した、あるいは外部登録用メモリをなくした大容量の半導体記憶装置において、起動時間、アクセス時間の短いアクセス方法を提供することである。
本発明の他の目的は、外部登録用メモリ容量を削減した、あるいは外部登録用メモリをなくした大容量の半導体記憶装置において、短い起動時間、アクセス時間を実現するコントローラを提供することである。
本発明に関わる半導体記憶装置は、コントローラと不揮発性メモリとを有し、不揮発性メモリは複数のブロックを有し、夫々のブロックは外部に接続されるホストから供給されるデータを格納する領域と当該データに関する管理情報とを格納する領域とを有し、管理情報は、当該管理情報を有するブロックの有効性を示す情報と、当該ブロックに格納されるデータのエラー検出・訂正情報と、当該ブロックの劣化の程度を示す情報と、当該管理情報のエラー検出・訂正情報とを有し、このコントローラは、当該ブロックの有効性を示す情報に応じて当該ブロックに格納されているデータへのアクセス可否を判断し、当該ブロックに格納されているデータのエラーの有無をデータのエラー検出・訂正情報を用いて判別し、データのエラーを検出した場合は当該ブロックの有効性を示す情報を更新し、当該ブロックの劣化の程度を示す情報に応じて当該ブロックを継続して使用するか別のブロックに代替するかを判別し、管理情報のエラー検出・訂正情報に応じて当該ブロックに格納されている管理情報のエラーの有無を判別することを特徴とする。
また、本発明に関わる別の半導体記憶装置は、コントローラと不揮発性メモリとを有し、不揮発性メモリは複数のブロックを有し、夫々のブロックはデータ格納領域と管理情報格納領域とを有し、コントローラは管理情報として、データのエラー検出・訂正情報と、管理情報自体のエラー検出・訂正情報とを格納可能とすることを特徴とする。
更に、本発明に関わる別の半導体記憶装置は、コントローラと不揮発性メモリとを有し、不揮発性メモリは複数のブロックを有し、夫々のブロックはデータ格納領域と管理情報格納領域とを有し、コントローラは前記データ格納領域に格納されたデータのエラー検出・訂正処理と、管理情報格納領域に格納された管理情報のエラー検出・訂正処理とを行うことを特徴とする。
本発明によれば、部分的に不良を含むメモリチップを使用する半導体記憶装置において、アドレスの入れ替えや代替を行ったことによる変換アドレス登録に用いるメモリを容量削減あるいは削除することができ、さらに不良の検索が高速に行える。したがって、アクセスの高速化と、低価格化が可能になる。
また、書き換え回数に制限のある不揮発性メモリを使用し、アドレスを入れ替えても、高速にアドレス検索が可能で、アクセス性能を向上することができる。
本発明の第1の実施例の半導体記憶装置の全体構成図。 記憶媒体のメモリマップ。 ブロック入れ替えの説明図。 アクセス要求に対するアドレス検索処理のフロー。 書き込みアクセスにおけるアドレス入れ替え処理のフロー。 本発明の第2の実施例の半導体記憶装置の全体構成図。 管理情報領域の格納データ例。 アクセス箇所の決定をおこなうフローチャート。 不良登録領域を含むメモリアドレスマップ。 アクセスブロックの良不良判定フロー。
本発明の実施例について、以下に図を用いて説明する。
図1は本発明の全体構成図であり、1は本発明の半導体記憶装置の記憶媒体である電気的に書き換え可能な不揮発性メモリチップであり、フラッシュメモリがこれに最も適したメモリであると考えられる。このメモリチップ1は、不良となる領域が定められた上限をもつ割合で含まれているものとする。また、メモリチップに格納するデータは複数のデータを単位とするブロックに分割して管理され、各ブロックに管理情報領域が備えられているものとする。
これらの記憶容量としては、例えば日立製32Mビット(4Mバイト)フラッシュメモリチップでは、1ブロックが512バイト、管理情報領域が各ブロックに16バイト備えられている。従って一つのチップには8192ブロックが存在し、管理情報領域として、128Kバイトが備わっている。メモリチップ1としてこのようなものを最適なメモリの一例として挙げることができる。ただし全体の記憶容量や1ブロックのバイト数、管理情報領域のデータ量は上記に限定されるものではない。
2は本発明の半導体記憶装置の制御回路であり、外部からのアクセス要求に対応し、あるいは、メモリチップ1のアクセスを行い、また不良領域や書き換え回数の管理など、装置内の処理、制御を行うものである。
3は不良登録のためのメモリ素子であり、書き換えが可能で、高速アクセスを可能とするためDRAMあるいはSRAMが最適である。ただしバイト単位で電気的に書き換え可能なROMも、書き換えに時間がかかりやや高価であるが使用可能である。電源立ち上げ時においてはデータをロードする必要がない分使い勝手は良くなる。
4は本発明の半導体記憶装置である。5は本半導体記憶装置4にアクセスの要求をするシステムバスである。このバス5はパーソナルコンピュータなどの情報機器の周辺バスであることが一般的である。6および7は不良登録メモリ3内の格納データの例を示したものであり、6が不良領域であるアドレス値、7は不良領域の置き換え先の置き換えアドレス値である。隣り合ったアドレス値が対応しており、例えば不良領域アドレス8Hの領域は、置き換えアドレス0Hの領域に置き換えられていることを示す。なお本例では不良領域アドレスの登録は昇べきの順に並べられているものとする。
以下に本構成図における動作を説明する。システムバス5は接続している情報機器からのアクセス要求を制御回路2に伝える。制御回路2はアクセス要求の内容を解読し、またアクセス要求と共に伝えられるデータのアドレスを計算する。求めたアドレス値は管理アドレスとして認識する。
次に制御回路2は不良登録メモリ3の不良登録してある領域を2つに分けて、どちらに格納されている可能性があるか判断する。例えば不良登録の個数が1024個あれば512番目の登録アドレスをアクセスし、そのアドレスが先に求めた管理アドレスより小さければその管理アドレスはそれより下に格納されている可能性があり、逆であればそれより上格納されている可能性がある。次に格納されている可能性がある側をさらに2つに分けてどちらに登録されている可能性があるかを判別する。
同様に256番目あるいは768番目の登録アドレスを読み出し、管理アドレスと比較する。こうして比較するデータを半分ずつ減じていき、最終的に登録されているか、もし登録されていれば置き換えアドレス値はいくつかを求める。もちろん半分ずつ登録データを減じていく際に、管理アドレスと等しいデータに出くわした場合はその時点で検索を中止できる。
この方法によれば例えば1024個の登録データから検索する場合、単純に検索した場合は最大1024回の検索が必要であり、平均512回の検索が必要であるが、本方法で最大9回の検索で確実に管理データの有無とその場所を突き止めることができる。もし管理アドレス値が登録されていなければ、この管理アドレス値のデータは不良領域に該当しないため、正常なブロックのデータとしてアクセスすることができる。もし不良登録されていれば、置き換えアドレス値の領域をアクセスすることにより、所望のアクセスを実行できる。なお置き換え領域は、データ記憶領域の最後の領域を使用すると、アクセスの実行が容易になる。
この場合の記憶領域の使用マップを第2図に示した。11は全記憶領域であり正常記憶領域、不良ブロックおよび置き換え領域全てを含んでいる。12は通常データ領域であり、正常ブロックと不良ブロックからなる。13は置き換え領域で全記憶領域の最下の領域を占めている。14は通常データ領域内の不良ブロックである。15は置き換え領域内の不良ブロックである。通常データ領域内の不良ブロックは置き換え領域内の不良ブロックでないブロックと対応して置き換えられることを示している。
さらに使用例の説明を加えれば、先ほど例に上げた日立製の32Mビットフラッシュメモリを使用し、20チップの半導体記憶装置を構築した場合、ブロック数は163840ブロックとなる。このアドレス値は18ビットであるため、不良アドレス登録は1つの登録に18ビットが必要になる。一方不良数の上限が全体の5%であるとすると、最大8192ブロックの不艮が存在する。これは14ビットで表せる。
従って一つの不良登録に不良アドレス値と置き換えアドレス値で合計32ビットのデータが必要になり、8192ブロック分で256Kビットのメモリが必要になる。しかし現在ではこの程度の容量のメモリは非常に安価である。この例では通常データ領域は163840−8192=155648ブロックが全記憶容量である。ただし不良登録メモリが不揮発製メモリである場合には、不良登録データを不揮発性メモリに格納するため、さらに64ブロックが使用される。
図3は不揮発性メモリ1内の管理情報領域の使用方法を説明した図である。図中、21は本発明の記憶装置の記憶媒体である不揮発性メモリのデータ格納内容を図で示したもの、22は不揮発性メモリの物理アドレスで1(0から始まるものとする)の記憶ブロック、23は物理アドレス2のブロック、ただしこのブロックは不良ブロックであるものとする。24は物理アドレス4のブロック、25は物理アドレス7のブロックである。30は物理アドレス1のブロックに格納されている管理アドレス1のデータ、31は物理アドレス4のブロックに格納されている管理アドレス7のデータ、32は物理アドレス7のブロックに格納されている管理アドレス4のデータである。すなわち管理アドレス4と7のデータは入れ替えられている。これは管理アドレス7のデータが書き換えが頻繁に行われる特性を有したデータであったため、物理アドレス7のブロックの劣化の進行を抑えるために、物理アドレス4のデータと入れ替えたためである。
26、27、28、29はそれぞれの物理アドレスのブロックに対応する管理情報領域であり、そのブロックが格納しているデータの管理アドレスが登録されている。本半導体記憶装置の制御回路2は、管理アドレス1のアクセスが要求されたら、物理アドレス1の管理情報領域26をアクセスし、そこに登録されている管理アドレス値が1であれば、そのブロックのデータをアクセスすることにより、所望のアクセスが実行できる。もしこの例の状態で管理アドレス4をアクセスする場合には、物理アドレス4の管理情報領域28をアクセスし、そこに登録されている管理アドレス値7から、物理アドレス7をアクセスすることにより、所望の管理アドレス4のアクセスが実行できることがわかる。
さて、この状態の次に、管理アドレス7がさらに書き換えを頻繁に行われたために物理アドレス4のブロックも劣化の進行を抑えるべきと判断された場合には、まず、管理アドレス4のデータを物理アドレス4に移し、元に戻してから次に入れ替えの対象となるブロックと入れ替えを行う。本例では管理アドレス1がその対象に選ばれている。入れ替え後の状態を図3(b)に示している。
もしこの作業を行わないと、管理アドレス1と4と7で三つ巴の入れ替えが起きたことになり、例えば管理アドレス1をアクセスしようとしても、まず物理アドレス1の管理情報領域26をアクセスして管理アドレス7を得、次に物理アドレス7の管理情報領域29をアクセスして管理アドレス値4を得て所望のアクセスを行うことができる。もしさらに入れ替えが起き続ければ、所望のアクセスを行うために管理情報領域のアクセスのたらい回しが起き、アクセス処理性能を著しく低下させてしまうこととなる。
図4及び図5は本発明の半導体記憶装置の動作フローを示している。図4ではアクセス要求があった際に、アクセス要求のアドレスのデータが物理的に何処に格納されているかを知るための物理アドレスの把握を行うためのフローである。まず不良アドレス登録メモリを2等分割する。例えば64Kバイトのメモリであれば32Kバイトに分割する。
次に下位側の先頭アドレスをアクセスする。64Kバイトのメモリではそのときのアドレス値は8000Hである。そしてメモリ上のこのアドレスをアクセスしたときのデータ(格納データのビットで数は、不良登録アドレス総数による)とアクセス要求のアドレスとを比較し、要求アドレスより大きければ要求のアドレスは2分割のうち小さいアドレスが格納されている側に存在する可能性があり、小さければその逆である。
なぜなら、不良登録メモリ内のアドレス値は昇べき順あるいは降べき順に並んでいるからである。また、このとき2つのアドレス値が一致することもありえる。この場合は不良登録されていることが判明したため、代替アドレスを読み出し、これを求める物理アドレスとしてアクセスすることができる。さて次に存在が推定される側の領域を2等分割し、同様にアクセス要求のアドレスと比較し、どちら側にあるかを推測する。
2分割した領域のどちらにあるかが推測できたらさらにその領域を2等分割するが、最終的には領域が2分割できなくなる。分割不可になっても要求アドレスに一致しなかった場合は、不良登録されていないアドレスということで、その物理アドレスの管理領域をアクセスして管理アドレスを取得し、もし物理アドレスと管理アドレスが一致すればその領域がアクセス要求された領域であり、一致しなければ取得した管理アドレス値に等しい物理アドレスの領域がアクセス要求された領域である。
このフローの処理はリードにおいてもライトにおいても行われる。リードにおいてはこの処理によってえられた物理アドレスをアクセスし、データを送り出せばアクセス処理は完了するが、ライトにおいては更に第5図の処理が必要となる。まず、得られた物理アドレス(1)に格納されているデータは既に新しいデータが存在するので不必要となり消去される。
このとき当物理アドレス(1)の書き換えが頻繁に行われたことによる、アドレス入れ替えの必要性があるかがチェックされる。その方法の一例としては、書き換え回数を記録しておき一定の回数に達したら入れ替えの必要性ありと判断する。もし入れ替えの必要がなければそのまま与えられたデータを当物理アドレス(1)に書き込めばアクセスは完了する。
もし入れ替えの必要があると判断されたら、次に入れ替え対象の物理アドレス(2)を選定する。選定方法の一例としては先ほどの書き換え回数の記録を検索し、回数の少ない領域を選び出すというものが考えられる。選定が終了したら、次に書き込み対象となっていた物理アドレス(1)の管理アドレス値(1)を物理アドレス値(1)と比較し、一致すればそのセクタは入れ替えが行われた状態のセクタでないため、そのまま入れ替え対象の物理アドレス(2)に格納されているデータを消去済みの物理アドレス(1)に書き込み、そして物理アドレス(2)を消去して与えられた管理アドレス(1)のデータをそこに書き込めばアクセスは終了である。
もし物理アドレス値(1)と管理アドレス値(1)が一致していなければ、入れ替えが行われている領域であるため、まずその入れ替えをキャンセルしなければならない。管理アドレス値(1)は入れ替え対象になった物理アドレス値(3)を示しているため、ここに格納されているデータを消去済みの物理アドレス(1)に転送し、入れ替えをキャンセルする。
次に物理アドレス(3)を消去して新たな入れ替え対象である物理アドレス(2)のデータを書き込む。そして最後に物理アドレス(2)を消去して与えられた新しい管理アドレス(1)のデータを書き込んで書き込みは完了する。以上が書き込みの際の処理である。
以上により、本発明の記憶装置の実施例の動作説明を終了する。本実施例によれば、現状の磁気ディスク記憶装置と互換性のある半導体記憶装置が容易に実現できる効果がある。次に他の実施例を図6ないし図10を用いて説明する。各図において、既出の番号は前出と同様のものを指す。
図6は本発明を適用したフラッシュメモリカードの構成図である。図6において、50は、上記フラッシュメモリカード、51は本発明を適用するコントローラ、52は記憶媒体であるところの電気的に書換可能な不揮発性メモリ(以下、メモリという)で、メモリ52内部は所定の大きさを持つ領域(以下、本実施例ではブロックという)ごとに分割されているが、各ブロックはホストからの格納データを記憶する格納データ領域53と、該格納データ領域53を管理する管理情報を記憶する管理情報領域54とからなる。
格納データ領域53と管理情報領域54を併せてブロックという。本実施例ではメモリ52として格納データ領域53が512byte、管理情報領域54が16byteの構成となっているメモリを用いるものとして説明を行うが、これに限定される必要はない。55は格納データ領域53内データの一部、または全部のエラー訂正コードを生成し、また、生成したエラー訂正コードを用いて、転送あるいは記憶において発生した誤りを検出、訂正する格納データ領域53用ECC(Error Correcting Code=誤り訂正コード)回路(以下、データECC回路という)であり、56は同じく管理情報領域54用ECC回路(以下、管理ECC回路という)である。なお、ECCとは、訂正対象データそのものを含む場合もあるが、本実施例においては、訂正対象データと別に扱う。
57は、パーソナルコンピュータ等、図示していないホストからのアクセスに応じて、ホストとのデータ授受をシステムバス5を通じて行うI/F制御回路である。システムバス5とは、たとえばPC Card Standard、AT Attachment Interfaceなど、標準規格インタフェースを指す。58は、ホスト、メモリ52、データECC回路55/管理ECC回路56、後述するバッファ間のデータ転送を制御するデータ転送制御回路である。
59は、格納データ53の転送に際して一時的にデータを保持するデータ用バッファであり、60は同じく管理情報領域54用バッファであり、さらにそれぞれのバッファ59、60をA,B2組備えている。61はそれぞれ2組のバッファ59、60を切り替えるホスト側バッファ切り替え回路で、62は同じくメモリ側バッファ切り替え回路であり、63は、これら全体を制御するCPUである。
図7は、管理情報領域54の内容の一例であって、66はデータECC回路55が生成した、格納データ領域53への格納データ用エラー訂正コード(以下、データ用ECCという)、67は、本管理情報領域54に対応する格納データ領域53に格納されているデータの種類、たとえば構成情報データであるとかドライブ情報のデータであるとか通常ファイルのデータであるなどの識別を示す識別コードや劣化平均化のための入れ替えアドレスを記録する格納ブロックコード、68は、当該ブロックの劣化の度合を決められた数値で記録する劣化記録で、例えば当該ブロックの消去回数などが適当である。
69は、各ブロックに予め決めたコードを格納し、読み出し時に調べることにより、不良になっていないかどうかを識別するための良ブロックコード、70はこの管理情報領域54に対するエラー訂正コード(以下、管理用ECCという)である。ただし、管理用ECC70は管理情報領域54内すべてのデータに対応する必要はなく、例えば、データ用ECC66はそれ自体が誤り訂正の対象になっているため、管理用ECC70の対象にする必要はない。また、良ブロックコード69は、エラー検出能力に優れていることが望ましく、訂正能力を持たなくてもよい。
図6の構成における動作の概要を説明する。
最初に、図示していないホストがシステムバス5を通して、指定アドレスへの書き込みコマンドと書き込みデータを転送してくる。本実施例では、フラッシュメモリカード50はハードディスクと互換性を持たせることとしており、書き込みは、ハードディスクと同様の、シリンダ、ヘッド、セクタ番号等で指示することができるものとする。データ転送制御回路58は書き込みデータを、データバッファ59に一時的に格納する。書き込みデータの受け入れと同時にCPU63は、書き込みコマンドとホストが予め設定した設定値とを解析して、アドレス計算を行い、後述する方法によりメモリ52内の該当するブロックを探し出す。
メモリ52として、ここで消去処理が必要なものを使っている場合は、消去処理を行う。
次にCPU63の制御によりデータ転送制御回路58はデータバッファ59内の格納データを上記該当ブロックの格納データ領域53へ書き込む。さらに、データECC回路55によりデータ用ECC66を生成すると共に、書き込みブロックを探すときに管理情報領域54から読み込んだ管理情報内の劣化記録68等を新たな格納に従って変更して、対応する管理用ECC70を管理ECC回路56により生成する。データ転送制御回路58はこれらの管理情報を格納データの書き込みに続いて同じブロックの管理情報領域54に格納する。格納データと管理情報は1つのブロックとしてまとめてメモリ52へ書き込まれる。
なお、ホスト側バッファ切り替え回路61と、メモリ側バッファ切り替え回路62を用いて、ホストから送られてきた格納データとメモリ52から読み込んだ管理情報とを、それぞれ異なる組のバッファに格納するように制御すれば、平行処理により時間を短縮することができる。
ホストが格納データの読み出しを要求してきた際には、格納の時と同様にCPU63とデータ転送制御回路58は読み出しコマンドに従って該当するブロックをメモリ52内より探し、メモリ52から格納データを読み出し、バッファ59に格納する。次にデータ用ECC66を用いて格納データ領域53のデータの誤り検出を行い、誤りがなければそのままホストに転送する。誤りが検出されれば訂正してホストに転送して、それと共にCPU63は当該ブロックを不良ブロックとして扱い代替処理を行う。もし訂正不可能な誤りが検出された場合にはエラー発生をホストに報告する。
複数のブロックがアクセスされた場合には、2組のデータバッファA、Bを交互に使用することにより、メモリ52から読み出すと同時に、平行してホストヘデータ転送を行う。
ホストが書き込みを要求してきた際に、消去が必要であれば、上記と同様に該当ブロックを探し、消去を行う。その際、劣化記録68を調べ、入れ替えが必要であったら、公知の方法で入れ替えブロックを選んでその内容を読み込み、格納ブロックコード67を書き換え、格納データ領域53と管理情報領域54の内容を、劣化記録68を除いて入れ替える。消去を行った場合は、所定の方法に基づき必要であれば劣化記録68を更新する。
さらにメモリ52からのデータ転送がホストとの転送より速い場合には、余った時間で次にアクセスするブロックについて、2つのデータバッファを用いて後述する不良チェックや代替アドレスの検索などが可能となり、高性能化に寄与する。
次に、本発明の特徴である、ホストからのアクセス要求に対するブロックの検索の方法を図8、図9を用いて詳細に説明する。
図8はホストからアクセス要求がきた際に、CPU63がアクセスコマンドからメモリ52上の物理的なアドレス値を割り出すまでの処理を示したものである。
通常ホストはアクセスに際して、メモリ上のデータ格納位置を意識せずにアクセスする。本実施例では、メモリカードはハードディスク置き換えを想定しているため、ホストは上述の通りハードディスクと同様のアクセスコマンドを発行する。
CPU63は、I/F制御回路57から上記コマンドを受け取りメモリ上のデータ格納の配置に対応する論理アドレス値を算出する(ステップ801)。次に算出した論理アドレス値でメモリ52の該当アドレスをアクセスし(ステップ802)、管理情報領域54に格納されていた管理情報を読み込む。なお、メモリ52内部では、アドレスに従って1ブロックの内容が全てメモリ52内のバッファに読み出され、そのバッファから管理情報または格納データのみがコントローラ51へ送られるものとする。この管理情報から、当該ブロックが使用可能な良ブロックか否かを判別する(ステップ803)。この判別方法については第9図を用いて後ほど説明する。
次に判別結果により以下のような処理に分岐する。まず良ブロックであると判別した場合(ECCによる訂正を行ってもよい)には、CPU63は、バッファ60に読み込んだ当該管理情報領域54内の格納ブロックコード67を取得する(ステップ804)。格納ブロックコード67に格納された入れ替えアドレス値を本ブロックをアクセスするに至った論理アドレス値と比較し(ステップ805)、一致すれば入れ替えが発生していないブロックであるため、そのまま当該ブロックがアクセスブロックであると判断してアクセスする(ステップ806)。読み込みアクセスでは、上記メモリ52内のバッファから格納データを読み込む。書き込みアクセスでは、すでにバッファ59に設定されている格納データに対応した管理情報を生成して書き込む。
一致しなければ入れ替えが発生しており、格納ブロックコード67内の入れ替えアドレス値に該当するブロックがアクセスブロックであると判断できるため、格納ブロックコード67が示す物理アドレス値のブロックを新たにアクセスする(ステップ807)。入れ替えられたブロックをアクセスする際に、更に良ブロックチェックを行ってもよい。
一方、ステップ803で不良ブロックであると判定した場合には、後述する不良登録領域を新たにアクセスする(ステップ808)。不良登録領域に登録されていれば(ステップ809)、その登録値すなわち代替アドレスを取得し、該当する物理アドレス値のブロックをアクセスする(ステップ810)。
もしここで不良登録されていない場合には、新たに発生した不良ブロックであり(ステップ811)、当該ブロックのアクセスは不可能である。読み出しアクセスの場合は、CPU63は、ホストにアクセスエラーを報告する。書き込みアクセスの場合は、データは書き換えられるためエラーをホストに報告する必要はなく、代替ブロックを割り当てて、そちらにデータを格納する。同時に、CPU63は、不良登録領域84内の不良ブロックに対応する領域に、代替ブロックアドレスを書き込む。
上記不良ブロック情報を外部のメモリではなく内部に持つ場合、先に不良ブロック情報をサーチすると次のような問題点があった。すなわち、不揮発性メモリのアクセス時間が長いため、サーチに時間がかかる。さらに、フラッシュメモリのアクセスはブロック単位なので、個々の不良登録情報を得るには、不良登録情報をまとめて読み込み、そのなかをシーケンシャルアクセスすることになる。そのため、不良登録領域の最後の方の情報はアクセスに時間がかかる。
上記方法はこれを解決するもので、まず、不良登録領域をサーチするのではなく、論理アドレスを用いて該当するブロックをアクセスする。そして、本発明はその管理情報領域から得られる情報で、そのブロックが不良であると判断した場合に、初めて不良登録領域をアクセスする方法である。したがって、良ブロックに格納されたデータを得るまでのメモリ52へのアクセス回数が少なくなり、ホストからみたアクセス時間が短くなる。
さらに、本発明は該当ブロックが不良ではなく、書き換え回数平均化などの目的でブロックを入れ替えられている場合は、格納ブロックコード67内のアドレス情報に従ってアクセスを行う方法である。
さらに、メモリ52の該当ブロックが不良である場合は上記管理情報領域54内の情報にも信頼性がないので、本発明は、代替ブロック情報を格納ブロックコード67などには置かず、別に設けた不良登録領域に置く方法である。不良登録領域のアクセスでは、上述のようなシーケンシャルアクセスの影響が出るが、不良発生率が低いので、問題にならない。
次に、上述の不良登録の方法について、詳細に説明をする。
図9はメモリ52内部のメモリマップ例と不良登録領域中の1ブロックの格納データ領域53に登録された内容を示している。図中、81は記憶領域全体あるいは記憶領域の一部、すなわちメモリの1チップなどのメモリマップ、82はその中で論理アドレス値に対応してデータを格納する一般格納ブロック群、83は一般格納ブロック中に存在あるいは発生した不良ブロックを代替してデータ格納を行う代替ブロック群、84は代替を行った場合の代替アドレスを登録する不良登録領域である。不良登録領域84では、格納データ領域53の部分に代替アドレスを登録する。
不良登録領域84は、一般格納ブロック群82の全ブロック分の登録領域が確保されており、また、一般格納ブロック群82の各ブロックと不良登録領域84中の対応する登録領域は対応付けられている。本実施例では、一般格納ブロックのアドレス順に不良登録領域に割り当てられているものとするが、これには限定されない。
本実施例では、図9に示したように不良登録は1ブロックにつき2バイトが割り当てられており、85は、一般格納ブロック82の該当ブロック(アドレス0000)が不良ではない場合を示しており、一例としてFFFFが登録されている。不良でないことを示す値としては、代替ブロックアドレスになり得ない値であればよいが、前述の図8ステップ809における不良登録されているか否かの判断を簡単にするために、全ビットを1あるいは0にすることが望ましい。86は、一般格納ブロックアドレス0003のブロックが不良登録されており、代替ブロックアドレス0003のブロックと代替が行われていることを示している。さらに、一般格納ブロックアドレス0006、0007は、代替ブロックアドレス0004、0005と代替されていることを示している。
代替アドレスは代替ブロック群83内部のアドレス割り当てで充分であるため、少ないバイト数で登録が可能である。登録値がFFFFかそれ以外のアドレス値が格納されているかにより、不良登録されているか否かが判別できる。なお、不良登録領域84にもECCを生成し、信頼性を向上させることが望ましい。一般格納ブロックと同様の手順でECC回路を応用すればよい。
次にアクセスされたブロックが不良か否かを判定する処理について説明する。
図10は、ブロックの良/不良判定フローチャートであり、図8の全体フローチャートの中の良ブロックチェック(ステップ803)を詳細に説明するものである。
まず、CPU63は、求めた論理アドレスにより、該当ブロックをアクセスし、管理情報領域54内の管理情報を読み込む(ステップ1001)。読み込んだ管理情報の管理用ECC70を用いて、取得した管理情報の誤り検出を行う(ステップ1002)。ここで誤りなし、訂正可能な誤り検出、訂正不可能な誤り検出の3状態に分岐する。訂正不可能な誤り検出の場合は不良ブロックと判断し、不良登録領域84の検索に移行する(ステップ808)。訂正可能な誤り検出の場合は訂正処理を実行する(ステップ1003)。誤りなしの場合、または訂正実行後の場合は、読み込んだ良ブロックコード69をチェックする(ステップ1004)。
良ブロックコード69は第7図でも説明したとおり、全ブロック共通の特定コードを格納しておき、一致不一致を確認するものである。もし、管理用ECC70によるチェックでエラーが検出されなかったのに、良ブロックコード69が一致しなかった場合には、誤検出が発生したと判断する。すなわち、誤りの発生が偶然、誤りなしのコードと一致してしまった場合に起る現象である。
また、同様にエラー訂正処理を行ったにも係わらず良ブロックコード69が不一致であった場合には、誤りの発生が偶然にして訂正可能なコードと一致してしまい誤訂正が行われた、と考えて不良ブロックと見なし、不良登録領域84の検索処理に移行する。それ以外では誤りなしか、訂正済みの良ブロックと判断する。
なお、誤検出あるいは誤訂正後に良ブロックコードが偶然にして一致してしまうケースも当然考えられる。しかしながら、誤検出、誤訂正自体の発生確率は非常に低く、さらに良ブロックコードが一致してしまうような確率は現実的に起りえないと判断できる。また、このような判断は、誤検出率、誤訂正率が大きくないECC方式を採用し、良ブロックコードのビット数も多くすることにより行えるものである。
以上述べたように、本実施例に依れば、不良ブロックの情報はメモリ52内の不良登録領域84に登録しているので、外部登録メモリが不要である。先に、論理アドレスに対応するブロックの管理情報を見て、良/不良を判定しているので、先に不良登録情報をサーチする方法に比べ、コントローラ51からメモリ52へのアクセス回数が少なくなり、したがって、目的のデータを得るまでのホスト側からみた場合のアクセス時間が早くなる。という効果がある。
従って、不良ブロックの判別において処理速度と信頼性の向上が可能で、記憶装置自体の高速化、高性能化、高信頼化が実現できる。また、外部メモリを使わないため、低価格化にも効果がある。
なお、上記実施例のコントローラ51とメモリ52を一つのチップに集積することにより、メモリ52内のバッファとコントローラ51内のバッファ59、60をまとめることができて、回路規模を削減することができるという効果が得られる。さらに、コントローラ51とメモリ52間の信号線も不要になるため、より端子数の少ないパッケージを用いることができるという効果もある。
以下に、本発明の実施態様を列挙する。
1.コントローラと不揮発性メモリとを有し、
前記不揮発性メモリは複数のブロックを有し、夫々のブロックは外部に接続されるホストから供給されるデータを格納する領域と当該データに関する管理情報を格納する領域とを有し、
前記管理情報は、当該管理情報を有するブロックの有効性を示す情報と、当該ブロックに格納されるデータのエラー検出・訂正情報と、当該ブロックの劣化の程度を示す情報と、当該管理情報のエラー検出・訂正情報とを有し、
前記コントローラは、前記当該ブロックの有効性を示す情報に応じて当該ブロックに格納されているデータへのアクセス可否を判断し、当該ブロックに格納されているデータのエラーの有無を前記データのエラー検出・訂正情報を用いて判別し、前記データのエラーを検出した場合は前記当該ブロックの有効性を示す情報を更新し、前記当該ブロックの劣化の程度を示す情報に応じて当該ブロックを継続して使用するか別のブロックに代替するかを判別し、前記管理情報のエラー検出・訂正情報に応じて当該ブロックに格納されている管理情報のエラーの有無を判別することを特徴とする不揮発性半導体記憶装置。
2.コントローラと不揮発性メモリとを有し、
前記不揮発性メモリは複数のブロックを有し、夫々の前記ブロックはデータ格納領域と管 理情報格納領域とを有し、
前記コントローラは前記管理情報として、データのエラー検出・訂正情報と、管理情報自体のエラー検出・訂正情報とを格納可能とすることを特徴とする不揮発性半導体記憶装置。
3.コントローラと不揮発性メモリとを有し、
前記不揮発性メモリは複数のブロックを有し、夫々の前記ブロックはデータ格納領域と管理情報格納領域とを有し、
前記コントローラは前記データ格納領域に格納されたデータのエラー検出・訂正処理と、前記管理情報格納領域に格納された管理情報のエラー検出・訂正処理とを行うことを特徴とする不揮発性半導体記憶装置。

Claims (8)

  1. 不揮発性メモリ装置であって、
    制御ユニットと、
    前記不揮発性メモリ装置の主記憶媒体であって、複数の電気的に書き換え可能な不揮発性メモリデバイスを該主記憶媒体が含み、該不揮発性メモリデバイスはそれぞれ、複数のメモリセルを有しており、該電気的に書き換え可能な不揮発性メモリデバイスは、不良メモリセルがその中に存在する場合であっても動作可能となるよう構成されていることからなる、主記憶媒体と、
    前記不良メモリセルを中に含んでいる前記主記憶媒体の不良領域のアドレス値を登録するための書き換え可能な不良登録メモリ
    とを備え、
    前記制御ユニットが、
    第1及び第2のバッファと、
    外部装置との前記不揮発性メモリ装置の接続先を、前記第1のバッファと前記第2のバッファとの間で切り替えるための第1の切り替え回路と、
    前記主記憶媒体との接続先を、前記第2のバッファと前記第1のバッファとの間で切り替えるための第2の切り替え回路
    とを含み、
    前記電気的に書き換え可能な不揮発性メモリデバイス内に格納されるデータは、複数のブロックに分けられており、該ブロックの各々は、管理されることとなる複数のデータを有しており、該データは、前記制御ユニットによアクセスアドレスが割り当てられており、管理情報領域が、各ブロック設けられており
    前記制御ユニットが、
    (i)前記主記憶媒体のリード及びライト要求と、
    (ii)不良領域と、前記主記憶媒体内の前記電気的に書き換え可能な不揮発性メモリデバイスの前記メモリセルのそれぞれの書き換えの書き換え発生回数との前記管理
    とを実行するよう構成されており、及び、
    前記外部装置から前記主記憶媒体へのライト要求がなされた時には、前記制御ユニットは、前記第1及び第2の切り替え回路を制御して、前記外部装置から送られてきたデータと、前記主記憶媒体から読み出した管理情報とが、それぞれ前記第1のバッファと前記第2のバッファとのうちの異なるものの中に格納されるようにして、前記外部装置から送られてきたデータと、前記主記憶媒体から読み出した前記管理情報とを、並行処理するようにすることからなる、不揮発性メモリ装置。
  2. 各ブロックに関連付けられた不良メモリセルを前記制御ユニットが検出した時には、該制御ユニットは、該不良メモリセルを含んでいるそのブロックのアクセスアドレスに、前記書き換え可能な不良登録メモリ内の登録されたアドレス値としてアクセスするよう構成され、及び、
    前記制御ユニットが、リード要求を受け取った時には、該制御ユニットは、そこに伝達された該リード要求の内容を解読して、該リード要求と共にそこに伝達されたデータのアドレスを計算し、次いで、得られたアドレス値を管理アドレスとして認識し、該制御ユニットは次いで、前記主記憶媒体内の不良メモリセルに該アドレス値が関連付けられているか否かを、前記書き換え可能な不良登録メモリの内容から突き止め、及び、不良メモリセルであることが決定された場合には、前記不良メモリセルのアドレス値が置換されることとなる置換アドレス値が、前記書き換え可能な不良登録メモリ内において指定されることからなる、請求項1に記載の不揮発性メモリ装置。
  3. 前記外部装置から前記主記憶媒体の前記複数のブロックへのリード要求がなされた時には、前記制御ユニットは、前記第1及び第2の切り替え回路を制御して、それにより、前記第1及び第2のバッファが交互に使用されて、前記主記憶媒体からデータを読み出すのと並行して前記外部装置へのデータ転送が行われるようにする、請求項1又は2に記載の不揮発性メモリ装置。
  4. 前記主記憶媒体からのデータ転送の速度が、前記外部装置へのデータ転送の速度よりも速い時には、前記制御ユニットは、前記第1及び第2の切り替え回路を制御して、それにより、次に読み出すブロックについて、前記第1及び第2のバッファを用いて不良チェック及び/又は代替アドレスの検索が実施され得るようにする、請求項3に記載の不揮発性メモリ装置。
  5. 前記書き換え可能な不良登録メモリは、ダイナミックランダムアクセスメモリ(DRAM)か又はスタティックランダムアクセスメモリ(SRAM)を含む、請求項1乃至4の何れかに記載の不揮発性メモリ装置。
  6. 前記電気的に書き換え可能な不揮発性メモリデバイスは、複数のフラッシュメモリチップを含むことからなる、請求項1乃至5の何れかに記載の不揮発性メモリ装置。
  7. 前記書き換え可能な不良登録メモリは、前記不揮発性メモリデバイス内にまれている、請求項1乃至6の何れかに記載の不揮発性メモリ装置。
  8. 新たにデータが書き込まれる時には、前記制御ユニットは、前記主記憶媒体から読み出した管理情報を前記第1又は第2のバッファ内に格納して、該管理情報内の劣化記録を変更することにより、及び、該管理情報内に含められることとなる新たな管理用エラー訂正コードを生成することにより、該管理情報を処理し、該管理情報は、前記書き込みの後に、その同じブロックの前記管理情報領域内に格納されることからなる、請求項1乃至7の何れかに記載の不揮発性メモリ装置。
JP2010130804A 1996-02-29 2010-06-08 不揮発性半導体記憶装置 Expired - Lifetime JP5095777B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010130804A JP5095777B2 (ja) 1996-02-29 2010-06-08 不揮発性半導体記憶装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP1996042451 1996-02-29
JP4245196 1996-02-29
JP2010130804A JP5095777B2 (ja) 1996-02-29 2010-06-08 不揮発性半導体記憶装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008083132A Division JP4563465B2 (ja) 1996-02-29 2008-03-27 不揮発性半導体記憶装置

Publications (3)

Publication Number Publication Date
JP2010192002A JP2010192002A (ja) 2010-09-02
JP2010192002A5 JP2010192002A5 (ja) 2012-03-01
JP5095777B2 true JP5095777B2 (ja) 2012-12-12

Family

ID=12636443

Family Applications (3)

Application Number Title Priority Date Filing Date
JP53077897A Expired - Fee Related JP3614173B2 (ja) 1996-02-29 1996-11-29 部分不良メモリを搭載した半導体記憶装置
JP2008083132A Expired - Fee Related JP4563465B2 (ja) 1996-02-29 2008-03-27 不揮発性半導体記憶装置
JP2010130804A Expired - Lifetime JP5095777B2 (ja) 1996-02-29 2010-06-08 不揮発性半導体記憶装置

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP53077897A Expired - Fee Related JP3614173B2 (ja) 1996-02-29 1996-11-29 部分不良メモリを搭載した半導体記憶装置
JP2008083132A Expired - Fee Related JP4563465B2 (ja) 1996-02-29 2008-03-27 不揮発性半導体記憶装置

Country Status (5)

Country Link
US (11) US6031758A (ja)
JP (3) JP3614173B2 (ja)
KR (1) KR100308173B1 (ja)
AU (1) AU3832297A (ja)
WO (1) WO1997032253A1 (ja)

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751683A (en) * 1995-07-24 1998-05-12 General Nanotechnology, L.L.C. Nanometer scale data storage device and associated positioning system
US6339217B1 (en) * 1995-07-28 2002-01-15 General Nanotechnology Llc Scanning probe microscope assembly and method for making spectrophotometric, near-field, and scanning probe measurements
JP3782840B2 (ja) * 1995-07-14 2006-06-07 株式会社ルネサステクノロジ 外部記憶装置およびそのメモリアクセス制御方法
JP3580929B2 (ja) * 1996-01-16 2004-10-27 パナソニック コミュニケーションズ株式会社 記憶装置
WO1997032253A1 (en) 1996-02-29 1997-09-04 Hitachi, Ltd. Semiconductor memory device having faulty cells
JP3565687B2 (ja) * 1997-08-06 2004-09-15 沖電気工業株式会社 半導体記憶装置およびその制御方法
US6397349B2 (en) * 1998-10-13 2002-05-28 Agere Systems Guardian Corp. Built-in self-test and self-repair methods and devices for computer memories comprising a reconfiguration memory device
US6317846B1 (en) * 1998-10-13 2001-11-13 Agere Systems Guardian Corp. System and method for detecting faults in computer memories using a look up table
JP4135049B2 (ja) * 1999-03-25 2008-08-20 ソニー株式会社 不揮発性メモリ
KR100544175B1 (ko) * 1999-05-08 2006-01-23 삼성전자주식회사 링킹 타입 정보를 저장하는 기록 매체와 결함 영역 처리 방법
JP4181694B2 (ja) * 1999-07-07 2008-11-19 株式会社アドバンテスト メモリ試験装置
JP4316085B2 (ja) * 1999-12-28 2009-08-19 株式会社東芝 半導体集積回路装置及び集積回路システム
ATE382222T1 (de) * 2000-03-29 2008-01-15 Opencell Corp Betriebs- und wartungs-architektur für ein verteiltes multiprotokollsystem
JP4534336B2 (ja) * 2000-10-13 2010-09-01 ソニー株式会社 メモリ装置におけるデータ管理方法
US6931710B2 (en) * 2001-01-30 2005-08-23 General Nanotechnology Llc Manufacturing of micro-objects such as miniature diamond tool tips
JP4034947B2 (ja) * 2001-05-31 2008-01-16 株式会社ルネサステクノロジ 不揮発性記憶システム
JP2003030045A (ja) * 2001-07-16 2003-01-31 Hitachi Communication Technologies Ltd 記憶装置
JP5119563B2 (ja) * 2001-08-03 2013-01-16 日本電気株式会社 不良メモリセル救済回路を有する半導体記憶装置
JP2003132693A (ja) 2001-10-29 2003-05-09 Mitsubishi Electric Corp 不揮発性半導体記憶装置
US6871257B2 (en) * 2002-02-22 2005-03-22 Sandisk Corporation Pipelined parallel programming operation in a non-volatile memory system
JP4086584B2 (ja) * 2002-08-08 2008-05-14 富士通株式会社 試験工程を簡略化できるメモリカード及びメモリカードの試験方法
US6901498B2 (en) 2002-12-09 2005-05-31 Sandisk Corporation Zone boundary adjustment for defects in non-volatile memories
US20040153902A1 (en) * 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
US7904786B2 (en) * 2003-03-06 2011-03-08 Hewlett-Packard Development Company, L.P. Assisted memory system
US6906961B2 (en) * 2003-06-24 2005-06-14 Micron Technology, Inc. Erase block data splitting
US7076598B2 (en) * 2003-09-09 2006-07-11 Solid State System Co., Ltd. Pipeline accessing method to a large block memory
US7246289B2 (en) * 2003-09-30 2007-07-17 Nortel Networks Limited Memory integrity self checking in VT/TU cross-connect
US7472330B2 (en) * 2003-11-26 2008-12-30 Samsung Electronics Co., Ltd. Magnetic memory which compares compressed fault maps
US7152138B2 (en) * 2004-01-30 2006-12-19 Hewlett-Packard Development Company, L.P. System on a chip having a non-volatile imperfect memory
JP4041076B2 (ja) 2004-02-27 2008-01-30 株式会社東芝 データ記憶システム
US7310347B2 (en) * 2004-03-14 2007-12-18 Sandisk, Il Ltd. States encoding in multi-bit flash cells
US20050213393A1 (en) 2004-03-14 2005-09-29 M-Systems Flash Disk Pioneers, Ltd. States encoding in multi-bit flash cells for optimizing error rate
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
JP4135680B2 (ja) 2004-05-31 2008-08-20 ソニー株式会社 半導体記憶装置および信号処理システム
US20070266187A1 (en) * 2004-09-29 2007-11-15 Daigo Senoo Data Interleaving Apparatus
US20060156089A1 (en) * 2004-12-02 2006-07-13 Chao-Yu Yang Method and apparatus utilizing defect memories
US7420847B2 (en) * 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail
US7120051B2 (en) * 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7409473B2 (en) * 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
US7849381B2 (en) 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7212440B2 (en) * 2004-12-30 2007-05-01 Sandisk Corporation On-chip data grouping and alignment
US7379368B2 (en) * 2005-02-25 2008-05-27 Frankfurt Gmbh, Llc Method and system for reducing volatile DRAM power budget
JP4734033B2 (ja) * 2005-05-30 2011-07-27 株式会社東芝 記憶装置
TWI308741B (en) * 2005-06-03 2009-04-11 Quanta Storage Inc A method of defect areas management
US7991758B2 (en) * 2005-09-07 2011-08-02 International Business Machines Corporation System and method for performing a search operation within a sequential access data storage subsystem
US7286380B2 (en) * 2005-09-29 2007-10-23 Intel Corporation Reconfigurable memory block redundancy to repair defective input/output lines
JP4863681B2 (ja) * 2005-10-04 2012-01-25 ルネサスエレクトロニクス株式会社 半導体記憶装置およびメモリコントローラ
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
US7509471B2 (en) * 2005-10-27 2009-03-24 Sandisk Corporation Methods for adaptively handling data writes in non-volatile memories
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
US7567461B2 (en) 2006-08-18 2009-07-28 Micron Technology, Inc. Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells
JP2008102759A (ja) * 2006-10-19 2008-05-01 Matsushita Electric Ind Co Ltd メモリアクセス制御装置
KR100780963B1 (ko) * 2006-11-03 2007-12-03 삼성전자주식회사 메모리 카드 및 메모리 카드의 구동 방법
KR100799688B1 (ko) 2007-01-03 2008-02-01 삼성전자주식회사 백업 회로를 갖는 메모리 시스템 및 그것의 프로그램 방법
JP2008310896A (ja) * 2007-06-15 2008-12-25 Spansion Llc 不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法
JP4686520B2 (ja) * 2007-09-18 2011-05-25 株式会社東芝 データ記憶システム
KR101437517B1 (ko) * 2007-10-23 2014-09-05 삼성전자주식회사 인터리빙 기법을 이용한 메모리 시스템, 및 그 방법
CN101458963B (zh) * 2007-12-13 2011-03-30 上海松下等离子显示器有限公司 E2prom脱机复制方法
JP2009181439A (ja) 2008-01-31 2009-08-13 Toshiba Corp メモリシステム
JP4489127B2 (ja) 2008-02-29 2010-06-23 株式会社東芝 半導体記憶装置
JP4746641B2 (ja) * 2008-03-01 2011-08-10 株式会社東芝 メモリシステム
US8276043B2 (en) 2008-03-01 2012-09-25 Kabushiki Kaisha Toshiba Memory system
JP5218228B2 (ja) * 2008-04-23 2013-06-26 新東工業株式会社 搬送装置及びブラスト加工装置
US7835207B2 (en) * 2008-10-07 2010-11-16 Micron Technology, Inc. Stacked device remapping and repair
US8255774B2 (en) 2009-02-17 2012-08-28 Seagate Technology Data storage system with non-volatile memory for error correction
KR20100094241A (ko) * 2009-02-18 2010-08-26 삼성전자주식회사 예비 블록을 포함하지 않는 불휘발성 메모리 장치
JP5473623B2 (ja) * 2010-01-15 2014-04-16 キヤノン株式会社 データ記録装置及びその制御方法
JP5406750B2 (ja) * 2010-02-03 2014-02-05 キヤノン株式会社 記録装置及びその制御方法
JP5523128B2 (ja) * 2010-02-03 2014-06-18 キヤノン株式会社 記録装置及びその制御方法
JP5455689B2 (ja) * 2010-02-03 2014-03-26 キヤノン株式会社 記録装置及び方法
US8726130B2 (en) 2010-06-01 2014-05-13 Greenliant Llc Dynamic buffer management in a NAND memory controller to minimize age related performance degradation due to error correction
JP5221699B2 (ja) 2011-03-23 2013-06-26 株式会社東芝 半導体記憶装置
US9292392B2 (en) 2011-06-30 2016-03-22 Hewlett Packard Enterprise Development Lp Memory module that includes a memory module copy engine for copying data from an active memory die to a spare memory die
JP5813450B2 (ja) * 2011-10-17 2015-11-17 日立オートモティブシステムズ株式会社 電子制御装置
KR20130044657A (ko) * 2011-10-24 2013-05-03 삼성전자주식회사 파일 시스템 및 그 제어 방법
US8799598B2 (en) * 2012-02-17 2014-08-05 Spansion Llc Redundancy loading efficiency
US8843805B1 (en) * 2012-03-16 2014-09-23 Juniper Networks, Inc. Memory error protection using addressable dynamic ram data locations
US9223665B2 (en) 2013-03-15 2015-12-29 Micron Technology, Inc. Apparatuses and methods for memory testing and repair
KR20150135311A (ko) 2013-03-25 2015-12-02 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 에러 정정 로직을 갖는 메모리 디바이스
KR102067014B1 (ko) * 2014-01-06 2020-02-11 삼성전자주식회사 어드레스 리매핑이 가능한 메모리 시스템
US9891848B2 (en) 2015-03-04 2018-02-13 Toshiba Memory Corporation Memory system and method for controlling nonvolatile memory
TWI608488B (zh) * 2015-03-25 2017-12-11 慧榮科技股份有限公司 資料儲存裝置以及資料存取方法
KR102386476B1 (ko) 2015-10-28 2022-04-15 에스케이하이닉스 주식회사 반도체 장치 및 그의 구동 방법
TWI605462B (zh) 2016-05-11 2017-11-11 慧榮科技股份有限公司 資料儲存媒體之損壞資料行的篩選方法
US10725933B2 (en) * 2016-12-30 2020-07-28 Intel Corporation Method and apparatus for redirecting memory access commands sent to unusable memory partitions
KR102410306B1 (ko) * 2018-01-29 2022-06-20 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200076491A (ko) * 2018-12-19 2020-06-29 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200091201A (ko) * 2019-01-22 2020-07-30 에스케이하이닉스 주식회사 메모리 시스템
JP2023022514A (ja) * 2021-08-03 2023-02-15 キオクシア株式会社 メモリデバイス

Family Cites Families (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61219045A (ja) 1985-03-25 1986-09-29 Canon Inc 距離算出装置および自動焦点合わせ装置
JPS62239252A (ja) * 1986-04-09 1987-10-20 Nec Corp 記憶装置
JPS63219045A (ja) * 1987-03-09 1988-09-12 Hitachi Ltd Icカ−ド
JPS6426220A (en) * 1987-07-22 1989-01-27 Omron Tateisi Electronics Co Writing system for memory card
DE3728521A1 (de) * 1987-08-26 1989-03-09 Siemens Ag Anordnung und verfahren zur feststellung und lokalisierung von fehlerhaften schaltkreisen eines speicherbausteins
US5268319A (en) 1988-06-08 1993-12-07 Eliyahou Harari Highly compact EPROM and flash EEPROM devices
US5268870A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5198380A (en) 1988-06-08 1993-03-30 Sundisk Corporation Method of highly compact EPROM and flash EEPROM devices
US5067111A (en) 1988-10-28 1991-11-19 Kabushiki Kaisha Toshiba Semiconductor memory device having a majority logic for determining data to be read out
GB8826539D0 (en) 1988-11-14 1988-12-21 Shell Int Research Nitromethylene compounds their preparation & their use as pesticides
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
DE69033262T2 (de) 1989-04-13 2000-02-24 Sandisk Corp EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher
JPH03131951A (ja) * 1989-10-18 1991-06-05 Fujitsu Ltd データ転送方式
US5218569A (en) 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
US5295255A (en) 1991-02-22 1994-03-15 Electronic Professional Services, Inc. Method and apparatus for programming a solid state processor with overleaved array memory modules
US5396468A (en) 1991-03-15 1995-03-07 Sundisk Corporation Streamlined write operation for EEPROM system
US5270979A (en) 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
US5504760A (en) 1991-03-15 1996-04-02 Sandisk Corporation Mixed data encoding EEPROM system
JP2537511Y2 (ja) * 1991-03-15 1997-06-04 株式会社東海理化電機製作所 ステアリングロック装置
JPH04308971A (ja) * 1991-04-06 1992-10-30 Nippon Steel Corp バイナリサーチメモリ
JPH04311236A (ja) * 1991-04-09 1992-11-04 Nec Corp メモリエラー処理回路
US5663901A (en) 1991-04-11 1997-09-02 Sandisk Corporation Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems
US5430859A (en) 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
DE69223099T2 (de) 1991-08-09 1998-06-10 Toshiba Kawasaki Kk Aufzeichnungsgerät für eine Speicherkarte
JPH0567005A (ja) * 1991-09-09 1993-03-19 Nec Corp 記録媒体アクセス方式
US5438573A (en) 1991-09-13 1995-08-01 Sundisk Corporation Flash EEPROM array data and header file structure
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5778418A (en) 1991-09-27 1998-07-07 Sandisk Corporation Mass computer storage system having both solid state and rotating disk types of memory
US6026505A (en) * 1991-10-16 2000-02-15 International Business Machines Corporation Method and apparatus for real time two dimensional redundancy allocation
TW261687B (ja) 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
JP3407317B2 (ja) * 1991-11-28 2003-05-19 株式会社日立製作所 フラッシュメモリを使用した記憶装置
JPH05151099A (ja) * 1991-11-30 1993-06-18 Toshiba Corp メモリカード装置
US5297029A (en) 1991-12-19 1994-03-22 Kabushiki Kaisha Toshiba Semiconductor memory device
US5341487A (en) 1991-12-20 1994-08-23 International Business Machines Corp. Personal computer having memory system with write-through cache and pipelined snoop cycles
JPH05274219A (ja) * 1992-03-27 1993-10-22 Alps Electric Co Ltd 記憶装置
US5532962A (en) 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
JPH0620483A (ja) * 1992-06-30 1994-01-28 Advanced Saakitsuto Technol:Kk フラッシュeeprom制御回路、およびフラッシュメモリカード
JPH0644144A (ja) 1992-07-23 1994-02-18 Mitsubishi Electric Corp 半導体ディスク装置
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
JP2768618B2 (ja) * 1992-08-28 1998-06-25 シャープ株式会社 半導体ディスク装置
JP2647312B2 (ja) * 1992-09-11 1997-08-27 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性半導体記憶装置
JPH06105443A (ja) 1992-09-17 1994-04-15 Fujitsu Ltd 流体搬送装置
US5428621A (en) 1992-09-21 1995-06-27 Sundisk Corporation Latent defect handling in EEPROM devices
US5473753A (en) 1992-10-30 1995-12-05 Intel Corporation Method of managing defects in flash disk memories
US5459850A (en) 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
JP3078946B2 (ja) 1993-03-11 2000-08-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置
US5519843A (en) 1993-03-15 1996-05-21 M-Systems Flash memory system providing both BIOS and user storage capability
KR970008188B1 (ko) 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US5519847A (en) * 1993-06-30 1996-05-21 Intel Corporation Method of pipelining sequential writes in a flash memory
US5422842A (en) 1993-07-08 1995-06-06 Sundisk Corporation Method and circuit for simultaneously programming and verifying the programming of selected EEPROM cells
US5909541A (en) 1993-07-14 1999-06-01 Honeywell Inc. Error detection and correction for data stored across multiple byte-wide memory devices
JPH0756816A (ja) * 1993-08-20 1995-03-03 Yokogawa Electric Corp メモリの制御装置
JP3215237B2 (ja) 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
JP3798438B2 (ja) * 1994-08-31 2006-07-19 富士写真フイルム株式会社 メモリカードインタフェース装置
US5508971A (en) 1994-10-17 1996-04-16 Sandisk Corporation Programmable power generation circuit for flash EEPROM memory systems
JPH08221312A (ja) * 1995-02-14 1996-08-30 Hitachi Ltd メモリカード装置
US5640506A (en) 1995-02-15 1997-06-17 Mti Technology Corporation Integrity protection for parity calculation for raid parity cache
JP3782840B2 (ja) 1995-07-14 2006-06-07 株式会社ルネサステクノロジ 外部記憶装置およびそのメモリアクセス制御方法
US5907856A (en) 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
JPH09212429A (ja) * 1996-01-30 1997-08-15 Oki Electric Ind Co Ltd 不揮発性半導体ディスク装置
WO1997032253A1 (en) 1996-02-29 1997-09-04 Hitachi, Ltd. Semiconductor memory device having faulty cells
US5642316A (en) * 1996-05-21 1997-06-24 Information Storage Devices, Inc. Method and apparatus of redundancy for non-volatile memory integrated circuits
JP2001501000A (ja) * 1996-08-16 2001-01-23 東京エレクトロン株式会社 エラー検出および訂正を有する半導体メモリ装置
US5841712A (en) * 1996-09-30 1998-11-24 Advanced Micro Devices, Inc. Dual comparator circuit and method for selecting between normal and redundant decode logic in a semiconductor memory device
US5831914A (en) * 1997-03-31 1998-11-03 International Business Machines Corporation Variable size redundancy replacement architecture to make a memory fault-tolerant
JP3565687B2 (ja) * 1997-08-06 2004-09-15 沖電気工業株式会社 半導体記憶装置およびその制御方法
US5920515A (en) * 1997-09-26 1999-07-06 Advanced Micro Devices, Inc. Register-based redundancy circuit and method for built-in self-repair in a semiconductor memory device
US5896327A (en) * 1997-10-27 1999-04-20 Macronix International Co., Ltd. Memory redundancy circuit for high density memory with extra row and column for failed address storage
US5889711A (en) * 1997-10-27 1999-03-30 Macronix International Co., Ltd. Memory redundancy for high density memory
US5933370A (en) * 1998-01-09 1999-08-03 Information Storage Devices, Inc. Trimbit circuit for flash memory
US6002620A (en) * 1998-01-09 1999-12-14 Information Storage Devices, Inc. Method and apparatus of column redundancy for non-volatile analog and multilevel memory
JP4290270B2 (ja) * 1999-04-13 2009-07-01 株式会社ルネサステクノロジ 不良解析システム、致命不良抽出方法及び記録媒体
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
KR100655279B1 (ko) * 2000-12-14 2006-12-08 삼성전자주식회사 불휘발성 반도체 메모리 장치
US6373758B1 (en) * 2001-02-23 2002-04-16 Hewlett-Packard Company System and method of operating a programmable column fail counter for redundancy allocation
US6445626B1 (en) * 2001-03-29 2002-09-03 Ibm Corporation Column redundancy architecture system for an embedded DRAM
KR100434315B1 (ko) * 2001-06-11 2004-06-05 주식회사 하이닉스반도체 불휘발성 강유전체 메모리 장치의 페일 구제회로 및 그구제방법
US7289363B2 (en) * 2005-05-19 2007-10-30 Micron Technology, Inc. Memory cell repair using fuse programming method in a flash memory device

Also Published As

Publication number Publication date
US9007830B2 (en) 2015-04-14
US6542405B2 (en) 2003-04-01
US20020097604A1 (en) 2002-07-25
US8064257B2 (en) 2011-11-22
US8503235B2 (en) 2013-08-06
AU3832297A (en) 1997-09-16
US20120213002A1 (en) 2012-08-23
US20140185380A1 (en) 2014-07-03
JP2008204475A (ja) 2008-09-04
JP4563465B2 (ja) 2010-10-13
KR100308173B1 (ko) 2001-11-02
US6388920B2 (en) 2002-05-14
US20040022249A1 (en) 2004-02-05
US20030128585A1 (en) 2003-07-10
WO1997032253A1 (en) 1997-09-04
US20010036114A1 (en) 2001-11-01
JP3614173B2 (ja) 2005-01-26
US6728138B2 (en) 2004-04-27
US6031758A (en) 2000-02-29
JP2010192002A (ja) 2010-09-02
US6317371B2 (en) 2001-11-13
US7616485B2 (en) 2009-11-10
US20010015908A1 (en) 2001-08-23
US20100177579A1 (en) 2010-07-15
US6236601B1 (en) 2001-05-22
KR19990087236A (ko) 1999-12-15
US20080055986A1 (en) 2008-03-06

Similar Documents

Publication Publication Date Title
JP5095777B2 (ja) 不揮発性半導体記憶装置
US7114117B2 (en) Memory card and memory controller
US20050169045A1 (en) Storage device employing a flash memory
JP2001243122A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリへのデータの書き込み方法
KR930010981A (ko) 플래시메모리를 사용한 기억장치
US11853599B2 (en) Memory system and information processing system
US6629191B1 (en) Nonvolatile memory apparatus for storing data from a host
JP2009064238A (ja) メモリシステム
JP2002109895A (ja) 半導体記憶装置
US11243888B2 (en) Data storage apparatus and operating method thereof
US8533549B2 (en) Memory system and computer system
JP4171518B2 (ja) 不揮発性半導体記憶装置
JP2001134496A (ja) 不揮発性半導体メモリを用いた記憶装置
US20230153038A1 (en) Storage device performing self-diagnosis and storage system including the same
CN111858389B (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
CN106326131B (zh) 存储器管理方法、存储器控制电路单元及存储器存储装置
CN114627941A (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
JPH10302484A (ja) 不揮発性メモリを用いた記憶装置、および、その管理方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100608

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120424

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120730

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: 20120821

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: 20120919

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term