JP2010003348A - 半導体記憶装置及び誤り訂正方法 - Google Patents

半導体記憶装置及び誤り訂正方法 Download PDF

Info

Publication number
JP2010003348A
JP2010003348A JP2008160685A JP2008160685A JP2010003348A JP 2010003348 A JP2010003348 A JP 2010003348A JP 2008160685 A JP2008160685 A JP 2008160685A JP 2008160685 A JP2008160685 A JP 2008160685A JP 2010003348 A JP2010003348 A JP 2010003348A
Authority
JP
Japan
Prior art keywords
data
error correction
read
decoded data
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008160685A
Other languages
English (en)
Inventor
Yutaka Yamada
裕 山田
Tatsunori Kanai
達徳 金井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008160685A priority Critical patent/JP2010003348A/ja
Priority to US12/360,215 priority patent/US8429496B2/en
Publication of JP2010003348A publication Critical patent/JP2010003348A/ja
Pending 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

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)

Abstract

【課題】メモリセルアレイから読み出された全てのデータの誤りを訂正することが可能な半導体記憶装置及び誤り訂正方法を提供する。
【解決手段】特定の第1信号線上に配置されたメモリセルから誤り訂正符号が付与されたデータを読み出す読出手段と、当該読み出されたデータのうち、特定のデータのみを選択的に出力する出力手段との間に、前記読出手段により読み出されたデータ中に発生する誤りを前記誤り符号データに基づいて訂正する復号化手段を設け、この復号化手段により誤りを訂正したデータを、前記特定の第1信号線上のメモリセルに書き戻す。
【選択図】 図1

Description

本発明は、誤り検出訂正機能を備えた半導体記憶装置及び半導体記憶装置の誤り訂正方法に関する。
従来、半導体記憶装置の信頼性を向上させる手段として、データの損失を回避するための誤り訂正機構が用いられている。例えば、特許文献1には、半導体記憶装置のCOLアドレスデコーダの外部に誤り訂正機構を設けることで、このCOLアドレスデコーダから外部に出力されるデータの誤り訂正を行う構成が開示されている。
また、DRAM等の揮発性メモリでは、時間経過とともに電荷の蓄積が失われるため、一定時間毎にリフレッシュを行うことで、蓄積されたデータの損失を回避する必要がある。一方、MRAM等の不揮発性メモリでは蓄積されたデータの損失が時間に依存せず、当該不揮発性メモリを構成するメモリセルに対して、読み出しや書き込み操作を行った際にデータの損失が発生するため、メモリセルへのアクセス時に誤りの検出と訂正を行う必要がある。
しかしながら、特許文献1のようにCOLアドレスデコーダの外部に誤り訂正機構を備えた構成では、メモリセルアレイから読み出されたデータのうち、COLアドレスデコーダから出力されるデータに対してのみ誤り訂正が行われることになる。つまり、メモリセルから読み出されたデータの一部のみが誤り訂正を受けることになるため、COLアドレスデコーダから出力されたデータ以外の他のデータに誤りが発生しているような場合、これら他のデータを訂正することは困難である。
特開2008−16092号公報
本発明は上記に鑑みてなされたものであって、メモリセルアレイから読み出された全てのデータの誤りを訂正することが可能な半導体記憶装置及び誤り訂正方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、誤り訂正符号が付加された符号データを記憶する複数のメモリセルを、互いに直交する複数の第1信号線と複数の第2信号線との交点に配置したメモリセルアレイと、外部から指定された特定の前記第1信号線を有効化する有効化手段と、前記有効化手段により有効化された前記第1信号線上の複数のメモリセルから各符号データを読み出す読出手段と、前記読出手段により読み出された符号データ中の誤りを前記誤り訂正符号に基づいて訂正し、当該符号データを復号した復号データを生成する復号化手段と、前記復号化手段により生成された復号データのうち、外部から指定された特定の前記第2信号線上に配置されたメモリセルに対応する復号データを出力する出力手段と、前記復号化手段により生成された復号データを符号化し、前記誤り訂正符号を付加した符号データを生成する符号化手段と、前記符号化手段により生成された符号データを、前記有効化された第1信号線上のメモリセルに書き戻す書戻手段と、を備える。
また、本発明は、誤り訂正符号が付加された符号データを記憶する複数のメモリセルを、互いに直交する複数の第1信号線と複数の第2信号線との交点に配置したメモリセルアレイを備える半導体記憶装置の誤り訂正方法であって、有効化手段が、外部から指定された特定の前記第1信号線を有効化する有効化工程と、読出手段が、前記有効化工程で有効化された前記第1信号線上の複数のメモリセルから各符号データを読み出す読出工程と、復号化手段が、前記読出工程で読み出された符号データ中の誤りを前記誤り訂正符号に基づいて訂正し、当該符号データを復号した復号データを生成する復号化工程と、出力手段が、前記復号化工程で生成された復号データのうち、外部から指定された特定の前記第2信号線上に配置されたメモリセルに対応する復号データを出力する出力工程と、符号化手段が、前記復号化工程で生成された復号データを符号化し、前記誤り訂正符号を付加した符号データを生成する符号化工程と、書戻手段が、前記符号化工程で生成された符号データを、前記有効化された第1信号線上のメモリセルに書き戻す書戻工程と、を含む。
本発明によれば、読出手段と出力手段との間に、符号データ中に発生した誤りを検出及び訂正する復号化手段を設け、誤りを訂正した符号データを該当するメモリセルに書き戻すため、メモリセルアレイから読み出した全てのデータについての誤りを訂正することができる。
以下、添付図面を参照して、本発明の最良な実施形態を詳細に説明する。
[第1の実施形態]
まず、第1の実施形態にかかる半導体記憶装置100について説明する。半導体記憶装置100は、外部から入力される各種信号(後述する制御信号CTRLやROW・COLアドレス信号、制御信号WE、RE等)に応じて、内蔵する半導体メモリ(メモリセルアレイ部11)に対しデータの書き込みやデータ読み出しを行うものである。なお、ここで「外部」とは、半導体記憶装置100に接続された外部機器を意味する。
図1は、第1の実施形態にかかる半導体記憶装置100の構成を示したブロック図である。同図に示したように、半導体記憶装置100は、メモリセルアレイ部11と、ROWアドレス復号部12と、誤り訂正処理部13と、COLアドレス復号部14と、制御処理部15とを備えている。
メモリセルアレイ部11は、行列状に配置された複数のメモリセル(図中C)を含むメモリアレイ111と、読出書込回路112とを備えている。
ここで、メモリアレイ111は、読み出し及び書き込み可能な半導体メモリであって、互いに直交関係にある行方向のワード線WLと、列方向のビット線BL0Aとが縦横に配線されている。各メモリセルは、これらワード線WLとビット線BL0Aとの交点に配置されており、全体として行列状の構造を有している。以下、メモリアレイ111を構成する各メモリセルの行方向のアドレスを「ROWアドレス」と呼び、列方向のアドレスを「COLアドレス」と呼ぶ。
また、メモリアレイ111は、後述する誤り訂正符号の格納用領域を有するものとし、データの書き込み、読み出しの際には、処理の対象となるデータの誤り訂正符号の書き込み、読み出しがあわせて行われるものとする。
なお、メモリセルアレイ部11は、読み出し及び書き込み可能な半導体メモリであればその種別は問わないものとする。例えば、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)、PRAM(Phase change Random Access Memory)、ReRAM(Resistance Random Access Memory)、FlashROM等をメモリアレイ111として用いることができる。
読出書込回路112は、制御処理部15から入力される制御信号CTRL2に応じて、メモリアレイ111に含まれたメモリセルに対し、データの読み出しや書き込みを行う。なお、後述するように、メモリアレイ111に記憶されるデータは、誤り訂正符号が付加された誤り訂正符号処理済みのデータである。以下、誤り訂正符号処理が施されたデータを「符号データ」という。
具体的に、読出書込回路112は、メモリアレイ111から符号データを読み出す場合、ビット線BL0Aを介して、ROWアドレス復号部12により有効化されたワード線WL上のメモリセルから符号データの読み出し、これらメモリセルの各COLアドレスに対応するビット線BL0を介して、誤り訂正処理部13(誤り訂正符号復号回路131)に出力する。
また、読出書込回路112は、メモリアレイ111にデータを書き込む場合、ビット線BL0を介して入力された符号データを、当該ビット線BL0の各々に対応するビット線BL0Aを介してメモリアレイ111に出力することで、ROWアドレス復号部12により有効化されたワード線WL上のメモリセルに書き込みを行う。
なお、図1では、メモリアレイ111に対するデータの読み出し/書き込みを行う回路を一の読出書込回路112で表しているが、実際には、読み出しと書き込みとは独立した回路により行われる。具体的に、データの読み出しを行う読出回路は、メモリアレイ111のビット線BL0A上の符号データを、外部への出力に適した形式に変換するための回路であり、例えば、センスアンプ回路を用いることができる。
また、データの書き込みを行う書込回路は、ビット線BL0を介して誤り訂正処理部13(誤り訂正符号復号回路131)から入力される符号データを、メモリアレイ111上のビット線BL0Aへの入力に適した形式に変換するための回路であり、例えば、ドライバ回路等を用いることができる。なお、読出書込回路112(読出回路、書込回路)には、メモリアレイ111の種別に適した回路が用いられるものとする。
また、メモリアレイ111(ビット線BL0A)と、読出書込回路112との接続方法は特に問わないものとするが、例えば、図2〜4に示した接続方法を用いることとしてもよい。以下、図2〜4を参照して、メモリアレイ111と読出書込回路112との接続例について説明する。
図2は、メモリアレイ111(ビット線BL0A)と読出書込回路112との接続例を示した図である。同図に示したように、この接続例ではビット線BL0Aの夫々に対して読出書込回路112が設けられている。
図2の構成の場合、各読出書込回路112は、自己の読出書込回路112が接続されたビット線BL0Aのメモリセルについて、データの読み出しと書き込みとを個別的に行う。この構成により、各読出書込回路112は独立的に動作し、複数のメモリセルに対しデータの読み出し又は書き込みを一度に行うことが可能となるため、処理速度の向上を図ることができる。なお、読出書込回路112と、誤り訂正符号復号回路131との間に設けられたバッファBは、読出書込回路112と誤り訂正符号復号回路131との間で授受されるデータを一次的に格納する記憶装置である。
図3は、メモリアレイ111(ビット線BL0A)と読出書込回路112との他の接続例を示した図である。同図に示したように、各ビット線BL0AにはスイッチSWが設けられており、各スイッチSWには夫々異なる疑似ワード線WL’が接続されている。
ここで、疑似ワード線WL’は、ROWアドレス復号部12とメモリアレイ111とを接続する各ワード線WLの支線であって、ROWアドレス復号部12によりワード線WLが有効化されると、このワード線WLの支線となる疑似ワード線WL’も同様に有効化される。スイッチSWは、ROWアドレス復号部12により疑似ワード線WL’が有効化されると、ビット線BL0Aを導通状態(オン)とし、また、ワード線WLが無効化されている場合に、ビット線BL0Aを非導通状態(オフ)とする。
各ビット線BL0Aは、一の読出書込回路112に接続されている。読出書込回路112は、導通状態となったビット線BL0Aを介し、このビット線BL0Aに対応するメモリセルについて、符号データの読み出しと書き込みと行うことになる。このように、本構成では、ビット線BL0Aは、スイッチSWによるオン/オフの切り替えにより、論理的には別のラインであるように振る舞う。また、スイッチSWのオン/オフにより、複数のビット線BL0Aは一の読出書込回路112を共有することになるため、より少ない個数の読出書込回路112で、メモリアレイ111を取り扱うことが可能となる。
図4は、メモリアレイ111(ビット線BL0A)と読出書込回路112との他の接続例を示した図である。同図に示したように、各ビット線BL0AにはスイッチSW1が設けられており、各ビット線BL0にはスイッチSW2が設けられている。ビット線BL0A及びビット線BL0の夫々は、一の読出書込回路112に接続されており、また、各ビット線BL0には、読出書込回路112と誤り訂正符号復号回路131との間で授受される符号データを一次的に格納するためのバッファBが夫々設けられている。
セレクト線SLの一端は、一対のスイッチSW1及びSW2に夫々接続されており、他端は制御処理部15や図示しない外部の装置に接続されている。また、スイッチSW1、SW2は、セレクト線SLを介して入力されるセレクト信号に応じて、ビット線BL0A、ビット線BL0を導通状態(オン)とする。制御処理部15や図示しない外部装置は、各セレクト線SLにスイッチSW1、SW2をオン状態とするセレクト信号を異なるタイミングで入力することで、導通状態となるビット線BL0A及びビット線BL0を、セレクト線単位で時分割スイッチさせる。
読出書込回路112は、導通状態となったビット線BL0A及びビット線BL0を用い、当該ビット線BL0Aに対応するメモリセルについて、符号データの読み出しと書き込みとを行う。このように、本構成では、メモリアレイ111に対する符号データの読み出し及び書き込みを、時分割で切り替わるビット線(ビット線BL0A及びビット線BL0)を用いて順次行うことができるため、より少ない個数の読出書込回路112で、メモリアレイ111を取り扱うことが可能となる。
図1に戻り、ROWアドレス復号部12は、外部から入力されるROWアドレス信号(A_[l−1:k])を解釈し、ROWアドレス信号が指定するROWアドレスに対応したワード線WLを有効とすることで、このワード線上に配置されたメモリセル群を選択する。なお、ROWアドレス信号により指定されるROWアドレスは、メモリセルアレイ部11のワード線WLと一意に関連付けられているものとする。
誤り訂正処理部13は、メモリセルアレイ部11とCOLアドレス復号部14との間に設けられ、誤り訂正符号復号回路131とバッファ132とを備えている。
誤り訂正符号復号回路131は、制御処理部15からの制御信号CTRL2を入力とし、読出書込回路112との間で授受されるデータに対し、誤り訂正復号処理、誤り訂正符号処理を施すことで、データ中に発生する誤りの検出と訂正とを行う。なお、誤り訂正符号復号回路131が行う誤り訂正復号処理、誤り訂正符号処理は、リード・ソロモン符号等、誤り訂正符号(ECC:Error Correcting Code)に係る公知の技術を用いることが可能である。
具体的に、誤り訂正符号復号回路131は、メモリセルアレイ部11の読み出し時において、ビット線BL0を介して読出書込回路112から入力される符号データに対し、誤り訂正復号処理を施すことで、当該符号データに付加された誤り訂正符号に基づいてデータ中の誤りを検出及び訂正し、符号データを復号した「復号データ」を生成する。また、誤り訂正符号復号回路131は、誤り訂正復号処理を施した復号データを、ビット線BL1Aを介してバッファ132に出力することで、ビット線BL0(即ち、COLアドレス)の夫々に応じたバッファ132上の記憶領域に書き込みを行う。なお、誤り訂正符号復号回路131は、誤り訂正復号処理の実行時に符号データの誤りを検出すると、制御処理部15に対し、後述する書き戻しフラグ151を有効化する制御信号WBを出力することで、当該書き戻しフラグ151を有効化する。
また、誤り訂正符号復号回路131は、メモリアレイ111への書き込み(書き戻し)時において、バッファ132に記憶された書き込み対象の復号データに対し、誤り訂正符号処理を施すことで当該データを符号化するとともに、誤り検出・訂正用の誤り訂正符号を付加した符号データを生成する。また、誤り訂正符号復号回路131は、誤り訂正符号処理を施した符号データを、この符号データの元となる復号データが格納されたバッファ132上の領域(即ち、COLアドレス)に対応するビット線BL0を介して、読出書込回路112に出力する。
バッファ132は、復号データを一時的に記憶する記憶装置であって、メモリアレイ111から読み出されたデータや、メモリアレイ111への書き込み対象となるデータを保持する。ここで、バッファ132の領域は、メモリアレイ111のCOLアドレスと関連付けて管理されており、各領域へのアクセスは、当該領域が示すCOLアドレスに対応したビット線BL1A、BL1を介して行われるものとする。なお、バッファ132は、少なくともメモリアレイ111の1つのライン(ROLアドレス)分のデータを保持できるだけの記憶容量を備えるものとするが、複数のライン分の復号データを保存できるだけの記憶容量を備えることとしてもよい。
COLアドレス復号部14は、外部から入力されるCOLアドレス信号(A_[k−1:0])を解釈し、COLアドレス信号が指定するCOLアドレスに対応するビット線BL1を介して、バッファ132にアクセスする。また、COLアドレス復号部14は、外部から入力される制御信号(後述する制御信号WE、RE)に従い、バッファ132の領域に対し、データの書き込みや読み出しを行う。
また、外部からCOLアドレス復号部14に、連続するCOLアドレスについてデータの書き込みや読み出しを連続的に行うことを指示するバースト信号が入力される態様としてもよい。この場合、COLアドレス復号部14は、バースト信号を受け付けると、バースト信号により指示された連続するCOLアドレスについて、データの書き込みや読み出しを連続的に行う。
また、他の信号として、例えば、CE(Chip Enable)信号やOE(Output Enable)信号、RW(Read Write)信号等が、外部からCOLアドレス復号部14に入力されることとしてもよい。なお、RW信号が入力された場合、当該RW信号が表す二値のうち“1”を読み出し、“0”を書き出し(又はその逆)とすることで、制御信号WE、REの代替として用いることができる。
制御処理部15は、外部からデータの書き込み又は読み出しを指示する制御信号CTRLを受け付けると、読出書込回路112及び誤り訂正符号復号回路131に、後述する書き込み処理又は読み出し処理の開始を指示する制御信号CTRL2を送信することで、各処理に応じた動作を各部に行わせる。
また、制御処理部15は、内蔵するレジスタ等に書き戻し処理の要否を示す書き戻しフラグ151を保持しており、誤り訂正符号復号回路131により書き戻しフラグ151が有効化されたことを検出すると、後述する書き戻し処理の開始を指示する制御信号CTRL2を送信することで、各処理に応じた動作を各部に行わせる。
以下、半導体記憶装置100の書き込み処理、読み出し処理及び書き戻し処理について順に説明する。
[書き込み処理]
まず、図5〜図7を参照して、外部から入力されるデータをメモリセルアレイ部11に書き込む際の動作について説明する。図5は半導体記憶装置100の書き込み処理の手順を示したシーケンス図である。まず、制御処理部15は、外部からデータの書き込みを指示する制御信号CTRLが入力されると(ステップS11)、書き込み処理の開始を指示する制御信号CTRL2を読出書込回路112及び誤り訂正符号復号回路131に出力することで(ステップS12)、書き込み処理を開始する。
続いて、ROWアドレス復号部12は、外部からROWアドレス信号が入力されると(ステップS13)、このROWアドレス信号で指定されたROWアドレスに対応するワード線WLを有効化する(ステップS14)。次いで、読出書込回路112は、ステップS14で有効化されたワード線WL上のメモリセルから符号データを読み出すと(ステップS15)、ビット線BL0を介して誤り訂正符号復号回路131に出力する(ステップS16)。
誤り訂正符号復号回路131は、読出書込回路112から入力された符号データに対して誤り訂正復号処理を施し復号データを生成すると(ステップS17)、ビット線BL1Aを介してバッファ132に出力することで、バッファ132の所定の領域に復号データを記憶する(ステップS18)。
一方、COLアドレス復号部14では、外部からCOLアドレス信号と、書き込みを指示する制御信号WEと、書き込み対象のデータとが入力されると(ステップS19)、ビット線BL1を介し、このCOLアドレス信号で指定されたCOLアドレスに対応するバッファ132上の領域に、書き込み対象のデータを上書きすることで、データの更新を行う(ステップS20)。なお、バッファ132への書き込み対象データの書き込みは、同一のROWアドレス上の復号データに対してならば、一回であってもよいし、複数回であってもよい。
ステップS20でデータの上書きが完了すると、誤り訂正符号復号回路131は、この上書きが行われたデータを含む全ての復号データに誤り訂正符号化処理を施すことで、当該復号データから符号データを生成する(ステップS21)。続いて、誤り訂正符号復号回路131は、ステップS21で生成した符号データを、ビット線BL0を介して読出書込回路112に出力する(ステップS22)。
読出書込回路112は、誤り訂正符号復号回路131から符号データを受け付けると、ROWアドレス復号部12により有効化されたワード線上のメモリセルに符号データを書き込むことで、書き込み対象となったデータをメモリアレイ111に格納し(ステップS23)、本処理を終了する。
このように、半導体記憶装置100では、誤り訂正符号が付加された符号データがメモリセルアレイ部11(メモリアレイ111)に書き込まれることになる。なお、本処理では、COLアドレス、書き込みを指示する制御信号、書き込み対象のデータをROWアドレスの入力後、COLアドレス復号部14に入力することとしたが、これに限らず、ROWアドレスの入力と同じタイミングで入力してもよい。
また、本処理では、制御信号CTRLの入力に伴い、処理を開始する態様としたが、これに限らないものとする。例えば、ROWアドレス復号部12へのROWアドレス信号の入力に伴い処理を開始する態様としてもよい。この場合、書き込みを指示する制御信号CTRLの入力は、ステップS19までに行われればよい。また、制御信号CTRLが予め定められた制御用の命令(コマンド)を含んでいる場合、このコマンドを解釈(復号)することで制御信号CTRL2を生成することとしてもよい。
図6、図7は、ROWアドレスと、COLアドレスとを異なるタイミングで入力した場合での、書き込み処理時のタイミングチャートである。ここで、図6は、1つのデータを書き込む場合(シングルライト)のタイミングチャートを示しており、図7は、4つの連続するCOLアドレスに対してデータを連続的に書き込む場合(バーストライト)のタイミングチャートを示している。
図中「RAS」、「CAS」の夫々は、外部から入力されるROWアドレス、COLアドレスの入力タイミングを示している。また、「WE」は外部から入力される書き込みを指示する制御信号を、「WDATA」は書き込み対象のデータを示している。また、「Buffer」は、バッファ132上のデータの状態を、「CELL」はワード線が有効となっているメモリセルの状態を示している。なお、図7の「BURST」は、データを連続的に書き込むことを指示するバースト信号を示している。
図6に示したように、まず、ROWアドレスがROWアドレス復号部12に入力されると(T11)、読出書込回路112により、このROWアドレスに対応するメモリセルアレイ部11でのライン上のメモリセルから符号データが読み出される(T12)。メモリセルから読み出された符号データは、誤り訂正符号復号回路131により誤り訂正復号処理が施された後、復号データとしてバッファ132に格納される(T13)。
その後、COLアドレス信号と、書き込みを指示する制御信号(WE)と、書き込み対象のデータ(WDATA)とがCOLアドレス復号部14に入力されると(T14)、COLアドレス復号部14により、COLアドレスで指定されたバッファ132上の領域に対して、書き込み対象のデータが上書きされることで復号データが更新される(T15)。バッファ132への書き込みが完了すると、誤り訂正符号復号回路131により、バッファ132上の復号データに対し誤り訂正符号処理が施される(T16)。次いで、読出書込回路112により、バッファ132上の符号データが、ROWアドレスで指定されたラインのメモリセルへと書き戻され(T17)、処理を終了する。
一方、バーストライト時では、図7に示したように、ROWアドレスがROWアドレス復号部12に入力されると(T21)、読出書込回路112により、このROWアドレスに対応するメモリセルアレイ部11でのライン(ワード線WL)上のメモリセルから符号データが読み出される(T22)。メモリセルから読み出された符号データは、誤り訂正符号復号回路131により誤り訂正復号処理が施された後、バッファ132に格納される(T23)。
その後、COLアドレスと、バースト信号(BURST)と、書き込みを指示する制御信号(WE)と、書き込み対象のデータ(WDATA)とがCOLアドレス復号部14に入力されると(T24)、COLアドレス復号部14により、COLアドレスで指定されたバッファ132上での4つの連続する領域に対して、書き込み対象のデータ(WDATA1〜4)が夫々上書きされることで復号データが更新される(T25〜T28)。バッファ132への書き込みが完了すると、誤り訂正符号復号回路131により、バッファ132上の復号データに対し誤り訂正符号処理が施される(T29)。次いで、読出書込回路112により、バッファ132上の符号データが、ROWアドレスで指定されたラインのメモリセルへと書き戻され(T30)、処理を終了する。
図6、図7の例では、COLアドレス復号部14による書き込み対象のデータのバッファ132への書き込みが完了した直後に誤り訂正符号化処理、メモリセルへの書き戻しを行っているが、このタイミングに限らないものとする。例えば、次のROWアドレスの入力時等、バッファ上の復号データが上書きされない限り、タイミングを遅らせてもよい。
また、図7では、4つのデータを連続して書き込む例を示したが、2つ以上の任意の回数で連続して書き込みを行ってもよい。また、書き込む回数を指定する信号を外部から入力することで、書き込む回数を指定する構成としてもよい。
[読み出し処理]
次に、メモリセルアレイ部11から符号データを読み出し、外部へ出力する際の動作について説明する。図8は半導体記憶装置100の読出処理の手順を示したシーケンス図である。まず、制御処理部15は、外部からデータの読み出しを指示する制御信号CTRLが入力されると(ステップS31)、読み出し処理の開始を指示する制御信号CTRL2を読出書込回路112及び誤り訂正符号復号回路131に出力することで(ステップS32)、書き込み処理を開始する。
続いて、ROWアドレス復号部12は、外部からROWアドレス信号が入力されると(ステップS33)、このROWアドレス信号で指定されたROWアドレスに対応するワード線WLを有効化する(ステップS34)。次いで、読出書込回路112は、ステップS34で有効化されたワード線WL上のメモリセルから符号データを読み出すと(ステップS35)、ビット線BL0を介して誤り訂正符号復号回路131に出力する(ステップS36)。
誤り訂正符号復号回路131は、読出書込回路112から入力された符号データに対して誤り訂正復号処理を施し復号データを生成すると(ステップS37)、ビット線BL1Aを介してバッファ132に出力することで、バッファ132の所定の領域に復号データを記憶する(ステップS38)。続いて、誤り訂正符号復号回路131は、ステップS37での誤り訂正復号処理の結果、符号データ中に誤りが検出されたか否かを判定し、誤りが検出されなかった場合には(ステップS39;No)、誤り訂正符号復号回路131の処理を終了する。
また、ステップS39において、誤りを検出したと判定すると(ステップS39;Yes)、誤り訂正符号復号回路131は、書き戻しフラグ151を有効化する制御信号WBを制御処理部15に出力することで、書き戻しフラグ151を有効化し(ステップS40)、誤り訂正符号復号回路131の処理を終了する。なお、誤りが検出された場合、誤り訂正復号が行われたバッファ132上の復号データと、ROWアドレス復号部12が有効化したROWアドレスとは、後述する書き戻し処理が完了するまで保持されるものとする。
一方、COLアドレス復号部14では、外部からCOLアドレス信号、書き込みを指示する制御信号WEが入力されると(ステップS41)、ビット線BL1を介し、このCOLアドレス信号で指定されたCOLアドレスに対応するバッファ132上の領域から復号データを読み出し、読み出し対象のデータとして外部に出力した後(ステップS42)、本処理を終了する。
なお、バッファ132からの復号データの読み出し回数は、同一のROWアドレス上アドレス上の復号データに対してならば、1回でもよいし、複数回であってもよい。また、書き込み時処理と同様に、COLアドレス信号、読み出しを指示する制御信号は、ROWアドレス信号の後に入力されてもよいし、ROWアドレス信号と同じタイミングで入力されてもよい。
また、本処理では、制御信号CTRLの入力に伴い、処理を開始する態様としたが、これに限らないものとする。例えば、ROWアドレス復号部12へのROWアドレス信号の入力に伴い処理を開始する態様としてもよい。この場合、読み出しを指示する制御信号CTRLの入力は、ステップS38までに行われればよい。
[書き戻し処理]
次に、読み出し処理の際の誤り訂正復号処理の結果、誤りが検出された場合に行われる符号データの書き戻し処理について説明する。なお、本処理は、上述したステップS40での書き戻しフラグの有効化に伴い実行されるものである。
図9は、半導体記憶装置100の書き戻し処理の手順を示したシーケンス図である。なお、本処理の前提として、ROWアドレス復号部12は、誤り検出時のROWアドレスを保持し、当該ROWアドレスに対応するワード線WLの有効化を行っているものとする(ステップS51)。
まず、制御処理部15は、書き戻しフラグが有効化されたことを検出すると(ステップS52)、書き戻し処理の開始を指示する制御信号CTRL2をメモリセルアレイ部11及び誤り訂正符号復号回路131に送信することで、書き戻し処理を開始する(ステップS53)。
続いて、誤り訂正符号復号回路131は、読み出し処理の際にバッファ132上に保持された復号データに対し、誤り訂正符号化処理を施すことで当該復号データの符号データを生成する(ステップS54)。次いで、誤り訂正符号復号回路131は、ステップS54で生成した符号データを、ビット線BL0を介して読出書込回路112に出力する(ステップS55)。
一方、読出書込回路112は、誤り訂正符号復号回路131から符号データを受け付けると、ビット線BL0Aを介し、ROWアドレス復号部12より有効化されたワード線WL上のメモリセルに符号データを書き戻すことで、誤りを訂正した符号データをメモリセルアレイ部11に書き込みを行う(ステップS56)。また、誤り訂正符号復号回路131では、ステップS55の後、書き戻しフラグ151を無効化する制御信号を制御処理部15に出力することで、書き戻しフラグ151を無効化し(ステップS57)、本処理を終了する。
なお、本書き戻し処理は、復号データの読み出しに影響を与えない限り任意のタイミングで行ってもよい。例えば、読み出し処理の際のCOLアドレスの入力時(ステップS41)に行ってもよいし、次のROWアドレスが入力される直前に行ってもよい。
図10、図11は、ROWアドレスと、COLアドレスとを異なるタイミングで入力した場合での、読み出し処理及び書き戻し処理時のタイミングチャートを示した図である。ここで、図10は、1つのデータを読み出す場合(シングルリード)のタイミングチャートを示しており、図11は、4つの連続するデータの読み出す場合(バーストリード)のタイミングチャートを示している。
図中「RAS」、「CAS」の夫々は、外部から入力されるROWアドレス、COLアドレスの入力タイミングを示している。また、「RE」は外部から入力される読み出しを指示する制御信号を、「RDATA」は読み出し対象のデータを示している。また、「Buffer」は、バッファ132上のデータの状態を、「CELL」はワード線が有効となっているメモリセルの状態を示している。なお、図11の「BURST」は、データを連続的に読み出すことを指示するバースト信号を示している。
図10に示したように、まず、ROWアドレスがROWアドレス復号部12に入力されると(T31)、読出書込回路112により、このROWアドレスに対応するライン(行)上のメモリセルから符号データが読み出される(T32)。メモリセルから読み出された符号データは、誤り訂正符号復号回路131により、誤り訂正復号処理が施された後、復号データとしてバッファ132に格納される(T33)。
その後、COLアドレス信号と、読み出し指示する制御信号(RE)とがCOLアドレス復号部14に入力されると(T34)、COLアドレス復号部14は、COLアドレスで指定されたバッファ132上の領域から復号データを読み出し、読み出し対象のデータ(RDATA)として外部に出力する(T35)。
一方、誤り訂正符号復号回路131では、制御処理部15から書き戻し処理を指示する制御信号CTRL2を受け付け、COLアドレス復号部14にCOLアドレスが入力されると、バッファ132上の復号データに対して誤り訂正符号化処理を施すことで、符号データを生成する(T36)。続いて、読出書込回路112は、誤り訂正符号復号回路131により生成された符号データを、ROWアドレスで指定されたワード線上のメモリセルに書き戻し(T37)、処理を終了する。なお、誤り訂正復号処理の際、誤りが検出されない場合は、T36、T37に係る処理は行われない。
また、バーストリード時では、図11に示したように、ROWアドレスがROWアドレス復号部12に入力されると(T41)、読出書込回路112により、このROWアドレスに対応するワード線上のメモリセルから符号データが読み出される(T42)。メモリセルから読み出された符号データは、誤り訂正符号復号回路131により誤り訂正復号処理が施された後、復号データとしてバッファ132に格納される(T43)。
その後、COLアドレスと、バースト信号(BURST)と、読み出しを指示する制御信号(RE)とがCOLアドレス復号部14に入力されると(T44)、COLアドレス復号部14により、COLアドレスで指定されたバッファ132上での4つの領域から、復号データが順次読み出され(T45〜T48)、読み出し対象データ(RDATA)として外部に出力される。
一方、誤り訂正符号復号回路131では、制御処理部15から書き戻し処理を指示する制御信号CTRL2を受け付け、COLアドレス復号部14にCOLアドレスが入力されると、バッファ132上の復号データに対して誤り訂正符号化処理を施すことで、符号データを生成する(T49)。続いて、読出書込回路112は、誤り訂正符号復号回路131により生成された符号データを、ROWアドレスで指定されたワード線上のメモリセルに書き戻し(T50)、処理を終了する。なお、誤り訂正復号処理の際、誤りが検出されない場合は、T49、T50に係る処理は行われない。
図10、図11の例では、COLアドレスが入力されたタイミングに応じて、符号データの書き戻し処理を開始する態様としたが、これに限らないものとする、例えば、次のROWアドレスの入力時等、バッファ上のデータが上書きされない限り、タイミングを遅らせてもよい。
また、図11の例では、4つのデータを連続して読み出しているが、2つ以上の任意の回数で連続して読み出しを行ってもよい。また、読み出す回数を指定する信号を外部から入力することで、読み明日回数を指定する構成としてもよい。
また、本実施形態では、COLアドレス復号部14に読み出し制御信号REを入力することで、データの読み出しを指示する態様としたが、この読み出し制御信号REを用いずに、書き込み制御信号WEが無効な場合に、読み出しを行うよう構成してもよい。
以上のように、第1の実施形態によれば、読出書込回路112とCOLアドレス復号部14との間に、読出書込回路112により読み出された符号データの誤りを検出・訂正する誤り訂正処理部13(誤り訂正符号復号回路131)を設け、誤りを訂正した符号データを該当するメモリセルに書き戻すため、メモリセルアレイ部11(メモリアレイ111)から読み出した全ての符号データについての誤りを訂正することができる。
[第2の実施形態]
次に、第2の実施形態について説明する。なお、上述した第1の実施形態と同様の構成要素については、同一の符号を付与し、説明を省略する。
図12は、第2の実施形態にかかる半導体記憶装置200の構成を示したブロック図である。同図に示したように、半導体記憶装置200は、メモリセルアレイ部11と、ROWアドレス復号部12と、COLアドレス復号部14と、ROWアドレス制御部21と、誤り訂正処理部22と、制御処理部23とを備えている。
ここで、ROWアドレス制御部21は、外部から入力されるROWアドレス信号(A_[l−1:k])を、ROWアドレス復号部12及びROWアドレス制御部21に出力する。また、ROWアドレス制御部21は、誤り訂正処理部22からROWアドレス信号(A_[l−1:k]’)が入力されると、このROWアドレス信号をROWアドレス復号部12に出力する。
誤り訂正処理部22は、メモリセルアレイ部11と、COLアドレス復号部14との間に設けられ、誤り訂正符号復号回路221とデータ制御回路222とを備えている。
ここで、誤り訂正符号復号回路221は、上述した誤り訂正符号復号回路131と同様の機能を備えるとともに、データ読み出しの際の誤り訂正復号処理において、データの誤りを検出すると、エラーの発生を通知するERR信号を有効化し、データ制御回路222に出力する。
また、データ制御回路222は、復号データを一次記憶するための記憶媒体(ラインバッファ)を有し、誤り訂正符号復号回路221からビット線BL1Aを介して入力される復号データや、COLアドレス復号部14によりビット線BL1を介して書き込まれるデータを記憶・管理する。また、データ制御回路222は、ROWアドレス制御部21から入力されるROWアドレス信号(A_[l−1]〜A_[k])と、誤り訂正符号復号回路221から入力されるERR信号の状態とを、訂正符号復号回路221やCOLアドレス復号部14から入力されるデータと関連付け、ラインデータとして一のラインバッファに記憶する。
図13は、データ制御回路222が記憶するラインデータのデータ構造を模式的に示した図である。同図に示したように、データ制御回路222は、ROWアドレス制御部21から入力されたROWアドレス信号に対応するROWアドレスと、このROWアドレスに対応するライン上のメモリセルから読出書込回路112により読み出されたデータ(即ち、誤り訂正符号復号回路221から入力される復号データ)と、誤り訂正符号復号回路221からのエラー通知信号ERRに応じた書き戻し判別情報(true/false)とを関連付け、ROWアドレス毎のラインデータとして記憶する。なお、各ラインデータに記憶される復号データは、当該復号データの元となる符号データが格納されたメモリアレイ111のCOLアドレスと関連付けて管理されるものとする。
ここで、ラインアドレスは、データ制御回路222のラインデータを識別するための識別情報であって、0〜N(Nは整数)のラインアドレス毎に、一のROWアドレスについての復号データが保持されている。なお、データ制御回路222が保持するラインデータの個数、即ち、ラインバッファの個数は特に問わず、一つであってもよいし、図13に示したように複数個であってもよい。
データ制御回路222は、誤り訂正符号復号回路221によりERR信号が有効化されると、書き戻し判別情報を有効化(true)とし、書き戻しフラグ151を有効化する制御信号WBを制御処理部23に出力することで、書き戻しフラグ151を有効化する。
また、データ制御回路222は、後述する書き戻し処理の際に、書き戻し判別情報が有効とされた復号データのROWアドレスを指定するROWアドレス信号(A_[l−1:k]’)をROWアドレス制御部21に出力する。
また、データ制御回路222は、制御処理部23から入力される制御信号CTRL2に応じ、メモリアレイ111に対するデータ書き込み又は読み出しの際に、処理の対象となったROWアドレスに関する復号データが自己のラインバッファに格納されているか否かを判定する。自己のラインバッファに格納されていると判定した場合、データ制御回路222は、この復号データを用いてデータの書き込み処理又は読み出し処理を継続する。
制御処理部23は、外部からデータの書き込み又は読み出しを指示する制御信号CTRLを受信すると、読出書込回路112、誤り訂正符号復号回路221及びデータ制御回路222に、後述する書き込み処理又は読み出し処理の開始を指示する制御信号CTRL2を送信することで、各処理に応じた動作を各部に行わせる。
また、制御処理部23は、内蔵するレジスタ等に書き戻し処理の要否を示す書き戻しフラグ151を保持しており、書き戻しフラグ151が有効化されたことを検出すると、後述する書き戻し処理の開始を指示する制御信号CTRL2を読出書込回路112、誤り訂正符号復号回路221及びデータ制御回路222に出力することで、書き戻し処理に応じた動作を各部に行わせる。
以下、半導体記憶装置200の書き込み処理、読み出し処理及び書き戻し処理について順に説明する。
[書き込み処理]
まず、外部から入力されたデータをメモリセルアレイ部11に書き込む際の動作について説明する。図14は半導体記憶装置200の書き込み処理の手順を示したシーケンス図である。制御処理部15は、外部から書き込みを指示する制御信号CTRLが入力されると(ステップS61)、書き込み処理の開始を指示する制御信号CTRL2を読出書込回路112及び誤り訂正処理部22(誤り訂正符号復号回路221、データ制御回路222)に出力することで(ステップS62)、書き込み処理を開始する。
続いて、ROWアドレス制御部21は、外部からROWアドレス信号が入力されると(ステップS63)、このROWアドレス信号をROWアドレス復号部12とデータ制御回路222とに出力する(ステップS64)。
データ制御回路222は、ROWアドレス制御部21からROWアドレス信号が入力されると、このROWアドレス信号が指定するROWアドレスに関する復号データを、自己のラインバッファに記憶しているか否かを判定する(ステップS65)。ここで、記憶していないと判定した場合(ステップS65;No)、ステップS71の処理に移行し、また、記憶していると判定した場合には(ステップS65;Yes)、ステップS74の処理に移行する。なお、データ制御回路222が、自己の記憶領域に保持していると判定した場合には、後述するステップS67〜S71の処理が行われないよう、読出書込回路112及び誤り訂正符号復号回路221を制御する態様としてもよい。
一方、ROWアドレス復号部12では、ROWアドレス制御部21からROWアドレス信号が入力されると、このROWアドレス信号が指定するROWアドレスに対応したワード線WLを有効化する(ステップS66)。続いて、読出書込回路112は、ステップS66で有効化されたワード線WL上のメモリセルから符号データを読み出すと(ステップS67)、ビット線BL0を介して誤り訂正符号復号回路221に出力する(ステップS68)。
誤り訂正符号復号回路221は、読出書込回路112から入力された符号データに対して誤り訂正復号処理を施し復号データを生成すると(ステップS69)、ビット線BL1Aを介してデータ制御回路222に出力する(ステップS70)。データ制御回路222は、誤り訂正符号復号回路221から復号データが入力されると、この復号データをROWアドレス制御部21から入力されたROWアドレス信号が示すROWアドレスと関連付け、ラインデータとして記憶する(ステップS71)。なお、ステップS71で記憶されるラインデータには、書き戻し判別情報が無効化の状態で保持されているものとする。
一方、COLアドレス復号部14では、外部からCOLアドレス信号、書き込みを指示する制御信号WE、書き込み対象のデータが入力されると(ステップS72)、このCOLアドレス信号で指定されたCOLアドレスに対応するビット線BL1を介して、書き込み対象のデータをデータ制御回路222に出力する(ステップS73)。データ制御回路222では、COLアドレス復号部14から書き込み対象のデータを受け付けると、ステップS71でラインバッファに記憶した復号データのうち、COLアドレスに対応する復号データに書き込み対象のデータを上書きすることで復号データを更新する(ステップS74)。
次いで、データ制御回路222は、ステップS74で更新したラインバッファの書き戻し判別情報を有効化し(ステップS75)、書き戻しフラグ151を有効化する制御信号WBを制御処理部23に出力した後(ステップS76)、本処理を終了する。
このように、本処理では、書き込み先となるメモリアレイ111のライン(ROWアドレス)に関する復号データが、データ制御回路222の記憶領域に既に記憶されている場合、この復号データを用いてデータの更新を行うことができるため、処理の効率化を図ることができる。ステップS76に伴い実行される書き戻し処理については、後述する。
なお、本処理では、制御信号CTRLの入力に伴い、処理を開始する態様としたが、これに限らないものとする。例えば、ROWアドレス制御部21へのROWアドレス信号の入力に伴い処理を開始する態様としてもよい。この場合、書き込みを指示する制御信号CTRLの入力は、ステップS71までに行われればよい。また、制御信号CTRLが予め定められた制御用の命令(コマンド)を含んでいる場合、このコマンドを解釈(復号)することで制御信号CTRL2を生成することとしてもよい。
[読み出し処理]
次に、メモリセルアレイ部11からデータを読み出し、外部に出力する際の動作について説明する。図15は半導体記憶装置200の読出処理の手順を示したシーケンス図である。制御処理部15は、外部からデータの読み出しを指示する制御信号CTRLが入力されると(ステップS81)、読み出し処理の開始を指示する制御信号CTRL2を読出書込回路112及び誤り訂正処理部22(誤り訂正符号復号回路221、データ制御回路222)に出力することで(ステップS82)、書き込み処理を開始する。
続いて、ROWアドレス制御部21は、外部からROWアドレス信号が入力されると(ステップS83)、このROWアドレス信号をROWアドレス復号部12とデータ制御回路222とに出力する(ステップS84)。
データ制御回路222は、ROWアドレス制御部21からROWアドレス信号が入力されると、このROWアドレス信号が指定するROWアドレスに関する復号データを、自己のラインバッファに記憶しているか否かを判定する(ステップS85)。ここで、記憶していないと判定した場合(ステップS85;No)、ステップS93の処理に移行し、また、記憶していると判定した場合には(ステップS85;Yes)、ステップS99の処理に移行する。なお、データ制御回路222が、自己の記憶領域に保持していると判定した場合には、後述するステップS86〜S95の処理が行われないよう、ROWアドレス復号部12、読出書込回路112及び誤り訂正符号復号回路221を制御する態様としてもよい。
一方、ROWアドレス復号部12では、ROWアドレス制御部21からROWアドレス信号が入力されると、このROWアドレス信号が指定するROWアドレスに対応したワード線WLを有効化する(ステップS86)。続いて、読出書込回路112は、ステップS86で有効化されたワード線WL上のメモリセルから符号データを読み出すと(ステップS87)、ビット線BL0を介して誤り訂正符号復号回路221に出力する(ステップS88)。
誤り訂正符号復号回路221は、読出書込回路112から入力された符号データに対して誤り訂正復号処理を施し、復号データを生成すると(ステップS89)、ビット線BL1Aを介してデータ制御回路222に出力する(ステップS90)。次いで、誤り訂正符号復号回路221は、ステップS89の誤り訂正復号処理時に誤りを検出したか否かを判定する(ステップS91)。ここで、誤りが検出されないと判定した場合(ステップS91;No)、誤り訂正符号復号回路221の処理は終了する。また、誤りを検出したと判定した場合(ステップS91;Yes)、誤り訂正符号復号回路221は、ERR信号を有効化しデータ制御回路222に出力し(ステップS92)、誤り訂正符号復号回路221の処理を終了する。
一方、データ制御回路222では、誤り訂正符号復号回路221から符号データが入力されると、この符号データをROWアドレス制御部21から入力されたROWアドレス信号が示すROWアドレスと関連付け、ラインデータとして記憶する(ステップS93)。なお、ステップS93で記憶されるラインデータには、書き戻し判別情報が無効化の状態で保持されているものとする。
続いて、データ制御回路222は、ERR信号が有効か否かを判定し、無効と判定した場合には(ステップS94;No)、ステップS99の処理に移行する。また、ステップS94において、有効と判定した場合(ステップS94;Yes)、データ制御回路222は、ステップS93で記憶したデータの書き戻し判別情報を有効化し(ステップS95)、書き戻しフラグ151を有効化する制御信号WBを制御処理部23に出力する(ステップS96)。
一方、COLアドレス復号部14では、外部からCOLアドレス信号、読み出しを指示する制御信号REが入力されると(ステップS97)、このCOLアドレス信号が指定するCOLアドレスに対応したビット線BL1を介して、データの読み出しをデータ制御回路222に要求する(ステップS98)。
データ制御回路222は、COLアドレス復号部14からデータの読み出しが要求されると、ステップS85で受け付けたROWアドレスに関連付けて記憶した復号データのうち、COLアドレスに対応する復号データを読み出し(ステップS99)、COLアドレス復号部14に出力すると(ステップS100)、本処理を終了する。なお、COLアドレス復号部14では、データ制御回路222から入力されたデータが、読み出し対象のデータとして外部に出力される。
このように、本処理では、読み出し先となるメモリアレイ111のライン(ROWアドレス)に関する復号データが、データ制御回路222の記憶領域に既に既に記憶されている場合、この復号データを読み出し対処のデータとすることができるため、処理の効率化を図ることができる。
なお、本処理では、制御信号CTRLの入力に伴い、処理を開始する態様としたが、これに限らないものとする。例えば、ROWアドレス制御部21へのROWアドレス信号の入力に伴い処理を開始する態様としてもよい。この場合、読み出し指示する制御信号CTRLの入力は、ステップS90までに行われればよい。
[書き戻し処理]
次に、メモリセルアレイ部11に符号データを書き戻す際の動作について説明する。なお、本処理は、上述したステップS76、S96での書き戻しフラグ151の有効化に伴い実行されるものである。
図16は、半導体記憶装置200の書き戻し処理の手順を示したシーケンス図である。まず、制御処理部15は、書き戻しフラグが有効化されたことを検出すると(ステップS101)、書き戻し処理の開始を指示する制御信号CTRL2を読出書込回路112及び誤り訂正処理部22(誤り訂正符号復号回路221、データ制御回路222)に出力することで、書き戻し処理を開始する(ステップS102)。
続いて、データ制御回路222は、自己のラインバッファに記憶した復号データのうち、書き戻し判別情報が有効(true)の復号データに関連付けられたROWアドレスを読み出すと(ステップS103)、このROWアドレスを指定するROWアドレス信号をROWアドレス制御部21に出力する(ステップS104)。ROWアドレス制御部21は、データ制御回路222からROWアドレス信号を受け付けると、このROWアドレス信号をROWアドレス復号部12に出力する(ステップS105)。これに伴い、ROWアドレス復号部12では、ROWアドレス信号が指定するROWアドレスに対応したワード線WLを有効化する(ステップS106)。
一方、誤り訂正符号復号回路221は、データ制御回路222に復号データの読み出しを要求すると(ステップS107)、データ制御回路222では、ラインバッファに保持したラインデータのうち、書き戻しフラグが有効(true)の復号データを読み出し(ステップS108)、誤り訂正符号復号回路221に出力する。
続いて、誤り訂正符号復号回路221は、データ制御回路222から読み出した復号データに対して誤り訂正符号処理を施し符号データを生成すると(ステップS110)、この符号データを読出書込回路112に出力する(ステップS111)。
読出書込回路112では、誤り訂正符号復号回路221から符号データを受け付けると、この符号データをROWアドレス復号部12により有効化されたワード線WL上のメモリセルに書き込む(ステップS112)。
一方、誤り訂正符号復号回路221は、ステップS111の後、データ制御回路222から読み出した復号データについてERR信号を無効化し、データ制御回路222に出力する(ステップS113)。データ制御回路222では、誤り訂正符号復号回路221から、ERR信号の無効化が通知されると、ステップS108で読み出した復号データに関連付けられた書き戻しフラグを無効化(false)し(ステップS114)、書き戻しフラグ151を無効化する制御信号WBを制御処理部23に出力した後、本処理を終了する。
以上のように、第2の実施形態によれば、読出書込回路112とCOLアドレス復号部14との間に、読出書込回路112により読み出された符号データの誤りを検出・訂正する誤り訂正処理部22(誤り訂正符号復号回路221)を設け、誤りを訂正した符号データを該当するメモリセルに書き戻すため、メモリセルアレイ部11(メモリアレイ111)から読み出した全ての符号データについての誤りを訂正することができる。
また、書き込み先となるメモリアレイ111のワード線WL(ROWアドレス)や、読み出し先となるメモリアレイ111のワード線WL上のメモリセルに格納された符号データに対応する復号データが、データ制御回路222のラインバッファに既に記憶されている場合、この復号データを用いてデータの更新や読み出しを行うことができるため、処理の効率化を図ることができる。
なお、データ制御回路222が複数のラインデータを保持する場合には、書き戻し判別情報が有効の復号データが損失しない限り、データの書き戻しを行う順序も限定されないものとする。
通常、ラインバッファに保存できるラインデータの数、即ち、ラインバッファの個数はメモリアレイ111のワード線WLの総数よりも少ないため、既存のデータが書き込まれたラインバッファを、新たなラインデータの格納用に解放する必要がある。この場合、書き戻し判別情報が有効の復号データが格納されたラインバッファ以外から順次解放を行うものとする。なお、解放を行うラインバッファの順序は特に問わないものとするが、例えば、最も長くアクセスが行われていないラインバッファから解放することとしてもよいし、ランダムに決定してもよい。
また、ラインバッファの解放を行うタイミングは、書き戻し判別情報が有効の復号データが損失しない限り、任意のタイミングで行ってもよい。例えば、キャッシュメモリのように、ラインバッファに空きがなく、且つ、新たな復号データが入力されるタイミングでもよいし、ラインバッファに保持してから所定時間が経過したタイミングでもよいし、ラインバッファ上のラインデータに最後にアクセスしてから所定時間が経過したタイミングでもよい。
また、図17に示したように、ラインデータを消去可能な状態か否か、即ち、ラインバッファが解放可能か否かを示した有効判別情報を、各復号データに関連付けて保持する態様としてもよい。
ここで、図17は、本実施形態の変形例として、データ制御回路222が記憶するラインデータのデータ構造の他の例を模式的に示した図である。同図に示したように、データ制御回路222は、上述したROWアドレスと、このROWアドレス上の符号データに対応する復号データと、書き戻し判別情報とに加え、このラインデータが消去可能な状態か否かを示した有効判別情報(true/false)を関連付けて記憶している。
図17に示したデータ構造のラインデータを用いる場合、データ制御回路222は、各ラインデータ中の有効判別情報を参照し、当該有効判別情報が無効(false)のラインデータが格納されるラインバッファから解放を行うものとする。有効判別情報の有効/無効の切り替えは、データ制御回路222が独立的に行う態様としてもよいし、制御処理部23等の他の機能部から入力される制御信号に応じてデータ制御回路222が行う態様としてもよい。なお、有効判別情報の有効から無効への切り替は、上述したように、ラインバッファに保持してから所定時間が経過したタイミングでもよいし、ラインバッファ上のラインデータに最後にアクセスしてから所定時間が経過したタイミングでもよい。
以上、発明の実施の形態について説明したが、本発明はこれに限定されるものではなく、本発明の主旨を逸脱しない範囲での種々の変更、置換、追加などが可能である。
第1の実施形態にかかる半導体記憶装置の構成を示した図である。 メモリアレイと読出書込回路との接続例を示した図である。 メモリアレイと読出書込回路との接続例を示した図である。 メモリアレイと読出書込回路との接続例を示した図である。 第1の実施形態にかかる書き込み処理の手順を示したシーケンス図である。 第1の実施形態にかかる書き込み処理時のタイミングチャートである。 第1の実施形態にかかる書き込み処理時のタイミングチャートである。 第1の実施形態にかかる読み出し処理の手順を示したシーケンス図である。 第1の実施形態にかかる書き戻し処理の手順を示したシーケンス図である。 第1の実施形態にかかる読み出し処理及び書き戻し処理時のタイミングチャートである。 第1の実施形態にかかる読み出し処理及び書き戻し処理時のタイミングチャートである。 第2の実施形態にかかる半導体記憶装置の構成を示した図である。 データ制御回路が記憶するラインデータを模式的に示した図である。 第2の実施形態にかかる書き込み処理の手順を示したシーケンス図である。 第2の実施形態にかかる読み出し処理の手順を示したシーケンス図である。 第2の実施形態にかかる書き戻し処理の手順を示したシーケンス図である。 データ制御回路が記憶するラインデータの他の例を模式的に示した図である。
符号の説明
100 半導体記憶装置
11 メモリセルアレイ部
111 メモリアレイ
112 読出書込回路
12 ROWアドレス復号部
13 誤り訂正処理部
131 誤り訂正符号復号回路
132 バッファ
14 COLアドレス復号部
15 制御処理部
151 書き戻し戻しフラグ
200 半導体記憶装置
21 ROWアドレス制御部
22 誤り訂正処理部
221 誤り訂正符号復号回路
222 データ制御回路
23 制御処理回路

Claims (10)

  1. 誤り訂正符号が付加された符号データを記憶する複数のメモリセルを、互いに直交する複数の第1信号線と複数の第2信号線との交点に配置したメモリセルアレイと、
    外部から指定された特定の前記第1信号線を有効化する有効化手段と、
    前記有効化手段により有効化された前記第1信号線上の複数のメモリセルから各符号データを読み出す読出手段と、
    前記読出手段により読み出された符号データ中の誤りを前記誤り訂正符号に基づいて訂正し、当該符号データを復号した復号データを生成する復号化手段と、
    前記復号化手段により生成された復号データのうち、外部から指定された特定の前記第2信号線上に配置されたメモリセルに対応する復号データを出力する出力手段と、
    前記復号化手段により生成された復号データを符号化し、前記誤り訂正符号を付加した符号データを生成する符号化手段と、
    前記符号化手段により生成された符号データを、前記有効化された第1信号線上のメモリセルに書き戻す書戻手段と、
    を備えたことを特徴とする半導体記憶装置。
  2. 前記復号化手段と前記出力手段との間に設けられ、前記復号化手段により生成された復号データを、当該復号データの読み出し先となったメモリセルの配置位置に対応する前記第2信号線と関連付けて記憶する記憶手段を更に備え、
    前記出力手段は、前記記憶手段に記憶された復号データのうち、外部から指定された特定の前記第2信号線に関連付けられた復号データを読み出すことを特徴とする請求項1に記載の半導体記憶装置。
  3. 前記記憶手段は、前記復号化手段により生成された復号データを、当該復号データの読み出し先となった前記メモリセルの配置位置に対応する前記第1信号線と、当該復号データに対する前記復号化手段による誤り検出の有無を示す検出結果情報と関連付けたラインデータを一又は複数記憶し、
    前記有効化手段は、前記記憶手段に記憶された復号データのうち、誤りが検出されたことを示す検出結果情報に関連付けられた第1信号線を有効化し、
    前記書戻手段は、前記記憶手段に記憶された復号データのうち、誤りが検出されたことを示す検出結果情報に関連付けられた復号データを、前記有効化手段により有効化された第1信号線上のメモリセルに書き戻すことを特徴とする請求項2に記載の半導体記憶装置。
  4. 前記記憶手段に記憶された復号データのうち、外部から指定された特定の前記第1信号線及び前記第2信号線に関連付けられた復号データに、書き込み対象のデータを上書きする上書手段を更に備え、
    前記符号化手段は、前記上書手段により上書きされたデータを含む前記復号データ全体を符号化することを特徴とする請求項2又は3に記載の半導体記憶装置。
  5. 前記記憶手段に記憶された既存の復号データのうち、外部から指定された特定の前記第1信号線に関連付けられた復号データが存在するか否かを判定し、当該復号データが存在すると判定した場合に、前記記憶手段に対する前記特定の第1信号線についての新たなラインデータの記憶を制限する記憶制御手段を更に備えたことを特徴とする請求項3又は4に記載の半導体記憶装置。
  6. 前記記憶制御手段は、前記記憶手段に記憶されたラインデータのうち、誤りの非検出を示す検出結果情報を含んだラインデータの記憶領域を、新たなラインデータの記憶用に解放することを特徴とする請求項5に記載の半導体記憶装置。
  7. 前記記憶手段は、前記記憶領域の解放が可能か否かを示した有効判別情報を当該記憶領域に記憶されたラインデータと関連付けて記憶し、
    前記記憶制御手段は、前記有効判別情報が解放可能を示す記憶領域を、新たなラインデータの記憶用に解放することを特徴とする請求項6に記載の半導体記憶装置。
  8. 前記記憶制御手段は、前記ラインデータが前記記憶手段に記憶されてから所定時間経過した後、当該ラインデータに関連付けられた有効判別情報を解放不可から解放可能に切り替えることを特徴とする請求項7に記載の半導体記憶装置。
  9. 前記第1信号線は、前記メモリセルアレイのワード線であり、
    前記第2信号線は、前記メモリセルアレイのビット線であることを特徴とする請求項1〜8の何れか一項に記載の半導体記憶装置。
  10. 誤り訂正符号が付加された符号データを記憶する複数のメモリセルを、互いに直交する複数の第1信号線と複数の第2信号線との交点に配置したメモリセルアレイを備える半導体記憶装置の誤り訂正方法であって、
    有効化手段が、外部から指定された特定の前記第1信号線を有効化する有効化工程と、
    読出手段が、前記有効化工程で有効化された前記第1信号線上の複数のメモリセルから各符号データを読み出す読出工程と、
    復号化手段が、前記読出工程で読み出された符号データ中の誤りを前記誤り訂正符号に基づいて訂正し、当該符号データを復号した復号データを生成する復号化工程と、
    出力手段が、前記復号化工程で生成された復号データのうち、外部から指定された特定の前記第2信号線上に配置されたメモリセルに対応する復号データを出力する出力工程と、
    符号化手段が、前記復号化工程で生成された復号データを符号化し、前記誤り訂正符号を付加した符号データを生成する符号化工程と、
    書戻手段が、前記符号化工程で生成された符号データを、前記有効化された第1信号線上のメモリセルに書き戻す書戻工程と、
    を含むことを特徴とする誤り訂正方法。
JP2008160685A 2008-06-19 2008-06-19 半導体記憶装置及び誤り訂正方法 Pending JP2010003348A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008160685A JP2010003348A (ja) 2008-06-19 2008-06-19 半導体記憶装置及び誤り訂正方法
US12/360,215 US8429496B2 (en) 2008-06-19 2009-01-27 Semiconductor memory device and error correcting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008160685A JP2010003348A (ja) 2008-06-19 2008-06-19 半導体記憶装置及び誤り訂正方法

Publications (1)

Publication Number Publication Date
JP2010003348A true JP2010003348A (ja) 2010-01-07

Family

ID=41432523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008160685A Pending JP2010003348A (ja) 2008-06-19 2008-06-19 半導体記憶装置及び誤り訂正方法

Country Status (2)

Country Link
US (1) US8429496B2 (ja)
JP (1) JP2010003348A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8593855B2 (en) 2011-06-09 2013-11-26 Sharp Kabushiki Kaisha Semiconductor memory device

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5204868B2 (ja) 2011-04-12 2013-06-05 シャープ株式会社 半導体記憶装置
JP5727948B2 (ja) * 2012-01-16 2015-06-03 株式会社東芝 半導体記憶装置
US8935592B2 (en) * 2012-11-20 2015-01-13 Arm Limited Apparatus and method for correcting errors in data accessed from a memory device
KR102025340B1 (ko) 2012-11-27 2019-09-25 삼성전자 주식회사 불휘발성 메모리를 포함하는 반도체 메모리 장치, 이를 포함하는 캐쉬 메모리 및 컴퓨터 시스템
US9361956B2 (en) * 2014-01-15 2016-06-07 Advanced Micro Devices, Inc. Performing logical operations in a memory
US20150317204A1 (en) * 2014-04-30 2015-11-05 Lsi Corporation Systems and Methods for Efficient Data Refresh in a Storage Device
US9929750B2 (en) 2015-09-08 2018-03-27 Toshiba Memory Corporation Memory system
KR102479212B1 (ko) 2016-08-17 2022-12-20 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US9966125B2 (en) * 2016-09-15 2018-05-08 Toshiba Memory Corporation Memory device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59201296A (ja) * 1983-04-28 1984-11-14 Fujitsu Ltd Ecc付メモリの誤り訂正チエツク方式
JPH02154397A (ja) * 1988-12-06 1990-06-13 Nec Corp 半導体集積回路
JPH0391198A (ja) * 1989-09-04 1991-04-16 Nec Corp メモリ再書き込み方式
JPH04219700A (ja) * 1990-12-19 1992-08-10 Nec Field Service Ltd 半導体記憶装置
JPH0517740U (ja) * 1991-08-07 1993-03-05 横河電機株式会社 エラー訂正機能付きメモリコントロール装置
JPH09180496A (ja) * 1995-12-28 1997-07-11 Fujitsu Ltd 半導体記憶装置
JP2003085996A (ja) * 2001-07-04 2003-03-20 Hitachi Ltd 半導体装置
JP2005327437A (ja) * 2004-04-12 2005-11-24 Nec Electronics Corp 半導体記憶装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3225046C2 (de) 1982-07-05 1985-12-19 Kochs Adler Ag, 4800 Bielefeld Nähautomat mit einem Nähkopf und einer kontinuierlichen Werkstück-Vorschubvorrichtung
US5134616A (en) * 1990-02-13 1992-07-28 International Business Machines Corporation Dynamic ram with on-chip ecc and optimized bit and word redundancy
JP2816036B2 (ja) 1991-07-09 1998-10-27 早川ゴム株式会社 防曇性組成物用オリゴマー
JP2002056671A (ja) * 2000-08-14 2002-02-22 Hitachi Ltd ダイナミック型ramのデータ保持方法と半導体集積回路装置
US6794880B2 (en) 2002-02-14 2004-09-21 Renesas Technology America, Inc. Methods and apparatus for detecting terminal open circuits and short circuits to ground in inductive head write driver circuits
JP2004288311A (ja) * 2003-03-24 2004-10-14 Toshiba Corp 半導体記憶装置及びその制御方法
US7272774B2 (en) * 2004-04-16 2007-09-18 Kingston Technology Corp. Extender card for testing error-correction-code (ECC) storage area on memory modules
TWI254848B (en) * 2004-11-16 2006-05-11 Via Tech Inc Method and related apparatus for performing error checking-correcting
JP4896605B2 (ja) 2006-07-04 2012-03-14 株式会社東芝 不揮発性半導体記憶システム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59201296A (ja) * 1983-04-28 1984-11-14 Fujitsu Ltd Ecc付メモリの誤り訂正チエツク方式
JPH02154397A (ja) * 1988-12-06 1990-06-13 Nec Corp 半導体集積回路
JPH0391198A (ja) * 1989-09-04 1991-04-16 Nec Corp メモリ再書き込み方式
JPH04219700A (ja) * 1990-12-19 1992-08-10 Nec Field Service Ltd 半導体記憶装置
JPH0517740U (ja) * 1991-08-07 1993-03-05 横河電機株式会社 エラー訂正機能付きメモリコントロール装置
JPH09180496A (ja) * 1995-12-28 1997-07-11 Fujitsu Ltd 半導体記憶装置
JP2003085996A (ja) * 2001-07-04 2003-03-20 Hitachi Ltd 半導体装置
JP2005327437A (ja) * 2004-04-12 2005-11-24 Nec Electronics Corp 半導体記憶装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8593855B2 (en) 2011-06-09 2013-11-26 Sharp Kabushiki Kaisha Semiconductor memory device

Also Published As

Publication number Publication date
US8429496B2 (en) 2013-04-23
US20090319870A1 (en) 2009-12-24

Similar Documents

Publication Publication Date Title
JP2010003348A (ja) 半導体記憶装置及び誤り訂正方法
US9990163B2 (en) Methods of operating semiconductor memory devices with selective write-back of data for error scrubbing and related devices
KR102002925B1 (ko) 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
KR102025340B1 (ko) 불휘발성 메모리를 포함하는 반도체 메모리 장치, 이를 포함하는 캐쉬 메모리 및 컴퓨터 시스템
US8719662B2 (en) Memory device with error detection
KR20170082066A (ko) 반도체시스템
KR20170121798A (ko) 반도체 메모리 장치 및 이의 동작 방법
RU2682843C1 (ru) Устройство памяти и система памяти
US20050013162A1 (en) Nonvolatile semiconductor memory device and one-time programming control method thereof
KR100843209B1 (ko) 버퍼 메모리를 포함하는 저항형 메모리 장치, 저항형메모리 장치를 포함하는 메모리 시스템, 및 저항형 메모리장치의 데이터 기입/독출 방법
KR20180029803A (ko) 반도체장치 및 반도체시스템
JP4535565B2 (ja) 不揮発性半導体記憶装置
US7733738B2 (en) Semiconductor memory device and a data write and read method thereof
KR100598907B1 (ko) 연속적 읽기/쓰기가 가능한 플래쉬 메모리
US7821868B2 (en) Memory and control unit
US20120287728A1 (en) Nonvolatile memory device
US10796747B2 (en) Semiconductor device
KR20180081282A (ko) 반도체장치
KR20180009076A (ko) 반도체장치 및 반도체시스템
US11461167B2 (en) Semiconductor devices
KR20180055148A (ko) 반도체장치 및 반도체시스템
KR20180027655A (ko) 테스트방법 및 이를 이용한 반도체시스템
JP4050261B2 (ja) 基準始動式シーケンシャルセンシング機能を備えたメモリ
JP2009223941A (ja) 不揮発性記憶装置および不揮発性記憶装置の制御方法
KR20180027234A (ko) 반도체장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121129

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130129