JPH09134314A - Memory access controller - Google Patents
Memory access controllerInfo
- Publication number
- JPH09134314A JPH09134314A JP7289836A JP28983695A JPH09134314A JP H09134314 A JPH09134314 A JP H09134314A JP 7289836 A JP7289836 A JP 7289836A JP 28983695 A JP28983695 A JP 28983695A JP H09134314 A JPH09134314 A JP H09134314A
- Authority
- JP
- Japan
- Prior art keywords
- data
- error
- processing
- read
- latch
- 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.)
- Granted
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、記憶モジユールに
データとそのデータに対する誤り検出・訂正コードとを
格納して、データの読み出し時に誤り検出・訂正を行う
メモリアクセス制御装置に係り、特に、高速なデータ読
み出しが必要な処理と、高速なデータ読み出しを必要と
しない処理とのそれぞれに対して、読み出しデータの誤
り時に最適な訂正処理を行うことを可能にしたメモリア
クセス制御装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory access control device for storing data and an error detection / correction code for the data in a storage module and performing error detection / correction at the time of reading data, and particularly to a high speed memory access control device. The present invention relates to a memory access control device capable of performing optimum correction processing when read data is erroneous, for each of the processing that requires various data reading and the processing that does not require high-speed data reading.
【0002】[0002]
【従来の技術】近年、コンピュータシステムが扱う情報
処理量の増大に伴い、記憶モジユール(主記憶、キャッ
シュメモリ等)も大容量のものが要求されていされてい
る。このため、コンピュータシステム、特に、1チップ
のマイクロプロセッサは、これらの記憶モジユールを中
央処理装置とは別のチップとして構成して備えられるこ
とが多くなっている。このようなコンピュータシステム
は、処理の高速性、高信頼性が要求されるが、前述した
ような別チップ化された大容量の記憶モジユールを持つ
システムは、中央処理装置へのデータの転送に時間がか
かる上、α線による障害、メモリチップ自体の障害等に
よるデータ誤りの危険性も高くなっており、これを回避
するために、データ誤りの迅速な検出・訂正を行う機構
を備えることが必須となっている。2. Description of the Related Art In recent years, as the amount of information processing handled by computer systems has increased, storage modules (main memory, cache memory, etc.) have also been required to have a large capacity. For this reason, computer systems, especially one-chip microprocessors, are often provided with these storage modules configured as chips separate from the central processing unit. Such a computer system is required to have high-speed processing and high reliability, but a system having a large-capacity storage module that is made into a separate chip as described above takes time to transfer data to the central processing unit. In addition, there is a high risk of data errors due to failures due to α-rays, failures of the memory chip itself, etc. In order to avoid this, it is essential to have a mechanism for rapid detection / correction of data errors. Has become.
【0003】このデータ誤りの検出・訂正は、誤り検出
・訂正コード(ECCコード)を用いて行うのが一般的
である。ECCコードは、データの書き込み時に生成さ
れ、記憶モジュール内に保持されており、データの読み
出しの際に同時に読み出されて、読み出されたデータと
ECCコードとを用いてデータ誤りの検出・訂正が行わ
れる。この誤り検出・訂正を行うためにはある程度の時
間が必要である。This data error detection / correction is generally performed using an error detection / correction code (ECC code). The ECC code is generated at the time of writing the data and is held in the storage module, and is simultaneously read at the time of reading the data, and the data error is detected / corrected by using the read data and the ECC code. Is done. It takes some time to perform this error detection / correction.
【0004】そして、データの読み出し処理は、例え
ば、キャッシュメモリのタグのヒットチェック、キャッ
シュデータの読み出しのように、キャッシュからデータ
が読み出されるまである程度の時間を要するのが一般的
である。このため、中央処理装置は、そのデータを待ち
合わせるために演算を停止することになる。従って、デ
ータの読み出し処理は、極めて迅速な処理が必要とされ
る。そして、極めて高速な処理が要求される場合、中央
処理装置は、データの誤り検出を待たずに読み出したま
まのデータを用いて処理を行い、もし、データに誤りが
検出された場合には、実行中の処理に割り込みを掛けて
中央処理装置の処理を中断させるという方法が用いられ
ている。The data read process generally requires some time until the data is read from the cache, such as the tag hit check of the cache memory and the read of the cache data. Therefore, the central processing unit stops the operation to wait for the data. Therefore, the data reading process requires extremely quick processing. Then, when extremely high-speed processing is required, the central processing unit performs processing using the data that has been read out without waiting for error detection of the data, and if an error is detected in the data, A method of interrupting the processing being executed to interrupt the processing of the central processing unit is used.
【0005】この種の制御を行うメモリアクセス制御の
方法として、例えば、特開平2−304653号公報等
に記載された技術が知られている。As a memory access control method for performing this type of control, for example, a technique described in Japanese Patent Laid-Open No. 304653/1990 is known.
【0006】図4は従来技術によるメモリアクセス制御
装置の構成例を示すブロック図である。図4において、
101は記憶モジュール、102、103は処理装置
A、B、104、105はラッチ、109は誤り訂正回
路、110は誤り検出回路、112、113はエラー割
り込み制御回路である。FIG. 4 is a block diagram showing a configuration example of a memory access control device according to a conventional technique. In FIG.
Reference numeral 101 is a storage module, 102 and 103 are processors A and B, 104 and 105 are latches, 109 is an error correction circuit, 110 is an error detection circuit, and 112 and 113 are error interrupt control circuits.
【0007】図4に示す従来技術において、処理装置A
102と処理装置B103とは、それぞれ記憶モジュー
ル101より読み出したデータを用いた処理を行う。い
ま、処理装置A102が処理を行うものとして、以下に
その動作を説明する。In the prior art shown in FIG. 4, the processing device A
The processing device 102 and the processing device B 103 respectively perform processing using the data read from the storage module 101. Now, assuming that the processing device A 102 performs processing, its operation will be described below.
【0008】処理装置A102は、記憶モジュール10
1より読み出したデータをデータ線115、データ線1
15を選択しているセレクタ107を通してラッチ10
5に受け取り、そのデータを使用して処理を開始する。
記憶モジュール101より読み出されたデータは、同時
に誤り検出回路110にも送られる。誤り検出回路11
0は、このデータと記憶モジュール101からデータと
共に読み出された信号線114上のECCコードとを用
いてエラーチェックを行い、エラーが検出された場合、
信号線111を通して処理装置A102に割り込みをか
ける。The processing device A 102 includes a storage module 10
The data read from 1 is the data line 115, the data line 1
Latch 10 through selector 107 selecting 15
5, and uses the data to start processing.
The data read from the storage module 101 is also sent to the error detection circuit 110 at the same time. Error detection circuit 11
0 performs an error check using this data and the ECC code on the signal line 114 read out together with the data from the storage module 101, and when an error is detected,
The processor A 102 is interrupted through the signal line 111.
【0009】処理装置A102は、エラー割り込み制御
回路112がエラー割り込みを検出すると、エラーを含
んだ読み出しデータを用いて行っていた現行の処理を中
断し、記憶モジュール101の読み出しをもう一度行
う。このとき、エラー割り込み制御回路112は、セレ
クタ107を誤り訂正回路109側に切り替えておく。
読み出されたデータはは、エラーの有無にかかわらず、
誤り訂正回路109により訂正されて出力され、そのデ
ータが改めてラッチ105に受け取られる。処理装置A
102は、このデータを用いて、処理のやり直しを行
う。処理装置B103における動作も前述と同様に行わ
れる。When the error interrupt control circuit 112 detects an error interrupt, the processor A102 interrupts the current process which was being performed using the read data including the error, and reads the storage module 101 again. At this time, the error interrupt control circuit 112 switches the selector 107 to the error correction circuit 109 side.
The read data is irrespective of whether or not there is an error.
The data is corrected and output by the error correction circuit 109, and the data is received by the latch 105 again. Processor A
102 uses this data to redo the process. The operation of the processing device B103 is performed in the same manner as described above.
【0010】図5は前述した従来技術を1次、2次の2
段のキャッシュメモリを有するシステムに適用した場合
のパーシャルライトの処理を説明するフローチャートで
あり、以下、これについて説明する。FIG. 5 shows the above-mentioned conventional technique in which a primary and a secondary are used.
6 is a flowchart for explaining a partial write process when applied to a system having a multi-stage cache memory, which will be described below.
【0011】パーシャルライトは、キャッシュメモリへ
の単位書き込みデータ長よりもデータ長の短いデータを
書き込む処理であり、一度キャッシュメモリからデータ
を読み出した後、書き込みデータをそこへマージし、マ
ージ後のデータをキャッシュに書き込むものであり、デ
ータの読み出し時間がシステム性能上重要でない処理で
ある。このパーシャル処理は、従来技術の場合、図5に
示すフローに従って行われる。The partial write is a process of writing data having a data length shorter than the unit write data length to the cache memory. After the data is once read from the cache memory, the write data is merged therein and the merged data is written. Is written in the cache, and the data read time is not important for system performance. In the case of the conventional technique, this partial process is performed according to the flow shown in FIG.
【0012】(1)パーシャルライトの処理が開始され
ると、まず、2次キャッシュからデータが読み出される
(ステップ501)。(1) When the partial write process is started, first, data is read from the secondary cache (step 501).
【0013】(2)この読み出されたデータが受け取ら
れ、書き込みデータとのマージ処理が行われる(ステッ
プ502、503)。(2) The read data is received and merged with the write data (steps 502 and 503).
【0014】(3)ステップ501で読み出されたデー
タは、マージ処理と並行して、誤り検出回路によりデー
タ誤りのチェックが行われ、データに誤りが検出される
と、誤り検出回路は、エラー信号を送出する(ステップ
506〜508)。(3) The data read in step 501 is checked for data error by an error detection circuit in parallel with the merge processing, and if an error is detected in the data, the error detection circuit outputs an error. A signal is transmitted (steps 506-508).
【0015】(4)ステップ503で、マージ処理が終
了したとき、誤り検出回路からのエラー信号が受信され
ているか否かチェックし、エラー信号が受信されていな
ければ、マージしたデータを2次キャッシュに書き込ん
で処理を終了する(ステップ504、505)。(4) In step 503, when the merge processing is completed, it is checked whether an error signal from the error detection circuit is received. If no error signal is received, the merged data is secondarily cached. Is written in and the processing ends (steps 504 and 505).
【0016】(5)ステップ504でエラー信号が受信
されていた場合、再度、2次キャッシュからデータが読
み出される。この時点では、データのマージ処理は行わ
れず、読み出されたデータは、誤り訂正回路に入力され
て誤り訂正処理を受ける(ステップ509、510)。(5) If the error signal is received in step 504, the data is read from the secondary cache again. At this point, the data merging process is not performed, and the read data is input to the error correction circuit and subjected to the error correction process (steps 509 and 510).
【0017】(6)誤り訂正後のデータが受け取られ、
ステップ503で行ったマージデータを排除して、再
度、書き込みデータとのマージ処理を行って2次キャッ
シュへの書き込みを行う(ステップ511、512)。(6) The data after error correction is received,
The merge data performed in step 503 is eliminated, the merge process with the write data is performed again, and writing to the secondary cache is performed (steps 511 and 512).
【0018】[0018]
【発明が解決しようとする課題】前述した従来技術は、
図4により説明したように、複数の処理装置を有するシ
ステムに適用された場合、誤り検出回路からのエラー信
号を各処理装置に分配する必要があるため、エラー信号
の負荷が大きくなり、ディレイが厳しくなるという問題
点を生じる。エラー信号は、処理装置におけるキャンセ
ル動作を一刻も早く開始するために少しでも早く伝達す
る必要があるが、誤り検出回路を通過した出力信号であ
るためそもそもディレイが大きく、特に、超小型高集積
のマイクロプロセッサ等では、データとECCコードと
を合わせたビット幅がチップの大きさ(ピン数)と比較
して大きくなるため、記憶モジュールからのデータをチ
ップ上の複数の辺から読み込むことになり、それらを1
箇所に集めてから誤り検出・訂正を行わなければなら
ず、誤り検出・訂正の終了までに長時間を要することに
なり、負荷増大によるエラー信号のディレイの増加は深
刻な問題である。DISCLOSURE OF THE INVENTION Problems to be Solved by the Invention
As described with reference to FIG. 4, when applied to a system having a plurality of processing devices, the error signal from the error detection circuit needs to be distributed to each processing device, resulting in a large error signal load and delay. The problem is that it becomes severe. The error signal needs to be transmitted as soon as possible in order to start the cancel operation in the processing device as soon as possible, but since it is an output signal that has passed through the error detection circuit, the delay is large in the first place, and especially in the case of ultra-compact and highly integrated circuits. In a microprocessor or the like, a bit width obtained by combining data and an ECC code is larger than a chip size (the number of pins), so that data from a storage module is read from a plurality of sides on the chip. Those 1
Since the error detection / correction must be performed after the data is collected in some place, it takes a long time to complete the error detection / correction, and the increase of the delay of the error signal due to the increase of the load is a serious problem.
【0019】また、前述した従来技術は、図5の例で説
明したように、エラーが発生しない場合高速な処理を行
うことができるが、一度、エラーが生じた場合には、処
理装置が動作中の処理を止め、データ受け取り前の状態
に戻って、訂正後のデータを受け取り直すという処理が
必要となるため、処理装置が非常に複雑になるという問
題点を有している。また、処理装置が複雑になると、そ
れだけ論理規模も大きくなるため、各処理装置にこの機
構を付け加えると、装置全体としても論理規模が増大
し、ゲート数の限られた1チップ構成のマイクロプロセ
ッサ等では対応が困難となるという問題点を生じてしま
う。Further, in the above-mentioned conventional technique, as described in the example of FIG. 5, high-speed processing can be performed when no error occurs, but once an error occurs, the processing device operates. There is a problem that the processing device becomes very complicated because it is necessary to stop the internal processing, return to the state before receiving the data, and receive the corrected data again. Further, as the processing device becomes complicated, the logical scale also increases accordingly. Therefore, if this mechanism is added to each processing device, the logical scale also increases as a whole device, and a microprocessor of a one-chip configuration with a limited number of gates, etc. Then, there arises a problem that it is difficult to deal with.
【0020】本発明の目的は、前記従来技術の問題点を
解決し、ディレイの厳しいエラー報告信号の負荷を軽く
することができ、また、システム全体の性能を落すこと
なく、論理規模の増大も最小限に留めて、記憶モジュー
ルの読み出しとデータのエラー処理を行うことができる
メモリアクセス制御装置を提供することにある。An object of the present invention is to solve the above-mentioned problems of the prior art, reduce the load of error report signals with severe delays, and increase the logical scale without degrading the performance of the entire system. It is an object of the present invention to provide a memory access control device capable of performing reading of a storage module and error processing of data while keeping the number to a minimum.
【0021】[0021]
【課題を解決するための手段】本発明は、前述の目的を
達成するために、処理装置による処理として、記憶モジ
ュールからのデータ読み出し時間がシステム性能上重要
である処理と、記憶モジュールからのデータ読み出し時
間がシステム性能上重要でない処理とがあることに着目
してなされたものである。例えば、記憶モジュールがキ
ャッシュメモリのタグである場合、キャッシュメモリか
らデータが読み出されるまで処理装置がデータを待ち合
わせて演算を停止するため、タグの読み出し時間がシス
テム性能上非常に重要であるが、キャッシュメモリのパ
ージ処理(あるエントリの無効化)を行う際のヒットチ
ェックの場合には、通常パージ処理の頻度はあまり高く
ないため、タグの読み出し時間はそれほど重要ではな
い。SUMMARY OF THE INVENTION In order to achieve the above-mentioned object, the present invention relates to a process in which a data read time from a storage module is important for system performance, and a process from a storage module. This was done by paying attention to the fact that the read time is not important for the system performance. For example, when the storage module is a tag of the cache memory, the tag read time is very important for system performance because the processor waits for the data and stops the operation until the data is read from the cache memory. In the case of hit check when performing the memory purging process (invalidating a certain entry), the frequency of the purging process is usually not so high, so the tag read time is not so important.
【0022】本発明によれば前記目的は、前述の観点か
ら、データと誤り検出・訂正コードとが記憶される記憶
モジユールと、該記憶モジユールから読み出されたデー
タの誤り検出・訂正回路を備えたメモリアクセス制御装
置において、読み出しデータを直接処理装置へ転送する
モードと、誤り検出・訂正回路により訂正後のデータを
処理装置に転送するモードとを備え、記憶モジユールか
らのデータ読み出し時間がシステム性能上重要である処
理を、読み出しデータを直接処理装置へ転送して行わ
せ、記憶モジユールからのデータ読み出し時間が重要で
ない処理を、誤り検出・訂正回路により訂正後のデータ
を処理装置に転送して行わせることにより達成される。According to the present invention, from the above-mentioned viewpoint, the above object is provided with a storage module for storing data and an error detection / correction code, and an error detection / correction circuit for data read from the storage module. The memory access control device has a mode in which the read data is directly transferred to the processing device and a mode in which the corrected data is transferred to the processing device by the error detection / correction circuit, and the data read time from the storage module is system performance. The important processing is performed by directly transferring the read data to the processing device, and the processing in which the data read time from the storage module is not important is transferred to the processing device by the error detection / correction circuit. It is achieved by doing.
【0023】また、前記目的は、前述において、誤り検
出・訂正回路によって訂正したデータを保持する機構を
備え、読み出しデータを直接処理装置へ転送するモード
での処理の際、誤り検出・訂正回路が読み出したデータ
のエラーを検出した場合、エラー発生を処理装置に通知
し、前記保持されている訂正済みのデータを処理装置に
転送することにより達成される。Further, the above-mentioned object is provided with a mechanism for holding the data corrected by the error detection / correction circuit in the above description, and the error detection / correction circuit is provided with the error detection / correction circuit during the processing in the mode in which the read data is directly transferred to the processing device. When an error in the read data is detected, the error occurrence is notified to the processing device, and the retained corrected data is transferred to the processing device.
【0024】[0024]
【発明の実施の形態】以下、本発明によるメモリアクセ
ス制御装置の一実施形態を図面により詳細に説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of a memory access control device according to the present invention will be described in detail below with reference to the drawings.
【0025】図1は本発明第1の実施形態によるメモリ
アクセス制御装置の構成を示すブロック図であり、図の
符号は図4の場合と同一である。FIG. 1 is a block diagram showing the configuration of a memory access control apparatus according to the first embodiment of the present invention, and the reference numerals in the figure are the same as those in FIG.
【0026】この図1に示す本発明の第1の実施形態
は、本発明の原理を説明するために好適な構成を有する
ものであり、2台の処理装置A、Bに対して、記憶モジ
ュールの読み出しデータを与えると共に、データの誤り
検出・訂正を行うものである。そして、図1に示す例で
は、処理装置A102が、記憶モジュール101からの
データ読み出し時間がシステム性能上重要である処理を
行い、処理装置B103が、データの読み出し時間がシ
ステム性能上重要でない処理を行うものとしている。The first embodiment of the present invention shown in FIG. 1 has a configuration suitable for explaining the principle of the present invention, and is a storage module for two processing devices A and B. The read data is given and error detection / correction of the data is performed. In the example shown in FIG. 1, the processing device A 102 performs a process in which the data read time from the storage module 101 is important for the system performance, and the processing device B 103 performs a process in which the data read time is not important for the system performance. I am supposed to do it.
【0027】処理装置A102は、記憶モジュール10
1より読み出したデータをデータ線115、データ線1
15を選択しているセレクタ107を通して直接ラッチ
105に受け取り、このデータを使用して処理を行う。
一方、記憶モジュール101より読み出されたデータ
は、同時に誤り検出回路110にも入力される。誤り検
出回路110は、読み出されたデータと、このデータと
共に記憶モジュール101から読み出されたECCコー
ド114とを用いてエラーチェックを行い、さらに、誤
り訂正回路109は、誤り訂正を行って訂正後のデータ
をラッチ106に保持する。The processing device A 102 includes the storage module 10
The data read from 1 is the data line 115, the data line 1
15 is directly received by the latch 105 through the selector 107 that selects 15 and this data is used for processing.
On the other hand, the data read from the storage module 101 is also input to the error detection circuit 110 at the same time. The error detection circuit 110 performs an error check using the read data and the ECC code 114 read from the storage module 101 together with this data, and the error correction circuit 109 performs error correction to correct the error. Later data is held in the latch 106.
【0028】誤り検出回路110は、読み出しデータに
エラーを検出した場合、信号線111を通して処理装置
A102に割り込みをかける。処理装置A102のエラ
ー割り込み制御回路112は、エラー割り込みを検出す
ると、処理装置A102における現行の処理を中断さ
せ、セレクタ107を切り替えてラッチ106から訂正
済みデータを改めてラッチ105に受け取り、処理装置
A102に処理のやり直しを行わせる。When the error detection circuit 110 detects an error in the read data, it interrupts the processing unit A 102 through the signal line 111. When the error interrupt control circuit 112 of the processing device A 102 detects the error interrupt, it interrupts the current processing in the processing device A 102, switches the selector 107 to receive the corrected data from the latch 106 to the latch 105 again, and the processing device A 102 receives the corrected data. Cause the process to be redone.
【0029】一方、処理装置B103は、記憶モジュー
ル101より読み出したデータを直接受け取らず、誤り
訂正回路109により訂正されラッチ106に保持され
たデータのみをラッチ105に受け取ることが可能であ
り、このデータを使用して処理を行う。処理装置B10
3は、記憶モジュール101からの読み出しデータの受
け取りが処理装置A102に比較して遅くなるが、エラ
ー検出後の割り込みによる処理の中断、再実行の処理が
不要となるため、論理規模を小さくすることができる。On the other hand, the processing device B103 can receive only the data corrected by the error correction circuit 109 and held in the latch 106 in the latch 105 without directly receiving the data read from the storage module 101. Use to process. Processor B10
3, the reception of read data from the storage module 101 is slower than that of the processing apparatus A 102, but the interruption of the processing by the interrupt after the error detection and the re-execution processing are not necessary, so the logical scale should be reduced. You can
【0030】前述した本発明の第1の実施形態によれ
ば、システム全体の性能を落すことなく、また論理規模
の増大も最小限に留めた記憶モジュールの読み出しデー
タに対するエラー処理機構を構成することが可能とな
る。According to the first embodiment of the present invention described above, an error processing mechanism for read data of a storage module can be configured without degrading the performance of the entire system and minimizing the increase in logical scale. Is possible.
【0031】また、本発明の第1の実施形態によれば、
エラー信号111を処理装置A102のみに接続すれば
よいため、図4により説明した従来技術の場合に比較し
て、エラー信号の負荷を軽くすることができ、ディレイ
の改善を図ることができる。Further, according to the first embodiment of the present invention,
Since the error signal 111 only needs to be connected to the processing device A102, the load of the error signal can be reduced and the delay can be improved as compared with the case of the conventional technique described with reference to FIG.
【0032】図2は本発明の第2の実施形態によるメモ
リアクセス制御装置の構成を示すブロック図である。図
2において、120は2次キャッシュアクセス制御回
路、121は2次キャッシュメモリのタグ部、122は
2次キャッシュメモリのデータ部、123はレジスタフ
ァイル、124は1次キャッシュメモリ、125は制御
部、126はデータ読み出し制御部(BT制御部)、1
27はパーシャルライト制御部、128はヒットチェッ
ク回路、129、130は誤り検出回路、131、13
2は誤り訂正回路、133、134、139、140、
150〜155はラッチ、135はECCコード生成回
路、136はマージ回路、137、138は3ステート
バッファ、141、142、149はセレクタである。FIG. 2 is a block diagram showing the configuration of a memory access control device according to the second embodiment of the present invention. In FIG. 2, 120 is a secondary cache access control circuit, 121 is a secondary cache memory tag unit, 122 is a secondary cache memory data unit, 123 is a register file, 124 is a primary cache memory, and 125 is a control unit. Reference numeral 126 denotes a data read control unit (BT control unit), 1
27 is a partial write control unit, 128 is a hit check circuit, 129 and 130 are error detection circuits, 131 and 13
2 is an error correction circuit 133, 134, 139, 140,
Reference numerals 150 to 155 are latches, 135 is an ECC code generation circuit, 136 is a merge circuit, 137 and 138 are 3-state buffers, and 141, 142 and 149 are selectors.
【0033】図2に示す本発明の第2の実施形態は、本
発明を1次、2次の2段のキャッシュメモリを有するシ
ステムに適用したものである。そして、以下では、デー
タ読み出し時間がシステム性能上重要である処理が、2
次キャッシュメモリの読み出し処理であるとし、データ
の読み出し時間がシステム性能上重要でない処理が、パ
ーシャルライト処理であるとして説明する。The second embodiment of the present invention shown in FIG. 2 is an application of the present invention to a system having a two-stage cache memory of primary and secondary. Then, in the following, processing in which the data read time is important for system performance is
It is assumed that the read process of the next cache memory is performed, and the process in which the data read time is not important for system performance is the partial write process.
【0034】図2に示す本発明の第2の実施形態は、2
次キャッシュメモリ(タグ部121、データ部12
2)、2次キャッシュアクセス制御回路120、レジス
タファイル123、1次キャッシュメモリ124により
構成される。2次キャッシュアクセス制御回路120全
体の制御を行う制御部125内には、2次キャッシュメ
モリをアクセスするための様々な処理のための制御部が
含まれるが、図2ではその内、データ読み出し制御部1
26、パーシャルライト制御部127を示している。The second embodiment of the invention shown in FIG.
Next cache memory (tag section 121, data section 12
2) The secondary cache access control circuit 120, the register file 123, and the primary cache memory 124. The control unit 125, which controls the entire secondary cache access control circuit 120, includes control units for various processes for accessing the secondary cache memory. In FIG. Part 1
26, a partial write control unit 127 is shown.
【0035】次に、図2に示す本発明の第2の実施形態
の動作を、1次キャッシュミスによる2次キャッシュデ
ータの読み出し処理(BT処理)の動作の場合について
説明する。Next, the operation of the second embodiment of the present invention shown in FIG. 2 will be described for the case of the operation of the secondary cache data read processing (BT processing) due to the primary cache miss.
【0036】通常、BT処理中、レジスタファイル12
3、1次キャッシュメモリ124を含む図示しない処理
装置における演算処理は、2次キャッシュ読み出しデー
タの待ち合わせのため中断している(パイプラインロッ
ク)ことが多いため、BT処理を1サイクルでも短くす
ることがシステム性能上重要である。従って、BT処理
のエラー処理は、エラー信号による割り込みを用いるモ
ードで行われる。このため、図2において、セレクタ1
41はデータ線143側を、セレクタ142はデータ線
144側を選択している。Normally, during the BT process, the register file 12
3. Since the arithmetic processing in the processing device (not shown) including the primary cache memory 124 is often suspended (pipeline lock) for waiting for the secondary cache read data, the BT processing should be shortened even by one cycle. Is important for system performance. Therefore, the error process of the BT process is performed in the mode using the interrupt by the error signal. Therefore, in FIG. 2, the selector 1
41 selects the data line 143 side, and selector 142 selects the data line 144 side.
【0037】この状態で、2次キャッシュ読み出しアド
レスが、レジスタファイル123によりラッチ139に
セットされると、このアドレスにより、2次キャッシュ
メモリのタグ部121とデータ部122と同時にアクセ
スされる。タグとデータとは同時に読み出され、タグ
は、ラッチ151を介してデータ線143からヒットチ
ェック回路128に入力される。ヒットチェック回路1
28で、キャッシュヒットと判定された場合、このキャ
ッシュヒットの報告を受けた制御部125は、レジスタ
ファイル123、1次キャッシュメモリ124に対して
書き込み信号145を出力する。これにより、2次キャ
ッシュメモリのデータ部122からタグと同時に読み出
されたデータは、ラッチ155、データ線144、セレ
クタ142、データ線147を介してレジスタファイル
123、1次キャッシュメモリ124に書き込まれる。In this state, when the secondary cache read address is set in the latch 139 by the register file 123, the tag section 121 and the data section 122 of the secondary cache memory are simultaneously accessed by this address. The tag and the data are read simultaneously, and the tag is input to the hit check circuit 128 from the data line 143 via the latch 151. Hit check circuit 1
If it is determined in 28 that a cache hit has occurred, the control unit 125 that has received this cache hit report outputs a write signal 145 to the register file 123 and the primary cache memory 124. Thus, the data read from the data section 122 of the secondary cache memory at the same time as the tag is written in the register file 123 and the primary cache memory 124 via the latch 155, the data line 144, the selector 142, and the data line 147. .
【0038】前述のタグと同時に読み出されたタグに対
するECCコードは、ラッチ150を介して、タグと共
に誤り検出回路129に入力され、データと同時に読み
出されたデータに対するECCコードは、ラッチ154
を介して、データと共に誤り検出回路130に入力され
る。そして、誤り検出回路129または130は、エラ
ーを検出すると、エラー信号148、149により制御
部125のデータ読み出し制御部126のエラー処理部
にエラーの発生を報告する。The ECC code for the tag read at the same time as the tag is input to the error detection circuit 129 together with the tag via the latch 150, and the ECC code for the data read at the same time as the data is latched 154.
And is input to the error detection circuit 130 together with the data. When the error detection circuit 129 or 130 detects an error, the error detection circuit 129 or 130 reports the occurrence of the error to the error processing unit of the data read control unit 126 of the control unit 125 by the error signals 148 and 149.
【0039】この報告を受けたデータ読み出し制御部1
26のエラー処理部は、誤り訂正処理を開始し、レジス
タファイル123と1次キャッシュメモリ124とに対
して書き込みキャンセル信号146を出力して、前述の
データの書き込みを無効化し、セレクタ141、142
に誤り訂正回路側を選択されるる。この時点では、ラッ
チ133、134に誤り訂正回路131、132により
訂正されたタグ及びデータが保持されているので、これ
らのデータを用いて再度ヒットチェック動作、レジスタ
ファイル123及び1次キャッシュめもり124へのデ
ータの書き込み動作が行われる。The data read control unit 1 receiving this report
The error processing unit 26 starts error correction processing, outputs a write cancel signal 146 to the register file 123 and the primary cache memory 124, invalidates the above-described data writing, and selects 141, 142.
The error correction circuit side is selected. At this point in time, since the tags and data corrected by the error correction circuits 131 and 132 are held in the latches 133 and 134, the hit check operation, the register file 123, and the primary cache memory 124 are again performed using these data. The data write operation is performed.
【0040】図3は図2に示す本発明の第2の実施形態
のパーシャルライト処理の動作を説明するフローチャー
トであり、次に、図3を参照して、図2に示す本発明の
第2の実施形態の動作を、2次キャッシュメモリへのパ
ーシャルライトの動作の場合について説明する。FIG. 3 is a flow chart for explaining the operation of the partial write process of the second embodiment of the present invention shown in FIG. 2. Next, referring to FIG. 3, the second embodiment of the present invention shown in FIG. The operation of the above embodiment will be described for the case of the partial write operation to the secondary cache memory.
【0041】パーシャルライトは、すでに説明したよう
に、キャッシュメモリへの単位書き込みデータ長よりも
データ長の短いデータを書き込む処理であり、一度キャ
ッシュメモリからデータを読み出した後、書き込みデー
タをそこへマージし、マージ後のデータをキャッシュに
書き込むという動作が必要である。パーシャルライト
は、このように効率の悪い処理であるから、通常、使用
される頻度は少ない。従って、パーシャルライトにおけ
るキャッシュメモリの読み出し処理時間は、システム性
能上それほど重要でないため、エラー処理モードとして
は誤り訂正後のデータを用いるモードが適している。こ
のため、図2において、セレクタ142はラッチ134
側を選択している。As described above, the partial write is a process of writing data having a data length shorter than the unit write data length to the cache memory, and once the data is read from the cache memory, the write data is merged therein. However, it is necessary to write the merged data in the cache. Since the partial write is such an inefficient process, it is usually used infrequently. Therefore, the read processing time of the cache memory in the partial write is not so important in terms of system performance, and thus the mode using the data after error correction is suitable as the error processing mode. For this reason, in FIG.
The side is selected.
【0042】(1)前述の状態で、レジスタファイル1
23より、ラッチ139に書き込みアドレスがセットさ
れると、このアドレスにより2次キャッシュメモリが参
照され、読み出されたデータ及びそのECCコードが、
ラッチ155、ラッチ154にセットされる(ステップ
301)。(1) Register file 1 in the above state
From 23, when the write address is set in the latch 139, the secondary cache memory is referred to by this address, and the read data and its ECC code are
It is set in the latch 155 and the latch 154 (step 301).
【0043】(2)ラッチ155、ラッチ154にセッ
トされた読み出しデータ及びそのECCコードは、誤り
検出回路130、誤り訂正回路132に与えられ、誤り
訂正回路132は、誤り検出回路130での誤りの有無
に関わらず誤り訂正を行い、その訂正後のデータをラッ
チ134に保持させる(ステップ302、303)。(2) The read data set in the latch 155 and the latch 154 and the ECC code thereof are given to the error detection circuit 130 and the error correction circuit 132, and the error correction circuit 132 detects the error in the error detection circuit 130. Error correction is performed regardless of the presence or absence, and the corrected data is held in the latch 134 (steps 302 and 303).
【0044】(3)一方、ラッチ140には、パーシャ
ルライトの書き込みデータがレジスタファイル123に
よりセットされる。マージ回路136は、ラッチ134
にセットされている誤り訂正後の2次キャッシュメモリ
からのデータに、ラッチ140にセットされた書き込み
データをマージする(ステップ304)。(3) On the other hand, the write data of partial write is set in the latch 140 by the register file 123. The merge circuit 136 includes a latch 134.
The write data set in the latch 140 is merged with the error-corrected data from the secondary cache memory set in (step 304).
【0045】(4)セレクタ149は、パーシャルライ
ト制御部127によりマージ回路136側を選択するよ
うに制御されており、マージされたデータは、ラッチ1
52にセットされて保持されると共に、ECC生成回路
135に与えられる。ECC生成回路135は、与えら
れたデータに対するECCコードを生成して、このEC
Cコードをラッチ153にセットする。ラッチ152に
保持されているデータと、ラッチ153にセットされた
ECCコードとは、その後、3ステートバッファ137
及び138を介して2次キャッシュメモリのデータ部1
22に書き込まれる(ステップ305)。(4) The selector 149 is controlled by the partial write control unit 127 so as to select the merge circuit 136 side, and the merged data is stored in the latch 1
It is set to 52 and held, and is also given to the ECC generation circuit 135. The ECC generation circuit 135 generates an ECC code for the given data and
The C code is set in the latch 153. The data held in the latch 152 and the ECC code set in the latch 153 are then transferred to the 3-state buffer 137.
And 138 through the data section 1 of the secondary cache memory
22 is written (step 305).
【0046】前述したパーシャルライトの一連の処理
は、誤り訂正後のデータを得るまでの時間が必要とな
り、その分処理時間が長くなるが、データのエラー検出
時の割り込み時間が不要である。このため、本発明の第
2の実施形態は、パーシャルライトの処理におけるエラ
ー処理に関わる処理装置をが不要となり、論理規模を削
減することができる。さらに、エラー信号156をパー
シャルライト制御部127へ接続する必要がないため、
エラー信号156の負荷を軽くし、ディレイを小さくす
ることができる。The above-described series of partial write processing requires time until data after error correction is obtained, and the processing time becomes longer by that much, but interrupt time at the time of data error detection is not necessary. Therefore, the second embodiment of the present invention does not require a processing device relating to error processing in the partial write processing, and can reduce the logical scale. Furthermore, since it is not necessary to connect the error signal 156 to the partial write control unit 127,
The load of the error signal 156 can be reduced and the delay can be reduced.
【0047】[0047]
【発明の効果】以上説明したように本発明によれば、記
憶モジュールからのデータ読み出し時間がシステム性能
上重要である処理に対して、読み出しデータを処理装置
へ直接転送するモードを、また、記憶モジュールからの
データ読み出し時間が重要でない処理に対して、誤り検
出・訂正回路による誤り訂正後のデータを処理装置に転
送するモードを使用することにより、ディレイの厳しい
エラー報告信号の負荷を軽くすることができる。また、
本発明によれば、システム全体の性能を落すことなく、
論理規模の増大を最小限にとどめて、記憶モジュールか
らの読み出しデータに対するエラー処理を行うことがで
きる。As described above, according to the present invention, a mode in which the read data is directly transferred to the processing device for the processing in which the data read time from the storage module is important for the system performance is also stored. To reduce the load of error report signals with severe delays by using the mode in which the data after error correction by the error detection / correction circuit is transferred to the processing device for the processing where the data read time from the module is not important. You can Also,
According to the present invention, without degrading the performance of the entire system,
It is possible to perform error processing on the read data from the storage module while minimizing the increase in the logical scale.
【図1】本発明の第1の実施形態によるメモリアクセス
制御装置の構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a memory access control device according to a first embodiment of the present invention.
【図2】本発明の第2の実施形態によるメモリアクセス
制御装置の構成を示すブロック図である。FIG. 2 is a block diagram showing a configuration of a memory access control device according to a second embodiment of the present invention.
【図3】図2に示す本発明の第2の実施形態のパーシャ
ルライト処理の動作を説明するフローチャートである。FIG. 3 is a flowchart illustrating an operation of a partial write process according to the second embodiment of the present invention shown in FIG.
【図4】従来技術によるメモリアクセス制御装置の構成
例を示すブロック図である。FIG. 4 is a block diagram showing a configuration example of a memory access control device according to a conventional technique.
【図5】従来技術を1次、2次の2段のキャッシュメモ
リを有するシステムに適用した場合のパーシャルライト
の処理を説明するフローチャートである。FIG. 5 is a flowchart illustrating a partial write process when the conventional technique is applied to a system having two-stage primary and secondary cache memories.
101 記憶モジュール 102 処理装置A 103 処理装置B 104、105、133、134、139、140、1
50〜155 ラッチ 107、108、141、142、149 セレクタ 109、131、132 誤り訂正回路 110、129、130 誤り検出回路 112、113 エラー割り込み制御回路 120 2次キャッシュアクセス制御回路 121 2次キャッシュメモリタグ部 122 2次キャッシュメモリデータ部 123 レジスタファイル 124 1次キャッシュメモリ 125 制御部 126 データ読み出し制御部(BT制御部) 127 パーシャルライト制御部 128 ヒットチェック回路 135 ECCコード生成回路 136 マージ回路 137、138 3ステートバッファ101 Storage Module 102 Processing Device A 103 Processing Device B 104, 105, 133, 134, 139, 140, 1
50 to 155 Latch 107, 108, 141, 142, 149 Selector 109, 131, 132 Error correction circuit 110, 129, 130 Error detection circuit 112, 113 Error interrupt control circuit 120 Secondary cache access control circuit 121 Secondary cache memory tag Part 122 Secondary cache memory data part 123 Register file 124 Primary cache memory 125 Control part 126 Data read control part (BT control part) 127 Partial write control part 128 Hit check circuit 135 ECC code generation circuit 136 Merge circuit 137, 138 3 State buffer
Claims (2)
される記憶モジユールと、該記憶モジユールから読み出
されたデータの誤り検出・訂正回路を備えたメモリアク
セス制御装置において、読み出しデータを直接処理装置
へ転送するモードと、誤り検出・訂正回路により訂正後
のデータを処理装置に転送するモードとを備え、記憶モ
ジユールからのデータ読み出し時間がシステム性能上重
要である処理を、読み出しデータを直接処理装置へ転送
して行わせ、記憶モジユールからのデータ読み出し時間
が重要でない処理を、誤り検出・訂正回路により訂正後
のデータを処理装置に転送して行わせることを特徴とす
るメモリアクセス制御装置。1. A read access data is directly processed in a memory access control device including a storage module for storing data and an error detection / correction code, and an error detection / correction circuit for data read from the storage module. Equipped with a mode to transfer data to the device and a mode to transfer the corrected data to the processing device by the error detection / correction circuit, and directly processes the read data for the process where the data read time from the storage module is important for system performance. A memory access control device, wherein the memory access control device transfers the data after correction by an error detection / correction circuit to a processing device for processing in which the data reading time from the storage module is not important.
たデータを保持する機構を備え、読み出しデータを直接
処理装置へ転送するモードでの処理の際、誤り検出・訂
正回路が読み出したデータのエラーを検出した場合、エ
ラー発生を処理装置に通知し、前記保持されている訂正
済みのデータを処理装置に転送することを特徴とする請
求項1記載のメモリアクセス制御装置。2. A mechanism for holding the data corrected by the error detection / correction circuit, wherein an error of the data read by the error detection / correction circuit is eliminated during processing in a mode in which the read data is directly transferred to the processing device. 2. The memory access control device according to claim 1, wherein when detected, an error occurrence is notified to the processing device, and the held corrected data is transferred to the processing device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28983695A JP3534917B2 (en) | 1995-11-08 | 1995-11-08 | Memory access control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28983695A JP3534917B2 (en) | 1995-11-08 | 1995-11-08 | Memory access control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09134314A true JPH09134314A (en) | 1997-05-20 |
JP3534917B2 JP3534917B2 (en) | 2004-06-07 |
Family
ID=17748407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28983695A Expired - Fee Related JP3534917B2 (en) | 1995-11-08 | 1995-11-08 | Memory access control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3534917B2 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000305861A (en) * | 1999-04-26 | 2000-11-02 | Hitachi Ltd | Storage device and memory card |
US7779333B2 (en) | 2006-03-08 | 2010-08-17 | Renesas Technology Corp. | Semiconductor memory having embedded microcomputer with ECC function |
JPWO2008155850A1 (en) * | 2007-06-20 | 2010-08-26 | 富士通株式会社 | Cache control device, cache control method, and cache control program |
JP4791525B2 (en) * | 2006-02-14 | 2011-10-12 | 富士通株式会社 | Read processing apparatus and read method |
JP2012128470A (en) * | 2010-12-13 | 2012-07-05 | Nec Computertechno Ltd | Information processor and information processing method |
JP5212369B2 (en) * | 2007-06-15 | 2013-06-19 | 富士通株式会社 | Operation unit and control method of operation unit |
JP2016510927A (en) * | 2013-03-13 | 2016-04-11 | インテル・コーポレーション | Memory latency management |
JP2019526845A (en) * | 2016-06-29 | 2019-09-19 | マイクロン テクノロジー,インク. | Error correction code event detection |
-
1995
- 1995-11-08 JP JP28983695A patent/JP3534917B2/en not_active Expired - Fee Related
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000305861A (en) * | 1999-04-26 | 2000-11-02 | Hitachi Ltd | Storage device and memory card |
JP4791525B2 (en) * | 2006-02-14 | 2011-10-12 | 富士通株式会社 | Read processing apparatus and read method |
US8286053B2 (en) | 2006-02-14 | 2012-10-09 | Fujitsu Limited | Method and apparatus for reading data |
US7779333B2 (en) | 2006-03-08 | 2010-08-17 | Renesas Technology Corp. | Semiconductor memory having embedded microcomputer with ECC function |
JP5212369B2 (en) * | 2007-06-15 | 2013-06-19 | 富士通株式会社 | Operation unit and control method of operation unit |
US8732550B2 (en) | 2007-06-15 | 2014-05-20 | Fujitsu Limited | Processor and error correcting method |
JPWO2008155850A1 (en) * | 2007-06-20 | 2010-08-26 | 富士通株式会社 | Cache control device, cache control method, and cache control program |
JP4764945B2 (en) * | 2007-06-20 | 2011-09-07 | 富士通株式会社 | Cache control device, cache control method, and cache control program |
US8533565B2 (en) | 2007-06-20 | 2013-09-10 | Fujitsu Limited | Cache controller and cache controlling method |
JP2012128470A (en) * | 2010-12-13 | 2012-07-05 | Nec Computertechno Ltd | Information processor and information processing method |
JP2016510927A (en) * | 2013-03-13 | 2016-04-11 | インテル・コーポレーション | Memory latency management |
JP2019526845A (en) * | 2016-06-29 | 2019-09-19 | マイクロン テクノロジー,インク. | Error correction code event detection |
Also Published As
Publication number | Publication date |
---|---|
JP3534917B2 (en) | 2004-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5504859A (en) | Data processor with enhanced error recovery | |
EP0141743B1 (en) | Pipeline error correction | |
US4852100A (en) | Error detection and correction scheme for main storage unit | |
US4901228A (en) | Pipelined cache system using back up address registers for providing error recovery while continuing pipeline processing | |
US20080163029A1 (en) | Error correction code generation method and memory control device | |
JP3534917B2 (en) | Memory access control method | |
US5761728A (en) | Asynchronous access system controlling processing modules making requests to a shared system memory | |
JPH0375834A (en) | Apparatus and method of sequentially correcting parity | |
JP3526031B2 (en) | Data transfer device | |
JPH07129427A (en) | Comparative check method for data with ecc code | |
JPH0316655B2 (en) | ||
JPS6238953A (en) | Main storage device for compression of partial write access | |
JPH0773114A (en) | Memory control circuit for space digital computer | |
JPH0981465A (en) | Main storage controller | |
JPH06149685A (en) | Memory error recovering circuit | |
JPH0670775B2 (en) | Error detection / correction system | |
JPH04115339A (en) | Memory error processing system | |
JPH02297235A (en) | Memory data protecting circuit | |
EP0432807A2 (en) | Microprocessor having internal cache memory | |
JPS62125453A (en) | Storage device | |
JPH06324946A (en) | Tlb control system | |
JPWO2004051492A1 (en) | Storage device that compresses the same input value | |
JPH05289947A (en) | Ecc check system | |
JPS62271030A (en) | Memory access system | |
JPH04101235A (en) | Parity generation-check circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20040302 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040310 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |