JP5458064B2 - 不揮発性半導体メモリ - Google Patents

不揮発性半導体メモリ Download PDF

Info

Publication number
JP5458064B2
JP5458064B2 JP2011155447A JP2011155447A JP5458064B2 JP 5458064 B2 JP5458064 B2 JP 5458064B2 JP 2011155447 A JP2011155447 A JP 2011155447A JP 2011155447 A JP2011155447 A JP 2011155447A JP 5458064 B2 JP5458064 B2 JP 5458064B2
Authority
JP
Japan
Prior art keywords
write
data
memory cell
circuit
cell array
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
JP2011155447A
Other languages
English (en)
Other versions
JP2013020683A (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 JP2011155447A priority Critical patent/JP5458064B2/ja
Priority to US13/544,412 priority patent/US8711604B2/en
Publication of JP2013020683A publication Critical patent/JP2013020683A/ja
Application granted granted Critical
Publication of JP5458064B2 publication Critical patent/JP5458064B2/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/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/1012Adding 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0009RRAM elements whose operation depends upon chemical change
    • G11C13/0014RRAM elements whose operation depends upon chemical change comprising cells based on organic memory material
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y10/00Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/02Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using elements whose operation depends upon chemical change
    • G11C13/025Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using elements whose operation depends upon chemical change using fullerenes, e.g. C60, or nanotubes, e.g. carbon or silicon nanotubes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/30Resistive cell, memory material aspects
    • G11C2213/35Material including carbon, e.g. graphite, grapheme
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/72Array wherein the access device being a diode

Description

実施形態は、不揮発性半導体メモリに関する。
近年、フラッシュメモリの後継となる不揮発性半導体メモリの候補として、電圧パルスを印加することで抵抗が変化する抵抗可変膜をメモリセルに用い、メモリセルの抵抗状態(不揮発性)を‘0’/‘1’のデータに対応させることで、メモリ動作を行うReRAM(Resistive RAM)が注目されている。
このReRAMは、抵抗可変膜に電圧パルスを印加することで、メモリセルの抵抗状態を変化させるという簡単な動作のため、1つの抵抗可変膜と1つの電流整流素子(1つの抵抗可変膜を選択するために必要)とを組み合わせたメモリセルを、碁盤目状に配置した上部、下部の配線のクロスポイント部に配置するクロスポイント型のメモリセルアレイを、形成することが可能である。このようなクロスポイント型のメモリセルアレイは、1メモリセルあたりの占有面積を小さくできるため、より大容量のメモリセルの高集積化を図れるものとして期待されている。
しかし、ReRAMへの適用が検討されている抵抗変化膜の中には、その特性上、低抵抗状態から高抵抗状態への変化、或いは、高抵抗状態から低抵抗状態への変化のどちらかが困難であるものも存在する。抵抗可変膜をメモリセルに用いたReRAMにおいては、抵抗可変膜の抵抗が、低抵抗状態から高抵抗状態へ、或いは、高抵抗状態から低抵抗状態へ変化することは、メモリセルへのデータの書き込み、或いは、消去に相当する。このため、低抵抗状態から高抵抗状態への変化、或いは、高抵抗状態から低抵抗状態への変化のどちらかが困難である抵抗変化膜を用いる場合、高抵抗状態、或いは、低抵抗状態を不揮発に保持することに加えて、データの書き込み、消去の観点からも、メモリ動作の信頼性を十分に確保する工夫が必要である。
例えば、データの書き込み、或いは、消去が規定回数以内に成功しなかった場合、そのメモリセルへのデータの書き込み、或いは、消去を諦め、データの読み出し(デコード)時に、従来用いられているECC(Error Correcting Code)により、データを訂正する方法も考えられる。しかし、書き込んだ、或いは、消去したデータを保持している際に、データが反転してしまうエラーの訂正に加えて、データ書き込み、或いは、消去時に発生するエラーの訂正をも可能とするには、従来以上に高いエラー訂正能力を有したECCが必要となる。一般に、ECCのエラー訂正能力は、本来記憶したいデータとは別に、エラー訂正を可能とするようパリティデータをより多く記憶することで高められる。しかしながら、パリティデータの増大は、本来記憶したいデータを記憶するための実効的な記憶容量を減少させるため、好ましくない。
そのため、低抵抗状態から高抵抗状態への変化、或いは、高抵抗状態から低抵抗状態への変化のどちらかが困難である抵抗可変膜をメモリセルに用いたReRAMにおいては、データ書き込み、或いは、消去時に発生するエラーの訂正をも可能とするような、従来よりも高いエラー訂正能力を実現しつつも、如何に、パリティデータの増大を抑制するかが問題となる。
特開2009−230796号
抵抗可変膜をメモリセルに用いたReRAMにおいて、抵抗可変膜が特性上、低抵抗状態から高抵抗状態への変化、或いは、高抵抗状態から低抵抗状態への変化のどちらかが困難である場合に、データ書き込み、或いは、消去時に発生するエラーの訂正をも可能とするような、従来よりも高いエラー訂正能力を実現しつつ、パリティデータの増大を抑制することを目的とする。
実施形態に係る不揮発性半導体メモリは、複数のメモリセルからなるメモリセルアレイ、並びに、当該メモリセルアレイに対して書込データの書込動作を実行する書込回路を有するデータ記憶部と、情報データから前記書込データを生成した上で前記書込回路に前記メモリセルアレイに対する当該書込データの書込動作を実行させるエンコーダと、規定回数内の前記書込動作によって前記メモリセルアレイに対する前記書込データの書き込みの成功又は失敗を判定し、失敗の場合、前記書込データを反転させた新たな書込データを生成した上で前記書込回路に前記メモリセルアレイに対して当該新たな書込データの書込動作を実行させる書込判定回路と、前記書込判定回路による判定が失敗であった場合、前記メモリセルから読み出された読出データを反転させた新たな読出データを生成するスイッチ回路と、前記メモリセルアレイから読み出された前記読出データを前記スイッチ回路を介して入力した上で当該読出データから前記情報データを復元するデコーダとを備える。
実施形態に係るメモリセルアレイの等価回路とメモリセルの構造を説明する図である。 実施形態に係る半導体記憶装置のブロック図である。 実施形態に係る半導体記憶装置のエンコーダのブロック図である。 実施形態に係る半導体記憶装置のデコーダのブロック図である。 実施形態に係る半導体記憶装置のデータ書き込み時のフローチャートである。 実施形態に係る半導体記憶装置のデータ読み出し時のフローチャートである。 実施形態及び比較例に係る半導体記憶装置における書込データ長とパリティデータ長との関係を示すグラフである。
以下、図面を参照しながら実施形態に係る半導体記憶装置について説明する。
実施形態に係る半導体記憶装置は、ECC(Error Correcting Code)を用いた符号誤り訂正機能を有している。
先ず、実施形態に係る半導体記憶装置のメモリセルアレイの一例を説明しておく。
図1中Aは、実施形態に係るメモリセルアレイMAの一部を示す等価回路図であり、図1中Bは、図1中Aに示すメモリセルMCの一部を示す構造図である。
メモリセルアレイMAは、図1中Aに示すように、複数のワード線WL、これら複数のワード線WLに交差する複数のビット線BL、並びに、これら複数のワード線WL及びビット線BLの各交差部に設けられた複数のメモリセルMCを備える。
メモリセルMCは、直列接続された可変抵抗素子VR、及び、電流整流素子100からなる。このメモリセルMCは、可変抵抗素子VRの抵抗値の違いによってデータを記憶する。すなわち、例えば、可変抵抗素子VRの抵抗値の大きさによって、‘0’/‘1’のデータを規定する。また、可変抵抗素子VRの抵抗値は、可変抵抗素子VRに対して所定の電圧を所定の時間印加することで変化させることができる。
以下において、可変抵抗素子VRの抵抗値が低抵抗である状態を「セット状態」、高抵抗である状態を「リセット状態」と呼ぶこともある。また、高抵抗状態の可変抵抗素子VRを低抵抗状態に遷移させる動作を「セット動作」、低抵抗状態の可変抵抗素子VRを高抵抗状態に遷移させる動作を「リセット動作」と呼ぶこともある。更に、セット動作及びリセット動作させることを「書込動作」と呼ぶこともある。
可変抵抗素子VRは、図1中Bに示すように、下部電極、上部電極、並びに、これら上部電極及び下部電極に挟まれた抵抗可変膜を備える。
抵抗可変膜としては、まず広く研究、開発されている、ニッケル酸化物(NiO)を始めとした二元系金属酸化物や、ストロンチウムジルコニウム酸化物(SrZrO)を始めとして多元系金属酸化物が挙げられる。しかし、金属酸化物は組成や結晶構造を制御して作製することが難しく、組成や結晶構造の制御性の低さに起因すると考えられる抵抗変化膜の電気特性不安定性やばらつきが大きく、再現性良く所望の電気特性を得ることが困難という欠点もある。
炭素系材料もまた抵抗変化層の候補として材料探索や作製方法の検討がなされている。炭素系材料は、単一の炭素で構成されるため、組成の制御は比較的容易でプロセス条件の依存性が少なく、制御しやすいメリットがある。
しかし、炭素膜は高温高圧で作製しない限り、黒鉛、所謂、グラファイト構造が容易に形成されるため、電気抵抗率は低い。電気抵抗率が低すぎると、電気抵抗状態を変化させる際にメモリセルに流れる電流が大きくなり、消費電力も大きくなる。また抵抗状態の変化は、膜の炭素の結合状態(sp3結合とsp2結合)の違いに起因するとも考えられており、結合状態を変えるためには大電流が必要であることが予想され、抵抗変化に必要な電流の低減が困難である可能性がある。
一方、同じ炭素系膜の中でも炭素系ナノマテリアルもまた、抵抗変化メモリ素子の一候補である。炭素系ナノマテリアルとは、カーボンナノチューブ、フラーレン、その他の立体構造を有する炭素材料の総称である。この炭素系ナノマテリアルを積層した層では、均質膜として形成されるバルク膜と異なり、微細チューブが積み上げられた間隙の多い立体構造であるが故に、電流パスが空間的に制限される。従って、炭素系ナノマテリアル自体が導電体であっても、炭素系ナノマテリアル層を流れる電流は少なく、炭素系ナノマテリアル層の電気抵抗状態を変化させる際に必要な電流を下げることが可能である。
詳細な炭素系ナノマテリアル層の抵抗変化のメカニズムは明らかではないが、上述のような炭素系ナノマテリアル特有の電流制限機構により、炭素系ナノマテリアルを使った抵抗変化型メモリは、電気抵抗状態を変化させる際に必要な電流を低減できる可能性があるため、注目を集めている。
上述のような理由から、抵抗可変膜として、炭素系ナノマテリアルを使うことが望ましい。
また、下部電極、上部電極に関しては、熱に強く、且つ、抵抗値の低い材料が望ましく、例えばタングステン(W)、チタン(Ti)、窒化タングステン(WN)、窒化チタン(TiN)、タングステンシリサイド(WSi)、ニッケルシリサイド(NiSi)、コバルトシリサイド(CoSi)等を用いることができる。
電流整流素子100は、電圧・電流特性において所定の電流整流特性を有すれば、材質、構造等は、特に限定されない。電流整流素子100としては、例えば、ポリシリコン(Poly−Si)で作製したダイオードが挙げられる。ダイオードの一例としては、不純物を含有するp型層及びn型層を備えるPN接合ダイオードが用いられる。また他にも、ダイオードとして、PN接合ダイオードのほかに、ショットキーダイオードや、p型層及びn型層の間に不純物を含有しないi層を挿入したPINダイオード等の各種ダイオード、パンチスルーダイオード等を用いることもできる。また、選択されたメモリセルMCの可変抵抗素子VRに所望の電圧、電流が供給できるような電流整流特性を得られるように、電流整流素子100に用いられる材料として、シリコン(Si)以外に、シリコンゲルマニウム(SiGe)、ゲルマニウム(Ge)等の半導体、半導体と金属の混晶、酸化物等の絶縁体を用いることも可能である。
可変抵抗素子VRの抵抗可変膜として炭素系ナノマテリアルを用いた場合、発明者等の独自の研究開発に結果によると、可変抵抗素子VRは、リセット動作は容易に起こるものの、セット動作が困難であるという特徴を持つ。そのため、可変抵抗素子VRをセット動作させるには、書込動作を繰り返し実行する必要がある。但し、書込動作を繰り返し実行することは、当然、データ書き込みの処理時間の増大を招くことになる。
そこで、可変抵抗素子VRがセット動作しにくいことに起因するデータ書き込み処理時間の増大を回避するため、予め定めた規定回数の書込動作を繰り返しても可変抵抗素子VRがセット動作しなかった場合、書込動作を中止するという手法を採ることがある。そうすることで、データ書き込みの処理時間を抑制することができる。また、搭載したECCによる符号誤り訂正能力の範囲であれば、データ読み出し(デコード)時に、本来書き込まれるべき正しいデータを復元することができるため、メモリ動作の信頼性は確保される。
しかし、上述のように、書き込み動作を規定回数繰り返しても可変抵抗膜VRがセット動作しなかった場合、書込動作を中止し、データ読み出し(デコード)時に、ECCにより正しいデータを復元するという手法においては、元々必要としていた、書き込んだデータを不揮発に保持するデータ保持特性を保証するためのパリティデータに加えて、セット動作が困難な可変抵抗素子VRに対する書込動作時に発生する書き込みエラーを保証するためのパリティデータも必要となる。この場合、本来記憶したい情報データに対するパリティデータの割合が増大してしまい、半導体記憶装置の実効的な記憶容量が損なわれることになる。
ところで、従来のECCを用いた符号誤り訂正では、エンコードによりデータを符号化してから、データの読み出し(デコード)により、情報データを復元するまでの、どの箇所でデータが反転するようなエラーが発生したかを明らかにすることなく、ECCの符号誤り訂正により、情報データを復号処理していた。つまり、従来のECCを用いた符号誤り訂正では、データ反転エラーが発生する箇所が考慮されていないと言える。
以下では、データ反転エラーが発生する箇所を考慮した手法によって効率の良い符号誤り訂正を実現する。特に断りがない限り、炭素系ナノマテリアルからなる可変抵抗素子VRを用いた半導体記憶装置のように、書込動作時にエラーが生じ易い半導体記憶装置において有効である。
以下では、特に断りがない限り、炭素系ナノマテリアルからなる可変抵抗素子VRを用いた半導体記憶装置において、1ビットのエラー訂正が可能なハミング符号を用いた場合を例に説明する。
また、メモリセルアレイMAに書き込むデータを「書込データ」、メモリセルアレイMAが記憶するデータを「記憶データ」、メモリセルMAから読み出したデータを「読出データ」と呼ぶことにする。したがって、メモリセルアレイMAに対する書込動作実行からメモリセルアレイMAに対する読出動作実行までの間にエラーが生じなかった場合、書込データ、記憶データ及び読出データは、同じになる。
図2は、実施形態に係る半導体記憶装置のブロック図である。
この半導体記憶装置は、データを記憶するデータ記憶部10、外部入力された情報データから書込データを生成するエンコーダ20、並びに、データ記憶部10に対して書込データが書き込まれたかを判定する書込判定回路であるセット判定回路30を備える。
データ記憶部10は、図1に示すメモリセルアレイMAの他、データ記憶部10外から入力された書込データをメモリセルアレイMAに書き込む書込回路WRC、並びに、メモリセルアレイMAが記憶する記憶データを読み出し、読出データとしてデータ記憶部10外に出力する読出回路RDCを備える。
エンコーダ20は、外部から入力された情報データを1ビットのエラー訂正が可能なハミング符号に符号化する回路である。
図3は、エンコーダ20のブロック図の例であり、4ビットの情報データから3ビットのパリティデータを含む書込データを生成する回路である。
このエンコーダ20は、例えば1クロック毎に、第1入力に情報データが入力されるXORゲートG1、フィードバックされたXORゲートG1の出力を保持する遅延フリップフロップD1、第1入力に遅延フリップフロッップD1の出力が入力され、第2入力にXORゲートG1の出力が入力されるXORゲートG2、XORゲートG2の出力を保持する遅延フリップフロップD2、遅延フリップフロップD2の出力を保持する遅延フリップフロップD3を備える。この遅延フリップフロップD3の出力は、XORゲートG2の第2入力に入力される。また、XORゲートG1の出力がエンコーダ20の出力となる。なお、上記遅延フリップフロップは、1クロック毎に、保持しているデータを出力し、新しく入力されるデータを保持する機能を有する。
以上の構成によるエンコーダ20は、生成多項式をG(x)=x+x+1とするハミング符号の符号化回路となっている。
このエンコーダ20に入力される4ビットの情報データは、そのまま書込データの1〜4ビット目として出力されると同時に、XORゲートG1、G2及び遅延フリップフロップD1〜D4からなるシフトレジスタに入力される。シフトレジスタでは、生成多項式G(x)による情報データの割り算がなされ、その剰余がパリティデータとして遅延フリップフロップD1〜D3に保持される。そして、この遅延フリップフロップD1〜D3に保持されたパリティデータは、書込データの5〜7ビット目として順次出力される。
なお、上記では例として、4ビットの情報データの場合について説明したが、1つの書込データの長さは、1つの書込データにおいて、書込動作時、及び、データ保持期間中において、それぞれ高々1ビットのビット反転誤りが発生する程度の長さに予め設定しておく。
このエンコーダ20から出力された書込データは、データ記憶部1の書込回路WRCに入力され、書込回路WRCによってメモリセルアレイMAに書き込まれる。
セット判定回路30は、書込データに基づいてセット動作すべき可変抵抗素子VRが正常にセット動作したか(以下、「成功」ともいう)を確認する回路である。また、予め定められた規定回数の書込動作によっても可変抵抗素子VRがセット動作しなかった場合(以下、「失敗」ともいう)、エンコーダ20で生成された書込データの‘0’/‘1’を反転させた上で、新たな書込データとして書込回路WRCに送信する。そして、可変抵抗素子VRが正常にセット動作したか否かを示す書込エラー情報をデータ記憶部10(例えば、図2中点線で示すメモリセルアレイMAの特定領域)に記憶させる。
この書込エラー情報は、書込データとは別に、例えば、メモリセルアレイMAの所定のアドレス領域に記憶される。この書込エラー情報は、メモリセルMCが正常にセット動作したか否かを示すだけなので、‘0’/‘1’の1ビットデータで足りる。
なお、この書込エラー情報自身の信頼性を確保するためには、例えば、書込エラー情報にパリティデータを付加したハミング符号として保存しておくことが好ましい。この場合、書込エラー情報は、‘111’(‘1’の場合)又は‘000’(‘0’の場合)の3ビットのデータとなる。
また、図2では、書込判定回路としてセット判定回路30を用いたが、リセット動作困難なメモリセルMCを用いた半導体記憶装置の場合には、このセット判定回路30に替えて、メモリセルMCが正常にリセット動作したことを確認するリセット判定回路を用いても良い。
更に、本実施形態に係る半導体記憶装置は、書込エラーの有無を判定する書込エラー有無判定回路40、書込エラーが有った場合に読出データを反転させるスイッチ部50、並びに、読出データから情報データを復元するデコーダ60を備える。
書込エラー有無判定回路40は、データ記憶部10に記憶されている書込エラー情報を取得し、書込エラーの有無を判定し、その判定結果である書込エラー有無情報をスイッチ部50に送信する。
スイッチ部50は、図4に示すように、書込エラー有無判定回路40から入力された書込エラー有無情報によって制御されるスイッチSW1と読出データを反転させるインバータIV1を備える。書込エラーが有った場合、読出回路RDCから出力された読出データは、インバータIV1を介してビット毎に反転された上でデコーダ60に送信される。一方、書込エラーが無かった場合、読出回路RDCから出力された読出データがそのままデコーダ60に送信される。
デコーダ60は、スイッチ部50から出力された読出データの符号誤り訂正を行い、正しい情報データを復元させる回路であり、図4に示すブロック図は、その一例である。
このデコーダ60は、第1入力にスイッチ部50から出力された読出データが入力されるXORゲートG1、XORゲートG1の出力を保持する遅延フリップフロップD1、第1入力に遅延フリップフロップD1の出力が入力されるXORゲートG2、XORゲートG2の出力を保持する遅延フリップフロップD2、遅延フリップフロップD2の出力を保持する遅延フリップフロップD3を備える。この遅延フリップフロップD3の出力は、XORゲートG1の第2入力及びXORゲートG2の第2入力にそれぞれフィードバックされる。
また、デコーダ60は、スイッチ部50から出力された読出データが入力される7単位時間遅延回路D4、7単位時間遅延回路D4の出力を保持する遅延フリップフロップD5、正論理の第1入力、負論理の第2入力及び負論理の第3入力にそれぞれ遅延フリップフロップD1、D2及びD3の出力が入力される3入力のANDゲートG3、並びに、第1入力に遅延フリップフロップD5の出力が入力され、第2入力にANDゲートG3の出力が入力されるXORゲートG4を備える。なお、7単位時間遅延回路D4は、7個の遅延フリップフロップを直列接続した回路である。また、XORゲートG4の出力がデコーダ60の出力となる。なお、上記遅延フリップフロップは、1クロック毎に、保持しているデータを出力し、新しく入力されるデータを保持する機能を有する。
以上の構成によるデコーダ60は、生成多項式をG(x)=x+x+1とするハミング符号の復号化回路となっている。
次に、上記構成によるデータの書き込みを図5に示すフローを用いて説明する。
始めに、ステップS11では、エンコーダ20が、外部から入力された情報データDiからパリティデータを含む書込データDwを生成する。この書込データDwは、エンコーダ20からデータ記憶部10の書込回路WRCに送信される。
続いて、ステップS12では、書込回路WRCが、メモリセルアレイMAに対して書込データDwの書込動作を実行する。
続いて、ステップS13では、セット判定回路30が、書込回路WRCによる書込動作によってメモリセルMCが正常にセット動作したかを確認する。その結果、正常にセット動作した場合、以下のステップS17に処理を移す。一方、正常にセット動作しなかった場合、予め決められた規定回数を限度として、ステップS12の書込動作を繰り返し実行する(ステップS14)。書込動作の繰り返し回数が規定回数以内で、書込データDwの書込動作を実行できた場合には、ステップS17に移行する。
一方、ステップS14では、書込動作の繰り返し回数が規定回数に達しても書込動作が完了しない場合、ステップS15において、セット判定回路30が、書込データDwを反転させた新たな書込データ/Dwを生成し、書込回路WRCに送信する。このように書込データDwを反転させることで、セット動作困難な可変抵抗素子VRをセット動作する必要がなくなる。
続いて、ステップS16では、書込回路WRCが、メモリセルアレイMAに対して書込データ/Dwの書込動作を実行する。この書込動作は書込データ/Dwが正常に書き込まれるまで繰り返し実行しても良い。
最後に、ステップS17において、セット判定回路30が、書込データDwの書込動作の結果に基づいて、書込データDwを書き込んだが、反転させた新たな書込データ/Dwを書き込んだかの情報を生成し、データ記憶部10に記憶しておく。
以上によって、メモリセルアレイMAへのデータ書き込みが完了する。
次に、データの読み出しを図6に示すフローを用いて説明する。
始めに、ステップS21では、データ記憶部10の読出回路RDCが、メモリセルアレイMAが保持する記憶データを読み出し、読出データDrとしてスイッチ部50に送信する。
続いて、ステップS22において、データ記憶部10の読出回路RDCが、例えばメモリセルアレイMAの特定領域に記憶された書込エラー情報を読み出し、書込エラー有無判定回路40に送信する。
続いて、ステップS23において、書込エラー有無判定回路40が、書込エラー情報から、書込データDwを書き込んだが、反転させた新たな書込データ/Dwを書き込んだかを判定し、その判定の結果を書込エラー有無情報としてスイッチ部50に送信する。
続いて、スイッチ部50が、書込エラー有無情報に基づいて、読出データDrを処理する。ここで、書込エラーが無かった場合、読出回路RDCから入力された読出データDrはそのままデコーダ60に送信される。一方、書込エラーが有った場合、ステップS24において、スイッチ部50で読出データDrを反転させた読出データ/Drが生成されデコーダ60に送信される。
最後に、ステップS25において、デコーダ60が、読出データDr或いは/Drから情報データDiを復元する。
以上によって、メモリセルアレイMAからのデータ読み出しが完了する。
次に、本実施形態に係る半導体記憶装置の符号誤り訂正の効率を、比較例の符号誤り訂正の効率と比較しながら説明する。
図7は、実施形態(図中の“Embodiment”)及び比較例(図中の“Comparison example”)における、書込データ長とパリティデータ長との関係を示すグラフである。書き込みデータ長が同じであれば、パリティデータ長が短い方が、より多くのメモリ容量を本来記憶したい情報データの記憶にあてがえるため、好ましい。なお、このグラフは、符号反転エラー発生頻度が、所定の書込データ長のデータ書き込み、及び、読み出みをする場合において、書込動作時、及び、データ保持期間中に、それぞれ高々1ビットのビット反転誤りが発生する程度であることを条件としてプロットされている。
なお、本実施形態では、書込データを符号化する際、1ビットの符号誤り訂正が可能なハミング符号を利用する場合を想定している。一方、比較例では、ECCとして現在良く用いられている2ビットの符号誤り訂正が可能なBCH符号を利用した場合を想定している。
図7から、本実施形態によれば、如何なる書込データ長(図7中の“Length of Code Words”)であっても、比較例と比べて、パリティデータ長(図7中の“Number of Parity Bits”)が短いことが分かる。
例えば、書込データ長を2047ビットとした場合を見てみると、比較例では、情報データが2025ビットに対し、バリティデータが22ビット必要となる。
これに対し、本実施形態では、情報データが2036ビットに対し、パリティデータが11ビットしか必要ない。ハミング符号化された書込エラー情報の3ビットを考慮しても、パリティデータは14ビットに留まる。
以上、本実施形態によれば、書込エラーを他のエラーと別途取り扱うことで、比較例の符号誤り訂正と比べて、パリティデータの低減を図ることができる。したがって、より高効率な符号誤り訂正を実現した半導体記憶装置を提供することができる。
[その他]
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10・・・データ記憶部、20・・・エンコーダ、30・・・セット判定回路(書込判定回路)、40・・・書込エラー有無判定回路、50・・・スイッチ回路、60・・・デコーダ、100・・・電流整流素子。

Claims (6)

  1. 複数のメモリセルからなるメモリセルアレイ、並びに、当該メモリセルアレイに対して書込データの書込動作を実行する書込回路を有するデータ記憶部と、
    情報データから前記書込データを生成した上で前記書込回路に前記メモリセルアレイに対する当該書込データの書込動作を実行させるエンコーダと、
    規定回数内の前記書込動作によって前記メモリセルアレイに対する前記書込データの書き込みの成功又は失敗を判定し、失敗の場合、前記書込データを反転させた新たな書込データを生成した上で前記書込回路に前記メモリセルアレイに対して当該新たな書込データの書込動作を実行させる書込判定回路と、
    前記書込判定回路による判定が失敗であった場合、前記メモリセルから読み出された読出データを反転させた新たな読出データを生成するスイッチ回路と、
    前記メモリセルアレイから読み出された前記読出データを前記スイッチ回路を介して入力した上で当該読出データから前記情報データを復元するデコーダと
    を備えることを特徴とする不揮発性半導体メモリ。
  2. 一の前記書込データの長さは、前記書込動作の際に、所定ビット数のエラーが一定程度現れるビット長に基づいて予め設定される
    ことを特徴とする請求項1記載の不揮発性半導体メモリ。
  3. 前記書込判定回路の判定結果は、前記データ記憶部に記録される
    ことを特徴とする請求項1又は2記載の不揮発性半導体メモリ。
  4. 前記書込判定回路の判定結果は、当該判定結果に基づいて生成されたパリティ情報が付加された上で記録される
    ことを特徴とする請求項1〜3のいずれか1項記載の不揮発性半導体メモリ。
  5. 前記メモリセルが1つ以上の抵抗可変膜を具備しており、前記抵抗可変膜の抵抗状態変化において、低抵抗状態から高抵抗状態、若しくは、高抵抗状態から低抵抗状態のどちらか一方の変化が、他方に比べて困難である
    ことを特徴とする請求項1〜4のいずれか1項記載の不揮発性半導体メモリ。
  6. 前記抵抗可変膜が、カーボンナノチューブ、フラーレン、その他の立体構造を有する炭素材料である炭素系ナノマテリアルからなる
    ことを特徴とする請求項5記載の不揮発性半導体メモリ。
JP2011155447A 2011-07-14 2011-07-14 不揮発性半導体メモリ Active JP5458064B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011155447A JP5458064B2 (ja) 2011-07-14 2011-07-14 不揮発性半導体メモリ
US13/544,412 US8711604B2 (en) 2011-07-14 2012-07-09 Non-volatile semiconductor memory and data processing method in non-volatile semiconductor memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011155447A JP5458064B2 (ja) 2011-07-14 2011-07-14 不揮発性半導体メモリ

Publications (2)

Publication Number Publication Date
JP2013020683A JP2013020683A (ja) 2013-01-31
JP5458064B2 true JP5458064B2 (ja) 2014-04-02

Family

ID=47691978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011155447A Active JP5458064B2 (ja) 2011-07-14 2011-07-14 不揮発性半導体メモリ

Country Status (2)

Country Link
US (1) US8711604B2 (ja)
JP (1) JP5458064B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180020006A (ko) * 2016-08-17 2018-02-27 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US11175988B2 (en) 2020-03-27 2021-11-16 Winbond Electronics Corp. Memory storage device and data access method

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2664236B2 (ja) 1989-02-01 1997-10-15 富士通株式会社 半導体記憶装置
US6700827B2 (en) * 2001-02-08 2004-03-02 Integrated Device Technology, Inc. Cam circuit with error correction
JP3914839B2 (ja) 2002-07-11 2007-05-16 エルピーダメモリ株式会社 半導体記憶装置
JP5121859B2 (ja) * 2003-09-12 2013-01-16 ルネサスエレクトロニクス株式会社 記憶装置
JP4907847B2 (ja) * 2004-03-17 2012-04-04 オンセミコンダクター・トレーディング・リミテッド メモリ
JP2006048777A (ja) * 2004-08-02 2006-02-16 Toshiba Corp Nandフラッシュメモリおよびデータ書き込み方法
JP4700562B2 (ja) * 2006-05-18 2011-06-15 株式会社バッファロー データ記憶装置およびデータ記憶方法
JP2008052867A (ja) * 2006-08-28 2008-03-06 Renesas Technology Corp 不揮発性半導体記憶装置
WO2008133087A1 (ja) * 2007-04-17 2008-11-06 Nec Corporation 半導体記憶装置及びその動作方法
JP4719236B2 (ja) * 2008-03-21 2011-07-06 株式会社東芝 半導体記憶装置及び半導体記憶システム
JP2009295252A (ja) * 2008-06-06 2009-12-17 Nec Electronics Corp 半導体記憶装置及びそのエラー訂正方法
KR101513714B1 (ko) * 2008-07-09 2015-04-21 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
JP5259343B2 (ja) 2008-10-31 2013-08-07 株式会社東芝 メモリ装置
JP5284069B2 (ja) * 2008-12-11 2013-09-11 株式会社東芝 メモリシステム及びメモリアクセス方法
JP2010244607A (ja) * 2009-04-03 2010-10-28 Elpida Memory Inc 半導体記憶装置
JP4951044B2 (ja) * 2009-08-28 2012-06-13 株式会社東芝 不揮発性メモリ装置及びその製造方法
JP4901930B2 (ja) * 2009-09-17 2012-03-21 株式会社東芝 不揮発性半導体記憶装置とその製造方法
JP5600963B2 (ja) * 2010-02-22 2014-10-08 富士通株式会社 不揮発性記憶装置、及びデータ初期化方法

Also Published As

Publication number Publication date
US20130182488A1 (en) 2013-07-18
US8711604B2 (en) 2014-04-29
JP2013020683A (ja) 2013-01-31

Similar Documents

Publication Publication Date Title
US9836349B2 (en) Methods and systems for detecting and correcting errors in nonvolatile memory
JP5269151B2 (ja) 半導体記憶装置
JP6209646B2 (ja) 不揮発性メモリのデータ管理方法およびシステム
KR101519626B1 (ko) 반도체 메모리 장치 및 그것의 데이터 처리 방법
US8848465B2 (en) Memory devices including selective RWW and RMW decoding
US8560923B2 (en) Semiconductor memory device
JP5569936B2 (ja) 制御装置およびデータ記憶装置
US9524210B1 (en) Separating bits represented by a MLC in connection with ECC
CN105825896A (zh) 存储器系统及操作该存储器系统的方法
US10839929B2 (en) Memory device
JP6510758B2 (ja) リファレンスセルを含む不揮発性メモリ装置及びそれのデータ管理方法
KR102016543B1 (ko) 반도체 장치, 프로세서, 시스템 및 반도체 장치의 동작 방법
JP2016167326A (ja) 半導体記憶装置
US9336876B1 (en) Soak time programming for two-terminal memory
JP5458064B2 (ja) 不揮発性半導体メモリ
KR101791508B1 (ko) 비휘발성 메모리 장치
US10937495B2 (en) Resistive memory apparatus and method for writing data thereof
JP2013069367A (ja) 不揮発性半導体記憶装置
KR101814476B1 (ko) 비휘발성 메모리 장치 및 그 구동 방법
US9502102B1 (en) MLC OTP operation with diode behavior in ZnO RRAM devices for 3D memory
JP6330150B2 (ja) 不揮発性半導体記憶装置とその書換方法
US20200104219A1 (en) Non-volatile storage system with program failure recovery
US9245622B1 (en) Pre-conditioning two-terminal memory for increased endurance
KR101816642B1 (ko) 에러 정정 회로, 이를 포함하는 비휘발성 메모리 장치 및 이의 구동 방법
JP2013161486A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20130221

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130827

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20131120

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20131203

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140110

R151 Written notification of patent or utility model registration

Ref document number: 5458064

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

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