(57)【要約】  抵抗性メモリデバイス内のビット不良を訂正するためのシステムおよび方法は、メモリデバイスを第1のメモリバンクと第2のメモリバンクとに分割することを含む。第1の単一ビット修復(SBR)アレイは、第2のメモリバンク内に格納され、第1のSBRアレイは、第1のメモリバンクの第1の行内の第1の不良ビットにおける不良の第1の指標を格納するように構成される。第1のメモリバンクおよび第1のSBRアレイは、メモリアクセス動作の間、並列にアクセスされるように構成される。同様に、第1のメモリバンク内に格納された第2のSBRアレイは、第2のメモリバンク内のビットの不良の指標を格納し得、第2のSBRアレイおよび第2のメモリバンクは、並列にアクセスされ得る。したがって、第1および第2のメモリバンク内のビット不良は、リアルタイムで訂正され得る。
2017502445.tif 000002
【特許請求の範囲】
【請求項１】
メモリアレイ内のビット不良を訂正する方法であって、
前記メモリアレイを第1のバンクおよび第2のバンクに分割するステップと、
第1のバンク内に格納された第1の行内の第1の不良ビットにおける不良を決定するステップと、
前記第1の不良ビットの第1の指標を第1の単一ビット修復(SBR)アレイ内に格納するステップと
を備え、前記第1のSBRアレイが、メモリアクセス動作の間の前記第1のバンクおよび前記第1のSBRアレイの並列アクセスを可能にするために前記第2のバンク内に格納される、方法。
【請求項２】
前記第1の指標が、前記第1の行内の前記第1の不良ビットの第1のアドレスと、前記第1の不良ビットの値が前記不良により反転されたことを示すための有効フィールドとを備える、請求項1に記載の方法。
【請求項３】
前記第1の行のための読出し動作、またはリフレッシュ動作の間、
前記第1のSBRアレイが前記第1の行内の前記第1の不良ビットの前記第1の指標を備えることを決定し、
前記第1のアドレスにおいて前記第1の行から読み出されたビット値を反転する、請求項2に記載の方法。
【請求項４】
前記第1のバンクの前記第1の行への新しい第1の行の書込み動作の間、
前記第1のSBRアレイが前記第1の行内の前記第1の不良ビットの前記第1の指標を備えることを決定し、
前記第1のバンク内に格納された前記第1の行を読み出し、
前記第1のアドレスに基づいて前記第1の不良ビットの位置における前記新しい第1の行と前記読み出された第1の行のビット値を比較し、
前記第1のバンクに前記新しい第1の行を書き込み、
前記比較に基づいて前記第1の指標を更新する、請求項2に記載の方法。
【請求項５】
前記新しい第1の行と前記読み出された第1の行のすべてのビットを比較するステップと、前記読み出された第1の行とは異なる前記新しい第1の行のビットのみを前記第1のバンクに選択的に書き込むステップとをさらに備える、請求項4に記載の方法。
【請求項６】
前記第1の指標が、前記第1の行内の前記第1の不良ビットの第1のアドレスと、前記第1の不良ビットの正しい値を備える正しいフィールドとを備える、請求項1に記載の方法。
【請求項７】
前記第1の行のための読出し動作、およびリフレッシュ動作の間、
前記第1のSBRアレイが前記第1の行内の前記第1の不良ビットの前記第1の指標を備えることを決定し、
前記第1の行から読み出されたビット値を前記第1のアドレスにおける前記正しい値で置き換える、請求項6に記載の方法。
【請求項８】
前記第1のバンクの前記第1の行への新しい第1の行の書込み動作の間、
前記第1のSBRアレイが前記第1の行内の前記第1の不良ビットの前記第1の指標を備えることを決定し、
前記第1のバンク内に格納された前記第1の行を読み出し、
前記第1のアドレスに基づいて前記第1の不良ビットの位置における前記新しい第1の行と前記読み出された第1の行のビット値を比較し、
前記第1のバンクに前記新しい第1の行を書き込み、
前記比較に基づいて前記第1の指標を更新する、請求項6に記載の方法。
【請求項９】
前記新しい第1の行と前記読み出された第1の行のすべてのビットを比較するステップと、前記読み出された第1の行とは異なる前記新しい第1の行のビットのみを前記第1のバンクに選択的に書き込むステップとをさらに備える、請求項6に記載の方法。
【請求項１０】
前記メモリアレイが、MRAMアレイであり、前記不良が、前記第1の不良ビットにおいて形成された磁気トンネル接合(MTJ)セルのバリア層のMgO破損に対応するハード不良を備える、請求項1に記載の方法。
【請求項１１】
第1のメモリバンクと、
第2のメモリバンクと、
第2のメモリバンク内に格納された第1の単一ビット修復(SBR)アレイと
を備え、前記第1のSBRアレイが、前記第1のメモリバンクの第1の行内の第1の不良ビットにおける不良の第1の指標を格納するように構成され、前記第1のメモリバンクおよび前記第1のSBRアレイが、メモリアクセス動作の間に並列にアクセスされるように構成された、メモリデバイス。
【請求項１２】
前記第1の指標が、前記第1の行内の前記第1の不良ビットの第1のアドレスと、前記第1の不良ビットの値が前記不良により反転されたことを示すための有効フィールドとを備える、請求項11に記載のメモリデバイス。
【請求項１３】
前記第1のSBRアレイが前記第1の行内の前記第1の不良ビットの前記第1の指標を備えることを決定し、
前記第1のアドレスにおいて前記第1の行から読み出されたビット値を反転するように構成された読出しロジックをさらに備える、請求項12に記載のメモリデバイス。
【請求項１４】
前記第1のSBRアレイが前記第1の行内の前記第1の不良ビットの前記第1の指標を備えることを決定し、
前記第1のバンク内に格納された前記第1の行を読み出し、
前記第1のアドレスに基づいて前記第1の不良ビットの位置における書き込まれるべき新しい第1の行と前記読み出された第1の行のビット値を比較し、
前記第1のバンクに前記新しい第1の行を書き込み、
前記比較に基づいて前記第1の指標を更新するように構成された書込みロジックをさらに備える、請求項12に記載のメモリデバイス。
【請求項１５】
前記書込みロジックが、前記新しい第1の行と前記読み出された第1の行のすべてのビットを比較し、前記読み出された第1の行とは異なる前記新しい第1の行のビットのみを前記第1のバンクに選択的に書き込むようにさらに構成された、請求項14に記載のメモリデバイス。
【請求項１６】
前記第1の指標が、前記第1の行内の前記第1の不良ビットの第1のアドレスと、前記第1の不良ビットの正しい値を備える正しいフィールドとを備える、請求項11に記載のメモリデバイス。
【請求項１７】
前記第1のSBRアレイが前記第1の行内の前記第1の不良ビットの前記第1の指標を備えることを決定し、
前記第1の行から読み出されたビット値を前記第1のアドレスにおける前記正しい値で置き換えるように構成された読出しロジックをさらに備える、請求項16に記載のメモリデバイス。
【請求項１８】
前記第1のSBRアレイが前記第1の行内の前記第1の不良ビットの前記第1の指標を備えることを決定し、
前記第1のバンク内に格納された前記第1の行を読み出し、
前記第1のアドレスに基づいて前記第1の不良ビットの位置における書き込まれるべき新しい第1の行と前記読み出された第1の行のビット値を比較し、
前記第1のバンクに前記新しい第1の行を書き込み、
前記比較に基づいて前記第1の指標を更新するように構成された書込みロジックをさらに備える、請求項16に記載のメモリデバイス。
【請求項１９】
前記書込みロジックが、前記新しい第1の行と前記読み出された第1の行のすべてのビットを比較し、前記読み出された第1の行とは異なる前記新しい第1の行のビットのみを前記第1のバンクに選択的に書き込むようにさらに構成された、請求項16に記載のメモリデバイス。
【請求項２０】
前記メモリアレイが、MRAMアレイであり、前記不良が、前記第1の不良ビットにおいて形成された磁気トンネル接合(MTJ)セルのバリア層のMgO破損に対応するハード不良を備える、請求項11に記載のメモリデバイス。
【請求項２１】
第1のメモリバンクと、
前記第1のメモリバンク内に格納された第1の行内の第1の不良ビットにおける不良を決定するための手段と、
前記第1のメモリバンクおよび前記第1の不良ビットの第1の指標を格納するための手段がメモリアクセス動作の間に並列にアクセス可能であるように、前記第1の指標を格納するための前記手段と
を備えるメモリシステム。
【請求項２２】
前記第1の行のための読出し動作、またはリフレッシュ動作の間、前記第1の指標を格納するための前記手段が前記第1の行内の前記第1の不良ビットの前記第1の指標を備えることを決定するための手段と、
前記第1の行から読み出されたビット値を前記第1のアドレスにおける前記正しい値で置き換えるための手段と
を備える、請求項21に記載のメモリシステム。
【請求項２３】
前記第1のバンクの前記第1の行への新しい第1の行の書込み動作の間、前記第1の指標を格納するための前記手段が前記第1の行内の前記第1の不良ビットの前記第1の指標を備えることを決定するための手段と、
前記第1のバンク内に格納された前記第1の行を読み出すための手段と、
前記第1のアドレスに基づいて前記第1の不良ビットの位置における前記新しい第1の行と前記読み出された第1の行のビット値を比較するための手段と、
前記第1のバンクに前記新しい第1の行を書き込むための手段と、
前記比較に基づいて前記第1の指標を更新するための手段と
を備える、請求項21に記載のメモリシステム。
【請求項２４】
プロセッサによって実行されたとき、メモリアレイ内のビット不良を訂正するための動作を前記プロセッサに実行させるコードを備える非一時的コンピュータ可読記憶媒体であって、
前記メモリアレイの第1のメモリバンク内に格納された第1の行内の第1の不良ビットにおける不良を決定するためのコードと、
前記第1のメモリバンクおよび前記第1の不良ビットの第1の指標がメモリアクセスの間に並列にアクセス可能であるように前記第1の指標を格納するためのコードと
を備える非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
開示された実施形態は、抵抗性メモリにおけるビット不良の検出および訂正を対象とする。より詳細には、例示的な実施形態は、抵抗性メモリアレイで同時にアクセス可能な単一ビット修復(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)
【図１】
2017502445.tif 000003
【図２Ａ】
2017502445.tif 000004
【図２Ｂ】
2017502445.tif 000005
【図２Ｃ】
2017502445.tif 000006
【図２Ｄ】
2017502445.tif 000007
【図２Ｅ】
2017502445.tif 000008
【図２Ｆ】
2017502445.tif 000009
【図２Ｇ】
2017502445.tif 000010
【図２Ｈ】
2017502445.tif 000011
【図３Ａ】
2017502445.tif 000012
【図３Ｂ】
2017502445.tif 000013
【図３Ｃ】
2017502445.tif 000014
【図３Ｄ】
2017502445.tif 000015
【図３Ｅ】
2017502445.tif 000016
【図３Ｆ】
2017502445.tif 000017
【図３Ｇ】
2017502445.tif 000018
【図３Ｈ】
2017502445.tif 000019
【図４】
2017502445.tif 000020
【手続補正書】
【提出日】平成28年7月11日(2016.7.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリアレイ内のビット不良を訂正する方法であって、
前記メモリアレイの第1のバンク内に格納された第1の行内の第1の不良ビットにおける不良を決定するステップと、
前記第1の不良ビットの第1のアドレスを第1の単一ビット修復(SBR)アレイ内に格納し、前記第1のアドレスにおける前記第1の不良ビットの値が前記不良により反転されていることを示すために前記第1のSBRアレイ内に有効フィールドを格納するステップであって、前記第1のアドレスが前記第1の不良ビットの完全なアドレスであり、前記第1のSBRアレイが前記メモリアレイの第2のバンク内に格納され、前記第1のバンクおよび前記第2のバンクが並列にアクセス可能である、ステップと、
前記第1のバンク内に格納された前記第1の行と前記第2のバンク内に格納された前記第1のSBRアレイとに並列にアクセスするステップと、
前記第1の行のための読出し動作、またはリフレッシュ動作の間、前記第1のアドレスにおける前記第1の行から読み出されたビット値を反転することによって、前記第1の不良ビットにおける前記不良を訂正するステップと
を備える方法。
【請求項２】
前記第1のバンク内に格納された前記第1の行が、データワードの上半分または上位ビットを備え、前記第2のバンク内に格納された第2の行が、前記データワードの下半分または下位ビットを備える、請求項1に記載の方法。
【請求項３】
前記第1のバンクの前記第1の行への新しい第1の行の書込み動作の間、
前記第1のSBRアレイが前記第1の行内の前記第1の不良ビットの前記第1のアドレスを備えることを決定するステップと、
前記第1のバンク内に格納された前記第1の行を読み出すステップと、
前記第1のアドレスに基づいて前記第1の不良ビットの位置における前記新しい第1の行と前記読み出された第1の行のビット値を比較するステップと、
前記第1のバンクに前記新しい第1の行を書き込むステップと、
前記比較に基づいて前記第1のSBRアレイを更新するステップと
を備える、請求項1に記載の方法。
【請求項４】
前記新しい第1の行と前記読み出された第1の行のすべてのビットを比較するステップと、前記読み出された第1の行とは異なる前記新しい第1の行のビットのみを前記第1のバンクに選択的に書き込むステップとをさらに備える、請求項3に記載の方法。
【請求項５】
前記第1のSBRアレイが、前記第1の不良ビットの正しい値を備える正しいフィールドをさらに備える、請求項1に記載の方法。
【請求項６】
前記第1の行のための読出し動作、またはリフレッシュ動作の間、前記第1の不良ビットにおける前記不良を訂正するステップが、
前記第1の行から読み出されたビット値を前記第1のアドレスにおける前記正しい値で置き換えるステップを備える、請求項5に記載の方法。
【請求項７】
前記第1のバンクの前記第1の行への新しい第1の行の書込み動作の間、
前記第1のSBRアレイが前記第1の行内の前記第1の不良ビットの前記第1のアドレスを備えることを決定し、
前記第1のバンク内に格納された前記第1の行を読み出し、
前記第1のアドレスに基づいて前記第1の不良ビットの位置における前記新しい第1の行と前記読み出された第1の行のビット値を比較し、
前記第1のバンクに前記新しい第1の行を書き込み、
前記比較に基づいて前記第1のSBRアレイを更新する、請求項5に記載の方法。
【請求項８】
新しい第1の行と前記読み出された第1の行のすべてのビットを比較するステップと、前記読み出された第1の行とは異なる前記新しい第1の行のビットのみを前記第1のバンクに選択的に書き込むステップとをさらに備える、請求項5に記載の方法。
【請求項９】
前記メモリアレイが、MRAMアレイであり、前記不良が、前記第1の不良ビットにおいて形成された磁気トンネル接合(MTJ)セルのバリア層のMgO破損に対応するハード不良を備える、請求項1に記載の方法。
【請求項１０】
第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に記載のメモリデバイス。
【請求項１２】
前記メモリアレイが、MRAMアレイであり、第1の不良ビットが、前記第1の不良ビットにおいて形成された磁気トンネル接合(MTJ)セルのバリア層のMgO破損に対応するハード不良を有する、請求項10に記載のメモリデバイス。
【請求項１３】
請求項1から9のいずれか一項に記載の方法を実行するための手段を備える装置。
【請求項１４】
請求項1から9のいずれか一項に記載の方法をコンピュータまたはプロセッサに実行させるための命令を備える、コンピュータ可読記録媒体。
【国際調査報告】
2017502445.tif 000021
2017502445.tif 000022