JP2007504548A - 集積回路およびキャッシュ・リマッピングの方法 - Google Patents
集積回路およびキャッシュ・リマッピングの方法 Download PDFInfo
- Publication number
- JP2007504548A JP2007504548A JP2006525220A JP2006525220A JP2007504548A JP 2007504548 A JP2007504548 A JP 2007504548A JP 2006525220 A JP2006525220 A JP 2006525220A JP 2006525220 A JP2006525220 A JP 2006525220A JP 2007504548 A JP2007504548 A JP 2007504548A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- remapping
- memory
- modules
- integrated circuit
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
Abstract
集積回路には、少なくとも1つの処理ユニット(TM)と、複数のメモリ・モジュールを有するキャッシュ・メモリ(L2バンク)と、前記複数のメモリ・モジュール内で制限のないリマッピングを実施するためのリマッピング手段(RM)とが設けられている。したがって、故障モジュールを制限なしにリマッピングして、これらの故障モジュールの一様な分布を実現することにより、これらのメモリ・モジュールの利用を最適化することができる。
Description
本発明は、集積回路およびキャッシュ・リマッピングの方法に関する。
最近の高性能VLSIプロセッサにおけるメモリ帯域幅に対するますます増大する要求は、既存のメモリ技術によっては、満たされない。Lu等による「Fault-Tolerant Interleaved Memory Systems with Two-Level Redundancy」、IEEE Transactions on Computers、46巻、No.9、1997年9月においては、主記憶装置のいくつかのメモリ・バンクまたはモジュールが、インターリーブ化された方式でプロセッサによってアクセスされて、広帯域を有するメモリを実現している。しかし、複数のメモリ・モジュールが使用される場合には、これらのモジュールの一部が故障している可能性がある。これらの故障モジュールに対処するために、Lu等は、複数のモジュールを含むメモリを使用すると共に、前記メモリ中にいくつかの予備モジュールを設けることを意図している。これらの予備モジュールは、同じバンクに属していてもよいし、グローバル予備モジュールを構成してもよい。故障モジュールが発生する場合に、このメモリ管理は、これらの予備モジュールのうちの1つによってこの故障モジュールの置換を開始することができる。モジュール・マップ・テーブルが、1つの予備モジュールを選択して、1つの故障モジュールを置換するために提供され、バンク・マップ・テーブルが、予備バンクを選択して故障バンクを置換するために提供される。それにもかかわらず、このLu等の教示は、これらのプロセッサと、この主記憶装置の間にどのようなキャッシュも有さない、プロセッサと、冗長メモリ・モジュールを有する主記憶装置の間の通信に関するものであり、これは、レイテンシと帯域幅の観点から有利であるようには見えない。
上記とは対照的に、オンチップ・キャッシュ・メモリの幅広い使用が、CPUのメモリ帯域幅要求に耐えるためには不可欠になってきている。半導体技術の進歩と、フィーチャ・サイズ(feature size)の絶え間ないダウンスケーリングが、単一チップ上の追加機能のための余分なスペースをもたらす。この余分なスペースを使用する最もよく知られている方法は、より大きなサイズのキャッシュを集積化することであり、その結果、マイクロプロセッサは、より高い性能を達成することが可能になっている。しかし、この回路密度の増大は、欠陥の起こる可能性の増大と密接に関連している。キャッシュは、このCPUの性能を高めるために使用される冗長構造を構成する。このキャッシュにおいて故障に耐えるための一方法は、予備キャッシュ・ブロックを提供することである。この欠陥のあるブロックは、再構成メカニズムにより、あるいは小型の完全アソシエイティブ方式キャッシュ(fully associative cache)を提供して故障ブロックを動的に置換することによって予備ブロックに切り換えられる。
しかし、予備メモリ・モジュールまたは冗長メモリ・モジュールを有するキャッシュを用意することは高価につくので、予備キャッシュ・ブロックなしにキャッシュ性能の悪化を軽減することが可能な新しい技術が、必要とされる。したがって、明確な予備ブロックを使用する代わりに、物理的近傍ブロックまたは論理的近傍ブロックが、予備ブロックの役割を果たす。Dong−Hyun等、「Re-evaluation and Comparison of Fault Tolerant Cache Schemes」、University of Wisconsin Madison ECE Dept.753 Course Project、2002年、ならびにShirvani等、「PADded Cache:A New Fault-Tolerance Technique for Cache Memories」、Proc.17th IEEE VLSI Test Symposium、1999年は、キャッシュについてのプログラム可能アドレス・デコーダPADについて説明している。PADは、プログラム可能なマッピング機能を有するデコーダである。前述のように、キャッシュの目的は、性能を改善することであるので、キャッシュは、固有の冗長度を有する。多数の処理アーキテクチャでは、どのようなキャッシュもなしに、ただし悪化された性能という代償を払って機能することができる。したがって、予備メモリ・ブロックのような追加の冗長度を導入することは、非効率的である。
動作中には、通常、メモリ参照の空間的局所性および時間的局所性のために、キャッシュ中の必ずしもすべてのセットが、同時に使用されるとは限らない。したがって、これらの予備ブロックの代理をすることができる一部の(現在、未使用の)キャッシュのセットが存在するはずである。メモリ参照が行われる時に、デコーダは、これを適切なブロックへとマッピングする。故障ブロックが識別された後に、PADは、故障ブロックへのアクセスを同じ一次キャッシュ中の正常な(healthy)ブロックへと自動的にリダイレクトする。PADを有するキャッシュが、n個のブロックを有し、1つのブロックが故障である場合には、このキャッシュは、まるでこのキャッシュがn−1個のキャッシュ・ブロックを有するかのように動作することになる。このPADは、このマッピング機能を再構成し、その結果、「正常な」ブロックは、予備ブロックとしての役割を果たす。適切な欠陥のないブロックを見出すための方法は、あらかじめ定義され、ハードウェアで実装される。
このマッピングを実施することができる3つの異なる方法が存在する。このキャッシュをこのシステム・メモリに割り付ける最も簡単な方法である、ダイレクト・マップ方式キャッシュ(Direct Mapped Cache)においては、どれだけ多くのキャッシュ・ライン(cache line)が存在するかが決定され、このシステム・メモリは、この同じ数の部分に分割される。次いで、各部分は、1つのキャッシュ・ラインによって使用される。完全アソシエイティブ方式キャッシュ(Fully Associative Cache)は、キャッシュ・ラインを特定のメモリ・ロケーションにハードで割り付ける代わりに、任意のラインが、任意のメモリ・ロケーションの内容を記憶することができるようにキャッシュを設計することを可能にする。第3のキャッシュ・マッピング・スキームは、Nウェイ・セット・アソシエイティブ方式キャッシュ(N−Way Set Associative Cache)である。このスキームは、ダイレクト・マップ方式設計と完全アソシエイティブ方式設計との折衷案を構成している。このキャッシュは、複数のセットに分割され、ここで各セットは、N個のキャッシュ・ライン、すなわちNウェイを含んでいる。次いで、各メモリアドレスが、セットに割り当てられ、各メモリアドレスが割り当てられたセット内のこれらのN個のロケーションのうちの任意の1つにキャッシュすることができる。換言すれば、各セット内において、このキャッシュは、アソシエイティブである。したがって、所与のメモリ・ロケーションが、このキャッシュ中に存在し得る「N」個の可能な場所が存在する。このマッピングは、通常、タグRAMアドレス・デコーダ中に一体化され、このタグRAMアドレス・デコーダは、主記憶装置からのどのデータが、現在では各キャッシュ・ラインに記憶されているかを識別する、L2キャッシュ中の区域を構成する。このタグRAMに記憶される値は、キャッシュ・ルックアップが、ヒットをもたらすか、ミスをもたらすかを決定する。
例えば、4ウェイ・アソシエイティブ方式キャッシュの各ウェイは、別々のPADを有することができる。したがって、故障ブロックについてのキャッシュ・アドレスは、前記ウェイ内の正しいブロックにリマッピングされる。すべてのアドレスは、依然としてキャッシュ可能であるが、競合ミスが増大させられる。ダイレクト・マップ方式キャッシュでは、少なくとも1つのアドレス・ビット情報がリマッピングの結果として失われるので、少なくとも1ビットがこれらのタグ・ビットに対して強化されて、同じブロックにマッピングすることができるこれらのアドレスを区別することが可能になる。このキャッシュ・リマッピングは、ブロックごとのベースで実施され、ここで故障ブロックは、「正常な」ブロックへとマッピングされ、この正常なブロックのアドレスは、この故障ブロックのアドレスとはたった1ビットだけしか違わない。通常、セット・アソシエイティブ方式キャッシュでは、別のメモリ・アレイがウェイごとに提供され、その結果、デコーダは、各アレイに関連づけることができる。したがって、このリマッピングは、1つのアレイ中でしか実施されず、あるいはウェイは、他のアレイのマッピングに影響を与えないことになる。
本発明の一目的は、故障のあるキャッシュについての性能に対する歩留まり(yield)のトレードオフを可能にすることである。
この目的は、請求項1に記載の集積回路と、請求項8に記載のキャッシュ・リマッピングの方法によって解決される。
したがって、集積回路には、少なくとも1つの処理ユニットTMと、複数のメモリ・モジュールを有するキャッシュ・メモリL2_BANKと、前記複数のメモリ・モジュール内で制限されないリマッピングを実施するリマッピング手段RMが設けられる。
その結果、故障モジュールは、制限なしにリマッピングされて、一様な分布を提供することにより、メモリ・モジュールの利用を最適化することができる。
本発明の一態様によれば、このキャッシュ・メモリL2_BANKは、セット・アソシエイティブ方式キャッシュとして実装され、より高速なキャッシュがもたらされる。
本発明のさらなる一態様によれば、前記リマッピング手段は、キャッシュの故障部分を一様分布させることの一実装形態であるプログラム可能置換機能に基づいてこのリマッピングを実施する。
本発明のさらに他の一態様によれば、前記リマッピング手段は、低減マッピングに基づいてこのリマッピングを実施する。その結果、入力に比べて少ないエレメントが出力される。したがって、低減マッピングは、故障モジュールをリマッピングするためのより大きな自由度を実現する。
本発明の好ましい一態様によれば、タグRAMユニットTagRAMは、前記キャッシュに関連づけられ、このタグRAMユニットTagRAMを使用して、どのデータが、前記キャッシュ・メモリL2_BANKにキャッシュされるかを識別する。さらに、前記リマッピング手段は、前記タグRAMユニットTagRAMと直列に構成される。より少ないチップ面積しか必要とされないので、かかる実装形態は、より低価格である。
本発明のさらなる好ましい一態様によれば、タグRAMユニットTagRAMは、前記キャッシュに関連づけられ、このタグRAMユニットTagRAMを使用して、どのデータが、前記キャッシュ・メモリL2_BANKにキャッシュされるかを識別する。さらに、前記リマッピング手段は、前記タグRAMユニットTagRAMと並列に構成される。このリマッピングが、このタグRAMと並列に実施されるので、かかる実装形態は、より高速である。
本発明はまた、少なくとも1つの処理ユニットPUと、前記主記憶装置MMからのデータをキャッシュするための複数のメモリ・モジュールを有するキャッシュ・メモリL2_BANKとを有する集積回路中におけるキャッシュ・リマッピングの方法にも関する。制限されないリマッピングが、前記複数のメモリ・モジュール内で実施される。
本発明は、キャッシュ内の冗長度を活用することにより、キャッシュの歩留まりを改善するアイデアに基づいている。キャッシュ中において、全部のメモリ・モジュールは、故障モジュールがもはや使用されないように、交換することができる。この使用可能な作業モジュールは、各メモリ・バンクが、少なくとも1つのウェイを含むように入れ替えることができる。この入れ替えは、これらの故障モジュールが、これらのメモリ・バンク上で一様に分布するように前もって形成され、それによって最高の(保証された)連想性(associativity)と、したがって性能とが実現されることが好ましい。
次に、本発明について、図面を参照して詳細に説明することにする。
図1は、本発明の原理を実装することができる全体的なシステム・アーキテクチャを示している。このアーキテクチャは、8個の処理ユニットTM、1つのMIPSプロセッサmips、DDRダブル・データ・レートDRAMコントローラDDR_ctrl、および12Mbの共有L2キャッシュL2_bankを含む異種共有メモリシステムを構成することができる。これらのキャッシュL2_bank、これらの処理ユニットTM、このコントローラDDR_ctrl、ならびにこのプロセッサmipsは、コヒーレント相互接続ネットワークCINを介して互いに接続され、このコヒーレント相互接続ネットワークCINはまた、キャッシュ・コントローラCCも含んでいる。ネットワーク・インターフェース・コントローラNICが設けられて、この全体的な処理システムの他の部分との高速な通信を処理する。この処理ユニットは、400MHzで実行されるTrimediaプロセッサであることが好ましい。
このL2キャッシュは、レベル2キャッシュ、すなわちいくつかのプロセッサによって共有されるキャッシュであり、埋め込まれたDRAMモジュールとして実装されることが好ましい。その設計パラメータは、以下のように、すなわち12MBの容量であり、その連想性が6ウェイであり、そのセット数が4096であり、そのライン・サイズが512バイトであり、そのレフィル・サイズ(refill size)が1ラインであり、これらの同時転送が8バンクに基づいており、バンク・ワード・サイズが64ビットであり、そのコヒーレント・ポリシーがMESIであり、そのタグ・サイズが11ビットであってもよい。したがって、このL2キャッシュは、8バンクに区分され、各バンクは、他のバンクとは独立に、読取り要求または書込み要求にサービスすることができる。各バンクは、6ウェイに区分され、各ウェイは、32k64ビット=2Mビットの容量を有する。いかなる時においても1つのバンク中においては、1つのウェイしかアクティブにすることができない。
上記アーキテクチャについては、図1を参照して詳細に説明してきたが、本発明の原理はまた、たった1つのプロセッサおよび1つのキャッシュを有するアーキテクチャの形で実装することもできる。
前述のように、キャッシュ・モジュールのリマッピングは、このキャッシュの性能を改善し、または歩留まりに対して性能をトレードオフして、作業システムを実現することが望ましい。図2は、リマッピング・オペレーションの前後のキャッシュ・モジュールL2_bankを示している。特に、このリマッピングの前のこれらのキャッシュ・モジュールは、左側に示されているが、リマッピングの後のこれらのキャッシュ・モジュールは、この右側に示されている。
起動時に、またこれらの故障モジュールの検出後に、これらのモジュールは、リマッピングする必要がある。このリマッピングは、主として性能の理由のために行われる。これらの故障モジュール/ウェイをこれらのバンク上で一様に分布させることによって、最高の連想性を実現することができる。したがって、この一様分布は、保証された連想性を実現し、それによってこの性能が高められる。バンクのすべてのモジュール/ウェイが故障しており、このキャッシュをバイパスすることができない場合には、バンクごとに少なくとも1つのウェイが使用可能であるようにリマッピングを実施することが正当性の問題であり、その結果、ダイレクト・マップ方式キャッシュが実現される。
図2は、どのようにしてモジュールをリマッピングして、うまくバランス化されたウェイ分布を実現することができるかについて示している。黒で塗りつぶされたボックスは、故障モジュールを示している。リマッピングの前には、bank0がどのような正しいウェイも有していなかったが、このbank0は、リマッピング後には、4つのウェイを有していることに留意されたい。これは、bank7のway0とway1中のモジュールを、bank0のway3、way5に対して、bank4のway5中のモジュールをbank0、way4に対して、bank2、way5からのモジュールをbank0、way2に対して、またbank3、way4からのモジュールをbank1、way3に対してリマッピングすることによって実現される。リマッピングの後に、あらゆるバンクは、4つの作業ウェイを有している。
図3は、第1の実施形態によるL2キャッシュについての選択信号回路を示している。図3において、タグRAMユニットTagRAM、リマッピング手段RM、2つのレジスタR、および複数のコンパレータCが、図3に示されている。このパイプライン・レジスタRは、アドレスAdを入力信号として受け取るが、一方のレジスタRは、タグ・リファレンス信号tag_refを出力として供給し、他方のレジスタは、バンク選択信号bank_selectおよびワード選択信号word_selectを出力信号として供給する。このタグRAMユニットTagRAMは、アドレスAdを入力信号として受け取り、信号tag0、...、tag5を出力する。これらの信号およびこのタグ・リファレンス信号tag_refは、それぞれコンパレータCの入力信号であり、これらのコンパレータCは、ヒット信号hit0、...、hit5を出力する。これらのヒット信号、バンク選択信号bank_select、およびワード選択信号word_selectは、リマッピング手段RMへと入力され、ここでこのリマッピング・オペレーションが実施され、これらの入力信号は、このキャッシュ・モジュールの新しいリマッピングされた位置を表すhit’0、...、hit’5、bank’select、およびword’selectへとマッピングされる。このタグRAMユニットの機能およびオペレーションは、当技術分野においてよく知られており、したがって詳細には説明していない。
バンクを選択するための信号bank_selectを使用して、8つのバンクbank0からbank7のうちの1つを選択する。ヒット信号hit0、...、hit5は、バンク選択信号bank_selectによって選択されるバンク中のウェイを識別する。ワード選択信号word_selectを使用して、この(32k64)ウェイ中の1ワードにアクセスする。リマッピング手段RMは、これらのヒット信号およびバンク選択信号の後に、すなわちタグRAMユニットTagRAMに直列に配置される。リマッピング手段RMは、bank_select’およびhit0’...hit5’選択リマッピング・モジュールをもたらすモジュール置換機能を実装することが好ましい。置換機能は、所与のデータの代替構成を生成するプロセスであり、例えば、(6ウェイの選択に加えて3つの(符号化された)バンク選択を有する)それぞれ9ビットの48(6*8)個のレジスタのレジスタ・ファイルで実装することができる。この置換は、入力数を減少させることなく実施される。さらに、これらのword_select信号をリマッピングすることもできる。これは、ウェイ−バンクの組合せそれ自体が複数のメモリ・モジュールから構成される場合に、望ましい可能性がある。代わりに、このリマッピングを低減マッピングに基づいて、すなわち入力シンボルよりも少ない出力シンボルに基づいて実施することができる。
しかし、これらのレジスタRと、これらのメモリの出力段におけるレジスタは、このオペレーションにとって絶対不可欠という訳ではなく、単にパイプライン方式の問題にすぎない。
図4は、この第2の実施形態によるリマッピング・モジュールについての代替実装形態を示している。この選択回路は、この第1の実施形態による選択回路に基づいているが、リマッピング手段RMは、マップRAMユニットMapRAMによって置換される。このMapRAMは、そのアドレスがバンク番号であり、6ウェイのそれぞれについて9ビットを出力する通常のRAMとして実装することができる。これらのビットは、(リマッピングされたモジュールを一緒にアドレス指定する)このリマッピングされたウェイ、およびリマッピングされたバンクから構成される。この第1の実施形態によれば、リマッピング・ユニットRMは、このタグRAMユニットと直列に実装されるが、このマップRAMユニットは、このタグRAMユニットと並列に実装される。このマップRAMユニットは、入力信号としてアドレスAdを受け取り、マッピング信号map0、...、map5を出力する。したがって、このアドレス指定されたバンクの各ウェイについてのリマッピングは、このタグ・ルックアップ、すなわちこのタグRAMユニットと並列に調べられる。これらのマッピング信号map0、...、map5、ならびにコンパレータCからのヒット信号hit0、...、hit5は、それぞれ6個のANDゲートGへの入力信号を構成する。これらのゲートGの出力は、ORゲートHに供給される。このゲートHの出力は、ウェイ選択信号way_selectおよびバンク選択信号bank_selectを構成する。さらに、このアドレスはレジスタRに入力され、このレジスタは、このword selectを出力する。次いで、このヒットするウェイは、6個のあらかじめ選択されたリマッピングmap0、...、map5のどれを実施すべきかを選択する。
この第2の実施形態中のレジスタRは、不可欠という訳ではない。これらのANDゲート、およびORゲートは、それぞれ6*9回、および9回現れる。しかし、この機能は、例えばマルチプレクサを使用して実装することもできる。
この第1および第2の実施形態による選択回路の性能をさらに改善するためには、これらのキャッシュ・ヒットおよびこれらのキャッシュ・ライン置換は、どのような故障モジュールもターゲットとすべきではない。これを回避するために、ルックアップ・テーブルがタグRAMユニット中に設けられることが好ましいが、このリマッピング・ユニットRMまたはこのマップRAMユニット中において実装することもできる。このルックアップ・テーブルの背後にあるアイデアは、故障モジュールのすべてのブロックに対するヒットを回避し、さらに置換ターゲットからかかるモジュールを排除することができるようにすることである。これらの有効なビットおよびロック・ビットが、すでにキャッシュ中に実装されている場合には、図5の実装形態は、基本的に無料となる。
図5は、図2によるリマッピングについてのかかるテーブルの表現を示している。故障モジュールは、これらのロック・ビットならびにこれらの無効ビットを設定することにより、使用不能としてマークされる。
第1の実施形態、すなわちこのタグRAMユニットとこのリマッピング手段RMを直列に配列することに基づいた第3の実施形態によれば、このリマッピングは、より微細な細分性で、例えばこの第1および第2の実施形態によるモジュール・レベルの代わりにブロック/ライン・レベルで実施することもできる。この第3の実施形態は、このタグRAMにインデックスを付けるアドレスを修正する追加回路をもたらす。好ましいマッピングは、この同じインデックスにある種のアドレスをリマッピングすることにより、例えば、最下位アドレス・ビットを無視することによってblock0およびblock1を同じインデックス/ブロックにマッピングすることにより実施される。複数のアドレスが、この同じインデックスにマッピングされる場合、このタグRAMは、この失われているアドレス情報を用いて補強される。拡張されたタグ比較を使用して、このあいまいさを解決することができる。この拡張されたタグ比較には、これがこのアドレス・デコーダと簡単に一体化することができるという利点がある。(より広いタグおよびタグ比較を伴う)このあいまいさの問題を回避すべき時、その場合には、このアドレス・マッピングは、結果としてブロック・レベルでは実用的でない、置換とする必要がある。さらに、アドレス・リマッピングは、一体化されたアドレス・デコーダを有するハードRAMマクロの場合には、あまり魅力的ではなくなる。
第2の実施形態に基づいた第4の実施形態によれば、このモジュール・リマッピングは、ブロックごとにマッピングを追加することにより、ブロック・レベル・リマッピングへと拡張することができる。この第2の実施形態によるマップRAMは、次いでブロックごとに1つのエントリにまで拡張される。したがって、この第2の実施形態によるマップRAMとタグRAMとは、組み合わせることができる。
図6には、この第4の実施形態による組み合わせられたマップRAMとタグRAMのルックアップ・テーブルを表すルックアップ・テーブルが示されている。さらに、図5によるルックアップ・テーブルに対して、図6によるテーブルは、ウェイごとに余分なカラム、すなわちマップ・カラムを含んでいる。これらの値2および5がこの対応するマップ・フィールドに書き込まれているので、このカラムは、このリマッピング情報、例えば(index0、bank0、way2)におけるブロックが、(index0、bank2、way5)に対してリマッピングされるという情報を含んでいる。安価で高速な実装形態を実現するためには、ブロックは、異なるインデックスに対してはリマッピングされず、ただ新しいウェイおよびバンクだけにリマッピングされることが好ましい。しかし、代わりに、このリマッピングは、いくつかのインデックス上で実施されてもよい。
リマッピングする手段として、モジュール・ツー・モジュール・マッピングを示すプログラム可能な置換ユニット、モジュール選択を再計算することによりモジュールを入れ替えるこの置換を使用した回路、および/または(リマッピング後の)故障モジュールに関連するこのタグramを永続的に無効にするメカニズムを含むことができる。
本発明によるリマッピング・スキームと、故障モジュールを置き換えるための冗長モジュールを有する主記憶装置に関連したリマッピング・スキームとの間の違いは、各モジュールが、その連想性に、したがってその性能に寄与するので、キャッシュ中には、本当に「冗長な」モジュールは存在しないことである。この利点は、予備モジュール、すなわちこれらのモジュールが一部の故障モジュールを置き換えない限りは使用されないモジュールが必要でないことである。
性能上の理由から、このキャッシュの連想性を最大にすることが望ましい。したがって、M個のセット中にN個の故障モジュールが存在する場合にセット当たりにはN/M個の故障モジュールが存在する。したがって、これらの故障モジュールは、N/Mの値が実現され、これらの故障モジュールが一様に分布させられるように分布させるべきである。
本発明の原理は、L2(レベル2)キャッシュの実装形態を用いて説明してきたが、以上の原理は、L1(レベル1)キャッシュのような他の任意のキャッシュについて実装することもできる。しかし、望ましくないクリティカル・パスが増大させられる可能性があり、またL1キャッシュは、一般的にあまり大容量ではないので、この解決方法は、L1キャッシュにとっては、魅力的でないかも知れない。
前述の実施形態は、本発明を限定するものではなくて、本発明を例証するものであこと、また当業者なら、添付の特許請求の範囲を逸脱することなく、多数の代替実施形態を設計することが可能になるはずであることに留意されたい。これらの特許請求項において、括弧内に配置されるどのような参照符号も、請求項を限定するものとは解釈すべきではない。単語「含む(comprising)」は、1つの請求項中にリストアップされた要素またはステップ以外の要素またはステップの存在を除外するものではない。要素に先立つ単語「1つの(a)」または「1つの(an)」は、複数のかかる要素の存在を除外するものではない。いくつかの手段を列挙したデバイス請求項において、これらの手段のうちのいくつかは、ハードウェアのうちの1つまたは同じアイテムによって実施することもできる。ある種の対策が相互に異なる従属請求項中に列挙されるという単なる事実は、これらの対策の組合せを使用して恩恵を得ることができないことを示すものではない。
さらに、これらの請求項中のどのような参照符号もこれらの請求項の範囲を限定するものと解釈すべきではない。
Claims (8)
- 少なくとも1つの処理ユニットと、
データをキャッシュするための複数のメモリ・モジュールを有するキャッシュ・メモリと、
前記複数のメモリ・モジュール内で制限されないリマッピングを実施するためのリマッピング手段と
を備える集積回路。 - 前記キャッシュ・メモリが、セット・アソシエイティブ方式キャッシュである、請求項1に記載の集積回路。
- 前記リマッピング手段が、プログラム可能置換機能に基づいて前記リマッピングを実施するように適合されている、請求項1または2に記載の集積回路。
- 前記リマッピング手段が、低減マッピングに基づいて前記リマッピングを実施するように適合されている、請求項1または2に記載の集積回路。
- どのデータが前記キャッシュ・メモリにキャッシュされるかを識別するための、前記キャッシュに関連するタグRAMユニットをさらに備え、
前記リマッピング手段が、前記タグRAMユニットと直列に構成される、請求項1に記載の集積回路。 - どのデータが前記キャッシュ・メモリにキャッシュされるかを識別するための、前記キャッシュに関連するタグRAMユニットをさらに備え、
前記リマッピング手段が、前記タグRAMユニットと並列に構成される、請求項1に記載の集積回路。 - 故障メモリ・モジュールをマーク付けするためのルックアップ・テーブルをさらに含む、請求項5または6に記載の集積回路。
- 少なくとも1つの処理ユニットと、データを記憶するための主記憶装置と、データをキャッシュするための複数のメモリ・モジュールを有するキャッシュ・メモリとを有する集積回路におけるキャッシュ・リマッピングの方法であって、
前記複数のメモリ・モジュール内で制限されないリマッピングを実施するステップを含む、方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03103289 | 2003-09-04 | ||
PCT/IB2004/051465 WO2005024843A1 (en) | 2003-09-04 | 2004-08-17 | Integrated circuit and a method of cache remapping |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007504548A true JP2007504548A (ja) | 2007-03-01 |
Family
ID=34259251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006525220A Withdrawn JP2007504548A (ja) | 2003-09-04 | 2004-08-17 | 集積回路およびキャッシュ・リマッピングの方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7827372B2 (ja) |
EP (1) | EP1665286B8 (ja) |
JP (1) | JP2007504548A (ja) |
CN (1) | CN1846278B (ja) |
AT (1) | ATE366985T1 (ja) |
DE (1) | DE602004007532T2 (ja) |
WO (1) | WO2005024843A1 (ja) |
Families Citing this family (150)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8386702B2 (en) * | 2005-10-27 | 2013-02-26 | Hewlett-Packard Development Company, L.P. | Memory controller |
US8612797B2 (en) * | 2006-03-31 | 2013-12-17 | Hewlett-Packard Development Company, L.P. | Systems and methods of selectively managing errors in memory modules |
US7809980B2 (en) * | 2007-12-06 | 2010-10-05 | Jehoda Refaeli | Error detector in a cache memory using configurable way redundancy |
US20090177919A1 (en) * | 2008-01-04 | 2009-07-09 | International Business Machines Corporation | Dynamic redundancy for microprocessor components and circuits placed in nonoperational modes |
US8433880B2 (en) | 2009-03-17 | 2013-04-30 | Memoir Systems, Inc. | System and method for storing data in a virtualized high speed memory system |
US9442846B2 (en) * | 2009-03-17 | 2016-09-13 | Cisco Technology, Inc. | High speed memory systems and methods for designing hierarchical memory systems |
US8266408B2 (en) * | 2009-03-17 | 2012-09-11 | Memoir Systems, Inc. | System and method for storing data in a virtualized high speed memory system |
US9396118B2 (en) * | 2011-12-28 | 2016-07-19 | Intel Corporation | Efficient dynamic randomizing address remapping for PCM caching to improve endurance and anti-attack |
US8767501B2 (en) | 2012-07-17 | 2014-07-01 | International Business Machines Corporation | Self-reconfigurable address decoder for associative index extended caches |
US9158667B2 (en) | 2013-03-04 | 2015-10-13 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US8964496B2 (en) | 2013-07-26 | 2015-02-24 | Micron Technology, Inc. | Apparatuses and methods for performing compare operations using sensing circuitry |
US8971124B1 (en) | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9153305B2 (en) | 2013-08-30 | 2015-10-06 | Micron Technology, Inc. | Independently addressable memory array address spaces |
US9019785B2 (en) | 2013-09-19 | 2015-04-28 | Micron Technology, Inc. | Data shifting via a number of isolation devices |
US9449675B2 (en) | 2013-10-31 | 2016-09-20 | Micron Technology, Inc. | Apparatuses and methods for identifying an extremum value stored in an array of memory cells |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
US9934856B2 (en) | 2014-03-31 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for comparing data patterns in memory |
US9910787B2 (en) | 2014-06-05 | 2018-03-06 | Micron Technology, Inc. | Virtual address table |
US9786335B2 (en) | 2014-06-05 | 2017-10-10 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9455020B2 (en) | 2014-06-05 | 2016-09-27 | Micron Technology, Inc. | Apparatuses and methods for performing an exclusive or operation using sensing circuitry |
US9496023B2 (en) | 2014-06-05 | 2016-11-15 | Micron Technology, Inc. | Comparison operations on logical representations of values in memory |
US9830999B2 (en) | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
US9711207B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9449674B2 (en) | 2014-06-05 | 2016-09-20 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9779019B2 (en) | 2014-06-05 | 2017-10-03 | Micron Technology, Inc. | Data storage layout |
US9704540B2 (en) | 2014-06-05 | 2017-07-11 | Micron Technology, Inc. | Apparatuses and methods for parity determination using sensing circuitry |
US9711206B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US10074407B2 (en) | 2014-06-05 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for performing invert operations using sensing circuitry |
US9747961B2 (en) | 2014-09-03 | 2017-08-29 | Micron Technology, Inc. | Division operations in memory |
US9589602B2 (en) | 2014-09-03 | 2017-03-07 | Micron Technology, Inc. | Comparison operations in memory |
US10068652B2 (en) | 2014-09-03 | 2018-09-04 | Micron Technology, Inc. | Apparatuses and methods for determining population count |
US9847110B2 (en) | 2014-09-03 | 2017-12-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector |
US9904515B2 (en) | 2014-09-03 | 2018-02-27 | Micron Technology, Inc. | Multiplication operations in memory |
US9898252B2 (en) | 2014-09-03 | 2018-02-20 | Micron Technology, Inc. | Multiplication operations in memory |
US9740607B2 (en) | 2014-09-03 | 2017-08-22 | Micron Technology, Inc. | Swap operations in memory |
US9836218B2 (en) | 2014-10-03 | 2017-12-05 | Micron Technology, Inc. | Computing reduction and prefix sum operations in memory |
US9940026B2 (en) | 2014-10-03 | 2018-04-10 | Micron Technology, Inc. | Multidimensional contiguous memory allocation |
US10163467B2 (en) | 2014-10-16 | 2018-12-25 | Micron Technology, Inc. | Multiple endianness compatibility |
US10147480B2 (en) | 2014-10-24 | 2018-12-04 | Micron Technology, Inc. | Sort operation in memory |
US9779784B2 (en) | 2014-10-29 | 2017-10-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9489309B2 (en) * | 2014-10-31 | 2016-11-08 | Oracle International Corporation | Method and system for dynamic cache partitioning using address remapping |
US10073635B2 (en) | 2014-12-01 | 2018-09-11 | Micron Technology, Inc. | Multiple endianness compatibility |
US9747960B2 (en) | 2014-12-01 | 2017-08-29 | Micron Technology, Inc. | Apparatuses and methods for converting a mask to an index |
US10061590B2 (en) | 2015-01-07 | 2018-08-28 | Micron Technology, Inc. | Generating and executing a control flow |
US10032493B2 (en) | 2015-01-07 | 2018-07-24 | Micron Technology, Inc. | Longest element length determination in memory |
US9583163B2 (en) | 2015-02-03 | 2017-02-28 | Micron Technology, Inc. | Loop structure for operations in memory |
CN107408404B (zh) | 2015-02-06 | 2021-02-12 | 美光科技公司 | 用于存储器装置的设备及方法以作为程序指令的存储 |
WO2016126474A1 (en) | 2015-02-06 | 2016-08-11 | Micron Technology, Inc. | Apparatuses and methods for parallel writing to multiple memory device locations |
WO2016126472A1 (en) | 2015-02-06 | 2016-08-11 | Micron Technology, Inc. | Apparatuses and methods for scatter and gather |
US10522212B2 (en) | 2015-03-10 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for shift decisions |
US9741399B2 (en) | 2015-03-11 | 2017-08-22 | Micron Technology, Inc. | Data shift by elements of a vector in memory |
US9898253B2 (en) | 2015-03-11 | 2018-02-20 | Micron Technology, Inc. | Division operations on variable length elements in memory |
CN107430874B (zh) | 2015-03-12 | 2021-02-02 | 美光科技公司 | 用于数据移动的设备及方法 |
US10146537B2 (en) | 2015-03-13 | 2018-12-04 | Micron Technology, Inc. | Vector population count determination in memory |
US10049054B2 (en) | 2015-04-01 | 2018-08-14 | Micron Technology, Inc. | Virtual register file |
US10140104B2 (en) | 2015-04-14 | 2018-11-27 | Micron Technology, Inc. | Target architecture determination |
US9959923B2 (en) | 2015-04-16 | 2018-05-01 | Micron Technology, Inc. | Apparatuses and methods to reverse data stored in memory |
US10073786B2 (en) | 2015-05-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for compute enabled cache |
US9704541B2 (en) | 2015-06-12 | 2017-07-11 | Micron Technology, Inc. | Simulating access lines |
US9921777B2 (en) | 2015-06-22 | 2018-03-20 | Micron Technology, Inc. | Apparatuses and methods for data transfer from sensing circuitry to a controller |
US9996479B2 (en) | 2015-08-17 | 2018-06-12 | Micron Technology, Inc. | Encryption of executables in computational memory |
US9905276B2 (en) | 2015-12-21 | 2018-02-27 | Micron Technology, Inc. | Control of sensing components in association with performing operations |
US9952925B2 (en) | 2016-01-06 | 2018-04-24 | Micron Technology, Inc. | Error code calculation on sensing circuitry |
US10048888B2 (en) | 2016-02-10 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for partitioned parallel data movement |
US9892767B2 (en) | 2016-02-12 | 2018-02-13 | Micron Technology, Inc. | Data gathering in memory |
US9971541B2 (en) | 2016-02-17 | 2018-05-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US9899070B2 (en) | 2016-02-19 | 2018-02-20 | Micron Technology, Inc. | Modified decode for corner turn |
US10956439B2 (en) | 2016-02-19 | 2021-03-23 | Micron Technology, Inc. | Data transfer with a bit vector operation device |
US9697876B1 (en) | 2016-03-01 | 2017-07-04 | Micron Technology, Inc. | Vertical bit vector shift in memory |
US10262721B2 (en) | 2016-03-10 | 2019-04-16 | Micron Technology, Inc. | Apparatuses and methods for cache invalidate |
US9997232B2 (en) | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
US10379772B2 (en) | 2016-03-16 | 2019-08-13 | Micron Technology, Inc. | Apparatuses and methods for operations using compressed and decompressed data |
US9910637B2 (en) | 2016-03-17 | 2018-03-06 | Micron Technology, Inc. | Signed division in memory |
US11074988B2 (en) | 2016-03-22 | 2021-07-27 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10388393B2 (en) | 2016-03-22 | 2019-08-20 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10120740B2 (en) | 2016-03-22 | 2018-11-06 | Micron Technology, Inc. | Apparatus and methods for debugging on a memory device |
US10474581B2 (en) | 2016-03-25 | 2019-11-12 | Micron Technology, Inc. | Apparatuses and methods for cache operations |
US10977033B2 (en) | 2016-03-25 | 2021-04-13 | Micron Technology, Inc. | Mask patterns generated in memory from seed vectors |
US10074416B2 (en) | 2016-03-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10430244B2 (en) | 2016-03-28 | 2019-10-01 | Micron Technology, Inc. | Apparatuses and methods to determine timing of operations |
US10073775B2 (en) * | 2016-04-01 | 2018-09-11 | Intel Corporation | Apparatus and method for triggered prefetching to improve I/O and producer-consumer workload efficiency |
US10453502B2 (en) | 2016-04-04 | 2019-10-22 | Micron Technology, Inc. | Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions |
US10607665B2 (en) | 2016-04-07 | 2020-03-31 | Micron Technology, Inc. | Span mask generation |
US9818459B2 (en) | 2016-04-19 | 2017-11-14 | Micron Technology, Inc. | Invert operations using sensing circuitry |
US9659605B1 (en) | 2016-04-20 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US10153008B2 (en) | 2016-04-20 | 2018-12-11 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US10042608B2 (en) | 2016-05-11 | 2018-08-07 | Micron Technology, Inc. | Signed division in memory |
US9659610B1 (en) | 2016-05-18 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for shifting data |
US10049707B2 (en) | 2016-06-03 | 2018-08-14 | Micron Technology, Inc. | Shifting data |
US10387046B2 (en) | 2016-06-22 | 2019-08-20 | Micron Technology, Inc. | Bank to bank data transfer |
US10037785B2 (en) | 2016-07-08 | 2018-07-31 | Micron Technology, Inc. | Scan chain operation in sensing circuitry |
US10388360B2 (en) | 2016-07-19 | 2019-08-20 | Micron Technology, Inc. | Utilization of data stored in an edge section of an array |
US10387299B2 (en) | 2016-07-20 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods for transferring data |
US10733089B2 (en) | 2016-07-20 | 2020-08-04 | Micron Technology, Inc. | Apparatuses and methods for write address tracking |
US9972367B2 (en) | 2016-07-21 | 2018-05-15 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US9767864B1 (en) | 2016-07-21 | 2017-09-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in a sensing circuitry element |
US10303632B2 (en) | 2016-07-26 | 2019-05-28 | Micron Technology, Inc. | Accessing status information |
US10468087B2 (en) | 2016-07-28 | 2019-11-05 | Micron Technology, Inc. | Apparatuses and methods for operations in a self-refresh state |
US9990181B2 (en) | 2016-08-03 | 2018-06-05 | Micron Technology, Inc. | Apparatuses and methods for random number generation |
US11029951B2 (en) | 2016-08-15 | 2021-06-08 | Micron Technology, Inc. | Smallest or largest value element determination |
US10606587B2 (en) | 2016-08-24 | 2020-03-31 | Micron Technology, Inc. | Apparatus and methods related to microcode instructions indicating instruction types |
US10466928B2 (en) | 2016-09-15 | 2019-11-05 | Micron Technology, Inc. | Updating a register in memory |
US10387058B2 (en) | 2016-09-29 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods to change data category values |
US10014034B2 (en) | 2016-10-06 | 2018-07-03 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US10529409B2 (en) | 2016-10-13 | 2020-01-07 | Micron Technology, Inc. | Apparatuses and methods to perform logical operations using sensing circuitry |
US9805772B1 (en) | 2016-10-20 | 2017-10-31 | Micron Technology, Inc. | Apparatuses and methods to selectively perform logical operations |
CN207637499U (zh) | 2016-11-08 | 2018-07-20 | 美光科技公司 | 用于形成在存储器单元阵列上方的计算组件的设备 |
US10423353B2 (en) | 2016-11-11 | 2019-09-24 | Micron Technology, Inc. | Apparatuses and methods for memory alignment |
US9761300B1 (en) | 2016-11-22 | 2017-09-12 | Micron Technology, Inc. | Data shift apparatuses and methods |
US10402340B2 (en) | 2017-02-21 | 2019-09-03 | Micron Technology, Inc. | Memory array page table walk |
US10403352B2 (en) | 2017-02-22 | 2019-09-03 | Micron Technology, Inc. | Apparatuses and methods for compute in data path |
US10268389B2 (en) | 2017-02-22 | 2019-04-23 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10838899B2 (en) | 2017-03-21 | 2020-11-17 | Micron Technology, Inc. | Apparatuses and methods for in-memory data switching networks |
US11222260B2 (en) | 2017-03-22 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for operating neural networks |
US10185674B2 (en) | 2017-03-22 | 2019-01-22 | Micron Technology, Inc. | Apparatus and methods for in data path compute operations |
US10049721B1 (en) | 2017-03-27 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10147467B2 (en) | 2017-04-17 | 2018-12-04 | Micron Technology, Inc. | Element value comparison in memory |
US10043570B1 (en) | 2017-04-17 | 2018-08-07 | Micron Technology, Inc. | Signed element compare in memory |
US9997212B1 (en) | 2017-04-24 | 2018-06-12 | Micron Technology, Inc. | Accessing data in memory |
US10942843B2 (en) | 2017-04-25 | 2021-03-09 | Micron Technology, Inc. | Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes |
US10236038B2 (en) | 2017-05-15 | 2019-03-19 | Micron Technology, Inc. | Bank to bank data transfer |
US10068664B1 (en) | 2017-05-19 | 2018-09-04 | Micron Technology, Inc. | Column repair in memory |
US10013197B1 (en) | 2017-06-01 | 2018-07-03 | Micron Technology, Inc. | Shift skip |
US10262701B2 (en) | 2017-06-07 | 2019-04-16 | Micron Technology, Inc. | Data transfer between subarrays in memory |
US10152271B1 (en) | 2017-06-07 | 2018-12-11 | Micron Technology, Inc. | Data replication |
US10318168B2 (en) | 2017-06-19 | 2019-06-11 | Micron Technology, Inc. | Apparatuses and methods for simultaneous in data path compute operations |
US10162005B1 (en) | 2017-08-09 | 2018-12-25 | Micron Technology, Inc. | Scan chain operations |
US10534553B2 (en) | 2017-08-30 | 2020-01-14 | Micron Technology, Inc. | Memory array accessibility |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
US10741239B2 (en) | 2017-08-31 | 2020-08-11 | Micron Technology, Inc. | Processing in memory device including a row address strobe manager |
US10346092B2 (en) | 2017-08-31 | 2019-07-09 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations using timing circuitry |
US10409739B2 (en) | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
US10522210B2 (en) | 2017-12-14 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for subarray addressing |
US10332586B1 (en) | 2017-12-19 | 2019-06-25 | Micron Technology, Inc. | Apparatuses and methods for subrow addressing |
US10614875B2 (en) | 2018-01-30 | 2020-04-07 | Micron Technology, Inc. | Logical operations using memory cells |
US11194477B2 (en) | 2018-01-31 | 2021-12-07 | Micron Technology, Inc. | Determination of a match between data values stored by three or more arrays |
US10437557B2 (en) | 2018-01-31 | 2019-10-08 | Micron Technology, Inc. | Determination of a match between data values stored by several arrays |
CN110197265B (zh) * | 2018-02-27 | 2021-01-05 | 安徽寒武纪信息科技有限公司 | 集成电路芯片装置及相关产品 |
US10725696B2 (en) | 2018-04-12 | 2020-07-28 | Micron Technology, Inc. | Command selection policy with read priority |
US10440341B1 (en) | 2018-06-07 | 2019-10-08 | Micron Technology, Inc. | Image processor formed in an array of memory cells |
US10769071B2 (en) | 2018-10-10 | 2020-09-08 | Micron Technology, Inc. | Coherent memory access |
US11175915B2 (en) | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
US10483978B1 (en) | 2018-10-16 | 2019-11-19 | Micron Technology, Inc. | Memory device processing |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US10867655B1 (en) | 2019-07-08 | 2020-12-15 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11360768B2 (en) | 2019-08-14 | 2022-06-14 | Micron Technolgy, Inc. | Bit string operations in memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
US20230214222A1 (en) * | 2021-12-30 | 2023-07-06 | Arm Limited | Methods and apparatus for storing instruction information |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5019971A (en) * | 1987-04-13 | 1991-05-28 | Prime Computer, Inc. | High availability cache organization |
US4868869A (en) * | 1988-01-07 | 1989-09-19 | Clarity | Digital signal processor for providing timbral change in arbitrary audio signals |
US4905141A (en) * | 1988-10-25 | 1990-02-27 | International Business Machines Corporation | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification |
US5070250A (en) * | 1989-02-28 | 1991-12-03 | Nikon Corporation | Position detection apparatus with adjustable beam and interference fringe positions |
DE69331061T2 (de) * | 1992-08-10 | 2002-06-06 | Monolithic System Tech Inc | Fehlertolerantes hierarchisiertes Bussystem |
US5584002A (en) * | 1993-02-22 | 1996-12-10 | International Business Machines Corporation | Cache remapping using synonym classes |
US5519846A (en) * | 1993-12-23 | 1996-05-21 | Unisys Corporation | Multiprocessor system with scheme for managing allocation and reservation of cache segments in a cache system employing round-robin replacement and exclusive access |
DE69421379T2 (de) * | 1994-03-31 | 2000-05-11 | St Microelectronics Inc | Wiederverwendbarer Mehrwegsatz assoziativer Cache-Speicher |
US5655113A (en) * | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
TW358907B (en) * | 1994-11-22 | 1999-05-21 | Monolithic System Tech Inc | A computer system and a method of using a DRAM array as a next level cache memory |
US5958068A (en) * | 1997-04-14 | 1999-09-28 | International Business Machines Corporation | Cache array defect functional bypassing using repair mask |
US5978888A (en) * | 1997-04-14 | 1999-11-02 | International Business Machines Corporation | Hardware-managed programmable associativity caching mechanism monitoring cache misses to selectively implement multiple associativity levels |
US6408401B1 (en) * | 1998-11-13 | 2002-06-18 | Compaq Information Technologies Group, L.P. | Embedded RAM with self-test and self-repair with spare rows and columns |
US6467048B1 (en) * | 1999-10-07 | 2002-10-15 | Compaq Information Technologies Group, L.P. | Apparatus, method and system for using cache memory as fail-over memory |
US6188615B1 (en) * | 1999-10-29 | 2001-02-13 | Hewlett-Packard Company | MRAM device including digital sense amplifiers |
US6745293B2 (en) * | 2000-08-21 | 2004-06-01 | Texas Instruments Incorporated | Level 2 smartcache architecture supporting simultaneous multiprocessor accesses |
US6671822B1 (en) * | 2000-08-31 | 2003-12-30 | Hewlett-Packard Development Company, L.P. | Method and system for absorbing defects in high performance microprocessor with a large n-way set associative cache |
JP4726290B2 (ja) * | 2000-10-17 | 2011-07-20 | ルネサスエレクトロニクス株式会社 | 半導体集積回路 |
US6725336B2 (en) * | 2001-04-20 | 2004-04-20 | Sun Microsystems, Inc. | Dynamically allocated cache memory for a multi-processor unit |
-
2004
- 2004-08-17 AT AT04769812T patent/ATE366985T1/de not_active IP Right Cessation
- 2004-08-17 CN CN2004800252806A patent/CN1846278B/zh not_active Expired - Fee Related
- 2004-08-17 EP EP04769812A patent/EP1665286B8/en not_active Not-in-force
- 2004-08-17 JP JP2006525220A patent/JP2007504548A/ja not_active Withdrawn
- 2004-08-17 WO PCT/IB2004/051465 patent/WO2005024843A1/en active IP Right Grant
- 2004-08-17 DE DE602004007532T patent/DE602004007532T2/de active Active
- 2004-08-17 US US10/570,290 patent/US7827372B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1846278A (zh) | 2006-10-11 |
DE602004007532D1 (de) | 2007-08-23 |
EP1665286A1 (en) | 2006-06-07 |
DE602004007532T2 (de) | 2008-03-20 |
EP1665286B1 (en) | 2007-07-11 |
US20070005897A1 (en) | 2007-01-04 |
EP1665286B8 (en) | 2007-09-12 |
US7827372B2 (en) | 2010-11-02 |
CN1846278B (zh) | 2010-04-28 |
ATE366985T1 (de) | 2007-08-15 |
WO2005024843A1 (en) | 2005-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1665286B1 (en) | Integrated circuit and a method of cache remapping | |
US9864703B2 (en) | Cache memory having enhanced performance and security features | |
US20210406170A1 (en) | Flash-Based Coprocessor | |
KR101826073B1 (ko) | 메모리 관리를 위한 캐시 동작들 | |
US7689772B2 (en) | Power-performance modulation in caches using a smart least recently used scheme | |
KR100962058B1 (ko) | 스레드 식별자에 기초한 캐시 축출을 갖춘 멀티스레드 캐시의 방법 및 장치 | |
US6877067B2 (en) | Shared cache memory replacement control method and apparatus | |
US8990505B1 (en) | Cache memory bank selection | |
US10860495B2 (en) | Storage circuitry responsive to a tag-matching command | |
KR20050069934A (ko) | 캐시 교체 정책의 간이화한 구현을 갖춘 멀티스레드캐시의 방법 및 장치 | |
US7134057B1 (en) | Off-pitch column redundancy using dynamic shifters | |
US8751751B2 (en) | Method and apparatus for minimizing cache conflict misses | |
EP2926257B1 (en) | Memory management using dynamically allocated dirty mask space | |
JP5974133B1 (ja) | メモリシステム | |
JPH08227380A (ja) | データ処理システム | |
US9652397B2 (en) | Dynamic power reduction and performance improvement in caches using fast access | |
US20210056030A1 (en) | Multi-level system memory with near memory capable of storing compressed cache lines | |
US7024536B2 (en) | Translation look-aside buffer for improving performance and reducing power consumption of a memory and memory management method using the same | |
US5710905A (en) | Cache controller for a non-symetric cache system | |
US7606994B1 (en) | Cache memory system including a partially hashed index | |
US20220398198A1 (en) | Tags and data for caches | |
US11822483B2 (en) | Operating method of memory system including cache memory for supporting various chunk sizes | |
TW201824270A (zh) | 積體電路 | |
US6601155B2 (en) | Hot way caches: an energy saving technique for high performance caches | |
JP3540388B2 (ja) | コンピュータシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070815 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080619 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20091006 |