JP2007504548A - 集積回路およびキャッシュ・リマッピングの方法 - Google Patents

集積回路およびキャッシュ・リマッピングの方法 Download PDF

Info

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
Application number
JP2006525220A
Other languages
English (en)
Inventor
アドリアヌス、イェー.ビンク
ポール、ストラフェーズ
Original Assignee
コニンクリユケ フィリップス エレクトロニクス エヌ.ブイ.
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 コニンクリユケ フィリップス エレクトロニクス エヌ.ブイ. filed Critical コニンクリユケ フィリップス エレクトロニクス エヌ.ブイ.
Publication of JP2007504548A publication Critical patent/JP2007504548A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking 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つまたは同じアイテムによって実施することもできる。ある種の対策が相互に異なる従属請求項中に列挙されるという単なる事実は、これらの対策の組合せを使用して恩恵を得ることができないことを示すものではない。
さらに、これらの請求項中のどのような参照符号もこれらの請求項の範囲を限定するものと解釈すべきではない。
全体的なシステム・アーキテクチャを示す図である。 リマッピング・オペレーションの前後のキャッシュ・モジュールを示す図である。 第1の実施形態によるキャッシュの選択信号回路の一構成を示す図である。 第2の実施形態によるキャッシュの選択信号回路の一構成を示す図である。 図2によるリマッピングについてのルックアップ・テーブルを示す図である。 第4の実施形態によるルックアップ・テーブルを示す図である。

Claims (8)

  1. 少なくとも1つの処理ユニットと、
    データをキャッシュするための複数のメモリ・モジュールを有するキャッシュ・メモリと、
    前記複数のメモリ・モジュール内で制限されないリマッピングを実施するためのリマッピング手段と
    を備える集積回路。
  2. 前記キャッシュ・メモリが、セット・アソシエイティブ方式キャッシュである、請求項1に記載の集積回路。
  3. 前記リマッピング手段が、プログラム可能置換機能に基づいて前記リマッピングを実施するように適合されている、請求項1または2に記載の集積回路。
  4. 前記リマッピング手段が、低減マッピングに基づいて前記リマッピングを実施するように適合されている、請求項1または2に記載の集積回路。
  5. どのデータが前記キャッシュ・メモリにキャッシュされるかを識別するための、前記キャッシュに関連するタグRAMユニットをさらに備え、
    前記リマッピング手段が、前記タグRAMユニットと直列に構成される、請求項1に記載の集積回路。
  6. どのデータが前記キャッシュ・メモリにキャッシュされるかを識別するための、前記キャッシュに関連するタグRAMユニットをさらに備え、
    前記リマッピング手段が、前記タグRAMユニットと並列に構成される、請求項1に記載の集積回路。
  7. 故障メモリ・モジュールをマーク付けするためのルックアップ・テーブルをさらに含む、請求項5または6に記載の集積回路。
  8. 少なくとも1つの処理ユニットと、データを記憶するための主記憶装置と、データをキャッシュするための複数のメモリ・モジュールを有するキャッシュ・メモリとを有する集積回路におけるキャッシュ・リマッピングの方法であって、
    前記複数のメモリ・モジュール内で制限されないリマッピングを実施するステップを含む、方法。
JP2006525220A 2003-09-04 2004-08-17 集積回路およびキャッシュ・リマッピングの方法 Withdrawn JP2007504548A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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