WO2007097026A1 - キャッシュ制御装置およびキャッシュ制御プログラム - Google Patents

キャッシュ制御装置およびキャッシュ制御プログラム Download PDF

Info

Publication number
WO2007097026A1
WO2007097026A1 PCT/JP2006/303618 JP2006303618W WO2007097026A1 WO 2007097026 A1 WO2007097026 A1 WO 2007097026A1 JP 2006303618 W JP2006303618 W JP 2006303618W WO 2007097026 A1 WO2007097026 A1 WO 2007097026A1
Authority
WO
WIPO (PCT)
Prior art keywords
cache
cache line
error
degeneration information
degeneration
Prior art date
Application number
PCT/JP2006/303618
Other languages
English (en)
French (fr)
Inventor
Masaharu Maruyama
Tsuyoshi Motokurumada
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to EP06714755A priority Critical patent/EP1990727A4/en
Priority to PCT/JP2006/303618 priority patent/WO2007097026A1/ja
Priority to JP2008501576A priority patent/JP4392049B2/ja
Publication of WO2007097026A1 publication Critical patent/WO2007097026A1/ja
Priority to US12/222,053 priority patent/US20080294847A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc

Definitions

  • the present invention relates to a cache control device and a cache control program for controlling a cache memory composed of a plurality of ways based on an access request.
  • RAM for example, cache memory
  • the circuit in the RAM has been designed to reduce the margin of the adjustment value of the internal operation timing with the aim of improving the operating frequency, and the operable voltage 'temperature is limited. Resistance to fluctuations is getting lower. Under these circumstances, the error rate in RAM increases, and errors are more likely to occur at specific bit positions!
  • Patent Document 1 Japanese Patent Laid-Open No. 4-243446
  • Patent Document 1 Japanese Patent Laid-Open No. 4-243446
  • An error counter that counts and stores errors that occur for each way indicating a column position in a cache memory, and when a predetermined threshold value is achieved.
  • a technique for avoiding damage due to an error by degenerating the way is disclosed.
  • Patent Document 2 Japanese Patent Laid-Open No. 10 334695
  • an error counter that counts and stores an error that has occurred for each cache line indicating a row position in the cache memory, and achieves a predetermined threshold value.
  • a technique for degenerating the cash line is disclosed
  • Patent Document 1 Japanese Patent Laid-Open No. 4243446
  • Patent Document 2 Japanese Patent Laid-Open No. 10-334695
  • Patent Document 1 a way including a cache line in which an error has occurred is described. Since the entire system is degenerate, there is a problem that many of the cache lines that are operating normally! / Are unnecessarily degenerate controlled, and an error counter is required for each way. As a result, there is a problem that the area necessary for avoiding damage caused by errors increases.
  • Patent Document 2 an error counter that counts and stores errors that occur is required for each cache line (the minimum unit of the data storage area in the cache) that constitutes a way. Similar to Reference 1, there was a problem that the area required to avoid damage caused by errors would increase.
  • An object of the present invention is to provide a cache control device and a cache control program that can be minimized.
  • the invention according to claim 1 is a cache control device that controls a cache memory composed of a plurality of ways based on an access request.
  • An error count storage means for collectively counting the number of errors that have occurred in response to the access request regardless of the force that occurred in any way, and a cache line that constitutes the plurality of ways.
  • Degeneration information storage means for storing cache line degeneration information indicating that a predetermined cache line is degenerated, and when the number of occurrences of the error counted by the error count storage means has reached a predetermined upper limit number In addition, the cache line related to the error that triggered the reaching of the predetermined maximum number of times!
  • Degeneration information writing means for writing cache line degeneration information to the degeneration information storage means, and when there is a reclaim request for a cache line corresponding to the cache line degeneration information stored in the degeneration information storage means
  • replacement control means for excluding the cache line from replacement candidates and performing rib race control.
  • the degeneracy information writing unit is configured such that the number of occurrences of the error counted by the error counting unit reaches a predetermined upper limit number.
  • the number of errors counted by the error counting means reaches another predetermined upper limit number that is equal to or greater than the predetermined upper limit number after reaching, an opportunity to reach the predetermined upper limit number of times
  • the way degeneracy information indicating that the way is degenerated and further written to the degenerate information storage means is written to the entire way including the cache line related to the error, and the replace control means
  • the way is excluded from the replacement request candidates and replacement control is performed.
  • the cache line degeneration information is further provided with degeneration information deleting means for deleting the degeneration information storage means.
  • the degeneration information writing unit when the degeneration information writing unit receives the predetermined inspection data, the predetermined information specified along with the reception of the inspection data Therefore, the cache line degeneration information indicating that the cache line is degenerated is written to the degeneration information storage means.
  • the invention according to claim 5 is a cache control program according to the above invention, which causes a computer to execute control of a cache memory including a plurality of ways based on an access request.
  • An error count storage means for collectively counting the number of errors that have occurred in response to the access request, regardless of the force that has occurred in the shifted way, and a cache line that constitutes the plurality of ways.
  • Degeneration information storage means for storing cache line degeneration information indicating that a predetermined cache line is degenerated, and when the number of occurrences of the error counted by the error count storage means reaches a predetermined upper limit number If the cash line is related to an error that triggered the reaching of the predetermined maximum number of times, A cash line that indicates The degeneration information writing procedure for writing the degeneration information to the degeneration information storage means, and when there is a replacement request for the cache line corresponding to the cache line degeneration information stored in the degeneration information storage means, It is characterized by causing a computer to execute a replacement control procedure in which a cache line is excluded from replacement candidates and replacement control is performed.
  • the cache control device controls a cache memory composed of a plurality of ways based on an access request, and the number of errors that have occurred in response to the access request is determined. Regardless of which way the error has occurred, counts all at once, and stores cache line degeneration information indicating that a predetermined cache line among the cache lines constituting a plurality of ways is degenerated. When the counted number of occurrences of the error reaches the predetermined maximum number of times, the cache line related to the error that triggered the reaching of the predetermined maximum number of times indicates that the cache line is degenerated. Cache line degeneration information is written to and stored in the degeneration information storage means, and the cache corresponding to the cache line degeneration information is stored.
  • the cache line When a replacement request is issued for an in-line, the cache line is excluded from the replacement candidates and replacement control is performed. Therefore, by disabling only the cache line where the error occurred (degeneration) It is possible to minimize the impact and count errors in all the cache memory in one area (for example, error counter) (for example, count regardless of ways and cache lines). It is possible to minimize the area required for countermeasures.
  • error counter for example, count regardless of ways and cache lines.
  • the predetermined error count is equal to or more than the predetermined upper limit number.
  • the way degeneration information indicating that the way is degenerated is stored in the degenerate information for the entire way including the cache line related to the error that triggered the predetermined upper limit number of times. If there is a replacement request for a way corresponding to the way degeneration information that is further written and stored in the means, the way is excluded from the replacement request candidates and replacement control is performed, so that errors frequently occur. As a result, the way including the cache line can be degenerated so that the reliability of the cache memory can be maintained.
  • the way degeneration information when the way degeneration information is further written into the degeneration information storage means, all other ways are excluded except for a predetermined one of the plurality of ways. If the cache line degeneration information related to the predetermined way is stored in the degeneration information storage unit, the cache line degeneration information is deleted from the degeneration information storage unit. So, for example, even when all the ways that make up the cache memory are targeted for degeneration, the cache memory function is maintained as a result of releasing usable ways and cache lines rather than disabling the cache memory. It becomes possible.
  • the cache line when predetermined test data is received, the cache line is degenerated with respect to the predetermined cache line designated in response to the reception of the test data.
  • Cache line degeneration information indicating that the cache or degenerate operation of the cache or way can be verified using the verification data before product shipment, for example. It is possible to improve the quality of various products including.
  • FIG. 1 is a system configuration diagram showing the overall configuration of the cache control apparatus according to the first embodiment.
  • FIG. 2 is a flowchart illustrating a flow of cache control processing according to the first embodiment.
  • FIG. 3 is a diagram illustrating an example of a circuit configuration of the cache control device according to the first embodiment.
  • FIG. 4 is a diagram when the verification data of the cache control device according to the second embodiment is used.
  • FIG. 5 is a diagram illustrating a computer system that executes a cache control program.
  • Example 1 In the following first embodiment, the outline and features of the cache control device according to the present invention, the configuration of the cache control device, the flow of processing, the circuit configuration, the effects of the first embodiment, and the like will be described in order.
  • the cache control device 10 according to the first embodiment is configured with a plurality of ways (columns in the cache) based on the occurrence of an error with respect to an access request to the cache memory 25 (for example, a read request or a write request).
  • This is an overview of controlling the cache memory. In particular, it is possible to minimize the impact when an error occurs, and to minimize the area required for error countermeasures. Has the main characteristics.
  • FIG. 1 is a block diagram showing the overall configuration of a system including a cache control device.
  • the cache control device 10 also includes an access control unit 20, a main storage unit 40, a cache memory 25, a monitoring register 30, an error counter 35, and a power.
  • the monitoring register 30 corresponds to “degeneration information storage means” described in the claims, and the error counter 35 similarly corresponds to “error count storage means”.
  • the main storage unit 40 is a storage means (storage means) for storing data and programs necessary for various processes. Specifically, for example, it is necessary for various processes by a CPU or the like. Data that is a target of an access request is stored.
  • the cache memory 25 is configured to store a plurality of way powers, and is stored in the main storage unit 40 and stores frequently used data among the data. Specific examples are given. For example, as shown in Fig. 1, the N-way set associative method is adopted and “way 0” and “way” 1 ”.
  • the error counter 35 is a means for collectively counting the number of errors that have occurred in response to an access request to the cache memory 25 regardless of whether the error has occurred in a different way. As a specific example, the number of errors that occurred in “way 0” or “way 1” of the cache memory 25 is stored.
  • the monitoring register 30 is a means for storing cache line degeneration information indicating that a predetermined cache line is degenerated among the cache lines constituting a plurality of ways. For example, if an error occurs in the cache lines constituting each way in “way 0” or “way 1” of the cache memory 25, the cache line degeneration information (for example, the way) 0, cache line address A, etc.) are stored.
  • the access control unit 20 is a means for controlling access to the cache memory 25 and performing degeneration control of the cache line, and particularly as closely related to the present invention, the error detection unit 20a, A cache search unit 20b, a degeneration information writing unit 20c, and a replacement control unit 20d are provided.
  • the degeneration information writing unit 20c corresponds to the “degeneration information writing unit” described in the claims, and the replacement control unit 20d similarly corresponds to the “replacement control unit”.
  • the error detection unit 20a is a means for detecting an error in the cache memory 25. Specifically, when there is an access request (for example, a data read request) to the cache memory 25, the error detection unit 20a is accessed. Whether or not an error has occurred in the cache line of the cache memory 25 to be detected is detected.
  • the cache search unit 20b is a means for receiving the access request and searching the cache memory 25 for the data. Specifically, for example, the cache search unit 20b issues an access request (for example, a data read request). In response, the data is retrieved from the cache memory 25, and when the data exists in the cache memory 25, the data is read from the cache memory 25. On the other hand, if the data does not exist in the cache memory 25, the data is read from the main storage unit 40. Then, a replacement request is transmitted to a replacement control unit 20d described later.
  • the degeneracy information writing unit 20c determines that the number of occurrences of the error counted by the error counter 35 is When the specified upper limit number is reached, the cache line degeneration information indicating that the cache line has been degenerated is written to the monitoring register for the cache line related to the error that triggered the reaching the predetermined upper limit number. Means. Specifically, when an error is detected by an access request to the cache memory 25 and the upper limit number set in advance by the error is reached, information on the cache line related to the error that triggered ( For example, way 0, cache line address A) is written to the monitor register 30.
  • the cache line information (for example, way 0, cache line address A) related to the triggered error is written to the monitoring register 30.
  • the replacement control unit 20d excludes the cache line from the replacement candidates and performs replacement control. Is a means to perform. Specifically, for example, a cache line (for example, way 0, cache line address 0) corresponding to cache line degeneration information (for example, way 0, cache line address 0) stored in the monitoring register 30.
  • a cache line for example, way 0, cache line address 0
  • cache line degeneration information for example, way 0, cache line address 0
  • FIG. 2 is a flowchart showing the flow of the cache control process.
  • the cache detection device 10 detects whether or not an error has occurred by the error detection unit 20a (Step S202).
  • step S203 the count (counter) of the error counter 35 is incremented by 1 (step S203). Subsequently, it is determined whether or not the number counted by the error counter 35 exceeds the specified number of times (step S204). On the other hand, no error is detected If not (No at Step S202), the process of Step S206 described later is performed.
  • step S204 If the specified number of times is exceeded (Yes in step S204), for the cache line related to the error that triggered the reaching the specified number of times, the cache line is degenerated indicating that the cache line is degenerated and becomes V. Information is written to the monitoring register 30, and the cache line is degenerated (unusable) (step S205). On the other hand, if the number is not more than the prescribed number (No at Step S204), the process of Step S206 described later is performed.
  • the cache search unit 20b determines whether or not the data that has received the access request exists in the cache memory 25 (cache hit) in the cache memory 25 (step S206).
  • the cache search unit 20 b reads the data from the cache memory 25 (Step S 207).
  • the cache search unit 20b reads the data from the main storage unit 40 (Step S208). Subsequently, the replacement control unit 20d registers the read data in the cache line of the cache memory 25 (step S208).
  • FIG. 3 is a diagram illustrating an example of a circuit configuration of the cache control device 10.
  • TAG-RAM-WAY0 and TAG-RAM-WAY1 are ways that constitute a cache memory using the N-way set-associative method.
  • the main memory main memory
  • the data frequently used among the data stored in is stored.
  • LRU-RAM excludes the cache line from replacement candidates when there is a replacement request for the cache line that is the monitoring target (registered in BLOCK-DELETE-REGISTER). Perform replacement control. Also, if a write to the cache memory occurs during cache line degeneration, control is performed so that the monitored cache line that is registered in BLOCK-DELETE-REGISTER is not to be replaced! / ⁇ . Therefore, when access is made to the monitored cache line address, a way other than the way number to be monitored is selected for replacement. Control to do.
  • the error counter collectively counts the number of errors that have occurred in TAG-RAM-WAYO or TAG-RAM-WAY1 regardless of which way the error has occurred.
  • BLOCK-DELETE-STATE (not shown) is a FLAG indicating that cache line degeneration processing is in progress. Specifically, when an error is detected in the cache memory, it is counted in the error counter, and the WAY-DELETE-FLAG (FLAG indicating that the way is being degraded) is all 0, and the cache memory cache When the number of tag error detections exceeds the threshold, this signal is enabled and the MIB is all released (waits for Move-in processing).
  • BLOCK-DELETE-FLAG (not shown) is a FLAG indicating that the cache line is being degenerated. Specifically, it becomes valid when BLOCK-DELETE-STATE is valid and all the MIBs are invalid, thereby enabling cache line degeneration.
  • BLOCK-DELETE-FLAG When BLOCK-DELETE-FLAG is enabled, BLOCK-DELETE-STATE is disabled.
  • BLOCK-DELETE-REGISTER stores cache line degeneration information indicating that a predetermined cache line is degenerated among the cache lines constituting TAG-RAM-WAYO or TAG-RAM-WAY1. . Specifically, it holds the cache line address used for the cache line index and the cache way number registered on the cache, and registers each time an error in the cache memory or cache tag is detected. If an error is detected in multiple cache lines, the registered content changes each time an error is detected. In addition, it may be made effective when the number of times counted by the error counter reaches a predetermined number or more so that the control can be changed according to the error detection frequency of the cache memory.
  • a cache control device that controls a cache memory including a plurality of ways based on an access request, and the number of errors that have occurred in response to the access request is Regardless of which way the error has occurred, it is counted in a lump, and a predetermined cache line among the cache lines that make up multiple ways is degenerated.
  • Cache line degeneration information indicating that, when the number of occurrences of the counted error reaches a predetermined upper limit number, the cache line related to the error that has triggered the predetermined upper limit number of times.
  • the cache control device has been described so far, but the present invention may be implemented in various different forms other than the first embodiment described above. Therefore, various different modes will be described below as a second embodiment.
  • cache line degeneration control has been described, but the present invention is not limited to this, and if errors occur frequently, the entire way may be degenerated.
  • the degeneration information writing unit 20c shown in FIG. 1 performs the following operation after the number of occurrences of errors counted by the error counter 35 reaches a predetermined upper limit number (for example, 8 times). If the number of errors counted by the error counter 35 reaches another predetermined upper limit number (for example, 15 times) that is greater than or equal to the predetermined upper limit number (for example, 8 times), the predetermined upper limit number ( (E.g., 15 times) For the entire way (for example, way 0) including the cache line (for example, way 0, cache address B) related to the error that triggered the The indicated way degeneration information (for example, way 0) is further written into the monitoring register 30. Then, the replace control unit 20d selects a way when there is a replace request for the way corresponding to the way degeneration information stored in the monitoring register 30. Excluded from replacement request candidates and perform replacement control.
  • a predetermined upper limit number for example, 8 times.
  • the degeneration of the way that has been degenerated may be released.
  • the way degeneration information is further written to the monitoring register 30 by the degeneration information writing unit 20c, all other ways are degenerated except for a predetermined one of the plurality of ways. If the cache line degeneration information relating to the predetermined way is stored in the monitoring register 30, the cache line degeneration information is deleted from the monitoring register 30.
  • the degeneration control may be verified using the verification data. Specifically, as shown in Fig. 4, the address read from the cache memory (6 bits to 15 bits) is replaced with a pre-prepared pseudo (verification) address and stored in the cache memory in advance. The simulation data (for verification) is read out, and the processing described in the first or second embodiment is executed to verify whether it can be normally executed.
  • the cache or way is degenerated using the verification data before product shipment.
  • verifying the operation it is possible to improve the quality of various products including the cache control device.
  • Each component of the cache control device illustrated in FIG. 1 and the circuit configuration of the cache control device illustrated in FIG. 3 are functionally conceptual, and are not necessarily physically configured as illustrated. You don't need to be. In other words, the specific forms are not limited to those shown in the figure, such as decentralization / integration of each device, for example, integration / distribution of the degeneration information writing unit 20c and the replacement control unit 20d. Depending on the usage situation, etc., it can be configured to be functionally or physically distributed 'integrated in any unit. Furthermore, all or any part of each processing function performed by the cache controller is realized by a CPU and a program that is analyzed and executed by the CPU, or hardware by wire logic. Can be realized as
  • FIG. 5 is a diagram showing a computer system 50 that executes a cache control program.
  • the computer system 50 includes a RAM 51, an HDD 52, a ROM 53, a CPU 54, and a main memory 55.
  • the ROM 53 has a program that performs the same function as the above embodiment, that is, an error detection program 5 as shown in FIG. 3a, a cache search program 53b, a degenerate information writing program 53c, and a replace control program 53d are stored in advance.
  • the CPU 54 reads and executes these programs 53a to 53d, and as shown in FIG. 5, an error detection process 54a, a cache search process 54b, a degenerate information writing process 54c, Thus, the replacement control process 54d is performed.
  • Each process 54a to 54d corresponds to the error detection unit 20a, the cache search unit 20b, the degeneration control writing unit 20c, and the replacement control unit 20d shown in FIG.
  • the HDD 52 includes an error count storage table 52a that collectively counts the number of errors that have occurred in response to an access request regardless of which way the error occurred, and a plurality of ways.
  • a degeneration information storage table 52b for storing cache line degeneration information indicating that a predetermined cache line among the cache lines to be degenerated is provided.
  • the error count storage table 52a and the degeneracy information storage table 52b correspond to the error counter 35 and the monitoring register 30 shown in FIG.
  • the above-mentioned programs 53a to 53d are not necessarily stored in the ROM 53, for example, a flexible disk (FD), a CD-ROM, an MO disk, a DVD disk, an optical disk inserted into the computer system 50, and the like.
  • FD flexible disk
  • CD-ROM compact disc-read only memory
  • MO disk compact disc-read only memory
  • DVD digital versatile disk
  • optical disk inserted into the computer system 50
  • portable physical media such as magnetic disks and IC cards
  • fixed physical media such as hard disk drives (HDD) installed inside and outside the computer system 50, public lines, the Internet, and LAN , Store it in “another computer system” connected to the computer system 50 via a WAN, etc., so that the computer system 50 reads and executes these programs as well.
  • HDD hard disk drives
  • the cache control device and the cache control program program according to the present invention are useful for controlling a cache memory composed of a plurality of ways based on an access request. It is suitable for minimizing the impact at the time of occurrence and minimizing the area required for error countermeasures.

Abstract

 キャッシュ制御装置10は、キャッシュメモリへのアクセスを制御するアクセス制御部20と、各種データなどを記憶する主記憶部40と、利用頻度の高いデータを記憶し複数のウェイから構成されるキャッシュメモリ25と、複数のウェイを構成するキャッシュラインのうち所定のキャッシュラインが縮退していることを示すキャッシュライン縮退情報を記憶する監視レジスタ30と、キャッシュメモリ25へのアクセス要求に対して発生したエラーの回数を、当該エラーがいずれのウェイで発生したかを問わず一括で計数するエラー計数するエラーカウンタ35とから構成される。

Description

明 細 書
キャッシュ制御装置およびキャッシュ制御プログラム 技術分野
[0001] この発明は、アクセス要求に基づいて、複数のウェイで構成されるキャッシュメモリを 制御するキャッシュ制御装置およびキャッシュ制御プログラムに関する。
背景技術
[0002] 従来より、半導体技術の微細化に伴 、、プロセッサに搭載される RAM (例えば、キ ャッシュメモリ)を構成する記憶素子も微細化し、記憶情報の反転が発生しやすくなつ てきた。また、 RAM内部の回路については、動作周波数の向上を目指して内部動 作タイミングの調整値のマージンを削るようになつてきており、動作可能な電圧'温度 が制限されるため、電圧変動 ·温度変動に対する耐性が低くなつてきている。こうした 事情により、 RAMにおいてエラーの発生率が上がり、また、エラーは特定のビット位 置に発生しやすくなつて!、る。
[0003] そこで、このようなエラーを検出し、キャッシュラインを縮退制御する技術 (データ格 納領域のいずれかを使用不可能な状態に制御)が開示されている。例えば、特許文 献 1 (特開平 4— 243446)では、キャッシュメモリ内の列位置を示すウェイごとに、発 生したエラーを計数し記憶するエラーカウンタを備え、所定の閾値に達成した場合に 、当該ウェイを縮退させてエラーによる被害を回避する技術が開示されている。
[0004] また、特許文献 2 (特開平 10 334695)では、キャッシュメモリ内の行位置を示す キャッシュラインごとに、発生したエラーを計数し記憶するエラーカウンタを備え、所定 の閾値に達成した場合に、当該キャッシュラインを縮退させる技術が開示されている
[0005] 特許文献 1:特開平 4 243446号公報
特許文献 2:特開平 10— 334695号公報
発明の開示
発明が解決しょうとする課題
[0006] ところで、上記した特許文献 1では、エラーが発生したキャッシュラインを含むウェイ 全体を縮退制御して 、たので、正常動作して!/、るキャッシュラインの多くを無駄に縮 退制御させていることになるという課題があり、また、ウェイごとにエラーカウンタが必 要であるので、エラーによる被害を回避するために必要な領域が大きくなるという課 題があった。
[0007] また、上記した特許文献 2では、ウェイを構成するキャッシュライン (キャッシュ内の データ格納領域の最小単位)ごとに、発生したエラーを計数し記憶するエラーカウン タが必要であるので、特許文献 1と同様に、エラーによる被害を回避するために必要 な領域が大きくなるという課題があった。
[0008] そこで、この発明は、上述した従来技術の課題を解決するためになされたものであ り、エラー発生時の影響を極小化することが可能であるとともに、エラー対策に必要な 領域を最小限に抑えることが可能であるキャッシュ制御装置およびキャッシュ制御プ ログラムを提供することを目的とする。
課題を解決するための手段
[0009] 上述した課題を解決し、目的を達成するため、請求項 1に係る発明は、アクセス要 求に基づ 、て、複数のウェイで構成されるキャッシュメモリを制御するキャッシュ制御 装置であって、前記アクセス要求に対して発生したエラーの回数を、当該エラーがい ずれのウェイで発生した力を問わず一括で計数するエラー計数記憶手段と、前記複 数のウェイを構成するキャッシュラインのうち所定のキャッシュラインが縮退しているこ とを示すキャッシュライン縮退情報を記憶する縮退情報記憶手段と、前記エラー計数 記憶手段により計数された前記エラーの発生回数が所定の上限回数に到達した場 合に、当該所定の上限回数に到達する契機となったエラーに係るキャッシュラインに つ!、て、当該キャッシュラインが縮退して 、ることを示すキャッシュライン縮退情報を 前記縮退情報記憶手段に書き込む縮退情報書込手段と、前記縮退情報記憶手段 に記憶されているキャッシュライン縮退情報に対応したキャッシュラインに対してリブ レース要求があった場合に、前記キャッシュラインをリプレース候補から除外してリブ レース制御を行うリプレース制御手段と、を備えたことを特徴とする。
[0010] また、請求項 2に係る発明は、上記の発明において、前記縮退情報書込手段は、 前記エラー計数手段により計数された前記エラーの発生回数が所定の上限回数に 到達した後において、前記エラー計数手段に計数された前記エラー回数が前記所 定の上限回数以上である他の所定の上限回数に到達した場合には、当該所定の上 限回数に到達する契機となったエラーに係るキャッシュラインを含んだウェイ全体に つ!、て、当該ウェイが縮退して 、ることを示すウェイ縮退情報を前記縮退情報記憶手 段にさらに書き込み、前記リプレース制御手段は、前記縮退情報記憶手段に記憶さ れているウェイ縮退情報に対応するウェイに対してリプレース要求があった場合に、 前記ウェイをリプレース要求候補から除外してリプレース制御を行うことを特徴とする
[0011] また、請求項 3に係る発明は、上記の発明において、前記縮退情報書込手段によ つて前記ウェイ縮退情報が前記縮退情報記憶手段にさらに書き込まれた際に、前記 複数のウェイのうち所定の一つのウェイを除 ヽて他の全てのウェイが縮退して ヽること になり、かつ、当該所定のウェイに係るキャッシュライン縮退情報が前記縮退情報記 憶手段に記憶されて!、る場合には、当該キャッシュライン縮退情報を前記縮退情報 記憶手段力 削除する縮退情報削除手段をさらに備えたことを特徴とする。
[0012] また、請求項 4に係る発明は、上記の発明において、前記縮退情報書込手段は、 所定の検査用データを受け付けた場合に、当該検査用データの受け付けに伴って 指定された所定のキャッシュラインにっ 、て、当該キャッシュラインが縮退して 、ること を示すキャッシュライン縮退情報を前記縮退情報記憶手段に書き込むことを特徴と する。
[0013] また、請求項 5に係る発明は、上記の発明において、アクセス要求に基づいて、複 数のウェイで構成されるキャッシュメモリを制御することをコンピュータに実行させるキ ャッシュ制御プログラムであって、前記アクセス要求に対して発生したエラーの回数を 、当該エラーが 、ずれのウェイで発生した力を問わず一括で計数するエラー計数記 憶手段と、前記複数のウェイを構成するキャッシュラインのうち所定のキャッシュライン が縮退していることを示すキャッシュライン縮退情報を記憶する縮退情報記憶手段と 、前記エラー計数記憶手段により計数された前記エラーの発生回数が所定の上限回 数に到達した場合に、当該所定の上限回数に到達する契機となったエラーに係るキ ャッシユラインにつ 、て、当該キャッシュラインが縮退して 、ることを示すキャッシュライ ン縮退情報を前記縮退情報記憶手段に書き込む縮退情報書込手順と、前記縮退情 報記憶手段に記憶されているキャッシュライン縮退情報に対応したキャッシュラインに 対してリプレース要求があった場合に、前記キャッシュラインをリプレース候補から除 外してリプレース制御を行うリプレース制御手順と、をコンピュータに実行させることを 特徴とする。
発明の効果
[0014] 請求項 1または 5の発明によれば、アクセス要求に基づいて、複数のウェイで構成さ れるキャッシュメモリを制御するキャッシュ制御装置であって、アクセス要求に対して 発生したエラーの回数を、当該エラーがいずれのウェイで発生したかを問わず一括 で計数し、複数のウェイを構成するキャッシュラインのうち所定のキャッシュラインが縮 退して 、ることを示すキャッシュライン縮退情報を記憶し、計数されたエラーの発生回 数が所定の上限回数に到達した場合に、当該所定の上限回数に到達する契機とな つたエラーに係るキャッシュラインについて、当該キャッシュラインが縮退していること を示すキャッシュライン縮退情報を縮退情報記憶手段に書き込み、記憶されて 、るキ ャッシユライン縮退情報に対応したキャッシュラインに対してリプレース要求があった 場合に、キャッシュラインをリプレース候補から除外してリプレース制御を行うので、ェ ラーが発生したキャッシュラインのみを使用不可 (縮退)にすることで、エラー発生時 の影響を極小化することが可能であるとともに、一つの領域 (例えば、エラーカウンタ) でキャッシュメモリ全てのエラーをカウントする(例えば、ウェイ、キャッシュラインに関 係なくまとめてカウントする)ことで、エラー対策に必要な領域を最小限に抑えることが 可能である。
[0015] また、請求項 2の発明によれば、計数されたエラーの発生回数が所定の上限回数 に到達した後において、計数されたエラー回数が所定の上限回数以上である他の所 定の上限回数に到達した場合には、当該所定の上限回数に到達する契機となった エラーに係るキャッシュラインを含んだウェイ全体について、当該ウェイが縮退してい ることを示すウェイ縮退情報を縮退情報記憶手段にさらに書き込み、記憶されている ウェイ縮退情報に対応するウェイに対してリプレース要求があった場合に、ウェイをリ プレース要求候補から除外してリプレース制御を行うので、エラーを頻繁に発生させ るキャッシュラインを含むウェイにっ 、ては、そのウェイ全体を縮退させることができる 結果、キャッシュメモリの信頼性を維持することが可能となる。
[0016] また、請求項 3の発明によれば、ウェイ縮退情報が縮退情報記憶手段にさらに書き 込まれた際に、複数のウェイのうち所定の一つのウェイを除 、て他の全てのウェイが 縮退していることになり、かつ、当該所定のウェイに係るキャッシュライン縮退情報が 縮退情報記憶手段に記憶されて!ヽる場合には、当該キャッシュライン縮退情報を縮 退情報記憶手段から削除するので、例えば、キャッシュメモリを構成するウェイ全てが 縮退対象になった場合でも、キャッシュメモリを使用不可にするのではなぐ使用でき るウェイとキャッシュラインを解放する結果、キャッシュメモリの機能を維持することが 可能となる。
[0017] また、請求項 4の発明によれば、所定の検査用データを受け付けた場合に、当該検 查用データの受け付けに伴って指定された所定のキャッシュラインについて、当該キ ャッシユラインが縮退していることを示すキャッシュライン縮退情報を縮退情報記憶手 段に書き込むので、例えば、製品出荷前に検証用データを用いてキャッシュまたはゥ エイの縮退動作を検証することができる結果、当該キャッシュ制御装置を含む各種製 品の質を向上させることが可能である。
図面の簡単な説明
[0018] [図 1]図 1は、実施例 1に係るキャッシュ制御装置の全体構成を示すシステム構成図 である。
[図 2]図 2は、実施例 1に係るキャッシュ制御処理の流れを示すフローチャートである。
[図 3]図 3は、実施例 1に係るキャッシュ制御装置の回路構成の例を示した図である。
[図 4]図 4は、実施例 2に係るキャッシュ制御装置の検証用データを使用した場合の 図である。
[図 5]図 5は、キャッシュ制御プログラムを実行するコンピュータシステムを示す図であ る。
符号の説明
[0019] 10 キャッシュ制御装置
20 アクセス制御部 20a エラー検出部
20b キャッシュ検索部
20c 縮退情報書込部
20d リプレース制御部
25 キャッシュメモリ
30 監視レジスタ
35 エラーカウンタ
40 主記憶部
50 コンピュータシステム
51 RAM
52 HDD
52a エラー計数記憶テーブル
52b 縮退情報記憶テーブル
53 ROM
53a エラー検出プログラム
53b キャッシュ検索プログラム
53c 縮退情報書込プログラム
53d リプレース制御プログラム
54 CPU
54a エラー検出プロセス
54b キャッシュ検索プロセス
54c 縮退情報書込プロセス
54d リプレース制御プロセス
土 gL [) &
発明を実施するための最良の形態
以下に添付図面を参照して、この発明に係るキャッシュ制御装置の実施例を詳細 に説明する。
実施例 1 [0021] 以下の実施例 1では、本発明に係るキャッシュ制御装置の概要および特徴、キヤッ シュ制御装置の構成、処理の流れ、および回路構成、実施例 1による効果等を順に 説明する。
[0022] [キャッシュ制御装置の概要および特徴]
まず最初に、実施例 1に係るキャッシュ制御装置の概要および特徴を説明する。実 施例 1に係るキャッシュ制御装置 10は、キャッシュメモリ 25へのアクセス要求(例えば 、読み込み要求や書込み要求)に対するエラーの発生に基づいて、複数のウェイ (キ ャッシュ内の列)で構成されるキャッシュメモリを制御することを概要とするものであり、 特に、エラー発生時の影響を極小化することが可能であるとともに、エラー対策に必 要な領域を最小限に抑えることが可能である点に主たる特徴がある。すなわち、エラ 一が発生したキャッシュラインのみを使用不可 (縮退)にすることで、エラー発生時の 影響を極小化することが可能であるとともに、一つの領域 (例えば、エラーカウンタ)で キャッシュメモリ全てのエラーをカウントする(例えば、ウェイ、キャッシュラインに関係 なくまとめてカウントする)ことで、エラー対策に必要な領域を最小限に抑えることが可 能である。
[0023] [キャッシュ制御装置の構成 (実施例 1) ]
次に、図 1を用いて、キャッシュ制御装置を含むシステムの全体構成を説明する。 図 1は、キャッシュ制御装置を含むシステムの全体構成を示すブロック図である。この キャッシュ制御装置 10は、アクセス制御部 20と、主記憶部 40と、キャッシュメモリ 25と 、監視レジスタ 30と、エラーカウンタ 35と力も構成される。なお、監視レジスタ 30は、 特許請求の範囲に記載の「縮退情報記憶手段」に対応し、エラーカウンタ 35は、同 様に、「エラー計数記憶手段」に対応する。
[0024] このうち、主記憶部 40は、各種処理に必要なデータおよびプログラムを格納する格 納手段 (記憶手段)であり、具体的に例を挙げれば、 CPUなどによる各種処理に必 要なデータであって、アクセス要求の対象となるデータなどを記憶する。
[0025] キャッシュメモリ 25は、複数のウェイ力も構成され、主記憶部 40に格納されて 、るデ ータののうち頻繁に利用されるデータを記憶する手段であり、具体的に例を挙げれ ば、図 1に示したように、 Nウェイセットァソシァティブ方式を採用し「ウェイ 0」と「ウェイ 1」から構成される。
[0026] また、エラーカウンタ 35は、キャッシュメモリ 25へのアクセス要求に対して発生した エラーの回数を、当該エラーが 、ずれのウェイで発生したかを問わず一括で計数す る手段である。具体的に例を挙げれば、キャッシュメモリ 25の「ウェイ 0」または「ウェイ 1」において発生したエラーの回数を記憶する。
[0027] 監視レジスタ 30は、複数のウェイを構成するキャッシュラインのうち所定のキャッシュ ラインが縮退して 、ることを示すキャッシュライン縮退情報を記憶する手段である。具 体的に例を挙げれば、キャッシュメモリ 25の「ウェイ 0」または「ウェイ 1」において、そ れぞれのウェイを構成するキャッシュラインでエラーが発生した場合、キャッシュライン 縮退情報 (例えば、ウェイ 0、キャッシュラインアドレス Aなど)を記憶する。
[0028] アクセス制御部 20は、キャッシュメモリ 25に対するアクセスを制御し、キャッシュライ ンゃウェイの縮退制御を行う手段であり、特に本発明に密接に関連するものとしては 、エラー検出部 20aと、キャッシュ検索部 20bと、縮退情報書込部 20cと、リプレース 制御部 20dとを備える。なお、縮退情報書込部 20cは、特許請求の範囲に記載の「 縮退情報書込手段」に対応し、リプレース制御部 20dは、同様に、「リプレース制御手 段」に対応する。
[0029] このうち、エラー検出部 20aは、キャッシュメモリ 25のエラーを検出する手段であり、 具体的には、キャッシュメモリ 25へのアクセス要求 (例えば、データ読み出し要求)が あった場合に、アクセスされるキャッシュメモリ 25のキャッシュラインにエラーが発生し たカゝ否かを検出する。
[0030] また、キャッシュ検索部 20bは、アクセス要求を受けて、キャッシュメモリ 25に当該デ ータを検索する手段であり、具体的に例を挙げれば、アクセス要求 (例えば、データ 読み出し要求)を受けて、当該データをキャッシュメモリ 25から検索し、当該データが キャッシュメモリ 25に存在する場合は、キャッシュメモリ 25から当該データを読み出す 。一方、当該データがキャッシュメモリ 25に存在しない場合は、主記憶部 40から当該 データを読み出す。そして、後述するリプレース制御部 20dにリプレース要求を送信 する。
[0031] 縮退情報書込部 20cは、エラーカウンタ 35により計数されたエラーの発生回数が 所定の上限回数に到達した場合に、当該所定の上限回数に到達する契機となった エラーに係るキャッシュラインについて、当該キャッシュラインが縮退していることを示 すキャッシュライン縮退情報を監視レジスタに書き込む手段である。具体的には、キ ャッシュメモリ 25へのアクセス要求により、エラーが検出され、当該エラーによりあらか じめ設定された上限回数に到達した場合に、契機となったエラーに係るキャッシュラ インの情報(例えば、ウェイ 0、キャッシュラインアドレス A)を監視レジスタ 30に書き込 む。
[0032] 例を挙げると、キャッシュメモリ 25へのアクセス要求を受けて、エラー検出部 20aに よりエラーが検出され、当該エラーによりエラーカウンタ 35にエラー回数が 1増加され
、あらかじめ設定された上限回数 (例えば、 8回)に到達した場合に、契機となったェ ラーに係るキャッシュラインの情報(例えば、ウェイ 0、キャッシュラインアドレス A)を監 視レジスタ 30に書き込む。
[0033] リプレース制御部 20dは、監視レジスタ 30に記憶されているキャッシュライン縮退情 報に対応したキャッシュラインに対してリプレース要求があった場合に、当該キヤッシ ユラインをリプレース候補から除外してリプレース制御を行う手段である。具体的に例 を挙げれば、監視レジスタ 30に記憶されているキャッシュライン縮退情報 (例えば、ゥ エイ 0、キャッシュラインアドレス 0)に対応したキャッシュライン(例えば、ウェイ 0、キヤ ッシユラインアドレス 0)に対して、リプレース要求があった場合に、当該キャッシュライ ンをリプレース候補から除外して、そのキャッシュラインのウェイへの登録を抑止するリ プレース制御を行う。
[0034] [キャッシュ制御装置による処理]
次に、図 2を用いて、キャッシュ制御装置による処理を説明する。図 2は、キャッシュ 制御処理の流れを示すフローチャートである。同図に示すように、キャッシュ制御装 置 10は、アクセスを受け付けると (ステップ S201肯定)、エラー検出部 20aによりエラ 一が発生した否かを検出する (ステップ S202)
[0035] そして、エラーが検出されると (ステップ S202肯定)、エラーカウンタ 35の計数 (カウ ンタ)を 1増加させる(ステップ S203)。続いて、エラーカウンタ 35にカウントされた計 数が規定回数以上力否かを判定する (ステップ S204)。一方、エラーが検出されな い場合 (ステップ S 202否定)、後述するステップ S206の処理を行う。
[0036] そして、規定回数以上である場合 (ステップ S204肯定)、当該規定回数に到達する 契機となったエラーに係るキャッシュラインについて、当該キャッシュラインが縮退して V、ることを示すキャッシュライン縮退情報を監視レジスタ 30に書き込み、当該キヤッシ ユラインをブロック縮退 (使用不可)させる (ステップ S 205)。一方、規定回数以上でな い場合 (ステップ S 204否定)、後述するステップ S206の処理を行う。
[0037] そして、キャッシュ検索部 20bは、アクセス要求を受けたデータがキャッシュメモリ 25 にキャッシュメモリ 25に存在する(キャッシュヒットする)か否かを判定する(ステップ S2 06)。
[0038] 続、て、キャッシュヒットした場合 (ステップ S 206肯定)、キャッシュ検索部 20bは、 キャッシュメモリ 25から当該データを読み出す (ステップ S207)。
[0039] 一方、キャッシュヒットしなかった場合 (ステップ S206否定)、キャッシュ検索部 20b は、主記憶部 40から当該データを読み出す (ステップ S208)。続いて、リプレース制 御部 20dは、読み出されたデータをキャッシュメモリ 25のキャッシュラインに登録する (ステップ S 208)。
[0040] [キャッシュ制御装置の回路構成]
次に、図 3を用いて、図 1に示したキャッシュ制御装置 10の回路構成を説明する。 図 3は、キャッシュ制御装置 10の回路構成の例を示した図である。
[0041] 図 3に示すように、 TAG— RAM— WAY0、 TAG— RAM— WAY1は、 Nウェイセ ットァソシァティブ方式を採用してキャッシュメモリを構成するウェイであり、主記憶部( メインメモリ)に格納されているデータののうち頻繁に利用されるデータを記憶する。
[0042] LRU—RAMは、監視対象(BLOCK— DELETE—REGISTERに登録されてい る)となっているキャッシュラインに対してリプレース要求があった場合に、当該キヤッ シュラインをリプレース候補から除外してリプレース制御を行う。また、キャッシュライン 縮退中に、キャッシュメモリへの書込みが発生した場合、 BLOCK— DELETE— RE GISTERに登録されて 、る監視対象のキャッシュラインがリプレース対象とならな!/ヽ ように制御する。そのために、監視対象のキャッシュラインアドレスへのアクセスが行 われた場合に、監視対象となるウェイ番号以外のウェイをリプレース対象として選択 するように制御する。
[0043] また、エラーカウンタは、 TAG— RAM— WAYOまたは TAG— RAM— WAY1に て発生したエラー回数をいずれのウェイで発生したかを問わず一括して計数する。
[0044] そして、図示しない BLOCK— DELETE— STATEは、キャッシュライン縮退処理 中であることを示す FLAGである。具体的には、キャッシュメモリにエラーが検出され ると、エラーカウンタに計数されるとともに、 WAY— DELETE— FLAG (ウェイ縮退 中であることを示す FLAG)が全て 0の状態で、キャッシュメモリ'キャッシュタグのエラ 一検出回数が閾値を超えた時に、本信号を有効にし、 MIBが全て解放される(Mov e— in処理が完了する)のを待つ。
[0045] そして、図示しない BLOCK— DELETE— FLAGは、キャッシュライン縮退中であ ることを示す FLAGである。具体的には、 BLOCK— DELETE— STATEが有効か つ MIBが全て無効の場合に有効になり、これによりキャッシュライン縮退が有効となる 。また、 BLOCK— DELETE— FLAGが有効になると、 BLOCK— DELETE— ST ATEを無効にする。
[0046] また、 BLOCK— DELETE— REGISTERは、 TAG— RAM— WAYOまたは TA G— RAM— WAY1を構成するキャッシュラインのうち所定のキャッシュラインが縮退 していることを示すキャッシュライン縮退情報を記憶する。具体的には、キャッシュライ ンのインデックスに利用されるキャッシュラインアドレスとキャッシュ上に登録されてい るキャッシュウェイ番号を保持し、キャッシュメモリやキャッシュタグのエラーを検出す る度に登録する。そして、複数のキャッシュラインでエラーが検出されれば、エラーが 検出されるたびに登録される内容が変化する。また、キャッシュメモリのエラー検出頻 度に応じて制御を変更できるように、エラーカウンタに計数される回数が、規定回数 以上に達した場合に、有効になるようにしてもよい。
[0047] [実施例 1による効果]
このように、実施例 1によれば、アクセス要求に基づいて、複数のウェイで構成され るキャッシュメモリを制御するキャッシュ制御装置であって、アクセス要求に対して発 生したエラーの回数を、当該エラーがいずれのウェイで発生したかを問わず一括で 計数し、複数のウェイを構成するキャッシュラインのうち所定のキャッシュラインが縮退 して 、ることを示すキャッシュライン縮退情報を記憶し、計数されたエラーの発生回数 が所定の上限回数に到達した場合に、当該所定の上限回数に到達する契機となつ たエラーに係るキャッシュラインについて、当該キャッシュラインが縮退していることを 示すキャッシュライン縮退情報を縮退情報記憶手段に書き込み、記憶されて 、るキヤ ッシユライン縮退情報に対応したキャッシュラインに対してリプレース要求があった場 合に、キャッシュラインをリプレース候補から除外してリプレース制御を行うので、エラ 一が発生したキャッシュラインのみを使用不可 (縮退)にすることで、エラー発生時の 影響を極小化することが可能であるとともに、一つの領域 (例えば、エラーカウンタ)で キャッシュメモリ全てのエラーをカウントする(例えば、ウェイ、キャッシュラインに関係 なくまとめてカウントする)ことで、エラー対策に必要な領域を最小限に抑えることが可 能である。
実施例 2
[0048] さて、これまで実施例 1に係るキャッシュ制御装置につ 、て説明してきたが、本発明 は上記した実施例 1以外にも、種々の異なる形態にて実施されてよいものである。そ こで、以下では実施例 2として、種々の異なる形態について説明する。
[0049] (1)ウェイ縮退
例えば、上記した実施例 1では、キャッシュラインの縮退制御について説明したが、 本発明はこれに限定されるものではなぐエラーが頻繁に発生すると、ウェイ全体を 縮退させてもよい。
[0050] 具体的には、図 1に示した縮退情報書込部 20cは、エラーカウンタ 35により計数さ れたエラーの発生回数が所定の上限回数 (例えば、 8回)に到達した後において、ェ ラーカウンタ 35に計数されたエラー回数が所定の上限回数以上 (例えば、 8回以上) である他の所定の上限回数 (例えば、 15回)に到達した場合には、当該所定の上限 回数 (例えば、 15回)に到達する契機となったエラーに係るキャッシュライン (例えば、 ウェイ 0、キャッシュアドレス B)を含んだウェイ全体 (例えば、ウェイ 0)について、当該 ウェイが縮退して 、ることを示すウェイ縮退情報 (例えば、ウェイ 0)を監視レジスタ 30 にさらに書き込む。そして、リプレース制御部 20dは、監視レジスタ 30に記憶されてい るウェイ縮退情報に対応するウェイに対してリプレース要求があった場合に、ウェイを リプレース要求候補から除外してリプレース制御を行う。
[0051] これにより、エラーを頻繁に発生させるキャッシュラインを含むウェイについては、そ のウェイ全体を縮退させることができる結果、キャッシュメモリの信頼性を維持すること が可能となる。
[0052] (2)キャッシュライン縮退の無効化
また、キャッシュメモリを構成する複数のウェイの全てのウェイにぉ 、て縮退が起き た場合、ウェイ縮退しているウェイの縮退を解放するようにしてもよい。具体的には、 縮退情報書込部 20cによってウェイ縮退情報が監視レジスタ 30にさらに書き込まれ た際に、複数のウェイのうち所定の一つのウェイを除 、て他の全てのウェイが縮退し ていることになり、かつ、当該所定のウェイに係るキャッシュライン縮退情報が監視レ ジスタ 30に記憶されて 、る場合には、当該キャッシュライン縮退情報を監視レジスタ 30から削除する。
[0053] 例えば、ウェイ 0とウェイ 1から構成されるキャッシュメモリにおいて、監視レジスタ 30 の示すウェイ番号 (ウェイ 0)とは違ったウェイでウェイ縮退が起きた場合、(例えば、ゥ エイ 0のあるキャッシュラインが監視レジスタ 30に登録されて使用できな 、状態で、他 の何らかの理由でウェイ 1がウェイ縮退した場合)、キャッシュライン縮退を有効にして おくと、使用できないキャッシュラインが発生してしまうので、当該キャッシュライン縮 退情報を監視レジスタ 30から削除する。
[0054] これにより、キャッシュメモリを構成するウェイ全てが縮退対象になった場合でも、キ ャッシュメモリを使用不可にするのではなぐ使用できるウェイとキャッシュラインを解 放する結果、キャッシュメモリの機能を維持することが可能となる。
[0055] (3)検証用データによる縮退制御
また、検証用データを用いて縮退制御を検証するようにしてもよい。具体的には、 図 4に示したように、キャッシュメモリから読み出されるアドレス(6ビット〜 15ビット)を あらかじめ用意した擬似用(検証用)アドレスに置き換えて、キャッシュメモリにあらか じめ記憶される擬似用(検証用)データを読み出し、実施例 1または 2で説明した処理 を実行し、正常に実行できるカゝ否かを検証する。
[0056] これにより、製品出荷前に検証用データを用いてキャッシュまたはウェイの縮退動 作を検証することができる結果、当該キャッシュ制御装置を含む各種製品の質を向 上させることが可會である。
[0057] (4)装置構成等
また、実施例 2において説明したキャッシュ制御装置による処理(図 2参照)のう ち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこ なうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部また は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中 で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報( 例えば、エラーカウンタなど)については、特記する場合を除いて任意に変更するこ とがでさる。
[0058] また、図 1に図示したキャッシュ制御装置の各構成要素や、図 3に図示したキヤッシ ュ制御装置の回路構成は機能概念的なものであり、必ずしも物理的に図示の如く構 成されていることを要しない。すなわち、各装置の分散'統合、例えば、縮退情報書 込部 20cとリプレース制御部 20dを統合,分散するなど、具体的形態は図示のものに 限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単 位で機能的または物理的に分散 '統合して構成することができる。さらに、キャッシュ 制御装置にて行なわれる各処理機能は、その全部または任意の一部が、 CPUおよ び当該 CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジ ックによるハードウェアとして実現され得る。
[0059] (5)キャッシュ制御プログラム
ところで、上記の実施例で説明した各種の処理は、あら力じめ用意されたプログラム をパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行す ることによって実現することができる。そこで、以下では、上記の実施例と同様の機能 を有するプログラムを実行するコンピュータシステムの一例を説明する。
[0060] 図 5は、キャッシュ制御プログラムを実行するコンピュータシステム 50を示す図であ る。同図に示すように、コンピュータシステム 50は、 RAM51と、 HDD52と、 ROM53 と、 CPU54と、主記憶 55とから構成される。ここで、 ROM53には、上記の実施例と 同様の機能を発揮するプログラム、つまり、図 5に示すように、エラー検出プログラム 5 3aと、キャッシュ検索プログラム 53b、縮退情報書込プログラム 53cと、リプレース制御 プログラム 53dとがあらかじめ記憶されて 、る。
[0061] そして、 CPU54には、これらのプログラム 53a〜53dを読み出して実行することで、 図 5に示すように、エラー検出プロセス 54aと、キャッシュ検索プロセス 54bと、縮退情 報書込プロセス 54cと、リプレース制御プロセス 54dとなる。なお、各プロセス 54a〜5 4dは、図 1に示した、エラー検出部 20aと、キャッシュ検索部 20bと、縮退制御書込部 20cと、リプレース制御部 20dとにそれぞれ対応する。
[0062] また、 HDD52には、アクセス要求に対して発生したエラーの回数を、当該エラーが いずれのウェイで発生したかを問わず一括で計数するエラー計数記憶テーブル 52a と、複数のウェイを構成するキャッシュラインのうち所定のキャッシュラインが縮退して いることを示すキャッシュライン縮退情報を記憶する縮退情報記憶テーブル 52bとが 設けられる。なお、エラー計数記憶テーブル 52aと、縮退情報記憶テーブル 52bとは 、図 1に示した、エラーカウンタ 35と、監視レジスタ 30とに対応する。
[0063] ところで、上記したプログラム 53a〜53dは、必ずしも ROM53に記憶させておく必 要はなぐ例えば、コンピュータシステム 50に挿入されるフレキシブルディスク(FD)、 CD-ROM, MOディスク、 DVDディスク、光磁気ディスク、 ICカードなどの「可搬用 の物理媒体」の他に、コンピュータシステム 50の内外に備えられるハードディスクドラ イブ (HDD)などの「固定用の物理媒体」、さらに、公衆回線、インターネット、 LAN, WANなどを介してコンピュータシステム 50に接続される「他のコンピュータシステム」 に記憶させておき、コンピュータシステム 50がこれら力もプログラムを読み出して実行 するようにしてちょい。
産業上の利用可能性
[0064] 以上のように、本発明に係るキャッシュ制御装置およびキャッシュ制御プログラムプ ログラムは、アクセス要求に基づいて、複数のウェイで構成されるキャッシュメモリを制 御するに有用であり、特に、エラー発生時の影響を極小化することが可能であるとと もに、エラー対策に必要な領域を最小限に抑えることが可能であることに適する。

Claims

請求の範囲
[1] アクセス要求に基づいて、複数のウェイで構成されるキャッシュメモリを制御するキ ャッシュ制御装置であって、
前記アクセス要求に対して発生したエラーの回数を、当該エラーが 、ずれのウェイ で発生したかを問わず一括で計数するエラー計数記憶手段と、
前記複数のウェイを構成するキャッシュラインのうち所定のキャッシュラインが縮退し ていることを示すキャッシュライン縮退情報を記憶する縮退情報記憶手段と、 前記エラー計数記憶手段により計数された前記エラーの発生回数が所定の上限回 数に到達した場合に、当該所定の上限回数に到達する契機となったエラーに係るキ ャッシユラインにつ 、て、当該キャッシュラインが縮退して 、ることを示すキャッシュライ ン縮退情報を前記縮退情報記憶手段に書き込む縮退情報書込手段と、
前記縮退情報記憶手段に記憶されているキャッシュライン縮退情報に対応したキヤ ッシユラインに対してリプレース要求があった場合に、前記キャッシュラインをリプレー ス候補から除外してリプレース制御を行うリプレース制御手段と、
を備えたことを特徴とするキャッシュ制御装置。
[2] 前記縮退情報書込手段は、前記エラー計数手段により計数された前記エラーの発 生回数が所定の上限回数に到達した後において、前記エラー計数手段に計数され た前記エラー回数が前記所定の上限回数以上である他の所定の上限回数に到達し た場合には、当該所定の上限回数に到達する契機となったエラーに係るキャッシュラ インを含んだウェイ全体につ 、て、当該ウェイが縮退して 、ることを示すウェイ縮退情 報を前記縮退情報記憶手段にさらに書き込み、
前記リプレース制御手段は、前記縮退情報記憶手段に記憶されて!、るウェイ縮退 情報に対応するウェイに対してリプレース要求があった場合に、前記ウェイをリプレー ス要求候補から除外してリプレース制御を行うことを特徴とする請求項 1に記載のキヤ ッシュ制御装置。
[3] 前記縮退情報書込手段によって前記ウェイ縮退情報が前記縮退情報記憶手段に さらに書き込まれた際に、前記複数のウェイのうち所定の一つのウェイを除 、て他の 全てのウェイが縮退していることになり、かつ、当該所定のウェイに係るキャッシュライ ン縮退情報が前記縮退情報記憶手段に記憶されて 、る場合には、当該キャッシュラ イン縮退情報を前記縮退情報記憶手段から削除する縮退情報削除手段をさらに備 えたことを特徴とする請求項 2に記載のキャッシュ制御装置。
[4] 前記縮退情報書込手段は、所定の検査用データを受け付けた場合に、当該検査 用データの受け付けに伴って指定された所定のキャッシュラインについて、当該キヤ ッシユラインが縮退していることを示すキャッシュライン縮退情報を前記縮退情報記憶 手段に書き込むことを特徴とする請求項 1に記載のキャッシュ制御装置。
[5] アクセス要求に基づいて、複数のウェイで構成されるキャッシュメモリを制御すること をコンピュータに実行させるキャッシュ制御プログラムであって、
前記アクセス要求に対して発生したエラーの回数を、当該エラーが 、ずれのウェイ で発生したかを問わず一括で計数するエラー計数記憶手段と、
前記複数のウェイを構成するキャッシュラインのうち所定のキャッシュラインが縮退し ていることを示すキャッシュライン縮退情報を記憶する縮退情報記憶手段と、 前記エラー計数記憶手段により計数された前記エラーの発生回数が所定の上限回 数に到達した場合に、当該所定の上限回数に到達する契機となったエラーに係るキ ャッシユラインにつ 、て、当該キャッシュラインが縮退して 、ることを示すキャッシュライ ン縮退情報を前記縮退情報記憶手段に書き込む縮退情報書込手順と、
前記縮退情報記憶手段に記憶されているキャッシュライン縮退情報に対応したキヤ ッシユラインに対してリプレース要求があった場合に、前記キャッシュラインをリプレー ス候補から除外してリプレース制御を行うリプレース制御手順と、
をコンピュータに実行させることを特徴とするキャッシュ制御プログラム。
PCT/JP2006/303618 2006-02-27 2006-02-27 キャッシュ制御装置およびキャッシュ制御プログラム WO2007097026A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP06714755A EP1990727A4 (en) 2006-02-27 2006-02-27 CACHE CONTROL DEVICE AND CACHE CONTROL PROGRAM
PCT/JP2006/303618 WO2007097026A1 (ja) 2006-02-27 2006-02-27 キャッシュ制御装置およびキャッシュ制御プログラム
JP2008501576A JP4392049B2 (ja) 2006-02-27 2006-02-27 キャッシュ制御装置およびキャッシュ制御プログラム
US12/222,053 US20080294847A1 (en) 2006-02-27 2008-07-31 Cache control device and computer-readable recording medium storing cache control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/303618 WO2007097026A1 (ja) 2006-02-27 2006-02-27 キャッシュ制御装置およびキャッシュ制御プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/222,053 Continuation US20080294847A1 (en) 2006-02-27 2008-07-31 Cache control device and computer-readable recording medium storing cache control program

Publications (1)

Publication Number Publication Date
WO2007097026A1 true WO2007097026A1 (ja) 2007-08-30

Family

ID=38437085

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/303618 WO2007097026A1 (ja) 2006-02-27 2006-02-27 キャッシュ制御装置およびキャッシュ制御プログラム

Country Status (4)

Country Link
US (1) US20080294847A1 (ja)
EP (1) EP1990727A4 (ja)
JP (1) JP4392049B2 (ja)
WO (1) WO2007097026A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700947B2 (en) 2007-06-20 2014-04-15 Fujitsu Limited Cache memory apparatus, execution processing apparatus and control method thereof

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007097027A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited 縮退制御装置および縮退制御プログラム
KR101490327B1 (ko) 2006-12-06 2015-02-05 퓨전-아이오, 인크. 뱅크 인터리브를 이용한 솔리드-스테이트 스토리지의 명령 관리 장치, 시스템 및 방법
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8291259B2 (en) * 2009-04-15 2012-10-16 International Business Machines Corporation Delete of cache line with correctable error
CN102696010B (zh) 2009-09-08 2016-03-23 才智知识产权控股公司(2) 用于将数据高速缓存在固态存储设备上的装置、系统和方法
JP5518197B2 (ja) 2009-09-09 2014-06-11 フュージョン−アイオー・インコーポレーテッド ストレージを割り当てるための装置、システム、および方法
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
US9104583B2 (en) 2010-06-24 2015-08-11 International Business Machines Corporation On demand allocation of cache buffer slots
US20110320863A1 (en) * 2010-06-24 2011-12-29 International Business Machines Corporation Dynamic re-allocation of cache buffer slots
WO2012106362A2 (en) 2011-01-31 2012-08-09 Fusion-Io, Inc. Apparatus, system, and method for managing eviction of data
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
WO2012129191A2 (en) 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
JP2013196393A (ja) 2012-03-19 2013-09-30 Fujitsu Ltd 演算処理装置及び演算処理装置の制御方法
GB2505179A (en) * 2012-08-20 2014-02-26 Ibm Managing a data cache for a computer system
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US11868204B1 (en) * 2021-12-10 2024-01-09 Amazon Technologies, Inc. Cache memory error analysis and management thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS617959A (ja) * 1984-06-22 1986-01-14 Fujitsu Ltd タグ記憶装置制御方式
JPH04243446A (ja) 1991-01-17 1992-08-31 Koufu Nippon Denki Kk キャッシュ登録制御装置
JPH06504865A (ja) * 1991-11-18 1994-06-02 ブル・エス・アー 集積メモリ、その管理方法及び該方法から得られる情報システム
JPH10334695A (ja) 1997-05-27 1998-12-18 Toshiba Corp キャッシュメモリ及び情報処理システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1241768A (en) * 1984-06-22 1988-09-06 Miyuki Ishida Tag control circuit for buffer storage
JP3239669B2 (ja) * 1995-02-20 2001-12-17 株式会社日立製作所 記憶制御装置及びその制御方法
JP3204143B2 (ja) * 1997-01-06 2001-09-04 日本電気株式会社 ディスクキャッシュの制御方法
US6654855B1 (en) * 2000-10-26 2003-11-25 Emc Corporation Method and apparatus for improving the efficiency of cache memories using chained metrics
JP4001516B2 (ja) * 2002-07-05 2007-10-31 富士通株式会社 縮退制御装置及び方法
US7197670B2 (en) * 2003-12-31 2007-03-27 Intel Corporation Methods and apparatuses for reducing infant mortality in semiconductor devices utilizing static random access memory (SRAM)

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS617959A (ja) * 1984-06-22 1986-01-14 Fujitsu Ltd タグ記憶装置制御方式
JPH04243446A (ja) 1991-01-17 1992-08-31 Koufu Nippon Denki Kk キャッシュ登録制御装置
JPH06504865A (ja) * 1991-11-18 1994-06-02 ブル・エス・アー 集積メモリ、その管理方法及び該方法から得られる情報システム
JPH10334695A (ja) 1997-05-27 1998-12-18 Toshiba Corp キャッシュメモリ及び情報処理システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1990727A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700947B2 (en) 2007-06-20 2014-04-15 Fujitsu Limited Cache memory apparatus, execution processing apparatus and control method thereof

Also Published As

Publication number Publication date
EP1990727A4 (en) 2009-08-05
US20080294847A1 (en) 2008-11-27
JPWO2007097026A1 (ja) 2009-07-09
EP1990727A1 (en) 2008-11-12
JP4392049B2 (ja) 2009-12-24

Similar Documents

Publication Publication Date Title
WO2007097026A1 (ja) キャッシュ制御装置およびキャッシュ制御プログラム
JP4283221B2 (ja) 繰返し失敗したメモリ位置を無効にする実行をイネーブルにするため、失敗したメモリ位置を追跡する各種方法及び装置
US9099155B1 (en) Adaptive mitigation of adjacent track interference (ATI) on a recording medium
KR101319670B1 (ko) 캐시 메모리 시스템 및 캐시 메모리 시스템의 제어 방법
US8051337B2 (en) System and method for fast cache-hit detection
US7650557B2 (en) Memory scrubbing of expanded memory
US7681071B2 (en) Storage apparatus, control method therefor and program
TWI428746B (zh) 微處理器、預取資料至微處理器之快取記憶體階層的方法、以及相關之電腦程式產品
US7197670B2 (en) Methods and apparatuses for reducing infant mortality in semiconductor devices utilizing static random access memory (SRAM)
US8539162B2 (en) Caching based on spatial distribution of accesses to data storage devices
US10950292B1 (en) Method and apparatus for mitigating row hammer attacks
JP2011008842A (ja) 磁気ディスク・ドライブ及びそのデータの書き直し方法
US7716423B2 (en) Pseudo LRU algorithm for hint-locking during software and hardware address translation cache miss handling modes
US20110016264A1 (en) Method and apparatus for cache control in a data storage device
US20210349995A1 (en) Systems and Methods for Protecting Cache and Main-Memory from Flush-Based Attacks
JP4369523B2 (ja) 縮退制御装置
US9983972B2 (en) Predictive in-field memory repair scheme
US20100169572A1 (en) Data storage method, apparatus and system for interrupted write recovery
US20100238579A1 (en) Magnetic storage device, method for setting processing conditions for magnetic storage device, and computer program product for setting processing conditions for magnetic storage device
US20190348070A1 (en) Data storage device with read only data surface
JP2012190330A (ja) キャッシュコントローラ、キャッシュ制御方法及びデータ記憶装置
US9582425B2 (en) Set selection of a set-associative storage container
JP2019160197A (ja) ストレージ装置,制御プログラムおよび制御方法
JP2006343851A (ja) キャッシュメモリおよびマイクロプロセッサ
JP2016148964A (ja) 計算装置、計算方法、及び保安装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2008501576

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2006714755

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE