JP3935151B2 - 半導体集積回路装置 - Google Patents

半導体集積回路装置 Download PDF

Info

Publication number
JP3935151B2
JP3935151B2 JP2004017333A JP2004017333A JP3935151B2 JP 3935151 B2 JP3935151 B2 JP 3935151B2 JP 2004017333 A JP2004017333 A JP 2004017333A JP 2004017333 A JP2004017333 A JP 2004017333A JP 3935151 B2 JP3935151 B2 JP 3935151B2
Authority
JP
Japan
Prior art keywords
data
line
memory cell
bit
word line
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.)
Expired - Fee Related
Application number
JP2004017333A
Other languages
English (en)
Other versions
JP2005209316A (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 JP2004017333A priority Critical patent/JP3935151B2/ja
Priority to US10/870,959 priority patent/US7331011B2/en
Priority to TW094100136A priority patent/TWI260022B/zh
Publication of JP2005209316A publication Critical patent/JP2005209316A/ja
Application granted granted Critical
Publication of JP3935151B2 publication Critical patent/JP3935151B2/ja
Priority to US11/779,352 priority patent/US7949933B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • 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/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/104Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Description

本発明は、半導体集積回路装置に関し、特に、誤り検出・訂正回路(Error Correcting Circuit: ECC)付の半導体集積回路装置に関する。
近時、半導体メモリ、例えば、ダイナミック型ランダムアクセスメモリ(DRAM)において、誤り訂正符号、例えば、ハミング符号を利用した誤り検出・訂正回路(Error Correcting Circuit: ECC)付半導体メモリが普及しつつある。
ECC機能付半導体メモリは、例えば、ライト動作の際、ライトデータからパリティビットを生成し、ライトデータは、情報ビットとしてメモリセルに書き込むとともに、パリティビットについてもメモリセルに書き込む。
リード動作の際には、メモリセルから情報ビットとともに、パリティビットを読み出し、読み出した情報ビット及びパリティビットからシンドローム信号を発生させる。シンドローム信号は誤り検出回路に入力され、誤り検出回路は、シンドローム信号に基づいて情報ビットに誤りが有るか否かを検出する。誤りが検出された場合には、誤り訂正回路において、情報ビットの誤りを、誤り検出回路の出力に基づいて訂正する。訂正後、情報ビットをリードデータとして出力する。
しかし、初期状態のメモリセルから読み出したデータ、例えば、電源投入時(もしくは電源投入直後)にメモリセルから読み出したデータは、情報ビット及びパリティビットの双方ともが正しい符合語になっている、とは限らない。例えば、ダイナミック型RAMでは、電源切断後、メモリセルに蓄えられた電荷は放電されてしまうので、電源切断後には、全てのメモリセルのデータが“電荷無し”のデータ、例えば、データ“0”に対応したものになる可能性が高い。電源投入時にメモリセルから読み出したデータが、全てデータ“0”(もしくは全てデータ“1”)である場合、情報ビット及びパリティビットの双方ともが正しい符号語になっている、とは限らない。この結果、正しい情報ビットが誤ったパリティビットに基づいて訂正されてしまう、といった不具合を生ずる可能性がある。
なお、ECC付半導体メモリの公知例としては、例えば、特許文献1〜8がある。
特許番号 登録第2642094号公報 特公平6−85280号公報 特開平5−217398号公報 特開平1−183000号公報 特開2003−85996号公報 特開平8−195099号公報 特開平7−220495号公報 米国特許第6,490,703号明細書
この発明は上記事情に鑑み為されたもので、その目的は、初期状態のメモリセルからデータを読み出しても、誤り訂正を正しく実行することが可能な半導体集積回路装置を提供することにある。
上記目的を達成するために、この発明の一態様に係る半導体集積回路装置は、アドレスに基づいて選択される第1、第2ワード線と、情報ビット用相補ビット線対と、パリティビット用相補ビット線対と、前記第1ワード線と、前記情報ビット用相補ビット線対の一方とに、結合された第1メモリセルと、前記第1ワード線と、前記パリティビット用相補ビット線対の一方とに、結合された第2メモリセルと、前記第2ワード線と、前記情報ビット用相補ビット線対の他方とに、結合された第3メモリセルと、前記第2ワード線と、前記パリティビット用相補ビット線対の他方とに、結合された第4メモリセルと、前記情報ビット用相補ビット線対を情報ビット用データ線対に接続し、前記パリティビット用相補ビット線対をパリティビット用データ線対に接続するカラムスイッチ群と、前記パリティビット用データ線対の一方に接続された論理補正回路とを具備し、前記論理補正回路は、前記アドレスに基づいて、データのリード動作時に前記パリティビット用データ線から読み出されたデータの論理を反転させ、データのライト動作時に前記パリティビット用データ線に書き込むデータの論理を反転させるパリティビット書き換え動作を実行することを特徴とする。
この発明によれば、初期状態のメモリセルからデータを読み出しても、誤り訂正を正しく実行することが可能な半導体集積回路装置を提供できる。
以下、この発明の実施形態のいくつかを、図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
(第1実施形態)
図1は、この発明の第1実施形態に係る半導体集積回路装置の、メモリセルとDQ線との接続関係の一例を示す回路図である。
図1に示すように、メモリセル1は、ワード線WLとビット線BLとの交点に配置される。より詳しくは、ワード線WL0、WL3には、ビット線BLtに接続されるメモリセル1が接続され、ワード線WL1、WL2には、ビット線BLcに接続されるメモリセル1が接続される。本例では、ワード線WLは4本しか示していないが何本でも良い。4本のワード線WLは、メモリセルアレイに対して与えられるアドレス信号のうち、ロウを指定するアドレス、例えば、ロウアドレスRA0、RA1で指定される。
カラムは、相補ビット線対BLt、BLcと、ビット線BLtとBLcとの間に接続されたセンスアンプSAとを含む。カラムは、カラムスイッチ3を介して、相補リード/ライトデータ線対DQt、DQcに接続される。本明細書では、リード/ライトデータ線をDQ線と略す。カラム選択線CSLは、カラムスイッチ3のゲートに接続される。本例では、カラム選択線CSLは4本しか示していないが何本でも良い。カラム選択線CSLは、メモリセルアレイに対して与えられるアドレス信号のうち、カラムを指定するアドレス、例えば、カラムアドレス(図示せず)で指定される。
(リード動作)
リードの際、選択されたワード線WLの電位が、例えば、“L”レベルから“H”レベルとなり、メモリセル1にストアされていたデータがビット線対BLt、BLcに読み出される。読み出しデータは、センスアンプSAによって増幅される。次いで、選択されたカラム選択線CSLの電位が、例えば、“L”レベルから“H”レベルとなり、カラムスイッチ3が導通し、読み出しデータはDQ線対DQt、DQcに伝えられる。この後、特に、図示しないが、読み出しデータは、例えば、DQ線センスアンプ(リードデータ線バッファ)、データバス線、及び入力/出力回路を介して、入力/出力端子に伝えられる。読み出しデータは入力/出力端子から出力される。
(ライト動作)
ライトの際、入力/出力端子に入力された書き込みデータが、特に、図示しないが、入力/出力回路、データバス線を介して、ライトデータ線バッファに伝えられる。ライトデータ線バッファは、DQ線対DQt、DQcをドライブし、DQ線対DQt、DQcの電位を、書き込みデータの論理に応じて、“0、1”、もしくは“1、0”とする。次いで、選択されたカラム選択線CSLの電位が、例えば、“L”レベルから“H”レベルとなり、カラムスイッチ3が導通し、書き込みデータがビット線対BLt、BLcに伝えられる。次いで、選択されたワード線WLの電位が、例えば、“L”レベルから“H”レベルとなって、書き込みデータはメモリセル1にストアされる。
次に、初期状態のメモリセルからデータを読み出したとき、誤り訂正が正しく実行されなくなる例を説明する。本例において、誤り訂正符合は、(15、11、3)-ハミング符号を縮小した(8、4、3)-ハミング符号を使用し、簡略化して説明する。ちなみに、(n、k、d)-符号は、符号長n、情報長k、最小距離dの符号を意味する。実際の誤り訂正符号を用いた説明では、煩雑になるためである。実際には、どのような誤り訂正符号が用いられても良い。本例で使用する誤り訂正符号の生成符号G1を、数1に示す。
Figure 0003935151
図2は、ワード線WL0が選択された時の、DQ線DQtに伝わる読み出しデータを示す図である。
例えば、ダイナミック型ランダムアクセスメモリ(DRAM)においては、電源投入時メモリセル1に蓄えられた電荷は、全て放電されてしまっており、ほとんどのケースについて、例えば、データ“0”(これはデータ“1”と読み替えても良い)が書き込まれた状態、と考えて良い。
本明細書では、電源投入時のように、メモリセル1の全てに対して、例えば、“電荷無し”に対応するデータが書き込まれた状態を、初期状態と呼ぶ。ただし、初期状態は、電源投入時のみに限るものでは無く、例えば、データをオールクリアした際のように、メモリセル1の全てに対して、データ“0”、もしくはデータ“1”のいずれかが書き込まれた状態も含む、と定義する。
初期状態において、ワード線WL0を選択し、データを読み出すと、情報ビットに対応するDQ線DQt<0:3>、及びパリティビットに対応するDQ線PDQt<0:3>の全てに対して、メモリセル1の状態と同じ、データ“0”が現れる(図2)。特に、パリティビットは、“0000”であり、これは、正しい符号語である。
なお、本例では、DQ線対DQt、DQcのうち、“真(true(t))”のみ示している。ワード線WL0を選択した場合、“相補(complementary(c))”には、反対のデータ“1”が現れる。
図3は、図2に示すメモリセル配置で、ワード線WL1が選択された時の、DQ線DQtに伝わる読み出しデータを示す図である。
図3に示すように、全てのメモリセル1に対して、“電荷無し”に対応したデータ、例えば、データ“0”が書き込まれている、と仮定すると、ビット線BLcに接続されるメモリセル1を選択するワード線WL1が選択された場合には、情報ビットに対応するDQ線DQt<0:3>の全て、及びパリティビットに対応するDQ線PDQt<0:3>の全てに対して、メモリセル1の状態とは反対のデータ“1”が現れる。この際、パリティビットは、“1111”となるが、これは、誤った符号語である。数1に示した生成行列G1を使用する場合、情報ビットが“1111”のときの正しい符号語は“1110”である。
この例からも分かるように、パリティビットが誤っている場合には、情報ビット“1111”は、正しいにも関わらず、誤り訂正機能が働いて書き換えられてしまう。正しい情報ビットが書き換えられてしまう結果、読み出されたデータは誤ったデータになってしまう。
図4は、この発明の第1実施形態に係る半導体集積回路装置の、DQ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図である。
図4に示すように、メモリセル1の配置は、図1に示す通りである。生成行列G1は、参考例と同じく生成行列G1を使用する。第1実施形態が図1に示す参考例に対して、特に、異なるところは、論理補正回路9が、リードデータ線バッファ(R)5とパリティビットに対応するリードデータ線PRD3との間、並びにパリティビットに対応するライトデータ線PWD3とライトデータ線バッファ(W)7との間に設けられていることにある。
リードデータ線バッファ5は、センスアンプ3にて増幅されたメモリセル1からの読み出しデータを増幅して、後段の配線、例えば、リードデータ線RD、PRDをドライブする。
ライトデータ線バッファ7は、ライトデータ線WD、PWDに入力されたライトデータを増幅して、DQ線DQ、PDQをドライブする。
論理補正回路9は、ロウアドレスRA0、RA1の論理に基づいて、パリティビットに対応するリードデータ線PRDへの出力論理を調整、例えば、出力論理を反転させるとともに、パリティビットに対応するライトデータ線PWDからの入力論理を調整、例えば、論理を反転させる。
数1に示した生成行列G1を用いたとき、ビット線BLcに接続されるメモリセル1を選択するワード線が選択された場合には、パリティビットが誤った符合語になる。例えば、図4に示すように、ビット線BLcに接続されるメモリセル1を選択するワード線は、“WL1”、“WL2”である。ワード線WL1、WL2を選択する際のロウアドレスRA0、RA1に注目すると、ワード線WL0、WL3を選択する際のロウアドレスRA0、RA1は“一致”であるのに対し、ワード線WL1、WL2を選択する際のロウアドレスRA0、RA1は“不一致”である。論理補正回路9は、ワード線WL1、WL2を選択する際のロウアドレスRA<0:1>の論理関係に基づき、ロウアドレスRA0、RA1が“不一致”のとき、パリティビットに対応するリードデータ線PRD3への出力論理を反転させる。さらに、パリティビットに対応するライトデータ線PWD3からの入力論理を反転させ、ライトデータ線バッファ7に入力する。
即ち、論理補正回路9は、初期状態のメモリセル1のうち、ビット線BLcに接続されるメモリセル1からパリティビットを読み出したとき、その符合語“1111”を、正しい符合語“1110”に書き換える。これにより、正しい情報ビット“1111”が、誤った符合語に基づいて誤り訂正機能が働き、書き換えられてしまう、という事情を解消できる。
また、論理補正回路9は、例えば、“ライトデータの入力/リードデータの出力”を繰り返す通常の動作におけるリード動作の際、パリティビットに対応するライトデータ線PWD3から与えられた正しい符号語を書き換えてしまう。論理補正回路9が、パリティビットに対応するリードデータ線PRD3への出力論理を反転させるためである。
そこで、本例の論理補正回路9は、パリティビットに対応するライトデータ線PWD3から与えられる正しい符合語、即ち受信語については、入力論理を予め反転させてメモリセル1に書き込む。これにより、パリティビットに対応するライトデータ線PWD3から与えられ、メモリセル1に書き込まれる受信語と、このメモリセル1から読み出され、パリティビットに対応するリードデータ線PRD3に出力される符合語とは一致する。
このように、論理補正回路9は、例えば、外部から与えられたライトデータから生成した正しい符合語を書き換えてしまう、という事情も解消できる。
以上、第1の実施形態に係る半導体集積回路装置によれば、論理補正回路9において、例えば、外部から与えられたライトデータに依存せず、メモリセル1の状態にのみ依存するデータの読み出し、即ち、初期状態のメモリセル1からのデータ読み出しに際し、誤りとなってしまう符合語を、正しい符号語に書き換える。従って、初期状態のメモリセル1からのデータ読み出しにおいて、誤り訂正を正しく実行できる。
さらに、論理補正回路9は、ライトデータ線PWDから与えられた受信語を反転させてメモリセル1に書き込む。従って、初期状態のメモリセル1からデータ読み出した際のみならず、例えば、ライトデータの入力/リードデータの出力を繰り返す通常の動作の間においても、誤り訂正を正しく実行できる。
図5は、この発明の第1実施形態の参考例に係る半導体集積回路装置を示す回路図である。図5に示す参考例は、生成行列Gを適切に選べば、誤り訂正が起こらない、という例である。参考例における生成行列G2を、数2に示す。
Figure 0003935151
図5に示す装置においても、初期状態のメモリセルからデータを読み出すと、例えば、情報ビットは“1111”となり、パリティビットも“1111”となることがある。しかし、数2に示す生成行列G2では、情報ビット“1111”のとき、パリティビットの正しい符合語は“1111”であるので、誤り訂正は起こらない。
しかしながら、半導体集積回路装置では、例えば、回路設計の制約があり、数2に示す適切な生成行列を選ぶことができない場合もある。本第1実施形態は、例えば、数2に示す適切な生成行列を選ぶことができなかった場合に、特に、有効である。
(第2実施形態)
図6は、この発明の第2実施形態に係る半導体集積回路装置の、メモリセルとDQ線との接続関係の一例を示す回路図である。
図6に示すように、第2実施形態に係る装置のメモリセルの配置は、第1実施形態に係る装置と同様である。第2実施形態が、第1実施形態に対して、特に、異なるところは、拡大ハミング符号を使用することである。拡大ハミング符号を使用することで、パリティビットは、1ビット追加される。本例では、第1実施形態に対して、パリティビットに対応するDQ線PDQt4が追加されている。
本例で使用する拡大ハミング符号は、(9、4、4)-拡大ハミング符号である。(9、4、4)-拡大ハミング符号は、(16、11、4)-拡大ハミング符号を縮小したものであり、その生成行列G3を、数3に示す。
Figure 0003935151
図6に示す装置においては、情報ビットが“1111”のときに、パリティビットが“11111”になると、符合語が誤りとなる。このため、誤り訂正機能による書き換えが発生する。数3に示す生成行列G3を使用する場合、情報ビットが“1111”のときの正しい符合語は“11110”である。
図7は、拡大ハミング符号を使用した場合の不都合を説明するための図である。
図7に示すように、拡大ハミング符号は、ハミング符号に1ビットのパリティを追加して作られる。本例では、生成行列として、数3に示した生成行列G3を使用しているが、行成分のパリティは、破線枠Aに示すように、偶数(even)になる。このような制約のもとでは、情報ビットが“全て1”のときに、破線枠Bに示すように、パリティビットの列成分のパリティが“全て1(奇数:odd)”となるような符号を作ることは不可能である。本例では、第5列目のパリティが偶数(even)である。図8に、拡大ハミング符号を使用する別の例を示す。図8に示す例も、(9、4、4)-拡大ハミング符号を使用する例である。その生成行列G4を、数4に示す。
Figure 0003935151
図8に示すように、生成行列G4を使用する場合についても、行成分のパリティは、破線枠Aに示すように、偶数(even)であり、本例では、第3列目、第4列目、及び第5列目のパリティが、それぞれ偶数(even)である。
図7及び図8に示すように、拡張ハミング符号を使用する場合には、情報ビットが“全て1”のとき、正しいパリティビットの符合語も“全て1”という、生成行列を作成することはできない。一般に、誤り訂正符号は、例えば、回路の動作スピード、回路の面積、及び訂正能力等の様々な条件の兼ね合いに基づき選ばれるので、複雑な制約が存在する。図7及び図8に示す拡大ハミング符号を選ばなければならない状況も、もちろんある。
図9は、この発明の第2実施形態に係る半導体集積回路装置の、DQ線、リードデータ線及びライトデータ線の接続関係の第1例を示す回路図である。
図9に示す例は、数3に示す生成行列G3を使用する。本例における論理補正回路9は、リードデータ線バッファ(R)5とパリティビットに対応するリードデータ線PRD4との間、並びにパリティビットに対応するライトデータ線PWD4とライトデータ線バッファ(W)7との間に設けられている。
論理補正回路9は、ロウアドレスRA0、RA1が“不一致”のとき、パリティビットに対応するリードデータ線PRD4への出力論理を反転させる。また、パリティビットに対応するライトデータ線PWD4の入力論理を反転させ、ライトデータ線バッファ7に入力する。
このように、第2実施形態においても、第1実施形態と同様に、初期状態のメモリセルのうち、ビット線BLcに接続されるメモリセル1からパリティビットを読み出したとき、その符合語“11111”は、論理補正回路9によって正しい符合語“11110”に書き換えることができ、初期状態のメモリセルからデータを読み出しても、誤り訂正を正しく実行できる。また、例えば、ライトデータの入力/リードデータの出力を繰り返す通常の動作の間においても、誤り訂正を正しく実行できる。
図10は、生成行列G4を用い、ワード線WL1が選択された時の、DQ線DQtに伝わる読み出しデータを示す図である。
図10に示す例において使用する拡大ハミング符号は、(9、4、4)-拡大ハミング符号であり、その生成行列は、数4に示す生成行列G4である。
本例においても、図6に示す例と同様に、情報ビットが“1111”のときにパリティビットが“11111”になると、符合語が誤りとなる。数4に示す生成行列G4を使用する場合、情報ビットが“1111”のときの正しい符合語は“11000”である。
図11は、この発明の第2実施形態に係る半導体集積回路装置の、DQ線、リードデータ線及びライトデータ線の接続関係の第2例を示す回路図である。
図11に示す例は、数4に示す生成行列G4を使用する。図11に示す例が、図9に示す例と異なるところは、論理補正回路9が、ロウアドレスRA0、RA1が“不一致”のとき、パリティビットに対応するリードデータ線PRD2、PRD3、及びPRD4への出力論理をそれぞれ反転させることである。また、パリティビットに対応するライトデータ線PWD2、PWD3、及びPWD4からの出力論理を反転させ、ライトデータ線バッファ7に入力することである。
本例においても、初期状態のメモリセルのうち、ビット線BLcに接続されるメモリセル1からパリティビットを読み出したとき、その符合語“11111”は、論理補正回路9によって正しい符合語“11000”に書き換えることができる。また、例えば、ライトデータの入力/リードデータの出力を繰り返す通常の動作の間においても、誤り訂正を正しく実行することができる。
(第3実施形態)
図12は、この発明の第3実施形態に係る半導体集積回路装置の、メモリセルとDQ線との接続関係の一例を示す回路図である。図13は、この発明の第3実施形態に係る半導体集積回路装置の、DQ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図である。なお、第3実施形態は、数3に示す生成行列G3を使用する。
図12及び図13に示すように、第3実施形態が、第2実施形態に対して、特に、異なるところは、ビット線BLの配置である。第3実施形態に係る半導体集積回路装置のビット線BLは、捩れビット線(twisted bit-line)である。
第3実施形態における論理補正回路9は、捩れビット線にも対応できるように、ロウアドレスRA<0:2>の論理関係、及びカラムアドレスCA<0:1>の論理関係に基づき、パリティビットに対応するリードデータ線PRD4への出力論理を反転させる。さらに、パリティビットに対応するライトデータ線PWD4からの入力論理を反転させ、ライトデータ線バッファ7に入力する。
第3実施形態においても、数3に示した生成行列G3を用いるので、ビット線BLcに接続されるメモリセル1を選択するワード線が選択された場合には、パリティビットが誤った符合語になる。
第3実施形態において、ビット線BLcに接続されるメモリセル1を選択するワード線は、ロウアドレスRA2が“H”のとき、“WL5”、“WL6”である。しかし、ロウアドレスRA2が“L”のときには、ビット線BLが捩れビット線であるために、“WL0”及び“WL3”か、“WL1”及び“WL2”かのどちらかに分かれる。どちらに分かれるかは、例えば、ビット線BLが、カラム選択線CSL<0:3>のうち、どのカラム選択線によって選択されるのかに基づいて決定される。
例えば、図12に示す一例においては、ビット線BLがカラム選択線CSL1、及びCSL3によって選択された場合に、“WL0”及び“WL1”がビット線BLcに接続されるメモリセル1を選択するワード線となる。また、カラム選択線CSL0、及びCSL2によって選択された場合には、“WL1”及び“WL2”がビット線BLcに接続されるメモリセル1を選択するワード線となる。
論理補正回路9を、捩れビット線に対応させるには、例えば、ビット線BLcに接続されるメモリセル1を選択するワード線が切り替わったことを検知すれば良い。パリティビットに対応するリードデータ線PRD4への出力論理を反転させる動作、及びパリティビットに対応するライトデータ線PWD4からの入力論理を反転させ、ライトデータ線バッファ7に入力する動作は、“ワード線の切り替わり”に応じて、リバースすれば良い(以下、この動作を書き換え動作のリバースという)。
“ワード線の切り替わり”を検知するには、例えば、ロウアドレスRA<0:2>の論理関係、及びカラムアドレスCA<0:1>の論理関係を参照すれば良い。例えば、図12に示す一例においては、“ワード線の切り替わり”が発生する状態は、ロウアドレスの論理が、ビット線対BLt、BLcへのメモリセルの接続状態が逆相になるカラム(以下、逆相カラムという)に交差するロウ(ワード線)を選択するとき、かつ、カラムアドレスの論理が、逆相カラムを選択するとき、である。本例では、ロウアドレスRA2が“L”である条件を満足し(第1条件)、かつカラムアドレスCA0が“H”である条件を満足する場合である(第2条件)。図14に、第3実施形態に係る半導体集積回路装置のデータスクランブルの一例を示し、図15に、書き換え動作のリバース要否判断フローの一例を示す。
図14及び図15に示すように、“ワード線の切り替わり”は、第1条件(RA2=“L”)、及び第2条件(CA0=“H”)の双方を同時に満足した場合に発生する。具体的な一回路例としては、第3実施形態における論理補正回路9は、ロウアドレスRA0、RA1が“不一致”であるのか“一致”であるのかを検知する機能に加え、ロウアドレスRA2、及びカラムアドレスCA0の論理が“H”であるのか“L”であるのかを検知する機能を有していれば良い。
例えば、図13に示すように、第3実施形態における論理補正回路9においては、例えば、ロウアドレスRA0、RA1の“不一致”であるのか“一致”であるのかを検知する機能は、例えば、排他的論理和回路(XOR)11によって実現され、ロウアドレスRA2、及びカラムアドレスCA0の論理が“H”であるのか“L”であるのかを検知する機能は、例えば、論理積回路(AND)13によって実現される。以下、具体的な一動作例を説明する。
(1. ロウアドレスRA0、RA1の検知)
論理補正回路9は、例えば、ロウアドレスRA0、RA1が“不一致”であるのか“一致”であるのかを検知する。
“不一致”であるとき、XOR11の出力は“H”レベルとなり、“一致”であるとき、XOR11の出力は“L”レベルとなる。XOR11の出力は、XOR15の第1入力に入力される。XOR15は、書き換え動作を実行するか否かを決定する回路である。
(2. ロウアドレスRA2の検知)
さらに、論理補正回路9は、例えば、ロウアドレスRA2の論理が“H”であるのか“L”であるのかを検知する。
(RA2=H)
ロウアドレスRA2が“H”であるとき、“ワード線の切り替わり”は発生しない。
ロウアドレスRA2が“H”であるとき、その論理はインバータ17によって反転され、AND13の第1入力に“L”として入力される。AND13の第1入力が“L”となる結果、AND13の出力は、その第2入力の論理(カラムアドレスCA0)に関わらず、“L”に固定される。AND13の“L”の出力は、XOR15の第2入力に入力される。
即ち、ロウアドレスRA2が“H”であるとき、“ワード線の切り替わり”は発生しないので、XOR15は、XOR11の出力、即ち、ロウアドレスRA0、RA1が“不一致”であるのか“一致”であるのかの検知結果に基づいてのみ、書き換え動作を実行するか否かを決定する。
“不一致”であるとき、XOR15の第1入力“H”、第2入力“L”であるので、AX=Hとなり、書き換え動作が実行される。選択されているワード線は、“WL5”、もしくは“WL6”である。
反対に、“一致”であるとき、XOR15の第1入力“L”、第2入力“L”であるので、AX=Lとなり、書き換え動作は実行されない。選択されているワード線は、“WL4”、もしくは“WL7”である。
(RA2=L)
ロウアドレスRA2が“L”であるとき、カラムアドレスCA0に応じて、“ワード線の切り替わり”が発生する。
ロウアドレスRA2が“L”であるとき、その論理はインバータ17によって反転され、AND13の第1入力に“H”として入力される。AND13の第1入力が“H”となる結果、AND13の出力は、第2入力の論理(カラムアドレスCA0)となる。
(3.カラムアドレスCA0検知動作)
ロウアドレスRA2が“L”であるとき、“ワード線の切り替わり”が発生する可能性があるので、論理補正回路9は、例えば、カラムアドレスCA0の論理が“H”であるのか“L”であるのかを検知する。
XOR15は、XOR11の出力、即ち、ロウアドレスRA0、RA1が“不一致”であるのか“一致”であるのかの検知結果と、カラムアドレスCA0の論理の検知結果とに基づいて、書き換え動作を実行するか否かを決定する。
(CA0=L)
カラムアドレスCA0が“L”であるとき、“ワード線の切り替わり”は発生しない。
ロウアドレスRA0、RA1が“不一致”であれば、XOR15の第1入力“H”、第2入力“L”となり、書き換え動作が実行される。選択されているワード線は、“WL1”、もしくは“WL2”であり、選択されているカラム選択線は、“CSL0”、もしくは“CSL2”である。
反対に、“一致”であるとき、XOR15の第1入力“L”、第2入力“L”となり、書き換え動作は実行されない。選択されているワード線は、“WL0”、“WL3”であり、選択されているカラム選択線は、“CSL0”、もしくは“CSL2”である。
(CA0=H)
カラムアドレスCA0が“H”であるとき、“ワード線の切り替わり”が発生する。
ロウアドレスRA0、RA1が“不一致”であれば、XOR15の第1入力“H”、第2入力“H”となり、書き換え動作がリバースされ、書き換え動作は実行されない。選択されているワード線は、“WL1”、もしくは“WL2”であり、選択されているカラム選択線は、“CSL1”、もしくは“CSL3”である。
反対に、“一致”であるとき、XOR15の第1入力“L”、第2入力“H”となり、書き換え動作がリバースされ、書き換え動作が実行される。選択されているワード線は、“WL0”、もしくは“WL3”であり、選択されているカラム選択線は、“CSL1”、もしくは“CSL3”である。
第3実施形態においても、初期状態のメモリセルのうち、ビット線BLcに接続されるメモリセル1からパリティビットを読み出したとき、その符合語“11111”は、論理補正回路9によって正しい符合語“11110”に書き換えることができる。
さらに、第3実施形態では、“選択したロウが、逆相カラムに交差にするか”、及び“選択したカラムが、逆相カラムであるか”を判断し、双方とも満足した場合には、書き換え動作をリバースするので、ビット線BLが捩れビット線であった場合にも、対応できる。
(第4実施形態)
図16は、この発明の第4実施形態に係る半導体集積回路装置の、メモリセルとDQ線との接続関係の一例を示す回路図である。図17は、この発明の第3実施形態に係る半導体集積回路装置の、DQ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図である。第4実施形態は、数3に示す生成行列G3を使用する。
図16及び図17に示すように、第4実施形態に係る半導体集積回路装置が、第3実施形態と異なるところは、パリティビットに対応するリード/ライトデータ線DQが、デュアルポートになっていることである。デュアルポートのリード/ライトデータ線DQは、リード用DQ線対PRDQt、PRDQc、ライト用DQ線対PWDQt、PWDQcを含む。DQ線対PRDQt、PRDQcは、リード用カラムスイッチ3Rによって選択され、選択されたDQ線対PRDQt、PRDQcは、リードデータ線バッファ5に接続される。DQ線対PWDQt、PWDQcは、ライト用カラムスイッチ3Wによって選択され、選択されたDQ線対PWDQt、PWDQcは、ライトデータ線バッファ7に接続される。カラムスイッチ3Rは、リード用カラム選択線RCSLの電位に応じて開閉され、カラムスイッチ3Wは、ライト用カラム選択線RCSLの電位に応じて開閉される。
それ以外の構成は、例えば、第3実施形態に係る半導体集積回路装置と同じであるので、重複する説明は省略する。
このように、この発明の実施形態に係る半導体集積回路装置は、デュアルポート型の半導体集積回路装置にも適用することができる。
(第5実施形態)
図18は、この発明の第5実施形態に係る半導体集積回路装置の、ロウ制御回路(ロウデコーダ)の一例を示す回路図である。第5実施形態に係る半導体集積回路装置は、リダンダンシ回路付きの半導体集積回路装置である。
リダンダントワード線RWL(RWL0〜RWL3)を使用せず、ノーマルワード線WL(WL0、WL1、…)を使用する場合、ロウアドレスRA(RA0〜RAn)は、ヒューズ21(21-0〜21-3)にプログラムされたヒューズ情報(置換情報)のどれにも一致しない。この場合、信号(Normal Decoder Disable信号)の電位は、例えば、“L”レベルとなる。Normal Decoder Disable信号は、ノーマルロウデコーダ23(23-0、23-1、…)をディセーブルするか否かを指示する信号である。本例では、Normal Decoder Disable信号の電位が“L”レベルのとき、ノーマルロウデコーダ23はイネーブルされ、ロウアドレスRAをデコードし、ノーマルワード線WL0、WL1、…のいずれかを選択する。
一方、リダンダントワード線RWLを使用する場合には、ロウアドレスRAは、ヒューズ23にプログラムされたヒューズ情報のいずれかにヒット(一致)する。ヒットした場合、Normal Decoder Disable信号の電位が“H”レベルとなり、ノーマルロウデコーダ23はディセーブルされる。代わりに、リダンダントロウデコーダ25(25-0〜25-3)のいずれかがイネーブルされる。イネーブルされたリダンダントロウデコーダ25は、ロウアドレスRAをデコードし、リダンダントワード線WLを選択する。以下、具体的な動作の一例を説明する。
例えば、ロウアドレスRAが“RA0=H、RA1=L”であるとき、ノーマルワード線WL1が選択される、と仮定する。ノーマルワード線WL1に、もし、不良なメモリセルが接続されていた場合には、ノーマルワード線WL1は、リダンダントワード線RWL0〜RWL3のいずれかに置換される。例えば、ノーマルワード線WL1を、リダンダントワード線RWL2に置換する、とする。この場合、ヒューズ21のうち、RWL2用ヒューズ21-2を、例えば、切断し、RWL2用ヒューズに対してヒューズ情報をプログラムする。プログラムされたヒューズ情報は、一致判定回路27(27-0〜27-3)に与えられる。一致判定回路27は、ロウアドレスRAとヒューズ情報とを、例えば、比較し、ロウアドレスRAがヒューズ情報にヒットしたか否かを判定する。
本例では、ロウアドレスRAが“RA0=H、RA1=L”であるときに、一致判定回路27-2が“H”レベルであるヒット信号hit2を出力し、それ以外の一致判定回路27-0、27-1、及び27-3がそれぞれ、“L”レベルであるヒット信号hit0、hit1、及びhit3を出力する。ヒット信号hit2が“H”となることで、リダンダントロウデコーダ25-2がイネーブルされ、リダンダントワード線RWL2が選択される。これとともに、Normal Decoder Disable信号が“H”レベルとなって、例えば、全てのノーマルロウデコーダ23はディセーブルされる。
さらに、本第5実施形態に係る半導体集積回路装置は、ロウアドレスRAとヒューズ情報との一致判定の際に、置換前のノーマルワード線WLiに接続されるメモリセルの配置が、置換後のリダンダントワード線RWLjに接続されるメモリセルの配置と等しいか否かを判断する。ここで、メモリセルの配置とは、メモリセルが、ビット線対の“true”、及び“complement”のうちのどちらに接続されているかを意味する。本例の一致判定回路27は、置換前のメモリセルの配置と置換後のメモリセルの配置とが等しいか否かに応じ、セル配置反転信号RINV0〜RINV3を出力する。本例において、信号RINV0〜RINV3のとる値は、例えば、下記の通りである。下記一覧のうち、リダンダントワード線WL0〜WL3のうち、置換選択されたリダンダントワード線を、“RWLj”と記載し、リダンダントワード線RWLjに対応するセル配置反転信号を、“RINVj”と記載する。
1.ロウアドレスRAが、リダンダントワード線RWLのいずれにもヒットしない時、RINVj=L
2.ロウアドレスRAが、置換選択されたリダンダントワード線RWLj以外のRWLにヒットした時、RINVj=L
3.ロウアドレスRAが、置換選択されたリダンダントワード線RWLjにヒットし、かつRWLjのセル配置が、置換前のノーマルワード線WLと同じである時、RINVj=L
4.ロウアドレスRAが、置換選択されたリダンダントワード線RWLjにヒットし、かつRWLjのセル配置が、置換前のノーマルワード線WLと逆である時、RINVj=H
このような、信号RINV0〜RINV3の論理和(OR)をとり、信号DQINVを生成する。信号DQINVは、パリティビットに対応するリードデータ線PRDへの出力論理の反転、及びライトデータ線PWDからの出力論理の反転を実行するか否かを指示する信号である。信号DQINVは、論理補正回路9に入力される。
図19及び図20はそれぞれ、図19は、この発明の第5実施形態に係る半導体集積回路装置の、DQ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図である。図19及び図20にはそれぞれ、置換前のノーマルワード線と置換後のリダンダントワード線との関係、並びに信号DQINVの信号論理との関係を示す。図19及び図20に示す装置のビット線は、捩れビット線ではなく、通常のビット線であり、使用する生成行例は、数3に示す生成行列G3である。
図19は、ワード線WL1を、リダンダントワード線RWL1に置換する場合を示す。
ワード線WL1に接続されるメモリセル1、及びリダンダントワード線RWL1に接続されるメモリセル1はともに、ビット線BLcに接続される。つまり、リダンダントワード線RWL1のセル配置は、ノーマルワード線WL1と同じである。本例において、ロウアドレスRAが、リダンダントワード線RWL1にヒットしたとき、信号DQINVの電位は“L”レベルとなる。信号DQINVは、論理補正回路9のXOR11に入力される。
“L”レベルである信号DQINVを受けたXOR11は、ロウアドレスRA0、RA1の論理に従って、その出力AXの論理を決定する。例えば、XOR11は、ロウアドレスRA0とRA1とが不一致のとき、その出力AXの電位を“H”レベルとし、リードデータ線PRD4への出力論理の反転、及びライトデータ線PWD4からの出力論理の反転を実行する。即ち、パリティビットの書き換え動作は、ノーマルワード線を選択した時と同じ動作に従って実行される。
図20は、ワード線WL1を、リダンダントワード線RWL3に置換する場合を示す。
リダンダントワード線RWL3に接続されるメモリセルは、ビット線BLtに接続される。つまり、リダンダントワード線RWL3のセル配置は、ノーマルワード線WL1と逆である。この場合、信号DQINVの電位は“H”レベルとなる。
“H”レベルである信号DQINVを受けたXOR11は、ロウアドレスRA0、RA1の論理に従って、その出力AXの論理を決定するが、ただし、その論理は反転させる。例えば、XOR11は、ロウアドレスRA0とRA1とが不一致のとき、その出力AXの電位を“L”レベルとし、リードデータ線PRD4への出力論理の反転、及びライトデータ線PWD4からの出力論理の反転は実行しない。即ち、パリティビットの書き換え動作は実行しない。即ち、パリティビットの書き換え動作は、ノーマルワード線を選択した時と逆の動作に従って実行される。図21に、第5実施形態に従った書き換え動作の実行判断フローの一例を示しておく。
第5実施形態によれば、図21に示すように、リダンダントワード線を使用する場合に、セル配置が、置換前のノーマルワード線と同じであるか否かを判断し、違った場合に、書き換え動作を、ノーマルワード線選択時と逆の動作に従って実行する。よって、リダンダントワード線のセル配置が、置換前のノーマルワード線と違った場合においても、上記実施形態と同様に、誤り訂正を正しく実行することができる。
第5実施形態は、ビット線が、捩れビット線である装置においても適用することが可能である。この場合には、例えば、置換前のノーマルワード線のセル配置と、置換後のリダンダントワード線のセル配置が同じであるか否かの判断に加え、例えば、選択したロウ(ワード線)が逆相カラムに交差するか否か、及び選択したカラム(ビット線)が逆相カラムであるか否かを判断し、書き換え動作をリバースする動作を実行すれば良い。
(第6実施形態)
次に、上記実施形態を適用できるECC機能付半導体メモリの例を、この発明の第6実施形態として説明する。
図22は、この発明の第6実施形態に係る半導体メモリの一構成例を示すブロック図である。
以下、第6実施形態に係る半導体メモリを、そのいくつかの動作例とともに説明する。
(第1のライト動作)
図23は、図22に示す半導体メモリの第1のライト動作例を示す流れ図である。
図23に示すように、例えば、I/O幅が128ビットであったとき、外部I/O線(もしくは内部I/O線、半導体メモリがシステムLSIに混載されていた場合)から、128ビットのライトデータが、I/Oバッファ100を介して入力される(data from I/O(128bit))。拡張ハミング符号を使用した場合、パリティ発生器(parity generator)102において、128ビットのライトデータから9ビットのパリティビット(parity bit)を発生させる。9ビットのパリティビットは、論理補正回路9において、上記実施形態に従い、アドレス(addresses)に基づいて、論理補正が為された後、アドレスで指定されたメモリセル(cell (parity))に書き込まれる。128ビットのライトデータは、128ビットの情報ビット(information bit(data))として、同じくアドレスで指定されたメモリセル(cell (data))に書き込まれる。ちなみに、本例の拡張ハミング符号の最小距離は“4”であるので、“1”誤り訂正、“2”誤り検出が可能である。
(リード動作)
図24は図22に示す半導体メモリのリード動作例を示す流れ図である。
図24に示すように、メモリセル(cell (data))から128ビットの情報ビット(information bit(data))を読み出すとともに、メモリセル(cell (parity))から9ビットのパリティビット(parity bit)を読み出す。9ビットのパリティビットは、論理補正回路9において、上記実施形態に従い、アドレス(addresses)に基づいて、論理補正が為された後、シンドローム発生器(syndrome generator)104に入力される。シンドローム発生器104は、128ビットの情報ビットと、9ビットのパリティビットとから、9ビットのシンドローム信号(Syndrome)を発生させる。次いで、誤り検出&誤り訂正回路(Error Logic & Error Correction)106において、9ビットのシンドローム信号から、情報ビットに誤りが有ったか否かを検出し、誤りがあった場合、情報ビットの誤りを訂正する。訂正した情報ビットを、外部I/O(もしくは内部I/O)へ、I/Oバッファ100を介して128ビットのリードデータとして出力する。
(第2のライト動作例)
図25は、図22に示す半導体メモリの第2のライト動作例を示す流れ図である。
第2のライト動作例は、ライトマスク有り、(またはI/O<128ビット)の場合を想定している。
図25に示すように、図24に示した第1のリード動作例に従って、メモリセル(cell (data))及びメモリセル(cell(parity))から、128ビット+9ビットのデータを読み出し、誤り検出及び訂正を行い、128ビットの訂正済みデータ(corrected data(128bit))を作成する。次いで、ライトマスクされ、128ビットよりも少ないライトデータを、128ビットの訂正済みデータとを合わせて、新しい128ビットの情報ビットを作成する。次いで、図23に示した第1のライト動作に従って、新しい128ビットの情報ビットから9ビットのパリティデータを発生させ、情報ビットをメモリセル(cell (data))に書き込むとともに、パリティビットをメモリセル(cell (parity))に書き込む。
(第3のライト動作例)
図26は、図22に示す半導体メモリの第3のライト動作例を示す流れ図である。
第3のライト動作例は、第2のライト動作例と同様に、ライトマスク有り、(またはI/O幅<内部情報ビット幅:ここでは128ビット)の場合を想定している。
図26に示すように、まず、メモリセル(cell (data))及びメモリセル(cell(parity))から、128ビット+9ビットのデータを読み出す。これは、第2のライト動作例と同じである。第3のライト動作例では、その後、ただちに、ライトデータ(write data)をメモリセル(cell (data))に書き込んでしまう。書き込まれた情報ビット128ビットのうち、ライトされなかったデータ(masked data)は、訂正されていないデータ(uncorrected data)である。次いで、最初に読み出した128ビット+9ビットのデータに対して、誤り検出及び訂正を行い、訂正済みデータ(corrected data(128bit))を作成する。次いで、訂正済みデータに、ライトデータを合わせ、128ビットの情報ビットを作成し、作成した128ビットの情報ビットから9ビットのパリティビットを生成し、パリティビットのみ、メモリセル(cell(parity))に書き込む。このような動作をさせる理由は、情報ビットをメモリセルに素早く書き込みたいことにある。
図27は、図25に示す第2のライト動作例に従った書き込みタイミングの一例を示す図である。
図27に示すように、最初の1クロックでリード動作を、次の1クロックで図25に示す第2のライト動作例を行う。この一例のライト動作は、リード、誤り訂正、情報ビット作成、パリティビット作成、情報ビット及びパリティビットのメモリセルへの書き込みを行うので、1クロックで完了させるには限界がある。
図28は、図26に示す第3のライト動作例に従った書き込みタイミングの一例を示す図である。
図28に示すように、1クロックでリード動作を、次の1クロックで図26に示す第3のライト動作例を行う。1クロックにおける動作は、図27に示す書き込みタイミングとタイミング的にはあまり変わらない。しかし、次に、説明するようなレートライト(late write)動作を行えば、パリティ部で必要な訂正、再符号化にかかる時間を見かけ上なくすことができる。
図29は、図26に示す第3のライト動作例を用い、レートライト動作に従った際の書き込みタイミングの一例を示す図である。
図29に示すように、図28に示す第3のライト動作例のうち、パリティ部の符号化動作が1クロックサイクル後ろにずらしてある。例えば、サイクル3のリード(もしくはライト)は、別のアドレスのパリティ部からのリードと重なるが、これは、DQ線や、センスアンプをデュアルポート化すれば、同じサイクル中で実行可能である。もちろん、パリティ部だけでなく、情報ビット部もデュアルポート化することも可能である。
さて、初期状態にあるメモリセルからデータを読み出した際に発生する、誤った誤り訂正動作は、特に、図26に示す第3のライト動作例を使用した場合に発生し易い。
図30は、第3のライト動作例に従った際の不具合を説明するための図である。
図30に示すように、第3のライト動作例の場合、情報ビットをメモリセルに素早く書き込むために、メモリセルから読み出した未訂正データ(Uncorrected data)の一部に、ライトデータを上書きした状態で、メモリセル(cell (data))に書き込んでしまう(ST.1)。この後、未訂正データにECCを実行し(ST.2)、ECC済みのデータ(Corrected data)の一部に、上記ライトデータを上書きする(ST.3)。この後、ECC済みのデータの一部にライトデータを上書きしたデータからパリティビットを発生させ(ST.4)、発生させたパリティビットをメモリセル(cell (parity))に書き込む(ST.5)。
このように、第3のライト動作例では、メモリセル(cell (data))に実際に書き込まれたデータに対して実行される処理と、パリティビットを発生させるデータに対して施される処理とが異なる。
もし、メモリセルが初期状態にある場合には、上記実施形態で説明した通り、メモリセルのデータ、例えば、パリティビットに対応するデータが正しい、とは限らない。このため、初期状態のメモリセルからデータを読み出すと、誤った誤り訂正が発生することがある。誤った誤り訂正が発生すると、パリティビットを発生させたデータと、メモリセルに実際に書き込まれたデータ(正しいセルデータ)とが不一致になる。この結果、次のリードの際には、正しいセルデータに対して誤り訂正が実行され、正しいセルデータが書き換えられ、ライトデートとリードデータとが不一致になってしまう。
図31は、この発明の実施形態を、第3のライト動作例に適用した場合の利点を説明するための図である。
図31に示すように、この発明の実施形態を、第3のライト動作例に適用した場合には、初期状態のメモリセルからデータを読み出した場合でも、誤った誤り訂正は発生しない。誤った誤り訂正が発生しないので、パリティビットを発生させたデータと、メモリセルに実際に書き込まれたデータ(正しいセルデータ)とは一致する。従って、次のリードの際には、正しいセルデータが書き換えられることは無く、ライトデートとリードデータとは一致する。即ち、初期状態のメモリセルからデータを読み出しても、誤り訂正を正しく実行できる。
このように、この発明の実施形態は、例えば、未訂正データの一部に、ライトデータを上書きした状態でメモリセルに書き込んだ後、上記未訂正データに対してECCを施し、ECC済みの訂正済データの一部に、上記ライトデータを上書きしたデータからパリティビットを発生させる、というライト動作を行う場合に、特に、有利に適用できる。
なお、本例は、例えば、図29に示すように、ライト命令の次にリード命令が続く場合を想定し、説明した。この場合、最初のライト命令に従った一連のライト動作の実行中に、次のリード命令に従ったライト動作が実行される。例えば、図29に示す例では、最初のライト命令に従ったあるアドレスに対するパリティビットのライト中に、次のリード命令に従った別のアドレスに対するリードが実行される。例えば、図29中の第3サイクル(cycle3)である。
しかし、ライトが2回以上連続する場合もある。この場合、最初のライト命令に従った一連のライト動作の実行中に、次以降のライト命令に従った一連のライト動作が実行されれば良い。例えば、最初のライト命令に従ったあるアドレスに対するパリティビットのライト中に、次のライト命令に従った別のアドレスに対するリード、上書き(オーバーライト)及びパリティビットの発生が実行されれば良い。
また、半導体集積回路装置内のパイプラインステージの数によっては、例えば、以下のような動作もある。
(1) 最初のライト命令に従ったあるアドレスに対するパリティビットの発生中に、次のライト命令に従った別のアドレスに対するリード及び上書き(オーバーライト)を実行する。
(2) (1)に続き、最初のライト命令に従ったあるアドレスに対するパリティビットのライト中に、次のライト命令に従った別のアドレスに対するパリティビットの発生、並びに次の次のライト命令に従ったさらに別のアドレスに対するリード及びオーバーライトを実行する。
要するに、あるライト命令に従ったあるアドレスに対する一連のライト動作中、例えば、パリティビットのライト中に、あるライト命令に続くライト命令に従った別のアドレスに対する一連のライト動作、もしくはあるライト命令に続くリード命令に従った別のアドレスに対するリード動作が実行されれば良い。
以上、この発明を実施形態に従って説明したが、この発明は、実施形態に限定されるものではなく、その実施にあたっては、発明の要旨を逸脱しない範囲で種々に変形することが可能である。
例えば、上記実施形態では、メモリセルの一例として、例えば、DRAMにおいて使用されるダイナミック型の揮発性メモリセルを例示したが、メモリセルは、ダイナミック型のメモリセルに限られるものでは無い。例えば、電荷蓄積層を有し、しきい電圧に応じてデータを記憶する不揮発性のメモリセル、強誘電体のヒステリシス特性を利用してデータを記憶する不揮発性のメモリセル、磁気抵抗効果を利用してデータを記憶する不揮発性のメモリセルを持つ不揮発性半導体メモリにも適用することができる。不揮発性半導体メモリは、電源切断後においてもデータを保持し続ける。このため、上記実施形態を適用する必要性は無いように思われる。しかし、不揮発性半導体メモリにおいても、例えば、データの初期化(データのオールクリア)が行われることがある。初期化後のリードにおいては、上記実施形態で説明した通り、メモリセルのデータ、例えば、パリティビットに対応するデータが正しい、とは限らない。従って、上記実施形態は、不揮発性半導体メモリにも適用することが可能である。
また、誤り訂正符号として、ハミング符号、及び拡張ハミング符号を用いたが、誤り訂正符合は、ハミング符号、及び拡張ハミング符号に限られるものでは無い。例えば、誤り訂正符号は、BCH符号でも良いし、それ以外の符号でも良い。
また、上記実施形態はそれぞれ単独で実施することが可能であるが、適宜組み合わせて実施することも、もちろん可能である。
また、上記実施形態には、種々の段階の発明が含まれており、実施形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することも可能である。
図1は、この発明の第1実施形態に係る半導体集積回路装置の、メモリセルとDQ線との接続関係の一例を示す回路図 図2は、ワード線WL0が選択された時の、DQ線DQtに伝わる読み出しデータを示す図 図3は、ワード線WL1が選択された時の、DQ線DQtに伝わる読み出しデータを示す図 図4は、この発明の第1実施形態に係る半導体集積回路装置の、DQ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図 図5は、この発明の第1実施形態の参考例に係る半導体集積回路装置を示す回路図 図6は、この発明の第2実施形態に係る半導体集積回路装置の、メモリセルとDQ線との接続関係の一例を示す回路図 図7は、拡大ハミング符号を使用した場合の不都合を説明するための図 図8は、拡大ハミング符号を使用した場合の不都合を説明するための図 図9は、この発明の第2実施形態に係る半導体集積回路装置の、DQ線、リードデータ線及びライトデータ線の接続関係の第1例を示す回路図 図10は、生成行列G4を用い、ワード線WL1が選択された時の、DQ線DQtに伝わる読み出しデータを示す図 図11は、この発明の第2実施形態に係る半導体集積回路装置の、DQ線、リードデータ線及びライトデータ線の接続関係の第2例を示す回路図 図12は、この発明の第3実施形態に係る半導体集積回路装置の、メモリセルとDQ線との接続関係の一例を示す回路図 図13は、この発明の第3実施形態に係る半導体集積回路装置の、DQ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図 図14は、この発明の第3実施形態に係る半導体集積回路装置のデータスクランブルの一例を示す図 図15は、この発明の第3実施形態に係る半導体集積回路装置の、書き換え動作のリバース要否判断フローの一例を示す流れ図 図16は、この発明の第4実施形態に係る半導体集積回路装置の、メモリセルとDQ線との接続関係の一例を示す回路図 図17は、この発明の第4実施形態に係る半導体集積回路装置の、DQ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図 図18は、この発明の第5実施形態に係る半導体集積回路装置の、ロウ制御回路(ロウデコーダ)の一例を示す回路図 図19は、この発明の第5実施形態に係る半導体集積回路装置の、DQ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図(RWL1に置換する場合) 図20は、この発明の第5実施形態に係る半導体集積回路装置の、DQ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図(RWL3に置換する場合) 図21は、この発明の第5実施形態に係る半導体集積回路装置の、書き換え動作の実行判断フローの一例を示す流れ図 図22は、この発明の第6実施形態に係る半導体メモリの一構成例を示すブロック図 図23は、図22に示す半導体メモリの第1のライト動作例を示す流れ図 図24は、図22に示す半導体メモリのリード動作例を示す流れ図 図25は、図22に示す半導体メモリの第2のライト動作例を示す流れ図 図26は、図22に示す半導体メモリの第3のライト動作例を示す流れ図 図27は、図25に示す第2のライト動作例に従った書き込みタイミングの例を示す図 図28は、図26に示す第3のライト動作例に従った書き込みタイミングの一例を示す図 図29は、図26に示す第3のライト動作例を用い、レートライト動作に従った際の書き込みタイミングの一例を示す図 図30は、第3のライト動作例に従った際の不具合を説明するための図 図31は、この発明の実施形態を、第3のライト動作例に適用した場合の利点を説明するための図
符号の説明
1…メモリセル、3…カラムスイッチ、5…リードデータ線バッファ、7…ライトデータ線バッファ、9…論理補正回路、11、15…排他的論理和回路、13…論理積回路、21(21-0〜21-3)…ヒューズ、23(23-0、23-1)…ノーマルロウデコーダ、25(25-0〜25-3)…リダンダントロウデコーダ、27(27-0〜27-3)…一致判定回路、100…I/Oバッファ、102…パリティ発生器、104…シンドローム発生器、106…誤り検出&誤り訂正回路

Claims (6)

  1. アドレスに基づいて選択される第1、第2ワード線と、
    情報ビット用相補ビット線対と、
    パリティビット用相補ビット線対と、
    前記第1ワード線と、前記情報ビット用相補ビット線対の一方とに、結合された第1メモリセルと、
    前記第1ワード線と、前記パリティビット用相補ビット線対の一方とに、結合された第2メモリセルと、
    前記第2ワード線と、前記情報ビット用相補ビット線対の他方とに、結合された第3メモリセルと、
    前記第2ワード線と、前記パリティビット用相補ビット線対の他方とに、結合された第4メモリセルと、
    前記情報ビット用相補ビット線対を情報ビット用データ線対に接続し、前記パリティビット用相補ビット線対をパリティビット用データ線対に接続するカラムスイッチ群と、
    前記パリティビット用データ線対の一方に接続された論理補正回路とを具備し、
    前記論理補正回路は、前記アドレスに基づいて、データのリード動作時に前記パリティビット用データ線から読み出されたデータの論理を反転させ、データのライト動作時に前記パリティビット用データ線に書き込むデータの論理を反転させるパリティビット書き換え動作を実行することを特徴とする半導体集積回路装置。
  2. 前記情報ビット用相補ビット線対、及びパリティビット用相補ビット線対はそれぞれ、捩れビット線であり、
    前記論理補正回路は、選択したワード線が逆相カラムに交差するか否か、及び選択したカラムが逆相カラムであるか否かを判断し、
    前記選択したワード線が逆相カラムに交差するとともに、前記選択したカラムが逆相カラムである場合には、前記パリティビット書き換え動作を実行しないことを特徴とする請求項1に記載の半導体集積回路装置。
  3. リダンダントワード線と、
    置換前ワード線を前記リダンダントワード線に置換するリダンダンシ回路とを、さらに、具備し、
    前記論理補正回路は、前記アドレスに基づいてリダンダントワード線が選択されたか否か、及び前記リダンダントワード線のメモリセルの配置が、前記置換前ワード線のメモリセルの配置と同じであるか否かを判断し、
    前記リダンダントワード線が選択されるとともに、前記リダンダントワード線のメモリセルの配置が、前記置換前ワード線のメモリセルの配置と異なる場合には、前記パリティビット書き換え動作を、前記置換前ワード線選択時と逆の動作に従って実行することを特徴とする請求項1に記載の半導体集積回路装置。
  4. 前記ライト動作は、
    前記第1メモリセル及び前記第3メモリセルのいずれか一つを含む第1メモリセル群に蓄えられている未訂正データを読み出す第1の手順と、
    前記未訂正データにライトデータを上書きした状態と実質的に同一になるように、前記第1メモリセル群に書き込む第2の手順と、
    前記未定正データに対して誤り検知及び誤り訂正を施した訂正済データの一部に、前記ライトデータを上書きした状態でパリティビットを発生させる第3の手順と、
    前記パリティビットを、前記第2メモリセル及び前記第4メモリセルのいずれか一つを含む第2メモリセル群に書き込む第4の手順と
    を含むことを特徴とする請求項1に記載の半導体集積回路装置。
  5. 第1のアドレスに対する前記ライト動作における第1から第4の手順のうち、少なくとも第4の手順は、第2のアドレスに対する前記ライト動作、もしくは第2のアドレスに対するリード動作を実行している期間内に実行することを特徴とする請求項4に記載の半導体集積回路装置。
  6. 前記論理補正回路は、電源投入時のメモリセルの状態、もしくはデータ初期化時のメモリセルの状態に応じ、誤り訂正符号における正しい符号語の読み出しを保障することを特徴とする請求項1に記載の半導体集積回路装置。
JP2004017333A 2004-01-26 2004-01-26 半導体集積回路装置 Expired - Fee Related JP3935151B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004017333A JP3935151B2 (ja) 2004-01-26 2004-01-26 半導体集積回路装置
US10/870,959 US7331011B2 (en) 2004-01-26 2004-06-21 Semiconductor integrated circuit device
TW094100136A TWI260022B (en) 2004-01-26 2005-01-04 Semiconductor integrated circuit device
US11/779,352 US7949933B2 (en) 2004-01-26 2007-07-18 Semiconductor integrated circuit device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004017333A JP3935151B2 (ja) 2004-01-26 2004-01-26 半導体集積回路装置

Publications (2)

Publication Number Publication Date
JP2005209316A JP2005209316A (ja) 2005-08-04
JP3935151B2 true JP3935151B2 (ja) 2007-06-20

Family

ID=34792502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004017333A Expired - Fee Related JP3935151B2 (ja) 2004-01-26 2004-01-26 半導体集積回路装置

Country Status (3)

Country Link
US (2) US7331011B2 (ja)
JP (1) JP3935151B2 (ja)
TW (1) TWI260022B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4413840B2 (ja) * 2005-09-20 2010-02-10 株式会社東芝 記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
JP4889343B2 (ja) * 2006-03-31 2012-03-07 パナソニック株式会社 半導体記憶装置
JP5214208B2 (ja) * 2007-10-01 2013-06-19 スパンション エルエルシー 半導体装置及びその制御方法
US9355732B2 (en) * 2014-10-01 2016-05-31 Sandisk Technologies Inc. Latch initialization for a data storage device
JP6662370B2 (ja) * 2015-03-03 2020-03-11 日本電気株式会社 クロスバースイッチ型メモリ回路、ルックアップテーブル回路、及び、プログラム方法
US10490235B2 (en) * 2018-01-29 2019-11-26 Taiwan Semiconductor Manufacturing Co., Ltd. Differential read-only memory (ROM) device
US10601546B2 (en) * 2018-04-03 2020-03-24 SK Hynix Inc. Dynamic interleaver change for bit line failures in NAND flash storage
US20230134975A1 (en) * 2021-11-04 2023-05-04 Taiwan Semiconductor Manufacturing Company, Ltd. Memory device

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2642094B2 (ja) 1985-05-20 1997-08-20 日本電信電話株式会社 半導体記憶装置
JPH071640B2 (ja) * 1987-06-03 1995-01-11 三菱電機株式会社 半導体記憶装置の欠陥救済装置
JPH01171199A (ja) * 1987-12-25 1989-07-06 Mitsubishi Electric Corp 半導体メモリ
JP2583547B2 (ja) * 1988-01-13 1997-02-19 株式会社日立製作所 半導体メモリ
JPH01183000A (ja) 1988-01-14 1989-07-20 Mitsubishi Electric Corp 誤り訂正回路を有する半導体メモリ装置
JPH01201736A (ja) * 1988-02-08 1989-08-14 Mitsubishi Electric Corp マイクロコンピュータ
US5559212A (en) * 1988-04-06 1996-09-24 Alfacell Corporation Frog embryo and egg-derived tumor cell anti-proliferation protein
JP3070025B2 (ja) 1992-02-04 2000-07-24 富士通株式会社 半導体記憶装置
GB9213821D0 (en) * 1992-06-30 1992-08-12 Inmos Ltd Content addressable memory
JPH0685280A (ja) 1992-08-28 1994-03-25 Sony Corp 不揮発性半導体装置の製造方法
JP3215566B2 (ja) 1994-01-31 2001-10-09 富士通株式会社 半導体記憶装置
US5555212A (en) 1994-09-19 1996-09-10 Kabushiki Kaisha Toshiba Method and apparatus for redundancy word line replacement in a semiconductor memory device
DE19622275A1 (de) * 1996-06-03 1997-12-04 Siemens Ag Redundanzkonzept für integrierte Speicher mit ROM-Speicherzellen
US6490703B1 (en) 1999-09-30 2002-12-03 Intel Corporation Bus power savings using selective inversion in an ECC system
US20030000846A1 (en) 2001-05-25 2003-01-02 Shipley Company, L.L.C. Plating method
JP4877894B2 (ja) 2001-07-04 2012-02-15 ルネサスエレクトロニクス株式会社 半導体装置

Also Published As

Publication number Publication date
JP2005209316A (ja) 2005-08-04
US20050166134A1 (en) 2005-07-28
TWI260022B (en) 2006-08-11
US20080016434A1 (en) 2008-01-17
US7331011B2 (en) 2008-02-12
TW200539191A (en) 2005-12-01
US7949933B2 (en) 2011-05-24

Similar Documents

Publication Publication Date Title
US7200780B2 (en) Semiconductor memory including error correction function
US7861138B2 (en) Error correction in memory devices
EP1815338B1 (en) Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory
JP6266306B2 (ja) メモリモジュール、それを含むメモリシステム、それの駆動方法
TW556203B (en) Semiconductor memory device having ECC type error recovery circuit
KR100694407B1 (ko) 불량 셀 교정 회로를 포함하는 불휘발성 강유전체 메모리장치
TW202001881A (zh) 可變電阻隨機存取記憶體
US7949933B2 (en) Semiconductor integrated circuit device
US7930615B2 (en) Memory device with error correction capability and preemptive partial word write operation
US7765455B2 (en) Semiconductor memory device
US7385849B2 (en) Semiconductor integrated circuit device
JP5657079B1 (ja) 半導体記憶装置
US20150318033A1 (en) Memory devices having a read function of data stored in a plurality of reference cells
KR101326898B1 (ko) 메모리 디바이스, 집적 회로 및 메모리 디바이스에서 사용하기 위한 방법
JP4050091B2 (ja) 半導体メモリ装置
JP2515097B2 (ja) 半導体記憶装置
US20240096437A1 (en) Memory device including error correction device
US20240161861A1 (en) Memory device performing target refresh operation and operating method thereof
JPH04206100A (ja) 半導体記憶装置
KR20060118133A (ko) 불휘발성 강유전체 메모리 장치
JPS63175299A (ja) Ecc機能を有する半導体記憶装置
JP2001356969A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
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: 20070313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070316

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100330

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120330

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees