Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6024897B2 - Low voltage cache memory - Google Patents
[go: Go Back, main page]

JP6024897B2 - Low voltage cache memory - Google Patents

Low voltage cache memory Download PDF

Info

Publication number
JP6024897B2
JP6024897B2 JP2012267445A JP2012267445A JP6024897B2 JP 6024897 B2 JP6024897 B2 JP 6024897B2 JP 2012267445 A JP2012267445 A JP 2012267445A JP 2012267445 A JP2012267445 A JP 2012267445A JP 6024897 B2 JP6024897 B2 JP 6024897B2
Authority
JP
Japan
Prior art keywords
cache
memory cell
memory
lru
way
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012267445A
Other languages
Japanese (ja)
Other versions
JP2014115723A (en
Inventor
雅彦 吉本
雅彦 吉本
博 川口
博 川口
俊介 奥村
俊介 奥村
洋平 中田
洋平 中田
晋旭 鄭
晋旭 鄭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kobe University NUC
Original Assignee
Kobe University NUC
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 Kobe University NUC filed Critical Kobe University NUC
Priority to JP2012267445A priority Critical patent/JP6024897B2/en
Publication of JP2014115723A publication Critical patent/JP2014115723A/en
Application granted granted Critical
Publication of JP6024897B2 publication Critical patent/JP6024897B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、低電圧動作キャッシュメモリに関する技術である。   The present invention relates to a technique relating to a low voltage operation cache memory.

近年のSRAM(Static Random
Access Memory)等の半導体メモリは、SoCに搭載されるCMOSプロセス技術が進展し、集積回路の加工寸法(スケーリングサイズ)が縮小され、より高いチップ密度と低いチップコストが実現され、メモリ容量が増大している。
このようなスケーリングサイズの縮小は、SRAM等のメモリセルを構成するトランジスタの閾値電圧のばらつきを拡大し、メモリセルにおける読み出しや書き込みのノイズマージンを低下させ、メモリセル動作を不安定性化し、ビット誤り率を増大させている。
SRAM (Static Random) in recent years
In semiconductor memories such as Access Memory), CMOS process technology mounted on SoC advances, processing dimensions (scaling size) of integrated circuits are reduced, higher chip density and lower chip cost are realized, and memory capacity is increased. doing.
Such reduction of the scaling size increases the variation in threshold voltage of the transistors constituting the memory cell such as SRAM, reduces the noise margin for reading and writing in the memory cell, destabilizes the memory cell operation, and causes bit errors. The rate is increasing.

このようなプロセスばらつきの増大は、マイクロプロセッサの信頼性に大きな影響を及ぼし、低電圧動作の実現を困難にする。プロセスばらつきによるSRAM内のトランジスタ間のデバイスミスマッチングは、メモリセルの動作マージンを減少させ、結果としてセルの故障(読み出し故障、書込み故障、アクセスタイム違反)を生じさせる要因となる。また、微細化が進むにつれ、最低動作電圧が上昇する傾向にあり、メモリセルの動作マージンを低下させている。SRAMは、プロセッサにおけるトランジスタ数の大部分を占めるため、プロセッサ全体の動作電圧は大きいSRAMブロックを含んでいるキャッシュメモリによって決まると言える。そのため、メモリセルの動作マージンを増加させ、プロセッサの動作電圧を削減するためには、キャッシュメモリの低電圧化が必須である。   Such an increase in process variation greatly affects the reliability of the microprocessor, making it difficult to achieve low voltage operation. Device mismatching between transistors in the SRAM due to process variations decreases the operation margin of the memory cell, and as a result, causes cell failure (read failure, write failure, access time violation). Further, as the miniaturization progresses, the minimum operating voltage tends to increase, and the operating margin of the memory cell is reduced. Since the SRAM occupies most of the number of transistors in the processor, it can be said that the operating voltage of the entire processor is determined by a cache memory including a large SRAM block. Therefore, in order to increase the operating margin of the memory cell and reduce the operating voltage of the processor, it is essential to reduce the voltage of the cache memory.

これまで、低電圧動作キャッシュメモリに関する研究が数多く紹介されている(例えば、非特許文献1,2を参照。)。しかし、非特許文献1で提案されている低電圧動作キャッシュメモリでは、故障キャッシュラインの場所を特定するために、on−chip
fuseを使用するため、コスト高になるといった問題がある。
また、非特許文献2で提案されている低電圧動作キャッシュメモリでは、追加ビットや追加回路を要するため、面積オーバヘッドが大きいといった問題がある。
Many studies on low-voltage operation cache memories have been introduced so far (see, for example, Non-Patent Documents 1 and 2). However, in the low-voltage operation cache memory proposed in Non-Patent Document 1, an on-chip is used to specify the location of the failed cache line.
Since the fuse is used, there is a problem that the cost is increased.
In addition, the low-voltage operation cache memory proposed in Non-Patent Document 2 has a problem that the area overhead is large because an additional bit and an additional circuit are required.

また一方、DVS(Dynamic
Voltage Scaling)のような動作電圧を低減し、消費電力を削減する手法があるが、増加し続けるプロセスばらつきの影響による、近年の微細プロセスにおいては、SRAMが低電圧領域で十分な動作マージンを確保することは困難である。特に、キャッシュメモリは膨大な数のSRAMセルを含むため、プロセッサ内の大容量キャッシュメモリは製造ばらつきの影響を受けやすく、低電圧領域での動作信頼性を保つことは困難である。このように、キャッシュメモリは、プロセッサ全体の最低動作電圧の削減を妨害する要因となっている。
特に、RDF(Random
Dopant Fluctuation)のようなランダムばらつきは、SRAMセルの信頼性に大きな影響を与える。その結果、製造過程において生成される故障セルは、キャッシュメモリ内でランダムに分布している。キャッシュメモリ内に散在している故障セルを取り除くことにより、キャッシュメモリ全体の最低動作電圧を効果的に削減することが可能である。
しかしながら、故障セルがランダムに分布しているため、故障セルの場所を特定して何らかの制御を行うような細粒度制御は、追加サイクルや複雑な周辺回路が必要となり、コスト高になってしまう。
On the other hand, DVS (Dynamic
There is a technique to reduce the operating voltage and power consumption, such as Voltage Scaling), but in the recent fine process due to the influence of the increasing process variation, SRAM ensures a sufficient operating margin in the low voltage region It is difficult to do. In particular, since the cache memory includes an enormous number of SRAM cells, the large-capacity cache memory in the processor is easily affected by manufacturing variations, and it is difficult to maintain operation reliability in a low voltage region. Thus, the cache memory is a factor that hinders the reduction of the minimum operating voltage of the entire processor.
In particular, RDF (Random
Random variations such as “Dopant Fluctuation” greatly affect the reliability of SRAM cells. As a result, the failure cells generated in the manufacturing process are randomly distributed in the cache memory. By removing the faulty cells scattered in the cache memory, it is possible to effectively reduce the minimum operating voltage of the entire cache memory.
However, since the failure cells are randomly distributed, fine-grain control that performs some control by specifying the location of the failure cell requires an additional cycle and a complicated peripheral circuit, resulting in an increase in cost.

通常、キャッシュメモリは、下位レベルの記憶装置より小容量で高速なSRAMを用いて構成される。キャッシュメモリは、データ本体の一部とデータ格納アドレス,フラグなど属性情報のセットを固定容量のメモリに格納する構造を有し、データ格納構造、キャッシュラインの入替え、データ更新方式などに多数のアーキテクチャが存在する。従前は、プロセッサのチップの外部に接続されていたが、近年は、LSI集積度の向上や要求速度の上昇に伴い、プロセッサチップ内部に取り込まれる。キャッシュメモリは、データをキャッシュラインと呼ぶある程度まとまった単位(例えば、32バイト)でデータを格納し管理する。   Normally, the cache memory is configured using a SRAM having a smaller capacity and a higher speed than a lower-level storage device. The cache memory has a structure that stores a part of the data body and a set of attribute information such as data storage addresses and flags in a fixed-capacity memory. Exists. Previously, it was connected to the outside of the chip of the processor, but in recent years, it is taken into the processor chip as the LSI integration degree increases and the required speed increases. The cache memory stores and manages data in a certain unit (for example, 32 bytes) called data as a cache line.

キャッシュメモリにデータのアクセス要求があった時、そのデータがキャッシュに存在しているか否か、存在するならどのラインに存在するか等を瞬時(例えば、1サイクル)に検索する必要がある。そのために、データ格納アドレスの一部(キャッシュライン単位アドレスの下位数ビット:インデックス)により、ある程度の格納位置を限定することで検索速度を高める。各キャッシュラインには、キャッシュライン単位アドレスの上位ビット(フレームアドレス)を格納しており、キャッシュメモリ検索時には検索アドレスのフレームアドレス部と、キャッシュ内に格納されている検索インデックス位置のキャッシュラインに対応したフレームアドレスとを比較することでキャッシュのヒットを検出する。このフレームアドレスの格納バッファがタグである。複数セットのタグを備えることにより、同じインデックスでも複数データの格納を行うことが可能となる。このタグのセット数(ウェイ数)を連想度という。   When there is a data access request to the cache memory, it is necessary to instantly search (for example, one cycle) whether or not the data exists in the cache and in which line it exists. For this purpose, the search speed is increased by limiting the storage position to some extent by a part of the data storage address (the lower few bits of the cache line unit address: index). Each cache line stores the upper bit (frame address) of the cache line unit address, and corresponds to the frame address part of the search address and the cache line of the search index position stored in the cache when searching the cache memory A hit in the cache is detected by comparing the frame address. This frame address storage buffer is a tag. By providing a plurality of sets of tags, a plurality of data can be stored even with the same index. The number of tag sets (the number of ways) is called the association degree.

複数のタグにより構成される(連想度2以上)データ格納構造のキャッシュメモリをセットアソシアティブ方式(Set Associative)のキャッシュメモリという。セットアソシアティブ方式のキャッシュメモリの場合、同一インデックスに異なるフレームアドレスのデータを複数格納することができる。連想度が上がるほどキャッシュヒット率は上昇する。特に、n個のタグのセット数(ウェイ数)により構成された場合、nウェイ・セットアソシアティブ方式のキャッシュメモリという。   A cache memory having a data storage structure composed of a plurality of tags (association degree 2 or more) is referred to as a set associative cache memory. In the case of a set associative cache memory, a plurality of pieces of data with different frame addresses can be stored in the same index. The cache hit rate increases as the association degree increases. In particular, when it is configured by the number of sets of n tags (the number of ways), it is called an n-way set associative cache memory.

一般的に、キャッシュメモリのような大きいメモリ構造は、幾つかのサブブロックで構成される。例えば、図1に示す4ウェイ・セットアソシアティブ方式のキャッシュメモリの場合、全てのキャッシュウェイがそれぞれ4つのSRAMブロックと周辺回路を備える。このようなキャッシュメモリの場合、SRAMブロックレベルでの制御を施し、製造プロセスにおいて生成されるSRAMセルの欠陥を取り除くことができ、効果的にキャッシュメモリ全体の最低動作電圧を低減することができる。   In general, a large memory structure such as a cache memory is composed of several sub-blocks. For example, in the case of the 4-way set associative cache memory shown in FIG. 1, all the cache ways each include four SRAM blocks and peripheral circuits. In the case of such a cache memory, it is possible to perform control at the SRAM block level, remove defects of the SRAM cell generated in the manufacturing process, and effectively reduce the minimum operating voltage of the entire cache memory.

ここで、図2を用いて、4ウェイ・セットアソシアティブ方式のキャッシュメモリの連想度について説明する。図に示すように、いくつかのSRAMセルが故障しているとして、故障したSRAMセルの欠陥を取り除くために、SRAMブロックレベルでの制御を施し、故障したSRAMセルを含むSRAMブロックを無効にすることを想定する。
無効にしたSRAMブロックのキャッシュラインは使用できないため、それを含むインデックスにおいて、キャッシュラインの数、すなわち、タグのセット数(ウェイ数)である連想度が減少する。連想度が減少しても、他に割り当てられるキャッシュラインが存在する場合、問題は生じない。例えば、図2のインデックス0,1において、ウェイ0とウェイ1にキャッシュラインが存在しないが、ウェイ2とウェイ3には存在するので、このキャッシュメモリは、インデックス0,1において、連想度2で動作することが可能である。
Here, the association degree of the cache memory of the 4-way set associative method will be described with reference to FIG. As shown in the figure, assuming that some SRAM cells have failed, in order to remove defects of the failed SRAM cells, control is performed at the SRAM block level, and the SRAM block including the failed SRAM cells is invalidated. Assume that.
Since the cache line of the invalidated SRAM block cannot be used, the association degree, which is the number of cache lines, that is, the number of tag sets (the number of ways) is reduced in the index including the cache line. Even if the degree of association decreases, there is no problem if there are other cache lines allocated. For example, in indexes 0 and 1 in FIG. 2, there are no cache lines in way 0 and way 1, but in ways 2 and 3, this cache memory has an association level of 2 in indexes 0 and 1. It is possible to operate.

このように、故障SRAMセルを含むSRAMブロックを無効にしても、同一インデックスに他のキャッシュラインが存在する限り、キャッシュメモリとしての正常な動作が可能である。上述したように、故障SRAMセルは、キャッシュメモリ内でランダムに分布することから、無効にするSRAMブロックの数がインデックス毎に異なることになる。従って、キャッシュメモリの各々のインデックスにおける連想度は、様々な値をとることになる。
図2の場合、キャッシュメモリのインデックス0,1においては連想度2、インデックス2,3においては連想度4、インデックス4〜7においては連想度3で動作する。
Thus, even if the SRAM block including the failed SRAM cell is invalidated, normal operation as a cache memory is possible as long as another cache line exists at the same index. As described above, since the failed SRAM cells are randomly distributed in the cache memory, the number of invalidated SRAM blocks differs for each index. Accordingly, the association degree in each index of the cache memory takes various values.
In the case of FIG. 2, the cache memory operates at an association degree of 2 at indexes 0 and 1, an association degree of 4 at indexes 2 and 3, and an association degree of 3 at indexes 4-7.

しかしながら、図3に示すように、ある特定のインデックスの全てのSRAMブロックが故障SRAMセルを含んでいる場合、そのインデックスにおいてデータを割り当てるキャッシュラインが存在しなくなる。かかる状況では、キャッシュメモリとして適切な動作を行うことができない。そのため、故障SRAMセルを含むブロックを無効にし、キャッシュ動作から単純に除外するだけでは、キャッシュの動作ができない場合が生じてしまうという問題がある。
したがって、故障SRAMセルを含むSRAMブロック(故障SRAMブロック)を単に無効にして動作から除外するだけでは好ましくなく、できるだけ故障SRAMブロックを用いて、特定のインデックスにおいてデータを割り当てるキャッシュラインが存在しなくなるという問題を解決する必要がある。
However, as shown in FIG. 3, if all SRAM blocks of a particular index contain a failed SRAM cell, there will be no cache line to allocate data at that index. In such a situation, an appropriate operation as a cache memory cannot be performed. Therefore, there is a problem that the cache operation may not be performed simply by invalidating the block including the failed SRAM cell and simply excluding it from the cache operation.
Therefore, it is not preferable to simply invalidate and exclude the SRAM block including the failed SRAM cell (failed SRAM block) from the operation, and there is no cache line to allocate data at a specific index using the failed SRAM block as much as possible. I need to solve the problem.

また、一方で、本発明者らは、アプリケーションやメモリ状況に応じてメモリセルのビット信頼性を動的に変化させることができ、動作の安定性を確保して低消費電力化および高信頼性化を実現できるメモリを提案している。
提案するメモリは、1ビットが1個のメモリセルで構成されるモード(1ビット/1セルモード、以下「通常モード」と称する)と、1ビットがn(nは2以上)個のメモリセルを連結して構成されるモード(1ビット/nセルモード、以下「高信頼モード」と称する)とを動的に切り替えることができ、通常モードから高信頼モードに切り替えることにより、1ビットの動作安定性の増大および読出し動作のセル電流の増大(読出し動作の高速化)を行い、またビットエラーの自己修復が行えるメモリである(特許文献1〜3を参照)。
On the other hand, the present inventors can dynamically change the bit reliability of the memory cell according to the application and the memory situation, and ensure the stability of the operation to reduce the power consumption and the high reliability. We are proposing a memory that can be realized.
The proposed memory has a mode in which 1 bit is composed of one memory cell (1 bit / 1 cell mode, hereinafter referred to as “normal mode”) and n memory cells in which 1 bit is n (n is 2 or more). Mode (1 bit / n cell mode, hereinafter referred to as “high reliability mode”) can be dynamically switched, and by switching from the normal mode to the high reliability mode, a 1-bit operation can be performed. This memory increases the stability and increases the cell current of the read operation (speeds up the read operation) and can self-repair bit errors (see Patent Documents 1 to 3).

かかる提案の半導体メモリの一実施例は、図4に示すように、各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通が制御し得る1本のワードラインとから構成されるメモリセルにおいて、隣接する2つのメモリセルのデータ保持ノード間に、1対のP型MOSトランジスタと、該P型MOSトランジスタが導通するように制御し得る1本のモード制御ラインを追加した構成とされる。   One embodiment of such a proposed semiconductor memory is cross-coupled as shown in FIG. 4 in which each output is connected to a path leading to each of a pair of bit lines arranged corresponding to a column of memory cells. In a memory cell comprising a pair of inverters, a pair of switch portions provided between the bit line and the output of the inverter, and one word line whose conduction can be controlled, two adjacent A pair of P-type MOS transistors and one mode control line capable of controlling the P-type MOS transistors to be conductive are added between data holding nodes of two memory cells.

ここで、図4のメモリセルの回路動作を簡単に説明する。
図4に示すメモリセル(MC01)は、電源電位VVDDAおよび接地電位VGNDAの間に直列に接続されるP型MOSトランジスタ(M00)およびN型MOSトランジスタ(M02)と、電源電位VVDDAおよび接地電位VGNDAの間に直列に接続されるP型MOSトランジスタ(M01)およびN型MOSトランジスタ(M03)とからなるラッチ回路を構成している。メモリセル(MC01)自体は、一般的な6トランジスタの構成のメモリセルである。
メモリセル(MC10)も同様に、電源電位VVDDBおよび接地電位VGNDBの間に直列に接続されるP型MOSトランジスタ(M10)およびN型MOSトランジスタ(M12)と、電源電位VVDDBおよび接地電位VGNDBの間に直列に接続されるP型MOSトランジスタ(M11)およびN型MOSトランジスタ(M13)とからなるラッチ回路を構成している。メモリセル(MC10)自体も、一般的な6トランジスタの構成のメモリセルである。
Here, the circuit operation of the memory cell of FIG. 4 will be briefly described.
4 includes a P-type MOS transistor (M00) and an N-type MOS transistor (M02) connected in series between power supply potential VVDDA and ground potential VGNDA, power supply potential VVDDA and ground potential VGNDA. A latch circuit composed of a P-type MOS transistor (M01) and an N-type MOS transistor (M03) connected in series is formed. The memory cell (MC01) itself is a general 6-transistor memory cell.
Similarly, in memory cell (MC10), P-type MOS transistor (M10) and N-type MOS transistor (M12) connected in series between power supply potential VVDDB and ground potential VGNDB, and between power supply potential VVDDB and ground potential VGNDB. A latch circuit including a P-type MOS transistor (M11) and an N-type MOS transistor (M13) connected in series to each other is formed. The memory cell (MC10) itself is a memory cell having a general 6-transistor configuration.

メモリセル(MC01)では、P型MOSトランジスタ(M00)およびN型MOSトランジスタ(M02)のゲート端子は、共にP型MOSトランジスタ(M01)およびN型MOSトランジスタ(M03)のノード(N01)に接続されている。また、P型MOSトランジスタ(M01)およびN型MOSトランジスタ(M03)のゲート端子は、共にP型MOSトランジスタ(M00)およびN型MOSトランジスタ(M02)のノード(N00)に接続されている。このようにM00〜M03のトランジスタはクロスカップル接続されているため、P型MOSトランジスタ(M00,M01)は負荷トランジスタとして動作し、N型MOSトランジスタ(M02,M03)は駆動トランジスタとして動作する。メモリセル(MC10)も同様である。   In the memory cell (MC01), the gate terminals of the P-type MOS transistor (M00) and the N-type MOS transistor (M02) are both connected to the node (N01) of the P-type MOS transistor (M01) and the N-type MOS transistor (M03). Has been. The gate terminals of the P-type MOS transistor (M01) and the N-type MOS transistor (M03) are both connected to the node (N00) of the P-type MOS transistor (M00) and the N-type MOS transistor (M02). Since the transistors M00 to M03 are thus cross-coupled, the P-type MOS transistors (M00, M01) operate as load transistors, and the N-type MOS transistors (M02, M03) operate as drive transistors. The same applies to the memory cell (MC10).

またメモリセル(MC01)は、相補なビットライン(BL,/BL)と、ノード(N00,N01)との間にそれぞれ接続されたN型MOSトランジスタ(M04、M05)のスイッチ部を備える。N型MOSトランジスタ(M04,M05)のゲート端子は、共に共通のワードライン(WLA)に接続されており、N型MOSトランジスタ(M04,M05)のゲート電位はワードライン(WLA)により制御される。すわなち、メモリセル(MC01)においては、P型MOSトランジスタ(M00,M01)を負荷トランジスタとし、N型MOSトランジスタ(M02,M03)を駆動トランジスタし、N型MOSトランジスタ(M04,M05)をスイッチ部として動作するのである。
また、メモリセル(MC10)も、相補なビットライン(BL,/BL)と、ノード(N10,N11)との間にそれぞれ接続されたN型MOSトランジスタ(M14、M15)のスイッチ部を備える。N型MOSトランジスタ(M14,M15)のゲート端子は、共に共通のワードライン(WLA)に接続されており、N型MOSトランジスタ(M14,M15)のゲート電位はワードライン(WLA)により制御される。
The memory cell (MC01) includes a switch portion of N-type MOS transistors (M04, M05) connected between the complementary bit lines (BL, / BL) and the nodes (N00, N01). The gate terminals of the N-type MOS transistors (M04, M05) are both connected to a common word line (WLA), and the gate potential of the N-type MOS transistors (M04, M05) is controlled by the word line (WLA). . That is, in the memory cell (MC01), the P-type MOS transistors (M00, M01) are used as load transistors, the N-type MOS transistors (M02, M03) are driven transistors, and the N-type MOS transistors (M04, M05) are used. It operates as a switch unit.
The memory cell (MC10) also includes a switch unit of N-type MOS transistors (M14, M15) connected between the complementary bit lines (BL, / BL) and the nodes (N10, N11). The gate terminals of the N-type MOS transistors (M14, M15) are both connected to a common word line (WLA), and the gate potential of the N-type MOS transistors (M14, M15) is controlled by the word line (WLA). .

そして、メモリセル(MC01,MC10)のデータ保持ノード間(N00とN10の間、N01とN11の間)に、モード制御スイッチ部となる1対のP型MOSトランジスタ(M20、M21)が設けられ、このP型MOSトランジスタ(M20、M21)の導通を制御する1本のモード制御ライン(/CTRL)が設けられている。   A pair of P-type MOS transistors (M20, M21) serving as a mode control switch unit are provided between the data holding nodes (between N00 and N10, between N01 and N11) of the memory cells (MC01, MC10). One mode control line (/ CTRL) for controlling the conduction of the P-type MOS transistors (M20, M21) is provided.

以上のような回路構成のメモリセルでは、1ビットのデータをメモリセル(MC01)に記憶する場合と、1ビットのデータをメモリセル(MC01)とメモリセル(MC10)の2つのメモリセルに記憶する場合とを、モード制御ライン(/CTRL)を用いて、使い分けることが可能である。上記回路構成のメモリセルは、1ビットが1個のメモリセルで構成されるモード(通常モード)と、1ビットが2個のメモリセルを連結して構成されるモード(高信頼モード)の2つの状態を有し、アプリケーションやメモリ状況に応じてメモリセルのビット信頼性を動的に変化させることができ、動作の安定性を確保して低消費電力化および高信頼性化を実現する。   In the memory cell having the circuit configuration as described above, 1-bit data is stored in the memory cell (MC01) and 1-bit data is stored in the two memory cells, the memory cell (MC01) and the memory cell (MC10). The mode control line (/ CTRL) can be used properly. The memory cell having the above circuit configuration has two modes: a mode in which 1 bit is constituted by one memory cell (normal mode) and a mode in which 1 bit is constituted by connecting two memory cells (high reliability mode). Therefore, the bit reliability of the memory cell can be dynamically changed according to the application and the memory condition, and the operation stability is ensured to realize low power consumption and high reliability.

国際公開パンフレットWO2009/088020International publication pamphlet WO2009 / 088020 国際公開パンフレットWO2012/021277International Publication Pamphlet WO2012 / 021277 特開2011−040010号公報JP 2011-040010 A

C. Wilkerson,H. Gao, A. R. Alameldeen,Z. Chishti, M. Khellah, andS. -L. Lu, “Trading Off Cache Capacity for Reliability to Enable Low VoltageOperation,” IEEE International Symposium Computer Architecture, pp 203-214,2008C. Wilkerson, H. Gao, AR Alameldeen, Z. Chishti, M. Khellah, and S. -L. Lu, “Trading Off Cache Capacity for Reliability to Enable Low Voltage Operation,” IEEE International Symposium Computer Architecture, pp 203-214, 2008 J. Kim, N. Hardavellas, K. Mai, B. Falasafi,and J. C. Hoe, “Multi-Bit Error Tolerant Caches Using Two-Dimensional ErrorCoding,” ACM/IEEE International Symposium MicroArchitecture,pp. 197-209, 2007J. Kim, N. Hardavellas, K. Mai, B. Falasafi, and J. C. Hoe, “Multi-Bit Error Tolerant Caches Using Two-Dimensional Error Coding,” ACM / IEEE International Symposium MicroArchitecture, pp. 197-209, 2007

上述したように、故障SRAMセルを含むSRAMブロックを単に無効にするだけでは、セットアソシアティブ方式のキャッシュメモリは適切な動作をすることはできない。
上記状況に鑑みて、本発明は、特定のインデックスにおいてデータを割り当てるキャッシュラインが存在しなくなるという問題を解決すると共に、キャッシュメモリ全体の動作電圧を効果的に低減できる低電圧動作キャッシュメモリを提供することを目的とする。
As described above, the set associative cache memory cannot operate properly by simply invalidating the SRAM block including the failed SRAM cell.
In view of the above situation, the present invention solves the problem that there is no cache line for allocating data at a specific index, and provides a low-voltage operation cache memory that can effectively reduce the operation voltage of the entire cache memory. For the purpose.

上記目的を達成するため、本発明の低電圧動作キャッシュメモリは、タグにより構成されるデータ格納構造を備え、複数のメモリセルブロックから構成されるキャッシュウェイを複数備えるセットアソシアティブ方式のキャッシュメモリにおいて、以下の構成とされる。
先ず、メモリセルブロックは、各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する1本のワードラインと、から構成されるメモリセルと、隣接するメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する1本のモード制御ラインと、から構成される。
In order to achieve the above object, a low voltage operation cache memory of the present invention includes a data storage structure configured by tags, and a set associative cache memory including a plurality of cache ways including a plurality of memory cell blocks. The configuration is as follows.
First, a memory cell block includes a pair of cross-coupled inverters, each output being connected to a path leading to each of a pair of bit lines arranged corresponding to a column of memory cells, and a bit line and an inverter. A mode control switch unit between a memory cell composed of a pair of switch units provided between the output and one word line for controlling conduction of the switch unit, and between data holding nodes of adjacent memory cells And one mode control line for controlling the conduction of the mode control switch section.

そして、メモリセルブロック毎に、1ビットが1個のメモリセルで構成される通常モードから、隣接する2個のメモリセルを連結して1ビットが2個のメモリセルで構成される高信頼モードへと切り替えできる回路構成を備え、メモリセルブロックがオフラインもしくはオンラインで故障検出された場合に、故障検出したメモリセルブロックを高信頼モードに切り替えて、隣接する2つのキャッシュラインのいずれかを使用するメモリセルブロックにする。これにより、故障したメモリセルブロックの動作マージンを拡大して、キャッシュメモリ全体の最低動作電圧を低減する。   Then, for each memory cell block, from the normal mode in which one bit is composed of one memory cell, a high reliability mode in which two adjacent memory cells are connected and one bit is composed of two memory cells. When a memory cell block is detected to be faulty offline or online, the faulty memory cell block is switched to the high-reliability mode and one of two adjacent cache lines is used. A memory cell block is formed. As a result, the operation margin of the failed memory cell block is expanded and the minimum operation voltage of the entire cache memory is reduced.

本発明の低電圧動作キャッシュメモリのメモリセルブロックは、上記の構成とすることにより、隣接する2つのメモリセルのデータ保持ノード間のモード制御スイッチ部をオン状態(高信頼モード)にすると、1ビットのデータを2つのメモリセルで共有でき、これにより高信頼性を実現できる。すなわち、書き込み時には2本のワードラインを同時に立ち上げ、2つのメモリセルに同時に書き込む。それにより、ペア構造の上下メモリセルにおける書き込みマージンの劣化が緩和される。また、読み出し時にはワードラインを1本のみ立ち上げ、ビットラインを介してデータを読み出す。読み出し時には、読み出し動作マージンSNM(Static noise margin)の小さいメモリセルが他方のメモリセルによって強化される。さらに、内部ノードのキャパシタンスが大きくなる効果が得られるので、ソフトエラー耐性も向上できる。   The memory cell block of the low-voltage operation cache memory according to the present invention has the above-described configuration. When the mode control switch between the data holding nodes of two adjacent memory cells is turned on (high reliability mode), 1 Bit data can be shared by two memory cells, thereby realizing high reliability. That is, at the time of writing, two word lines are simultaneously activated and simultaneously written into two memory cells. Thereby, the deterioration of the write margin in the upper and lower memory cells of the pair structure is alleviated. At the time of reading, only one word line is raised and data is read through the bit line. At the time of reading, a memory cell having a small read operation margin SNM (Static noise margin) is reinforced by the other memory cell. Further, since the effect of increasing the capacitance of the internal node can be obtained, the soft error resistance can also be improved.

メモリセルブロックは、オフラインもしくはオンラインで故障検出された場合に、どのメモリセルが故障したかを特定することなく、故障検出したメモリセルブロックを高信頼モードに切り替えて、上下に隣接する2つのキャッシュラインのいずれかを使用するメモリセルブロックにする。上述の通り、高信頼モードでは、メモリセルの動作マージンが増大するので、当該メモリセルブロックの動作マージンを拡大できるのである。
また、メモリセルブロック単位で高信頼モードに切り替えすることで、周辺回路(XYデコーダ回路、センスアンプ回路など)の面積オーバヘッドを小さくする。
When a memory cell block is detected offline or online, the memory cell block in which the failure is detected is switched to the high-reliability mode without specifying which memory cell has failed. A memory cell block that uses one of the lines. As described above, in the high reliability mode, the operation margin of the memory cell is increased, so that the operation margin of the memory cell block can be expanded.
Further, by switching to the high reliability mode for each memory cell block, the area overhead of peripheral circuits (XY decoder circuit, sense amplifier circuit, etc.) is reduced.

ここで、本発明の低電圧動作キャッシュメモリの故障したメモリセルブロックにおいて、高信頼モードに切り替えて、隣接する2つのキャッシュラインのいずれかを使用する際に、キャッシュメモリの全てのキャッシュインデックスに、キャッシュウェイの個数の半分の連想度以上でのキャッシュ動作が可能となるように、キャッシュラインの割り当てを行うことが好ましい。   Here, in the memory cell block in which the low-voltage operation cache memory of the present invention has failed, when switching to the high-reliability mode and using one of the two adjacent cache lines, all the cache indexes of the cache memory are It is preferable to allocate a cache line so that a cache operation can be performed with an association degree equal to or more than half the number of cache ways.

キャッシュメモリの全てのキャッシュインデックスに対して、キャッシュウェイの個数の半分の連想度以上でのキャッシュ動作を可能にすることで、キャッシュインデックス毎の連想度のばらつきを最小限にし、キャッシュヒット率を高く維持できる。
例えば、4ウェイ・セットアソシアティブ方式のキャッシュメモリの場合、連想度2以上でのキャッシュ動作を可能とするように、キャッシュラインの割り当てを行う。また、8ウェイ・セットアソシアティブ方式のキャッシュメモリの場合、連想度4以上でのキャッシュ動作を可能とするように、キャッシュラインの割り当てを行う。
For all cache indexes in the cache memory, cache operation with more than half of the number of cache ways is possible, minimizing variation in association between cache indexes and increasing the cache hit rate Can be maintained.
For example, in the case of a 4-way set associative cache memory, a cache line is allocated so as to enable a cache operation with an association degree of 2 or higher. In the case of an 8-way set associative cache memory, a cache line is allocated so as to enable a cache operation with an association degree of 4 or higher.

4ウェイ・セットアソシアティブ方式のキャッシュメモリにおいて、上述の図3に示すような、ある特定のインデックスの4つ全てのSRAMブロックが故障SRAMセルを含んでいる場合、4つ全てのSRAMブロックを高信頼モードに切り替えて、連想度2以上でのキャッシュ動作を可能とするように、それぞれのSRAMブロックは、隣接する2つのキャッシュラインのいずれかを使用するように割り当てを行う。図5に示すように、例えば、ウェイ0とウェイ2が上のキャッシュライン、ウェイ1とウェイ3が下のキャッシュラインに割り当てると、連想度は2を維持できる。   In a four-way set associative cache memory, if all four SRAM blocks of a specific index include a failed SRAM cell, as shown in FIG. 3 above, all four SRAM blocks are reliable. In order to switch to the mode and enable a cache operation with an association degree of 2 or more, each SRAM block is assigned to use one of two adjacent cache lines. As shown in FIG. 5, for example, when way 0 and way 2 are assigned to the upper cache line and way 1 and way 3 are assigned to the lower cache line, the association degree can be maintained at 2.

具体的には、キャッシュラインの割り当ては、以下のようにすることで、キャッシュウェイの個数の半分の連想度以上でのキャッシュ動作が可能となる。
まず、本発明の低電圧動作キャッシュメモリの故障したメモリセルブロックにおいて、高信頼モードに切り替えて、隣接する2つのキャッシュラインのいずれかを使用する際に、偶数番号のキャッシュウェイのメモリセルブロックの場合には偶数インデックスのキャッシュラインが割り当てられ、奇数番号のキャッシュウェイのメモリセルブロックの場合には奇数インデックスのキャッシュラインが割り当てられる。
Specifically, the cache operation can be performed with an association degree equal to or more than half the number of cache ways by assigning the cache line as follows.
First, in the memory cell block in which the low-voltage operation cache memory of the present invention has failed, when switching to the high-reliability mode and using one of the two adjacent cache lines, the memory cell block of the even-numbered cache way In this case, even-numbered cache lines are assigned, and in the case of odd-numbered cache way memory cell blocks, odd-numbered cache lines are assigned.

また、本発明の低電圧動作キャッシュメモリの故障したメモリセルブロックにおいて、高信頼モードに切り替えて、隣接する2つのキャッシュラインのいずれかを使用する際に、偶数番号のキャッシュウェイのメモリセルブロックの場合には奇数インデックスのキャッシュラインが割り当てられ、奇数番号のキャッシュウェイのメモリセルブロックの場合には偶数インデックスのキャッシュラインが割り当てられる。   Further, in the memory cell block in which the low-voltage operation cache memory of the present invention has failed, when switching to the high reliability mode and using one of the two adjacent cache lines, the memory cell block of the even-numbered cache way In this case, odd-numbered cache lines are assigned, and in the case of odd-numbered cache way memory cell blocks, even-numbered cache lines are assigned.

また、本発明の低電圧動作キャッシュメモリの故障したメモリセルブロックにおいて、高信頼モードに切り替えて、隣接する2つのキャッシュラインのいずれかを使用する際に、キャッシュウェイの個数がN(番号は0,1,・・・,N−1)とした場合に、番号がN/2未満のキャッシュウェイのメモリセルブロックの場合には偶数インデックスのキャッシュラインが割り当てられ、番号がN/2以上のキャッシュウェイのメモリセルブロックの場合には奇数インデックスのキャッシュラインが割り当てられる。   In the memory cell block in which the low-voltage operation cache memory according to the present invention is faulty, when switching to the high reliability mode and using one of the two adjacent cache lines, the number of cache ways is N (number is 0). , 1,..., N−1), and even if the cache cell is a memory cell block with a number less than N / 2, an even-numbered cache line is assigned and the cache with a number greater than or equal to N / 2. In the case of a way memory cell block, an odd index cache line is allocated.

また、本発明の低電圧動作キャッシュメモリの故障したメモリセルブロックにおいて、高信頼モードに切り替えて、隣接する2つのキャッシュラインのいずれかを使用する際に、キャッシュウェイの個数がN(番号は0,1,・・・,N−1)とした場合に、番号がN/2未満のキャッシュウェイのメモリセルブロックの場合には奇数インデックスのキャッシュラインが割り当てられ、番号がN/2以上のキャッシュウェイのメモリセルブロックの場合には偶数インデックスのキャッシュラインが割り当てられる。   In the memory cell block in which the low-voltage operation cache memory according to the present invention is faulty, when switching to the high reliability mode and using one of the two adjacent cache lines, the number of cache ways is N (number is 0). , 1,..., N−1), and in the case of a memory cell block of a cache way with a number less than N / 2, an odd index cache line is assigned and a cache with a number greater than or equal to N / 2. In the case of a way memory cell block, an even index cache line is allocated.

また、本発明の低電圧動作キャッシュメモリの故障したメモリセルブロックにおいて、高信頼モード時に、隣接する2つのキャッシュラインのいずれを使用するかの識別情報として、使用しない無効キャッシュラインのキャッシュライン状態ビットを、{Valid bit,Dirty bit}={0,1}に設定することが好ましい。
一般的なWrite−backキャッシュメモリにおいて、{Valid bit,Dirty bit}={0,1}の状態は取り得ない。よって、上記のように、無効キャッシュラインのValid bit,Dirty bitをそれぞれ0,1にして、無効キャッシュラインを判別することに利用できる。
In addition, in the memory cell block in which the low-voltage operation cache memory of the present invention has failed, the cache line status bit of the invalid cache line that is not used is used as identification information in which one of two adjacent cache lines is used in the high reliability mode. Is preferably set to {Valid bit, Dirty bit} = {0, 1}.
In a general write-back cache memory, the state of {Valid bit, Dirty bit} = {0, 1} cannot be taken. Therefore, as described above, the invalid cache line can be used to determine the invalid cache line by setting the valid bit and dirty bit of the invalid cache line to 0 and 1, respectively.

次に、本発明の低電圧動作キャッシュメモリのLRU(Least Recently Used)置換アルゴリズムについて説明する。
本発明の低電圧動作キャッシュメモリのLRU置換アルゴリズムにおいて、故障したメモリセルブロックが高信頼モード時、使用しない無効キャッシュラインのLRUツリービットをMRU(Most Recently Used)状態に固定する。
LRU置換アルゴリズムでは、LRUキャッシュラインが置換対象になるが、無効キャッシュラインを常にMRU状態に固定することにより、無効キャッシュラインが置換対象のキャッシュラインになることを回避できる。
Next, an LRU (Least Recently Used) replacement algorithm for the low voltage operation cache memory of the present invention will be described.
In the LRU replacement algorithm of the low voltage operation cache memory according to the present invention, when the failed memory cell block is in the high reliability mode, the LRU tree bits of the invalid cache line not used are fixed to the MRU (Most Recently Used) state.
In the LRU replacement algorithm, the LRU cache line becomes a replacement target. However, by always fixing the invalid cache line to the MRU state, it is possible to prevent the invalid cache line from becoming the replacement target cache line.

また、本発明の低電圧動作キャッシュメモリのLRU(Least
Recently Used)置換アルゴリズムにおいて、故障したメモリセルブロックが高信頼モード時、使用しない無効キャッシュラインがM個存在する場合、使用しない無効キャッシュラインのLRUツリービットをキャッシュウェイの番号順に0(MRU),1,・・・,M−1にする。
上記の構成にすることで、プロセッサがDVS制御において、Low voltage modeからHigh voltage modeへ切り替える場合、低電圧領域で故障し、高信頼モードで動作していたSRAMブロックを通常モードへ切り替える必要がある場合に、LRUツリービットの再設定を行う必要がなく、隣接するメモリセルのデータ保持ノード間に設けられたモード制御スイッチ部をオフにするだけでよい。
Further, the LRU (Least) of the low voltage operation cache memory of the present invention is used.
Recently Used) In the replacement algorithm, when there are M invalid cache lines that are not used when the failed memory cell block is in the high-reliability mode, the LRU tree bits of the invalid cache lines that are not used are set to 0 (MRU) in the order of the cache way number. 1, ..., M-1.
With the above configuration, when the processor switches from the low voltage mode to the high voltage mode in the DVS control, it is necessary to switch the SRAM block that has failed in the low voltage region and operated in the high reliability mode to the normal mode. In this case, it is not necessary to reset the LRU tree bit, and it is only necessary to turn off the mode control switch provided between the data holding nodes of adjacent memory cells.

また、本発明の低電圧動作キャッシュメモリのLRU置換アルゴリズムにおいて、使用しない無効キャッシュラインがM個存在する場合、キャッシュミスが起きた際に割り当てた新しいデータのキャッシュラインのLRUツリービットをMとし、その他の使用するキャッシュラインのLRUツリービットを、キャッシュミスが起きる以前の順番に従って、それぞれM+1から順に1インクリメントする。   Further, in the LRU replacement algorithm of the low voltage operation cache memory of the present invention, when there are M invalid cache lines that are not used, the LRU tree bit of the cache line of new data assigned when a cache miss occurs is set to M, The LRU tree bits of other cache lines to be used are incremented by 1 in order from M + 1 according to the order before the cache miss occurred.

例えば、4ウェイ・セットアソシアティブ方式のキャッシュメモリにおいて、あるインデックスに無効キャッシュラインが1個存在する場合、無効キャッシュラインのLRU状態ビットは上述の通りMRU状態(例えば、0)に固定し、キャッシュミスが起きた際に割り当てた新しいデータのキャッシュラインのLRUツリービットを1とし、他の使用するキャッシュラインのLRUツリービットを、キャッシュミスが起きる以前の順番に従って、それぞれ2,3にする。   For example, in a 4-way set associative cache memory, if there is one invalid cache line at a certain index, the LRU status bit of the invalid cache line is fixed to the MRU status (for example, 0) as described above, and a cache miss The LRU tree bit of the cache line of the new data allocated when the error occurs is set to 1, and the LRU tree bits of the other cache lines to be used are set to 2 and 3, respectively, according to the order before the cache miss occurs.

また、例えば、4ウェイ・セットアソシアティブ方式のキャッシュメモリにおいて、あるインデックスに無効キャッシュラインが2個存在する場合、無効キャッシュラインのLRUツリービットは上述の通り0(MRU)に固定し、或いは、無効キャッシュラインのLRUツリービットをキャッシュウェイの番号順に0(MRU),1に固定する。キャッシュミスが起きた際に割り当てた新しいデータのキャッシュラインのLRUツリービットを2とし、他の使用するキャッシュラインのLRUツリービットを3にする。   For example, in a 4-way set associative cache memory, if there are two invalid cache lines in an index, the LRU tree bit of the invalid cache line is fixed to 0 (MRU) as described above, or invalid. The LRU tree bits of the cache line are fixed to 0 (MRU) and 1 in the order of the cache way numbers. The LRU tree bit of the cache line of new data allocated when a cache miss occurs is set to 2, and the LRU tree bit of the other cache line to be used is set to 3.

また、本発明の低電圧動作キャッシュメモリのLRU置換アルゴリズムにおいて、使用しない無効キャッシュラインがM個存在する場合、キャッシュヒットが起きたキャッシュラインのLRUツリービットをMとし、その他の使用するキャッシュラインのLRUツリービットを、キャッシュミスが起きる以前の順番に従って、それぞれM+1から順に1インクリメントする。   Further, in the LRU replacement algorithm of the low voltage operation cache memory of the present invention, when there are M invalid cache lines that are not used, the LRU tree bit of the cache line in which the cache hit has occurred is set to M, and other cache lines to be used The LRU tree bits are incremented by 1 sequentially from M + 1 according to the order before the cache miss occurred.

例えば、4ウェイ・セットアソシアティブ方式のキャッシュメモリにおいて、あるインデックスに無効キャッシュラインが1個存在する場合、無効キャッシュラインのLRUツリービットは上述の通り0(MRU)に固定し、或いは、無効キャッシュラインのLRUツリービットをキャッシュウェイの番号順に0(MRU),1に固定し、キャッシュヒットが起きたキャッシュラインのLRUツリービットを1とし、他の使用するキャッシュラインのLRUツリービットを、キャッシュミスが起きる以前の順番に従って、それぞれ2,3にする。   For example, in a 4-way set associative cache memory, if there is one invalid cache line in a certain index, the LRU tree bit of the invalid cache line is fixed to 0 (MRU) as described above, or the invalid cache line The LRU tree bits are fixed to 0 (MRU) and 1 in the order of the cache way number, the LRU tree bit of the cache line in which the cache hit occurs is set to 1, and the LRU tree bit of the other cache line to be used is set to the cache miss. According to the order before waking up, make it a few respectively.

また、例えば、4ウェイ・セットアソシアティブ方式のキャッシュメモリにおいて、あるインデックスに無効キャッシュラインが2個存在する場合、無効キャッシュラインのLRUツリービットは上述の通りMRU状態(例えば、0)に固定し、キャッシュヒットが起きたキャッシュラインのLRUツリービットを2とし、他の使用するキャッシュラインのLRUツリービットを3にする。   Also, for example, in a 4-way set associative cache memory, when there are two invalid cache lines in a certain index, the LRU tree bit of the invalid cache line is fixed to the MRU state (for example, 0) as described above. The LRU tree bit of the cache line in which the cache hit has occurred is set to 2, and the LRU tree bit of the other cache line to be used is set to 3.

本発明の低電圧動作キャッシュメモリによれば、故障SRAMセルを含むSRAMブロック(故障SRAMブロック)を単に無効にするのではなく、故障SRAMブロックを高信頼モードに切り替え、故障SRAMブロックを動作マージンが拡大された元の半分のキャッシュラインを有するSRAMブロックに再構成できる。
また、本発明の低電圧動作キャッシュメモリによれば、故障SRAMブロックが存在した場合でも、連想度が2以上で、適切なキャッシュ動作を行うことができる。
すなわち、本発明の低電圧動作キャッシュメモリによれば、特定のインデックスにおいてデータを割り当てるキャッシュラインが存在しなくなるという問題を解決すると共に、キャッシュメモリ全体の動作電圧を効果的に低減できる。
According to the low voltage operation cache memory of the present invention, instead of simply invalidating the SRAM block including the failed SRAM cell (failed SRAM block), the failed SRAM block is switched to the high-reliability mode, and the failed SRAM block has an operation margin. It can be reconfigured into an SRAM block with the original half cache line expanded.
Further, according to the low voltage operation cache memory of the present invention, even when there is a failure SRAM block, the association degree is 2 or more, and an appropriate cache operation can be performed.
That is, according to the low voltage operation cache memory of the present invention, it is possible to solve the problem that there is no cache line for allocating data at a specific index, and to effectively reduce the operation voltage of the entire cache memory.

4ウェイ・セットアソシアティブ方式のキャッシュメモリの回路構成図4-way set associative cache memory circuit diagram 4ウェイ・セットアソシアティブ方式のキャッシュメモリのデータ構造図Data structure diagram of 4-way set associative cache memory 従来の問題点の説明図Illustration of conventional problems メモリセルのビット信頼性を向上するメモリセルペアの回路構成図Circuit configuration diagram of memory cell pair to improve bit reliability of memory cell 従来の問題に関してメモリセルペアを使用した場合の説明図Explanatory diagram of using memory cell pairs for conventional problems 実施例1のセットアソシアティブ方式のキャッシュメモリのデータ構造図Data structure diagram of cache memory of set associative method of embodiment 1 実施例1のセットアソシアティブ方式のキャッシュメモリのキャッシュラインの選定パターン例Example of selection pattern of cache line of set associative cache memory of embodiment 1 偶数番号のキャッシュウェイのメモリセルブロックの場合には偶数インデックスのキャッシュラインが割り当てられ、奇数番号のキャッシュウェイのメモリセルブロックの場合には奇数インデックスのキャッシュラインが割り当てられる様子を示した回路図A circuit diagram showing that even-numbered cache way memory cell blocks are assigned even-numbered cache lines and odd-numbered cache way memory cell blocks are assigned odd-indexed cache lines. 8ウェイ・セットアソシアティブ方式のキャッシュメモリのデータ構造図Data structure diagram of 8-way set associative cache memory キャッシュラインの状態ビットの説明図Explanation of cache line status bits キャッシュメモリのブロック図Cache memory block diagram 実施例1のセットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズムの説明図(キャッシュミスが生じたケース)Explanatory drawing of the LRU replacement algorithm of the set associative cache memory of Embodiment 1 (case where a cache miss occurs) 実施例1のセットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズムの説明図(キャッシュヒットが生じたケース)Explanatory drawing of the LRU replacement algorithm of the set associative cache memory of the first embodiment (case where a cache hit occurs) SRAMブロックにおける最低動作電圧実測結果グラフMinimum operating voltage measurement result graph in SRAM block 8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズム(通常モードから高信頼モードへ切替)の説明図(1)Explanatory diagram of LRU replacement algorithm (switching from normal mode to high reliability mode) for 8-way set associative cache memory (1) 8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズム(通常モードから高信頼モードへ切替)の説明図(2)Explanatory diagram of LRU replacement algorithm (switching from normal mode to high reliability mode) for 8-way set associative cache memory (2) 8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズム(高信頼モードから通常モードへ切替)の説明図(1)Explanatory diagram of LRU replacement algorithm (switch from high reliability mode to normal mode) for 8-way set associative cache memory (1) 8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズム(高信頼モードから通常モードへ切替)の説明図(2)Explanatory diagram of LRU replacement algorithm (switch from high reliability mode to normal mode) for 8-way set associative cache memory (2) 8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズム(キャッシュミス)の説明図(1)Explanatory diagram of LRU replacement algorithm (cache miss) for 8-way set associative cache memory (1) 8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズム(キャッシュミス)の説明図(2)Explanatory diagram of LRU replacement algorithm (cache miss) for 8-way set associative cache memory (2) 8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズム(キャッシュヒット)の説明図(1)Explanatory diagram of LRU replacement algorithm (cache hit) for 8-way set associative cache memory (1) 8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズム(キャッシュヒット)の説明図(2)Explanatory diagram of LRU replacement algorithm (cache hit) for 8-way set associative cache memory (2) 8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズム(無効キャッシュラインが複数の場合のキャッシュミス)の説明図(1)Explanatory diagram of LRU replacement algorithm (cache miss when there are multiple invalid cache lines) for 8-way set associative cache memory (1) 8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズム(無効キャッシュラインが複数の場合のキャッシュミス)の説明図(2)Explanatory drawing of the LRU replacement algorithm (cache miss when there are multiple invalid cache lines) for the 8-way set associative cache memory (2) 8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズム(無効キャッシュラインが複数の場合のキャッシュヒット)の説明図(1)Explanatory diagram of LRU replacement algorithm (cache hit when there are multiple invalid cache lines) for 8-way set associative cache memory (1) 8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズム(無効キャッシュラインが複数の場合のキャッシュヒット)の説明図(2)Explanatory diagram of LRU replacement algorithm (cache hit when there are multiple invalid cache lines) for the 8-way set associative cache memory (2) 8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズム(無効キャッシュラインが複数の場合のキャッシュミス)の説明図(3)Explanatory diagram of LRU replacement algorithm (cache miss when there are multiple invalid cache lines) for 8-way set associative cache memory (3) 8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズム(無効キャッシュラインが複数の場合のキャッシュミス)の説明図(4)Explanatory drawing of LRU replacement algorithm (cache miss when there are multiple invalid cache lines) for cache memory of 8-way set associative method (4) 8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズム(無効キャッシュラインが複数の場合のキャッシュヒット)の説明図(3)Explanatory diagram of LRU replacement algorithm (cache hit when there are multiple invalid cache lines) for 8-way set associative cache memory (3) 8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズム(無効キャッシュラインが複数の場合のキャッシュヒット)の説明図(4)Explanatory diagram of LRU replacement algorithm (cache hit when there are multiple invalid cache lines) for 8-way set associative cache memory (4)

以下、本発明の実施形態について、図面を参照しながら詳細に説明していく。なお、本発明の範囲は、以下の実施例や図示例に限定されるものではなく、幾多の変更及び変形が可能である。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The scope of the present invention is not limited to the following examples and illustrated examples, and many changes and modifications can be made.

図6は、実施例1の4ウェイ・セットアソシアティブ方式のキャッシュメモリのデータ構造図を示している。
各ウェイは、4つのSRAMブロックで構成されている。また、各SRAMブロックの個々のメモリセルは、上下に隣接したメモリセルペアとなっており、図4に示すように、6トランジスタで構成される1ビットのメモリセルペア(MC01,MC10)のデータ保持ノード間に、モード制御スイッチ部として1対のP型MOSトランジスタ(M20,M21)と、このP型MOSトランジスタの導通を制御する1本のモード制御ライン(/CTRL)とが設けられている。そして、上下に隣接したメモリセルペアは、通常モードと動作マージンが拡大される高信頼モードの2つのモードを実現する。
通常モードは、1ビットが1個のメモリセル(MC01、或いは、MC10)で構成される。一方、高信頼モードは、1ビットが2個のメモリセルのペア(MC01,MC10)で構成される。2つの動作モードの切り替えは、メモリセルのペア(MC01,MC10)の間にあるP型MOSトランジスタの導通を制御する1本のモード制御ライン(/CTRL)で行う。
このようなメモリセルペアをマトリックス状に配置したSRAMブロックによって、ウェイを構成し、図6に示すようにキャッシュメモリのデータ構造になっている。
FIG. 6 illustrates a data structure diagram of the cache memory of the 4-way set associative method according to the first embodiment.
Each way is composed of four SRAM blocks. In addition, each memory cell of each SRAM block is a memory cell pair adjacent to each other in the vertical direction. As shown in FIG. 4, data of a 1-bit memory cell pair (MC01, MC10) composed of 6 transistors is used. A pair of P-type MOS transistors (M20, M21) and a mode control line (/ CTRL) for controlling conduction of the P-type MOS transistor are provided between the holding nodes as a mode control switch unit. . The memory cell pair adjacent to the upper and lower sides realizes two modes, a normal mode and a high reliability mode in which an operation margin is expanded.
In the normal mode, one bit is composed of one memory cell (MC01 or MC10). On the other hand, the high-reliability mode is composed of a pair of memory cells (MC01, MC10) in which one bit is two. Switching between the two operation modes is performed by one mode control line (/ CTRL) for controlling the conduction of the P-type MOS transistor between the pair of memory cells (MC01, MC10).
A way is constituted by SRAM blocks in which such memory cell pairs are arranged in a matrix, and has a data structure of a cache memory as shown in FIG.

図6に示すデータ構造図では、図2のデータ構造で、ウェイ0の1段目とウェイ1の1段目,3段目とウェイ3の4段目のそれぞれのSRAMブロックに故障(defect)が生じた際に、ウェイ0の1段目とウェイ1の1段目,3段目とウェイ3の4段目のそれぞれの故障SRAMブロックは、動作マージンが拡大される高信頼モードに切り替わる。その際、どのメモリセルに故障が生じたかは探索とせず、故障SRAMブロック全体が高信頼モードになる。高信頼モードになった故障SRAMブロックでは、動作マージンが拡大された半分のキャッシュラインが生成できる。そのため、故障SRAMブロックを単にキャッシュ動作から除外するのではなく、故障SRAMブロックを使用し続けることが可能になる。   In the data structure diagram shown in FIG. 6, in the data structure of FIG. 2, each SRAM block in the first stage of way 0, the first stage of way 1, the third stage, and the fourth stage of way 3 is defective. When this occurs, the failed SRAM blocks in the first stage of way 0, the first stage of way 1, the third stage, and the fourth stage of way 3 are switched to the high reliability mode in which the operation margin is expanded. At that time, it is not searched for which memory cell has failed, and the entire failed SRAM block is in the high reliability mode. In a failed SRAM block that has entered the high-reliability mode, it is possible to generate a half cache line with an expanded operation margin. Therefore, it is possible to continue using the failed SRAM block instead of simply excluding the failed SRAM block from the cache operation.

従って、故障SRAMブロックを単に動作から除外する場合と比べて、平均連想度が向上する。これについて詳細に述べる。図2のデータ構造の場合、インデックス0〜7について、それぞれ故障していないSRAMブロック数は、3,3,4,4,3,4,3,4である。ここで、故障SRAMブロックを単にキャッシュ動作から除外すると、インデックス0〜7について、故障していないSRAMブロック数は、2,2,4,4,3,3,3,3になる。従って、キャッシュメモリ全体の平均連想度は(2+2+4+4+3+3+3+3)÷8=3になる。   Therefore, the average association degree is improved as compared with the case where the failed SRAM block is simply excluded from the operation. This will be described in detail. In the case of the data structure shown in FIG. 2, the number of SRAM blocks that have not failed for indexes 0 to 7 is 3, 3, 4, 4, 3, 4, 3, and 4, respectively. Here, if the failed SRAM block is simply excluded from the cache operation, the number of non-failed SRAM blocks for indexes 0 to 7 is 2, 2, 4, 4, 3, 3, 3, 3. Therefore, the average association degree of the entire cache memory is (2 + 2 + 4 + 4 + 3 + 3 + 3 + 3) ÷ 8 = 3.

一方、図6のデータ構造図の場合、インデックス0〜7について、それぞれ故障していないSRAMブロック数は、3,3,4,4,3,4,3,4である。図6の場合、故障SRAMブロックを高信頼モードに切り替えて、動作マージンを拡大してそのままキャッシュ動作を継続するので、インデックス0〜7について、故障していないSRAMブロック数は、3,3,4,4,3,4,3,4になる。従って、キャッシュメモリ全体の平均連想度は(3+3+4+4+3+4+3+4)÷8=3.5に向上される。   On the other hand, in the case of the data structure diagram of FIG. 6, the number of SRAM blocks that have not failed for indexes 0 to 7 are 3, 3, 4, 4, 3, 4, 3, and 4, respectively. In the case of FIG. 6, since the failed SRAM block is switched to the high reliability mode and the operation margin is expanded and the cache operation is continued as it is, the number of non-failed SRAM blocks for indexes 0 to 7 is 3, 3, 4 , 4, 3, 4, 3 and 4. Therefore, the average association degree of the entire cache memory is improved to (3 + 3 + 4 + 4 + 3 + 4 + 3 + 4) ÷ 8 = 3.5.

図7は、実施例1のセットアソシアティブ方式のキャッシュメモリのキャッシュラインの選定パターン例を示している。図7(A)は、隣接する2つキャッシュラインのインデックスをN,N+1とした場合に、偶数番号のキャッシュウェイ(ウェイ0,2,・・・,6)のメモリセルブロックの場合にはインデックス番号Nのキャッシュラインが割り当てられ(ENABLE
CACHE LINEを割り当て)、奇数番号のキャッシュウェイ(ウェイ1,3,・・・,7)のメモリセルブロックの場合にはインデックス番号N+1のインデックスのキャッシュラインが割り当てられる選定パターンを示している。例えば、Nが偶数の場合、偶数番号のキャッシュウェイのメモリセルブロックの場合には偶数インデックスのキャッシュラインが割り当てられ、奇数番号のキャッシュウェイのメモリセルブロックの場合には奇数インデックスのキャッシュラインが割り当てられる。また、Nが奇数の場合、偶数番号のキャッシュウェイのメモリセルブロックの場合には奇数インデックスのキャッシュラインが割り当てられ、奇数番号のキャッシュウェイのメモリセルブロックの場合には偶数インデックスのキャッシュラインが割り当てられる。
FIG. 7 illustrates an example of a cache line selection pattern of the set associative cache memory according to the first embodiment. FIG. 7A shows an index in the case of memory cell blocks of even-numbered cache ways (way 0, 2,..., 6) when the indexes of two adjacent cache lines are N and N + 1. Number N cache line is allocated (ENABLE
CACHE LINE is assigned), and in the case of an odd-numbered cache way (way 1, 3,..., 7) memory cell block, a selection pattern in which an index cache line with index number N + 1 is assigned is shown. For example, if N is an even number, an even-numbered cache way memory cell block is assigned an even-numbered cache line, and an odd-numbered cache way memory cell block is assigned an odd-indexed cache line. It is done. When N is an odd number, an odd-numbered cache way memory cell block is assigned an odd-numbered cache line, and an odd-numbered cache way memory cell block is assigned an even-numbered cache line. It is done.

また、図7(B)は、隣接する2つキャッシュラインのインデックスをN,N+1とした場合に、キャッシュウェイ(ウェイ0,1,6,7)のメモリセルブロックの場合にはインデックス番号Nのキャッシュラインが割り当てられ(ENABLE
CACHE LINEを割り当て)、その他のキャッシュウェイ(ウェイ2,3,4,5)のメモリセルブロックの場合にはインデックス番号N+1のインデックスのキャッシュラインが割り当てられる選定パターンを示している。
FIG. 7B shows an index number N in the case of the memory cell block of the cache way (way 0, 1, 6, 7) when the indexes of two adjacent cache lines are N and N + 1. A cache line is assigned (ENABLE
In the case of memory cell blocks of other cache ways (way 2, 3, 4, 5), a selection pattern in which an index cache line of index number N + 1 is assigned is shown.

また、図7(C)は、隣接する2つキャッシュラインのインデックスをN,N+1とした場合に、キャッシュウェイ(ウェイ0,1,6,7)のメモリセルブロックの場合にはインデックス番号N+1のキャッシュラインが割り当てられ(ENABLE
CACHE LINEを割り当て)、その他のキャッシュウェイ(ウェイ2,3,4,5)のメモリセルブロックの場合にはインデックス番号Nのインデックスのキャッシュラインが割り当てられる選定パターンを示している。
In FIG. 7C, when the indexes of two adjacent cache lines are N and N + 1, the memory cell block of the cache way (way 0, 1, 6, 7) has the index number N + 1. A cache line is assigned (ENABLE
In the case of memory cell blocks of other cache ways (way 2, 3, 4, 5), a selection pattern in which an index cache line of index number N is assigned is shown.

このように、故障SRAMブロックにおいて、高信頼モードに切り替えて、隣接する2つのキャッシュラインのいずれかを使用する際に、キャッシュメモリの全てのキャッシュインデックスに、キャッシュウェイの個数の半分の連想度以上でのキャッシュ動作が可能となるようにキャッシュラインの割り当てを行う。   As described above, in the failed SRAM block, when switching to the high reliability mode and using one of the two adjacent cache lines, all cache indexes of the cache memory have an association degree equal to or more than half the number of cache ways. The cache line is allocated so that the cache operation can be performed.

図8は、図7(A)の選定パターンの回路図であり、偶数番号のキャッシュウェイのメモリセルブロックの場合にはインデックス番号N,N+2,・・・,N+62のキャッシュラインが割り当てられ、奇数番号のキャッシュウェイのメモリセルブロックの場合にはインデックス番号N+1,N+3,・・・,N+63のキャッシュラインが割り当てられる様子を示した回路図を示している。図8(1)は、偶数番号のキャッシュウェイのメモリセルブロックのメモリセル回路構造であり、上下に隣接するメモリセルペアの下側のメモリセルが無効とされ(DISABLE)、インデックス番号N,N+2,・・・,N+62のキャッシュラインが割り当てられている。図8(2)は、奇数番号のキャッシュウェイのメモリセルブロックのメモリセル回路構造であり、上下に隣接するメモリセルペアの上側のメモリセルが無効とされ(DISABLE)、インデックス番号N+1,N+3,・・・,N+63のキャッシュラインが割り当てられている。   FIG. 8 is a circuit diagram of the selection pattern of FIG. 7A. In the case of even-numbered cache way memory cell blocks, cache lines with index numbers N, N + 2,. In the case of the memory cell block of the numbered cache way, a circuit diagram showing how cache lines with index numbers N + 1, N + 3,..., N + 63 are allocated is shown. FIG. 8A shows the memory cell circuit structure of the memory cell block of the even-numbered cache way, in which the lower memory cells in the upper and lower adjacent memory cell pairs are invalidated (DISABLE), and the index numbers N, N + 2 ,..., N + 62 cache lines are allocated. FIG. 8 (2) shows a memory cell circuit structure of a memory cell block of an odd-numbered cache way, in which the upper memory cell of the upper and lower adjacent memory cell pairs is invalidated (DISABLE), and index numbers N + 1, N + 3, ..., N + 63 cache lines are allocated.

図9は、8ウェイ・セットアソシアティブ方式のキャッシュメモリのデータ構造図である。各ウェイは16KbitのSRAMブロックを4個備え、キャッシュメモリ全体で32個のSRAMブロックを備えた512Kbitの8ウェイ・セットアソシアティブ方式のキャッシュメモリである。
奇数番号のキャッシュウェイのメモリセルブロックの場合には奇数インデックスのキャッシュラインが割り当てられるとする(偶数インデックスのキャッシュラインは無効)。
図9に示すように、ウェイ1の2段目のSRAMブロックが故障ブロックであると、高信頼モードに切り替えた場合に、偶数インデックスのキャッシュラインは無効となり、奇数インデックス(インデックス65,67,・・・,125,127)のキャッシュラインのみ割り当てられる。その結果、インデックス番号64〜127の連想度は、7,8,7,8,・・・,7,8となる。
FIG. 9 is a data structure diagram of an 8-way set associative cache memory. Each way is a 512 Kbit 8-way set associative cache memory having four 16 Kbit SRAM blocks and 32 SRAM blocks as a whole.
In the case of an odd-numbered cache way memory cell block, an odd index cache line is assigned (an even index cache line is invalid).
As shown in FIG. 9, if the SRAM block at the second stage of way 1 is a failure block, the cache line of the even index becomes invalid when switching to the high reliability mode, and the odd index (index 65, 67,. .., 125, 127) are only allocated. As a result, the association degrees of the index numbers 64 to 127 are 7, 8, 7, 8,.

図10は、キャッシュラインの状態ビットの説明図である。故障SRAMブロックにおいて、高信頼モード時に、隣接する2つのキャッシュラインのいずれを使用するかの識別情報として、使用しない無効状態(INVALID)のキャッシュラインのキャッシュライン状態ビットを{Valid bit,Dirty bit}={0,1}に設定する。
このように、無効キャッシュラインは、キャッシュの状態ビットの性質を利用することで容易に判別することが可能である。
一般的なWrite−backキャッシュメモリにおいて{Valid bit,Dirty bit}={0,1}の状態は取り得ない。よって、上記のように、無効キャッシュラインのValid bit,Dirty bitをそれぞれ0,1にして、無効キャッシュラインを判別することに利用する。その他のキャッシュライン状態(EMPTY,CLEAN,DIRTY)は、予め使用されているものであり、本発明では特に変更しない。
FIG. 10 is an explanatory diagram of the status bits of the cache line. In the failed SRAM block, in the high-reliability mode, {Valid bit, Dirty bit} indicates the cache line state bits of the invalid state (INVALID) cache line that is not used as identification information for using which of the two adjacent cache lines is used. = Set to {0,1}.
As described above, the invalid cache line can be easily determined by using the property of the state bit of the cache.
In a general write-back cache memory, the state of {Valid bit, Dirty bit} = {0, 1} cannot be taken. Therefore, as described above, the valid bit and dirty bit of the invalid cache line are set to 0 and 1, respectively, and used to determine the invalid cache line. Other cache line states (EMPTY, CLEAN, DIRTY) are used in advance and are not particularly changed in the present invention.

図11は、キャッシュメモリのブロック図である。図11に示すキャッシュメモリは、64KBの8ウェイ・セットアソシアティブ方式のキャッシュメモリ(32バイトキャッシュライン)であり、データアレーを4つのSRAMバンクで構成している。図に示すように、データアレーに合わせてタグアレーも4つのSRAMブロックで構成している。データアレーとタグアレーのSRAMセルとして、図4に示すような、6トランジスタで構成される1ビットのメモリセルペア(MC01,MC10)のデータ保持ノード間に、モード制御スイッチ部として1対のP型MOSトランジスタ(M20,M21)と、このP型MOSトランジスタの導通を制御する1本のモード制御ライン(/CTRL)とが設けられているセルを用いる。そして、上下に隣接したメモリセルペアは、通常モードと動作マージンが拡大される高信頼モードの2つのモードを実現する。SRAMブロック単位で通常モードと高信頼モードの2つのモードの切替制御を行えるようにする。キャッシュステータスRAMは、1つのブロックの6トランジスタで構成される1ビットのメモリセルで構成する。キャッシュステータスRAMには、一般的なキャッシュと同様に、VALID,DIRTY,キャッシュのブロック置換アルゴリズム情報(LRUなど)などが格納されている。   FIG. 11 is a block diagram of the cache memory. The cache memory shown in FIG. 11 is a 64 KB 8-way set associative cache memory (32-byte cache line), and a data array is composed of four SRAM banks. As shown in the figure, the tag array is composed of four SRAM blocks in accordance with the data array. As a data array and tag array SRAM cell, as shown in FIG. 4, a pair of P-type as a mode control switch unit is provided between data holding nodes of a 1-bit memory cell pair (MC01, MC10) composed of 6 transistors. A cell provided with MOS transistors (M20, M21) and one mode control line (/ CTRL) for controlling the conduction of the P-type MOS transistor is used. The memory cell pair adjacent to the upper and lower sides realizes two modes, a normal mode and a high reliability mode in which an operation margin is expanded. Switching control between the normal mode and the high-reliability mode can be performed in units of SRAM blocks. The cache status RAM is composed of 1-bit memory cells composed of 6 transistors in one block. The cache status RAM stores VALID, DIRTY, cache block replacement algorithm information (such as LRU), and the like, as in a general cache.

次に、本発明のキャッシュメモリのLRU(Least Recently Used)置換アルゴリズムについて説明する。
図12は、実施例1の4ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズムの説明図(キャッシュミスが生じたケース)である。図12(1)は従来のLRU置換アルゴリズムによるキャッシュ動作の一例を示しており、図12(2)が本発明のキャッシュメモリに適用するように改良されたLRU置換アルゴリズムによるキャッシュ動作の一例を示している。説明を簡単にするため、ウェイを構成するいずれかのSRAMブロックが高信頼モードに切り替わるという状態を、図12のようにウェイが高信頼モードに切り替わったように図示する。
Next, an LRU (Least Recently Used) replacement algorithm for the cache memory of the present invention will be described.
FIG. 12 is an explanatory diagram of a 4-way set associative cache memory LRU replacement algorithm according to the first embodiment (a case where a cache miss occurs). FIG. 12 (1) shows an example of the cache operation by the conventional LRU replacement algorithm, and FIG. 12 (2) shows an example of the cache operation by the LRU replacement algorithm improved so as to be applied to the cache memory of the present invention. ing. In order to simplify the description, a state in which any SRAM block constituting the way is switched to the high reliability mode is illustrated as if the way has been switched to the high reliability mode as shown in FIG.

まず、図12(1)の従来のLRU置換アルゴリズムによるキャッシュ動作を説明する。4つのキャッシュウェイ(WAY0〜3)のLRUツリービットが、ある順番になっているとして、キャッシュウェイ2(WAY2)に高信頼モードを適用する。無効キャッシュラインをキャッシュ動作から外すために、高信頼モードで動作するSRAMブロックにおいて、論理上で無効化されたインデックスのLRU状態をMRU(Most
Recently Used)、すなわちLRUツリービットを0に固定する。これにより、無効キャッシュラインにデータが割り当てられることを避ける。
従来のLRU置換アルゴリズムでは、キャッシュウェイ2が論理上で無効化されている状態で、キャッシュミスが起きた場合、LRUツリー上のLRU(LRUツリービットが3)のキャッシュライン(キャッシュウェイ0)に新しいデータを割り当て、そのキャッシュラインをMRU(LRUツリービットが0)とする。他のキャッシュラインのLRUツリービットをそれぞれ1インクリメントする(WAY1:2−>3,WAY2:0−>1,WAY3:1−>2)。
First, the cache operation according to the conventional LRU replacement algorithm of FIG. The high-reliability mode is applied to the cache way 2 (WAY 2) on the assumption that the LRU tree bits of the four cache ways (WAY 0 to 3) are in a certain order. In order to remove the invalid cache line from the cache operation, in the SRAM block operating in the high reliability mode, the LRU state of the logically invalid index is set to MRU (Most
Recently Used), that is, fix the LRU tree bit to 0. This avoids data being assigned to invalid cache lines.
In the conventional LRU replacement algorithm, when a cache miss occurs while the cache way 2 is logically invalidated, the cache line (cache way 0) of the LRU (LRU tree bit is 3) on the LRU tree is generated. New data is allocated, and the cache line is set to MRU (LRU tree bit is 0). The LRU tree bits of the other cache lines are each incremented by 1 (WAY1: 2-> 3, WAY2: 0-> 1, WAY3: 1-> 2).

次に、図12(2)の改良されたLRU置換アルゴリズムによるキャッシュ動作を説明する。改良されたLRU置換アルゴリズムでは、キャッシュミスが起きた場合、LRU状態のキャッシュラインに新しいデータを割り当てる際に、もし、高信頼モードが適用された無効キャッシュラインがN個存在すれば、新しいデータを割り当てたキャッシュラインのLRUツリービットをMRU+N、すなわち、図12のように高信頼モードが適用された無効キャッシュラインが1個存在するならば、新しいデータを割り当てたキャッシュライン(キャッシュウェイ0)のLRUツリービットを0+1=1とする。無効でない他の有効なキャッシュラインのLRUツリービットをそれぞれ1インクリメントする(WAY1:2−>3,WAY3:1−>2)。
なお、無効キャッシュラインが存在しなければ、従来のLRU置換アルゴリズムと同じ動作をする。
Next, the cache operation according to the improved LRU replacement algorithm of FIG. In the improved LRU replacement algorithm, when a cache miss occurs, when assigning new data to a cache line in the LRU state, if there are N invalid cache lines to which the high reliability mode is applied, the new data is transferred. The LRU tree bit of the allocated cache line is MRU + N, that is, if there is one invalid cache line to which the high-reliability mode is applied as shown in FIG. 12, the LRU of the cache line (cache way 0) to which new data is allocated The tree bit is set to 0 + 1 = 1. The LRU tree bits of other valid cache lines that are not invalid are each incremented by 1 (WAY 1: 2-> 3, WAY 3: 1-> 2).
If there is no invalid cache line, the same operation as the conventional LRU replacement algorithm is performed.

また、図13は、実施例1の4ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズムの説明図(キャッシュヒットが生じたケース)である。図13(1)は従来のLRU置換アルゴリズムによるキャッシュ動作の一例を示しており、図13(2)が本発明のキャッシュメモリに適用するように改良されたLRU置換アルゴリズムによるキャッシュ動作の一例を示している。図13においても、図12と同様に、説明を簡単にするため、ウェイを構成するいずれかのSRAMブロックが高信頼モードに切り替わるという状態を、ウェイが高信頼モードに切り替わったように図示する。   FIG. 13 is an explanatory diagram of an LRU replacement algorithm for a 4-way set associative cache memory according to the first embodiment (a case where a cache hit occurs). FIG. 13A shows an example of the cache operation by the conventional LRU replacement algorithm, and FIG. 13B shows an example of the cache operation by the LRU replacement algorithm improved to be applied to the cache memory of the present invention. ing. In FIG. 13, as in FIG. 12, in order to simplify the description, a state in which any SRAM block constituting the way is switched to the high reliability mode is illustrated as if the way has been switched to the high reliability mode.

まず、図13(1)の従来のLRU置換アルゴリズムによるキャッシュ動作を説明する。4つのキャッシュウェイ(WAY0〜3)のLRUツリービットが、ある順番になっているとして、キャッシュウェイ2(WAY2)に高信頼モードを適用する。無効キャッシュラインをキャッシュ動作から外すために、高信頼モードで動作するSRAMブロックにおいて、論理上で無効化されたインデックスのLRU状態をMRU(Most Recently Used)、すなわちLRUツリービットを0に固定する。これにより、無効キャッシュラインにデータが割り当てられることを避ける。   First, the cache operation according to the conventional LRU replacement algorithm of FIG. The high-reliability mode is applied to the cache way 2 (WAY 2) on the assumption that the LRU tree bits of the four cache ways (WAY 0 to 3) are in a certain order. In order to remove the invalid cache line from the cache operation, in the SRAM block operating in the high-reliability mode, the LRU state of the logically invalid index is fixed to MRU (Most Recently Used), that is, the LRU tree bit is set to 0. This avoids data being assigned to invalid cache lines.

従来のLRU置換アルゴリズムでは、キャッシュウェイ2が論理上で無効化されている状態で、キャッシュウェイ1でキャッシュヒットが起きた場合、キャッシュヒットが起きたキャッシュウェイ1のキャッシュラインをMRU(LRUツリービットが0)とする。他のキャッシュラインのうち、LRUツリービットの状態がキャッシュヒットしたキャッシュラインより小さいキャッシュラインのLRUツリービットを1インクリメントする。図13に示す例では、キャッシュウェイ1(LRUツリービットが2)よりLRUツリービットの値が小さい、キャッシュウェイ2(LRUツリービットが0),キャッシュウェイ3(LRUツリービットが1)のLRUツリービットを1インクリメントする。   In the conventional LRU replacement algorithm, when a cache hit occurs in the cache way 1 in a state where the cache way 2 is logically invalidated, the cache line of the cache way 1 in which the cache hit occurs is transferred to the MRU (LRU tree bit). Is 0). Among the other cache lines, the LRU tree bit of the cache line whose state of the LRU tree bit is smaller than the cache line hit by the cache hit is incremented by one. In the example shown in FIG. 13, the LRU tree of the cache way 2 (LRU tree bit is 0) and the cache way 3 (LRU tree bit is 1) whose LRU tree bit value is smaller than the cache way 1 (LRU tree bit is 2). Increment the bit by one.

次に、図13(2)の改良されたLRU置換アルゴリズムによるキャッシュ動作を説明する。改良されたLRU置換アルゴリズムでは、高信頼モードが適用された無効キャッシュラインがN個存在すれば、キャッシュウェイ1でキャッシュヒットが起きた場合、キャッシュヒットが起きたキャッシュウェイ1のLRUツリービットをMRU+N、すなわち、図13のように高信頼モードが適用された無効キャッシュラインが1個存在するならば、キャッシュヒットが起きたキャッシュウェイ1のLRUツリービットを0+1=1とする。無効でない他の有効なキャッシュライン以外で、LRUツリービットの状態がキャッシュヒットしたキャッシュライン1のLRUツリービットの状態(図13では2の状態)より小さいもののLRUツリービットを1インクリメントする。図13の例では、キャッシュウェイ3が、キャッシュライン1のLRUツリービットの状態より小さいもののLRUツリービットを有し、キャッシュウェイ3のLRUツリービットを1インクリメントする(WAY3:1−>2)。
なお、無効キャッシュラインが存在しなければ、従来のLRU置換アルゴリズムと同じ動作をする。
Next, the cache operation according to the improved LRU replacement algorithm of FIG. In the improved LRU replacement algorithm, if there are N invalid cache lines to which the high-reliability mode is applied, if a cache hit occurs in the cache way 1, the LRU tree bit of the cache way 1 in which the cache hit occurs is set to MRU + N That is, if there is one invalid cache line to which the high-reliability mode is applied as shown in FIG. 13, the LRU tree bit of the cache way 1 in which the cache hit occurs is set to 0 + 1 = 1. In addition to other valid cache lines that are not invalid, the LRU tree bits whose LRU tree bit state is smaller than the LRU tree bit state (state 2 in FIG. 13) of the cache line 1 that has a cache hit are incremented by one. In the example of FIG. 13, the cache way 3 has an LRU tree bit that is smaller than the state of the LRU tree bit of the cache line 1, and increments the LRU tree bit of the cache way 3 by 1 (WAY 3: 1-> 2).
If there is no invalid cache line, the same operation as the conventional LRU replacement algorithm is performed.

図14は、SRAMブロックにおける最低動作電圧実測結果グラフである。実測対象のキャッシュメモリは、65nmCMOSプロセスで試作した512Kbitの8ウェイ・セットアソシアティブ方式のキャッシュメモリである。32個の16KbitのSRAMブロックで構成され、各ウェイは4個のSRAMブロックから成る。
このキャッシュメモリは、高信頼モードで0.57(V)で動作可能であることがわかっている。従って、通常モードにおいて0.57(V)で動作できないSRAMブロックのみ高信頼モードを適用することで、全体の動作電圧を低減することができる。
図14のグラフにおいて、左側が通常モード、右側が高信頼モードの場合を示しており、それぞれ32個のSRAMブロック(0〜31)の動作電圧を実測している。通常モードでは、図中に丸印を付記した5つのSRAMブロック(6,8,16,25,28)に高信頼モードを適用することにより、0.65(V)から0.57(V)へと80(mV)の動作電圧の削減効果を得ることができる。この場合、16Kbitの5つのブロックにおいて、それぞれメモリ容量が半減することから、全体のメモリ容量は、16×5×0.5=40Kbit減少し、512−40=472Kbitになる。従って、キャッシュメモリの容量オーバヘッドは、40÷512×100=7.81(%)になる。
FIG. 14 is a graph of the minimum operating voltage measurement result in the SRAM block. The cache memory to be measured is a 512 Kbit 8-way set associative cache memory that was prototyped in a 65 nm CMOS process. It consists of 32 16Kbit SRAM blocks, and each way consists of 4 SRAM blocks.
It has been found that this cache memory can operate at 0.57 (V) in the high reliability mode. Therefore, the entire operating voltage can be reduced by applying the high reliability mode only to the SRAM block that cannot operate at 0.57 (V) in the normal mode.
In the graph of FIG. 14, the left side shows a normal mode and the right side shows a high reliability mode, and the operating voltages of 32 SRAM blocks (0 to 31) are measured. In the normal mode, 0.65 (V) to 0.57 (V) is obtained by applying the high reliability mode to the five SRAM blocks (6, 8, 16, 25, 28) marked with a circle in the figure. The effect of reducing the operating voltage of 80 (mV) can be obtained. In this case, since the memory capacity of each of the 5 blocks of 16 Kbits is halved, the total memory capacity is reduced by 16 × 5 × 0.5 = 40 Kbits to 512-40 = 472 Kbits. Therefore, the capacity overhead of the cache memory is 40 ÷ 512 × 100 = 7.81 (%).

次に、キャッシュメモリの面積オーバヘッドについて説明する。面積オーバヘッドの評価には、CACTI(詳細は、N. Muralimanohar, R. Balasubramonian,
and N. P. Jouppi, “CACTI
6.0,” Technical Report HPL-2009-85, Hewlett Packard Labs, 2009を参照。)を用いた。
本発明のキャッシュメモリに用いるメモリセルペア(14トランジスタで構成)を用いたSRAMセル(Proposed)の面積は、通常の6トランジスタで構成されるSRAMセルペア(6T
SRAM)の面積より11%大きい(詳細は、H. Fujiwara, S. Okumura, Y. Iguchi, H.
Noguchi, H. Kawaguchi and M. Yoshimoto, “A
7T/14T Dependable SRAM and Its Array Structure to Avoid Half Selection,” IEEE
International Conference on VLSI Design, pp. 295-300, 2009.を参照。)。
また、評価対象である、32バイトのキャッシュラインを持つ512Kbit(64KB)の8ウェイ・セットアソシアティブ方式の場合、タグアレーの容量は4.75KBと小さく、ばらつきの影響が比較的小さいと考えられることから、面積オーバヘッドの評価においてはSTATUS
RAMと同様に6トランジスタのSRAMで構成することにした。そして、タグアレーには、0.5(V)で動作可能な、最小面積より1.3倍大きい6トランジスタのSRAMを使用すると仮定した。
Next, the area overhead of the cache memory will be described. For the assessment of area overhead, CACTI (for details, see N. Muralimanohar, R. Balasubramonian,
and NP Jouppi, “CACTI
6.0, ”Technical Report HPL-2009-85, Hewlett Packard Labs, 2009).
The area of the SRAM cell (Proposed) using the memory cell pair (configured with 14 transistors) used in the cache memory of the present invention is equal to the SRAM cell pair (6T
11% larger than the area of SRAM) (For details, see H. Fujiwara, S. Okumura, Y. Iguchi, H.
Noguchi, H. Kawaguchi and M. Yoshimoto, “A
7T / 14T Dependable SRAM and Its Array Structure to Avoid Half Selection, ”IEEE
See International Conference on VLSI Design, pp. 295-300, 2009. ).
In the case of the 512 Kbit (64 KB) 8-way set associative method with a 32-byte cache line, which is the object of evaluation, the capacity of the tag array is as small as 4.75 KB, and the influence of variations is considered to be relatively small. STATUS in the assessment of area overhead
Like the RAM, it is composed of a 6-transistor SRAM. The tag array is assumed to use a 6-transistor SRAM that can operate at 0.5 (V) and is 1.3 times larger than the minimum area.

下記表1に、512Kbit(64KB)の8ウェイ・セットアソシアティブ方式のキャッシュメモリの面積オーバヘッドを見積もった結果を示す。65nmプロセスにおいて、本発明のキャッシュメモリは、5.22%の面積オーバヘッドであった。   Table 1 below shows the results of estimating the area overhead of a 512 Kbit (64 KB) 8-way set associative cache memory. In the 65 nm process, the cache memory of the present invention had an area overhead of 5.22%.

図15〜30を参照して、8ウェイ・セットアソシアティブ方式のキャッシュメモリについて、故障SRAMブロックが複数(M個)存在し、無効キャッシュラインが複数(M個)存在する場合について、例を挙げて説明する。
ここで、MRUを0,LRUを7とする。また、実施例1と同様、説明を簡単にするため、ウェイを構成するいずれかのSRAMブロックが高信頼モードに切り替わるという状態を、ウェイが高信頼モードに切り替わったように図示する。
図15は、オンラインで高信頼モードに切り替え、無効キャッシュラインがM個(M=3)存在する場合に、M個の無効キャッシュラインのLRU状態をMRU(=0)に設定する様子を示している。また、他の無効でないキャッシュラインは、LRUツリービットの順番に従って、M(=3)からN−1(=7)にする。ここで、Nはウェイ数の8である。
図15では、キャッシュウェイ2,4,6が、高信頼モードで動作するSRAMブロックであり、論理上で無効にしたインデックスのキャッシュラインである(M=3)。キャッシュウェイ2,4,6のLRU状態を全てMRU(=0)に固定し、他のキャッシュラインのLRU状態は、LRUツリービットの順番で3から7までとなる。
Referring to FIGS. 15 to 30, an example is given of an 8-way set associative cache memory in which there are a plurality (M) of failed SRAM blocks and a plurality (M) of invalid cache lines. explain.
Here, MRU is 0 and LRU is 7. Further, as in the first embodiment, for simplicity of explanation, a state in which any SRAM block constituting the way is switched to the high reliability mode is illustrated as if the way has been switched to the high reliability mode.
FIG. 15 shows a state in which the LRU state of M invalid cache lines is set to MRU (= 0) when switching to the high-reliability mode online and there are M invalid cache lines (M = 3). Yes. Further, other non-invalid cache lines are changed from M (= 3) to N-1 (= 7) according to the order of the LRU tree bits. Here, N is the number of ways.
In FIG. 15, cache ways 2, 4, and 6 are SRAM blocks that operate in the high-reliability mode, and are index cache lines that are logically invalidated (M = 3). The LRU states of the cache ways 2, 4 and 6 are all fixed at MRU (= 0), and the LRU states of the other cache lines are 3 to 7 in the order of the LRU tree bits.

また、図16は、オンラインで高信頼モードに切り替え、無効キャッシュラインがM個(M=3)存在する場合に、M個の無効キャッシュラインのLRU状態をMRU(=0)からウェイ番号順にM−1(=2)までに設定する。また、他の無効でないキャッシュラインは、LRUツリービットの順番に従って、M(=3)からN−1(=7)にする。ここで、Nはウェイ数の8である。
図16では、キャッシュウェイ2,4,6が、高信頼モードで動作するSRAMブロックであり、論理上で無効にしたインデックスのキャッシュラインである(M=3)。キャッシュウェイ2,4,6のLRU状態を順番に、MRU(=0),1,2に固定し、他のキャッシュラインのLRU状態は、LRUツリービットの順番で3から7までとなる。
Also, FIG. 16 shows that when switching to the high-reliability mode online and there are M invalid cache lines (M = 3), the MRU invalid cache line LRU states are changed from MRU (= 0) to M in order of way number. Set to -1 (= 2). Further, other non-invalid cache lines are changed from M (= 3) to N-1 (= 7) according to the order of the LRU tree bits. Here, N is the number of ways.
In FIG. 16, cache ways 2, 4, and 6 are SRAM blocks that operate in the high reliability mode, and are cache lines of indexes that are logically invalidated (M = 3). The LRU states of the cache ways 2, 4 and 6 are fixed to MRU (= 0), 1 and 2 in order, and the LRU states of the other cache lines are 3 to 7 in the order of the LRU tree bits.

例えば、プロセッサがDVS制御において、Low
voltage modeからHigh voltage modeへ切り替える場合、低電圧領域で故障し、高信頼モードで動作していたSRAMブロックを通常モードへ切り替える必要がある。その時、図16に示すように、高信頼モードで動作しているキャッシュウェイ2,4,6のLRU状態を順番に、MRU(=0),1,2に固定しておけば、LRUツリービットの再設定を行う必要がなく(図17を参照)、データアレーとタグアレーにおけるメモリセルペアのモード制御スイッチ部(PMOSスイッチ)をオフにするだけでよい。
For example, when the processor is in DVS control, Low
When switching from the voltage mode to the high voltage mode, it is necessary to switch the SRAM block that has failed in the low voltage region and operated in the high reliability mode to the normal mode. At that time, as shown in FIG. 16, if the LRU states of the cache ways 2, 4 and 6 operating in the high-reliability mode are fixed to MRU (= 0), 1 and 2 in order, the LRU tree bit (See FIG. 17), it is only necessary to turn off the mode control switch (PMOS switch) of the memory cell pair in the data array and the tag array.

一方、図15に示すように、高信頼モードで動作しているキャッシュウェイ2,4,6のLRU状態を全てMRU(=0)に固定した場合には、無効キャッシュラインのLRUツリービットが全てMRU(=0)になっているので、SRAMブロックを通常モードへ切り替える際には、キャッシュウェイ2,4,6のLRU状態を0,1,2というようにLRUツリービットの再設定を行う必要がある(図18を参照)。   On the other hand, as shown in FIG. 15, when all the LRU states of the cache ways 2, 4 and 6 operating in the high reliability mode are fixed to MRU (= 0), all the LRU tree bits of the invalid cache line are all Since it is MRU (= 0), when the SRAM block is switched to the normal mode, it is necessary to reset the LRU tree bits so that the LRU states of the cache ways 2, 4, 6 are 0, 1, 2, etc. (See FIG. 18).

次に、図19〜22を参照して、使用しない無効キャッシュラインが1つの場合の8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズムについて説明する。図19,20はキャッシュミスの説明図であり、図21,22はキャッシュヒットの説明図である。
図19〜22では、キャッシュウェイ2(WAY2)だけが高信頼モードとなり、使用しない無効キャッシュライン数が1つの場合を示している。
図19は、従来のLRU置換アルゴリズムを適用した場合を示しており、キャッシュミスが起きて、LRUツリービットでLRU(=7)のキャッシュウェイ1がデータ更新されてMRU(=0)となり、他のキャッシュウェイのLRUツリービットの状態が1インクリメントされた様子を示している。
Next, an LRU replacement algorithm for an 8-way set associative cache memory when one invalid cache line is not used will be described with reference to FIGS. 19 and 20 are explanatory diagrams of cache misses, and FIGS. 21 and 22 are explanatory diagrams of cache hits.
19 to 22 show a case where only the cache way 2 (WAY 2) is in the high-reliability mode and the number of invalid cache lines not used is one.
FIG. 19 shows a case where the conventional LRU replacement algorithm is applied. When a cache miss occurs, the cache way 1 of LRU (= 7) is updated with LRU tree bits to become MRU (= 0). This shows a state where the state of the LRU tree bit of the cache way is incremented by one.

一方、図20は、改良されたLRU置換アルゴリズムを適用した場合を示しており、キャッシュミスが起きて、LRUツリービットでLRU(=7)のキャッシュウェイ1がデータ更新されてMRU+1=1となり、他の有効なキャッシュウェイのLRUツリービットの状態が1インクリメントされた様子を示している。キャッシュウェイ2(WAY2)のLRUツリービットの状態は、MRU(=0)に固定されている。   On the other hand, FIG. 20 shows a case where the improved LRU replacement algorithm is applied. When a cache miss occurs, the LRU (= 7) cache way 1 is updated with LRU tree bits and MRU + 1 = 1. The state of the LRU tree bit state of another valid cache way is incremented by one. The state of the LRU tree bit of the cache way 2 (WAY 2) is fixed to MRU (= 0).

また、図21は、従来のLRU置換アルゴリズムを適用した場合を示しており、キャッシュウェイ3でキャッシュヒットが起きて、LRUツリービットの状態がMRU(=0)となり、キャッシュヒットが起きたキャッシュウェイ3のLRUツリービットの状態より小さい状態(0〜5)の他のキャッシュウェイのLRUツリービットの状態が1インクリメントされた様子を示している。   FIG. 21 shows a case where a conventional LRU replacement algorithm is applied. A cache hit occurs in the cache way 3, the state of the LRU tree bit becomes MRU (= 0), and the cache way in which the cache hit occurs The state of the LRU tree bits of the other cache ways (0 to 5) smaller than the state of 3 LRU tree bits is incremented by one.

一方、図22は、改良されたLRU置換アルゴリズムを適用した場合を示しており、キャッシュウェイ3でキャッシュヒットが起きて、LRUツリービットの状態がMRU+1=1となり、キャッシュヒットが起きたキャッシュウェイ3のLRUツリービットの状態より小さい状態で、かつ、LRUツリービットの状態がMRU(=0)の無効キャッシュラインでない他の有効なキャッシュウェイのLRUツリービットの状態が1インクリメントされた様子を示している。   On the other hand, FIG. 22 shows a case where an improved LRU replacement algorithm is applied. A cache hit occurs in the cache way 3, the state of the LRU tree bit becomes MRU + 1 = 1, and the cache way 3 in which the cache hit occurs The state of the LRU tree bits of other valid cache ways that are smaller than the state of the LRU tree bits and the state of the LRU tree bits is not the invalid cache line of the MRU (= 0) is incremented by one. Yes.

次に、図23〜26を参照して、使用しない無効キャッシュラインが3つの場合の8ウェイ・セットアソシアティブ方式のキャッシュメモリのLRU置換アルゴリズムについて説明する。図23,24はキャッシュミスの説明図であり、図25,26はキャッシュヒットの説明図である。
図23〜26では、3つのキャッシュウェイ2,4,6(WAY2、WAY4,WAY6)が高信頼モードとなり、使用しない無効キャッシュライン数が3つの場合を示している。
図23は、従来のLRU置換アルゴリズムを適用した場合を示しており、キャッシュミスが起きて、LRUツリービットでLRU(=7)のキャッシュウェイ1がデータ更新されてMRU(=0)となり、他のキャッシュウェイのLRUツリービットの状態が1インクリメントされた様子を示している。ここで、3つのキャッシュウェイ2,4,6(WAY2、WAY4,WAY6)のLRUツリービットの状態は、高信頼モードが切り替わった際に、全てMRU(=0)が設定されており、キャッシュミスが起きた際に1インクリメントされて全て1となっている。
Next, an LRU replacement algorithm for an 8-way set associative cache memory when there are three invalid cache lines not used will be described with reference to FIGS. 23 and 24 are explanatory diagrams of cache misses, and FIGS. 25 and 26 are explanatory diagrams of cache hits.
23 to 26 show a case where the three cache ways 2, 4, 6 (WAY 2, WAY 4, WAY 6) are in the high-reliability mode and the number of unused invalid cache lines is three.
FIG. 23 shows a case where the conventional LRU replacement algorithm is applied. When a cache miss occurs, the cache way 1 of LRU (= 7) is updated with LRU tree bits to become MRU (= 0). This shows a state where the state of the LRU tree bit of the cache way is incremented by one. Here, the LRU tree bit states of the three cache ways 2, 4, 6 (WAY2, WAY4, WAY6) are all set to MRU (= 0) when the high-reliability mode is switched. When this occurs, it is incremented by 1 and all become 1.

一方、図24は、改良されたLRU置換アルゴリズムを適用した場合を示しており、キャッシュミスが起きて、LRUツリービットでLRU(=7)のキャッシュウェイ1がデータ更新されてMRU+3(使用しない無効キャッシュライン数)=3となり、他の有効なキャッシュウェイのLRUツリービットの状態が1インクリメントされた様子を示している。3つのキャッシュウェイ2,4,6(WAY2、WAY4,WAY6)のLRUツリービットの状態は、MRU(=0)に固定されている。   On the other hand, FIG. 24 shows a case where the improved LRU replacement algorithm is applied. When a cache miss occurs, the LRU (= 7) cache way 1 is updated with LRU tree bits and MRU + 3 (invalid not used) (Number of cache lines) = 3, and the state of the LRU tree bit of another valid cache way is incremented by one. The state of the LRU tree bits of the three cache ways 2, 4, 6 (WAY2, WAY4, WAY6) is fixed to MRU (= 0).

また、図25は、従来のLRU置換アルゴリズムを適用した場合を示しており、キャッシュウェイ3でキャッシュヒットが起きて、LRUツリービットの状態がMRU(=0)となり、キャッシュヒットが起きたキャッシュウェイ3のLRUツリービットの状態より小さい状態(0〜5)の他のキャッシュウェイのLRUツリービットの状態が1インクリメントされた様子を示している。3つのキャッシュウェイ2,4,6(WAY2、WAY4,WAY6)のLRUツリービットの状態も1インクリメントされて全て1となっている。   FIG. 25 shows a case where the conventional LRU replacement algorithm is applied. A cache hit occurs in the cache way 3, the state of the LRU tree bit becomes MRU (= 0), and the cache way in which the cache hit occurs. The state of the LRU tree bits of the other cache ways (0 to 5) smaller than the state of 3 LRU tree bits is incremented by one. The states of the LRU tree bits of the three cache ways 2, 4, 6 (WAY2, WAY4, WAY6) are also incremented by 1 and all become 1.

一方、図26は、改良されたLRU置換アルゴリズムを適用した場合を示しており、キャッシュウェイ3でキャッシュヒットが起きて、LRUツリービットの状態がMRU+3=3となり、キャッシュヒットが起きたキャッシュウェイ3のLRUツリービットの状態より小さい状態で、かつ、LRUツリービットの状態がMRU(=0)の無効キャッシュラインでない他の有効なキャッシュウェイのLRUツリービットの状態が1インクリメントされた様子を示している。3つのキャッシュウェイ2,4,6(WAY2、WAY4,WAY6)のLRUツリービットの状態は、MRU(=0)に固定されている。   On the other hand, FIG. 26 shows a case where the improved LRU replacement algorithm is applied. A cache hit occurs in the cache way 3, the state of the LRU tree bit becomes MRU + 3 = 3, and the cache way 3 in which the cache hit occurs The state of the LRU tree bits of other valid cache ways that are smaller than the state of the LRU tree bits and the state of the LRU tree bits is not the invalid cache line of the MRU (= 0) is incremented by one. Yes. The state of the LRU tree bits of the three cache ways 2, 4, 6 (WAY2, WAY4, WAY6) is fixed to MRU (= 0).

次に、図27〜30を参照して、使用しない無効キャッシュラインが3つの場合の8ウェイ・セットアソシアティブ方式のキャッシュメモリの他のLRU置換アルゴリズムについて説明する。図27,28はキャッシュミスの説明図であり、図29,30はキャッシュヒットの説明図である。
図27〜30では、3つのキャッシュウェイ2,4,6(WAY2、WAY4,WAY6)が高信頼モードとなり、使用しない無効キャッシュライン数が3つの場合を示している。
図27は、従来のLRU置換アルゴリズムを適用した場合を示しており、キャッシュミスが起きて、LRUツリービットでLRU(=7)のキャッシュウェイ1がデータ更新されてMRU(=0)となり、他のキャッシュウェイのLRUツリービットの状態が1インクリメントされた様子を示している。ここで、3つのキャッシュウェイ2,4,6(WAY2、WAY4,WAY6)のLRUツリービットの状態は、高信頼モードが切り替わった際に、ウェイ番号の小さい順番から0,1,2と設定されており、キャッシュミスが起きた際に1インクリメントされてそれぞれ1,2,3となっている。
Next, another LRU replacement algorithm for an 8-way set associative cache memory when there are three invalid cache lines not used will be described with reference to FIGS. 27 and 28 are explanatory diagrams of cache misses, and FIGS. 29 and 30 are explanatory diagrams of cache hits.
27 to 30 show a case where the three cache ways 2, 4, 6 (WAY 2, WAY 4, WAY 6) are in the high-reliability mode and the number of unused invalid cache lines is three.
FIG. 27 shows a case where a conventional LRU replacement algorithm is applied. When a cache miss occurs, the cache way 1 of LRU (= 7) is updated with LRU tree bits to become MRU (= 0). This shows a state where the state of the LRU tree bit of the cache way is incremented by one. Here, the states of the LRU tree bits of the three cache ways 2, 4, 6 (WAY2, WAY4, WAY6) are set to 0, 1, 2 in order of increasing way number when the high-reliability mode is switched. When a cache miss occurs, it is incremented by 1 to 1, 2, and 3, respectively.

一方、図28は、改良されたLRU置換アルゴリズムを適用した場合を示しており、キャッシュミスが起きて、LRUツリービットでLRU(=7)のキャッシュウェイ1がデータ更新されてMRU+3(使用しない無効キャッシュライン数)=3となり、他の有効なキャッシュウェイのLRUツリービットの状態が1インクリメントされた様子を示している。ここで、3つのキャッシュウェイ2,4,6(WAY2、WAY4,WAY6)のLRUツリービットの状態は、高信頼モードが切り替わった際に、ウェイ番号の小さい順番から0,1,2と設定されたまま固定されている。
すなわち、使用しない無効キャッシュラインがM個存在する場合、M個の無効キャッシュラインのLRU状態は、MRU(=0)からウェイ番号順にM−1までに設定され、キャッシュミスが起きた際に割り当てた新しいデータのキャッシュラインのLRUツリービットをMとし、
他の使用するキャッシュラインのLRUツリービットを、キャッシュミスが起 きる以前の順番に従って、それぞれM+1から順に1インクリメントする。
On the other hand, FIG. 28 shows a case where the improved LRU replacement algorithm is applied. When a cache miss occurs, the cache way 1 of LRU (= 7) is updated with LRU tree bits and MRU + 3 (invalid not used) (Number of cache lines) = 3, and the state of the LRU tree bit of another valid cache way is incremented by one. Here, the states of the LRU tree bits of the three cache ways 2, 4, 6 (WAY2, WAY4, WAY6) are set to 0, 1, 2 in order of increasing way number when the high-reliability mode is switched. It is fixed as it is.
That is, when there are M invalid cache lines that are not used, the LRU states of the M invalid cache lines are set from MRU (= 0) to M-1 in order of way number, and assigned when a cache miss occurs. M is the LRU tree bit of the new data cache line,
The LRU tree bits of the other cache lines to be used are incremented by 1 in order from M + 1 according to the order before the cache miss occurred.

また、図29は、従来のLRU置換アルゴリズムを適用した場合を示しており、キャッシュウェイ3でキャッシュヒットが起きて、LRUツリービットの状態がMRU(=0)となり、キャッシュヒットが起きたキャッシュウェイ3のLRUツリービットの状態より小さい状態(0〜5)の他のキャッシュウェイのLRUツリービットの状態が1インクリメントされた様子を示している。3つのキャッシュウェイ2,4,6(WAY2、WAY4,WAY6)のLRUツリービットの状態も1インクリメントされて0,1,2から1,2,3となっている。   FIG. 29 shows a case where the conventional LRU replacement algorithm is applied. A cache hit occurs in cache way 3, the state of the LRU tree bit becomes MRU (= 0), and the cache way in which the cache hit occurs The state of the LRU tree bits of the other cache ways (0 to 5) smaller than the state of 3 LRU tree bits is incremented by one. The state of the LRU tree bits of the three cache ways 2, 4, 6 (WAY2, WAY4, WAY6) is also incremented by 1 from 0, 1, 2 to 1, 2, 3.

一方、図30は、改良されたLRU置換アルゴリズムを適用した場合を示しており、キャッシュウェイ3でキャッシュヒットが起きて、LRUツリービットの状態がMRU+3(使用しない無効キャッシュライン数)=3となり、キャッシュヒットが起きたキャッシュウェイ3のLRUツリービットの状態より小さい状態で、かつ、LRUツリービットの状態がMRU(=0)の無効キャッシュラインでない他の有効なキャッシュウェイのLRUツリービットの状態が1インクリメントされた様子を示している。3つのキャッシュウェイ2,4,6(WAY2、WAY4,WAY6)のLRUツリービットの状態は、高信頼モードが切り替わった際に、ウェイ番号の小さい順番から0,1,2と設定されたまま固定されている。
すなわち、使用しない無効キャッシュラインがM個存在する場合、M個の無効キャッシュラインのLRU状態は、MRU(=0)からウェイ番号順にM−1までに設定され、キャッシュヒットが起きたキャッシュラインのLRUツリービットをMとし、
他の使用するキャッシュラインのLRUツリービットを、キャッシュヒットが起きる以前の順番に従って、それぞれM+1から順に1インクリメントする。
On the other hand, FIG. 30 shows a case where an improved LRU replacement algorithm is applied. A cache hit occurs in the cache way 3, and the state of the LRU tree bit is MRU + 3 (the number of invalid cache lines not used) = 3. The state of the LRU tree bit of another valid cache way that is smaller than the state of the LRU tree bit of the cache way 3 where the cache hit has occurred and the state of the LRU tree bit is not the invalid cache line of MRU (= 0) It shows a state where it is incremented by one. The state of the LRU tree bits of the three cache ways 2, 4, 6 (WAY2, WAY4, WAY6) is fixed with 0, 1, 2 set in ascending order of the way number when the high-reliability mode is switched. Has been.
That is, when there are M invalid cache lines that are not used, the LRU states of the M invalid cache lines are set from MRU (= 0) to M-1 in order of way number, and the cache line where the cache hit has occurred is set. Let the LRU tree bit be M,
The LRU tree bits of the other cache lines to be used are incremented by 1 sequentially from M + 1 according to the order before the cache hit occurs.

本発明は、コンピュータのキャッシュメモリに有用である。   The present invention is useful for a cache memory of a computer.

MC,MC01,MC10 メモリセル
MC, MC01, MC10 Memory cell

Claims (11)

タグにより構成されるデータ格納構造を備え、複数のメモリセルブロックから構成されるキャッシュウェイを複数備えるセットアソシアティブ方式のキャッシュメモリにおいて、
前記メモリセルブロックは、
各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する1本のワードラインと、から構成されるメモリセルと、隣接するメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する1本のモード制御ラインと、から成り、
前記メモリセルブロック毎に、
1ビットが1個のメモリセルで構成される通常モードから、隣接する2個のメモリセルを連結して1ビットが2個のメモリセルで構成される高信頼モードへと切り替えできる回路構成であり、
前記メモリセルブロックがオフラインもしくはオンラインで故障検出された場合に、故障検出したメモリセルブロックを高信頼モードに切り替えて、どのメモリセルが故障したかの情報を用いることなく、隣接する2つのキャッシュラインのいずれかを必ず使用するメモリセルブロックにしたことを特徴とする低電圧動作キャッシュメモリ。
In a set associative cache memory having a data storage structure constituted by tags and having a plurality of cache ways constituted by a plurality of memory cell blocks,
The memory cell block includes:
Provided between a pair of cross-coupled inverters, each output connected to a path leading to each of a pair of bit lines arranged corresponding to a column of memory cells, and the output of the bit line and the inverter A memory cell including a pair of switch units and a word line for controlling conduction of the switch unit, a mode control switch unit between data holding nodes of adjacent memory cells, and the mode control switch unit A mode control line for controlling the conduction of
For each memory cell block,
It is a circuit configuration that can switch from a normal mode in which one bit is composed of one memory cell to a high-reliability mode in which two adjacent memory cells are connected and one bit is composed of two memory cells. ,
When a failure is detected in the memory cell block offline or online, the memory cell block in which the failure is detected is switched to the high-reliability mode, and two adjacent cache lines are used without using information on which memory cell has failed. low voltage operation cache memory, characterized in that the memory cell blocks either always use the.
故障したメモリセルブロックにおいて、高信頼モードに切り替えて、隣接する2つのキャッシュラインのいずれかを使用する際に、
キャッシュメモリの全てのキャッシュインデックスに、キャッシュウェイの個数の半分の連想度以上でのキャッシュ動作が可能となるように、キャッシュラインの割り当てを行うことを特徴とする請求項1に記載の低電圧動作キャッシュメモリ。
In the failed memory cell block, when switching to the high reliability mode and using one of the two adjacent cache lines,
2. The low voltage operation according to claim 1, wherein a cache line is allocated to all cache indexes of the cache memory so that a cache operation with an association degree equal to or more than half the number of cache ways is possible. Cache memory.
故障したメモリセルブロックにおいて、高信頼モードに切り替えて、隣接する2つのキャッシュラインのいずれかを使用する際に、偶数番号のキャッシュウェイのメモリセルブロックの場合には偶数インデックスのキャッシュラインが割り当てられ、奇数番号のキャッシュウェイのメモリセルブロックの場合には奇数インデックスのキャッシュラインが割り当てられることを特徴とする請求項2に記載の低電圧動作キャッシュメモリ。   When switching to the high-reliability mode and using one of the two adjacent cache lines in the failed memory cell block, even-numbered cache way memory cell blocks are assigned even-numbered cache lines. 3. The low voltage operation cache memory according to claim 2, wherein an odd index cache line is assigned in the case of an odd numbered cache way memory cell block. 故障したメモリセルブロックにおいて、高信頼モードに切り替えて、隣接する2つのキャッシュラインのいずれかを使用する際に、偶数番号のキャッシュウェイのメモリセルブロックの場合には奇数インデックスのキャッシュラインが割り当てられ、奇数番号のキャッシュウェイのメモリセルブロックの場合には偶数インデックスのキャッシュラインが割り当てられることを特徴とする請求項2に記載の低電圧動作キャッシュメモリ。   When switching to the high-reliability mode and using one of two adjacent cache lines in a failed memory cell block, an odd-numbered cache way memory cell block is assigned an odd index cache line. 3. The low-voltage operation cache memory according to claim 2, wherein even-numbered cache lines are assigned to odd-numbered cache way memory cell blocks. 故障したメモリセルブロックにおいて、高信頼モードに切り替えて、隣接する2つのキャッシュラインのいずれかを使用する際に、キャッシュウェイの個数がN(番号は0,1,・・・,N−1)とした場合に、番号がN/2未満のキャッシュウェイのメモリセルブロックの場合には偶数インデックスのキャッシュラインが割り当てられ、番号がN/2以上のキャッシュウェイのメモリセルブロックの場合には奇数インデックスのキャッシュラインが割り当てられることを特徴とする請求項2に記載の低電圧動作キャッシュメモリ。   In a failed memory cell block, when switching to the high reliability mode and using one of the two adjacent cache lines, the number of cache ways is N (numbers are 0, 1,..., N−1). In the case of a cache way memory cell block with a number less than N / 2, an even index cache line is assigned, and in the case of a cache way memory cell block with a number greater than or equal to N / 2, an odd index is assigned. 3. The low voltage operation cache memory according to claim 2, wherein the cache line is assigned. 故障したメモリセルブロックにおいて、高信頼モードに切り替えて、隣接する2つのキャッシュラインのいずれかを使用する際に、キャッシュウェイの個数がN(番号は0,1,・・・,N−1)とした場合に、番号がN/2未満のキャッシュウェイのメモリセルブロックの場合には奇数インデックスのキャッシュラインが割り当てられ、番号がN/2以上のキャッシュウェイのメモリセルブロックの場合には偶数インデックスのキャッシュラインが割り当てられることを特徴とする請求項2に記載の低電圧動作キャッシュメモリ。   In a failed memory cell block, when switching to the high reliability mode and using one of the two adjacent cache lines, the number of cache ways is N (numbers are 0, 1,..., N−1). In the case of a cache way memory cell block having a number less than N / 2, an odd index cache line is allocated, and in the case of a cache way memory cell block having a number of N / 2 or more, an even index is assigned. 3. The low voltage operation cache memory according to claim 2, wherein the cache line is assigned. 故障したメモリセルブロックにおいて、
高信頼モード時に、
隣接する2つのキャッシュラインのいずれを使用するかの識別情報として、
使用しない無効キャッシュラインのキャッシュライン状態ビットを、{Valid bit,Dirty bit}={0,1}に設定することを特徴とする請求項1〜6のいずれかに記載の低電圧動作キャッシュメモリ。
In a failed memory cell block,
In high reliability mode,
As identification information of which of the two adjacent cache lines is used,
7. The low-voltage operation cache memory according to claim 1, wherein a cache line state bit of an invalid cache line that is not used is set to {Valid bit, Dirty bit} = {0, 1}.
キャッシュメモリのLRU(Least Recently Used)置換アルゴリズムにおいて、
故障したメモリセルブロックが高信頼モード時、
使用しない無効キャッシュラインのLRUツリービットをMRU(Most Recently Used)状態に固定することを特徴とする請求項1〜7のいずれかに記載の低電圧動作キャッシュメモリ。
In cache memory LRU (Least Recently Used) replacement algorithm,
When the failed memory cell block is in high reliability mode,
8. The low-voltage operation cache memory according to claim 1, wherein an LRU tree bit of an invalid cache line that is not used is fixed to an MRU (Most Recently Used) state.
キャッシュメモリのLRU(Least Recently Used)置換アルゴリズムにおいて、
故障したメモリセルブロックが高信頼モード時、
使用しない無効キャッシュラインがM個存在する場合、
使用しない無効キャッシュラインのLRUツリービットをキャッシュウェイの番号順に0(MRU),1,・・・,M−1にすることを特徴とする請求項1〜7のいずれかに記載の低電圧動作キャッシュメモリ。
In cache memory LRU (Least Recently Used) replacement algorithm,
When the failed memory cell block is in high reliability mode,
If there are M invalid cache lines that are not used,
8. The low voltage operation according to claim 1, wherein LRU tree bits of invalid cache lines not used are set to 0 (MRU), 1,..., M-1 in the order of cache way numbers. Cache memory.
使用しない無効キャッシュラインがM個存在する場合、
キャッシュミスが起きた際に割り当てた新しいデータのキャッシュラインのLRUツリービットをMとし、
その他の使用するキャッシュラインのLRUツリービットを、キャッシュミスが起きる以前の順番に従って、それぞれM+1から順に1インクリメントすることを特徴とする請求項8又は9に記載の低電圧動作キャッシュメモリ。
If there are M invalid cache lines that are not used,
Let M be the LRU tree bit of the cache line of the new data allocated when a cache miss occurs,
10. The low-voltage operation cache memory according to claim 8, wherein the LRU tree bits of other cache lines to be used are incremented by 1 in order from M + 1 according to the order before a cache miss occurs.
使用しない無効キャッシュラインがM個存在する場合、
キャッシュヒットが起きたキャッシュラインのLRUツリービットをMとし、
その他の使用するキャッシュラインのLRUツリービットを、キャッシュミスが起きる以前の順番に従って、それぞれM+1から順に1インクリメントすることを特徴とする請求項8又は9に記載の低電圧動作キャッシュメモリ。
If there are M invalid cache lines that are not used,
The LRU tree bit of the cache line where the cache hit occurred is M,
10. The low-voltage operation cache memory according to claim 8, wherein the LRU tree bits of other cache lines to be used are incremented by 1 in order from M + 1 according to the order before a cache miss occurs.
JP2012267445A 2012-12-06 2012-12-06 Low voltage cache memory Expired - Fee Related JP6024897B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012267445A JP6024897B2 (en) 2012-12-06 2012-12-06 Low voltage cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012267445A JP6024897B2 (en) 2012-12-06 2012-12-06 Low voltage cache memory

Publications (2)

Publication Number Publication Date
JP2014115723A JP2014115723A (en) 2014-06-26
JP6024897B2 true JP6024897B2 (en) 2016-11-16

Family

ID=51171683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012267445A Expired - Fee Related JP6024897B2 (en) 2012-12-06 2012-12-06 Low voltage cache memory

Country Status (1)

Country Link
JP (1) JP6024897B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2683924B1 (en) * 1991-11-18 1997-01-03 Bull Sa INTEGRATED MEMORY, ITS MANAGEMENT METHOD AND RESULTING COMPUTER SYSTEM.
JP2005092915A (en) * 2003-09-12 2005-04-07 Toshiba Corp Semiconductor integrated circuit device and information storage method thereof
US7809890B2 (en) * 2005-07-06 2010-10-05 Kabushiki Kaisha Toshiba Systems and methods for increasing yield of devices having cache memories by inhibiting use of defective cache entries
TW201225081A (en) * 2010-08-14 2012-06-16 New Ind Res Organization Semiconductor memory for the low-voltage operation

Also Published As

Publication number Publication date
JP2014115723A (en) 2014-06-26

Similar Documents

Publication Publication Date Title
JP5681778B2 (en) Processor, system and method
Agarwal et al. A process-tolerant cache architecture for improved yield in nanoscale technologies
Roberts et al. On-chip cache device scaling limits and effective fault repair techniques in future nanoscale technology
JP5196449B2 (en) Semiconductor memory and program
Mahmood et al. Macho: A failure model-oriented adaptive cache architecture to enable near-threshold voltage scaling
Rajput et al. Energy efficient 9T SRAM with R/W margin enhanced for beyond Von-Neumann computation
BanaiyanMofrad et al. FFT-cache: A flexible fault-tolerant cache architecture for ultra low voltage operation
JP6024897B2 (en) Low voltage cache memory
US8787075B2 (en) Low-voltage semiconductor memory
JP5298373B2 (en) Semiconductor memory half-select prevention cell layout
Wang et al. Variation-aware and adaptive-latency accesses for reliable low voltage caches
Mavropoulos et al. Improving the performance predictability of faulty data caches
Ampadu et al. Breaking the energy barrier in fault-tolerant caches for multicore systems
US20090144504A1 (en) STRUCTURE FOR IMPLEMENTING REFRESHLESS SINGLE TRANSISTOR CELL eDRAM FOR HIGH PERFORMANCE MEMORY APPLICATIONS
Chien et al. Write-energy-saving ReRAM-based nonvolatile SRAM with redundant bit-write-aware controller for last-level caches
Jung et al. A variation-aware 0.57-V set-associative cache with mixed associativity using 7T/14T SRAM
Farahani et al. Performance and power solutions for caches using 8T SRAM cells
Mahmood et al. Realizing near-true voltage scaling in variation-sensitive L1 caches via fault buffers
US20200051634A1 (en) Resistive address decoder and virtually addressed memory
JP5397843B2 (en) Cache memory and its mode switching method
JP5311309B2 (en) Data transfer method between shared cache memory and its cache
Pandey et al. Exploration of Design Optimizations for STTMRAM as L1 Cache
Park et al. Cache Design for Yield-per-Area Maximization: Switchable Spare Columns with Disabling (SSC-Disable)
Jain et al. La-lru: A latency-aware replacement policy for variation tolerant caches
Yu et al. A latency-elastic and fault-tolerant cache for improving performance and reliability on low voltage operation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150923

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160827

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: 20160914

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160927

R150 Certificate of patent or registration of utility model

Ref document number: 6024897

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees