(57)【要約】【課題】メモリセルアレイから読み出された全てのデータの誤りを訂正することが可能な半導体記憶装置及び誤り訂正方法を提供する。【解決手段】特定の第１信号線上に配置されたメモリセルから誤り訂正符号が付与されたデータを読み出す読出手段と、当該読み出されたデータのうち、特定のデータのみを選択的に出力する出力手段との間に、前記読出手段により読み出されたデータ中に発生する誤りを前記誤り符号データに基づいて訂正する復号化手段を設け、この復号化手段により誤りを訂正したデータを、前記特定の第１信号線上のメモリセルに書き戻す。【選択図】        図１
2010003348.tif 000002
【特許請求の範囲】
【請求項１】
誤り訂正符号が付加された符号データを記憶する複数のメモリセルを、互いに直交する複数の第１信号線と複数の第２信号線との交点に配置したメモリセルアレイと、
外部から指定された特定の前記第１信号線を有効化する有効化手段と、
前記有効化手段により有効化された前記第１信号線上の複数のメモリセルから各符号データを読み出す読出手段と、
前記読出手段により読み出された符号データ中の誤りを前記誤り訂正符号に基づいて訂正し、当該符号データを復号した復号データを生成する復号化手段と、
前記復号化手段により生成された復号データのうち、外部から指定された特定の前記第２信号線上に配置されたメモリセルに対応する復号データを出力する出力手段と、
前記復号化手段により生成された復号データを符号化し、前記誤り訂正符号を付加した符号データを生成する符号化手段と、
前記符号化手段により生成された符号データを、前記有効化された第１信号線上のメモリセルに書き戻す書戻手段と、
を備えたことを特徴とする半導体記憶装置。
【請求項２】
前記復号化手段と前記出力手段との間に設けられ、前記復号化手段により生成された復号データを、当該復号データの読み出し先となったメモリセルの配置位置に対応する前記第２信号線と関連付けて記憶する記憶手段を更に備え、
前記出力手段は、前記記憶手段に記憶された復号データのうち、外部から指定された特定の前記第２信号線に関連付けられた復号データを読み出すことを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記記憶手段は、前記復号化手段により生成された復号データを、当該復号データの読み出し先となった前記メモリセルの配置位置に対応する前記第１信号線と、当該復号データに対する前記復号化手段による誤り検出の有無を示す検出結果情報と関連付けたラインデータを一又は複数記憶し、
前記有効化手段は、前記記憶手段に記憶された復号データのうち、誤りが検出されたことを示す検出結果情報に関連付けられた第１信号線を有効化し、
前記書戻手段は、前記記憶手段に記憶された復号データのうち、誤りが検出されたことを示す検出結果情報に関連付けられた復号データを、前記有効化手段により有効化された第１信号線上のメモリセルに書き戻すことを特徴とする請求項２に記載の半導体記憶装置。
【請求項４】
前記記憶手段に記憶された復号データのうち、外部から指定された特定の前記第１信号線及び前記第２信号線に関連付けられた復号データに、書き込み対象のデータを上書きする上書手段を更に備え、
前記符号化手段は、前記上書手段により上書きされたデータを含む前記復号データ全体を符号化することを特徴とする請求項２又は３に記載の半導体記憶装置。
【請求項５】
前記記憶手段に記憶された既存の復号データのうち、外部から指定された特定の前記第１信号線に関連付けられた復号データが存在するか否かを判定し、当該復号データが存在すると判定した場合に、前記記憶手段に対する前記特定の第１信号線についての新たなラインデータの記憶を制限する記憶制御手段を更に備えたことを特徴とする請求項３又は４に記載の半導体記憶装置。
【請求項６】
前記記憶制御手段は、前記記憶手段に記憶されたラインデータのうち、誤りの非検出を示す検出結果情報を含んだラインデータの記憶領域を、新たなラインデータの記憶用に解放することを特徴とする請求項５に記載の半導体記憶装置。
【請求項７】
前記記憶手段は、前記記憶領域の解放が可能か否かを示した有効判別情報を当該記憶領域に記憶されたラインデータと関連付けて記憶し、
前記記憶制御手段は、前記有効判別情報が解放可能を示す記憶領域を、新たなラインデータの記憶用に解放することを特徴とする請求項６に記載の半導体記憶装置。
【請求項８】
前記記憶制御手段は、前記ラインデータが前記記憶手段に記憶されてから所定時間経過した後、当該ラインデータに関連付けられた有効判別情報を解放不可から解放可能に切り替えることを特徴とする請求項７に記載の半導体記憶装置。
【請求項９】
前記第１信号線は、前記メモリセルアレイのワード線であり、
前記第２信号線は、前記メモリセルアレイのビット線であることを特徴とする請求項１〜８の何れか一項に記載の半導体記憶装置。
【請求項１０】
誤り訂正符号が付加された符号データを記憶する複数のメモリセルを、互いに直交する複数の第１信号線と複数の第２信号線との交点に配置したメモリセルアレイを備える半導体記憶装置の誤り訂正方法であって、
有効化手段が、外部から指定された特定の前記第１信号線を有効化する有効化工程と、
読出手段が、前記有効化工程で有効化された前記第１信号線上の複数のメモリセルから各符号データを読み出す読出工程と、
復号化手段が、前記読出工程で読み出された符号データ中の誤りを前記誤り訂正符号に基づいて訂正し、当該符号データを復号した復号データを生成する復号化工程と、
出力手段が、前記復号化工程で生成された復号データのうち、外部から指定された特定の前記第２信号線上に配置されたメモリセルに対応する復号データを出力する出力工程と、
符号化手段が、前記復号化工程で生成された復号データを符号化し、前記誤り訂正符号を付加した符号データを生成する符号化工程と、
書戻手段が、前記符号化工程で生成された符号データを、前記有効化された第１信号線上のメモリセルに書き戻す書戻工程と、
を含むことを特徴とする誤り訂正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤り検出訂正機能を備えた半導体記憶装置及び半導体記憶装置の誤り訂正方法に関する。
【背景技術】
【０００２】
従来、半導体記憶装置の信頼性を向上させる手段として、データの損失を回避するための誤り訂正機構が用いられている。例えば、特許文献１には、半導体記憶装置のＣＯＬアドレスデコーダの外部に誤り訂正機構を設けることで、このＣＯＬアドレスデコーダから外部に出力されるデータの誤り訂正を行う構成が開示されている。
【０００３】
また、ＤＲＡＭ等の揮発性メモリでは、時間経過とともに電荷の蓄積が失われるため、一定時間毎にリフレッシュを行うことで、蓄積されたデータの損失を回避する必要がある。一方、ＭＲＡＭ等の不揮発性メモリでは蓄積されたデータの損失が時間に依存せず、当該不揮発性メモリを構成するメモリセルに対して、読み出しや書き込み操作を行った際にデータの損失が発生するため、メモリセルへのアクセス時に誤りの検出と訂正を行う必要がある。
【０００４】
しかしながら、特許文献１のようにＣＯＬアドレスデコーダの外部に誤り訂正機構を備えた構成では、メモリセルアレイから読み出されたデータのうち、ＣＯＬアドレスデコーダから出力されるデータに対してのみ誤り訂正が行われることになる。つまり、メモリセルから読み出されたデータの一部のみが誤り訂正を受けることになるため、ＣＯＬアドレスデコーダから出力されたデータ以外の他のデータに誤りが発生しているような場合、これら他のデータを訂正することは困難である。
【０００５】
【特許文献１】特開２００８−１６０９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は上記に鑑みてなされたものであって、メモリセルアレイから読み出された全てのデータの誤りを訂正することが可能な半導体記憶装置及び誤り訂正方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、誤り訂正符号が付加された符号データを記憶する複数のメモリセルを、互いに直交する複数の第１信号線と複数の第２信号線との交点に配置したメモリセルアレイと、外部から指定された特定の前記第１信号線を有効化する有効化手段と、前記有効化手段により有効化された前記第１信号線上の複数のメモリセルから各符号データを読み出す読出手段と、前記読出手段により読み出された符号データ中の誤りを前記誤り訂正符号に基づいて訂正し、当該符号データを復号した復号データを生成する復号化手段と、前記復号化手段により生成された復号データのうち、外部から指定された特定の前記第２信号線上に配置されたメモリセルに対応する復号データを出力する出力手段と、前記復号化手段により生成された復号データを符号化し、前記誤り訂正符号を付加した符号データを生成する符号化手段と、前記符号化手段により生成された符号データを、前記有効化された第１信号線上のメモリセルに書き戻す書戻手段と、を備える。
【０００８】
また、本発明は、誤り訂正符号が付加された符号データを記憶する複数のメモリセルを、互いに直交する複数の第１信号線と複数の第２信号線との交点に配置したメモリセルアレイを備える半導体記憶装置の誤り訂正方法であって、有効化手段が、外部から指定された特定の前記第１信号線を有効化する有効化工程と、読出手段が、前記有効化工程で有効化された前記第１信号線上の複数のメモリセルから各符号データを読み出す読出工程と、復号化手段が、前記読出工程で読み出された符号データ中の誤りを前記誤り訂正符号に基づいて訂正し、当該符号データを復号した復号データを生成する復号化工程と、出力手段が、前記復号化工程で生成された復号データのうち、外部から指定された特定の前記第２信号線上に配置されたメモリセルに対応する復号データを出力する出力工程と、符号化手段が、前記復号化工程で生成された復号データを符号化し、前記誤り訂正符号を付加した符号データを生成する符号化工程と、書戻手段が、前記符号化工程で生成された符号データを、前記有効化された第１信号線上のメモリセルに書き戻す書戻工程と、を含む。
【発明の効果】
【０００９】
本発明によれば、読出手段と出力手段との間に、符号データ中に発生した誤りを検出及び訂正する復号化手段を設け、誤りを訂正した符号データを該当するメモリセルに書き戻すため、メモリセルアレイから読み出した全てのデータについての誤りを訂正することができる。
【発明を実施するための最良の形態】
【００１０】
以下、添付図面を参照して、本発明の最良な実施形態を詳細に説明する。
【００１１】
［第１の実施形態］
まず、第１の実施形態にかかる半導体記憶装置１００について説明する。半導体記憶装置１００は、外部から入力される各種信号（後述する制御信号ＣＴＲＬやＲＯＷ・ＣＯＬアドレス信号、制御信号ＷＥ、ＲＥ等）に応じて、内蔵する半導体メモリ（メモリセルアレイ部１１）に対しデータの書き込みやデータ読み出しを行うものである。なお、ここで「外部」とは、半導体記憶装置１００に接続された外部機器を意味する。
【００１２】
図１は、第１の実施形態にかかる半導体記憶装置１００の構成を示したブロック図である。同図に示したように、半導体記憶装置１００は、メモリセルアレイ部１１と、ＲＯＷアドレス復号部１２と、誤り訂正処理部１３と、ＣＯＬアドレス復号部１４と、制御処理部１５とを備えている。
【００１３】
メモリセルアレイ部１１は、行列状に配置された複数のメモリセル（図中Ｃ）を含むメモリアレイ１１１と、読出書込回路１１２とを備えている。
【００１４】
ここで、メモリアレイ１１１は、読み出し及び書き込み可能な半導体メモリであって、互いに直交関係にある行方向のワード線ＷＬと、列方向のビット線ＢＬ０Ａとが縦横に配線されている。各メモリセルは、これらワード線ＷＬとビット線ＢＬ０Ａとの交点に配置されており、全体として行列状の構造を有している。以下、メモリアレイ１１１を構成する各メモリセルの行方向のアドレスを「ＲＯＷアドレス」と呼び、列方向のアドレスを「ＣＯＬアドレス」と呼ぶ。
【００１５】
また、メモリアレイ１１１は、後述する誤り訂正符号の格納用領域を有するものとし、データの書き込み、読み出しの際には、処理の対象となるデータの誤り訂正符号の書き込み、読み出しがあわせて行われるものとする。
【００１６】
なお、メモリセルアレイ部１１は、読み出し及び書き込み可能な半導体メモリであればその種別は問わないものとする。例えば、ＳＲＡＭ（Static  Random  Access  Memory）やＤＲＡＭ（Dynamic  Random  Access  Memory）、ＦｅＲＡＭ（Ferroelectric  Random  Access  Memory）、ＭＲＡＭ（Magnetoresistive  Random  Access  Memory）、ＰＲＡＭ（Phase  change  Random  Access  Memory）、ＲｅＲＡＭ（Resistance  Random  Access  Memory）、ＦｌａｓｈＲＯＭ等をメモリアレイ１１１として用いることができる。
【００１７】
読出書込回路１１２は、制御処理部１５から入力される制御信号ＣＴＲＬ２に応じて、メモリアレイ１１１に含まれたメモリセルに対し、データの読み出しや書き込みを行う。なお、後述するように、メモリアレイ１１１に記憶されるデータは、誤り訂正符号が付加された誤り訂正符号処理済みのデータである。以下、誤り訂正符号処理が施されたデータを「符号データ」という。
【００１８】
具体的に、読出書込回路１１２は、メモリアレイ１１１から符号データを読み出す場合、ビット線ＢＬ０Ａを介して、ＲＯＷアドレス復号部１２により有効化されたワード線ＷＬ上のメモリセルから符号データの読み出し、これらメモリセルの各ＣＯＬアドレスに対応するビット線ＢＬ０を介して、誤り訂正処理部１３（誤り訂正符号復号回路１３１）に出力する。
【００１９】
また、読出書込回路１１２は、メモリアレイ１１１にデータを書き込む場合、ビット線ＢＬ０を介して入力された符号データを、当該ビット線ＢＬ０の各々に対応するビット線ＢＬ０Ａを介してメモリアレイ１１１に出力することで、ＲＯＷアドレス復号部１２により有効化されたワード線ＷＬ上のメモリセルに書き込みを行う。
【００２０】
なお、図１では、メモリアレイ１１１に対するデータの読み出し／書き込みを行う回路を一の読出書込回路１１２で表しているが、実際には、読み出しと書き込みとは独立した回路により行われる。具体的に、データの読み出しを行う読出回路は、メモリアレイ１１１のビット線ＢＬ０Ａ上の符号データを、外部への出力に適した形式に変換するための回路であり、例えば、センスアンプ回路を用いることができる。
【００２１】
また、データの書き込みを行う書込回路は、ビット線ＢＬ０を介して誤り訂正処理部１３（誤り訂正符号復号回路１３１）から入力される符号データを、メモリアレイ１１１上のビット線ＢＬ０Ａへの入力に適した形式に変換するための回路であり、例えば、ドライバ回路等を用いることができる。なお、読出書込回路１１２（読出回路、書込回路）には、メモリアレイ１１１の種別に適した回路が用いられるものとする。
【００２２】
また、メモリアレイ１１１（ビット線ＢＬ０Ａ）と、読出書込回路１１２との接続方法は特に問わないものとするが、例えば、図２〜４に示した接続方法を用いることとしてもよい。以下、図２〜４を参照して、メモリアレイ１１１と読出書込回路１１２との接続例について説明する。
【００２３】
図２は、メモリアレイ１１１（ビット線ＢＬ０Ａ）と読出書込回路１１２との接続例を示した図である。同図に示したように、この接続例ではビット線ＢＬ０Ａの夫々に対して読出書込回路１１２が設けられている。
【００２４】
図２の構成の場合、各読出書込回路１１２は、自己の読出書込回路１１２が接続されたビット線ＢＬ０Ａのメモリセルについて、データの読み出しと書き込みとを個別的に行う。この構成により、各読出書込回路１１２は独立的に動作し、複数のメモリセルに対しデータの読み出し又は書き込みを一度に行うことが可能となるため、処理速度の向上を図ることができる。なお、読出書込回路１１２と、誤り訂正符号復号回路１３１との間に設けられたバッファＢは、読出書込回路１１２と誤り訂正符号復号回路１３１との間で授受されるデータを一次的に格納する記憶装置である。
【００２５】
図３は、メモリアレイ１１１（ビット線ＢＬ０Ａ）と読出書込回路１１２との他の接続例を示した図である。同図に示したように、各ビット線ＢＬ０ＡにはスイッチＳＷが設けられており、各スイッチＳＷには夫々異なる疑似ワード線ＷＬ’が接続されている。
【００２６】
ここで、疑似ワード線ＷＬ’は、ＲＯＷアドレス復号部１２とメモリアレイ１１１とを接続する各ワード線ＷＬの支線であって、ＲＯＷアドレス復号部１２によりワード線ＷＬが有効化されると、このワード線ＷＬの支線となる疑似ワード線ＷＬ’も同様に有効化される。スイッチＳＷは、ＲＯＷアドレス復号部１２により疑似ワード線ＷＬ’が有効化されると、ビット線ＢＬ０Ａを導通状態（オン）とし、また、ワード線ＷＬが無効化されている場合に、ビット線ＢＬ０Ａを非導通状態（オフ）とする。
【００２７】
各ビット線ＢＬ０Ａは、一の読出書込回路１１２に接続されている。読出書込回路１１２は、導通状態となったビット線ＢＬ０Ａを介し、このビット線ＢＬ０Ａに対応するメモリセルについて、符号データの読み出しと書き込みと行うことになる。このように、本構成では、ビット線ＢＬ０Ａは、スイッチＳＷによるオン／オフの切り替えにより、論理的には別のラインであるように振る舞う。また、スイッチＳＷのオン／オフにより、複数のビット線ＢＬ０Ａは一の読出書込回路１１２を共有することになるため、より少ない個数の読出書込回路１１２で、メモリアレイ１１１を取り扱うことが可能となる。
【００２８】
図４は、メモリアレイ１１１（ビット線ＢＬ０Ａ）と読出書込回路１１２との他の接続例を示した図である。同図に示したように、各ビット線ＢＬ０ＡにはスイッチＳＷ１が設けられており、各ビット線ＢＬ０にはスイッチＳＷ２が設けられている。ビット線ＢＬ０Ａ及びビット線ＢＬ０の夫々は、一の読出書込回路１１２に接続されており、また、各ビット線ＢＬ０には、読出書込回路１１２と誤り訂正符号復号回路１３１との間で授受される符号データを一次的に格納するためのバッファＢが夫々設けられている。
【００２９】
セレクト線ＳＬの一端は、一対のスイッチＳＷ１及びＳＷ２に夫々接続されており、他端は制御処理部１５や図示しない外部の装置に接続されている。また、スイッチＳＷ１、ＳＷ２は、セレクト線ＳＬを介して入力されるセレクト信号に応じて、ビット線ＢＬ０Ａ、ビット線ＢＬ０を導通状態（オン）とする。制御処理部１５や図示しない外部装置は、各セレクト線ＳＬにスイッチＳＷ１、ＳＷ２をオン状態とするセレクト信号を異なるタイミングで入力することで、導通状態となるビット線ＢＬ０Ａ及びビット線ＢＬ０を、セレクト線単位で時分割スイッチさせる。
【００３０】
読出書込回路１１２は、導通状態となったビット線ＢＬ０Ａ及びビット線ＢＬ０を用い、当該ビット線ＢＬ０Ａに対応するメモリセルについて、符号データの読み出しと書き込みとを行う。このように、本構成では、メモリアレイ１１１に対する符号データの読み出し及び書き込みを、時分割で切り替わるビット線（ビット線ＢＬ０Ａ及びビット線ＢＬ０）を用いて順次行うことができるため、より少ない個数の読出書込回路１１２で、メモリアレイ１１１を取り扱うことが可能となる。
【００３１】
図１に戻り、ＲＯＷアドレス復号部１２は、外部から入力されるＲＯＷアドレス信号（Ａ＿［ｌ−１：ｋ］）を解釈し、ＲＯＷアドレス信号が指定するＲＯＷアドレスに対応したワード線ＷＬを有効とすることで、このワード線上に配置されたメモリセル群を選択する。なお、ＲＯＷアドレス信号により指定されるＲＯＷアドレスは、メモリセルアレイ部１１のワード線ＷＬと一意に関連付けられているものとする。
【００３２】
誤り訂正処理部１３は、メモリセルアレイ部１１とＣＯＬアドレス復号部１４との間に設けられ、誤り訂正符号復号回路１３１とバッファ１３２とを備えている。
【００３３】
誤り訂正符号復号回路１３１は、制御処理部１５からの制御信号ＣＴＲＬ２を入力とし、読出書込回路１１２との間で授受されるデータに対し、誤り訂正復号処理、誤り訂正符号処理を施すことで、データ中に発生する誤りの検出と訂正とを行う。なお、誤り訂正符号復号回路１３１が行う誤り訂正復号処理、誤り訂正符号処理は、リード・ソロモン符号等、誤り訂正符号（ＥＣＣ：Error  Correcting  Code）に係る公知の技術を用いることが可能である。
【００３４】
具体的に、誤り訂正符号復号回路１３１は、メモリセルアレイ部１１の読み出し時において、ビット線ＢＬ０を介して読出書込回路１１２から入力される符号データに対し、誤り訂正復号処理を施すことで、当該符号データに付加された誤り訂正符号に基づいてデータ中の誤りを検出及び訂正し、符号データを復号した「復号データ」を生成する。また、誤り訂正符号復号回路１３１は、誤り訂正復号処理を施した復号データを、ビット線ＢＬ１Ａを介してバッファ１３２に出力することで、ビット線ＢＬ０（即ち、ＣＯＬアドレス）の夫々に応じたバッファ１３２上の記憶領域に書き込みを行う。なお、誤り訂正符号復号回路１３１は、誤り訂正復号処理の実行時に符号データの誤りを検出すると、制御処理部１５に対し、後述する書き戻しフラグ１５１を有効化する制御信号ＷＢを出力することで、当該書き戻しフラグ１５１を有効化する。
【００３５】
また、誤り訂正符号復号回路１３１は、メモリアレイ１１１への書き込み（書き戻し）時において、バッファ１３２に記憶された書き込み対象の復号データに対し、誤り訂正符号処理を施すことで当該データを符号化するとともに、誤り検出・訂正用の誤り訂正符号を付加した符号データを生成する。また、誤り訂正符号復号回路１３１は、誤り訂正符号処理を施した符号データを、この符号データの元となる復号データが格納されたバッファ１３２上の領域（即ち、ＣＯＬアドレス）に対応するビット線ＢＬ０を介して、読出書込回路１１２に出力する。
【００３６】
バッファ１３２は、復号データを一時的に記憶する記憶装置であって、メモリアレイ１１１から読み出されたデータや、メモリアレイ１１１への書き込み対象となるデータを保持する。ここで、バッファ１３２の領域は、メモリアレイ１１１のＣＯＬアドレスと関連付けて管理されており、各領域へのアクセスは、当該領域が示すＣＯＬアドレスに対応したビット線ＢＬ１Ａ、ＢＬ１を介して行われるものとする。なお、バッファ１３２は、少なくともメモリアレイ１１１の１つのライン（ＲＯＬアドレス）分のデータを保持できるだけの記憶容量を備えるものとするが、複数のライン分の復号データを保存できるだけの記憶容量を備えることとしてもよい。
【００３７】
ＣＯＬアドレス復号部１４は、外部から入力されるＣＯＬアドレス信号（Ａ＿［ｋ−１：０］）を解釈し、ＣＯＬアドレス信号が指定するＣＯＬアドレスに対応するビット線ＢＬ１を介して、バッファ１３２にアクセスする。また、ＣＯＬアドレス復号部１４は、外部から入力される制御信号（後述する制御信号ＷＥ、ＲＥ）に従い、バッファ１３２の領域に対し、データの書き込みや読み出しを行う。
【００３８】
また、外部からＣＯＬアドレス復号部１４に、連続するＣＯＬアドレスについてデータの書き込みや読み出しを連続的に行うことを指示するバースト信号が入力される態様としてもよい。この場合、ＣＯＬアドレス復号部１４は、バースト信号を受け付けると、バースト信号により指示された連続するＣＯＬアドレスについて、データの書き込みや読み出しを連続的に行う。
【００３９】
また、他の信号として、例えば、ＣＥ（Chip  Enable）信号やＯＥ（Output  Enable）信号、ＲＷ（Read  Write）信号等が、外部からＣＯＬアドレス復号部１４に入力されることとしてもよい。なお、ＲＷ信号が入力された場合、当該ＲＷ信号が表す二値のうち“１”を読み出し、“０”を書き出し（又はその逆）とすることで、制御信号ＷＥ、ＲＥの代替として用いることができる。
【００４０】
制御処理部１５は、外部からデータの書き込み又は読み出しを指示する制御信号ＣＴＲＬを受け付けると、読出書込回路１１２及び誤り訂正符号復号回路１３１に、後述する書き込み処理又は読み出し処理の開始を指示する制御信号ＣＴＲＬ２を送信することで、各処理に応じた動作を各部に行わせる。
【００４１】
また、制御処理部１５は、内蔵するレジスタ等に書き戻し処理の要否を示す書き戻しフラグ１５１を保持しており、誤り訂正符号復号回路１３１により書き戻しフラグ１５１が有効化されたことを検出すると、後述する書き戻し処理の開始を指示する制御信号ＣＴＲＬ２を送信することで、各処理に応じた動作を各部に行わせる。
【００４２】
以下、半導体記憶装置１００の書き込み処理、読み出し処理及び書き戻し処理について順に説明する。
【００４３】
［書き込み処理］
まず、図５〜図７を参照して、外部から入力されるデータをメモリセルアレイ部１１に書き込む際の動作について説明する。図５は半導体記憶装置１００の書き込み処理の手順を示したシーケンス図である。まず、制御処理部１５は、外部からデータの書き込みを指示する制御信号ＣＴＲＬが入力されると（ステップＳ１１）、書き込み処理の開始を指示する制御信号ＣＴＲＬ２を読出書込回路１１２及び誤り訂正符号復号回路１３１に出力することで（ステップＳ１２）、書き込み処理を開始する。
【００４４】
続いて、ＲＯＷアドレス復号部１２は、外部からＲＯＷアドレス信号が入力されると（ステップＳ１３）、このＲＯＷアドレス信号で指定されたＲＯＷアドレスに対応するワード線ＷＬを有効化する（ステップＳ１４）。次いで、読出書込回路１１２は、ステップＳ１４で有効化されたワード線ＷＬ上のメモリセルから符号データを読み出すと（ステップＳ１５）、ビット線ＢＬ０を介して誤り訂正符号復号回路１３１に出力する（ステップＳ１６）。
【００４５】
誤り訂正符号復号回路１３１は、読出書込回路１１２から入力された符号データに対して誤り訂正復号処理を施し復号データを生成すると（ステップＳ１７）、ビット線ＢＬ１Ａを介してバッファ１３２に出力することで、バッファ１３２の所定の領域に復号データを記憶する（ステップＳ１８）。
【００４６】
一方、ＣＯＬアドレス復号部１４では、外部からＣＯＬアドレス信号と、書き込みを指示する制御信号ＷＥと、書き込み対象のデータとが入力されると（ステップＳ１９）、ビット線ＢＬ１を介し、このＣＯＬアドレス信号で指定されたＣＯＬアドレスに対応するバッファ１３２上の領域に、書き込み対象のデータを上書きすることで、データの更新を行う（ステップＳ２０）。なお、バッファ１３２への書き込み対象データの書き込みは、同一のＲＯＷアドレス上の復号データに対してならば、一回であってもよいし、複数回であってもよい。
【００４７】
ステップＳ２０でデータの上書きが完了すると、誤り訂正符号復号回路１３１は、この上書きが行われたデータを含む全ての復号データに誤り訂正符号化処理を施すことで、当該復号データから符号データを生成する（ステップＳ２１）。続いて、誤り訂正符号復号回路１３１は、ステップＳ２１で生成した符号データを、ビット線ＢＬ０を介して読出書込回路１１２に出力する（ステップＳ２２）。
【００４８】
読出書込回路１１２は、誤り訂正符号復号回路１３１から符号データを受け付けると、ＲＯＷアドレス復号部１２により有効化されたワード線上のメモリセルに符号データを書き込むことで、書き込み対象となったデータをメモリアレイ１１１に格納し（ステップＳ２３）、本処理を終了する。
【００４９】
このように、半導体記憶装置１００では、誤り訂正符号が付加された符号データがメモリセルアレイ部１１（メモリアレイ１１１）に書き込まれることになる。なお、本処理では、ＣＯＬアドレス、書き込みを指示する制御信号、書き込み対象のデータをＲＯＷアドレスの入力後、ＣＯＬアドレス復号部１４に入力することとしたが、これに限らず、ＲＯＷアドレスの入力と同じタイミングで入力してもよい。
【００５０】
また、本処理では、制御信号ＣＴＲＬの入力に伴い、処理を開始する態様としたが、これに限らないものとする。例えば、ＲＯＷアドレス復号部１２へのＲＯＷアドレス信号の入力に伴い処理を開始する態様としてもよい。この場合、書き込みを指示する制御信号ＣＴＲＬの入力は、ステップＳ１９までに行われればよい。また、制御信号ＣＴＲＬが予め定められた制御用の命令（コマンド）を含んでいる場合、このコマンドを解釈（復号）することで制御信号ＣＴＲＬ２を生成することとしてもよい。
【００５１】
図６、図７は、ＲＯＷアドレスと、ＣＯＬアドレスとを異なるタイミングで入力した場合での、書き込み処理時のタイミングチャートである。ここで、図６は、１つのデータを書き込む場合（シングルライト）のタイミングチャートを示しており、図７は、４つの連続するＣＯＬアドレスに対してデータを連続的に書き込む場合（バーストライト）のタイミングチャートを示している。
【００５２】
図中「ＲＡＳ」、「ＣＡＳ」の夫々は、外部から入力されるＲＯＷアドレス、ＣＯＬアドレスの入力タイミングを示している。また、「ＷＥ」は外部から入力される書き込みを指示する制御信号を、「ＷＤＡＴＡ」は書き込み対象のデータを示している。また、「Ｂｕｆｆｅｒ」は、バッファ１３２上のデータの状態を、「ＣＥＬＬ」はワード線が有効となっているメモリセルの状態を示している。なお、図７の「ＢＵＲＳＴ」は、データを連続的に書き込むことを指示するバースト信号を示している。
【００５３】
図６に示したように、まず、ＲＯＷアドレスがＲＯＷアドレス復号部１２に入力されると（Ｔ１１）、読出書込回路１１２により、このＲＯＷアドレスに対応するメモリセルアレイ部１１でのライン上のメモリセルから符号データが読み出される（Ｔ１２）。メモリセルから読み出された符号データは、誤り訂正符号復号回路１３１により誤り訂正復号処理が施された後、復号データとしてバッファ１３２に格納される（Ｔ１３）。
【００５４】
その後、ＣＯＬアドレス信号と、書き込みを指示する制御信号（ＷＥ）と、書き込み対象のデータ（ＷＤＡＴＡ）とがＣＯＬアドレス復号部１４に入力されると（Ｔ１４）、ＣＯＬアドレス復号部１４により、ＣＯＬアドレスで指定されたバッファ１３２上の領域に対して、書き込み対象のデータが上書きされることで復号データが更新される（Ｔ１５）。バッファ１３２への書き込みが完了すると、誤り訂正符号復号回路１３１により、バッファ１３２上の復号データに対し誤り訂正符号処理が施される（Ｔ１６）。次いで、読出書込回路１１２により、バッファ１３２上の符号データが、ＲＯＷアドレスで指定されたラインのメモリセルへと書き戻され（Ｔ１７）、処理を終了する。
【００５５】
一方、バーストライト時では、図７に示したように、ＲＯＷアドレスがＲＯＷアドレス復号部１２に入力されると（Ｔ２１）、読出書込回路１１２により、このＲＯＷアドレスに対応するメモリセルアレイ部１１でのライン（ワード線ＷＬ）上のメモリセルから符号データが読み出される（Ｔ２２）。メモリセルから読み出された符号データは、誤り訂正符号復号回路１３１により誤り訂正復号処理が施された後、バッファ１３２に格納される（Ｔ２３）。
【００５６】
その後、ＣＯＬアドレスと、バースト信号（ＢＵＲＳＴ）と、書き込みを指示する制御信号（ＷＥ）と、書き込み対象のデータ（ＷＤＡＴＡ）とがＣＯＬアドレス復号部１４に入力されると（Ｔ２４）、ＣＯＬアドレス復号部１４により、ＣＯＬアドレスで指定されたバッファ１３２上での４つの連続する領域に対して、書き込み対象のデータ（ＷＤＡＴＡ１〜４）が夫々上書きされることで復号データが更新される（Ｔ２５〜Ｔ２８）。バッファ１３２への書き込みが完了すると、誤り訂正符号復号回路１３１により、バッファ１３２上の復号データに対し誤り訂正符号処理が施される（Ｔ２９）。次いで、読出書込回路１１２により、バッファ１３２上の符号データが、ＲＯＷアドレスで指定されたラインのメモリセルへと書き戻され（Ｔ３０）、処理を終了する。
【００５７】
図６、図７の例では、ＣＯＬアドレス復号部１４による書き込み対象のデータのバッファ１３２への書き込みが完了した直後に誤り訂正符号化処理、メモリセルへの書き戻しを行っているが、このタイミングに限らないものとする。例えば、次のＲＯＷアドレスの入力時等、バッファ上の復号データが上書きされない限り、タイミングを遅らせてもよい。
【００５８】
また、図７では、４つのデータを連続して書き込む例を示したが、２つ以上の任意の回数で連続して書き込みを行ってもよい。また、書き込む回数を指定する信号を外部から入力することで、書き込む回数を指定する構成としてもよい。
【００５９】
［読み出し処理］
次に、メモリセルアレイ部１１から符号データを読み出し、外部へ出力する際の動作について説明する。図８は半導体記憶装置１００の読出処理の手順を示したシーケンス図である。まず、制御処理部１５は、外部からデータの読み出しを指示する制御信号ＣＴＲＬが入力されると（ステップＳ３１）、読み出し処理の開始を指示する制御信号ＣＴＲＬ２を読出書込回路１１２及び誤り訂正符号復号回路１３１に出力することで（ステップＳ３２）、書き込み処理を開始する。
【００６０】
続いて、ＲＯＷアドレス復号部１２は、外部からＲＯＷアドレス信号が入力されると（ステップＳ３３）、このＲＯＷアドレス信号で指定されたＲＯＷアドレスに対応するワード線ＷＬを有効化する（ステップＳ３４）。次いで、読出書込回路１１２は、ステップＳ３４で有効化されたワード線ＷＬ上のメモリセルから符号データを読み出すと（ステップＳ３５）、ビット線ＢＬ０を介して誤り訂正符号復号回路１３１に出力する（ステップＳ３６）。
【００６１】
誤り訂正符号復号回路１３１は、読出書込回路１１２から入力された符号データに対して誤り訂正復号処理を施し復号データを生成すると（ステップＳ３７）、ビット線ＢＬ１Ａを介してバッファ１３２に出力することで、バッファ１３２の所定の領域に復号データを記憶する（ステップＳ３８）。続いて、誤り訂正符号復号回路１３１は、ステップＳ３７での誤り訂正復号処理の結果、符号データ中に誤りが検出されたか否かを判定し、誤りが検出されなかった場合には（ステップＳ３９；Ｎｏ）、誤り訂正符号復号回路１３１の処理を終了する。
【００６２】
また、ステップＳ３９において、誤りを検出したと判定すると（ステップＳ３９；Ｙｅｓ）、誤り訂正符号復号回路１３１は、書き戻しフラグ１５１を有効化する制御信号ＷＢを制御処理部１５に出力することで、書き戻しフラグ１５１を有効化し（ステップＳ４０）、誤り訂正符号復号回路１３１の処理を終了する。なお、誤りが検出された場合、誤り訂正復号が行われたバッファ１３２上の復号データと、ＲＯＷアドレス復号部１２が有効化したＲＯＷアドレスとは、後述する書き戻し処理が完了するまで保持されるものとする。
【００６３】
一方、ＣＯＬアドレス復号部１４では、外部からＣＯＬアドレス信号、書き込みを指示する制御信号ＷＥが入力されると（ステップＳ４１）、ビット線ＢＬ１を介し、このＣＯＬアドレス信号で指定されたＣＯＬアドレスに対応するバッファ１３２上の領域から復号データを読み出し、読み出し対象のデータとして外部に出力した後（ステップＳ４２）、本処理を終了する。
【００６４】
なお、バッファ１３２からの復号データの読み出し回数は、同一のＲＯＷアドレス上アドレス上の復号データに対してならば、１回でもよいし、複数回であってもよい。また、書き込み時処理と同様に、ＣＯＬアドレス信号、読み出しを指示する制御信号は、ＲＯＷアドレス信号の後に入力されてもよいし、ＲＯＷアドレス信号と同じタイミングで入力されてもよい。
【００６５】
また、本処理では、制御信号ＣＴＲＬの入力に伴い、処理を開始する態様としたが、これに限らないものとする。例えば、ＲＯＷアドレス復号部１２へのＲＯＷアドレス信号の入力に伴い処理を開始する態様としてもよい。この場合、読み出しを指示する制御信号ＣＴＲＬの入力は、ステップＳ３８までに行われればよい。
【００６６】
［書き戻し処理］
次に、読み出し処理の際の誤り訂正復号処理の結果、誤りが検出された場合に行われる符号データの書き戻し処理について説明する。なお、本処理は、上述したステップＳ４０での書き戻しフラグの有効化に伴い実行されるものである。
【００６７】
図９は、半導体記憶装置１００の書き戻し処理の手順を示したシーケンス図である。なお、本処理の前提として、ＲＯＷアドレス復号部１２は、誤り検出時のＲＯＷアドレスを保持し、当該ＲＯＷアドレスに対応するワード線ＷＬの有効化を行っているものとする（ステップＳ５１）。
【００６８】
まず、制御処理部１５は、書き戻しフラグが有効化されたことを検出すると（ステップＳ５２）、書き戻し処理の開始を指示する制御信号ＣＴＲＬ２をメモリセルアレイ部１１及び誤り訂正符号復号回路１３１に送信することで、書き戻し処理を開始する（ステップＳ５３）。
【００６９】
続いて、誤り訂正符号復号回路１３１は、読み出し処理の際にバッファ１３２上に保持された復号データに対し、誤り訂正符号化処理を施すことで当該復号データの符号データを生成する（ステップＳ５４）。次いで、誤り訂正符号復号回路１３１は、ステップＳ５４で生成した符号データを、ビット線ＢＬ０を介して読出書込回路１１２に出力する（ステップＳ５５）。
【００７０】
一方、読出書込回路１１２は、誤り訂正符号復号回路１３１から符号データを受け付けると、ビット線ＢＬ０Ａを介し、ＲＯＷアドレス復号部１２より有効化されたワード線ＷＬ上のメモリセルに符号データを書き戻すことで、誤りを訂正した符号データをメモリセルアレイ部１１に書き込みを行う（ステップＳ５６）。また、誤り訂正符号復号回路１３１では、ステップＳ５５の後、書き戻しフラグ１５１を無効化する制御信号を制御処理部１５に出力することで、書き戻しフラグ１５１を無効化し（ステップＳ５７）、本処理を終了する。
【００７１】
なお、本書き戻し処理は、復号データの読み出しに影響を与えない限り任意のタイミングで行ってもよい。例えば、読み出し処理の際のＣＯＬアドレスの入力時（ステップＳ４１）に行ってもよいし、次のＲＯＷアドレスが入力される直前に行ってもよい。
【００７２】
図１０、図１１は、ＲＯＷアドレスと、ＣＯＬアドレスとを異なるタイミングで入力した場合での、読み出し処理及び書き戻し処理時のタイミングチャートを示した図である。ここで、図１０は、１つのデータを読み出す場合（シングルリード）のタイミングチャートを示しており、図１１は、４つの連続するデータの読み出す場合（バーストリード）のタイミングチャートを示している。
【００７３】
図中「ＲＡＳ」、「ＣＡＳ」の夫々は、外部から入力されるＲＯＷアドレス、ＣＯＬアドレスの入力タイミングを示している。また、「ＲＥ」は外部から入力される読み出しを指示する制御信号を、「ＲＤＡＴＡ」は読み出し対象のデータを示している。また、「Ｂｕｆｆｅｒ」は、バッファ１３２上のデータの状態を、「ＣＥＬＬ」はワード線が有効となっているメモリセルの状態を示している。なお、図１１の「ＢＵＲＳＴ」は、データを連続的に読み出すことを指示するバースト信号を示している。
【００７４】
図１０に示したように、まず、ＲＯＷアドレスがＲＯＷアドレス復号部１２に入力されると（Ｔ３１）、読出書込回路１１２により、このＲＯＷアドレスに対応するライン（行）上のメモリセルから符号データが読み出される（Ｔ３２）。メモリセルから読み出された符号データは、誤り訂正符号復号回路１３１により、誤り訂正復号処理が施された後、復号データとしてバッファ１３２に格納される（Ｔ３３）。
【００７５】
その後、ＣＯＬアドレス信号と、読み出し指示する制御信号（ＲＥ）とがＣＯＬアドレス復号部１４に入力されると（Ｔ３４）、ＣＯＬアドレス復号部１４は、ＣＯＬアドレスで指定されたバッファ１３２上の領域から復号データを読み出し、読み出し対象のデータ（ＲＤＡＴＡ）として外部に出力する（Ｔ３５）。
【００７６】
一方、誤り訂正符号復号回路１３１では、制御処理部１５から書き戻し処理を指示する制御信号ＣＴＲＬ２を受け付け、ＣＯＬアドレス復号部１４にＣＯＬアドレスが入力されると、バッファ１３２上の復号データに対して誤り訂正符号化処理を施すことで、符号データを生成する（Ｔ３６）。続いて、読出書込回路１１２は、誤り訂正符号復号回路１３１により生成された符号データを、ＲＯＷアドレスで指定されたワード線上のメモリセルに書き戻し（Ｔ３７）、処理を終了する。なお、誤り訂正復号処理の際、誤りが検出されない場合は、Ｔ３６、Ｔ３７に係る処理は行われない。
【００７７】
また、バーストリード時では、図１１に示したように、ＲＯＷアドレスがＲＯＷアドレス復号部１２に入力されると（Ｔ４１）、読出書込回路１１２により、このＲＯＷアドレスに対応するワード線上のメモリセルから符号データが読み出される（Ｔ４２）。メモリセルから読み出された符号データは、誤り訂正符号復号回路１３１により誤り訂正復号処理が施された後、復号データとしてバッファ１３２に格納される（Ｔ４３）。
【００７８】
その後、ＣＯＬアドレスと、バースト信号（ＢＵＲＳＴ）と、読み出しを指示する制御信号（ＲＥ）とがＣＯＬアドレス復号部１４に入力されると（Ｔ４４）、ＣＯＬアドレス復号部１４により、ＣＯＬアドレスで指定されたバッファ１３２上での４つの領域から、復号データが順次読み出され（Ｔ４５〜Ｔ４８）、読み出し対象データ（ＲＤＡＴＡ）として外部に出力される。
【００７９】
一方、誤り訂正符号復号回路１３１では、制御処理部１５から書き戻し処理を指示する制御信号ＣＴＲＬ２を受け付け、ＣＯＬアドレス復号部１４にＣＯＬアドレスが入力されると、バッファ１３２上の復号データに対して誤り訂正符号化処理を施すことで、符号データを生成する（Ｔ４９）。続いて、読出書込回路１１２は、誤り訂正符号復号回路１３１により生成された符号データを、ＲＯＷアドレスで指定されたワード線上のメモリセルに書き戻し（Ｔ５０）、処理を終了する。なお、誤り訂正復号処理の際、誤りが検出されない場合は、Ｔ４９、Ｔ５０に係る処理は行われない。
【００８０】
図１０、図１１の例では、ＣＯＬアドレスが入力されたタイミングに応じて、符号データの書き戻し処理を開始する態様としたが、これに限らないものとする、例えば、次のＲＯＷアドレスの入力時等、バッファ上のデータが上書きされない限り、タイミングを遅らせてもよい。
【００８１】
また、図１１の例では、４つのデータを連続して読み出しているが、２つ以上の任意の回数で連続して読み出しを行ってもよい。また、読み出す回数を指定する信号を外部から入力することで、読み明日回数を指定する構成としてもよい。
【００８２】
また、本実施形態では、ＣＯＬアドレス復号部１４に読み出し制御信号ＲＥを入力することで、データの読み出しを指示する態様としたが、この読み出し制御信号ＲＥを用いずに、書き込み制御信号ＷＥが無効な場合に、読み出しを行うよう構成してもよい。
【００８３】
以上のように、第１の実施形態によれば、読出書込回路１１２とＣＯＬアドレス復号部１４との間に、読出書込回路１１２により読み出された符号データの誤りを検出・訂正する誤り訂正処理部１３（誤り訂正符号復号回路１３１）を設け、誤りを訂正した符号データを該当するメモリセルに書き戻すため、メモリセルアレイ部１１（メモリアレイ１１１）から読み出した全ての符号データについての誤りを訂正することができる。
【００８４】
［第２の実施形態］
次に、第２の実施形態について説明する。なお、上述した第１の実施形態と同様の構成要素については、同一の符号を付与し、説明を省略する。
【００８５】
図１２は、第２の実施形態にかかる半導体記憶装置２００の構成を示したブロック図である。同図に示したように、半導体記憶装置２００は、メモリセルアレイ部１１と、ＲＯＷアドレス復号部１２と、ＣＯＬアドレス復号部１４と、ＲＯＷアドレス制御部２１と、誤り訂正処理部２２と、制御処理部２３とを備えている。
【００８６】
ここで、ＲＯＷアドレス制御部２１は、外部から入力されるＲＯＷアドレス信号（Ａ＿［ｌ−１：ｋ］）を、ＲＯＷアドレス復号部１２及びＲＯＷアドレス制御部２１に出力する。また、ＲＯＷアドレス制御部２１は、誤り訂正処理部２２からＲＯＷアドレス信号（Ａ＿［ｌ−１：ｋ］’）が入力されると、このＲＯＷアドレス信号をＲＯＷアドレス復号部１２に出力する。
【００８７】
誤り訂正処理部２２は、メモリセルアレイ部１１と、ＣＯＬアドレス復号部１４との間に設けられ、誤り訂正符号復号回路２２１とデータ制御回路２２２とを備えている。
【００８８】
ここで、誤り訂正符号復号回路２２１は、上述した誤り訂正符号復号回路１３１と同様の機能を備えるとともに、データ読み出しの際の誤り訂正復号処理において、データの誤りを検出すると、エラーの発生を通知するＥＲＲ信号を有効化し、データ制御回路２２２に出力する。
【００８９】
また、データ制御回路２２２は、復号データを一次記憶するための記憶媒体（ラインバッファ）を有し、誤り訂正符号復号回路２２１からビット線ＢＬ１Ａを介して入力される復号データや、ＣＯＬアドレス復号部１４によりビット線ＢＬ１を介して書き込まれるデータを記憶・管理する。また、データ制御回路２２２は、ＲＯＷアドレス制御部２１から入力されるＲＯＷアドレス信号（Ａ＿［ｌ−１］〜Ａ＿［ｋ］）と、誤り訂正符号復号回路２２１から入力されるＥＲＲ信号の状態とを、訂正符号復号回路２２１やＣＯＬアドレス復号部１４から入力されるデータと関連付け、ラインデータとして一のラインバッファに記憶する。
【００９０】
図１３は、データ制御回路２２２が記憶するラインデータのデータ構造を模式的に示した図である。同図に示したように、データ制御回路２２２は、ＲＯＷアドレス制御部２１から入力されたＲＯＷアドレス信号に対応するＲＯＷアドレスと、このＲＯＷアドレスに対応するライン上のメモリセルから読出書込回路１１２により読み出されたデータ（即ち、誤り訂正符号復号回路２２１から入力される復号データ）と、誤り訂正符号復号回路２２１からのエラー通知信号ＥＲＲに応じた書き戻し判別情報（ｔｒｕｅ／ｆａｌｓｅ）とを関連付け、ＲＯＷアドレス毎のラインデータとして記憶する。なお、各ラインデータに記憶される復号データは、当該復号データの元となる符号データが格納されたメモリアレイ１１１のＣＯＬアドレスと関連付けて管理されるものとする。
【００９１】
ここで、ラインアドレスは、データ制御回路２２２のラインデータを識別するための識別情報であって、０〜Ｎ（Ｎは整数）のラインアドレス毎に、一のＲＯＷアドレスについての復号データが保持されている。なお、データ制御回路２２２が保持するラインデータの個数、即ち、ラインバッファの個数は特に問わず、一つであってもよいし、図１３に示したように複数個であってもよい。
【００９２】
データ制御回路２２２は、誤り訂正符号復号回路２２１によりＥＲＲ信号が有効化されると、書き戻し判別情報を有効化（ｔｒｕｅ）とし、書き戻しフラグ１５１を有効化する制御信号ＷＢを制御処理部２３に出力することで、書き戻しフラグ１５１を有効化する。
【００９３】
また、データ制御回路２２２は、後述する書き戻し処理の際に、書き戻し判別情報が有効とされた復号データのＲＯＷアドレスを指定するＲＯＷアドレス信号（Ａ＿［ｌ−１：ｋ］’）をＲＯＷアドレス制御部２１に出力する。
【００９４】
また、データ制御回路２２２は、制御処理部２３から入力される制御信号ＣＴＲＬ２に応じ、メモリアレイ１１１に対するデータ書き込み又は読み出しの際に、処理の対象となったＲＯＷアドレスに関する復号データが自己のラインバッファに格納されているか否かを判定する。自己のラインバッファに格納されていると判定した場合、データ制御回路２２２は、この復号データを用いてデータの書き込み処理又は読み出し処理を継続する。
【００９５】
制御処理部２３は、外部からデータの書き込み又は読み出しを指示する制御信号ＣＴＲＬを受信すると、読出書込回路１１２、誤り訂正符号復号回路２２１及びデータ制御回路２２２に、後述する書き込み処理又は読み出し処理の開始を指示する制御信号ＣＴＲＬ２を送信することで、各処理に応じた動作を各部に行わせる。
【００９６】
また、制御処理部２３は、内蔵するレジスタ等に書き戻し処理の要否を示す書き戻しフラグ１５１を保持しており、書き戻しフラグ１５１が有効化されたことを検出すると、後述する書き戻し処理の開始を指示する制御信号ＣＴＲＬ２を読出書込回路１１２、誤り訂正符号復号回路２２１及びデータ制御回路２２２に出力することで、書き戻し処理に応じた動作を各部に行わせる。
【００９７】
以下、半導体記憶装置２００の書き込み処理、読み出し処理及び書き戻し処理について順に説明する。
【００９８】
［書き込み処理］
まず、外部から入力されたデータをメモリセルアレイ部１１に書き込む際の動作について説明する。図１４は半導体記憶装置２００の書き込み処理の手順を示したシーケンス図である。制御処理部１５は、外部から書き込みを指示する制御信号ＣＴＲＬが入力されると（ステップＳ６１）、書き込み処理の開始を指示する制御信号ＣＴＲＬ２を読出書込回路１１２及び誤り訂正処理部２２（誤り訂正符号復号回路２２１、データ制御回路２２２）に出力することで（ステップＳ６２）、書き込み処理を開始する。
【００９９】
続いて、ＲＯＷアドレス制御部２１は、外部からＲＯＷアドレス信号が入力されると（ステップＳ６３）、このＲＯＷアドレス信号をＲＯＷアドレス復号部１２とデータ制御回路２２２とに出力する（ステップＳ６４）。
【０１００】
データ制御回路２２２は、ＲＯＷアドレス制御部２１からＲＯＷアドレス信号が入力されると、このＲＯＷアドレス信号が指定するＲＯＷアドレスに関する復号データを、自己のラインバッファに記憶しているか否かを判定する（ステップＳ６５）。ここで、記憶していないと判定した場合（ステップＳ６５；Ｎｏ）、ステップＳ７１の処理に移行し、また、記憶していると判定した場合には（ステップＳ６５；Ｙｅｓ）、ステップＳ７４の処理に移行する。なお、データ制御回路２２２が、自己の記憶領域に保持していると判定した場合には、後述するステップＳ６７〜Ｓ７１の処理が行われないよう、読出書込回路１１２及び誤り訂正符号復号回路２２１を制御する態様としてもよい。
【０１０１】
一方、ＲＯＷアドレス復号部１２では、ＲＯＷアドレス制御部２１からＲＯＷアドレス信号が入力されると、このＲＯＷアドレス信号が指定するＲＯＷアドレスに対応したワード線ＷＬを有効化する（ステップＳ６６）。続いて、読出書込回路１１２は、ステップＳ６６で有効化されたワード線ＷＬ上のメモリセルから符号データを読み出すと（ステップＳ６７）、ビット線ＢＬ０を介して誤り訂正符号復号回路２２１に出力する（ステップＳ６８）。
【０１０２】
誤り訂正符号復号回路２２１は、読出書込回路１１２から入力された符号データに対して誤り訂正復号処理を施し復号データを生成すると（ステップＳ６９）、ビット線ＢＬ１Ａを介してデータ制御回路２２２に出力する（ステップＳ７０）。データ制御回路２２２は、誤り訂正符号復号回路２２１から復号データが入力されると、この復号データをＲＯＷアドレス制御部２１から入力されたＲＯＷアドレス信号が示すＲＯＷアドレスと関連付け、ラインデータとして記憶する（ステップＳ７１）。なお、ステップＳ７１で記憶されるラインデータには、書き戻し判別情報が無効化の状態で保持されているものとする。
【０１０３】
一方、ＣＯＬアドレス復号部１４では、外部からＣＯＬアドレス信号、書き込みを指示する制御信号ＷＥ、書き込み対象のデータが入力されると（ステップＳ７２）、このＣＯＬアドレス信号で指定されたＣＯＬアドレスに対応するビット線ＢＬ１を介して、書き込み対象のデータをデータ制御回路２２２に出力する（ステップＳ７３）。データ制御回路２２２では、ＣＯＬアドレス復号部１４から書き込み対象のデータを受け付けると、ステップＳ７１でラインバッファに記憶した復号データのうち、ＣＯＬアドレスに対応する復号データに書き込み対象のデータを上書きすることで復号データを更新する（ステップＳ７４）。
【０１０４】
次いで、データ制御回路２２２は、ステップＳ７４で更新したラインバッファの書き戻し判別情報を有効化し（ステップＳ７５）、書き戻しフラグ１５１を有効化する制御信号ＷＢを制御処理部２３に出力した後（ステップＳ７６）、本処理を終了する。
【０１０５】
このように、本処理では、書き込み先となるメモリアレイ１１１のライン（ＲＯＷアドレス）に関する復号データが、データ制御回路２２２の記憶領域に既に記憶されている場合、この復号データを用いてデータの更新を行うことができるため、処理の効率化を図ることができる。ステップＳ７６に伴い実行される書き戻し処理については、後述する。
【０１０６】
なお、本処理では、制御信号ＣＴＲＬの入力に伴い、処理を開始する態様としたが、これに限らないものとする。例えば、ＲＯＷアドレス制御部２１へのＲＯＷアドレス信号の入力に伴い処理を開始する態様としてもよい。この場合、書き込みを指示する制御信号ＣＴＲＬの入力は、ステップＳ７１までに行われればよい。また、制御信号ＣＴＲＬが予め定められた制御用の命令（コマンド）を含んでいる場合、このコマンドを解釈（復号）することで制御信号ＣＴＲＬ２を生成することとしてもよい。
【０１０７】
［読み出し処理］
次に、メモリセルアレイ部１１からデータを読み出し、外部に出力する際の動作について説明する。図１５は半導体記憶装置２００の読出処理の手順を示したシーケンス図である。制御処理部１５は、外部からデータの読み出しを指示する制御信号ＣＴＲＬが入力されると（ステップＳ８１）、読み出し処理の開始を指示する制御信号ＣＴＲＬ２を読出書込回路１１２及び誤り訂正処理部２２（誤り訂正符号復号回路２２１、データ制御回路２２２）に出力することで（ステップＳ８２）、書き込み処理を開始する。
【０１０８】
続いて、ＲＯＷアドレス制御部２１は、外部からＲＯＷアドレス信号が入力されると（ステップＳ８３）、このＲＯＷアドレス信号をＲＯＷアドレス復号部１２とデータ制御回路２２２とに出力する（ステップＳ８４）。
【０１０９】
データ制御回路２２２は、ＲＯＷアドレス制御部２１からＲＯＷアドレス信号が入力されると、このＲＯＷアドレス信号が指定するＲＯＷアドレスに関する復号データを、自己のラインバッファに記憶しているか否かを判定する（ステップＳ８５）。ここで、記憶していないと判定した場合（ステップＳ８５；Ｎｏ）、ステップＳ９３の処理に移行し、また、記憶していると判定した場合には（ステップＳ８５；Ｙｅｓ）、ステップＳ９９の処理に移行する。なお、データ制御回路２２２が、自己の記憶領域に保持していると判定した場合には、後述するステップＳ８６〜Ｓ９５の処理が行われないよう、ＲＯＷアドレス復号部１２、読出書込回路１１２及び誤り訂正符号復号回路２２１を制御する態様としてもよい。
【０１１０】
一方、ＲＯＷアドレス復号部１２では、ＲＯＷアドレス制御部２１からＲＯＷアドレス信号が入力されると、このＲＯＷアドレス信号が指定するＲＯＷアドレスに対応したワード線ＷＬを有効化する（ステップＳ８６）。続いて、読出書込回路１１２は、ステップＳ８６で有効化されたワード線ＷＬ上のメモリセルから符号データを読み出すと（ステップＳ８７）、ビット線ＢＬ０を介して誤り訂正符号復号回路２２１に出力する（ステップＳ８８）。
【０１１１】
誤り訂正符号復号回路２２１は、読出書込回路１１２から入力された符号データに対して誤り訂正復号処理を施し、復号データを生成すると（ステップＳ８９）、ビット線ＢＬ１Ａを介してデータ制御回路２２２に出力する（ステップＳ９０）。次いで、誤り訂正符号復号回路２２１は、ステップＳ８９の誤り訂正復号処理時に誤りを検出したか否かを判定する（ステップＳ９１）。ここで、誤りが検出されないと判定した場合（ステップＳ９１；Ｎｏ）、誤り訂正符号復号回路２２１の処理は終了する。また、誤りを検出したと判定した場合（ステップＳ９１；Ｙｅｓ）、誤り訂正符号復号回路２２１は、ＥＲＲ信号を有効化しデータ制御回路２２２に出力し（ステップＳ９２）、誤り訂正符号復号回路２２１の処理を終了する。
【０１１２】
一方、データ制御回路２２２では、誤り訂正符号復号回路２２１から符号データが入力されると、この符号データをＲＯＷアドレス制御部２１から入力されたＲＯＷアドレス信号が示すＲＯＷアドレスと関連付け、ラインデータとして記憶する（ステップＳ９３）。なお、ステップＳ９３で記憶されるラインデータには、書き戻し判別情報が無効化の状態で保持されているものとする。
【０１１３】
続いて、データ制御回路２２２は、ＥＲＲ信号が有効か否かを判定し、無効と判定した場合には（ステップＳ９４；Ｎｏ）、ステップＳ９９の処理に移行する。また、ステップＳ９４において、有効と判定した場合（ステップＳ９４；Ｙｅｓ）、データ制御回路２２２は、ステップＳ９３で記憶したデータの書き戻し判別情報を有効化し（ステップＳ９５）、書き戻しフラグ１５１を有効化する制御信号ＷＢを制御処理部２３に出力する（ステップＳ９６）。
【０１１４】
一方、ＣＯＬアドレス復号部１４では、外部からＣＯＬアドレス信号、読み出しを指示する制御信号ＲＥが入力されると（ステップＳ９７）、このＣＯＬアドレス信号が指定するＣＯＬアドレスに対応したビット線ＢＬ１を介して、データの読み出しをデータ制御回路２２２に要求する（ステップＳ９８）。
【０１１５】
データ制御回路２２２は、ＣＯＬアドレス復号部１４からデータの読み出しが要求されると、ステップＳ８５で受け付けたＲＯＷアドレスに関連付けて記憶した復号データのうち、ＣＯＬアドレスに対応する復号データを読み出し（ステップＳ９９）、ＣＯＬアドレス復号部１４に出力すると（ステップＳ１００）、本処理を終了する。なお、ＣＯＬアドレス復号部１４では、データ制御回路２２２から入力されたデータが、読み出し対象のデータとして外部に出力される。
【０１１６】
このように、本処理では、読み出し先となるメモリアレイ１１１のライン（ＲＯＷアドレス）に関する復号データが、データ制御回路２２２の記憶領域に既に既に記憶されている場合、この復号データを読み出し対処のデータとすることができるため、処理の効率化を図ることができる。
【０１１７】
なお、本処理では、制御信号ＣＴＲＬの入力に伴い、処理を開始する態様としたが、これに限らないものとする。例えば、ＲＯＷアドレス制御部２１へのＲＯＷアドレス信号の入力に伴い処理を開始する態様としてもよい。この場合、読み出し指示する制御信号ＣＴＲＬの入力は、ステップＳ９０までに行われればよい。
【０１１８】
［書き戻し処理］
次に、メモリセルアレイ部１１に符号データを書き戻す際の動作について説明する。なお、本処理は、上述したステップＳ７６、Ｓ９６での書き戻しフラグ１５１の有効化に伴い実行されるものである。
【０１１９】
図１６は、半導体記憶装置２００の書き戻し処理の手順を示したシーケンス図である。まず、制御処理部１５は、書き戻しフラグが有効化されたことを検出すると（ステップＳ１０１）、書き戻し処理の開始を指示する制御信号ＣＴＲＬ２を読出書込回路１１２及び誤り訂正処理部２２（誤り訂正符号復号回路２２１、データ制御回路２２２）に出力することで、書き戻し処理を開始する（ステップＳ１０２）。
【０１２０】
続いて、データ制御回路２２２は、自己のラインバッファに記憶した復号データのうち、書き戻し判別情報が有効（ｔｒｕｅ）の復号データに関連付けられたＲＯＷアドレスを読み出すと（ステップＳ１０３）、このＲＯＷアドレスを指定するＲＯＷアドレス信号をＲＯＷアドレス制御部２１に出力する（ステップＳ１０４）。ＲＯＷアドレス制御部２１は、データ制御回路２２２からＲＯＷアドレス信号を受け付けると、このＲＯＷアドレス信号をＲＯＷアドレス復号部１２に出力する（ステップＳ１０５）。これに伴い、ＲＯＷアドレス復号部１２では、ＲＯＷアドレス信号が指定するＲＯＷアドレスに対応したワード線ＷＬを有効化する（ステップＳ１０６）。
【０１２１】
一方、誤り訂正符号復号回路２２１は、データ制御回路２２２に復号データの読み出しを要求すると（ステップＳ１０７）、データ制御回路２２２では、ラインバッファに保持したラインデータのうち、書き戻しフラグが有効（ｔｒｕｅ）の復号データを読み出し（ステップＳ１０８）、誤り訂正符号復号回路２２１に出力する。
【０１２２】
続いて、誤り訂正符号復号回路２２１は、データ制御回路２２２から読み出した復号データに対して誤り訂正符号処理を施し符号データを生成すると（ステップＳ１１０）、この符号データを読出書込回路１１２に出力する（ステップＳ１１１）。
【０１２３】
読出書込回路１１２では、誤り訂正符号復号回路２２１から符号データを受け付けると、この符号データをＲＯＷアドレス復号部１２により有効化されたワード線ＷＬ上のメモリセルに書き込む（ステップＳ１１２）。
【０１２４】
一方、誤り訂正符号復号回路２２１は、ステップＳ１１１の後、データ制御回路２２２から読み出した復号データについてＥＲＲ信号を無効化し、データ制御回路２２２に出力する（ステップＳ１１３）。データ制御回路２２２では、誤り訂正符号復号回路２２１から、ＥＲＲ信号の無効化が通知されると、ステップＳ１０８で読み出した復号データに関連付けられた書き戻しフラグを無効化（ｆａｌｓｅ）し（ステップＳ１１４）、書き戻しフラグ１５１を無効化する制御信号ＷＢを制御処理部２３に出力した後、本処理を終了する。
【０１２５】
以上のように、第２の実施形態によれば、読出書込回路１１２とＣＯＬアドレス復号部１４との間に、読出書込回路１１２により読み出された符号データの誤りを検出・訂正する誤り訂正処理部２２（誤り訂正符号復号回路２２１）を設け、誤りを訂正した符号データを該当するメモリセルに書き戻すため、メモリセルアレイ部１１（メモリアレイ１１１）から読み出した全ての符号データについての誤りを訂正することができる。
【０１２６】
また、書き込み先となるメモリアレイ１１１のワード線ＷＬ（ＲＯＷアドレス）や、読み出し先となるメモリアレイ１１１のワード線ＷＬ上のメモリセルに格納された符号データに対応する復号データが、データ制御回路２２２のラインバッファに既に記憶されている場合、この復号データを用いてデータの更新や読み出しを行うことができるため、処理の効率化を図ることができる。
【０１２７】
なお、データ制御回路２２２が複数のラインデータを保持する場合には、書き戻し判別情報が有効の復号データが損失しない限り、データの書き戻しを行う順序も限定されないものとする。
【０１２８】
通常、ラインバッファに保存できるラインデータの数、即ち、ラインバッファの個数はメモリアレイ１１１のワード線ＷＬの総数よりも少ないため、既存のデータが書き込まれたラインバッファを、新たなラインデータの格納用に解放する必要がある。この場合、書き戻し判別情報が有効の復号データが格納されたラインバッファ以外から順次解放を行うものとする。なお、解放を行うラインバッファの順序は特に問わないものとするが、例えば、最も長くアクセスが行われていないラインバッファから解放することとしてもよいし、ランダムに決定してもよい。
【０１２９】
また、ラインバッファの解放を行うタイミングは、書き戻し判別情報が有効の復号データが損失しない限り、任意のタイミングで行ってもよい。例えば、キャッシュメモリのように、ラインバッファに空きがなく、且つ、新たな復号データが入力されるタイミングでもよいし、ラインバッファに保持してから所定時間が経過したタイミングでもよいし、ラインバッファ上のラインデータに最後にアクセスしてから所定時間が経過したタイミングでもよい。
【０１３０】
また、図１７に示したように、ラインデータを消去可能な状態か否か、即ち、ラインバッファが解放可能か否かを示した有効判別情報を、各復号データに関連付けて保持する態様としてもよい。
【０１３１】
ここで、図１７は、本実施形態の変形例として、データ制御回路２２２が記憶するラインデータのデータ構造の他の例を模式的に示した図である。同図に示したように、データ制御回路２２２は、上述したＲＯＷアドレスと、このＲＯＷアドレス上の符号データに対応する復号データと、書き戻し判別情報とに加え、このラインデータが消去可能な状態か否かを示した有効判別情報（ｔｒｕｅ／ｆａｌｓｅ）を関連付けて記憶している。
【０１３２】
図１７に示したデータ構造のラインデータを用いる場合、データ制御回路２２２は、各ラインデータ中の有効判別情報を参照し、当該有効判別情報が無効（ｆａｌｓｅ）のラインデータが格納されるラインバッファから解放を行うものとする。有効判別情報の有効／無効の切り替えは、データ制御回路２２２が独立的に行う態様としてもよいし、制御処理部２３等の他の機能部から入力される制御信号に応じてデータ制御回路２２２が行う態様としてもよい。なお、有効判別情報の有効から無効への切り替は、上述したように、ラインバッファに保持してから所定時間が経過したタイミングでもよいし、ラインバッファ上のラインデータに最後にアクセスしてから所定時間が経過したタイミングでもよい。
【０１３３】
以上、発明の実施の形態について説明したが、本発明はこれに限定されるものではなく、本発明の主旨を逸脱しない範囲での種々の変更、置換、追加などが可能である。
【図面の簡単な説明】
【０１３４】
【図１】第１の実施形態にかかる半導体記憶装置の構成を示した図である。
【図２】メモリアレイと読出書込回路との接続例を示した図である。
【図３】メモリアレイと読出書込回路との接続例を示した図である。
【図４】メモリアレイと読出書込回路との接続例を示した図である。
【図５】第１の実施形態にかかる書き込み処理の手順を示したシーケンス図である。
【図６】第１の実施形態にかかる書き込み処理時のタイミングチャートである。
【図７】第１の実施形態にかかる書き込み処理時のタイミングチャートである。
【図８】第１の実施形態にかかる読み出し処理の手順を示したシーケンス図である。
【図９】第１の実施形態にかかる書き戻し処理の手順を示したシーケンス図である。
【図１０】第１の実施形態にかかる読み出し処理及び書き戻し処理時のタイミングチャートである。
【図１１】第１の実施形態にかかる読み出し処理及び書き戻し処理時のタイミングチャートである。
【図１２】第２の実施形態にかかる半導体記憶装置の構成を示した図である。
【図１３】データ制御回路が記憶するラインデータを模式的に示した図である。
【図１４】第２の実施形態にかかる書き込み処理の手順を示したシーケンス図である。
【図１５】第２の実施形態にかかる読み出し処理の手順を示したシーケンス図である。
【図１６】第２の実施形態にかかる書き戻し処理の手順を示したシーケンス図である。
【図１７】データ制御回路が記憶するラインデータの他の例を模式的に示した図である。
【符号の説明】
【０１３５】
１００  半導体記憶装置
１１  メモリセルアレイ部
１１１  メモリアレイ
１１２  読出書込回路
１２  ＲＯＷアドレス復号部
１３  誤り訂正処理部
１３１  誤り訂正符号復号回路
１３２  バッファ
１４  ＣＯＬアドレス復号部
１５  制御処理部
１５１  書き戻し戻しフラグ
２００  半導体記憶装置
２１  ＲＯＷアドレス制御部
２２  誤り訂正処理部
２２１  誤り訂正符号復号回路
２２２  データ制御回路
２３  制御処理回路
【図１】
2010003348.tif 000003
【図２】
2010003348.tif 000004
【図３】
2010003348.tif 000005
【図４】
2010003348.tif 000006
【図５】
2010003348.tif 000007
【図６】
2010003348.tif 000008
【図７】
2010003348.tif 000009
【図８】
2010003348.tif 000010
【図９】
2010003348.tif 000011
【図１０】
2010003348.tif 000012
【図１１】
2010003348.tif 000013
【図１２】
2010003348.tif 000014
【図１３】
2010003348.tif 000015
【図１４】
2010003348.tif 000016
【図１５】
2010003348.tif 000017
【図１６】
2010003348.tif 000018
【図１７】
2010003348.tif 000019