JPH04326436A - Cache controller - Google Patents
Cache controllerInfo
- Publication number
- JPH04326436A JPH04326436A JP3096903A JP9690391A JPH04326436A JP H04326436 A JPH04326436 A JP H04326436A JP 3096903 A JP3096903 A JP 3096903A JP 9690391 A JP9690391 A JP 9690391A JP H04326436 A JPH04326436 A JP H04326436A
- Authority
- JP
- Japan
- Prior art keywords
- address
- memory
- cache memory
- cache
- alternative
- 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
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【0001】0001
【産業上の利用分野】この発明は、デ−タ処理装置にお
けるキャシュメモリの制御に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to control of a cache memory in a data processing device.
【0002】0002
【従来の技術】従来、キャッシュメモリを組み込んだ装
置として、図2に示すものがある。図において1はディ
スク装置、2はキャッシュメモリ、3はキャッシュメモ
リ2を管理するキャッシュコントローラ、4はディスク
装置の制御を行なうディスクI/Fである。5は図示し
ていないホストコンピュータとの転送を制御するホスト
アダプタ、6はキャッシュメモリ2とホストアダプタ5
、ディスクI/F4との間でのデータ転送を制御するD
MAコントローラである。7はディスクキャッシュ装置
全体を管理するマイクロプロセッサである。2. Description of the Related Art Conventionally, there is a device shown in FIG. 2 that incorporates a cache memory. In the figure, 1 is a disk device, 2 is a cache memory, 3 is a cache controller that manages the cache memory 2, and 4 is a disk I/F that controls the disk device. 5 is a host adapter that controls transfer with a host computer (not shown); 6 is a cache memory 2 and host adapter 5;
, D that controls data transfer between disk I/F4
It is an MA controller. 7 is a microprocessor that manages the entire disk cache device.
【0003】次に動作について説明する。ホストアダプ
タ5を通じて図示していないホストコンピュータからデ
ィスク装置1に対する読み出し要求があったとする。要
求されたデータがキャッシュメモリ2中にあればディス
ク装置1をアクセスすることなく、キャッシュメモリ2
からデータを転送する(このことはキャッシュヒットと
称される)。要求されたデータがキャッシュメモリ2中
に存在しない場合には、ディスク装置1をアクセスして
データを読み出す。そして、キャッシュメモリ2上の領
域をLRU(Least Recently Used
アルゴリズム、つまり最長時間未使用アルゴリズム)
等のアルゴリズムに従って確保して、データを格納する
とともにホストに転送する(このことはキャッシュミス
と称される)。Next, the operation will be explained. Assume that there is a read request to the disk device 1 from a host computer (not shown) through the host adapter 5. If the requested data is in the cache memory 2, the data is stored in the cache memory 2 without accessing the disk device 1.
(This is called a cache hit). If the requested data does not exist in the cache memory 2, the disk device 1 is accessed to read the data. Then, the area on the cache memory 2 is designated as LRU (Least Recently Used).
algorithm, i.e. the longest unused algorithm)
The data is stored and transferred to the host according to the following algorithm (this is called a cache miss).
【0004】キャッシュヒットの場合で、キャッシュメ
モリ2からデータを読み出している時にエラーが発生し
た場合には、キャッシュの管理単位であるブロック全体
を不良とみなして使用不可とする。そして、新たに領域
をキャッシュメモリ上に確保してディスク装置1からデ
ータを読み出してデータを書き込む。また、ホストにデ
ータを転送する。つまり、キャッシュミスと同様の処理
によってブロック全体を代替していた。[0004] In the case of a cache hit, if an error occurs while reading data from the cache memory 2, the entire block, which is a cache management unit, is deemed to be defective and unusable. Then, a new area is secured on the cache memory, data is read from the disk device 1, and data is written. It also transfers data to the host. In other words, the entire block was replaced by processing similar to a cache miss.
【0005】しかし、この方式では、エラーの発生して
いない正常な領域までもまとめて切り離してしまい、メ
モリの利用効率が悪い。この解決案の1つとして、特開
平2−168314では、初期診断時にエラーの発生し
たメモリアドレスを記憶しておき、以後このアドレスに
アクセスがあった場合には、アドレスに1を加えてメモ
リにアクセスさせ、これ以後このアドレスを含むブロッ
ク内の連続するアクセスに対してもすべてアドレスに1
を加えてアクセスさせることにより、エラーの発生した
アドレスだけを切り離せるようにしていた。However, in this method, even normal areas in which no errors have occurred are separated all at once, resulting in poor memory utilization efficiency. As one solution to this problem, Japanese Patent Application Laid-Open No. 2-168314 proposes that the memory address where the error occurred is memorized during initial diagnosis, and if this address is subsequently accessed, 1 is added to the address and the memory is stored. access, and from now on, all consecutive accesses within the block containing this address will be set to 1 at the address.
By adding and accessing it, it was possible to isolate only the address where the error occurred.
【0006】前記の方式は、初期診断時に検出されたエ
ラ−のアドレスついて適用されていて、使用中に発生し
たエラ−についての考慮がされていなかった。つまり、
この方法では、エラ−発生があった時、以後のアドレス
のデ−タを順次ずらせていく必要があるが、すでに記憶
されている多量のデ−タを書き換えることは不可能であ
り、通常使用時のエラ−に対しては適用できない。[0006] The above method is applied to the address of an error detected at the time of initial diagnosis, and does not take into account errors that occur during use. In other words,
With this method, when an error occurs, it is necessary to sequentially shift the data at subsequent addresses, but it is impossible to rewrite the large amount of data that has already been stored, so it is not possible to It cannot be applied to time errors.
【0007】[0007]
【発明が解決しようとする課題】従来のキャシュメモリ
の制御回路は以上のように構成されているので、通常の
使用時にメモリエラ−が発生した場合に、ブロック全体
を代替ブロックに置き換えるのでメモリの使用効率が悪
く、また全体を書き直す時間が必要という問題点があっ
た。[Problems to be Solved by the Invention] Conventional cache memory control circuits are configured as described above, so that when a memory error occurs during normal use, the entire block is replaced with an alternative block. There was a problem that it was inefficient and required time to rewrite the whole thing.
【0008】この発明は上記の課題を解決するためにな
されたもので、エラ−の発生した時に、置き換えるメモ
リの量を減らし、メモリ利用効率を上げ、またキャシュ
メモリへの書き込み時間を短縮することを目的とする。The present invention has been made to solve the above-mentioned problems, and aims to reduce the amount of memory to be replaced when an error occurs, improve memory usage efficiency, and shorten the writing time to cache memory. With the goal.
【0009】[0009]
【課題を解決するための手段】この発明にかかわるキャ
シュ・コントロ−ラはメモリエラ−の発生したアドレス
の記憶テ−ブルと、デ−タのアクセス時に上記テ−ブル
を検索する不良アドレス検索手段と、検索で不良とわか
ったアドレスに対して代替アドレスを指定してアクセス
させるアドレス変換手段を設けた。[Means for Solving the Problems] A cache controller according to the present invention includes a storage table for addresses where a memory error has occurred, and defective address search means for searching the table when accessing data. , address conversion means is provided for specifying and accessing an alternative address for an address found to be defective through a search.
【0010】0010
【作用】この発明におけるキャシュ・コントロ−ラは、
アクセス時にエラ−を検出したアドレスに対して、以後
、アドレス単位で代替メモリ領域が使用される。[Operation] The cache controller in this invention is
Thereafter, an alternative memory area is used in address units for the address for which an error was detected during access.
【0011】[0011]
【実施例】以下、この発明の一実施例を図について説明
する。図1はディスク・キャシュに本発明を適用した例
である。図1において、2はキャシュメモリ、8は新し
くキャシュメモリ2内に設けた代替領域である。13は
キャシュ・コントロ−ラであるが、新しく以下の回路を
設けた。すなわち、9はキャシュメモリ2内の不良メモ
リセルのアドレスとその代替セルのアドレスとを対とし
て複数個記憶する不良アドレステ−ブル、10はDMA
コントロ−ラ6からの出力アドレスが不良アドレスでな
いか否かを検索する不良アドレス検索回路、11はDM
A出力のアドレスが不良アドレステ−ブルにあった場合
の代替アドレスへの変換回路である。不良テ−ブルに代
替アドレスが既にある例の場合には単にそれを読み出す
回路でよい。7は従来例と同じマイクロプロセッサであ
る。DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is an example in which the present invention is applied to a disk cache. In FIG. 1, 2 is a cache memory, and 8 is a new alternative area provided within the cache memory 2. In FIG. 13 is a cache controller, and the following new circuit has been added. That is, 9 is a defective address table that stores a plurality of pairs of the address of a defective memory cell in the cache memory 2 and the address of its replacement cell, and 10 is a DMA.
a defective address search circuit for searching whether the output address from the controller 6 is a defective address; 11 is a DM;
This is a circuit for converting to an alternative address when the A output address is in the defective address table. In the case of an example in which an alternative address already exists in the defective table, a circuit for simply reading it may be sufficient. 7 is the same microprocessor as in the conventional example.
【0012】次に動作を説明する。キャッシュメモリ2
にアクセスする場合において、DMAコントローラ6か
ら出力されるキャッシュメモリ2のアドレスは、まずア
ドレス検索回路10に入力される。アドレス検索回路1
0はこのアドレスが不良アドレステーブル9に該当アド
レスが存在するか否かを調べ、存在しない場合には入力
されたアドレスをそのままキャッシュメモリ2に与える
が、アドレスが存在する場合には代替アドレスを不良ア
ドレステーブル9から読み出してキャッシュメモリ2に
与える。一方、キャッシュメモリ2から読み出す時にエ
ラーが発生した場合には、マイクロプロセッサ7が、エ
ラーの発生アドレスとその代替となるアドレスを不良ア
ドレステーブル9に登録する。Next, the operation will be explained. Cache memory 2
When accessing the cache memory 2, the address of the cache memory 2 output from the DMA controller 6 is first input to the address search circuit 10. Address search circuit 1
0 checks whether this address exists in the defective address table 9, and if it does not exist, the input address is given as is to the cache memory 2, but if the address exists, an alternative address is given as a defective address. It is read from the address table 9 and applied to the cache memory 2. On the other hand, if an error occurs when reading from the cache memory 2, the microprocessor 7 registers the address where the error occurred and an address to replace it in the defective address table 9.
【0013】こうして、この不良メモリセルを含むブロ
ックへのディスク装置1からのデータの再格納およびこ
れ以後のデータの読み出しは、上で述べたアドレス検索
回路10によって、不良メモリセルへのアクセスは代替
メモリセルへのアクセスとなる。In this way, re-storing of data from the disk device 1 to the block containing the defective memory cell and reading of data thereafter are performed by the address search circuit 10 described above, and access to the defective memory cell is substituted. Access to memory cells.
【0014】以上、上記実施例ではディスクキャッシュ
の場合について説明したが、CPUのキャッシュ、主記
憶装置でもよく、上記ディスクキャッシュの実施例と同
様の構成により、同様の効果を奏する。In the above embodiments, a disk cache has been described, but a CPU cache or a main storage device may also be used, and the same structure as in the disk cache embodiment described above can produce the same effects.
【0015】[0015]
【発明の効果】以上のようにこの発明によれば、エラ−
の発生したアドレスだけを代替するようにしたので、メ
モリの利用効率が良く、また書き直し時間が短縮できる
効果がある。[Effects of the Invention] As described above, according to the present invention, the error
Since only the address where the error occurred is replaced, the memory is used more efficiently and the rewrite time can be shortened.
【図1】本発明の一実施例であるキャシュコントロ−ラ
の構成ブロック図である。FIG. 1 is a configuration block diagram of a cache controller that is an embodiment of the present invention.
【図2】従来のキャシュメモリを組み込んだ装置ブロッ
ク図である。FIG. 2 is a block diagram of a device incorporating a conventional cache memory.
8 代替領域
9 不良アドレステ−ブル
10 不良アドレス検索回路11
アドレス変換回路8 Alternative area 9 Defective address table 10 Defective address search circuit 11
address conversion circuit
Claims (1)
込み時に発生したメモリエラ−の発生アドレスを記憶し
ておくテ−ブルと、デ−タをキャシュメモリに読み出し
または書き込み時に、上記テ−ブルを検索する不良アド
レス検索手段と、上記検索の結果、不良アドレスがあれ
ば代替アドレスを指示して代替アドレスにデ−タを読み
出しまたは書き込ませるアドレス変換手段からなるキャ
シュコントロ−ラ。1. A table for storing addresses where memory errors occur when reading or writing data to the cache memory, and a defective address for searching the table when reading or writing data to the cache memory. A cache controller comprising a search means, and an address conversion means for instructing an alternative address and reading or writing data to the alternative address if a defective address is found as a result of the above search.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3096903A JPH04326436A (en) | 1991-04-26 | 1991-04-26 | Cache controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3096903A JPH04326436A (en) | 1991-04-26 | 1991-04-26 | Cache controller |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04326436A true JPH04326436A (en) | 1992-11-16 |
Family
ID=14177333
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3096903A Pending JPH04326436A (en) | 1991-04-26 | 1991-04-26 | Cache controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04326436A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10185619B2 (en) * | 2016-03-31 | 2019-01-22 | Intel Corporation | Handling of error prone cache line slots of memory side cache of multi-level system memory |
-
1991
- 1991-04-26 JP JP3096903A patent/JPH04326436A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10185619B2 (en) * | 2016-03-31 | 2019-01-22 | Intel Corporation | Handling of error prone cache line slots of memory side cache of multi-level system memory |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Tremaine et al. | IBM memory expansion technology (MXT) | |
| US7111134B2 (en) | Subsystem and subsystem processing method | |
| US5983312A (en) | Simultaneously writing to and erasing two commonly numbered sectors | |
| US7213110B2 (en) | Destaging method for storage apparatus system, and disk control apparatus, storage apparatus system and program | |
| US8131969B2 (en) | Updating system configuration information | |
| US7080207B2 (en) | Data storage apparatus, system and method including a cache descriptor having a field defining data in a cache block | |
| JPH08203294A (en) | Memory | |
| US11561715B2 (en) | Method and apparatus for presearching stored data | |
| US20210200467A1 (en) | Signalling for heterogeneous memory systems | |
| US4419725A (en) | Cache/disk subsystem with tagalong copy | |
| AU648259B2 (en) | Centralized reference and change table for a multiprocessor virtual memory system | |
| KR102871204B1 (en) | Full dynamic post-package repair | |
| JP2002157091A (en) | Storage subsystem and storage device used in the system | |
| US4916603A (en) | Distributed reference and change table for a virtual memory system | |
| US20250053521A1 (en) | Context-based compression in a memory system | |
| JPH04326436A (en) | Cache controller | |
| JPH06222889A (en) | Peripheral device controller | |
| JPH0210446A (en) | Buffer storage device | |
| CN111190543A (en) | Storage method and system for sharing NVDIMM storage resources among threads | |
| JPH0475152A (en) | Nonvolatile memory system | |
| EP0333215B1 (en) | Distributed reference and change table for a virtual memory system | |
| JPH01205250A (en) | Method for controlling cache memory | |
| JPH02168314A (en) | Memory control system in semiconductor disk device | |
| JP2001154914A (en) | Device and method for transferring data at the of cache bypass | |
| JPH0561769A (en) | Memory access method |