JP2013008425A - メモリ回路,メモリ装置及びメモリデータの誤り訂正方法 - Google Patents

メモリ回路,メモリ装置及びメモリデータの誤り訂正方法 Download PDF

Info

Publication number
JP2013008425A
JP2013008425A JP2011141747A JP2011141747A JP2013008425A JP 2013008425 A JP2013008425 A JP 2013008425A JP 2011141747 A JP2011141747 A JP 2011141747A JP 2011141747 A JP2011141747 A JP 2011141747A JP 2013008425 A JP2013008425 A JP 2013008425A
Authority
JP
Japan
Prior art keywords
data
error correction
bit string
memory cell
memory
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.)
Granted
Application number
JP2011141747A
Other languages
English (en)
Other versions
JP5617776B2 (ja
Inventor
Nobuyuki Tanaka
伸幸 田中
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2011141747A priority Critical patent/JP5617776B2/ja
Publication of JP2013008425A publication Critical patent/JP2013008425A/ja
Application granted granted Critical
Publication of JP5617776B2 publication Critical patent/JP5617776B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】回路規模の増大を抑制しつつ、一部のハードウェアの故障による2ビットエラーの発生を回避できるメモリ回路を提供する。
【解決手段】データメモリセル部3Nでノーマルデータをノーマルカラム部3NU,3NLに分割して記憶し、誤り訂正メモリセル部3Pで前記データに発生した誤りを訂正するための誤り訂正データをパリティカラム部3PU,3PLに分割して記憶し、ロー/カラムデコーダ4は、読み出しアドレスに応じてデータ及び誤り訂正データを同時に読み出す。各ビットに対応するセンスアンプ6には、メモリ制御部12がセレクタ5を制御することでデータと誤り訂正データとを切り替えて入力する。セレクタ5には、ノーマルカラム部3NU,3NLのビットとパリティカラム部3PL,PUのビットとの組み合わせが入力され、センスアンプ6より出力されるデータと誤り訂正データとをデマルチプレクサ7を介してデータバッファ9Nとパリティバッファ9Pとに出力し分ける。
【選択図】図1

Description

本発明は、データと共に誤り訂正用のデータが記憶されるメモリ回路,そのメモリ回路とデータの誤り訂正機能とを有するメモリ装置及びメモリデータの誤り訂正方法に関する。
メモリデバイスには、データと共に誤り訂正用のパリティデータも記憶しておき、データに発生した1ビットの誤りを訂正する機能を内蔵しているものがある。そのようなメモリデバイスの一例として、例えば特許文献1には、データ部とパリティデータ部とのそれぞれについて、専用のカラムゲート(デコーダ)やセンスアンプを設けた構成が開示されている。しかしながら、例えば容量が数100kバイト程度であり比較的小さいメモリでは、デコーダやセンスアンプの回路規模が占める割合が大きくなり、デバイス全体が大型化するという問題がある。
特開2003−59290号公報
例えば、デコーダを共通化するとともに、センスアンプも共通化して、センスアンプに入力されるデータをマルチプレクサにより切り替えるようにすれば、回路規模の増大を抑制できる。ところが、このような構成では、1つのセンスアンプ、若しくはセンスアンプの出力端子につながる配線に故障が発生した場合は自動的に2ビットエラーとなるため、誤り訂正ができなくなることが想定される。
本発明は上記事情に鑑みてなされたものであり、その目的は、回路規模の増大を抑制しつつ、一部のハードウェアの故障による2ビットエラーの発生を回避できるメモリ回路,前記メモリ回路とデータの誤り訂正機能を有するメモリ装置及びメモリデータの誤り訂正方法を提供することにある。
請求項1記載のメモリ回路によれば、データメモリセル部には、データが、複数のデータビット列部に分割されて記憶され、誤り訂正メモリセル部には、前記データに発生した誤りを訂正するための誤り訂正データが、前記複数のデータビット列部にそれぞれ対応する複数の誤り訂正ビット列部に分割されて記憶されている。ロー/カラムデコーダは、読み出しアドレスに応じてデータ及び誤り訂正データを同時に読み出すが、この読み出しの際に使用されるセンスアンプは、前記データのビット数分だけ設けられており、各ビットに対応するセンスアンプには、制御部がマルチプレクサを制御することで、データと誤り訂正データとが切り替えて入力される。
マルチプレクサには、任意のデータビット列部に属するビットと、前記データビット列部に対応しない誤り訂正ビット列部に属するビットとの組み合わせが入力されるように接続されている。そして、センスアンプより出力されるデータと誤り訂正データとは、デマルチプレクサを介してデータバッファと誤り訂正バッファとに出力し分けられる。
ここで、何れか1つのセンスアンプの出力ラインに不具合が発生したこと,例えばセンスアンプが故障したこと想定する。すると、マルチプレクサにより切り替えられて上記センスアンプを介して読み出されるデータと誤り訂正データとには、それぞれ1ビットずつの誤りが含まれることになる。しかし、マルチプレクサには、前記データのデータビット列部に属するビットと、前記データビット列部に対応しない誤り訂正ビット列部に属するビットとの組み合わせが入力されるので、データビット列部と、それに対応する誤り訂正ビット列部との組み合わせ中では誤りが1ビットしか含まれなくなる。
したがって、デマルチプレクサを介して、データバッファと誤り訂正バッファとに出力し分けられたデータと誤り訂正データとを、対応するビット列部を組み合わせて誤り訂正を行えば、何れも1ビットの誤りであるから訂正することができる。これにより、ロー/カラムデコーダのカラム側をデータの読み出しと誤り訂正データの読み出しとについて共通化できると共に、センスアンプをデータのビット数分だけ設けた構成でも、1ビットラインの不具合により2ビットの誤りが発生することを回避できるので、メモリ回路を小型化することが可能となる。
請求項2記載のメモリ回路によれば、データビット列部及び誤り訂正ビット列部を、それぞれ上位側,下位側の2つに分割し、データメモリセル部には上位側,下位側データビット列部の順に配置し、誤り訂正メモリセル部には下位側,上位側誤り訂正ビット列部の順で配置する。そして、データメモリセル部及び誤り訂正メモリセル部の出力ビット線は、マルチプレクサの各入力端子に配置されているビット順でそれぞれ配線する。すなわち、データメモリセル部と誤り訂正メモリセル部とに配置される各ビット列部を、上位側,下位側の順序が互いに異なるように配置することで、マルチプレクサを介して各センスアンプより読み出される各ビットの組み合わせが、データビット列部に対応しない誤り訂正ビット列部に属するものとなる。
請求項3記載のメモリ回路によれば、データビット列部及び誤り訂正ビット列部を、それぞれ上位側,下位側の2つに分割し、データメモリセル部には上位側,下位側データビット列部の順に配置し、誤り訂正メモリセル部も同様に上位側,下位側誤り訂正ビット列部の順で配置する。そして、データメモリセル部及び誤り訂正メモリセル部の出力ビット線は、マルチプレクサの各入力端子に、上位側,下位側の並びを入れ替えたビット順で配線する。したがって、データメモリセル部と誤り訂正メモリセル部とにデータと誤り訂正データとを書き込む場合、請求項2のように、各ビット列部の上位側,下位側の配置が互いに異なるように入れ替えて書き込みを行わずとも、請求項2と同様の効果が得られる。
請求項4記載のメモリ装置によれば、請求項1ないし3記載のメモリ回路に、書き込みデータに基づき誤り訂正メモリセル部に記憶される誤り訂正データを生成する訂正データ生成部と、データバッファに格納されたデータと誤り訂正バッファに格納されたデータとに基づき誤り訂正処理を行う誤り訂正処理部とを備える。したがって、本発明のメモリ回路に、誤り訂正データの生成機能と誤り訂正処理機能とを併せ持ったメモリ装置を提供できる。
請求項5記載のメモリ装置によれば、データバッファに格納されたデータと、誤り訂正バッファに格納されたデータとを、外部より直接読み出すためのデータパスを備えるので、例えばデバッグ処理を行う場合において、誤り訂正処理が行われる前のデータ値や誤り訂正データの値を読み出して確認することができる。
請求項6記載のメモリ装置によれば、誤り訂正処理部によって誤り訂正されたデータを、外部に出力するための出力用データバッファを備え、出力用データバッファの入力側バスに、データの書き込み用バスを接続する。また、出力用データバッファの出力側バスを、データバッファの入力バスにゲートを介して接続すると共に訂正データ生成部の入力バスに接続し、訂正データ生成部の出力バスを、誤り訂正バッファの入力バスにゲートを介して接続する。そして、制御部は、データの書き込み及び読み出しに応じて各ゲートのイネーブル制御を行う。
このように構成すれば、データをメモリセル部に書き込む場合の経路は、書き込み用バスから出力用データバッファを介し、データバッファ→データメモリセル部に至る。一方、誤り訂正データについては、
出力用データバッファ→訂正データ生成部(誤り訂正データ生成)→
誤り訂正バッファ→誤り訂正データメモリセル部
に至る。したがって、データを書き込む場合と読み出す場合とに使用するバッファが共通化されるので、メモリ装置を小型化することができる。
請求項7記載のメモリ装置によれば、データを、複数のデータビット列部に分割すると共に、前記データに発生した誤りを訂正するための誤り訂正データを、複数のデータビット列部にそれぞれ対応する複数の誤り訂正ビット列部に分割する。そして、メモリセル部には、任意のデータビット列部と当該データビット列部に対応する誤り訂正ビット列部とをカラム側の位置が異なるように配置すると共に、任意のデータビット列部と当該データビット列部に対応する誤り訂正ビット列部とを異なるアドレスに配置する。
誤り訂正処理部は、メモリセル部からデータ及び誤り訂正データが読み出されると、任意のデータビット列部に対応する誤り訂正ビット列部を用いて誤り訂正処理を行うが、読み出し制御部は、データの読み出しアドレスが与えられると、メモリセル部よりデータと当該データに対応する誤り訂正データとを連続して読み出す。
すなわち、メモリセル部においてデータと当該データに対応する誤り訂正データとが異なるアドレスに配置される構成においても、データビット列部と、当該データビット列部に対応する誤り訂正ビット列部とをカラム側の位置が異なるように配置すれば、請求項1で説明したように、何れか1つのセンスアンプの出力ラインに不具合が発生しても、データビット列部と、それに対応する誤り訂正ビット列部との組み合わせ中では誤りが1ビットしか含まれなくなる。そして、データと誤り訂正データとを、対応するビット列部を組み合わせて誤り訂正を行えば、何れも1ビットの誤りであるから訂正することができる。したがって、請求項1と同様にメモリ回路を小型化することが可能となる。
またこの場合、データを読み出す側が必要とするのは(誤り訂正された)データのみであるから、誤り訂正データを読み出すためだけにアクセスを行うことは余分な処理である。そこで、請求項7によれば、読み出し制御部が、データの読み出しアドレスが与えられると、当該データに対応する誤り訂正データも連続して読み出すので、データを読み出す側が誤り訂正データを読み出すためだけに別途アドレスを出力してアクセスを行う必要がなくなる。
請求項8記載のメモリデータの誤り訂正方法によれば、データを、複数のデータビット列部に分割すると共に、前記データに発生した誤りを訂正するための誤り訂正データを、前記複数のデータビット列部にそれぞれ対応する複数の誤り訂正ビット列部に分割し、メモリセル部に、任意のデータビット列部と、そのデータビット列部に対応する誤り訂正ビット列部とをカラム側の位置が異なるように配置しておく。そして、メモリセル部からデータ及び誤り訂正データを読み出した後に、任意のデータビット列部に対応する誤り訂正ビット列部を用いて誤り訂正処理を行う。
すなわち、メモリセル部において、データビット列部と、対応する誤り訂正ビット列部とをカラム側の位置が異なるように配置すれば、メモリセル部からデータを読み出す際に、何れか1ビットの出力ラインに不具合が発生しても、データビット列部と、それに対応する誤り訂正ビット列部との組み合わせ中では誤りが1ビットしか含まれなくなり、1ビットの誤りを訂正することができる。そして、メモリセル部におけるデータビット列部と、対応する誤り訂正ビット列部との配置関係は予め分かっているので、メモリセル部からデータビット列部と誤り訂正ビット列部とを読み出した後に、両者の対応をとれば誤り訂正処理を行うことができる。
請求項9記載のメモリデータの誤り訂正方法によれば、任意のデータビット列部と、当該データビット列部に対応する誤り訂正ビット列部とを異なるアドレスに配置するので、データを読み出すバスサイズの制限によりデータビット列部と、対応する誤り訂正ビット列部とを同じアドレスで読み出すことができない場合でも、読み出し後に両者の対応をとることで誤り訂正処理を行うことができる。
請求項10記載のメモリデータの誤り訂正方法によれば(請求項9の従属)、1ワードのデータを構成するデータビット列部を同じアドレスに配置し、当該データビット列部に対応する誤り訂正ビット列部を同じアドレスに配置する。すなわち、請求項9のようにデータビット列部と、対応する誤り訂正ビット列部とを異なるアドレスに配置する場合でも、1ワードのデータのまとまりと、対応する誤り訂正データのまとまりとをそれぞれ同じアドレスに配置すれば、読み出し後に両者の対応を容易にとることができる。尚、ここで言う「1ワード」とは、データを1つのまとまりで捉えるサイズ、例えば1バイト,2バイト,4バイト等で捉える場合はそれぞれを「1ワードのデータ」と称す。
請求項11記載のメモリデータの誤り訂正方法によれば(請求項8の従属)、任意のデータビット列部と、当該データビット列部に対応する誤り訂正ビット列部とを同じアドレスに配置する。すなわち、請求項8のようにデータビット列部と、対応する誤り訂正ビット列部とをカラム側の位置が異なるように配置する場合でも、両者を同じアドレスに配置すれば読み出し後に両者の対応を容易にとることができる。
第1実施例であり、メモリ装置の構成を示す機能ブロック図 パリティ生成部がパリティデータを生成するロジックを示す図 エラー訂正部がエラー訂正処理を行うロジックを示す図 メモリ制御部により実行される処理内容を中心に示すフローチャート タイミングチャート 第2実施例を示す図1相当図 第3実施例を示す図1相当図 図4相当図 図5相当図 第4実施例であり、メモリセル部の配置イメージを示す図 第5実施例を示す図10相当図 第6実施例を示す図10相当図 第7実施例を示す図10相当図
(第1実施例)
以下、第1実施例について図1ないし図5を参照して説明する。図1は、メモリ装置の構成を示す機能ブロック図である。データ構成は、一例として、ノーマルデータ(誤り訂正データであるパリティデータと明確に区別するため、エラー訂正(誤り訂正)の対象となるデータを「ノーマルデータ」と称す)8ビット、パリティデータ8ビットの16ビットとするが、パリティデータは例えばハミング符号であり、8ビットデータの上位4ビット、下位4ビットに対応してそれぞれ3ビットが生成されるので実際のパリティデータビット数は「6」である。
メモリ装置1は、メモリ回路2を備えている。メモリ回路2のメモリセル部3は、上位側8ビットがデータメモリセル部3N,下位側8ビットがパリティメモリセル部3P(誤り訂正メモリセル部)となっている。メモリセル部3は、図中左方から右方に、第1行(ロー)に、それぞれが4ビットの列であるノーマルデータ(2)(上位側;第7〜第4ビット)、ノーマルデータ(1)(下位側;第3〜第0ビット)、パリティデータ(1)(下位側;第3〜第0ビット)、パリティデータ(2)(上位側;第7〜第4ビット)のように配列されている。また、第2行は、ノーマルデータ(4)、ノーマルデータ(3)、パリティデータ(3)、パリティデータ(4)のように配列されている。すなわち、ノーマルデータについては上位、下位の順で、パリティデータについては下位、上位の順で配置されている。
以下、ノーマルデータ(2),(4),(6),…(n+1)が配置されているカラム側のビット列をノーマルカラム部3NU(上位側データビット列部)と称し、ノーマルデータ(1),(3),(5),…(n)が配置されているカラム側のビット列をノーマルカラム部3NL(下位側データビット列部)と称する。また、パリティデータ(2),(4),(6),…(n+1)が配置されているカラム側のビット列をパリティカラム部3PU(上位側誤り訂正ビット列部)と称し、パリティデータ(1),(3),(5),…(n)が配置されているカラム側のビット列をパリティカラム部3PL(下位側誤り訂正ビット列部)と称する。
なお、メモリセル部3のメモリの種類については特段限定しないが、例えばフラッシュROM,EEPROM,DRAM,SRAMなどである。
メモリセル部3の各行は、入力されたアドレスに応じて、共通のロー/カラムデコーダ4により16ビット毎に書き込み及び読み出しが行われる。そして、読み出された16ビットのデータは、8個のセレクタ(マルチプレクサ)5(7)〜5(0)を介して共通のセンスアンプ6(7)〜6(0)の入力端子に与えられる。
セレクタ5(7)の入力端子には、ノーマルカラム部3NUの第7ビットと、パリティカラム部3PUの第3ビット(ダミー,図中に×を付して示す)とが与えられ、セレクタ5(6)の入力端子には、ノーマルカラム部3NUの第6ビットと、パリティカラム部3PLの第2ビットとが与えられている。そして、セレクタ5(0)の入力端子には、ノーマルカラム部3NLの第0ビットと、パリティカラム部3PUの第4ビットとが与えられている。尚、パリティカラム部3PUの第7ビットもダミーである。すなわち、データメモリセル部3N及び誤り訂正メモリセル部3Pの出力ビット線は、セレクタ5の各入力端子に配置されているビット順でそれぞれ配線されている。
センスアンプ6(7〜0)の出力端子は、メモリRDバス50を介して8個のデマルチプレクサ7(7〜0)に入力され(図示は1個のみ)、デマルチプレクサ7を介して2つの出力ゲート8N,8Pに振り分けられる。出力ゲート8N,8Pを介したデータは、それぞれ8ビットのデータバッファ9N,パリティバッファ9P(誤り訂正バッファ)に格納される。データバッファ9Nに格納されたノーマルデータと、パリティバッファ9Pに格納されたパリティデータとは、エラー訂正部(誤り訂正処理部)10U,10Lに入力されてエラー訂正処理が行われると、その後段に配置される8ビットのデータバッファ11(出力用データバッファ)に格納される。
ここで、エラー訂正部10U,10Lには、それぞれノーマルデータが4ビットずつ入力され、パリティデータは4ビットずつ(使用するのは3ビット)入力される。エラー訂正部10Uには、ノーマルデータの上位4ビット(第7〜第4ビット)と、パリティデータの上位4ビット(第7〜第4ビット)とが入力され、エラー訂正部10Lには、ノーマルデータの下位4ビット(第3〜第0ビット)と、パリティデータの下位4ビット(第3〜第0ビット)とが入力される。
尚、メモリ装置1に対するノーマルデータの書き込み及び読み出しは、外部の上位回路によりメモリ制御部12を介して行われる。すなわち、メモリ制御部12には、アドレスが入力されると共に、書き込み用のノーマルデータが入力され、メモリセル部3より読み出されたノーマルデータは、メモリ制御部12を経由して外部に出力される。したがって、エラー訂正部10によりエラー訂正処理されてデータバッファ11に格納されたノーマルデータは、RDバス13を介してメモリ制御部12に入力される。
また、メモリセル部3に書き込まれるデータは、以下のようなパスを経由して書き込まれる。メモリ制御部12よりWRバス14上に出力されたノーマルデータは、データバッファ11及び出力ゲート15を経由してデータバッファ9Nに格納される。また、データバッファ11の出力側は、パリティ生成部(誤り訂正データ生成部)16U,16Lの入力側に接続されており、パリティ生成部16U,16Lは、ノーマルデータの上位,下位4ビット毎にそれぞれ3ビットのパリティデータを生成して出力する。出力されたパリティデータは、出力ゲート17を介してパリティバッファ9Pに格納される。
書き込み時にデータバッファ9N,パリティバッファ9Pに格納されたそれぞれ8ビットのノーマルデータ,パリティデータは、メモリWRバス18を介してメモリセル部3に書き込まれる。また、メモリWRバス18に接続されているデータバッファ9N,パリティバッファ9Pの出力側は、データバッファ2RDバス19,パリティバッファRDバス20を介してメモリ制御部12に接続されている。
すなわち、メモリ制御部12は、エラー訂正部10において訂正処理が実行される前のノーマルデータ及びパリティデータを、RDバス19及び20(読み出し用のデータパス)を介して直接読み出せるようになっている。また、メモリ制御部12は、データの書き込み、読み出し時に応じて、ゲート8,15,17のイネーブル制御を行ったり、セレクタ5やデマルチプレクサ7の選択切り替え制御を行う(SEL信号)。
更に、メモリ制御部12は、各バッファ9,11に、データバッファ2WR,パリティバッファWR,データバッファ1WRによりデータを格納するタイミング信号を出力する。尚、ゲート8,15,17のイネーブル制御はメモリRD信号によって行われるが、ゲート15,17にはNOTゲート21を介した反転信号が与えられている。以上の構成において、メモリ回路2に、メモリ制御部12,バッファ9及び11,エラー訂正部10,パリティ生成部16を加えたものがメモリ装置1を構成している。
ここで、本実施例において使用するパリティデータは、前述のようにハミング符号である。図2は、パリティ生成部16が4ビットのノーマルデータD(3:0)に基づいて3ビットのパリティデータP(2:0)を生成するロジックを示している。すなわち、各データビットの組み合わせを排他的論理和演算することでパリティデータが生成される。
また、図3は、エラー訂正部10が、4ビットのノーマルデータD(3:0)と3ビットのパリティデータP(2:0)とに基づいて誤り訂正処理を行うロジックを示している。すなわち、各ノーマルデータビットとパリティデータビットとの組み合わせを排他的論理和演算することで3ビットのシンドロームs1〜s3を生成し、それらのシンドロームの値に応じて1ビットのエラーが生じているノーマルデータビット,又はパリティビットを検出することができる。そして、検出されたビットの値を反転することで誤りを訂正できる。尚、パリティビット数をmとすると、符号長nは「2−1」となり、情報数kは「n−m」となる。本実施例の場合、m=3,n=4である。
次に、本実施例の作用について図4及び図5を参照して説明する。図4は、メモリ制御部12によって実行される処理内容を中心に示すフローチャートである。尚、メモリ制御部12については、ハードウェアロジックで構成しても良いし、マイクロコンピュータのソフトウェアにより機能を実現しても良い。先ず、アドレスが入力されると、最下位ビットを除いたアドレスをロー/カラムデコーダ4に出力する(ステップS1)。メモリセル部3に対する書き込み及び読み出しは、16ビット(2バイト)を1ワードとして行うからである。
次に、入力される制御信号が書き込み(ライト),読み出し(リード)の何れを示しているかに応じて処理が分岐する(ステップS2)。書き込みであれば、書き込みデータをデータバッファ11に格納する(ステップS7)。続いて、出力ゲート15をイネーブルにしてデータバッファ11に格納したノーマルデータをデータバッファ9Nにも格納する。また、データバッファ11に格納されたデータは、パリティ生成部16にも入力されてパリティデータが生成され、出力ゲート17をイネーブルにしてパリティバッファ9Pに格納する(ステップS8)。
それから、メモリWR信号をハイ(Hi,アクティブ)にして、データバッファ9Nよりノーマルデータを、パリティバッファ9Pよりパリティデータを、メモリWRバス18を介してメモリセル部3に書き込む(ステップS9)。
一方、ステップS2において、データの読み出しである場合は、メモリRD信号をハイ(アクティブ)にしてSEL信号をローにする。更に、データバッファ2WR信号をハイ(アクティブ)にして、メモリセル部3より読み出した8ビットのノーマルデータを、データバッファ9Nに格納する(ステップS3)。例えば、読み出しアドレスが最下位であれば、メモリセル部3からは、ノーマルデータ(2),ノーマルデータ(1),パリティデータ(1),パリティデータ(2)の16ビットが読み出されるが、セレクタ5及びデマルチプレクサ7が入力端子「0」側を選択するので、ノーマルデータ(2)及び(1)の8ビットが、センスアンプ6を経由してデータバッファ9Nに格納される。
次に、メモリRD信号をハイにしたままSEL信号をロー(Lo)にし、データバッファWR信号をハイ(アクティブ)にして、メモリセル部3より読み出した8ビットのパリティデータを、データバッファ9Pに格納する(ステップS4)。この時、セレクタ5及びデマルチプレクサ7が入力端子「1」側を選択するので、パリティデータ(1)及び(2)の8ビットが、センスアンプ6を経由してデータバッファ9Pに格納される。
すると、ノーマルデータ,パリティデータがエラー訂正部10に入力されて、ノーマルデータの上位/下位4ビットにつきそれぞれエラー訂正処理が行われ、処理結果がデータバッファ11に格納される(ステップS5)。そして、メモリ制御部12は、データバッファ11に格納されたノーマルデータを、上位回路に読み出し結果として転送する(ステップS6)。
次に、より具体的にアドレス値及びデータ値を与えて、メモリセル部3からのデータ読み出し経路における第1ビットのラインの故障が発生したケース(例えば、センスアンプ6(1)の故障など)の読み出し及びエラー訂正処理について、図5のタイミングチャートを参照して説明する。
<ケース1:読み出し/故障なし>
メモリセル部3に対する16ビット対応の読み出しアドレスが00hであり、メモリセル部3より5A52hが読み出されたとする。バイナリでは、
0101 1010 0101 0010b
となる。SEL信号がローの期間は、上位側の8ビット;ノーマルデータ5Ahがセレクタ5により選択され、センスアンプ6を介してメモリRDバス50に出力され、更にデマルチプレクサ7を介してデータバッファ9Nに格納される。そして、SEL信号がハイの期間は、下位側の8ビット;パリティデータ52hがセレクタ5により選択され、パリティバッファ9Pに格納される。
続いて、エラー訂正部10においてエラー訂正処理が実行されるが、エラー訂正部10Uには、ノーマルデータ(2);5hに対応するパリティデータ(2);2hが入力され、エラー訂正部10Lには、ノーマルデータ(1);Ahに対応するパリティデータ(1);5hが入力される。この場合エラーが発生していないので、訂正は行われず、データバッファ11には、ノーマルデータ5Ahがそのまま格納される。
<ケース2:読み出し/センスアンプ6(1)に故障発生>
この場合、ケース1と同じアドレスの同じ16ビットデータを読み出そうとすると、センスアンプ6(1)が故障したため、16ビットデータのうち、センスアンプ6(1)を経由して読み出される2ビットにエラーが発生する(データ値「1」が「0」になる)。
(正常) 0101 1010 0101 0010b
(第1ビット故障) 0101 1000 0101 0000b
すなわち、5850hとなる。したがって、上位側の8ビット;ノーマルデータ58hがデータバッファ9Nに格納され、下位側の8ビット;パリティデータ50hがパリティバッファ9Pに格納されることになる。
そして、これらのノーマルデータ及びパリティデータに基づきエラー訂正部10においてエラー訂正処理が実行されるが、それぞれ4ビット毎に、エラー訂正部10U,10Lに入力されるノーマルデータとパリティデータとの組み合わせは、以下のようになる。
ノーマルデータ パリティデータ
エラー訂正部10U 5h 0h(エラー)
エラー訂正部10L 8h(エラー) 5h
すなわち、それぞれのノーマルデータ及びパリティデータの組み合わせでは、エラーが発生しているのは1ビットずつとなる。したがって、エラー訂正部10U,10Lは、それぞれ1ビットエラーを訂正することができ、結果としてデータバッファ11には、<ケース1>と同様に誤りがないノーマルデータ5Ahが格納されることになる。
<ケース3;書き込み>
ケース3は、アドレス0000hにノーマルデータ96hを書き込む場合を示している。データバッファ11にノーマルデータ96hが格納されると、パリティ生成部16によりパリティデータ34hが生成される。すなわち、パリティ生成部16Uにおいてパリティデータ4h,パリティ生成部16Lにおいてパリティデータ3hが生成される。すると、ノーマルデータ96h,パリティデータ34hがそれぞれデータバッファ9N,パリティバッファ9Pに格納される。そして、メモリWR信号が出力されるタイミングで、メモリセル部3に16ビットデータ9634hが書き込まれる。
以上のように本実施例によれば、データメモリセル部3Nにおいて、ノーマルデータをノーマルカラム部3NU,3NLに分割して記憶し、誤り訂正メモリセル部3Pには、前記データに発生した誤りを訂正するための誤り訂正データを、パリティカラム部3PU,3PLに分割して記憶し、ロー/カラムデコーダ4は、読み出しアドレスに応じてデータ及び誤り訂正データを同時に読み出す。そして、各ビットに対応するセンスアンプ6(7〜0)には、メモリ制御部12がセレクタ5(7〜0)を制御することで、ノーマルデータと誤り訂正データとを切り替えて入力する。この場合、セレクタ5には、ノーマルカラム部3NU,3NLのビットとパリティカラム部3PL,PUのビットとの組み合わせが入力されるように接続され、センスアンプ6より出力されるノーマルデータと誤り訂正データとを、デマルチプレクサ7を介してデータバッファ9Nとパリティバッファ9Pとに出力し分けるようにした。
したがって、何れか1つのセンスアンプ6の出力ラインに不具合が発生した場合でも、データビット列部と、それに対応する誤り訂正ビット列部との組み合わせ中では誤りが1ビットしか含まれなくなり、1ビットの誤りを訂正することができる。これにより、ロー/カラムデコーダ4のカラム側をデータの読み出しと誤り訂正データの読み出しとについて共通化できると共に、センスアンプ6をデータのビット数分だけ設けた構成でも、1ビットラインの不具合により2ビットの誤りが発生することを回避でき、メモリ回路2を小型化することが可能となる。そして、メモリ回路2に、パリティ生成部16と、エラー訂正部10とを加えることで誤り訂正データの生成機能とエラー訂正処理機能とを併せ持ったメモリ装置1を提供できる。
また、メモリ装置1、データバッファ9Nに格納されたノーマルデータと、パリティバッファ9Pに格納されたパリティデータとを、データバッファRDバス19,パリティバッファRDバス20を介して直接読み出すようにしたので、例えばデバッグ処理を行う場合において、誤り訂正処理が行われる前のデータ値やパリティデータの値を読み出して確認することができる。
更に、エラー訂正部10により誤り訂正されたノーマルデータを外部に出力するためのデータバッファ11を備え、データバッファ11の入力側バスにWRバス14を接続し、データバッファ11の出力側バスを、データバッファ9Nの入力バスに出力ゲート15を介して接続すると共にパリティデータ生成部16の入力バスに接続し、パリティ生成部16の出力バスを、パリティバッファ9Pの入力バスに出力ゲート17を介して接続し、メモリ制御部12は、データの書き込み及び読み出しに応じて出力ゲート15,17のイネーブル制御を行うようにした。このように構成すれば、データを書き込む場合と読み出す場合とに使用するバッファを共通化して、メモリ装置1を小型化することができる。
(第2実施例)
図6は第2実施例であり、第1実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。第2実施例のメモリ装置22では、メモリセル部3において、パリティメモリセル部3Pにおける上位側,下位側の配置が、第1実施例とは逆になっている。すなわち、データメモリセル部3Nと同様に、パリティカラム部3PU,パリティカラム部3PLの順(上位側,下位側データビット列部,及び上位側,下位側誤り訂正ビット列部の順)で配置されている。尚、RDバス19及び20の図示は省略している。
それに対応して、パリティメモリセル部3Pと、セレクタ5との間の接続関係が第1実施例と等しくなるように、パリティカラム部3PU,パリティカラム部3PLの並びが入れ替わるようにして配線されている。尚、メモリセル部3にデータを書き込む場合のメモリWRバス18’の配線も、上記のパリティカラム部3PU,パリティカラム部3PLの配置順に対応していることは勿論である。
以上のように構成される第2実施例によれば、データメモリセル部3Nには上位側,下位側データビット列部の順に配置し、誤り訂正メモリセル部3Pにも上位側,下位側誤り訂正ビット列部の順で配置して、データメモリセル部3N及び誤り訂正メモリセル部3Pの出力ビット線は、セレクタ5の各入力端子に、上位側,下位側の並びを入れ替えたビット順で配線したので、メモリセル部3にノーマルデータとパリティデータとを書き込む場合、第1実施例のように、各ビット列部の上位側,下位側の配置が互いに異なるように入れ替えて書き込みを行わずとも第1実施例と同様の効果が得られる。
(第3実施例)
図7ないし図9は第3実施例であり、第1実施例と異なる部分のみ説明する。第3実施例のメモリ装置31において、メモリ回路32及びメモリセル部33は一般的な構成であり、メモリセル部33のバスサイズは8ビット(1ワード)となっている。したがって、セレクタ5は削除されている。そして、メモリセル部33においては、ノーマルデータとパリティデータとが1アドレスずつ交互に配置されており、ノーマルデータ(アドレスn)に対応するパリティデータ(アドレスn+1)の4ビット列の配置は、上位,下位が逆に配置されている。
すなわち、メモリセル部33は、最初のアドレスにノーマルデータ(2)、ノーマルデータ(1)が配置され(上位側,下位側データビット列部)、その次のアドレスにパリティデータ(1)、パリティデータ(2)が配置されている(下位側,上位側誤り訂正ビット列部)。次のアドレスには、ノーマルデータ(4)、ノーマルデータ(3)が配置され、その次のアドレスにはパリティデータ(3)、パリティデータ(4)が配置されている。したがって、メモリ制御部(読み出し制御部)34は、SEL信号によってはデマルチプレクサ7の切り替え制御のみ行う。
また、上記SEL信号は、ロー/カラムデコーダ35にも与えられている。ロー/カラムデコーダ35に与えられるアドレスは、第1実施例と同様にLSBを除く上位側アドレスであり、上記SEL信号がアドレスのLSBに相当する。すなわち、SEL信号が「0」の場合は偶数アドレスが読み出され(又は書き込まれ)、SEL信号が「1」の場合は偶数アドレスが読み出される(又は書き込まれる)。
また、メモリセル部33にデータを書き込むためのメモリWRバス36は8ビットバスとなり、そのメモリWRバス35には、マルチプレクサ37を介してノーマルデータ,パリティデータが与えられる。マルチプレクサ37の「0」側はデータバッファ9Nの出力バスに接続され、「1」側はパリティバッファ9Pの出力バスに接続されている。そして、マルチプレクサ37の切り替え制御もSEL信号によって行われる。
次に、第3実施例の作用について図8及び図9を参照して説明する。図8,図9は図4,図5相当図である。図8においては、データの書き込み時の処理が第1実施例とは異なっており、ステップS9に替えてステップS10,S11が配置されている。すなわち、上述したように、SEL信号がアドレスのLSBとしてロー/カラムデコーダ35に入力されることで、リードアクセスについては第1実施例と全く同様に行われる。
<ケース1:読み出し/故障なし>
メモリセル部33に入力される読み出しアドレスが00hであり、ロー/カラムデコーダ35に入力されるSEL信号がローの期間は、メモリセル部33からアドレス00hのノーマルデータ5Ahが読み出されたとする。バイナリでは、
0101 1010b
となる。すると、ノーマルデータ5Ahは、センスアンプ6を介してメモリRDバス20に出力され、更にデマルチプレクサ7を介してデータバッファ9Nに格納される。続いて、読み出しアドレスが00hのままでSEL信号がハイになると、アドレス0001hのパリティデータ52hが読み出され、パリティバッファ9Pに格納される。
そして、エラー訂正部10においてエラー訂正処理が実行されるが、この場合エラーが発生していないので、訂正は行われず、データバッファ11には、ノーマルデータ5Ahがそのまま格納される。
<ケース2:読み出し/センスアンプ6(1)に故障発生>
この場合、ケース1と同じアドレスの同じノーマルデータを読み出そうとすると、センスアンプ6(1)の故障により第1ビットにエラーが発生する。
(正常) 0101 1010b
(第1ビット故障) 0101 1000b
すなわち、ノーマルデータ58hがデータバッファ9Nに格納される。続いて読み出されるアドレス0001hのパリティデータは、
(正常) 0101 0010b
(第1ビット故障) 0101 0000b
となり、パリティデータ50hがパリティバッファ9Pに格納されることになる。
そして、これらのノーマルデータ及びパリティデータに基づきエラー訂正部10においてエラー訂正処理が実行されるが、それぞれ4ビット毎に、エラー訂正部10U,10Lに入力されるノーマルデータとパリティデータとの組み合わせは第1実施例と同様になり、それぞれのノーマルデータ及びパリティデータの組み合わせでは、エラーが発生しているのは1ビットずつとなる。したがって、エラー訂正部10U,10Lは、それぞれ1ビットエラーを訂正することができ、結果としてデータバッファ11には、<ケース1>と同様に誤りがないノーマルデータ5Ahが格納されることになる。
<ケース3;書き込み>
ケース3は、アドレス0000hにノーマルデータ96hを書き込む場合であるが、この時は、パリティ生成部16によりパリティデータ34hが生成され、メモリWR信号がアクティブとなり且つSEL信号がローレベルの期間に、メモリセル部33のアドレス0000hにノーマルデータ96hが書き込まれ(ステップS10)、SEL信号がハイレベルに切り替わると、アドレス0001hにパリティデータ34hが書き込まれる(ステップS11)。
以上のように第3実施例によれば、メモリセル部33に、任意のデータビット列部と当該データビット列部に対応する誤り訂正ビット列部とをカラム側の位置が異なるように配置すると共に、任意のデータビット列部と当該データビット列部に対応する誤り訂正ビット列部とを異なるアドレスに配置し、メモリ制御部34は、データの読み出しアドレスが与えられると、アドレスのLSBの代わりにSEL信号を用いて、メモリセル部よりデータと当該データに対応する誤り訂正データとを連続して読み出すようにした。
このように構成した場合も、何れか1つのセンスアンプ6の出力ラインに不具合が発生しても、データビット列部と、それに対応する誤り訂正ビット列部との組み合わせ中では誤りが1ビットしか含まれなくなり、1ビットの誤りを訂正することができる。そして、データを読み出す側が必要とするのは(誤り訂正された)データのみであるから、パリティデータを読み出すためだけにアクセスを行うことは余分な処理である。そこで、第3実施例によれば、データを読み出す側がパリティデータを読み出すためだけに別途アドレスを出力してアクセスを行う必要がなくなる。
また、メモリセル部33におけるノーマルデータ(2)/(1)と、パリティデータ(1)/(2)との配置関係は予め分かっているので、メモリセル部33から読み出した後に両者の対応をとれば、誤り訂正処理を問題なく行うことができる。
(第4実施例)
図10は第4実施例であり、第3実施例と異なる部分について説明する。第4実施例は、第3実施例のメモリセル部33において、ノーマルデータの4ビット列及びパリティデータの4ビット列を配置する際のバリエーションを示す。尚、図中の「A」は例えば上位側,「B」は下位側の4ビット列を示す。(a)は、各アドレスの上位側4ビットに、ノーマルデータを(1A),(1B),(2A),(2B),…の順で配置し、各アドレスの下位側4ビットに、パリティデータを(1A),(1B),(2A),(2B),…の順で配置する。
したがって、例えばアドレス0000hのリードアクセスでは、ノーマルデータ(1A),パリティデータ(1A)が読み出され、アドレス0001h(SEL=H)のリードアクセスでは、ノーマルデータ(1B),パリティデータ(1B)が読み出される。これらのビット列の配置に応じて、各リードアクセスにおいて、データバッファ9N,パリティバッファ9Pに格納されるノーマルデータ,パリティデータを4ビットずつ適宜振り分ければよい。
また、(b)は、(a)の配置に対して、各アドレスの下位側4ビットに、パリティデータを(1B),(1A),(2B),(2A),…の順で配置する。したがって、例えばアドレス0000hのリードアクセスでは、ノーマルデータ(1A),パリティデータ(1B)が読み出され、アドレス0001h(SEL=H)のリードアクセスでは、ノーマルデータ(1B,パリティデータを1Aが読み出される。この場合も、ビット列の配置に応じて、各リードアクセスにおいて、データバッファ9N,パリティバッファ9Pに格納されるノーマルデータ,パリティデータを4ビットずつ適宜振り分ければよい。尚、(a)の配置に対して、ノーマルデータ側のA,Bを逆にしても良い。以上のように第4実施例による場合も、第3実施例と同様の効果が得られる。
(第5実施例)
図11は第5実施例である。図11は、メモリセル部が第1実施例のように16ビットサイズであり、且つノーマルデータが16ビット(2バイト;1ワード)構成である場合の配置例を示す。16ビットのノーマルデータを、8ビット列で上位,下位に分けるとする。8ビットのノーマルデータについてエラー訂正を行うには、パリティデータが4ビット(m=4)あれば良い。したがって、16ビットのノーマルデータに対してパリティデータが8ビットあれば良い。
(a)の場合、アドレス0000hにノーマルデータ(2),(1)が配置され(上位側,下位側データビット列部)、アドレス0004hにノーマルデータ(4),(3)が配置されている。そして、アドレス0002hには、上記の4バイトノーマルデータをエラー訂正するためのパリティデータが(3),(1),(4),(2)(それぞれ下位側,下位側,上位側,上位側誤り訂正ビット列部)の順で配置されている。そして、図示はしないが、続くアドレスアドレス0006hにはノーマルデータ(5),(6)が配置されることになる。このように配置すれば、ノーマルデータ,パリティデータをそれぞれ8ビットずつ読み出した場合に、何れか1ビットに故障が発生していても、8ビット単位のノーマルデータに対応する4ビットのパリティデータが同じビットラインで重複して読み出されることがなく、発生するエラーは1ビットに留まるため訂正が可能となる。
(b)は、(a)に対してアドレス0002hのパリティデータの配置を(2),(4)に入れ替えたものである。また、図(c),(d)は、(a),(b)に対してアドレス0003hのパリティデータの配置を(1),(3)に入れ替えたものである。これらの場合も、同様の効果が得られる。また、図11に示す配置に対してノーマルデータの配置を変更しても良く、ノーマルデータ(1),(3)を入れ替えたり、ノーマルデータ(2),(4)を入れ替えたりしても良い。
以上のように第5実施例によれば、ノーマルデータのサイズが16ビットである場合についても同様の効果が得られる。そして、1ワードのノーマルデータ(2),(1)を同じアドレス0000hに配置し、上記ノーマルデータ(2),(1)に対応するパリティデータ(2),(1)を同じアドレス0002hに配置した。すなわち、ノーマルデータと対応するパリティデータとを異なるアドレスに配置する場合でも、1ワードのノーマルデータのまとまりと、対応するパリティデータのまとまりとをそれぞれ同じアドレスに配置すれば、読み出し後に両者の対応を容易にとることができる。
(第6実施例)
図12は第6実施例である。第6実施例は、第5実施例と同様にノーマルデータが16ビット(2バイト)構成である場合について、第1実施例と同様に各4ビット列について3ビットのパリティデータを割り当てる。(a)の場合、アドレス0000hにノーマルデータが(4),(3),(2),(1)の順で配置され、アドレス0002hにパリティデータが(3),(4),(1),(2)の順で配置されている。
(b)の場合、アドレス0002hのパリティデータが(3),(2),(1),(4)の順で配置され、(c)の場合、同パリティデータが(1),(4),(3),(2)の順で配置され、(d)の場合、同パリティデータが(1),(2),(3),(4)の順で配置されている。これらのように配置した場合も、ノーマルデータ,パリティデータをそれぞれ8ビットずつ読み出した場合に、何れか1ビットのラインに故障が発生していても、8ビット単位のノーマルデータに対応する4ビットのパリティデータが同じビットラインで重複して読み出されることがなく、発生するエラーは1ビットに留まるため訂正が可能となる。
(第7実施例)
図13は第7実施例である。図13は、メモリセル部が32ビットサイズであり、且つノーマルデータが32ビット(4バイト;1ワード)構成である場合の配置例を示す。尚、図示はしないが、センスアンプは16ビット分配置されており、読み出しは16ビットずつ切り替えて行うものとする。この場合、32ビットのノーマルデータを、16ビット列で上位,下位に分ける。16ビットのノーマルデータについてエラー訂正を行うには、パリティデータが5ビット(m=5)あれば良い。そして、図13では、アドレス0000h〜0008hには、ノーマルデータ(1)〜(6)が配置されており、アドレス000Chには、上記ノーマルデータ(1)〜(6)に対応する各5ビットのパリティデータ(1)〜(6)が配置されている。その配置順は、上位側より(5),(3),(1),(6),(4),(2)となっている。
この場合、上位側の3つのパリティデータ(5),(3),(1)(これらは下位側誤り訂正ビット列部)の配置順を入れ替えても良いし、下位側の3つのパリティデータ(6),(4),(2)(これらは上位側誤り訂正ビット列部)の配置順を入れ替えても良い。また、アドレス0000h〜0008hに配置されているノーマルデータを、32ビット単位で入れ替えても良い。このように配置すれば、ノーマルデータ,パリティデータをそれぞれ16ビットずつ読み出した場合に、何れか1ビットに故障が発生していても、16ビット単位のノーマルデータに対応する5ビットのパリティデータが同じビットラインで重複して読み出されることがなく、発生するエラーは1ビットに留まるため訂正が可能となる。
以上のように第6実施例によれば、ノーマルデータのサイズが32ビットである場合についても同様の効果が得られる。
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
誤り訂正符号は、ハミング符号に限ることはない。
ノーマルデータのサイズは、個別の設計に応じて適宜変更すれば良い。
書き込み用と読み出し用とで、バッファを個別に設けても良い。
第3実施例において、ノーマルデータとパリティデータとをそれぞれ独立したリードサイクルで読み出しても良い。
データバッファに格納されたデータと、誤り訂正バッファに格納されたデータとを、外部より直接読み出すためのデータパスは、必要に応じて設ければ良い。
ノーマルデータを何ビットのビット列に分割し、それに対して何ビットのパリティデータを割り当てるかは、m≦kを維持する範囲で適宜設定すれば良い。
図面中、1はメモリ装置、2はメモリ回路、3はメモリセル部、3Nはデータメモリセル部、3Pはパリティメモリセル部(誤り訂正メモリセル部)、3NU,3NLはノーマルカラム部(上位側,下位側データビット列部)、3PU,3PLパリティカラム部(上位側,下位側誤り訂正ビット列部)、4はロー/カラムデコーダ、5はセレクタ(マルチプレクサ)、6はセンスアンプ、7はデマルチプレクサ、9Nはデータバッファ、9Pはパリティバッファ(誤り訂正バッファ)、10はエラー訂正部(誤り訂正処理部)、11はデータバッファ(出力用データバッファ)、12はメモリ制御部、15は出力ゲート、16はパリティ生成部(誤り訂正データ生成部)、17は出力ゲート、19はデータバッファRDバス、20はパリティバッファRDバス、22,31はメモリ装置、32はメモリ回路、33はメモリセル部、34はメモリ制御部(読み出し制御部)を示す。

Claims (11)

  1. データが、複数のデータビット列部に分割されて記憶されるデータメモリセル部と、
    前記データに発生した誤りを訂正するための誤り訂正データが、前記複数のデータビット列部にそれぞれ対応する複数の誤り訂正ビット列部に分割されて記憶される誤り訂正メモリセル部と、
    読み出しアドレスに応じて、前記データメモリセル部と前記誤り訂正メモリセル部とから、前記データ及び前記誤り訂正データを同時に読み出すように共通化されたロー/カラムデコーダと、
    前記各メモリセル部から、前記データ及び前記誤り訂正データを読み出す際に使用され、前記データのビット数と同じ数だけ設けられているセンスアンプと、
    制御信号に応じて、前記データと前記誤り訂正データとを切り替えて、前記センスアンプに入力するためのマルチプレクサと、
    制御信号に応じて、前記センスアンプより出力されるデータと誤り訂正データとを、データバッファと誤り訂正バッファとに出力し分けるデマルチプレクサと、
    前記マルチプレクサ及び前記デマルチプレクサに、それぞれ制御信号を出力し、前記メモリセル部に対する書き込み及び読み出しを制御する制御部とを備え、
    前記マルチプレクサには、任意のデータビット列部に属するビットと、前記データビット列部に対応しない誤り訂正ビット列部に属するビットとの組み合わせが入力されることを特徴とするメモリ回路。
  2. 前記データビット列部及び前記誤り訂正ビット列部が、それぞれ上位側,下位側の2つに分割されており、
    前記データメモリセル部は、上位側,下位側データビット列部の順で配置され、
    前記誤り訂正メモリセル部は、下位側,上位側誤り訂正ビット列部の順で配置され、
    前記データメモリセル部及び前記誤り訂正メモリセル部の出力ビット線は、前記マルチプレクサの各入力端子に、配置されているビット順でそれぞれ配線されていることを特徴とする請求項1記載のメモリ回路。
  3. 前記データビット列部及び前記誤り訂正ビット列部が、それぞれ上位側,下位側の2つに分割されており、
    前記データメモリセル部は、上位側,下位側データビット列部の順で配置され、
    前記誤り訂正メモリセル部は、上位側,下位側誤り訂正ビット列部の順で配置され、
    前記データメモリセル部の出力ビット線は、前記マルチプレクサの各入力端子に、配置されているビット順で配線され、
    前記誤り訂正メモリセル部の出力ビット線は、前記マルチプレクサの各入力端子に、上位側,下位側の並びを入れ替えたビット順で配線されていることを特徴とする請求項1記載のメモリ回路。
  4. 請求項1ないし3記載のメモリ回路と、
    書き込みデータに基づいて、前記誤り訂正メモリセル部に記憶される誤り訂正データを生成する訂正データ生成部と、
    前記データバッファに格納されたデータと、前記誤り訂正バッファに格納されたデータとに基づいて、誤り訂正処理を行う誤り訂正処理部とを備えることを特徴とするメモリ装置。
  5. 前記データバッファに格納されたデータと、前記誤り訂正バッファに格納されたデータとを、外部より直接読み出すためのデータパスを備えることを特徴とする請求項4記載のメモリ装置。
  6. 前記誤り訂正処理部によって誤り訂正されたデータを、外部に出力するための出力用データバッファを備え、
    前記出力用データバッファの入力側バスには、データの書き込み用バスが接続され、
    前記出力用データバッファの出力側バスは、前記データバッファの入力バスに接続されていると共に、前記訂正データ生成部の入力バスにゲートを介して接続され、
    前記訂正データ生成部の出力バスは、前記誤り訂正バッファの入力バスにゲートを介して接続されており、
    前記制御部は、データの書き込み及び読み出しに応じて、前記各ゲートのイネーブル制御を行うことを特徴とする請求項4又は5記載のメモリ装置。
  7. データを、複数のデータビット列部に分割すると共に、前記データに発生した誤りを訂正するための誤り訂正データを、前記複数のデータビット列部にそれぞれ対応する複数の誤り訂正ビット列部に分割し、
    任意のデータビット列部と、当該データビット列部に対応する誤り訂正ビット列部とを、カラム側の位置が異なるように配置すると共に、任意のデータビット列部と、当該データビット列部に対応する誤り訂正ビット列部とを異なるアドレスに配置したメモリセル部と、
    前記メモリセル部からデータ及び誤り訂正データを読み出すと、任意のデータビット列部に対応する誤り訂正ビット列部を用いて誤り訂正処理を行う誤り訂正処理部と、
    前記データの読み出しアドレスが与えられると、前記メモリセル部より前記データと前記データに対応する誤り訂正データとを連続して読み出す読み出し制御部とを備えたことを特徴とするメモリ装置。
  8. データを、複数のデータビット列部に分割すると共に、前記データに発生した誤りを訂正するための誤り訂正データを、前記複数のデータビット列部にそれぞれ対応する複数の誤り訂正ビット列部に分割し、
    メモリセル部において、任意のデータビット列部と、当該データビット列部に対応する誤り訂正ビット列部とを、カラム側の位置が異なるように配置し、
    前記メモリセル部からデータ及び誤り訂正データを読み出した後に、任意のデータビット列部に対応する誤り訂正ビット列部を用いて誤り訂正処理を行うことを特徴とするメモリデータの誤り訂正方法。
  9. 任意のデータビット列部と、当該データビット列部に対応する誤り訂正ビット列部とを異なるアドレスに配置することを特徴とする請求項8記載のメモリデータの誤り訂正方法。
  10. 1ワードのデータを構成するデータビット列部を同じアドレスに配置し、当該データビット列部に対応する誤り訂正ビット列部を同じアドレスに配置することを特徴とする請求項9記載のメモリデータの誤り訂正方法。
  11. 任意のデータビット列部と、当該データビット列部に対応する誤り訂正ビット列部とを同じアドレスに配置することを特徴とする請求項8記載のメモリデータの誤り訂正方法。
JP2011141747A 2011-06-27 2011-06-27 メモリ回路,メモリ装置及びメモリデータの誤り訂正方法 Expired - Fee Related JP5617776B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011141747A JP5617776B2 (ja) 2011-06-27 2011-06-27 メモリ回路,メモリ装置及びメモリデータの誤り訂正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011141747A JP5617776B2 (ja) 2011-06-27 2011-06-27 メモリ回路,メモリ装置及びメモリデータの誤り訂正方法

Publications (2)

Publication Number Publication Date
JP2013008425A true JP2013008425A (ja) 2013-01-10
JP5617776B2 JP5617776B2 (ja) 2014-11-05

Family

ID=47675650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011141747A Expired - Fee Related JP5617776B2 (ja) 2011-06-27 2011-06-27 メモリ回路,メモリ装置及びメモリデータの誤り訂正方法

Country Status (1)

Country Link
JP (1) JP5617776B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9904491B2 (en) 2015-01-05 2018-02-27 Samsung Electronics Co., Ltd. Memory device, memory system, and method of operating the device
CN108376554A (zh) * 2017-01-31 2018-08-07 爱思开海力士有限公司 存储器模块、包括其的存储系统及其错误校正方法
CN113496745A (zh) * 2020-04-03 2021-10-12 澜起科技股份有限公司 用于修复存储模块缺陷的装置和方法以及存储器系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62214599A (ja) * 1986-03-14 1987-09-21 Fujitsu Ltd 半導体記憶装置
JPH07152503A (ja) * 1993-11-26 1995-06-16 Toshiba Corp 半導体ディスク装置
JPH09180496A (ja) * 1995-12-28 1997-07-11 Fujitsu Ltd 半導体記憶装置
JPH11250695A (ja) * 1998-03-05 1999-09-17 Nec Ic Microcomput Syst Ltd 多値式半導体メモリ装置およびその不良救済方法
JP2000149599A (ja) * 1998-11-11 2000-05-30 Hyundai Electronics Ind Co Ltd メモリテスト回路
JP2003077294A (ja) * 2001-08-31 2003-03-14 Mitsubishi Electric Corp メモリ回路
JP2007140948A (ja) * 2005-11-18 2007-06-07 Elpida Memory Inc 積層メモリ
JP2008021390A (ja) * 2006-07-14 2008-01-31 Toshiba Corp 半導体記憶装置
JP2008112503A (ja) * 2006-10-30 2008-05-15 Elpida Memory Inc 積層メモリ
JP2009093704A (ja) * 2007-10-04 2009-04-30 Panasonic Corp 半導体記憶装置
JP2009283127A (ja) * 2001-07-04 2009-12-03 Renesas Technology Corp 半導体装置
JP2011238309A (ja) * 2010-05-07 2011-11-24 Fujitsu Semiconductor Ltd 半導体メモリ、システムおよび半導体メモリの製造方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62214599A (ja) * 1986-03-14 1987-09-21 Fujitsu Ltd 半導体記憶装置
JPH07152503A (ja) * 1993-11-26 1995-06-16 Toshiba Corp 半導体ディスク装置
JPH09180496A (ja) * 1995-12-28 1997-07-11 Fujitsu Ltd 半導体記憶装置
JPH11250695A (ja) * 1998-03-05 1999-09-17 Nec Ic Microcomput Syst Ltd 多値式半導体メモリ装置およびその不良救済方法
JP2000149599A (ja) * 1998-11-11 2000-05-30 Hyundai Electronics Ind Co Ltd メモリテスト回路
JP2009283127A (ja) * 2001-07-04 2009-12-03 Renesas Technology Corp 半導体装置
JP2003077294A (ja) * 2001-08-31 2003-03-14 Mitsubishi Electric Corp メモリ回路
JP2007140948A (ja) * 2005-11-18 2007-06-07 Elpida Memory Inc 積層メモリ
JP2008021390A (ja) * 2006-07-14 2008-01-31 Toshiba Corp 半導体記憶装置
JP2008112503A (ja) * 2006-10-30 2008-05-15 Elpida Memory Inc 積層メモリ
JP2009093704A (ja) * 2007-10-04 2009-04-30 Panasonic Corp 半導体記憶装置
JP2011238309A (ja) * 2010-05-07 2011-11-24 Fujitsu Semiconductor Ltd 半導体メモリ、システムおよび半導体メモリの製造方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9904491B2 (en) 2015-01-05 2018-02-27 Samsung Electronics Co., Ltd. Memory device, memory system, and method of operating the device
CN108376554A (zh) * 2017-01-31 2018-08-07 爱思开海力士有限公司 存储器模块、包括其的存储系统及其错误校正方法
CN108376554B (zh) * 2017-01-31 2021-08-24 爱思开海力士有限公司 存储器模块、包括其的存储系统及其错误校正方法
CN113496745A (zh) * 2020-04-03 2021-10-12 澜起科技股份有限公司 用于修复存储模块缺陷的装置和方法以及存储器系统
CN113496745B (zh) * 2020-04-03 2024-03-08 澜起科技股份有限公司 用于修复存储模块缺陷的装置和方法以及存储器系统

Also Published As

Publication number Publication date
JP5617776B2 (ja) 2014-11-05

Similar Documents

Publication Publication Date Title
CN107045463B (zh) 具有纠错码的存储器架构以及其操作方法
US7366971B2 (en) Semiconductor memory having sub-party cell array error correction
US8001450B2 (en) Semiconductor memory device capable of changing ECC code length
US8599613B2 (en) Nonvolatile semiconductor memory
JP4056488B2 (ja) 半導体装置の試験方法及び製造方法
US7464320B2 (en) Synchronous semiconductor storage device having error correction function
JP2001084792A (ja) 半導体装置、同期式半導体メモリ装置及び同期式半導体メモリ装置のエラーチェック及び訂正方法
JP2007242162A (ja) 半導体記憶装置
JP7343709B2 (ja) 誤り訂正システム
KR20150090414A (ko) 에러 정정 동작을 수행하는 반도체 장치
US20140281794A1 (en) Error correction circuit
JP5617776B2 (ja) メモリ回路,メモリ装置及びメモリデータの誤り訂正方法
JPH01158698A (ja) 半導体メモリ
JP2014135105A (ja) 不揮発性半導体記憶装置及びそのテスト方法
US7075851B2 (en) Semiconductor memory device inputting/outputting data and parity data in burst operation
JP2007328894A (ja) 半導体記憶装置、および半導体記憶装置の検査方法
US12081237B2 (en) Processing-in-memory (PIM) devices
US11442810B2 (en) Memory and operation method of memory
JP6411282B2 (ja) 半導体メモリ及びデータ書込方法
JP2014137834A (ja) 半導体記憶装置
JP4336168B2 (ja) Ecc機能付き半導体記憶装置
JP2000132995A (ja) 半導体装置
JP4921216B2 (ja) メモリ制御回路、記憶システム、情報処理装置、および、メモリ制御方法
JPH10334697A (ja) 半導体記憶装置およびその誤り訂正方法
TWI706415B (zh) 應用128位元之雙碼錯誤檢測裝置及方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140723

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140901

R151 Written notification of patent or utility model registration

Ref document number: 5617776

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

LAPS Cancellation because of no payment of annual fees