冗長データがリモートバッファ回路にバッファされる不揮発性メモリおよび方法
メモリは、そのユーザ部分に、冗長部分に存在する冗長位置により置換可能な欠陥位置を有する。ユーザ部分および冗長部分の列回路に存在するデータラッチは、メモリから感知されるかあるいはメモリに書き込まれるべきデータがデータバスとの間で交換されることを可能にする。リモート冗長方式は、任意の数の列回路がアクセスし得る中央バッファから入手できる冗長データを有する。冗長データバッファ回路は、データが中央バッファから取られるときに、欠陥位置を除いてユーザデータラッチからのデータとのバス交換を可能にする。このようにしてユーザ部分のためのアドレス指定だけがバス交換のために使用される。また、冗長データへのアクセス可能性は、冗長データラッチに関しての列回路の位置によって制限されず、バッファされた冗長データは、列回路により課される粒状度より精細な粒状度でアクセスされ得る。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)およびフラッシュEEPROMのような不揮発性半導体メモリに関し、特に列冗長性特徴を実現したものに関する。
【背景技術】
【0002】
電荷を不揮発性に蓄積することのできる、特に小形形状のファクタカードとしてパッケージされたEEPROMおよびフラッシュEEPROMの形の固体メモリは、このごろ、特に情報機器および消費者電子製品などの多様なモバイル装置およびハンドヘルド装置において一般的に好まれる記憶装置になっている。同じく固体メモリであるRAM(ランダムアクセスメモリ)とは違って、フラッシュメモリは不揮発性で、電源がオフにされた後も、その蓄積されたデータを保持する。磁気ディスク記憶装置と比べるとコストが高いけれども、フラッシュメモリは大容量記憶の応用分野でますます使用されつつある。ハードドライブおよびフロッピーディスクのような回転する磁性媒体に基づく在来の大容量記憶装置は、モバイルおよびハンドヘルド環境には適していない。なぜならば、ディスクドライブはかさばりがちで、機械的故障を起こしやすく、待ち時間および電源条件が大きいからである。これらの望ましくない属性があるために、ディスクに基づく記憶装置は大抵のモバイルおよび携帯アプリケーションにおいて非実用的である。一方、フラッシュメモリは、埋め込み形および取り外し可能なカードの形の両方において、小型で電力消費量が少なく、高速で信頼性が高いという特徴の故に、モバイルおよびハンドヘルド環境に理想的に適している。
【0003】
メモリ装置は、通常、カードに搭載され得る1つ以上のメモリチップを含む。各メモリチップは、デコーダ、消去回路、書き込み回路、読み出し回路のような周辺回路によってサポートされるメモリセルのアレイを含む。より精巧なメモリ装置は、インテリジェントで高レベルのメモリ操作およびインターフェイスを行うコントローラを伴っている。今日、商業的に成功した多くの不揮発性固体メモリ装置が使用されている。これらのメモリ装置は種々のタイプのメモリセルを使用することができ、各々のタイプが1つ以上の電荷蓄積素子を有する。EEPROMの例とそれらを製造する方法とが、米国特許第5,595,924号(特許文献1)において提供されている。フラッシュEEPROMの例と、メモリシステムにおけるその使用方法と、それらを製造する方法とが、米国特許第5,070,032号(特許文献2)、第5,095,344号(特許文献3)、第5,315,541号(特許文献4)、第5,343,063号(特許文献5)、第5,661,053号(特許文献6)、第5,313,421号(特許文献7)および第6,222,762号(特許文献8)に示されている。NANDセル構造を有するメモリ装置の例が、米国特許第5,570,315号(特許文献9)、第5,903,495号(特許文献10)および第6,046,935号(特許文献11)に記載されている。電荷を蓄積するための誘電体層を有するメモリ装置の例が、エイタンらによる“NROM:新規な局所トラッピング、2ビット不揮発性メモリセル”,IEEE電子デバイスレターズ,第21巻,第11号,2000年11月,543〜545ページ (Eitan et al., “NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol.21, no. 11, November 11, pp. 543-545)(非特許文献1)に記載され、また米国特許第5,768,192号および第6,011,725号にも記載されている。
【0004】
メモリ装置は、普通、行および列を成すように配置されてワード線およびビット線によりアドレス指定可能なメモリセルの2次元アレイとして編成される。アレイは、NORタイプまたはNANDタイプのアーキテクチャに従って形成され得る。NORタイプのメモリの例が、米国特許第5,172,338号(特許文献12)および第5,418,752号(特許文献13)に開示されている。メモリシステムの一部としてのNANDアーキテクチャアレイとその動作との例が、米国特許第5,570,315号(特許文献9)、第5,774,397号(特許文献14)、および第6,046,935号(特許文献11)で見出される。
【0005】
メモリは、しばしば、製造プロセスに由来するか、あるいは装置の動作中に生じた欠陥部分を有する。特に、製造歩留まりを最大にするために、そうしなければ欠陥を有することになる製品を救うために、製造時に発見された欠陥が訂正される。米国特許第5,602,987号(特許文献15)、第5,315,541号(特許文献4)、第5,200,959号(特許文献16)、第5,428,621号(特許文献17)および米国公開特許出願第2005/0141387号(特許文献18)に記載されているような、メモリの部分を誤り訂正符号化あるいは再マッピングすることを含む、これらの欠陥を処理するための幾つかの技術が存在する。これら特許および特許出願は、その全体が本願明細書において参照により援用されている。
【0006】
製造後、メモリチップは出荷前に試験される。欠陥が発見されたならば、そのチップは、メモリの欠陥部分の代わりに冗長部分を用いることによって、救われ得る。メモリに見出される普通のタイプの欠陥は、アレイの列に存在する問題に起因する。例えば、フラッシュメモリにおいて、列欠陥は、メモリセル領域に存在する次のエラー、すなわちビット線からビット線への短絡、他の信号に短絡されたビット線、ビット線開放、プログラムしないかあるいはプログラムが遅すぎる不良セル、および/または不良データラッチ、のうちのいずれか1つに起因し得る。
【0007】
在来の列冗長性方式は、列内のビット線、センス増幅器、およびデータラッチを含む列全体を取り替える。冗長方式は、不良列に遭遇したときにイネーブルされる別々のアクセス信号とともに高速マッチ回路も有する。
【0008】
メモリチップ自体の上の欠陥列を処理する1つの従来技術システムは、不良列置換を処理するためにバイナリ復号方式を用いる。ホストからのアドレスは始めにレジスタにラッチされ、列アドレスは、0バイト〜540バイトの列を管理するために10ビット加算器によって増分される。その後、列アドレス(10ビット)は、列復号器領域を通って伸びる15〜20のラインに事前復号(predecode) される。列選択を形成するために、これらの15〜20のラインの中から3つの信号が選択される。このバイナリ復号システムにおいて不良列は、入り列アドレスを不良列アドレスのリストと比較することにより管理される。一致が見出されたならば、入り列アドレスは他の、良好な列アドレスへ再割り当てされる。入りアドレスが不良列アドレスと一致しなければ、その入り列アドレスは変更されない。バイナリ列選択方式は、ランダムな列アドレスの位置を確認することに関して高度の柔軟性を有する。しかし、これは、欠陥のある列を置換するために必要なロジックに複数のステージがあるために割合に低速であるという欠点を持ち、それ故にバイナリ復号方式が20MHzのデータ入力レートまたは出力レートより遥かに速く動作することは困難である。
【0009】
また、アレイの上および下の両方からセンス増幅器のセットによりサービスされるアーキテクチャを有するメモリアレイの場合には、センス増幅器の各セットに対する冗長列の位置に起因して、欠陥列は効率的に再マッピングされ得ない。
【0010】
従って、改善された性能を有する高性能で大容量の不揮発性メモリに対する一般的ニーズが存在する。特に、性能および効率が改善された欠陥管理に対するニーズが存在する。
【特許文献1】米国特許第5,595,924号
【特許文献2】米国特許第5,070,032号
【特許文献3】米国特許第5,095,344号
【特許文献4】米国特許第5,315,541号
【特許文献5】米国特許第5,343,063号
【特許文献6】米国特許第5,661,053号
【特許文献7】米国特許第5,313,421号
【特許文献8】米国特許第6,222,762号
【特許文献9】米国特許第5,570,315号
【特許文献10】米国特許第5,903,495号
【特許文献11】米国特許第6,046,935号
【特許文献12】米国特許第5,172,338号
【特許文献13】米国特許第5,418,752号
【特許文献14】米国特許第5,774,397号
【特許文献15】米国特許第5,602,987号
【特許文献16】米国特許第5,200,959号
【特許文献17】米国特許第5,428,621号
【特許文献18】米国公開特許出願第2005/0141387号
【特許文献19】米国特許出願第11/026,536号
【非特許文献1】Eitan et al., “NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol.21, no. 11, November 11, pp. 543-545
【発明の開示】
【0011】
リモート冗長方式
本発明の一態様に従って、リモート冗長方式は、欠陥メモリ位置のための冗長または置換データを冗長データラッチからバッファ回路のセットへ再配置させる。このようにして、メモリアレイとI/Oバスとの間でデータを交換するために1つのアドレス指定方式が必要であるように、冗長データは、より容易にアクセスし得る位置にある。特に、本発明のリモート冗長方式では、ユーザデータはユーザデータラッチに関連付けられ、冗長データは冗長データラッチに関連付けられるけれども、ユーザデータと、これに代わる冗長データとにアクセスするためにメモリアレイのユーザ部分のためのアドレスが使用され得る。現在のアドレスが良好な(欠陥のない)位置のためのアドレスであるとき、データバスはユーザデータラッチとデータを交換する。一方、現在のアドレスが欠陥のある位置のためのアドレスであるとき、データバスは冗長データが中に置かれているリモートバッファとデータを交換する。
【0012】
1つの好ましい実施形態では、冗長部分のラッチに関連付けられた置換データをバッファするために冗長データバッファ回路が使用される。ユーザ部分をアドレス指定するためのアドレス指定方式だけが必要である。通常、データはI/Oバスとユーザ部分のデータラッチとの間で交換される。欠陥のあるアドレス位置に遭遇したときには、I/Oバスと、冗長部分の中のデータラッチの代わりの、よりアクセスしやすいバッファ回路との間で、置換データが交換される。
【0013】
他の1つの実施形態では、冗長データバッファ回路のアドレス粒状度は、列回路のアドレス粒状度と同じでなくてもよい。好ましくは、アドレスの単位は、列の分解能より精細な分解能を有する。サブ列デコーダは、列アドレスと列オフセットアドレスとをさらにサブ列アドレスに復号する。これは、冗長記憶空間をより効率的に利用するという利点を有する。なぜならば、欠陥のある単一のビット線が他の1つの冗長ビット線により取って代わられることができ、必ずしも複数のビット線を含む1つの冗長列により取って代わられなくてもよいからである。
【0014】
リモートバッファの実現は、普通はそのそれぞれの冗長データラッチに結び付けられる全ての冗長データが、その位置およびメモリアーキテクチャに起因するアクセス制限を受けないことを可能にする。例えば、奇数列回路の場合に類似して、1セットの偶数列回路は偶数列にアクセスできるだけであり、従って奇数冗長列を使用することができない。この方式は、任意の数の列回路がそれらの相対位置に関わらずにアクセスし得る中央位置に全ての冗長データをバッファすることを可能にする。
【0015】
本発明の付加的な特徴と利点とは、添付図面と関連して検討されるべきであるその好ましい実施形態についての以下の記述から理解されるであろう。
【発明を実施するための最良の形態】
【0016】
列冗長を採用した代表的なメモリについての予備的な記述が、本発明との区別に役立つ。
在来の局所冗長データ方式
図1は、冗長部分だけから冗長データを入手できる在来の列冗長方式のメモリ装置を示す。このメモリ装置は、ユーザ部分102と冗長部分102’とに分割されたメモリセルのアレイ100を有する。アレイ100内のメモリセルは、行に沿う1セットのワード線と列に沿う1セットのビット線とによりアクセス可能である。ワード線のセットは、行デコーダ130を介して行アドレスにより選択可能である。同様に、ビット線のセットは、列デコーダ160を介して列アドレスにより選択可能である。通常、行に沿うメモリセルのページが、感知回路170の対応するセットによって一緒に読み出されるかあるいは書き込まれる。メモリから読み出されたデータのページまたはメモリに書き込まれるべきデータのページをラッチするために、データラッチ180の対応するセットが使用される。読み出し操作の終了時に、データラッチからのデータはデータアウトバス192を介して外へ転送される。同様に、書き込み操作開始時に、書き込まれるべきデータはデータインバス194を介してデータラッチへ転送される。
【0017】
通常、列アドレスは、1つの列内のビット線の1つのグループが一度にアドレス指定可能で、従ってビット線欠陥が列ごとにマッピングされるような粒状度を有する。例えば、1つのアドレス指定可能な列は、1つの所与の行に沿う1バイトまたは1ワードのデータに対応する8本または16本のビット線を含むことができる。
【0018】
ユーザ部分102において欠陥のある112のような列が特定されたとき、それに取って代わる、冗長部分102’からの列112’のような置換列が提供される。不良列は試験中に発見され、欠陥のある列とその置換物とに関する情報が欠陥マップ116において維持され、この欠陥マップはメモリ装置、例えばパワーアップ時に読み出されるメモリアレイ(ROMFUSEブロック)に格納されることができる。メモリ装置がパワーアップされるたびに、欠陥マップは急速アクセスのためにオンチップコントローラ200のRAM216にロードされる。
【0019】
通常、ユーザはアレイのユーザ部分102にアクセスできるだけであり、冗長部分102’にはアクセスできない。従って、列アドレス範囲Ayは、ユーザがユーザ部分102にアクセスするためだけに存在する。列アドレスの保護されているセットAy’は、システムが冗長部分102’にアクセスするために存在する。アレイの冗長部分102’は、冗長列デコーダ160’、冗長感知回路170’および冗長データラッチ180’のような、列回路のそれ自身のセットによりサービスされる。
【0020】
各々の欠陥のある列は、絶縁ラッチによって標識付けされ得る。その場合、その列の中のアドレス指定されたバイトまたはワードは、その列のためのデータラッチの中のデータに関わりなくプログラムされず、プログラム−ベリファイ中に既に無視される。
【0021】
代表的な従来技術のシステムは、メモリチップ自体の上の欠陥のある列を管理し、不良列置換を管理するために双方向復号方式を使用する。ユーザアドレスAyは、ユーザアレイにアクセスするためのアドレスAyまたは冗長アレイにアクセスするためのアドレスAy’に変換される。
【0022】
この双方向復号システムにおいて不良列は、入り(ユーザ)列アドレスAyを欠陥マップ216内の不良列アドレスのリストと比較することによって管理される。一致が発見されると、入り列アドレスAyは、冗長部分102’内の他の良好な列アドレスAy’に再割り当てされるかあるいはマッピングされる(Ay→Ay’)。入りアドレスが不良列アドレスと一致しなければ、入り列アドレスは変更されない(Ay→Ay)。
【0023】
例えば、感知操作後に、読み出されたデータのページはデータラッチにラッチされる。ユーザがそのデータをリクエストしたとき、ライン194を介してデータバス190へストリーミングされる。アドレスが不良列、例えば列3、を指すとき、列冗長モジュール210は、ユーザアレイのためのアドレスAyをディスエーブルし、代わりにアレイの冗長部分の中の冗長列または置換列をアドレス指定するために代わりにアドレスAy’をイネーブルする。その場合、冗長列からのデータは、ライン190’を介してデータアウトバス192へのストリームの中に即座に挿入される。
【0024】
図2Aは、在来の冗長方式での読み出し操作の略タイミング図である。ホストは、開始読み出しアドレスを送り始めるために初期読み出しコマンドを発することによってメモリ装置における読み出し操作を開始する。その後に、実際の開始読み出しアドレスが送られる。その後、ホストは、読み出しを実行するコマンドを発する。メモリ装置は、その後、ビジー信号を信号し、データのページを感知するように動作する。感知されたデータのページは、関連するデータラッチにラッチされる。そのページは、アレイのユーザ部分と冗長部分とを含む。そのデータ全体がラッチされたとき、メモリ装置はレディ信号で信号する。
【0025】
ユーザは、その後、データをデータラッチから外へ、データアウトバス192へストリーミングさせるようにホストを通してリクエストすることができる。この外へのストリーミング操作の間、欠陥のある列に遭遇するたびに、対応する冗長データが即座にストリームに挿入され得るように、冗長部分の中の対応する冗長データラッチをアドレス指定するためにユーザアドレスAyはAy’に切り替えられる。冗長データがバスに出力されたとき、メモリはユーザアドレスAyに切り替わり、そしてこのプロセスはページの終わりに達するまで続く。
【0026】
図2Bは、在来の列冗長方式での読み出し操作を示すフローチャートである。
パワーアップ
ステップ310:欠陥マップを不揮発性メモリからコントローラRAMにロードする。
ステップ312:対応する絶縁ラッチをセットすることによって不良列をマークする。
読み出し
ステップ320:複数の列にわたってメモリセルからデータのページを読み出すための読み出しコマンドを受け取る
ステップ322:“ビジー”を信号する。
ステップ324:そのメモリセルのページを感知し、データを対応するデータラッチにラッチする。
ステップ326:“レディ”を信号する。
I/O
ステップ330:ラッチされたデータを1列ずつ外へストリーミングする。
ステップ332:外へストリーミングされるべきデータの現在の列アドレスAy=欠陥マップ中の不良列アドレスのうちの1つか?一致があればステップ334に進み、そうでなければステップ336に進む。
ステップ334:データを置換してストリームに挿入するために冗長列をアドレス指定するべくAy’に切り替わり、ステップ338に進む。
ステップ336:通常のアドレスAyで続行し、ステップ338に進む。
ステップ338:最後の列か?最後の列に達したならばステップ340に進み、そうでなければステップ332で次の列に進む。
ステップ340:データのページは読み出された。
【0027】
図3Aは、在来の冗長方式での書き込み操作の略タイミング図である。書き込み操作におけるデータ転送は、プログラミングの前にバスからデータラッチへのプログラムデータのストリーミングが生じることを除いて、読み出し操作のデータ転送と同様である。例えば、欠陥列3に到達したならば、列3のためのデータラッチへデータをストリーミングする代わりに、置換列へリダイレクトされる。
【0028】
ホストは、開始書き込みアドレスを送り始めるために初期書き込みコマンドを発することによってメモリ装置における書き込み操作を開始する。その後に、実際の開始書き込みアドレスが送られる。その後、ホストは書き込みデータをデータインバス192から中へ、データラッチへストリーミングするために信号を発する。この中へのストリーミング操作の間、欠陥のある列に遭遇するたびに、対応する冗長データを対応する冗長ラッチに即座に挿入することができるように、冗長部分に存在する対応する冗長データラッチをアドレス指定するためにユーザアドレスAyはAy’に切り替えられる。冗長データがラッチされると、メモリはユーザアドレスAyに切り替わり、ページの終わりに達するまでこのストリーミングプロセスが続行される。
【0029】
その後、ホストはプログラミングを実行するコマンドを発する。メモリ装置は、その後、ビジー信号を信号し、データのページをプログラムするように動作する。そのページは、アレイのユーザ部分と冗長部分とを含む。そのデータ全体がプログラム−ベリファイされたとき、メモリ装置はレディ信号で信号する。
【0030】
図3Bは、在来の列冗長方式でのプログラム操作を示すフローチャートである。
パワーアップ
ステップ350:欠陥マップを不揮発性メモリからコントローラRAMにロードする。
ステップ352:対応する絶縁ラッチをセットすることによって不良列をマークする。
I/O
ステップ360:複数の列にわたってデータのページを書き込むために書き込みコマンドを受け取る。
ステップ362:書き込まれるべきデータの第1のページを1列ずつデータラッチの第1のページ中にストリーミングする。
ステップ364:外へストリーミングされるべきデータの現在の列アドレスAy=欠陥マップ中の不良列アドレスのうちの1つか?一致があればステップ366に進み、そうでなければステップ368に進む。
ステップ366:データを置換してストリームに挿入するために冗長列をアドレス指定するべくAy’に切り替わり、ステップ369に進む。
ステップ368:通常のアドレスAyで続行し、ステップ369に進む。
ステップ369:最後の列か?最後の列に達したならばステップ370に進み、そうでなければステップ362で次の列に進む。
プログラム
ステップ370:プログラムコマンドを受け取る。
ステップ372:“ビジー”を信号する。
ステップ374:そのページ全体がプログラム−ベリファイされるまでデータのページを書き込む。
ステップ376:“レディ”を信号する。
【0031】
双方向列選択方式は、列にランダムアクセスすることができる点において、より柔軟である。しかし、欠陥列を置換するために必要なロジックの複数のステージがあるので、割合に低速であるという欠点を有する。前述したように、アレイの冗長部分はユーザのアクセスから保護され、従ってそれ自身の独自のアドレス信号を有する。ユーザ部分と冗長部分との間で即座に切り替わることは2つの全く異なるアドレス指定方式の間での切り替わりを必要とし、このことは双方向復号方式が20MHzのデータ入力レートまたは出力レートより遥かに速く実行することを難しくする。
【0032】
リモート冗長方式
本発明の一態様に従って、リモート冗長方式は、欠陥のあるメモリ位置のための冗長または置換データを冗長データラッチからバッファ回路のセットへ再配置する。このようにして、メモリアレイとI/Oバスとの間でデータを交換するために1つのアドレス指定方式が必要であるように冗長データはより容易にアクセスできる位置にある。特に、本発明のリモート冗長方式では、ユーザデータはユーザデータラッチに関連付けられ、冗長データは冗長データラッチに関連付けられるけれども、メモリアレイのユーザ部分のためのアドレスは、ユーザデータと、その代わりの冗長データとにアクセスするために使用され得る。現在のアドレスが良好な(欠陥のない)位置のためのアドレスであるとき、データバスはユーザデータラッチとデータを交換する。一方、現在のアドレスが欠陥のある位置のためのアドレスであるとき、データバスは冗長データが中に置かれているリモートバッファとデータを交換する。
【0033】
1つの好ましい実施形態では、冗長部分のラッチに関連付けられた置換データをバッファするために冗長データバッファ回路が使用される。ユーザ部分をアドレス指定するためのアドレス指定方式だけが必要である。通常、データはI/Oバスとユーザ部分のデータラッチとの間で交換される。欠陥のあるアドレス位置に遭遇したときには、I/Oバスと、冗長部分の中のデータラッチの代わりの、よりアクセスしやすいバッファ回路との間で、置換データが交換される。
【0034】
図4は、リモート冗長方式がその中で実現されるところの文脈を提供するコンパクトなメモリ装置の好ましい構成を概略的に示す。このメモリ装置は、個々の記憶単位すなわちメモリセルの2次元アレイ400と、制御回路410と、行デコーダ420Aおよび420Bと、列回路とを含む。一実施形態では、記憶単位はそれぞれ1ビットのデータを記憶することができる。他の1つの実施形態では、記憶単位はそれぞれ1ビットより多いデータを記憶することができる。最も好ましい実施形態では、コンパクトなメモリ装置は、ホストシステムに取り外し可能に取り付けられることのできるメモリカードにおいて実現される。
【0035】
メモリアレイ400は、行デコーダ420A,420Bを介してワード線により、また列回路に結合されたビット線により、アドレス指定可能である。列回路は、感知回路430A,430Bと、データラッチ440A,440Bと、列デコーダ450A,450Bと、データI/Oバス490とを含む。各感知回路のために1セットのデータラッチがあることが理解される。例えば、各メモリセルが2ビットのデータを記憶できる4状態メモリにおいて、2ビット以上の情報を記憶するラッチがあり得る。複数のビットを記憶するためのデータラッチのセットが、2004年12月29日に出願された“読み書き回路の集合体のための共通処理を伴う不揮発性メモリおよび方法(Non-Volatile Memory and Method with Shared Processing for an Aggregate of Read/Write Circuits) ”という米国特許出願第11/026,536号(特許文献19)に開示されている。この特許出願は、その全体が本願明細書において参照により援用されている。
【0036】
好ましい実施形態では、全ての偶数ビット線に結合された回路の中の感知回路430Aと、全ての奇数ビット線に結合された回路の中の感知回路430Bとがある。このようにして、一緒に動作するとき、全てのビット線が並行して使用される。他の1つの実施形態では、1つ置きのビット線、すなわち偶数ビット線または奇数ビット線だけが並行して動作する。
【0037】
濃密なパッキングを考慮して、行デコーダと列回路とは好ましくはアレイの両端に分散される。従って、行デコーダ420Aおよび420Bは、それぞれ、アレイの左側および右側に配置されている。同様に、列回路“A”および“B”は、それぞれ、アレイの下部および上部に配置されている。通常、列回路“A”および“B”は、それぞれ、ビット線のインターリービングなセットにアクセスする。例えば、列回路“A”は偶数番号ビット線へのアクセスを有し、列回路“B”は奇数番号ビット線へのアクセスを有する。便宜上、特に記されていなければ、以降の記述は、“A”回路のような1セットの回路に向けられる。
【0038】
列回路の感知回路430Aは、1つの行に沿うメモリセルの1つのブロック(“ページ”とも称される)が並行して読み出されるかあるいはプログラムされることを可能にするセンス増幅器の1つのバンクとして実現される。1つの好ましい実施形態では、1つのページは、1,024バイトなどのメモリセルの1つの連続する行から構成される。他の1つの実施形態では、メモリセルの1つの行は、複数のブロックまたはページ、例えば偶数ビット線を有する1つのページと奇数ビット線を有する1つのページとに分割される。
【0039】
制御回路410は、メモリアレイ400に対するメモリ操作を実行するために行デコーダおよび列回路と協働する。制御回路内の状態マシン412は、メモリ操作のチップレベル制御を提供する。
【0040】
メモリアレイ400は、ユーザ部分402と冗長部分402’とにさらに分割されている。ユーザ部分402は、アドレスバス496を介して供給されるユーザアドレスAyにより列毎にアクセス可能である。冗長部分402’は、ユーザによってアクセスすることはできず、それ自身の保護されているアドレスAy’を有する。冗長部分は、ユーザ部分に見出された欠陥のある列に代わる、所定数の冗長列または置換列を提供する。欠陥のある列のリストは欠陥マップ416に登録され、これは好ましくは不揮発性メモリアレイ402に格納される。例えば、冗長領域402’は、各々1バイト幅である8つの置換列を提供することができる。これは、原則として、ユーザ部分に発生することのある8つまでの欠陥列の置換を可能にする。
【0041】
しかし、従来技術のシステムにおいて冗長データまたは置換データが冗長列のラッチに局在するので、下部および上部の列回路がそれぞれ偶数列または奇数列だけへのアクセスを有する図4に示されている好ましい構成の段構造ではさらなる問題が発生し得る。この2段アーキテクチャが図1に記載されている従来技術のシステムにおいて実現されたならば、下部および上部の列回路の各々は冗長部分の中の置換列のプールの半分へのアクセスを有する。これは、奇数列回路は偶数置換列へのアクセスを有することができず、逆もまた同様だからである。その結果として、置換列のプールの利用が非能率的となる。例えば、8冗長列のプール(4偶数列と4奇数列)の場合、プール内に実際には8つの置換列があるのにユーザ部分の偶数列の中の5つ目の欠陥列は最早置換され得ない。
【0042】
図4は1つの好ましい実施形態を示し、この実施形態ではリモート冗長サービスを提供するために冗長データバッファ回路がメモリ装置と協力する。冗長部分402’に関連付けられた冗長データは冗長データバッファ回路460にバッファされる。明瞭のために、データアウトバス492へ転送されるデータは、図5と関連して記載される。データインバスから転送されるデータは、図6と関連して記載される。
【0043】
図5は、データをI/Oバスへ転出させるように構成された冗長データバッファ回路を示す。この転出モードは、感知操作後、1ページの感知されたデータがユーザデータラッチのセット440Aにラッチされているときに適用可能である。ユーザは、アドレスバス496を通して供給される列アドレスAyによりデータのページの中のデータにアクセスすることができる。前述したように、アドレス指定の粒状度に依存して、所定数のビット線を含む1つの列が単位としてアドレス指定可能である。列の1つのランがアドレス指定されるべきとき、1つの好ましいアドレス指定方式は、ランレングスが後に続く開始アドレスを供給することである。列選択は、列アドレスが列デコーダ450A(図4を参照)によって復号されるときに行われる。図5において、列選択はアドレスバス496からのポインタによって概略的に描かれている。列回路は、選択されたラッチされているデータのI/Oバス492への転送を制御するユーザデータ転出ゲート472のセットをも含む。
【0044】
冗長データバッファ回路460は、冗長データバッファ462と、転出ゲート482のセットと、欠陥マップバッファ466と、比較回路468とを含む。冗長データバッファは、冗長部分402’からの冗長データをバッファする。1ページのデータの感知後、冗長ラッチ440A’にラッチされた冗長データは冗長データバッファ462にロードされる。冗長データバッファ462への転送は、データアウトバス492が冗長データラッチからデータを受け取って図6に示されるように冗長データバッファへ転送するモードに冗長データバッファ回路460が設定されているときに実行される。同様に、欠陥マップバッファ466は欠陥マップ416において維持されている欠陥のリストをバッファし、メモリ装置のパワーアップ時にバッファ466にロードされる。
【0045】
好ましい実施形態では、冗長データバッファ462と欠陥マップバッファ466との両方が、データの個々のエントリを格納するための個々のレジスタのセットを含む。欠陥列のアドレスは、欠陥マップバッファ466の個々のレジスタに所定順序で格納される。同様に、個々のアドレスの各々に関連付けられた個々の冗長データは、欠陥アドレスとそれに関連付けられた冗長データとの間にレジスタ対レジスタの対応関係が存在するように、冗長データバッファ462に格納される。このようにして、在来の方式とは違って、欠陥マップは、関連付けられた冗長データの位置を突き止めるためのインデックスを含まなくてもよい。
【0046】
比較回路468は、本質的に、欠陥マップバッファ中のエントリの各々のための個々の比較器を提供する1対多数比較器である。各々の個々の比較器は、共通入力アドレスを、その個々のレジスタのうちの1つに格納されている欠陥マップバッファ内のアドレスエントリのうちの1つと比較する。以下の他の1つの実施形態では、冗長データバッファにおけるアドレス指定をメモリアレイのアドレス指定より精細なレベルまで解明するためにサブ列デコーダ(sub-column decoder)452がオプションで用いられる。そのオプションが実現されない場合には、冗長データバッファへの入力アドレスは本質的に列アドレスAyである。入力アドレスが現在アドレス指定されている列アドレスAyであるとき、欠陥マップバッファに登録されている欠陥列のアドレスの各々と比較される。一致するものが全くなければ、比較回路468は基本的に複数のANDゲート469を介して一致しない(NO-MATCH)信号M*を出力する。この信号M*は、データアウトバス492がアドレス指定されたデータラッチ440Aからデータを取り出せるように、ユーザデータ転出ゲート472をイネーブルするために使用される。一方、一致があったならば、現在のアドレス位置が欠陥列であって、それに関連付けられた冗長データが代わりに使用されなければならないということを意味する。これは、一致するものを登録し、また一致(MATCH)信号Mを出力する対応する個々の比較器によって成し遂げられる。
【0047】
冗長データバッファ462からデータアウトバス492への冗長データの転送は、転出ゲート482のセットにより制御される。特に、冗長データバッファの個々のレジスタの各々へのバスアクセスは、対応する転出ゲートによって制御される。したがって、現在のアドレスが特定の欠陥列アドレスと一致したとき、冗長データバッファ462の対応するレジスタの中の関連する冗長データがデータアウトバス492へ転送され得るように、対応する転出ゲートをイネーブルするために一致信号Mが使用される。
【0048】
図6は、リモート冗長方式での読み出し操作の略タイミング図である。ホストは、開始読み出しアドレスを送り始めるために初期読み出しコマンドを発することによってメモリ装置における読み出し操作を開始する。その後に、実際の開始読み出しアドレスが送られる。その後、ホストは読み出しを実行するコマンドを発する。メモリ装置は、ビジー信号で応答し、さらに進んでデータのページを感知する。ユーザ部分と冗長部分とを含む、感知されたデータのページは、関連するデータラッチ440Aおよび440A’(図5を参照)にラッチされる。データのページがラッチされた後、リモート冗長方式は、冗長データをそのラッチから冗長データバッファ462にコピーするという付加ステップを必要とする。バッファされたデータが正しい場所に位置した後、メモリ装置はレディ信号で信号する。
【0049】
その後、ホストは、データをデータラッチから外へ、データアウトバス492へストリーミングするために読み出し信号を発することができる。この外へのストリーミング操作中、欠陥のある列に遭遇するたびに、対応する冗長データが即座にストリームに挿入され得るようにデータアウトバス492に冗長データを代わりに冗長データバッファ462から受け取らせるために冗長データバッファ回路460は外へのストリーミングを制御する。次に遭遇した列に欠陥がないとき、冗長データバッファ回路460は、データアウトバス492がデータをデータラッチ440Aから取り込むことを可能にし、このプロセスはページの終わりに達するまで続く。
【0050】
図7は、1つの好ましい実施形態に従う、リモート冗長方式を採用した読み出し操作を示すフローチャートである。
パワーアップ
ステップ510:欠陥マップを不揮発性メモリから欠陥マップバッファへロードする。
読み出し
ステップ520:複数の列にわたってメモリセルからデータのページを読み出すための読み出しコマンドを受け取る。
ステップ522:“ビジー”を信号する。
ステップ524:メモリセルのページを感知してデータを対応するデータラッチにラッチする。
ステップ526:冗長データを冗長データラッチから冗長データバッファにロードする。
ステップ528:“レディ”を信号する。
I/O
ステップ530:欠陥マップバッファ中のものとの1対多数列アドレス比較を行いながら、ラッチされているデータを1列ずつ外へ、データバスへストリーミングする。
ステップ532:外へストリーミングされるべきデータの現在の列アドレスAy=欠陥マップバッファ中の不良のもののうちの1つか?一致があれば、ステップ534に進み、そうでなければステップ536に進む。
ステップ534:冗長データバッファからデータバスへの置換データの出力を可能にし、ステップ538に進む。
ステップ536:ユーザデータ部分からデータバスへの、アドレス指定されたデータの出力を可能にし、ステップ538に進む。
ステップ538:最後の列か?最後の列に達しているならばステップ540に進み、そうでなければステップ534で次の列に進む。
ステップ540:データのページは読み出された。
【0051】
このように、本発明のリモート冗長方式では、メモリアレイのユーザ部分のためのアドレスだけが使用される。現在のアドレスが良好な(欠陥のない)位置のためのアドレスであるとき、データバスはデータラッチからデータを取り込む。一方、現在のアドレスが欠陥のある位置のためのアドレスであるとき、データバスはリモートバッファから冗長データを得る。
【0052】
図8は、I/Oバスからデータを転送するように構成された冗長データバッファ回路を示す。この転入モードは、プログラム操作前に、プログラムされるべきデータのページがユーザデータラッチ440Aのセットにラッチされるべきときに適用可能である。構成は、データの転送がデータインバス494から来る方向に行われることを除いて、図5の構成と同様である。ユーザデータ転入ゲート474のセットは、データインバス494からデータラッチ440Aへのデータの転送を制御する。
【0053】
転入モードでは、冗長データバッファ回路460も、転出ゲート482のセットの代わりに転入ゲート484のセットが採用されていることを除いて、図5に示されているものと同様である。
【0054】
図9は、リモート冗長方式での書き込み操作の略タイミング図である。ホストは、開始書き込みアドレスを送り始めるために初期書き込みコマンドを発することによってメモリ装置における書き込み操作を開始する。その後に、実際の開始書き込みアドレスが送られる。その後、ホストは、書き込みデータをデータインバス494から中へ、データラッチ440Aへストリーミングする信号を発する(図8参照)。この中へのストリーミングの間、欠陥列に遭遇するたびに、冗長データバッファ回路460は、欠陥列のための対応するデータを冗長データバッファ462に取り込む。このストリーミングプロセスは、ページの終わりに達するまで続く。ページが中へストリーミングされた後、リモート冗長方式は、冗長データを冗長データバッファ462からそのラッチ440A’にコピーするという付加ステップを必要とする。
【0055】
その後、ホストはプログラミングを実行するコマンドを発する。その後、メモリ装置はビジー信号を信号し、データのページをプログラムするように動作する。ページは、アレイのユーザ部分と冗長部分とを含む。データ全体がプログラム−ベリファイされたとき、メモリ装置はレディ信号で信号する。
【0056】
図10は、好ましい1つの実施形態に従う、リモート冗長方式を採用したプログラムデータロード操作を示すフローチャートである。
パワーアップ
ステップ550:欠陥マップを不揮発性メモリから欠陥マップバッファへロードする。
I/O
ステップ560:データのページを複数の列にわたってアドレス指定されたメモリセルに書き込むために書き込みコマンドを受け取る。
ステップ562:欠陥マップバッファ中のものとの1対多数列アドレス比較を行いながら、データバスからデータを1列ずつストリーミングする。
ステップ564:中へストリーミングされるべきデータの現在の列アドレスAy=欠陥マップバッファ中の不良のもののうちの1つか?一致があれば、ステップ566に進み、そうでなければステップ570に進む。
ステップ566:データバスからのデータの入力を可能にして、冗長データバッファ内の対応する位置にバッファする。
ステップ568:現在の列のデータラッチを“プログラムしない”状態にセットし、ステップ572に進む。
ステップ570:データバスからのデータの入力を可能にして、対応するデータラッチにラッチする。
ステップ572:最後の列か?最後の列に達しているならばステップ580に進み、そうでなければステップ564で次の列に進む。
ステップ580:冗長データバッファからデータを転送し、それらを対応する冗長データラッチにラッチする。これは、冗長アレイにアクセスするためにアドレスAy’への切り替わりを必要とする1回限りの操作である。
プログラム
ステップ590:プログラムコマンドを受け取る。
ステップ592:“ビジー”を信号する。
ステップ594:ページ全体がプログラム−ベリファイされるまで、ラッチされているデータのページを書き込む。
ステップ596:“レディ”を信号する。
【0057】
ビットレベル冗長サポート
他の1つの実施形態では、冗長データバッファ回路のアドレス粒状度は、列回路の粒状度と同じでなくてもよい。好ましくは、アドレスの単位は、列の分解能より精細な分解能を有する。例えば、列が1バイトの幅のものであって、1グループの8本のビット線が一度にアドレス指定されるならば、冗長データバッファはビット線レベルでアドレス指定され得る。
【0058】
図5および図8の両方が、オプションのサブ列デコーダ452を含む冗長データバッファ回路460を示している。サブ列デコーダは、列アドレスAyと列オフセットアドレスAy”とをさらにサブ列アドレスに復号する。これは、冗長リソースをより効率的に利用するという利点を有する。なぜならば、欠陥のある単一のビット線が他の1つの冗長ビット線により取って代わられることができ、必ずしも8ビット幅の1つの冗長列により取って代わられなくてもよいからである。
【0059】
多段冗長サポート
明瞭性のために、冗長データバッファ回路460を採用するリモート冗長方式は、図4に示されているデータラッチ440Aのような1セットのデータラッチで動作するように記載された。その利点は明らかである。なぜならば、ユーザアドレスだけが使用されるので、従来技術の低速の双方向アドレス指定方式が回避されるからである。
【0060】
動作する列回路が2セット以上あるときには他の1つの利点も得られる。図4と関連して言及されたように、従来技術のシステムでは冗長データが置換列のラッチに局在するので、列回路が2段以上あるときにはさらなる問題が生じ得る。例えば、奇数列回路の場合に類似して、1セットの偶数列回路は偶数列にアクセスできるだけであり、従って奇数冗長列を使用することができない。この方式は、任意の数の列回路がそれらの相対位置に関わらずにアクセスし得る中央位置に全ての冗長データをバッファすることを可能にする。
【0061】
図11は、2セットのデータラッチにサービスする冗長データバッファ回路とデータバスとを概略的に示している。この構成では、冗長データバッファ回路460は、図5および図8に示されているものと同じ仕方でデータラッチの“A”セット440Aとともに動作する。データラッチの追加の“B”セット440Bがあっても、原理は同じである。すなわち、冗長データバッファ回路は、データラッチの“A”セットまたは“B”セットと冗長データバッファ462との間のバス交換を制御するために使用される。一実施形態では、データラッチ転送を可能にするための信号Mは、それぞれ“A”セットまたは“B”セットのためのMA*許可信号またはMB*許可信号を作るためにAyアドレス範囲を使用する段デコーダ480によってさらに復号される。
【0062】
したがって、“A”セットのデータラッチが動作しているときには、データラッチ440Aとのバス転送がラッチ転送コントロール472A/474AにおいてMA*によって可能にされる。“B”セットのデータラッチが動作しているときには、データラッチ440Bとのバス転送がラッチ転送コントロール472B/474BにおいてMB*によって可能にされる。これは、現在のアドレスが欠陥マップバッファ466中のどのアドレスとも一致しないときの動作である。一方、一致があるときには、信号MA*またはMB*は非アクティブになり、バッファ転送コントロール482/484が信号Mによって作動可能にされる。その結果として、代わりにデータはデータバス492と冗長データバッファ462内の対応するレジスタとの間で交換される。
【0063】
欠陥列のデータラッチにバッファされる冗長データ
本発明の他の1つの態様に従って、欠陥列ラッチ冗長方式は、欠陥のあるメモリ位置のための冗長データまたは置換データを、冗長データラッチから、対応する欠陥列のデータラッチのようなより容易にアクセスし得る位置へ再配置させる。この方式は、欠陥列が普通はビット線に存在する問題により引き起こされるのであって、関連する列回路に存在する問題によってはそれほど引き起こされないという事実に基づいている。したがって、例えば、ビット線は短絡して使用不能になり得るけれども、それらの関連するデータラッチと列デコーダとは動作可能な状態に留まりそうである。本発明は、感知およびプログラミングのようなメモリ操作が欠陥のあるビット線を介して実行され得ないときに、列回路が依然としてデータをバッファするために使用され得るということを認識している。
【0064】
1つの好ましい実施形態では、普通は対応する冗長位置に関連付けられたデータラッチに格納される置換データをバッファするために、欠陥のある位置に関連付けられているデータラッチが使用される。このようにして、データバスへのデータのストリーミングに関する限りユーザ部分は実際上欠陥が存在しないかのように扱われ得る。従って、ユーザ部分をアドレス指定するためのアドレス指定方式だけが必要とされ、欠陥のある位置に遭遇するたびに冗長データラッチに切り替わる必要はない。
【0065】
読み出し操作において、ユーザデータと冗長データとの両方を含むページが感知されてラッチされた後に、冗長データのコピーを冗長データラッチからユーザ部分に存在する対応する欠陥列に関連付けられたデータラッチへ置くために、付加的な操作が要求される。このようにして、データがデータバスへ出力されるとき、欠陥列に関わらずに、ユーザデータラッチだけがアクセスされなければならない。
【0066】
書き込み操作において、書き込まれるべきデータのページは、始めに、欠陥のある列に関わらずにユーザデータラッチにラッチされる。このようにして、ユーザ部分は、データバスから中へのデータのストリーミングに関する限り実際上欠陥が存在しないかのように扱われ得る。データのコピーを欠陥列に関連付けられたデータラッチから対応する冗長データラッチへ置くために付加的な操作が要求される。プログラムしない状態を示す所定のデータも、欠陥列のデータラッチに、それらをそのようなものとして示すために、格納される。その後、ユーザデータラッチと冗長データラッチとの両方からのデータを含むページ全体がそれぞれのメモリセルにプログラムされ得る。
【0067】
図12は、欠陥列ラッチ冗長方式がその中で実現されるところの文脈を提供するコンパクトなメモリ装置の好ましい構成を概略的に示す。このメモリ装置は、本質的に図4に示されているものと類似する構造を有するけれども、冗長データバッファ回路460の必要がない。特に、メモリ装置は、メモリセルの2次元アレイ400と、制御回路610と、行デコーダ420Aおよび420Bと、列回路とを含む。
【0068】
メモリアレイ400は、行デコーダ420A,420Bを介してワード線により、また列回路に結合されたビット線により、アドレス指定可能である。列回路は、感知回路430A,430Bと、データラッチ640A,640Bと、列デコーダ450A,450Bと、データI/Oバス490とを含む。図4と関連して前に言及されたように、各感知回路のために1セットのデータラッチがあることが理解できる。
【0069】
好ましい実施形態では、全ての偶数ビット線に結合された回路中の感知回路430Aと、全ての奇数ビット線に結合された回路中の感知回路430Bとがある。このようにして、一緒に動作するとき、全てのビット線が並行して使用される。他の1つの実施形態では、1つ置きのビット線、すなわち偶数ビット線または奇数ビット線だけが並行して動作する。
【0070】
濃密なパッキングを考慮して、行デコーダと列回路とは好ましくはアレイの両端に分散される。従って、行デコーダ420Aおよび420Bは、それぞれ、アレイの左側および右側に配置されている。同様に、列回路“A”および“B”は、それぞれ、アレイの下部および上部に配置されている。通常、列回路“A”および“B”は、それぞれ、ビット線のインターリービングなセットにアクセスする。例えば、列回路“A”は偶数番号ビット線へのアクセスを有し、列回路“B”は奇数番号ビット線へのアクセスを有する。便宜上、特に記されていなければ、以降の記述は、回路の包括的セットに向けられ、参照数字の添え字“A”または“B”は省略される。
【0071】
列回路の感知回路430は、1つの行に沿うメモリセルの1つのブロック(“ページ”とも称される)が並行して読み出されるかあるいはプログラムされることを可能にするセンス増幅器の1つのバンクとして実現される。1つの好ましい実施形態では、1つのページは、1,024バイトなどのメモリセルの1つの連続する行から構成される。他の1つの実施形態では、メモリセルの1つの行は複数のブロックまたはページに分割される。
【0072】
制御回路610は、メモリアレイ400に対するメモリ操作を実行するために行デコーダおよび列回路と協働する。制御回路内の状態マシン612は、メモリ操作のチップレベル制御を提供する。
【0073】
メモリアレイ400は、ユーザ部分402と冗長部分402’とにさらに分割されている。ユーザ部分402は、アドレスバス496を介して供給されるユーザアドレスAyにより列毎にアクセス可能である。冗長部分402’は、ユーザによってアクセスすることはできず、それ自身の保護されているアドレスAy’を有する。冗長部分は、ユーザ部分に見出された欠陥のある列に代わる、所定数の冗長列または置換列を提供する。欠陥列のリストは欠陥マップ416に登録され、これは好ましくは不揮発性メモリアレイ402に格納される。例えば、冗長領域402’は、各々1バイト幅である8つの置換列を提供することができる。これは、原則として、ユーザ部分に発生することのある欠陥のある8つまでの列の置換を可能にする。
【0074】
図12に示されている列回路構造では、ユーザデータラッチ640のグループとデータインバス494との間のデータの交換は、ユーザ列デコーダ450によって制御される。ユーザ列デコーダ450は、ユーザ列アドレスAyを復号し、ユーザ列におけるデータラッチのグループのアクセスがデータインバス494にアクセスすることを可能にする。同様に、冗長データラッチのグループ640’とデータインバス494との間のデータの交換は冗長列デコーダ450’によって制御される。冗長列デコーダ450’は、冗長列アドレスAy’を復号し、冗長列におけるデータラッチのグループのアクセスがI/Oバスにアクセスすることを可能にする。
【0075】
本発明は、ユーザ列および冗長列のデータラッチ間のデータの往復を可能にする付加的な構造を提供する。
図13は、双方向アドレス指定を採用することを必要とせずに他の1つの列冗長方式を実現するためにユーザデータラッチと冗長データラッチとの間でデータを往復させるためのデータラッチバッファを概略的に示す。
【0076】
好ましい実施形態では、データラッチバッファ620が出力データバス492と入力データバス494との間に設けられる。データラッチバッファ620は、直列に接続された第1のシフトレジスタ622と第2のシフトレジスタ644とを含む。第1のシフトレジスタ622と第2のシフトレジスタ624とはパイプライン式に動作し、出力バス492からのデータ単位は、クロック信号CLKにより制御されて1単位ずつこれら2つのレジスタを通してシフトされて入力バス494に戻される。このようにして、I/Oバス490の出力部分および入力部分の両方が同時に動作することができる。
【0077】
制御回路610は、ユーザ列および冗長列のデータラッチ間のアドレス指定および転送制御を提供する。例えば、1ページのデータがユーザデータラッチ450および冗長データラッチ450’にラッチされた後、冗長データラッチ450’内のデータは、欠陥列の対応するデータラッチにコピーされる。制御回路610は、冗長列アドレスAy’を冗長列デコーダ450’に提供し、冗長データ単位を冗長データラッチ640’からデータ出力バス492を介して1つずつデータラッチバッファ620内へシフトさせる。シフトさせられた冗長データ単位はデータラッチバッファの他方の端から出てきて入力データバス494に入る。制御回路610にロードされた欠陥マップ616を参照することにより、対応する欠陥列アドレスAyが生成されて、冗長データ単位を欠陥列内のそれらに対応するラッチに向けるためにユーザ列デコーダ450により使用される。
【0078】
同様に、原理が欠陥列のデータラッチから対応する冗長データラッチへの転送に適用される。この場合、欠陥マップに基づいて、欠陥列のデータラッチは1つずつアクセスされてデータラッチバッファ620を通ってシフトさせられる。データラッチバッファの他方の端において、冗長データ単位は、冗長列デコーダ450’によるAy’の適切な復号を介して、それらのそれぞれの冗長データラッチに向けられる。
【0079】
図14は、欠陥列ラッチ冗長方式での読み出し操作の略タイミング図である。ホストは、開始読み出しアドレスを送り始めるために初期読み出しコマンドを発することによってメモリ装置における読み出し操作を開始する。その後に、実際の開始読み出しアドレスが送られる。その後、ホストは、読み出しを実行するコマンドを発する。メモリ装置は、ビジー信号で応答し、さらに進んでデータのページを感知する。ユーザ部分と冗長部分とを含む感知されたデータのページは、関連するデータラッチ440Aおよび440A’にラッチされる(図13参照)。データのページがラッチされた後、欠陥列ラッチ冗長方式は、冗長データをそれらのラッチから対応する欠陥列のデータラッチにコピーするという付加ステップを要求する。冗長データが対応する欠陥列にラッチされた後、メモリ装置はレディ信号で信号する。本質的に、メモリ装置が所定のタイミング仕様を有するとき、前述した付加ステップは、ビジーとレディとにより画定される期間のために許される最大時間の中で完了されなければならない。
【0080】
その後、ホストはデータをユーザデータラッチ440から外へ、データアウトバス492へストリーミングするために読み出し信号を発することができる。欠陥列のデータラッチは、今、対応する冗長データを包含しているので、従来の場合のように第2セットのアドレスAy’を用いてデータを冗長データラッチ440’から取り出す必要はない。
【0081】
図15は、好ましい1つの実施形態に従う、欠陥列ラッチ冗長方式を採用した読み出し操作を示すフローチャートである。
パワーアップ
ステップ710:欠陥マップを不揮発性メモリからコントローラRAMにロードする。
読み出し
ステップ720:複数の列にわたってメモリセルからユーザデータおよび冗長データを含むページを読み出すための読み出しコマンドを受け取る。
ステップ722:“ビジー”を信号する。
ステップ724:メモリセルのページを感知してデータを対応するデータラッチにラッチする。
ステップ726:データを冗長データラッチから対応する欠陥列のものにコピーする。
ステップ728:“レディ”を信号する。
I/O
ステップ730:欠陥列に関わらず、データをユーザデータラッチからデータバスに1列ずつ外へストリーミングする。
ステップ740:データのページは読み出された。
【0082】
このように、本発明の欠陥列ラッチ冗長方式では、データを外へストリーミングさせるためにメモリアレイのユーザ部分のためのアドレスだけが使用され、ユーザデータラッチだけがアクセスされる必要がある。
【0083】
図16は、欠陥列ラッチ冗長方式での書き込み操作の略タイミング図である。ホストは、開始書き込みアドレスを送り始めるために初期書き込みコマンドを発することによってメモリ装置における書き込み操作を開始する。その後に、実際の開始書き込みアドレスが送られる。その後、ホストは、対応する列が欠陥列か否かに関わらず、書き込みデータをデータインバス494からデータラッチ440(図8参照)にストリーミングするために信号を発する。その後、ホストはプログラミングを実行するためのコマンドを発する。その後、メモリ装置は、あたかも続けてデータのページをプログラムするかのようにビジー信号を信号する。しかし、制御回路(図13参照)は、データを欠陥列のラッチから対応する冗長列の冗長データラッチにコピーするという付加ステップを欠陥列ラッチ冗長方式が必要とするので、実際のプログラミングを延期する。そのデータをコピーした後、欠陥列のラッチは、プログラムしない状態を示す所定の値にセットされる。
【0084】
制御回路は、その後、続けてそのページをメモリにプログラムする。そのページは、アレイのユーザ部分と冗長部分とを含む。全てのデータがプログラム−ベリファイされたとき、メモリ装置はレディ信号で信号する。
【0085】
図17は、好ましい1つの実施形態に従う、欠陥列ラッチ冗長方式を採用したプログラムデータロード操作を示すフローチャートである。
パワーアップ
ステップ760:欠陥マップを不揮発性メモリからコントローラRAMにロードする。
I/O
ステップ770:データのページを複数の列にわたってアドレス指定されたメモリセルに書き込むために書き込みコマンドを受け取る。
ステップ772:欠陥列に関わらず、書き込まれるべきデータのページをユーザデータラッチにストリーミングする。
ステップ774:“ビジー”を信号する。
ユーザデータラッチから冗長データラッチへの転送
ステップ776:データを欠陥列のユーザラッチから冗長列の対応する冗長ラッチに転送する。
ステップ778:全ての欠陥列を、それらの関連するユーザデータラッチの各々に所定データ値を書き込むことによって、マークする。
プログラム
ステップ780:プログラムコマンドを受け取る。
ステップ782:ページ全体がプログラム−ベリファイされるまで、ユーザデータおよび冗長データを含むページを書き込む。
ステップ784:“レディ”を信号する。
【0086】
種々の列冗長方式のための例を挙げて説明がなされたけれども、欠陥のあるメモリ位置のための他の置換単位が可能であることを当業者は容易に認識することができる。
【0087】
本発明の種々の態様をある実施形態に関して説明してきたが、本発明が添付の特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解できよう。
【図面の簡単な説明】
【0088】
【図1】冗長部分だけから冗長データを入手できる在来の列冗長方式のメモリ装置を示す。
【図2A】在来の冗長方式での読み出し操作の略タイミング図である。
【図2B】在来の列冗長方式での読み出し操作を示すフローチャートである。
【図3A】在来の冗長方式での書き込み操作の略タイミング図である。
【図3B】在来の列冗長方式でのプログラム操作を示すフローチャートである。
【図4】リモート冗長方式がその中で実現されるところの文脈を提供するコンパクトなメモリ装置の好ましい構成を概略的に示す。
【図5】データをI/Oバスへ転送するように構成された冗長データバッファ回路を示す。
【図6】リモート冗長方式での読み出し操作の略タイミング図である。
【図7】好ましい1つの実施形態に従う、リモート冗長方式を採用した読み出し操作を示すフローチャートである。
【図8】I/Oバスからデータを転送するように構成された冗長データバッファ回路を示す。
【図9】リモート冗長方式での書き込み操作の略タイミング図である。
【図10】好ましい1つの実施形態に従う、リモート冗長方式を採用したプログラムデータロード操作を示すフローチャートである。
【図11】2セットのデータラッチにサービスする冗長データバッファ回路とデータバスとを概略的に示す。
【図12】欠陥列ラッチ冗長方式がその中で実現されるところの文脈を提供するコンパクトなメモリ装置の好ましい構成を概略的に示す。
【図13】双方向アドレス指定を採用することを必要とせずに他の1つの列冗長方式を実現するためにユーザデータラッチと冗長データラッチとの間でデータを往復させるためのデータラッチバッファを概略的に示す。
【図14】欠陥列ラッチ冗長方式での読み出し操作の略タイミング図である。
【図15】好ましい1つの実施形態に従う、欠陥列ラッチ冗長方式を採用した読み出し操作を示すフローチャートである。
【図16】欠陥列ラッチ冗長方式での書き込み操作の略タイミング図である。
【図17】好ましい1つの実施形態に従う、欠陥列ラッチ冗長方式を採用したプログラムデータロード操作を示すフローチャートである。
【技術分野】
【0001】
本発明は、電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)およびフラッシュEEPROMのような不揮発性半導体メモリに関し、特に列冗長性特徴を実現したものに関する。
【背景技術】
【0002】
電荷を不揮発性に蓄積することのできる、特に小形形状のファクタカードとしてパッケージされたEEPROMおよびフラッシュEEPROMの形の固体メモリは、このごろ、特に情報機器および消費者電子製品などの多様なモバイル装置およびハンドヘルド装置において一般的に好まれる記憶装置になっている。同じく固体メモリであるRAM(ランダムアクセスメモリ)とは違って、フラッシュメモリは不揮発性で、電源がオフにされた後も、その蓄積されたデータを保持する。磁気ディスク記憶装置と比べるとコストが高いけれども、フラッシュメモリは大容量記憶の応用分野でますます使用されつつある。ハードドライブおよびフロッピーディスクのような回転する磁性媒体に基づく在来の大容量記憶装置は、モバイルおよびハンドヘルド環境には適していない。なぜならば、ディスクドライブはかさばりがちで、機械的故障を起こしやすく、待ち時間および電源条件が大きいからである。これらの望ましくない属性があるために、ディスクに基づく記憶装置は大抵のモバイルおよび携帯アプリケーションにおいて非実用的である。一方、フラッシュメモリは、埋め込み形および取り外し可能なカードの形の両方において、小型で電力消費量が少なく、高速で信頼性が高いという特徴の故に、モバイルおよびハンドヘルド環境に理想的に適している。
【0003】
メモリ装置は、通常、カードに搭載され得る1つ以上のメモリチップを含む。各メモリチップは、デコーダ、消去回路、書き込み回路、読み出し回路のような周辺回路によってサポートされるメモリセルのアレイを含む。より精巧なメモリ装置は、インテリジェントで高レベルのメモリ操作およびインターフェイスを行うコントローラを伴っている。今日、商業的に成功した多くの不揮発性固体メモリ装置が使用されている。これらのメモリ装置は種々のタイプのメモリセルを使用することができ、各々のタイプが1つ以上の電荷蓄積素子を有する。EEPROMの例とそれらを製造する方法とが、米国特許第5,595,924号(特許文献1)において提供されている。フラッシュEEPROMの例と、メモリシステムにおけるその使用方法と、それらを製造する方法とが、米国特許第5,070,032号(特許文献2)、第5,095,344号(特許文献3)、第5,315,541号(特許文献4)、第5,343,063号(特許文献5)、第5,661,053号(特許文献6)、第5,313,421号(特許文献7)および第6,222,762号(特許文献8)に示されている。NANDセル構造を有するメモリ装置の例が、米国特許第5,570,315号(特許文献9)、第5,903,495号(特許文献10)および第6,046,935号(特許文献11)に記載されている。電荷を蓄積するための誘電体層を有するメモリ装置の例が、エイタンらによる“NROM:新規な局所トラッピング、2ビット不揮発性メモリセル”,IEEE電子デバイスレターズ,第21巻,第11号,2000年11月,543〜545ページ (Eitan et al., “NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol.21, no. 11, November 11, pp. 543-545)(非特許文献1)に記載され、また米国特許第5,768,192号および第6,011,725号にも記載されている。
【0004】
メモリ装置は、普通、行および列を成すように配置されてワード線およびビット線によりアドレス指定可能なメモリセルの2次元アレイとして編成される。アレイは、NORタイプまたはNANDタイプのアーキテクチャに従って形成され得る。NORタイプのメモリの例が、米国特許第5,172,338号(特許文献12)および第5,418,752号(特許文献13)に開示されている。メモリシステムの一部としてのNANDアーキテクチャアレイとその動作との例が、米国特許第5,570,315号(特許文献9)、第5,774,397号(特許文献14)、および第6,046,935号(特許文献11)で見出される。
【0005】
メモリは、しばしば、製造プロセスに由来するか、あるいは装置の動作中に生じた欠陥部分を有する。特に、製造歩留まりを最大にするために、そうしなければ欠陥を有することになる製品を救うために、製造時に発見された欠陥が訂正される。米国特許第5,602,987号(特許文献15)、第5,315,541号(特許文献4)、第5,200,959号(特許文献16)、第5,428,621号(特許文献17)および米国公開特許出願第2005/0141387号(特許文献18)に記載されているような、メモリの部分を誤り訂正符号化あるいは再マッピングすることを含む、これらの欠陥を処理するための幾つかの技術が存在する。これら特許および特許出願は、その全体が本願明細書において参照により援用されている。
【0006】
製造後、メモリチップは出荷前に試験される。欠陥が発見されたならば、そのチップは、メモリの欠陥部分の代わりに冗長部分を用いることによって、救われ得る。メモリに見出される普通のタイプの欠陥は、アレイの列に存在する問題に起因する。例えば、フラッシュメモリにおいて、列欠陥は、メモリセル領域に存在する次のエラー、すなわちビット線からビット線への短絡、他の信号に短絡されたビット線、ビット線開放、プログラムしないかあるいはプログラムが遅すぎる不良セル、および/または不良データラッチ、のうちのいずれか1つに起因し得る。
【0007】
在来の列冗長性方式は、列内のビット線、センス増幅器、およびデータラッチを含む列全体を取り替える。冗長方式は、不良列に遭遇したときにイネーブルされる別々のアクセス信号とともに高速マッチ回路も有する。
【0008】
メモリチップ自体の上の欠陥列を処理する1つの従来技術システムは、不良列置換を処理するためにバイナリ復号方式を用いる。ホストからのアドレスは始めにレジスタにラッチされ、列アドレスは、0バイト〜540バイトの列を管理するために10ビット加算器によって増分される。その後、列アドレス(10ビット)は、列復号器領域を通って伸びる15〜20のラインに事前復号(predecode) される。列選択を形成するために、これらの15〜20のラインの中から3つの信号が選択される。このバイナリ復号システムにおいて不良列は、入り列アドレスを不良列アドレスのリストと比較することにより管理される。一致が見出されたならば、入り列アドレスは他の、良好な列アドレスへ再割り当てされる。入りアドレスが不良列アドレスと一致しなければ、その入り列アドレスは変更されない。バイナリ列選択方式は、ランダムな列アドレスの位置を確認することに関して高度の柔軟性を有する。しかし、これは、欠陥のある列を置換するために必要なロジックに複数のステージがあるために割合に低速であるという欠点を持ち、それ故にバイナリ復号方式が20MHzのデータ入力レートまたは出力レートより遥かに速く動作することは困難である。
【0009】
また、アレイの上および下の両方からセンス増幅器のセットによりサービスされるアーキテクチャを有するメモリアレイの場合には、センス増幅器の各セットに対する冗長列の位置に起因して、欠陥列は効率的に再マッピングされ得ない。
【0010】
従って、改善された性能を有する高性能で大容量の不揮発性メモリに対する一般的ニーズが存在する。特に、性能および効率が改善された欠陥管理に対するニーズが存在する。
【特許文献1】米国特許第5,595,924号
【特許文献2】米国特許第5,070,032号
【特許文献3】米国特許第5,095,344号
【特許文献4】米国特許第5,315,541号
【特許文献5】米国特許第5,343,063号
【特許文献6】米国特許第5,661,053号
【特許文献7】米国特許第5,313,421号
【特許文献8】米国特許第6,222,762号
【特許文献9】米国特許第5,570,315号
【特許文献10】米国特許第5,903,495号
【特許文献11】米国特許第6,046,935号
【特許文献12】米国特許第5,172,338号
【特許文献13】米国特許第5,418,752号
【特許文献14】米国特許第5,774,397号
【特許文献15】米国特許第5,602,987号
【特許文献16】米国特許第5,200,959号
【特許文献17】米国特許第5,428,621号
【特許文献18】米国公開特許出願第2005/0141387号
【特許文献19】米国特許出願第11/026,536号
【非特許文献1】Eitan et al., “NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol.21, no. 11, November 11, pp. 543-545
【発明の開示】
【0011】
リモート冗長方式
本発明の一態様に従って、リモート冗長方式は、欠陥メモリ位置のための冗長または置換データを冗長データラッチからバッファ回路のセットへ再配置させる。このようにして、メモリアレイとI/Oバスとの間でデータを交換するために1つのアドレス指定方式が必要であるように、冗長データは、より容易にアクセスし得る位置にある。特に、本発明のリモート冗長方式では、ユーザデータはユーザデータラッチに関連付けられ、冗長データは冗長データラッチに関連付けられるけれども、ユーザデータと、これに代わる冗長データとにアクセスするためにメモリアレイのユーザ部分のためのアドレスが使用され得る。現在のアドレスが良好な(欠陥のない)位置のためのアドレスであるとき、データバスはユーザデータラッチとデータを交換する。一方、現在のアドレスが欠陥のある位置のためのアドレスであるとき、データバスは冗長データが中に置かれているリモートバッファとデータを交換する。
【0012】
1つの好ましい実施形態では、冗長部分のラッチに関連付けられた置換データをバッファするために冗長データバッファ回路が使用される。ユーザ部分をアドレス指定するためのアドレス指定方式だけが必要である。通常、データはI/Oバスとユーザ部分のデータラッチとの間で交換される。欠陥のあるアドレス位置に遭遇したときには、I/Oバスと、冗長部分の中のデータラッチの代わりの、よりアクセスしやすいバッファ回路との間で、置換データが交換される。
【0013】
他の1つの実施形態では、冗長データバッファ回路のアドレス粒状度は、列回路のアドレス粒状度と同じでなくてもよい。好ましくは、アドレスの単位は、列の分解能より精細な分解能を有する。サブ列デコーダは、列アドレスと列オフセットアドレスとをさらにサブ列アドレスに復号する。これは、冗長記憶空間をより効率的に利用するという利点を有する。なぜならば、欠陥のある単一のビット線が他の1つの冗長ビット線により取って代わられることができ、必ずしも複数のビット線を含む1つの冗長列により取って代わられなくてもよいからである。
【0014】
リモートバッファの実現は、普通はそのそれぞれの冗長データラッチに結び付けられる全ての冗長データが、その位置およびメモリアーキテクチャに起因するアクセス制限を受けないことを可能にする。例えば、奇数列回路の場合に類似して、1セットの偶数列回路は偶数列にアクセスできるだけであり、従って奇数冗長列を使用することができない。この方式は、任意の数の列回路がそれらの相対位置に関わらずにアクセスし得る中央位置に全ての冗長データをバッファすることを可能にする。
【0015】
本発明の付加的な特徴と利点とは、添付図面と関連して検討されるべきであるその好ましい実施形態についての以下の記述から理解されるであろう。
【発明を実施するための最良の形態】
【0016】
列冗長を採用した代表的なメモリについての予備的な記述が、本発明との区別に役立つ。
在来の局所冗長データ方式
図1は、冗長部分だけから冗長データを入手できる在来の列冗長方式のメモリ装置を示す。このメモリ装置は、ユーザ部分102と冗長部分102’とに分割されたメモリセルのアレイ100を有する。アレイ100内のメモリセルは、行に沿う1セットのワード線と列に沿う1セットのビット線とによりアクセス可能である。ワード線のセットは、行デコーダ130を介して行アドレスにより選択可能である。同様に、ビット線のセットは、列デコーダ160を介して列アドレスにより選択可能である。通常、行に沿うメモリセルのページが、感知回路170の対応するセットによって一緒に読み出されるかあるいは書き込まれる。メモリから読み出されたデータのページまたはメモリに書き込まれるべきデータのページをラッチするために、データラッチ180の対応するセットが使用される。読み出し操作の終了時に、データラッチからのデータはデータアウトバス192を介して外へ転送される。同様に、書き込み操作開始時に、書き込まれるべきデータはデータインバス194を介してデータラッチへ転送される。
【0017】
通常、列アドレスは、1つの列内のビット線の1つのグループが一度にアドレス指定可能で、従ってビット線欠陥が列ごとにマッピングされるような粒状度を有する。例えば、1つのアドレス指定可能な列は、1つの所与の行に沿う1バイトまたは1ワードのデータに対応する8本または16本のビット線を含むことができる。
【0018】
ユーザ部分102において欠陥のある112のような列が特定されたとき、それに取って代わる、冗長部分102’からの列112’のような置換列が提供される。不良列は試験中に発見され、欠陥のある列とその置換物とに関する情報が欠陥マップ116において維持され、この欠陥マップはメモリ装置、例えばパワーアップ時に読み出されるメモリアレイ(ROMFUSEブロック)に格納されることができる。メモリ装置がパワーアップされるたびに、欠陥マップは急速アクセスのためにオンチップコントローラ200のRAM216にロードされる。
【0019】
通常、ユーザはアレイのユーザ部分102にアクセスできるだけであり、冗長部分102’にはアクセスできない。従って、列アドレス範囲Ayは、ユーザがユーザ部分102にアクセスするためだけに存在する。列アドレスの保護されているセットAy’は、システムが冗長部分102’にアクセスするために存在する。アレイの冗長部分102’は、冗長列デコーダ160’、冗長感知回路170’および冗長データラッチ180’のような、列回路のそれ自身のセットによりサービスされる。
【0020】
各々の欠陥のある列は、絶縁ラッチによって標識付けされ得る。その場合、その列の中のアドレス指定されたバイトまたはワードは、その列のためのデータラッチの中のデータに関わりなくプログラムされず、プログラム−ベリファイ中に既に無視される。
【0021】
代表的な従来技術のシステムは、メモリチップ自体の上の欠陥のある列を管理し、不良列置換を管理するために双方向復号方式を使用する。ユーザアドレスAyは、ユーザアレイにアクセスするためのアドレスAyまたは冗長アレイにアクセスするためのアドレスAy’に変換される。
【0022】
この双方向復号システムにおいて不良列は、入り(ユーザ)列アドレスAyを欠陥マップ216内の不良列アドレスのリストと比較することによって管理される。一致が発見されると、入り列アドレスAyは、冗長部分102’内の他の良好な列アドレスAy’に再割り当てされるかあるいはマッピングされる(Ay→Ay’)。入りアドレスが不良列アドレスと一致しなければ、入り列アドレスは変更されない(Ay→Ay)。
【0023】
例えば、感知操作後に、読み出されたデータのページはデータラッチにラッチされる。ユーザがそのデータをリクエストしたとき、ライン194を介してデータバス190へストリーミングされる。アドレスが不良列、例えば列3、を指すとき、列冗長モジュール210は、ユーザアレイのためのアドレスAyをディスエーブルし、代わりにアレイの冗長部分の中の冗長列または置換列をアドレス指定するために代わりにアドレスAy’をイネーブルする。その場合、冗長列からのデータは、ライン190’を介してデータアウトバス192へのストリームの中に即座に挿入される。
【0024】
図2Aは、在来の冗長方式での読み出し操作の略タイミング図である。ホストは、開始読み出しアドレスを送り始めるために初期読み出しコマンドを発することによってメモリ装置における読み出し操作を開始する。その後に、実際の開始読み出しアドレスが送られる。その後、ホストは、読み出しを実行するコマンドを発する。メモリ装置は、その後、ビジー信号を信号し、データのページを感知するように動作する。感知されたデータのページは、関連するデータラッチにラッチされる。そのページは、アレイのユーザ部分と冗長部分とを含む。そのデータ全体がラッチされたとき、メモリ装置はレディ信号で信号する。
【0025】
ユーザは、その後、データをデータラッチから外へ、データアウトバス192へストリーミングさせるようにホストを通してリクエストすることができる。この外へのストリーミング操作の間、欠陥のある列に遭遇するたびに、対応する冗長データが即座にストリームに挿入され得るように、冗長部分の中の対応する冗長データラッチをアドレス指定するためにユーザアドレスAyはAy’に切り替えられる。冗長データがバスに出力されたとき、メモリはユーザアドレスAyに切り替わり、そしてこのプロセスはページの終わりに達するまで続く。
【0026】
図2Bは、在来の列冗長方式での読み出し操作を示すフローチャートである。
パワーアップ
ステップ310:欠陥マップを不揮発性メモリからコントローラRAMにロードする。
ステップ312:対応する絶縁ラッチをセットすることによって不良列をマークする。
読み出し
ステップ320:複数の列にわたってメモリセルからデータのページを読み出すための読み出しコマンドを受け取る
ステップ322:“ビジー”を信号する。
ステップ324:そのメモリセルのページを感知し、データを対応するデータラッチにラッチする。
ステップ326:“レディ”を信号する。
I/O
ステップ330:ラッチされたデータを1列ずつ外へストリーミングする。
ステップ332:外へストリーミングされるべきデータの現在の列アドレスAy=欠陥マップ中の不良列アドレスのうちの1つか?一致があればステップ334に進み、そうでなければステップ336に進む。
ステップ334:データを置換してストリームに挿入するために冗長列をアドレス指定するべくAy’に切り替わり、ステップ338に進む。
ステップ336:通常のアドレスAyで続行し、ステップ338に進む。
ステップ338:最後の列か?最後の列に達したならばステップ340に進み、そうでなければステップ332で次の列に進む。
ステップ340:データのページは読み出された。
【0027】
図3Aは、在来の冗長方式での書き込み操作の略タイミング図である。書き込み操作におけるデータ転送は、プログラミングの前にバスからデータラッチへのプログラムデータのストリーミングが生じることを除いて、読み出し操作のデータ転送と同様である。例えば、欠陥列3に到達したならば、列3のためのデータラッチへデータをストリーミングする代わりに、置換列へリダイレクトされる。
【0028】
ホストは、開始書き込みアドレスを送り始めるために初期書き込みコマンドを発することによってメモリ装置における書き込み操作を開始する。その後に、実際の開始書き込みアドレスが送られる。その後、ホストは書き込みデータをデータインバス192から中へ、データラッチへストリーミングするために信号を発する。この中へのストリーミング操作の間、欠陥のある列に遭遇するたびに、対応する冗長データを対応する冗長ラッチに即座に挿入することができるように、冗長部分に存在する対応する冗長データラッチをアドレス指定するためにユーザアドレスAyはAy’に切り替えられる。冗長データがラッチされると、メモリはユーザアドレスAyに切り替わり、ページの終わりに達するまでこのストリーミングプロセスが続行される。
【0029】
その後、ホストはプログラミングを実行するコマンドを発する。メモリ装置は、その後、ビジー信号を信号し、データのページをプログラムするように動作する。そのページは、アレイのユーザ部分と冗長部分とを含む。そのデータ全体がプログラム−ベリファイされたとき、メモリ装置はレディ信号で信号する。
【0030】
図3Bは、在来の列冗長方式でのプログラム操作を示すフローチャートである。
パワーアップ
ステップ350:欠陥マップを不揮発性メモリからコントローラRAMにロードする。
ステップ352:対応する絶縁ラッチをセットすることによって不良列をマークする。
I/O
ステップ360:複数の列にわたってデータのページを書き込むために書き込みコマンドを受け取る。
ステップ362:書き込まれるべきデータの第1のページを1列ずつデータラッチの第1のページ中にストリーミングする。
ステップ364:外へストリーミングされるべきデータの現在の列アドレスAy=欠陥マップ中の不良列アドレスのうちの1つか?一致があればステップ366に進み、そうでなければステップ368に進む。
ステップ366:データを置換してストリームに挿入するために冗長列をアドレス指定するべくAy’に切り替わり、ステップ369に進む。
ステップ368:通常のアドレスAyで続行し、ステップ369に進む。
ステップ369:最後の列か?最後の列に達したならばステップ370に進み、そうでなければステップ362で次の列に進む。
プログラム
ステップ370:プログラムコマンドを受け取る。
ステップ372:“ビジー”を信号する。
ステップ374:そのページ全体がプログラム−ベリファイされるまでデータのページを書き込む。
ステップ376:“レディ”を信号する。
【0031】
双方向列選択方式は、列にランダムアクセスすることができる点において、より柔軟である。しかし、欠陥列を置換するために必要なロジックの複数のステージがあるので、割合に低速であるという欠点を有する。前述したように、アレイの冗長部分はユーザのアクセスから保護され、従ってそれ自身の独自のアドレス信号を有する。ユーザ部分と冗長部分との間で即座に切り替わることは2つの全く異なるアドレス指定方式の間での切り替わりを必要とし、このことは双方向復号方式が20MHzのデータ入力レートまたは出力レートより遥かに速く実行することを難しくする。
【0032】
リモート冗長方式
本発明の一態様に従って、リモート冗長方式は、欠陥のあるメモリ位置のための冗長または置換データを冗長データラッチからバッファ回路のセットへ再配置する。このようにして、メモリアレイとI/Oバスとの間でデータを交換するために1つのアドレス指定方式が必要であるように冗長データはより容易にアクセスできる位置にある。特に、本発明のリモート冗長方式では、ユーザデータはユーザデータラッチに関連付けられ、冗長データは冗長データラッチに関連付けられるけれども、メモリアレイのユーザ部分のためのアドレスは、ユーザデータと、その代わりの冗長データとにアクセスするために使用され得る。現在のアドレスが良好な(欠陥のない)位置のためのアドレスであるとき、データバスはユーザデータラッチとデータを交換する。一方、現在のアドレスが欠陥のある位置のためのアドレスであるとき、データバスは冗長データが中に置かれているリモートバッファとデータを交換する。
【0033】
1つの好ましい実施形態では、冗長部分のラッチに関連付けられた置換データをバッファするために冗長データバッファ回路が使用される。ユーザ部分をアドレス指定するためのアドレス指定方式だけが必要である。通常、データはI/Oバスとユーザ部分のデータラッチとの間で交換される。欠陥のあるアドレス位置に遭遇したときには、I/Oバスと、冗長部分の中のデータラッチの代わりの、よりアクセスしやすいバッファ回路との間で、置換データが交換される。
【0034】
図4は、リモート冗長方式がその中で実現されるところの文脈を提供するコンパクトなメモリ装置の好ましい構成を概略的に示す。このメモリ装置は、個々の記憶単位すなわちメモリセルの2次元アレイ400と、制御回路410と、行デコーダ420Aおよび420Bと、列回路とを含む。一実施形態では、記憶単位はそれぞれ1ビットのデータを記憶することができる。他の1つの実施形態では、記憶単位はそれぞれ1ビットより多いデータを記憶することができる。最も好ましい実施形態では、コンパクトなメモリ装置は、ホストシステムに取り外し可能に取り付けられることのできるメモリカードにおいて実現される。
【0035】
メモリアレイ400は、行デコーダ420A,420Bを介してワード線により、また列回路に結合されたビット線により、アドレス指定可能である。列回路は、感知回路430A,430Bと、データラッチ440A,440Bと、列デコーダ450A,450Bと、データI/Oバス490とを含む。各感知回路のために1セットのデータラッチがあることが理解される。例えば、各メモリセルが2ビットのデータを記憶できる4状態メモリにおいて、2ビット以上の情報を記憶するラッチがあり得る。複数のビットを記憶するためのデータラッチのセットが、2004年12月29日に出願された“読み書き回路の集合体のための共通処理を伴う不揮発性メモリおよび方法(Non-Volatile Memory and Method with Shared Processing for an Aggregate of Read/Write Circuits) ”という米国特許出願第11/026,536号(特許文献19)に開示されている。この特許出願は、その全体が本願明細書において参照により援用されている。
【0036】
好ましい実施形態では、全ての偶数ビット線に結合された回路の中の感知回路430Aと、全ての奇数ビット線に結合された回路の中の感知回路430Bとがある。このようにして、一緒に動作するとき、全てのビット線が並行して使用される。他の1つの実施形態では、1つ置きのビット線、すなわち偶数ビット線または奇数ビット線だけが並行して動作する。
【0037】
濃密なパッキングを考慮して、行デコーダと列回路とは好ましくはアレイの両端に分散される。従って、行デコーダ420Aおよび420Bは、それぞれ、アレイの左側および右側に配置されている。同様に、列回路“A”および“B”は、それぞれ、アレイの下部および上部に配置されている。通常、列回路“A”および“B”は、それぞれ、ビット線のインターリービングなセットにアクセスする。例えば、列回路“A”は偶数番号ビット線へのアクセスを有し、列回路“B”は奇数番号ビット線へのアクセスを有する。便宜上、特に記されていなければ、以降の記述は、“A”回路のような1セットの回路に向けられる。
【0038】
列回路の感知回路430Aは、1つの行に沿うメモリセルの1つのブロック(“ページ”とも称される)が並行して読み出されるかあるいはプログラムされることを可能にするセンス増幅器の1つのバンクとして実現される。1つの好ましい実施形態では、1つのページは、1,024バイトなどのメモリセルの1つの連続する行から構成される。他の1つの実施形態では、メモリセルの1つの行は、複数のブロックまたはページ、例えば偶数ビット線を有する1つのページと奇数ビット線を有する1つのページとに分割される。
【0039】
制御回路410は、メモリアレイ400に対するメモリ操作を実行するために行デコーダおよび列回路と協働する。制御回路内の状態マシン412は、メモリ操作のチップレベル制御を提供する。
【0040】
メモリアレイ400は、ユーザ部分402と冗長部分402’とにさらに分割されている。ユーザ部分402は、アドレスバス496を介して供給されるユーザアドレスAyにより列毎にアクセス可能である。冗長部分402’は、ユーザによってアクセスすることはできず、それ自身の保護されているアドレスAy’を有する。冗長部分は、ユーザ部分に見出された欠陥のある列に代わる、所定数の冗長列または置換列を提供する。欠陥のある列のリストは欠陥マップ416に登録され、これは好ましくは不揮発性メモリアレイ402に格納される。例えば、冗長領域402’は、各々1バイト幅である8つの置換列を提供することができる。これは、原則として、ユーザ部分に発生することのある8つまでの欠陥列の置換を可能にする。
【0041】
しかし、従来技術のシステムにおいて冗長データまたは置換データが冗長列のラッチに局在するので、下部および上部の列回路がそれぞれ偶数列または奇数列だけへのアクセスを有する図4に示されている好ましい構成の段構造ではさらなる問題が発生し得る。この2段アーキテクチャが図1に記載されている従来技術のシステムにおいて実現されたならば、下部および上部の列回路の各々は冗長部分の中の置換列のプールの半分へのアクセスを有する。これは、奇数列回路は偶数置換列へのアクセスを有することができず、逆もまた同様だからである。その結果として、置換列のプールの利用が非能率的となる。例えば、8冗長列のプール(4偶数列と4奇数列)の場合、プール内に実際には8つの置換列があるのにユーザ部分の偶数列の中の5つ目の欠陥列は最早置換され得ない。
【0042】
図4は1つの好ましい実施形態を示し、この実施形態ではリモート冗長サービスを提供するために冗長データバッファ回路がメモリ装置と協力する。冗長部分402’に関連付けられた冗長データは冗長データバッファ回路460にバッファされる。明瞭のために、データアウトバス492へ転送されるデータは、図5と関連して記載される。データインバスから転送されるデータは、図6と関連して記載される。
【0043】
図5は、データをI/Oバスへ転出させるように構成された冗長データバッファ回路を示す。この転出モードは、感知操作後、1ページの感知されたデータがユーザデータラッチのセット440Aにラッチされているときに適用可能である。ユーザは、アドレスバス496を通して供給される列アドレスAyによりデータのページの中のデータにアクセスすることができる。前述したように、アドレス指定の粒状度に依存して、所定数のビット線を含む1つの列が単位としてアドレス指定可能である。列の1つのランがアドレス指定されるべきとき、1つの好ましいアドレス指定方式は、ランレングスが後に続く開始アドレスを供給することである。列選択は、列アドレスが列デコーダ450A(図4を参照)によって復号されるときに行われる。図5において、列選択はアドレスバス496からのポインタによって概略的に描かれている。列回路は、選択されたラッチされているデータのI/Oバス492への転送を制御するユーザデータ転出ゲート472のセットをも含む。
【0044】
冗長データバッファ回路460は、冗長データバッファ462と、転出ゲート482のセットと、欠陥マップバッファ466と、比較回路468とを含む。冗長データバッファは、冗長部分402’からの冗長データをバッファする。1ページのデータの感知後、冗長ラッチ440A’にラッチされた冗長データは冗長データバッファ462にロードされる。冗長データバッファ462への転送は、データアウトバス492が冗長データラッチからデータを受け取って図6に示されるように冗長データバッファへ転送するモードに冗長データバッファ回路460が設定されているときに実行される。同様に、欠陥マップバッファ466は欠陥マップ416において維持されている欠陥のリストをバッファし、メモリ装置のパワーアップ時にバッファ466にロードされる。
【0045】
好ましい実施形態では、冗長データバッファ462と欠陥マップバッファ466との両方が、データの個々のエントリを格納するための個々のレジスタのセットを含む。欠陥列のアドレスは、欠陥マップバッファ466の個々のレジスタに所定順序で格納される。同様に、個々のアドレスの各々に関連付けられた個々の冗長データは、欠陥アドレスとそれに関連付けられた冗長データとの間にレジスタ対レジスタの対応関係が存在するように、冗長データバッファ462に格納される。このようにして、在来の方式とは違って、欠陥マップは、関連付けられた冗長データの位置を突き止めるためのインデックスを含まなくてもよい。
【0046】
比較回路468は、本質的に、欠陥マップバッファ中のエントリの各々のための個々の比較器を提供する1対多数比較器である。各々の個々の比較器は、共通入力アドレスを、その個々のレジスタのうちの1つに格納されている欠陥マップバッファ内のアドレスエントリのうちの1つと比較する。以下の他の1つの実施形態では、冗長データバッファにおけるアドレス指定をメモリアレイのアドレス指定より精細なレベルまで解明するためにサブ列デコーダ(sub-column decoder)452がオプションで用いられる。そのオプションが実現されない場合には、冗長データバッファへの入力アドレスは本質的に列アドレスAyである。入力アドレスが現在アドレス指定されている列アドレスAyであるとき、欠陥マップバッファに登録されている欠陥列のアドレスの各々と比較される。一致するものが全くなければ、比較回路468は基本的に複数のANDゲート469を介して一致しない(NO-MATCH)信号M*を出力する。この信号M*は、データアウトバス492がアドレス指定されたデータラッチ440Aからデータを取り出せるように、ユーザデータ転出ゲート472をイネーブルするために使用される。一方、一致があったならば、現在のアドレス位置が欠陥列であって、それに関連付けられた冗長データが代わりに使用されなければならないということを意味する。これは、一致するものを登録し、また一致(MATCH)信号Mを出力する対応する個々の比較器によって成し遂げられる。
【0047】
冗長データバッファ462からデータアウトバス492への冗長データの転送は、転出ゲート482のセットにより制御される。特に、冗長データバッファの個々のレジスタの各々へのバスアクセスは、対応する転出ゲートによって制御される。したがって、現在のアドレスが特定の欠陥列アドレスと一致したとき、冗長データバッファ462の対応するレジスタの中の関連する冗長データがデータアウトバス492へ転送され得るように、対応する転出ゲートをイネーブルするために一致信号Mが使用される。
【0048】
図6は、リモート冗長方式での読み出し操作の略タイミング図である。ホストは、開始読み出しアドレスを送り始めるために初期読み出しコマンドを発することによってメモリ装置における読み出し操作を開始する。その後に、実際の開始読み出しアドレスが送られる。その後、ホストは読み出しを実行するコマンドを発する。メモリ装置は、ビジー信号で応答し、さらに進んでデータのページを感知する。ユーザ部分と冗長部分とを含む、感知されたデータのページは、関連するデータラッチ440Aおよび440A’(図5を参照)にラッチされる。データのページがラッチされた後、リモート冗長方式は、冗長データをそのラッチから冗長データバッファ462にコピーするという付加ステップを必要とする。バッファされたデータが正しい場所に位置した後、メモリ装置はレディ信号で信号する。
【0049】
その後、ホストは、データをデータラッチから外へ、データアウトバス492へストリーミングするために読み出し信号を発することができる。この外へのストリーミング操作中、欠陥のある列に遭遇するたびに、対応する冗長データが即座にストリームに挿入され得るようにデータアウトバス492に冗長データを代わりに冗長データバッファ462から受け取らせるために冗長データバッファ回路460は外へのストリーミングを制御する。次に遭遇した列に欠陥がないとき、冗長データバッファ回路460は、データアウトバス492がデータをデータラッチ440Aから取り込むことを可能にし、このプロセスはページの終わりに達するまで続く。
【0050】
図7は、1つの好ましい実施形態に従う、リモート冗長方式を採用した読み出し操作を示すフローチャートである。
パワーアップ
ステップ510:欠陥マップを不揮発性メモリから欠陥マップバッファへロードする。
読み出し
ステップ520:複数の列にわたってメモリセルからデータのページを読み出すための読み出しコマンドを受け取る。
ステップ522:“ビジー”を信号する。
ステップ524:メモリセルのページを感知してデータを対応するデータラッチにラッチする。
ステップ526:冗長データを冗長データラッチから冗長データバッファにロードする。
ステップ528:“レディ”を信号する。
I/O
ステップ530:欠陥マップバッファ中のものとの1対多数列アドレス比較を行いながら、ラッチされているデータを1列ずつ外へ、データバスへストリーミングする。
ステップ532:外へストリーミングされるべきデータの現在の列アドレスAy=欠陥マップバッファ中の不良のもののうちの1つか?一致があれば、ステップ534に進み、そうでなければステップ536に進む。
ステップ534:冗長データバッファからデータバスへの置換データの出力を可能にし、ステップ538に進む。
ステップ536:ユーザデータ部分からデータバスへの、アドレス指定されたデータの出力を可能にし、ステップ538に進む。
ステップ538:最後の列か?最後の列に達しているならばステップ540に進み、そうでなければステップ534で次の列に進む。
ステップ540:データのページは読み出された。
【0051】
このように、本発明のリモート冗長方式では、メモリアレイのユーザ部分のためのアドレスだけが使用される。現在のアドレスが良好な(欠陥のない)位置のためのアドレスであるとき、データバスはデータラッチからデータを取り込む。一方、現在のアドレスが欠陥のある位置のためのアドレスであるとき、データバスはリモートバッファから冗長データを得る。
【0052】
図8は、I/Oバスからデータを転送するように構成された冗長データバッファ回路を示す。この転入モードは、プログラム操作前に、プログラムされるべきデータのページがユーザデータラッチ440Aのセットにラッチされるべきときに適用可能である。構成は、データの転送がデータインバス494から来る方向に行われることを除いて、図5の構成と同様である。ユーザデータ転入ゲート474のセットは、データインバス494からデータラッチ440Aへのデータの転送を制御する。
【0053】
転入モードでは、冗長データバッファ回路460も、転出ゲート482のセットの代わりに転入ゲート484のセットが採用されていることを除いて、図5に示されているものと同様である。
【0054】
図9は、リモート冗長方式での書き込み操作の略タイミング図である。ホストは、開始書き込みアドレスを送り始めるために初期書き込みコマンドを発することによってメモリ装置における書き込み操作を開始する。その後に、実際の開始書き込みアドレスが送られる。その後、ホストは、書き込みデータをデータインバス494から中へ、データラッチ440Aへストリーミングする信号を発する(図8参照)。この中へのストリーミングの間、欠陥列に遭遇するたびに、冗長データバッファ回路460は、欠陥列のための対応するデータを冗長データバッファ462に取り込む。このストリーミングプロセスは、ページの終わりに達するまで続く。ページが中へストリーミングされた後、リモート冗長方式は、冗長データを冗長データバッファ462からそのラッチ440A’にコピーするという付加ステップを必要とする。
【0055】
その後、ホストはプログラミングを実行するコマンドを発する。その後、メモリ装置はビジー信号を信号し、データのページをプログラムするように動作する。ページは、アレイのユーザ部分と冗長部分とを含む。データ全体がプログラム−ベリファイされたとき、メモリ装置はレディ信号で信号する。
【0056】
図10は、好ましい1つの実施形態に従う、リモート冗長方式を採用したプログラムデータロード操作を示すフローチャートである。
パワーアップ
ステップ550:欠陥マップを不揮発性メモリから欠陥マップバッファへロードする。
I/O
ステップ560:データのページを複数の列にわたってアドレス指定されたメモリセルに書き込むために書き込みコマンドを受け取る。
ステップ562:欠陥マップバッファ中のものとの1対多数列アドレス比較を行いながら、データバスからデータを1列ずつストリーミングする。
ステップ564:中へストリーミングされるべきデータの現在の列アドレスAy=欠陥マップバッファ中の不良のもののうちの1つか?一致があれば、ステップ566に進み、そうでなければステップ570に進む。
ステップ566:データバスからのデータの入力を可能にして、冗長データバッファ内の対応する位置にバッファする。
ステップ568:現在の列のデータラッチを“プログラムしない”状態にセットし、ステップ572に進む。
ステップ570:データバスからのデータの入力を可能にして、対応するデータラッチにラッチする。
ステップ572:最後の列か?最後の列に達しているならばステップ580に進み、そうでなければステップ564で次の列に進む。
ステップ580:冗長データバッファからデータを転送し、それらを対応する冗長データラッチにラッチする。これは、冗長アレイにアクセスするためにアドレスAy’への切り替わりを必要とする1回限りの操作である。
プログラム
ステップ590:プログラムコマンドを受け取る。
ステップ592:“ビジー”を信号する。
ステップ594:ページ全体がプログラム−ベリファイされるまで、ラッチされているデータのページを書き込む。
ステップ596:“レディ”を信号する。
【0057】
ビットレベル冗長サポート
他の1つの実施形態では、冗長データバッファ回路のアドレス粒状度は、列回路の粒状度と同じでなくてもよい。好ましくは、アドレスの単位は、列の分解能より精細な分解能を有する。例えば、列が1バイトの幅のものであって、1グループの8本のビット線が一度にアドレス指定されるならば、冗長データバッファはビット線レベルでアドレス指定され得る。
【0058】
図5および図8の両方が、オプションのサブ列デコーダ452を含む冗長データバッファ回路460を示している。サブ列デコーダは、列アドレスAyと列オフセットアドレスAy”とをさらにサブ列アドレスに復号する。これは、冗長リソースをより効率的に利用するという利点を有する。なぜならば、欠陥のある単一のビット線が他の1つの冗長ビット線により取って代わられることができ、必ずしも8ビット幅の1つの冗長列により取って代わられなくてもよいからである。
【0059】
多段冗長サポート
明瞭性のために、冗長データバッファ回路460を採用するリモート冗長方式は、図4に示されているデータラッチ440Aのような1セットのデータラッチで動作するように記載された。その利点は明らかである。なぜならば、ユーザアドレスだけが使用されるので、従来技術の低速の双方向アドレス指定方式が回避されるからである。
【0060】
動作する列回路が2セット以上あるときには他の1つの利点も得られる。図4と関連して言及されたように、従来技術のシステムでは冗長データが置換列のラッチに局在するので、列回路が2段以上あるときにはさらなる問題が生じ得る。例えば、奇数列回路の場合に類似して、1セットの偶数列回路は偶数列にアクセスできるだけであり、従って奇数冗長列を使用することができない。この方式は、任意の数の列回路がそれらの相対位置に関わらずにアクセスし得る中央位置に全ての冗長データをバッファすることを可能にする。
【0061】
図11は、2セットのデータラッチにサービスする冗長データバッファ回路とデータバスとを概略的に示している。この構成では、冗長データバッファ回路460は、図5および図8に示されているものと同じ仕方でデータラッチの“A”セット440Aとともに動作する。データラッチの追加の“B”セット440Bがあっても、原理は同じである。すなわち、冗長データバッファ回路は、データラッチの“A”セットまたは“B”セットと冗長データバッファ462との間のバス交換を制御するために使用される。一実施形態では、データラッチ転送を可能にするための信号Mは、それぞれ“A”セットまたは“B”セットのためのMA*許可信号またはMB*許可信号を作るためにAyアドレス範囲を使用する段デコーダ480によってさらに復号される。
【0062】
したがって、“A”セットのデータラッチが動作しているときには、データラッチ440Aとのバス転送がラッチ転送コントロール472A/474AにおいてMA*によって可能にされる。“B”セットのデータラッチが動作しているときには、データラッチ440Bとのバス転送がラッチ転送コントロール472B/474BにおいてMB*によって可能にされる。これは、現在のアドレスが欠陥マップバッファ466中のどのアドレスとも一致しないときの動作である。一方、一致があるときには、信号MA*またはMB*は非アクティブになり、バッファ転送コントロール482/484が信号Mによって作動可能にされる。その結果として、代わりにデータはデータバス492と冗長データバッファ462内の対応するレジスタとの間で交換される。
【0063】
欠陥列のデータラッチにバッファされる冗長データ
本発明の他の1つの態様に従って、欠陥列ラッチ冗長方式は、欠陥のあるメモリ位置のための冗長データまたは置換データを、冗長データラッチから、対応する欠陥列のデータラッチのようなより容易にアクセスし得る位置へ再配置させる。この方式は、欠陥列が普通はビット線に存在する問題により引き起こされるのであって、関連する列回路に存在する問題によってはそれほど引き起こされないという事実に基づいている。したがって、例えば、ビット線は短絡して使用不能になり得るけれども、それらの関連するデータラッチと列デコーダとは動作可能な状態に留まりそうである。本発明は、感知およびプログラミングのようなメモリ操作が欠陥のあるビット線を介して実行され得ないときに、列回路が依然としてデータをバッファするために使用され得るということを認識している。
【0064】
1つの好ましい実施形態では、普通は対応する冗長位置に関連付けられたデータラッチに格納される置換データをバッファするために、欠陥のある位置に関連付けられているデータラッチが使用される。このようにして、データバスへのデータのストリーミングに関する限りユーザ部分は実際上欠陥が存在しないかのように扱われ得る。従って、ユーザ部分をアドレス指定するためのアドレス指定方式だけが必要とされ、欠陥のある位置に遭遇するたびに冗長データラッチに切り替わる必要はない。
【0065】
読み出し操作において、ユーザデータと冗長データとの両方を含むページが感知されてラッチされた後に、冗長データのコピーを冗長データラッチからユーザ部分に存在する対応する欠陥列に関連付けられたデータラッチへ置くために、付加的な操作が要求される。このようにして、データがデータバスへ出力されるとき、欠陥列に関わらずに、ユーザデータラッチだけがアクセスされなければならない。
【0066】
書き込み操作において、書き込まれるべきデータのページは、始めに、欠陥のある列に関わらずにユーザデータラッチにラッチされる。このようにして、ユーザ部分は、データバスから中へのデータのストリーミングに関する限り実際上欠陥が存在しないかのように扱われ得る。データのコピーを欠陥列に関連付けられたデータラッチから対応する冗長データラッチへ置くために付加的な操作が要求される。プログラムしない状態を示す所定のデータも、欠陥列のデータラッチに、それらをそのようなものとして示すために、格納される。その後、ユーザデータラッチと冗長データラッチとの両方からのデータを含むページ全体がそれぞれのメモリセルにプログラムされ得る。
【0067】
図12は、欠陥列ラッチ冗長方式がその中で実現されるところの文脈を提供するコンパクトなメモリ装置の好ましい構成を概略的に示す。このメモリ装置は、本質的に図4に示されているものと類似する構造を有するけれども、冗長データバッファ回路460の必要がない。特に、メモリ装置は、メモリセルの2次元アレイ400と、制御回路610と、行デコーダ420Aおよび420Bと、列回路とを含む。
【0068】
メモリアレイ400は、行デコーダ420A,420Bを介してワード線により、また列回路に結合されたビット線により、アドレス指定可能である。列回路は、感知回路430A,430Bと、データラッチ640A,640Bと、列デコーダ450A,450Bと、データI/Oバス490とを含む。図4と関連して前に言及されたように、各感知回路のために1セットのデータラッチがあることが理解できる。
【0069】
好ましい実施形態では、全ての偶数ビット線に結合された回路中の感知回路430Aと、全ての奇数ビット線に結合された回路中の感知回路430Bとがある。このようにして、一緒に動作するとき、全てのビット線が並行して使用される。他の1つの実施形態では、1つ置きのビット線、すなわち偶数ビット線または奇数ビット線だけが並行して動作する。
【0070】
濃密なパッキングを考慮して、行デコーダと列回路とは好ましくはアレイの両端に分散される。従って、行デコーダ420Aおよび420Bは、それぞれ、アレイの左側および右側に配置されている。同様に、列回路“A”および“B”は、それぞれ、アレイの下部および上部に配置されている。通常、列回路“A”および“B”は、それぞれ、ビット線のインターリービングなセットにアクセスする。例えば、列回路“A”は偶数番号ビット線へのアクセスを有し、列回路“B”は奇数番号ビット線へのアクセスを有する。便宜上、特に記されていなければ、以降の記述は、回路の包括的セットに向けられ、参照数字の添え字“A”または“B”は省略される。
【0071】
列回路の感知回路430は、1つの行に沿うメモリセルの1つのブロック(“ページ”とも称される)が並行して読み出されるかあるいはプログラムされることを可能にするセンス増幅器の1つのバンクとして実現される。1つの好ましい実施形態では、1つのページは、1,024バイトなどのメモリセルの1つの連続する行から構成される。他の1つの実施形態では、メモリセルの1つの行は複数のブロックまたはページに分割される。
【0072】
制御回路610は、メモリアレイ400に対するメモリ操作を実行するために行デコーダおよび列回路と協働する。制御回路内の状態マシン612は、メモリ操作のチップレベル制御を提供する。
【0073】
メモリアレイ400は、ユーザ部分402と冗長部分402’とにさらに分割されている。ユーザ部分402は、アドレスバス496を介して供給されるユーザアドレスAyにより列毎にアクセス可能である。冗長部分402’は、ユーザによってアクセスすることはできず、それ自身の保護されているアドレスAy’を有する。冗長部分は、ユーザ部分に見出された欠陥のある列に代わる、所定数の冗長列または置換列を提供する。欠陥列のリストは欠陥マップ416に登録され、これは好ましくは不揮発性メモリアレイ402に格納される。例えば、冗長領域402’は、各々1バイト幅である8つの置換列を提供することができる。これは、原則として、ユーザ部分に発生することのある欠陥のある8つまでの列の置換を可能にする。
【0074】
図12に示されている列回路構造では、ユーザデータラッチ640のグループとデータインバス494との間のデータの交換は、ユーザ列デコーダ450によって制御される。ユーザ列デコーダ450は、ユーザ列アドレスAyを復号し、ユーザ列におけるデータラッチのグループのアクセスがデータインバス494にアクセスすることを可能にする。同様に、冗長データラッチのグループ640’とデータインバス494との間のデータの交換は冗長列デコーダ450’によって制御される。冗長列デコーダ450’は、冗長列アドレスAy’を復号し、冗長列におけるデータラッチのグループのアクセスがI/Oバスにアクセスすることを可能にする。
【0075】
本発明は、ユーザ列および冗長列のデータラッチ間のデータの往復を可能にする付加的な構造を提供する。
図13は、双方向アドレス指定を採用することを必要とせずに他の1つの列冗長方式を実現するためにユーザデータラッチと冗長データラッチとの間でデータを往復させるためのデータラッチバッファを概略的に示す。
【0076】
好ましい実施形態では、データラッチバッファ620が出力データバス492と入力データバス494との間に設けられる。データラッチバッファ620は、直列に接続された第1のシフトレジスタ622と第2のシフトレジスタ644とを含む。第1のシフトレジスタ622と第2のシフトレジスタ624とはパイプライン式に動作し、出力バス492からのデータ単位は、クロック信号CLKにより制御されて1単位ずつこれら2つのレジスタを通してシフトされて入力バス494に戻される。このようにして、I/Oバス490の出力部分および入力部分の両方が同時に動作することができる。
【0077】
制御回路610は、ユーザ列および冗長列のデータラッチ間のアドレス指定および転送制御を提供する。例えば、1ページのデータがユーザデータラッチ450および冗長データラッチ450’にラッチされた後、冗長データラッチ450’内のデータは、欠陥列の対応するデータラッチにコピーされる。制御回路610は、冗長列アドレスAy’を冗長列デコーダ450’に提供し、冗長データ単位を冗長データラッチ640’からデータ出力バス492を介して1つずつデータラッチバッファ620内へシフトさせる。シフトさせられた冗長データ単位はデータラッチバッファの他方の端から出てきて入力データバス494に入る。制御回路610にロードされた欠陥マップ616を参照することにより、対応する欠陥列アドレスAyが生成されて、冗長データ単位を欠陥列内のそれらに対応するラッチに向けるためにユーザ列デコーダ450により使用される。
【0078】
同様に、原理が欠陥列のデータラッチから対応する冗長データラッチへの転送に適用される。この場合、欠陥マップに基づいて、欠陥列のデータラッチは1つずつアクセスされてデータラッチバッファ620を通ってシフトさせられる。データラッチバッファの他方の端において、冗長データ単位は、冗長列デコーダ450’によるAy’の適切な復号を介して、それらのそれぞれの冗長データラッチに向けられる。
【0079】
図14は、欠陥列ラッチ冗長方式での読み出し操作の略タイミング図である。ホストは、開始読み出しアドレスを送り始めるために初期読み出しコマンドを発することによってメモリ装置における読み出し操作を開始する。その後に、実際の開始読み出しアドレスが送られる。その後、ホストは、読み出しを実行するコマンドを発する。メモリ装置は、ビジー信号で応答し、さらに進んでデータのページを感知する。ユーザ部分と冗長部分とを含む感知されたデータのページは、関連するデータラッチ440Aおよび440A’にラッチされる(図13参照)。データのページがラッチされた後、欠陥列ラッチ冗長方式は、冗長データをそれらのラッチから対応する欠陥列のデータラッチにコピーするという付加ステップを要求する。冗長データが対応する欠陥列にラッチされた後、メモリ装置はレディ信号で信号する。本質的に、メモリ装置が所定のタイミング仕様を有するとき、前述した付加ステップは、ビジーとレディとにより画定される期間のために許される最大時間の中で完了されなければならない。
【0080】
その後、ホストはデータをユーザデータラッチ440から外へ、データアウトバス492へストリーミングするために読み出し信号を発することができる。欠陥列のデータラッチは、今、対応する冗長データを包含しているので、従来の場合のように第2セットのアドレスAy’を用いてデータを冗長データラッチ440’から取り出す必要はない。
【0081】
図15は、好ましい1つの実施形態に従う、欠陥列ラッチ冗長方式を採用した読み出し操作を示すフローチャートである。
パワーアップ
ステップ710:欠陥マップを不揮発性メモリからコントローラRAMにロードする。
読み出し
ステップ720:複数の列にわたってメモリセルからユーザデータおよび冗長データを含むページを読み出すための読み出しコマンドを受け取る。
ステップ722:“ビジー”を信号する。
ステップ724:メモリセルのページを感知してデータを対応するデータラッチにラッチする。
ステップ726:データを冗長データラッチから対応する欠陥列のものにコピーする。
ステップ728:“レディ”を信号する。
I/O
ステップ730:欠陥列に関わらず、データをユーザデータラッチからデータバスに1列ずつ外へストリーミングする。
ステップ740:データのページは読み出された。
【0082】
このように、本発明の欠陥列ラッチ冗長方式では、データを外へストリーミングさせるためにメモリアレイのユーザ部分のためのアドレスだけが使用され、ユーザデータラッチだけがアクセスされる必要がある。
【0083】
図16は、欠陥列ラッチ冗長方式での書き込み操作の略タイミング図である。ホストは、開始書き込みアドレスを送り始めるために初期書き込みコマンドを発することによってメモリ装置における書き込み操作を開始する。その後に、実際の開始書き込みアドレスが送られる。その後、ホストは、対応する列が欠陥列か否かに関わらず、書き込みデータをデータインバス494からデータラッチ440(図8参照)にストリーミングするために信号を発する。その後、ホストはプログラミングを実行するためのコマンドを発する。その後、メモリ装置は、あたかも続けてデータのページをプログラムするかのようにビジー信号を信号する。しかし、制御回路(図13参照)は、データを欠陥列のラッチから対応する冗長列の冗長データラッチにコピーするという付加ステップを欠陥列ラッチ冗長方式が必要とするので、実際のプログラミングを延期する。そのデータをコピーした後、欠陥列のラッチは、プログラムしない状態を示す所定の値にセットされる。
【0084】
制御回路は、その後、続けてそのページをメモリにプログラムする。そのページは、アレイのユーザ部分と冗長部分とを含む。全てのデータがプログラム−ベリファイされたとき、メモリ装置はレディ信号で信号する。
【0085】
図17は、好ましい1つの実施形態に従う、欠陥列ラッチ冗長方式を採用したプログラムデータロード操作を示すフローチャートである。
パワーアップ
ステップ760:欠陥マップを不揮発性メモリからコントローラRAMにロードする。
I/O
ステップ770:データのページを複数の列にわたってアドレス指定されたメモリセルに書き込むために書き込みコマンドを受け取る。
ステップ772:欠陥列に関わらず、書き込まれるべきデータのページをユーザデータラッチにストリーミングする。
ステップ774:“ビジー”を信号する。
ユーザデータラッチから冗長データラッチへの転送
ステップ776:データを欠陥列のユーザラッチから冗長列の対応する冗長ラッチに転送する。
ステップ778:全ての欠陥列を、それらの関連するユーザデータラッチの各々に所定データ値を書き込むことによって、マークする。
プログラム
ステップ780:プログラムコマンドを受け取る。
ステップ782:ページ全体がプログラム−ベリファイされるまで、ユーザデータおよび冗長データを含むページを書き込む。
ステップ784:“レディ”を信号する。
【0086】
種々の列冗長方式のための例を挙げて説明がなされたけれども、欠陥のあるメモリ位置のための他の置換単位が可能であることを当業者は容易に認識することができる。
【0087】
本発明の種々の態様をある実施形態に関して説明してきたが、本発明が添付の特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解できよう。
【図面の簡単な説明】
【0088】
【図1】冗長部分だけから冗長データを入手できる在来の列冗長方式のメモリ装置を示す。
【図2A】在来の冗長方式での読み出し操作の略タイミング図である。
【図2B】在来の列冗長方式での読み出し操作を示すフローチャートである。
【図3A】在来の冗長方式での書き込み操作の略タイミング図である。
【図3B】在来の列冗長方式でのプログラム操作を示すフローチャートである。
【図4】リモート冗長方式がその中で実現されるところの文脈を提供するコンパクトなメモリ装置の好ましい構成を概略的に示す。
【図5】データをI/Oバスへ転送するように構成された冗長データバッファ回路を示す。
【図6】リモート冗長方式での読み出し操作の略タイミング図である。
【図7】好ましい1つの実施形態に従う、リモート冗長方式を採用した読み出し操作を示すフローチャートである。
【図8】I/Oバスからデータを転送するように構成された冗長データバッファ回路を示す。
【図9】リモート冗長方式での書き込み操作の略タイミング図である。
【図10】好ましい1つの実施形態に従う、リモート冗長方式を採用したプログラムデータロード操作を示すフローチャートである。
【図11】2セットのデータラッチにサービスする冗長データバッファ回路とデータバスとを概略的に示す。
【図12】欠陥列ラッチ冗長方式がその中で実現されるところの文脈を提供するコンパクトなメモリ装置の好ましい構成を概略的に示す。
【図13】双方向アドレス指定を採用することを必要とせずに他の1つの列冗長方式を実現するためにユーザデータラッチと冗長データラッチとの間でデータを往復させるためのデータラッチバッファを概略的に示す。
【図14】欠陥列ラッチ冗長方式での読み出し操作の略タイミング図である。
【図15】好ましい1つの実施形態に従う、欠陥列ラッチ冗長方式を採用した読み出し操作を示すフローチャートである。
【図16】欠陥列ラッチ冗長方式での書き込み操作の略タイミング図である。
【図17】好ましい1つの実施形態に従う、欠陥列ラッチ冗長方式を採用したプログラムデータロード操作を示すフローチャートである。
【特許請求の範囲】
【請求項1】
ユーザアレイ部分の中の欠陥位置が冗長アレイ部分の中の対応する冗長位置により置換可能であるように前記ユーザアレイ部分と前記冗長アレイ部分とに分割された不揮発性メモリアレイにおいて、前記メモリの前記ユーザアレイ部分と前記冗長アレイ部分との両方にまたがるメモリ位置のグループからデータを読み出す方法であって、
前記ユーザアレイ部分と前記冗長アレイ部分との両方に関連付けられたデータをラッチするためのデータラッチのグループを含むアクセス回路のグループを設けるステップと、
データバスを設けるステップと、
前記ユーザアレイ部分の欠陥位置のアドレスを欠陥マップバッファにバッファするステップと、
前記冗長アレイ部分の前記データラッチからの冗長データを冗長データバッファにバッファするステップと、
前記欠陥マップバッファ中の欠陥位置に対応しない前記ユーザアレイ部分の現在のアドレスに応答して前記データバスと前記ユーザアレイ部分のデータラッチとの間でのデータの交換を可能にし、また、前記欠陥マップバッファ中の欠陥位置に対応する前記ユーザアレイ部分の現在のアドレスに応答して前記データバスと前記冗長データバッファ中の対応する冗長データとの間でのデータの交換を可能にするステップと、
を含む方法。
【請求項2】
請求項1記載の方法において、
前記メモリアレイは行および列によりアドレス指定可能であり、
前記欠陥位置は前記冗長アレイ部分の冗長列により置換可能な欠陥列である方法。
【請求項3】
請求項1記載の方法において、
現在のアドレスは、前記ユーザアレイ部分をアドレス指定するためのものであって、前記冗長アレイ部分を直接アドレス指定することができない方法。
【請求項4】
請求項1記載の方法において、
前記データバスと前記冗長データバッファ中の対応する冗長データとの間のデータの交換を可能にするステップは、読み出し操作中に前記データバスへの転送の方向に行われる方法。
【請求項5】
請求項1記載の方法において、
前記データバスと前記冗長データバッファ中の対応する冗長データとの間のデータの交換を可能にするステップは、書き込み操作中に前記データバスから受け取る方向に行われる方法。
【請求項6】
請求項1記載の方法において、
前記冗長データバッファ中の冗長データは、前記ユーザアレイ部分および前記冗長アレイ部分のためのものより精細なアドレス指定可能な単位でアドレス指定可能である方法。
【請求項7】
請求項1記載の方法において、
前記アクセス回路のグループは、前記冗長データバッファおよび前記データバスとともに動作するように結合されたアクセス回路の複数のグループの中にある方法。
【請求項8】
請求項1記載の方法において、
前記アクセス回路の複数のグループは、重なり合わないアドレス範囲で動作する方法。
【請求項9】
請求項1記載の方法において、
不揮発性記憶単位の前記アレイは、フラッシュEEPROMである方法。
【請求項10】
請求項1記載の方法において、
不揮発性記憶単位の前記アレイは、メモリカードにおいて具体化される方法。
【請求項11】
請求項1〜10のいずれか記載の方法において、
個々の記憶単位は、それぞれ、2つのメモリ状態のうちの1つを記憶する方法。
【請求項12】
請求項1〜10のいずれか記載の方法において、
個々の記憶単位は、それぞれ、2つより多いメモリ状態のうちの1つを記憶する方法。
【請求項13】
不揮発性メモリであって、
ユーザアレイ部分の中の欠陥位置が冗長アレイ部分の中の冗長位置により置換可能であるように前記ユーザアレイ部分と前記冗長アレイ部分とに分割された不揮発性記憶単位のメモリアレイと、
前記ユーザアレイ部分と前記冗長アレイ部分との両方に関連付けられたデータをラッチするためのデータラッチのグループを含むアクセス回路のグループと、
データバスと、
前記ユーザアレイ部分の欠陥位置のアドレスを格納するための欠陥マップバッファと、
前記冗長アレイ部分のデータラッチからの冗長データを格納するための冗長データバッファと、
前記欠陥マップバッファ中の欠陥位置に対応しない前記ユーザアレイ部分の現在のアドレスに応答して前記データバスと前記ユーザアレイ部分のデータラッチとの間のデータの交換を可能にし、また、前記欠陥マップバッファ中の欠陥位置に対応する前記ユーザアレイ部分の現在のアドレスに応答して前記データバスと前記冗長データバッファとの間のデータの交換を可能にする冗長データバッファ制御回路と、
を備える不揮発性メモリ。
【請求項14】
請求項13記載の不揮発性メモリにおいて、
前記メモリアレイは行および列によりアドレス指定可能であり、
前記欠陥位置は前記冗長アレイ部分の冗長列により置換可能な欠陥列である不揮発性メモリ。
【請求項15】
請求項13記載の不揮発性メモリにおいて、
現在のアドレスは、前記ユーザアレイ部分をアドレス指定するためのものであって、前記冗長アレイ部分を直接アドレス指定することができない不揮発性メモリ。
【請求項16】
請求項13記載の不揮発性メモリにおいて、
読み出し操作中に現在のアドレスが前記欠陥位置のアドレスに対応するとき、前記冗長データバッファは前記欠陥位置に対応する冗長データを前記データバスに転送するように動作可能にされる不揮発性メモリ。
【請求項17】
請求項13記載の不揮発性メモリにおいて、
書込み操作中に現在のアドレスが前記欠陥位置のアドレスに対応するとき、前記冗長データバッファは前記データバスから前記欠陥位置に対応する冗長データを受け取るように動作可能にされる不揮発性メモリ。
【請求項18】
請求項13記載の不揮発性メモリにおいて、
前記冗長データバッファ制御回路と前記冗長データバッファとは、前記ユーザアレイ部分と前記冗長アレイ部分とのためのものより精細なアドレス指定可能な単位を有する不揮発性メモリ。
【請求項19】
請求項13記載の不揮発性メモリにおいて、
前記冗長データバッファとともに動作するアクセス回路が、その中にバッファされている前記冗長データのうちの少なくともあるものとは重なり合わないアドレス範囲で動作する不揮発性メモリ。
【請求項20】
請求項19記載の不揮発性メモリにおいて、
前記アクセス回路は、前記冗長データバッファとともに動作する複数のアクセス回路のうちの1つである不揮発性メモリ。
【請求項21】
請求項13記載の不揮発性メモリにおいて、
不揮発性記憶単位の前記アレイは、フラッシュEEPROMである不揮発性メモリ。
【請求項22】
請求項13記載の不揮発性メモリにおいて、
不揮発性記憶単位の前記アレイは、メモリカードにおいて具体化される不揮発性メモリ。
【請求項23】
不揮発性メモリであって、
ユーザアレイ部分の中の欠陥位置が冗長アレイ部分の中の冗長位置により置換可能であるように前記ユーザアレイ部分と前記冗長アレイ部分とに分割された不揮発性記憶単位のメモリアレイと、
前記ユーザアレイ部分と前記冗長アレイ部分との両方に関連付けられたデータをラッチするためのデータラッチのグループを含むアクセス回路のグループと、
データバスと、
前記ユーザアレイ部分の欠陥位置のアドレスを格納するための欠陥マップバッファと、
前記冗長アレイ部分のデータラッチからの冗長データを格納するための冗長データバッファと、
前記欠陥マップバッファ中の欠陥位置に対応しない前記ユーザアレイ部分の現在のアドレスに応答して前記データバスと前記ユーザアレイ部分のデータラッチとの間でのデータの交換を可能にし、また、前記欠陥マップバッファ中の欠陥位置に対応する前記ユーザアレイ部分の現在のアドレスに応答して前記データバスと前記冗長データバッファ中の対応する冗長データとの間でのデータの交換を可能にするための手段と、
を含む不揮発性メモリ。
【請求項24】
請求項13〜23のいずれか記載の不揮発性メモリにおいて、
個々の記憶単位は、それぞれ、2つのメモリ状態のうちの1つを記憶する不揮発性メモリ。
【請求項25】
請求項13〜23のいずれか記載の不揮発性メモリにおいて、
個々の記憶単位は、それぞれ、2つより多いメモリ状態のうちの1つを記憶する不揮発性メモリ。
【請求項1】
ユーザアレイ部分の中の欠陥位置が冗長アレイ部分の中の対応する冗長位置により置換可能であるように前記ユーザアレイ部分と前記冗長アレイ部分とに分割された不揮発性メモリアレイにおいて、前記メモリの前記ユーザアレイ部分と前記冗長アレイ部分との両方にまたがるメモリ位置のグループからデータを読み出す方法であって、
前記ユーザアレイ部分と前記冗長アレイ部分との両方に関連付けられたデータをラッチするためのデータラッチのグループを含むアクセス回路のグループを設けるステップと、
データバスを設けるステップと、
前記ユーザアレイ部分の欠陥位置のアドレスを欠陥マップバッファにバッファするステップと、
前記冗長アレイ部分の前記データラッチからの冗長データを冗長データバッファにバッファするステップと、
前記欠陥マップバッファ中の欠陥位置に対応しない前記ユーザアレイ部分の現在のアドレスに応答して前記データバスと前記ユーザアレイ部分のデータラッチとの間でのデータの交換を可能にし、また、前記欠陥マップバッファ中の欠陥位置に対応する前記ユーザアレイ部分の現在のアドレスに応答して前記データバスと前記冗長データバッファ中の対応する冗長データとの間でのデータの交換を可能にするステップと、
を含む方法。
【請求項2】
請求項1記載の方法において、
前記メモリアレイは行および列によりアドレス指定可能であり、
前記欠陥位置は前記冗長アレイ部分の冗長列により置換可能な欠陥列である方法。
【請求項3】
請求項1記載の方法において、
現在のアドレスは、前記ユーザアレイ部分をアドレス指定するためのものであって、前記冗長アレイ部分を直接アドレス指定することができない方法。
【請求項4】
請求項1記載の方法において、
前記データバスと前記冗長データバッファ中の対応する冗長データとの間のデータの交換を可能にするステップは、読み出し操作中に前記データバスへの転送の方向に行われる方法。
【請求項5】
請求項1記載の方法において、
前記データバスと前記冗長データバッファ中の対応する冗長データとの間のデータの交換を可能にするステップは、書き込み操作中に前記データバスから受け取る方向に行われる方法。
【請求項6】
請求項1記載の方法において、
前記冗長データバッファ中の冗長データは、前記ユーザアレイ部分および前記冗長アレイ部分のためのものより精細なアドレス指定可能な単位でアドレス指定可能である方法。
【請求項7】
請求項1記載の方法において、
前記アクセス回路のグループは、前記冗長データバッファおよび前記データバスとともに動作するように結合されたアクセス回路の複数のグループの中にある方法。
【請求項8】
請求項1記載の方法において、
前記アクセス回路の複数のグループは、重なり合わないアドレス範囲で動作する方法。
【請求項9】
請求項1記載の方法において、
不揮発性記憶単位の前記アレイは、フラッシュEEPROMである方法。
【請求項10】
請求項1記載の方法において、
不揮発性記憶単位の前記アレイは、メモリカードにおいて具体化される方法。
【請求項11】
請求項1〜10のいずれか記載の方法において、
個々の記憶単位は、それぞれ、2つのメモリ状態のうちの1つを記憶する方法。
【請求項12】
請求項1〜10のいずれか記載の方法において、
個々の記憶単位は、それぞれ、2つより多いメモリ状態のうちの1つを記憶する方法。
【請求項13】
不揮発性メモリであって、
ユーザアレイ部分の中の欠陥位置が冗長アレイ部分の中の冗長位置により置換可能であるように前記ユーザアレイ部分と前記冗長アレイ部分とに分割された不揮発性記憶単位のメモリアレイと、
前記ユーザアレイ部分と前記冗長アレイ部分との両方に関連付けられたデータをラッチするためのデータラッチのグループを含むアクセス回路のグループと、
データバスと、
前記ユーザアレイ部分の欠陥位置のアドレスを格納するための欠陥マップバッファと、
前記冗長アレイ部分のデータラッチからの冗長データを格納するための冗長データバッファと、
前記欠陥マップバッファ中の欠陥位置に対応しない前記ユーザアレイ部分の現在のアドレスに応答して前記データバスと前記ユーザアレイ部分のデータラッチとの間のデータの交換を可能にし、また、前記欠陥マップバッファ中の欠陥位置に対応する前記ユーザアレイ部分の現在のアドレスに応答して前記データバスと前記冗長データバッファとの間のデータの交換を可能にする冗長データバッファ制御回路と、
を備える不揮発性メモリ。
【請求項14】
請求項13記載の不揮発性メモリにおいて、
前記メモリアレイは行および列によりアドレス指定可能であり、
前記欠陥位置は前記冗長アレイ部分の冗長列により置換可能な欠陥列である不揮発性メモリ。
【請求項15】
請求項13記載の不揮発性メモリにおいて、
現在のアドレスは、前記ユーザアレイ部分をアドレス指定するためのものであって、前記冗長アレイ部分を直接アドレス指定することができない不揮発性メモリ。
【請求項16】
請求項13記載の不揮発性メモリにおいて、
読み出し操作中に現在のアドレスが前記欠陥位置のアドレスに対応するとき、前記冗長データバッファは前記欠陥位置に対応する冗長データを前記データバスに転送するように動作可能にされる不揮発性メモリ。
【請求項17】
請求項13記載の不揮発性メモリにおいて、
書込み操作中に現在のアドレスが前記欠陥位置のアドレスに対応するとき、前記冗長データバッファは前記データバスから前記欠陥位置に対応する冗長データを受け取るように動作可能にされる不揮発性メモリ。
【請求項18】
請求項13記載の不揮発性メモリにおいて、
前記冗長データバッファ制御回路と前記冗長データバッファとは、前記ユーザアレイ部分と前記冗長アレイ部分とのためのものより精細なアドレス指定可能な単位を有する不揮発性メモリ。
【請求項19】
請求項13記載の不揮発性メモリにおいて、
前記冗長データバッファとともに動作するアクセス回路が、その中にバッファされている前記冗長データのうちの少なくともあるものとは重なり合わないアドレス範囲で動作する不揮発性メモリ。
【請求項20】
請求項19記載の不揮発性メモリにおいて、
前記アクセス回路は、前記冗長データバッファとともに動作する複数のアクセス回路のうちの1つである不揮発性メモリ。
【請求項21】
請求項13記載の不揮発性メモリにおいて、
不揮発性記憶単位の前記アレイは、フラッシュEEPROMである不揮発性メモリ。
【請求項22】
請求項13記載の不揮発性メモリにおいて、
不揮発性記憶単位の前記アレイは、メモリカードにおいて具体化される不揮発性メモリ。
【請求項23】
不揮発性メモリであって、
ユーザアレイ部分の中の欠陥位置が冗長アレイ部分の中の冗長位置により置換可能であるように前記ユーザアレイ部分と前記冗長アレイ部分とに分割された不揮発性記憶単位のメモリアレイと、
前記ユーザアレイ部分と前記冗長アレイ部分との両方に関連付けられたデータをラッチするためのデータラッチのグループを含むアクセス回路のグループと、
データバスと、
前記ユーザアレイ部分の欠陥位置のアドレスを格納するための欠陥マップバッファと、
前記冗長アレイ部分のデータラッチからの冗長データを格納するための冗長データバッファと、
前記欠陥マップバッファ中の欠陥位置に対応しない前記ユーザアレイ部分の現在のアドレスに応答して前記データバスと前記ユーザアレイ部分のデータラッチとの間でのデータの交換を可能にし、また、前記欠陥マップバッファ中の欠陥位置に対応する前記ユーザアレイ部分の現在のアドレスに応答して前記データバスと前記冗長データバッファ中の対応する冗長データとの間でのデータの交換を可能にするための手段と、
を含む不揮発性メモリ。
【請求項24】
請求項13〜23のいずれか記載の不揮発性メモリにおいて、
個々の記憶単位は、それぞれ、2つのメモリ状態のうちの1つを記憶する不揮発性メモリ。
【請求項25】
請求項13〜23のいずれか記載の不揮発性メモリにおいて、
個々の記憶単位は、それぞれ、2つより多いメモリ状態のうちの1つを記憶する不揮発性メモリ。
【図1】
【図2A】
【図2B】
【図3A】
【図3B】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2A】
【図2B】
【図3A】
【図3B】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公表番号】特表2009−531797(P2009−531797A)
【公表日】平成21年9月3日(2009.9.3)
【国際特許分類】
【出願番号】特願2009−501642(P2009−501642)
【出願日】平成19年3月13日(2007.3.13)
【国際出願番号】PCT/US2007/063912
【国際公開番号】WO2007/112202
【国際公開日】平成19年10月4日(2007.10.4)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(506197901)サンディスク コーポレイション (175)
【Fターム(参考)】
【公表日】平成21年9月3日(2009.9.3)
【国際特許分類】
【出願日】平成19年3月13日(2007.3.13)
【国際出願番号】PCT/US2007/063912
【国際公開番号】WO2007/112202
【国際公開日】平成19年10月4日(2007.10.4)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(506197901)サンディスク コーポレイション (175)
【Fターム(参考)】
[ Back to top ]