JP2010146654A - メモリ装置 - Google Patents
メモリ装置 Download PDFInfo
- Publication number
- JP2010146654A JP2010146654A JP2008323524A JP2008323524A JP2010146654A JP 2010146654 A JP2010146654 A JP 2010146654A JP 2008323524 A JP2008323524 A JP 2008323524A JP 2008323524 A JP2008323524 A JP 2008323524A JP 2010146654 A JP2010146654 A JP 2010146654A
- Authority
- JP
- Japan
- Prior art keywords
- data
- burst
- cell array
- buffer register
- transfer
- 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.)
- Withdrawn
Links
Images
Classifications
-
- 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
- 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/0004—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 comprising amorphous/crystalline phase transition cells
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Dram (AREA)
Abstract
【課題】エラー検出訂正回路を搭載してデータの信頼性を確保しながら、高速データ転送を実現したメモリ装置を提供する。
【解決手段】メモリセルアレイと、読み出しデータのエラー検出と訂正を行なうエラー検出訂正回路と、読み出しデータ及び書き込みデータを一時格納するために設けられた、データビット数が前記エラー検出訂正回路によるエラー検出訂正処理の際のチェックビットを含めたデータビット数の整数倍に設定されたバッファレジスタとを備える。バッファレジスタに外部から格納された書き込みデータは、エンコードされてバッファレジスタにチェックビットと共に上書きされた後、メモリセルアレイに転送書き込みされる。メモリセルアレイから読み出されたデータはチェックビットと共にバッファレジスタに格納され、その後デコードされて正しい読み出しデータとしてバッファレジスタに上書きされた後、外部に出力される。
【選択図】図11
【解決手段】メモリセルアレイと、読み出しデータのエラー検出と訂正を行なうエラー検出訂正回路と、読み出しデータ及び書き込みデータを一時格納するために設けられた、データビット数が前記エラー検出訂正回路によるエラー検出訂正処理の際のチェックビットを含めたデータビット数の整数倍に設定されたバッファレジスタとを備える。バッファレジスタに外部から格納された書き込みデータは、エンコードされてバッファレジスタにチェックビットと共に上書きされた後、メモリセルアレイに転送書き込みされる。メモリセルアレイから読み出されたデータはチェックビットと共にバッファレジスタに格納され、その後デコードされて正しい読み出しデータとしてバッファレジスタに上書きされた後、外部に出力される。
【選択図】図11
Description
この発明は、エラー検出訂正回路を搭載したメモリ装置に関する。
抵抗変化メモリ(Resistance Change RAM:ReRAM)などの大容量メモリでは、データ保持中などに様々な原因で記憶内容が壊れる。特にデータの保持状態として使用する物理的機構が外乱の影響を受け易い場合であって、今後メモリ容量の大規模化と製造プロセスの微細化が進むとエラー率は上昇する。このためメモリにオンチップでエラー検出訂正回路を搭載することは重要な技術となる。
ガロア有限体GF(2n)を利用する、BCHコードを用いたECCシステム(BCH−ECCシステム)で2ビット以上のエラー訂正を行う場合、エラー位置探索方程式の解を求めるのに、有限体の要素を逐次代入する方法を利用すると、演算時間は膨大となり、オンチップとした場合にもメモリの読み出しや書き込み性能を大幅に低下させる。従って、そのような逐次探索によらず、メモリの性能を犠牲にしないようなECC回路が望まれる。
特にReRAMは、微細化に向いていると同時にクロスポイントセルを構成できる上に積層化が容易であり、NAND型フラッシュメモリの後継候補として、大容量ファイルメモリの用途が有望視されている。しかし、ReRAMのメモリセルとして利用する抵抗変化物質は一度強い電圧をかけないと安定した抵抗変化を示さないので、信頼性を保ちながらデータの高速な転送を実現するには工夫が必要である。
メモリチップ内に、或いはこれを制御するメモリコントローラ内にECC回路を搭載する技術は、例えば、特許文献1に示されている。
ECC回路を搭載したメモリにおいて、データの信頼性向上のために、データビット及びECCの検査ビットのリフレッシュを行う技術は、例えば特許文献2に示されている。
特開2000−173289号公報
特開2006−527447号公報
この発明は、エラー検出訂正回路を搭載してデータの信頼性を確保しながら、高速データ転送を実現したメモリ装置を提供することを目的とする。
この発明の一態様によるメモリ装置は、
メモリセルアレイと、
前記メモリセルアレイの読み出しデータのエラー検出と訂正を行なうエラー検出訂正回路と、
前記メモリセルアレイの読み出しデータ及び書き込みデータを一時格納するために設けられた、データビット数が前記エラー検出訂正回路によるエラー検出訂正処理の際のチェックビットを含めたデータビット数の整数倍に設定されたバッファレジスタとを備え、
前記バッファレジスタに外部から格納された書き込みデータは、前記エラー検出訂正回路を通してエンコードされて前記バッファレジスタにチェックビットと共に上書きされた後、前記メモリセルアレイに転送書き込みされ、
前記メモリセルアレイから読み出されたデータはチェックビットと共に前記バッファレジスタに格納され、その後前記エラー検出訂正回路を通してデコードされて正しい読み出しデータとして前記バッファレジスタに上書きされた後、外部に出力される
ことを特徴とする。
メモリセルアレイと、
前記メモリセルアレイの読み出しデータのエラー検出と訂正を行なうエラー検出訂正回路と、
前記メモリセルアレイの読み出しデータ及び書き込みデータを一時格納するために設けられた、データビット数が前記エラー検出訂正回路によるエラー検出訂正処理の際のチェックビットを含めたデータビット数の整数倍に設定されたバッファレジスタとを備え、
前記バッファレジスタに外部から格納された書き込みデータは、前記エラー検出訂正回路を通してエンコードされて前記バッファレジスタにチェックビットと共に上書きされた後、前記メモリセルアレイに転送書き込みされ、
前記メモリセルアレイから読み出されたデータはチェックビットと共に前記バッファレジスタに格納され、その後前記エラー検出訂正回路を通してデコードされて正しい読み出しデータとして前記バッファレジスタに上書きされた後、外部に出力される
ことを特徴とする。
この発明の他の態様によるメモリ装置は、
メモリセルアレイと、
前記メモリセルアレイの読み出しデータのエラー検出と訂正を行なうエラー検出訂正回路と、
前記メモリセルアレイの読み出しデータ及び書き込みデータを一時格納するために設けられた、それぞれデータビット数が前記エラー検出訂正回路によるエラー検出訂正処理の際のチェックビットを含めたデータビット数の整数倍に設定された2系統のバッファレジスタとを備え、
前記2系統のバッファレジスタの一方による外部との間の読み出し或いは書き込みデータのバースト転送と、前記2系統のバッファレジスタの他方による前記メモリセルアレイとの間の前記エラー検出訂正回路を介した読み出し或いは書き込みの内部データ転送とが交互に行なわれる
ことを特徴とする。
メモリセルアレイと、
前記メモリセルアレイの読み出しデータのエラー検出と訂正を行なうエラー検出訂正回路と、
前記メモリセルアレイの読み出しデータ及び書き込みデータを一時格納するために設けられた、それぞれデータビット数が前記エラー検出訂正回路によるエラー検出訂正処理の際のチェックビットを含めたデータビット数の整数倍に設定された2系統のバッファレジスタとを備え、
前記2系統のバッファレジスタの一方による外部との間の読み出し或いは書き込みデータのバースト転送と、前記2系統のバッファレジスタの他方による前記メモリセルアレイとの間の前記エラー検出訂正回路を介した読み出し或いは書き込みの内部データ転送とが交互に行なわれる
ことを特徴とする。
この発明によれば、エラー検出訂正回路を搭載してデータの信頼性を確保しながら、高速データ転送を実現したメモリ装置を提供することができる。
以下の実施形態では、メモリセルの抵抗変化物質がデータ記憶のエラーを生じても信頼性を確保しつつ高速なデータ転送が可能なメモリシステムの構成を示すとともに、高速データ転送のタイミングとシークエンスを規定し、大容量の高速ファイルメモリを実現できることを示す。
実施の形態の技術的要素をまとめると、次のようになる。
・メモリシステムは、クロックに同期してデータの読み書きを行うバッファレジスタと、データのエラー検出訂正を行うECC回路とを備え、バッファレジスタのデータビット数は、ECC回路がメモリセルアレイからの並列読み出しデータに対してエラー検出訂正処理を行なう際のチェックビットを含めたデータビット数の整数倍に設定される。
・データ読み出しに際しては、セルアレイからの読み出しデータをECC回路を通してデコードして、エラー訂正されたデータとしてバッファレジスタに保持し、これをバースト転送して出力する。
・データ書き込みに際しては、外部からの書き込みデータをバッファレジスタにバースト転送して保持した後、そのデータをECC回路を通してエンコードして、エラー訂正可能なコードデータとしてバッファレジスタに上書きし、これをセルアレイに転送書き込みする。
・バッファレジスタは、メモリセルアレイとのECC回路を介してのデータ転送である“内部データ転送”と、外部端子との間の読み書きデータの転送である“外部データ転送”とを交互に繰り返し、読み出し書き込みに関係なく、外部データ転送前には内部データ転送によってバッファレジスタにデータを予め保持する動作が行われる。
・2系統のバッファレジスタを備えて、外部データ転送であるバースト転送のインターリーブ動作を行い、一方がバースト転送による外部データ転送を行なっている間、他方が内部データ転送状態にある、という動作を行なう。
・メモリセルアレイデータをECC回路を介してエラー訂正してバッファレジスタに読み出し、その保持データをECC回路を介さずにメモリセルアレイに再書き込み転送することでセルアレイデータをリフレッシュする、ECCリフレッシュモードを備える。
・バッファレジスタからの外部データ転送であるバースト転送が中断されたとき、内部データ転送の状態を表す信号に基づいて新たなデータ転送動作を開始するデータ転送制御を行う。
・内部データ転送の回数に基づいて、ECCリフレッシュを行う。
・メモリセルアレイは、例えば抵抗変化型メモリセルを用いてセルアレイマットが複数層積層された三次元セルアレイとして構成される。バッファレジスタを介して外部とのデータ転送は、一連のクロックバーストで行い、少なくとも、コマンドまたはアドレスの入力開始サイクルを指示する信号、動作モードを指定する一連の信号、バーストデータとその先頭アドレスを指定する一連の信号、層のアドレスを指定する一連の信号のためのインターフェースを有する。
以下、図面を参照して、この発明の実施の形態を説明する。
図1は、メモリセルが三次元的に配列された3Dセルアレイブロック1と、その下地半導体基板に形成される制御回路2の構成を示している。3Dセルアレイブロック1の選択信号線であるワード線WLとビット線BLは、セルアレイブロックの4辺に設けられた垂直配線領域で、下地制御回路2に接続されている。
実際のファイルメモリを構成するには、このようなセルアレイブロック1を更にマトリクス配列して構成されるが、その詳細は後述する。
セルアレイブロック1の単位層(即ちマット)を等価回路で示すと、図2のようになり、ワード線WLとビット線BLの各クロスポイントに抵抗変化型メモリセルMCを配置して構成される。メモリセルMCは、ダイオードDiと可変抵抗素子VRの直列接続により構成され、ここではダイオードDiのアノード側信号線をビット線BL、カソード側信号線をワード線WLと定義している。
制御回路2は、ビット線両端に対応してビット線デコーダ/マルチプレクサ回路21a,21bを有する。即ちセルアレイブロック1の両端で基板に下ろされたビット線は、これらのビット線デコーダ/マルチプレクサ21a,21bで外部からのアドレス信号とコマンドに従って選択されて電位設定され、バス22a,22bを経てセンスアンプ回路23に入力される。
読み出し時は、後に説明するように、電流センス方式のセンスアンプがセル電流と参照電流の比較によりデータをセンスする。書き込み時はセンスアンプ回路23及びデコーダ/マルチプレクサ回路21a,21bが選択セルに適切な書き込み電圧や電流を供給する。
制御回路2のワード線方向両端部には、ワード線デコーダ/ドライバ24a,24bがある。即ちセルアレイブロック1の両端で基板に下ろされたワード線は、これらのワード線デコーダ/ドライバ24a,24bに入り、外部アドレスやコマンドに従ってワード線レベルが選択的に設定される。
外部とのデータやり取りを行うバス領域22a,22bは、この例ではビット線デコーダ/マルチプレクサ回路21a,21bとセルアレイブロック1との間に設けた隙間に設定している。従ってビット線は、ビット線デコーダ/マルチプレクサ回路21a,21bからセルアレイブロック1に到達すまでの間にバス領域22a,22bの上空を通過していくことになる。
ビット線信号はこのバス領域22a,22bを経てセルアレイ直下の基板上に設けられたセンスアンプ回路23に送られ、ここでセンス増幅または書込みではデータに従った書き込み電圧や電流に変換される。センスアンプ回路23は、バス領域22a,22bを経てセルアレイブロック外部とのデータのやり取りを行なう。
図3は、マット内のワード線及びビット線との関係でセンス系回路の詳細構成を示している。
参照セルRMCは、マット中の特定ビット線を参照ビット線RBLとして固定して、これに接続されたものを利用する。図では、情報セルMCのビット線BLを一つ示しているが、実際には複数のビット線に対して対を成して一つの参照ビット線BLが選択される。いずれも同一のマット内にありセンス系はマットで閉じている。
参照ビット線RBLに接続されるセル即ち参照セルRMCは、全て低抵抗のセット状態に設定されているが、これはフォーミングされた後のセル状態であり、参照ビット線RBLとして選ばれた後、これにはセット状態以外の設定は行なわない。すなわち情報セルMCに書き込みが生じたときは情報ビット線BLと参照ビット線RBLに共通のワード線WLが選択されるので、参照ビット線RBLにはセット状態の書き込みを同時に行なう。
即ち参照ビット線RBLの参照セルRMCには、書き込み時常にセット状態書き込みを行うものとして、セット状態のリフレッシュを行う。この動作によって参照セルRMCを常に安定したセット状態として、ビット線BLのセルデータの読み出しの際の参照レベルを確保することができる。
以下では、メモリセルの低抵抗のセット状態をデータ“1”、高抵抗のリセット状態をデータ“0”という。
ビット線BLに流れる情報セルMCのセル電流と参照ビット線RBLに流れる参照セルRMCの参照電流が、ローカルバスLB,RLBを介してセンスアンプ(SA)31の二つの入力IN,/INに入る。後に説明するように、実際の参照電流は、カレントミラー回路によりその電流量を10分の1程度に落とされてセンスアンプ入力となる。
図3の具体的な回路動作を説明すれば、ワード線WLは、選択されると、ロウデコードからのデコード信号で駆動されるワード線スイッチトランジスタMN1がオンして、Vssに接続される。ビット線BLと参照ビット線RBLは、選択されるとそれぞれカラムデコーダ、参照カラムデコーダの出力により制御されるビット線スイッチトランジスタMN2とMN3がオンしてそれぞれ、ローカルデータバスLBとRLBに接続される。これらのローカルバスLB,RLBがセンスアンプSAの入力IN,/INに接続される。
ワード線選択トランジスタMN1は、デコーダからの信号のLレベルで選択され、そのオン抵抗はゲートに与えられるレベルVmによって制御される。フォーミング、“1”書き込み、“0”書き込み及び読み出しに応じてこの電圧Vmのレベルを変える。
ビット線BLの選択トランジスタMN2はデコーダからの信号がLレベルで選択され、そのオン抵抗はゲートに与えられるレベルVgによって制御される。フォーミング、“1”書き込み、“0”及び読み出しに応じて、この電圧Vgのレベルを変える。
参照ビット線RBLの選択トランジスタMN3は、書き込み時には Vdd+Vtより高いゲートレベルで、読み出し時にはVreadなるゲートレベルで選択される。Vtは、しきい値電圧である。
以上の選択トランジスタの制御電圧Vg,Vmのレベル発生回路として、書込み制御回路32が設けられる。その詳細は後述する。
ローカルバスLB,RLBに接続されたPMOSトランジスタMP1,MP2は、書き込み時に信号/Write=“L”により制御されて、ローカルバスLB,RLBを電源レベルVddに設定する。
図4は、センスアンプ(SA)31の構成例であり、100nA以下の微小セル電流の比較を高速に行なう電流比較型センスアンプである。このセンスアンプの基本構成は、すでに特許提案され公開されている(特願2004−093387)。
センスアンプ31は、VddとVssの間に、PMOSトランジスタM0,M8、NMOSトランジスタM10、PMOSトランジスタM2及びNMOSトランジスタM4が直列接続された第1の電流パス41と、PMOSトランジスタM1,M9、NMOSトランジスタM11、PMOSトランジスタM3及びNMOSトランジスタM5が直列接続された第2の電流パス42とが対称的に形成されている。
PMOSトランジスタM2,M3のソースがそれぞれ、入力ノードIN,/INに接続されるが、但しこれらの間にはカレントミラー回路43,44を介在させている。参照ビット線RBL側の入力ノード/IN側に設けられたカレントミラー44は、寸法比が1:10に設定されたPMOSトランジスタM15とM16により構成され、参照セルRMCに流れる電流の1/10が“参照電流”として実際にセンスアンプに流れるようになっている。
入力ノードIN側のカレントミラー43は、入力ノード/IN側との対称性を確保するためのダミーであって、NMOSトランジスタM13,M14の寸法比は10:10である。即ち入力ノードINに流れる選択セルMCのセル電流がそのままセンスアンプに供給される。
これらのカレントミラー43,44は、活性化信号/accREADにより活性化されるPMOSトランジスタM14,M17を介して電源Vddに接続される。
第1の電流パス41のPMOSトランジスタM2とNMOSトランジスタM4の接続ノードが一方の出力ノードOUTとなり、第2の電流パス42のPMOSトランジスタM3とNMOSトランジスタM5の接続ノードが他方の出力ノード/OUTとなる。
第1の電流パス41のPMOSトランジスタM0,M2及びNMOSトランジスタM4のゲートは一方の出力ノード/OUTに共通接続され、第2の電流パス42のPMOSトランジスタM1,M3及びNMOSトランジスタM5のゲートは他方の出力ノードOUTに共通接続されて、CMOSラッチを構成している。即ち第1の電流パス41を構成するCMOSインバータと、第2の電流パス42を構成するCMOSインバータとが、入出力が交差接続されてラッチを構成する。
PMOSトランジスタM8,M9は活性化トランジスタであり、活性化信号/ACTによりゲートが制御される。NMOSトランジスタM10,M11は、電流パス41,42の電流制御用素子であり、信号vLTCによりゲートが制御されて、センスアンプ電流が決まる。
CMOSラッチを構成するNMOSトランジスタM4及びM5のゲートはそれぞれ、センス信号/SEにより駆動されるNMOSトランジスタM6及びM7のドレインに接続されている。これらのNMOSトランジスタM6,M7は、/SE=“H”の間オンして、CMOSラッチのNMOSトランジスタM4,M5をオフに保つ。
即ち活性化信号/ACT=“L”により電流パス41,42に流れる電流は、/SEが“L”になるまでは、それぞれNMOSトランジスタM7,M6を介してVssに流れる。そしてセル電流が導入された後、/SE=“L”のセンス時、NMOSトランジスタM6,M7がオフになってパス電流を遮断し、それらのドレイン電圧差がCMOSラッチにより正帰還増幅されることになる。
図5を用いてこの実施の形態のセンスアンプSAの動作を説明する。センス信号/SEが“H”の状態では、NMOSトランジスタM6,M7がオンであり、出力ノードOUT,/OUTは“L”レベルに保たれる。活性化信号/ACTが“L”になると、電流パス41,42に電流が流れる。そしてセル電流取り込み信号/accREADが“L”になり、入力ノードIN,/INに接続されたビット線及び参照ビット線に電流注入が開始されると、セル電流と参照電流(参照セル電流の1/10)の差(以下これをセル電流差という)に応じてNMOSトランジスタM6,M7のドレインに微小な電圧差が生じる。
セル電流差が反映される適当な時間ΔTの経過後、センス信号/SEが“L”になると、NMOSトランジスタM6,M7がオフになり、そのドレイン電圧差を増幅するラッチ回路の正帰還動作により、NMOSトランジスタM4,M5の一方がオン、他方がオフになる。即ち、NMOSトランジスタM6,M7がオンからオフに遷移する際に、セル電流差に基づくタイミングのずれがそれらのドレイン電圧に変換され、これが正帰還増幅される。
トランジスタペアM10,M11は、センス初期にはゲート信号vLTCを低いレベルVRRに設定してコンダクタンスを抑えて、電源Vddからのセンスアンプ電流を絞り、ペアM12,M13を介して供給されるセル電流差をセンスアンプの状態により強く反映するようにしている。センスアンプの初期センスによってセンスアンプのバランスがセルデータ電流差によって崩れて確定したら、そのゲート信号vLTCをVRRからVddより高いVPPにして、センスアンプに電源電圧を供給して出力をVddまでフルスイングさせる。このとき信号/accREADは立ち上げてセル電流のセンスアンプへの供給を遮断する。
微細化されたペアトランジスタのバラツキは製造工程の揺らぎによって生じるので、図4に示すように電流パス41,42は、多くの素子の直列接続とした方がバラツキが相殺されるので好ましい。そこで、M0−M1ペア、M8−M9ペア、M10−M11によって入力ノードと電源Vddの間を構成している。
特に、NチャネルトランジスタペアM10−M11はセンスアンプSAの動作のフィードバックループをなすPチャネルトランジスタペアM0−M1とペアM8−M9のバラツキの影響を抑える。すなわちNチャネルトランジスタのコンダクタンスを抑えて、より電源Vddに近い側にあるPチャネルトランジスタのドレインやソースの電位を上げて、Pチャネルトランジスタのコンダクタンスを上げている。即ち、PチャネルとNチャネルのコンダクタンスがそれぞれのバラツキの影響を抑える方向に作用する。
信号/accREADの立ち下げとセンス動作開始信号/SEの立ち下げの時間差ΔTは、/accREAD立ち下げ後のセル電流の注入が終わり、セル電流を十分反映するような入力電流になるまで待ってセンスが開始されるよう、調整を行うことになる。
図6は、書き込み制御回路32の構成である。回路に供給される電源は、セルのセット電圧Vsetを発生させるに十分な電源電圧Vdd、これより高い昇圧電源電圧Vpp、Vddより低いVg_reset,Vread,Vt+ε及びVssである。その大小関係は、Vss<Vt+ε<Vread<Vg_reset<Vdd<Vppである。
書き込み制御回路32に供給される信号は/Writeとセルに書き込む情報データdataであり、出力はVgとVmなる電源レベルである。この回路はメモリの動作モードによってデータdataからそれぞれに必要な電源レベルを発生させる回路であり、データにより状態遷移するPMOSフリップフロップFFを有する。フリップフロップFFにより制御されるPMOSトランジスタMP21及びMP22は、それぞれセット時及びリセット時の電源電圧Vpp及びVg_resetを出力するもので、それらの出力はPMOSトランジスタMP23を介してVgノードに出力される。
制御信号Vm側には、リセット時及びセット時にそれぞれVdd及びVt+εを出力するドライバDRV11と、その出力を転送するPMOSトランジスタMP24が配置されている。
PMOSトランジスタMP23,MP24は、書き込み時(セット又はリセット時)には信号/Write=“L”により制御されてオンになる。読み出し時は、信号/Write=“H”によりNMOSトランジスタMN21,MN22がオンになって、Vg,Vmノードに読み出し用電圧Vreadが与えられる。
図7には、リセット時(“0”書き込み時)、セット時(“1”書き込み時)及び読み出し時の制御信号Vm,Vgのレベルを表にまとめて示した。なおセルのフォーミングはモードとしてはセット(Set)と同じでVmはVt+ε、VgはVppを与える。
図8は、制御回路2におけるセンスアンプとデータバスの関係を示している。セルアレイブロック1を構成する単位層即ちマットの大きさは、4k本のワード線WLと1k本のビット線BLによって構成される4[Mb]のセルマトリクスであり、これが最小のセルのまとまりの単位となる。またセンスアンプ回路23の領域には、4つのセンスアンプSA1−SA4が設けられ、それらの二つずつにマットのビット線両端部からビット線デコーダ/マルチプレクサ回路21a,21bをとおしてビット線が接続される。即ち、1本のワード線WLがワード線ドライバ24a又は24bにより選択されると、両辺から2本ずつのビット線BLが選択され、4つのセルがアクセスされることになる。
バス22a,22bにワード線WLやビット線BLを選択するアドレス信号線とビット線BLから選択接続されたデータ線などが走るが、ビット線デコーダ/マルチプレクサ回路21a,21bとワード線ドライバ24a,24bの交差部領域には、ワード線ドライバを選択駆動するプリデコーダ25a−25dが配置される。
メモリセルアレイ全体は、図1に示したセルアレイブロック1を更に複数個二次元に配列して構成される。このメモリチップの全セルアレイを表示する便宜上、以下には、4[Mb]のセルアレイブロックを4個まとめた16[Mb]ブロック表示、更にこれを4個と1/4をまとめた68[Mb]セルアレイユニット表示を導入する。
図9は、4つの4[Mb]セルアレイブロックb0−b3をまとめた一つの16[Mb]セルアレイブロックBを示している。このとき、各セルアレイブロックのビット線デコーダ/マルチプレクサ回路を貫通して走るバスは上下それぞれ34ビットである。
更に、図10に示すように、それぞれが4つの4[Mb]セルアレイブロックbのまとまりである4つの16[Mb]セルアレイブロックB(B0〜B3)と、一つの4[Mb]セルアレイブロックbをデータバス方向に並べて、単位マットあたり68[Mb]のセルアレイユニットCAを構成する。
セルアレイユニットCAは17個の4[Mb]セルアレイブロックbにより構成され、各セルアレイブロックから片側2ビットのデータが出るので34ビットのバスが上下に走ることになる。セルアレイユニットCAの一端にはさらに、136ビットまたは68ビットのバスが走り、このバスにバスゲートを介して各セルアレイブロックからのバスが選択的に接続される。
図11は、上述のセルアレイユニット表示を用いて構成される、単位マット当たり8[Gb]+832[Mb]のメモリコア100を持つメモリチップ構成例である。この構成例は、16ビットデータを並列に読み出し書込みする×16IOタイプの場合である。ここでは、メモリチップが4ビットまでのエラー訂正が可能なECC回路112を搭載していることを前提としている。
このECC回路112は、有限体GF(210)を用いたBCH−ECCであり、データビット数552(情報ビット数512+チェックビット数40)であって、上述のメモリ容量成分832[Mb]は、チェックビット用分の各マット容量を意味している。ECC回路112の詳細については後に説明する。
図11に示すように、メモリコア100は、68[Mb]構成のマットから構成されるセルアレイユニットをX方向に8個、Y方向に16個配列して構成される。但し、ECC回路112との関係で読み書きデータ数を合わせるべく、X方向両端のセルアレイユニットに対して、4[Mb]セルアレイブロックを追加している。これにより、一層のマットで、68[Mb]×16×8+4[Mb]×32=8[Gb]+832[Mb]となり、マット積層数をmとすると、8[Gb]×m+832[Mb]×mの容量となる。
この例では全体のメモリマットのうち1層が選択されその中で4分の1の分割動作を行う。即ち図の破線で囲ったセルアレイ領域が同時活性化されるものとし、メモリチップのなかがなるべく均等に活性化されるようにしている。
セルアレイとの間で一括で読み書きされるデータは、ECC回路112の処理データビット数512+40の整数倍、具体的にこの例では、(512[b]+40[b])×4=2208[b]である。これらのデータはセルアレイユニットからの136ビットバスとチップ両端の144ビットバスによって並列転送される。各IOあたり128ビットのデータがチップ外部とやり取りされるがこのデータ転送単位を以下、バーストと呼ぶ。
バースト用のデータを一時保持するのがバッファレジスタ111であり、そのデータビット数は、ECC回路の処理データビット数(チェックビットを含む)のM倍(Mは整数)であり、各IOあたり128+40=168ビットのバッファである。このバッファレジスタ111とECC回路112との間で、M回の時分割でデータ転送されてエンコード(書き込み時)又はデコード(読み出し時)が行なわれ、そのコードデータがバッファレジスタ111に上書きされて、外部またはメモリセルアレイに転送される。
バッファレジスタ111は実際には、後述するように2系統設けられ、これをインターリーブして使うことによりギャップレスのデータの読み書きをチップ外部と行うことができるようにする。その転送速度はデータサイクル25[ns]でありIO当り40[Mbs]である。メモリチップとしては80[Mbyte/s]のデータ転送速度を実現する。
図12は、図11と同じ容量のメモリチップの構成例を×8IOの場合について示している。メモリコア100のセルアレイユニット配列は、図11の例と同じであり、一層で8[Gb]+832[Mb]となり、積層数をmとして、全容量は、8[Gb]×m+832[Mb]×mとなる。
この例では全体のメモリマットのうち1層が選択され、その中で8分の1の分割動作を行う。即ち、破線で囲んだセルアレイ部分があるアクセスのときに同時活性化される。セルアレイとの間で一括で読み書きされるデータは、(512[b]+40[b])×4=2208[b]であり、これらのデータはセルアレイユニットからの68ビットバスとチップ両端の72ビットバスによって、2回の並列転送により転送される。各IOあたり128ビットのデータがチップ外部とやり取りされるがこのデータ転送単位を以下、バーストと呼ぶ。
バースト用のデータを一時保持するのがバッファレジスタ111であり、そのデータビット数はECC回路の処理データビット数(チェックビットを含む)のM倍(Mは整数)であり、各IOあたり128+40=168ビットのバッファである。このバッファレジスタ111とECC回路112との間でM回の時分割でデータをやり取りして、エンコード又はデコードが行なわれ、そのコードデータはバッファレジスタ111に上書きされて、外部またはメモリセルアレイに転送される。
バッファレジスタ111が2系統設けられ、これをインターリーブして使うことは、上の例と同じである。その転送速度はデータサイクル25[ns]でありIO当り40[Mbs]である。メモリチップとしては40[Mbyte/s]のデータ転送速度を実現する。
図13に示すように、メモリコア100とECC回路112の間にバッファレジスタ111が設けられ、その中の2系統のレジスタが、一方がメモリコア100との間で読み出し或いは書き込みのデータ転送(これを以下、内部転送という)をしている間に、他方が外部端子IOとの間で読み出し或いは書き込みのデータ転送(これを以下、外部転送という)をする、というインターリーブ動作を行なうことになる。
ECC回路112は前述のように、4ビットエラー訂正を行なうもので、これを簡単に説明すれば、図14に示すようなエンコード部ENCと、図15に示すようなデコード部DECとを備えて構成される。
エンコード部ENCでは、その係数がデータを表す情報多項式f(x)に基づいて、チェツクビットを生成する。即ち、数1で表される情報多項式f(x)の係数a4n〜ah−1に情報ビットを割り当てる。
[数1]
f(x)=ah−1xh−1−4n+ah−2xh−2−4n+……+a4n+2x2+a4n+1x+a4n
そして、4つの原始既約多項式m1(x),m3(x),m5(x),m7(x)を用いてコード生成多項式g(x)=m1(x)m3(x)m5(x)m7(x)を生成し、4n次から始まる多項式f(x)x4nをg(x)で割って、数2に示すような剰余r(x)を求める。
[数2]
f(x)x4n=q(x)g(x)+r(x)
r(x)=b4n−1x4n−1+b4n−2x4n−2+……+b1x+b0
この剰余多項式r(x)の係数b4n−1〜b0がチェックビットとなり、情報ビットah−1〜a4nと共にメモリに記憶されるデータビットを構成する。具体的にこの実施の形態では、エラー訂正率等を考慮して、有限体GF(210)を用いてBCHコードのECCシステムを実現しており、情報ビットとして512ビット、チェックビットとして40ビットを用いる。
[数1]
f(x)=ah−1xh−1−4n+ah−2xh−2−4n+……+a4n+2x2+a4n+1x+a4n
そして、4つの原始既約多項式m1(x),m3(x),m5(x),m7(x)を用いてコード生成多項式g(x)=m1(x)m3(x)m5(x)m7(x)を生成し、4n次から始まる多項式f(x)x4nをg(x)で割って、数2に示すような剰余r(x)を求める。
[数2]
f(x)x4n=q(x)g(x)+r(x)
r(x)=b4n−1x4n−1+b4n−2x4n−2+……+b1x+b0
この剰余多項式r(x)の係数b4n−1〜b0がチェックビットとなり、情報ビットah−1〜a4nと共にメモリに記憶されるデータビットを構成する。具体的にこの実施の形態では、エラー訂正率等を考慮して、有限体GF(210)を用いてBCHコードのECCシステムを実現しており、情報ビットとして512ビット、チェックビットとして40ビットを用いる。
メモリから読み出したデータは、次の数3で表される多項式ν(x)となる。
[数3]
ν(x)=f(x)x4n+r(x)+e(x)
=q(x)g(x)+e(x)
即ち読み出したデータに生じたエラーは、h−1次のエラー多項式e(x)で表される。デコード部DECでは、このエラー多項式e(x)を求めることになる。
[数3]
ν(x)=f(x)x4n+r(x)+e(x)
=q(x)g(x)+e(x)
即ち読み出したデータに生じたエラーは、h−1次のエラー多項式e(x)で表される。デコード部DECでは、このエラー多項式e(x)を求めることになる。
第1段階として、シンドローム演算部SCにおいて、読み出しデータ多項式ν(x)をそれぞれ既約多項式m1(x),m3(x),m5(x),m7(x)で割った剰余多項式であるシンドローム多項式を求める。そして求められたシンドロームに基づいて、エラー位置探索部ESでエラー位置を計算する。4ビットエラーがi,j,k,l次にあれば、エラー多項式は、e(x)=xi+xj+xk+xlとなるので、この次数を求めるのがエラー位置探索となる。
エラー位置探索部ESでは、エラーがない場合にその旨の信号“no error”として出力し、4ビット以上のエラーがある場合には、エラー訂正が不可能である旨の信号“non correctable”を出力する。求められたエラービットをエラー訂正部ECで訂正して、正しいデータを得ることが出来る。
このようなECC回路を出来るだけ小さい回路規模でかつ高速動作が出来るように実現するには、エラー位置探索部ESの計算規模を以下に小さくするかが重要になる。実際には、2ビットエラー、3ビットエラー、4ビットエラーの解探索の排他的条件を検討し、その結果に基づいてシステム内の共通回路を時分割で利用する、という手法を用いて、回路規模を効果的に小さくすることが出来るが、その詳細説明は省く。
次に、バッファレジスタ111とメモリコア100との間のデータ転送即ち内部転送について、詳細に説明する。
先ず、図16及び図17を参照して、バースト転送によりバッファレジスタに格納した書き込みデータをメモリセルアレイに転送する、書込みデータ転送(Write Data Transfer;Wdt)について説明する。
図16は、×8IO構成の場合である。この場合、IOあたりのバーストが128ビットで、これが8つで1024ビットの書き込みデータがバッファレジスタに格納される。バッファレジスタとしては、ECC回路の情報ビット数512とチェックビット数40を合わせた552ビットの二つのレジスタREG1,REG2を持つ。即ち1024ビットの書き込みデータは、128サイクルのバーストによりレジスタREG1,REG2に512ビットずつ格納される。
ECC処理はデータ512ビット毎であるので、レジスタREG1,REG2のデータが2回の時分割でECC回路122のエンコード部ENCに送られてエンコードされ、エンコード処理されたデータが、生成されたチェックビット(40ビット)と共に同じレジスタREG1,REG2に上書きされる。
エンコードの時間は50[ns]であり、全ての書き込みデータのエンコードに50[ns]×2=100[ns]の時間を要する。バッファレジスタREG1,REG2に上書きされたデータコードは、ほぼ2[μs]の時間をかけてセルアレイに転送され、書き込まれる。
図17は、×16IO構成の場合である。この場合、IOあたりのバーストがやはり128ビットでこれが16あるので、2048ビットのバッファレジスタに書き込みデータを格納することになる。バッファレジスタとしては、512ビット+40ビット構成の4つのレジスタREG1〜REG4が用意され、これらに128サイクルのバーストで512ビットずつ格納される。
これらのバッファレジスタに格納された書き込みデータは、やはり時分割でECC符号化のためのエンコード処理を行い、40ビットのチェックビットを付加してそれぞれ同じバッファレジスタに上書きされる。
エンコード処理はデータ512ビット毎であり、エンコード時間を50[ns]として、すべての書き込みデータのエンコードに50[ns]×4=200[ns]の時間を要する。バッファレジスタに上書きされたデータコードはほぼ2[μs]の時間をかけてセルアレイに転送され、書き込まれる。
次に、図18及び図19を参照して、メモリセルアレイのデータを読み出してバッファレジスタに転送し、これをバースト転送で外部に出力する読み出しデータ転送(Read Data Transfer;Rdt)について、説明する。
図18は、×8IO構成の場合である。この場合、IOあたり128ビットのバースト分のデータコード(512ビット+40ビット)×2を、二つのバッファレジスタREG1,REG2にセルアレイから読み出し転送する。この段階ではデータはECC回路を通していない。このデータ転送には100[ns]の時間を必要とする。
そして、バッファレジスタREG1,REG2のデータコードを、時分割によりECC回路のデコード部に転送して、2回で×8のバースト分のデコード処理を行ない、訂正されたデータをそれぞれもとのレジスタREG1,REG2に上書きする。
ECCのデコードに要する時間は200[ns]であり、これを2回繰り返すので400[ns]の時間でデコード処理が終わり、最終的にバッファレジスタREG1,REG2にはエラー訂正されたデータとチェックビットが保持される。このバッファレジスタのデータ部分を、バースト転送して順次IOに出力する。
図19は、×16IOの場合である。この場合、IOあたり128ビットのバースト分の読み出しデータコード(512ビット+40ビット)×4を、4つのバッファレジスタREG1〜REG4にセルアレイから転送する。このデータ転送には100[ns]の時間を必要とする。バッファレジスタに読み出されたデータコードは、順次ECC回路のデコード部に転送され、デコード処理によりエラー訂正されたデータとして、元のレジスタに上書きされる。
デコード処理は、時分割によって4回で×16のバースト分のデータ処理となる。1回のデコード処理に要する時間は200[ns]であり、これを4回繰り返すので800[ns]の時間で全てのデコード処理が終わり、最終的にバッファレジスタREG1〜REG4にはエラー訂正されたデータとチェックビットが保持される。このバッファレジスタのデータ部分を、バースト転送して順次IOに出力する。
次に、2系統のバッファレジスタによる内部転送と外部転送のインターリーブ転送動作を具体的に、図20を用いて説明する。
先ず注意すべきは、クロックに同期して外部転送を行うバッファレジスタには、読み書きに関係なく対応するアドレスのデータが予め保持されるようにすることである。読み出しではこれは当然であるが、書き込みの場合にも、書き込む先のバッファレジスタには予めデータが読み出されていて、これに対して書き込みデータを上書きする。このような方法を用いることにより、データのマスク入力やバースト途中での書き込みの中止などに対してバーストアドレスのデータが保持され、データの整合性が保たれることになる。
バッファレジスタにバーストアドレスのデータを予め格納しておく作業は、2系統のバッファレジスタの現にバースト転送を行なうものの裏側のバッファレジスタに対して、次のバーストに備えて行うことになる。
図20において、バッファレジスタREG−Aは、現にバースト転送(外部転送)を行なっているものであり、そのバーストサイクル内でもう一方のバッファレジスタREG−Bにおいて、内部転送即ち、書き込みデータ転送(Wdt)と読み出しデータ転送(Rdt)とが行われることを示している。
なお、書き込みデータ転送Wdtを伴う場合と伴わない場合があるが、これはセルアレイとのデータ転送のシークエンスでWdtの動作を行うか行わないかの違いである。他の転送方法では、書き込みデータ転送Wdtを常に行うものとすることもできる。これはバッファレジスタに格納されているデータはエラーのないデータあることが、読み出しの場合はECC回路でのエラー訂正の結果で保証され、書き込みの場合はそもそも書き込んだデータが正しいデータであることにより保証されているからである。
このデータをECC回路のエンコード部を介して書き込み転送することによって、読み出しの場合も書き込みの場合もセルアレイにはエラーがないデータコードが転送できる。これはセルアレイのデータのリフレッシュを行うことに相当する。これはECC回路がセルアレイとデータレジスタのデータ転送の途中に介在することによって初めて可能になる概念である。
バーストサイクル内で、レジスタREG−Bからセルアレイへの書き込みデータ転送Wdtの後に、次のバーストとなるアドレスのデータをセルアレイからレジスタREG−Bに読み出しデータ転送Rdtを行い、エラー訂正されたデータとして格納する。これらのWdtとRdtをバーストサイクル中に完了して次のバーストに備えるので、バーストサイクルの読み出しサイクル時間tRCや書き込みサイクル時間tWCが25[ns]なら、バーストは128サイクルよりなるので、25[ns]×128=3.2[μs]でこれらの転送を完了させなければならない。
先にそれぞれの転送に要する時間を示したが、×8IOではWdtに2.1[μs]かかり、Rdtに500[ns]かかるので合わせて2.6[μs]が最低必要である。×16IOでは、Wdtに2.2[μs]かかり、Rdtに900[ns]かかるので合わせて3.1[μs]が最低必要となる。いずれもバーストサイクル時間3.2[μs]より短いので、外部転送と内部転送のデータ転送間に矛盾は生じない。
次に、バーストサイクルでのデータ転送のタイミング仕様の詳細を説明する。具体的には、読み出しと書き込みのデータバーストが混在するデータ転送でのタイミング仕様とコマンド信号のタイミング仕様の一例を説明する。
図21は、2系統のバッファレジスタREG−AとREG−Bにより、これらが交互にバースト転送を行い、そのバースト転送の間、他方のレジスタがセルアレイとの間で書き込みデータ転送Wdtと次のバースト転送に備えた読み出しデータ転送Rdtを行なうことを示している。
図22を参照して、このようなデータ転送を可能とするためのタイミング仕様を説明する。新たなデータバーストが始まる前にそのデータバーストが読み出しか書き込みかを決める必要がある。またデータバーストのアドレス入力も必要である。なお以下で説明するようなコマンド開始信号を用いてコマンドを取り込む方法に関しては、既に本発明者等による特許提案がある(例えばUSP6,185,150)。
図22に示すように、コマンドを取り込むクロックサイクルを決定するコマンド開始信号のタイミングは、バーストデータの切り替えタイミングでのクロックの立ち上がりt0を基準として規定する。その方法は、二つある。
その一は、クロックの立ち上がりt0から、コマンド開始信号のセットアップ時間tCS*とコマンド信号の持続させる時間に相当するtCH*を規定する方法である。このとき次のデータバーストのためデータを読み出しデータ転送Rdtによりバッファレジスタに準備する必要がある。そのための一括読み出し転送のための転送時間は×8IOなら500[ns]程度、×16IOなら900[ns]程度かかるので、tCS*にはこの時間程度の以上の時間を設定する必要がある。
しかしセットアップ時間が長すぎると設定が難しくなることとコマンドを受け取るタイミングの発生も正確に設定できないなど不都合も生じやすい。そこでその二の方法として、クロック数をもとにクロックエッジt0からタイミングを規定する方法がある。
即ちデータバーストの切り替わりとなるクロックの立ち上がりエッジt0からmサイクル前のクロックを指定し、その立ち上がりからコマンド開始信号の立ち上がりと立ち下がりのタイミングtCSとtCHを図22のように規定する。具体的に、クロック周期をtCKとして、m×tCKが、500nsまたは900ns以上であることが必要である。tCK=25nsならmは20または36以上となる。
このコマンド開始信号によって、次のデータバーストサイクルの読み出し又は書き込みのモードやアドレスなどのコマンド取り込みが開始されるようにする。
クロックCKとデータとのタイミングは、読み出しではデータ出力は各クロックエッジからのデータアクセス時間tACで決まる。クロックに対してクロックレイテンシを持たせることも可能である。図ではクロックの立ち上がりエッジを基準にしたが、立ち下がり側も使うDDR仕様も可能である。書き込みではクロックの立ち上がりエッジからのセットアップ時間tDSとホールド時間tDHで決まる間入力データを保持すればよい。
図21では、データバーストが読み出しデータバーストか書き込みデータバーストかは示していないが、データバースト間のモードの関係は四つある。すなわち、読み出しデータバーストが続く場合(R−R)、書き込みデータバーストが続く場合(W−W)、読み出しデータバーストの次が書き込みデータバーストである場合(R−W)及び、書き込みデータバーストの次が読み出しデータバーストである場合(W−R)の4つである。各々について以下に説明する。
モードR−Rは、読み出しの連続シークエンスであり、データバースト間にデータ出力のクロックの跳びは生じない。
モードW−Wは書き込みの連続シークエンスであり、R−Rと同様にデータ入力のクロックの跳びは生じない。
モードR−Wは、読み出しデータバーストから書き込みデータバーストに切り替わるシークエンスである。この場合、データのクロックエッジに対する規定が読み出しと書き込みとで異なり、書き込みの方がデータがクロックエッジに対して先行するので、切り替わりに際してデータとクロックの関係をずらせてやる必要がある。即ち、タイミングt0の前の読み出しデータバーストが、次の書き込みデータバーストに重なる可能性があるので、そのバーストデータの入力を、t0からnクロックサイクル(n≧1)後からはじめるようにする。このnサイクル後のクロックから実際の書き込みデータバーストサイクルが始まることになる。
モードW−Rは、書き込みデータバーストから読み出しデータバーストに切り替わるシークエンスであり、切り替わりに際してデータとクロックのエッジのタイミングは遅れる方にずれるので特別の配慮をしなくてもデータとクロックの関係に矛盾は生じない。すなわちn=0で良い。
なお、読み出したバーストに対してECCリフレッシュを行う方式では、書き込みデータ転送Wdtはバッファレジスタが切り替わるタイミングで常に行う。ECCリフレッシュを行わない場合は、書き込みデータバーストの後の切り替わりの際にのみ転送が行われる。読み出しデータ転送Rdtは、コマンドによりバーストのアドレスが確定したらすぐにセルアレイからバッファレジスタへのデータ転送を開始するものとし、次のバーストが書き込みか読み出しかによらずに常にこのRdtが行われるようにする。
図22では、クロックサイクルtCKをクロックCKの立ち上がりから次の立ち上がりまでとしているが、ダブルデータレート(DDR)なども考えるとクロックサイクルの意味をクロックのデータまたはコマンドのタイミング規定の基準となるクロックエッジ間で定義できる。すなわち、DDRではクロックの立ち上がりと立ち下がりのエッジで定義する。
メモリ外部とバーストサイクルでデータの読み書きを行う場合、即ち外部転送の場合に、ここではバーストとして128サイクルの長さを考えているので、バースト転送を完結しないで途中で終了する場合が頻繁に発生すると思われる。このときにメモリアレイ内のデータと読み書きにするデータとの整合性を維持する方法について説明する。
バースト転送が途中で終わるのは、新たなバーストサイクルを途中から切り替えて始める割り込み(interrupt)の場合と、バースト転送を止めてメモリアクセスを終了する中断(stop)の場合がある。
図23は、バーストサイクルの割り込みの場合である。バッファレジスタREG−Aを用いてのバースト転送“burstA”を行なっている途中のあるクロックサイクルで、図示のように割り込みコマンドが入ったとする。このコマンドの設定の詳細は後ほど説明する。
割り込みが生じるまでは、“burstA”が書き込みバーストなら、メモリ外部からのデータはバッファレジスタREG−Aのデータを上書きして読み込まれるので、割り込みが生じたクロックサイクル以降のレジスタREG−Aのデータはデータを書き込む先のバーストデータがECC回路を経て訂正されたデータのままである。すなわち後ほど説明するデータ書き込みのマスク動作と同様にデータの上書きは行われない。
この上書きされたレジスタREG−Aのデータをセルアレイに書き込む際には必ずECC回路を通してエンコードを施したコードデータとして、書き込みデータ転送Wdtをしなければならない。レジスタREG−Aでのバースト転送の間、レジスタREG−Bでは、書き込みデータ転送Wdt(或いはECC回路を通さない書き込みデータ転送の場合があり、これをWdt*とする。以下同様)と読み出しデータ転送Rdtが行われている。
従って、割り込み後新たなバースト転送“burstB”を開始できるのは、レジスタREG−BでのWdt或いはWdt*が終わり、新たなバーストのアドレスのRdtが行われた後である。新たなバースト“burstB”が開始されると同時に、先の割り込みされた“burstA”側のレジスタREG−AからのWdt又はWdt*転送を行う。
バースト“burstA”が読み出しバーストであるとすると、割り込みが生じるまではレジスタREG−Aに読み出し転送されたデータのバースト読み出しが中断されるだけであり、REG−A内のデータはECC回路によってデコードされてエラー訂正されたデータであるので、このデータをセルアレイに書き戻す際には改めてエンコードする必要はない。即ち、REG−Aのチェックビットを合わせて書き戻せばよく、これがECC回路を通さない書き込みデータ転送Wdt*となる。
図24は、バーストサイクルを中断する場合である。バッファレジスタREG−Aでのバーストサイクルの途中で、図示のように終了コマンドが入ったとする。中断が生じるまでは、このバースト“burstA”が書き込みバーストならメモリ外部からのデータはレジスタREG−Aのデータを上書きして読み込まれる。中断 が生じたクロックサイクル以降のレジスタREG−Aのデータはデータを書き込む先のバーストデータがECCを経て訂正された読み出しデータのままである。
すなわちこの場合も、後ほど説明するデータ書き込みのマスク動作と同様にデータの上書きは行われない。この上書きされたレジスタREG−Aのデータをセルアレイに書き込む際には必ずECC回路を通してエンコードを施したコードデータとして書き込み転送Wdtをしなければならない。このWdt転送を開始できるのは、レジスタREG−BのWdt(又はWdt*)が終わった後であり、REG−Bの転送が終了した後、中断された“burstA”のレジスタREG−AからWdt転送を行うことになる。
バースト“burstA”が読み出しバーストならば、中断が生じるまではレジスタREG−Aに読み出し転送されたデータのバースト読み出しが中断されるだけであり、レジスタREG−A内のデータはECC回路によってエラー訂正されたデータであるので、これをセルアレイに書き戻す際には改めてエンコードする必要はない。従ってこの場合、書き込みデータ転送はWdt*となる。
バッファレジスタREG−AからのWdt又はWdt*を完了して、メモリのアクセスの実際の終了となる。
なお割り込みの場合は、新たなバーストサイクルが開始されるのはデータ転送によってデータの準備が完了した後であり、このクロックサイクルは外部から決まるのではなくメモリシステムによって決まるものである。メモリと外部とのデータ転送にクロックサイクルのギャップが生じるので、メモリ側から内部のデータ転送状態を示す信号を出力することも必要であり、この信号を合図に新たなバーストサイクルの開始と判断できるようにする。
書き込みデータ転送Wdtに対してECCを施す場合と施さない場合があり、これは後に説明するECCリフレッシュとも関係するので、ここでその概要を説明する。
ECCリフレッシュとは、エラー訂正が施されたデータをレジスタに保持して、アクセスしたバーストデータの累積エラーを解消するためにこれをセルアレイに書き込んで保持データをリフレッシュする操作をいう。書き込みバーストも含めて、レジスタに保持されたデータが正しいものであるという前提を元にしている。読み出しバーストであれば、データはセルアレイ内のデータをECC回路を通してデコードするのでチェックビットも含めて正しく、書き込みバーストであればデータが上書きされるのでチェックビットは使えず、新たにエンコードする必要がある。
バーストサイクルにおいては、二系統のバッファレジスタを並行して使用し、一方は外部とのデータ転送、他方はセルアレイとのデータ転送を行うが、レジスタからセルアレイへの書き込みデータ転送Wdtは、上記の説明からも分かるようにレジスタに保持されているデータが読み出しバーストで利用されたのか書き込みバーストで利用されたのかでふたつの場合が生じる。
図25は、バッファレジスタREG−Aにおいて、読み出しバースト(burstA)の後、バッファレジスタREG−Bで書き込みバーストサイクル(burstB)の裏でセルアレイへの書き込み転送を行なう場合である。このとき、burstBの裏での書き込みデータ転送は、エンコードを行わなくてもチェックビットまで含めて正しいコードデータとなっているので、ECC回路を通すことなく、セルアレイに書き戻すことができる。これが、ECCなしの書き込みデータ転送Wdt*である。
ECC回路のエンコードは、×8IOの場合100[ns]、×16IOでは200[ns]程度の時間を要することは先に説明した。したがってこの時間だけ短い転送時間で書き込みデータ転送が実行可能である。無論、バーストの種類の判断が煩わしければ、通常の書き込みデータ転送Wdtを行って再びエンコードしてもかまわない。
図26は、バッファレジスタREG−Aにおいて、書き込みバースト(burstA)の後、バッファレジスタREG−Bでのバースト(burstB)の裏でセルアレイへの書き込み転送を行なう場合である。このとき、burstAによりレジスタREG−Aのデータは少なくとも一部が上書きされた上書きデータである。この新たなデータのチェックビットを作るためには必ずエンコードが必要で、次の書き込みバーストサイクル(burstB)では、ECC回路を通す通常の書き込みデータ転送Wdtを行うことになる。
書き込み転送Wdt又はWdt*が行われた直後のセルアレイのバーストデータはエラーがもっとも少ない状態であり、いわばデータがリフレッシュされている。この後メモリセルアレイ内に保持されている状態で様々なディスターブを受けてエラービット数が増えるので、ECCによって訂正できる範囲をエラー数が超える前に再び読み出し転送でバッファレジスタに読み出して書き戻すというECCリフレッシュを行うことが好ましい。このECCリフレッシュの詳細は後ほど説明する。
次に図27を用いて、バーストサイクルの割り込み(interrupt)のタイミング仕様の詳細を説明する。コマンドの受付開始を指示するコマンド開始信号CEを新たなバースト(これは新たなデータ転送サイクルの開始と一致)を開始したいクロックサイクルのエッジから時間tCS*またはサイクル数mによって規定されたクロックエッジからの時間tCSでセットする。割り込みでなくバーストの中断の場合は、新たなバーストサイクルはないのでこの規定はない。このサイクル数mなどは先にバースト切り替えの仕様の説明の際に示したものと同じである。
コマンド開始信号CEを受けたクロックサイクルの次のクロックからコマンドのコードを受け付けるが、現在進行中のバーストのデータに関してはコマンドコードが割り込み(interrupt)か中断(stop)かが判明したサイクルの次のサイクルからバッファレジスタと外部とのデータ転送を行わなくなる。この規定がコマンド開始信号CEの設定サイクルからkサイクルである。この実施形態の場合はコマンドコードを3ビットとして、kは4より大きく設定される。
コマンド開始信号CEの設定サイクルは新たなデータ転送サイクルを始めたい時刻を基準に規定されるが、CEを入れたタイミングによっては割り込みまたは中断を受けるバーストと同時に進行中のセルアレイとのデータ転送が完了できない場合もある。そこでメモリ側から内部のデータ転送状態を表す信号DTX_A,DTX_Bを外部に出力する。
すなわち、バッファレジスタREG−Aが内部データ転送できる期間中はDTX_Aが“1”であり、バッファレジスタREG−Bが内部データ転送できる期間中はDTX_B=“1”となる。この信号の切り替わりのタイミングは、レジスタとセルアレイとの間のデータ転送が終了したらクロックに同期してデータの出力と同様のtACのタイミングで行われる。
バッファレジスタREG−AとREG−Bのデータ転送は交互に行われるので、DTX_AとDTX_Bをひとつの信号としてこの信号の“1”または“0”を一方の転送使用期間を示すものとすることもできる。DTX_A,DTX_Bが変化した次のクロックサイクル以降が新データ転送サイクル(新バーストサイクル)となる。
バーストサイクルの中断の場合は、DTX_AやDTX_Bが切り替わった以降で新たなデータ転送が完了して再びこれらの信号が切り替わるタイミングを待ってメモリのデータ転送動作が終了しメモリのセルアレイに保持されたデータと外部とやり取りしたデータの整合性が保たれる。
ECCリフレッシュの詳細を検討するために、セルアレイとバッファレジスタの間のデータ転送の方式を、ここでまとめ直す。バッファレジスタ上のデータは、常に正しデータを表現していることは以前にも述べた。バッファレジスタの一部であるチェックビット用レジスタ部が正しいデータに対応したものであるか否かは、動作のシークエンスに依存する。
図28は、2系統のバッファレジスタREG−A,REG−Bを利用して、バーストサイクルburstAとburstBをインターリーブする様子を示している。
バーストのデータ転送状態は、信号DTX_A,DTX_Bによりモニターすることが出来る。
バーストのデータ転送状態は、信号DTX_A,DTX_Bによりモニターすることが出来る。
バースト転送の裏で行なう書き込みデータ転送には、ECC回路のエンコード部を介してバッファレジスタにコード化したデータを保持してこれをセルアレイに書き込む転送(Wdt)と、ECC回路のエンコード部を通さずにバッファレジスタの書き込みデータをセルアレイに書き込む転送(Wdt*)とがある。読み出しデータ転送(Rdt)は、ECC回路を通してエラー訂正された読み出しコードデータをバッファレジスタに保持して、これを出力する場合である。
WdtとWdt*のいずれを使うかは、転送前のバーストサイクルが読み出しであったか書き込みであったかの履歴によって判断する。
図28に示すように、レジスタREG−Aでバースト転送している間、レジスタREG−Bで内部転送(Wdt B or Wdt* B,and Rdt B)を行なうことが出来、レジスタREG−Bでバースト転送している間、レジスタREG−Aで内部転送(Wdt A or Wdt* A, and Rdt A)を行なうことが出来る。
さて、リアルタイムECC前提なら、セルのリフレッシュをこれらの内部転送を用いて行いディスターブによってセルが受けるエラーを修正することができる。バッファレジスタへの読み出しデータ転送(Rdt)の際にはECCデコードされているので、アクセスされたバーストアドレスに対しては、バッファレジスタに有るデータは必ず次のバーストサイクルで書き戻し転送であるWdt又はWdt*を行なう。即ち、書き込みバーストの後なら、ECC回路のエンコード部を通すWdtとし、読み出しバーストの後なら、エンコード部を通さないWdt*とする。
アクセスセルブロック内のその他のバーストアドレスに対しては、同じセルブロック内で書き込みまたは読み出し転送を行なうとセルブロックのマット内の待機セルも電気的熱的なディスターブを受けるので、そのセルアレイブロックへのバーストサイクルのアクセスの一定回数ごとに、同じセルアレイブロック内でのバーストアドレスを巡回的に変えて読み出しデータ転送Rdtを行い、バッファレジスタを介してデータを書き込みデータ転送Wdt*で書き戻す。
このリフレッシュバーストアドレス発生は、(a)セルアレイブロックへのバーストアクセス回数をカウントして一定回数ごとにリフレッシュバーストアドレスを巡回的に変化させてメモリが自動的に行うオート方式と、(b)外部のコントローラが状況を見てコマンドとアドレスで対応するコマンド方式とが考えられる。
オートECCリフレッシュはコマンドECCリフレッシュの制御をチップに導入し、当該バーストサイクルがリフレッシュバーストであることを示す信号を外部出力してやればよいので、ここでは、セルのディスターブへの耐性によってリフレッシュの方式を柔軟に対応できるコマンドECCリフレッシュのみを述べる。
図29は、図28のバーストシーケンスを元に、レジスタREG−Aでのあるバーストサイクルを“リフレッシュバーストサイクル(Refresh Burst Cycle)”とした例を示している。バーストサイクルを続けて、あるセルアレイブロックのリフレッシュ条件が満たされたらこのセルアレイブロックのリフレッシュバーストアドレスをコントローラからメモリに与えリフレッシュを行う。
即ち、図示のように、適当なタイミングt10でリフレッシュコマンド“Ref command”とリフレッシュアドレス“Ref.Add.”を与えて、バッファレジスタREG−Aに対して読み出しデータ転送(Rdt A)を行う。
このRdtの後では、バッフアレジスタREG−Aにはエラー訂正されたデータとチェックビットが保持されるので、このレジスタREG−Aから次のバーストサイクルで同じリフレッシュアドレスへ書き戻しの転送(Wdt*A)を行ってリフレッシュのサイクルが終了する。リフレッシュバーストサイクル内に、次のバーストサイクルの読み書きコマンド(W/R command)の発行を行い(タイミングt11)、アクセスを再開する。
バーストサイクルは本実施の形態では128サイクルよりなり、1サイクル25[ns]とすると3.2[μs]の間はECCリフレッシュサイクルではデータのやり取りが出来なくなる。リフレッシュサイクルではIOを介してのデータにやり取りはないので、128クロックサイクルを待つ必要はない。
そこで内部データ転送が終わればすぐに次のバーストサイクルを開始できる割り込みを利用して、出来るだけリフレッシュのデータ転送のギャップを小さくすることが出来る。図29ではこれを示すためにリフレッシュサイクルでのW/Rコマンド設定に際し、括弧で“interrupt”と示し、割り込みコマンドが良いことを示した。
図30は、“マスク書き込み(Mask Write)”バーストサイクルを設定した例である。ここでは、レジスタREG−Aのバーストサイクルをマスク書き込みサイクルとしている。
書き込みバーストにおいては一部のデータのみを書き換えたい場合がある。この要求に対応するのがマスク書き込みである。すなわち、書き込みバーストの際はバッファレジスタREG−Aに書き込み先のバーストアドレスのデータがECC訂正されてRdtで転送されているので、データ書き換えの必要ないバーストクロックサイクルは、外部からの書き込みデータをレジスタに上書きしないようにマスクする。そのためには、マスクするクロックサイクルを指定するためのマスク信号“MASK”が必要となる。
図30にはマスク信号MASKのタイミング規定の例を示している。データのバッファレジスタへの書き込みサイクルに合わせてマスク信号を立ち上げて設定すると、そのサイクルでのデータはバッファレジスタへは転送されない。すなわちマスク信号がMASK=“H”であるクロックエッジのデータ取り込みが無効となって、バッファレジスタにデータが上書きされない。
マスク信号のセットアップとホールド時間tSとtHは、図のようにデータと同じクロックエッジから規定される。
このマスク書き込みバーストサイクルの次のバーストサイクルでの内部書き込みデータ転送は、ECC回路を介した書き込みデータ転送Wdtとなり、コードデータが新たに生成されて書き込み転送される。
図31は、前バーストサイクルと同じバーストアドレスに同じデータの書き込みを行なう“繰り返し書き込み(Repeat Write)”転送の仕様である。抵抗変化物質を用いたセルを使用してデータを保持する場合、ECCリフレッシュのような方法によらずにセルの状態保持の信頼性を向上するには、低抵抗状態および高抵抗状態をしっかりと設定する必要がある。またセルアレイの出来よっては、抵抗値設定をしつこく行わないと保持特性の信頼性を十分得られないようなマージナルなものも存在する。
そこで同じバーストアドレスに同じデータを何回か続けて書き込む、繰り返し書き込みの仕様が必要となる。即ちセルへの同じデータの書き込みを複数回行なうためバッファレジスタからの書き込みデータ転送Wdtを繰り返すためコマンド仕様である。
図31に示す繰り返し書き込みサイクルと、次のサイクルでは内部データ転送のバッファレジスタの入れ替えが通常とは異なる。繰り返し書き込みサイクルでは、繰り返されるバーストサイクルが読み出しならWdt*、書き込みならWdtがレジスタREG−Bから行われ、新たなサイクルのデータの読み出しRdtがバッファレジスタREG−Aに対して行われる。
繰り返しバーストサイクルのWdt又はWdt*の後では、バッファレジスタREG−Bのデータはチェックビットも含めてECC回路のエンコードを受けている。そこでこの新たなサイクルで再びレジスタREG−Bから行う内部データ転送はWdt*でよく、この転送でセルデータを上書きする。
すなわちバッファレジスタの転送データは、Rdt又はWdtによってECCエンコードされているのでチェックビットも含めて既に正しいコードデータとなっている。このバッファレジスタのデータを繰り返し書き込みコマンド“Rep.W command”によってもう一度セルアレイにWdt*転送する。
この繰り返し書き込みによって不良書き込みの数が訂正可能数以下になるようにすることが可能である。
繰り返し書き込みコマンドが設定された次のバーストサイクルではバッファレジスタの入れ替えが生じないので、外部からとのデータのやり取りが遮断される。このバーストサイクルでは128サイクルは必要なく内部の転送が完了すれば次の動作に移れる。従って新たなバーストサイクルの開始のコマンドは割り込みを利用して、転送が完了してすぐに新たなバーストサイクルを始めることが出来る。図ではこれを示すためにリフレッシュサイクルでのコマンド設定に際し、括弧で“interrupt”と示し、割り込みコマンドで良いことを示した。
また、繰り返しサイクルでは内部データ転送が通常とは異なり、書き込み転送と と読み出し転送が異なるバッファレジスタを対象として行われるので、信号DTX_AとDTX_Bは図の様な変化をする。
図32は、前バーストサイクルと同じバッファレジスタのバースト読み出しを行なう“繰り返し読み出し(Repeat Read)”バーストサイクルの仕様を示している。即ち、同一のバッファレジスタを連続して複数回バーストアクセスするためコマンド仕様であり、図示のように繰り返し読み出しコマンド“Rep.R command”を入れて設定する。
書き込みバーストの後の繰り返し読み出しバーストなら、バッファレジスタに書き込んだデータをすぐにそのバッファレジスタから読み出すことになる。図31の繰り返し書き込みとの違いは内部データ転送が繰り返されない点である。これは同じバッファレジスタ、図32の例ではレジスタREG−Bが外部データ転送と内部データ転送を同時に行うことになるからである。無論同じバッファレジスタからの同時転送は不可能ではないので、繰り返し書き込みの仕様に内部データ転送を付け加えた仕様としても良い。
繰り返しサイクルで内部データ転送を行わない場合は、バッファレジスタからのデータ転送の際には繰り返されるのが読み出しバーストなのか書き込みバーストなのかに応じて、次のバーストサイクルの内部データ転送がWdt*又はWdtとなる。即ち、読み出しバーストなら既にチェックビットも含めて正しいデータがバッファレジスタに保持されているからエンコードなしの書き込み転送Wdt*でよく、書き込みバーストなら新たにチェックビットを作成しなければならないので、エンコードを伴う書き込み転送Wdtとなる。
また繰り返しサイクルはデータのバースト出力を伴い、128サイクルをフルに使用するので特に必要がない限り割り込みをしない。
図33及び図34は、コマンド、バーストアドレスの取り込みなどのタイミングの規定と、入力信号の関係などについてまとめた。なお、関連する特許としてここでのコマンド開始信号CEに関連して、特願平10−337114号(US6,185,150B1)がある。また、ここでの例はクロックCKの立ち上がりのみを基準にする方式を示すが、クロックの立ち上がりと立ち下がりの両方を利用したり逆相の相補的なクロックを合わせて用いるDDRなどとして同様のタイミングを規定するのは容易であるので述べない。
コマンド開始信号CEが“H”のクロックサイクルの次のサイクルがコマンドとアドレスの入力サイクルとなる。CEのタイミング設定はすでに述べてあるので、ここではクロックエッジに対してtSとtHの規定のみを示した。クロックエッジに対して入力信号の規定はすべて同じでこのタイミング規定を用いる。CEのレシーバは、毎クロックサイクルでアクティブで、CE=“H”が検出されると一定期間非アクティブとなる。他のレシーバはこの一定期間のみアクティブとなる。
信号R/Wは、次に始まる新しいバーストサイクルが読み出し(R)か、書き込み(W)かを示す。コマンド信号CMDは、3サイクルで3ビットのコード信号であり、そのビット情報c0,c1,c2によって、動作モードが例えば図34の表の様に、ノーマル(Normal),割り込み(Interrupt),終了(Stop),リフレッシュ(Refresh),繰り返し(Repeat)のように指定される。個々の動作モードについては既に説明した。
信号Add_0〜Add_7は、バーストのアドレスとバーストサイクルの開始アドレスまたどの積層の層を選択するかのアドレスビット情報であり、5サイクルで40ビットを入力する。それぞれのビットのサイクルと信号の位置は、図33の波形図に示した通りであり、各ビットと各アドレスとの対応の一例を図の横に示した。
バーストにはセルアレイブロックのアドレスも含まれるので、これにマット層(mat layer)のアドレス情報を加えても良いが、マット層は積層数を製造過程で容易に変更でき、ビット数がこれに伴い変わるのでアドレスビットとして分離している。
メモリ制御に関係する信号、すなわちチップピンに入力される電源以外の信号をまとめると、次のようになる。
CK:メモリを同期して制御する基本クロック。DDRではこれと相補的なクロックCKBを合わせて入力したり、入出力データのストローブ信号DQSなどをチップに入出力するこことも考えられる。
CE:信号のレシーバとデコーダが毎サイクル働いて電力を消費しないように、ひとつのレシーバのみを働かせてこの状態でコマンドやアドレスのレシーバやデコーダを活性化するためのコマンド開始信号。
R/W:データ転送のモードの読み出し(R)と書き込み(W)かを選択する信号。
Add_0〜Add_7:アドレスビットA0〜A39を時分割する信号。
IO0〜IO8又はIO0〜IO15:データの入出力。
DTX_A,DTX_B:チップ内部の2系統のバッファレジスタのデータ転送状態を外部に知らせる内部状態信号。
以上説明した実施の形態によれば、ECCによりデータの信頼性を確保しながら、高速のデータ転送を可能とした大容量ファイルメモリを得ることが出来る。
1…セルアレイブロック、2…制御回路、31…センスアンプ、32…書き込み制御回路、100…メモリコア、111…バッファレジスタ、112…ECC回路、ENC…エンコード部、DEC…デコード部、REG1−REG4…バッファレジスタ、REG−A,REG−B…2系統バッファレジスタ。Wdt…ECCを通した書き込みデータ転送、Wdt*…ECCを通さない書き込みデータ転送、Rdt…読み出しデータ転送。
Claims (5)
- メモリセルアレイと、
前記メモリセルアレイの読み出しデータのエラー検出と訂正を行なうエラー検出訂正回路と、
前記メモリセルアレイの読み出しデータ及び書き込みデータを一時格納するために設けられた、データビット数が前記エラー検出訂正回路によるエラー検出訂正処理の際のチェックビットを含めたデータビット数の整数倍に設定されたバッファレジスタとを備え、
前記バッファレジスタに外部から格納された書き込みデータは、前記エラー検出訂正回路を通してエンコードされて前記バッファレジスタにチェックビットと共に上書きされた後、前記メモリセルアレイに転送書き込みされ、
前記メモリセルアレイから読み出されたデータはチェックビットと共に前記バッファレジスタに格納され、その後前記エラー検出訂正回路を通してデコードされて正しい読み出しデータとして前記バッファレジスタに上書きされた後、外部に出力される
ことを特徴とするメモリ装置。 - 外部からの書き込みデータの前記バッファレジスタへの転送及び、前記バッファレジスタの読み出しデータの外部への転送は、クロック同期によるバースト転送により行なわれる
ことを特徴とする請求項1記載のメモリ装置。 - 前記バッファレジスタに外部から書き込みデータを格納するに先立って、その書き込み先アドレスの前記メモリセルアレイの読み出しデータを前記バッファレジスタに格納する動作が行なわれる
ことを特徴とする請求項1記載のメモリ装置。 - 前記エラー検出訂正回路によりデコードされた正しい読み出しデータを前記バッファレジスタに格納し、この読み出しデータを前記エラー検出訂正回路を介さずに前記メモリセルアレイに再書き込み転送するリフレッシュモードを有する
ことを特徴とする請求項1記載のメモリ装置。 - メモリセルアレイと、
前記メモリセルアレイの読み出しデータのエラー検出と訂正を行なうエラー検出訂正回路と、
前記メモリセルアレイの読み出しデータ及び書き込みデータを一時格納するために設けられた、それぞれデータビット数が前記エラー検出訂正回路によるエラー検出訂正処理の際のチェックビットを含めたデータビット数の整数倍に設定された2系統のバッファレジスタとを備え、
前記2系統のバッファレジスタの一方による外部との間の読み出し或いは書き込みデータのバースト転送と、前記2系統のバッファレジスタの他方による前記メモリセルアレイとの間の前記エラー検出訂正回路を介した読み出し或いは書き込みの内部データ転送とが交互に行なわれる
ことを特徴とするメモリ装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008323524A JP2010146654A (ja) | 2008-12-19 | 2008-12-19 | メモリ装置 |
US12/607,432 US20100162068A1 (en) | 2008-12-19 | 2009-10-28 | Memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008323524A JP2010146654A (ja) | 2008-12-19 | 2008-12-19 | メモリ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010146654A true JP2010146654A (ja) | 2010-07-01 |
Family
ID=42267886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008323524A Withdrawn JP2010146654A (ja) | 2008-12-19 | 2008-12-19 | メモリ装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100162068A1 (ja) |
JP (1) | JP2010146654A (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013235642A (ja) * | 2012-05-04 | 2013-11-21 | Huabang Electronic Co Ltd | Nand型フラッシュメモリの読み込み方法及び装置 |
JP2014078301A (ja) * | 2012-10-11 | 2014-05-01 | Winbond Electronics Corp | 不揮発性半導体メモリ |
JP5657079B1 (ja) * | 2013-10-24 | 2015-01-21 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
CN104900269A (zh) * | 2014-03-04 | 2015-09-09 | 华邦电子股份有限公司 | 半导体存储装置及其冗余方法 |
JP2015176616A (ja) * | 2014-03-14 | 2015-10-05 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
US9324450B2 (en) | 2013-03-13 | 2016-04-26 | Winbond Electronics Corporation | NAND flash memory |
US9367392B2 (en) | 2014-08-01 | 2016-06-14 | Winbond Electronics Corporation | NAND flash memory having internal ECC processing and method of operation thereof |
US9442798B2 (en) | 2014-07-31 | 2016-09-13 | Winbond Electronics Corporation | NAND flash memory having an enhanced buffer read capability and method of operation thereof |
KR20170129703A (ko) * | 2015-03-27 | 2017-11-27 | 인텔 코포레이션 | On-die dram ecc로부터의 선택적 정보 추출 |
JP2020119007A (ja) * | 2019-01-18 | 2020-08-06 | 富士通株式会社 | 情報処理装置、記憶制御装置および記憶制御プログラム |
WO2022085471A1 (ja) * | 2020-10-19 | 2022-04-28 | ソニーセミコンダクタソリューションズ株式会社 | メモリセルアレイユニット |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009199695A (ja) | 2008-02-25 | 2009-09-03 | Toshiba Corp | 抵抗変化メモリ装置 |
JP5542742B2 (ja) | 2011-05-26 | 2014-07-09 | 株式会社東芝 | 半導体記憶装置 |
KR101620761B1 (ko) * | 2011-07-27 | 2016-05-23 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 멤리스터 기반 데이터 저장 장치 내부의 기입 버퍼 용량을 감소시키는 방법 및 시스템 |
EP2737483A4 (en) * | 2011-07-27 | 2015-05-06 | Hewlett Packard Development Co | EFFICIENT DATA STORAGE DEVICES CONTAINING MEMORY ELEMENTS AND CHARACTERIZED BY POTENTIALLY LARGE SWITCHING LATENCES |
CN104318956B (zh) * | 2014-09-30 | 2018-05-15 | 西安紫光国芯半导体有限公司 | 一种阻变随机存储器存储阵列编程方法及装置 |
US9947399B2 (en) | 2015-03-26 | 2018-04-17 | Sandisk Technologies Llc | Updating resistive memory |
US9639418B2 (en) * | 2015-09-01 | 2017-05-02 | International Business Machines Corporation | Parity protection of a register |
US10192608B2 (en) | 2017-05-23 | 2019-01-29 | Micron Technology, Inc. | Apparatuses and methods for detection refresh starvation of a memory |
FR3103620B1 (fr) * | 2019-11-21 | 2021-11-26 | St Microelectronics Rousset | Procédé d’écriture dans une mémoire volatile et circuit intégré correspondant |
KR102721961B1 (ko) * | 2020-07-22 | 2024-10-28 | 삼성전자주식회사 | 메모리 모듈 및 이를 포함하는 메모리 시스템 |
US11790974B2 (en) | 2021-11-17 | 2023-10-17 | Micron Technology, Inc. | Apparatuses and methods for refresh compliance |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US330415A (en) * | 1885-11-17 | Oscae mueisiee | ||
US339672A (en) * | 1886-04-13 | George alanson mason | ||
US337624A (en) * | 1886-03-09 | Underground conduit for electric wires | ||
US338580A (en) * | 1886-03-23 | arnold | ||
US5163162A (en) * | 1990-11-14 | 1992-11-10 | Ibm Corporation | System and method for data recovery in multiple head assembly storage devices |
US6092231A (en) * | 1998-06-12 | 2000-07-18 | Qlogic Corporation | Circuit and method for rapid checking of error correction codes using cyclic redundancy check |
FR2864321B1 (fr) * | 2003-12-23 | 2007-01-19 | St Microelectronics Sa | Memoire dynamique a acces aleatoire ou dram comportant au moins deux registres tampons et procede de commande d'une telle memoire |
JP2007242162A (ja) * | 2006-03-09 | 2007-09-20 | Toshiba Corp | 半導体記憶装置 |
WO2008152728A1 (ja) * | 2007-06-15 | 2008-12-18 | Fujitsu Limited | エラー訂正方法および演算器 |
JP4417994B2 (ja) * | 2007-11-26 | 2010-02-17 | 株式会社東芝 | 素材データ記録装置及び、素材データ記録方法 |
US20090292971A1 (en) * | 2008-05-21 | 2009-11-26 | Chun Fung Man | Data recovery techniques |
-
2008
- 2008-12-19 JP JP2008323524A patent/JP2010146654A/ja not_active Withdrawn
-
2009
- 2009-10-28 US US12/607,432 patent/US20100162068A1/en not_active Abandoned
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8667368B2 (en) | 2012-05-04 | 2014-03-04 | Winbond Electronics Corporation | Method and apparatus for reading NAND flash memory |
JP2013235642A (ja) * | 2012-05-04 | 2013-11-21 | Huabang Electronic Co Ltd | Nand型フラッシュメモリの読み込み方法及び装置 |
TWI514390B (zh) * | 2012-10-11 | 2015-12-21 | Winbond Electronics Corp | 非揮發性半導體記憶體及資料讀出方法 |
JP2014078301A (ja) * | 2012-10-11 | 2014-05-01 | Winbond Electronics Corp | 不揮発性半導体メモリ |
US9324450B2 (en) | 2013-03-13 | 2016-04-26 | Winbond Electronics Corporation | NAND flash memory |
JP2015082333A (ja) * | 2013-10-24 | 2015-04-27 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
JP5657079B1 (ja) * | 2013-10-24 | 2015-01-21 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
CN104900269A (zh) * | 2014-03-04 | 2015-09-09 | 华邦电子股份有限公司 | 半导体存储装置及其冗余方法 |
CN104900269B (zh) * | 2014-03-04 | 2018-01-05 | 华邦电子股份有限公司 | 半导体存储装置及其冗余方法 |
JP2015176616A (ja) * | 2014-03-14 | 2015-10-05 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
US9442798B2 (en) | 2014-07-31 | 2016-09-13 | Winbond Electronics Corporation | NAND flash memory having an enhanced buffer read capability and method of operation thereof |
US9367392B2 (en) | 2014-08-01 | 2016-06-14 | Winbond Electronics Corporation | NAND flash memory having internal ECC processing and method of operation thereof |
KR20170129703A (ko) * | 2015-03-27 | 2017-11-27 | 인텔 코포레이션 | On-die dram ecc로부터의 선택적 정보 추출 |
KR102552933B1 (ko) | 2015-03-27 | 2023-07-10 | 인텔 코포레이션 | On-die dram ecc로부터의 선택적 정보 추출 |
JP2020119007A (ja) * | 2019-01-18 | 2020-08-06 | 富士通株式会社 | 情報処理装置、記憶制御装置および記憶制御プログラム |
JP7219397B2 (ja) | 2019-01-18 | 2023-02-08 | 富士通株式会社 | 情報処理装置、記憶制御装置および記憶制御プログラム |
WO2022085471A1 (ja) * | 2020-10-19 | 2022-04-28 | ソニーセミコンダクタソリューションズ株式会社 | メモリセルアレイユニット |
Also Published As
Publication number | Publication date |
---|---|
US20100162068A1 (en) | 2010-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010146654A (ja) | メモリ装置 | |
JP5197448B2 (ja) | 抵抗変化メモリ装置 | |
US11269723B2 (en) | Memory controller and memory system including the same | |
US10671478B2 (en) | Scrubbing controllers of semiconductor memory devices, semiconductor memory devices and methods of operating the same | |
US11132142B2 (en) | Systems and methods for writing zeros to a memory array | |
CN102467976B (zh) | 存储器写入错误校正电路 | |
US9405615B2 (en) | Method of operating nonvolatile memory device comprising resistance material | |
CN107924698A (zh) | 存储器设备校验位读取模式 | |
CN114121075B (zh) | 用于存储器刷新的系统及方法 | |
US9263115B2 (en) | Semiconductor device | |
US9236123B2 (en) | Semiconductor device and write method | |
KR102649558B1 (ko) | 메모리 모듈에 대한 구성 가능한 데이터 경로 | |
US20200126609A1 (en) | Memory modules, memory systems, and methods of operating memory modules | |
TWI777649B (zh) | 非揮發性記憶體裝置 | |
TW202223904A (zh) | 記憶體裝置及包含其的記憶體系統 | |
US20240289210A1 (en) | Configurable data path for memory modules | |
CN113012737B (zh) | 用于存储器刷新操作的精细粒度模式的选择性延长 | |
US20120063210A1 (en) | Semiconductor Device | |
TW202303590A (zh) | 半導體記憶裝置 | |
US9047936B2 (en) | Memory device having control circuitry for write tracking using feedback-based controller | |
US20150269995A1 (en) | Semiconductor device | |
KR102589109B1 (ko) | 메모리 디바이스에서 백그라운드 데이터 패턴을 기록하는 장치 및 방법 | |
CN119170072A (zh) | 用于执行读取-修改-写入操作的半导体系统 | |
US11475929B2 (en) | Memory refresh | |
US20090122856A1 (en) | Method and apparatus for encoding data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120306 |