JP4980565B2 - 半導体メモリ - Google Patents

半導体メモリ Download PDF

Info

Publication number
JP4980565B2
JP4980565B2 JP2004369504A JP2004369504A JP4980565B2 JP 4980565 B2 JP4980565 B2 JP 4980565B2 JP 2004369504 A JP2004369504 A JP 2004369504A JP 2004369504 A JP2004369504 A JP 2004369504A JP 4980565 B2 JP4980565 B2 JP 4980565B2
Authority
JP
Japan
Prior art keywords
data
parity
circuit
read
sub
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
JP2004369504A
Other languages
English (en)
Other versions
JP2006179056A (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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2004369504A priority Critical patent/JP4980565B2/ja
Priority to US11/092,704 priority patent/US7366971B2/en
Publication of JP2006179056A publication Critical patent/JP2006179056A/ja
Application granted granted Critical
Publication of JP4980565B2 publication Critical patent/JP4980565B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1032Simple parity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (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)

Description

本発明は、誤り訂正機能を有する半導体メモリに関する。
誤り訂正機能を有する半導体メモリにおいて、メモリブロック毎に読み出しデータのサブパリティデータを生成し、生成したサブパリティデータを順次統合してパリティデータを生成することにより、サブパリティデータが伝達される信号線の数を削減する技術が提案されている(例えば、特許文献1)。
特開昭62−119800号公報
本発明は、以下の問題点を解決するためになされた。
サブパリティデータを順次統合してパリティデータを生成する場合、サブパリティデータを統合するための複数のパリティ生成回路(パリティ検査回路)を分散して配置する必要がある。このため、レイアウト設計およびレイアウト検証等が煩雑になるという問題があった。
本発明の目的は、パリティ生成回路を最適にレイアウトすることで、半導体メモリの開発期間を削減することにある。また、パリティ生成回路を最適にレイアウトするために、パリティ生成回路の論理を決めるシンドロームの割り当てを最適にすることにある。
本発明の一形態では、第1レギュラーセルアレイと、第1レギュラーセルアレイに対応するサブパリティ生成回路および第1外部データ端子とは、パリティセルアレイの一方の側に配置されている。第2レギュラーセルアレイと、第2レギュラーセルアレイに対応するサブパリティ生成回路および第2外部データ端子とは、パリティセルアレイの他方の側に配置されている。メインパリティ生成回路は、パリティセルアレイに対応して配置されている。サブパリティ生成回路は、第1および第2レギュラーセルアレイから同時に読み出される読み出しデータに応じてサブパリティデータをそれぞれ生成する。メインパリティ生成回路は、サブパリティデータに応じて第1および第2レギュラーセルアレイに共通のパリティデータを生成する。シンドローム生成回路は、パリティセルアレイから読み出されるパリティデータとメインパリティ生成回路により生成されるパリティデータとに応じてシンドロームを生成する。読み出し誤り訂正回路は、第1および第2レギュラーセルアレイからの読み出しデータを、シンドロームに応じて訂正する。
各第1および第2レギュラーセルアレイのデータのビット幅は、第1および第2外部データ端子のビット幅に等しい。第1外部データ端子に供給されるデータは、アドレス端子で受けるアドレスに応じて第1レギュラーセルアレイのいずれかに書き込まれる。第2外部データ端子に供給されるデータは、アドレスに応じて第2レギュラーセルアレイのいずれかに書き込まれる。メインパリティ生成回路が、分散配置されることなく、パリティセルアレイに対応する位置に形成される。このため、レイアウト設計およびレイアウト検証等が煩雑になることを防止できる。
本発明の一形態における好ましい例では、レギュラーセルアレイ対は、共通なアドレスが割り当てられた第1および第2レギュラーセルアレイにより構成されている。複数ビッ
トで構成されるシンドローム値は、レギュラーセルアレイ対に入出力されるデータを構成するビットにそれぞれ対応して割り当てられている。シンドローム値のうち所定数のビットで構成される第1サブシンドローム値は、レギュラーセルアレイ対において、対応する外部データ端子毎に互いに等しい。残りのビットで構成される第2サブシンドローム値は、レギュラーセルアレイ対毎に等しい。サブパリティ生成回路およびメインパリティ生成回路の論理は、シンドローム値の割り当てに従って構成されている。シンドロームをレギュラーセルアレイおよび外部データ端子に対応して割り当てることで、サブパリティ生成回路およびメインパリティ生成回路の論理を分かりやすくできる。この結果、回路構成を簡易にできる。
本発明の一形態における好ましい例では、読み出しデータ選択回路は、第1および第2レギュラーセルアレイから読み出される読み出しデータの中から第1および第2外部データ端子に出力するデータをアドレスに応じて選択する。読み出し誤り訂正回路は、第1および第2レギュラーセルアレイから読み出される読み出しデータを訂正するのではなく、データ選択回路により選択された読み出しデータのみを誤り訂正する。このため、読み出し誤り訂正回路の回路規模を小さくでき、チップサイズを小さくできる。
本発明の一形態における好ましい例では、読み出しシンドロームデコーダは、シンドロームとアドレスとに応じて、誤りが発生したビットデータに対応する第1または第2外部データ端子を特定する。読み出し誤り訂正回路は、読み出しシンドロームデコーダにより特定されたデータ端子に対応するビットデータを反転回路により反転することで、誤り訂正を行う。この結果、読み出し誤り訂正回路を簡易に構成できる。
本発明の一形態における好ましい例では、書き込み誤り訂正回路は、第1および第2レギュラーセルアレイとサブパリティ生成回路との間にそれぞれ配置されている。書き込み誤り訂正回路は、書き込み要求に応答して第1および第2レギュラーメモリセルから読み出される読み出しデータを誤り訂正し、訂正したデータを第1および第2外部データ端子に供給される書き込みデータとともにサブパリティ生成回路に出力する。また、書き込み誤り訂正回路は、読み出し要求に応答して第1および第2レギュラーセルアレイから読み出される読み出しデータをサブパリティ生成回路にそのまま出力する。サブパリティ生成回路およびメインパリティ生成回路は、第1および第2レギュラーセルアレイに書き込まれるデータのパリティデータだけでなく、第1および第2レギュラーセルアレイから読み出されるデータのパリティデータを生成する。サブパリティ生成回路およびメインパリティ生成回路を、書き込み動作および読み出し動作で共用することで、パリティ生成回路の回路規模を削減できる。
本発明の一形態における好ましい例では、書き込みシンドロームデコーダは、書き込み要求に応答して第1および第2レギュラーメモリセルから読み出される読み出しデータにより生成されるシンドロームに応じて、誤りが発生したビットを特定する。書き込み誤り訂正回路の反転回路は、読み出しデータにおける書き込みシンドロームデコーダにより特定されたビットデータを反転する。本発明では、パリティデータは、第1および第2レギュラーセルアレイに記憶されるデータに共通である。このため、書き込み動作毎に、データを書き込まないレギュラーセルアレイからデータを読み出し、パリティデータを再度生成する必要がある。書き込みシンドロームデコーダおよび書き込み誤り訂正回路により、データが書き込まれないレギュラーセルアレイに記憶されるデータの誤りに対応してパリティデータを確実に更新できる。
本発明の一形態における好ましい例では、書き込み誤り訂正回路のラッチ回路は、書き込みシンドロームデコーダにより特定されたビットデータを含む読み出しデータを保持する。このため、第1および第2外部データ端子を介して供給される書き込みデータとのタ
イミングと、書き込み要求に応答して第1および第2レギュラーセルアレイから読み出される読み出しデータのタイミングとがずれている場合にも、書き込みデータとラッチ回路に保持された読み出しデータとを用いてパリティデータを確実に生成できる。
本発明の一形態における好ましい例では、一対のメモリユニットは、パリティセルアレイ、第1および第2レギュラーセルアレイ、サブパリティ生成回路、メインパリティ生成回路、シンドローム生成回路および読み出し誤り訂正回路を有する。各メモリユニットのメインパリティ生成回路は、サブパリティ保持回路、サブパリティ演算回路、メインパリティ保持回路およびメインパリティ演算回路とを有している。サブパリティ保持回路は、サブパリティデータを保持する。サブパリティ演算回路は、サブパリティ保持回路に保持されているサブパリティデータと、サブパリティ生成回路により新たに生成されるサブパリティデータとの違いを示す差分パリティデータを生成する。メインパリティ保持回路とは、パリティデータを保持する。メインパリティ演算回路は、メインパリティ保持回路に保持されているパリティデータと、差分パリティデータとを演算し、新たなパリティデータを生成する。
この例では、パリティデータを、新たに供給される書き込みデータのサブパリティデータに対応する差分パリティデータに応じて更新できる。したがって、メモリユニットに対する書き込み動作が交互に実行される場合に、最初のアクセスでレギュラーセルアレイからのデータを読み出すことで、2回目のアクセスでは、レギュラーセルアレイからデータを読み出すことなくパリティデータを生成できる。この結果、2回目のアクセスに必要な時間を短縮できる。
本発明の一形態における好ましい例では、共通なアドレスが割り当てられた第1および第2レギュラーセルアレイによりレギュラーセルアレイ対が構成されている。半導体メモリは、第1および第2外部データ端子に連続して所定の回数だけ供給される書き込みデータを直列並列変換し、全てのレギュラーセルアレイ対に書き込むバースト書き込み機能を有する。受信した書き込みデータは、メモリユニット単位で書き込まれる。サブパリティ演算回路およびメインパリティ演算回路は、バースト書き込み動作において、各メモリユニットにおいてデータが書き込まれるレギュラーセルアレイ対が1つだけのときのみに動作する。また、サブパリティ保持回路および前記サブパリティ演算回路は、この1つのレギュラーセルアレイ対のみに対応して形成されている。
例えば、各メモリユニットが、4つのレギュラーセルアレイ対を有する場合、一方のメモリユニットの2番目のレギュラーセルアレイ対からバースト書き込み動作(バースト長=”8”)が順次実行されると、最後の書き込みデータは、一方のメモリユニットの1番目のレギュラーセルアレイ対に書き込まれる。一方のメモリユニットでは、4番目のレギュラーセルアレイ対の書き込みデータを受けたときに、予め読み出された1番目の読み出しデータと2番目から4番目の書き込みデータとがレギュラーセルアレイ対にそれぞれ書き込まれる。このとき、読み出しデータのサブパリティデータをサブパリティ保持回路に保持し、パリティデータをメインパリティ保持回路に保持しておくことで、1番目のレギュラーセルアレイ対に対応する最後の書き込みデータを含めたパリティデータは、レギュラーセルアレイ対からデータを読み出すことなく生成できる。したがって、最後の書き込み動作に必要な時間を短縮でき、バースト書き込みサイクル時間を短縮できる。また、メインパリティ生成回路に供給されるサブパリティデータの情報量は、サブパリティ生成回路により減らされている。このため、サブパリティ保持回路で保持するビット数を少なくでき、サブパリティ保持回路の回路規模を削減できる。
本発明では、半導体メモリの開発期間を削減できる。
以下、本発明の実施形態を図面を用いて説明する。図中の二重の四角印は、外部データ端子(パッド)を示している。図中、太線で示した信号線は、複数本で構成されている。また、太線が接続されているブロックの一部は、複数の回路で構成されている。外部端子を介して供給される信号には、端子名と同じ符号を使用する。また、信号が伝達される信号線には、信号名と同じ符号を使用する。
図1は、本発明の半導体メモリの第1の実施形態を示している。この半導体メモリは、シリコン基板上にCMOSプロセスを使用して擬似SRAMとして形成されている。擬似SRAMは、DRAMのメモリコアを有し、SRAMのインタフェースを有する。
擬似SRAMは、外部データ端子DQ1−16を介して供給されるデータを記憶するレギュラーセルアレイCA1−4、パリティデータを記憶するパリティセルアレイPCA、書き込み誤り訂正回路10、サブパリティ生成回路12、メインパリティ生成回路14、シンドローム生成回路16、書き込みシンドロームデコーダ18、読み出しシンドロームデコーダ20、書き込みデータ選択回路22、読み出しデータ選択回路24、読み出し誤り訂正回路26、データ入出力バッファ28およびアドレスバッファ30を有している。
擬似SRAMは、図に示した以外にも、アドレスデコーダ、動作コマンド(書き込みコマンド、読み出しコマンド等)を受信するコマンドバッファ、動作コマンドを解読するコマンドデコーダ、セルアレイCA1−4、PCAに対する書き込み動作、読み出し動作およびリフレッシュ動作を制御するための制御信号を生成する動作制御回路等を有している。
レギュラーセルアレイCA1−4およびパリティセルアレイPCAは、一般的なDRAMと同様に、ダイナミックメモリセルを有している。ダイナミックメモリセルは、データを電荷として保持するキャパシタと、キャパシタをビット線に接続するための転送トランジスタとを有している。
レギュラーセルアレイCA1およびCA2−4は、一対のレギュラーセルアレイCA1L、CA1UおよびCA2L、CA2U、CA3L、CA3U、CA4L、CA4Uによりそれぞれ構成されている。レギュラーセルアレイCA1L−CA4L、CA1U−CA4Uのデータのビット幅は、第1および第2外部データ端子DQ1−8、DQ9−16のビット幅に等しい。第1外部データ端子DQ1−8(下位バイト)に供給される書き込みデータは、アドレスA1−0に応じて、末尾に”L”の付くレギュラーセルアレイCA1L−CA4L(第1レギュラーセルアレイ)のいずれかに記憶される。第2外部データ端子DQ9−16(上位バイト)に供給される書き込みデータは、アドレスA1−0に応じて、末尾に”U”の付くレギュラーセルアレイCA1U−CA4U(第2レギュラーセルアレイ)のいずれかに記憶される。
レギュラーセルアレイCA1は、アドレスの最下位2ビット(A1、A0)が(0、0)のときにアクセスされる。同様に、レギュラーセルアレイCA2−4は、アドレス(A1、A0)が(0、1)、(1、0)、(1、1)のときにそれぞれアクセスされる。外部データ端子DQ1−16に供給される書き込みデータは、書き込み動作毎に、アドレスA1−0に応じて選択されるレギュラーセルアレイCA1−4のいずれかに書き込まれる。読み出し動作毎にレギュラーセルアレイCA1−4から読み出された64ビットのデータのうち、アドレスA1−0に応じて選択される16ビットが外部データ端子DQ1−16に出力される。
パリティセルアレイPCAは、レギュラーセルアレイCA1−4に記憶される64ビットのデータに対応する7ビットのパリティビット(パリティデータ)を記憶する。パリティセルアレイPCAに書き込まれる書き込みパリティデータCW1−7は、メインパリティ生成回路14により生成される。パリティセルアレイPCAから読み出される読み出しパリティデータCR1−7は、シンドローム生成回路16に出力される。
書き込み誤り訂正回路10は、外部からの読み出し要求に応答する読み出し動作において、レギュラーセルアレイCA1−4から読み出されるデータD1−64をそのまま訂正データDC1−64として出力する。書き込み誤り訂正回路10は、外部からの書き込み要求に応答する書き込み動作において、レギュラーセルアレイCA1−4から読み出されたデータD1−64を、書き込み誤り検出データEW1−64のビット値に応じて誤り訂正する。書き込み誤り訂正回路10は、書き込みシンドロームデコーダにより特定された誤りビットの論理を誤り訂正するために反転する反転回路(図示せず)を有している。反転回路は、例えば、EOR回路で構成される。書き込み誤り訂正回路10は、反転回路により訂正されたビットデータ(DC1−64の1ビット)を外部データ端子DQ1−16に供給される他のビットデータ(DC1−64のうち訂正されない残りのビット)とともにサブパリティ生成回路12に出力する。なお、書き込み動作におけるレギュラーセルアレイCA1−4からのデータD1−64の読み出しは、パリティセルアレイPCAがレギュラーセルアレイCA1−4に書き込まれる64ビットのデータのパリティデータを記憶するために必要である。
また、書き込み誤り訂正回路10は、書き込みシンドロームデコーダ18により特定されたビットデータを含む読み出しデータを保持するラッチ回路(図示せず)を有している。このため、外部データ端子DQ1−16を介して供給される書き込みデータのタイミングと、書き込み要求に応答してレギュラーセルアレイCA1−4から読み出される読み出しデータのタイミングとを同期させる必要がない。したがって、書き込みデータとラッチ回路に保持された読み出しデータとを用いてパリティデータを確実に生成できる。この結果、タイミング設計を容易にできる。また、タイミング仕様をユーザが使いやすい仕様に設定できる。さらに、書き込み動作において、レギュラーセルアレイCA1−4にそれぞれ書き込まれる書き込みデータが外部データ端子DQ1−16に順次供給される場合にも(後述する第2の実施形態に示すバースト書き込み動作など)、これ等データをラッチ回路により確実に保持できる。
サブパリティ生成回路12は、訂正データDC1−64からサブパリティデータDB1−32(バイトパリティ)を生成する。サブパリティ生成回路12の詳細は、後述する図4および図5で説明する。メインパリティ生成回路14は、サブパリティ生成回路12により生成されたサブパリティデータDB1−32を用いて書き込みパリティデータCW1−7を生成する。メインパリティ生成回路14の詳細は、後述する図7で説明する。
シンドローム生成回路16は、書き込みパリティデータCW1−7と読み出しパリティデータCR1−7の排他的論理和を演算することによりシンドロームS1−7を生成する。書き込みシンドロームデコーダ18は、書き込み要求に応答して開始される書き込みサイクルの最初にレギュラーセルアレイCA1−4から読み出されたデータD1−64を誤り訂正するために、シンドロームS1−7に応じて誤りが発生したビットを特定する。書き込みシンドロームデコーダ18は、誤りの発生したビットに対応する書き込み誤り検出データEWのビット(例えば、EW1)を、他のビット(例えば、EW2−64)と異なる論理レベルに設定する。
読み出しシンドロームデコーダ20は、読み出し動作時に、シンドロームS1−7および読み出しアドレスA1−0に応じて、外部データ端子DQ1−16に出力する16ビッ
トの読み出しデータ中にビット誤りがあるか否かを判定する。すなわち、読み出しシンドロームデコーダ20は、シンドロームS1−7と読み出しアドレスA1−0とに応じて、誤りが発生したビットデータに対応する外部データ端子DQ(DQ1−16のいずれか)を特定する。読み出しシンドロームデコーダ20は、誤りの発生したビットデータに対応する読み出し誤り検出データERのビット(例えば、ER7)を、他のビット(例えば、ER1−6、8−16)と異なる論理レベルに設定する。
書き込みデータ選択回路22は、書き込み動作時に、外部データ端子DQ1−16を介して供給される書き込みデータDW1−16を、アドレスA1−0に応じて、データ線D1−16、17−32、33−48、48−64のいずれかに出力する。読み出しデータ選択回路24は、読み出し動作中に、レギュラーセルアレイCA1−4から読み出される読み出しデータD1−64のうちアドレスA1−0に応じて選択される16ビットを、外部データ端子DQ1−16に出力するために選択データDS1−16として出力する。
読み出し誤り訂正回路26は、読み出しシンドロームデコーダ20により特定されたデータ端子DQ(DQ1−16のいずれか)に対応するビットデータを誤り訂正するために反転する反転回路(図示せず)を有している。反転回路は、例えば、EOR回路等で構成される。読み出し誤り訂正回路26は、選択データDS1−16のうちの1ビットを読み出し誤り検出データER1−16に応じて反転回路により反転することで誤り訂正し、読み出しデータDR1−16として出力する。
データ入出力バッファ28は、書き込み動作中に、外部データ端子DQ1−16に供給されるデータを書き込みデータDW1−16として出力する。データ入出力バッファ28は、読み出し動作中に、16ビットの読み出しデータDR1−16を外部データ端子DQ1−16に出力する。アドレスバッファ30は、データを読み書きするメモリセルを選択するためのアドレスをアドレス端子ADを介して受信する。
図2は、図1に示したセルアレイCA1−4、PCA、書き込み誤り訂正回路10、サブパリティ生成回路12、メインパリティ生成回路14およびシンドローム生成回路16の擬似SRAMチップ上でのレイアウトを示している。外部データ端子DQ1−8および外部データ端子DQ1−8に対応するセルアレイCA1L−4Lは、パリティセルアレイPCAの一方の側(図の左側)に配置されている。外部データ端子DQ9−16および外部データ端子DQ9−16に対応するセルアレイCA1U−4Uは、パリティセルアレイPCAの他方の側(図の右側)に配置されている。
レギュラーセルアレイCA1L−CA4L(第1レギュラーセルアレイ)、CA1U−CA4U(第2レギュラーセルアレイ)およびパリティセルアレイPCAは、データのビット幅が8ビットであり、互いに同じ回路および同じレイアウトを有する。パリティセルアレイPCAの記憶領域は、8ビットのうち1ビットが未使用である。レギュラーセルアレイCA1L、CA1U(または、CA2LとCA2U、CA3LとCA3U、CA4LとCA4U)は、共通なアドレスが割り当てられている。
書き込み誤り訂正回路10およびサブパリティ生成回路12は、セルアレイCA1L−4L、CA1U−4Uに対応する8つの書き込み誤り訂正回路回路10aおよびサブパリティ生成回路12aで構成されている。書き込み誤り訂正回路回路10aおよびサブパリティ生成回路12aは、セルアレイCA1L−4L、CA1U−4Uに対向する位置にそれぞれ配置されている。メインパリティ生成回路14およびシンドローム生成回路16は、パリティセルアレイPCAに対応して、擬似SRAMチップのほぼ中央にレイアウトされている。メインパリティ生成回路14およびシンドローム生成回路16を1箇所に配置することで、レイアウト設計等の効率を向上できる。
図に示すように、外部データ端子DQ1−8に供給されるデータD1−8を記憶するレギュラーセルアレイCA1L−4Lと、これ等セルアレイCA1L−4Lに対応する回路は、外部データ端子DQ1−8が形成される側に配置される。外部データ端子DQ9−16に供給されるデータD9−16を記憶するレギュラーセルアレイCA1U−4Uと、これ等セルアレイCA1U−4Uに対応する回路は、外部データ端子DQ9−16が形成される側に配置される。
本発明では、パリティデータを生成する回路は、レギュラーセルアレイCA1L−4L、CA1U−4Uに対応するサブパリティ生成回路12aとメインパリティ生成回路14とで構成されている。各サブパリティ生成回路12aから出力されるサブパリティデータDBのビット数(4ビット)は、各サブパリティ生成回路12に入力される訂正データDCのビット数(8ビット)の半分である。メインパリティ生成回路14に伝達されるデータの情報量は、サブパリティ生成回路12aにより半分になる。サブパリティ生成回路12aからメインパリティ生成回路14に出力されるサブパリティデータDBの信号線数を半減できるため、配線領域を削減でき、擬似SRAMのチップサイズを小さくできる。
図3は、レギュラーセルアレイCA1−4に記憶される64ビットのデータD1−64およびパリティセルアレイPCAに記憶されるパリティデータP1−7に対するシンドロームS1−7のコードの割り当てを示している。図中に網掛けで示したコードは、使用されないコードである。各コードの下に示した数値は、コードの十進表示である。
シンドロームS4−1(第1サブシンドローム)に対応するコードは、全てのセルアレイCA1−4において、対応する外部データ端子DQ毎に互いに等しい。例えば、各セルアレイCA1−4において、外部データ端子DQ5に対応するデータD5、D21、D37、D53のコードは、全て”0100”に割り当てられている。
シンドロームS7−5(第2サブシンドローム)に対応するコードは、セルアレイCA1−4毎に共通である。すなわち、セルアレイCA1に対応するデータD1−16のコードは、全て”011”である。同様に、セルアレイCA2−4に対応するデータD7−32のコードは、それぞれ”101”、”110”、”111”である。
上述したサブパリティ生成回路12およびメインパリティ生成回路14の論理は、図3に示したコードの割り当てに従って形成されている。コードの割り当ては、規則性を有している、例えば、4ビットのシンドロームS4−1により、誤りの発生した外部データ端子DQを特定できる。また、3ビットのシンドロームS7−5により、誤りの発生したレギュラーセルアレイCA1−4を特定できる。
図4および図5は、図1に示したサブパリティ生成回路12aの詳細を示している。各サブパリティ生成回路12aは、4つの4入力EOR回路を有している。各サブパリティ生成回路12aは、8ビットのデータから4ビットのサブパリティデータDBを生成する。以降の説明では、サブパリティデータDB1−32は、バイトパリティBPmL<n>、BPmU<n>(m、n:1、2、3、4)とも称する。ここで、”m”は、レギュラーセルアレイCA1−4の番号に対応する。
図6は、図4および図5に示したサブパリティ生成回路12aが生成するバイトパリティの概要を示している。ここでは、レギュラーセルアレイCA1に対応するバイトパリティBP1L<1>−BP1L<4>、BP1U<1>−BP1U<4>を示している。
バイトパリティBP1L<1>(=DB1)は、データD1−8のうち、シンドローム
S1のコードが”1”であるデータD2、D4、D6、D8の排他的論理和の演算により生成される。バイトパリティBP1U<1>(=DB5)は、データD9−16のうち、シンドロームS1のコードが”1”のデータD10、D12、D14、D16の排他的論理和の演算により生成される。バイトパリティBP1L<2>(=DB2)は、データD1−8のうち、シンドロームS2のコードが”1”のデータD3、D4、D7、D8の排他的論理和の演算により生成される。バイトパリティBP1U<2>(=DB6)は、データD9−16のうち、シンドロームS2のコードが”1”のデータD11、D12、D15、D16の排他的論理和の演算により生成される。
バイトパリティBP1L<3>(=DB3)は、データD1−8のうち、シンドロームS3のコードが”1”のデータD5−8の排他的論理和の演算により生成される。バイトパリティBP1U<3>(=DB7)は、データD9−16のうち、シンドロームS3のコードが”1”のデータD13−16の排他的論理和の演算により生成される。バイトパリティBP1L<4>(=DB4)は、データD1−8のうち、シンドロームS3のコードが”0”のデータD1−4の排他的論理和の演算により生成される。バイトパリティBP1U<4>(=DB8)は、データD9−16のうち、シンドロームS3のコードが”0”のデータD9−12の排他的論理和の演算により生成される。なお、レギュラーセルアレイCA2−4に対応するバイトパリティBPは、シンドロームS5−7の値が異なることを除き、図6と同じ太枠で示すことができる。
図7は、図1に示したメインパリティ生成回路14の詳細を示している。メインパリティ生成回路14は、書き込みパリティデータCW1−4を生成する4つの8入力EOR回路と、書き込みパリティデータCW5−7を生成するための7つの3入力EOR回路とを有している。
書き込みパリティデータCW1−7は、上述した図3の各シンドローム行において、”1”が割り当てられているデータDの排他的論理和を演算することで求められる。メインパリティ生成回路14は、サブパリティ生成回路12aにより生成された32個のバイトパリティBPmL<n>、BPmU<n>を用いてこの演算を行い、書き込みパリティデータCW1−7を生成する。すなわち、メインパリティ生成回路14、サブパリティデータDB1−32に応じてレギュラーセルアレイCA1−4に共通のパリティデータCW1−7を生成する。
書き込みパリティデータCW4を生成する8入力EOR回路は、書き込みパリティデータCW5−7を生成するために必要な中間パリティデータP1U、P2U、P3U、P4Uも生成する。中間パリティデータP1U、P2U、P3U、P4Uを受ける4つの3入力EOR回路は、書き込みパリティデータCW5−7を生成するために必要な中間パリティデータP1、P2、P3、P4を生成する。
図8は、図7に示したメインパリティ生成回路14が生成する中間パリティデータの概要を示している。図において十字を付けた丸印は、排他的論和の演算子を示している。中間パリティデータP1Uは、データD1−16のうち、シンドロームS4のコードが”1”のデータD9−16の排他的論理和の演算により生成される。中間パリティデータP2Uは、データD17−32のうち、シンドロームS4のコードが”1”のデータD25−32の排他的論理和の演算により生成される。中間パリティデータP3Uは、データD33−48のうち、シンドロームS4のコードが”1”のデータD41−48の排他的論理和の演算により生成される。中間パリティデータP4Uは、データD49−64のうち、シンドロームS4のコードが”1”のデータD57−64の排他的論理和の演算により生成される。
中間パリティデータP1は、シンドロームS5のコードが”1”のデータD1−16の排他的論理和の演算により生成される。中間パリティデータP2は、シンドロームS5のコードが”1”のデータD17−32の排他的論理和の演算により生成される。中間パリティデータP3は、シンドロームS5のコードが”0”のデータD33−48の排他的論理和の演算により生成される。中間パリティデータP4は、シンドロームS5のコードが”1”のデータD49−64の排他的論理和の演算により生成される。
以下に、本実施形態の擬似SRAMの読み出し動作および書き込み動作を説明する。擬似SRAMは、読み出し要求(読み出しコマンド)を受けると、レギュラーセルアレイCA1−4からそれぞれ16ビットのデータD1−16、D17−32、D33−48、D49−64を読み出し、パリティセルアレイPCAからパリティデータCR1−7を読み出す。読み出しデータD1−64が書き込み誤り訂正回路10を通過した後、サブパリティ生成回路12およびメインパリティ生成回路14によりパリティデータCW1−7が生成される。シンドローム生成回路16は、パリティデータCW1−7とパリティセルアレイPCAから読み出されたパリティデータCR1−7とを比較し、シンドロームS1−7を生成する。
次に、読み出しシンドロームデコーダ20は、シンドロームS1−7に応じて読み出し誤り検出データER1−16を生成する。読み出しデータ選択回路24は、読み出しコマンドとともに供給されたアドレスA1−0により選択されたレギュラーセルアレイCA(CA1−4のいずれか)が出力する16ビットの読み出しデータを選択し、選択データDS1−16として出力する。読み出し誤り訂正回路26は、読み出し誤り検出データER1−16に応じて誤りのあるビットデータを訂正し、訂正したデータを読み出しデータDR1−16として出力する。そして、データ入出力バッファ28により、読み出しデータDR1−16が外部データ端子DQ1−16に出力され、読み出し動作が完了する。
一方、擬似SRAMは、書き込み要求(書き込みコマンド)を受けると、読み出し動作と同様に、レギュラーセルアレイCA1−4からデータD1−64を読み出し、パリティセルアレイPCAからパリティデータCR1−7を読み出す。この後、シンドローム生成回路16によりシンドロームS1−7が生成されるまでの動作は、読み出し動作と同様である。書き込み動作では、書き込み用シンドロームデコーダ18が動作し、シンドロームS1−7はデコードされる。書き込み用シンドロームデコーダ18は、シンドロームS1−7に応じて書き込み誤り検出データ信号EW1−64を生成する。書き込み誤り訂正回路10は、書き込み誤り検出データEW1−64に応じて、読み出しデータD1−64のビット誤りを訂正する。
誤り訂正の動作が終了すると、データ入出力バッファ28は、外部データ端子DQ1−16で受けた書き込みデータDW1−16を書き込みデータ選択回路22に出力する。書き込みデータ選択回路22は、書き込みコマンドとともに供給されたアドレスA1−0によりに選択されるレギュラーセルアレイCA(CA1−4のいずれか)にデータを転送する。そして、16ビットの書き込みデータDW1−16は、レギュラーセルアレイCA1−4のいずれかに書き込まれる。この時、データが書き込まれるレギュラーセルアレイCA内のライトアンプは、書き込みデータDW1−16をラッチする。データが書き込まれない3つのレギュラーセルアレイCA内のライトアンプは、最初に読み出されたデータをラッチし続ける。
書き込みデータと読み出しデータとを合わせた64ビットのデータD1−64は、書き込み誤り訂正回路10を再度通過し、サブパリティ生成回路12に転送される。そして、サブパリティ生成回路12およびメインパリティ生成回路14により、パリティデータCW1−7が生成される。生成されたパリティデータCW1−7は、パリティセルアレイP
CAに書き込まれ、書き込み動作完了する。
以上、本実施形態では、メインパリティ生成回路14を分散して配置することなく、パリティセルアレイPCAに対向する位置に形成することで、レイアウト設計およびレイアウト検証等が煩雑になることを防止できる。
シンドロームS1−7を、図3に示すようにS1−4とS5−7に分け、外部データ端子DQ1−16およびレギュラーセルアレイCA1−4の番号に対応して割り当てることで、サブパリティ生成回路12およびメインパリティ生成回路14の論理に規則性を持たせることができ、これ等回路を簡易に構成できる。
読み出し動作において、64ビットの読み出しデータの中から外部データ端子DQ1−16に実際に出力されるデータのみに着目して読み出しデータを誤り訂正することで、読み出し誤り訂正回路26の回路規模を小さくできる。この結果、擬似SRAMのチップサイズを小さくできる。
サブパリティ生成回路12およびメインパリティ生成回路14を、読み出し動作だけでなく書き込み動作でも使用することで、パリティ生成回路12、14が冗長に形成されることを防止でき、回路規模を削減できる。
本発明では、レギュラーセルアレイCA1−4に共通なパリティセルアレイPCAを形成し、外部データ端子DQ1−16に供給される書き込みデータは、アドレスA1−0に応じてレギュラーセルアレイCA1−4のいずれかに書き込まれる。このアーキテクチャでは、データをレギュラーセルアレイCA1−4に書き込む前に、書き込み要求に応答してレギュラーセルアレイCA1−4からデータを読み出す必要がある。この際、書き込みシンドロームデコーダ18および書き込み誤り訂正回路10により、データが書き込まれないレギュラーセルアレイCAに記憶されるデータの誤りに対応してパリティデータを確実に更新できる。
書き込み誤り訂正回路10にラッチ回路を形成することで、書き込み動作において、レギュラーセルアレイCA1−4から読み出されるデータを、外部データ端子DQ1−16を介して供給される書き込みデータに同期して書き込み誤り訂正回路10に供給する必要がなくなる。ラッチ回路にラッチされたデータを用いてサブパリティデータDB1−32を生成できるため、パリティデータを生成する回路のタイミング設計を容易にできる。また、回路の動作マージンを確保できるため、擬似SRAMの歩留を向上できる。
図9は、本発明の半導体メモリの第2の実施形態を示している。第1の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この半導体メモリは、シリコン基板上にCMOSプロセスを使用して擬似SRAMとして形成されている。
擬似SRAMは、一対のメモリユニットMU1、MU2を有している。各メモリユニットMU1−2は、書き込み誤り訂正回路10、サブパリティ生成回路12、メインパリティ生成回路15、シンドローム生成回路16、書き込みシンドロームデコーダ18、読み出しシンドロームデコーダ20、書き込みデータ選択回路22、読み出しデータ選択回路24および読み出し誤り訂正回路26を有している。シンドローム生成回路16は、パリティデータCW1−7(またはCW8−14)ではなく、パリティ生成回路15から出力されるパリティデータCP1−7(またはCP8−14)を受ける。
メモリユニットMU1は、レギュラーセルアレイCA1−4(レギュラーセルアレイ対
)およびパリティセルアレイPCA1を有している。パリティセルアレイPCA1は、レギュラーセルアレイCA1−4に書き込まれるデータのパリティデータを記憶する。メモリユニットMU2は、レギュラーセルアレイCA5−8(レギュラーセルアレイ対)およびパリティセルアレイPCA2を有している。パリティセルアレイPCA2は、レギュラーセルアレイCA5−8に書き込まれるデータのパリティデータを記憶する。
レギュラーセルアレイCA5−8は、レギュラーセルアレイCA1−4と同じ回路であり、レギュラーセルアレイCA5L、CA5U、CA6L、CA6U、CA7L、CA7U、CA8L、CA8Uで構成されている。パリティセルアレイPCA1−2は、第1の実施形態のパリティセルアレイPCAと同じ回路である。各メモリユニットMU1−2は、外部データ端子DQ1−16との対応関係を除き、上述した図2と同じ回路配置を有している。図9に示すように、この実施形態の半導体メモリは、第1の実施形態(図1)の主要な回路要素を2組(メモリユニットMU1−2として)有している。データ入出力バッファ28、アドレスバッファ30および外部データ端子DQ1−16は、メモリユニットMU1−2に共通の要素である。
レギュラーセルアレイCA1−4は、アドレスA2=”0”に割り当てられ、レギュラーセルアレイCA5−8は、アドレスA2ビット=”1”に割り当てられている。レギュラーセルアレイCA1−8は、図に示すように、アドレス(A2、A1、A0)の値に応じて選択され、アクセスされる。メモリユニットMU1−2は、同時に動作する。例えば、書き込み動作では、外部データ端子DQ1−16に供給される書き込みデータは、アドレスに応じてレギュラーセルアレイCA1−8にいずれかに書き込まれる。読み出し動作では、レギュラーセルアレイCA1−8から読み出される128ビットのデータのうちドレスに応じて選択されるレギュラーセルアレイCA(CA1−8のいずれか)からの16ビットが外部データ端子DQ1−16に出力される。書き込み動作および読み出し動作では、メモリユニットMU1−2毎に、パリティデータが生成される。
図10は、図9に示したメインパリティ生成回路15の詳細を示している。各メインパリティ生成回路15は、パリティ生成回路15a、サブパリティ保持回路15b、サブパリティ演算回路15c、メインパリティ保持回路15d、メインパリティ演算回路15eおよびパリティドライブ回路15fを有している。
パリティ生成回路15aは、第1の実施形態のメインパリティ生成回路14と同じ機能を有しており、サブパリティ生成回路12からのサブパリティデータDB1−32のパリティデータCP1−7を生成する。サブパリティ保持回路15bは、レギュラーセルアレイCA1(またはCA5)に対応するサブパリティデータDB1−8を保持する8ビットのラッチ回路を有している。メインパリティ生成回路15に供給されるサブパリティデータDB1−32の情報量は、サブパリティ生成回路12により元のデータD1−64の半分に減らされている。このため、サブパリティ保持回路15bで保持するビット数を少なくでき、サブパリティ保持回路15bの回路規模を削減できる。
サブパリティ演算回路15cは、サブパリティ保持回路15bに保持されているサブパリティデータDB1−8と、新たに生成されるサブパリティデータDB1−8とを比較し、その違いを示す差分パリティデータDF1−7を生成する。差分パリティデータDF1−7は、パリティデータCP1−7に対応しており、2つのサブパリティデータDB1−8のみを用いて生成されるパリティデータである。
メインパリティ保持回路15dは、パリティ生成回路15aにより生成されるパリティデータCP1−7を保持する7ビットのラッチ回路を有している。メインパリティ演算回路15eは、メインパリティ保持回路15dに保持されているパリティデータCP1−7
を差分パリティデータDF1−7に応じて修正し、パリティデータCF1−7を生成する。パリティドライブ回路15fは、パリティデータCP1−7またはCF1−7のいずれかを動作状態に応じて選択し、パリティデータCW1−7として出力する。
サブパリティ保持回路15b、サブパリティ演算回路15c、メインパリティ保持回路15dおよびメインパリティ演算回路15eは、後述するバースト書き込み動作においてのみ動作する。バースト読み出し動作を含む読み出し動作では、パリティ生成回路15aにより生成されるパリティデータが、読み出しデータの誤り訂正をするためにシンドローム生成回路16に供給される。
次に、本実施形態の擬似SRAMのバースト書き込み動作を説明する。バースト書き込み動作は、外部データ端子DQ1−16に連続して供給される書き込みデータDW1−16を、直列並列変換し、レギュラーセルアレイ対CA1−8の複数に書き込む機能である。擬似SRAMは、レギュラーセルアレイ対CA1−8から同時に読み出させるデータを並列直列変換し、外部データ端子DQ1−16に順次出力するバースト読み出し動作機能を有している。外部データ端子DQ1−16に入出力されるデータの数は、予めバースト長として擬似SRAMのモードレジスタ等に設定される。以下では、バースト長が”8”に設定されている例について説明する。また、この例では、書き込み動作の開始アドレスは、(A2、A1、A0)=(0、0、1)である。このため、外部データ端子DQ1−16による書き込みデータの受信は、レギュラーセルアレイCA2、CA3、CA4、CA5、CA6、CA7、CA8、CA1の順に実行される。
まず、擬似SRAMは、書き込みコマンドが供給されると、レギュラーセルアレイCA1−4からデータD1−64を読み出し、パリティセルアレイPCA1からパリティデータCR1−7を読み出す。書き込み誤り訂正回路10は、読み出しデータD1−64に誤りがある場合、第1の実施形態と同様に誤りを訂正し、訂正データDC1−64として出力する。
ライトデータ選択回路22は、レギュラーセルアレイCA2−4に書き込むために順次供給されるデータDW1−16を、アドレスに応じてデータバスD17−32、D33−48、D49−64に転送する。すなわち、直列並列変換が実施される。サブパリティ生成回路12は、データD17−64を用いてサブパリティデータDB9−32を生成する。パリティ生成回路15aは、予め生成されているサブパリティデータDB1−8と、新たに生成されたサブパリティデータDB9−32を用いてパリティデータCP1−7を生成する。
そして、パリティデータCP1−7は、レギュラーセルアレイCA4に書き込む3番目の書き込みデータの供給に同期して、パリティデータCW1−7としてパリティセルアレイPCA1に書き込まれる。このように、書き込みデータD1−16は、メモリユニットMU単位で書き込まれる。同時に、書き込みデータD1−64は、レギュラーセルアレイCA1−4に書き込まれる。この際、パリティデータCW1−7および書き込みデータD1−64は、アドレスに応じて選択されるコラム選択線を介して、所定のメモリセルに書き込まれる。ここで、レギュラーセルアレイCA1に書き込まれるデータD1−16は、書き込みデータの最初にレギュラーセルアレイCA1から読み出されたデータである。データの書き込みに同期して、サブパリティ保持回路15bは、レギュラーセルアレイCA1に対応するサブパリティデータDB1−8をラッチし、メインパリティ保持回路15dは、パリティデータCP1−7をラッチする。この際、サブパリティ演算回路15c、メインパリティ保持回路15dおよびメインパリティ演算回路15eは、動作しない。
次に、擬似SRAMは、レギュラーセルアレイCA5−8からデータD65−128を
読み出し、パリティセルアレイPCA2からパリティデータCR8−14を読み出す。書き込み誤り訂正回路10は、読み出しデータD65−128に誤りがある場合、誤りを訂正し、訂正データDC65−128として出力する。ライトデータ選択回路22は、レギュラーセルアレイCA5−8に書き込むために順次供給されるデータDW1−16を、アドレスに応じてデータバスD65−80、81−96、97−112、113−128に転送する。サブパリティ生成回路12は、データD65−128を用いてサブパリティデータDB33−64を生成する。パリティ生成回路15aは、サブパリティデータDB33−64を用いてパリティデータCP8−14を生成する。この際、サブパリティ演算回路15c、メインパリティ保持回路15dおよびメインパリティ演算回路15eは、動作しない。サブパリティ保持回路15bは、サブパリティデータDB33−64をラッチしてもよく、ラッチしなくてもよい。
そして、レギュラーセルアレイCA8に書き込む7番目の書き込みデータの供給に同期して、パリティデータCP8−14は、パリティデータCW8−14としてパリティセルアレイPCA2に書き込まれる。同時に、書き込みデータD65−128は、レギュラーセルアレイCA5−8に書き込まれる。パリティデータCW8−14および書き込みデータD65−128は、アドレスに応じて選択されるコラム選択線を介して、所定のメモリセルに書き込まれる。
次に、擬似SRAMは、8番目の書き込みデータD1−16を受信する。ライトデータ選択回路22は、書き込みデータDW1−16を、アドレスに応じてデータバスD1−16に転送する。書き込みデータD1−16に対応するサブパリティ生成回路12は、データD1−16を用いてサブパリティデータDB1−8を生成する。サブパリティ演算回路15cは、サブパリティ保持回路15bに保持されているサブパリティデータDB1−8と、サブパリティ生成回路12により新たに生成されたサブパリティデータDB1−8との違いを示す差分パリティデータDF1−7を生成する。メインパリティ演算回路15eは、差分パリティデータDF1−7を、メインパリティ保持回路15dに保持されているパリティデータCP1−7に反映させ、新たなパリティデータCF1−7を生成する。このように、サブパリティ演算回路15c、メインパリティ保持回路15dおよびメインパリティ演算回路15eは、バースト書き込み動作において、レギュラーセルアレイCA1に書き込まれる最後の書き込みデータの供給にのみ応答して動作する。新たなパリティデータCF1−7は、1番目から3番目に供給され、レギュラーセルアレイCA2−4に書き込まれた48ビットのデータと、8番目に供給された16ビットのデータとから生成されるパリティデータに等しい。すなわち、レギュラーセルアレイCA2−4に対応するサブパリティデータDB9−32を用いることなく、新たなパリティデータCF1−7を生成できる。パリティドライブ回路15fは、パリティデータCF1−7をパリティデータCW1−7として出力する。
そして、レギュラーセルアレイCA1に書き込む8番目の書き込みデータの供給に同期して、パリティデータCW1−7は、パリティセルアレイPCA1に書き込まれる。同時に、書き込みデータD1−64は、レギュラーセルアレイCA1−4に書き込まれる。なお、レギュラーセルアレイCA1−4に対応する書き込みデータは、1番目から3番目のデータを書き込んだときに、レギュラーセルアレイCA1−4内のライトアンプ(図示せず)に保持されているデータである。本実施形態では、上述のようにレギュラーセルアレイCA2(あるいはCA6)からバースト書き込みが実施される場合に、レギュラーセルアレイCA1(あるいはCA5)に対応する最後の書き込みデータを含む64ビットのデータを書き込むときに、レギュラーセルアレイCA1−4(あるいはCA5−8)およびパリティセルアレイPCA1(あるいはPCA2)からデータを読み出す必要がない。したがって、最後の書き込み動作を、バースト書き込み動作におけるデータの供給間隔である1サイクル時間内に完了できる。
この実施形態においても、上述した第1の実施形態と同様の効果を得ることができる。さらに、この実施形態では、バースト書き込み動作における最後の書き込み動作において、レギュラーセルアレイCA2−4からデータを読み出すことなく新たなパリティデータCF1−7を生成できる。したがって、最初のアクセスでレギュラーセルアレイCA1−4からのデータを読み出しておくことで、2回目のアクセスでは、レギュラーセルアレイCA1−4からデータを読み出すことなくパリティデータCF1−7を生成できる。この結果、2回目のアクセスに必要な時間を短縮できる。バースト書き込み動作では、最後の書き込み動作をバースト開始アドレスに依存せず1サイクル時間内に完了できる。したがって、バースト書き込みサイクル時間を短縮できる。また、メインパリティ生成回路15に供給されるサブパリティデータDB1−32(又はDB33−64)の情報量は、サブパリティ生成回路12により減らされている。このため、サブパリティ保持回路12で保持するビット数を少なくでき、サブパリティ保持回路の回路規模を削減できる。
なお、上述した実施形態では、本発明を疑似SRAMに適用する例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明をDRAM、SRAM、強誘電体メモリ等の他の半導体メモリに適用しても同様の効果を得ることができる。
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
本発明は、誤り訂正機能を有する半導体メモリに適用できる。
本発明の半導体メモリの第1の実施形態を示すブロック図である。 図1の要部のレイアウトを示すブロック図である。 シンドロームのコードの割り当てを示す説明図である。 図1に示したサブパリティ生成回路の詳細を示す回路図である。 図1に示したサブパリティ生成回路の詳細を示す回路図である。 図4および図5に示したサブパリティ生成回路が生成するバイトパリティの概要を示す説明図である。 図1に示したメインパリティ生成回路の詳細を示す回路図である。 図7に示したメインパリティ生成回路が生成する中間パリティデータの概要を示す説明図である。 本発明の半導体メモリの第2の実施形態を示すブロック図である。 図9に示したメインパリティ生成回路の詳細を示すブロック図である。
符号の説明
10、10a 書き込み誤り訂正回路
12、12a サブパリティ生成回路
14 メインパリティ生成回路
15 メインパリティ生成回路
15a パリティ生成回路
15b サブパリティ保持回路
15c サブパリティ演算回路
15d メインパリティ保持回路
15e メインパリティ演算回路
15f パリティドライブ回路
16 シンドローム生成回路
18 書き込みシンドロームデコーダ
20 読み出しシンドロームデコーダ
22 書き込みデータ選択回路
24 読み出しデータ選択回路
26 読み出し誤り訂正回路
28 データ入出力バッファ
30 アドレスバッファ
AD アドレス
CA1−4、5−8 レギュラーセルアレイ
CA1L、CA1U、CA2L、CA2U レギュラーセルアレイ
CA3L、CA3U、CA4L、CA4U レギュラーセルアレイ
CR1−7、8−14 読み出しパリティデータ
CW1−7、8−14 書き込みパリティデータ
D1−64、65−128 データ
DB1−32、33−64 サブパリティデータ
DC1−64、65−128 訂正データ
DQ1−16 外部データ端子
DR1−16 読み出しデータ
DS1−16、17−32 選択データ
DW1−16 書き込みデータ
ER1−16、17−32 読み出し誤り検出データ
EW1−64、65−128 書き込み誤り検出データ
PCA パリティセルアレイ
S1−7、8−14 シンドローム

Claims (8)

  1. パリティデータが書き込まれるパリティセルアレイと、
    前記パリティセルアレイに対して一方の側に配置され、複数ビットの書き込みデータが書き込まれる複数の第1レギュラーセルアレイと、
    前記パリティセルアレイに対して他方の側に配置され、複数ビットの書き込みデータが書き込まれる複数の第2レギュラーセルアレイと、
    前記第1レギュラーセルアレイにデータを入出力するために、前記一方の側に配置される複数の第1外部データ端子と、
    前記第2レギュラーセルアレイにデータを入出力するために、前記他方の側に配置される複数の第2外部データ端子と、
    データを読み書きするメモリセルを選択するためのアドレスを受けるアドレス端子と、
    前記第1および第2レギュラーセルアレイに対応して配置され、前記第1および第2レギュラーセルアレイから同時に読み出される読み出しデータに応じてサブパリティデータをそれぞれ生成する複数のサブパリティ生成回路と、
    前記パリティセルアレイに対応して配置され、前記サブパリティデータに応じて前記第1および第2レギュラーセルアレイに共通の前記パリティデータを生成するメインパリティ生成回路と、
    前記パリティセルアレイから読み出されるパリティデータと前記メインパリティ生成回路により生成されるパリティデータとに応じてシンドロームを生成するシンドローム生成回路と、
    前記第1および第2レギュラーセルアレイからの読み出しデータを、前記シンドロームに応じて訂正する読み出し誤り訂正回路とを備え、
    前記各第1および第2レギュラーセルアレイのデータのビット幅は、前記第1および第2外部データ端子のビット幅に等しく、
    前記第1外部データ端子に供給されるデータは、前記アドレスに応じて前記第1レギュラーセルアレイのいずれかに書き込まれ、
    前記第2外部データ端子に供給されるデータは、前記アドレスに応じて前記第2レギュラーセルアレイのいずれかに書き込まれ、
    前記第1および第2レギュラーセルアレイと前記サブパリティ生成回路との間にそれぞれ配置され、書き込み要求に応答して前記第1および第2レギュラーメモリセルから読み出される読み出しデータを誤り訂正し、訂正したデータを前記第1および第2外部データ端子に供給される書き込みデータとともに前記サブパリティ生成回路に出力するとともに、読み出し要求に応答して前記第1および第2レギュラーセルアレイから読み出される読み出しデータを前記サブパリティ生成回路にそのまま出力する書き込み誤り訂正回路を備え、
    前記サブパリティ生成回路および前記メインパリティ生成回路は、前記第1および第2レギュラーセルアレイに書き込まれるデータのパリティデータだけでなく、前記第1および第2レギュラーセルアレイから読み出されるデータのパリティデータを生成することを特徴とする半導体メモリ。
  2. 請求項1記載の半導体メモリにおいて、
    共通なアドレスが割り当てられた第1および第2レギュラーセルアレイによりレギュラーセルアレイ対が構成され、
    前記レギュラーセルアレイ対に入出力されるデータを構成するビットにそれぞれ対応して、複数ビットで構成されるシンドローム値が割り当てられ、
    前記シンドローム値のうち所定数のビットで構成される第1サブシンドローム値は、前記レギュラーセルアレイ対において、対応する外部データ端子毎に互いに等しく、残りのビットで構成される第2サブシンドローム値は、前記レギュラーセルアレイ対毎に等しく、
    前記サブパリティ生成回路および前記メインパリティ生成回路の論理は、前記シンドローム値の割り当てに従って構成されていることを特徴とする半導体メモリ。
  3. 請求項1記載の半導体メモリにおいて、
    前記第1および第2レギュラーセルアレイから読み出される読み出しデータの中から前記第1および第2外部データ端子に出力するデータをアドレスに応じて選択する読み出しデータ選択回路を備え、
    前記読み出し誤り訂正回路は、前記データ選択回路により選択された読み出しデータのみを誤り訂正することを特徴とする半導体メモリ。
  4. 請求項3記載の半導体メモリにおいて、
    前記シンドロームと前記アドレスとに応じて、誤りが発生したビットデータに対応する前記第1または第2外部データ端子を特定する読み出しシンドロームデコーダを備え、
    前記読み出し誤り訂正回路は、前記読み出しシンドロームデコーダにより特定されたデータ端子に対応するビットデータを誤り訂正するために反転する反転回路を備えていることを特徴とする半導体メモリ。
  5. 請求項1記載の半導体メモリにおいて、
    前記書き込み要求に応答して前記第1および第2レギュラーメモリセルから読み出される読み出しデータにより生成されるシンドロームに応じて、誤りが発生したビットを特定する書き込みシンドロームデコーダを備え、
    前記書き込み誤り訂正回路は、前記読み出しデータにおける前記書き込みシンドロームデコーダにより特定されたビットデータを反転する反転回路を備えていることを特徴とする半導体メモリ。
  6. 請求項5記載の半導体メモリにおいて、
    前記書き込み誤り訂正回路は、前記書き込みシンドロームデコーダにより特定されたビットデータを含む読み出しデータを保持するラッチ回路を備えていることを特徴とする半導体メモリ。
  7. 請求項1記載の半導体メモリにおいて、
    前記パリティセルアレイ、前記第1および第2レギュラーセルアレイ、前記サブパリティ生成回路、前記メインパリティ生成回路、前記シンドローム生成回路および前記読み出し誤り訂正回路を有する一対のメモリユニットを備え、
    前記各メモリユニットの前記メインパリティ生成回路は、
    前記サブパリティデータを保持するサブパリティ保持回路と、
    前記サブパリティ保持回路に保持されているサブパリティデータと、前記サブパリティ生成回路により新たに生成されるサブパリティデータとの違いを示す差分パリティデータを生成するサブパリティ演算回路と、
    前記パリティデータを保持するメインパリティ保持回路と、
    前記メインパリティ保持回路に保持されているパリティデータと、前記差分パリティデータとを演算し、新たなパリティデータを生成するメインパリティ演算回路とを備えていることを特徴とする半導体メモリ。
  8. 請求項7記載の半導体メモリにおいて、
    共通なアドレスが割り当てられた第1および第2レギュラーセルアレイによりレギュラーセルアレイ対が構成され、
    半導体メモリは、前記第1および第2外部データ端子に連続して所定の回数だけ供給される書き込みデータを直列並列変換し、前記メモリユニットの全ての前記レギュラーセルアレイ対に書き込むバースト書き込み機能を有し、受信した書き込みデータを前記メモリユニット単位で書き込み、
    前記サブパリティ演算回路および前記メインパリティ演算回路は、前記バースト書き込み動作において、前記各メモリユニットにおいてデータが書き込まれるレギュラーセルアレイ対が1つだけのときのみに動作し、
    前記サブパリティ保持回路および前記サブパリティ演算回路は、この1つのレギュラーセルアレイ対のみに対応して形成されていることを特徴とする半導体メモリ。
JP2004369504A 2004-12-21 2004-12-21 半導体メモリ Expired - Fee Related JP4980565B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004369504A JP4980565B2 (ja) 2004-12-21 2004-12-21 半導体メモリ
US11/092,704 US7366971B2 (en) 2004-12-21 2005-03-30 Semiconductor memory having sub-party cell array error correction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004369504A JP4980565B2 (ja) 2004-12-21 2004-12-21 半導体メモリ

Publications (2)

Publication Number Publication Date
JP2006179056A JP2006179056A (ja) 2006-07-06
JP4980565B2 true JP4980565B2 (ja) 2012-07-18

Family

ID=36654766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004369504A Expired - Fee Related JP4980565B2 (ja) 2004-12-21 2004-12-21 半導体メモリ

Country Status (2)

Country Link
US (1) US7366971B2 (ja)
JP (1) JP4980565B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4864395B2 (ja) * 2005-09-13 2012-02-01 株式会社東芝 半導体記憶装置
KR100827662B1 (ko) * 2006-11-03 2008-05-07 삼성전자주식회사 반도체 메모리 장치 및 이 장치의 데이터 오류 검출 및정정 방법
EP2478521A2 (en) * 2009-09-16 2012-07-25 Rambus Inc. Configurable memory banks of a memory device
JP5346354B2 (ja) * 2011-05-17 2013-11-20 シャープ株式会社 不揮発性半導体記憶装置
JP6018508B2 (ja) * 2013-01-09 2016-11-02 エスアイアイ・セミコンダクタ株式会社 不揮発性半導体記憶装置及びそのテスト方法
KR20150028118A (ko) * 2013-09-05 2015-03-13 삼성전자주식회사 메모리 장치의 동작 방법, 이를 이용한 데이터 기입 방법 및 데이터 독출 방법
US9760438B2 (en) 2014-06-17 2017-09-12 Arm Limited Error detection in stored data values
US9529671B2 (en) * 2014-06-17 2016-12-27 Arm Limited Error detection in stored data values
KR102204390B1 (ko) 2014-09-12 2021-01-18 삼성전자주식회사 빠른 불량 셀 구제 동작의 메모리 장치
US9891976B2 (en) 2015-02-26 2018-02-13 Arm Limited Error detection circuitry for use with memory
KR102457144B1 (ko) 2017-04-18 2022-10-20 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10289486B2 (en) * 2017-07-13 2019-05-14 Omnivision Technologies, Inc. Memory with pattern oriented error correction code
KR102432551B1 (ko) 2018-02-13 2022-08-16 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
KR102583797B1 (ko) * 2018-04-09 2023-10-05 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10769014B2 (en) * 2018-12-28 2020-09-08 Micron Technology, Inc. Disposable parity

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0785360B2 (ja) * 1985-11-19 1995-09-13 日本電気株式会社 半導体記憶装置
JPS62214599A (ja) * 1986-03-14 1987-09-21 Fujitsu Ltd 半導体記憶装置
JPS63129600A (ja) * 1986-11-19 1988-06-01 Nec Corp 誤り検出・訂正回路付半導体記憶装置
JP2583547B2 (ja) * 1988-01-13 1997-02-19 株式会社日立製作所 半導体メモリ
JPH01235100A (ja) * 1988-03-15 1989-09-20 Hitachi Ltd 半導体記憶装置
JP2745252B2 (ja) * 1991-06-24 1998-04-28 三菱電機株式会社 半導体記憶装置
US6026052A (en) * 1994-05-03 2000-02-15 Fujitsu Limited Programmable semiconductor memory device
US6009026A (en) * 1997-07-28 1999-12-28 International Business Machines Corporation Compressed input/output test mode
JPH11219598A (ja) * 1998-02-03 1999-08-10 Mitsubishi Electric Corp 半導体記憶装置
US6163863A (en) * 1998-05-22 2000-12-19 Micron Technology, Inc. Method and circuit for compressing test data in a memory device
JP2000348497A (ja) * 1999-06-08 2000-12-15 Toshiba Corp 半導体記憶装置
JP4877894B2 (ja) * 2001-07-04 2012-02-15 ルネサスエレクトロニクス株式会社 半導体装置
US7032142B2 (en) * 2001-11-22 2006-04-18 Fujitsu Limited Memory circuit having parity cell array

Also Published As

Publication number Publication date
JP2006179056A (ja) 2006-07-06
US7366971B2 (en) 2008-04-29
US20060156214A1 (en) 2006-07-13

Similar Documents

Publication Publication Date Title
JP4980565B2 (ja) 半導体メモリ
US7464320B2 (en) Synchronous semiconductor storage device having error correction function
US7212453B2 (en) Semiconductor memory having an error correction function
TWI424442B (zh) 多層單位記憶體之資料路徑,儲存之方法及利用記憶體陣列之方法
US20050229080A1 (en) Semiconductor memory device equipped with error correction circuit
JP2007140948A (ja) 積層メモリ
JPH11213574A (ja) データ記憶システム
US6219807B1 (en) Semiconductor memory device having an ECC circuit
US11474718B2 (en) Processing-in-memory (PIM) device and PIM system including the PIM device
IT201800000580A1 (it) Metodo di aggiornamento in tempo reale di una memoria differenziale con accessibilita' continua in lettura, memoria differenziale e sistema elettronico
US20090086551A1 (en) Semiconductor device
JP2006179057A (ja) 半導体メモリ
TWI689935B (zh) 具糾錯電路的記憶體
KR100852590B1 (ko) 메모리 제어 회로 및 메모리 제어 방법
JPH0357048A (ja) 半導体メモリ
JP5617776B2 (ja) メモリ回路,メモリ装置及びメモリデータの誤り訂正方法
CN112669895A (zh) 测试电路及采用该测试电路的存储芯片
JP6862487B2 (ja) エラー訂正回路を有するメモリ
JP5062874B2 (ja) 半導体記憶装置
KR102194914B1 (ko) 에러 정정 회로를 가지는 메모리
JPH0440697A (ja) 半導体記憶装置
KR101124860B1 (ko) 메모리의 엑세스 방법
KR20160139155A (ko) 에러 보정 기능을 갖는 메모리 장치 및 그의 에러 보정 방법
KR20070072229A (ko) Eds 구조를 이용하는 반도체 메모리 장치
JP5412769B2 (ja) フラッシュメモリ制御装置、フラッシュメモリ制御方法及びフラッシュメモリ制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071016

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101012

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101109

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120419

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

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees