JP3944380B2 - 誤り訂正回路を備えた半導体記憶装置 - Google Patents

誤り訂正回路を備えた半導体記憶装置 Download PDF

Info

Publication number
JP3944380B2
JP3944380B2 JP2001343316A JP2001343316A JP3944380B2 JP 3944380 B2 JP3944380 B2 JP 3944380B2 JP 2001343316 A JP2001343316 A JP 2001343316A JP 2001343316 A JP2001343316 A JP 2001343316A JP 3944380 B2 JP3944380 B2 JP 3944380B2
Authority
JP
Japan
Prior art keywords
data
error correction
node
main
circuit
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 - Lifetime
Application number
JP2001343316A
Other languages
English (en)
Other versions
JP2003151297A (ja
Inventor
博 高橋
章浩 嶽釜
寛史 君塚
治 半田
Original Assignee
日本テキサス・インスツルメンツ株式会社
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 日本テキサス・インスツルメンツ株式会社 filed Critical 日本テキサス・インスツルメンツ株式会社
Priority to JP2001343316A priority Critical patent/JP3944380B2/ja
Priority to US10/245,209 priority patent/US7069493B2/en
Publication of JP2003151297A publication Critical patent/JP2003151297A/ja
Priority to US11/130,059 priority patent/US7426683B2/en
Application granted granted Critical
Publication of JP3944380B2 publication Critical patent/JP3944380B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Error Detection And Correction (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、記憶データの誤りを訂正する誤り訂正回路を備えた半導体記憶装置に関するものである。
【0002】
【従来の技術】
近年、SRAMの急激な微細化と電源電圧のスケーリングにより、半導体記憶装置、例えば、SRAMにおけるデータ誤り(Soft Error Rate 、以下便宜上SERと記述する)の増加問題が顕在化している。例えば、現在一般的に使用されている6トランジスタSRAMの場合、従来のDRAMのようにキャパシタとして50fF以上の容量を確保するための特殊なキャパシタプロセスを持たない。特にロジックプロセスで設計されるSRAMの場合は、汎用のDRAMに比べてSERが深刻になっている。今後更なるスケーリングが継続していくと、SERの問題がさらに顕著となり、SRAMのスケーリングに対して大きな障害になると予測できる。
【0003】
DSPのオンチップのメモリ容量の増加はこの危機を一層増している。例えば、データメモリとして使用する場合、1ビットのデータエラーによる誤動作はそれほど問題はないが、プログラムメモリとして使用する場合、1ビットのデータエラーでもDSPが制御不能に陥る危険性がある。
【0004】
従来、汎用のDRAMにおいてSER対策として誤り検査及び訂正(Error Check and Correction、以下ECCと表記する)の技術が用いられていた。ところが、汎用DRAMにおいてオンチップでECCを行うよりシステムレベルで行った方がコスト、信頼性、または性能の面では有利である。現在、半導体製造技術の進歩に伴い、更なる微細化及び低電源電圧化が進んでおり、オンチップ上でシステムを構成しているDSP、ARMなどを混載したcDSPにおいては、チップレベルでこの問題に対処する必要性が益々重要になってきている。
【0005】
ECCの代表的なアルゴリズムとして、ハミングコード方式及び垂直水平パリティ方式などが挙げられる。従来のDRAMにおいては、書き込み時に使用される入力回路の後段にECC回路を設けてECCコードを生成し、データコードとともに所定のメモリ領域に記憶させておき、読み出しのとき、データコードとともにECCコードを読み出し、センスアンプの出力側に設けられているECC回路によって、データコードとECCコードに基づきデータコードの誤りを検出して訂正する方式が一般的である。
【0006】
【発明が解決しようとする課題】
ところで、上述した従来のECC回路による誤り訂正方式では、ECC回路が読み出し回路の後段にシリアルに接続されているので、データの読み出し速度が低下するほか、ECC回路を設けることによって回路規模が増加し、消費電力が増加するという不利益がある。
【0007】
また、ECC回路を使用せず、SERを低減させる幾つかの方法も提案されている。例えば、SRAMの記憶ノードの蓄積容量を増加させることによって記憶データの破壊を防止する方法、SRAMの蓄積ノードの電圧を高くする方法などがある。しかし、蓄積ノードの容量を増加させるには、DRAMのような特殊なプロセスを導入する必要があり、コスト増をもたらす一方、回路規模の増加が避けられない。また、蓄積ノードの電圧を高くする方法は、SRAMのスケーリングの停止になり、SRAMの性能の低下及び消費電力の増加を招き、コストの増加となる。
【0008】
他に、シリコン基板の代わりにSRAMを絶縁体の基板上に作成する、いわゆるSOI(Semiconductor On Insulator)を導入する方法もあるが、この方法はSERの改善にそれほど有効ではない。また、強誘電体メモリ(FeRAM)を導入することでデータの信頼性を改善する方法も提案されていたが、量産技術が確立していないため、メモリの製造が困難である。
【0009】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、回路規模及び消費電力の増加を抑制しながら、記憶データの誤りを訂正でき、さらに動作速度の低下を回避可能な誤り訂正回路を備えた半導体記憶装置を提供することにある。
【0010】
【課題を解決するための手段】
上記目的を達成するために、本発明の誤り訂正回路を備えた半導体記憶装置は、主データを格納するメインメモリと、上記主データに応じて生成された誤り訂正用副データを格納するサブメモリと、上記メインメモリに格納された主データを読み出し増幅するためのセンスアンプと、上記センスアンプから供給される主データとセンスアンプを介さずに上記サブメモリから読み出された副データにと基づいて上記主データに生じる誤りを訂正するための訂正データを生成するデコーダ回路と、上記訂正データに応じて上記メインメモリから読み出された主データに含まれる誤りを訂正して出力するデータ訂正回路と、を有し、上記サブメモリが上記メインメモリと上記デコーダ回路及び上記データ訂正回路との間に配置されており、上記メインメモリから主データを読み出して出力する際に、当該主データに含まれる誤りが上記データ訂正回路で訂正される。
【0012】
また、本発明では、好適には、上記メインメモリのビット線と上記サブメモリのビット線とが異なる配線層により形成されている。
【0013】
また、本発明では、好適には、上記データ訂正回路は上記主データのビット数に応じた複数のビット訂正回路を有し、上記ビット訂正回路、第1の電源電位と出力ノードとの間に接続され、制御端子が第1のノードに接続された第1のトランジスタと、第2の電源電位と出力ノードとの間に接続され、制御端子が第2のノードに接続された第2のトランジスタと、イネーブル信号に応じて上記第1のノードと上記第2のノードとを電気的に接続するための第1のトランスファゲートと、第1の電源電位と上記第1のノードとの間に接続され、制御端子が第3のノードに接続された第3のトランジスタと、第2の電源電位と上記第2のノードとの間に接続され、制御端子が上記第3のノードに接続され、上記第3のトランジスタと相補的に動作する第4のトランジスタと、入力端子が入力ノードに接続された反転回路と、上記入力ノードと上記第3のノードとの間に接続され、上記訂正データのビット情報に応じて上記入力ノードと上記第3のノードとを電気的に接続するための第2のトランスファゲートと、上記反転回路の出力端子と上記第3のノードとの間に接続され、上記訂正データのビット情報に応じて上記反転回路の出力端子と上記第3のノードとを電気的に接続するための上記第2のトランスファゲートと相補的に動作する第3のトランスファゲートとを有する。
【0014】
また、本発明では、好適には、上記訂正データが上記主データに応じて生成された垂直−水平パリティコードまたはハミングコードである。
【0015】
【発明の実施の形態】
図1は本発明に係る誤り訂正回路を備えた半導体記憶装置の一実施形態を示す回路図である。
図示のように、本実施形態の半導体記憶装置は、メモリ部100と誤り訂正部200によって構成されている。
メモリ部100は、メインメモリアレイ110、サブメモリアレイ120、センスアンプ(SA)130、ドライバー140,150及びトランスファゲート(TG)160−1,160−2,160−3,170によって構成されている。また、誤り訂正部200は、フリップフロップ(FF)210、ラッチ回路220、セレクタ(SEL)230,240、ECCデコーダ250、ECCエンコーダ260、セレクタ270、バッファ280−1,280−2、280−3及び誤り訂正回路(ERC)300によって構成されている。
【0016】
まず、メモリ部100の各部分の構成について説明する。
メインメモリアレイ110は、データを記憶し、サブメモリアレイ120は誤り訂正データを記憶する。外部から入力される記憶データは、ドライバー140を介して入力され、さらに、トランスファゲート160−1,160−2及び160−3を介してメインメモリ110に格納される。なお、メインメモリアレイ110に格納されているデータは、例えば、16ビット単位である。即ち、ドライバー140と入力用セレクタ270との間、またはセンスアンプ130とフリップフロップ210、ラッチ回路220及びECCデコーダ250との間のデータバスは、16ビットである。なお、ドライバー140とトランスファゲート160−1,160−2,106−3との間に、または各トランスファゲートとセンスアンプ130との間には、ビット線とビット補線からなるビット線ペアが接続されている。これらのビット線ペアは、それぞれ例えば16組である。
【0017】
ECCエンコーダ260によって生成された誤り訂正コードECは、ドライバー150を介して入力され、さらにトランスファゲート170を介してサブメモリアレイ120に格納される。サブメモリアレイ120に格納されている誤り訂正データは、図示のようにne ビットを単位とする。即ち、ドライバー150とトランスファゲート170との間、または、トランスファゲート170とECCデコーダ250、ECCエンコーダ260とドライバー150との間のデータバスは、ともにne ビットである。なお、ne は誤り検出及び誤り訂正の方法によって異なる。例えば、垂直−水平パリティコードを用いる場合、ne は8ビットであり、ハミングコードを用いる場合、ne は5ビットとなる。
【0018】
センスアンプ130は、メインメモリアレイ110、ビット線及びビット補線からなるビット線ペアの電位差を増幅し、当該増幅の結果に応じて読み出しデータを確定し、フリップフロップ210、ラッチ回路220及びECCデコーダ250に出力する。なお、センスアンプ130は、通常SRAMに用いられているセンスアンプであり、周知の技術として知られているため、その詳細について省略する。
【0019】
ドライバー140は、入力されるデータに応じてビット線及びビット補線からなるビット線ペアの電位差を確定し、入力データをトランスファゲートを介してメインメモリアレイ110に格納する。
【0020】
トランスファゲート160−1,160−2,106−3は、データ書き込み及び読み出しのとき、例えば書き込みイネーブル信号または読み出しイネーブル信号に応じてオン/オフを切り替える。ここで、複数のトランスファゲートを設けているのは、例えば、メインメモリアレイ110が複数のブロックから構成されている場合など、トランスファゲートで使用するメモリブロックを切り替えるためである。
【0021】
ドライバー150は、ECCエンコーダ260によって生成された誤り訂正コードECに応じて、ビット線及びビット補線からなるビット線ペアを駆動し、トランスファゲート170を介して誤り訂正コードECをサブメモリアレイ120に格納する。
【0022】
トランスファゲート170は、書き込みまたは読み出しのとき、書き込みイネーブル信号または読み出しイネーブル信号に応じてオン状態に保持される。書き込みのとき、ドライバー150から入力される誤り訂正コードECをサブメモリアレイ120に入力し、読み出しのときサブメモリアレイ120から読み出した誤り訂正データをECCデコーダ250に出力する。
【0023】
上述のように、読み出しのとき、誤り訂正コードECはセンスアンプを通さずに直接ECCデコーダ250に出力される。これによってセンスアンプによって生じた信号遅延を解消でき、読み出しの高速化をはかることができる。本実施形態の半導体記憶装置において、メインメモリアレイ110、サブメモリアレイ120及びセンスアンプなどのメモリ周辺回路のレイアウト配置を工夫することによって、誤り訂正コードECをセンスアンプ経由せずにECCデコーダ250に入力することができる。このため、誤り訂正データの読み出し時の遅延を抑制でき、誤り訂正によって生じた遅延を低減でき、メモリアクセスの高速化を実現する。
なお、本実施形態の半導体記憶装置におけるレイアウトについて後にさらに詳しく説明する。
【0024】
次に、誤り訂正部200の各部分の構成について説明する。
フリップフロップ210は、センスアンプ130の出力データを保持して、セレクタ230に出力する。フリップフロップ210は、クロック信号CLKによって動作タイミングが制御されるマスタラッチとスレーブラッチによって構成されている。このため、フリップフロップ210は、クロック信号CLKが入力されると、マスタラッチの保持データをスレーブラッチにシフトし、また新しい入力データをマスタラッチによって保持する。スレーブラッチの保持データがフリップフロップの出力データとして後段のセレクタ230に出力される。
【0025】
ラッチ回路220は、入力データを保持してセレクタ230及び240に出力する。ラッチ回路220は、クロック信号CLKの入力タイミングで動作し、入力データを保持する。
上述のように、ラッチ回路220は、クロック信号CLKが入力されたとき、例えば、クロック信号CLKの立ち上がりエッジまたは立ち下がりエッジのタイミングで入力データを保持して出力する。これに対して、フリップフロップ210はクロック信号CLKの1周期前の入力データを保持して出力する。即ち、フリップフロップ210の出力データは、ラッチ回路220の出力データよりクロック信号CLKの1周期分遅れる。
【0026】
セレクタ230は、フリップフロップ210またはラッチ回路220の何れかの出力を選択してバッファ280−1に出力する。セレクタ230によってラッチ回路220の出力が選択されるとき、クロック信号CLKに同期してセンスアンプからの読み出しデータが選択され、バッファ280−1に出力される。一方、セレクタ230によってフリップフロップ210の出力が選択されるとき、クロック信号CLKの1周期前のタイミングで保持したセンスアンプの読み出しデータが選択され、バッファ280−1に出力される。
【0027】
バッファ280−1によってセレクタ230の選択データがデータバスCBUSに出力される。即ち、セレクタ230の制御によって、データバスCBUSに出力されるデータは、クロック信号CLKの1周期分の遅延を持たせることができる。これにより、例えば、データバスCBUSの出力タイミングの要求に対応することができる。
【0028】
セレクタ240は、ラッチ回路230の出力データをバッファ280−2,280−3及び誤り訂正回路300に出力する。
バッファ280−2は、セレクタ240から入力されたデータをデータバスDBUSに出力し、バッファ280−3は、セレクタ240から入力されたデータをデータバスMBUSに出力する。
誤り訂正回路300は、ECCデコーダ250から出力される誤り訂正データEDに応じて、セレクタ240から出力されるセンスアンプの読み出しデータに対して誤り訂正を行い、訂正後のデータをプログラムバスPBUSに出力する。
【0029】
ECCデコーダ250は、メインメモリアレイ110からの読み出しデータDAT及びサブメモリアレイ120から読み出した誤り訂正コードECに応じて、誤り訂正データEDを生成し、誤り訂正回路300に供給する。
ECCエンコーダ260は、セレクタ270から入力されるデータに応じて、誤り訂正コードECを生成し、ドライバー150に供給する。
誤り訂正回路300は、セレクタ240から入力される読み出しデータDAT及びECCデコーダ250から入力される誤り訂正データEDに応じて、読み出しデータDATに生じた誤りビットを訂正し、訂正後のデータをプログラムバスPBUSに出力する。
なお、ECCデコーダ250、ECCエンコーダ260及び誤り訂正回路300は、誤り訂正アルゴリズムに応じてそれぞれの構成が異なる。それぞれの具体例について後程さらに詳述する。
【0030】
以下、図2を参照しつつ、本実施形態の半導体記憶装置のレイアウトについて説明する。
図2は、本実施形態におけるメモリアレイ、その周辺回路及び誤り訂正回路の各部分の配置を示すレイアウト図である。図示のように、メインメモリアレイ(Main Array)110、サブメモリアレイ(Sub Array)120、書き込み読み出し回路(R/W)、センスアンプ(SA)及びカラムデコーダ(CDEC)からなる回路(以下、便宜上これらをまとめて周辺回路180と表記する)、さらに誤り訂正部200が半導体基板上順次配置されている。
【0031】
なお、図2に示すように、メインメモリアレイ110の各メモリセルに接続されているビット線BLMとサブメモリアレイ120の各メモリセルに接続されているビット線BLSとはそれぞれ異なる配線層に形成されている。例えば、メインメモリアレイ110のビット線BLMが金属配線層MTnに形成され、サブメモリアレイ120のビット線BLSが金属配線層MTより下層の配線層MTm(m<n)に形成されている。
また、図2に示すように、メインメモリアレイ110より、サブメモリアレイ120が周辺回路180に近いところに配置されている。
【0032】
上述した配線構造及び配置によって、サブメモリアレイ120の各メモリセルに接続されているビット線BLSがメインメモリアレイ110の各メモリセルに接続されているビット線BLMより短く形成される。即ち、サブメモリセルから読み出したデータが負荷の小さいビット線BLSを介して誤り訂正部200に供給される。一方、メインメモリアレイ110のメモリセルから読み出したデータが長いビット線BLMを介して周辺回路180のセンスアンプに供給される。このため、サブメモリアレイ120からの読み出しデータがセンスアンプを経由せず、直接誤り訂正部200に転送される。これに対して、メインメモリアレイ110からの読み出しデータはセンスアンプによって増幅された後、誤り訂正部200に転送される。
これによって、サブメモリアレイ120からの読み出しデータがより早く誤り訂正部200に到達するので、ECCデコーダ250によって生じた遅延時間の一部分が吸収され、誤り訂正処理による遅延時間の増加を抑制でき、メモリアクセスの高速化を実現できる。
【0033】
次に、図1に示す誤り訂正部200に設けられている誤り訂正回路300の構成について説明する。
図3は、誤り訂正回路300の一構成単位であるビット訂正回路を示す回路図である。図3に示すビット訂正回路300aは、訂正する読み出しデータのビット数分だけ設けられる。例えば、メインメモリアレイ110から一回に16ビットのデータが読み出される場合、図3に示すビット訂正回路300aが16個設けられる。これらの誤り訂正回路によって、ECCデコーダ250から出力される誤り訂正データEDに応じて読み出しデータの各ビットがそれぞれ訂正され、訂正後のデータがプログラムバスPBUSに出力される。
【0034】
図3に示すように、ビット訂正回路300aは、トランスファゲートTG1,TG2,TG3、インバータINV1,INV2及びpMOSトランジスタPT1,PT2,PT3とnMOSトランジスタNT1,NT2,NT3によって構成されている。
【0035】
トランスファゲートTG1の入力端子が読み出しデータDinの入力ノードND1に接続され、出力端子がノードND2に接続されている。一方、トランスファゲートTG2の入力端子がインバータINV1の出力端子に接続され、出力端子がノードND2に接続されている。インバータINV1の入力端子が読み出しデータDinの入力ノードND1に接続されている。
トランスファゲートTG1を構成するnMOSトランジスタのゲートにクロス信号CORの反転信号XCORが入力され、pMOSトランジスタのゲートにクロス信号CORが入力される。トランスファゲートTG2を構成するpMOSトランジスタのゲートにクロス信号CORの反転信号XCORが入力され、nMOSトランジスタのゲートにクロス信号CORが入力される。
【0036】
クロス信号CORがECCデコーダ250によって出力される誤り訂正データEDのうち一ビットに応じて生成された信号である。読み出しデータDinに誤りがなければ、当該データDinに対応するクロス信号CORがローレベルに保持され、逆に読み出しデータDinに誤りが検出された場合、クロス信号CORがハイレベルに保持される。このため、データDinに誤りがなければ、トランスファゲートTG1が導通し、トランスファゲートTG2が遮断するので、データDinがトランスファゲートTG1を通して、ノードND2に入力される。逆にデータDinに誤りがあれば、トランスファゲートTG1が遮断し、トランスファゲートTG2が導通するので、インバータINV1の出力、即ち、読み出しデータDinの論理反転データがトランスファゲートTG2を通して、ノードND2に入力される。
【0037】
トランジスタPT2とPT3が電源電圧VCCとノードND4との間に並列に接続されている。トランスファゲートTG3がノードND4とノードND5との間に接続されている。さらに、トランジスタNT2とNT3がノードND5と接地電位GNDとの間に並列に接続されている。
トランジスタPT2のゲートがノードND2に接続され、トランジスタPT3のゲートがイネーブル信号OEの入力端子に接続されている。
トランジスタNT2のゲートがノードND2に接続され、トランジスタNT3のゲートがインバータINV2の出力端子に接続されている。
トランスファゲートTG3を構成するnMOSトランジスタのゲートがイネーブル信号OEの入力端子に接続され、pMOSトランジスタのゲートがインバータINV2の出力端子に接続されている。即ち、トランスファゲートTG3を構成するpMOSトランジスタのゲートにイネーブル信号OEの反転信号が印加される。
【0038】
イネーブル信号OEがローレベルのとき、トランスファゲートTG3が遮断する。一方、イネーブル信号OEがハイレベルのとき、トランスファゲートTG3が導通する。また、このとき、pMOSトランジスタPT3がオフし、nMOSトランジスタNT3もオフするので、トランジスタPT2とNT2によってインバータが構成される。即ち、ノードND4とND5は、ノードND2と逆の論理レベルに保持される。
【0039】
トランジスタPT1とNT1が電源電圧VCCと接地電位GNDとの間に直列接続されている。トランジスタPT1のゲートがノードND4に接続され、トランジスタNT1のゲートがノードND5に接続されている。
イネーブル信号OEがハイレベルのとき、トランスファゲートTG3が導通するので、ノードND4とノードND5が共通の電位に保持されている。このとき、トランジスタPT1とNT1がインバータを形成し、プログラムバスPBUSiを駆動する。ノードND4とND5の電位に応じてトランジスタPT1とNT1のうち一方がオンし、他方がオフするので、プログラムバスPBUSiがハイレベルまたはローレベルに駆動される。
【0040】
イネーブル信号OEがローレベルのとき、トランスファゲートTG3が遮断し、ノードND4とND5が切り離される。また、トランジスタPT3とNT3がともにオンするので、ノードND4がハイレベルに保持され、ノードND5がローレベルに保持される。このため、トランジスタPT1のゲートにハイレベルの電圧が印加され、トランジスタNT1のゲートにローレベルの電圧が印加されるので、トランジスタPT1とNT1がオフ状態に保持される。
【0041】
トランジスタPT1とNT1が負荷の大きいデータバスを駆動するために、駆動能力が他のトランジスタより大きいもので構成されている。このため、リーク電流も通常のトランジスタに較べて大きく、待機時に消費電力が増加する傾向がある。ここで、待機時、即ち、イネーブル信号OEがローレベルのとき、トランジスタPT1とNT1のゲートにそれぞれハイレベルとローレベルの電圧を印加することによって、これらのトランジスタを待機時に深いオフ状態に保持し、リーク電流の発生を抑制する。
【0042】
上述した構成を持つビット訂正回路300aにおいて、ECCデコーダ250から供給されるクロス信号COR及びその反転信号XCORに応じて、読み出しデータDinに対して誤り訂正が実行される。
例えば、ECCデコーダ250からハイレベルのクロス信号CORを受けた場合、トランスファゲートTG1が遮断し、トランスファゲートTG2が導通するので、読み出しデータDinの論理反転データがトランスファゲートTG2を介してノードND2に入力される。逆に、ECCデコーダ250からローレベルのクロス信号CORを受けた場合、トランスファゲートTG1が導通し、トランスファゲートTG2が遮断するので、読み出しデータDinがトランスファゲートTG1を介してノードND2に入力される。
【0043】
イネーブル信号OEがローレベルのとき、ビット訂正回路300aが待機状態にある。このとき、トランスファゲートTG3が遮断し、また、トランジスタPT1とNT1がともにオフ状態にあるので、プログラムバスPBUSiがハイインピーダンス状態にある。
イネーブル信号OEがハイレベルに切り替わると、ビット訂正回路300aが待機状態から動作状態に入る。このとき、トランスファゲートTG3が導通するので、ノードND2の電圧レベルに応じて、ノードND4及びND5の電圧レベルが制御される。例えば、ノードND2がハイレベルのとき、ノードND4とND5がローレベルに保持され、逆にノードND2がローレベルのとき、ノードND4とND5がハイレベルに保持される。
【0044】
ノードND4とND5のレベルに応じて、インバータを形成するトランジスタPT1とNT1のうち一方がオンし、他方がオフする。例えば、ノードND4とND5がハイレベルにあるとき、トランジスタPT1がオフし、トランジスタNT1がオンするので、プログラムバスPBUSiがローレベル、例えば、接地電位のレベルに駆動される。逆に、ノードND4とND5がローレベルにあるとき、トランジスタPT1がオンし、トランジスタNT1がオフするので、プログラムバスPBUSiがハイレベル、例えば、電源電圧VCCのレベルに駆動される。
【0045】
上述したように、ビット訂正回路300aにおいて、読み出しデータDinの誤り訂正は、トランスファゲートTG1及びTG2の切り替えによって行われるので、誤り訂正のための遅延時間を最小限に抑制することができる。また、待機時にプログラムバスPBUSを駆動するトランジスタPT1とNT1をオフ状態に保持させることによって、待機時のリーク電流の発生を抑制することができ、誤り訂正回路を付加することに起因する消費電力の増加を抑制可能である。
【0046】
図4は、プログラムバスPBUS以外の他のデータバスを駆動するバッファ280aの構成を示す回路図である。
図示のように、バッファ280aは、図3に示すビット訂正回路300aから、トランスファゲートTG1とTG2及びインバータINV1を省いたものである。即ち、バッファ280aは、トランスファゲートTG3、インバータINV2及びpMOSトランジスタPT1,PT2,PT3とnMOSトランジスタNT1,NT2,NT3によって構成されている。
【0047】
トランジスタPT2とPT3が電源電圧VCCとノードND4との間に並列に接続され、トランスファゲートTG3がノードND4とND5との間に接続されている。また、nMOSトランジスタNT2とNT3がノードND5と接地電位GNDとの間に並列に接続されている。
トランジスタPT2のゲートがノードND2に接続され、トランジスタPT3のゲートがイネーブル信号OEの入力端子に接続されている。
トランジスタNT2のゲートがノードND2に接続され、トランジスタNT3のゲートがインバータINV2の出力端子に接続されている。
トランスファゲートTG3を構成するnMOSトランジスタのゲートがイネーブル信号OEの入力端子に接続され、pMOSトランジスタのゲートがインバータINV2の出力端子に接続されている。即ち、トランスファゲートTG3を構成するpMOSトランジスタのゲートにイネーブル信号OEの反転信号が印加される。
【0048】
トランジスタPT1とNT1が電源電圧VCCと接地電位GNDとの間に直列接続されている。トランジスタPT1のゲートがノードND4に接続され、トランジスタNT1のゲートがノードND5に接続されている。即ち、トランジスタPT1とNT1は、データバスBUSiを駆動するためのインバータを形成している。
【0049】
待機時にイネーブル信号OEがローレベルにある。このとき、トランスファゲートTG3が遮断する。また、pMOSトランジスタPT3とnMOSトランジスタNT3がオンするので、ノードND4がハイレベルに、ノードND5がローレベルにそれぞれ保持される。このため、トランジスタPT1とNT1がともにオフ状態に保持される。
【0050】
動作時にイネーブル信号OEがハイレベルにある。このとき、トランスファゲートTG3が導通するので、ノードND4とND5が同じ電位に保持される。ノードND2に入力される読み出しデータDinに応じて、ノードND4およびND5の電位が制御される。さらに、ノードND4とND5の電位に応じて、トランジスタPT1とNT1のうち一方がオン状態、他方がオフ状態に保持される。例えば、ノードND4とND5がハイレベルのとき、トランジスタPT1がオフし、トランジスタNT1がオンするので、データバスBUSiがローレベルに駆動される。逆に、ノードND4とND5がローレベルのとき、トランジスタPT1がオンし、トランジスタNT1がオフするので、データバスBUSiがハイレベルに駆動される。
【0051】
上述したバッファ280aによって、読み出しデータDinに応じてデータバスBUSiを所定の電位に駆動することができる。また、待機時にトランスファゲートTG3を遮断し、駆動用トランジスタPT1とNT1をともにオフ状態に制御することによって、待機時のリーク電流の発生を抑制でき、消費電力の低減を実現できる。
【0052】
次に、ECCエンコーダ260及びECCデコーダ250の構成について説明する。
ECCエンコーダ260及びECCデコーダ250は、ECCアルゴリズムに従って動作する。データをメモリに格納するとき、ECCエンコーダ260は記憶データに応じて誤り訂正コードECを生成してサブメモリ120に格納し、読み出しのとき、メインメモリ110からの読み出しデータDAT及びサブメモリ120からの誤り訂正コードECに基づき、ECCデコーダ250によって誤り訂正データEDが生成されるので、読み出しデータのビット毎に設けられている上述したビット訂正回路300aによって、誤りのあったデータが訂正され、訂正後のデータがプログラムバスPBUSに出力される。
【0053】
誤り訂正に採用されるECCアルゴリズムによって、ECCエンコーダ260及びECCデコーダ250の構成が異なる。以下、一般的に用いられている垂直−水平パリティ方式及びハミング方式について、それぞれのECCアルゴリズムに対応するECCエンコーダ及びデコーダの構成について説明する。
【0054】
図5はハミング方式の原理を説明するための図である。図示のように、ハミング方式において、16ビットの入力データと16×5のECCコード生成用マトリックスを用いて、5ビットのECCコードECが生成される。16ビットの入力データがメインメモリアレイ110に格納され、5ビットの誤り訂正コードECがサブメモリアレイ120に格納される。
読み出しのとき、メインメモリアレイ110からの16ビットの読み出しデータDATとサブメモリアレイ120からの5ビットの誤り訂正コードECに従って、読み出しデータDATの各ビットに生じた誤りを訂正するための誤り訂正データEDが生成される。そして、誤り訂正回路300によって、誤り訂正データEDに応じて、読み出しデータに生じた誤りビットが訂正される。
【0055】
図6は、ハミング方式によるECCエンコーダ260、ECCデコーダ250及び誤り訂正回路300の構成を示す回路図である。
図示のように、ECCエンコーダ260において、16ビットの記憶データに応じて、5ビットの誤り訂正コードEC(E1 ,E2 ,E3 ,E4 ,E5 )が生成される。16ビットの記憶データがメインメモリアレイ110に格納され、5ビットの誤り訂正コードがサブメモリアレイ120に格納される。
【0056】
読み出しのとき、メインメモリアレイ110から16ビットのデータDATが読み出され、センスアンプ130を介して出力される。一方、サブメモリアレイ120から5ビットの誤り訂正コードECが読み出される。ECCデコーダ250において、読み出しデータDAT及び誤り訂正コードECに応じて、16ビットの誤り訂正データEDが生成され、誤り訂正回路300に供給される。
【0057】
図6において、誤り訂正回路300は、エクスクルーシブORゲートを用いて構成されているように表記しているが、これはあくまでも誤り訂正回路の動作原理を示すためのものであり、本実施形態では、誤り訂正回路300は、図3に示すビット訂正回路300aを読み出しデータDATのビット分、例えば、16個を用いて構成されている。
【0058】
図3に示すビット訂正回路300aにおいて、クロス信号CORは、例えば、誤り訂正データEDのうちの一ビット分に応じて生成された信号である。前述したように、クロス信号CORがローレベルのとき、読み出しデータDinがノードND2に入力され、それに応じてプログラムバスPBUSが駆動される。一方、クロス信号CORがハイレベルのとき、読み出しデータDinの論理反転データがノードND2に入力され、それに応じてプログラムバスPBUSが駆動される。即ち、クロス信号CORと読み出しデータDinのエクスクルーシブOR論理演算に応じて、プログラムバスPBUSが駆動される。
図6に示す誤り訂正回路300は、エクスクルーシブORゲートを用いて、この誤り訂正の原理を示している。
【0059】
図7は、垂直−水平パリティ方式による誤り訂正の原理を示す図である。
図示のように、垂直−水平パリティ方式において、記憶データを最上位(msb)から最下位(lsb)までの16ビットのデータを4つの組に分割し、これらの4組のデータによって、4×4のマトリックスを形成する。そして、エクスクルーシブ論理演算により、マトリックスの各行及び各列毎にそれぞれパリティコードEx0及びE0xが生成される。
こうして生成された8ビットの垂直及び水平パリティコードが誤り訂正コードECとしてサブメモリアレイ120に格納される。また、16ビットの記憶データがメインメモリアレイ110に格納される。
【0060】
読み出しのとき、メインメモリアレイ110から読み出した16ビットのデータとサブメモリアレイ120から読み出した8ビットの誤り訂正コードに応じて、ECCエンコーダによって誤り訂正データが生成される。この誤り訂正データに応じて、読み出しデータに生じた誤りが訂正され、訂正後のデータがデータバスに出力される。
【0061】
図8は、垂直−水平パリティ方式によるECCエンコーダ260、ECCデコーダ250及び誤り訂正回路300の構成を示す回路図である。
図示のように、ECCエンコーダ260において、16ビットの記憶データに応じて、4ビットの垂直パリティコードと4ビットの水平パリティコードからなる8ビット誤り訂正コードECが生成される。16ビットの記憶データがメインメモリアレイ110に格納され、8ビットの誤り訂正コードがサブメモリアレイ120に格納される。
【0062】
読み出しのとき、メインメモリアレイ110から16ビットのデータDATが読み出され、センスアンプ130を介して出力される。一方、サブメモリアレイ120から8ビットの誤り訂正コードECが読み出される。ECCデコーダ250において、読み出しデータDAT及び誤り訂正コードECに応じて、16ビットの誤り訂正データEDが生成され、誤り訂正回路300に供給される。
【0063】
図8は誤り訂正回路300の原理を示しており、実際に本実施形態では、誤り訂正回路300は、図3に示すビット訂正回路300aを読み出しデータDATのビット分、例えば、16個を用いて構成されている。誤り訂正回路300において、ECCデコーダ250によって生成された誤り訂正データに応じて、読み出しデータDATの誤りビットが訂正されるので、訂正後のデータによって、プログラムバスPBUSが駆動される。
【0064】
以上説明したように、本実施形態によれば、記憶データに応じて生成される誤り訂正コードが上記記憶データを格納するメインメモリアレイとは別に設けられているサブメモリアレイに格納される。読み出しのとき、メインメモリアレイ及びサブメモリアレイから記憶データと誤り訂正コードがそれぞれ読み出され、これらのデータに基づき読み出しデータに対して誤り訂正を行う誤り訂正データが生成される。誤り訂正回路によって、誤り訂正データに基づき、読み出しデータの誤りが訂正される。誤り訂正コードをメインメモリアレイと異なるサブメモリアレイに格納し、かつメインメモリアレイとサブメモリアレイのレイアウトを工夫することによって、誤り訂正コードの読み出しを高速化できる。これによって、誤り訂正処理で発生した遅延時間を抑制でき、誤り訂正を高速に実行することができる。
【0065】
【発明の効果】
以上説明したように、本発明の半導体記憶装置によれば、記憶データを格納するメインメモリと誤り訂正コードを格納するサブメモリのレイアウトを工夫することによって、誤り訂正コードの読み出しを高速化でき、誤り訂正処理のためのデコーディング処理による時間遅延を吸収することができ、誤り処理の高速化を実現できる。
また、本発明の半導体記憶装置によれば、読み出しデータに対して誤り訂正を行う誤り訂正回路において、待機状態においてリーク電流の発生経路を遮断することによって、待機時の消費電力の低減を実現できる。これによって、誤り訂正処理に起因する消費電力の増加を最小限に抑制することができる利点がある。
【図面の簡単な説明】
【図1】本発明に係る誤り訂正回路を備えた半導体記憶装置の一実施形態を示す回路図である。
【図2】半導体記憶装置のレイアウトを示すレイアウト図である。
【図3】誤り訂正回路の一構成例を示す回路図である。
【図4】バッファの一構成例を示す回路図である。
【図5】ハミング方式の原理を示す概念図である。
【図6】ハミング方式に基づくECCエンコーダ、ECCデコーダの構成を示す回路図である。
【図7】垂直−水平パリティ方式の原理を示す概念図である。
【図8】垂直−水平パリティ方式に基づくECCエンコーダ、ECCデコーダの構成を示す回路図である。
【符号の説明】
100…記憶部、
110…メインメモリアレイ、
120…サブメモリアレイ、
130…センスアンプ、
140…ドライバー、
150…ドライバー、
160−1,160−2,160−3…トランスファゲート、
170…トランスファゲート、
200…誤り訂正部、
210…フリップフロップ、
220…ラッチ回路、
230…セレクタ、
240…セレクタ、
250…ECCデコーダ、
260…ECCエンコーダ、
270…セレクタ、
280−1,280−2,280−3…バッファ、
300…誤り訂正回路、
CC…電源電圧、GND…接地電位。

Claims (4)

  1. 主データを格納するメインメモリと、
    上記主データに応じて生成された誤り訂正用副データを格納するサブメモリと、
    上記メインメモリに格納された主データを読み出し増幅するためのセンスアンプと、
    上記センスアンプから供給される主データとセンスアンプを介さずに上記サブメモリから読み出された副データにと基づいて上記主データに生じる誤りを訂正するための訂正データを生成するデコーダ回路と、
    上記訂正データに応じて上記メインメモリから読み出された主データに含まれる誤りを訂正して出力するデータ訂正回路と、
    を有し、
    上記サブメモリが上記メインメモリと上記デコーダ回路及び上記データ訂正回路との間に配置されており
    上記メインメモリから主データを読み出して出力する際に、当該主データに含まれる誤りが上記データ訂正回路で訂正される
    誤り訂正回路を備えた半導体記憶装置。
  2. 上記メインメモリのビット線と上記サブメモリのビット線とが異なる配線層により形成されている
    請求項1に記載の誤り訂正回路を備えた半導体記憶装置。
  3. 上記データ訂正回路は上記主データのビット数に応じた複数のビット訂正回路を有し、
    上記ビット訂正回路が、
    第1の電源電位と出力ノードとの間に接続され、制御端子が第1のノードに接続された第1のトランジスタと、
    第2の電源電位と出力ノードとの間に接続され、制御端子が第2のノードに接続された第2のトランジスタと、
    イネーブル信号に応じて上記第1のノードと上記第2のノードとを電気的に接続するための第1のトランスファゲートと、
    第1の電源電位と上記第1のノードとの間に接続され、制御端子が第3のノードに接続された第3のトランジスタと、
    第2の電源電位と上記第2のノードとの間に接続され、制御端子が上記第3のノードに接続され、上記第3のトランジスタと相補的に動作する第4のトランジスタと、
    入力端子が入力ノードに接続された反転回路と、
    上記入力ノードと上記第3のノードとの間に接続され、上記訂正データのビット情報に応じて上記入力ノードと上記第3のノードとを電気的に接続するための第2のトランスファゲートと、
    上記反転回路の出力端子と上記第3のノードとの間に接続され、上記訂正データのビット情報に応じて上記反転回路の出力端子と上記第3のノードとを電気的に接続するための上記第2のトランスファゲートと相補的に動作する第3のトランスファゲートと、
    を有する請求項1又は2に記載の誤り訂正回路を備えた半導体記憶装置。
  4. 上記訂正データが上記主データに応じて生成された垂直―水平パリティコード又はハミングコードである
    請求項1、2又は3に記載の誤り訂正回路を備えた半導体記憶装置。
JP2001343316A 2001-11-08 2001-11-08 誤り訂正回路を備えた半導体記憶装置 Expired - Lifetime JP3944380B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001343316A JP3944380B2 (ja) 2001-11-08 2001-11-08 誤り訂正回路を備えた半導体記憶装置
US10/245,209 US7069493B2 (en) 2001-11-08 2002-09-17 Semiconductor memory device equipped with error correction circuit
US11/130,059 US7426683B2 (en) 2001-11-08 2005-05-17 Semiconductor memory device equipped with error correction circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001343316A JP3944380B2 (ja) 2001-11-08 2001-11-08 誤り訂正回路を備えた半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2003151297A JP2003151297A (ja) 2003-05-23
JP3944380B2 true JP3944380B2 (ja) 2007-07-11

Family

ID=19157026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001343316A Expired - Lifetime JP3944380B2 (ja) 2001-11-08 2001-11-08 誤り訂正回路を備えた半導体記憶装置

Country Status (2)

Country Link
US (2) US7069493B2 (ja)
JP (1) JP3944380B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100481820B1 (ko) * 2002-09-26 2005-04-11 (주)실리콘세븐 패러티로서 비유효한 출력 데이터를 보정하는 에스램 호한메모리와 그 구동방법
US7149947B1 (en) * 2003-09-04 2006-12-12 Emc Corporation Method of and system for validating an error correction code and parity information associated with a data word
JP3898682B2 (ja) * 2003-10-03 2007-03-28 株式会社東芝 半導体集積回路
KR100694407B1 (ko) * 2005-04-21 2007-03-12 주식회사 하이닉스반도체 불량 셀 교정 회로를 포함하는 불휘발성 강유전체 메모리장치
JP2008108297A (ja) * 2006-10-23 2008-05-08 Toshiba Corp 不揮発性半導体記憶装置
US7870472B2 (en) * 2007-01-31 2011-01-11 Sandisk 3D Llc Methods and apparatus for employing redundant arrays to configure non-volatile memory
US7870471B2 (en) * 2007-01-31 2011-01-11 Sandisk 3D Llc Methods and apparatus for employing redundant arrays to configure non-volatile memory
JP2010020839A (ja) * 2008-07-10 2010-01-28 Panasonic Corp 半導体記憶装置
US8225177B2 (en) * 2008-12-29 2012-07-17 Texas Instruments Incorporated Progressively programming flash memory while maintaining constant error correction codes
US8423837B2 (en) * 2009-02-13 2013-04-16 Texas Instruments Incorporated High reliability and low power redundancy for memory
US8438344B2 (en) * 2010-03-12 2013-05-07 Texas Instruments Incorporated Low overhead and timing improved architecture for performing error checking and correction for memories and buses in system-on-chips, and other circuits, systems and processes
WO2016009902A1 (ja) 2014-07-18 2016-01-21 ソニー株式会社 受信装置、受信方法およびコンピュータプログラム
KR102178137B1 (ko) * 2014-08-26 2020-11-12 삼성전자주식회사 반도체 메모리 장치, 이의 에러 정정 방법 및 이를 포함하는 메모리 시스템
KR102204390B1 (ko) * 2014-09-12 2021-01-18 삼성전자주식회사 빠른 불량 셀 구제 동작의 메모리 장치
KR20170035103A (ko) 2015-09-22 2017-03-30 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US11023320B2 (en) * 2019-04-04 2021-06-01 Intel Corporation Technologies for providing multiple levels of error correction
CN111489542A (zh) * 2020-03-24 2020-08-04 宁波水表(集团)股份有限公司 M-Bus仪表总线的接收电路
CN114203228B (zh) * 2020-09-18 2023-09-15 长鑫存储技术有限公司 存储器
JP2022080162A (ja) * 2020-11-17 2022-05-27 ソニーセミコンダクタソリューションズ株式会社 半導体回路

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4726021A (en) * 1985-04-17 1988-02-16 Hitachi, Ltd. Semiconductor memory having error correcting means
US4939694A (en) * 1986-11-03 1990-07-03 Hewlett-Packard Company Defect tolerant self-testing self-repairing memory system
US5265054A (en) * 1990-12-14 1993-11-23 Sgs-Thomson Microelectronics, Inc. Semiconductor memory with precharged redundancy multiplexing
JPH0850799A (ja) * 1994-08-05 1996-02-20 Fujitsu Ltd 半導体記憶装置
KR0145222B1 (ko) * 1995-05-20 1998-08-17 김광호 반도체 메모리장치의 메모리 셀 테스트 제어회로 및 방법
US5764587A (en) * 1995-06-07 1998-06-09 International Business Machines Corporation Static wordline redundancy memory device
JP2833574B2 (ja) * 1996-03-28 1998-12-09 日本電気株式会社 不揮発性半導体記憶装置
US6157584A (en) * 1999-05-20 2000-12-05 Advanced Micro Devices, Inc. Redundancy circuit and method for semiconductor memory
US6185136B1 (en) * 1999-07-15 2001-02-06 Micron Technology, Inc. Method and apparatus for repairing defective columns of memory cells
US6505313B1 (en) * 1999-12-17 2003-01-07 Lsi Logic Corporation Multi-condition BISR test mode for memories with redundancy

Also Published As

Publication number Publication date
US20030086306A1 (en) 2003-05-08
JP2003151297A (ja) 2003-05-23
US7069493B2 (en) 2006-06-27
US20050229080A1 (en) 2005-10-13
US7426683B2 (en) 2008-09-16

Similar Documents

Publication Publication Date Title
US7426683B2 (en) Semiconductor memory device equipped with error correction circuit
US6957378B2 (en) Semiconductor memory device
US7219272B2 (en) Semiconductor integrated circuit with memory redundancy circuit
KR100322542B1 (ko) 파이프 라인상의 고속동작을 구현하는 ecc 회로를 구비하는동기식 반도체 메모리장치 및 이 동기식 반도체 메모리장치의 에러 체크 및 정정방법
TWI786707B (zh) 用於半導體記憶體的錯誤更正寫碼與資料匯流反轉的裝置與方法
JP2009093704A (ja) 半導体記憶装置
KR101326898B1 (ko) 메모리 디바이스, 집적 회로 및 메모리 디바이스에서 사용하기 위한 방법
US7277322B2 (en) Semiconductor memory device having ECC circuit
JP4050091B2 (ja) 半導体メモリ装置
US5386387A (en) Semiconductor memory device including additional memory cell block having irregular memory cell arrangement
US6967882B1 (en) Semiconductor memory including static memory
US6778422B2 (en) Ferroelectric memory
JP5215769B2 (ja) 半導体集積回路
US20030016583A1 (en) Semiconductor memory device with reduced standby current
TWI689935B (zh) 具糾錯電路的記憶體
US20050030782A1 (en) Ferroelectric memory
JP2009116994A (ja) 半導体記憶装置
US7165206B2 (en) SRAM-compatible memory for correcting invalid output data using parity and method of driving the same
JP2000011688A (ja) 半導体記憶装置
JP2001344991A (ja) 半導体記憶装置
US20090046528A1 (en) Semiconductor integrated circuit
US20050024959A1 (en) Semiconductor memory device capable of relieving defective cell
JP2006073108A (ja) 半導体集積回路
US20020021593A1 (en) Semiconductor memory device with a redundancy structure
JPH07134900A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060529

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061101

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070122

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100413

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120413

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140413

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250