JPH06266618A - エラー訂正・検出機能付きの主記憶コントローラを備えた情報処理装置 - Google Patents
エラー訂正・検出機能付きの主記憶コントローラを備えた情報処理装置Info
- Publication number
- JPH06266618A JPH06266618A JP5057347A JP5734793A JPH06266618A JP H06266618 A JPH06266618 A JP H06266618A JP 5057347 A JP5057347 A JP 5057347A JP 5734793 A JP5734793 A JP 5734793A JP H06266618 A JPH06266618 A JP H06266618A
- Authority
- JP
- Japan
- Prior art keywords
- data
- main memory
- block
- sub
- error correction
- 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.)
- Pending
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
(57)【要約】
【目的】主記憶コントローラによる、エラー訂正符号の
生成単位に満たないサイズの主記憶ライトアクセスの高
速化が図れるようにする。 【構成】システムバス幅を1サブブロックとし、Nサブ
ブロックを1ブロックとして管理される主記憶3を、こ
のNサブブロックに対応したサブ主記憶30-0〜30-
(N-1)で構成し、且つシステムバス幅を単位に訂正符号
を生成する主記憶コントローラ4内にキャッシュメモリ
41を設け、主記憶コントローラ4は、システムバス幅
に満たないサイズのライトアクセスの場合、要求先のブ
ロックデータがキャッシュメモリ41に登録されている
なら、同データのうち要求されたサブブロック内データ
部分のみを要求データに書き換えてシステムバス幅に拡
張し、この拡張したデータをもとに訂正符号を生成して
主記憶3内の対応するサブ主記憶への書き込みを行う構
成とする。
生成単位に満たないサイズの主記憶ライトアクセスの高
速化が図れるようにする。 【構成】システムバス幅を1サブブロックとし、Nサブ
ブロックを1ブロックとして管理される主記憶3を、こ
のNサブブロックに対応したサブ主記憶30-0〜30-
(N-1)で構成し、且つシステムバス幅を単位に訂正符号
を生成する主記憶コントローラ4内にキャッシュメモリ
41を設け、主記憶コントローラ4は、システムバス幅
に満たないサイズのライトアクセスの場合、要求先のブ
ロックデータがキャッシュメモリ41に登録されている
なら、同データのうち要求されたサブブロック内データ
部分のみを要求データに書き換えてシステムバス幅に拡
張し、この拡張したデータをもとに訂正符号を生成して
主記憶3内の対応するサブ主記憶への書き込みを行う構
成とする。
Description
【0001】
【産業上の利用分野】この発明は、エラー訂正・検出機
能付きの主記憶コントローラを備え、エラー訂正符号の
生成単位をシステムバス幅(システムバスのデータ幅)
とする情報処理装置に係り、特に主記憶に対するライト
アクセス要求時における主記憶コントローラのアクセス
制御方式に関する。
能付きの主記憶コントローラを備え、エラー訂正符号の
生成単位をシステムバス幅(システムバスのデータ幅)
とする情報処理装置に係り、特に主記憶に対するライト
アクセス要求時における主記憶コントローラのアクセス
制御方式に関する。
【0002】
【従来の技術】この種の情報処理装置の主記憶コントロ
ーラは、CPU等から要求された主記憶ライトを実行す
る際には、ライトするデータにエラー訂正符号(エラー
検出・訂正符号)を付加し、そのデータを読み出した際
に、同データと同データに付加されているエラー訂正符
号とをもとに、データの誤りの検出、更には誤りの訂正
を行うようになっている。
ーラは、CPU等から要求された主記憶ライトを実行す
る際には、ライトするデータにエラー訂正符号(エラー
検出・訂正符号)を付加し、そのデータを読み出した際
に、同データと同データに付加されているエラー訂正符
号とをもとに、データの誤りの検出、更には誤りの訂正
を行うようになっている。
【0003】さて、データの誤り検出・訂正に用いられ
るエラー訂正符号は、一般に予め定められた特定のビッ
ト長のデータ(例えばシステムバス幅のデータ)を単位
に生成される。このため主記憶コントローラは、ライト
要求されたデータの長さが、上記特定ビット長(システ
ムバス幅)に満たない場合には、一旦、主記憶より書き
込み先のデータ部分を含む上記特定ビット長のデータを
読み出してビット幅を満たした後に、そのうちの書き込
み先データ部分をライト要求されたデータで書き換え
て、この書き換えられた特定ビット長のデータに対して
エラー訂正符号を生成する必要があった。主記憶コント
ローラは、このようにしてエラー訂正符号を生成する
と、このエラー訂正符号を上記書き換え後の特定ビット
長のデータに付加して主記憶ライトを実行する。
るエラー訂正符号は、一般に予め定められた特定のビッ
ト長のデータ(例えばシステムバス幅のデータ)を単位
に生成される。このため主記憶コントローラは、ライト
要求されたデータの長さが、上記特定ビット長(システ
ムバス幅)に満たない場合には、一旦、主記憶より書き
込み先のデータ部分を含む上記特定ビット長のデータを
読み出してビット幅を満たした後に、そのうちの書き込
み先データ部分をライト要求されたデータで書き換え
て、この書き換えられた特定ビット長のデータに対して
エラー訂正符号を生成する必要があった。主記憶コント
ローラは、このようにしてエラー訂正符号を生成する
と、このエラー訂正符号を上記書き換え後の特定ビット
長のデータに付加して主記憶ライトを実行する。
【0004】
【発明が解決しようとする課題】上記したように従来
は、エラー訂正符号を生成するのに必要な特定ビット長
に満たないデータの主記憶ライトアクセスを行うには、
そのライトアクセスに先行して、書き込み先のデータ部
分を含む特定ビット長のデータをリードアクセスしなけ
ればならず、ライトアクセスの高速化が図れないという
問題があった。
は、エラー訂正符号を生成するのに必要な特定ビット長
に満たないデータの主記憶ライトアクセスを行うには、
そのライトアクセスに先行して、書き込み先のデータ部
分を含む特定ビット長のデータをリードアクセスしなけ
ればならず、ライトアクセスの高速化が図れないという
問題があった。
【0005】この発明は上記事情を考慮してなされたも
のでその目的は、エラー訂正・検出機能付きの主記憶コ
ントローラによる、エラー訂正符号の生成単位に満たな
いサイズの主記憶ライトアクセスの高速化が図れる情報
処理装置を提供することにある。
のでその目的は、エラー訂正・検出機能付きの主記憶コ
ントローラによる、エラー訂正符号の生成単位に満たな
いサイズの主記憶ライトアクセスの高速化が図れる情報
処理装置を提供することにある。
【0006】
【課題を解決するための手段】この発明は、エラー訂正
符号の生成単位をシステムバス幅(システムバスのデー
タ幅)とする情報処理装置において、システムバス幅を
1サブブロックとし、このサブブロックN個を1ブロッ
クとして管理される主記憶であって、各ブロックのデー
タをN個のサブブロックに分割して格納するための、主
記憶コントローラにより独立にアクセス可能なN個のサ
ブ主記憶から構成される主記憶を設けると共に、主記憶
コントローラ内に、上記ブロックを単位に主記憶の一部
の写しが登録されるキャッシュメモリを設け、システム
バス幅に満たないサイズのライトアクセスが要求された
場合に、この要求先に対応する主記憶内のブロックのデ
ータがキャッシュメモリに登録されているならば、上記
主記憶コントローラが、キャッシュメモリ上の当該ブロ
ックのデータのうちライトアクセス要求されたサブブロ
ック内データ部分を要求データに書き換え、この書き換
えがなされたサブブロックのデータをもとにエラー訂正
符号を生成して、主記憶内の対応するサブ主記憶への書
き込みを行う構成としたことを特徴とするものである。
符号の生成単位をシステムバス幅(システムバスのデー
タ幅)とする情報処理装置において、システムバス幅を
1サブブロックとし、このサブブロックN個を1ブロッ
クとして管理される主記憶であって、各ブロックのデー
タをN個のサブブロックに分割して格納するための、主
記憶コントローラにより独立にアクセス可能なN個のサ
ブ主記憶から構成される主記憶を設けると共に、主記憶
コントローラ内に、上記ブロックを単位に主記憶の一部
の写しが登録されるキャッシュメモリを設け、システム
バス幅に満たないサイズのライトアクセスが要求された
場合に、この要求先に対応する主記憶内のブロックのデ
ータがキャッシュメモリに登録されているならば、上記
主記憶コントローラが、キャッシュメモリ上の当該ブロ
ックのデータのうちライトアクセス要求されたサブブロ
ック内データ部分を要求データに書き換え、この書き換
えがなされたサブブロックのデータをもとにエラー訂正
符号を生成して、主記憶内の対応するサブ主記憶への書
き込みを行う構成としたことを特徴とするものである。
【0007】また、この発明は、システムバス幅に満た
ないサイズのライトアクセスが要求された場合に、この
要求先に対応するブロックのデータがキャッシュメモリ
に登録されていないならば、上記主記憶コントローラ
が、そのブロックのデータを構成するN個のサブブロッ
クのデータを上記N個のサブ主記憶から同時に読み出し
て、ライトアクセス要求されたサブブロック内データ部
分が要求データに書き換えられたブロックデータの形で
キャッシュメモリに登録すると共に、この書き換えがな
されたサブブロックのデータをもとにエラー訂正符号を
生成して、主記憶内の対応するサブ主記憶へ書き戻すよ
うにしたことをも特徴とする。
ないサイズのライトアクセスが要求された場合に、この
要求先に対応するブロックのデータがキャッシュメモリ
に登録されていないならば、上記主記憶コントローラ
が、そのブロックのデータを構成するN個のサブブロッ
クのデータを上記N個のサブ主記憶から同時に読み出し
て、ライトアクセス要求されたサブブロック内データ部
分が要求データに書き換えられたブロックデータの形で
キャッシュメモリに登録すると共に、この書き換えがな
されたサブブロックのデータをもとにエラー訂正符号を
生成して、主記憶内の対応するサブ主記憶へ書き戻すよ
うにしたことをも特徴とする。
【0008】
【作用】上記の構成において、エラー訂正符号の生成単
位であるシステムバス幅に満たないサイズの主記憶ライ
トアクセスの場合には、主記憶コントローラ内に設けら
れた、システムバス幅のN倍のサイズを1ブロックとす
るキャッシュメモリ内に、要求先に対応するブロックデ
ータが登録されているか否かがチェックされ、そのチェ
ック結果によって異なる処理が行われる。
位であるシステムバス幅に満たないサイズの主記憶ライ
トアクセスの場合には、主記憶コントローラ内に設けら
れた、システムバス幅のN倍のサイズを1ブロックとす
るキャッシュメモリ内に、要求先に対応するブロックデ
ータが登録されているか否かがチェックされ、そのチェ
ック結果によって異なる処理が行われる。
【0009】まず、要求先の主記憶内ブロックデータが
キャッシュメモリに登録されているヒット時には、主記
憶コントローラは、キャッシュメモリ上のヒットしたブ
ロックデータのうちライトアクセス要求されたサブブロ
ック内データ部分のみを要求データに書き換えて、エラ
ー訂正符号の生成が可能なデータ幅に拡張し、この書き
換えがなされたサブブロックのデータをもとにエラー訂
正符号を生成して、主記憶内の対応するサブ主記憶への
書き込みを行う。
キャッシュメモリに登録されているヒット時には、主記
憶コントローラは、キャッシュメモリ上のヒットしたブ
ロックデータのうちライトアクセス要求されたサブブロ
ック内データ部分のみを要求データに書き換えて、エラ
ー訂正符号の生成が可能なデータ幅に拡張し、この書き
換えがなされたサブブロックのデータをもとにエラー訂
正符号を生成して、主記憶内の対応するサブ主記憶への
書き込みを行う。
【0010】次に、要求先のブロックデータがキャッシ
ュメモリに登録されていないミスヒット時には、主記憶
コントローラは、要求先の主記憶内ブロックデータを構
成するN個のサブブロックのデータをN個のサブ主記憶
から同時に読み出してキャッシュメモリに登録した後、
そのうちのライトアクセス要求されたサブブロック内デ
ータ部分のみを要求データに書き換えて、エラー訂正符
号の生成が可能なデータ幅に拡張し、この書き換えがな
されたサブブロックのデータをもとにエラー訂正符号を
生成して、主記憶内の対応するサブ主記憶へ書き戻す。
ュメモリに登録されていないミスヒット時には、主記憶
コントローラは、要求先の主記憶内ブロックデータを構
成するN個のサブブロックのデータをN個のサブ主記憶
から同時に読み出してキャッシュメモリに登録した後、
そのうちのライトアクセス要求されたサブブロック内デ
ータ部分のみを要求データに書き換えて、エラー訂正符
号の生成が可能なデータ幅に拡張し、この書き換えがな
されたサブブロックのデータをもとにエラー訂正符号を
生成して、主記憶内の対応するサブ主記憶へ書き戻す。
【0011】このように、エラー訂正符号の生成単位で
あるシステムバス幅に満たない主記憶ライトアクセスの
場合でも、キャッシュメモリにヒットしたならば、その
ヒットブロック内のライトアクセス要求されたサブブロ
ック内データ部分を要求データに書き換えることで、主
記憶をリードアクセスすることなく、エラー訂正符号の
生成が可能なデータ幅に拡張して主記憶ライトを実行す
ることができるため、高速ライトアクセスが実現可能と
なる。
あるシステムバス幅に満たない主記憶ライトアクセスの
場合でも、キャッシュメモリにヒットしたならば、その
ヒットブロック内のライトアクセス要求されたサブブロ
ック内データ部分を要求データに書き換えることで、主
記憶をリードアクセスすることなく、エラー訂正符号の
生成が可能なデータ幅に拡張して主記憶ライトを実行す
ることができるため、高速ライトアクセスが実現可能と
なる。
【0012】また、ミスヒット時には、主記憶ライトア
クセスに先行して、要求先に対応したブロックデータを
構成するN個のサブブロックデータを主記憶から読み出
す主記憶リードアクセスが必要となるが、このN個のサ
ブブロックデータは主記憶を構成するN個のサブ記憶か
ら同時に読み出せるため、リードアクセス回数は従来と
同じ1回である。しかも、この読み出したブロックデー
タをキャッシュメモリに登録することにより、以降のシ
ステムバス幅に満たない主記憶ライトアクセス要求に対
してキャッシュメモリにヒットした場合には、主記憶リ
ードアクセスが不要となる。
クセスに先行して、要求先に対応したブロックデータを
構成するN個のサブブロックデータを主記憶から読み出
す主記憶リードアクセスが必要となるが、このN個のサ
ブブロックデータは主記憶を構成するN個のサブ記憶か
ら同時に読み出せるため、リードアクセス回数は従来と
同じ1回である。しかも、この読み出したブロックデー
タをキャッシュメモリに登録することにより、以降のシ
ステムバス幅に満たない主記憶ライトアクセス要求に対
してキャッシュメモリにヒットした場合には、主記憶リ
ードアクセスが不要となる。
【0013】
【実施例】図1はこの発明の一実施例に係る情報処理装
置のブロック構成図である。
置のブロック構成図である。
【0014】同図において、1は装置の中心をなすCP
U、2はCPU1および後述する主記憶コントローラ4
等を相互接続するためのシステムバスである。システム
バス2のバス幅(データ幅)は、例えば2m (=M)バ
イトである。
U、2はCPU1および後述する主記憶コントローラ4
等を相互接続するためのシステムバスである。システム
バス2のバス幅(データ幅)は、例えば2m (=M)バ
イトである。
【0015】3はプログラム、データ等が格納される主
記憶である。主記憶3は、システムバス2のバス幅(M
バイト)の2n (=N)倍のサイズを1ブロックとして
管理される。この主記憶3内の各ブロックは、システム
バス2のバス幅(Mバイト)のサイズのN個のサブブロ
ック(第0サブブロック〜第(N−1)サブブロック)
に分割して管理される。主記憶3は、上記各ブロックを
N分割した第0サブブロック〜第(N−1)サブブロッ
クのデータをそれぞれ格納するための、独立にアクセス
可能なN個のサブ主記憶30-0〜30-(N-1) から構成
される。ここで、主記憶アドレスと主記憶3内ブロック
並びに同ブロック内サブブロックとの関係を説明する。
記憶である。主記憶3は、システムバス2のバス幅(M
バイト)の2n (=N)倍のサイズを1ブロックとして
管理される。この主記憶3内の各ブロックは、システム
バス2のバス幅(Mバイト)のサイズのN個のサブブロ
ック(第0サブブロック〜第(N−1)サブブロック)
に分割して管理される。主記憶3は、上記各ブロックを
N分割した第0サブブロック〜第(N−1)サブブロッ
クのデータをそれぞれ格納するための、独立にアクセス
可能なN個のサブ主記憶30-0〜30-(N-1) から構成
される。ここで、主記憶アドレスと主記憶3内ブロック
並びに同ブロック内サブブロックとの関係を説明する。
【0016】まず主記憶アドレスの下位n+mビットを
除く上位アドレスにより、主記憶3内のブロック(を示
すブロック番号)が指定される。次に主記憶アドレスの
下位n+mビットのうちの上位側のnビットにより、ブ
ロック内のサブブロック(を示すサブブロック番号)が
指定される。また、主記憶アドレスの下位mビットによ
り、サブブロック内のバイト(を示すバイト番号)が指
定される。
除く上位アドレスにより、主記憶3内のブロック(を示
すブロック番号)が指定される。次に主記憶アドレスの
下位n+mビットのうちの上位側のnビットにより、ブ
ロック内のサブブロック(を示すサブブロック番号)が
指定される。また、主記憶アドレスの下位mビットによ
り、サブブロック内のバイト(を示すバイト番号)が指
定される。
【0017】なお、本実施例では、システムバス2のバ
ス幅のデータを単位にエラー訂正符号が付されるため、
このエラー訂正符号を含めた1サブブロックのサイズ
は、システムバス2のバス幅(Mバイト)+エラー訂正
符号長(例えば1バイト)となる。但し、1サブブロッ
クのデータ部分のサイズはシステムバス2のバス幅(M
バイト)であるため、ここでは1サブブロックのサイズ
がシステムバス2のバス幅(システムバス幅)であり、
1ブロックのサイズがシステムバス幅のN倍であるとし
て説明する。
ス幅のデータを単位にエラー訂正符号が付されるため、
このエラー訂正符号を含めた1サブブロックのサイズ
は、システムバス2のバス幅(Mバイト)+エラー訂正
符号長(例えば1バイト)となる。但し、1サブブロッ
クのデータ部分のサイズはシステムバス2のバス幅(M
バイト)であるため、ここでは1サブブロックのサイズ
がシステムバス2のバス幅(システムバス幅)であり、
1ブロックのサイズがシステムバス幅のN倍であるとし
て説明する。
【0018】4はCPU1等からのアクセス要求により
主記憶3をリード/ライトアクセス制御するエラー訂正
・検出機能付きの主記憶コントローラである。主記憶コ
ントローラ4は、システムバス2のバス幅を単位にエラ
ー訂正符号を生成するようになっている。
主記憶3をリード/ライトアクセス制御するエラー訂正
・検出機能付きの主記憶コントローラである。主記憶コ
ントローラ4は、システムバス2のバス幅を単位にエラ
ー訂正符号を生成するようになっている。
【0019】主記憶コントローラ4には、N×Mバイト
のブロックを単位に主記憶3の一部の写しが登録される
キャッシュメモリ41と、このキャッシュメモリ41に
登録されているブロックデータのディレクトリ情報(タ
グ情報)が登録されるディレクトリメモリ(タグメモ
リ)42とが設けられている。キャッシュメモリ41
は、サブブロック単位のアクセスが可能なように構成さ
れている。
のブロックを単位に主記憶3の一部の写しが登録される
キャッシュメモリ41と、このキャッシュメモリ41に
登録されているブロックデータのディレクトリ情報(タ
グ情報)が登録されるディレクトリメモリ(タグメモ
リ)42とが設けられている。キャッシュメモリ41
は、サブブロック単位のアクセスが可能なように構成さ
れている。
【0020】次に、図1の構成における主記憶コントロ
ーラ4の動作を、CPU1等から主記憶ライトアクセス
が要求された場合を例に、図2のフローチャートを参照
して説明する。
ーラ4の動作を、CPU1等から主記憶ライトアクセス
が要求された場合を例に、図2のフローチャートを参照
して説明する。
【0021】まず、本実施例における主記憶ライトアク
セス要求は、アドレス等を転送するアドレスフェーズ
と、書き込みデータを転送するデータフェーズの2フェ
ーズ(2システムクロック分)により実現される。
セス要求は、アドレス等を転送するアドレスフェーズ
と、書き込みデータを転送するデータフェーズの2フェ
ーズ(2システムクロック分)により実現される。
【0022】今、CPU1等から主記憶コントローラ4
に対し主記憶ライトアクセス要求のアドレスフェーズが
実行されたものとする。すると、主記憶コントローラ4
に、システムバス2を介してアドレス情報が転送され
る。このアドレス情報には、ライトアドレス(ライトア
クセスのスタートアドレス)Aとサイズ(書き込みデー
タサイズ)Sが含まれている。このサイズSは、1バイ
ト〜Mバイトのうちのいずれかである。
に対し主記憶ライトアクセス要求のアドレスフェーズが
実行されたものとする。すると、主記憶コントローラ4
に、システムバス2を介してアドレス情報が転送され
る。このアドレス情報には、ライトアドレス(ライトア
クセスのスタートアドレス)Aとサイズ(書き込みデー
タサイズ)Sが含まれている。このサイズSは、1バイ
ト〜Mバイトのうちのいずれかである。
【0023】主記憶コントローラ4は、主記憶ライトア
クセス要求のアドレスフェーズにおいて、システムバス
2を介して転送されたアドレス情報を受け取ると、同情
報中の書き込みデータサイズSから、システムバス2の
バス幅(データ幅)に満たない(即ちエラー訂正符号の
生成単位に満たない)サイズのデータの書き込みか否か
をチェックする(ステップS1)。
クセス要求のアドレスフェーズにおいて、システムバス
2を介して転送されたアドレス情報を受け取ると、同情
報中の書き込みデータサイズSから、システムバス2の
バス幅(データ幅)に満たない(即ちエラー訂正符号の
生成単位に満たない)サイズのデータの書き込みか否か
をチェックする(ステップS1)。
【0024】もし、システムバス2のバス幅に一致する
サイズのデータの書き込みであるならば、次のデータフ
ェーズにおけるシステムバス2(のデータバス)上のM
バイトデータは全て有効なデータ(真の書き込みデー
タ)のはずである。この場合、主記憶コントローラ4
は、システムバス2上のMバイトデータを受け取ると、
同データをもとにエラー訂正符号を生成し、要求された
ライトアドレス(スタートアドレス)Aで指定される主
記憶3内のサブ主記憶30-i(iは0〜N−1のいずれ
か)の対応するサブブロックへの書き込みを実行する
(ステップS2)。これにより、要求された書き込みデ
ータは当該サブブロックに書き込まれ、同データのエラ
ー訂正符号は、当該サブブロックに付されたエラー訂正
符号領域に書き込まれる。
サイズのデータの書き込みであるならば、次のデータフ
ェーズにおけるシステムバス2(のデータバス)上のM
バイトデータは全て有効なデータ(真の書き込みデー
タ)のはずである。この場合、主記憶コントローラ4
は、システムバス2上のMバイトデータを受け取ると、
同データをもとにエラー訂正符号を生成し、要求された
ライトアドレス(スタートアドレス)Aで指定される主
記憶3内のサブ主記憶30-i(iは0〜N−1のいずれ
か)の対応するサブブロックへの書き込みを実行する
(ステップS2)。これにより、要求された書き込みデ
ータは当該サブブロックに書き込まれ、同データのエラ
ー訂正符号は、当該サブブロックに付されたエラー訂正
符号領域に書き込まれる。
【0025】以上の書き込みが行われるサブ主記憶30
-iは、上記ライトアドレスAの下位n+mビットのうち
の上位側nビットの値i(0〜2n −1、即ち0〜N−
1のいずれか)によって決定される。また、実際にデー
タが書き込まれるサブ主記憶30-i内のサブブロック位
置は、ブロック番号に一致しており、ライトアドレスA
の下位n+mビットを除く上位アドレスによって決定さ
れる。
-iは、上記ライトアドレスAの下位n+mビットのうち
の上位側nビットの値i(0〜2n −1、即ち0〜N−
1のいずれか)によって決定される。また、実際にデー
タが書き込まれるサブ主記憶30-i内のサブブロック位
置は、ブロック番号に一致しており、ライトアドレスA
の下位n+mビットを除く上位アドレスによって決定さ
れる。
【0026】一方、システムバス2のバス幅に満たない
サイズのデータの書き込みであるならば、次のデータフ
ェーズにおけるシステムバス2(のデータバス)上のM
バイトデータは一部しか有効でない。この有効データが
真の書き込みデータ(ライト要求されたデータ)であ
り、Mバイトデータ中のうち、上記ライトアドレスAの
下位mビットの値(0〜2m −1、即ち0〜M−1)で
示されるバイト位置から始まる(指定サイズの)Sバイ
ト(Sは1〜M−1のいずれか)である。
サイズのデータの書き込みであるならば、次のデータフ
ェーズにおけるシステムバス2(のデータバス)上のM
バイトデータは一部しか有効でない。この有効データが
真の書き込みデータ(ライト要求されたデータ)であ
り、Mバイトデータ中のうち、上記ライトアドレスAの
下位mビットの値(0〜2m −1、即ち0〜M−1)で
示されるバイト位置から始まる(指定サイズの)Sバイ
ト(Sは1〜M−1のいずれか)である。
【0027】この場合、主記憶コントローラ4は、ディ
レクトリメモリ42を参照して、要求されたライトアド
レスA(の下位n+mビットを除く上位アドレス)で指
定される主記憶3内ブロックのデータがキャッシュメモ
リ41に登録されているか否かを調べるための、いわゆ
るディレクトリチェックを行う(ステップS3)。
レクトリメモリ42を参照して、要求されたライトアド
レスA(の下位n+mビットを除く上位アドレス)で指
定される主記憶3内ブロックのデータがキャッシュメモ
リ41に登録されているか否かを調べるための、いわゆ
るディレクトリチェックを行う(ステップS3)。
【0028】ステップS3でのディレクトリチェックの
結果、目的ブロックのデータがキャッシュメモリ41に
登録されていないことを検出した場合、即ちキャッシュ
メモリ41にミスヒットしたことを検出した場合、主記
憶コントローラ4は、上記ライトアドレスA(の下位n
+mビットを除く上位アドレス)で指定される主記憶3
内ブロック(を構成するN個のサブブロック)のデータ
を読み出す(ステップS4)。このブロックデータ読み
出しは、ライトアドレスAの下位n+mビットを除く上
位アドレスで指定される(ブロック番号に一致する)サ
ブ主記憶30-0〜30-(N-1)内の各サブブロック位置か
ら対応するサブブロックデータを同時に読み出すことに
より実現される。即ち本実施例では、主記憶3からのブ
ロックデータ読み出しが、1回のリードアクセスで行え
る。
結果、目的ブロックのデータがキャッシュメモリ41に
登録されていないことを検出した場合、即ちキャッシュ
メモリ41にミスヒットしたことを検出した場合、主記
憶コントローラ4は、上記ライトアドレスA(の下位n
+mビットを除く上位アドレス)で指定される主記憶3
内ブロック(を構成するN個のサブブロック)のデータ
を読み出す(ステップS4)。このブロックデータ読み
出しは、ライトアドレスAの下位n+mビットを除く上
位アドレスで指定される(ブロック番号に一致する)サ
ブ主記憶30-0〜30-(N-1)内の各サブブロック位置か
ら対応するサブブロックデータを同時に読み出すことに
より実現される。即ち本実施例では、主記憶3からのブ
ロックデータ読み出しが、1回のリードアクセスで行え
る。
【0029】主記憶コントローラ4は、上記ステップS
4を実行すると、主記憶3から読み出したN個のサブブ
ロックからなる1ブロックのデータを、キャッシュメモ
リ41に登録すると共に、対応するディレクトリ情報を
ディレクトリメモリ42に登録する(ステップS5)。
なお、主記憶3から読み出したブロックデータを構成す
るN個のサブブロックの各データ(Mバイトデータ)に
はそれぞれエラー訂正符号が付されており、主記憶コン
トローラ4内では、このエラー訂正符号と該当するサブ
ブロックデータとに基づいて、各サブブロック毎にエラ
ー検出・エラー訂正が行われる。
4を実行すると、主記憶3から読み出したN個のサブブ
ロックからなる1ブロックのデータを、キャッシュメモ
リ41に登録すると共に、対応するディレクトリ情報を
ディレクトリメモリ42に登録する(ステップS5)。
なお、主記憶3から読み出したブロックデータを構成す
るN個のサブブロックの各データ(Mバイトデータ)に
はそれぞれエラー訂正符号が付されており、主記憶コン
トローラ4内では、このエラー訂正符号と該当するサブ
ブロックデータとに基づいて、各サブブロック毎にエラ
ー検出・エラー訂正が行われる。
【0030】主記憶コントローラ4は、上記ステップS
5を実行すると、キャッシュメモリ41に登録されたブ
ロックのデータのうち、ライトアドレスAの下位n+m
ビット中の上位側nビットで指定されるサブブロック
(対象サブブロック)のデータに対して、システムバス
2から受け取ったMバイトデータ中のライト要求された
データ(真の書き込みデータ)のみの書き換えを行う
(ステップS6)。この書き換えは、上記対象サブブロ
ックのデータのうち、ライトアドレスAの下位mビット
の値で示されるバイト位置から始まる(指定サイズの)
Sバイトを、ライト要求されたデータ(システムバス2
から受け取ったMバイトデータのうちの、ライトアドレ
スAの下位mビットの値で示されるバイト位置から始ま
るSバイト)に置き換えることにより実現される。
5を実行すると、キャッシュメモリ41に登録されたブ
ロックのデータのうち、ライトアドレスAの下位n+m
ビット中の上位側nビットで指定されるサブブロック
(対象サブブロック)のデータに対して、システムバス
2から受け取ったMバイトデータ中のライト要求された
データ(真の書き込みデータ)のみの書き換えを行う
(ステップS6)。この書き換えは、上記対象サブブロ
ックのデータのうち、ライトアドレスAの下位mビット
の値で示されるバイト位置から始まる(指定サイズの)
Sバイトを、ライト要求されたデータ(システムバス2
から受け取ったMバイトデータのうちの、ライトアドレ
スAの下位mビットの値で示されるバイト位置から始ま
るSバイト)に置き換えることにより実現される。
【0031】次に主記憶コントローラ4は、ステップS
6での書き換え後のサブブロックデータをもとにエラー
訂正符号を生成し、要求されたライトアドレスAで指定
される主記憶3内のサブ主記憶30-iの対応するサブブ
ロックへの書き込みを実行する(ステップS7)。
6での書き換え後のサブブロックデータをもとにエラー
訂正符号を生成し、要求されたライトアドレスAで指定
される主記憶3内のサブ主記憶30-iの対応するサブブ
ロックへの書き込みを実行する(ステップS7)。
【0032】一方、上記ステップS3でのディレクトリ
チェックの結果、目的ブロックのデータがキャッシュメ
モリ41に登録されていることを検出した場合、即ちキ
ャッシュメモリ41にヒットしたことを検出した場合、
主記憶コントローラ4は、キャッシュメモリ41内のヒ
ットブロックのデータのうち、ライトアドレスAの下位
n+mビット中の上位側nビットで指定されるサブブロ
ック(対象サブブロック)のデータに対して、システム
バス2から受け取ったMバイトデータ中のライト要求さ
れたデータのみの書き換えを行う(ステップS8)。こ
の書き換え動作は上記ステップS6と同様に行われる。
但し、ステップS8では、ヒットしたブロック内のサブ
ブロックを対象としており、この点で、主記憶3から読
み出したブロック内のサブブロックを対象とする上記ス
テップS6とは異なる。
チェックの結果、目的ブロックのデータがキャッシュメ
モリ41に登録されていることを検出した場合、即ちキ
ャッシュメモリ41にヒットしたことを検出した場合、
主記憶コントローラ4は、キャッシュメモリ41内のヒ
ットブロックのデータのうち、ライトアドレスAの下位
n+mビット中の上位側nビットで指定されるサブブロ
ック(対象サブブロック)のデータに対して、システム
バス2から受け取ったMバイトデータ中のライト要求さ
れたデータのみの書き換えを行う(ステップS8)。こ
の書き換え動作は上記ステップS6と同様に行われる。
但し、ステップS8では、ヒットしたブロック内のサブ
ブロックを対象としており、この点で、主記憶3から読
み出したブロック内のサブブロックを対象とする上記ス
テップS6とは異なる。
【0033】次に主記憶コントローラ4は、ステップS
8での書き換え後のサブブロックデータをもとにエラー
訂正符号を生成し、要求されたライトアドレスAで指定
される主記憶3内のサブ主記憶30-iの対応するサブブ
ロックへの書き込みを実行する(ステップS7)。
8での書き換え後のサブブロックデータをもとにエラー
訂正符号を生成し、要求されたライトアドレスAで指定
される主記憶3内のサブ主記憶30-iの対応するサブブ
ロックへの書き込みを実行する(ステップS7)。
【0034】このように、エラー訂正符号生成単位に満
たないデータ幅のデータの書き込みが要求された場合で
も、キャッシュメモリ41にヒットした場合には、主記
憶3に対するリードアクセスを行うことなく、エラー訂
正符号生成単位のデータ幅に拡張できるため、ライトア
クセスが高速に行える。
たないデータ幅のデータの書き込みが要求された場合で
も、キャッシュメモリ41にヒットした場合には、主記
憶3に対するリードアクセスを行うことなく、エラー訂
正符号生成単位のデータ幅に拡張できるため、ライトア
クセスが高速に行える。
【0035】なお、前記実施例では、システムバス幅
(エラー訂正符号の生成単位)のデータの書き込みが要
求された場合には、ディレクトリチェックを行わないも
のとして説明したが、これに限るものではない。例え
ば、システムバスに満たないデータの書き込みの場合と
同様にディレクトリチェックを行い、ミスヒット時に
は、該当するブロックデータを主記憶3から読み出して
キャッシュメモリ41に登録するようにしても構わな
い。この方式では、システムバス幅のデータの書き込み
であるにも拘らずに、主記憶3に対するリードアクセス
が必要となるが、キャッシュメモリ41へのブロックデ
ータ登録の結果、そのブロック内への書き込みが要求さ
れた場合には、システムバス幅に満たないデータの書き
込みであっても、主記憶3に対するリードアクセスが発
生しないという利点がある。
(エラー訂正符号の生成単位)のデータの書き込みが要
求された場合には、ディレクトリチェックを行わないも
のとして説明したが、これに限るものではない。例え
ば、システムバスに満たないデータの書き込みの場合と
同様にディレクトリチェックを行い、ミスヒット時に
は、該当するブロックデータを主記憶3から読み出して
キャッシュメモリ41に登録するようにしても構わな
い。この方式では、システムバス幅のデータの書き込み
であるにも拘らずに、主記憶3に対するリードアクセス
が必要となるが、キャッシュメモリ41へのブロックデ
ータ登録の結果、そのブロック内への書き込みが要求さ
れた場合には、システムバス幅に満たないデータの書き
込みであっても、主記憶3に対するリードアクセスが発
生しないという利点がある。
【0036】
【発明の効果】以上詳述したようにこの発明によれば、
システムバス幅を1サブブロックとし、このサブブロッ
クN個を1ブロックとして管理される主記憶であって、
各ブロックのデータをN個のサブブロックに分割して格
納するための、主記憶コントローラにより独立にアクセ
ス可能なN個のサブ主記憶から構成される主記憶を設け
ると共に、上記ブロックを単位に主記憶の一部の写しが
登録されるキャッシュメモリを主記憶コントローラ内に
設け、エラー訂正符号の生成単位であるシステムバス幅
に満たないサイズの主記憶ライトアクセスの場合でも、
要求先に対応するブロックデータがキャッシュメモリに
登録されているならば、このブロックデータのうちライ
トアクセス要求されたサブブロック内データ部分のみを
要求データに書き換えて、エラー訂正符号の生成が可能
なデータ幅に拡張し、この書き換えがなされたサブブロ
ックのデータをもとにエラー訂正符号を生成して、主記
憶内の対応するサブ主記憶への書き込みを行う構成とし
たので、エラー訂正符号の生成単位に満たないサイズの
主記憶ライトアクセス時の主記憶リードアクセスが不要
となり、高速アクセスが実現できる。しかも、要求先に
対応するブロックデータがキャッシュメモリに登録され
ていない場合に必要となるブロックリードは、N個のサ
ブ主記憶に対して同時にリードアクセスすることにより
実現できるため、即ち1回の主記憶リードアクセスで実
現できるため、何ら不都合は発生しない。
システムバス幅を1サブブロックとし、このサブブロッ
クN個を1ブロックとして管理される主記憶であって、
各ブロックのデータをN個のサブブロックに分割して格
納するための、主記憶コントローラにより独立にアクセ
ス可能なN個のサブ主記憶から構成される主記憶を設け
ると共に、上記ブロックを単位に主記憶の一部の写しが
登録されるキャッシュメモリを主記憶コントローラ内に
設け、エラー訂正符号の生成単位であるシステムバス幅
に満たないサイズの主記憶ライトアクセスの場合でも、
要求先に対応するブロックデータがキャッシュメモリに
登録されているならば、このブロックデータのうちライ
トアクセス要求されたサブブロック内データ部分のみを
要求データに書き換えて、エラー訂正符号の生成が可能
なデータ幅に拡張し、この書き換えがなされたサブブロ
ックのデータをもとにエラー訂正符号を生成して、主記
憶内の対応するサブ主記憶への書き込みを行う構成とし
たので、エラー訂正符号の生成単位に満たないサイズの
主記憶ライトアクセス時の主記憶リードアクセスが不要
となり、高速アクセスが実現できる。しかも、要求先に
対応するブロックデータがキャッシュメモリに登録され
ていない場合に必要となるブロックリードは、N個のサ
ブ主記憶に対して同時にリードアクセスすることにより
実現できるため、即ち1回の主記憶リードアクセスで実
現できるため、何ら不都合は発生しない。
【図1】この発明の一実施例に係る情報処理装置のブロ
ック構成図。
ック構成図。
【図2】同実施例における主記憶コントローラ4の主記
憶ライトアクセス動作を説明するためのフローチャー
ト。
憶ライトアクセス動作を説明するためのフローチャー
ト。
1…CPU、2…システムバス、3…主記憶、4…主記
憶コントローラ、30-0〜30-(N-1)…サブ主記憶、4
1…キャッシュメモリ、42…ディレクトリメモリ。
憶コントローラ、30-0〜30-(N-1)…サブ主記憶、4
1…キャッシュメモリ、42…ディレクトリメモリ。
Claims (2)
- 【請求項1】 エラー訂正・検出機能付きの主記憶コン
トローラを備え、エラー訂正符号の生成単位をシステム
バス幅とする情報処理装置において、 前記システムバス幅を1サブブロックとし、このサブブ
ロックN個を1ブロックとして管理される主記憶であっ
て、前記各ブロックのデータを前記N個のサブブロック
に分割して格納するための、前記主記憶コントローラに
より独立にアクセス可能なN個のサブ主記憶から構成さ
れる主記憶と、 前記主記憶コントローラに設けられた、前記ブロックを
単位に前記主記憶の一部の写しが登録されるキャッシュ
メモリとを具備し、 前記主記憶コントローラは、前記システムバス幅に満た
ないサイズのライトアクセスが要求された場合に、この
要求先に対応する前記主記憶内のブロックのデータが前
記キャッシュメモリに登録されているならば、前記キャ
ッシュメモリ上の当該ブロックのデータのうちライトア
クセス要求された前記サブブロック内データ部分を要求
データに書き換え、この書き換えられたデータ部分を持
つ前記サブブロックのデータをもとにエラー訂正符号を
生成して、前記主記憶内の対応するサブ主記憶への書き
込みを行うように構成されていることを特徴とする情報
処理装置。 - 【請求項2】 前記主記憶コントローラは、前記システ
ムバス幅に満たないサイズのライトアクセスが要求され
た場合に、この要求先に対応する前記主記憶内のブロッ
クのデータが前記キャッシュメモリに登録されていない
ならば、そのブロックのデータを構成する前記N個のサ
ブブロックのデータを前記N個のサブ主記憶から同時に
読み出して、ライトアクセス要求された前記サブブロッ
ク内データ部分が要求データに書き換えられたブロック
データの形で前記キャッシュメモリに登録すると共に、
この書き換えられたデータ部分を持つ前記サブブロック
のデータをもとにエラー訂正符号を生成して、前記主記
憶内の対応する前記サブ主記憶へ書き戻すことを特徴と
する請求項1記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5057347A JPH06266618A (ja) | 1993-03-17 | 1993-03-17 | エラー訂正・検出機能付きの主記憶コントローラを備えた情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5057347A JPH06266618A (ja) | 1993-03-17 | 1993-03-17 | エラー訂正・検出機能付きの主記憶コントローラを備えた情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06266618A true JPH06266618A (ja) | 1994-09-22 |
Family
ID=13053045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5057347A Pending JPH06266618A (ja) | 1993-03-17 | 1993-03-17 | エラー訂正・検出機能付きの主記憶コントローラを備えた情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06266618A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030075752A (ko) * | 2002-03-20 | 2003-09-26 | 삼성전자주식회사 | 버스 스누핑을 위한 메모리 제어 장치 및 방법 |
KR100650414B1 (ko) * | 2002-11-27 | 2006-11-28 | 인터내셔널 비지네스 머신즈 코포레이션 | 정보 저장 매체로부터 정보를 판독하는 장치 및 방법 |
JP2014182834A (ja) * | 2013-03-15 | 2014-09-29 | Seagate Technology Llc | エラー訂正コードの制御方法および大容量ストレージ |
-
1993
- 1993-03-17 JP JP5057347A patent/JPH06266618A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030075752A (ko) * | 2002-03-20 | 2003-09-26 | 삼성전자주식회사 | 버스 스누핑을 위한 메모리 제어 장치 및 방법 |
KR100650414B1 (ko) * | 2002-11-27 | 2006-11-28 | 인터내셔널 비지네스 머신즈 코포레이션 | 정보 저장 매체로부터 정보를 판독하는 장치 및 방법 |
JP2014182834A (ja) * | 2013-03-15 | 2014-09-29 | Seagate Technology Llc | エラー訂正コードの制御方法および大容量ストレージ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002169729A (ja) | 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法 | |
JPH05509189A (ja) | コンピュータシステムを動作する方法及びコンピュータシステムにおけるメモリ管理装置 | |
JP2007048296A (ja) | 複数のアドレス・キャッシュ・エントリーを無効にする方法、装置およびシステム | |
US4774687A (en) | Advanced store-in system for a hierarchy memory device | |
KR100972807B1 (ko) | 에러 정정 코드 생성 방법 및 메모리 관리 장치 | |
JP2014115851A (ja) | データ処理装置及びその制御方法 | |
JP3929872B2 (ja) | キャッシュメモリ、プロセッサ及びキャッシュ制御方法 | |
EP0173909B1 (en) | Look-aside buffer least recently used marker controller | |
JPH06266618A (ja) | エラー訂正・検出機能付きの主記憶コントローラを備えた情報処理装置 | |
JP3373360B2 (ja) | ディスクアレイ装置 | |
JP3190847B2 (ja) | データ転送制御装置 | |
JP3335919B2 (ja) | ディスクキャッシュ制御装置 | |
JP3427901B2 (ja) | メモリ内容回復装置 | |
JP3008801B2 (ja) | 記憶装置システムおよびディスクアレイ制御装置 | |
JPH0784886A (ja) | キャッシュメモリ制御方法およびキャッシュメモリ制御装置 | |
US6317857B1 (en) | System and method for utilizing checksums to recover data | |
JP3351337B2 (ja) | Dma方法及び装置 | |
JPH04104345A (ja) | Ecc機構付主記憶装置の部分書き換えデータの書き込み制御方式 | |
JPS6410858B2 (ja) | ||
JP2864548B2 (ja) | 命令キャッシュ装置 | |
JPS6042972B2 (ja) | アドレス変換機能を有する情報処理装置 | |
JPS6042971B2 (ja) | 情報処理装置 | |
JPH04312147A (ja) | 主記憶装置 | |
JP2011192012A (ja) | データ処理システム及びアクセス制御方法 | |
JPH02257234A (ja) | キャッシュ制御方式 |