JP6126313B2 - 抵抗性メモリのビット不良のリアルタイム訂正 - Google Patents

抵抗性メモリのビット不良のリアルタイム訂正 Download PDF

Info

Publication number
JP6126313B2
JP6126313B2 JP2016543222A JP2016543222A JP6126313B2 JP 6126313 B2 JP6126313 B2 JP 6126313B2 JP 2016543222 A JP2016543222 A JP 2016543222A JP 2016543222 A JP2016543222 A JP 2016543222A JP 6126313 B2 JP6126313 B2 JP 6126313B2
Authority
JP
Japan
Prior art keywords
row
bit
bank
array
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2016543222A
Other languages
English (en)
Other versions
JP2017502445A (ja
JP2017502445A5 (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
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2017502445A publication Critical patent/JP2017502445A/ja
Publication of JP2017502445A5 publication Critical patent/JP2017502445A5/ja
Application granted granted Critical
Publication of JP6126313B2 publication Critical patent/JP6126313B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • 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/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/808Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1695Protection circuits or methods
    • 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/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/814Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for optimized yield
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

開示された実施形態は、抵抗性メモリにおけるビット不良の検出および訂正を対象とする。より詳細には、例示的な実施形態は、抵抗性メモリアレイで同時にアクセス可能な単一ビット修復(SBR:single bit repair)アレイに基づいて、磁気抵抗ランダムアクセスメモリ(MRAM:Magnetoresistive Random Access Memory)などの抵抗性メモリアレイのビットのソフト不良またはハード不良をリアルタイム修復することを対象とする。
ハード不良およびソフト不良は、抵抗性メモリデバイスのメモリセルにおいてよく見られる。そのような不良は、たとえば、磁気素子を使用する不揮発性メモリ技術である磁気抵抗ランダムアクセスメモリ(MRAM)において見られる。より具体的には、MRAMは、ピン止め層とフリー層とを分離するバリア層を含む磁気トンネル接合(MTJ:magnetic tunnel junction)セルを備える。フリー層の極性は、ピン止め層およびフリー層の極性が、実質的に揃うか反対になるかのいずれかとなるように、特定の方向に電流を流すことによって反転され得る。MTJを通る電気経路の抵抗は、ピン止め層およびフリー層の極性の一致度に応じて変化する。抵抗におけるこの変化は、当技術分野において知られるように、MTJセルをプログラムし、読み出すために使用され得る。
バリア層は、典型的には、破損しやすいMgOなどの材料から形成された薄い絶縁層である。具体的には、バリア層は、デバイス技術が進歩し、MTJセルのサイズが縮小するにつれて、比較的小さい応力レベルの下で容易に破損し得る。そのような破損は、容易に修復可能なソフト不良とは対照的に、恒久的または長期的な損傷により容易に修復できないハード不良につながることがある。
具体的には、修復できない不良またはハード不良は、不良セルの交換を必要とする。しかしながら、メモリアレイがパッケージ化された後にメモリアレイ内の個々のビットセルを交換することは、不可能である。したがって、不良ビットセルによりメモリアレイ全体を交換するのではなく、ハード不良は、典型的には、交換用の行(または列)を使用して対処される。より詳細には、メモリアレイの不良ビットが最初に検出され、たとえば、不良ビットセルを検出するために、メモリアレイ上でテストマクロが実行される。不良ビットセルがある行(および/または列)は、たとえば、メモリアレイの外部にある、ワンタイムプログラマブル(OTP:one-time programmable)の、典型的には、不揮発性メモリ(NVM)内に記録される。OTP NVMアレイは、不良ビットセルを備える不良行に関する情報を保持する。
交換用の行は、次いで、不良行のために提供される。これらの交換用の行は、不良行全体のレプリカであるが、不良ビットセルが健全にまたは正常に機能するビットセルに置き換えられている。交換用の行は通常、メモリアレイの残りの部分における不良行のレプリカを格納するために要求された(requisition)メモリアレイの行である。OTP NVMアクセス時間は、遅いので、実際には、不良行に関する情報は、システム電源投入時に、高速レジスタ、たとえば、磁気抵抗ランダムアクセスメモリ(MRAM)内部レジスタ内にロードされる。したがって、メモリアクセスがメモリアレイに対して試みられるたびに、MRAM内部レジスタは、所望のメモリアクセス行が不良行であるかどうかを確認するために、メモリアクセスアドレスがその中に含まれているかどうかを見るためにチェックされる。意図されたメモリアクセスが不良行に対応する場合、メモリアクセスアドレスは、メモリアレイ内で不良行のための対応する交換用の行が設けられたアドレスにルーティングされる。したがって、不良行の代わりに、対応する交換用の行がメモリアクセスのために選択される。
上記の技術はまた、ビットセルではなく、メモリアレイのポートが損傷され得る場合に拡張される。たとえば、メモリアレイの入力/出力(IO)ポートが不良になったことが検出された場合、交換用のIO(または「RIO」)が提供される。不良IOポートを介するアクセスを必要とし得るアクセスアドレスは、交換用のIOに再ルーティングされる。より詳細には、知られている1つの実施態様では、所望のアクセスが不良IOに関連する場合、上記のように、交換用のIOが内部MRAMレジスタから得られるように、OTP NVMは、不良のIO全体のための交換用のIOをいずれも格納するように構成され得る。知られている別の実施態様では、OTP NVMは、交換用のIOの情報をセグメントにおいて記憶するように構成され得、メモリアレイは、複数のセグメント(たとえば、n個の等しいセグメント)に分割され得、n個のセグメントの各々は、複数の行を備える。特定のセグメントmのための交換用のIOがそのセグメントm内の不良IOに関係するように、交換用のIOの情報は、n個のセグメントの各々のために作成される。したがって、セグメントmが不良IOを有し、所望のメモリアクセスアドレスがセグメントmに存在する場合、対応する交換用のIOは、交換用のIO全体を復旧するのではなく、セグメントmのためにのみ復旧され得る。したがって、この実施態様は、交換用のIO全体を格納する以前の実施態様と比較して、OTP NVM内で消費される交換用のIO空間の1/nのみを必要とする。
選択されたOTP NVMのための特定の実施態様にもかかわらず、不良ビットセルまたはIOに対処するための上記の従来技術は、いくつかの面で不十分である。第1に、これらの技術は、遅く、時間がかかり、その上、そのような技術は、その場で実行することができない。これは、典型的なメモリアレイ設計では、最大1つの行が一度にアクセスされ得、不良行にアクセスしようとし、内部MRAMレジスタを通過し、次いで、交換用の行または交換用のIOにアクセスするプロセスは、複数のクロックサイクル、言い換えれば、長い待ち時間を招くので、そのような技術が複数のメモリアレイアクセスを必要とするからである。第2に、交換用の行および/または交換用のIOは、メモリアレイ上の貴重な空間を消費し、したがって、交換用の列の数は、典型的には制限され、したがって、効果的に対処され得る不良行および/または不良IOの数に制限を課す。したがって、従来の技術が遅く、不良のリアルタイムの修復には不向きであるというだけでなく、従来の技術はまた、不正確さにつながることがあり、有効な交換用の行および/または交換用のIOは、すべての不良のためには提供され得ない。
例示的な実施形態は、抵抗性メモリにおけるビット不良の検出および訂正を対象とする。より具体的には、例示的な実施形態は、抵抗性メモリアレイで同時にアクセス可能な単一ビット修復(SBR:single bit repair)アレイに基づいて、磁気抵抗ランダムアクセスメモリ(MRAM:Magnetoresistive Random Access Memory)などの抵抗性メモリアレイのビットのソフト不良またはハード不良をリアルタイム修復することを対象とする。
たとえば、実施形態は、第1のメモリバンクおよび第2のメモリバンクに分割された抵抗性メモリデバイスに関連し得る。第1の単一ビット修復(SBR)アレイは、第2のメモリバンクに格納され、第1のSBRアレイは、第1のメモリバンクの第1のアドレスにおいて第1の行内の第1の不良ビットにおける不良の第1の指標を格納するように構成される。第1のメモリバンクおよび第1のSBRアレイは、メモリアクセス動作の間に並列にアクセスされるように構成される。同様に、第1のメモリバンクに格納された第2のSBRアレイは、第2のメモリバンク内のビットの不良の指標を格納し得、第2のSBRアレイおよび第2のメモリバンクは、並列にアクセスされ得る。したがって、第1および第2のメモリバンク内のビット不良は、リアルタイムに訂正され得る。
したがって、例示的な実施形態は、メモリアレイ内のビット不良を訂正する方法を対象とし、方法は、メモリアレイを第1のバンクおよび第2のバンクに分割するステップと、第1のバンク内に格納された第1の行内の第1の不良ビットにおける不良を決定するステップと、第1の不良ビットの第1の指標を第1の単一ビット修復(SBR)アレイ内に格納するステップとを備え、第1のSBRアレイは、メモリアクセス動作の間の第1のバンクおよび第1のSBRアレイの並列アクセスを可能にするために第2のバンク内に格納される。
別の例示的な実施形態は、第1のメモリバンクと、第2のメモリバンクと、第2のメモリバンク内に格納された第1の単一ビット修復(SBR)アレイとを備えるメモリデバイスを対象とし、第1のSBRアレイは、第1のメモリバンクの第1の行内の第1の不良ビットにおける不良の第1の指標を格納するように構成され、第1のメモリバンクおよび第1のSBRアレイは、メモリアクセス動作の間に並列にアクセスされるように構成される。
別の例示的な実施形態は、第1のメモリバンクと、第1のメモリバンク内に格納された第1の行内の第1の不良ビットにおける不良を決定するための手段と、第1のメモリバンクおよび第1の不良ビットの第1の指標を格納するための手段がメモリアクセス動作の間に並列にアクセス可能であるように前記格納するための手段とを備えるメモリシステムを対象とする。
さらに別の例示的な実施形態は、プロセッサによって実行されたとき、メモリアレイ内のビット不良を訂正するための動作をプロセッサに実行させるコードを備える非一時的コンピュータ可読記憶媒体を対象とし、非一時的コンピュータ可読記憶媒体は、メモリアレイの第1のメモリバンク内に格納された第1の行内の第1の不良ビットにおける不良を決定するためのコードと、第1のメモリバンクおよび格納するための手段がメモリアクセスの間に並列にアクセス可能であるように第1の不良ビットの第1の指標を格納するためのコードとを備える。
添付の図面は、様々な実施形態の実施形態の説明において助けとなるように与えられており、本発明の限定ではなく、実施形態の例示のみのために提供されている。
例示的な実施形態による、リアルタイム不良ビット修復のために構成された例示的なメモリデバイス構造の図である。 不良ビット指標が、不良ビットがフリップされなければならないかどうかに関係するときの、同時の不良ビット修復を伴う読出し動作を示す図である。 不良ビット指標が、不良ビットがフリップされなければならないかどうかに関係するときの、同時の不良ビット修復を伴う読出し動作を示す図である。 不良ビット指標が、不良ビットがフリップされなければならないかどうかに関係するときの、同時の不良ビット修復を伴う読出し動作を示す図である。 不良ビット指標が、不良ビットがフリップされなければならないかどうかに関係するときの、同時の不良ビット修復を伴う読出し動作を示す図である。 不良ビット指標が、不良ビットがフリップされなければならないかどうかに関係するときの、同時の不良ビット修復を伴う書込み動作を示す図である。 不良ビット指標が、不良ビットがフリップされなければならないかどうかに関係するときの、同時の不良ビット修復を伴う書込み動作を示す図である。 不良ビット指標が、不良ビットがフリップされなければならないかどうかに関係するときの、同時の不良ビット修復を伴う書込み動作を示す図である。 不良ビット指標が、不良ビットがフリップされなければならないかどうかに関係するときの、同時の不良ビット修復を伴う書込み動作を示す図である。 不良ビット指標が不良ビットの正しい値を含むときの、同時の不良ビット修復を伴う読出し動作を示す図である。 不良ビット指標が不良ビットの正しい値を含むときの、同時の不良ビット修復を伴う読出し動作を示す図である。 不良ビット指標が不良ビットの正しい値を含むときの、同時の不良ビット修復を伴う読出し動作を示す図である。 不良ビット指標が不良ビットの正しい値を含むときの、同時の不良ビット修復を伴う読出し動作を示す図である。 不良ビット指標が不良ビットの正しい値を含むときの、同時の不良ビット修復を伴う書込み動作を示す図である。 不良ビット指標が不良ビットの正しい値を含むときの、同時の不良ビット修復を伴う書込み動作を示す図である。 不良ビット指標が不良ビットの正しい値を含むときの、同時の不良ビット修復を伴う書込み動作を示す図である。 不良ビット指標が不良ビットの正しい値を含むときの、同時の不良ビット修復を伴う書込み動作を示す図である。 本開示の態様による、メモリアレイ内のビット不良を訂正する例示的な方法のフローチャート描写である。
様々な実施形態の態様が、以下の説明および特定の実施形態を対象とする関連する図面において、開示される。代替的な実施形態は、発明の範囲から逸脱することなく考案され得る。さらに、様々な実施形態の関連する詳細を不明瞭にしないように、様々な実施形態のよく知られている要素については詳細に説明しないか、または省略する。
「例示的」という用語は、本明細書では、「例、事例、または例示として役立つこと」を意味するために使用される。本明細書に記載の任意の実施形態は、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されない。同様に、「実施形態」という用語は、すべての実施形態が説明した特徴、利点、または動作モードを含むことを必要としない。
本明細書で使用される用語は、特定の実施形態を説明する目的のためのものであり、実施形態を限定することを意図するものではない。本明細書で使用する単数形「a」、「an」、および「the」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。「備える」、「備えている」、「含む」、および/または「含んでいる」という用語は、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除するものではないことがさらに理解されるであろう。
例示的な実施形態は、メモリアレイ内の不良を処理するための従来の技術の上述した欠点を克服する。したがって、実施形態は、2つ以上のバンクに分割され得る例示的なメモリアレイ構造を含む。たとえば、MRAMセルを備えるメモリアレイは、第1のバンクと第2のバンクとに分割され得る。そのような構造では、メモリアレイが64ビット幅であった場合、各行の上位または上部32ビットは、第1のバンク内に格納されることになり、行の下位または下部32ビットは、第2のバンク内に格納されることになる。たとえば、従来の技術におけるように、不良ビット行のための交換用の行全体を格納するのではなく、実施形態は、単に、本明細書では単一ビット修復(SBR)アレイと称される例示的な構造において不良ビットのアドレスを格納するように構成され得る。より詳細には、SBRアレイは、不良ビットを備える不良行全体ではなく、特定の不良ビットの位置を正確に示すビットレベル粒度のアドレスを含み得る。したがって、不良ビットを備える不良行全体を格納するのではなく、不良ビットのアドレスを格納するためにより少ない格納空間が必要とされるので、メモリアレイ内の利用可能なメモリ空間は、より効率的に利用される。
さらなる態様では、第1のバンクのデータ行の不良ビットに対応する第1のSBRアレイは、メモリアレイの第2のバンク内に形成され得、第2のバンク内のデータ行の不良ビットに対応する第2のSBRアレイは、第1のバンク内に形成され得る。例示的なメモリアレイでは、論理および制御手段は、第1のバンクおよび第2のバンクの並列または同時アクセスのために設けられ、したがって、たとえば、対応する第1のSBRアレイと一緒に、第1のバンクの並列アクセスを可能にする。このように、たとえば、第1のバンクの第1の行への意図されたメモリアクセスは、第2のバンクからの第1のSBRアレイへのアクセスと並行して実行され得る。したがって、実施形態はまた、従来の技術と比較して、メモリアクセス速度を改善し得る。
ここで図1を参照すると、例示的なメモリデバイス100の概略図が示されており、メモリデバイス100は、ビット不良、特にハード不良の修復に関連する例示的な態様を組み込むように構成され得る。メモリデバイス100は、一実施形態では、MTJビットセルを備える、MRAMなどの抵抗性メモリであり得る。より詳細には、メモリデバイス100は、メモリアレイを含み、メモリアレイは、例示的に64ビット幅であり、第1のバンク102aおよび第2のバンク102bとして示されている第1および第2の32ビット幅メモリバンクに分割される。第1のSBRアレイ104aは、第1のバンク102a内の不良ビットに関係するアドレスを格納し得(たとえば、第1のSBRアレイ104aは、第1のバンク102a内の第1の不良ビットに対応する第1のアドレスを格納し得)、同様に、第2のSBRアレイ104bは、第2のバンク102b内の不良ビットに関係するアドレスを格納し得る。図示の実施形態では、メモリデバイス100は、520の行を備え得、第1のバンク102aおよび第2のバンク102bは、512の行を備え、それぞれの第1および第2のSBRアレイ104a〜104bは、8の行を備える。
一例では、第1のバンク102aのビットセル105aは、不良ビットとして決定され得、不良ビット105aは、データワード線または不良線106aに属し得る。これに対応して、第1のSBRアレイ104aは、SBRアレイエントリ107aとして指定されたエントリを含み得る。SBRアレイエントリ107aは、不良行106aに対応するワード線オフセットを備え得る不良ビット105aのアドレスと、不良行106a内の不良ビット105aのビット位置を示す列アドレス(CA)とを含み得る。さらに、SBRアレイエントリ107aは、格納されたアドレスが現在の不良に関係するのか、または廃止したものであるのかを示す有効ビットと、不良ビット105aに対応する不良IOが存在する場合、IO番号とを含み得る。いくつかの態様では、不良IOが上記で説明したようにセグメント化の方法で決定された場合、IO番号は、不良行106aが属する特定のセグメントに対応し得る。SBRアレイエントリ107aを表すために必要なビット数は、たとえば、(従来技術で見られるように)不良行106a全体を格納するために必要であり得るビット数よりも大幅に少ない。したがって、SBRアレイエントリ107aなどのいくつかのエントリは、たとえば、第1のSBRアレイ104aの8つの行の各々の中に格納され得る。
アドレスコマンド110は、たとえば、プロセッサまたはメモリコントローラ(図示せず)などの外部ソースからの読出し/書込み動作のためにメモリデバイス100によって受信され得る。グローバル制御ロジック116は、アドレスコマンド110を受信するように構成され得、デコーダ114は、第1および/または第2のバンク102a〜102bの関係する行に、アドレスコマンド110に関係するアクセスを向けるように構成される。アドレスコマンド110は、選択された特定の実施態様に基づいて、32ビット演算、ならびに完全な64ビット演算を含み得る。たとえば、64ビット書込みコマンドは、第1のバンク102aへの上位32ビットのためのバスDIN111a[63:32]、ならびに第2のバンク102bへのDIN111b[31:0]の両方におけるデータを含み得る。同様に、64ビット読出しコマンドは、第1のバンク102aからの上位32ビットのためのDOUT112a[63:32]、ならびに第2のバンク102bからのDOUT112b[31:0]の両方におけるデータを読み出すために使用され得る。
データの読出しおよび書込みを支援するために、ローカルデータライン(LDP)118a〜118bおよびグローバルデータライン(GDP)120a〜120bを備える読出し論理ブロックおよび書込み論理ブロックが設けられる。LDP118a〜118bは、感知増幅器を備える読出しロジックまたは読出し回路、ならびに書込み回路を含み得、GDP120a〜120bは、受信機とデータアウトバッファとを含み得る。書込み動作の場合には、書込みデータは、ブロックGDP120a〜120bによってバスDIN111a〜111bから受信され、それぞれ、LDP118a〜118bに転送される。LDP118a〜118bにおける書込みロジックまたは書込み回路は、書込みデータを、それぞれ、対応する第1および第2のバンク102a〜102bのビットラインに駆動し得る。読出し動作のために、LDP118a〜118bにおける感知増幅器を備える読出し回路は、対応する第1および第2のバンク102a〜102bからのビットセルデータを感知し得、ビットセルデータを、それぞれ、GDP120a〜120bに転送し得る。GDP120a〜120bは、読み出されたデータをバスDOUT112a〜112b上に駆動し得る。
ビット不良の決定を支援するために、第1および第2のバンク102a〜102b内に格納されたデータの整合性または正確性を定期的にチェックするために、誤り訂正メカニズムが設けられ得る。このプロセスを支援するために、誤り訂正符号(ECC:error correcting code)ビット106aおよび106bは、それぞれ、第1および第2のバンク102a〜102bの各行に追加される。ECCの機能は、当技術分野においてよく知られており、1つまたは複数の誤りがデータビットのグループ内で生じたかどうかを決定するためにECCビットが使用され得るように、冗長ECCビットまたはパリティビットがデータビットのグループに追加される。図1の例示的なメモリデバイス100の構造に基づく不良ビット修復の詳細を、ここで、図2A〜図2Hに示す読出し、書込み、および/またはデータスクラビング/リフレッシュなどの動作に関連して説明する。
図2A〜図2Bを参照すると、例示的な実施形態による、SBRアレイを事前設定するためのセットアップ動作の初期セットが示されている。図2A〜図2Bは、例示的なリフレッシュまたはデータスクラブプロセスの間に実行され得る一連のステップを備えるフロー図を含む。例示的な態様は、ダイナミックランダムアクセスメモリ(DRAM:dynamic random access memory)などの不揮発性メモリで一般的に見られるようなリフレッシュ動作を必要としないMRAMなどの不揮発性メモリに関するが、同様の動作は、それにもかかわらず、不良を決定するために定期的に実行され得る。たとえば、初期セットアップ段階の間、定期的なサイクルで、第1および第2のバンク102a〜102bの各行は、読み出され得、その中に格納されたデータの正しさが、対応するECCビット108a〜108bを使用して確認され得、次いで書き戻され得る。ソフト不良は、このリフレッシュのようなデータスクラビング動作の間に修正され得るのに対し、ハード不良は、例示的な実施形態による修復処理のためにフラグが立てられ得る。また、この文脈で説明するリフレッシュ/不良検出動作は、初期または定期的リフレッシュプロセスの間のみに実行される必要はなく、他方では、不良検出および修復処理はまた、読出しまたは書込み動作などのメモリアクセスの一部として行われ得ることが理解されるであろう。
より詳細には、ステップまたはブロック202では、リフレッシュ/データスクラブまたは読出し動作の間、前述の行106aが読み出される。ECCブロック108aからの対応するECCビットを使用し、行106aは、正しさについてチェックされる。列106aに格納された例示的な値は、図2A〜図2Bに示されている。この実行例では、ビット105aが間違っており、その期待値から逸脱することが検出され、それは、行106aの残りのビット内のビット105aへのポインタによって示される。しかしながら、この偏差単独では、誤りが、書き戻しによって訂正され得るソフト不良によって生じているのか、または、たとえば、第1のSBRアレイ104a内のエントリの作成によるさらなる注意を必要とするハード不良によって生じているのかを決定するには不十分である。
したがって、プロセスは、ブロック204に進み、誤り訂正がビット105aに対して実行され(バイナリ表現では、誤った値からビット105aを反転またはフリップすることになる)、ブロック206では、誤りが正しい値を再書込みすることによって訂正されるソフト不良であったことを期待して、行106aは、ビット105aをフリップ/反転して第1のバンク102aに書き戻される。
ブロック208(図2B上で開始する)では、行106aは、誤りがブロック206で修正されたかどうかを決定するために、もう一度読み出される。実施形態を説明する目的のため、ビット105aがブロック206で正しい値を再書込みすることによって修正されていないハード不良を経験していると仮定する。したがって、ブロック208では、ビット205aが、正しい値を再書込みすることによって修正され得ない、ビット205aに位置するMTJセルのMgOバリア破損などのハード不良による不良ビットであることが実現される。いくつかの場合には、そのようなハード不良は、恒久的である必要はなく、時間の経過とともに、ハード不良は、本開示では説明しない任意の数の要因に基づいて修正され得ることが理解されるであろう。そのような状況を考慮するために、上記で説明した有効ビットは、SBRアレイ内のエントリが現在の既存のハード不良を常に指し示すことを保証するために使用される。
したがって、ブロック210に移動すると、第1のSBRアレイ104aが不良ビット105aのための指標を格納するための利用可能な格納空間を有していると仮定して、ビット105a内のハード不良は、第1のSBRアレイ104aにおいて記憶される。例示的なSBRアレイ、たとえば、第1のSBRアレイ104aは、従来技術よりも多くの不良指標を保持することができるが、これらの例示的なSBRアレイは、それにもかかわらず、容量において制限される(たとえば、現在の例では、各行における1つまたは複数の不良ビット指標のための格納空間を提供する32ビットの8行の容量)ことが認識される。したがって、不良ビット指標を格納するための利用可能な容量が示されている場合、好ましい置換ポリシーは、既存のエントリを上書きし、新しいエントリのための場所を作成するために採用され得る。いくつかのエントリが無効なエントリを含む場合、それらの有効ビットフィールドによって示されるように、これらは、削除され得る。すべてのエントリが有効である場合、キャッシュメモリアーキテクチャにおける最長時間未使用(LRU:least recently used)方式などの置換ポリシーが、1つの可能な置換ポリシーであるが、当業者は、本開示の範囲内で使用され得る代替の置換ポリシーを認識するであろう。
ブロック210への参照を続けると、SBRアレイエントリ107aが第1のSBRアレイ104a内に作成され、ここで、有効フィールドが設定され得、ワード線オフセットフィールドが不良行106aに関係し得(たとえば、図2A〜図2Bにおいてワード線(WL)=「10」に関係するものとして示す)、列アドレスが不良行106a内の不良ビット105aの位置を示し得る(たとえば、図2A〜図2Bにおいて列アドレス(CA)=5に関係するものとして示す)。より具体的には、このフォーマットで、SBRアレイエントリ107aが有効ビットセットを有する場合、その指標は、ビット105aの値がフリップされなければならないことである(たとえば、ビット105aは、不良によりその期待される正しい値の反対である値に貼り付けられ得る)。したがって、この段階において、第1のSBRアレイ104aは、第1のバンク102a内のビット105aについてハード不良が存在することの指標で事前設定されていることになる。同様に、第1のバンク102aと第2のバンク102bの両方におけるすべての他の行は、スクラブされ得、不良は、それぞれ、第1および第2のSBRアレイ104a〜104bにおいて指摘される。
図2C〜図2Dを参照すると、ここで第1のバンク102aの行106aを続けて参照して説明するように、図2A〜図2Bと同様のフォーマットの動作フローが、例示的な読出し動作として示されている。たとえば、図1を組み合わせて参照すると、アドレスコマンド110は、所望の出力DOUT112a[63:32]を生成するために行106aに対する読出しを実行するために受信され得る。したがって、グローバル制御ブロック116は、第1のSBRアレイ104aを読み出すのと同時に、第1のバンク102aの行106aに対する読出し動作を開始することになる。いくつかの態様では、受信した読出しアドレスに基づいて、グローバル制御ブロック116は、第1のSBRアレイ104a内のエントリ、SBRアレイエントリ107aが行106aのために存在することを決定することができることになる。
したがって、ブロック212では、行106aに対する読出し動作は、第1のバンク102aから行106aを読み出すことによって開始されることになり、同時に、第1のSBRアレイ104aから対応するSBRアレイエントリ107aを読み出す。ビット105aに不良が存在することが決定されることになる。
ブロック214では、行106aの読み出された値は、SBRアレイエントリ107aにおいて設定されている有効ビットに基づいて不良ビット105aをフリップすることによって変更または反転される。いくつかの場合には、SBRアレイエントリ107aに格納された値はまた、SBRアレイエントリ自体が破損されていないことを保証するために、(第1のSBRアレイ104aに関するブロック212に示すように)それ自体のECCビットに対して最初にチェックされ得る。
ブロック212に戻ると、オプションの特徴であり得、すべての場合においてブロック212および214の上記の説明に影響を与える必要がない追加の態様が示されている。具体的には、ブロック212では、ECCビットは、行106a内のビット105a以外の追加のビットにおける誤りを示していることがある。この第2の誤りは、第1のSBRアレイ104a内のエントリが図2Bのブロック210内の行106aについて生じたので、ソフト不良またはハード不良によって生じた可能性がある。したがって、(図2Dに示す)ブロック216では、DOUT112a[63:32]における正しい値を最終的に出力する前に、行106aを読み出す間、この第2の誤りビットの訂正はまた、実行され得る。
ここで、図2E〜図2Fに進むと、新しい第1の行などの、新しいワードまたは新しい行が第1のバンク102aの既存の第1の行に書き込まれる、例示的な書込み動作の第1のフレーバー(flavor)が示されている。たとえば、DIN111a[63:32]から受信した新しい第1の行の値は、たとえば、LDP118aの支援によって、既存の第1の行である行106aに書き込まれるべきである。このフレーバーは、ビット105aへの意図された新しい書込み値が不良ビット105aの現在格納されている値と同じである場合に関係し、それを以下でさらに説明する。再度、アドレスコマンド110が、書込み動作が望まれていることを示すとき、グローバル制御ブロック116は、たとえば、第1のSBRアレイ104a内のSBRアレイエントリ107aが行106aのために存在することを示すことになる。これに続いて、書込みプロセスは、ブロック222に進む。
ブロック222では、先読出しが行106aに対して実行され、行106aは、行106aに新しい値を書き込む前に最初に読み出される。第1のSBRアレイ104aからのSBRアレイエントリ107aはまた、行106aのどのビットが不良指標を有するのかを決定するために読み出される。再度、SBRアレイエントリ107a自体は、第1のSBRアレイ104aのためのECCビットを使用して正しさについて最初に試験され得る。
次に、ブロック224では、行106aに書き込まれるべきデータは、たとえば、DIN111a[63:32]から入ってくるデータに従って変更される必要があるビットにのみ選択的に書き戻すために、行106a内にすでに存在するデータと比較され得る。行106a内にすでに存在する32ビットのうちのいくつかは、書き込まれるべき新しい32ビットと共通している可能性が高いので、それらの既存の値から未変更のままであるこれらのビット値への書込み電力を節約することが有利である。変更されたビットのみの選択的書込みは、先読出しから利用可能な行106a内の既存のビットと、書込み動作のために行106aに書き込まれるべき対応するビットとに対してビット単位のXOR関数を実行することによって達成され得る。
しかしながら、行106a内の残りのビットとは異なり、不良ビット105aは、再書込みされる必要はなく、再書込み後の場合、ビットは、不良アドレス107aにおける指標に基づいて反転またはフリップされることになる。このプロセスを明らかにする数値の説明では、SBRアレイエントリ107aにおける有効ビットが、ビット105aがフリップされることを必要とすることを示すことが仮定され、ビット105aの値は、現在「0」の誤った値にある。したがって、SBRアレイエントリ107a内に格納された現在の指標は、ビット105aの正しい値が「1」であるという必要条件になる。したがって、「1」の値が所望の書込み動作の完了に従ってビット105aに書き込まれるべきである場合、これは、ビット105aが読み出されるとき、不良アドレス107aにおける指標によってフリップされることになるように、値をその初期の先読出しされた「0」の値のままにすることによって達成され得る。
ブロック226(図2F参照)では、行106a内の既存のビットと異なるものとして決定されたビット、すなわちビット105a以外の、場合によってはブロック224に基づいて書き込まれる必要があるビットは、書込みプロセスを完了するために行106a内に書き戻される。対応するECCビットは、書込み動作の完了に従って行106a内の更新された値に基づいて更新される。
いくつかの場合には、ブロック224は、省略され得、ブロック226は、DIN111a[63:32]から行106aに到着する新しいデータビットの32ビット全体を上書きするように修正され得ることが理解されるであろう。これは、変更される必要がないビットを不必要に書き込むための書込み電力を回避することによって見られ得るのと同じ省電力を実現しない可能性があるが、上記のブロック224および226で説明したように、32ビット全体を上書きすることは、追加の単純さのための電力の節約と、コストの節約とをトレードオフし得る(たとえば、ビット単位のXORロジックが回避され得る)。新しいデータの32ビット全体が行106aにおいて上書きされる場合、続くリフレッシュ動作(たとえば、図2A〜図2Bあたり)は、それに応じて第1のSBRアレイ104aを更新するために実行され得る。
ここで図2G〜図2Hを参照すると、図2E〜図2Fに記載の書込み動作の第2のフレーバーが示されており、ビット105aへの意図された新しい書込み値は、不良ビット105aの先読出しされた値と同じである。図2G〜図2Hは、図2E〜図2Fのブロック224および226においてのみ図2E〜図2Fと大きく異なり、したがって、これらの違いは、対応するブロックを図2G〜図2Hにおいて224'および226'としてラベル付けすることによって示されている。図2G〜図2Hは、すべての他の態様において図2E〜図2Hと実質的に同様であるので、説明は、これらの類似点について詳述せず、むしろ相違点に焦点をあてる。
より具体的には、図2G〜図2Hは、書込みデータが、ブロック222において行106aの先読出しから読み出された、ビット105aの値と同じである、ビット105aに対応する位置における値を含む例を表す。しかしながら、ビット105aが、ビット105aがフリップされる必要があることを示す、SBRアレイエントリ107aにおいて設定された有効値を有することが知られている。したがって、数値例では、ビット105aが値「0」として行106aから読み出された場合、「0」の読み出された値が不良であるので、その期待される値が「1」であることが知られている。しかしながら、新しい書込みが、ビット105aに書き込むために「0」の値を有することであった場合、「0」がビット105aにおける正しい値であり、したがって、SBRアレイエントリ107aにおいて設定されている有効ビットに基づいてフリップされるべきではない。したがって、値「0」に対応するビット105aにおける誤りの指標は、除去されなければならない。
したがって、図2E〜図2Hにおける行106aにデータを書き込むプロセスは、図2Dのブロック224'では、ビット105aに書き込まれるべきデータ値がビット105aの読み出されたデータ値と同じであることが見られるが、SBRアレイエントリ107aにおいて設定されている有効ビットによって誤った値として以前に指摘されていた点で、図2E〜図2Eにおいて上記で説明したものと異なる。したがって、意図された値が行106aの読み出された値とすでに一致しているので、書込み動作に従ってビット105aで上書きが実行される必要はない。図2Cのブロック224と同様に、それらの現在記憶されている値から変更されることになるすべての他のビットは、ブロック224'における書込み動作の目的のために更新され得る(もう一度、代替実施形態では、ブロック224'が、電力と、DIN111a[63:32]のすべてのビットを行106aに書き込み、必要に応じて第1のSBRアレイ104aを更新することとをトレードオフすることによって回避され得ることを念頭に置く)。
ブロック226'では(図2Hに示すように)、ビット105aへの書込み値がビット105aの先読出し値と一致する場合、SBRアレイエントリ107aは、有効ビットをリセットすることに基づいて、削除または無効化され得る。
ここで図3A〜図3Hを参照すると、代替実施形態が示されており、例示的なSBRアレイにおけるエントリのフォーマットは、図2A〜図2Hに関して上記で説明したものと異なる。重要なことに、図3A〜図3Hのこれらの代替実施形態による例示的なSBRアレイにおける1つまたは複数のエントリは、その中に格納された不良アドレスによって示される不良ビットの正しい値を示すために、「正しいフィールド」と呼ばれる追加のフィールドを含む。言い換えれば、上記で説明した実施形態でのように有効ビットに基づいて不良ビットがフリップされなければならないかどうかを示すのではなく、本明細書における代替実施形態のSBRアレイエントリは、識別された不良ビットにおいて存在しなければならない正しい値を明示的に格納する。したがって、これらの代替実施形態では、SBRアレイエントリ107'a(別途図示せず)などの第1のSBRアレイ104aのエントリは、不良ビット105aに対応する不良アドレスを含み、不良アドレス107'aは、以前のように有効ビットおよび不良IO番号のためのフィールドを含み、加えて、正しいデータビット値を示す書込みデータビットフィールドも含む。したがって、SBRアレイエントリ107'aが有効なエントリを示す場合、ビット105aの正しい値は、書込みデータビット領域によって提供される。代替実施形態は、前記で説明したものと他の点で実質的に類似しており、したがって、以下の説明は、同様の態様の繰り返しを省略しつつ、相違点に焦点をあてる。
より詳細には、例示的SBRアレイを事前設定するための初期セットアップまたはリフレッシュ動作に関係する図3A〜図3Bのブロック302〜308は、図2A〜図2Bのブロック202〜208と実質的に同様である。重要な違いは、ブロック310にあり、図2Bのブロック210とは異なり、不良ビット105aの正しい値は、その書込みデータビットフィールド内のSBRアレイエントリ107'aのために作成されたエントリに書き込まれる。
上記の相違点を念頭において、上記のSBRアレイエントリ107'aによる不良ビット105aの指標による不良行106aに対する読出し動作の説明を、図3C〜図3Dを参照してここで始め、ブロック312〜316は、多くの態様において、図2C〜図2Dのブロック212〜216と同様である。ブロック312では、SBRアレイエントリ107'aは、行106aの読出しと一緒に、不良ビット105aの正しい値を示すその追加のフィールドを用いて読み出される。
図2Cのブロック214で説明したフリップ動作とは異なり、図3Cのブロック314では、行106aの読出し値は、SBRアレイエントリ107'aの書込みデータ値フィールドから得られたその正しい値で不良ビット105aを置き換えることによって変更される。
図2Dのブロック216と同様に、誤りチェックが図3Dのブロック316で実行され、追加の訂正が、必要に応じて、DOUT112a[63:32]上の訂正されたデータを出力する前に、ECCビットに基づいて実行される。
ここで、図3E〜図3Hを参照すると、不良ビットの先読み出しされた値が意図された新しい書込み値と異なるかどうかに基づく行106aへの書込み動作のための第1および第2のフレーバーがそれぞれ示されている。しかしながら、図2E〜図2Fと図2G〜図2Hとの間の違いとは異なり、不良ビット105aの正しい値がSBRアレイエントリ107'aから利用可能であり、したがって、不良ビットの先読出し値が意図された新しい書込み値と異なるかどうかについての特別な配慮を含む必要がないので、図3E〜図3Fと図3G〜図3Hとの間に違いは実質的にない。
より詳細には、図3E、図3Gのブロック322、および図2E、図2Gのブロック222は、同様であり、先読み出しが行106aに対して実行され、行106aは、新しい値を行106aに書き込む前に、最初に読み出される。しかしながら、不良ビット105aへの意図された新しい書込み値が不良ビット105aの先読出し値と異なる図3Eのブロック324と、不良ビット105aへの意図された新しい書込み値が不良ビット105aの先読出し値と異なる図3Gのブロック324'の両方において、意図された新しい書込み値が行106a内のビット105aに書き込まれるかどうかは、関係ない。これは、図3Fのブロック326ならびに図3Hのブロック326'の両方において、正しい値が不良アドレス107'aの書込みデータビット値フィールドにおいて常に更新されることになるからである。
再度、ブロック324および324'に示すもの以外の代替実施態様では、たとえば、電力の節約と設計の単純さとをトレードオフするために、以前に格納されたビットとは異なるビットのみではなく、行106a全体に新しい書込み値を書き込むことができることが理解されるであろう。
実施形態は、本明細書で開示したプロセス、機能、および/またはアルゴリズムを実行するための様々な方法を含むことが理解されるであろう。たとえば、図4に示すように、実施形態は、メモリアレイ(たとえば、メモリデバイス100)内のビット不良を訂正する方法を含み得、方法は、メモリアレイを第1のバンク(たとえば、第1のバンク102a)および第2のバンク(たとえば、第2のバンク102b)に分割するステップ-ブロック402と、第1のバンク内に格納された第1の行(たとえば、第1の行106a)内の第1の不良ビット(たとえば、ビット105a)における不良を決定するステップ-ブロック404と、第1の不良ビットの第1の指標(たとえば、SBRアレイエントリ107a)を第1の単一ビット修復(SBR)アレイ(たとえば、第1のSBRアレイ104a)内に格納するステップとを備え、第1のSBRアレイは、メモリアクセス動作の間の第1のバンクおよび第1のSBRアレイの並列アクセスを可能にするために第2のバンク内に格納される-ブロック406。
当業者は、情報および信号が、様々な異なる技術および技法のいずれかを使用して表され得ることを理解するであろう。たとえば、上記の説明全体にわたって参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表されてもよい。
さらに、当業者は、本明細書で開示した実施形態に関連して説明した様々な例示的論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実現され得ることを理解するであろう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップは、上記では概してそれらの機能に関して説明してきた。そのような機能性がハードウェアとして実現されるか、またはソフトウェアとして実現されるかは、具体的な適用例およびシステム全体に課される設計制約によって決まる。当業者は、説明された機能性を特定の適用例ごとに様々なやり方で実施することができるが、そのような実施判断が、本発明の範囲からの逸脱を引き起こすと解釈されるべきではない。
本明細書で開示した実施形態に関連して説明した方法、シーケンス、および/またはアルゴリズムは、直接ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、またはこれら2つの組合せにおいて具体化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野において知られている任意の他の形の記憶媒体中に存在してもよい。例示的記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替では、記憶媒体は、プロセッサと一体であり得る。
したがって、本発明の一実施形態は、抵抗性メモリデバイス内の不良ビット修復のための方法を具体化するコンピュータ可読媒体を含み得る。したがって、本発明は、例示した例に限定されず、本明細書で説明した機能を実行するための任意の手段は、本発明の実施形態に含まれる。
前述の開示は、本発明の例示的実施形態を示しているが、様々な変更および修正は、添付の特許請求の範囲によって定義される本発明の範囲から逸脱することなく本明細書中でなされ得る。本明細書で説明する本発明の実施形態による方法クレームの機能、ステップ、および/または動作は、任意の特定の順序で実行される必要はない。さらに、本発明の要素は、単数形で説明または特許請求されていることがあるが、単数形への限定が明示的に述べられていない限り、複数形が企図される。
100 メモリデバイス
102a 第1のバンク
102b 第2のバンク
104a 第1のSBRアレイ
104b 第2のSBRアレイ
105a ビットセル、不良ビット
106a 不良行
107a SBRアレイエントリ
108a ECCビット
108b ECCビット
110 アドレスコマンド
111a バスDIN
111b DIN
112a DOUT
112b DOUT
114 デコーダ
116 グローバル制御ロジック
118a ローカルデータライン(LDP)
118b ローカルデータライン(LDP)
120a グローバルデータライン(GDP)
120b グローバルデータライン(GDP)

Claims (19)

  1. メモリアレイ内のビット不良を訂正する方法であって、
    前記メモリアレイの第1のバンク内に格納された第1の行内の第1の不良ビットにおける不良を決定するステップと、
    前記第1の不良ビットの第1のアドレスを第1の単一ビット修復(SBR)アレイ内に格納するステップと
    前記第1のアドレスにおける前記第1の不良ビットの値が前記不良により反転されていることを示すために前記第1のSBRアレイ内に有効フィールドを格納するステップであって、前記第1のアドレスが前記第1の不良ビットの完全なアドレスであり、前記第1のSBRアレイが前記メモリアレイの第2のバンク内に格納され、前記第1のバンクおよび前記第1のSBRアレイが並列にアクセス可能である、ステップと、
    前記第1のバンク内に格納された前記第1の行と前記第2のバンク内に格納された前記第1のSBRアレイとに並列にアクセスするステップと、
    前記第1の行のための読出し動作、またはリフレッシュ動作の間、前記第1のアドレスにおける前記第1の行から読み出されたビット値を反転することによって、前記第1の不良ビットにおける前記不良を訂正するステップと
    を備え
    前記第1のバンク内に格納された前記第1の行が、データワードの上半分または上位ビットを備え、前記第2のバンク内に格納された第2の行が、前記データワードの下半分または下位ビットを備える、方法。
  2. 前記第1のバンクの前記第1の行への新しい第1の行の書込み動作の間、
    前記第1のSBRアレイが前記第1の行内の前記第1の不良ビットの前記第1のアドレスを備えることを決定するステップと、
    前記第1のバンク内に格納された前記第1の行を読み出すステップと、
    前記第1のアドレスに基づいて前記第1の不良ビットの位置における前記新しい第1の行と前記読み出された第1の行のビット値を比較するステップと、
    前記第1のバンクに前記新しい第1の行を書き込むステップと、
    前記比較に基づいて前記第1のSBRアレイを更新するステップと
    を備える、請求項1に記載の方法。
  3. 前記新しい第1の行と前記読み出された第1の行のすべてのビットを比較するステップと、前記読み出された第1の行とは異なる前記新しい第1の行のビットのみを前記第1のバンクに選択的に書き込むステップとをさらに備える、請求項2に記載の方法。
  4. 前記第1のSBRアレイが、前記第1の不良ビットの正しい値を備える正しいフィールドをさらに備える、請求項1に記載の方法。
  5. 前記第1の行のための読出し動作、またはリフレッシュ動作の間、前記第1の不良ビットにおける前記不良を訂正するステップが、
    前記第1の行から読み出されたビット値を前記第1のアドレスにおける前記正しい値で置き換えるステップを備える、請求項4に記載の方法。
  6. 前記第1のバンクの前記第1の行への新しい第1の行の書込み動作の間、
    前記第1のSBRアレイが前記第1の行内の前記第1の不良ビットの前記第1のアドレスを備えることを決定し、
    前記第1のバンク内に格納された前記第1の行を読み出し、
    前記第1のアドレスに基づいて前記第1の不良ビットの位置における前記新しい第1の行と前記読み出された第1の行のビット値を比較し、
    前記第1のバンクに前記新しい第1の行を書き込み、
    前記比較に基づいて前記第1のSBRアレイを更新する、請求項4に記載の方法。
  7. 新しい第1の行と前記読み出された第1の行のすべてのビットを比較するステップと、前記読み出された第1の行とは異なる前記新しい第1の行のビットのみを前記第1のバンクに選択的に書き込むステップとをさらに備える、請求項4に記載の方法。
  8. 前記メモリアレイが、MRAMアレイであり、前記不良が、前記第1の不良ビットにおいて形成された磁気トンネル接合(MTJ)セルのバリア層のMgO破損に対応するハード不良を備える、請求項1に記載の方法。
  9. 第1のメモリバンクと、
    第2のメモリバンクと、
    第2のメモリバンク内に格納された第1の単一ビット修復(SBR)アレイであって、前記第1のSBRアレイが、前記第1のメモリバンクの第1の行内の第1の不良ビットにおける不良の第1のアドレスと、前記第1の不良ビットの値が前記第1のアドレスにおいて反転されていることを示す有効フィールドとを格納するように構成され、前記第1のアドレスが、前記第1の不良ビットの完全なアドレスであり、前記第1のメモリバンクおよび前記第1のSBRアレイが、並列にアクセスされるように構成された、第1のSBRアレイと、
    前記第1の行のための読出し動作、またはリフレッシュ動作の間、前記第1のアドレスにおける前記第1の行から読み出されたビット値を反転するための論理手段を有する前記第1の不良ビットの訂正のための論理手段と
    を備え
    前記第1のメモリバンク内に格納された前記第1の行が、データワードの上半分または上位ビットを備え、前記第2のメモリバンク内に格納された第2の行が、前記データワードの下半分または下位ビットを備える、メモリデバイス。
  10. 前記第1のSBRアレイが前記第1の行内の前記第1の不良ビットの前記第1のアドレスを備えることを決定し、
    前記第1のメモリバンク内に格納された前記第1の行を読み出し、
    前記第1のアドレスに基づいて前記第1の不良ビットの位置における書き込まれるべき新しい第1の行と前記読み出された第1の行のビット値を比較し、
    前記第1のメモリバンクに前記新しい第1の行を書き込み、
    前記比較に基づいて前記第1のSBRアレイを更新する
    ように構成された書込み論理手段をさらに備える、請求項9に記載のメモリデバイス。
  11. 前記書込み論理手段は、前記新しい第1の行と前記読み出された第1の行のすべてのビットを比較し、前記読み出された第1の行とは異なる前記新しい第1の行のビットのみを第1のバンクに選択的に書き込むようにさらに構成される、請求項10に記載のメモリデバイス。
  12. 前記第1のSBRアレイが、前記第1の不良ビットの正しい値を備える正しいフィールドをさらに備える、請求項9に記載のメモリデバイス。
  13. 前記第1の行から読み出されたビット値を前記第1のアドレスにおける前記正しい値で置き換えるように構成された読出し論理手段をさらに備える、請求項12に記載のメモリデバイス。
  14. 前記第1のSBRアレイが前記第1の行内の前記第1の不良ビットの前記第1のアドレスを備えることを決定し、
    前記第1のメモリバンク内に格納された前記第1の行を読み出し、
    前記第1のアドレスに基づいて前記第1の不良ビットの位置における書き込まれるべき新しい第1の行と前記読み出された第1の行のビット値を比較し、
    前記第1のメモリバンクに前記新しい第1の行を書き込み、
    前記比較に基づいて前記第1のSBRアレイを更新する
    ように構成された書込み論理手段をさらに備える、請求項12に記載のメモリデバイス。
  15. 書込み論理手段が、新しい第1の行と前記読み出された第1の行のすべてのビットを比較し、前記読み出された第1の行とは異なる前記新しい第1の行のビットのみを第1のバンクに選択的に書き込むようにさらに構成される、請求項12に記載のメモリデバイス。
  16. 前記メモリデバイスが、MRAMアレイであり、前記不良が、前記第1の不良ビットにおいて形成された磁気トンネル接合(MTJ)セルのバリア層のMgO破損に対応するハード不良を有する、請求項9に記載のメモリデバイス。
  17. プロセッサによって実行されると、前記プロセッサにメモリアレイ内のビット不良を訂正するための動作を実行させるコードを備える非一時的コンピュータ可読記憶媒体であって、前記非一時的コンピュータ可読記憶媒体は、
    前記メモリアレイの第1のバンク内に格納された第1の行内の第1の不良ビットにおける不良を決定するためのコードと、
    前記第1の不良ビットの第1のアドレスを第1の単一ビット修復(SBR)アレイ内に格納するためのコードと、
    前記第1のアドレスにおける前記第1の不良ビットの値が前記不良により反転されていることを示すために前記第1のSBRアレイ内に有効フィールドを格納するためのコードであって、前記第1のアドレスが前記第1の不良ビットの完全なアドレスであり、前記第1のSBRアレイが前記メモリアレイの第2のバンク内に格納され、前記第1のバンクおよび前記第1のSBRアレイが並列にアクセス可能である、コードと、
    前記第1のバンク内に格納された前記第1の行と前記第2のバンク内に格納された前記第1のSBRアレイとに並列にアクセスするためのコードと、
    前記第1の行のための読出し動作、またはリフレッシュ動作の間、前記第1のアドレスにおける前記第1の行から読み出されたビット値を反転することによって、前記第1の不良ビットにおける前記不良を訂正するためのコードと
    を備え、
    前記第1のバンク内に格納された前記第1の行が、データワードの上半分または上位ビットを備え、前記第2のバンク内に格納された第2の行が、前記データワードの下半分または下位ビットを備える、非一時的コンピュータ可読記憶媒体。
  18. 第2のSBRアレイ内の前記第2のバンクの第2の行の第2の不良ビットの第2のアドレスを格納するステップをさらに備え、前記第2のSBRアレイが前記第1のバンク内に格納され、前記第2の行および前記第2のSBRアレイが、前記第2の行の読出し動作の間、並列にアクセス可能である、請求項1に記載の方法。
  19. 前記第1のメモリバンク内に格納された第2のSBRアレイをさらに備え、前記第2のSBRアレイが、前記第2のメモリバンクの第2の行における第2の不良ビットの第2のアドレスを格納するように構成され、前記第2のメモリバンクおよび前記第2のSBRアレイが、前記第2の行の読出し動作の間、並列にアクセス可能である、請求項9に記載のメモリデバイス。
JP2016543222A 2014-01-08 2014-12-12 抵抗性メモリのビット不良のリアルタイム訂正 Expired - Fee Related JP6126313B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/150,559 US9552244B2 (en) 2014-01-08 2014-01-08 Real time correction of bit failure in resistive memory
US14/150,559 2014-01-08
PCT/US2014/069984 WO2015105624A1 (en) 2014-01-08 2014-12-12 Real time correction of bit failure in resistive memory

Publications (3)

Publication Number Publication Date
JP2017502445A JP2017502445A (ja) 2017-01-19
JP2017502445A5 JP2017502445A5 (ja) 2017-03-30
JP6126313B2 true JP6126313B2 (ja) 2017-05-10

Family

ID=52293223

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016543222A Expired - Fee Related JP6126313B2 (ja) 2014-01-08 2014-12-12 抵抗性メモリのビット不良のリアルタイム訂正

Country Status (6)

Country Link
US (1) US9552244B2 (ja)
EP (1) EP3092649B1 (ja)
JP (1) JP6126313B2 (ja)
KR (1) KR101746701B1 (ja)
CN (1) CN105917413B (ja)
WO (1) WO2015105624A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170132095A1 (en) * 2014-03-28 2017-05-11 Hewlett Packard Enterprise Development Lp Data restoration
US9836349B2 (en) * 2015-05-29 2017-12-05 Winbond Electronics Corp. Methods and systems for detecting and correcting errors in nonvolatile memory
US9933954B2 (en) * 2015-10-19 2018-04-03 Nxp Usa, Inc. Partitioned memory having pipeline writes
JP2019045910A (ja) 2017-08-29 2019-03-22 東芝メモリ株式会社 半導体記憶装置
US10643722B2 (en) 2018-01-12 2020-05-05 Taiwan Semiconductor Manufacturing Co., Ltd. Memory device
DE102018126051A1 (de) 2018-01-12 2019-07-18 Taiwan Semiconductor Manufacturing Co. Ltd. Neuartige Speichervorrichtung
US11521697B2 (en) 2019-01-30 2022-12-06 STMicroelectronics International, N.V. Circuit and method for at speed detection of a word line fault condition in a memory circuit
US11393532B2 (en) 2019-04-24 2022-07-19 Stmicroelectronics International N.V. Circuit and method for at speed detection of a word line fault condition in a memory circuit

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2515097B2 (ja) * 1985-10-08 1996-07-10 日本テキサス・インスツルメンツ 株式会社 半導体記憶装置
JPH01165100A (ja) * 1988-08-26 1989-06-29 Hitachi Ltd 半導体メモリ
US5999463A (en) * 1997-07-21 1999-12-07 Samsung Electronics Co., Ltd. Redundancy fuse box and semiconductor device including column redundancy fuse box shared by a plurality of memory blocks
JP2002008390A (ja) * 2000-06-16 2002-01-11 Fujitsu Ltd 冗長セルを有するメモリデバイス
US6762952B2 (en) * 2002-05-01 2004-07-13 Hewlett-Packard Development Company, L.P. Minimizing errors in a magnetoresistive solid-state storage device
US6879530B2 (en) 2002-07-18 2005-04-12 Micron Technology, Inc. Apparatus for dynamically repairing a semiconductor memory
US7415640B1 (en) * 2003-10-13 2008-08-19 Virage Logic Corporation Methods and apparatuses that reduce the size of a repair data container for repairable memories
JP4062247B2 (ja) * 2003-12-11 2008-03-19 ソニー株式会社 半導体記憶装置
US8032816B2 (en) 2007-06-01 2011-10-04 International Business Machines Corporation Apparatus and method for distinguishing temporary and permanent errors in memory modules
US7849383B2 (en) * 2007-06-25 2010-12-07 Sandisk Corporation Systems and methods for reading nonvolatile memory using multiple reading schemes
US20090132876A1 (en) * 2007-11-19 2009-05-21 Ronald Ernest Freking Maintaining Error Statistics Concurrently Across Multiple Memory Ranks
US8086913B2 (en) * 2008-09-11 2011-12-27 Micron Technology, Inc. Methods, apparatus, and systems to repair memory
US7830726B2 (en) * 2008-09-30 2010-11-09 Seagate Technology Llc Data storage using read-mask-write operation
JP2011008850A (ja) * 2009-06-24 2011-01-13 Sony Corp メモリ及び情報処理方法
US8839053B2 (en) 2010-05-27 2014-09-16 Microsoft Corporation Error correcting pointers for non-volatile storage
US8856614B2 (en) * 2010-07-29 2014-10-07 Kabushiki Kaisha Toshiba Semiconductor memory device detecting error
JP2012033222A (ja) * 2010-07-29 2012-02-16 Toshiba Corp 半導体記憶装置およびその制御方法
US8467258B2 (en) 2010-08-30 2013-06-18 Taiwan Semiconductor Manufacturing Co., Ltd. Method and apparatus for bit cell repair
US20120173921A1 (en) * 2011-01-05 2012-07-05 Advanced Micro Devices, Inc. Redundancy memory storage system and a method for controlling a redundancy memory storage system
JP5377526B2 (ja) 2011-01-13 2013-12-25 株式会社東芝 不揮発性半導体記憶装置
JP5204868B2 (ja) * 2011-04-12 2013-06-05 シャープ株式会社 半導体記憶装置
KR20130049332A (ko) 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
US8996936B2 (en) * 2011-12-08 2015-03-31 Sandisk Technologies Inc. Enhanced error correction in memory devices
US9110824B2 (en) * 2012-06-08 2015-08-18 Silicon Motion Inc. Method, controller, and memory device for correcting data bit(s) of at least one cell of flash memory

Also Published As

Publication number Publication date
EP3092649A1 (en) 2016-11-16
WO2015105624A1 (en) 2015-07-16
EP3092649B1 (en) 2018-10-31
KR101746701B1 (ko) 2017-06-13
JP2017502445A (ja) 2017-01-19
CN105917413A (zh) 2016-08-31
KR20160106091A (ko) 2016-09-09
US20150194201A1 (en) 2015-07-09
CN105917413B (zh) 2019-04-19
US9552244B2 (en) 2017-01-24

Similar Documents

Publication Publication Date Title
JP6126313B2 (ja) 抵抗性メモリのビット不良のリアルタイム訂正
CN109997190B (zh) 从利用动态冗余寄存器的存储器设备读取数据的方法
TWI528365B (zh) 半導體記憶裝置
US9552256B2 (en) Semiconductor memory device including non-volatile memory, cache memory, and computer system
US7861138B2 (en) Error correction in memory devices
TWI690933B (zh) 可變電阻隨機存取記憶體
US10108512B2 (en) Validation of memory on-die error correction code
TWI384355B (zh) 記憶體陣列錯誤校正裝置,系統及方法
TWI587297B (zh) 半導體儲存裝置
US8910018B2 (en) Memory with dynamic error detection and correction
TWI670717B (zh) 記憶裝置及記憶體系統
KR20140055737A (ko) 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
JP2017502445A5 (ja)
JP2016152050A (ja) 半導体記憶装置及び半導体集積回路装置
CN113312229A (zh) 用于存储器装置的测试方法和测试装置的操作方法
TWI527049B (zh) 操作記憶體之方法及記憶體裝置
US9001609B2 (en) Hybrid latch and fuse scheme for memory repair
US20150067444A1 (en) Semiconductor storage device and memory system
CN115349149A (zh) 使用存储器内建自测试的参考位测试和修复
JP2015210837A (ja) 半導体装置及びデータ訂正方法
GB2577659A (en) Bad Bit Register for Memory
JP2020524871A5 (ja)

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170223

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170223

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170223

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170303

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170406

R150 Certificate of patent or registration of utility model

Ref document number: 6126313

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees