JP6275427B2 - メモリ制御回路およびキャッシュメモリ - Google Patents

メモリ制御回路およびキャッシュメモリ Download PDF

Info

Publication number
JP6275427B2
JP6275427B2 JP2013185676A JP2013185676A JP6275427B2 JP 6275427 B2 JP6275427 B2 JP 6275427B2 JP 2013185676 A JP2013185676 A JP 2013185676A JP 2013185676 A JP2013185676 A JP 2013185676A JP 6275427 B2 JP6275427 B2 JP 6275427B2
Authority
JP
Japan
Prior art keywords
error
data
unit
data storage
storage unit
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.)
Active
Application number
JP2013185676A
Other languages
English (en)
Other versions
JP2015052938A (ja
Inventor
口 紘 希 野
口 紘 希 野
田 忍 藤
田 忍 藤
部 恵 子 安
部 恵 子 安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013185676A priority Critical patent/JP6275427B2/ja
Priority to PCT/JP2014/073683 priority patent/WO2015034087A1/ja
Publication of JP2015052938A publication Critical patent/JP2015052938A/ja
Priority to US15/059,702 priority patent/US10042725B2/en
Application granted granted Critical
Publication of JP6275427B2 publication Critical patent/JP6275427B2/ja
Active 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • 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
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/1673Reading or sensing circuits or methods
    • 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/1675Writing or programming circuits or methods
    • 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/1677Verifying circuits or methods
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明の実施形態は、キャッシュメモリを制御するメモリ制御回路と、メモリ制御回路を内蔵するキャッシュメモリとに関する。
携帯情報端末に用いられるプロセッサは低消費電力であることが求められる。プロセッサの低消費電力化の手法の1つとして、待機電力の大きいSRAM(Static Random Access Memory)を用いたキャッシュメモリを、不揮発性素子を用いた不揮発性メモリで置き換える検討が進められている。例えば、MRAM(Magnetoresistive RAM)は、現在提案されている不揮発性メモリの中で高い書き換え耐性と、高速に読出しと書込みを行う動作性能と、高集積可能なセル面積の3つの利点を同時に併せ持つメモリである。MRAMは、他の不揮発性メモリに比べて高速であり、面積効率が従来のメモリより優れており、大容量化が可能であることから、MRAMをキャッシュメモリとして利用するべくプロセッサに実装することが期待されている。
しかしながら、高速動作が可能とされるMRAMの書き込みの信頼性とデータリテンション(データ保持)の信頼性は、従来のキャッシュメモリであるSRAMと比べると明らかに低い。また、電源遮断などを考慮に入れて要求されるデータ保持期間が数秒以上と長くなると、時間の長さに応じてデータ保持の信頼性が劣化する。
MRAMをキャッシュメモリとして利用するには、MRAMのデバイスばらつきによるエラーを訂正するために、ECC(Error Check and Correct)によるエラー訂正機構を実装する必要がある。ところが、ECCによるエラー訂正処理は、面積オーバーヘッドとレイテンシオーバーヘッドが大きいため、キャッシュメモリの特性に合わせたECCの実装が必要である。
MRAMのエラーの要因は、初期不良、書込み不良、リテンション不良、読出し不良の4つである。初期不良がデバイスの製造起因で生じた場合、ECCで必ず訂正する必要があり、またランタイムエラーに対処するために冗長ビットを追加しなければならない。
MRAMに限らずキャッシュメモリにおけるECC処理では、訂正できないエラーが発生した場合、エラー終了として処理され、実行中のプログラムを再起動する必要がある。
特開平10−240628号公報
本発明が解決しようとする課題は、キャッシュメモリのエラーでメモリアクセスが正常に行えなくなる障害を未然に防止可能なメモリ制御回路およびキャッシュメモリを提供することである。
本実施形態では、キャッシュメモリに書き込んだデータまたは前記キャッシュメモリから読み出したデータにエラーが含まれるか否かを検知するエラー検知部と、
前記エラー検知部で検知されたエラーを訂正するエラー訂正部と、
前記キャッシュメモリへのデータ書込時に書き込んだデータをベリファイのために読み出したデータ、あるいは前記キャッシュメモリからのデータ読み出し時に読み出したデータにエラーが含まれることが前記エラー検知部で検知された場合には、エラービット数が前記エラー訂正部で訂正可能な最大エラービット数に基づいて設定される所定の閾値より大きいか否かを判定するエラー判定部と、
前記エラー判定部での判定結果に基づいて、前記キャッシュメモリよりも低次のメモリにアクセスするか否かと、前記エラー訂正部によるエラー訂正を行うか否かと、を制御するアクセス制御部と、を備えるメモリ制御回路が提供される。
一実施形態に係るキャッシュメモリ1の概略構成を示すブロック図。 (a)は1T−1Rタイプの一例を示す回路図、(b)は2T−2Rタイプの一例を示す回路図。 データ読み出し部4の内部構成の一例を示すブロック図。 キャッシュコントローラ12の処理動作の一例を示すフローチャート。 ステップS4の詳細な処理手順の一例を示すフローチャート。
以下、図面を参照しながら、本発明の実施形態について説明する。
図1は一実施形態に係るキャッシュメモリ1の概略構成を示すブロック図である。図1のキャッシュメモリ1は、タグアレイ2と、データアレイ3と、データ読み出し部4と、第1比較回路5と、第2比較回路6と、選択回路7と、タグ一致信号生成部8と、ヒット判定部9と、ECCエラー検知部10と、ECCエラー訂正部11と、キャッシュコントローラ12とを備えている。図1のキャッシュメモリ1のうち、少なくとも、ECCエラー検知部10、ECCエラー訂正部11、およびキャッシュコントローラ12がメモリ制御回路に該当する。
タグアレイ2は、データアレイ3に格納される各データに対応するアドレスを格納する。タグアレイ2は、データアレイ3よりも頻繁にアクセスされるため、高い信頼性が要求される。このため、タグアレイ2内に格納されるアドレスのビット列には、ECCビットが所定のビット数分付加されている。ECCビットの数を増やすほど、訂正可能なエラービット数の数を増やすことができる。
図1では、タグアレイ2については、ECCエラー検知部10とECCエラー訂正部11を省略しているが、タグアレイ2内のアドレスのビット列にECCビットが付加されている場合は、タグアレイ2用のECCエラー検知部とECCエラー訂正部が必要となる。
データアレイ3は、セットアソシアティブであり、複数のウェイに分けてデータを格納する。各データのビット列は、ウェイごとの粒度(例えば512ビット幅)を有し、このビット列にECCビットが付加されている。
ECCでは、例えばハミング符号を用いたBCH符号などを用いることができる。BCH符号を用いた場合、ECCのために追加するビット数に応じてECCの信頼性が変動する。ECCの演算では、XOR(排他的論理和)しか用いない。一つのウェイが512ビットで構成されている場合、128ビットごとにデータを4つに分けて、128ビットのビット列に対して例えば14ビットのECCビットを付加する。この場合、データビットとECCビットを合わせたビット列の中に、ビットエラーが一つもなければ、エラーなしと判定できる。また、ビットエラーが一つだけあれば、ビットエラーが起こったことを検出できるとともに、どのビットがエラーを起こしたかを特定できる。この場合、エラーを起こしたビットを反転させることで、エラーを訂正できる。ビットエラーが二箇所にあれば、エラーが起きたことは検出できるが、どのビットでエラーが起きたかは特定できない。したがって、エラー訂正を行うことはできない。一方、ビットエラーが三箇所以上にあれば、エラーが起きたかどうかも正しく認識できず、誤った情報をプロセッサに返してしまう。
ECCのビット数を増減したり、データビット数の数を変更することで、ECCエラーの信頼度を変えることができる。
図1のデータ読み出し部4は、後述するように、データアレイ3の複数のビット線の中から、読み出しを行うメモリセルの接続されたビット線を選択し、選択したビット線の電圧をセンスする。
図1の第1比較回路5と第2比較回路6はそれぞれ、プロセッサがアクセス要求したアドレスの上位側ビット列であるタグビットを、タグアレイ2に格納されているタグビットと比較する。2種類の第1比較回路5と第2比較回路6が設けられている理由は、タグアレイ2が2つのウェイに分かれているためであり、ウェイの数分の比較部が必要となる。
タグ一致信号生成部8は、第1比較回路5と第2比較回路6の双方で一致が検出されると、アドレスが一致したことを示す信号を出力する。
選択回路7は、第1比較回路5と第2比較回路6の一方で一致が検出されると、一致したアドレスに基づいて、データアレイ3内の特定のウェイから対応するデータを読み出す。
ECCエラー検知部10は、選択回路7が読み出したデータに含まれるECCビットを用いて、このデータにエラーがあるか否かを検知する。ECCエラー訂正部11は、ECCエラー検知部10が検知したエラーを訂正する。ECCエラー検知部10でエラーが検知されなかった場合は、データアレイ3から読み出されたデータがそのまま出力されて、プロセッサに転送される。エラー訂正を行った後のデータをプロセッサに転送する場合と、エラーが検知されなかったデータをプロセッサに転送する場合とで、レイテンシが異なる。
ヒット判定部9は、データアレイ3から読み出したデータにエラーがない場合、あるいはエラー訂正可能なエラーが含まれる場合は、キャッシュヒットしたことを示す信号を出力し、それ以外はキャッシュミスしたことを示す信号を出力する。すなわち、ヒット判定部9は、ECCエラー訂正部11でエラー訂正できないデータは、キャッシュミスと判定する。この場合、キャッシュメモリ1よりも低次のキャッシュメモリ1またはメインメモリ(以下、低次メモリ)に対するアクセス要求が行われる。
キャッシュコントローラ12は、後述するように、ECCエラー検知部10、ECCエラー訂正部11およびヒット判定部9の処理結果に基づいて、キャッシュメモリ1および低次メモリに対するアクセスを制御する。
ECCにより救済されるエラーには、書き込み不良とリテンション不良の他に、製造に起因する初期不良がある。従来、初期不良は、フューズ素子を用いて冗長セルに置換するようにしており、初期不良を含むアドレスブロックへのアクセスは行われていなかった。ところが、初期不良は、0固定や1固定であることが多いため、たまたま書き込まれるビットが固定された値と同じである場合は、正常値を保持していると誤って判断してしまうおそれがあった。
本実施形態は、冗長セルへの置換は行わずに、あるいは、冗長セルへの置換を行うとしても、完全に初期不良をゼロにせずに、あるいは、当初は初期不良がゼロであっても経年劣化により不良ビットが発生する状況においても、キャッシュメモリ1を正常に動作させるものである。
まず、データ書き込み時の動作を説明する。データを書き込んだ後、すぐに書き込み検証(ベリファイ)のためにデータを読み出して、書き込んだ値と読み出した値とを比較する。このとき、エラーがなければ、書き込みは正常に完了したとして、特に追加の処理は行わない。書き込んだ値と読み出した値が異なっていた場合は、ECCエラー検知部10でエラーを検知可能かどうかと、ECCエラー訂正部11でエラーを訂正可能かどうかとを、不一致ビットの個数から計算する。
エラー訂正可能な数のエラービット数でかつ、不一致ビットの個数が所定の閾値以上であった場合、その後、ECCによって訂正不能となる可能性が高いため、低次メモリにも同じデータをバックアップのため書き込んでおく。これは、ライトスルー(Write-through)方式でキャッシュを動作させることと同じである。本明細書では、キャッシュメモリにデータを書き込むのに並行して、同じデータを低次メモリにも書き込むモードをライトスルーモードと呼ぶ。
ここで、所定の閾値とは、ECCエラー訂正部11でエラーを訂正可能な最大ビット数に基づいて設定される値であり、より具体的には、最大ビット数以下の値である。閾値をエラー訂正可能な最大ビット数以下とすることで、実際のエラービット数が閾値を超えなければ、必ずECCエラー訂正部11でエラーを訂正できることになる。すなわち、閾値を低く設定するほど、エラーを訂正可能な余裕度が大きくなるが、ライトスルーで低次メモリにデータを書き込む頻度が高くなる。
エラー訂正可能な数のエラーで、なおかつ不一致ビットの個数が閾値以下であった場合は、エラー訂正不能となる確率は低いため、該当キャッシュにのみデータを格納する。これは、ライトバック(Write-back)方式でキャッシュメモリ1を動作させることと同じである。本明細書では、キャッシュメモリに書き込んだデータを、その後の所定のタイミングで、低次メモリに書き戻すモードをライトバックモードと呼ぶ。
また、エラー訂正がすでに不能となっている場合は、キャッシュメモリ1として機能しないことが予測されるため、データアレイ3内の別のウェイにデータを書き直す。このとき、最初に書いたウェイはdisableとして、対応するタグアレイ2も無効化する。
次に、データ読み出し時の動作を説明する。キャッシュメモリ1にいったん書き込んだデータは、リテンション特性の劣化等により、時間がたつにつれその信頼度が低下してしまうため、データ読み出し時のエラー発生具合により、適宜ダーティーなデータは下位のメモリ階層、すなわち低次メモリへのWrite-backを行う。
例えば、データの読出しアクセスに応答して、読み出したデータについてエラー検知を行い、エラーが発生していなければ、データの信頼度が高いため、その時点では、低次メモリへのデータの書き込みは行わない。また、エラーが検知されて、エラー訂正が可能なエラーの個数で、なおかつ閾値以下のエラー個数であった場合は、データの信頼度にまだ余裕があるため、やはり、この時点での低次メモリへの書き込みは行わない。一方、エラー訂正が可能なエラーの個数で、なおかつ閾値以上のエラー個数であった場合は、信頼度に余裕がないため、Dirtyなデータであれば、すなわち、低次メモリにまだ書き込んでいないデータであれば、低次メモリにデータを書き込む。これにより、DirtyなデータはCleanなデータとなり、キャッシュメモリ1内のデータがエラー訂正不能となっても、下位のメモリ階層(低次メモリ)にアクセスすれば正しいデータを取得できるため、プロセッサシステムが異常終了するおそれはない。
また、すでにエラー訂正不能な数のエラーが発生している場合、そのデータを使用することができないので、下位のメモリ階層(低次メモリ)にアクセスを行う。この時、エラー訂正不能な数のエラーが発生したデータがDirtyなデータであれば、正しいデータを失ったことになり、システムが異常終了する可能性がある。しかし、本実施形態では、閾値以上のエラーが発生した時点でライトスルーモードにて低次メモリにデータを書き込むため、エラー訂正可能なデータが低次メモリ内に存在することになり、プロセッサシステムが異常終了する可能性は非常に低い。また、高い頻度でシステムが異常終了する場合は、上述した閾値を低く設定すればよい。すなわち、システムを導入した直後は初期不良の選別ができておらず、閾値を低めに設定しておき、その後しばらくは、プロセッサシステムの経年劣化が少ないことから閾値を高めに設定し、次第に経年劣化が増大すると、閾値を再度低く設定するなどの制御を行うことで、初期不良や経年劣化による影響を受けずに、キャッシュメモリ1を安定動作させることができる。
スピン注入磁化反転型(STT:Spin transfer torque)MRAMは、低電圧動作および高速読み書きが可能であることから、キャッシュメモリ1に用いるのに適している。STT−MRAMに記憶したデータを読み出す手法として、MRAMセル内の磁気抵抗効果素子(例えばMTJ素子)を流れる電流を、参照セル内の参照抵抗を流れる電流と比較してデータ0と1を判別する1T−1Rタイプの読み出し方式が知られているが、より高速な読み出しを行うには、参照セルを用いない2T−2Rタイプの読み出し方式を採用するのが望ましい。
2T−2Rタイプでは、一対のビット線のそれぞれに接続されたMRAMセル内の磁気抵抗効果素子の抵抗値を互いに逆にしておき、それぞれの磁気抵抗効果素子を流れる電流同士を比較してデータ0と1を判別する。
2T−2Rタイプでは、参照セル内の参照抵抗を流れる電流との比較を行わずに、一対のビット線を用いて、一対の磁気抵抗効果素子を流れる電流の差を検出するため、1T−1Rタイプよりも、より高速な読み出しを実現できる。
また、1T−1Rタイプと2T−2Rタイプのいずれにおいても、ビット線を流れる電流を読み出する電流読み出し方式と、ビット線の電圧を読み出す電圧読み出し方式とがある。以下では、ビット線の経路にキャパシタを設けて電圧読み出しを行う例について説明する。
図2(a)の回路は、磁気抵抗効果素子APを有するMRAMセル31と、参照抵抗Refを有する参照セル32と、MRAMセル31からの電流が流れるビット線上に設けられるトランスファゲート33と、このトランスファゲート33の一端側に接続されるローカル容量CBLと、トランスファゲート33の他端側に接続されるグローバル容量CGLと、参照セル32からの電流が流れる参照ビット線上に設けられるトランスファゲート34と、このトランスファゲート34の一端側に接続されるローカル容量CREFと、トランスファゲート34の他端側に接続されるグローバル容量C/GLと、ビット線および参照ビット線に接続されるセンスアンプ4とを有する。
図2(b)の回路は、互いに異なる抵抗値の磁気抵抗効果素子AP,Pを有する一対のMRAMセル31,35と、各MRAMセル31,35からの電流が流れる一対のビット線上に設けられる一対のトランスファゲート33,34と、これら一対のトランスファゲート33,34の一端側に接続されるローカル容量CBL、C/BLと、これら一対のトランスファゲート33,34の他端側に接続されるグローバル容量CGL、C/GLと、一対のビット線に接続されるセンスアンプ4とを有する。
図2(a)の1T−1Rタイプでは、一つのMRAMセル31内の磁気抵抗効果素子APを流れる電流に応じた電荷を蓄積するローカル容量CBLとグローバル容量CGLを合成したキャパシタの一端側電圧を、参照セル32内の参照抵抗Refを流れる電流に応じた電荷を蓄積するローカル容量Crefとグローバル容量C/GLを合成したキャパシタの一端側電圧と比較して、データ0と1を決定する。参照抵抗Refは、磁気抵抗効果素子APが取り得る高抵抗と低抵抗との中間の抵抗値を有するため、磁気抵抗効果素子APの抵抗値が参照抵抗の抵抗値より大きいか小さいかで、データ0または1が決まる。
図2(b)の2T−2Rタイプでは、一対のビット線のそれぞれに接続されたMRAMセル31,35内の磁気抵抗効果素子AP,Pの抵抗値を互いに逆にしておき、それぞれの磁気抵抗効果素子AP,Pを流れる電流に応じた電荷を蓄積する各キャパシタの一端側電圧を互いに比較して、データ0と1を決定する。このように、2T−2Rタイプでは、一対のビット線を用いて差動でデータを読み出すため、1T−1Rタイプよりも高速にデータを読み出すことができる。
STT−MRAMにおいて、信頼性を低下させる要因となるのは、磁気抵抗効果素子の書き込み電流値やデータ保持時間のばらつきなどである。これらのばらつきにより、エラーが発生する。エラーの具体的な形態は、主に書込みエラー、読出しエラー、リテンションエラーの3つである。
ここで、2T−2Rタイプのセルで最も頻発するエラーは、一対のビット線に対応して設けられる一対の磁気抵抗効果抵抗素子が両方とも低抵抗、もしくは両方とも高抵抗になることによるエラーである。上述したように、2T−2Rタイプの読み出し方式では、一対のビット線に対応する一対の磁気抵抗効果素子を流れる電流を比較するため、一対の磁気抵抗効果素子がともに低抵抗または高抵抗になると、これら磁気抵抗効果素子を流れる電流に差異が生じなくなり、わずかな電流差をセンスして、誤ったデータを出力してしまうおそれがある。
上述した1T−1Rタイプの読み出し方式では、各ビット線に対応する磁気抵抗効果素子を流れる電流を、参照セル内の参照抵抗を流れる電流と比較するため、一対のビット線に対応する一対の磁気抵抗効果素子がともに低抵抗や高抵抗になったとしても、中間の抵抗値を持つ参照セルとの比較により、エラーを正しく検知できる。
そこで、本実施形態のデータ読み出し部4は、2T−2Rタイプの読み出し方式を基本としながらも、エラー検知時には1T−1Rタイプによる参照セルとの比較も行えるようにした新たな読み出し方式を採用する。
図3はデータ読み出し部4の内部構成の一例を示すブロック図である。図3のデータ読み出し部4は、カラムセレクタ21と、読み出し方式選択部22と、センスアンプ23とを有する。
カラムセレクタ21は、不図示のカラムデコーダから出力されるカラム選択信号CSLに基づいて、読み出しを行うべきMRAMセルが接続されたビット線を選択する。読み出し方式選択部22は、キャッシュコントローラ12から出力されるモード選択信号Modeに基づいて、2T−2Rタイプの読み出しを行うか、あるいは1T−1Rタイプの読み出しを行うかを選択する。
キャッシュコントローラ12は、通常は、2T−2Rタイプの読み出しを行うべくモード選択信号Modeの信号論理を設定し、エラーが検知された場合は、1T−1Rタイプの読み出しを行うべく、モード選択信号Modeの信号論理を切り替える。
図4はキャッシュコントローラ12の処理動作の一例を示すフローチャートである。このフローチャートは、プロセッサがあるアドレスに対してアクセス要求を行った場合に開始される。
まず、アクセス要求のあったアドレスがキャッシュメモリ1にヒットしたか否か、すなわちアクセス要求のあったアドレスのデータがキャッシュメモリ1に格納されているか否かを判定する(ステップS1)。ヒットしなかった場合は、アクセス要求は、書き込み要求か否かを判定する(ステップS2、第1読み書き判定部)。書き込み要求でなく、読み出し要求の場合は、アクセス要求のあったアドレスに対応するデータを低次メモリから読み出してキャッシュメモリ1に格納(ロード)するとともに、そのデータをプロセッサに転送する(ステップS3)。書き込み要求の場合は、書き込み要求のあったアドレスに対応するデータをキャッシュメモリ1に書き込む(ステップS4)。このステップS4では、キャッシュメモリ1に書き込んだデータのベリファイを行って、その結果に基づいて、ライトスルーモードかライトバックモードのいずれかを選択する。
図5はステップS4の詳細な処理手順の一例を示すフローチャートである。まず、キャッシュメモリ1に書き込んだデータを読み出して、書き込んだデータと読み出したデータとが一致するか否かのベリファイを行う(ステップS21)。
ステップS21で一致すれば、エラーがないと判断して、ライトバックモードを選択して、後に低次メモリに書き込むことにする(ステップS22)。ライトバックモードを選択するのは、キャッシュメモリ1に書き込んだデータにはエラーがなく、信頼度に余裕があることから、通常のキャッシュメモリ1と同様に、プロセッサからのアクセスがないときに低次メモリに書き込めばよいためである。
ステップS21で一致しないと判定された場合は、ECCエラー検知部10にて、エラービット数を検知し、検知されたエラービット数がECCエラー訂正部11で訂正できる最大エラービット数以下の所定の閾値以下か否かを判定する(ステップS23)。エラービット数が閾値以下であれば、信頼度に余裕があると判断して、やはりライトバックモードを選択して、後に低次メモリに書き込むことにする(ステップS24)。
ステップS23で、エラービット数が閾値より多いと判定されると、信頼度に余裕がないと判断して、ライトスルーモードを選択して、このデータを低次メモリにも書き込む(ステップS25)。ここで、ライトスルーモードを選択するのは、現時点でエラービット数が多いということは、経年劣化等でさらにエラーが増えて完全にエラー訂正できなくなるおそれがあることから、迅速に低次メモリにデータを書き込んで、将来的にキャッシュメモリ1内のデータが読み出し不能になっても、低次メモリから正しいデータを読み出せるようにするためである。
図4のステップS1で、キャッシュメモリ1にヒットしたと判定された場合、プロセッサによるアクセス要求が書き込み要求か否かを判定する(ステップS5、第2読み書き判定部)。書き込み要求の場合は、上述したステップS4と同様に、アクセス要求のあったアドレスに対応するデータをキャッシュメモリ1に書き込む(ステップS6)。このステップS5でも、図5と同様の処理を行って、ライトスルーモードかライトバックモードのいずれかを選択する。
ステップS5で読み出し要求と判定されると、アクセス要求のあったアドレスに対応するデータをキャッシュメモリ1から読み出し、読み出したデータにエラーがあるか否かをECCエラー検知部10にて判定する(ステップS7)。エラーがあると判定されると、エラービット数が上述した閾値以下か否かを判定する(ステップS8)。閾値以下と判定されると、エラーを訂正後のデータをプロセッサに転送するとともに、キャッシュメモリ1内のデータも更新する(ステップS9)。このステップS9では、経年劣化により、近い将来にエラー訂正不可能になるおそれもあるため、このアドレスのデータをまだ低次メモリに書き戻していなければ、すなわち、ダーティなデータであれば、低次メモリに書き戻す処理を行う。
ステップS8でエラービット数が閾値より大きいと判定されると、そのエラーがECCエラー訂正部11にて訂正可能であるか否かを判定する(ステップS10)。閾値は、ECCエラー訂正部11で訂正可能な最大エラービット数以下の値であり、実際のエラービット数が閾値より多くても、ECCエラー訂正部11でエラー訂正できる場合もある。そこで、ステップS10では、エラー訂正できるか否かを判定し、エラー訂正可能と判定されると、上述したステップS9に進んで、ECCエラー訂正部11にてエラー訂正を実行し、訂正後のデータをプロセッサに転送するとともに、キャッシュメモリ1内のデータも更新する。
ステップS10で訂正可能でないと判定されると、データ読み出し部4に入力されるモード選択信号Modeを切り替えて、1T−1R読み出し方式によるエラー検証を行うよう指示する(ステップS11)。次に、データ読み出し部4が1T−1R読み出し方式を実行して出力されたデータに対して、ECCエラー検知部10でエラー検知を行う。検知されたエラービット数が、ECCエラー訂正部11で訂正可能な最大エラービット数に基づいて設定される所定の閾値より多いか否かを判定する(ステップS12)。エラービット数が閾値より多いと判定されると、エラー訂正が不可能と判断して、読み出し要求のあったアドレスに対応するデータを低次メモリから読み出して、キャッシュメモリ1に格納するとともに、プロセッサに転送する(ステップS13)。エラービット数が閾値以下と判定されると、キャッシュメモリ1から読み出したデータをECCエラー訂正部11にてエラー訂正してキャッシュメモリ1内のデータを更新するとともに、プロセッサに転送する(ステップS14)。
ステップS7でエラーがないと判定されると、エラー訂正の処理を行わずに、キャッシュメモリ1から読み出したデータをプロセッサに転送する(ステップS15)。
図4のフローチャートにおいて、ステップS7、S8およびS11はエラー判定部に該当し、ステップS4、S6、S9、S13およびS14はアクセス制御部に該当する。
このように、本実施形態では、プロセッサからあるアドレスに対する書き込み要求があった場合は、キャッシュメモリ1に書き込んだデータを読み出してベリファイを行い、エラービット数が閾値以下であれば、信頼度に余裕があると判断してライトバックモードを選択し、エラービット数が閾値より多いと、エラー訂正ができない可能性が高いと判断してライトスルーモードを選択して、キャッシュメモリ1に書き込んだデータを、低次メモリにも書き込む。また、プロセッサからあるアドレスに対する読み出し要求があった場合は、キャッシュメモリ1から読み出したデータに対してエラー検知を行い、エラービット数が閾値以下であればエラー訂正後のデータをキャッシュメモリ1に書き込み、エラービット数が閾値より多ければエラー訂正不可能と判断して、低次メモリから対応するデータを読み出してキャッシュメモリ1内のデータを更新する。
キャッシュメモリ1に格納したデータは、経年劣化により、格納してからの期間が長くなるほど、エラーが発生しやすくなる。そこで、DRAMのリフレッシュと同様に、キャッシュメモリ1内のデータを定期的に読み出して再書き込みをする処理を行うのが望ましい。定期的に読み出すデータは、全データが望ましいが一部のデータでも良い。この処理の中で、図4の処理と同様に、エラー検知を行って、検知されたエラービット数を閾値と比較して、その比較結果に基づいて、必要に応じてライトスルーモードに切り替えるようにすれば、キャッシュメモリ1内のデータが経年劣化によるエラー増大により完全に読み出せなくなる前に、低次メモリへの書き込みを行うことができ、キャッシュメモリ1に対するアクセスの信頼度を向上できる。
以上により、本実施形態によれば、キャッシュメモリ1に書き込んだデータ、あるいはキャッシュメモリ1から読み出したデータにエラーが含まれる場合も、そのエラーが余裕をもって訂正できる場合は、キャッシュメモリ1からのデータを有効なものと扱うため、低次メモリへのアクセス頻度を下げることができて、高速アクセスが可能となる。
また、キャッシュメモリ1に書き込んだデータに含まれるエラービット数が、ECCエラー訂正部11で訂正可能な最大ビット数よりも小さい閾値以上であれば、キャッシュメモリ1内のデータを低次メモリにも書き込むため、キャッシュメモリ1内のデータのエラーにより誤動作を引き起こす等の不具合を未然に防止でき、信頼性が向上する。
さらに、本実施形態では、キャッシュメモリ1のメモリセルとしてMRAMセルを用いる場合に、一対のビット線に接続される一対の磁気抵抗効果素子の抵抗値がともに低抵抗または高抵抗になるエラーが発生したとしても、各磁気抵抗効果素子の抵抗値を、参照セル内の参照抵抗と比較することで、どの磁気抵抗効果素子でエラーが発生したかを正しく検知できる。
本発明の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本発明の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。
1 キャッシュメモリ、2 タグアレイ、3 データアレイ、4 データ読み出し部、5 第1比較回路、6 第2比較回路、7 選択回路、8 タグ一致信号生成部、9 ヒット判定部、10 ECCエラー検知部、11 ECCエラー訂正部、12 キャッシュコントローラ、31、35 MRAMセル、32 参照セル、33、34 トランスファゲート

Claims (11)

  1. データ記憶部に書き込んだデータまたは前記データ記憶部から読み出したデータにエラーが含まれるか否かを定期的に検知するエラー検知部と、
    前記エラー検知部で検知されたエラーを訂正するエラー訂正部と、
    前記データ記憶部へのデータ書込時に書き込んだデータをベリファイのために読み出したデータ、あるいは前記データ記憶部からのデータ読み出し時に読み出したデータにエラーが含まれることが前記エラー検知部で検知された場合には、エラービット数が前記エラー訂正部で訂正可能な最大エラービット数未満の数に対応する第1閾値より大きいか否かを判定する第1エラー判定部と、
    前記第1エラー判定部にて前記エラービット数が前記第1閾値より大きいと判定されると、前記エラービット数が前記最大エラービット数に対応する第2閾値より大きいか否かを判定する第2エラー判定部と、
    前記データ記憶部内のメモリセルについて、定期的に前記エラー検知部、前記エラー訂正部、前記第1エラー判定部および前記第2エラー判定部を動作させて、前記第1エラー判定部および前記第2エラー判定部での判定結果に基づいて、前記データ記憶部よりも下位のメモリに前記データ記憶部に格納されたデータを書き込むか否かと、前記エラー訂正部によるエラー訂正を行うか否かと、を制御するアクセス制御部と、を備えるメモリ制御回路。
  2. データ記憶部へのデータ書き込み時に行われるベリファイのために前記データ記憶部から読み出したデータにエラーが含まれるか否かを検知するエラー検知部と、
    前記エラー検知部でエラーが検知された場合には、エラービット数がエラー訂正部で訂正可能な最大エラービット数に基づいて設定される所定の閾値より大きいか否かを判定するエラー判定部と、
    前記エラービット数が前記閾値より大きいと判定された場合には、前記データ記憶部に書き込むべきデータを、ライトスルーモードにて前記データ記憶部よりも下位のメモリに書き込むアクセス制御部と、を備える、メモリ制御回路。
  3. データ記憶部から読み出したデータにエラーが含まれるか否かを定期的に検知するエラー検知部と、
    前記エラー検知部で検知されたエラーを訂正するエラー訂正部と、
    前記エラー検知部でエラーが検知された場合には、エラービット数が前記エラー訂正部で訂正可能な最大エラービット数に基づいて設定される所定の閾値より大きいか否かを判定するエラー判定部と、
    前記データ記憶部内のメモリセルについて、定期的に前記エラー検知部、前記エラー訂正部および前記エラー判定部を動作させて、前記エラービット数が前記閾値以下と判定された場合には、読み出した前記データ記憶部内のデータがまだ書き戻されていなければ、該データを前記データ記憶部よりも下位のメモリに書き戻すアクセス制御部と、を備える、メモリ制御回路。
  4. 磁気抵抗効果素子の抵抗変化をデータの記憶に利用する複数のMRAM(Magnetoresistive RAM)セルを有するデータ記憶部に書き込んだデータまたは前記データ記憶部から読み出したデータにエラーが含まれるか否かを検知するエラー検知部と、
    前記エラー検知部で検知されたエラーを訂正するエラー訂正部と、
    前記エラー検知部でエラーが検知された場合には、エラービット数が前記エラー訂正部で訂正可能な最大エラービット数に基づいて設定される所定の閾値より大きいか否かを判定するエラー判定部と、
    前記エラービット数が前記閾値より大きい場合に前記エラー訂正部でエラー訂正できなかった場合は、前記データ記憶部よりも下位のメモリからデータを取得するアクセス制御部と、
    前記磁気抵抗効果素子が高抵抗の場合と低抵抗の場合との間の抵抗値を有する参照セルと、
    前記エラー検知部でエラーが検知されない場合と、前記エラー検知部で検知されたエラービット数が前記閾値以下の場合とでは、一対のMRAMセルに接続され差動信号が流れる一対のビット線の電圧差に基づいて前記データ記憶部から読み出したデータの論理を決定し、前記エラー検知部で検知されたエラーのエラービット数が前記閾値より大きい場合には、ビット線のそれぞれごとに前記参照セルと比較した結果に基づいて前記データ記憶部から読み出したデータの論理を決定するデータ読み出し部と、を備え、
    前記エラー訂正部は、前記エラービット数が前記閾値より大きい場合には、前記ビット線のそれぞれごとに前記参照セルと比較した結果に基づいて前記データ読み出し部にて決定したデータに基づいてエラーを訂正する、メモリ制御回路。
  5. データ記憶部に書き込んだデータまたは前記データ記憶部から読み出したデータにエラーが含まれるか否かを検知するエラー検知部と、
    前記エラー検知部で検知されたエラーを訂正するエラー訂正部と、
    前記データ記憶部へのデータ書込時に書き込んだデータをベリファイのために読み出したデータ、あるいは前記データ記憶部からのデータ読み出し時に読み出したデータにエラーが含まれることが前記エラー検知部で検知された場合には、エラービット数が前記エラー訂正部で訂正可能な最大エラービット数に基づいて設定される所定の閾値より大きいか否かを判定するエラー判定部と、
    前記エラー判定部での判定結果に基づいて、前記データ記憶部よりも下位のメモリにアクセスするか否かと、前記エラー訂正部によるエラー訂正を行うか否かと、を制御するアクセス制御部と、
    アクセス要求のあったアドレスのデータが前記データ記憶部に格納されているか否かを判定するヒット判定部と、
    前記ヒット判定部により格納されていないと判定された場合に、前記データ記憶部への書き込みを行うか、または読み出しを行うかを判定する第1読み書き判定部と、を備え、
    前記アクセス制御部は、前記第1読み書き判定部により読み出しを行うと判定されると、前記下位のメモリから該当するアドレスのデータを読み出して前記データ記憶部に書き込みを行い、前記第1読み書き判定部により書き込みを行うと判定されると、書き込むべきデータを前記データ記憶部に書き込むとともに、前記データ記憶部に書き込んだデータを読み出してベリファイし、検出されたエラービット数が前記閾値以下であれば、ライトバックモードに設定し、前記エラービット数が前記閾値より大きければ、ライトスルーモードに設定して前記下位のメモリにも前記データ記憶部に書き込むべきデータを書き込むメモリ制御回路。
  6. 前記ヒット判定部により格納されていると判定された場合に、前記データ記憶部への書き込みを行うか、または前記データ記憶部からの読み出しを行うかを判定する第2読み書き判定部を備え、
    前記アクセス制御部は、前記第2読み書き判定部により書き込みを行うと判定されると、書き込むべきデータを前記データ記憶部に書き込むとともに、前記データ記憶部に書き込んだデータを読み出してベリファイし、検出されたエラービット数が前記閾値以下であれば、ライトバックモードに設定し、前記エラービット数が前記閾値より大きければ、ライトスルーモードに設定して前記下位のメモリにも前記データ記憶部に書き込むべきデータを書き込む請求項5に記載のメモリ制御回路。
  7. 前記エラー判定部は、前記第2読み書き判定部により読み出しを行うと判定されると、アクセス要求のあったアドレスのデータを前記データ記憶部から読み出してエラービットがあるか否かを判定するとともに、エラービットがある場合には、該エラービット数が前記閾値以下か否かを判定し、
    前記アクセス制御部は、前記エラー判定部により前記エラービット数が前記閾値以下と判定されると、エラー訂正を行ったデータを、前記下位のメモリに伝送するとともに、前記データ記憶部内のデータを更新する請求項6に記載のメモリ制御回路。
  8. 前記エラー判定部は、前記エラービット数が前記閾値より大きいと判定すると、前記データ記憶部内の個々のメモリセルのデータを参照セルと比較して、読み出し要求のあったアドレスのデータを特定し、特定したデータに基づいてエラー訂正可能か否かを判定し、
    前記アクセス制御部は、前記エラー判定部により、エラー訂正不可能と判定されると、前記下位のメモリから該当するアドレスのデータを読み出し、エラー訂正可能と判定されると、前記特定したデータに基づいてエラー訂正する請求項7に記載のメモリ制御回路。
  9. 前記閾値は、前記最大エラービット数以下の値である請求項乃至8のいずれかに記載のメモリ制御回路。
  10. 前記エラー検知部は、前記データ記憶部内のメモリセルについて、定期的にエラーが含まれるか否かを検知し、
    前記アクセス制御部は、前記データ記憶部内のメモリセルについて、定期的に前記エラー検知部、前記エラー訂正部および前記エラー判定部を動作させて、前記データ記憶部に格納されたデータを前記下位のメモリに書き込むか否かを制御する請求項2、4乃至8のいずれかに記載のメモリ制御回路。
  11. 請求項1乃至10のいずれか1項に記載のメモリ制御回路と、
    前記下位のメモリよりもアクセス速度が高速で、かつ前記下位のメモリに格納されるべきデータの少なくとも一部を格納する前記データ記憶部と、を備えるキャッシュメモリ。
JP2013185676A 2013-09-06 2013-09-06 メモリ制御回路およびキャッシュメモリ Active JP6275427B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013185676A JP6275427B2 (ja) 2013-09-06 2013-09-06 メモリ制御回路およびキャッシュメモリ
PCT/JP2014/073683 WO2015034087A1 (ja) 2013-09-06 2014-09-08 メモリ制御回路およびキャッシュメモリ
US15/059,702 US10042725B2 (en) 2013-09-06 2016-03-03 Memory control circuit, cache memory and memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013185676A JP6275427B2 (ja) 2013-09-06 2013-09-06 メモリ制御回路およびキャッシュメモリ

Publications (2)

Publication Number Publication Date
JP2015052938A JP2015052938A (ja) 2015-03-19
JP6275427B2 true JP6275427B2 (ja) 2018-02-07

Family

ID=52628544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013185676A Active JP6275427B2 (ja) 2013-09-06 2013-09-06 メモリ制御回路およびキャッシュメモリ

Country Status (3)

Country Link
US (1) US10042725B2 (ja)
JP (1) JP6275427B2 (ja)
WO (1) WO2015034087A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113495676A (zh) * 2020-04-01 2021-10-12 长鑫存储技术有限公司 读写方法及存储器装置
US11922023B2 (en) 2020-04-01 2024-03-05 Changxin Memory Technologies, Inc. Read/write method and memory device

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5924819B2 (ja) * 2013-06-10 2016-05-25 日本電気株式会社 データ保全処理装置及びデータ保全処理プログラム
US9633708B2 (en) * 2013-12-05 2017-04-25 Tohoku University Semiconductor storage device using STT-MRAM
EP3340506A4 (en) * 2015-08-19 2018-08-29 Nec Corporation Error monitoring device and method, and recording medium
JP6039772B1 (ja) 2015-09-16 2016-12-07 株式会社東芝 メモリシステム
GB2542214B (en) * 2015-11-11 2019-08-28 Imagination Tech Ltd Hardware monitor to verify memory units
US10467092B2 (en) * 2016-03-30 2019-11-05 Qualcomm Incorporated Providing space-efficient storage for dynamic random access memory (DRAM) cache tags
JP6786871B2 (ja) * 2016-05-18 2020-11-18 ソニー株式会社 通信装置、通信方法、プログラム、および、通信システム
JP6697360B2 (ja) 2016-09-20 2020-05-20 キオクシア株式会社 メモリシステムおよびプロセッサシステム
US10860495B2 (en) 2016-11-29 2020-12-08 Arm Limited Storage circuitry responsive to a tag-matching command
JP6799262B2 (ja) * 2017-03-03 2020-12-16 富士通株式会社 演算処理装置及び演算処理装置の制御方法
JP2018156463A (ja) 2017-03-17 2018-10-04 東芝メモリ株式会社 メモリシステム
KR102430983B1 (ko) * 2017-09-22 2022-08-09 삼성전자주식회사 스토리지 장치 및 그 동작 방법
US10379937B2 (en) * 2017-10-31 2019-08-13 Stmicroelectronics International N.V. Memory architecture including response manager for error correction circuit
JP7173594B2 (ja) 2017-12-08 2022-11-16 国立大学法人東北大学 抵抗変化型素子を備えた記憶回路及びセンスアンプ
JP2019207524A (ja) * 2018-05-29 2019-12-05 セイコーエプソン株式会社 回路装置、電気光学装置、電子機器及び移動体
US11204826B2 (en) * 2018-09-28 2021-12-21 Taiwan Semiconductor Manufacturing Company, Ltd. Memory error detection and correction
US11675660B2 (en) * 2019-05-24 2023-06-13 Texas Instruments Incorporated Parallelized scrubbing transactions
CN110688249B (zh) * 2019-09-20 2023-04-07 上海励驰半导体有限公司 一种纠错码电路的注错检测电路
US20210149763A1 (en) * 2019-11-15 2021-05-20 Intel Corporation Systems and methods for error detection and control for embedded memory and compute elements
KR20210066631A (ko) 2019-11-28 2021-06-07 삼성전자주식회사 메모리에 데이터를 기입하기 위한 장치 및 방법
JP6927610B1 (ja) * 2020-03-13 2021-09-01 Necプラットフォームズ株式会社 キャッシュ制御装置、キャッシュシステムおよびキャッシュ制御方法
US11705176B2 (en) 2020-08-07 2023-07-18 Tohoku University Storage circuit provided with variable resistance type elements, and its test device
US11656938B2 (en) * 2020-09-28 2023-05-23 Micron Technology, Inc. Preemptive read verification after hardware write back
US11663081B2 (en) * 2021-05-10 2023-05-30 Western Digital Technologies, Inc. Storage system and method for data recovery after detection of an uncorrectable error
US11863209B2 (en) * 2021-08-18 2024-01-02 Pixart Imaging Inc. Integrated circuit and method capable of minimizing circuit area of non-volatile memory circuit
US11934270B2 (en) * 2022-06-02 2024-03-19 Micron Technology, Inc. Write command execution for data protection and recovery schemes
CN117806569B (zh) * 2024-02-29 2024-05-07 合肥康芯威存储技术有限公司 一种存储设备以及数据处理方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05165719A (ja) * 1991-12-18 1993-07-02 Nec Eng Ltd メモリアクセス処理装置
JP3129224B2 (ja) 1997-02-28 2001-01-29 日本電気株式会社 キャッシュメモリ装置
JP3931757B2 (ja) 2002-07-26 2007-06-20 日本電気株式会社 共有キャッシュメモリ障害処理方式
JP4155052B2 (ja) 2003-02-18 2008-09-24 日本電気株式会社 エミュレータ、エミュレーション方法およびプログラム
JP4041076B2 (ja) * 2004-02-27 2008-01-30 株式会社東芝 データ記憶システム
JP4391954B2 (ja) 2005-02-18 2009-12-24 富士通株式会社 ファイル制御システムおよびファイル制御装置
JP4791525B2 (ja) 2006-02-14 2011-10-12 富士通株式会社 読み出し処理装置および読み出し方法
US7911834B2 (en) * 2006-05-15 2011-03-22 Apple Inc. Analog interface for a flash memory die
US7511646B2 (en) * 2006-05-15 2009-03-31 Apple Inc. Use of 8-bit or higher A/D for NAND cell value
US8000134B2 (en) * 2006-05-15 2011-08-16 Apple Inc. Off-die charge pump that supplies multiple flash devices
US7701797B2 (en) * 2006-05-15 2010-04-20 Apple Inc. Two levels of voltage regulation supplied for logic and data programming voltage of a memory device
US7639531B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Dynamic cell bit resolution
US7568135B2 (en) * 2006-05-15 2009-07-28 Apple Inc. Use of alternative value in cell detection
JP4939234B2 (ja) 2007-01-11 2012-05-23 株式会社日立製作所 フラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法
KR101466698B1 (ko) * 2008-02-19 2014-11-28 삼성전자주식회사 메모리 장치 및 메모리 데이터 읽기 방법
JP4643671B2 (ja) 2008-03-11 2011-03-02 株式会社東芝 メモリシステム
US8706950B2 (en) 2008-03-01 2014-04-22 Kabushiki Kaisha Toshiba Memory system
CN101572125B (zh) * 2008-04-30 2013-02-27 扬智科技股份有限公司 错误更正电路及其方法
TWI395226B (zh) * 2008-11-07 2013-05-01 Silicon Motion Inc 測試儲存裝置的方法及其系統
US8051337B2 (en) * 2009-01-22 2011-11-01 Taiwan Semiconductor Manufacturing Company, Ltd. System and method for fast cache-hit detection
TWI408688B (zh) * 2009-10-12 2013-09-11 Phison Electronics Corp 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
TWI447733B (zh) * 2010-04-14 2014-08-01 Phison Electronics Corp 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器
US8640005B2 (en) * 2010-05-21 2014-01-28 Intel Corporation Method and apparatus for using cache memory in a system that supports a low power state
JP2012103826A (ja) * 2010-11-09 2012-05-31 Fujitsu Ltd キャッシュメモリシステム
JP2012133642A (ja) * 2010-12-22 2012-07-12 Sony Corp メモリ装置、メモリ制御方法、およびプログラム
JP5764392B2 (ja) * 2011-06-13 2015-08-19 株式会社メガチップス メモリコントローラ
JP5803614B2 (ja) 2011-11-29 2015-11-04 ソニー株式会社 不揮発性キャッシュメモリ、不揮発性キャッシュメモリの処理方法、コンピュータシステム
KR102025340B1 (ko) * 2012-11-27 2019-09-25 삼성전자 주식회사 불휘발성 메모리를 포함하는 반도체 메모리 장치, 이를 포함하는 캐쉬 메모리 및 컴퓨터 시스템
KR102068030B1 (ko) * 2012-12-11 2020-01-20 삼성전자 주식회사 메모리 컨트롤러 및 그 동작방법
KR102143517B1 (ko) * 2013-02-26 2020-08-12 삼성전자 주식회사 에러 정정회로를 포함하는 반도체 메모리 장치 및 반도체 메모리 장치의 동작방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113495676A (zh) * 2020-04-01 2021-10-12 长鑫存储技术有限公司 读写方法及存储器装置
CN113495676B (zh) * 2020-04-01 2023-09-29 长鑫存储技术有限公司 读写方法及存储器装置
US11922023B2 (en) 2020-04-01 2024-03-05 Changxin Memory Technologies, Inc. Read/write method and memory device

Also Published As

Publication number Publication date
JP2015052938A (ja) 2015-03-19
WO2015034087A1 (ja) 2015-03-12
US20160188429A1 (en) 2016-06-30
US10042725B2 (en) 2018-08-07

Similar Documents

Publication Publication Date Title
JP6275427B2 (ja) メモリ制御回路およびキャッシュメモリ
TWI690933B (zh) 可變電阻隨機存取記憶體
KR102002925B1 (ko) 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
US10019312B2 (en) Error monitoring of a memory device containing embedded error correction
US9389954B2 (en) Memory redundancy to replace addresses with multiple errors
US10108509B2 (en) Dynamic enabling of redundant memory cells during operating life
US7861138B2 (en) Error correction in memory devices
US9250997B2 (en) Semiconductor memory device including non-volatile memory, cache memory, and computer system
KR102204390B1 (ko) 빠른 불량 셀 구제 동작의 메모리 장치
JP5202130B2 (ja) キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法
EP4030434A1 (en) Non-volatile memory device with selection of error decoding level
US10481975B2 (en) Memory system
US20180151250A1 (en) Memory device
US9001609B2 (en) Hybrid latch and fuse scheme for memory repair
US20150067444A1 (en) Semiconductor storage device and memory system
US20240006011A1 (en) Systems and methods for monitoring and managing memory devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170710

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180110

R151 Written notification of patent or utility model registration

Ref document number: 6275427

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350