(57)【要約】【課題】  アドレス不良が発生しても複数のビットに誤りの発生することがない、誤り訂正符号付きデータの半導体記憶装置への記憶方法を提供する。【解決手段】  ａビット×ｋワード構成のメモリをｄ個備えるデータバッファ１とｄビット×ｋワード構成でバースト数ｂのバースト動作が可能なＤＲＡＭをａ個備えるＤＲＡＮ群２を備え、データバッファ１とＤＲＡM群２のビット端子間でデータビットの並べ替えが施された半導体装置を用いて、データ長ｍビットの誤り訂正符号付きデータを、データバッファ１にａビットずつに分割してｋ個書き込むステップと、前記ｄ個のメモリの1個ごとに異なるアドレスから順次アドレスを変化させて書き込まれたデータを順次読み出すステップと、その読み出されてｄビットずつに並んだデータをＤＲＡＭ群２のそれぞれのＤＲＡＭの同一アドレスにアドレスを順次変化させて書き込むステップにより、ＤＲＡＭ群２に記憶させる。【選択図】  図１
2005115668.tif 000002
【特許請求の範囲】
【請求項１】
誤り訂正符号付きデータの各データビットを複数のＤＲＡＭの同時にアクセスされることのないアドレスに１ビットずつ分散させて記憶させることを特徴とする誤り訂正符号付きデータの記憶方法。
【請求項２】
格納された複数のデータ間でデータビットの並べ替えを行う機能を有するデータバッファに、所定の数の誤り訂正符号付きデータを格納した後、前記所定の数の誤り訂正符号付きデータ間でデータビットの並びが並べ替えられたデータを前記データバッファから読み出して複数のＤＲＡＭに書き込み、前記所定の数の誤り訂正符号付きデータのそれぞれの誤り訂正符号付きデータが、前記複数のＤＲＡＭの同時にアクセスされることのないアドレスに１ビットずつ分散されて記憶されることを特徴とする誤り訂正符号付きデータの記憶方法。
【請求項３】
ａビット×ｋワード構成のメモリをｄ個備えるデータバッファに、外部から入力されたデータ長ｍビットの誤り訂正符号付きデータをａビットずつに分割して、ｋ個書き込むステップと、
前記ｄ個のメモリの1個ごとに異なるアドレスから読み出しを開始し、それぞれのメモリでアドレスを順次変化させて、前記データバッファに書き込まれたデータを順次読み出すステップと、
前記データバッファから順次読み出されてｄビットずつに並んだデータを、単位容量がｄビット×ｋワードでバースト数ｂ（ｂ＝ｋ／ａを満たす１以上の整数）のバースト動作が可能なＤＲＡＭをａ個備えるＤＲＡＭ群のそれぞれのＤＲＡＭの同一アドレスにアドレスを順次変化させて書き込むステップと
を有する誤り訂正符号付きデータの半導体記憶装置への書き込み手順と、
前記書き込み手順により保存されたデータを、前記ａ個のＤＲＡＭの同一のアドレスから読み出しを開始し、それぞれのＤＲＡＭでアドレスを順次遷移させて、前記ＤＲＡＭ群から順次読み出すステップと、
前記ＤＲＡＭ群から読み出されてａビットずつに並んだデータを、前記データバッファの前記ｄ個のメモリへ前記メモリの1個ごとに異なるアドレスから書き込みを開始し、それぞれのメモリでアドレスを順次遷移させて書き込むステップと、
前記ｄ個のメモリのそれぞれに同一のアドレスを与えて前記ｄ個のメモリへ書き込まれたデータを読み出し、元のデータ並びの誤り訂正符号付きデータを外部へ出力するステップと
を有する誤り訂正符号付きデータの半導体記憶装置からの読み出し手順と
を備えることを特徴とする誤り訂正符号付きデータの記憶方法。
【請求項４】
前記ＤＲＡＭ群の各ＤＲＡＭがバースト動作を行うときは、前記データバッファの各メモリに間の読み出しおよび書き込み開始アドレスを前記バースト数ｂずつずらすとともに、読み出しおよび書き込み開始後の各メモリにおけるアドレスの遷移も前記バースト数ｂずつ行うことを特徴とする請求項３に記載の誤り訂正符号付きデータの記憶方法。
【請求項５】
ａビット×ｋワード構成のメモリをｄ個備え、データ長ｍ（ｍ=ａ×ｄ）ビットの誤り訂正符号付きデータをｋ個単位で格納するデータバッファと、
前記データバッファとの間でデータの入出力を行い、前記ｋ個単位の誤り訂正符号付きデータをｎ個分保存可能なｄビット×（ｋ×ｎ）ワード構成でバースト数ｂ（ｂ＝ｋ／ａを満たす１以上の整数）のバースト動作が可能なＤＲＡＭをａ個備えるＤＲＡＭ群と、
前記データバッファおよび前記ＤＲＡＭ群の読み出し動作および書き込み動作を制御するリード／ライト制御回路と、
前記データバッファの前記ｄ個のメモリへのアドレス信号を生成する第１のアドレス制御回路と、
前記ＤＲＡＭ群の前記ａ個のＤＲＡＭへのアドレス信号を生成する第２のアドレス制御回路と
を有し、
前記ｄ個のメモリそれぞれのａ個のビット端子を、各メモリから１端子ずつ取り出したｄ個の端子からなるａ個の端子群に分け、前記ａ個の端子群を前記ａ個のＤＲＡＭに１個ずつ割り当て、それぞれのＤＲＡＭのｄ個のビット端子に割り当てられた端子群のｄ個の端子をそれぞれ１個ずつ接続して、前記データバッファと前記ＤＲＡＭ群の間でデータビットの並べ替えを行うことを特徴とする半導体記憶装置。
【請求項６】
請求項５に記載のデータバッファを２個設け、一方のデータバッファからのデータの読み出し中に他方のデータバッファへのデータの書き込み、および前記他方のデータバッファからのデータの読み出し中に前記一方のデータバッファへのデータの書き込みを可能としたことを特徴とする請求項５に記載の半導体記憶装置。
【請求項７】
外部から与えられる先頭アドレス信号により、前記ＤＲＡＭ群への書き込みおよび読み出し開始アドレスを指定することを特徴とする請求項５または６に記載の半導体記憶装置。
【請求項８】
前記先頭アドレス信号の値をｋずつ異なる値にして、ｎ個入力することにより、前記ＤＲＡＭ群に前記ｋ個単位の誤り訂正符号付きデータをｎ個保存することを特徴とする請求項７に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＥＣＣにより生成された誤り訂正用符号を付加した誤り訂正符号付きデータの記憶方法およびその方法を用いる半導体記憶装置に関する。
【背景技術】
【０００２】
ＤＲＡＭ等の半導体記憶装置にデータを書き込む際、あるいは半導体記憶装置からデータを読み出す際に外来ノイズ等の影響でデータに偶発的なビットエラーが発生し、半導体記憶装置から読み出したデータに誤りが生じることがある。
【０００３】
このような偶発的なエラーによる半導体記憶装置の信頼性の低下を防止するため、従来、ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  ａｎｄ  Ｃｏｒｒｅｃｔ）回路により生成した誤り訂正符号を付加した上で半導体記憶装置へのデータの書き込みを行う一方、半導体記憶装置から読み出した誤り訂正符号付きデータはＥＣＣ回路に入力し、ＥＣＣ回路で誤り訂正を行うことが行われてきた。
【０００４】
このとき、例えば６４ビットデータであれば、８ビットのハミング符号を誤り訂正符号として付加することにより、６４ビットデータ中の１ビットの誤りを訂正することができる。
【０００５】
このような誤り訂正符号付きデータを、例えばＤＲＡＭに記憶させるときには、誤り訂正符号付きデータのビット数と同じビット幅を持つセルアレイの１アドレスごとに１つの誤り訂正符号付きデータを記憶する方法が採られてきた（例えば、特許文献１参照。）。
【特許文献１】特開２００３−５９２９０号公報  （第７ページ、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述のＤＲＡＭのような半導体記憶装置の１アドレスに１つの誤り訂正符号付きデータを記憶する方法には次のような問題があった。
【０００７】
すなわち、ＤＲＡＭのような半導体記憶装置の１つのアドレスに１つの誤り訂正符号付きデータを記憶する場合、あるアドレスのデータは、同じワード線で制御されるため、ロウ不良が起きると、そのアドレスの複数のビットに誤りが発生するおそれがある。また、カラム線も複数のデータ線を制御しており、カラム不良が起きると、やはり複数のビットに誤りが発生するおそれがある。
【０００８】
この問題を避ける方法として、バースト動作可能な半導体記憶装置を用い、バースト書き込みで、１つの誤り訂正符号付きデータを複数のアドレスに分散させて記憶させる方法も考えられるが、この場合も、バースト書き込みでアクセスされるアドレスは、同一のロウで制御されるため、ロウ不良で複数のアドレスのデータに同時に不良が発生し、１つの誤り訂正符号付きデータの複数のビットに誤りが発生するおそれがある。
【０００９】
このように、従来の誤り訂正符号付きデータの記憶方法では、半導体記憶装置から読み出された誤り訂正符号付きデータに複数のビットの誤りが発生しているおそれがあり、ＥＣＣ回路での誤りの訂正が不可能になる問題があった。
【００１０】
そこで、本発明の目的は、１つのアドレスまたはバースト動作時連続してアクセスされる複数のアドレスに不良が発生しても、半導体記憶装置から読み出されたデータの複数のビットに誤りの発生することがない、誤り訂正符号付きデータの記憶方法およびその方法を用いる半導体記憶装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の一態様によれば、誤り訂正符号付きデータの各データビットを複数のＤＲＡＭの同時にアクセスされることのないアドレスに１ビットずつ分散させて記憶させることを特徴とする誤り訂正符号付きデータの記憶方法が提供される。
【００１２】
また、本発明の別の一態様によれば、格納された複数のデータ間でデータビットの並べ替えを行う機能を有するデータバッファに、所定の数の誤り訂正符号付きデータを格納した後、前記所定の数の誤り訂正符号付きデータ間でデータビットの並びが並べ替えられたデータを前記データバッファから読み出して複数のＤＲＡＭに書き込み、前記所定の数の誤り訂正符号付きデータのそれぞれの誤り訂正符号付きデータが、前記複数のＤＲＡＭの同時にアクセスされることのないアドレスに１ビットずつ分散されて記憶されることを特徴とする誤り訂正符号付きデータの記憶方法が提供される。
【００１３】
また、本発明のさらに別の一態様によれば、ａビット×ｋワード構成のメモリをｄ個備えるデータバッファに、外部から入力されたデータ長ｍビットの誤り訂正符号付きデータをａビットずつに分割して、ｋ個書き込むステップと、前記ｄ個のメモリの1個ごとに異なるアドレスから読み出しを開始し、それぞれのメモリでアドレスを順次変化させて、前記データバッファに書き込まれたデータを順次読み出すステップと、前記データバッファから順次読み出されてｄビットずつに並んだデータを、単位容量がｄビット×ｋワードでバースト数ｂ（ｂ＝ｋ／ａを満たす１以上の整数）のバースト動作が可能なＤＲＡＭをａ個備えるＤＲＡＭ群のそれぞれのＤＲＡＭの同一アドレスにアドレスを順次変化させて書き込むステップとを有する誤り訂正符号付きデータの書き込み手順と、前記書き込み手順により保存されたデータを、前記ａ個のＤＲＡＭの同一のアドレスから読み出しを開始し、それぞれのＤＲＡＭでアドレスを順次遷移させて、前記ＤＲＡＭ群から順次読み出すステップと、前記ＤＲＡＭ群から読み出されてａビットずつに並んだデータを、前記データバッファの前記ｄ個のメモリへ前記メモリの1個ごとに異なるアドレスから書き込みを開始し、それぞれのメモリでアドレスを順次遷移させて書き込むステップと、前記ｄ個のメモリのそれぞれに同一のアドレスを与えて前記ｄ個のメモリへ書き込まれたデータを読み出し、元のデータ並びの誤り訂正符号付きデータを外部へ出力するステップとを有する誤り訂正符号付きデータの読み出し手順とを備えることを特徴とする誤り訂正符号付きデータの記憶方法が提供される。
【００１４】
さらに、本発明の一態様によれば、ａビット×ｋワード構成のメモリをｄ個備え、データ長ｍ（ｍ=ａ×ｄ）ビットの誤り訂正符号付きデータをｋ個単位で格納するデータバッファと、前記データバッファとの間でデータの入出力を行い、前記ｋ個単位の誤り訂正符号付きデータをｎ個分保存可能なｄビット×（ｋ×ｎ）ワード構成でバースト数ｂ（ｂ＝ｋ／ａを満たす１以上の整数）のバースト動作が可能なＤＲＡＭをａ個備えるＤＲＡＭ群と、前記データバッファおよび前記ＤＲＡＭ群の読み出し動作および書き込み動作を制御するリード／ライト制御回路と、前記データバッファの前記ｄ個のメモリへのアドレス信号を生成する第１のアドレス制御回路と、前記ＤＲＡＭ群の前記ａ個のＤＲＡＭへのアドレス信号を生成する第２のアドレス制御回路とを有し、前記ｄ個のメモリそれぞれのａ個のビット端子を、各メモリから１端子ずつ取り出したｄ個の端子からなるａ個の端子群に分け、前記ａ個の端子群を前記ａ個のＤＲＡＭに１個ずつ割り当て、それぞれのＤＲＡＭのｄ個のビット端子に割り当てられた端子群のｄ個の端子をそれぞれ１個ずつ接続して、前記データバッファと前記ＤＲＡＭ群の間でデータビットの並べ替えが行われていることを特徴とする半導体記憶装置が提供される。
【発明の効果】
【００１５】
本発明によれば、誤り訂正符号付きデータが、半導体記憶装置の同時にアクセスされることのないアドレスに１ビットずつ分散されて記憶されるので、半導体記憶装置の同時にアクセスされるアドレスに不良が発生しても、半導体記憶装置から読み出されたデータの複数のビットに誤りが発生することがなく、半導体記憶装置から読み出されたデータのＥＣＣ回路による誤り訂正が可能である。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態について図面を参照して説明する。
【００１７】
まず、図１および図２を参照して、本発明の半導体記憶装置における誤り訂正符号付きデータの記憶方法について説明する。
【００１８】
図１は、本発明の記憶方法により誤り訂正符号付きデータを記憶する半導体記憶装置の構成の概念を示す概念図である。
【００１９】
この半導体記憶装置は、外部のＥＣＣ回路（図示せず）との間で誤り訂正符号付きデータの入出力を行い、１データ単位の誤り訂正符号付きデータを一時的に格納するデータバッファ１と、データバッファ１とデータの入出力を行い、誤り訂正符号付きデータの保存を行うＤＲＡＭ群２からなる。
【００２０】
ここで、データバッファ１に格納される１データ単位（これをＭと表わす。）は、誤り訂正符号付きデータのデータ長をｍ、データ個数をｋとすると、Ｍ＝ｍ×ｋと表わされる。
【００２１】
また、データバッファ１はａビット×ｋワード構成のメモリｄ個で構成し、ＤＲＡＭ群２はｄビット×ｋワード構成のＤＲＡＭａ個で構成する。このとき、ａとｄは、ａ×ｄ=ｍの関係を満たすよう決定する。
【００２２】
さらに、ＤＲＡＭがバースト動作可能なときは、バースト数ｂをｂ＝ｋ／ａを満たすように決定する。なお、以降の説明では、バースト動作を行わないときをｂ=１として扱う。
【００２３】
また、データバッファ１とＤＲＡＭ群２との間では、データビットの並び替えが行われる。これは、データバッファ１のｄ個のメモリそれぞれから１ビットずつ取り出したビット端子ｄ個を、ＤＲＡＭ群２のａ個のＤＲＡＭのそれぞれのｄ個のビット端子に順次接続することで実現される。すなわち、例えば、データバッファ１の各メモリの１番目のビット端子をＤＲＡＭ群２の１番目のＤＲＡＭのｄ個のビット端子に接続し、データバッファ１の各メモリの２番目のビット端子をＤＲＡＭ群２の２番目のＤＲＡＭのｄ個のビット端子に接続するというように接続する。
【００２４】
図２は、本発明の記憶方法による誤り訂正符号付きデータを上記構成の半導体装置へ書き込むときの書き込み手順、および上記構成の半導体装置から読み出すときの読み出し手順を説明するフローチャートである。
【００２５】
図２（ａ）は、誤り訂正符号付きデータをＤＲＡＭ群２の各ＤＲＡＭへ書き込むときの手順である。
【００２６】
まず、外部から１単位（ｍビット×ｋ個）の誤り訂正符号付きデータが入力される（ステップＳ１１）。
【００２７】
すると、このｍビットの誤り訂正符号付きデータは、ａビットずつに分割されてデータバッファ１の各メモリの同一アドレスに書き込まれ、ｋ個の訂正符号付きデータが、アドレスを遷移させながらデータバッファ１へ書き込まれる（ステップＳ１２）。
【００２８】
次いで、データバッファ１からデータの読み出しを行う。このとき、データバッファ１の各メモリの読み出しアドレスをメモリごとにＤＲＡＭのバースト数ｂずつずらしながら読み出す（ステップＳ１３）。
【００２９】
このデータバッファ１から読み出されたデータは、ＤＲＡＭ群２の各ＤＲＡＭへ書き込まれる。このとき、各ＤＲＡＭの書き込みアドレスは同一とし、バースト数ｂ分連続して書き込む。そして、バースト数ｂ分ずつアドレスを順次遷移させてｋ個のデータを書き込み（ステップＳ１４）、１単位分の誤り訂正符号付きデータの書き込みが終了する。
【００３０】
図２（ｂ）は、ＤＲＡＭ群２に保存されたデータを読み出し、誤り訂正符号付きデータを出力するときの手順である。
【００３１】
ＤＲＡＭ群２に保存されたデータを読み出すときは、まず、ＤＲＡＭ群２の各ＤＲＡＭに同一のアドレスを与え、各ＤＲＡＭからバースト数ｂ分連続してデータを読み出す（ステップＳ２１）。
【００３２】
このＤＲＡＭ群２から読み出されたデータは、データバッファ１の各メモリに書き込む。このとき、データバッファ１の各メモリの書き込みアドレスをメモリごとにＤＲＡＭのバースト数ｂずつずらしながら書き込む（ステップＳ２２）。
【００３３】
１単位分のデータがデータバッファ１に格納されると、データバッファ１からのデータの読み出しを行う。このとき、データバッファ１の各メモリの読み出しアドレスは同一にする（ステップＳ２３）。
【００３４】
データバッファ１の各メモリからａビットずつ読み出されたデータを結合すると、元の誤り訂正符号付きデータが出力され（ステップＳ２４）、１単位分の誤り訂正符号付きデータの読み出しが終了する。
【００３５】
以下、本発明の実施例を図面を参照して説明する。
【実施例１】
【００３６】
図３は、本発明の第1の実施例に係る半導体記憶装置の構成を示すブロック図である。
【００３７】
半導体記憶装置１０は、外部のＥＣＣ回路（図示せず）との間でデータ長ｍの誤り訂正符号付きデータの入出力を行い、ｋ個分の誤り訂正符号付きデータを１データ単位Ｍとして格納する記憶容量Ｍのデータバッファ１１と、データバッファ１１とデータの入出力を行い、１データ単位Ｍの誤り訂正符号付きデータをｎ個保存する記憶容量Ｍ×ｎのＤＲＡＭ群１２を有する。
【００３８】
このうち、データバッファ１１は、誤り訂正符号付きデータを、そのデータ長ｍをｄ個に分割し、ａ＝ｍ／ｄなるａビット単位で、ｄ個のＳＲＡＭに格納するものとする。すなわち、データバッファ１１は、ａビット×ｋワード構成のＳＲＡＭｄ個から構成される。
【００３９】
同様に、ＤＲＡＭ群１２も複数のＤＲＡＭで構成するが、各ＤＲＡＭのビット数は、上記のｄとする。また、各ＤＲＡＭのワード数は、ｋ×ｎとする。したがって、ＤＲＡＭ群１２は、ｄビット×（ｋ×ｎ）ワード構成のＤＲＡＭａ個から構成される。
【００４０】
なお、データバッファ１１とＤＲＡＭ群１２との間では、データビットの並び替えが行われるが、これについては後で詳しく説明する。
【００４１】
この他、半導体記憶装置１０には、外部からのライト制御信号とリード制御信号を受けて、データバッファ１１へのデータの書き込みを制御するライト信号とデータバッファ１１からのデータの読み出しを制御するリード信号、およびＤＲＡＭ群１２へのデータの書き込みを制御するライト信号とＤＲＡＭ群１２からのデータの読み出しを制御するリード信号を出力するライト／リード制御回路１３が含まれる。
【００４２】
また、半導体記憶装置１０には、外部からのバースト制御信号を受けて、データバッファ１１の各ＳＲＡＭのアドレス信号を出力するアドレス制御回路１４があり、外部からのバースト制御信号と先頭アドレス信号を受けて、ＤＲＡＭ群１２の各ＤＲＡＭのアドレス信号を出力するアドレス制御回路１５がある。
【００４３】
ここで、データバッファ１１とＤＲＡＭ群１２との間のデータビットの並び替えについて説明する。
【００４４】
図４は、データバッファ１１とＤＲＡＭ群１２との間のデータビットの並び替えの例を説明する図であり、データバッファ１１の各ＳＲＡＭのデーピンとＤＲＡＭ群１２の各ＤＲＡＭのデータピンの接続関係の例を示す図である。
【００４５】
ここでは、説明を具体的にするため、誤り訂正符号付きデータのデータ長ｍをｍ＝７２とし、ＳＲＡＭのビット幅ａをａ＝９、ＤＲＡＭのビット幅ｄをｄ＝８としている。
【００４６】
また、データバッファ１１のＳＲＡＭをＳＲＡＭ１〜ＳＲＡＭ８とし、ＳＲＡＭｄ（ｄ＝１〜８）のデータピン名をＤＢｄ０〜ＤＢｄ８（ｄ＝１〜８）とし、ＤＲＡＭ群１２のＤＲＡＭをＤＲＡＭ１〜ＤＲＡＭ９とし、ＤＲＡＭａ（ａ＝１〜９）のデータピン名をＤＱａ０〜ＤＱａ７（ｄ＝１〜９）としている。
【００４７】
ここで、データピンの並べ替えは、データバッファ１１の各ＳＲＡＭのデータピンから１ピンずつ取り出し、そのピンをＤＲＡＭ群１２の１つのＤＲＡＭのデータピンに接続することで行われる。
【００４８】
例えば、ＳＲＡＭ１〜ＳＲＡＭ８のそれぞれの１番目のデータピンＤＢ１０、ＤＢ２０、・・・、ＤＢ８０をＤＲＡＭ１のデータピンＤＱ１０〜ＤＱ１７に接続し、ＳＲＡＭ１〜ＳＲＡＭ８のそれぞれの２番目のデータピンＤＢ１１、ＤＢ２１、・・・、ＤＢ８１をＤＲＡＭ２のデータピンＤＱ２０〜ＤＱ２７に接続する。同様に、ＳＲＡＭ１〜ＳＲＡＭ８のその他のデータピンもＤＲＡＭ３〜ＤＲＡＭ９のデータピンにそれぞれ接続する。
【００４９】
このように、データバッファ１１の各ＳＲＡＭのデーピンとＤＲＡＭ群１２の各ＤＲＡＭのデータピンを接続することにより、データバッファ１１とＤＲＡＭ群１２との間でデータビットの並び替えが行われる。
【００５０】
次に、本実施例の半導体記憶装置１０におけるＤＲＡＭ群１２への誤り訂正符号付きデータの書き込み動作およびＤＲＡＭ群１２からのデータの読み出し動作について説明する。なお、以降の説明においては、誤り訂正符号付きデータのデータ長を７２ビット（データ６４ビット、誤り訂正符号８ビット）とし、データバッファ１１の各ＳＲＡＭとＤＲＡＭ群１２の各ＤＲＡＭのビット幅およびデータバッファ１１とＤＲＡＭ群１２の間のデータビットの並び替えの関係は上述した図４の説明と同じとする。
【００５１】
また、説明をわかりやすくするために、まず、ＤＲＡＭ群１２の各ＤＲＡＭがバースト動作を行なわないときの例について説明する。すなわち、バースト数ｂを１（ｂ＝１）とし、誤り訂正符号付きデータの１単位（Ｍ）のデータ個数ｋが８（ｋ＝８）の例を説明する。また、説明を簡単にするため、ＤＲＡＭ群１２へ保存する誤り訂正符号付きデータの単位数ｎを１（ｎ＝１）とする。
【００５２】
したがって、データバッファ１１の各ＳＲＡＭは、９ビット×８ワード構成となり、ＤＲＡＭ群１２の各ＤＲＡＭは、８ビット×８ワード構成となる。
【００５３】
初めに、ＤＲＡＭ群１２への誤り訂正符号付きデータの書き込み動作について説明する。ＤＲＡＭ群１２への書き込みにあたっては、まず、外部から入力される誤り訂正符号付きデータのデータバッファ１１への書き込みが行われる。
【００５４】
図５は、データバッファ１１に８個の誤り訂正符号付きデータが格納されたときのデータバッファ１１のＳＲＡＭ１〜ＳＲＡＭ８のデータの配置を示す図である。
【００５５】
ここで、マトリックス状に示した矩形は、各ＳＲＡＭのメモリセルをイメージしたものであり、各矩形に付した番号は、誤り訂正符号付きデータのビット位置を示すものである。すなわち、例を挙げれば、１番目の誤り訂正符号付きデータは、１００、１０１、・・・、１７１の順にデータビットが並び、２番目の誤り訂正符号付きデータは、２００、２０１、・・・、２７１の順にデータビットが並んでいることを示している。
【００５６】
そして、８個の誤り訂正符号付きデータ、１００〜１７１、２００〜２７１、３００〜３７１、４００〜４７１、５００〜５７１、６００〜６７１、７００〜７７１、８００〜８７１は、それぞれの誤り訂正符号付きデータが８個のＳＲＡＭに９ビットずつに分割され、それぞれのＳＲＡＭの１番目のアドレス（ＡＢ１）から８番目のアドレス（ＡＢ８）まで順番に書き込まれていることを示している。
【００５７】
次に、この格納されているデータをデータバッファ１１のＳＲＡＭ１〜ＳＲＡＭ８から読み出し、ＤＲＡＭ群１２のＤＲＡＭ１〜ＤＲＡＭ９に書き込む。このとき、ＳＲＡＭの読み出しアドレスのスタートアドレスは、ＳＲＡＭごとに１（バースト数ｂ＝１より）ずつずらす。また、ＤＲＡＭ１〜ＤＲＡＭ９への書き込みアドレスは、全ＤＲＡＭ共通に与える。
【００５８】
図６は、このＳＲＡＭの読み出しアドレスとＤＲＡＭの書き込みアドレスの関係を示すタイムチャートである。
【００５９】
ＳＲＡＭからのデータの読み出しはサイクル単位で行われるが、最初のサイクルのサイクル１でＳＲＡＭに与えられるアドレスは、ＳＲＡＭ１が１、ＳＲＡＭ２が２、ＳＲＡＭ３が３、・・・とＳＲＡＭごとに順次、バースト数（ｂ＝１）と同じ数の１ずつ大きくなっている。その後、サイクルが進むにつれて、各ＳＲＡＭに与えられるアドレスは、それぞれ１ずつ大きくなって行く。そして、アドレスが８に達すると、アドレスは１に戻る。
【００６０】
なお、ここでは、ＳＲＡＭに最初に与えるアドレスのずらし方を１ずつ大きくすることで説明を行うが、アドレスのずらし方としては、１ずつ少なくするようにしても構わない。ただし、そのときは、サイクルが進むにつれて各アドレスを１ずつ少なくして行く。
【００６１】
一方、ＤＲＡＭ１〜ＤＲＡＭ９に与えられるアドレスは、全ＤＲＡＭ共通にサイクル１で１、サイクル２で２と与えられる。
【００６２】
このようにアドレスを与えて、ＤＲＡＭに書き込まれるデータの１例をＤＲＡＭ１を例にとって図５に示す。すなわち、サイクル１でＤＲＡＭ１のＤＱ１０〜ＤＱ１７ビットに書き込まれるデータは、１００、２０９、３１８、４２７、５３６、６４５、７５４、８６３であり、サイクル２で書き込まれるデータは、２００、３０９、４１８、５２７、６３６、７４５、８５４、１６３である。
【００６３】
このようにして、総てのアドレスにデータを書き込み終わった時のＤＲＡＭ１〜ＤＲＡＭ９に保存されたデータの配置を図７に示す。
【００６４】
図７は、ＤＲＡＭ１〜ＤＲＡＭ９に保存されたデータの配置を示す図である。
【００６５】
ここで、マトリックス上に示した矩形は、各ＤＲＡＭのメモリセルをイメージしたものであり、各矩形に付した番号は、誤り訂正符号付きデータのビット位置を示すものである。
【００６６】
ここで、元の誤り訂正符号付きデータの各ビットが、ＤＲＡＭ１〜ＤＲＡＭ９にどのように配置されて保存されているかを、１番目の誤り訂正符号付きデータ（１００〜１７１）を例にとって見てみる。
【００６７】
図７で斜線を施して示したセルに保存されているデータが、１番目の誤り訂正符号付きデータを構成するビットデータである。図７に見るように、１番目の誤り訂正符号付きデータを構成するビットデータ１００〜１７１は、ＤＲＡＭ１〜ＤＲＡＭ９の各ＤＲＡＭにおいて、同時にアクセスされることのないアドレスに分散されて配置されている。
【００６８】
同様に、２番目以降の誤り訂正符号付きデータを構成するビットデータも、ＤＲＡＭ１〜ＤＲＡＭ９の各ＤＲＡＭにおいて、同時にアクセスされることのないアドレスに分散されて配置されている。
【００６９】
次に、このように分散されて配置されたデータを読み出して、元のビット並びの誤り訂正符号付きデータを出力するためのＤＲＡＭからのデータの読み出し方について説明する。
【００７０】
図８は、このＤＲＡＭの読み出しアドレスとＳＲＡＭ１〜ＳＲＡＭ８の書き込みアドレスの関係を示すタイムチャートである。
【００７１】
ＤＲＡＭからのデータの読み出しも、データの書き込みと同様、サイクル単位で行われる。ＤＲＡＭへのアドレスは、全ＤＲＡＭ共通にサイクル１から順次１、２、３、・・・、８と与えられる。
【００７２】
一方、ＳＲＡＭに与えられるアドレスは、サイクル１でＳＲＡＭ１が１、ＳＲＡＭ２が２、ＳＲＡＭ３が３と順次１ずつ大きくなるように与えられる。その後、サイクルが進むにつれて、各ＳＲＡＭに与えられるアドレスは、それぞれ１ずつ大きくなって行く。そして、アドレスが８に達すると、アドレスは１に戻る。
【００７３】
このようにアドレスを与えて、ＳＲＡＭに書き込まれるデータの１例をＳＲＡＭ１を例にとって図８に示す。すなわち、サイクル１でＳＲＡＭ１のＤＢ１０〜ＤＱ１８ビットに書き込まれるデータは、        １００、１０１、１０２、１０３、１０４、１０５、１０６、１０７、１０８であり、サイクル２で書き込まれるデータは、２００、２０１、２０２、２０３、２０４、２０５、２０６、２０７、２０８である。
【００７４】
このビットの並びは、図５に示したビットの並びと同じである。すなわち、上述のアドレスの与え方で、ＤＲＡＭ１〜ＤＲＡＭ９のデータを読み出すと、ＳＲＡＭ１〜ＳＲＡＭ８には、図５に示した配置と同じ配置にデータが格納される。したがって、ＳＲＡＭ１〜ＳＲＡＭ８に共通の読み出しアドレスを与えると、元のビット並びの誤り訂正符号付きデータを外部のＥＣＣ回路（図示せず）へ出力することができる。
【００７５】
次に、ＤＲＡＭ群１２の各ＤＲＡＭがバースト動作を行う時の動作について、バースト数ｂが４（ｂ＝４）の場合を例にとって説明する。
【００７６】
この場合も、誤り訂正符号付きデータのデータ長を７２ビット（データ６４ビット、誤り訂正符号８ビット）とし、データバッファ１１の各ＳＲＡＭとＤＲＡＭ群１２の各ＤＲＡＭのビット幅およびデータバッファ１１とＤＲＡＭ群１２の間のデータビットの並び替えの関係は上述した図４と同じとする。また、誤り訂正符号付きデータの１単位（Ｍ）のデータ個数ｋを３２（ｋ＝３２）とし、ＤＲＡＭ群１２へ保存する誤り訂正符号付きデータの単位数ｎを１（ｎ＝１）として説明する。
【００７７】
したがって、この場合、データバッファ１１の各ＳＲＡＭは、９ビット×３２ワード構成となり、ＤＲＡＭ群１２の各ＤＲＡＭは、８ビット×３２ワード構成となる。
【００７８】
初めに、ＤＲＡＭ群１２への誤り訂正符号付きデータの書き込み動作について説明する。ＤＲＡＭ群１２への書き込みにあたっては、まず、外部から入力される誤り訂正符号付きデータのデータバッファ１１への書き込みが行われる。
【００７９】
図９は、データバッファ１１に３２個の誤り訂正符号付きデータが格納されたときのデータバッファ１１のＳＲＡＭ１〜ＳＲＡＭ８のデータの配置を示す図である。
【００８０】
マトリックス状に示した矩形は、図５と同様に、各ＳＲＡＭのメモリセルをイメージしたものであり、各矩形に付した番号は、誤り訂正符号付きデータのビット位置を示すものである。すなわち、１番目の誤り訂正符号付きデータ（１００〜１７１）が、ＳＲＡＭ１〜ＳＲＡＭ８の１番目のアドレス（ＡＢ１）に格納され、２番目以降の誤り訂正符号付きデータもＳＲＡＭ１〜ＳＲＡＭ８の同じアドレスに順次格納されている様子を示す。
【００８１】
次に、この格納されているデータをデータバッファ１１のＳＲＡＭ１〜ＳＲＡＭ８から読み出し、ＤＲＡＭ群１２のＤＲＡＭ１〜ＤＲＡＭ９にバースト動作で書き込む。このとき、ＳＲＡＭの読み出しアドレスのスタートアドレスは、ＳＲＡＭごとに４（バースト数ｂ＝４より）ずつずらす。また、ＤＲＡＭ１〜ＤＲＡＭ９への書き込みアドレスは、全ＤＲＡＭ共通に与える。
【００８２】
図１０は、このＳＲＡＭの読み出しアドレスとＤＲＡＭの書き込みアドレスの関係を示すタイムチャートである。
【００８３】
最初のサイクルのサイクル１でＳＲＡＭに与えられるアドレスは、ＳＲＡＭ１が１、ＳＲＡＭ２が５、ＳＲＡＭ３が９、・・・とＳＲＡＭごとに順次、バースト数（ｂ＝４）と同じ数の４ずつ大きくなっている。その後、サイクルが進むにつれて、各ＳＲＡＭに与えられるアドレスは、それぞれ１ずつ大きくなって行く。そして、アドレスが３２に達すると、アドレスは１に戻る。
【００８４】
なお、ここでは、ＳＲＡＭに最初に与えるアドレスのずらし方をバースト数ずつ大きくすることで説明を行うが、アドレスのずらし方としては、バースト数ずつ少なくするようにしても構わない。ただし、そのときは、サイクルが進むにつれて各アドレスを１ずつ少なくして行く。
【００８５】
一方、ＤＲＡＭ１〜ＤＲＡＭ９に与えられるアドレスは、全ＤＲＡＭ共通に、アドレス１からアドレス３２までバースト単位の４ずつ連続して与えられる。例えば、最初のバースト書き込みでは、サイクル１〜４で、アドレス１〜４が連続して与えられる。
【００８６】
このようにアドレスを与えて、ＤＲＡＭに書き込まれるデータの１例をＤＲＡＭ１を例にとって図５に示す。例えば、最初のバースト書き込みのサイクル１〜４で、ＤＲＡＭ１のＤＱ１０〜ＤＱ１７ビットに書き込まれるデータは、サイクル１で１００、５０９、９１８、１３２７、１７３６、２１４５、２５５４、２９６３、サイクル２で２００、６０９、１０１８、１４２７、１８３６、２２４５、２６５４、３０６３、サイクル３で３００、７０９、１１１８、１５２７、１９３６、２３４５、２７５４、３１６３、サイクル４で４００、８０９、１２１８、１６２７、２０３６、２４４５、２８５４、３２６３、である。
【００８７】
このようにして、総てのアドレスにデータを書き込み終わった時のＤＲＡＭ１〜ＤＲＡＭ９に保存されたデータの配置を図１１に示す。
【００８８】
図１１は、バースト数４（ｂ＝４）で書き込みを行なったときにＤＲＡＭ１〜ＤＲＡＭ９に保存されるデータの配置を示す図である。
【００８９】
この場合も、マトリックス状に示した矩形は、各ＤＲＡＭのメモリセルをイメージしたものであり、各矩形に付した番号は、誤り訂正符号付きデータのビット位置を示すものである。
【００９０】
ここで、元の誤り訂正符号付きデータの各ビットが、ＤＲＡＭ１〜ＤＲＡＭ９にどのように配置されて保存されているかを、１番目の誤り訂正符号付きデータ（１００〜１７１）を例にとって見てみる。
【００９１】
図１１で斜線を施して示したセルに保存されているデータが、１番目の誤り訂正符号付きデータを構成するビットデータである。図１１に見るように、１番目の誤り訂正符号付きデータを構成するビットデータ１００〜１７１は、ＤＲＡＭ１〜ＤＲＡＭ９の各ＤＲＡＭにおいて、同時にアクセスされることのないアドレスに分散されて配置されている。
【００９２】
同様に、２番目以降の誤り訂正符号付きデータを構成するビットデータも、ＤＲＡＭ１〜ＤＲＡＭ９の各ＤＲＡＭにおいて、同時にアクセスされることのないアドレスに分散されて配置されている。
【００９３】
次に、１回のバースト動作で連続してアクセスされ、同一のロウで制御されるアドレス範囲に保存されているデータの配置がどのようになっているかを見てみる。ここでは、１例として、ＤＲＡＭ１のアドレス１〜アドレス４（ＡＤ１〜ＡＤ４）の範囲のデータの配置を見てみる。
【００９４】
図１１で太線の枠内に示したセルに保存されているデータが、１回のバースト動作で連続してアクセスされ、同一のロウで制御されるデータである。図１１に見るように、この範囲に含まれるデータは、総て異なる誤り訂正符号付きデータから取られたビットデータである。すなわち、３２個の誤り訂正符号付きデータから１ビットずつ取られたビットデータが、１つのバースト動作範囲に配置されている。これは、逆に言えば、１つのバースト動作範囲には、１つの誤り訂正符号付きデータの２ビット以上のビットデータが配置されることはない、ということを意味する。
【００９５】
次に、このように分散されて配置されたデータを読み出して、元のビット並びの誤り訂正符号付きデータを出力するためのＤＲＡＭからのデータの読み出し方について説明する。
【００９６】
図１２は、このＤＲＡＭの読み出しアドレスとＳＲＡＭ１〜ＳＲＡＭ８の書き込みアドレスの関係を示すタイムチャートである。
【００９７】
ＤＲＡＭへのアドレスは、データの書き込みのときと同様、全ＤＲＡＭ共通に、アドレス１からアドレス３２までバースト単位の４ずつ連続して与えられる。例えば、最初のバースト書き込みでは、サイクル１〜４で、アドレス１〜４が連続して与えられる。
【００９８】
また、ＳＲＡＭに与えられるアドレスも、データの書き込みのときと同様、最初のサイクルのサイクル１でＳＲＡＭ１に１、ＳＲＡＭ２に５、ＳＲＡＭ３に９、・・・とＳＲＡＭごとに順次、バースト数（ｂ＝４）と同じ数の４ずつ大きくなるアドレスが与えられる。その後、サイクルが進むにつれて、各ＳＲＡＭに与えられるアドレスは、それぞれ１ずつ大きくなって行く。そして、アドレスが３２に達すると、アドレスは１に戻る。
【００９９】
このようにアドレスを与えて、ＳＲＡＭに書き込まれるデータの１例をＳＲＡＭ１を例にとって図１２に示す。例えば、ＤＲＡＭの１回目のバースト読み出し動作でＳＲＡＭ１のＤＢ１０〜ＤＱ１８ビットに書き込まれるデータは、サイクル１で１００、１０１、１０２、１０３、１０４、１０５、１０６、１０７、１０８、サイクル２で２００、２０１、２０２、２０３、２０４、２０５、２０６、２０７、２０８、サイクル３で３００、３０１、３０２、３０３、３０４、３０５、３０６、３０７、３０８、サイクル４で４００、４０１、４０２、４０３、４０４、４０５、４０６、４０７、４０８である。
【０１００】
このビットの並びは、図９に示したビットの並びと同じである。すなわち、上述のアドレスの与え方で、ＤＲＡＭ１〜ＤＲＡＭ９のデータを読み出すと、ＳＲＡＭ１〜ＳＲＡＭ８には、図１１に示した配置と同じ配置にデータが格納される。したがって、ＳＲＡＭ１〜ＳＲＡＭ８に共通の読み出しアドレスを与えると、元のビット並びの誤り訂正符号付きデータを外部のＥＣＣ回路（図示せず）へ出力することができる。
【０１０１】
ここまで、ＤＲＡＭ群１２へ保存する誤り訂正符号付きデータの単位数ｎを１（ｎ＝１）として説明してきたが、次に、データの単位数ｎが２以上のときの動作について説明する。ただし、個々のデータのデータバッファ１１およびＤＲＡＭ群１２における処理は、上述のｎ＝１のときと同じであるので、ここではその詳細な説明は省略し、データバッファ１１とＤＲＡＭ群１２の間でデータが転送される様子を図１３および図１４のタイミングチャートを用いて説明する。
【０１０２】
図１３は、データの単位数ｎが２以上のデータ単位の誤り訂正符号付きデータをＤＲＡＭ群１２へ書き込むときのデータの転送の様子を示すタイミングチャートである。なお、この図では、斜線部分が各信号および各データの有効期間を示している。
【０１０３】
まず、誤り訂正符号付きデータをＤＲＡＭ群１２へ書き込むときには、外部信号としてライト制御信号が入力される。それと同時に、ＤＲＡＭ群１２の書き込み先頭アドレスＸｉを指定する先頭アドレス信号と、最初の１データ単位（すなわちｋ個）の誤り訂正符号付きデータＤ１が、外部から入力される。
【０１０４】
このライト制御信号の入力により、ライト／リード制御回路１３からデータバッファ１１に対するライト信号が出力され、データバッファ１１にデータＤ１が書き込まれる。
【０１０５】
データＤ１の書き込みが終わると、ライト／リード制御回路１３からデータバッファ１１に対するリード信号およびＤＲＡＭ群１２に対するライト信号が出力される。これにより、データバッファ１１に格納されたデータＤ１が、ＤＲＡＭ群１２に転送され、ＤＲＡＭ群１２のアドレスＸｉ〜（Ｘｉ＋ｋ）の範囲に書き込まれ、保存される。
【０１０６】
ＤＲＡＭ群１２へのデータＤ１の書き込みが終わると、外部から次のライト信号および次の書き込み先頭アドレスＸｊを指定する先頭アドレス信号が入力されるとともに、次の１データ単位（ｋ個）の誤り訂正符号付きデータＤ２が入力される。このデータＤ２に対しても上述のデータＤ１と同様のデータ転送が行なわれ、ＤＲＡＭ群１２のアドレスＸｊ〜（Ｘｊ＋ｋ）の範囲にデータＤ２が保存される。
【０１０７】
このように、ＤＲＡＭ群１２の書き込み先頭アドレスを指定する先頭アドレス信号を順次与えることにより、ＤＲＡＭ群１２の指定された先頭アドレスから始まるｋ個分のアドレス範囲に順次データが保存される。
【０１０８】
図１４は、データの単位数ｎが２以上のデータ単位の誤り訂正符号付きデータをＤＲＡＭ群１２から読み出すときのデータの転送の様子を示すタイミングチャートである。この図でも、斜線部分が各信号および各データの有効期間を示している。
【０１０９】
ＤＲＡＭ群１２に保存されたデータを読み出すときは、外部信号としてリード制御信号およびＤＲＡＭ群１２の読み出し先頭アドレスＸｉを指定する先頭アドレス信号が入力される。
【０１１０】
すると、ライト／リード制御回路１３からＤＲＡＭ群１２に対するリード信号およびデータバッファ１１に対するライト信号が出力される。これにより、ＤＲＡＭ群１２のアドレスＸｉ〜（Ｘｉ＋ｋ）の範囲に格納されたデータＤ１が読み出され、データバッファ１１に転送され、データバッファ１１にデータＤ１が格納される。
【０１１１】
データＤ１の格納が終わると、ライト／リード制御回路１３からデータバッファ１１に対するリード信号が出力され、データバッファ１１からデータＤ１が読み出されて外部へ出力される。
【０１１２】
データバッファ１１からのデータＤ１の読み出しが終わると、外部から次のリード信号および次の読み出し先頭アドレスＸｊを指定する先頭アドレス信号が入力される。
【０１１３】
すると、ＤＲＡＭ群１２のアドレスＸｊ〜（Ｘｊ＋ｋ）の範囲のデータＤ２が読み出され、このデータＤ２に対しても上述のデータＤ１と同様のデータ転送が行なわれ、外部へ出力される。
【０１１４】
このように、ＤＲＡＭ群１２の読み出し先頭アドレスを指定する先頭アドレス信号を順次与えることにより、ＤＲＡＭ群１２の指定された先頭アドレスから始まるｋ個分のアドレス範囲のデータが順次外部へ出力される。
【０１１５】
以上説明した本実施例によれば、誤り訂正符号付きデータが、ＤＲＡＭの同時にアクセスされることのないアドレスに１ビットずつ分散させて記憶されるので、ＤＲＡＭの１つのアドレスに不良が発生しても、ＤＲＡＭから読み出されるデータの複数のビットに誤りが発生することを防止することができる。
【０１１６】
また、このＤＲＡＭがバースト動作するものであっても、同一のロウで制御されるバースト単位のアドレスの範囲には、１つの誤り訂正符号付きデータの中の１ビットのみが記憶されるため、バースト動作に不良が発生し、バースト単位の複数のアドレスに同時に不良が発生しても、ＤＲＡＭから読み出されるデータの複数のビットに誤りが発生することを防止することができる。
【０１１７】
したがって、本実施例の半導体記憶装置から読み出されたデータに対して、ＥＣＣ回路による１ビットの誤り訂正が可能である。
【実施例２】
【０１１８】
図１５は、本発明の第２の実施例に係る半導体記憶装置の構成を示すブロック図である。
【０１１９】
半導体記憶装置２０は、外部のＥＣＣ回路（図示せず）との間でデータ長ｍの誤り訂正符号付きデータの入出力を行い、ｋ個分の誤り訂正符号付きデータを１データ単位Ｍとして格納する記憶容量Ｍのデータバッファ群２１と、データバッファ群２１とデータの入出力を行い、１データ単位Ｍの誤り訂正符号付きデータをｎ個保存する記憶容量Ｍ×ｎのＤＲＡＭ群２２を有し、実施例１と同様のライト／リード制御回路２３、アドレス制御回路２４、アドレス制御回路２４を有している。
【０１２０】
本実施例の半導体記憶装置２０のブロック構成も、基本的には、実施例１の半導体装置１０と同じである。したがって、本実施例における各ブロックの動作も実施例１と同様であり、ここでは、その詳細な動作の説明は省略する。
【０１２１】
本実施例が実施例１と異なる点は、実施例１のデータバッファ１１が、本実施例では、２個のデータバッファ２１１とデータバッファ２２２からなるデータバッファ群２１となっている点である。
【０１２２】
このデータバッファ２１１とデータバッファ２２２は、それぞれ、実施例１のデータバッファ１１と同じ構成と機能を有しており、独立のライト信号とリード信号およびアドレス信号が与えられて並列に動作する。また、このデータバッファ２１１とデータバッファ２２２は、やはり実施例１のＤＲＡＭ群１２と同じ構成と機能を有すＤＲＡＭ群２２の各ＤＲＡＭとの間で、それぞれ図４と同様のデータビット並べ替えのデータピンの接続がなされている。
【０１２３】
そこで、ここでは、おもにデータバッファ群２１のデータバッファ２１１とデータバッファ２２２を用いた、ＤＲＡＭ群２２との間のデータ転送動作について、図１６および図１７を用いて説明する。
【０１２４】
図１６は、データの単位数ｎが２以上のデータ単位の誤り訂正符号付きデータをＤＲＡＭ群２２へ書き込むときのデータの転送の様子を示すタイミングチャートである。なお、この図では、斜線部分が各信号および各データの有効期間を示している。
【０１２５】
まず、誤り訂正符号付きデータをＤＲＡＭ群２２へ書き込むときには、外部信号としてライト制御信号が入力される。それと同時に、ＤＲＡＭ群２２の書き込み先頭アドレスＸｉを指定する先頭アドレス信号と、最初の１データ単位（すなわちｋ個）の誤り訂正符号付きデータＤ１が、外部から入力される。
【０１２６】
このライト制御信号の入力により、ライト／リード制御回路２３からデータバッファ２１１に対するライト信号が出力され、データバッファ２１１にデータＤ１が書き込まれる。
【０１２７】
データＤ１の書き込みが終わると、ライト／リード制御回路２３からデータバッファ２１１に対するリード信号およびＤＲＡＭ群２２に対するライト信号が出力される。これにより、データバッファ２１１に格納されたデータＤ１のＤＲＡＭ群２２への転送が開始される。
【０１２８】
と同時に、外部から次のライト制御信号および次の書き込み先頭アドレスＸｊを指定する先頭アドレス信号が入力されるとともに、次の１データ単位（ｋ個）の誤り訂正符号付きデータＤ２が入力される。
【０１２９】
このライト制御信号の入力により、ライト／リード制御回路２３からデータバッファ２１２に対するライト信号が出力され、データバッファ２１２へのデータＤ２の書き込みが開始される。
【０１３０】
そして、ＤＲＡＭ群２２へのデータＤ１の書き込みと、データバッファ２１２へのデータＤ２の書き込みが、並行に進行する。
【０１３１】
したがって、ＤＲＡＭ群２２のアドレスＸｉ〜（Ｘｉ＋ｋ）の範囲へのデータＤ１の保存が完了すると同時に、データバッファ２１２へのデータＤ２の格納が完了する。
【０１３２】
そこで、直ちにライト／リード制御回路２３からデータバッファ２１２に対するリード信号およびＤＲＡＭ群２２に対するライト信号が出力される。これにより、データバッファ２１２からＤＲＡＭ群２２へデータＤ２のデータ転送が行なわれ、ＤＲＡＭ群２２のアドレスＸｊ〜（Ｘｊ＋ｋ）の範囲にデータＤ２が保存される。
【０１３３】
このように、外部からのデータの書き込みをデータバッファ２１１とデータバッファ２１２へ交互に行うことにより、外部からの誤り訂正符号付きデータの入力が連続して行われ、ＤＲＡＭ群２２へのデータの転送が連続して行なわれる。
【０１３４】
図１７は、データの単位数ｎが２以上のデータ単位の誤り訂正符号付きデータをＤＲＡＭ群２２から読み出すときのデータの転送の様子を示すタイミングチャートである。この図でも、斜線部分が各信号および各データの有効期間を示している。
【０１３５】
ＤＲＡＭ群２２に保存されたデータを読み出すときは、外部信号としてリード制御信号およびＤＲＡＭ群２２の読み出し先頭アドレスＸｉを指定する先頭アドレス信号が入力される。
【０１３６】
すると、ライト／リード制御回路２３からＤＲＡＭ群２２に対するリード信号およびデータバッファ２１１に対するライト信号が出力される。これにより、ＤＲＡＭ群２２のアドレスＸｉ〜（Ｘｉ＋ｋ）の範囲に格納されたデータＤ１が読み出され、データバッファ２１１に転送され、データバッファ２１１にデータＤ１が格納される。
【０１３７】
データＤ１の格納が終わると、ライト／リード制御回路１３からデータバッファ２１１に対するリード信号が出力され、データバッファ２１１からのデータＤ１の読み出しが開始される。
【０１３８】
と同時に、外部から次のリード制御信号および次の書き込み先頭アドレスＸｊを指定する先頭アドレス信号が入力される。
【０１３９】
このリード制御信号の入力により、ライト／リード制御回路２３からＤＲＡＭ群２２に対するリード信号とデータバッファ２１１に対するライト信号が出力され、ＤＲＡＭ群２２のアドレスＸｊ〜（Ｘｊ＋ｋ）の範囲に格納されたデータＤ２のデータバッファ２１１への転送が開始される。
【０１４０】
そして、データバッファ２１１からのデータＤ１の読み出しと、データバッファ２１１へのデータＤ２の書き込みが、並行に進行する。
【０１４１】
したがって、データバッファ２１１からのデータＤ１の読み出しが完了すると同時に、データバッファ２１２へのデータＤ２の格納が完了する。
【０１４２】
そこで、直ちにライト／リード制御回路２３からデータバッファ２１２に対するリード信号が出力される。これにより、データバッファ２１２からのデータＤ２の読み出しが行なわれる。
【０１４３】
このように、ＤＲＡＭ群２２から読み出したデータの格納をデータバッファ２１１とデータバッファ２１２へ交互に行うことにより、ＤＲＡＭ群２２からのデータの読み出しが連続して行われ、外部への誤り訂正符号付きデータの転送が連続して行なわれる。
【０１４４】
以上説明した本実施例によれば、複数の誤り訂正符号付きデータの書き込みおよび読み出しを連続して行うことができる。そのため、外部のＥＣＣ回路の処理に無用な待ち時間が発生することを防止することができる。
【図面の簡単な説明】
【０１４５】
【図１】本発明の記憶方法により誤り訂正符号付きデータを記憶する半導体記憶装置の構成を示す概念図。
【図２】本発明の記憶方法による誤り訂正符号付きデータの半導体記憶装置への書き込み手順および半導体記憶装置からの読み出し手順を説明するフローチャート。
【図３】本発明の第1の実施例に係る半導体記憶装置の構成を示すブロック図。
【図４】本発明の第1の実施例におけるデータビットの並び替えの例の説明図。
【図５】本発明の第1の実施例のデータバッファにおけるデータ配置図。
【図６】本発明の第1の実施例のＤＲＡＭの書き込み時のアドレスの発生順序を示すタイムチャート。
【図７】本発明の第1の実施例のＤＲＡＭにおけるデータ配置図。
【図８】本発明の第1の実施例のＤＲＡＭの読み出し時のアドレスの発生順序を示すタイムチャート。
【図９】本発明の第1の実施例のバースト動作対応のデータバッファにおけるデータ配置図。
【図１０】本発明の第1の実施例のＤＲＡＭのバースト書き込み時のアドレスの発生順序を示すタイムチャート。
【図１１】本発明の第1の実施例のＤＲＡＭにおけるバースト動作時のデータ配置図。
【図１２】本発明の第1の実施例のＤＲＡＭのバースト読み出し時のアドレスの発生順序を示すタイムチャート。
【図１３】本発明の第1の実施例のＤＲＡＭへのデータ書き込み時のデータ転送の様子を示すタイムチャート。
【図１４】本発明の第1の実施例のＤＲＡＭからのデータ読み出し時のデータ転送の様子を示すタイムチャート。
【図１５】本発明の第２の実施例に係る半導体記憶装置の構成を示すブロック図。
【図１６】本発明の第２の実施例のＤＲＡＭへのデータ書き込み時のデータ転送の様子を示すタイムチャート。
【図１７】本発明の第２の実施例のＤＲＡＭからのデータ読み出し時のデータ転送の様子を示すタイムチャート。
【符号の説明】
【０１４６】
１、１１、２１１、２１２  データバッファ
２１  データバッファ群
２、１２、２２  ＤＲＡＭ群
１３、２３  ライト／リード制御回路
１４、１５、２４、２５  アドレス制御回路
ＳＲＡＭ１〜ＳＲＡＭｄ  ＳＲＡＭ
ＤＲＡＭ１〜ＤＲＡＭａ  ＤＲＡＭ
【図１】
2005115668.tif 000003
【図２】
2005115668.tif 000004
【図３】
2005115668.tif 000005
【図４】
2005115668.tif 000006
【図５】
2005115668.tif 000007
【図６】
2005115668.tif 000008
【図７】
2005115668.tif 000009
【図８】
2005115668.tif 000010
【図９】
2005115668.tif 000011
【図１０】
2005115668.tif 000012
【図１１】
2005115668.tif 000013
【図１２】
2005115668.tif 000014
【図１３】
2005115668.tif 000015
【図１４】
2005115668.tif 000016
【図１５】
2005115668.tif 000017
【図１６】
2005115668.tif 000018
【図１７】
2005115668.tif 000019