[go: up one dir, main page]

JP2007133986A - 半導体記憶装置 - Google Patents

半導体記憶装置 Download PDF

Info

Publication number
JP2007133986A
JP2007133986A JP2005327011A JP2005327011A JP2007133986A JP 2007133986 A JP2007133986 A JP 2007133986A JP 2005327011 A JP2005327011 A JP 2005327011A JP 2005327011 A JP2005327011 A JP 2005327011A JP 2007133986 A JP2007133986 A JP 2007133986A
Authority
JP
Japan
Prior art keywords
ecc
address
circuit
read
data
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
Application number
JP2005327011A
Other languages
English (en)
Inventor
Hiroyuki Takahashi
弘行 高橋
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics 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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2005327011A priority Critical patent/JP2007133986A/ja
Priority to US11/593,012 priority patent/US7810016B2/en
Priority to CNA2006101446528A priority patent/CN1963950A/zh
Publication of JP2007133986A publication Critical patent/JP2007133986A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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/1048Adding 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
    • G06F11/1052Bypassing or disabling error detection or correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4078Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4087Address decoders, e.g. bit - or word line decoders; Multiple line decoders

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Memory System (AREA)

Abstract

【課題】ECC回路を搭載する半導体記憶装置の動作の高速化。
【解決手段】本発明に係る半導体記憶装置は、メモリセルアレイ10と、ECC回路20と、無効判定回路40とを備える。ECC回路20は、メモリセルアレイ10に書き込まれるライトデータDWに対してECCを算出する。そのライトデータDWのデータ幅がECCの算出に必要なデータ幅に満たない場合、すなわち、一部書き込み時、無効判定回路40はECC回路20を無効化する。
【選択図】図2

Description

本発明は、半導体記憶装置に関し、特にECC機能を搭載した半導体記憶装置に関する。
DRAM等の半導体記憶装置に搭載されるECC回路が知られている。ECC回路は、単なるメモリエラーの検出だけでなく、データ中でエラーが発生した箇所(ビット)を特定し、それを正しい値に訂正することができる。具体的には、データの書き込み時、ECC回路は、そのデータに対して「誤り訂正コード(ECC:Error Correction Code)」と呼ばれる情報を算出する。算出されたECCはメモリ空間に記憶される。その後、そのデータが読み出される際、ECC回路は、先に算出されたECCを参照することによって読み出しデータのエラーを検知・訂正する。
ECCを算出するために必要とされるライトデータのデータ幅は、予め定められている。例えば、データバス幅が64ビットの場合、64ビットのライトデータに対して1つのECCが算出される。算出されるECCのビット数は、所定のアルゴリズムにより決定され、この場合8ビットとなる。よって、256ビットのデータが書き込まれる場合、算出される4つのECCの合計ビット数は、32ビットとなる。
そのアルゴリズムによれば、ライトデータ幅の増加に伴い、算出されるECCのビット数の増加は緩やかになる。その傾向を用いてECCの増大を抑制するための技術が、特許文献1に開示されている。その技術によれば、バーストライトされるデータ単位で1つのECCが算出される。例えば、データバス幅が64ビットでありバースト長が4である場合、256ビットのデータに対して1つのECCが算出される。この場合、算出されるECCのビット数は9ビットとなり、ECCが占めるメモリ空間が全体として削減される。
特開平11−102326号公報
本願発明者は、次の点に着目した。ECC回路において、ECCを算出するためのデータ幅は予め定められており、その所定のデータ幅は例えば64ビットである。しかしながら、システムの都合上、例えば1バイトのデータしか書き込まれない場合がある(バイトライト:Byte Write)。そのような所定のデータ幅未満のデータの書き込みは、以下「一部書き込み」と参照される。上述の特許文献1に開示された技術は、ECC算出時にデータをまとめることによってECCを削減することができるが、一部書き込みに対応することができない。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、[課題を解決するための手段]を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明に係る半導体記憶装置は、メモリセルアレイ(10)と、ECC回路(20)と、無効判定回路(40)とを備える。ECC回路(20)は、メモリセルアレイ(10)に書き込まれるライトデータ(DW)に対してECCを算出する。そのライトデータ(DW)のデータ幅がECCの算出に必要なデータ幅に満たない場合、すなわち、一部書き込み時、無効判定回路(40)はECC回路(20)を無効化する。ECC回路(20)は、無効化された場合、ECCの算出をスキップする。このように、ECCの算出が選択的に中止されるので、書き込み動作が全体として高速化される。
一部書き込み時、あるライトデータ(DW)が、メモリセルアレイ(10)中の第1アドレス(A1)に書き込まれたとする。そのライトデータ(DW)に対するECCは算出されていない。従って、その後第1アドレス(A1)からデータが読み出される際には、対応するECCが無いことを知る必要がある。そのため、一部書き込み時、無効判定回路(40)は、ECC回路(20)が無効化されたことを示す無効情報(F1,ADDW)を予め保持する。その無効情報(F1,ADDW)は、第1アドレス(A1)に関連付けられて所定の格納領域(41,60,70)に格納されていればよい。そうすれば、第1アドレス(A1)へのリードアクセス時、無効判定回路(40)は、対応するECCが無いことを知ることができる。対応するECCが存在しない場合、ECC回路(20)によるエラー検知・訂正機能も無意味である。よって、第1アドレス(A1)へのリードアクセス時、無効判定回路(40)は、無効情報(F1,ADDW)を用いることによって、ECC回路(20)を無効化する無効信号(DIS)を生成する。無効信号(DIS)が生成された場合、第1アドレス(A1)から読み出されるリードデータ(DR)は、ECC回路(20)を通さずに外部に出力される。従って、読み出し動作が全体として高速化される。
本発明に係る半導体記憶装置は、一部書き込みに対応することができる。また、動作速度が全体として高速化される。
添付図面を参照して、本発明に係る半導体記憶装置を説明する。本発明に係る半導体記憶装置は、ECC回路を搭載している。
1.構成及び機能
まず、図1を参照して、本発明の実施の形態に係る半導体記憶装置の構成及び機能を説明する。以下の説明において、データバス幅は32ビットであるとする。
メインセルアレイ10は、メモリ外部から供給されるデータが格納される記憶領域であり、アレイ状に配置された複数のメモリセルを有している。R/Wアンプ12は、アドレス信号ADDで指定されるライトアドレスにライトデータDWを書き込む、あるいは、アドレス信号ADDで指定されるリードアドレスからリードデータDRを読み出す。例えば32ビットのライトデータDWは、アドレスA1で指定されるブロック11a〜11dに書き込まれる。ブロック11a〜11dの各々は、1バイト(8ビット)のデータを格納することができるとする。
ECC回路20は、ECC符号化回路21とECC復号化回路22を有している。ECC符号化回路21は、1つのライトデータDWに対して、1つのECC(パリティ)を算出する。ECCの算出に必要なデータ幅は予め定められている。本例の場合、その所定のデータ幅は“32ビット”であるとする。ECC符号化回路21によって算出されたECCは、後述されるECCセルアレイ30に、ライトアドレスと関連付けられて記憶される。一方、ECC復号化回路22は、リードアドレスから読み出されるリードデータDRに加えて、そのリードアドレスに関連付けられたECCをECCセルアレイ30から受け取る。そして、ECC復号化回路22は、受け取ったECCを用いることによって、リードデータDRにビットエラーが発生しているかどうか検査する。エラーが検出された場合、ECC復号化回路22は、ビットエラーの訂正を行う。エラー検知・訂正処理の後、リードデータDRは、出力データDoutとして外部に出力される。
ECCセルアレイ30は、ECC回路20により算出されたECCが格納される記憶領域である。R/Wアンプ32は、アドレス信号ADDで指定される領域にECCを書き込む、あるいは、その領域からECCを読み出す。例えば、あるライトデータDWが上述のブロック11a〜11dに書き込まれる時、そのライトデータDWに対して算出されたECCは、アドレスA1に対応したブロック31に格納される。また、ブロック11a〜11dからリードデータDRが読み出されるとき、そのブロック31からECCも読み出される。
上述の通り、ECC回路20は、32ビットのライトデータDWから1つのECCを算出するように構成されている。しかしながら、システムの都合上、32ビット未満のライトデータDWしか書き込まれない場合がある。例として、1バイト(8ビット)のデータだけが書き換えられる「バイトライト(Byte Write)」が知られている。例えば画像データのような大きなデータは32ビット単位で書き込まれるが、アプリケーションが使う変数等は、バイトライトで書き換えられる。バイトライトを含め、ライトデータDWのデータ幅が32ビットに満たない場合の書き込みは、以下「一部書き込み」と参照される。
本実施の形態によれば、一部書き込みが行われる場合、ECC機能は止められる。すなわち、一部書き込みが行われる場合、ECC回路20は無効化される。そのため、本実施の形態に係る半導体記憶装置には、ECC回路20を有効にするか無効にするか判定するための回路である判定回路40が設けられている。判定回路40は、コマンド信号CMDに基づいて、ECC回路20を有効にするか無効にするか決定することができる。具体的には、コマンド信号CMDが“一部書き込み”を示していれば、ECC回路20を無効化すればよい。また、一部書き込みが行われる場合、判定回路40は「無効情報」を生成する。この無効情報は、一部書き込みによってECC回路20が無効化されたことを示し、一部書き込みが行われたアドレスに関連するECCが無効になったことを示す。その無効情報を保持するために、判定回路40は無効情報格納領域41を有している。
2.通常書き込み/読み出し
再度図1を参照して、通常の書き込み動作及び読み出し動作を説明する。この場合、メインセルアレイ10に書き込まれるライトデータDWのデータ幅は、所定のビット数(32ビット)を満たしている。コマンド信号CMDが“一部書き込み”を示していないので、判定回路40は、ECC回路20を活性化させるためのイネーブル信号ENBをECC回路20に出力する。イネーブル信号ENBは、ECC回路が有効であることを示す「有効信号」であると言える。このイネーブル信号ENBに応答して、ECC回路20は通常通り動作する。すなわち、ECC符号化回路21が、ライトデータDWに対して1つのECCを算出する。そして、アドレスA1で指定されるブロック11a〜11dにライトデータDWが書き込まれると共に、アドレスA1に関連付けられたブロック31に、算出されたECCが書き込まれる。ECC回路20は無効化されないので、判定回路40は、アドレスA1に関して無効情報を保持する必要はない。
その後同じアドレスA1で指定されるブロック11a〜11dからデータが読み出される場合を考える。判定回路40は、アドレス信号ADDを参照することによって、そのアドレスA1に関する無効情報が存在しないことを検知する。この場合、ECC回路20を無効化する必要はないので、判定回路40はイネーブル信号ENBを生成する。このイネーブル信号ENBに応答して、ECC回路20は通常通り動作する。また、イネーブル信号ENBに応答して、スイッチ50は、アドレスA1から読み出されるリードデータDRをECC復号化回路22に送る。ECC復号化回路22は、そのリードデータDRと共に、ECCセルアレイ30のブロック31から読み出されるECCを受け取る。そして、ECC復号化回路22は、受け取ったECCを用いることによって、リードデータDRに対するエラー検知・訂正処理を行う。エラー検知・訂正処理の後、リードデータDRは、出力データDoutとして外部に出力される。
3.一部書き込み/読み出し
次に、図2を参照して、一部書き込み動作、及びその後の読み出し動作を説明する。例として、1バイトのライトデータDWがアドレスA1で指定されるブロック11aに“バイトライト”される場合を考える。この場合、ライトデータDWのデータ幅は、所定のビット数(32ビット)を満たしていない。よって、そのままでは、ECC回路20はECCを作成することはできない。ここで、所定のビット数を満たすように何らかのデータを補充することによって1つのECCを算出することも考えられるが、本実施の形態によれば、ECC回路20は無効化され、ECCの算出処理はスキップされる。
判定回路40は、“バイトライト”を示すコマンド信号CMDにより、一部書き込みが行われることを検知することができる。この場合、判定回路40は、ECC回路20を無効にするための「無効信号DIS」をECC回路20に出力する。その無効信号DISによって、ECC回路20は無効化され、ECC機能は停止する。つまり、ECC符号化回路21は、ECCの算出処理をスキップし、アドレスA1に関連するECCを新たに算出しない。よって、アドレスA1に対応したブロック31に格納されているECCは新たに更新されず、ライトデータDWだけがブロック11aにバイトライトされる。アドレスA1に対応したECCが更新されないので、そのECCは、もはや何の意味ももたない。読み出し動作時にそのECCを用いるわけにはいかないので、そのECCが無効であることを示す情報を保持しておく必要がある。そのため、判定回路40は、アドレスA1に関連付けられた無効情報を無効情報格納領域41に格納する。
その後同じアドレスA1で指定されるブロック11a〜11dからデータが読み出される場合を考える。判定回路40は、アドレス信号ADDを参照することによって、アドレスA1に関する無効情報が無効情報格納領域41に格納されていることを検知する。これにより、判定回路40は、アドレスA1に関連するECCが既に無効であることを認識する。ECC回路20によるエラー検知・訂正処理は不可能であるので、判定回路40は、無効情報を用いることによって無効信号DISを生成する。
この無効信号DISによって、ECC回路20は無効化される。つまり、ECC回路20は、無効信号DISに応答して、リードデータDRに対するエラー検知・訂正処理をスキップする。この時、無効信号DISに応答して、スイッチ50は、アドレスA1から読み出されるリードデータDRを、そのまま出力データDoutとして外部に出力する。つまり、リードデータDRは、ECC回路20を通さずにそのまま外部に出力される。このスイッチ50は、ECC回路20の一部であると考えてもよい。尚、ECCセルアレイ30のブロック31から無効ECCが読み出されてもよいし、読み出されなくてもよい。
4.判定回路40
以上に説明された処理を実現するための判定回路40として、例えば、次のものが考えられる。
図3に示される判定回路40は、フラグセルアレイ60とコントローラ63を備えている。フラグセルアレイ60は、ECCが有効か無効かを示すフラグが記憶される記憶領域であり、メインセルアレイ10やECCセルアレイ30と同じメモリセルアレイの一部である。フラグには、ECCが有効であることを示す有効フラグF0と、ECCが無効であることを示す無効フラグF1が含まれる。R/Wアンプ62は、アドレス信号ADDに基づいて、フラグセルアレイ60に対するフラグの書き込み及び読み出しを行う。
コントローラ63は、コマンド信号CMDに基づいて、一部書き込みが行われるか否かを判定する。コマンド信号CMDが“一部書き込み”ではなく“通常書き込み”を示す場合、コントローラ63は、イネーブル信号(有効信号)ENBをECC回路20へ出力する。この場合は、ECC回路20によってあるECCが算出され、算出されたECCは、アドレス信号ADDが示すアドレスに関連付けられたブロック31に書き込まれる。それと同時に、アドレス信号ADDが示すアドレスに関連付けられたフラグセル61には、ECCが有効であることを示す有効フラグF0が記録される。有効フラグF0の値は、例えば“0”である。
一方、コマンド信号CMDがバイトライト等“一部書き込み”を示す場合、コントローラ63は、無効信号DISをECC回路20へ出力する。この場合は、ECCは算出されず、ECCの書き込みも行われない。ただ、アドレス信号ADDが示すアドレスに関連付けられたフラグセル61に、ECCが無効であることを示す無効フラグF1が記録される。無効フラグF1の値は、例えば“1”である。この無効フラグF1が上記無効情報に相当し、フラグセルアレイ60が無効情報格納領域41に相当する。
データ読み出し時、R/Wアンプ62は、アドレス信号ADDが示すアドレスに関連付けられたフラグセル61から、フラグを読み出す。読み出されたフラグが有効フラグF0であれば、そのアドレスに対応したECCは有効ということである。よって、その有効フラグF0が、そのまま有効信号ENBとしてECC回路20に送られる。一方、読み出されたフラグが無効フラグF1であれば、そのアドレスに対応したECCは無効ということである。よって、その無効フラグF1が、そのまま無効信号DISとしてECC回路20に送られる。
フラグの書き換えの例が、図4に示されている。まず、通常書き込みによって、メインセルアレイ中のアドレスA1で指定されるブロック11a〜11dにライトデータDa〜Dd(32ビット)が書き込まれ、ECCセルアレイ中のアドレスA1に関連するブロック31にECC(E1:6ビット)が書き込まれ、フラグセルアレイ中のアドレスA1に関連するフラグセル61に有効フラグF0(1ビット)が書き込まれる。
次に、ブロック11aに対してバイトライトが行われるとする。この時、ブロック11aのデータDaが新たなデータDA(8ビット)で書き換えられ、フラグセル61のフラグは有効フラグF0から無効フラグF1に書き換えられる。ECCは算出されないので、E1のままである。ここで、ブロック11a〜11dに格納されているデータDA,Db、Dc、Ddに対するECCは、もはやE1とは異なる値になっているはずである。つまり、アドレスA1に関連するブロック31に記録されているECCは無効である。フラグセル61に記録される無効フラグF1は、そのことを示している。
以上に説明された有効フラグF0あるいは無効フラグF1は、ECCに新たに追加されるビットと考えることもできる。すなわち、図3及び図4に示された例においては、「通常のECC」の代わりに「フラグ付きのECC」が用いられると言える。一部書き込みが行われる場合は、フラグだけが更新されると言える。
また、判定回路40の他の例が図5に示されている。図5に示された判定回路40は、アドレス格納領域70、比較器71、及びコントローラ72を備えている。アドレス格納領域70には、一部書き込みが行われたアドレスが格納される。コントローラ72は、コマンド信号CMDに基づいて、一部書き込みが行われるか否かを判定する。コマンド信号CMDが“一部書き込み”ではなく“通常書き込み”を示す場合、コントローラ72は、イネーブル信号(有効信号)ENBをECC回路20へ出力する。アドレス格納領域70には、何も格納されない。
一方、コマンド信号CMDがバイトライト等“一部書き込み”を示す場合、コントローラ72は、無効信号DISをECC回路20へ出力する。これにより、ECC回路20は無効化される。また、コントローラ72は、ライトアドレス信号ADDWが示すアドレス情報を、アドレス格納領域70に格納する。そのアドレス情報は、ECCが無効であるアドレスそのものを示しており、上記無効情報に相当している。また、アドレス格納領域70が上記無効情報格納領域41に相当している。
データ読み出し時、読み出し対象を示すリードアドレス信号ADDRが比較器71に入力される。比較器71は、リードアドレス信号が示すリードアドレスと、アドレス格納領域70に格納された無効アドレスとの比較を行う。リードアドレスと無効アドレスが一致しない場合、そのリードアドレスに対するECCは有効である。よって、比較器71の出力(例えば“0”)は、そのまま有効信号ENBとして出力される。一方、リードアドレスと無効アドレスが一致する場合、そのリードアドレスに対するECCは無効である。よって、比較器71の出力(例えば“1”)は、そのまま無効信号DISとして出力される。
図5に示された例によれば、メモリ空間の消費が抑えられる。但し、データ読み出し時に、比較器71によるアドレス比較動作が必要となる。しかし、無効信号DISを生成すべきか否かは、リードデータDRがECC回路20に入力されるまでに決定されていればよい。従って、比較器71によるアドレス比較は、R/Wアンプ12(図1参照)によるデータ読み出し動作と並行して実行されればよい。アドレス比較動作による処理時間の遅れは発生しない。
5.効果
以上に説明されたように、本発明によれば、ライトデータDWが所定のビット数を満たさない場合、ECC算出処理は省略される。比較として、一部書き込みの場合にもECCを作成することを考える。例えば、以下に示されるように、所定のビット数を満たすようにデータを補充することによって1つのECCを算出することが考えられる。図4を参照して、バイトライトが行われる場合に、ブロック11a〜11dからデータDa〜Ddが一旦読み出され(ダミーリード処理)、データDaだけが1バイトのライトデータDAで置換される。そして、32ビットのデータ「DA,Db,Dc,Dd」に対して1つのECCが算出される。その後、32ビットのデータ「DA,Db,Dc,Dd」がブロック11a〜11dに書き込まれると共に、算出された新たなECCがブロック31に書き込まれる。このように、ダミーリード処理によって、バイトライト時にも有効なECCを作成することは可能である。
図6には、本発明に係る処理(ECC一時無効化)とダミーリード処理との比較が示されている。いずれの処理においても、通常書き込みには3サイクル要するとする。通常書き込みと異なるバイトライトは、書き込み制御における「割り込み」として扱われる。バイトライト時にダミーリード処理が行われる場合、書き込み時間はそのダミーリード処理の分だけ長くなり、バイトライトには例えば6サイクル要する。一方、本発明によれば、ECC処理は行われないので、通常書き込みと同じ3サイクルで充分である。従って、ダミーリード処理が行われる場合と比較して、メモリ動作が高速になる。つまり、本発明によれば、パフォーマンスが向上する。また、通常動作時とバイトライト時とで書き込みサイクルを変更する必要がない。つまり、書き込みサイクルを、ライトデータDWのデータ幅によらず一定に設定することが可能である。割り込みに対応するための特別なサイクル制御は必要ないため、サイクル制御が簡単になる。
以上に説明されたように、本発明に係る半導体記憶措置によれば、パフォーマンスが向上し、また、サイクルの制御性が向上する。
ECC処理を省略することのメモリ信頼性への影響に関する議論は、次の通りである。一般に、画像データや音声データといった大きなデータは、通常書き込みで処理される(上記例では32ビットごとに処理される)。一方、バイトライトで処理されるデータは、アプリケーションが使う変数等であることが多い。よって、バイトライトが行われるエリアは、通常書き込みが行われるエリアより充分小さいと考えられる。また、信頼性が劣化した劣化セルは、例えば256MBのうち数ビットであると言われている。そのため、バイトライトが行われるエリアに劣化セルが含まれる確率は、非常に小さいと考えられる。よって、確率論の観点から言えば、バイトライト時にECC処理が省略されても、実効的にはメモリ信頼性は低下しないと考えられる。
また、バイトライトが行われるエリアは小さいものの、アプリケーションが使う変数等は、システム上重要な変数であり頻繁に書き換えられる。これは、バイトライトによる割り込みが頻繁に発生することを意味する。割り込みが頻繁に発生するからこそ、本発明による効果、すなわちパフォーマンス及びサイクル制御性の向上が顕著となる(図6参照)。バイトライトが行われるエリアが小さいが、バイトライトが頻繁に実行される場合に、ECC処理を省略することのメリットは大きいと言える。
図1は、本発明の実施の形態において有効信号ENBが生成される場合の半導体記憶装置の状態を示すブロック図である。 図2は、本発明の実施の形態において無効信号DISが生成される場合の半導体記憶装置の状態を示すブロック図である。 図3は、本実施の形態に係る判定回路の一例を示すブロック図である。 図4は、一部書き込みの一例を示す概念図である。 図5は、本実施の形態に係る判定回路の他の例を示すブロック図である。 図6は、本発明による効果を説明するためのタイミングチャートである。
符号の説明
10 メインセルアレイ
12 R/Wアンプ
20 ECC回路
21 ECC符号化回路
22 ECC復号化回路
30 ECCセルアレイ
32 R/Wアンプ
40 判定回路
41 無効情報格納領域
50 スイッチ
60 フラグセルアレイ
61 フラグセル
62 R/Wアンプ
63 コントローラ
70 アドレス格納領域
71 比較器
72 コントローラ
DW ライトデータ
DR リードデータ
Dout 出力データ
ENB 有効信号
DIS 無効信号

Claims (11)

  1. メモリセルアレイと、
    前記メモリセルアレイに書き込まれるライトデータに対してECC(Error Correction Code)を算出するECC回路と、
    前記ライトデータのデータ幅が所定のデータ幅に満たない場合、前記ECC回路を無効化する無効判定回路と
    を備える
    半導体記憶装置。
  2. 請求項1に記載の半導体記憶装置であって、
    前記所定のデータ幅は、前記ECC回路による前記ECCの算出に必要なデータ幅である
    半導体記憶装置。
  3. 請求項1又は2に記載の半導体記憶装置であって、
    前記ECC回路は、無効化された場合、前記ECCの算出をスキップする
    半導体記憶装置。
  4. 請求項1乃至3のいずれかに記載の半導体記憶装置であって、
    データ幅が前記所定のデータ幅に満たない前記ライトデータは、前記メモリセルアレイ中の第1アドレスに書き込まれ、
    前記無効判定回路は、前記第1アドレスに関連付けられた無効情報を保持する
    半導体記憶装置。
  5. 請求項4に記載の半導体記憶装置であって、
    前記第1アドレスへのリードアクセス時、
    前記無効判定回路は、前記無効情報を用いることによって、前記ECC回路を無効化する無効信号を前記ECC回路に出力する
    半導体記憶装置。
  6. 請求項5に記載の半導体記憶装置であって、
    前記ECC回路は、前記無効信号に応答して、前記第1アドレスから読み出されるリードデータに対するエラー検知・訂正処理をスキップする
    半導体記憶装置。
  7. 請求項5又は6に記載の半導体記憶装置であって、
    前記第1アドレスから読み出されるリードデータは、前記ECC回路を通さずに外部に出力される
    半導体記憶装置。
  8. 請求項5乃至7のいずれかに記載の半導体記憶装置であって、
    前記無効判定回路は、前記ECCが有効か無効かを示すフラグを記憶するフラグセルアレイを有し、
    前記ライトデータのデータ幅が前記所定のデータ幅に満たない場合、前記無効判定回路は、無効フラグを前記無効情報として前記フラグセルアレイに記録し、
    前記第1アドレスへのリードアクセス時、前記無効判定回路は、前記無効フラグを前記フラグセルアレイから読み出し、前記読み出された無効フラグを前記無効信号として出力する
    半導体記憶装置。
  9. 請求項5乃至7のいずれかに記載の半導体記憶装置であって、
    前記無効判定回路は、
    前記第1アドレスを示すアドレス情報が前記無効情報として格納されるアドレス格納領域と、
    前記アドレス情報が示す前記第1アドレスと読み出し対象アドレスとの比較を行う比較器と
    を有し、
    前記読み出し対象アドレスと前記第1アドレスが一致する場合に、前記比較器は、前記無効信号を生成する
    半導体記憶装置。
  10. 請求項9に記載の半導体記憶装置であって、
    前記読み出し対象アドレスに格納されたデータを前記メモリセルアレイから読み出す読み出し回路を更に備え、
    前記比較器は、前記読み出し回路の動作と並行して、前記比較を実行する
    半導体記憶装置。
  11. 請求項1乃至10のいずれかに記載の半導体記憶装置であって、
    前記ライトデータの書き込みに要するサイクルは、前記ライトデータのデータ幅によらず一定である
    半導体記憶装置。
JP2005327011A 2005-11-11 2005-11-11 半導体記憶装置 Pending JP2007133986A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005327011A JP2007133986A (ja) 2005-11-11 2005-11-11 半導体記憶装置
US11/593,012 US7810016B2 (en) 2005-11-11 2006-11-06 Semiconductor storage device equipped with ECC function
CNA2006101446528A CN1963950A (zh) 2005-11-11 2006-11-10 具有ecc功能的半导体存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005327011A JP2007133986A (ja) 2005-11-11 2005-11-11 半導体記憶装置

Publications (1)

Publication Number Publication Date
JP2007133986A true JP2007133986A (ja) 2007-05-31

Family

ID=38042369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005327011A Pending JP2007133986A (ja) 2005-11-11 2005-11-11 半導体記憶装置

Country Status (3)

Country Link
US (1) US7810016B2 (ja)
JP (1) JP2007133986A (ja)
CN (1) CN1963950A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010287305A (ja) * 2009-06-10 2010-12-24 Numonyx Bv 多値レベルメモリデバイスにおける増大した記憶容量のための誤り訂正符号
JP2011154551A (ja) * 2010-01-27 2011-08-11 Yokogawa Electric Corp 誤り検出訂正装置及び方法並びにメモリ装置

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4901334B2 (ja) * 2006-06-30 2012-03-21 株式会社東芝 メモリコントローラ
JP2010092306A (ja) * 2008-10-08 2010-04-22 Nec Electronics Corp データ処理装置
US8458572B1 (en) * 2009-11-24 2013-06-04 Apple Inc. Efficient storage of error correction information in DRAM
US8560892B2 (en) 2010-12-14 2013-10-15 Medtronic, Inc. Memory with selectively writable error correction codes and validity bits
US9251882B2 (en) 2011-09-16 2016-02-02 Avalanche Technology, Inc. Magnetic random access memory with dynamic random access memory (DRAM)-like interface
US8751905B2 (en) 2011-09-16 2014-06-10 Avalanche Technology, Inc. Memory with on-chip error correction
US9658780B2 (en) 2011-09-16 2017-05-23 Avalanche Technology, Inc. Magnetic random access memory with dynamic random access memory (DRAM)-like interface
CN103279401B (zh) * 2013-05-31 2016-01-27 华为技术有限公司 一种访问存储器的方法及装置
GB2516831B (en) 2013-07-31 2020-10-21 Advanced Risc Mach Ltd Error code management in systems permitting partial writes
US10108512B2 (en) * 2016-04-01 2018-10-23 Intel Corporation Validation of memory on-die error correction code
KR102453542B1 (ko) * 2018-02-21 2022-10-12 삼성전자주식회사 스킵 연산 모드를 지원하는 메모리 장치 및 그 동작 방법
JP7184632B2 (ja) * 2018-12-25 2022-12-06 ルネサスエレクトロニクス株式会社 半導体装置
CN109960605A (zh) * 2019-04-01 2019-07-02 江苏华存电子科技有限公司 一种支持部分写的ecc内存及数据部分写入的方法
KR102670661B1 (ko) * 2019-06-19 2024-05-31 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
CN113495674B (zh) 2020-04-01 2023-10-10 长鑫存储技术有限公司 读写方法及存储器装置
EP3936996A4 (en) 2020-04-01 2022-07-06 Changxin Memory Technologies, Inc. READ-WRITE METHOD AND STORAGE DEVICE
EP3985494B1 (en) 2020-04-01 2024-01-17 Changxin Memory Technologies, Inc. Read-write method and memory device
CN113495671B (zh) * 2020-04-01 2023-10-17 长鑫存储技术有限公司 读写方法及存储器装置
EP3964940A4 (en) 2020-04-01 2022-08-17 Changxin Memory Technologies, Inc. READ/WRITE METHOD AND STORAGE DEVICE
CN113495672B (zh) 2020-04-01 2023-08-11 长鑫存储技术有限公司 读写方法及存储器装置
CN112466380B (zh) * 2020-12-11 2023-08-11 西安紫光国芯半导体有限公司 存储器及其存储方法

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58222495A (ja) * 1982-06-18 1983-12-24 Nec Corp 記憶装置
JPS61199141A (ja) * 1985-03-01 1986-09-03 Hitachi Ltd 記憶装置
JPS62214599A (ja) * 1986-03-14 1987-09-21 Fujitsu Ltd 半導体記憶装置
JPS63231553A (ja) * 1987-03-19 1988-09-27 Nec Corp 部分書込み方式
JPH01239656A (ja) * 1988-03-18 1989-09-25 Nec Corp 自己訂正機能付きlsiメモリ
JPH01273154A (ja) * 1988-04-25 1989-11-01 Mitsubishi Electric Corp Ecc回路付記憶装置
JPH01290200A (ja) * 1988-05-16 1989-11-22 Nec Corp 自己訂正機能付きlsiメモリ
JPH05241974A (ja) * 1992-02-05 1993-09-21 Nec Corp 記憶装置
JPH087995B2 (ja) * 1985-08-16 1996-01-29 富士通株式会社 ダイナミツク半導体記憶装置のリフレツシユ方法および装置
JPH11110997A (ja) * 1997-09-30 1999-04-23 Fujitsu Ltd 半導体記憶装置
JP2000149592A (ja) * 1998-11-11 2000-05-30 Nec Ic Microcomput Syst Ltd 不良救済用メモリセル及びそれを用いた記憶装置
JP2003085996A (ja) * 2001-07-04 2003-03-20 Hitachi Ltd 半導体装置
WO2007088597A1 (ja) * 2006-01-31 2007-08-09 Fujitsu Limited エラー訂正コード生成方法及びメモリ管理装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997043835A1 (en) * 1996-05-15 1997-11-20 Seagate Technology, Inc. Read error recovery utilizing ecc and read channel quality indicators
JP3184129B2 (ja) 1997-09-29 2001-07-09 甲府日本電気株式会社 記憶装置
US6044483A (en) * 1998-01-29 2000-03-28 International Business Machines Corporation Error propagation operating mode for error correcting code retrofit apparatus
JP4105819B2 (ja) * 1999-04-26 2008-06-25 株式会社ルネサステクノロジ 記憶装置およびメモリカード
US20010042230A1 (en) * 2000-05-10 2001-11-15 Seagate Technology Llc Sector validation for use in ECC engine validation
JP3921031B2 (ja) * 2000-05-12 2007-05-30 富士通株式会社 記憶装置
TW519663B (en) * 2001-05-15 2003-02-01 Via Tech Inc Memory control device and method
US20030182611A1 (en) * 2002-03-19 2003-09-25 Chung-Che Wu Method for verifying error correction code function of a computer system
JP4550439B2 (ja) * 2003-02-28 2010-09-22 東芝メモリシステムズ株式会社 Ecc制御装置
JP3892832B2 (ja) * 2003-08-11 2007-03-14 株式会社東芝 半導体記憶装置
TWI254848B (en) * 2004-11-16 2006-05-11 Via Tech Inc Method and related apparatus for performing error checking-correcting

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58222495A (ja) * 1982-06-18 1983-12-24 Nec Corp 記憶装置
JPS61199141A (ja) * 1985-03-01 1986-09-03 Hitachi Ltd 記憶装置
JPH087995B2 (ja) * 1985-08-16 1996-01-29 富士通株式会社 ダイナミツク半導体記憶装置のリフレツシユ方法および装置
JPS62214599A (ja) * 1986-03-14 1987-09-21 Fujitsu Ltd 半導体記憶装置
JPS63231553A (ja) * 1987-03-19 1988-09-27 Nec Corp 部分書込み方式
JPH01239656A (ja) * 1988-03-18 1989-09-25 Nec Corp 自己訂正機能付きlsiメモリ
JPH01273154A (ja) * 1988-04-25 1989-11-01 Mitsubishi Electric Corp Ecc回路付記憶装置
JPH01290200A (ja) * 1988-05-16 1989-11-22 Nec Corp 自己訂正機能付きlsiメモリ
JPH05241974A (ja) * 1992-02-05 1993-09-21 Nec Corp 記憶装置
JPH11110997A (ja) * 1997-09-30 1999-04-23 Fujitsu Ltd 半導体記憶装置
JP2000149592A (ja) * 1998-11-11 2000-05-30 Nec Ic Microcomput Syst Ltd 不良救済用メモリセル及びそれを用いた記憶装置
JP2003085996A (ja) * 2001-07-04 2003-03-20 Hitachi Ltd 半導体装置
WO2007088597A1 (ja) * 2006-01-31 2007-08-09 Fujitsu Limited エラー訂正コード生成方法及びメモリ管理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010287305A (ja) * 2009-06-10 2010-12-24 Numonyx Bv 多値レベルメモリデバイスにおける増大した記憶容量のための誤り訂正符号
JP2011154551A (ja) * 2010-01-27 2011-08-11 Yokogawa Electric Corp 誤り検出訂正装置及び方法並びにメモリ装置

Also Published As

Publication number Publication date
CN1963950A (zh) 2007-05-16
US20070113155A1 (en) 2007-05-17
US7810016B2 (en) 2010-10-05

Similar Documents

Publication Publication Date Title
US7810016B2 (en) Semiconductor storage device equipped with ECC function
JP5202130B2 (ja) キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法
JP4332205B2 (ja) キャッシュ制御装置およびキャッシュ制御方法
US9003247B2 (en) Remapping data with pointer
JP5010271B2 (ja) エラー訂正コード生成方法、およびメモリ制御装置
US8140940B2 (en) Method and apparatus for controlling memory
US20180157428A1 (en) Data protection of flash storage devices during power loss
JP2006190425A (ja) 半導体記憶装置
KR20020029925A (ko) 디지털 데이터의 소프트 에러를 정정하는 방법 및 장치
CN113574508A (zh) 具有改进有效数据带宽性能的推迟错误代码校正
US7613982B2 (en) Data processing apparatus and method for flash memory
US8245110B2 (en) Error correcting code generation method and memory control apparatus
JPH086862A (ja) 記憶媒体に記憶されたデータの保全を向上させるための方法及び関連するシステム
CN103593252B (zh) 具有动态错误侦测及更正的存储器
JP4102313B2 (ja) 半導体集積回路装置
JP2011257966A (ja) キャッシュ装置及び情報処理装置
US11221789B2 (en) Semiconductor device, memory controller, and memory accessing method
JP2008310896A (ja) 不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法
JP2016122338A (ja) エラー訂正装置
JP5087970B2 (ja) 情報処理装置および情報処理方法
TWI482014B (zh) 具有動態錯誤偵測及更正的記憶體
JP5446931B2 (ja) 誤り検出訂正装置及びメモリ装置
JP2011054221A (ja) 記憶装置及び電子機器
JP2009116978A (ja) 半導体記憶装置
JPH1011284A (ja) 制御記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101102

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101119