(57)【要約】【課題】  データを格納するメモリの他にシンドロームコードを格納するメモリが必要であるため、コストが上昇し、かつ実装面積が増加してしまうという課題を解決する。【解決手段】  ＳＤＲＡＭのように内部で複数のバンクに分割されているメモリを用い、このバンクの１つにシンドロームコードを格納し、他のバンクにデータを格納するようにした。メモリ素子の数を少なくすることができるので、コストダウンおよび実装面積の縮小を図ることができる。【選択図】                    図１
2008027296.tif 000002
【特許請求の範囲】
【請求項１】
複数のバンクに分割され、これらのバンクの１つにシンドロームコードが格納され、他のバンクにデータが格納されるメモリと、
前記メモリの読み出し、書き込みを制御するメモリコントローラと、
入力されたデータからそのシンドロームコードを演算し、前記メモリから読み出されたデータとシンドロームコードからエラー訂正およびエラーチェックを行うエラーチェック部と、
を具備したことを特徴とするメモリ装置。
【請求項２】
前記メモリはＳＤＲＡＭであることを特徴とする請求項１記載のメモリ装置。
【請求項３】
前記メモリは、内部がバンクに分割されていない複数のメモリ素子で構成されていることを特徴とする請求項１記載のメモリ装置。
【請求項４】
前記メモリ素子は、ＤＲＡＭまたはＳＲＡＭであることを特徴とする請求項３記載のメモリ装置。
【請求項５】
前記シンドロームコードは、ＥＣＣであることを特徴とする請求項１乃至請求項４いずれかに記載のメモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＥＣＣ(Error Correcting Code)等のシンドロームコードを有するメモリ装置に関し、特に複数バンクに分割されたＳＤＲＡＭ(Synchronous Dynamic Random Access Memory)に用いて好適なメモリ装置に関するものである。
【背景技術】
【０００２】
データを記憶するメモリ装置では、データの信頼性を向上させるために、データとは別にＥＣＣなどのシンドロームコードを格納し、このシンドロームコードを用いてエラー検出および訂正を行っている。
【０００３】
このようなメモリ装置の構成を図５に示す。図５において、１１はデータを格納するＳＤＲＡＭ、１２はシンドロームコードを格納するＳＤＲＡＭである。１０はこのＳＤＲＡＭ１１、１２の読み出し、書き込みを制御するメモリコントローラ、１３はエラー検出とエラー訂正を行うエラーチェック部である。メモリコントローラ１０は同じタイミングでＳＤＲＡＭ１１からデータを、ＳＤＲＡＭ１２からシンドロームコードを読み出し、エラーチェック部１３はこの読み出したデータとシンドロームコードからエラーチェックと訂正を行う。
【０００４】
ＳＤＲＡＭは内部に有限ステートマシン（ＦＳＭ）を有し、コマンドを書き込むことによりアクセス制御を行うメモリである。図６に、ＳＤＲＡＭ１１と１２の読み出し、書き込みサイクルを示す。なお、ＣＬ（ＣＡＳレーテンシ）を２、ＢＬ（バースト長）を４に設定してあるものとする。
【０００５】
図６（Ａ）は読み出しサイクルであり、上からクロック波形、データを格納するＳＤＲＡＭ１１に与えるコマンド、ＳＤＲＡＭ１１の出力データ、シンドロームコードを格納するＳＤＲＡＭ１２に与えるコマンド、ＳＤＲＡＭ１２の出力データを表す。
【０００６】
ステートＴ０でＳＤＲＡＭ１１と１２にＡＣＴコマンドが書き込まれ、ステートＴ２でＲＥＡＤコマンドが書き込まれると、Ｔ２から２クロック後のＴ４から４ワードのデータＱ１、Ｑ２、Ｑ３、Ｑ４が連続して出力される。
【０００７】
図６（Ｂ）は書き込みサイクルであり、（Ａ）と同様に上からクロック波形、データを格納するＳＤＲＡＭ１１に与えるコマンド、ＳＤＲＡＭ１１の出力データ、シンドロームコードを格納するＳＤＲＡＭ１２に与えるコマンド、ＳＤＲＡＭ１２の出力データを表す。
【０００８】
ステートＴ０でＡＣＴコマンドが入力され、Ｔ２でＷＲＩＴＥコマンドが入力されると共に、連続して書き込みデータＤ１、Ｄ２、Ｄ３、Ｄ４が入力される。ＳＤＲＡＭ１１、１２は、この入力されたデータＤ１〜Ｄ４を所定の連続したアドレスに書き込む。このようなメモリ装置は、構成が簡単であり、かつＳＤＲＡＭ１１の全域をデータ格納領域として使用することができるという利点がある。
【０００９】
回路規模を大きくすることなく大量のエラー情報を保持できるようにしたメモリ制御回路の構成を示したものとして、例えば特許文献１に記載されたものがあった。
【００１０】
【特許文献１】実開平６−１１０４３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、このようなメモリ装置はシンドロームコード格納用としてデータ格納用とは別のメモリが必要であるためにコストが上昇し、かつ実装面積も増加するという課題があった。また、メモリ素子の数が増加するので、メモリコントローラ１０のピン数も増加してしまうという課題もあった。
【００１２】
従って本発明の目的は、データを格納するメモリとシンドロームコードを格納するメモリを共用することにより、低コストでかつ実装面積を少なくすることができ、メモリコントローラのピン数を削減することができるメモリ装置を提供することにある。
【課題を解決するための手段】
【００１３】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
複数のバンクに分割され、これらのバンクの１つにシンドロームコードが格納され、他のバンクにデータが格納されるメモリと、
前記メモリの読み出し、書き込みを制御するメモリコントローラと、
入力されたデータからそのシンドロームコードを演算し、前記メモリから読み出されたデータとシンドロームコードからエラー訂正およびエラーチェックを行うエラーチェック部と、
を具備したものである。メモリ素子の数を少なくすることができる。
【００１４】
請求項２記載の発明は、請求項１記載の発明において、
前記メモリとして、ＳＤＲＡＭを用いるようにしたものである。メモリ素子の数を少なくすることができる。
【００１５】
請求項３記載の発明は、請求項１記載の発明において、
前記メモリを、内部がバンクに分割されていない複数のメモリ素子で構成するようにしたものである。汎用のメモリ素子を用いることができる。
【００１６】
請求項４記載の発明は、請求項３記載の発明において、
前記メモリ素子として、ＤＲＡＭまたはＳＲＡＭを用いるようにしたものである。汎用のメモリ素子を用いることができる。
【００１７】
請求項５記載の発明は、請求項１乃至請求項４いずれかに記載の発明において、
前記シンドロームコードとして、ＥＣＣを用いるようにしたものである。よく知られたエラーチェック、訂正方式を用いることができる。
【発明の効果】
【００１８】
以上説明したことから明らかなように、本発明によれば次のような効果がある。
請求項１，２、３、４および５の発明によれば、複数のバンクに分割されたメモリの１つのバンクにシンドロームコードを格納し、他のバンクにデータを格納するようにした。
【００１９】
１個のメモリにデータとこのデータに対応するシンドロームコードを格納することができるので、メモリ素子の数を少なくすることができる。そのため、コストダウンを図ることができ、また実装面積を縮小することができるという効果がある。さらに、メモリコントローラに接続されるメモリ素子の数が少なくなるので、メモリコントローラの制御信号用ピン数を少なくすることができるという効果もある。
【００２０】
さらに、複数のメモリ素子を用いて、各メモリ素子をバンクに見立てることにより、ＤＲＡＭやＳＲＡＭのように、内部でバンク分割されていない汎用のメモリ素子を用いることができるという効果もある。
【発明を実施するための最良の形態】
【００２１】
以下本発明を図面を用いて詳細に説明する。図１は本発明に係るメモリ装置の一実施例を示す構成図である。図１において、２０はＳＤＲＡＭである。このＳＤＲＡＭ２０はバンク２０Ａ、２０Ｂ、２０Ｃ、２０Ｄの４つのバンクに分割されている。バンク２０Ａ〜２０Ｃにはデータが、バンク２０Ｄにはシンドロームコードが格納される。
【００２２】
２１はメモリコントローラであり、所定のコマンドをＳＤＲＡＭ２０に書き込むことにより、ＳＤＲＡＭ２０に格納されているデータを読み出し、またＳＤＲＡＭ２０の指定されたバンクおよびアドレスにデータを書き込む。このメモリコントローラ２１には、ＳＤＲＡＭ２０のアドレスが入力される。メモリコントローラ１１は、マルチバスオペレーション機能を使用して、バンク２０Ａ〜２０Ｄを独立に制御する。
【００２３】
２２はエラーチェック部であり、ＥＣＣ等を用いてＳＤＲＡＭに格納されているデータのエラーチェックおよびエラー訂正を行い、またエラーチェックおよび訂正のためのシンドロームコードを演算する。エラーチェック部２２には、ＳＤＲＡＭ２０に書き込むデータが入力され、エラー訂正した読み出しデータが出力される。
【００２４】
ＳＤＲＡＭ２０、メモリコントローラ２１、エラーチェック部２２はデータバス２３で接続されている。また、メモリコントローラ２１からＳＤＲＡＭ２０にバンク選択信号２４が出力される。
【００２５】
次に、図２を用いてこの実施例の動作を説明する。なお、図１と同じ要素には同一符号を付し、説明を省略する。また、この実施例では４バイトのデータに対して７ビットのシンドロームコードを用いる。これにより、１ビットのデータ訂正と、２ビット以上のエラー検出を行うことができる。バンク２０Ａ、２０Ｂ、２０Ｃにはデータが、バンク２０Ｄにはシンドロームコードが格納される。
【００２６】
バンク２０Ａ〜２０Ｄは１ロングワード（４バイト）のデータ幅を有している。図２に示すように、バンク２０Ａ〜２０Ｃに格納されるデータは、４ロングワード単位でバンク２０Ｄに格納される１ロングワードのシンドロームコードに対応している。
【００２７】
すなわち、バンク２０Ａの最初の４ロングワードデータのシンドロームコードをバンク２０Ｄの最初の１ロングワードに格納し、バンク２０Ｂの最初の４ロングワードデータのシンドロームコードをバンク２０Ｄの２番目の１ロングワードに格納する。また、バンク２０Ｃの最初の４ロングワードデータのシンドロームコードを、バンク２０Ｄの３番目の１ロングワードに格納する。バンク２０Ｄの４番目の１ロングワード長の格納領域は使用しない。以下同様に、バンク２０Ａ〜２０Ｃの４ロングワード毎に、そのシンドロームコードをバンク２０Ｄの１ロングワードに格納する。
【００２８】
バンク２０Ａ〜２０Ｃの４ロングワードのデータと、バンク２０Ｄの１ロングワードシンドロームコードとは、下記のように対応させる。最初の１ロングワードのデータのシンドロームコードは最下位の１バイトに格納し、次の１ロングワードデータのシンドロームコードは次の１バイトに格納する。同様に、次の１ロングワードデータのシンドロームコードは次の１バイトに、最後の１ロングワードデータのシンドロームコードは最上位バイトに格納する。このようにすることによりデータとシンドロームコードとの対応関係を簡単にすることができる。
【００２９】
次に、図３を用いてＳＤＲＡＭ２０のアクセス手順を説明する。なお、バンク２０Ａとバンク２０Ｄがアクティブにされており、ＣＡＳレイテンシＣＬ＝２、バースト長ＢＬ＝４に設定されているものとする。図３（Ａ）はＳＤＲＡＭ２０に格納されたデータを読み出すときのシーケンス、（Ｂ）は書き込むときのシーケンスであり、それぞれ上からクロック、コマンド、入出力データを示す。
【００３０】
読み出すときは、バンク２０Ｄの読み出しコマンドであるＲｅａｄＤと、バンク２０Ａの読み出しコマンドであるＲｅａｄＡをクロックに同期して連続して書き込む。コマンドＲｅａｄＡ書き込みの次のクロックに同期してバンク２０Ｄに格納されている１ロングワードデータＱＤ１が出力され、次にバンク２０Ａに格納されている４ロングワードのデータＱＡ１、ＱＡ２、ＱＡ３、ＱＡ４が連続して出力される。コマンドＲｅａｄＤ、ＲｅａｄＡが連続して書き込まれるので、“コマンドによるデータ割り込み機能”が働いて、バンク２０Ｄのデータは１ロングワードのみ出力される。
【００３１】
ＳＤＲＡＭ２０に書き込むときは、バンク２０Ｄにデータを書き込むコマンドＷｒｉｔｅＤと、バンク２０Ａにデータを書き込むコマンドＷｒｉｔｅＡを連続して書き込み、コマンドＷｒｉｔｅＤの書き込み時から、バンク２０Ｄに書き込むデータＤ１とバンク２０Ａに書き込むデータＡ１〜Ａ４をクロックに同期して連続して、データバス２３に出力する。データＤ１はバンク２０Ｄに書き込まれ、データＡ１〜Ａ４はこの順にバンク２０Ａに書き込まれる。
【００３２】
なお、このときもコマンドＷｒｉｔｅＤとＷｒｉｔｅＡが連続して書き込まれているので、“コマンドによるデータ割り込み機能”が働いて、バンク２０ＤにはＤ１（１ロングワード長）のみ書き込まれる。
【００３３】
図４に本発明の他の実施例を示す。図４において、３０Ａ、３０Ｂ、３０Ｃ、３０Ｄはそれぞれメモリ素子であるＤＲＡＭ(Dynamic Random Access Memory)である。この４つのＤＲＡＭで４バンクのメモリを構成している。
【００３４】
３１はメモリコントローラであり、アドレスが入力される。メモリコントローラ３１はＲＡＳＡ、ＲＡＳＢ、ＲＡＳＣ、ＲＡＳＤを出力してＤＲＡＭ３０Ａ〜３０Ｄを選択し、選択したＤＲＡＭにデータを書き込み、また格納されているデータを読み出す。
【００３５】
３２はエラーチェック部であり、書き込むデータが入力され、またエラー訂正したデータを出力する。すなわち、エラーチェック部３２は、入力されたデータからシンドロームコードを計算し、このシンドロームコードと入力されたデータをデータバス３３に出力する。また、データバス３３上のシンドロームコードからエラー訂正を行い、訂正したデータを出力する。３０Ａ〜３０ＤのＤＲＡＭ、メモリコントローラ３１、エラーチェック部３２はデータバス３３で接続される。
【００３６】
この実施例は４つのバンクを有するＳＤＲＡＭの代わりに４個のＤＲＡＭを用いた実施例である。動作は図１実施例と同じなので、説明を省略する。
【００３７】
なお、図１実施例ではＳＤＲＡＭを用いたが、複数バンクを有するメモリであれば、ＤＤＲ  ＳＤＲＡＭ(Double Data Rate SDRAM)等、他のメモリを用いることもできる。また、図４実施例では、ＤＤＲ  ＤＲＡＭ(Double Data Rate DRAM)や、バーストＳＲＡＭ(Static Random Access Memory)を用いることもできる。また、アクセス時間は長くなるが、通常のＳＲＡＭを用いることもできる。
【００３８】
また、データとシンドロームコードの格納場所あるいはデータとシンドロームコードの対応関係は、これらの実施例に限定されることはなく、任意に設定することができる。
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施例を示す構成図である。
【図２】本発明の一実施例の動作を説明するための図である。
【図３】ＳＤＲＡＭのアクセス手順を示す特性図である。
【図４】本発明の他の実施例を示す構成図である。
【図５】従来のメモリ装置の構成図である。
【図６】ＳＤＲＡＭのアクセス手順を示す特性図である。
【符号の説明】
【００４０】
２０  ＳＤＲＡＭ
２０Ａ〜２０Ｄ  バンク
２１、３１  メモリコントローラ
２２、３２  エラーチェック部
２３、３３  データバス
２４  バンク選択信号
３０Ａ〜３０Ｄ  ＤＲＡＭ
【図１】
2008027296.tif 000003
【図２】
2008027296.tif 000004
【図３】
2008027296.tif 000005
【図４】
2008027296.tif 000006
【図５】
2008027296.tif 000007
【図６】
2008027296.tif 000008