JP5062874B2 - 半導体記憶装置 - Google Patents

半導体記憶装置 Download PDF

Info

Publication number
JP5062874B2
JP5062874B2 JP2006263926A JP2006263926A JP5062874B2 JP 5062874 B2 JP5062874 B2 JP 5062874B2 JP 2006263926 A JP2006263926 A JP 2006263926A JP 2006263926 A JP2006263926 A JP 2006263926A JP 5062874 B2 JP5062874 B2 JP 5062874B2
Authority
JP
Japan
Prior art keywords
data
error correction
area
ram
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006263926A
Other languages
English (en)
Other versions
JP2008084052A (ja
Inventor
幸久 小形
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2006263926A priority Critical patent/JP5062874B2/ja
Publication of JP2008084052A publication Critical patent/JP2008084052A/ja
Application granted granted Critical
Publication of JP5062874B2 publication Critical patent/JP5062874B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、半導体記憶装置に関し、特にエラー訂正が可能な半導体記憶装置に関する。
メモリ・エラーの存在を検出するだけでなく、エラーが発生した箇所(ビット)を特定して、これを正しいものに修正する機能を持ったメモリとして、ECCメモリ(Error Check and Correct memory)が知られている。ECCメモリにおいては、メモリに誤った値が記憶されていることを検出し、正しい値に訂正することができる。
通常、ECCメモリは、ユーザが使用するデータRAM領域とは別に、ECC用のデータ領域を確保する。通常のECCメモリでは、このECC用のデータ領域を固定的に使用するため、データ領域とデータアクセス幅に従って一定量のメモリを確保する必要があり、その分チップ面積が増加する。チップ面積が増加すると、チップを搭載する機器の大型化や、機器内部の利用可能な領域の面積の縮小につながるため問題となる。そのため、チップ面積を増加させずに、限られたデータ領域を有効に活用することが望まれている。
関連する技術として、特開平4−95299号公報(特許文献1)に半導体記憶装置が開示されている。
この半導体記憶装置は、第1及び第2の出力端を備え、モード制御信号及び選択制御信号のレベルに応じて入力データを前記第1及び前記第2の出力端へ伝達する選択回路と、書き込み動作時この選択回路の第1の出力端からのデータを記憶し、読み出し動作時記憶されているデータを読み出す主ビットメモリと、書き込み動作時この選択回路の第2の出力端からのデータを記憶し、読み出し動作時記憶されているデータを読み出すパリティビットメモリと、前記モード制御信号が能動レベルの時前記主ビットメモリ及び前記パリティビットメモリからのデータに対し誤り訂正処理を行い出力し、前記モード制御信号が非能動レベルの時前記選択制御信号のレベルに応じて前記主ビットメモリ及び前記パリティビットメモリからのデータを選択し出力する選択・誤り訂正回路と、を有することを特徴とする。
また、特開2003−151297号公報(特許文献2)に誤り訂正回路を備えた半導体記憶装置が開示されている。
この誤り訂正回路を備えた半導体記憶装置は、主データを格納するメインメモリと、上記主データに応じて生成された誤り訂正用副データを格納するサブメモリと、上記メインメモリに格納された主データを読み出すためのセンスアンプと、上記メインメモリから読み出された主データと上記サブメモリから読み出された上記副データに基づいて上記主データに生じる誤りを訂正するための訂正データを生成するデコーダ回路と、上記訂正データに応じて上記メインメモリから読み出された主データに含まれる誤りを訂正するエラー訂正回路と、を有することを特徴とする。
特開2003−337760号公報(特許文献3)に半導体集積回路が開示されている。
この半導体集積回路は、データを格納する第1メモリと、前記第1メモリにデータバスを介して接続され前記第1メモリに格納するデータの誤り訂正コードを生成する誤り訂正コード生成手段と、前記アドレスバス及びデータバスに接続され前記誤り訂正コードを格納する第2メモリと、前記第2メモリから読み出された誤り訂正コードに基づいて第1メモリから読み出されたデータに対する誤り訂正が可能な誤り訂正手段と、アドレスバス及びデータバスを介して前記第1メモリ及び第2メモリに対するアクセス制御が可能なアクセス制御手段と、を1個の半導体基板に有して成るものであることを特徴とする。
特開平4−95299号公報 特開2003−151297号公報 特開2003−337760号公報
仮に、ECCデータを格納するRAM領域もデータ格納領域として使用する場合は、データメモリ領域と同じアクセス性能で動作するようにしなければならない。なお、ECCデータはパリティビットメモリに相当する。図1に示すように、パリティビットメモリのアクセス幅が4ビットしかない特許文献1の従来技術では、ここに通常データ(8ビット)を書き込む場合はデータ出力切換回路6Aで少なくとも4ビットをラッチする必要がある。4ビットは、そのままパリティビットメモリの入力端子に出力される。このことは、選択回路からの出力が8ビットなのに対し、データ出力切換回路6Aの出力が4ビットであることから明白である。そのため、パリティビットメモリに通常データを書き込む際、2サイクルの書き込み動作が必要になる。読み出しの際も同様に、パリティビットメモリから4ビットのメモリを1回読み出し、それをデータ出力切換回路6Bでラッチし、次の読み出しサイクルでパリティビットメモリからの出力を、データ出力切換回路6Bでラッチしたデータと合わせて、8ビットデータとして出力することになる。すなわち、データビット数が増えるに従って、ECCデータのビット長との差が大きくなるためECCデータ格納用レジスタの無駄な領域が大きくなる。また、ECCデータ格納用のメモリのビット長をECCデータ長に合わせるとデータ格納用メモリとして使用する際のアクセスアドレス数が増えてアクセススピードが遅くなるという欠点がある。
図2を参照して、前述の従来技術におけるデータ書き込み時のタイミングについて説明する。DTIから8ビットデータがデータ出力切換回路6Aに入力される。データ出力切換回路6Aでは、所定のタイミング(図2のT1)で出力データを切り替える。それと同時にアドレスインクリメント回路でアドレスを変化させ、パリティビットメモリのアドレス指定を変える。パリティビットメモリへの書き込み信号は特に指定されていないが、4ビット幅のメモリに8ビットのデータを書き込むため書き込み信号をWE1回に対し2回出力する必要がある。これによる欠点は、WE1回に対し、実際の書き込み又は読み出しを2回行う必要があるため、システム全体の動作スピードに対し、RAMのアクセススピードを2倍にする必要があるという点である。
このように、従来技術では、パリティビットメモリのデータビット幅は主ビットメモリのデータビット幅と等しくなければならず、パリティビットメモリにパリティデータを格納する場合、余分なRAMが必要になる。また、従来技術では、データのビット幅をそろえるため、アドレスシフト回路とアドレスインクリメント回路を付加し、2アドレスで主ビットメモリのデータビット幅と同じビット幅を実現している。この場合、実際にCPUから8ビットデータの書き込み/読み出しを行うためには、2アドレス毎にアクセスする必要があり、効率的ではない。また、2アドレスをアクセスするため、1アドレスでアクセスする場合に比べて2倍のアクセス時間を要する。
本発明では、ECCデータを格納するRAM領域を可能な限り有効に活用する。また、ECCデータを格納するRAM領域もデータ格納領域として使用する場合は、データメモリ領域と同じアクセス性能で動作するようにする。
以下に、[発明を実施するための最良の形態]で使用される番号を括弧付きで用いて、課題を解決するための手段を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。但し、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
データを格納するデータRAM(10)と、
エラー訂正用データを格納するエラー訂正用RAM(20)と、
前記エラー訂正用RAMをデータRAMとして使用するか否かを指定するレジスタ(60)と、
前記レジスタ値に基づいて、前記エラー訂正用RAM(20)に対する書き込み又は読み出し動作を制御する制御回路(50)と、
前記エラー訂正用RAM(20)を活性化し、前記エラー訂正用RAM(20)に入力されたデータの格納先となるアドレスを生成するアドレス生成回路(30)と、
前記エラー訂正用RAM(20)の入出力データを選択するデータ選択回路(40)と
を具備する
半導体記憶装置。
データ選択回路(40)が、エラー訂正用RAM(20)をデータRAMとして使用するか否かの判断に用いるのは、アドレスの最上位ビットとレジスタ値である。アドレスに関しては最上位ビットである必然はないので、エラー訂正用RAM(20)をECCデータ格納用RAMとして使用する場合とデータRAMとして使用する場合で異なるアドレスを定義し、アドレス信号の一部でそれを切り替えることになる。ここでは、An+1がアドレスの一部になる。
ソフトエラー等に対するエラー訂正が必要な領域についてECCを配置し、ワークRAMを始めソフトエラー対策が不要の領域についてはその領域に用意されたECCメモリを通常のデータRAMとして使用することによりRAM領域を拡張して使用することが可能になる。
以下に本発明の第1実施形態について添付図面を参照して説明する。
図3に示すように、本発明の半導体記憶装置は、データRAM10と、エラー訂正用RAM20と、アドレス生成回路30と、データ選択回路40と、書き込み/読み出し制御回路50と、ECC機能許可レジスタ60と、CPU(Central Processing Unit:中央処理装置)70と、ECCエンコーダ80と、ECCデコーダ90とを備える。
データRAM10は、エラー検出用データ以外の通常のデータを格納するためのRAMである。
エラー訂正用RAM20(20−i、i=1〜n:nはRAM数)は、複数のエラー訂正用RAMの総称である。ここでは、エラー訂正用RAMとして、ECCデータ格納用RAMを例に説明する。なお、エラー訂正用RAM20は、アドレスデコーダ21を有している。なお、ここでは、エラー訂正用RAM20として、2個のエラー訂正用RAM0,1を示す。エラー訂正用RAM0:20−1、エラー訂正用RAM1:20−2とする。
アドレス生成回路30、及び、データ選択回路40は、エラー訂正用RAM20の各々に対して、1対1で存在する。
アドレス生成回路30(30−i、i=1〜n)の各々は、アドレス選択回路31と、ブロック選択回路32とを備える。アドレス選択回路31(31−i、i=1〜n)は、エラー訂正用RAM20に入力されたデータの格納先となるアドレスを変換する。この時、アドレス選択回路31は、アドレスデコーダ21に出力する。ブロック選択回路32(32−i、i=1〜n)は、指定されたアドレスに応じて、CS(チップセレクト)信号を出力することで、複数のエラー訂正用RAM20のうち使用されるものを有効に(活性化)し、エラー訂正用RAM20の同期/排他的制御を行う。ここでは、アドレス選択回路31は、アドレスの最上位ビットを利用して入力アドレスを1ビットシフトするか否かを選択している。また、ブロック選択回路32も、アドレスの最上位ビットを利用して同期/排他制御をしている。例えば、最上位ビットAn+1が0ならエラー訂正用RAM20−1,20−2のCS信号はAの値に従い、排他的に「L(Low:ロウレベル)」になり、An+1が1ならAn=0のときに限り同時に「L」になる。
データ選択回路40(40−i、i=1〜n)の各々は、入力データセレクタ41と、出力データセレクタ42とを備える。入力データセレクタ41(41−i、i=1〜n)は、エラー訂正用RAM20がエラー訂正用か通常データ格納用かによって、エラー訂正用RAM20に入力されるデータを選択する。出力データセレクタ42(42−i、i=1〜n)は、エラー訂正用RAM20がエラー訂正用か通常データ格納用かによって、エラー訂正用RAM20から出力されるデータの出力先を選択する。
書き込み/読み出し制御回路50は、書き込み/読み出し信号の出力とマスクを制御する。また、エラー訂正用RAM20をエラー訂正用、又は、通常データ格納用に切り替える。
ECC機能許可レジスタ60は、1〜nビットのレジスタセットで構成され、エラー訂正用RAMをECCデータ格納用に使用するか通常データ格納用に使用するかに切り替えるためのデータを書き込み/読み出し制御回路50に提供する。このレジスタの構成はECCデータ格納用に使用する領域の切り換え単位、数によって設計者が任意に決定できる。
CPU70は、データRAM10、及び、エラー訂正用RAM20に対してデータの書き込み/読み出しを行う。また、エラー訂正用RAM20をエラー訂正用、又は、通常データ格納用に切り替えるためのレジスタ値をECC機能許可レジスタ60に書き込む。
ECCエンコーダ80は、CPU70からデータRAM10に書き込むデータに基づきエラー訂正用RAM20に書き込みされるエラー訂正用のECCデータへエンコードする。エンコードとは、データを一定の規則に基づいて符号化することである。ここでは、エラー訂正用のECCデータを生成する。
ECCデコーダ90は、CPU70によりデータRAM10、又は、エラー訂正用RAM20から読み出されるECCデータをデコードする。デコードとは、一定の規則に基づいて符号化されたデータを復号し、もとのデータを取り出すことである。ここでは、ECCデコーダ90は、DEC_ENの入力に基づいて、データRAM10とエラー訂正用RAM20のいずれかを選択してCPU70に出力する。例えば、DEC_ENの入力が0の時はデータRAM10からCPU70に出力する。また、DEC_ENの入力が1の時はエラー訂正用RAM20からCPU70に出力する。
エラー訂正用RAM20へ書き込む場合、エラー訂正用RAM20をECCデータ格納用RAM領域として使用する場合(An+1=0)、予めECC機能許可レジスタ60に所定のアドレスデータを設定しておく。このECC機能許可レジスタ60の内容が書き込みアドレスデータ(A−A)と一致した時、書き込み/読み出し制御回路50が動作し、エラー訂正用RAM20へ書き込み信号を出力する。これによりデータRAM10にデータが書き込まれると同時にECCデータがエラー訂正用RAM20−1、20−2のいずれかに書き込まれる。書き込み/読み出し制御回路50は、An+1=1で且つECC機能許可レジスタ60の内容と書き込みアドレスが一致しない時、書き込み信号を出力する。これによりエラー訂正用RAM20には通常データが書き込まれる。
ここでは、エラー訂正用RAM20への書き込み/読み出しは、エラー訂正用RAM20をECCデータ領域として使用する場合(アドレスの最上位ビットAn+1が「L」の場合)と、データRAM領域として使用する場合(アドレスの最上位ビットAn+1が「H(High:ハイレベル)」の場合)がある。前者の場合、ECC機能許可レジスタ60に設定されたECC許可領域データと書き込み/読み出しアドレスデータ(A〜A間の任意の領域)が一致した場合に書き込み/読み出し制御回路50からエラー訂正用RAM20に書き込み/読み出し信号を出力する。後者の場合、ECC機能許可レジスタ60に設定されたECC許可領域データと書き込み/読み出しアドレスデータ(A〜An−1間の任意の領域)が一致しない場合に書き込み/読み出し制御回路50からエラー訂正用RAM20に書き込み/読み出し信号を出力する。すなわち、ECCデータを書き込む領域(アドレスの最上位ビットAn+1が「L」の領域)と通常データを書き込む領域(アドレスの最上位ビットAn+1が「H」の領域)では、ECC領域レジスタと比較するアドレスデータが異なる。
ECCデータを格納するRAM領域を可能な限り有効に活用する手段について説明する。ECCデータ格納領域を通常のデータRAMとして使用する場合、異なるアドレスのECC用RAMを並列に並べることで無駄を省く。
このため、図3のエラー訂正用RAM20のように、ECCデータ格納用RAMを複数に分ける。ここでは、ECCデータ格納用RAMを2個に分ける。なお、ブロック選択回路32は、ECCデータ格納用RAMを通常のデータRAMとして使用する時とECCデータ格納用RAMとして使用する時とで、アドレスの下位ビットを変更する。従来技術では最上位ビットで切り替えている。入力データセレクタ41は、ECCデータ格納用RAMを通常のデータRAMとして使用する時、2個のRAMのデータバス接続位置を変えている。
ECCデータに関する本発明と従来技術との違いについて以下に説明する。
なお、本発明のECCデータに対応するビットは、従来技術の説明ではパリティビットとして示されている。
データビット幅を2とすると、パリティビットのビット幅はn+1になる。
従来技術の場合、以下の表1のようになる。
Figure 0005062874
本発明のようにECC領域を並列に並べる場合、以下の表2のようになる。
Figure 0005062874
このように、本発明では、不要なRAMは大幅に削減されることになる。
図4に、データビット幅が16ビットの場合の例を示す。
図4では、16ビットのデータビットと、5ビットのECCから構成されるデータブロックが4個示されている。これらのデータブロックの各々は、アドレス0000H〜0FFCHの領域(アドレス空間)に格納されており、それぞれ、アドレス下位2ビット=00、アドレス下位2ビット=01、アドレス下位2ビット=10、アドレス下位2ビット=11である。これらのデータブロックから5ビットのECCの各々をアドレス1000H〜13FFHの領域に格納したとする。この場合、ECCにより5ビット×4個=20ビットのデータビットが確保される。この20ビットのデータビットをデータRAMとして使用する場合、データビット幅は16ビットであるため、20ビット−16ビット=4ビット分の余分な領域が発生する。
なお、従来技術の場合、データビット幅を16ビットとすると、データブロックが、16ビットの主ビットメモリと、16ビットのパリティビットメモリから構成されることになり、パリティビットメモリをECCとして使用する場合、16ビット−5ビット=11ビット分の無駄が発生する。
図5に、データビット幅が32ビットの場合の例を示す。
図5では、32ビットのデータビットと、6ビットのECCから構成されるデータブロックが8個示されている。これらのデータブロックの各々は、アドレス0000H〜0FF8Hの領域に格納されており、それぞれ、アドレス下位3ビット=000、アドレス下位3ビット=001、アドレス下位3ビット=010、アドレス下位3ビット=011、アドレス下位3ビット=100、アドレス下位3ビット=101、アドレス下位3ビット=110、アドレス下位3ビット=111である。これらのデータブロックから6ビットのECCの各々をアドレス1000H〜01FFHの領域に格納したとする。この場合、ECCにより6ビット×8個=48ビットのデータビットが確保される。この48ビットのデータビットをデータRAMとして使用する場合、データビット幅は32ビットであるため、48ビット−32ビット=16ビット分の余分な領域が発生する。
なお、従来技術の場合、データビット幅を32ビットとすると、データブロックが、32ビットの主ビットメモリと、32ビットのパリティビットメモリから構成されることになり、パリティビットメモリをECCとして使用する場合、32ビット−6ビット=26ビット分の無駄が発生する。
本発明では、図6に示すように、パリティビットメモリに相当するメモリ(ECC用RAM1,2)を2個配置し、それぞれの通常データバスへの接続を上位4ビット、下位4ビットにしている。そのため、通常データ格納時もデータ格納RAMに書き込むのと同様1サイクルでの書き込みが可能となっている。そのため、2個のECC用RAMに同じアドレスを入力し、データRAMのアドレスが選択された場合(An+1=0)、CS(チップセレクト)端子に入力したAの値によってどちらのRAMを選択するかを決定している。また、ECC用のRAM1,2はそれぞれデータRAMの偶数アドレスと奇数アドレスに対応するようにマッピングしている。これにより、データRAMの特定領域のみECCを必要とした時、不要部分のECC用RAMを連続したアドレスのデータ領域として使用できるメリットがある。
図7に、動作説明のためのアドレスマップの例を示す。ここでは、実施例として、図3のアドレス線のn=7の場合について説明する。図7では、ECC有効データ領域に対しては、(A)の対応に示すように、アドレス選択回路31とブロック選択回路32によって2個のエラー訂正用RAM20(エラー訂正用RAM0,エラー訂正用RAM1)を交互にアクセスする。また、(B)の対応に示すように、アドレス選択回路31とブロック選択回路32を切り替えることにより、エラー訂正用RAMとして使用しない領域を論理アドレス上、連続したデータ領域としてアクセスできるようにする。
なお、図7では、論理アドレスが(1)〜(5)の5つの領域に分けられている。(1)はECC有効データ領域、(2)はECC無効データ領域、(3)はエラー訂正用RAMとして使用される領域、(4)はECCデータ格納用RAMをデータRAMとして使用する領域、(5)は、RAMが実装されない領域である。(1)〜(5)の領域に対する書き込み/読み出し動作については後述する。
図7を参照して、ECC機能許可レジスタ60、書き込み/読み出し制御回路50について説明する。
前述のアドレスマッピングを実現する手段として、ECC機能許可レジスタ60に2ビットレジスタを備える。2ビットレジスタには、データのエラー訂正の無効、有効を示すために0、又は1を設定する。
ビット1……0:アドレス080H〜0FFHのデータに対しエラー訂正を無効にする。
1:アドレス080H〜0FFHのデータに対しエラー訂正を有効にする。
ビット0……0:アドレス000H〜07FHのデータに対しエラー訂正を無効にする。
1:アドレス000H〜07FHのデータに対しエラー訂正を有効にする。
こうすれば、レジスタに10B(Bは2進数を示す)と設定することによりアドレス080H〜0FFH番地のエラー訂正用RAMとしてアサインされるべきRAMをデータRAMとして使用することが可能になる。
また、書き込み/読み出し制御回路50の動作について説明する。
例としてデータRAM10のアドレス領域を2分割しそれぞれの領域についてECC機能を許可するか否かを設定するレジスタを持つ場合で説明する。
ここでは、書き込み/読み出し制御回路50の出力は「/RD_E」、「/WE_E」、「DEC_EN」の3本である。信号名の前の「/」は「NOT」を示す。なお、アドレス入力(A〜An+1)と、ECC機能許可レジスタ60からのエラー訂正の有効・無効設定データとに基づき、エラー訂正用RAM20に対するアクセスを制御する信号を便宜上RW_ENとする。RW_ENは以下のような論理となる。
<An+1=0の時>
〜Aの入力とECC機能許可レジスタ60の内容とを比較し、エラー訂正が有効と指定された領域に入っている時は、RW_EN=1
〜Aの入力とECC機能許可レジスタ60の内容とを比較し、エラー訂正が有効と指定された領域に入っていない時は、RW_EN=0
<An+1=1の時>
〜An−1の入力とECC機能許可レジスタ60の内容とを比較し、エラー訂正が有効と指定された領域に入っている時は、RW_EN=0
〜An−1の入力とECC機能許可レジスタ60の内容とを比較し、エラー訂正が有効と指定された領域に入っていない時は、RW_EN=1
エラー訂正用RAM20は、ECCデータ格納用と通常データ格納用で排他的に使用する。ECCデータ格納用に使用する場合(An+1=0の場合)は、エラー訂正が有効と指定された領域でRW_ENが1になる。一方、通常データ格納用に使用する場合(An+1=1の場合)は、エラー訂正が有効としていされていない領域でRW_RNが1になる。
本実施例におけるRW_EN信号生成について説明する。
図8に示すように、RW_EN信号回路の回路構成では、ECC機能許可レジスタ60の値、すなわちBIT1、BIT0が”00B”(Bは2進数)の時、AND(論理積回路)(1),(3)が有効になる。BIT1、BIT0が”01B”(Bは2進数)の時、AND(論理積回路)(2),(3)が有効になる。BIT1、BIT0が”10B”(Bは2進数)の時、AND(論理積回路)(1),(4)が有効になる。BIT1、BIT0が”11B”(Bは2進数)の時、AND(2),(4)が有効になる。アドレス000H〜07FHをデコードするANDは(1)、07FH〜0FFHをデコードするANDが(3)100H〜13FHをデコードするANDが(2)、140H〜17FHをデコードするANDが(4)である。(1)と(2)、(3)と(4)はそれぞれ排他的に有効になる。ここではECC機能許可レジスタ60の値を“10”と設定しているため、アドレス000H〜07FH、 140H〜17FHが指定された時、/RW_ENが1になる。
/RD_E、/WR_E、DEC_ENは、それぞれ以下のようになる。
/RD_E=/RW_EN+/RD
/WR_E=/RW_EN+/WR
DEC_EN=/RD_E×/An+1(ここではn=7のため、A
以下に、図7の論理アドレスで示した(1)〜(5)の領域への書き込み/読み出しについて説明する。なお、「領域への書き込み」、「領域からの読み出し」とは、CPU70による通常データの書き込み、読み出し動作のことである。
図9,図10を参照して、図7の論理アドレスで示した(1)の領域への書き込みについて説明する。
(1)の領域へ書き込む場合、アドレス入力A〜AとECC機能許可レジスタ60の内容を比較することにより、書き込み/読み出し制御回路50から/WRの出力に同期して/WR_Eが出力される。エラー訂正用RAM20のアドレスデコーダ21の入力はA=0なのでA〜Aになる。データ入力はECCエンコーダ80からの出力になる。/CSの入力はAの値によって決定する。結果としてこの領域では、奇数アドレスが指定された時はエラー訂正用RAM1に、偶数アドレスが指定された時はエラー訂正用RAM0に、ECCエンコーダ80からのデータが書き込まれる。
図11,図12を参照して、図7の論理アドレスで示した(1)の領域からの読み出しについて説明する。
(1)の領域から読み出す場合、アドレス入力A〜AとECC機能許可レジスタ60の内容を比較することにより、書き込み/読み出し制御回路50から/RDの出力に同期して/RD_E、DEC_ENが出力される。エラー訂正用RAM20のアドレスデコーダ21の入力はA=0なのでA〜Aになる。/CSの入力はAの値によって決定する。結果としてこの領域では、奇数アドレスが指定された時はエラー訂正用RAM1から、偶数アドレスが指定された時はエラー訂正用RAM0から、ECCデコーダ90へデータが出力され、エラー訂正されたデータがCPU70に読み込まれる。
図13,図14を参照して、図7の論理アドレスで示した(2)の領域への書き込みについて説明する。
(2)の領域へ書き込む場合、アドレス入力A〜AとECC機能許可レジスタ60の内容を比較することにより、書き込み/読み出し制御回路50から/WRの出力に同期して/WR_Eが出力されない。一方、エラー訂正用RAM20のアドレスデコーダ21の入力、データ入力/CSの入力は(1)の領域と同様である。結果として書き込み信号の出力が禁止されているため、エラー訂正用RAM0,1への書き込みは行われない。
図15,図16を参照して、図7の論理アドレスで示した(2)の領域からの読み出しについて説明する。
(2)の領域から読み出す場合、アドレス入力A〜AとECC機能許可レジスタ60の内容を比較することにより、書き込み/読み出し制御回路50から/RDの出力に同期して/RD_E、DEC_ENが出力されない。エラー訂正用RAM20のアドレスデコーダ21の入力、/CSの入力は(1)の領域と同じであるが、/RD_Eが出力されないため、ECCデコーダ90へのデータ出力は不定である。但し、DEC_ENが出力されていないため、ECCデコーダ90ではエラー訂正用RAM20からの出力は使用されず、データRAM10からの出力がそのままCPU70に読み込まれる。
図17,図18を参照して、図7の論理アドレスで示した(3)の領域への書き込みについて説明する。
(3)の領域へ書き込む場合、アドレス入力A〜AとECC機能許可レジスタ60の内容を比較することにより、書き込み/読み出し制御回路50から/WRの出力に同期して/WR_Eが出力されない。一方、A=1なのでエラー訂正用RAM20のアドレスデコーダ21の入力はA〜Aとなる。すなわち、図3に示すように、アドレス選択回路31の選択信号がAn+1(=A)が1なのでA−An−1側が選ばれる。データ入力はCPU70からの出力となる。/CSの入力はAの値となるが最終的に書き込み信号が入力されないため、エラー訂正用RAM0,1への書き込みは行われない。データRAM10もA=1となり/CSが”1”、すなわちディセーブル(disable)になるので書き込みは行われない。ここでは、ECC機能許可レジスタ60の内容によって、CPU70での命令実行は禁止していないので、CPU70は書き込み/読み出し命令を実行する。しかし、動作としてはエラー訂正用RAM20への書き込み信号がマスクされるので書き込みは行われない。結果としていずれのRAMにもデータが書き込まれないことになる。
図19,図20を参照して、図7の論理アドレスで示した(3)の領域からの読み出しを説明する。
(3)の領域から読み出す場合、アドレス入力A〜AとECC機能許可レジスタ60の内容を比較することにより、書き込み/読み出し制御回路50から/RDの出力に同期して/RD_E、/DEC_Eが出力されない。エラー訂正用RAM20のアドレスデコーダ21の入力、/CSの入力は(1)の領域と同じであるが、/RD_Eが出力されないためECCデコーダ90へのデータ出力は不定となる。但し、DEC_ENが出力されていないためECCデコーダ90ではエラー訂正用RAM20からの出力は使用されない。また、データRAM10は/CS入力であるA=1であるためデータ出力はされない。従ってCPU70への出力は不定となる。
図21,図22を参照して、図7の論理アドレスで示した(4)の領域への書き込みについて説明する。
(4)の領域へ書き込む場合、アドレス入力A〜AとECC機能許可レジスタ60の内容を比較することにより、書き込み/読み出し制御回路50から/WRの出力に同期して/WR_Eが出力される。エラー訂正用RAM20のアドレスデコーダ21の入力は、A=1なのでアドレス選択回路31によりA〜Aが選択される。データ入力は入力データセレクタ41によりCPU70からの出力が選択されて入力される。/CSの入力は、A=1、かつA=0(つまり/A=1)よりブロック選択回路32の/CS出力がアクティブレベル(”0”)となることによってエラー訂正用RAM0,1とも有効になる。結果としてこの領域では、エラー訂正用RAM0,1の同一アドレスに同時にデータが書き込まれる。エラー訂正用RAM0にはデータバスの下位4ビット(D−D)が、エラー訂正用RAM1にはデータバスの上位4ビット(D−D)が書き込まれる。
図23,図24を参照して、図7の論理アドレスで示した(4)の領域からの読み出しについて説明する。
(4)の領域から読み出す場合、アドレス入力A〜AとECC機能許可レジスタ60の内容を比較することにより、書き込み/読み出し制御回路50から/RDの出力に同期して/RD_Eが出力されるが、DEC_ENは出力されない。エラー訂正用RAM20のアドレスデコーダ21の入力はA=1なのでA〜Aになる。/CSの入力はAになる。結果としてこの領域では、エラー訂正用RAM0,1から同時にデータが読み出される。エラー訂正用RAM0からはデータの下位4ビット、エラー訂正用RAM1からはデータの上位4ビットが出力され、ECCデコーダ90を介してCPU70に読み込まれる。ECC_ENが出力されていないため、エラー訂正は行われない。そのため、ECCデコーダ90への入力が不定でも問題はない。
図25,図26,図27を参照して、図7の論理アドレスで示した(5)の領域への書き込み/読み出しについて説明する。通常アクセスではこの領域へのアクセスはないが、CPU70での命令としては実行可能なので動作を記述する。なお、図26は、(5)の領域への書き込みのタイミングチャートであり、図27は、(5)の領域からの読み出しタイミングチャートである。
(5)の領域はメモリがマッピングされることが無い。従って、A,Aが共に1になるような設定は回避する必要がある。但し、バスの設定は可能なのでアクセス禁止の処置をしている。データRAM10の/CSはAが入力されているため、この領域ではアクセスが禁止される。エラー訂正用RAM0,1もA=1の時、/CS入力がAになるため、この領域ではアクセスが禁止される。従って、この領域へのアクセスは全てのメモリに対するCS信号が発生しないためアクセスが禁止される。
以上のように、本発明の半導体記憶装置では、エラー訂正用に用意したRAMをデータRAMとして使用する。具体的には、RAMをECCとして使用するか、データRAMとして使用するかを選択する切り替え回路を実装する。これにより、データRAMの全領域にエラー補正用のRAMセルを用意する。
図1は、従来技術の半導体記憶装置の構成図である。 図2は、従来技術におけるデータ書き込み時のタイミングを示す図である。 図3は、本発明の半導体記憶装置の構成図である。 図4は、データビット幅が16ビットの場合の例を示す図である。 図5は、データビット幅が32ビットの場合の例を示す図である。 図6は、本発明のECC用RAM使用例を示す図である。 図7は、アドレスマップの例を示す図である。 図8は、/RW_EN信号生成回路の回路構成を示す図である。 図9は、ECC用RAMの(1)の領域への書き込みを示す図である。 図10は、ECC用RAMの(1)の領域への書き込みのタイミングチャートである。 図11は、ECC用RAMの(1)の領域からの読み出しを示す図である。 図12は、ECC用RAMの(1)の領域への読み出しのタイミングチャートである。 図13は、ECC用RAMの(2)の領域への書き込みを示す図である。 図14は、ECC用RAMの(2)の領域への書き込みのタイミングチャートである。 図15は、ECC用RAMの(2)の領域からの読み出しを示す図である。 図16は、ECC用RAMの(2)の領域への読み出しのタイミングチャートである。 図17は、ECC用RAMの(3)の領域への書き込みを示す図である。 図18は、ECC用RAMの(3)の領域への書き込みのタイミングチャートである。 図19は、ECC用RAMの(3)の領域からの読み出しを示す図である。 図20は、ECC用RAMの(3)の領域への読み出しのタイミングチャートである。 図21は、ECC用RAMの(4)の領域への書き込みを示す図である。 図22は、ECC用RAMの(4)の領域への書き込みのタイミングチャートである。 図23は、ECC用RAMの(4)の領域からの読み出しを示す図である。 図24は、ECC用RAMの(4)の領域への読み出しのタイミングチャートである。 図25は、ECC用RAMの(5)の領域への書き込み/読み出しを示す図である。 図26は、ECC用RAMの(5)の領域への書き込みのタイミングチャートである。 図27は、ECC用RAMの(5)の領域への読み出しのタイミングチャートである。
符号の説明
10… データRAM
20(−i、i=1〜n)… エラー訂正用RAM
30(−i、i=1〜n)… アドレス生成回路
31(−i、i=1〜n)… アドレス選択回路
32(−i、i=1〜n)… ブロック選択回路
40(−i、i=1〜n)… データ選択回路
41(−i、i=1〜n)… 入力データセレクタ
42(−i、i=1〜n)… 出力データセレクタ
50… 書き込み/読み出し制御回路
60… ECC機能許可レジスタ
70… CPU
80… ECCエンコーダ
90… ECCデコーダ

Claims (10)

  1. 第1領域と第2領域とを含むアドレス空間を有し、前記第1及び第2領域にデータを格納するデータRAMと、
    エラー訂正用データを格納するエラー訂正用RAMと、
    前記第1領域及び前記第2領域の各々に格納するデータに対し、エラー訂正を有効又は無効と設定する情報を格納するレジスタと、
    前記レジスタ値に基づいて、前記エラー訂正用RAMに対する前記エラー訂正用データの書き込み又は読み出し動作を制御する制御回路と、
    前記エラー訂正用RAMを活性化し、前記エラー訂正用RAMに入力されたデータの格納先となるアドレスを生成するアドレス生成回路と、
    前記エラー訂正用RAMの入出力データを選択するデータ選択回路と、
    を具備し、
    前記データRAM及び前記エラー訂正用RAMは、前記第1領域と前記第2領域と第3領域と第4領域とを含むアドレス空間を有し、
    前記第1領域は、前記エラー訂正用データに対応したデータが格納される領域であり、
    前記第2領域は、前記エラー訂正用データに対応しないデータが格納される領域であり、
    前記第3領域は、前記エラー訂正用RAMとして使用される領域であり、
    前記第4領域は、前記エラー訂正用RAMをデータRAMとして使用される領域である
    半導体記憶装置。
  2. 請求項1に記載の半導体記憶装置であって、
    前記アドレス生成回路は、
    前記エラー訂正用RAMに入力されたデータの格納先となるアドレスを変換するアドレス選択回路と、
    前記エラー訂正用RAMを活性化するためのチップセレクト信号を出力するブロック選択回路と
    を具備する
    半導体記憶装置。
  3. 請求項1又は2に記載の半導体記憶装置であって、
    前記データ選択回路は、
    前記エラー訂正用RAMに入力されるデータを選択する入力データセレクタと、
    前記エラー訂正用RAMから出力されたデータの出力先を選択する出力データセレクタと
    を具備する
    半導体記憶装置。
  4. 請求項1乃至3のいずれか一項に記載の半導体記憶装置であって、
    前記第1領域にデータが書き込まれる場合、
    前記データは、エンコーダから出力され、
    前記制御回路は、前記レジスタの値が、前記第1領域に格納するデータのエラー訂正を有効に設定することを示す場合に、前記エラー訂正用RAMへの書き込みの許可信号を出力し、
    前記アドレス生成回路は、指定されたアドレスに応じて、前記エラー訂正用RAMを活性化する
    半導体記憶装置。
  5. 請求項1乃至4のいずれか一項に記載の半導体記憶装置であって、
    前記第1領域からデータが読み出される場合、
    前記制御回路は、前記エラー訂正用RAMからの読み出しの許可信号、及び、デコーダへの許可信号を出力し、
    前記デコーダは、前記エラー訂正用RAMから出力されたデータに基づき、エラー訂正されたデータをCPUに出力する
    半導体記憶装置。
  6. 請求項1乃至5のいずれか一項に記載の半導体記憶装置であって、
    前記第2領域又は前記第3領域にデータが書き込まれる場合、
    前記制御回路は、前記エラー訂正用RAMへの書き込みの許可信号の出力を制限する
    半導体記憶装置。
  7. 請求項1乃至6のいずれか一項に記載の半導体記憶装置であって、
    前記第2領域からデータが読み出される場合、
    前記制御回路は、前記エラー訂正用RAMからの読み出しの許可信号、及び、デコーダへの許可信号の出力を制限する
    半導体記憶装置。
  8. 請求項1乃至7のいずれか一項に記載の半導体記憶装置であって、
    前記第4領域にデータが書き込まれる場合、
    前記データは、CPUから出力され、
    前記制御回路は、前記エラー訂正用RAMへの書き込みの許可信号を出力し、
    前記アドレス生成回路は、指定されたアドレスに応じて、前記エラー訂正用RAMを活性化し、
    前記エラー訂正用RAMが複数の時、前記エラー訂正用RAMの各々は、同一アドレスに同時に前記データを格納する
    半導体記憶装置。
  9. 請求項1乃至8のいずれか一項に記載の半導体記憶装置であって、
    前記第4領域からデータが読み出される場合、
    前記制御回路は、前記エラー訂正用RAMからの読み出しの許可信号を出力し、且つ、デコーダへの許可信号の出力を制限し、
    前記エラー訂正用RAMが複数の時、前記エラー訂正用RAMの各々は、同一アドレスから同時に前記データを出力し、
    前記デコーダは、前記エラー訂正用RAMの各々から出力されたデータをCPUに出力する
    半導体記憶装置。
  10. 請求項1乃至のいずれか一項に記載の半導体記憶装置であって、
    前記データ選択回路は、アドレスの一部の値に応じて、前記エラー訂正用RAMの入出力先データを選択する
    半導体記憶装置。
JP2006263926A 2006-09-28 2006-09-28 半導体記憶装置 Expired - Fee Related JP5062874B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006263926A JP5062874B2 (ja) 2006-09-28 2006-09-28 半導体記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006263926A JP5062874B2 (ja) 2006-09-28 2006-09-28 半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2008084052A JP2008084052A (ja) 2008-04-10
JP5062874B2 true JP5062874B2 (ja) 2012-10-31

Family

ID=39354862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006263926A Expired - Fee Related JP5062874B2 (ja) 2006-09-28 2006-09-28 半導体記憶装置

Country Status (1)

Country Link
JP (1) JP5062874B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2478521A2 (en) * 2009-09-16 2012-07-25 Rambus Inc. Configurable memory banks of a memory device
US8982598B2 (en) 2012-04-18 2015-03-17 Rambus Inc. Stacked memory device with redundant resources to correct defects
JP7143463B2 (ja) * 2021-02-26 2022-09-28 華邦電子股▲ふん▼有限公司 半導体記憶装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2647989B2 (ja) * 1990-03-13 1997-08-27 日本電気アイシーマイコンシステム株式会社 記憶装置
JPH06250935A (ja) * 1993-02-24 1994-09-09 Fujitsu Ltd 半導体メモリ装置
JP3157787B2 (ja) * 1998-10-30 2001-04-16 九州日本電気株式会社 記憶装置
JP3849942B2 (ja) * 2004-02-23 2006-11-22 株式会社ルネサステクノロジ 強誘電体メモリを含むシステム

Also Published As

Publication number Publication date
JP2008084052A (ja) 2008-04-10

Similar Documents

Publication Publication Date Title
US6976194B2 (en) Memory/Transmission medium failure handling controller and method
US6996766B2 (en) Error detection/correction code which detects and corrects a first failing component and optionally a second failing component
US6973613B2 (en) Error detection/correction code which detects and corrects component failure and which provides single bit error correction subsequent to component failure
US10379941B2 (en) Semiconductor device and memory access control method
US7673216B2 (en) Cache memory device, semiconductor integrated circuit, and cache control method
JP4071940B2 (ja) メモリ設計のための共有式誤り訂正
US7937645B2 (en) Semiconductor memory
KR920002575B1 (ko) 바이트 기입 에러코드 방법 및 장치
KR20080075750A (ko) 바이트 마스킹 동작을 위한 반도체 메모리 장치 및 패리티데이터 생성 방법
JP2776839B2 (ja) 半導体メモリ
JP5062874B2 (ja) 半導体記憶装置
EP1994470A2 (en) Electronic circuit with a memory matrix that stores pages including extra data
CN111221746B (zh) 数据储存系统与其相关方法
US7885989B2 (en) Encoding circuit and digital signal processing circuit
US20040160853A1 (en) Semiconductor memory device inputting/outputting data and parity data in burst operation
JPS6148061A (ja) マルチプロセッサ・コンピュータ・システム
JP5617776B2 (ja) メモリ回路,メモリ装置及びメモリデータの誤り訂正方法
JPS6085627A (ja) 巡回完全2進符号のデコ−ダ
US9361180B2 (en) Storing data by an ECC memory
JP3266529B2 (ja) 記憶領域アドレスをメモリ制御信号に変換するために変換情報を形成する方法および装置
CN115016981A (zh) 存储区域的设置方法、数据读取、写入方法及相关装置
JP3157787B2 (ja) 記憶装置
WO2010035316A1 (ja) メモリ制御装置およびメモリ制御方法
US7075846B2 (en) Apparatus for interleave and method thereof
US11899954B2 (en) Memory with extension mode

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120711

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120718

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120806

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150817

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees