JP3638729B2 - Data storage control method and apparatus - Google Patents

Data storage control method and apparatus Download PDF

Info

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
Application number
JP23670796A
Other languages
Japanese (ja)
Other versions
JPH1083357A (en
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP23670796A priority Critical patent/JP3638729B2/en
Publication of JPH1083357A publication Critical patent/JPH1083357A/en
Application granted granted Critical
Publication of JP3638729B2 publication Critical patent/JP3638729B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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 cache memory 1C, and 2 is a device capable of executing DMA (direct memory access).
[0021]
An ECC execution unit 3 performs error detection and correction of data from the main storage device 6, and 4 is an address holding unit. The address holding unit 4 holds an address of data including a 1-bit error when a 1-bit error is detected when data is read from the main storage device 6 by the ECC execution unit 3.
[0022]
An interrupt information holding unit 5 a is set when a 1-bit error is detected when data is read from the main storage device 6 by the ECC execution unit 3.
[0023]
Reference numeral 5b denotes a DMA control information holding unit. When the DMA control information holding unit 5b is set, access of the DMA device 2 to the main storage device 6 is prohibited. Reference numeral 5 denotes a control unit, which includes an interrupt information holding unit 5a and a DMA control information holding unit 5b. The control unit 5 controls the access to the main storage device 6 and the ECC execution unit 3 and the address holding unit 4. When the interrupt holding unit 5a is set, the interrupt request line included in the control line 7 is set. Through CPU 1 to make an interrupt request.
[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. Reference numeral 13 denotes a system control line, and the control unit 5 controls the ECC execution unit 3 and the address holding unit 4 via the system control line 13. Reference numeral 14 denotes a 1-bit error report line, and the ECC execution unit 3 reports the error to the control unit 5 via the 1-bit error report line 14 when a 1-bit error is detected.
[0025]
2 and 3 are timing charts showing a read cycle and a write cycle when the normal external bus I / F of the CPU 1 is used, and is an example in the case where the bus cycle is minimum. In the example of FIGS. 2 and 3, the length of the bus cycle is 3 bus clock cycles.
[0026]
The external bus I / F of the CPU 1 samples a wait signal from the outside at the rising edge of each bus clock, and if the value of the wait signal is “H” level, the bus cycle is terminated by the bus clock.
[0027]
4 and 5 are timing charts when the normal external bus I / F of the CPU 1 is used and when wait cycles are inserted from the outside by 3 bus clock cycles. 4 shows a read cycle, and FIG. 5 shows a write cycle. In the example shown in FIGS. 4 and 5, the period during which the wait signal is at the “L” level is longer by 3 bus clock cycles than the example shown in FIGS.
[0028]
6 and 7 are timing charts in the case where the burst transfer external bus I / F of the CPU 1 is used and the transfer length is 4. FIG. Since it is a burst transfer, the addresses A1, A2, A3, and A4 differ from each other only in the lower bits. Data D1, D2, D3, and D4 are data stored at addresses A1, A2, A3, and A4, respectively. The external bus I / F for burst transfer of the CPU 1 has a fixed bus cycle length, and the bus cycle length cannot be controlled by a wait signal from the outside.
[0029]
Conventionally, when executing error detection and correction by the ECC mechanism for the main storage device 6, the normal external bus I / F of the CPU 1 has been used. In other words, when a 1-bit error is detected by the ECC execution unit 3 during read access to the main storage device 6, the data corrected by the ECC execution unit 3 is sent to the CPU 1, and the main storage device 6 is corrected. Later data is written, and the contents of the main storage device 6 are corrected.
[0030]
When this error is detected, the bus cycle becomes longer by the write time of the main storage device 6 than the read access when no error is detected, but the length of the bus cycle is controlled by the wait signal.
[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 ECC execution unit 3 during read access to the main storage device 6. In FIG. 8, the memory element read access cycle is a read access when no error is detected. If an error is detected, a memory element write access cycle is added to the memory read access cycle. This memory element write access cycle is a portion in which the bus cycle is extended by correcting the contents of the main memory 6.
[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 main storage device 6 of the CPU 1 in one embodiment of the present invention. In FIG. 9, the write data of the CPU 1 is sent to the ECC execution unit 3 via the data bus 9. Then, the ECC execution unit 3 generates check bits for the write data sent to the ECC execution unit 3, and the CPU 1 write data and check bits are written to the main storage device 6 via the memory data bus 12. It is.
[0034]
FIG. 10 is an operation flowchart of read access to the main storage device 6 according to the embodiment of the present invention. In step 100 of FIG. 10, if there is a read access to the main storage device 6 by the CPU 1 or the DMA device 2, the process proceeds to step 101 and data is read from the main storage device 6. Next, in step 102, the ECC execution unit 3 detects an error in the read data from the main storage device 6. In step 103, if there is no 1-bit error in the read data from the main storage device 6, the process proceeds to step 104, where the read data is sent to the CPU 1 or the DMA device 2, and the read access cycle to the main storage device 6 is completed. finish.
[0035]
In step 103, when a 1-bit error is detected from the read data from the main storage device 6, the process proceeds to step 105, and the address of the data in which the 1-bit error is detected is stored in the address holding unit 4. Next, in step 106, the interrupt information holding unit 5a is set. In step 107, the control unit 5 requests the CPU 1 for an interrupt via the control line 7. In step 108, the data after 1-bit error correction is sent to the CPU 1 or the DMA device 2, and the read access cycle to the main storage device 6 is completed.
[0036]
FIG. 11 shows an operation when there is no 1-bit error in the read data from the main storage device 6 in the read access to the main storage device 6 of the CPU 1. FIG. 12 shows the operation when there is a 1-bit error in the read data from the main storage device 6 in the read access to the main storage device 6 by the CPU 1.
[0037]
In addition to the operation shown in FIG. 11, the operation shown in FIG. 12 reports a 1-bit error from the ECC execution unit 3 to the control unit 5 via the 1-bit error report line 14, sets the interrupt information holding unit 5a, and An operation of an interrupt request to the CPU 1 via the interrupt request line in the control line 7 from the control unit 5 is added. Further, the data after error correction is sent to the CPU 1 by the ECC execution unit 3.
[0038]
In one embodiment of the present invention, when a 1-bit error is detected by the ECC execution unit 3, the content of the main storage device 6 is corrected by an interrupt processing routine requested by the control unit 5.
[0039]
FIG. 13 is an operation flowchart of content correction of the main storage device 6 in the interrupt processing routine. The contents of the main storage device 6 are corrected by writing the data corrected by the ECC execution unit 3 back to the main memory 6. Specifically, the CPU 1 may read from the address where the 1-bit error has occurred in the main storage device 6 and write the read data back to the main storage device 6.
[0040]
If data is newly written to the address where the 1-bit error has occurred in the main storage device 6 between this read and write back, the contents of the main storage device 6 are out of date by writing back the corrected data to the main storage device 6. There is a risk of being returned to the data. Writing new data to the address where the 1-bit error has occurred is performed by the DMA device 2 or by an interrupt processing routine having a higher level than the 1-bit error interrupt of the CPU 1.
[0041]
Therefore, in one embodiment of the present invention, as shown in steps 200 and 201 of FIG. 13, the DMA control information holding unit 5b is set before reading from and writing back to the 1-bit error occurrence address, thereby prohibiting DMA. Then, the CPU 1 is set in the interrupt disabled state. This prohibits the writing of new data to the 1-bit error occurrence address.
[0042]
In step 202, the control unit 5 reads the error occurrence address stored in the address holding unit 4. Next, in step 203, data is read from the main memory device 6 in bursts from the read error occurrence address, that is, continuously. In step 204, the error-corrected data is written in bursts at the address where the error occurred in the main storage device 6.
[0043]
Next, in step 205, the control unit 5 clears the contents of the interrupt information holding unit 5a and cancels the interrupt request. Subsequently, in step 206, the control unit 5 places the CPU 1 in an interrupt enabled state. In step 207, the contents of the DMA control information holding unit 5b are cleared and DMA is permitted.
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 CPU 1 is used, and data from the main storage device 6 to the cache memory 1C of the CPU 1 when a DRAM having a burst mode is used as the main storage device 6. It is a timing chart in the example of transfer. As shown in FIG. 15, when the normal external bus I / F of the CPU 1 is used, in order to transfer four data, one read access must be executed four times.
[0045]
FIG. 16 shows an example in which the external bus I / F for burst transfer of the CPU 1 is used, and when the DRAM having the burst mode is used for the main storage device 6, the cache memory 1 C of the CPU 1 is transferred from the main storage device 6. 6 is a timing chart in an example of data transfer.
[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 main storage device 6 to the cache memory 1C of the CPU 1 can be performed at high speed. In FIG. 16, data is continuously read out at regular intervals by using the burst mode.
[0047]
Here, assuming that the read access time of the main storage device 6 is 60 ns, the data reading interval in the burst mode is 10 ns, and the ECC execution time is 15 ns, the example shown in FIG. 15 is compared with the example shown in FIG. From this comparison result, by using the external I / F for burst transfer of the CPU 1, data transfer from the main storage device 6 to the cache memory of the CPU 1 is performed by 195 ns (300 ns) rather than using the normal external bus I / F. −105 ns).
[0048]
FIG. 17 shows an example in which the normal external bus I / F of the CPU 1 is used, and data from the cache memory 1C of the CPU 1 to the main storage device 6 when a DRAM having a burst mode is used for the main storage device 6. It is a timing chart in the example of transfer. As shown in FIG. 17, when the normal external bus I / F of the CPU 1 is used, in order to transfer four data, one write access must be executed four times.
[0049]
FIG. 18 shows an example in which an external bus I / F for burst transfer of the CPU 1 is used. When a DRAM having a burst mode is used for the main storage device 6, the cache memory 1 C of the CPU 1 is transferred to the main storage device 6. 6 is a timing chart in an example of data transfer.
[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 CPU 1 to the main storage device 6 can be performed at high speed. In FIG. 18, data is continuously written at regular intervals by using the burst mode. If a 1-bit error is detected, the address of the data where the error is detected is held. Then, after interrupting the CPU 1 and correcting the error of the stored address data, the CPU 1 writes the data to the main storage device 6 and cancels the CPU 1 interrupt prohibition.
[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 main storage device 6 is 45 ns and the data write interval in the burst mode is 10 ns. From this comparison result, by using the external I / F for burst transfer of the CPU 1, the data transfer from the cache memory 1 C of the CPU 1 to the main storage device 6 is 105 ns (in comparison with the normal external bus I / F). 180 ns-75 ns).
[0052]
As described above, according to one embodiment of the present invention, using the burst transfer I / F of the CPU 1, the main memory device 6 to the cache memory 1 C, or the cache memory 1 C to the main memory device 6. When data transfer is executed via the ECC execution unit 3, the address of data in which a 1-bit error is detected is held. Since the CPU 1 interrupt is prohibited and error correction of the data at the held address is executed, these data are written in the main storage device 6 to cancel the CPU 1 interrupt prohibition. Data storage control method and apparatus capable of performing high-speed updating of cache memory contents using transfer I / F and correcting contents of main storage device when 1-bit error is detected by ECC mechanism Can be realized.
[0053]
In the above-described example, the present invention is applied to a system having the DMA device 2, but the present invention can be applied to a system that does not have the DMA device 2.
[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 CPU 1 interrupt prohibition is canceled.
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実行部とを有するコンピュータシステムのデータ記憶制御方法において、
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実行部とを有するコンピュータシステムのデータ記憶制御方法において、
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の割り込み情報を保持する割り込み情報保持部と、
上記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デバイスから上記主記憶手段へのデータの読み出しが要求され、読み出されたデータに誤りがあることが上記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.
JP23670796A 1996-09-06 1996-09-06 Data storage control method and apparatus Expired - Lifetime JP3638729B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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