JP3638729B2 - Data storage control method and apparatus - Google Patents
Data storage control method and apparatus Download PDFInfo
- Publication number
- JP3638729B2 JP3638729B2 JP23670796A JP23670796A JP3638729B2 JP 3638729 B2 JP3638729 B2 JP 3638729B2 JP 23670796 A JP23670796 A JP 23670796A JP 23670796 A JP23670796 A JP 23670796A JP 3638729 B2 JP3638729 B2 JP 3638729B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- cpu
- interrupt
- main storage
- 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 - Lifetime
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、コンピュータシステムにおける主記憶装置をECC実行により高信頼性を維持しつつ、高速アクセス可能なデータ記憶制御方法及び装置に関する。
【0002】
【従来の技術】
CPUの中には主記憶装置への高速アクセスを狙いとして、内部に主記憶装置の内容の一部を格納するキャッシュメモリを有するものがある。このようなCPUにおいては、キャッシュメモリにミスヒットした場合、アクセスデータのアドレスと下位の固定長ビットのみアドレスが異なるデータを連続して主記憶装置から読み出し、キャッシュメモリに格納して、キャッシュメモリの内容を更新する。
【0003】
この際、ライトバックキャッシュメモリの場合は、キャッシュメモリの更新される部分に格納されていたデータを、キャッシュメモリの更新前に主記憶装置に書き戻す。この際の主記憶装置へのアクセスも、主記憶装置へのアクセスデータと下位の固定ビットのみ異なるデータの連続した書き込みである。
【0004】
このような、アクセスデータのアドレスと下位の固定長ビットのみアドレスが異なるデータを連続してアクセスすることをバーストアクセスという。リードはバーストリード、ライトはバーストライトという。
【0005】
メモリ素子の中には、連続したアドレスへのアクセスの高速化を目的として、バーストアクセス可能なものがある。最近のCPUでは、キャッシュメモリの内容の更新の高速化を目的として、上記メモリ素子に対応した、バースト転送用の外部バスI/F(インターフェース)を備えるものがある。
【0006】
通常の外部バスI/Fでは、ウェイト信号により、外部で1つのバスサイクルの長さを制御できるが、メモリ素子のバーストアクセスには対応しておらず、キャッシュメモリの内容の更新の際は、1つのバスサイクルを繰り返し行うことによって対応する。
【0007】
バースト転送用の外部バスI/Fは、1つのバスサイクルでバーストアクセスを完了することができ、通常のバスI/Fよりも高速に、キャッシュメモリの内容を更新できる。一般的にCPUのバースト転送用の外部バスI/Fは、バスサイクルの長さが固定であり、ウェイト信号により、外部から1つのバスサイクルの長さを制御することはできない。
【0008】
また、半導体の分野では、微細化技術が著しく進展している。各種メモリ素子では、この微細化技術の進展によりメモリ素子1個あたりの記憶容量が増大する反面、記憶セル1個の占める体積の縮小による蓄積電荷量の減少や、微小欠陥の発生確率の高まり、動作の高速化に伴う電気的なノイズの印加等の外部要因により、データ中のエラービットの発生確率が高くなる。
【0009】
メモリ装置におけるデータの信頼性向上の方法としては、ECC機構が知られている。ECC機構では、拡張ハミングコードを用いてデータビットよりチェックビットを生成し、データビットとチェックビットとをメモリ装置に書き込む。そして、読み出し時にはメモリ装置から読み出したデータビットとチェックビットとによりシンドロームを生成し、このシンドロームにより1ビットの誤り訂正及び2ビットの誤り検出を行う。
【0010】
【発明が解決しようとする課題】
ところで、従来、主記憶に対してECC機構によりエラー検出訂正を実行する場合、通常の外部バスI/Fを使用していた。主記憶装置の読みだしアクセス時にECC機構により1ビットエラーが検出された場合、CPUには、ECC機構により訂正されたデータが送られると共に、主記憶装置には訂正後のデータが書き込まれ、主記憶装置の内容が訂正される。この際、エラーが検出されない場合の読み出しアクセスよりも、主記憶装置の書き込みの時間だけバスサイクルが長くなるが、ウェイト信号によってバスサイクルの長さが制御される。
【0011】
上述した通常の外部バスI/Fではなく、バースト転送用I/Fを使用してECC機構によるエラー検出訂正を実施した場合、通常の外部バスI/Fを使用した場合よりも高速にキャッシュメモリの内容の更新を行うことができる。
【0012】
しかし、主記憶装置の読み出しアクセス時に、ECC機構により1ビットエラーが検出された場合、CPUには、ECC機構により訂正されたデータが送られるが、バースト転送用I/Fはバスサイクルの長さが固定であるため、ウェイトさせることができず、主記憶装置に訂正データを書き込んで主記憶装置の内容を訂正することができない。
この場合、主記憶装置のデータを、1ビットの誤りを含んだままにしておくと、訂正不可能な2ビットエラーが発生する確率が高くなり、主記憶装置の信頼性が低くなる。
【0013】
本発明の目的は、CPUのバースト転送用I/Fを使用して、キャッシュメモリの内容の更新を高速に行うと共に、ECC機構により1ビットエラーが検出された場合に、主記憶装置の内容を訂正可能なデータ記憶制御方法及び装置を実現することである。
【0014】
【課題を解決するための手段】
(1)上記目的を達成するため、本発明は次のように構成される。すなわち、連続したアドレスのデータを転送するバースト転送用の外部バスインタフェースを有するCPUと、主記憶手段と、データの誤り検出訂正を行うECC実行部とを有するコンピュータシステムのデータ記憶制御方法において、CPUから上記主記憶手段へのデータの読み出しが要求され、読み出されたデータに誤りがあることが上記ECC実行部に検出されたときに、誤りのあるデータのアドレスを保持し、上記ECC実行部によりデータの誤りが検出された際に、割込み情報を保持し、上記CPUに割込み要求を行い、CPUの割込み処理ルーチンにて、CPUを割込み禁止にし、主記憶手段から上記保持されたアドレスと下位の固定長ビットのみアドレスの異なる複数のデータを読み出し、上記読み出した複数のデータを上記ECC実行部により誤り訂正を実行し、誤りを訂正した複数のデータを上記CPUが主記憶手段に書き戻し、上記割込み情報をクリアし、CPUを割込み許可状態とする。
【0015】
CPUのバースト転送用I/Fを使用して、主記憶手段からCPU内のキャッシュメモリへ、又はキャッシュメモリから主記憶手段へ、ECC実行部を介してデータ転送を実行する場合に、1ビットエラーが検出されたデータのアドレスを保持しておく。そして、CPUの割り込みを禁止し、保持したアドレスのデータのエラー訂正を実行した後に、これらのデータを主記憶手段に書き込み、CPUの割り込み禁止を解除する。
したがって、CPUのバースト転送用I/Fを使用して、キャッシュメモリの内容の更新を高速に行うと共に、ECC実行部により1ビットエラーが検出された場合に、主記憶手段の内容を訂正可能なデータ記憶制御方法を実現することができる。
【0016】
(2)また、連続したアドレスのデータを転送するバースト転送用の外部バスインタフェースを有するCPUと、ダイレクトメモリアクセス可能なDMAデバイスと、主記憶手段と、データの誤り検出訂正を行うECC実行部とを有するコンピュータシステムのデータ記憶制御方法において、CPU又はDMAデバイスから上記主記憶手段へのデータの読み出しが要求され、読み出されたデータに誤りがあることが上記ECC実行部に検出されたときに、誤りのあるデータのアドレスを保持し、上記ECC実行部によりデータの誤りが検出された際に、割込み情報を保持し、上記CPUに割込み要求を行い、CPUの割込み処理ルーチンにて、上記DMAデバイスによるダイレクトメモリアクセスを禁止すると共に、CPUを割込み禁止にし、主記憶装置から上記保持されたアドレスと下位の固定長ビットのみアドレスの異なる複数のデータを読み出し、上記読み出した複数のデータを上記ECC実行部により誤り訂正を実行し、誤りを訂正した複数のデータを上記CPUが主記憶装置に書き戻し、上記割込み情報をクリアし、上記DMAデバイスによるダイレクトメモリアクセスを許可状態とすると共に、CPUを割込み許可状態とする。
【0017】
(3)また、連続したアドレスのデータを転送するバースト転送用の外部バスインタフェースを有するCPUと、主記憶手段と、データの誤り検出訂正を行うECC実行部とを有するコンピュータシステムのデータ記憶制御装置において、CPUから上記主記憶手段へのデータの読み出しが要求され、読み出されたデータに誤りがあることが上記ECC実行部に検出されたときに、誤りのあるデータのアドレスを保持するアドレス保持部と、CPUの割り込み情報を保持する割り込み情報保持部と、上記ECC実行部によりデータの誤りが検出された際に、上記割込み情報保持部に割り込み情報を設定し、上記CPUに割込み要求を行い、CPUの割込み処理ルーチンにて、CPUを割込み禁止にし、主記憶手段から上記アドレス保持部に保持されたアドレスと下位の固定長ビットのみアドレスの異なる複数のデータを読み出し、読み出した複数のデータを上記ECC実行部により誤り訂正を実行し、誤りを訂正した複数のデータを上記CPUが主記憶装置に書き戻し、上記割込み情報保持部の割り込み情報をクリアし、CPUを割込み許可状態とする制御部とを備える。
【0018】
CPUのバースト転送用I/Fを使用して、主記憶手段からCPU内のキャッシュメモリへ、又はキャッシュメモリから主記憶手段へ、ECC実行部を介してデータ転送を実行する場合に、1ビットエラーが検出されたデータのアドレスをアドレス保持部に保持しておく。そして、制御部により、CPUの割り込みが禁止され、アドレス保持部に保持されたアドレスのデータを、ECC実行部によりエラー訂正を実行させた後に、これらのデータを主記憶手段に書き込み、CPUの割り込み禁止を解除する。
したがって、CPUのバースト転送用I/Fを使用して、キャッシュメモリの内容の更新を高速に行うと共に、ECC実行部により1ビットエラーが検出された場合に、主記憶手段の内容を訂正可能なデータ記憶制御装置を実現することができる。
【0019】
(4)また、連続したアドレスのデータを転送するバースト転送用の外部バスインタフェースを有するCPUと、ダイレクトメモリアクセス可能なDMAデバイスと、主記憶手段と、データの誤り検出訂正を行うECC実行部とを有するコンピュータシステムのデータ記憶制御装置において、CPU又はDMAデバイスから上記主記憶手段へのデータの読み出しが要求され、読み出されたデータに誤りがあることが上記ECC実行部に検出されたときに、誤りのあるデータのアドレスを保持するアドレス保持部と、CPUの割り込み情報を保持する割り込み情報保持部と、上記DMAデバイスの制御情報を保持するDMA制御情報保持部と、上記ECC実行部によりデータの誤りが検出された際に、上記割込み情報保持部に割り込み情報を設定し、上記CPUに割込み要求を行い、CPUの割込み処理ルーチンにて、DMA制御情報部にDMA制御情報を設定し、上記DMAデバイスによるダイレクトメモリアクセスを禁止すると共に、CPUを割込み禁止にし、主記憶手段から上記アドレス保持部に保持されたアドレスと下位の固定長ビットのみアドレスの異なる複数のデータを読み出し、読み出した複数のデータを上記ECC実行部により誤り訂正を実行し、誤りを訂正した複数のデータを上記CPUが主記憶装置に書き戻し、上記割込み情報保持部の割り込み情報をクリアし、CPUを割込み許可状態とし、上記DMA制御情報保持部の制御情報をクリアし、上記DMAデバイスによるダイレクトメモリアクセスを許可状態とする制御部とを備える。
【0020】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面を用いて説明する。
図1は本発明の一実施形態であるデータ記憶制御装置の全体概略構成図である。図1において、1は連続したアドレスのデータを転送するバースト転送用の外部バスインタフェース及びキャッシュメモリ1Cを有するCPUであり、2はDMA(ダイレクトメモリアクセス)実行可能なデバイスである。
【0021】
3は、主記憶装置6からのデータの誤り検出訂正を行うECC実行部であり、4はアドレス保持部である。このアドレス保持部4は、ECC実行部3による主記憶装置6からのデータ読み出し時に1ビットエラーが検出された際に、1ビットエラーを含むデータのアドレスを保持する。
【0022】
5aは割込み情報保持部であり、この割り込み情報保持部5aは、ECC実行部3により主記憶装置6からのデータ読み出し時に1ビットエラーが検出された際にセットされる。
【0023】
5bはDMA制御情報保持部であり、このDMA制御情報保持部5bがセットされると、主記憶装置6へのDMAデバイス2のアクセスが禁止される。5は制御部であり、割込み情報保持部5aと、DMA制御情報保持部5bとを有する。そして、この制御部5は、主記憶装置6へのアクセス及びECC実行部3及びアドレス保持部4を制御し、割込み保持部5aがセットされた際に、制御線7に含まれる割込み要求線を介してCPU1に割込み要求をする。
【0024】
8はアドレスバス、9はデータバス、10はメモリ制御線、11はメモリアドレスバス、12はメモリデータバスである。また、13はシステム制御線であり、制御部5はシステム制御線13を介してECC実行部3及びアドレス保持部4を制御する。14は1ビットエラー報告線で、ECC実行部3は1ビットエラー検出時に1ビットエラー報告線14を介して制御部5に、その報告を行う。
【0025】
図2及び図3は、CPU1の通常の外部バスI/Fを用いた場合のリードサイクル及びライトサイクルを示すタイミングチャートであり、バスサイクル最小の場合の例である。そして、図2及び図3の例では、バスサイクルの長さは3バスクロックサイクルである。
【0026】
CPU1の外部バスI/Fは、各バスクロックの立ち上がりで外部からのウェイト信号をサンプリングし、ウェイト信号の値が“H”レベルであれば、そのバスクロックでバスサイクルを終了させる。
【0027】
図4及び図5は、CPU1の通常の外部バスI/Fを用いた場合であって、外部から3バスクロックサイクルだけウェイトサイクルを挿入した場合のタイミングチャートである。そして、図4がリードサイクルで、図5がライトサイクルである。図4及び図5に示した例は、図2及び図3に示した例に比べて、ウェイト信号が“L”レベルである期間が3バスクロックサイクルだけ長い。
【0028】
図6及び図7は、CPU1のバースト転送用外部バスI/Fを用いた場合であって、転送長が4の場合のタイミングチャートである。バースト転送であるので、アドレスA1、A2、A3、A4は、互いに下位のビットのみが異なる。また、データD1、D2、D3、D4は、それぞれアドレスA1、A2、A3、A4に格納されたデータである。 CPU1のバースト転送用外部バスI/Fは、バスサイクルの長さが固定長であり、外部からウェイト信号によりバスサイクルの長さを制御することはできない。
【0029】
従来においては、主記憶装置6に対してECC機構によるエラー検出訂正を実行する場合、CPU1の通常の外部バスI/Fを使用していた。つまり、主記憶装置6の読み出しアクセス時に、ECC実行部3により1ビットエラーが検出された場合、CPU1には、ECC実行部3より訂正されたデータが送られると共に、主記憶装置6には訂正後のデータが書き込まれ、主記憶装置6の内容が訂正される。
【0030】
このエラーが検出された場合には、エラーが検出されない場合の読み出しアクセスよりも、主記憶装置6の書き込みの時間だけバスサイクルが長くなるが、ウェイト信号によってバスサイクルの長さが制御される。
【0031】
図8は、通常の外部バスI/Fを使用し、主記憶装置6の読み出しアクセス時にECC実行部3により1ビットエラーが検出された場合のバスサイクルを示すタイミングチャートである。図8において、メモリ素子リードアクセスサイクルがエラーが検出されない場合の読み出しアクセスである。そして、エラーが検出された場合は、メモリリードアクセスサイクルに、メモリ素子ライトアクセスサイクルが追加される。このメモリ素子ライトアクセスサイクルが、主記憶装置6の内容の訂正によりバスサイクルが延長される部分である。
【0032】
なお、メモリ素子リードアクセスサイクルにおいては、メモリ素子アクセス時間が60ns、ECC時間が15nsである。また、メモリ素子ライトアクセスサイクルにおいては、メモリ素子アクセス時間が45nsとなっている。
【0033】
図9は、本発明の一実施形態におけるCPU1の主記憶装置6への書き込みアクセス動作を表している。図9において、CPU1の書き込みデータは、データバス9を介してECC実行部3に送られる。そして、ECC実行部3に送られた書き込みデータは、このECC実行部3にて、チェックビットが生成され、CPU1の書き込みデータとチェックビットが、メモリデータバス12を介して主記憶装置6に書き込まれる。
【0034】
図10は、本発明の一実施形態における主記憶装置6への読み出しアクセスの動作フローチャートである。図10のステップ100において、CPU1又はDMAデバイス2により主記憶装置6へリードアクセスがあると、ステップ101に進み、主記憶装置6からデータが読み出される。次に、ステップ102において、主記憶装置6からの読み出しデータは、ECC実行部3によりエラーの検出が行われる。そして、ステップ103において、主記憶装置6からの読み出しデータに1ビットエラーがない場合は、ステップ104に進み、CPU1又はDMAデバイス2に読み出しデータが送られ、主記憶装置6への読み出しアクセスサイクルが終了する。
【0035】
ステップ103において、主記憶装置6からの読み出しデータから1ビットエラーが検出された場合、ステップ105に進み、アドレス保持部4に1ビットエラーが検出されたデータのアドレスを格納する。次に、ステップ106において、割込み情報保持部5aをセットし、ステップ107において、制御部5から制御線7を介してCPU1に割込みを要求する。そして、ステップ108において、CPU1又はDMAデバイス2に1ビットエラー訂正後のデータが送られ、主記憶装置6への読み出しアクセスサイクルが終了する。
【0036】
図11は、CPU1の主記憶6装置への読み出しアクセスにおいて、主記憶装置6からの読み出しデータに1ビットエラーがない場合の動作を表している。また、図12は、CPU1の主記憶装置6への読み出しアクセスにおいて、主記憶装置6からの読み出しデータに1ビットエラーがある場合の動作を表している。
【0037】
図12に示した動作は、図11に示した動作に加え、ECC実行部3から制御部5に1ビットエラー報告線14を介しての1ビットエラーの報告、割込み情報保持部5aのセット及び制御部5からの制御線7の中の割込み要求線を介してのCPU1への割込み要求の動作が加わっている。また、CPU1には、ECC実行部3によりエラー訂正後のデータが送られる。
【0038】
本発明の一実施形態においては、ECC実行部3により、1ビットエラーが検出された場合、主記憶装置6の内容の訂正は、制御部5により要求された割込みの処理ルーチンで行う。
【0039】
図13は、上記割込み処理ルーチンにおける主記憶装置6の内容訂正の動作フローチャートである。主記憶装置6の内容は、ECC実行部3により訂正されたデータを主記憶6に書き戻せば訂正される。具体的には、主記憶装置6の1ビットエラーが発生したアドレスからCPU1が読み出しを行い、読み出したデータを主記憶装置6に書き戻せばよい。
【0040】
この読み出しと書き戻しの間に、主記憶装置6の1ビットエラーの発生したアドレスに新たにデータが書き込まれた場合、主記憶装置6への訂正データ書き戻しにより主記憶装置6の内容が古いデータに戻される恐れがある。1ビットエラーの発生したアドレスへの新たなデータの書き込みはDMAデバイス2によるか、CPU1の1ビットエラー割込みよりもレベルの高い割込み処理ルーチンにより行われる。
【0041】
そこで、本発明の一実施形態においては、図13のステップ200及び201に示すように、1ビットエラー発生アドレスからの読み出しと書き戻しの前にDMA制御情報保持部5bをセットし、DMAを禁止し、CPU1を割込み禁止状態にする。これにより、1ビットエラー発生アドレスへの新たなデータの書き込みを禁止している。
【0042】
そして、ステップ202において、制御部5はアドレス保持部4に格納されたエラー発生アドレスを読み出す。次に、ステップ203において、読み出したエラー発生アドレスからバーストで、つまり連続して主記億装置6からデータを読み出す。そして、ステップ204において、エラー訂正されたデータを、主記憶装置6のエラーが発生したアドレスにバーストで書き込む。
【0043】
次に、ステップ205において、制御部5は、割り込み情報保持部5aの内容をクリアし、割り込み要求を解除する。続いて、ステップ206において、制御部5は、CPU1を割り込み許可状態とする。そして、ステップ207において、DMA制御情報保持部5bの内容をクリアし、DMAを許可する。
なお、アドレス保持部4には、1ビットエラーの発生した最新のアドレスが格納されているため、バースト転送にて1ビットエラーが複数回発生した場合は、最後の1ビットエラー発生アドレスのみがアドレス保持部4に格納される。本発明の一実施形態においては、1ビットエラー発生アドレスからの読み出しと訂正データの書き戻しとをバーストで行うことにより、バースト転送において複数回1ビットエラーが発生した場合にも対応している。図14は、アドレス保持部4からの1ビットエラー発生アドレスの読み出し動作を示している。
【0044】
図15は、CPU1の通常の外部バスI/Fを使用した例であって、主記憶装置6にバーストモードを備えるDRAMを使用した場合の、主記憶装置6からCPU1のキャッシュメモリ1Cへのデータの転送例におけるタイミングチャートである。この図15に示すように、CPU1の通常の外部バスI/Fを使用した場合、4つのデータを転送するためには、1回のリードアクセスを4回実行しなければならないことになる。
【0045】
図16は、CPU1のバースト転送用の外部バスI/Fを使用した例であって、主記憶装置6にバーストモードを備えるDRAMを使用した場合の、主記憶装置6からCPU1のキャッシュメモリ1Cへのデータの転送例におけるタイミングチャートである。
【0046】
この図16に示すように、DRAMの連続アクセスを高速に実行できるバーストモードを使用するため、主記憶装置6からCPU1のキャッシュメモリ1Cへのデータ転送を高速に行うことができる。図16では、バーストモード使用により一定間隔で連続してデータが読み出されている。
【0047】
ここで、主記憶装置6のリードアクセス時間を60ns、バーストモードによるデータ読み出し間隔を10ns、ECC実行時間を15nsとして、図15に示した例と、図16に示した例とを比較する。この比較結果から、CPU1のバースト転送用の外部I/Fを使用することにより、通常の外部バスI/Fを使用するよりも主記憶装置6からCPU1のキャッシュメモリへデータの転送を195ns(300ns−105ns)短縮できる。
【0048】
図17は、CPU1の通常の外部バスI/Fを使用した例であって、主記憶装置6にバーストモードを備えるDRAMを使用した場合の、CPU1のキャッシュメモリ1Cから主記憶装置6へのデータの転送例におけるタイミングチャートである。この図17に示すように、CPU1の通常の外部バスI/Fを使用した場合、4つのデータを転送するためには、1回のライトアクセスを4回実行しなければならないことになる。
【0049】
図18は、CPU1のバースト転送用の外部バスI/Fを使用した例であって、主記憶装置6にバーストモードを備えるDRAMを使用した場合の、CPU1のキャッシュメモリ1Cから主記憶装置6へのデータの転送例におけるタイミングチャートである。
【0050】
この図18に示すように、DRAMの連続アクセスを高速に実行できるバーストモードを使用するため、 CPU1のキャッシュメモリ1Cから主記憶装置6へのデータの転送を高速に行うことができる。図18では、バーストモード使用により一定間隔で連続してデータが書き込まれている。そして、1ビットエラーが検出された場合には、エラーが検出されたデータのアドレスを保持しておく。そして、CPU1の割り込みを禁止し、保持したアドレスのデータのエラー訂正を実行した後に、これらのデータを主記億装置6に書き込み、CPU1の割り込み禁止を解除する。
【0051】
ここで、主記憶装置6のライトアクセス時間とECC実行時間の和を45ns、バーストモードによるデータ書き込み間隔を10nsとして、図17に示した例と、図18に示した例とを比較する。この比較結果から、CPU1のバースト転送用の外部I/Fを使用することにより、通常の外部バスI/Fを使用するよりもCPU1のキャッシュメモリ1Cから主記憶装置6へデータの転送を105ns(180ns−75ns)短縮できる。
【0052】
以上のように、本発明の一実施形態によれば、CPU1のバースト転送用I/Fを使用して、主記億装置6からキャッシュメモリ1Cへ、又はキャッシュメモリ1Cから主記億装置6へ、ECC実行部3を介してデータ転送を実行する場合に、1ビットエラーが検出されたデータのアドレスを保持しておく。そして、CPU1の割り込みを禁止し、保持したアドレスのデータのエラー訂正を実行した後に、これらのデータを主記億装置6に書き込み、CPU1の割り込み禁止を解除するように構成したので、CPUのバースト転送用I/Fを使用して、キャッシュメモリの内容の更新を高速に行うと共に、ECC機構により1ビットエラーが検出された場合に、主記憶装置の内容を訂正可能なデータ記憶制御方法及び装置を実現することができる。
【0053】
なお、上述した例においては、DMAデバイス2を有するシステムに適用した例であるが、このDMAデバイス2を有していないシステムに対しても、本発明は適用可能である。
【0054】
【発明の効果】
本発明は、以上説明したように構成されているため、次のような効果がある。CPUのバースト転送用I/Fを使用して、主記億手段からCPU内のキャッシュメモリへ、又はキャッシュメモリから主記億手段へ、ECC実行部を介してデータ転送を実行する場合に、1ビットエラーが検出されたデータのアドレスを保持しておく。そして、CPUの割り込みを禁止し、保持したアドレスのデータのエラー訂正を実行した後に、これらのデータを主記億手段に書き込み、CPU1の割り込み禁止を解除する。
したがって、CPUのバースト転送用I/Fを使用して、キャッシュメモリの内容の更新を高速に行うと共に、ECC実行部により1ビットエラーが検出された場合に、主記憶手段の内容を訂正可能なデータ記憶制御方法及び装置を実現することができる。
【0055】
また、ECC機構によるエラー訂正動作により、主記憶手段のデータの1ビット誤りが訂正され、訂正不可能な2ビットエラーが発生する確率を低くし、主記憶手段の信頼性を高くすることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態の全体概略図である。
【図2】CPUの通常の外部バスI/Fを用いた場合のリードサイクルを示すタイミングチャートである。
【図3】CPUの通常の外部バスI/Fを用いた場合のライトサイクルを示すタイミングチャートである。
【図4】CPUの通常の外部バスI/Fを用いた場合のウェイトサイクルを挿入したリードサイクルを示すタイミングチャートである。
【図5】CPUの通常の外部バスI/Fを用いた場合のウェイトサイクルを挿入したライトサイクルを示すタイミングチャートである。
【図6】CPUのバースト転送用の外部バスI/Fを用いた場合のリードサイクルを示すタイミングチャートである。
【図7】CPUのバースト転送用の外部バスI/Fを用いた場合のライトサイクルを示すタイミングチャートである。
【図8】CPUの通常のバスI/Fを用いた場合において、1ビットエラーが発生した際の主記憶装置の内容を訂正するサイクルを示すタイミングチャートである。
【図9】本発明の一実施形態におけるCPUから主記憶装置への書き込みアクセスを表す図である。
【図10】本発明の一実施例おける主記憶装置への読み出しアクセスの動作フローチャートである。
【図11】CPUの主記憶装置への読み出しアクセスにおいて、主記憶装置からの読み出しデータに1ビットエラーがない場合の動作を表す図である。
【図12】CPUの主記憶装置への読み出しアクセスにおいて、主記憶装置からの読み出しデータに1ビットエラーがある場合の動作を表す図である。
【図13】割込み処理ルーチンにおける主記憶装置の内容訂正の動作フローチャートである。
【図14】アドレス保持部からの1ビットエラーを発生したデータのアドレスの読み出し動作を示す図である。
【図15】CPUの通常の外部バスI/Fを使用し、主記憶装置にバーストモードを備えるDRAMを使用した場合の、主記憶装置からCPUのキャッシュメモリへのデータの転送例を示すタイミングチャートである。
【図16】CPUのバースト転送用の外部バスI/Fを使用し、主記憶装置にバーストモードを備えるDRAMを使用した場合の、主記憶装置からCPUのキャッシュメモリへのデータの転送例を示すタイミングチャートである。
【図17】CPUの通常の外部バスI/Fを使用し、主記憶装置にバーストモードを備えるDRAMを使用した場合の、CPUのキャッシュメモリから主記憶装置へのデータの転送例を示すタイミングチャートである。
【図18】CPUのバースト転送用の外部バスI/Fを使用し、主記憶装置にバーストモードを備えるDRAMを使用した場合の、CPUのキャッシュメモリから主記憶装置へのデータの転送例を示すタイミングチャートである。
【符号の説明】
1 連続したアドレスのデータを転送するバースト転送用の外部バスインタフェースを有するCPU
1C キャッシュメモリ
2 DMA実施可能なデバイス
3 ECC実行部
4 アドレス保持部
5 制御部
5a 割込み情報保持部
5b DMA制御情報保持部
6 主記憶装置
7 制御線
8 アドレスバス
9 データバス
10 メモリ制御線
11 メモリアドレスバス
12 メモリデータバス
13 システム制御線
14 1ビットエラー報告線[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data storage control method and apparatus capable of high-speed access while maintaining high reliability of a main storage device in a computer system through ECC execution.
[0002]
[Prior art]
Some CPUs have a cache memory for storing a part of the contents of the main storage device for the purpose of high-speed access to the main storage device. In such a CPU, when a miss occurs in the cache memory, data having different addresses only from the address of the access data and the lower fixed-length bits are continuously read from the main memory, stored in the cache memory, and stored in the cache memory. Update the content.
[0003]
At this time, in the case of the write-back cache memory, the data stored in the updated portion of the cache memory is written back to the main storage device before the cache memory is updated. Access to the main storage device at this time is also continuous writing of data different from the access data to the main storage device only in the lower fixed bits.
[0004]
Such continuous access to data having different addresses only in the address of the access data and the lower fixed length bits is called burst access. Read is called burst read, and write is called burst write.
[0005]
Some memory devices are capable of burst access for the purpose of speeding up access to consecutive addresses. Some recent CPUs include an external bus I / F (interface) for burst transfer corresponding to the memory element for the purpose of speeding up the update of the contents of the cache memory.
[0006]
In a normal external bus I / F, the length of one bus cycle can be controlled externally by a wait signal, but it does not support burst access of a memory element, and when updating the contents of a cache memory, This is dealt with by repeating one bus cycle.
[0007]
The external bus I / F for burst transfer can complete the burst access in one bus cycle, and can update the contents of the cache memory faster than the normal bus I / F. Generally, an external bus I / F for burst transfer of a CPU has a fixed bus cycle length, and the length of one bus cycle cannot be controlled from the outside by a wait signal.
[0008]
In the field of semiconductors, miniaturization technology has made significant progress. In various memory devices, the storage capacity per memory device increases due to the progress of this miniaturization technology, but the amount of accumulated charge is reduced due to the reduction of the volume occupied by one memory cell, and the probability of occurrence of micro defects is increased. Due to external factors such as the application of electrical noise accompanying an increase in operation speed, the probability of occurrence of error bits in the data increases.
[0009]
An ECC mechanism is known as a method for improving data reliability in a memory device. In the ECC mechanism, a check bit is generated from a data bit using an extended Hamming code, and the data bit and the check bit are written in a memory device. At the time of reading, a syndrome is generated from the data bit read from the memory device and the check bit, and 1-bit error correction and 2-bit error detection are performed by this syndrome.
[0010]
[Problems to be solved by the invention]
Conventionally, when performing error detection and correction on the main memory by the ECC mechanism, a normal external bus I / F has been used. When a 1-bit error is detected by the ECC mechanism during read access to the main storage device, the data corrected by the ECC mechanism is sent to the CPU, and the corrected data is written to the main storage device. The contents of the storage device are corrected. At this time, the bus cycle becomes longer by the write time of the main storage device than the read access when no error is detected, but the length of the bus cycle is controlled by the wait signal.
[0011]
When error detection and correction by the ECC mechanism is performed using the burst transfer I / F instead of the above-described normal external bus I / F, the cache memory is faster than when the normal external bus I / F is used. Can be updated.
[0012]
However, if a 1-bit error is detected by the ECC mechanism during read access to the main storage device, the data corrected by the ECC mechanism is sent to the CPU, but the burst transfer I / F has a bus cycle length. Is fixed, it is impossible to wait, and correction data cannot be written into the main storage device to correct the contents of the main storage device.
In this case, if the data in the main storage device is left including a 1-bit error, the probability of occurrence of an uncorrectable 2-bit error increases, and the reliability of the main storage device decreases.
[0013]
The object of the present invention is to use the burst transfer I / F of the CPU to update the contents of the cache memory at a high speed, and to change the contents of the main storage device when a 1-bit error is detected by the ECC mechanism. It is to realize a data storage control method and apparatus that can be corrected.
[0014]
[Means for Solving the Problems]
(1) In order to achieve the above object, the present invention is configured as follows. That is, in a data storage control method of a computer system having a CPU having an external bus interface for burst transfer for transferring data at continuous addresses, a main storage means, and an ECC execution unit for performing error detection and correction of data. When the ECC execution unit detects that there is an error in the read data, the ECC execution unit holds the address of the erroneous data, and the ECC execution unit When an error in data is detected, the interrupt information is held, an interrupt request is sent to the CPU, the CPU is disabled in the interrupt processing routine of the CPU, and the stored address and lower order are stored from the main storage means. Read a plurality of data with different addresses only for the fixed-length bits of Performs error correction by CC executing unit, a plurality of data which corrects errors The CPU Write back to the main memory, clear the interrupt information, and set the CPU in the interrupt enabled state.
[0015]
1-bit error when transferring data from the main memory means to the cache memory in the CPU or from the cache memory to the main memory means via the ECC execution unit using the burst transfer I / F of the CPU The address of the data in which is detected is held. Then, after interrupting the CPU and correcting the error of the data at the held address, the CPU writes the data to the main memory and cancels the CPU interrupt prohibition.
Therefore, the CPU can use the burst transfer I / F to update the contents of the cache memory at a high speed and correct the contents of the main storage means when a 1-bit error is detected by the ECC execution unit. A data storage control method can be realized.
[0016]
(2) A CPU having an external bus interface for burst transfer for transferring data at continuous addresses, a DMA device capable of direct memory access, a main storage means, and an ECC execution unit for performing error detection and correction of data In the data storage control method of the computer system having the above, when the ECC execution unit detects that the read data is requested to be read from the CPU or DMA device and the read data is erroneous The address of erroneous data is held, and when an error in the data is detected by the ECC execution unit, interrupt information is held, an interrupt request is sent to the CPU, and the CPU interrupt processing routine executes the DMA Prohibit direct memory access by device and disable CPU interrupt Read a plurality of data with different addresses only from the held address and the lower fixed-length bits from the main storage device, execute error correction on the read data by the ECC execution unit, and correct the errors The The CPU Write back to the main memory, clear the interrupt information, enable direct memory access by the DMA device, and allow the CPU to interrupt.
[0017]
(3) Further, a data storage control device for a computer system having a CPU having an external bus interface for burst transfer for transferring data at consecutive addresses, a main storage means, and an ECC execution unit for performing error detection and correction of data In this case, when the ECC execution unit detects that the read data is requested to be read from the CPU and the ECC execution unit detects that there is an error in the read data, the address holding is performed. When an error in data is detected by the ECC execution unit, an interrupt information is set in the interrupt information holding unit, and an interrupt request is made to the CPU. In the interrupt processing routine of the CPU, the CPU is prohibited from interrupting and stored in the address holding unit from the main storage means. Read-out address and the lower fixed-length bit only a plurality of data having different addresses, a plurality of data read out by performing error correction by the ECC execution unit, a plurality of data which corrects errors The CPU A controller that writes back to the main memory, clears the interrupt information in the interrupt information holding unit, and sets the CPU in an interrupt-permitted state.
[0018]
1-bit error when transferring data from the main memory means to the cache memory in the CPU or from the cache memory to the main memory means via the ECC execution unit using the burst transfer I / F of the CPU The address of the data in which is detected is held in the address holding unit. Then, the CPU interrupt is prohibited by the control unit, and after the error data is executed by the ECC execution unit for the address data held in the address holding unit, these data are written in the main storage means, and the CPU interrupt Remove the ban.
Therefore, the CPU can use the burst transfer I / F to update the contents of the cache memory at a high speed and correct the contents of the main storage means when a 1-bit error is detected by the ECC execution unit. A data storage control device can be realized.
[0019]
(4) A CPU having an external bus interface for burst transfer for transferring data at continuous addresses, a DMA device capable of direct memory access, a main storage means, and an ECC execution unit for performing error detection and correction of data In the data storage control device of the computer system having the above, when the CPU or DMA device requests reading of data to the main storage means, and the ECC execution unit detects that the read data has an error The address holding unit that holds the address of the erroneous data, the interrupt information holding unit that holds the CPU interrupt information, the DMA control information holding unit that holds the control information of the DMA device, and the ECC execution unit When an error is detected, interrupt information is set in the interrupt information holding unit. The CPU makes an interrupt request, sets the DMA control information in the DMA control information section in the interrupt processing routine of the CPU, prohibits direct memory access by the DMA device, disables the CPU, and disables the main memory. Read out a plurality of data having different addresses only from the address held in the address holding unit and the lower fixed-length bits from the means, execute error correction on the read data by the ECC execution unit, and Data The CPU Write back to the main memory, clear the interrupt information in the interrupt information holding unit, set the CPU in the interrupt enabled state, clear the control information in the DMA control information holding unit, and set the direct memory access by the DMA device in the enabled state. A control unit.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.
FIG. 1 is an overall schematic configuration diagram of a data storage control apparatus according to an embodiment of the present invention. In FIG. 1, 1 is a CPU having an external bus interface for burst transfer for transferring data at continuous addresses and a
[0021]
An
[0022]
An interrupt information holding unit 5 a is set when a 1-bit error is detected when data is read from the
[0023]
Reference numeral 5b denotes a DMA control information holding unit. When the DMA control information holding unit 5b is set, access of the
[0024]
8 is an address bus, 9 is a data bus, 10 is a memory control line, 11 is a memory address bus, and 12 is a memory data bus.
[0025]
2 and 3 are timing charts showing a read cycle and a write cycle when the normal external bus I / F of the
[0026]
The external bus I / F of the
[0027]
4 and 5 are timing charts when the normal external bus I / F of the
[0028]
6 and 7 are timing charts in the case where the burst transfer external bus I / F of the
[0029]
Conventionally, when executing error detection and correction by the ECC mechanism for the
[0030]
When this error is detected, the bus cycle becomes longer by the write time of the
[0031]
FIG. 8 is a timing chart showing a bus cycle when a normal external bus I / F is used and a 1-bit error is detected by the
[0032]
In the memory element read access cycle, the memory element access time is 60 ns and the ECC time is 15 ns. In the memory element write access cycle, the memory element access time is 45 ns.
[0033]
FIG. 9 shows a write access operation to the
[0034]
FIG. 10 is an operation flowchart of read access to the
[0035]
In
[0036]
FIG. 11 shows an operation when there is no 1-bit error in the read data from the
[0037]
In addition to the operation shown in FIG. 11, the operation shown in FIG. 12 reports a 1-bit error from the
[0038]
In one embodiment of the present invention, when a 1-bit error is detected by the
[0039]
FIG. 13 is an operation flowchart of content correction of the
[0040]
If data is newly written to the address where the 1-bit error has occurred in the
[0041]
Therefore, in one embodiment of the present invention, as shown in
[0042]
In
[0043]
Next, in
Since the latest address where a 1-bit error has occurred is stored in the address holding unit 4, if a 1-bit error occurs multiple times during burst transfer, only the last 1-bit error occurrence address is the address. It is stored in the holding unit 4. In one embodiment of the present invention, a case where a 1-bit error occurs a plurality of times in burst transfer by reading from a 1-bit error occurrence address and writing back correction data in a burst is also supported. FIG. 14 shows a read operation of the 1-bit error occurrence address from the address holding unit 4.
[0044]
FIG. 15 shows an example in which the normal external bus I / F of the
[0045]
FIG. 16 shows an example in which the external bus I / F for burst transfer of the
[0046]
As shown in FIG. 16, since a burst mode capable of executing continuous DRAM access at high speed is used, data transfer from the
[0047]
Here, assuming that the read access time of the
[0048]
FIG. 17 shows an example in which the normal external bus I / F of the
[0049]
FIG. 18 shows an example in which an external bus I / F for burst transfer of the
[0050]
As shown in FIG. 18, since the burst mode capable of executing continuous DRAM access at high speed is used, data transfer from the cache memory 1C of the
[0051]
Here, the example shown in FIG. 17 is compared with the example shown in FIG. 18, assuming that the sum of the write access time and ECC execution time of the
[0052]
As described above, according to one embodiment of the present invention, using the burst transfer I / F of the
[0053]
In the above-described example, the present invention is applied to a system having the
[0054]
【The invention's effect】
Since the present invention is configured as described above, the following effects are obtained. When executing data transfer via the ECC execution unit from the main memory means to the cache memory in the CPU or from the cache memory to the main memory means using the burst transfer I / F of the CPU, 1 The address of the data where the bit error is detected is held. Then, the CPU interrupt is prohibited and error correction of the data at the held address is executed. Then, these data are written in the main memory means, and the
Therefore, the CPU can use the burst transfer I / F to update the contents of the cache memory at a high speed and correct the contents of the main storage means when a 1-bit error is detected by the ECC execution unit. A data storage control method and apparatus can be realized.
[0055]
Further, the error correction operation by the ECC mechanism corrects the 1-bit error of the data in the main storage means, thereby reducing the probability that an uncorrectable 2-bit error will occur and increasing the reliability of the main storage means. .
[Brief description of the drawings]
FIG. 1 is an overall schematic diagram of an embodiment of the present invention.
FIG. 2 is a timing chart showing a read cycle when a normal external bus I / F of a CPU is used.
FIG. 3 is a timing chart showing a write cycle when a normal external bus I / F of a CPU is used.
FIG. 4 is a timing chart showing a read cycle in which a wait cycle is inserted when a normal external bus I / F of a CPU is used.
FIG. 5 is a timing chart showing a write cycle in which a wait cycle is inserted when a normal external bus I / F of a CPU is used.
FIG. 6 is a timing chart showing a read cycle when an external bus I / F for burst transfer of a CPU is used.
FIG. 7 is a timing chart showing a write cycle when an external bus I / F for burst transfer of a CPU is used.
FIG. 8 is a timing chart showing a cycle for correcting the contents of the main storage device when a 1-bit error occurs when a normal bus I / F of the CPU is used.
FIG. 9 is a diagram illustrating a write access from the CPU to the main storage device according to the embodiment of the present invention.
FIG. 10 is an operational flowchart of read access to the main storage device in one embodiment of the present invention.
FIG. 11 is a diagram illustrating an operation when there is no 1-bit error in read data from the main storage device in a read access to the main storage device by the CPU.
FIG. 12 is a diagram illustrating an operation when there is a 1-bit error in read data from the main storage device in a read access to the main storage device by the CPU.
FIG. 13 is an operation flowchart of content correction of the main storage device in an interrupt processing routine.
FIG. 14 is a diagram illustrating an operation of reading an address of data in which a 1-bit error has occurred from an address holding unit.
FIG. 15 is a timing chart showing an example of data transfer from the main storage device to the CPU cache memory when a normal external bus I / F of the CPU is used and a DRAM having a burst mode is used as the main storage device; It is.
FIG. 16 shows an example of data transfer from the main storage device to the CPU cache memory when a DRAM having a burst mode is used as the main storage device using an external bus I / F for burst transfer of the CPU. It is a timing chart.
FIG. 17 is a timing chart showing an example of data transfer from the cache memory of the CPU to the main storage when a normal external bus I / F of the CPU is used and a DRAM having a burst mode is used as the main storage. It is.
FIG. 18 shows an example of data transfer from the cache memory of the CPU to the main memory when the external bus I / F for burst transfer of the CPU is used and a DRAM having a burst mode is used as the main memory. It is a timing chart.
[Explanation of symbols]
1 CPU having an external bus interface for burst transfer for transferring data at consecutive addresses
1C cache memory
2 DMA-enabled devices
3 ECC execution section
4 Address holding part
5 Control unit
5a Interrupt information holding part
5b DMA control information holding unit
6 Main memory
7 Control line
8 Address bus
9 Data bus
10 Memory control line
11 Memory address bus
12 Memory data bus
13 System control line
14 1-bit error reporting line
Claims (4)
CPUから上記主記憶手段へのデータの読み出しが要求され、読み出されたデータに誤りがあることが上記ECC実行部に検出されたときに、誤りのあるデータのアドレスを保持し、
上記ECC実行部によりデータの誤りが検出された際に、割込み情報を保持し、上記CPUに割り込み要求を行い、
CPUの割り込み処理ルーチンにて、CPUを割り込み禁止にし、主記憶手段から上記保持されたアドレスと下位の固定長ビットのみアドレスの異なる複数のデータを読み出し、
上記読み出した複数のデータを上記ECC実行部により誤り訂正を実行し、誤りを訂正した複数のデータを上記CPUが主記憶手段に書き戻し、
上記割り込み情報をクリアし、CPUを割り込み許可状態とすることを特徴とするデータ記憶制御方法。A bus interface for transferring data at consecutive addresses, a CPU having an external bus interface for burst transfer whose bus cycle length is fixed , a main storage means, and an ECC for performing error detection and correction of data In a data storage control method for a computer system having an execution unit,
When reading of data from the CPU to the main storage means is requested and the ECC execution unit detects that there is an error in the read data, the address of the erroneous data is held,
When an error in data is detected by the ECC execution unit, interrupt information is held, an interrupt request is sent to the CPU,
In the interrupt processing routine of the CPU, the CPU is prohibited from interrupting, and a plurality of data having different addresses only from the stored address and the lower fixed length bits are read from the main storage means,
The ECC execution unit performs error correction on the plurality of read data, and the CPU writes back the plurality of data corrected in error to the main storage unit,
A data storage control method, wherein the interrupt information is cleared and the CPU is set in an interrupt enabled state.
CPU又はDMAデバイスから上記主記憶手段へのデータの読み出しが要求され、読み出されたデータに誤りがあることが上記ECC実行部に検出されたときに、誤りのあるデータのアドレスを保持し、
上記ECC実行部によりデータの誤りが検出された際に、割込み情報を保持し、上記CPUに割り込み要求を行い、
CPUの割り込み処理ルーチンにて、上記DMAデバイスによるダイレクトメモリアクセスを禁止すると共に、CPUを割り込み禁止にし、主記憶手段から上記保持されたアドレスと下位の固定長ビットのみアドレスの異なる複数のデータを読み出し、
上記読み出した複数のデータを上記ECC実行部により誤り訂正を実行し、誤りを訂正した複数のデータを上記CPUが主記憶手段に書き戻し、
上記割り込み情報をクリアし、上記DMAデバイスによるダイレクトメモリアクセスを許可状態とすると共に、CPUを割り込み許可状態とすることを特徴とするデータ記憶制御方法。A bus interface for transferring data at consecutive addresses, the CPU having a burst transfer external bus interface having a fixed bus cycle length, a DMA device capable of direct memory access, and a main storage means In a data storage control method of a computer system having an ECC execution unit for performing error detection and correction of data,
When reading of data from the CPU or DMA device to the main storage means is requested and the ECC execution unit detects that there is an error in the read data, the address of the erroneous data is held,
When an error in data is detected by the ECC execution unit, interrupt information is held, an interrupt request is sent to the CPU,
In the CPU interrupt processing routine, direct memory access by the DMA device is prohibited, the CPU is disabled, and a plurality of data with different addresses are read from the main memory means only for the held fixed address and the lower fixed-length bits. ,
The ECC execution unit performs error correction on the plurality of read data, and the CPU writes back the plurality of data corrected in error to the main storage unit,
A data storage control method comprising: clearing the interrupt information, enabling direct memory access by the DMA device, and enabling the CPU in an interrupt enabled state.
CPUから上記主記憶手段へのデータの読み出しが要求され、読み出されたデータに誤りがあることが上記ECC実行部に検出されたときに、誤りのあるデータのアドレスを保持するアドレス保持部と、
CPUの割り込み情報を保持する割り込み情報保持部と、
上記ECC実行部によりデータの誤りが検出された際に、上記割込み情報保持部に割込み情報を設定し、上記CPUに割り込み要求を行い、CPUの割り込み処理ルーチンにて、CPUを割り込み禁止にし、主記憶手段から上記アドレス保持部に保持されたアドレスと下位の固定長ビットのみアドレスの異なる複数のデータを読み出し、読み出した複数のデータを上記ECC実行部により誤り訂正を実行し、誤りを訂正した複数のデータを上記CPUが主記憶手段に書き戻し、上記割り込み情報保持部の割り込み情報をクリアし、CPUを割り込み許可状態とする制御部とを備えることを特徴とするデータ記憶制御装置。A bus interface for transferring data at consecutive addresses, a CPU having an external bus interface for burst transfer whose bus cycle length is fixed , a main storage means, and an ECC for performing error detection and correction of data In a data storage control device of a computer system having an execution unit,
An address holding unit for holding an address of erroneous data when the ECC execution unit detects that the read data is requested to be read from the CPU and the read data has an error; ,
An interrupt information holding unit for holding CPU interrupt information;
When a data error is detected by the ECC execution unit, interrupt information is set in the interrupt information holding unit, an interrupt request is made to the CPU, and the CPU is disabled in the CPU interrupt processing routine. Read a plurality of data having different addresses only from the address held in the address holding unit and the lower fixed-length bits from the storage means, perform error correction on the read data by the ECC execution unit, and correct the error. A data storage control device comprising: a control unit that writes the data back into the main storage means, clears the interrupt information in the interrupt information holding unit, and sets the CPU in an interrupt enabled state.
CPU又はDMAデバイスから上記主記憶手段へのデータの読み出しが要求され、読み出されたデータに誤りがあることが上記ECC実行部に検出されたときに、誤りのあるデータのアドレスを保持するアドレス保持部と、
CPUの割り込み情報を保持する割り込み情報保持部と、
上記DMAデバイスの制御情報を保持するDMA制御情報保持部と、
上記ECC実行部によりデータの誤りが検出された際に、上記割込み情報保持部に割込み情報を設定し、上記CPUに割り込み要求を行い、CPUの割り込み処理ルーチンにて、DMA制御情報保持部にDMA制御情報を設定し、上記DMAデバイスによるダイレクトメモリアクセスを禁止すると共に、CPUを割り込み禁止にし、主記憶手段から上記アドレス保持部に保持されたアドレスと下位の固定長ビットのみアドレスの異なる複数のデータを読み出し、読み出した複数のデータを上記ECC実行部により誤り訂正を実行し、誤りを訂正した複数のデータを上記CPUが主記憶手段に書き戻し、上記割り込み情報保持部の割り込み情報をクリアし、CPUを割り込み許可状態とし、上記DMA制御情報保持部の制御情報をクリアし、上記DMAデバイスによるダイレクトメモリアクセスを許可状態とする制御部とを備えることを特徴とするデータ記憶制御装置。A bus interface for transferring data at consecutive addresses, the CPU having a burst transfer external bus interface having a fixed bus cycle length, a DMA device capable of direct memory access, and a main storage means In a data storage control device of a computer system having an ECC execution unit that performs error detection and correction of data,
Address that holds the address of the erroneous data when the ECC execution unit detects that the read data is requested to be read from the CPU or DMA device to the main storage means. A holding part;
An interrupt information holding unit for holding CPU interrupt information;
A DMA control information holding unit for holding control information of the DMA device;
When an error in the data is detected by the ECC execution unit, interrupt information is set in the interrupt information holding unit, an interrupt request is made to the CPU, and the DMA control information holding unit receives a DMA in the interrupt processing routine of the CPU. Sets control information, prohibits direct memory access by the DMA device, disables the CPU, disables a plurality of data whose addresses are different from the address stored in the address holding unit from the main storage means and only the lower fixed-length bits. , The ECC execution unit performs error correction on the plurality of read data, the CPU writes the plurality of corrected data back to the main memory, and clears the interrupt information in the interrupt information holding unit, Set the CPU to the interrupt enabled state, clear the control information in the DMA control information holding unit, and Data storage control apparatus characterized by comprising a controller for direct memory access by DMA device and authorization state.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23670796A JP3638729B2 (en) | 1996-09-06 | 1996-09-06 | Data storage control method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23670796A JP3638729B2 (en) | 1996-09-06 | 1996-09-06 | Data storage control method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1083357A JPH1083357A (en) | 1998-03-31 |
JP3638729B2 true JP3638729B2 (en) | 2005-04-13 |
Family
ID=17004579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23670796A Expired - Lifetime JP3638729B2 (en) | 1996-09-06 | 1996-09-06 | Data storage control method and apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3638729B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496695B2 (en) | 2005-09-29 | 2009-02-24 | P.A. Semi, Inc. | Unified DMA |
US20090248910A1 (en) * | 2008-04-01 | 2009-10-01 | Apple Inc. | Central dma with arbitrary processing functions |
-
1996
- 1996-09-06 JP JP23670796A patent/JP3638729B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH1083357A (en) | 1998-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5912906A (en) | Method and apparatus for recovering from correctable ECC errors | |
US7650557B2 (en) | Memory scrubbing of expanded memory | |
JP5232018B2 (en) | Error processing method and error processing apparatus | |
US20020124129A1 (en) | Method for using RAM buffers with multiple accesses in flash-based storage systems | |
US9058290B2 (en) | Memory protection cache | |
US7689895B2 (en) | On-the fly error checking and correction CODEC system and method for supporting non-volatile memory | |
WO1997034228A1 (en) | Information processor with snoop suppressing function, memory controller, and direct memory access processing method | |
US6061824A (en) | Pipelined error correction for minimizing disk re-reading in hard drives | |
JP2001249847A (en) | Method and device for improving transfer time of multilevel cache | |
US6859904B2 (en) | Apparatus and method to facilitate self-correcting memory | |
JP3638729B2 (en) | Data storage control method and apparatus | |
JP3962853B2 (en) | Memory data error correction method | |
US11429481B1 (en) | Restoring memory data integrity | |
JP4131928B2 (en) | Data storage control method and apparatus | |
JP3675748B2 (en) | Data storage controller | |
JPH06149685A (en) | Memory error recovering circuit | |
JPS63278162A (en) | Error correction device in information processor | |
JPH04162161A (en) | Storage controller | |
JPH0423294B2 (en) | ||
JPH0778747B2 (en) | Data processing device | |
JP2000172449A (en) | Disk drive | |
JPH08190512A (en) | Data storage controller | |
JPH0673111B2 (en) | Disk cache device | |
JPH0877067A (en) | Cache memory controller | |
JPS6022773B2 (en) | Storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040210 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040408 |
|
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: 20050105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050112 |
|
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: 20080121 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090121 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090121 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100121 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110121 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110121 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120121 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130121 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term |