【手続補正書】
【提出日】平成19年11月5日(2007.11.5)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】          明細書
【発明の名称】      ＲＡＭモジュールにデータ語を記憶する方法と回路装置
【特許請求の範囲】
【請求項１】  ＲＡＭモジュールにデータ語を記憶する方法において、
少なくとも１つのデータ語をＲＡＭモジュールに書き込む際に少なくとも１つのデータ語からチェックビット語を発生し、
チェックビット語を記憶し、
ＲＡＭモジュールから少なくとも１つのデータ語を読み出す際に前記チェックビット語を読み出し、
読み出された少なくとも１つのデータ語から、チェックビット語を新たに発生し、
読み出された前記チェックビット語を新たに発生した前記チェックビット語と比較し、この両チェックビット語が一致しないときに、エラーメッセージを発生することを特徴とする方法。
【請求項２】  チェックビット語がパリティビットの決定によって発生させられることを特徴とする請求項１記載の方法。
【請求項３】  各データ語から１つの２ビットパリティ語を発生し、この場合各々のデータ半語からそれぞれ１つのパリティビットを決定することを特徴とする請求項２記載の方法。
【請求項４】  多数のデータ語から１つのパリティ語を発生し、このパリティ語のパリティビットをそれぞれ、すべてのデータ語の同じ桁から決定することを特徴とする請求項１または２記載の方法。
【請求項５】  ＣＲＣ語を演算することによってチェックビット語を発生することを特徴とする請求項１記載の方法。
【請求項６】  その都度多数のデータ語を１つのメモリ語にまとめ、このメモリ語から、対応するＣＲＣ語を演算することを特徴とする請求項５記載の方法。
【請求項７】  ＲＡＭモジュールにデータ語を記憶するための回路装置において、
少なくとも１つのデータ語の書き込みおよび読取りの際に少なくとも１つのデータ語からチェックビット語を発生するための第１の回路ユニット（２１）と、  データ語のためのチェックビット語を割り当てて記憶するための多数のレジスタ（１１ｉ，６１ｉ）と、
データ語を読み取る際に、割り当てられたチェックビット語を、第１の回路ユニット（２１）によって新たに発生したチェックビット語と比較し、チェックビット語が一致しないときにエラーメッセージ（Ｆ）を発生するための第２の回路ユニット（２２）とを備えていることを特徴とする回路装置。
【請求項８】  レジスタの数は、第１の２ビットパリティレジスタ（１１ｉ）によって形成され、各々のデータ語に１つの２ビットパリティレジスタが割り当てられていることを特徴とする請求項７記載の回路装置。
【請求項９】  レジスタの数は、ＣＲＣレジスタ（６１ｉ）によって形成され、それぞれ４個のデータ語に１つのＣＲＣレジスタが割り当てられていることを特徴とする請求項７記載の回路装置。
【請求項１０】  それぞれ４個のデータ語を１つのメモリ語として記憶するためのマルチプレクサ（７１）と、１つのメモリ語からＣＲＣ語を演算し、割り当てられたＣＲＣレジスタ（６１ｉ，７４）にＣＲＣ語を記憶するためのＣＲＣ演算装置（７３）とを備えていることを特徴とする請求項９記載の回路装置。
【請求項１１】  データ語が３２ビット語であり、ＣＲＣ語が９ビット語であることを特徴とする請求項１０記載の回路装置。
【請求項１２】  ビットがそれぞれすべてのデータ語の同じ桁から決定されるチェックビット語を記憶するための第２のレジスタ（１２）と、第２のレジスタ（１２）の内容から決定されるチェックビット語を記憶するための第３のレジスタ（１３）を備えていることを特徴とする請求項７〜１１のいずれか一つに記載の回路装置。
【発明の詳細な説明】
【０００１】
本発明は、特に安全上重要な用途のための、ＲＡＭモジュールにデータ語を記憶するための方法と回路装置に関する。
【０００２】
ＲＡＭ（随時書込み読み出しメモリ）モジュールは一般的に知られており、広く普及している。ＲＡＭは多数の用途のためのデータを繰り返し記憶および読み出す役目を果たす。ＲＡＭモジュールに記憶されたデータの安全性は、メモリアーキテクチャを設計する際に特別な注意を払う必要がある。公知のアーキテクチャの場合、データ安全性はモジュールの完全に冗長的な設計によって比較的に確実に保証される。しかし、この場合回路コストとシリコン接合の必要性が比較的に高いという重要な欠点がある。
【０００３】
そこで、本発明の根底をなす課題は、データ安全性に関する制約を受け入れることなく、接合の要求が大幅に少ない、ＲＡＭモジュールにデータ語を記憶するための方法と回路装置を提供することである。
（１）本発明の第１の構成によれば、ＲＡＭモジュールにデータ語を記憶する方法において、少なくとも１つのデータ語をＲＡＭモジュールに書き込む際に少なくとも１つのデータ語からチェックビット語を発生し、チェックビット語を記憶し、ＲＡＭモジュールから少なくとも１つのデータ語を読み出す際に前記チェックビット語を読み出し、読み出された少なくとも１つのデータ語から、チェックビット語を新たに発生し、読み出された前記チェックビット語を新たに発生した前記チェックビット語と比較し、この両チェックビット語が一致しないときに、エラーメッセージを発生することを特徴とする方法が得られる。
（２）本発明の第２の構成によれば、チェックビット語がパリティビットの決定によって発生させられることを特徴とする（１）記載の方法が得られる。
（３）本発明の第３の構成によれば、各データ語から１つの２ビットパリティ語を発生し、この場合各々のデータ半語からそれぞれ１つのパリティビットを決定することを特徴とする（２）記載の方法が得られる。
（４）本発明の第４の構成によれば、多数のデータ語から１つのパリティ語を発生し、このパリティ語のパリティビットをそれぞれ、すべてのデータ語の同じ桁から決定することを特徴とする（１）または（２）記載の方法が得られる。
（５）本発明の第５の構成によれば、ＣＲＣ語を演算することによってチェックビット語を発生することを特徴とする（１）記載の方法が得られる。
（６）本発明の第６の構成によれば、その都度多数のデータ語を１つのメモリ語にまとめ、このメモリ語から、対応するＣＲＣ語を演算することを特徴とする（５）記載の方法が得られる。
（７）本発明の第７の構成によれば、ＲＡＭモジュールにデータ語を記憶するための回路装置において、少なくとも１つのデータ語の書き込みおよび読取りの際に少なくとも１つのデータ語からチェックビット語を発生するための第１の回路ユニット（２１）と、  データ語のためのチェックビット語を割り当てて記憶するための多数のレジスタ（１１ｉ，６１ｉ）と、データ語を読み取る際に、割り当てられたチェックビット語を、第１の回路ユニット（２１）によって新たに発生したチェックビット語と比較し、チェックビット語が一致しないときにエラーメッセージ（Ｆ）を発生するための第２の回路ユニット（２２）とを備えていることを特徴とする回路装置が得られる。
（８）本発明の第８の構成によれば、レジスタの数は、第１の２ビットパリティレジスタ（１１ｉ）によって形成され、各々のデータ語に１つの２ビットパリティレジスタが割り当てられていることを特徴とする（７）記載の回路装置が得られる。
（９）本発明の第９の構成によれば、レジスタの数は、ＣＲＣレジスタ（６１ｉ）によって形成され、それぞれ４個のデータ語に１つのＣＲＣレジスタが割り当てられていることを特徴とする（７）記載の回路装置が得られる。
（１０）本発明の第１０の構成によれば、それぞれ４個のデータ語を１つのメモリ語として記憶するためのマルチプレクサ（７１）と、１つのメモリ語からＣＲＣ語を演算し、割り当てられたＣＲＣレジスタ（６１ｉ，７４）にＣＲＣ語を記憶するためのＣＲＣ演算装置（７３）とを備えていることを特徴とする（９）記載の回路装置が得られる。
（１１）本発明の第１１の構成によれば、データ語が３２ビット語であり、ＣＲＣ語が９ビット語であることを特徴とする（１０）記載の回路装置が得られる。
（１２）本発明の第１２の構成によれば、ビットがそれぞれすべてのデータ語の同じ桁から決定されるチェックビット語を記憶するための第２のレジスタ（１２）と、第２のレジスタ（１２）の内容から決定されるチェックビット語を記憶するための第３のレジスタ（１３）を備えていることを特徴とする（７）〜（１１）のいずれか一つに記載の回路装置が得られる。
【０００４】
上述の課題は（１）記載の方法に従い、少なくとも１つのデータ語をＲＡＭモジュールに書き込む際に少なくとも１つのデータ語からチェックビット語を発生し、チェックビット語を記憶し、ＲＡＭモジュールから少なくとも１つのデータ語を読み出す際に前記チェックビット語を読み出し、読み出された少なくとも１つのデータ語から、チェックビット語を新たに発生し、読み出された前記チェックビット語を新たに発生した前記チェックビット語と比較し、この両チェックビット語が一致しないときに、エラーメッセージを発生することによって解決される。
【０００５】
上述した課題は更に、（７）記載の装置に従い、少なくとも１つのデータ語の書き込みおよび読取りの際に少なくとも１つのデータ語からチェックビット語を発生するための第１の回路ユニットと、データ語のためのチェックビット語を割り当てて記憶するための多数のレジスタと、データ語を読み取る際に、割り当てられたチェックビット語を、第１の回路ユニットによって新たに発生したチェックビット語と比較し、チェックビット語が一致しないときにエラーメッセージを発生するための第２の回路ユニットとを備えていることによって解決される。
【０００６】
この解決策の特別な利点は、冒頭に述べた完全に冗長的な設計の場合とほぼ同じデータ信頼性で、必要なシリコン接合、ひいては回路設計努力およびコストが大幅に低減されることにある。
【０００７】
第１及び７以外の構成（従属請求項）は本発明の有利な実施例に対応している。
【０００８】
本発明の他の詳細、特徴および効果は、図に基づく好ましい実施の形態の次の説明から明らかになる。
【０００９】
ＲＡＭモジュールは図１に従って、多数の３２ビットのデータ語レジスタ１０ａ・・・１０ｉ・・・１０ｘからなる語指向のアレイ１０を含んでいる。このデータ語は互いに列をなして配置して示してある。各々のデータ語レジスタには２ビットのパリティ語レジスタ１１ａ・・・１１ｉ・・・１１ｘが割り当てられている。それによって、２ビットのパリティアレイ１１が生じる。更に、３２ビットのパリティ語レジスタ１２が設けられ、このパリティ語レジスタには２ビットのパリティ語レジスタ１３が割り当てられている。
【００１０】
データ交換のために、この構造体は公知のごとくバスインターフェースユニット１４に接続されている。このバスインターフェースユニットを介してＣＰＵバスとの接続を行うことができる。バスインターフェースユニット１４は更に、図２，３に示した書込み操作および読取り操作時にパリティ語を発生および比較するための回路ユニットを備えている。
【００１１】
ＲＡＭモジュールに書き込むために、図２に従って、当該のデータ語が３２ビットデータバス２０から第１の回路ユニット２１に送られる。この第１の回路ユニットによって、各々のデータ語について２ビットのパリティ語が発生させられる。続いて、データ語はＲＡＭモジュール内のデータ語レジスタ１０ｉに書き込まれ、２ビットパリティ語は関連する２ビットパリティ語レジスタ１１ｉに書き込まれる。
【００１２】
ＲＡＭモジュールからデータ語を読み取るために、図３に従って、アドレス指定されたデータ語が先ず最初に第１の回路ユニット２１に送られる。同時に、関連する２ビットパリティ語が第２の回路ユニット２２に伝送される。第１の回路ユニット２１では、読み出されたデータ語から２ビットパリティ語が発生させられる。このパリティ語は第２の回路ユニット２２に送られ、そこでＲＡＭモジュールから直接読み出された２ビットパリティ語と比較される。この両パリティ語が一致していないと、エラー信号Ｆが発生させられるかまたは適当なエラーフラグがセットされる。２ビットパリティ語が一致すると、読み出されたデータ語がデータバス２０に伝送される。
【００１３】
図４では、各３２ビットデータ語が第１と第２の１６ビット半語ＨＷからなっている。この場合、各半語から２ビットパリティ語のビットＢが発生させられる。
【００１４】
これらの語指向のパリティを自動的に発生および自動的に比較することにより、ＲＡＭモジュールからの読み出し時に、個々のビット誤りを直ちに“オンライン”で検出することができる。
【００１５】
一層高いエラー防止性を達成するために、２ビットパリティ発生は、各々のデータ語について多項式で計算されたＣＲＣ（周期的冗長検査）語を有するＣＲＣチェックによって置き換えることができる。データ語の長さとＣＲＣ語の長さの適切な比を達成するために、メモリアーキテクチャは、記憶されたデータ語（メモリ語）の長さがデータバスにおけるデータ語の長さの数倍になるように選定される。３２ビットのデータ語長さの場合、メモリ語は好ましくは１２８ビットの長さを有し、最適なエラー防止のためのＣＲＣ語は９ビットの長さを有する。
【００１６】
図５はバスインターフェースユニット１４を介して３２ビットデータバス（図示していない）に接続された然るべき構造体を示している。
【００１７】
ＲＡＭモジュールは互いに列状に配置して示した多数の１２８ビットメモリ語レジスタ６０ａ・・・６０ｘからなるアレイ６０を備えている。各々のメモリ語レジスタには、例えばそれぞれ９ビットを有するＣＲＣレジスタ６１ａ・・・６１ｘが割り当てられている。それによって、ＣＲＣアレイ６１が生じる。
【００１８】
アレイ６０とバスインターフェースユニット１４の間には、ユニット７０が接続配置されている。このユニットはそれぞれ４つの３２ビットデータ語のためのマルチプレクサ７１と、４つの３２ビットデータ語を収容するためのＣＲＣ演算レジスタ７２を備えている。ユニット７０は更に、ＣＲＣ演算装置７３を備えている。このＣＲＣ演算装置によって、９ビットＣＲＣ語が１２８ビットＣＲＣ演算レジスタ７２から公知の計算方法で計算され、バスインターフェースユニット１４に接続された９ビットＣＲＣレジスタ７４に一時記憶される。
【００１９】
書込みと読取り操作は図２，３に示した方法とほぼ同じ方法で行われる。
【００２０】
ＲＡＭモジュールに書き込む際にその都度、バスインターフェースユニット１４を経て供給された４つの３２ビットデータ語がマルチプレクサ７１によって、１２８ビットＣＲＣ演算レジスタ７２に周期的に順々に記憶されるので、１２８ビットメモリ語が生じる。これから、ＣＲＣ演算装置７３によって９ビットＣＲＣ語が計算され、９ビットＣＲＣレジスタ７４に記録される。続いて、１２８ビットＣＲＣ演算レジスタ７２の内容がＲＡＭアレイの１２８ビットメモリ語レジスタ６０ｉの一つに記憶され、９ビットＣＲＣレジスタ７４の内容が関連する９ビットＣＲＣ語レジスタ６１ｉに記憶される。
【００２１】
新しい３２ビットデータ語（または小さな語単位）をＲＡＭモジュールに書き込む際に、当該の１２８ビットメモリ語レジスタ６０ｉのＣＲＣ語を新たに計算する必要がある。これは、新しいデータ語を書き込む前に先ず最初に当該の１２８ビットメモリ語レジスタ６０ｉの内容を完全に読み出し、ＣＲＣ演算レジスタ７２に記憶しなければならないことを意味する。それによって、ＣＲＣ演算装置７３によって新しいデータ語に基づいて、９ビットＣＲＣ語が新たに演算され、ＣＲＣレジスタ７４に記憶される。両レジスタ７２，７４の内容は対応するレジスタ６０ｉ，６１ｉに伝送される。
【００２２】
新しい３２ビットデータ語を書き込む前に、例えばソフトウェアによって所定の時間間隔でトリガされるエラーチェックを行うべきである場合に、上述のように先ず最初に、当該の１２８ビットメモリ語レジスタ６０ｉの内容と、対応するＣＲＣレジスタ６１ｉの内容が読み出される。続いて、ＣＲＣ演算装置７３によって新たに９ビットＣＲＣ語が発生させられ、読み出されたＣＲＣ語と比較される。この両ＣＲＣ語が一致しないと、エラー信号Ｆ（または対応すエラーフラグ）が発生させられる。ＣＲＣ語が一致すると、上述のように、新しい３２ビットデータ語を含む１２８ビットメモリ語から、新しい９ビットＣＲＣ語が演算され、両者が対応する１２８ビットメモリ語レジスタ６０ｉまたはＲＡＭモジュールの対応する９ビットＣＲＣレジスタ６１ｉに読み込まれる。
【００２３】
エラーチェックは、データバス２０のＲＡＭモジュールからデータ語を読み出すべきときにも行うことができる。そのために、当該のデータ語を含むメモリ語レジスタ６０ｉの内容はＣＲＣ演算レジスタ７２に伝送され、それから新たにＣＲＣ語が演算計算される。このＣＲＣ語は対応するＣＲＣ語レジスタ６１ｉに記憶されたＣＲＣ語と比較される。両語が一致しないと、エラーメッセージＦが発生させられるかあるいは然るべきエラーフラグがセットされる。両語が一致すると、読み出された３２ビットデータ語がデータバス２０に伝送される。続いて、ＣＲＣ演算レジスタ７２の内容が対応する１２８ビットメモリ語レジスタ６０ｉに戻される。
【００２４】
図６は３２ビットデータ語のための複数のメモリ語レジスタ１０ａ，１０ｂ・・・１０ｘと、３２ビットパリティ語レジスタ１２を示している。この場合、各々の桁について、例示的に値０または１を有するビットが示してある。
【００２５】
図４，５に示した語指向のチェックビット発生と異なり、図６では、カラム指向のパリティが発生させられる。このパリティの場合、すべてのデータ語のそれぞれ同じ桁について１つのパリティビットが決定される。このパリティビットは３２ビットパリティ語レジスタ１２の関連する桁に書き込まれる。これにより、３２ビットパリティ語が生じる。更に、この３２ビットパリティ語について、語指向のパリティに関する図４に基づく説明と同様に、２ビットパリティ語を発生し、２ビットパリティ語レジスタ１３（図１参照）に記憶することができる。前述と同様に更に、図５の実施の形態の場合カラム指向のパリティチェックを１２８ビットの長さのデータ語によって行うことができる。
【００２６】
ＲＡＭモジュールの１つの語レジスタ１０ｉへの新しいデータ語の書込み中、先ず最初にＲＡＭモジュール内の書き込むべきメモリ桁のデータ語の内容、すなわち例えば３２ビットデータ語レジスタ１０ｉと３２ビットパリティ語レジスタ１２の内容が読み出される。続いて、カラム指向の３２ビットパリティ語が新たに決定されて書き込まれる。
【００２７】
それに続いて、新しいデータ語が対応するデータ語レジスタ１０ｉに再書込みされ、３２ビットパリティ語レジスタ１２の内容が新たに決定される。続いて、３２ビットパリティ語に関して再び２ビットパリティを発生し、２ビットパリティ語レジスタ１３（図１参照）に記憶することができる。
【００２８】
普通の読み取り操作の間、好ましくはエラーチェックは行われない。付加的なエラーチェックは、前述のように例えば読取り操作の間の時点で、すべてのデータ語レジスタ１０ｉの内容を読み出し、カラム指向の３２ビットパリティ語を新たに発生し、そしてパリティ語レジスタ１２に記憶されたパリティ語と比較することによって行うことができる。パリティ語が一致しないと、エラーメッセージＦが発生させられるかあるいは適当なエラーフラグがセットされる。パリティ語が一致すると、読み出されたデータ語がデータバス２０に伝送される。ここで説明した、ＲＡＭ全体のカラム指向のエラーチェックについての実施の形態は、書込み操作または読取り操作時には適切ではなく、所定の時間の時間間隔をおいて行われる。この時間間隔は使用されるソフトウェアによって設定することができる。このエラーチェックを行うか否かの決定は好ましくは使用されるソフトウェアによって行われる。
【００２９】
３２ビットパリティ語の２ビットパリティ語はデータ語の２ビットパリティ語について図２〜４に基づいて説明した方法と同じ方法で、エラーチェックを行うために使用可能である。
【００３０】
カラム指向のパリティの代わりに、カラム指向のＣＲＣ（周期的冗長検査）サムを求め、エラーチェックのために使用することができる。この場合にも、語の書込みおよびまたは読み取りの前に、先ず最初にすべてのデータ語レジスタ１０ｉとチェックビットレジスタ１２の内容が読み出され、新たにＣＲＣ語が決定される。このＣＲＣ語が記憶されたＣＲＣ語と一致しないときには、エラーメッセージＦが発生させられるかあるいは対応するエラーフラグがセットされる。両ＣＲＣ語が一致すると、書込み操作または読み取り操作が、カラム指向のパリティ語発生について上述したように決定される。
【００３１】
カラム指向のパリティと周期的に行われるパリティチェックまたはＣＲＣチェックサムと周期的なＣＲＣ演算によって更に、アドレスデコーダ内のエラーと二重ビットエラーと他のエラーを検出することができる。チェックまたは演算は好ましくは適当なソフトウェアによって行われる。
【図面の簡単な説明】
【図１】
第１のメモリアーキテクチャを概略的に示す図である。
【図２】
書込み操作の過程を概略的に示す図である。
【図３】
読み取り操作の過程を概略的に示す図である。
【図４】
語指向のパリティの発生を示す図である。
【図５】
第２のメモリアーキテクチャを概略的に示す図である。
【図６】
カラム指向のパリティの発生を示す図である。