JP2015053096A - 半導体装置、及び誤り訂正方法 - Google Patents
半導体装置、及び誤り訂正方法 Download PDFInfo
- Publication number
- JP2015053096A JP2015053096A JP2013186214A JP2013186214A JP2015053096A JP 2015053096 A JP2015053096 A JP 2015053096A JP 2013186214 A JP2013186214 A JP 2013186214A JP 2013186214 A JP2013186214 A JP 2013186214A JP 2015053096 A JP2015053096 A JP 2015053096A
- Authority
- JP
- Japan
- Prior art keywords
- data
- error
- memory cells
- error correction
- memory cell
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1028—Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital 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/165—Auxiliary circuits
- G11C11/1673—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital 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/165—Auxiliary circuits
- G11C11/1675—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital 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/165—Auxiliary circuits
- G11C11/1677—Verifying circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0023—Address circuits or decoders
- G11C13/0028—Word-line or row circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
- G11C2013/0054—Read is performed on a reference element, e.g. cell, and the reference sensed value is used to compare the sensed value of the selected cell
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
【課題】リファレンス用セルの情報に誤りがあり訂正能力を超える誤りが生じた場合であっても、以降の読み出しにおいて誤りを生じる可能性を低減させる。【解決手段】複数の第1及び第2メモリセル、及び1又は複数の第3メモリセルを含むメモリセルアレイと、選択された複数の第1及び第2メモリセルが保持する複数のデータの値を選択された第3メモリセルが保持するリファレンスデータに対応したリファレンス電位を参照して判定する判定回路と、判定された複数の第1及び第2メモリセルのデータの値を誤り訂正符号として、判定された複数の第1及び/又は第2メモリセルのデータの値に誤りがあるか否かを検出する誤り検出訂正回路とを備える。誤り検出訂正回路は判定された上記データの値に誤り訂正能力以上の誤りがあることを検出した時に、選択された第3メモリセルに対してリファレンスデータを書き込む制御を行う。【選択図】図1
Description
本発明は、メモリセルから読み出したデータの誤りを訂正する半導体装置と、その誤り訂正方法に関する。
現在、フラッシュメモリは、不揮発性の半導体記憶装置として広く用いられているが、このフラッシュメモリを置き換える目的のもと、様々な半導体記憶装置の開発が進んでいる。中でも、抵抗変化型素子を用いて、その抵抗状態の大小により論理0と論理1の情報を記憶する抵抗変化型メモリセルが知られている。抵抗変化型素子の代表的なものとして、磁気トンネル接合(MTJ;Magnetic Tunnel Junction)素子を用いてスピン注入磁化反転書き込みを行うSTT−RAM(Spin Transfer Torque−Random Access Memory)や、金属酸化物等を用いるRe−RAM(Resistive−Random Access Memory)などがある。
これらの抵抗変化型メモリセルから読み出した信号をセンス増幅するためには、リファレンス用セルを用いる方式が一般的に使用される。リファレンス用セルの方式としては、論理0と論理1にそれぞれ対応する2つの抵抗値の中間の抵抗値を有するメモリセルを用いて参照信号(参照電圧又は参照電流)を生成する方式や、論理0及び論理1にそれぞれ対応する抵抗値を有する2つのメモリセルを使用してその中間の抵抗値に相当する参照信号を生成する方式が用いられる。
特許文献1は、不揮発性メモリから読み出したデータにデータ誤り訂正能力を超える誤りがある場合、さらなる誤りを付加することを防止することが可能な誤り訂正装置および誤り訂正方法を開示している。
また、特許文献2は、DRAMのセンスアンプに対応してECC(Error Correction Code)を用いた誤り訂正回路を設けた半導体記憶装置を開示している。該半導体記憶装置では、ページをオープンした段階でセンス増幅したデータに誤りがある場合にその誤りを訂正する。そして、ページをクローズする段階でチェックビットの情報を生成して、データビットと共に再書き込みしている。
以下の分析は、本発明の観点から与えられる。
半導体記憶装置においてリファレンス用セル方式を用いる場合、小型化、低コスト化を図るために、リファレンス用セルの個数を削減して、1つのリファレンス用セルを複数のセンスアンプで共用することが行われる場合がある。この場合、リファレンス用セルに設定された情報に誤りがあると、センス増幅された複数のデータに誤りが生じる虞がある。そのため、ECCを用いた誤り訂正を適用する場合、ECCのエラー訂正能力を超える誤りとなってしまう問題がある。
特許文献1に開示された方法では、誤り訂正能力を超える誤りがあると判定した場合に、誤り訂正を行わないようにすることで、更なる誤りを付加することを防止することが可能である。しかしながら、リファレンス用セル方式を用いた半導体記憶装置においてリファレンス用セルの情報に誤りがある場合は、以降の読み出しにおいても誤りを生じる可能性は高いままである。
特許文献2に開示された方法では、メモリセルから読み出したデータの誤りを訂正してメモリセルに再書き込みすることで、次回の読み出し時に誤りが生じる可能性を低減することができる。しかしながら、リファレンス用セル方式を用いた半導体記憶装置においてリファレンス用セルの情報に誤りがある場合は、以降の読み出しにおいても誤りを生じる可能性は高いままである。
本発明の第1の視点による半導体装置は、複数の第1メモリセル、複数の第2メモリセル、及び1又は複数の第3メモリセルを含むメモリセルアレイと、選択された前記複数の第1メモリセル及び選択された前記複数の第2メモリセルが保持する複数のデータの値を、選択された少なくとも1つの前記第3メモリセルが保持するリファレンスデータに対応したリファレンス信号を参照して判定する判定回路と、前記判定された複数の第1及び第2メモリセルのデータの値を誤り訂正符号として、前記判定された複数の第1及び/又は第2メモリセルのデータの値に誤りがあるか否かを検出する誤り検出訂正回路と、を備える。ここで、前記誤り検出訂正回路は、前記判定された複数の第1及び/又は第2メモリセルのデータの値に誤り訂正能力以上の誤りがあることを検出した時に、前記選択された少なくとも1つの第3メモリセルに対して前記リファレンスデータを書き込む制御を行う。
本発明の第2の視点による誤り訂正方法は、複数の第1メモリセル、複数の第2メモリセル、及びリファレンスデータを保持する1又は複数の第3メモリセルを含むメモリセルアレイに対する誤り訂正方法であって、以下のステップを含む。即ち、該誤り訂正方法は、選択された前記複数の第1メモリセル及び選択された前記複数の第2メモリセルが保持する複数のデータの値を、選択された少なくとも1つの前記第3メモリセルが保持するリファレンスデータに対応したリファレンス信号を参照して判定する判定ステップを含む。また、該誤り訂正方法は、前記判定された複数の第1及び第2メモリセルのデータの値を誤り訂正符号として、前記判定された複数の第1及び/又は第2メモリセルのデータの値に誤り訂正能力以上の誤りがあるか否かを検出する検出ステップを含む。さらに、該誤り訂正方法は、前記判定された複数の第1及び/又は第2メモリセルのデータの値に誤り訂正能力以上の誤りがあると検出された場合に、前記選択された少なくとも1つの第3メモリセルに対して前記リファレンスデータを書き込むリファレンスデータ書込みステップを含む。
本発明の半導体装置によれば、リファレンス用セルの情報の誤りに起因して、訂正能力を超える誤りが生じた場合であっても、以降の読み出しにおいて誤りを生じる可能性を低減させることに貢献しうる半導体装置を提供することができる。
まず、本発明の一実施形態の概要について説明する。なお、一実施形態の概要の説明において付記した図面参照符号は専ら理解を助けるための例示であり、図示の態様に限定することを意図するものではない。
一実施形態における半導体装置1は、図1に示すように、複数の第1メモリセル11、複数の第2メモリセル12、及び1又は複数の第3メモリセル13を含むメモリセルアレイ10と、選択された複数の第1メモリセル11及び選択された複数の第2メモリセル12が保持する複数のデータの値を、選択された第3メモリセル13が保持するリファレンスデータに対応したリファレンス信号(図2、図4のVREFに相当)を参照して判定する判定回路3、4と、判定された複数の第1及び第2メモリセルのデータの値を誤り訂正符号として、判定された複数の第1及び/又は第2メモリセルのデータの値(判定回路3及び/又は判定回路4の出力)に誤りがあるか否かを検出する誤り検出訂正回路2と、を備える。ここで、誤り検出訂正回路2は、判定された複数の第1及び/又は第2メモリセルのデータの値に誤り訂正能力以上の誤りがあることを検出した時に、選択された第3メモリセル13に対してリファレンスデータを書き込む制御を行う。
上記の構成によれば、第3メモリセルが保持する情報に誤りがあった場合、誤り検出訂正回路2は、第1及び/又は第2メモリセルのデータの値の誤りを誤り訂正能力以上の誤りとして検出することができる。その場合、第3メモリセルにリファレンスデータを再書き込みすることにより、第3メモリセルが保持する情報の誤りに起因する誤りが解消され、以降の読み出しにおいて誤りを生じる可能性を低減させることが可能になる。
上記半導体装置において、上記誤り検出訂正回路2は、判定された複数の第1及び第2メモリセルのデータの値(図1の判定回路3、4の出力)からシンドロームを生成するシンドローム生成手段と、生成されたシンドロームから判定された複数の第1及び第2メモリセルのデータの値(図1の判定回路3、4の出力)のうちで誤りが生じているデータの位置を特定するシンドロームデコード手段と、シンドロームデコード手段が特定した位置のデータに対して該データの値を反転させる反転制御信号(図5のINVi;図6、図9のINVj)を出力する誤り訂正手段と、を備えるようにしてもよい。ここで、誤り検出訂正回路2は、誤り訂正手段が出力した反転制御信号に基づいて誤り訂正を行った後に、シンドローム生成手段により生成されたシンドロームが誤りの存在を示している場合を、誤り訂正能力以上の誤りがあると検出するようにしてもよい。
上記半導体装置において、図4に示すように、選択された第3メモリセル(図4の47a〜c、57a〜cのうちで選択されたもの。例えば、ワード線WL0がアクティブの場合は、47a、57aが選択される)に保持されたリファレンスデータを読み出し、リファレンスデータに対応したリファレンス信号(例えば、リファレンス電位VREF)を出力するリファレンス読出回路35と、選択された第3メモリセルに前記リファレンスデータを書き込むリファレンス書込回路(36a、36b)と、を含むリファレンス読出書込部33をさらに備えることが好ましい。
上記半導体装置において、図4に示すように、第3メモリセルは、第1論理値のデータを保持するメモリセル(図4のデータ1領域のメモリセル47a〜c)と、第2論理値のデータを保持するメモリセル(図4のデータ0領域のメモリセル57a〜c)とを含むようにしてもよい。リファレンス読出回路35は、選択された第3メモリセルに対応した第1及び第2論理値のデータを保持するメモリセル(例えば、ワード線WL0がアクティブの場合は、47a、57a)をそれぞれ読み出した2つの信号の中間レベルの信号を、リファレンスデータに対応したリファレンス信号(例えば、リファレンス電位VREF)として出力するようにしてもよい。また、リファレンス書込回路(36a、36b)は、選択された第3メモリセルに対応した第1及び第2論理値のデータを保持するメモリセル(例えば、ワード線WL0がアクティブの場合は、47a、57a)に、夫々第1及び第2論理値のデータ(例えば、第1論理値のデータはデータ1、第2論理値のデータはデータ0)を書き込むようにしてもよい。
リファレンス読出書込部33は、図4に示すように、第3メモリセルのうち第1論理値のデータを保持するメモリセル(47a〜c)に接続された第1リファレンスビット線BL1と、第3メモリセルのうち第2論理値のデータを保持するメモリセル(57a〜c)に接続された第2リファレンスビット線BL2と、第1リファレンスビット線BL1と第2リファレンスビット線BL2との間に、直列に接続された第1及び第2トランジスタ(62a、62b)と、を備え、第1トランジスタ62a及び第2トランジスタ62bの接続節点Nrefからリファレンス信号(例えば、リファレンス電位VREF)が出力されるようにしてもよい。
上記半導体装置において、複数の第1及び第2メモリセルの制御電極(第1メモリセルの制御電極は、図3のセルトランジスタ76a〜fのゲート;第2メモリセルの制御電極は、不図示)と、第3メモリセルの制御電極(図4のセルトランジスタ46a〜c、56a〜cのゲート)とに接続されるワード線(WL0〜WLm−1)を備え、図4に示すように、ワード線により、リファレンス信号(例えば、リファレンス電位VREF)を出力する第3メモリセル(図4では、47a〜c、57a〜cから、夫々1つずつ)が選択されるように構成してもよい。
上記半導体装置において、複数の第1メモリセル(図1の11、図2のデータビット用セルアレイ21に含まれるメモリセル等)が保持するデータは外部入出力を行うデータビットであり、複数の第2メモリセル(図1の12、図2のチェックビット用セルアレイ22に含まれるメモリセル等)が保持するデータは、データビットを誤り訂正するために付加されたチェックビットであるようにしてもよい。
上記半導体装置において、図2に示すように、データビットを外部出力する出力バッファ(図2のバッファ19に相当)をさらに備え、誤り検出訂正回路(図1の2、図2のECC制御ブロック15)は、誤り訂正能力以上の誤りがあると検出した場合にエラー信号(図2のエラーフラグ)を出力し、上記出力バッファはエラー信号を受けて複数の第1メモリセルが保持するデータビットを外部出力しないように制御することが好ましい。
上記半導体装置において、図5、図6のいずれかに示すように、複数の第1及び第2メモリセル(図1の11、12;図2の21、22に含まれるメモリセル)に対する書き込み制御を行う書込制御回路(85、185)をさらに備えることが好ましい。ここで、書込制御回路85は、選択された複数の第1メモリセルのうち、反転制御信号(図5のINVi)に基づいて誤り訂正が行われたデータに対応するメモリセルに対して、誤り訂正されたデータの値を所定の書き込み期間に書き込み、書込制御回路185は、選択された複数の第2メモリセルのデータの値を所定の書き込み期間に書き込む制御を行うようにしてもよい。
或いは、図5、図9のいずれかに示すように、複数の第1及び第2メモリセルに対して書き込み制御を行う書込制御回路(85、285)をさらに備えることが好ましい。ここで、書込制御回路(85、285)は、選択された複数の第1及び第2メモリセルのうち、反転制御信号(INVi、INVj)に基づいて誤り訂正が行われたデータに対応するメモリセルに対して、誤り訂正されたデータの値を所定の書き込み期間に書き込む制御を行うようにしてもよい。
上記書込制御回路(図5の85、図9の285)は、図5、図9のいずれかに示すように、リライトノード(N0i、N1j)と、リライトノードを所定の電位にプリチャージするプリチャージ回路(162、262)と、ゲートが反転制御信号(INVi、INVj)を受け、ソース及びドレインの一方がリライトノード(N0i、N1j)と接続され、ソース及びドレインの他方が第1の電源(接地)と接続された第3トランジスタ(図5の163、図9の263)と、を備え、書込制御回路(85、285)は、リライトノード(N0i、N1j)の電位に基づいて、誤り訂正されたデータの値を所定の書き込み期間に書き込む制御を行うようにしてもよい。
上記半導体装置において、第1メモリセル(図1の11、図2の21に含まれるメモリセル等)、第2メモリセル(図1の12、図2の22に含まれるメモリセル等)、及び第3メモリセル(図1の13、図2の23に含まれるメモリセル等)は、抵抗状態により情報を記憶する抵抗変化型メモリ素子を備えたメモリセルであってもよい。
一実施形態における誤り訂正方法は、図1、図7のいずれかに示すように、複数の第1メモリセル11、複数の第2メモリセル12、及びリファレンスデータを保持する1又は複数の第3メモリセル13を含むメモリセルアレイ10に対する誤り訂正方法であって、以下のステップを含む。即ち、該誤り訂正方法は、選択された複数の第1メモリセル11及び選択された複数の第2メモリセル12が保持する複数のデータの値を、選択された第3メモリセル13が保持するリファレンスデータに対応したリファレンス信号(図2、図4のVREFに相当)を参照して判定する判定ステップ(図7のS12)を含む。また、該誤り訂正方法は、判定された複数の第1及び第2メモリセルのデータの値(判定回路3及び/又は判定回路4の出力)を誤り訂正符号として、判定された複数の第1及び/又は第2メモリセルのデータの値に誤り訂正能力以上の誤りがあるか否かを検出する検出ステップを含む(図7のS13〜S18)。さらに、該誤り訂正方法は、判定された複数の第1及び/又は第2メモリセルのデータの値に誤り訂正能力以上の誤りがあると検出された場合に、選択された第3メモリセルに対してリファレンスデータを書き込むリファレンスデータ書込みステップ(図7のS20)を含む。
上記誤り訂正方法において、上記検出ステップは、図1、図7のいずれかに示すように、判定された複数の第1及び第2メモリセルのデータの値(図1の判定回路3、4の出力)を誤り訂正符号として、判定された複数の第1及び/又は第2メモリセルのデータの値(図1の判定回路3及び/判定回路4の出力)に誤りがあるか否かを検出する第1の誤り検出ステップ(S13、S14)と、第1の誤り検出ステップにおいて検出された複数の第1及び/又は第2メモリセルのデータの値の誤りを訂正する誤り訂正ステップ(S15、S16)と、誤り訂正ステップ後の複数の第1及び/又は第2メモリセルのデータの値に誤りがあるか否かを再度検出する第2の誤り検出ステップ(S17、S18)と、を含み、第2の誤り検出ステップにおいて誤りが検出された場合(S18でNoの場合)を、複数の第1及び/又は第2メモリセルのデータの値に誤り訂正能力以上の誤りがあると検出するようにしてもよい。
上記の第1及び第2の誤り検出ステップは、図7に示すように、判定された複数の第1及び第2メモリセルのデータの値からシンドロームを生成し(S13、S17)、シンドロームの全ビットのうち、0でないビットが存在する場合(S14、S18でNoの場合)を誤りがあると検出し、誤り訂正ステップは、生成されたシンドロームから判定された複数の第1及び第2メモリセルのデータの値のうちで誤りが生じているデータの位置を特定し(S15)、特定された位置のデータを反転させる(S16)ようにしてもよい。
上記の検出ステップにおいて複数の第1及び/又は第2メモリセルのデータの値(図1の判定回路3及び/判定回路4の出力)に誤り訂正能力以上の誤りがあると検出された場合に、第1メモリセルのデータの値を外部に読み出す動作を行わないことが好ましい(図7に示すように、S18でNoの場合には、S23に相当する動作を行わない)。
上記の誤り訂正方法において、図8に示すように、リファレンスデータ書込みステップ(図7のS20)を行った後、判定ステップ(S26)、及び検出ステップ(S27〜S32)を再度行うようにしてもよい。
上記の誤り訂正方法において、複数の第1メモリセル(図1の11、図2のデータビット用セルアレイ21に含まれるメモリセル等)が保持するデータは外部入出力を行うデータビットであり、複数の第2メモリセル(図1の12、図2のチェックビット用セルアレイ22に含まれるメモリセル等)が保持するデータは、データビットを誤り訂正するために付加されたチェックビットであるようにしてもよい。
以下、本発明の各実施形態について、図面を参照して詳しく説明する。
[第1の実施形態]
(第1の実施形態の構成)
第1の実施形態の構成について、図2〜図6を参照しながら説明する。図2は、第1の実施形態に係る半導体装置100の構成を示すブロック図である。図2において、半導体装置100は複数のメモリセルを含むメモリセルアレイ20を有する半導体装置であり、読み出しデータ又は書き込みデータを外部から入出力するデータ入出力端子7と、半導体装置100を制御するコマンド信号を受けるコマンド入力端子6と、選択すべき複数のメモリセルを指定するアドレスを受けるアドレス入力端子5とを備えている。
(第1の実施形態の構成)
第1の実施形態の構成について、図2〜図6を参照しながら説明する。図2は、第1の実施形態に係る半導体装置100の構成を示すブロック図である。図2において、半導体装置100は複数のメモリセルを含むメモリセルアレイ20を有する半導体装置であり、読み出しデータ又は書き込みデータを外部から入出力するデータ入出力端子7と、半導体装置100を制御するコマンド信号を受けるコマンド入力端子6と、選択すべき複数のメモリセルを指定するアドレスを受けるアドレス入力端子5とを備えている。
メモリセルアレイ20は、図2に示すように、データビット用セルアレイ21、チェックビット用セルアレイ22、及びリファレンス用セルアレイ23から構成される。以降、データビット用セルアレイ21、チェックビット用セルアレイ22、及びリファレンス用セルアレイ23に含まれるメモリセルを、それぞれ、データビット用セル、チェックビット用セル、及びリファレンス用セルという(それぞれ図1の11、12、13に対応する)。また、データビット用セル、チェックビット用セルをセンスアンプでセンス増幅したデータを、それぞれデータビット、チェックビットという。また、メモリセルアレイ20に隣接してロウデコーダ16が配置され、ロウデコーダ16は、アドレス入力端子5から入力されたアドレス信号に含まれる行アドレスをデコートし、1本のワード線(図3のWL0〜WLm−1)を選択し活性化する。
また、データビット用セルアレイ21、チェックビット用セルアレイ22に隣接して、それぞれ、セレクタ24、セレクタ25が配置される。ビット線は、グローバルビット線GBLとローカルビット線LBLによる階層構造となっている。データビット用セルアレイ21、チェックビット用セルアレイ22内部のローカルビット線LBLの選択は、セレクタ24、25に供給される接続信号(図3のSW0〜SWk−1)によって行われる。1つの接続信号が活性化することにより、1本のローカルビット線LBLが選択され、対応するグローバルビット線GBLと電気的に接続される。
以上のようにして、選択されたワード線と、選択されたローカルビット線LBLとに接続された複数のメモリセルが、それぞれ対応するグローバルビット線GBLと電気的に接続される。ここで、データビット用セルアレイ21に対するグローバルビット線GBLは512本であり、以降、このグローバルビット線をGBLiと表記する(i=0〜511)。また、チェックビット用セルアレイ22に対するグローバルビット線GBLは10本であり、以降、このグローバルビット線をGBLjと表記する(j=0〜9)。
各グローバルビット線GBLiに対して、それぞれ読出書込部(データビット用)31が接続される。また、各グローバルビット線GBLjに対して、それぞれ読出書込部(チェックビット用)32が接続される。読出書込部(データビット用)31は、センスアンプSADi、レジスタ回路RGDi、及び書込ドライバWDにより構成される。また、読出書込部(チェックビット用)32は、センスアンプSACj、レジスタ回路RGCj、及び書込ドライバWDCにより構成される。
読出書込部(データビット用)31において、グローバルビット線GBLiはセンスアンプSADiの一方の入力端に接続される。同様に、読出書込部(チェックビット用)32において、グローバルビット線GBLjはセンスアンプSACjの一方の入力端に接続される。
また、データビット用セルアレイ21に隣接してグローバルビット線GBLi、ローカルビット線LBLを所定の電位にプリチャージするプリチャージ回路26が配置される。同様に、チェックビット用セルアレイ22に隣接してグローバルビット線GBLj、ローカルビット線LBLを所定の電位にプリチャージするプリチャージ回路27が配置される。
また、リファレンス用セルアレイ23に隣接してリファレンス用セルに対する読み出し・書き込みを行うリファレンス読出書込部33が配置される。リファレンス読出書込部33によって読み出されたリファレンス用セルの信号は、リファレンス信号に変換され、センスアンプSADi、SACjの他方の入力端に供給される。一般に、読み出されるデータビット及びチェックビットが信号電圧の場合には、リファレンス信号をリファレンス電位として供給し、読み出されるデータビット及びチェックビットが信号電流の場合には、リファレンス信号をリファレンス電流として供給する。本実施形態では、データビット及びチェックビットを信号電圧として読み出すので、レファレンス信号としてリファレンス電位VREFを使用している。
各センスアンプSADi、SACjは、入力されたグローバルビット線の電位を、センス増幅し、リファレンス電位VREFを基準に、HighレベルとLowレベルのいずれであるかの判定が行われる。そして、判定結果は、それぞれレジスタ回路RGDi、RGCjに保持される。センスアンプSADi、SACjは、図1における判定回路3、判定回路4にそれぞれ対応している。
図2において、半導体装置100は、さらに、チップ制御回路14と、ECC制御ブロック15と、カラム選択回路17と、バッファ19とを備えている。チップ制御回路14は、コマンド入力端子6から入力されたコマンド信号を受け、該コマンド信号に応じて、ロウデコーダ16、セレクタ24、25、プリチャージ回路26、27、センスアンプ(SADi、SACj)、ECC制御ブロック15、カラム選択回路17、及びバッファ19の動作を制御する。
ECC制御ブロック15は、ECCを用いた誤り検出・訂正を実行する機能を有する。読み出し時には、512個のデータビットと、10個のチェックビットとの組み合わせから誤りの有無を検出し、訂正可能である場合に訂正を実行する。また、書き込み時には、データ入出力端子7から受けるデータに応じてチェックビットを生成する。本実施形態のECC制御ブロック15では、1ビットエラー訂正能力を備えたハミング符号を用いるECCの方式を採用している。但し、この方式に限定されるものではなく、その他の誤り検出・訂正の方式を適用することも可能である。
次に、図3を参照しながら、データビット用セルアレイ21の詳細な構成について説明する。図3は、データビット用セルアレイ21のうち、1本のグローバルビット線GBLiと接続されるメモリセルを含む部分(データビット用セルアレイ71)と、その周辺を含む回路図である。その周辺部として、プリチャージ回路72(図2のプリチャージ回路26の一部)、及びセレクタ74(図2のセレクタ24の一部)が、データビット用セルアレイ71に隣接して配置される。データビット用セルアレイ71は、m本のワード線WL0〜WLm−1と、k本ローカルビット線LBL0〜LBLk−1との交点に二次元配置されるm×k個のメモリセル(67a〜f)を含んでいる。各メモリセル(67a〜f)は、抵抗変化型素子(75a〜f)とセルトランジスタ(76a〜f)の直列接続により構成され、各セルトランジスタのゲートにワード線WL0〜WLm−1が接続される。各セルトランジスタのソースは、ソースプレートに接続され、電源VCSが供給される。
抵抗変化型素子(75a〜f)は、例えば、スピン注入磁化反転書き込みを行うSTT−RAMに用いられる磁気トンネル接合(MTJ)素子である。磁気トンネル接合(MTJ)素子はトンネルバリア層を強磁性体層で挟んだ構成とされており、例えばトンネルバリア層としてMgOが、強磁性体層としてCoFeやそれを含んだ合金が用いられている。また、抵抗変化型素子(75a〜f)は、バイポーラ型であり、データ「1」を書き込んで低抵抗状態にする場合と、データ「0」を書き込んで高抵抗状態にする場合とで、抵抗変化型素子(75a〜f)の両端に印加する電圧の向きを逆に設定する。具体的には、データ「1」、データ「0」を書き込むときに、それぞれローカルビット線LBLに印加する電圧V1、V0は、V1=VDD、V0=VSS、V0<VCS<V1となるようにする。
プリチャージ回路72は、k本のローカルビット線LBLをプリチャージするk個のプリチャージNMOSトランジスタ79a〜cから構成される。ここで、k本のプリチャージ信号PC0〜PCk−1は、それぞれ、プリチャージNMOSトランジスタ79a〜cのゲートに接続される。各プリチャージ信号PC0〜PCk−1がHighレベルに制御されるとLBL0〜LBLk−1は、それぞれ電源VCSと電気的に接続され、電位VCSにプリチャージされる。
セレクタ74は、k本のLBLに対応したk個の接続NMOSトランジスタ80a〜cから構成される。ここで、k本の接続信号SW0〜SWk−1は、それぞれ接続NMOSトランジスタ80a〜cのゲートに接続される。選択された1本のLBLに対応する接続信号のみがHighレベルに制御され、対応する接続NMOSトランジスタのみが導通し、選択されたLBLがGBLiと電気的に接続される。一方、選択されない(k−1)本のLBLは、プリチャージ信号の活性化によりVCSの電位に保持されるので、選択されたワード線に接続されたメモリセルであっても、電流は流れない。
尚、上記したプリチャージ回路72、データビット用セルアレイ71、及びセレクタ74の制御信号であるPC0〜PCk−1、WL0〜WLm−1、SW0〜SWk−1は、Highレベルが電位VPP(VPP>VDD)、Lowレベルが電位VSSである。
選択されたワード線WLと選択されたLBLに接続する1個のメモリセル(例えば、67eとする)は、書き込み時には、端子69eがLBL0とGBLiを経由して対応する書込ドライバWDと電気的に接続される。また、読み出し時には、端子69eがLBL0とGBLiを経由して対応するセンスアンプSADiと電気的に接続される。
尚、チェックビット用セルアレイ22のうち、1本のGBLjと接続される部分、及びその周辺(プリチャージ回路27の一部、セレクタ25の一部)の構成は、図示しないが、図3と同様である。
次に、図4を参照しながらリファレンス用セルアレイ23及びリファレンス読出書込部33について説明する。図4に示すように、リファレンス用セルアレイ23は、データ1領域とデータ0領域とにより構成される。ここで、データ1領域内のリファレンス用セルにはデータ「1」に対応するリファレンスデータが記憶され、データ0用領域内のリファレンス用セルにはデータ「0」に対応するリファレンスデータが記憶される。ここで、データ「1」、データ「0」は、データビット用セル及びチェックビット用セルが記憶する2つの抵抗状態に対応したデータである。
データ1領域及びデータ0領域は、それぞれm個のメモリセル(47a〜c、57a〜c)を含み、各メモリセルのセルトランジスタ(46a〜c、56a〜c)のゲートは、ワード線(WL0〜WLm−1)のいずれかと接続される。リファレンス用セルアレイ23のメモリセル(47a〜c、57a〜c)は、データビット用セル、チェックビット用セルと同様に、STT−RAMの抵抗変化型素子(磁気トンネル接合素子)を使用する。
各セルトランジスタ(46a〜c、56a〜c)のソースはソースプレートに接続され、電源VCSが供給される。また、データ1領域の各抵抗変化型素子45a〜cの一端はリファレンスビット線BL1と接続され、データ0領域の各抵抗変化型素子55a〜cの一端はリファレンスビット線BL2と接続される。
データビット用セル、チェックビット用セルの場合と同様に、リファレンス用セルアレイのセルトランジスタのゲートはワード線(WL0〜WLm−1)と接続され、ワード線によりリファレンス用セルを選択する構成としている。これにより、データ1領域、データ0領域の中から選択ワード線に対応したリファレンス用セルを1つずつ選択する。例えば、ワード線WL0が選択されている場合、リファレンス用セル47a、57aが選択される。
次に、リファレンス読出書込部33について説明する。リファレンス読出書込部33は、選択されたリファレンス用セルを読み出し、リファレンス信号として出力するリファレンス読出回路35と、リファレンスデータを選択されたリファレンス用セルに書き込むリファレンス書込回路(36a、36b)とにより構成される。
リファレンス読出回路35は、PMOSトランジスタ(63a、63b)、NMOSトランジスタ(62a、62b)を含んで構成される。リファレンス読出回路35は、IACT端子52を介して、アクティブコマンドに対応して活性化される制御信号IACTを受ける。また、リファレンス読出回路35は、BIASACT端子51を介して、PMOSトランジスタ(63a、63b)にバイアスレベルを供給する信号BIASACTを受ける。PMOSトランジスタ(63a、63b)のゲートには信号BIASACTが供給され、PMOSトランジスタ(63a、63b)は定電流源として機能する。PMOSトランジスタ(63a、63b)のドレインは、それぞれリファレンスビット線BL1、BL2と接続される。PMOSトランジスタ(63a、63b)が供給する定電流は、それぞれリファレンスビット線BL1、BL2を介して、選択されたリファレンス用セル(例えば、WL0が選択ワード線の場合、47aと57a)に流れる。定電流の電流値は、リファレンス用セルが保持する情報を書き替えない程度になるように、信号BIASACTのレベルを設定しておく。
NMOSトランジスタ62a、62bは、リファレンスビット線BL1とリファレンスビット線BL2の間に直列に接続され、2つのリファレンスビット線BL1、BL2の電圧をイコライズする機能を有している。IACT端子52の制御信号IACTがHighレベルの時に、その接続節点Nrefから、イコライズされた中間の電位がリファレンス電位VREFとして出力される。このように、データ「1」を保持するリファレンス用セルと、データ「0」を保持するリファレンス用セルの読み出しデータの中間レベルをセンスアンプSADi、SACjに供給することによって、読み出しマージンを確保することができる。
次に、リファレンス書込回路36a、36bは、ERROR端子54を介してECC制御ブロック15が発生したエラーフラグを受けると、再度データ1、データ0を選択されているリファレンス用セルに書き込むように制御する。ここで、エラーフラグは、訂正能力を超える誤りが生じた場合に活性化される(Highレベルになる)信号である。リファレンス書込回路36aは、PMOSトランジスタ61aとバイアス電圧出力回路(データ1)38aとにより構成される。同様に、リファレンス書込回路36bは、NMOSトランジスタ61bとバイアス電圧出力回路(データ0)38bとにより構成される。バイアス電圧出力回路(データ1)38aは、ERROR端子54のエラーフラグを受けて、データ「1」を書き込むのに必要なバイアス電圧をPMOSトランジスタ61aのゲートに供給するものである。同様に、バイアス電圧出力回路(データ0)38bは、ERROR端子54のエラーフラグを受けて、データ「0」を書き込むのに必要なバイアス電圧をNMOSトランジスタ61bのゲートに供給するものである。
抵抗変化型素子はバイポーラ型であるため、データ「1」を書き込んで抵抗変化型素子を低抵抗状態にする場合は、リファレンスビット線BL1の電圧を電源VCSよりも高く設定し、データ「0」を書き込んで抵抗変化型素子を高抵抗状態にする場合は、リファレンスビット線BL2の電圧を電源VCSよりも低く設定する。
また、本実施形態では、複数のワード線(WL0〜WLm−1)に対応して複数のリファレンス用セルを設けて、データビット用セル及びチェックビット用セルの選択と同様に、ワード線によりリファレンス用セルを選択するようにしている。このようにすることで、データビット用セル及びチェックビット用セルからセンスアンプまでのビット線の配線長(グローバルビット線GBLiとローカルビット線LBLを含む)と、リファレンスビット線BL1、BL2の配線長の差が小さくなり、配線抵抗の影響が抑制され、読み出しマージンを確保する上で有利になる。但し、リファレンス用セルアレイは、上記の構成に限定されず、他の構成も可能である。例えば、ワード線毎にリファレンス用セルを設けるのではなく、ワード線を幾つかのグループに分けて、グループ単位でリファレンス用セルを設けるようにしてもよい。或いは、1組のリファレンス用セルで共通化してもよい。
また、本実施形態では、データ1とデータ0に対応したリファレンス用セルを設けているが、その代わりに、データ1とデータ0に対応する抵抗値の中間の抵抗値を有するリファレンス用セルを用いて、レファレンス電位VREFを出力するように構成してもよい。
次に、図5を参照しながら、読出書込部(データビット用)31について説明する。図5は、読出書込部(データビット用)31の回路図である。図2において、読出書込部(データビット用)31は、1本のGBLiに対応して設けられたセンスアンプSADi、レジスタ回路RGDi、書込ドライバWDを含んでいる。図5では、書込ドライバWDを、書込制御回路85とGBLドライバ82に分離し、それぞれの回路の詳細を示している。また、図5では、センスアンプSADiと、データレジスタRGDiとを含む部分をセンスラッチ回路84としている。
まず、書込制御回路85について説明する。書込制御回路85は、カラム選択信号・反転制御信号検出回路169とNOR論理回路175とにより構成される。
カラム選択信号・反転制御信号検出回路169は、データレジスタRGDi(i=0〜511)のうちで、カラム選択回路17を介して書き込みがあったものと、ECC制御ブロック15により誤り訂正が行われたものとを選択する。そして、カラム選択信号・反転制御検出回路169は、そのいずれかに該当するデータレジスタRGDiに限定して、データビット用セルに書き込みを行うように制御する。
カラム選択信号・反転制御検出回路169は、リライトノードN0iと、リライトノードN0iにドレインが接続されたPMOSトランジスタ162を有している。所定のプリチャージ期間にプリチャージ信号/PCがLowレベルに活性化すると、PMOSトランジスタ162を介してリライトノードN0iを予め電位VDDにプリチャージする。即ち、PMOSトランジスタ162はプリチャージ回路として機能する。また、カラム選択信号・反転制御検出回路169は、リライトノードN0iと接地の間に直列に接続されたNMOSトランジスタ164、165と、リライトノードN0iと接地の間に接続されたNMOSトランジスタ163を有している。NMOSトランジスタ(163、164、165)のゲートには、それぞれ反転制御信号INVi、カラム選択信号YSi、ライトイネーブル信号WEが供給される。
上記の構成により、予め電位VDDにプリチャージされたリライトノードN0iは、ライトイネーブル信号WEがHighレベル(カラム選択回路17を介してデータレジスタRGDiにデータ書き込み行うライトコマンドWtの実行時にWEはHighレベルになる)、且つカラム選択信号YS_iがHighレベル(選択時)の場合に、Lowレベルに遷移するように制御される。また、ECC制御ブロック15から反転制御信号INViが出力された場合にも、Lowレベルに遷移するように制御される。
また、PMOSトランジスタ160とNMOSトランジスタ161は、電源VDDと接地の間に直列に接続され、1つのインバータ回路を構成している。該インバータ回路は、インバータ回路178と接続される。これにより、ラッチ回路を構成する。PMOSトランジスタ160のドレイン、NMOSトランジスタ161のドレイン、及びインバータ回路178の入力端子は共に、リライトノードN0iと接続される。上記の構成により、/PC、YSi、WE、INViによって制御されたノードN0iの電位が、該ラッチ回路により保持される。
NOR論理回路175の一方の入力端は、リライトノードN0iと接続され、他方の入力端には書込パルス信号/WPが供給される。これにより、書込パルス信号/WPがLowレベルで、且つ、リライトノードN0iがLowレベルの場合に、制御信号C2(NOR論理回路175の出力)は、Highレベルに活性化される。
次に、GBLドライバ82は、上記の制御信号C2を受けて、それぞれグローバルビット線GBLiを駆動する機能を果たしている。GBLドライバ82は、PMOSトランジスタ(102、103)、NMOSトランジスタ(104、105)、及びインバータ回路298により構成される。PMOSトランジスタ(102、103)は電源VDDとノードNoutの間に直列に接続され、NMOSトランジスタ(104、105)は、ノードNoutと接地の間に直列に接続される。
NMOSトランジスタ104のゲートがノードNin2と接続され、PMOSトランジスタ103のゲートがインバータ回路298を介してノードNin2と接続される。
また、GBLドライバ82では、電源VCSとGBLiの間に、2つのPMOSトランジスタ212、213が直列に接続される。ここで、PMOSトランジスタ212のゲートには読み出しパルス信号RPが供給され、PMOSトランジスタ213のゲートはノードNin2と接続される。ノードNin2は、書き込み制御回路85のNOR論理回路175の出力端と接続され、制御信号C2が供給される。
上記の構成により、RPがHighレベルのときには、GBLiが電源VCSと遮断されるようにしている。また、RPがLowレベルで且つ制御信号C2がLowレベルの場合には、GBLiは、電位VCSに設定される。一方、RPがLowレベルで且つ制御信号C2がHighレベルの場合には、GBLiはレジスタ回路RGDi(88)の/DQに基づいて駆動される。これにより、/DQがHighレベル(データ0)の場合、GBLiはLowレベル(VSS)に駆動され、/DQがLowレベル(データ1)の場合、GBLiはHighレベル(VDD)に駆動される。
次に、センスラッチ回路84について説明する。センスラッチ回路84は、図5に示すように、センスアンプSADi(87)、レジスタ回路RGDi(88)、及びNMOSトランジスタ101を含んで構成される。NMOSトランジスタ101のゲートには読出パルス信号RPが供給され、NMOSトランジスタ101のソース/ドレインの一方はグローバルビット線GBLiと接続される。また、NMOSトランジスタ101のソース/ドレインの他方はセンスアンプSADi(87)の入力端と接続される。また、センスアンプSADiには、制御信号IACTが供給される。
上記の構成により、センスラッチ回路84では、読出パルス信号RPがHighレベルに制御され、且つ、制御信号IACTが活性化されると、NMOSトランジスタ101が導通し、センスアンプSADi(87)の入力端とグローバルビット線GBLiが電気的に接続される状態となる。このとき、センスアンプSADiは、前述したセンス増幅の動作を行う。
カラム選択回路17において、512個の読出書込部(データビット用)31のレジスタ回路RGDiのDQ、/DQ端子とI/O線対89間に、それぞれ入出回路86が接続される。
入出力回路86は、2つのNMOSトランジスタ106、107から構成される。NMOSトランジスタ106のゲートとNMOSトランジスタ107のゲートは接続され、その接続ノードはカラム選択信号YSiと接続される。図5に示すように、NMOSトランジスタ106、107のソース及びドレインの一方は、それぞれレジスタ回路RGDiの出力端子DQ、/DQと接続され、NMOSトランジスタ106、107のソース及びドレインの他方は、I/O線対89のそれぞれと接続される。
上記の構成により、リードコマンドRd時には、レジスタ回路RGDiに保持されたデータのうち、カラム選択信号YSiで選択されたデータがI/O線対89を経由してバッファ19に出力され、バッファ19を介してデータ入出力端子7からデータが出力される。一方、ライトコマンドWt時には、データがデータ入出力端子7から入力され、バッファ19、及びI/O線対89を介して、カラム選択信号YSiで選択されたレジスタ回路RGDiに、データが書き込まれる。
次に、図6を参照しながら、読出書込部(チェックビット用)32について説明する。図6は、読出書込部(チェックビット用)32の回路図である。チェックビットは外部入出力する必要のないデータであるため、読出書込部(チェックビット用)32は、I/O線対89と接続する機能を有していない。また、書込制御回路185は、インバータ回路76のみで構成され、書込パルス信号/WPがLowレベルに活性化される時には、必ず制御信号C3(インバータ回路176の出力)を活性化し、GBLドライバ82を駆動する。そして、レジスタ回路RGCjの/DQC端子の信号によりGBLjを制御し、チェックビットの書き込みを行う。
次に、図5、図6におけるレジスタ回路RGDi、RGCjとECC制御ブロック15間の接続について説明する。レジスタ回路RGDiの/DQ端子、レジスタ回路RGCjの/DQC端子の信号は、ECC制御ブロック15に入力され、データビット及びチェックビットが、ECC制御ブロック15に供給される。また、ECC制御ブロック15は、誤りを検出すると、誤りの位置を特定し、その位置に対応したレジスタ回路RGDi、RGCjに対し、反転制御信号INVi、INVjを出力する。反転制御信号INVi、INVjを受けたレジスタ回路RGDi、RGCjは、保持しているデータを反転する。
(第1の実施形態の動作)
次に、図7を参照しながら、第1の実施形態の動作について説明する。図7は、第1の実施形態に係る半導体装置の動作を示すフローチャートである。図7では、半導体装置100が、DRAMのようにページモード機能を備えている場合を想定している。1ページ分のデータは、512個の読出書込部(データビット用)31で読み出したデータビットで構成される。即ち、1ページは、選択ワード線と、1つの接続信号によって選択され、各グローバルビット線GBLiと接続された512個のメモリセルから同時に読み出されたデータビットにより構成される。尚、1ページを構成するビット数は、512に限定されるものではなく、任意に設定することができる。また、チェックビットのビット数は、データビットのビット数に応じて適宜設定するものである。
次に、図7を参照しながら、第1の実施形態の動作について説明する。図7は、第1の実施形態に係る半導体装置の動作を示すフローチャートである。図7では、半導体装置100が、DRAMのようにページモード機能を備えている場合を想定している。1ページ分のデータは、512個の読出書込部(データビット用)31で読み出したデータビットで構成される。即ち、1ページは、選択ワード線と、1つの接続信号によって選択され、各グローバルビット線GBLiと接続された512個のメモリセルから同時に読み出されたデータビットにより構成される。尚、1ページを構成するビット数は、512に限定されるものではなく、任意に設定することができる。また、チェックビットのビット数は、データビットのビット数に応じて適宜設定するものである。
また、512ビットのデータビットに対応してECC制御ブロック15により書き込まれている10ビットのチェックビットも同時に読み出す。1ページ分(512ビット)のデータビットと10ビットのチェックビットは、読み出された後、それぞれレジスタ回路RGDi、RGCjに保持され、ECC制御ブロック15は、512ビットのデータビットと10ビットのチェックビットによりECCを用いた誤り検出・訂正を実行する。
図7において、まず、アクティブコマンドを受け付けると(S10)、データビット用セル、チェックビット用セル、リファレンス用セルから1ページ分の信号を読み出す(S11)。ここで、データビット用セルからは512ビット、チェックビット用セルからは10ビット、リファレンス用セルからは1つのリファレンス電位VREFが得られる。
続いて、リファレンス用セルから読み出した信号(リファレンス電位VREF)を参照して、データビット用セル、チェックビット用セルから読み出した信号をセンスアンプSADi、SACjでそれぞれセンス増幅する(S12)。その後、読み出した1ページ分のデータビットとチェックビットの情報をレジスタ回路RGDi、RGCjに保持し、これらを用いて、ECC制御ブロック15が有するシンドローム生成手段がシンドロームを計算する(S13)。シンドロームのビット数は、チェックビットのビット数と同じ10ビットである。そして、シンドロームの全てのビットが0であるか否かを判定する(S14)。
シンドロームの全てのビットが0であれば(S14でYesの場合)、読み出したデータビット及びチェックビットには誤りはないと判定され、S22に進む。そして、ページリードコマンドRdを受け付けて(S22)、レジスタ回路RGDiからデータビットの情報をカラム選択回路17で選択してI/O線対89、バッファ19を介してデータ入出力端子7に読み出す(S23)。ここでは、図2に示すように、1ページ分の512ビットのデータビットから、カラム選択信号YSiにより8ビットを選択して、データ入出力端子7から読み出している。ここで、選択するビット数は8に限定されず、例えば、512ビット全てを選択するようにしてもよい。また、選択したデータをバースト型式で出力するようにしてもよい。
次に、プリチャージコマンドを受け付けると書込パルス信号/WPを活性化し、必要に応じて、レジスタ回路RDGi、RDCjの情報を対応するメモリセルに再書き込みしてページをクローズする(S24)。但し、S14でYesの場合には、ECC制御ブロック15による誤り訂正を行っておらず(反転制御信号INViは発生しない)、また、ライトコマンドによるレジスタ回路RDGiへの書き込み動作も発生していないため(リライトノードN0iはHighレベルを保持したままである)、S24では、データビットの再書き込みは行われず、チェックビットの再書き込みだけが行われる。
また、シンドロームの全てのビットのうち、1つ以上の1が存在する場合は、シンドロームはデータビット、チェックビットのいずれかに誤りがあることを示しているので、データビット及びチェックビットに対する誤り訂正を行う。具体的には、ECC制御ブロック15が有するシンドロームデコード手段により、シンドロームをデコードして、誤りが生じているデータの位置を特定する(S15)。そして、特定された位置に対応するレジスタ回路(RGDi、RGCj)に反転制御信号(INVi、INVj)を出力し、該レジスタ回路が保持しているデータを反転させることで誤りを訂正する(S16)。
次に、誤りを訂正したデータビットとチェックビットを用いて、ECC制御ブロック15のシンドローム生成手段により再度シンドロームを計算する(S17)。そして、再度計算したシンドロームの全てのビットが0であるか否かを判定する(S18)。シンドロームの全てのビットが0の場合(S18でYesの場合)は、S22に進み、ページリードコマンドを受け付けて(S22)、レジスタ回路RGDiからデータビットの情報をカラム選択回路17で選択してI/O線対89、バッファ19を介してデータ入出力端子7に読み出す(S23)。そして、プリチャージコマンドを受け付けると書込パルス信号/WPを活性化し、必要に応じて、レジスタ回路RDGi、RDCjの情報を対応するメモリセルに再書き込みしてページをクローズする(S24)。このS24では、ECC制御ブロック15による誤り訂正がデータビットに対して行われたものであった場合には(反転制御信号INViが発生)、誤り訂正が行われたレジスタ回路RGDiに対応するメモリセルにデータビットの再書き込みが行われる。また、チェックビットの再書き込みも行われる。
再度計算したシンドロームの全てのビットのうち1つ以上の1が存在する場合(S18でNoの場合)は、ECC制御ブロック15は、誤り訂正能力を超えるエラーであると判定し、エラーフラグを出力する(S19)。その後、リファレンス読出書込部33は、ECC制御ブロック15からのエラーフラグを受けると、選択されているデータ1領域のリファレンス用セルと、データ0領域のリファレンス用セルに対して、それぞれ、データ1及びデータ0の再書き込みを行う(S20)。そして、データビット用セル及びチェックビット用セルに対して再書き込みをせずに終了する(S21)。また、この場合には、S23の動作(レジスタ回路RGDiからデータビットの情報をデータ入出力端子7に読み出す動作)は実行しない。
以上が、図7のフローチャートに示す動作である。リファレンス用セルの情報に誤りがあり、読み出しマージンが狭くなっている場合には、522ビットの読み出しデータ(データビット及びチェックビット)に共通のリファレンス電位VREFを用いているため、複数のビットに誤りが発生しやすい。このような場合、ECCを用いた誤り訂正の能力以上の誤りになることが多い。そこで、第1の実施形態では、ECCを用いた誤り訂正の能力以上の誤りがあると検出された場合に、リファレンス用セルの再書き込みをするように制御している。これにより、リファレンス用セルの情報が正常な状態になり、以降の読み出し処理で誤りが生じる可能性を低減させることができる。
以上説明したように、第1の実施形態によれば以下に示す効果が得られる。まず、上記したように、リファレンス用セルの情報の誤りに起因してECCの訂正能力を超える誤りが生じた場合に、リファレンス用セルの情報を再書き込みするようにしたので、以降の読み出しにおいて誤りを生じる可能性を低減できるという効果がある。
また、読み出した情報(データビット及びチェックビット)の誤りを訂正して再書き込みを行うことができるため、情報保持期間にメモリセルの情報が反転してしまう場合でもその誤りを訂正して再書き込みすることができる。それにより、半導体装置の信頼性を向上することができるという効果が得られる。
また、DRAMと同じページモード動作ができるため、同一ページ内のデータを連続して高速に読み出すことができるという効果が得られる。
また、データビットの情報をメモリセルに書き戻すときに、誤り訂正を行ったデータビット、及び外部からレジスタ回路に書き込んだデータビットの場合に限定して書き戻しをするようにしたので、書き戻し動作が発生する頻度を少なくし、書き戻しの際の消費電力を抑制することができるという効果が得られる。
[第1の実施形態の変形例1]
次に、図8を参照しながら、第1の実施形態の変形例1について説明する。図8は、第1の実施形態の変形例1に係る半導体装置の動作を示すフローチャートである。第1の実施形態の変形例1では、第1の実施形態の図7のステップS20の後に、図8のステップS25以降の動作を追加している。
次に、図8を参照しながら、第1の実施形態の変形例1について説明する。図8は、第1の実施形態の変形例1に係る半導体装置の動作を示すフローチャートである。第1の実施形態の変形例1では、第1の実施形態の図7のステップS20の後に、図8のステップS25以降の動作を追加している。
図8において、図7の処理を実行し、図7のS20でリファレンス用セルの再書き込みを行った後、図8のS25以降の処理に進む。図8のS25〜S38の処理の内容は、図7のS11〜S24の処理の内容と同じであるため、重複する説明を省略する。
図7において、リファレンス用セルの情報の誤りに起因して誤り訂正能力を超えるエラーが生じていた場合(図7のS18でNoの場合)には、リファレンス用セルの再書き込み(図7のS20)後には、S28の判定でYesに判定される可能性がある。また、S28でNoと判定された場合であっても、リファレンス用セルの情報が正常な状態になっているので、データビット及びチェックビットの中に複数の誤りが発生する可能性が低くなる。そのため、S29及びS30による誤り訂正により、ステップS32の判定では、Yesになる可能性がある。
以上説明したように、第1の実施形態の変形例1によれば、リファレンス用セルの情報を再書き込みした後に、引き続いて自動で読み出し動作を再実行することができるので、発生した誤りによる読み出し時間の遅延を最小限に抑えて正しい情報を読み出す動作を簡便に実施することができるという効果が得られる。
[第1の実施形態の変形例2]
次に、図9を参照しながら第1の実施形態の変形例2について説明する。図9は、第1の実施形態の変形例2に係る半導体装置の読出書込部(チェックビット用)132の回路図である。図9を図6(第1の実施形態)と比較すると分かるように、図9では、チェックビット用書込ドライバWDCの書込制御回路285が図6の書込制御回路85と相違し、反転制御信号検出回路269を有している。
次に、図9を参照しながら第1の実施形態の変形例2について説明する。図9は、第1の実施形態の変形例2に係る半導体装置の読出書込部(チェックビット用)132の回路図である。図9を図6(第1の実施形態)と比較すると分かるように、図9では、チェックビット用書込ドライバWDCの書込制御回路285が図6の書込制御回路85と相違し、反転制御信号検出回路269を有している。
図9の反転制御信号検出回路269は、図5のカラム選択信号・反転制御信号検出回路169から、カラム選択信号による制御部分をなくし、反転制御信号INVjのみで制御する構成となっている。図9の反転制御信号検出回路269は、予めリライトノードN1jをVDDにプリチャージしておき、反転制御信号INVjを受けた場合に、リライトノードN1jがLowレベルに遷移するように制御される。
上記の構成の読出書込部(チェックビット用)132を用いることにより、チェックビットの情報をメモリセルに書き戻す場合においても、誤り訂正を行ったチェックビットの場合に限定して書き戻しをするようにすることができる。これにより、第1の実施形態の変形例2によれば、第1の実施形態に比べてさらに、書き戻し動作が発生する頻度を少なくし、書き戻しの際の消費電力を抑制することができるという効果が得られる。
[第2の実施形態]
図10は、第2の実施形態に係る情報処理システムの構成を示すブロック図である。第2の実施形態は、前述した実施形態(第1の実施形態、及びその変形例1、2)による半導体装置100と、マルチコアプロセッサ230と、を含む情報処理システムを示している。マルチコアプロセッサ230は、図10に示すように、コア_1〜コア_4(231a〜d)、I/O232、外部記憶装置制御ブロック233、及びオンチップメモリ234を含んで構成される。外部記憶装置制御ブロック233は、半導体装置100とコマンド信号、アドレス信号、及びデータ信号をやり取りすることにより、半導体装置100を制御している。
図10は、第2の実施形態に係る情報処理システムの構成を示すブロック図である。第2の実施形態は、前述した実施形態(第1の実施形態、及びその変形例1、2)による半導体装置100と、マルチコアプロセッサ230と、を含む情報処理システムを示している。マルチコアプロセッサ230は、図10に示すように、コア_1〜コア_4(231a〜d)、I/O232、外部記憶装置制御ブロック233、及びオンチップメモリ234を含んで構成される。外部記憶装置制御ブロック233は、半導体装置100とコマンド信号、アドレス信号、及びデータ信号をやり取りすることにより、半導体装置100を制御している。
半導体装置100は、書き込み時間が比較的長い抵抗変化型メモリセルを用いた場合であっても、DRAMの場合と同様に効率的なページモードを実現することができる。そのため、マルチコアプロセッサ230の性能を維持できるだけのメインメモリバスのデータバンド幅を確保することができる。
また、半導体装置100は、誤り訂正機能を有し、リファレンス用セルの情報の誤りに起因して訂正能力を超える誤りが生じた場合であっても、以降の読み出しにおいて誤りを生じる可能性を低減させることができる。これにより、図10に示す情報処理システムによれば、データの信頼性が向上し、訂正能力を超える誤りが生じた場合であっても、正常状態に早く復帰させることができる情報処理システムを提供することができる。さらに図2に示すエラーフラグを外部記憶装置制御ブロック233が受け取る構成として、マルチコアプロセッサ230がエラーフラグに対応したリカバリー動作を適宜行えるようにしても良い。
尚、各実施形態で開示した半導体装置において、抵抗変化型素子として磁気トンネル接合(MTJ)素子を用いてスピン注入磁化反転書き込みを行うSTT−RAMを使用する場合について説明したが、それに限定されず、例えば、AlOxやHfOx等の金属酸化物等をWやTi、Taを含む電極等で挟んだ構成用いるRe−RAM(Resistive Random Access Memory)や、相変化メモリ(PCM:Phase Change Memory)を使用した半導体装置に対しても、各実施形態の開示内容を適用することが可能である。
さらに、抵抗変化型素子以外のメモリセルを使用する半導体装置においても、リファレンス用セルの方式による読み出しを行う場合には、本発明の各実施形態の開示内容を適用することが可能である。
尚、各実施形態で開示したECCを用いたECC制御ブロック15は、データビットとチェックビットの両方の誤りを検出し、訂正する機能を有しているが、それに限定されず、データビットとチェックビットのいずれか一方の誤りを検出し、訂正するものであってもよい。
なお、本発明の全開示(請求の範囲及び図面を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲及び図面を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
1、100:半導体装置
2:誤り検出訂正回路
3、4:判定回路
5:アドレス入力端子
6:コマンド入力端子
7:データ入出力端子
8:エラーフラグ端子
10、20:メモリセルアレイ
11:第1メモリセル
12:第2メモリセル
13:第3メモリセル
14:チップ制御回路
15:ECC制御ブロック
16:ロウデコーダ
17:カラム選択回路
19:バッファ
21、71:データビット用セルアレイ
22:チェックビット用セルアレイ
23:リファレンス用セルアレイ
24、25、74:セレクタ
26、27、72:プリチャージ回路
31:読出書込部(データビット用)
32、132:読出書込部(チェックビット用)
33:リファレンス読出書込部
35:リファレンス読出回路
36a、36b:リファレンス書込回路
38a:バイアス電圧出力回路(データ1)
38b:バイアス電圧出力回路(データ0)
45a〜c、55a〜c、75a〜f:抵抗変化型素子
46a〜c、56a〜c、76a〜f:セルトランジスタ
47a〜c、57a〜c:メモリセル(第3のメモリセル)
51:BIASACT端子
52:IACT端子
53:VREF端子
54:ERROR端子
61a、63a、63b、102、103、160、162、212、213、260、262:PMOSトランジスタ
61b、62a、62b、101、104、105、106、107、161、163、164、165、261、263:NMOSトランジスタ
67a〜f:メモリセル(第1のメモリセル)
79a〜c:プリチャージNMOSトランジスタ
80a〜c:接続NMOSトランジスタ
82:GBLドライバ
84、184:センスラッチ回路
85、185、285:書込制御回路
86:入出力回路
87:センスアンプ(SADi)
88:データレジスタ(RGDi)
89:I/O線対
169:カラム選択信号・反転制御信号検出回路
175、275:NOR論理回路
176、178、278、298:インバータ回路
187:センスアンプ(SACj)
188:データレジスタ(RGCj)
230:マルチコアプロセッサ
231a〜d:コア_1〜4
232:I/O
233:外部記憶装置制御ブロック
234:オンチップメモリ
269:反転制御信号検出回路
SAD0〜511、SAC0〜9:センスアンプ
RGD0〜511、RGC0〜9:レジスタ回路
WD、WDC:書込ドライバ
GBLi、GBLj:グローバルビット線
LBL0〜LBLk−1:ローカルビット線
WL0〜WLk−1:ワード線
BL1、BL2:リファレンスビット線
SL:リファレンスソース線
Nin2、Nin3、Nout、Nref:ノード
N0i、N1j:リライトノード
PC0〜PCk−1:プリチャージ信号
SW0〜SWk−1:接続信号
RP:読出パルス信号
/WP:書込パルス信号
WE:ライトイネーブル信号
/PC:ノードN0i(N1j)のプリチャージ信号
INVi、INVj:反転制御信号
YSi:カラム選択信号
C1、C2、C3、C4、IACT:制御信号
VREF:リファレンス電位
VDD、VCS:電源
2:誤り検出訂正回路
3、4:判定回路
5:アドレス入力端子
6:コマンド入力端子
7:データ入出力端子
8:エラーフラグ端子
10、20:メモリセルアレイ
11:第1メモリセル
12:第2メモリセル
13:第3メモリセル
14:チップ制御回路
15:ECC制御ブロック
16:ロウデコーダ
17:カラム選択回路
19:バッファ
21、71:データビット用セルアレイ
22:チェックビット用セルアレイ
23:リファレンス用セルアレイ
24、25、74:セレクタ
26、27、72:プリチャージ回路
31:読出書込部(データビット用)
32、132:読出書込部(チェックビット用)
33:リファレンス読出書込部
35:リファレンス読出回路
36a、36b:リファレンス書込回路
38a:バイアス電圧出力回路(データ1)
38b:バイアス電圧出力回路(データ0)
45a〜c、55a〜c、75a〜f:抵抗変化型素子
46a〜c、56a〜c、76a〜f:セルトランジスタ
47a〜c、57a〜c:メモリセル(第3のメモリセル)
51:BIASACT端子
52:IACT端子
53:VREF端子
54:ERROR端子
61a、63a、63b、102、103、160、162、212、213、260、262:PMOSトランジスタ
61b、62a、62b、101、104、105、106、107、161、163、164、165、261、263:NMOSトランジスタ
67a〜f:メモリセル(第1のメモリセル)
79a〜c:プリチャージNMOSトランジスタ
80a〜c:接続NMOSトランジスタ
82:GBLドライバ
84、184:センスラッチ回路
85、185、285:書込制御回路
86:入出力回路
87:センスアンプ(SADi)
88:データレジスタ(RGDi)
89:I/O線対
169:カラム選択信号・反転制御信号検出回路
175、275:NOR論理回路
176、178、278、298:インバータ回路
187:センスアンプ(SACj)
188:データレジスタ(RGCj)
230:マルチコアプロセッサ
231a〜d:コア_1〜4
232:I/O
233:外部記憶装置制御ブロック
234:オンチップメモリ
269:反転制御信号検出回路
SAD0〜511、SAC0〜9:センスアンプ
RGD0〜511、RGC0〜9:レジスタ回路
WD、WDC:書込ドライバ
GBLi、GBLj:グローバルビット線
LBL0〜LBLk−1:ローカルビット線
WL0〜WLk−1:ワード線
BL1、BL2:リファレンスビット線
SL:リファレンスソース線
Nin2、Nin3、Nout、Nref:ノード
N0i、N1j:リライトノード
PC0〜PCk−1:プリチャージ信号
SW0〜SWk−1:接続信号
RP:読出パルス信号
/WP:書込パルス信号
WE:ライトイネーブル信号
/PC:ノードN0i(N1j)のプリチャージ信号
INVi、INVj:反転制御信号
YSi:カラム選択信号
C1、C2、C3、C4、IACT:制御信号
VREF:リファレンス電位
VDD、VCS:電源
Claims (18)
- 複数の第1メモリセル、複数の第2メモリセル、及び1又は複数の第3メモリセルを含むメモリセルアレイと、
選択された前記複数の第1メモリセル及び選択された前記複数の第2メモリセルが保持する複数のデータの値を、選択された少なくとも1つの前記第3メモリセルが保持するリファレンスデータに対応したリファレンス信号を参照して判定する判定回路と、
前記判定された複数の第1及び第2メモリセルのデータの値を誤り訂正符号として、前記判定された複数の第1及び/又は第2メモリセルのデータの値に誤りがあるか否かを検出する誤り検出訂正回路と、
を備え、
前記誤り検出訂正回路は、前記判定された複数の第1及び/又は第2メモリセルのデータの値に誤り訂正能力以上の誤りがあることを検出した時に、前記選択された少なくとも1つの第3メモリセルに対して前記リファレンスデータを書き込む制御を行う、ことを特徴とする半導体装置。 - 前記誤り検出訂正回路は、
前記判定された複数の第1及び第2メモリセルのデータの値からシンドロームを生成するシンドローム生成手段と、
前記生成されたシンドロームから前記判定された複数の第1及び第2メモリセルのデータの値のうちで誤りが生じているデータの位置を特定するシンドロームデコード手段と、
前記シンドロームデコード手段が特定した位置のデータに対して該データの値を反転させる反転制御信号を出力する誤り訂正手段と、
を備え、
前記誤り検出訂正回路は、
前記誤り訂正手段が出力した反転制御信号に基づいて誤り訂正を行った後に、前記シンドローム生成手段により生成されたシンドロームが誤りの存在を示している場合を、誤り訂正能力以上の誤りがあると検出する、ことを特徴とする請求項1に記載の半導体装置。 - 前記選択された少なくとも1つの第3メモリセルに保持された前記リファレンスデータを読み出し、前記リファレンスデータに対応したリファレンス信号を出力するリファレンス読出回路と、
前記選択された少なくとも1つの第3メモリセルに前記リファレンスデータを書き込むリファレンス書込回路と、
を含むリファレンス読出書込部をさらに備えた、ことを特徴とする請求項1または2に記載の半導体装置。 - 前記第3メモリセルは、第1論理値のデータを保持するメモリセルと、第2論理値のデータを保持するメモリセルとを含み、
前記リファレンス読出回路は、選択された前記少なくとも1つの第3メモリセルに対応した前記第1及び第2論理値のデータを保持するメモリセルをそれぞれ読み出した2つの信号の中間レベルの信号を、前記リファレンスデータに対応したリファレンス信号として出力し、
前記リファレンス書込回路は、選択された前記少なくとも1つの第3メモリセルに対応した前記第1及び第2論理値のデータを保持するメモリセルに、夫々第1及び第2論理値のデータを書き込む、ことを特徴とする請求項3に記載の半導体装置。 - 前記リファレンス読出書込部は、
前記第3メモリセルのうち前記第1論理値のデータを保持するメモリセルに接続された第1リファレンスビット線と、
前記第3メモリセルのうち前記第2論理値のデータを保持するメモリセルに接続された第2リファレンスビット線と、
前記第1リファレンスビット線と前記第2リファレンスビット線との間に、直列に接続された第1及び第2トランジスタと、を備え、
前記第1トランジスタ及び第2トランジスタの接続節点から前記リファレンス信号が出力されることを特徴とする請求項4に記載の半導体装置。 - 前記複数の第1及び第2メモリセルの制御電極と、前記第3メモリセルの制御電極とに接続されるワード線を備え、
前記ワード線により、前記リファレンス信号を出力する前記第3メモリセルが選択されるように構成されている、ことを特徴とする請求項1乃至5のいずれか一に記載の半導体装置。 - 前記複数の第1メモリセルが保持するデータは外部入出力を行うデータビットであり、
前記複数の第2メモリセルが保持するデータは、前記データビットを誤り訂正するために付加されたチェックビットである、ことを特徴とする請求項1乃至6のいずれか一に記載の半導体装置。 - 前記データビットを外部出力する出力バッファをさらに備え、
前記誤り検出訂正回路は、誤り訂正能力以上の誤りがあると検出した場合にエラー信号を出力し、
前記出力バッファは前記エラー信号を受けて前記複数の第1メモリセルが保持するデータビットを外部出力しないように制御する、ことを特徴とする請求項7に記載の半導体装置。 - 前記複数の第1及び第2メモリセルに対する書き込み制御を行う書込制御回路をさらに備え、
前記書込制御回路は、
前記選択された複数の第1メモリセルのうち、前記反転制御信号に基づいて誤り訂正が行われたデータに対応するメモリセルに対して、前記誤り訂正されたデータの値を所定の書き込み期間に書き込み、
前記選択された複数の第2メモリセルのデータの値を前記所定の書き込み期間に書き込む制御を行う、ことを特徴とする請求項3乃至8のいずれか一に記載の半導体装置。 - 前記複数の第1及び第2メモリセルに対して書き込み制御を行う書込制御回路をさらに備え、
前記書込制御回路は、
前記選択された複数の第1及び第2メモリセルのうち、前記反転制御信号に基づいて誤り訂正が行われたデータに対応するメモリセルに対して、前記誤り訂正されたデータの値を所定の書き込み期間に書き込む制御を行う、ことを特徴とする請求項3乃至8のいずれか一に記載の半導体装置。 - 前記書込制御回路は、
リライトノードと、
前記リライトノードを所定の電位にプリチャージするプリチャージ回路と、
ゲートが前記反転制御信号を受け、ソース及びドレインの一方が前記リライトノードと接続され、ソース及びドレインの他方が第1の電源と接続された第3トランジスタと、を備え、
前記書込制御回路は、前記リライトノードの電位に基づいて、前記誤り訂正されたデータの値を所定の書き込み期間に書き込む制御を行う、ことを特徴とする請求項9または10に記載の半導体装置。 - 前記第1メモリセル、前記第2メモリセル、及び前記第3メモリセルは、抵抗状態により情報を記憶する抵抗変化型メモリ素子を備えたメモリセルである、ことを特徴とする請求項1乃至11のいずれか一に記載の半導体装置。
- 複数の第1メモリセル、複数の第2メモリセル、及びリファレンスデータを保持する1又は複数の第3メモリセルを含むメモリセルアレイに対する誤り訂正方法であって、
選択された前記複数の第1メモリセル及び選択された前記複数の第2メモリセルが保持する複数のデータの値を、選択された少なくとも1つの前記第3メモリセルが保持するリファレンスデータに対応したリファレンス信号を参照して判定する判定ステップと、
前記判定された複数の第1及び第2メモリセルのデータの値を誤り訂正符号として、前記判定された複数の第1及び/又は第2メモリセルのデータの値に誤り訂正能力以上の誤りがあるか否かを検出する検出ステップと、
前記判定された複数の第1及び/又は第2メモリセルのデータの値に誤り訂正能力以上の誤りがあると検出された場合に、前記選択された少なくとも1つの第3メモリセルに対して前記リファレンスデータを書き込むリファレンスデータ書込みステップと、
を含む、ことを特徴とする誤り訂正方法。 - 前記検出ステップは、
前記判定された複数の第1及び第2メモリセルのデータの値を誤り訂正符号として、前記判定された複数の第1及び/又は第2メモリセルのデータの値に誤りがあるか否かを検出する第1の誤り検出ステップと、
前記第1の誤り検出ステップにおいて検出された前記複数の第1及び/又は第2メモリセルのデータの値の誤りを訂正する誤り訂正ステップと、
前記誤り訂正ステップ後の前記複数の第1及び/又は第2メモリセルのデータの値に誤りがあるか否かを再度検出する第2の誤り検出ステップと、
を含み、
前記第2の誤り検出ステップにおいて誤りが検出された場合を、前記複数の第1及び/又は第2メモリセルのデータの値に誤り訂正能力以上の誤りがあると検出する、ことを特徴とする請求項13に記載の誤り訂正方法。 - 前記第1及び第2の誤り検出ステップは、前記判定された複数の第1及び第2メモリセルのデータの値からシンドロームを生成し、前記シンドロームの全ビットのうち、0でないビットが存在する場合を誤りがあると検出し、
前記誤り訂正ステップは、前記生成されたシンドロームから前記判定された複数の第1及び第2メモリセルのデータの値のうちで誤りが生じているデータの位置を特定し、前記特定された位置のデータを反転させる、ことを特徴とする請求項14に記載の誤り訂正方法。 - 前記検出ステップにおいて前記複数の第1及び/又は第2メモリセルのデータの値に誤り訂正能力以上の誤りがあると検出された場合に、前記第1メモリセルのデータの値を外部に読み出す動作を行わないことを特徴とする請求項13乃至15のいずれか一に記載の誤り訂正方法。
- 前記リファレンスデータ書込みステップを行った後、
前記判定ステップ、及び前記検出ステップを再度行うことを特徴とする請求項13乃至16のいずれか一に記載の誤り訂正方法。 - 前記複数の第1メモリセルが保持するデータは外部入出力を行うデータビットであり、
前記複数の第2メモリセルが保持するデータは、前記データビットを誤り訂正するために付加されたチェックビットである、ことを特徴とする請求項13乃至17のいずれか一に記載の誤り訂正方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013186214A JP2015053096A (ja) | 2013-09-09 | 2013-09-09 | 半導体装置、及び誤り訂正方法 |
US14/480,325 US9558063B2 (en) | 2013-09-09 | 2014-09-08 | Semiconductor device and error correction method |
US15/399,572 US9892784B2 (en) | 2013-09-09 | 2017-01-05 | Semiconductor device and error correction method |
US15/857,838 US10522222B2 (en) | 2013-09-09 | 2017-12-29 | Semiconductor device and error correction method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013186214A JP2015053096A (ja) | 2013-09-09 | 2013-09-09 | 半導体装置、及び誤り訂正方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015053096A true JP2015053096A (ja) | 2015-03-19 |
Family
ID=52626778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013186214A Pending JP2015053096A (ja) | 2013-09-09 | 2013-09-09 | 半導体装置、及び誤り訂正方法 |
Country Status (2)
Country | Link |
---|---|
US (3) | US9558063B2 (ja) |
JP (1) | JP2015053096A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170003743A (ko) * | 2015-06-30 | 2017-01-10 | 에스케이하이닉스 주식회사 | 플래시 메모리 시스템 및 그의 동작 방법 |
US20220085019A1 (en) * | 2019-02-22 | 2022-03-17 | Semiconductor Energy Laboratory Co., Ltd. | Memory device having error detection function, semiconductor device, and electronic device |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015053096A (ja) | 2013-09-09 | 2015-03-19 | マイクロン テクノロジー, インク. | 半導体装置、及び誤り訂正方法 |
US9411694B2 (en) * | 2014-02-12 | 2016-08-09 | Micron Technology, Inc. | Correcting recurring errors in memory |
US10381102B2 (en) | 2014-04-30 | 2019-08-13 | Micron Technology, Inc. | Memory devices having a read function of data stored in a plurality of reference cells |
WO2016009719A1 (ja) * | 2014-07-14 | 2016-01-21 | 富士電機株式会社 | 半導体装置 |
US9692455B2 (en) | 2015-09-11 | 2017-06-27 | Micron Technology, Inc. | Multi channel memory with flexible code-length ECC |
US9904593B2 (en) * | 2015-11-13 | 2018-02-27 | Taiwan Semiconductor Manufacturing Co., Ltd. | Memory device and correction method |
US9952925B2 (en) * | 2016-01-06 | 2018-04-24 | Micron Technology, Inc. | Error code calculation on sensing circuitry |
US20180013566A1 (en) | 2016-07-05 | 2018-01-11 | Dark Matter L.L.C. | Apparatus, computer program, and method for securely broadcasting messages |
KR20190067669A (ko) * | 2017-12-07 | 2019-06-17 | 에스케이하이닉스 주식회사 | 전자장치 |
US10540229B2 (en) * | 2018-06-25 | 2020-01-21 | International Business Machines Corporation | Overwriting data objects in a dispersed storage network |
JP2020087491A (ja) * | 2018-11-21 | 2020-06-04 | キオクシア株式会社 | 半導体記憶装置 |
US10795767B2 (en) * | 2018-12-26 | 2020-10-06 | M31 Technology Corporation | Error correcting system shared by multiple memory devices |
US11023320B2 (en) * | 2019-04-04 | 2021-06-01 | Intel Corporation | Technologies for providing multiple levels of error correction |
CN112289365B (zh) * | 2019-07-24 | 2024-02-23 | 华邦电子股份有限公司 | 半导体存储器装置 |
US11372700B1 (en) * | 2020-12-08 | 2022-06-28 | Xilinx, Inc. | Fault-tolerant data transfer between integrated circuits |
CN113035263B (zh) * | 2021-04-14 | 2022-05-31 | 长鑫存储技术有限公司 | 含通道ecc的信号处理电路和存储器 |
US11947841B2 (en) * | 2021-06-15 | 2024-04-02 | Micron Technology, Inc. | Managing address access information |
US11782787B2 (en) * | 2021-08-13 | 2023-10-10 | Micron Technology, Inc. | Dynamic error control configuration for memory systems |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4730320A (en) * | 1985-02-07 | 1988-03-08 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device |
JP3202042B2 (ja) | 1991-07-29 | 2001-08-27 | 株式会社日立製作所 | 半導体記憶装置 |
JPH11175362A (ja) * | 1997-12-16 | 1999-07-02 | Toshiba Ave Co Ltd | 誤り訂正装置及びデータ再生装置 |
EP1517327A3 (en) * | 1998-02-25 | 2005-03-30 | Matsushita Electric Industrial Co., Ltd. | High-speed error correcting apparatus with efficient data transfer |
FR2776113A1 (fr) * | 1998-03-13 | 1999-09-17 | Thomson Multimedia Sa | Dispositif de correction d'erreurs et lecteur de disque optique comportant un tel dispositif |
JP4105819B2 (ja) * | 1999-04-26 | 2008-06-25 | 株式会社ルネサステクノロジ | 記憶装置およびメモリカード |
JP2001351398A (ja) * | 2000-06-12 | 2001-12-21 | Nec Corp | 記憶装置 |
JP4066638B2 (ja) | 2000-11-27 | 2008-03-26 | 株式会社日立製作所 | 半導体装置 |
US6307783B1 (en) * | 2001-02-26 | 2001-10-23 | Advanced Micro Devices, Inc. | Descending staircase read technique for a multilevel cell NAND flash memory device |
JP4170108B2 (ja) | 2003-02-20 | 2008-10-22 | 株式会社ルネサステクノロジ | 磁気記憶装置 |
JP4786171B2 (ja) * | 2004-12-10 | 2011-10-05 | 株式会社東芝 | 半導体記憶装置 |
JP4802515B2 (ja) | 2005-03-01 | 2011-10-26 | 株式会社日立製作所 | 半導体装置 |
KR100732628B1 (ko) * | 2005-07-28 | 2007-06-27 | 삼성전자주식회사 | 멀티-비트 데이터 및 싱글-비트 데이터를 저장하는 플래시메모리 장치 |
JP4853735B2 (ja) * | 2005-10-18 | 2012-01-11 | 日本電気株式会社 | Mram、及びその動作方法 |
JP4905839B2 (ja) * | 2005-10-18 | 2012-03-28 | 日本電気株式会社 | Mramの動作方法 |
JP2007207325A (ja) * | 2006-01-31 | 2007-08-16 | Toshiba Corp | 誤り訂正処理装置及び誤り訂正処理方法 |
JP4598711B2 (ja) * | 2006-03-30 | 2010-12-15 | 富士通株式会社 | 誤り訂正装置 |
US8000134B2 (en) * | 2006-05-15 | 2011-08-16 | Apple Inc. | Off-die charge pump that supplies multiple flash devices |
JP5095131B2 (ja) * | 2006-05-31 | 2012-12-12 | 株式会社東芝 | 半導体記憶装置 |
US7379327B2 (en) | 2006-06-26 | 2008-05-27 | Grandis, Inc. | Current driven switching of magnetic storage cells utilizing spin transfer and magnetic memories using such cells having enhanced read and write margins |
US7975209B2 (en) * | 2007-03-31 | 2011-07-05 | Sandisk Technologies Inc. | Non-volatile memory with guided simulated annealing error correction control |
US8510633B2 (en) * | 2007-04-17 | 2013-08-13 | Nec Corporation | Semiconductor storage device and method of operating the same |
US7577036B2 (en) * | 2007-05-02 | 2009-08-18 | Micron Technology, Inc. | Non-volatile multilevel memory cells with data read of reference cells |
JP4672743B2 (ja) | 2008-03-01 | 2011-04-20 | 株式会社東芝 | 誤り訂正装置および誤り訂正方法 |
JP5127630B2 (ja) | 2008-08-20 | 2013-01-23 | 株式会社東芝 | 抵抗変化型メモリ |
US7755923B2 (en) * | 2008-09-18 | 2010-07-13 | Seagate Technology Llc | Memory array with read reference voltage cells |
US8775865B2 (en) | 2009-06-24 | 2014-07-08 | Headway Technologies, Inc. | Method and apparatus for scrubbing accumulated disturb data errors in an array of SMT MRAM memory cells including rewriting reference bits |
US8370714B2 (en) | 2010-01-08 | 2013-02-05 | International Business Machines Corporation | Reference cells for spin torque based memory device |
KR20110135169A (ko) * | 2010-06-10 | 2011-12-16 | 삼성전자주식회사 | 저항체를 이용한 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템 |
KR101772019B1 (ko) * | 2010-09-14 | 2017-08-28 | 삼성전자주식회사 | 저항성 메모리 장치 및 저항성 메모리 장치의 리프레시 제어 방법 |
US9042152B2 (en) | 2011-08-25 | 2015-05-26 | Samsung Electronics Co., Ltd. | Data read circuit, a non-volatile memory device having the same, and a method of reading data from the non-volatile memory device |
KR101933719B1 (ko) | 2012-05-25 | 2018-12-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 |
KR20140006460A (ko) * | 2012-07-05 | 2014-01-16 | 에스케이하이닉스 주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 저장 장치 |
US20140071739A1 (en) | 2012-09-13 | 2014-03-13 | Qualcomm Incorporated | Reference level adjustment scheme |
KR102060488B1 (ko) * | 2012-12-27 | 2019-12-30 | 삼성전자주식회사 | 불휘발성 랜덤 액세스 메모리 장치 및 그것의 데이터 읽기 방법 |
JP2015053096A (ja) | 2013-09-09 | 2015-03-19 | マイクロン テクノロジー, インク. | 半導体装置、及び誤り訂正方法 |
US9025367B1 (en) | 2013-11-26 | 2015-05-05 | Realtek Semiconductor Corp. | Method and apparatus for sensing tunnel magneto-resistance |
US10381102B2 (en) | 2014-04-30 | 2019-08-13 | Micron Technology, Inc. | Memory devices having a read function of data stored in a plurality of reference cells |
-
2013
- 2013-09-09 JP JP2013186214A patent/JP2015053096A/ja active Pending
-
2014
- 2014-09-08 US US14/480,325 patent/US9558063B2/en active Active
-
2017
- 2017-01-05 US US15/399,572 patent/US9892784B2/en active Active
- 2017-12-29 US US15/857,838 patent/US10522222B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170003743A (ko) * | 2015-06-30 | 2017-01-10 | 에스케이하이닉스 주식회사 | 플래시 메모리 시스템 및 그의 동작 방법 |
KR102286193B1 (ko) * | 2015-06-30 | 2021-08-09 | 에스케이하이닉스 주식회사 | 플래시 메모리 시스템 및 그의 동작 방법 |
US20220085019A1 (en) * | 2019-02-22 | 2022-03-17 | Semiconductor Energy Laboratory Co., Ltd. | Memory device having error detection function, semiconductor device, and electronic device |
Also Published As
Publication number | Publication date |
---|---|
US9558063B2 (en) | 2017-01-31 |
US20150074493A1 (en) | 2015-03-12 |
US20180122477A1 (en) | 2018-05-03 |
US20170117044A1 (en) | 2017-04-27 |
US10522222B2 (en) | 2019-12-31 |
US9892784B2 (en) | 2018-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9892784B2 (en) | Semiconductor device and error correction method | |
CN108573732B (zh) | 半导体存储装置以及数据写入方法 | |
JP5897337B2 (ja) | 抵抗性メモリ装置、そのレイアウト構造及びセンシング回路 | |
US9245609B2 (en) | Semiconductor storage device | |
US20190304516A1 (en) | Apparatuses and methods for coupling data lines in memory devices | |
US10452475B2 (en) | Memory system and resistance change type memory | |
JP2005158199A (ja) | 半導体集積回路装置 | |
US7483290B2 (en) | Nonvolatile memory utilizing hot-carrier effect with data reversal function | |
JP2009230798A (ja) | 磁気記憶装置 | |
JP2010040123A (ja) | 半導体装置 | |
US7639546B2 (en) | Nonvolatile memory utilizing MIS memory transistors with function to correct data reversal | |
JP5929268B2 (ja) | 不揮発性メモリセルアレイ、および不揮発性メモリ | |
WO2014176213A1 (en) | Retention optimized memory device using predictive data inversion | |
JP6672224B2 (ja) | 磁気メモリ | |
US9619319B2 (en) | Semiconductor device and error correction information writing method | |
US10998043B2 (en) | Nonvolatile memory apparatus and memory system using the same | |
JP2017037691A (ja) | 不揮発性半導体メモリ | |
US11501811B2 (en) | Semiconductor storage device and controlling method thereof | |
KR20130046248A (ko) | 멀티레벨 셀을 포함하는 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 데이터 리드 방법 | |
KR100685577B1 (ko) | 불휘발성 강유전체 메모리 장치 | |
US9390810B2 (en) | Semiconductor device and control method thereof | |
JP2012094201A (ja) | 半導体装置 | |
JP5150933B2 (ja) | 半導体装置 | |
JP2005063553A (ja) | 磁性体記憶装置 | |
JP2010055667A (ja) | 半導体記憶装置 |