JP4652344B2 - 圧縮されたキャッシュラインのワース・オブ・インフォメーションを利用したマルチプロセッサ計算システム及び当該システムに利用可能なプロセッサ - Google Patents
圧縮されたキャッシュラインのワース・オブ・インフォメーションを利用したマルチプロセッサ計算システム及び当該システムに利用可能なプロセッサ Download PDFInfo
- Publication number
- JP4652344B2 JP4652344B2 JP2006549516A JP2006549516A JP4652344B2 JP 4652344 B2 JP4652344 B2 JP 4652344B2 JP 2006549516 A JP2006549516 A JP 2006549516A JP 2006549516 A JP2006549516 A JP 2006549516A JP 4652344 B2 JP4652344 B2 JP 4652344B2
- Authority
- JP
- Japan
- Prior art keywords
- cache line
- information
- cache
- compressed
- compression
- 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
Links
- 230000015654 memory Effects 0.000 claims description 309
- 238000007906 compression Methods 0.000 claims description 274
- 230000006835 compression Effects 0.000 claims description 272
- 238000000034 method Methods 0.000 claims description 76
- 230000006837 decompression Effects 0.000 claims description 67
- 238000012545 processing Methods 0.000 claims description 22
- 239000000872 buffer Substances 0.000 claims description 16
- 230000003139 buffering effect Effects 0.000 claims description 2
- 238000002372 labelling Methods 0.000 claims 2
- 238000013459 approach Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 12
- 238000012546 transfer Methods 0.000 description 11
- 230000004044 response Effects 0.000 description 9
- 230000007704 transition Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
Images
Classifications
-
- 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/0877—Cache access modes
- G06F12/0886—Variable-length word access
-
- 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
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Description
本発明の技術分野は、一般に計算システムに関し、より詳細には、圧縮されたキャッシュラインのワース・オブ・インフォメーション(worth of information)を利用したマルチプロセッサ計算システム及び当該マルチプロセッサ計算システムに利用可能なプロセッサに関する。
図1は、1)プロセッサ101と、2)キャッシュ102と、3)メモリコントローラ103と、4)システムメモリ104とを有する基本的な計算システムのアーキテクチャの一部を示す。プロセッサ101は、データの各要素に対して各種処理を実行する命令を実行することによって、ソフトウェアルーチンを実現する。これらの命令及びデータ要素は、キャッシュ1022及び/又はシステムメモリ104に格納されている。プロセッサ101が特定の命令又はデータ要素を必要とするとき、それをシステムメモリ104からリクエストする前に、所望の命令又はデータ要素に対してキャッシュ102を検索する。
・キャッシュラインのワース・オブ・インフォメーションの圧縮
問題を明確にするため、キャッシュラインは、キャッシュ内の格納スペースの基本単位である。例えば、多くのアプリケーションでは、一意的なタグ及びセットアドレスが、計算システムのキャッシュ内の1つのキャッシュラインを具体的に特定するのに利用される。従って、キャッシュラインは、特定の電気回路要素(SRAMセルなど)により実現される。他方、「キャッシュラインのワース・オブ・インフォメーション(worth of information)」又は「ライン・オブ・インフォメーション(line of information)」とは、キャッシュラインを充填し得る情報量(データ要素又は命令など)である。ここで、図2の説明に戻って、「ブロック」105に格納されている情報量は、ブロック105のコンテンツがキャッシュライン107を充填するため、キャッシュラインとのワース・オブ・インフォメーションに対応する。
シングルプロセッサ環境に関して、メモリコントローラは、圧縮/解凍動作が行われていることをほとんど認識することなく動作可能である。すなわち、例えば、プロセッサ401は、圧縮されているキャッシュラインのワース・オブ・インフォメーションと、圧縮されていないものとを「追跡」及び処理してもよく、対照的に、メモリコントローラは、プロセッサ401により割り当てられた識別子又はラベルに従って、データブロックを単に読み書きするよう構成される。
図4bは、メモリコントローラ403aによってそれのシステムメモリ404内の圧縮された情報の有無を認識するのに利用可能な圧縮マップ412と呼ばれる情報ボディに対する3つの実施例412a、412b及び412cを提供する。まず、「基本実施例」412aを参照するに、圧縮マップ412aは、システムメモリ404内の各情報ブロックについて、当該ブロックの対応するキャッシュラインのワース・オブ・インフォメーションが、圧縮形式又は非圧縮形式によりシステムメモリ404に現在格納されているか否か特定するビットマップとしてシステムメモリ404に格納されてもよいということに留意されたい。
上述のように、圧縮マップは、メインメモリに格納されているあるキャッシュラインのワース・オブ・インフォメーションが、圧縮されているか、又は圧縮されていないか表す。様々な実施例において、それは、メモリの圧縮状態を変更するメモリの各書き込みにより更新される。圧縮マップは、少なくとも以下の3つの目的のため、すなわち、1)非重複的スキームにより圧縮された上位のキャッシュラインのワース・オブ・インフォメーションのターゲットアドレスを効果的に変更するため、2)システムから読み出されたキャッシュラインのワース・オブ・インフォメーションが、解凍を実行するメモリコントローラによって解凍されるべきか、あるいはされないべきか決定するため、3)各コンパニオンに対するリクエストが認識され、当該コンパニオンが圧縮されていた場合、システムメモリアクセスを抑制するため、利用することが可能である。上記のそれぞれは、システムメモリへの書き込み及び読み出しに関して、以下においてより十分に説明される。
図5aは、キャッシュラインのワース・オブ・インフォメーションをシステムメモリのブロックに書き込むためのメモリコントローラメソッド551と552のペアを示す。図5aのメソッド551と552のそれぞれは、圧縮マップを呼び出す。第1の方法551によると、メモリコントローラ551によって、圧縮されたキャッシュラインのワース・オブ・インフォメーションが受信される(例えば、プロセッサから送信されるとき)。圧縮されたキャッシュラインのワース・オブ・インフォメーションは、圧縮フォーマットによるものとしてメモリコントローラに特定されることが前提とされている(例えば、アクティブ化されたライン又はコントロールヘッダの設定ビットによって)。圧縮されたキャッシュラインのワース・オブ・インフォメーションの受付により、メモリコントローラは、受け付けたキャッシュラインのワース・オブ・インフォメーションが圧縮されていることを反映させるため、圧縮マップを更新する(502)。図4bの実施例412〜412c又はその変形の何れかが、圧縮マップを実現するのに利用可能である。
図5bは、3つのメモリコントローラメソッド553、554及び555を示す。第1の読み出しメソッド実施例553は、図4cに示されるものなど、メモリコントローラがキャッシュラインの圧縮及び解凍を実行し、メモリコントローラが通信するプロセッサが、圧縮された情報をサポートするキャッシュラインを使用しない実施形態に関するものである。また、システムメモリから読み出される(507)何れかのキャッシュラインのワース・オブ・インフォメーションについて、メモリコントローラは、読み出される情報が圧縮されているか確認するため、圧縮マップを参照する(508)(圧縮マップへの参照508は、読み出し(507)後のものとして示されるが、あるいは、読み出し(507)とパラレルに及び/又は読み出し(507)前に実行されてもよいということに留意されたい)。読み出されたキャッシュラインのワース・オブ・インフォメーションが圧縮されている場合、メモリコントローラはそれを解凍する(509,510)。読み出されたキャッシュラインのワース・オブ・インフォメーションが圧縮されていない場合、メモリコントローラは、それを解凍しようとはしない(509,510)。
図5cは、図5bに関して上述された圧縮マップ508、514及び521への参照に関する3つの方法556、557及び558を提供する。特に、方法556は、図5bの圧縮マップ参照508、514及び521の何れかを実現するのに利用可能なプロセスのより詳細な図を示す。方法556は、システムメモリに存在する圧縮マップとメモリコントローラの圧縮マップのキャッシュの新規な特徴により適用されたとしても、基本的なキャッシュ/システムメモリ読み出しプロセスに対応する。すなわち、圧縮マップ556を参照するため、メモリコントローラはまず、それのオンボード圧縮マップキャッシュ413を参照する(525)。
図6a〜6cは、各メモリコントローラの実施例603が、圧縮マップキャッシュ613a、613b及び613cを含む様々なメモリコントローラの実施例603a、603b及び603cを示している。実施例613aは、圧縮又は解凍ロジック回路を有しない。実施例613bは、解凍回路616bを有する。実施例613cは、圧縮ロジック回路616dと、解凍ロジック回路616cとを有する。各実施例613a、603b及び603cについて、バス/ポイント・ツー・ポイントリンクインタフェース601は、1)メモリ読み出し及びメモリ書き込みに対するリクエストが受け付けられ、2)当該リクエストに対するレスポンスが与えられるメモリコントローラのインタフェースに対応する。リクエストはバス(フロントサイドマルチドロップバスなど)を介し受け付け及びレスポンスされ、及び/又はポイント・ツー・ポイントリンク(リクエストを受け付ける第1インバウンドリンクト、レスポンスを送信する第2アウトバウンドリンクなど)を介し受け付け及びレスポンスされるため、インタフェース601は、バス及び/又はポイント・ツー・ポイントリンクとのインタフェースであってもよい。
マルチプロセッサシステム
図7は、複数のキャッシュラインのワース・オブ・データの1つのキャッシュラインへの圧縮を容易にするよう調整されるマルチプロセッサ計算システムのアーキテクチャを示す。圧縮されたキャッシュラインのワース・オブ・データを送受信可能であり、圧縮マップ情報を維持するメモリコントローラは(図4aに上述されるような)、図7に開示される特定のマルチプロセッサアーキテクチャに一体化されるようにしてもよい。図7のアプローチによると、圧縮/解凍ロジック7071と7072は、計算システム内において圧縮が命令/データ要素の異なるタイプの転送中に適用可能となるように、計算サブシステム7111と7112の「ハブ」7101と7102の内部に配置される。圧縮を利用する一例となる計算システムの転送がさらに、図8a〜8cに関して以下でさらに説明される。
使用されるマルチプロセッサアーキテクチャ環境の正確なタイプに関係なく、キャッシュコヒーレンシルールが使用されるべきである。複数のプロセッサがそれらが共有するデータを変更することが可能であるとき、最も「直近の」データを追跡することが重要であり、そうでない場合には、プロセッサは偶然に「ステール(stale)」情報により動作するかもしれない。キャッシュコヒーレンシルールを実現することによって、マルチプロセッサ環境内のプロセッサは、計算システム内のデータ要素の状態を互いに協力して通知し、それらに適切に反応する。図7は、以下で説明されるようなキャッシュコヒーレンシルールを実現するためのロジック回路(ロジックゲートを有する回路など)を含む各圧縮/解凍ハブ7101と7102に関するキャッシュコヒーレンシルールロジック7151と7152を示す。キャッシュコヒーレンシルールロジックが圧縮は部の一部であるか否かは、実施例毎に可変とされる。キャッシュコヒーレンシルールロジックは、適用可能なキャッシュコヒーレンシルールが有効化できるように、ある方法によりそれのプロセッサの対応するプロセッサに接続されるべきである(そうでない場合、対応するプロセッサの外部インタフェースも(圧縮/解凍ハブなど)。
上述のシステムの実施例が、キャッシュラインのワース・オブ・インフォメーションを圧縮及び解凍することが可能なキャッシュコントローラを使用可能であるため、図16〜20に関する説明は、圧縮/解凍処理が可能なキャッシュコントローラの実施例に関する。図16Aは、従来のキャッシュにおいて実現される一例となるメモリアドレスを示す。従来のキャッシュでは、アドレスは、タグ、セット及びオフセットコンポーネントにより分割される。セットコンポーネントは、ラインセットの1つを選択するのに使用される。同様に、オフセットコンポーネントは、ライン内のバイトを選択するのに使用されるアドレスの下位ビットである。図16Bは、圧縮された情報により動作可能なキャッシュ(以降、「圧縮されたキャッシュ」と呼ぶ)内の検索のために実現されるメモリアドレスの一実施例を示す。図16Bは、情報のコンパニオンラインを同一のセットにマッピングするのに用いられるコンパニオンビットの実現形態を示す。コンパニオンビットは、1ラインの情報が圧縮されないインスタンスにおいて使用される。従って、1ラインの情報が圧縮されていない場合、コンパニオンビットは、2つの圧縮されたコンパニオンラインの情報の何れが利用されるべきか示す。
本発明の実施例は、半導体チップ内だけでなく、マシーン可読媒体内においてもまた実現可能であるということに留意されたい。例えば、上述の構成は、半導体装置を設計するのに用いられる設計ツールに関するマシーン可読媒体内に格納及び/又は埋め込まれてもよい。例えば、VHSIC VHDL(Hardware Description Language)言語、Verilog言語又はSPICE言語によりフォーマット化された回路記述を含む。いくつかの回路記述の例として、動作レベル記述、RTL(Register Transfer Level)記述、ゲートレベルネットリスト及びトランジスタレベルネットリストがあげられる。マシーン可読媒体はまた、GDS−IIファイルなどのレイアウト情報を有する媒体を含むものであってもよい。さらに、ネットリストファイル又は半導体チップ構成の他のマシーン可読媒体は、上述の教示の方法を実行するため、シミュレーション環境において利用されてもよい。
Claims (13)
- CPU(Central Processing Unit)コアと、各キャッシュラインが追加的なデータを格納するための圧縮されたキャッシュラインを形成するよう圧縮可能な複数のキャッシュラインを有するキャッシュメモリと、キャッシュコヒーレンシルールロジック回路と、圧縮/解凍ロジックとを有するCPUと、
前記CPUに接続されるメモリコントローラであって、システムメモリのデータブロックに対応するキャッシュラインが圧縮形式であるかと、圧縮形式により格納される各キャッシュラインのついて用いられる圧縮タイプとを示す圧縮マップを有するメモリコントローラと、
を有するコンピュータシステム。 - 前記キャッシュコヒーレンシルールロジック回路は、少なくとも1つのキャッシュコヒーレンシルールに従ってキャッシュラインのワース・オブ・インフォメーションをラベル付けし、
前記少なくとも1つのキャッシュコヒーレンシルールは、
a)前記キャッシュラインのワース・オブ・インフォメーションが、当該圧縮されたキャッシュラインのワース・オブ・インフォメーションが圧縮されたままであることを可能にする新たな情報により書き込まれた圧縮されたキャッシュラインのワース・オブ・インフォメーションである場合、前記圧縮されたキャッシュラインのワース・オブ・インフォメーションをそれの以前の状態に関係なくModified状態に維持することと、
b)前記キャッシュラインのワース・オブ・インフォメーションが、新たな情報により書き込み後は圧縮されたままとすることができない圧縮されたキャッシュラインのワース・オブ・インフォメーションから得られた圧縮されていないキャッシュラインのワース・オブ・インフォメーションである場合、該圧縮されていないキャッシュラインのワース・オブ・インフォメーションをModified状態であるとしてラベル付けすることと、
c)前記キャッシュラインのワース・オブ・インフォメーションが、圧縮されていないキャッシュラインのワース・オブ・インフォメーションと該圧縮されていないキャッシュラインのワース・オブ・インフォメーションのコンパニオンとを圧縮することによって生成される圧縮されたキャッシュラインのワース・オブ・インフォメーションである場合、前記圧縮されたキャッシュラインのワース・オブ・インフォメーションをModified状態であるとしてラベル付けすることと、
から構成される群から選択されることを特徴とする、請求項1記載のコンピュータシステム。 - 前記圧縮マップは、前記システムメモリにおける整列された各ブロックの状態を提供するビットを含む、請求項1記載のコンピュータシステム。
- 前記圧縮/解凍ロジックは、キャッシュラインデータが前記CPUコアから前記キャッシュメモリにわたされると、前記キャッシュラインデータをコンパニオンキャッシュラインにより圧縮するよう動作可能である、請求項1記載のコンピュータシステム。
- 前記圧縮/解凍ロジックは、キャッシュラインデータが前記システムメモリにわたされる前に、前記キャッシュラインデータをコンパニオンキャッシュラインにより圧縮するよう動作可能である、請求項1記載のコンピュータシステム。
- 前記圧縮/解凍ロジックは、キャッシュラインデータが第2のCPUにわたされる前に、前記キャッシュラインデータをコンパニオンキャッシュラインにより圧縮するよう動作可能である、請求項1記載のコンピュータシステム。
- 前記CPUはさらに、キャッシュラインデータが前記圧縮/解凍ロジックにおいて圧縮される前に、前記キャッシュラインデータを一時的に格納するバッファを有する、請求項1記載のコンピュータシステム。
- 圧縮されていないキャッシュラインデータを送受信するコンポーネントと通信する第1インタフェースと、
圧縮されたキャッシュラインデータを送受信するコンポーネントと通信する第2インタフェースと、
をさらに有する、請求項1記載のコンピュータシステム。 - 1以上の圧縮されたキャッシュラインを形成するため、複数のキャッシュラインの1以上を圧縮するステップと、
システムメモリのデータブロックに対応するキャッシュラインが圧縮形式であることを示し、圧縮形式により格納される各キャッシュラインに用いられる圧縮タイプを示すメモリコントローラ内の圧縮マップを更新するステップと、
を有する方法。 - 前記圧縮されたキャッシュラインをキャッシュメモリに格納するステップをさらに有する、請求項9記載の方法。
- 前記圧縮マップを更新するステップは、前記データブロックに係る状態ビットを更新することを含む、請求項9記載の方法。
- キャッシュラインを圧縮する前に、前記キャッシュラインに対応するデータをバッファするステップをさらに有する、請求項9記載の方法。
- 前記圧縮されたキャッシュラインを前記システムメモリに送信するステップをさらに有する、請求項12記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/759,922 US7257693B2 (en) | 2004-01-15 | 2004-01-15 | Multi-processor computing system that employs compressed cache lines' worth of information and processor capable of use in said system |
PCT/US2005/000797 WO2005071550A2 (en) | 2004-01-15 | 2005-01-10 | Multi-processor computing system that employs compressed cache lines’ worth of information and processor capable of use in said system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007520813A JP2007520813A (ja) | 2007-07-26 |
JP4652344B2 true JP4652344B2 (ja) | 2011-03-16 |
Family
ID=34749798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006549516A Expired - Fee Related JP4652344B2 (ja) | 2004-01-15 | 2005-01-10 | 圧縮されたキャッシュラインのワース・オブ・インフォメーションを利用したマルチプロセッサ計算システム及び当該システムに利用可能なプロセッサ |
Country Status (4)
Country | Link |
---|---|
US (1) | US7257693B2 (ja) |
JP (1) | JP4652344B2 (ja) |
CN (1) | CN100524251C (ja) |
WO (1) | WO2005071550A2 (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103685B1 (en) * | 2004-01-16 | 2006-09-05 | Xilinx, Inc. | Bitstream compression with don't care values |
JP4164452B2 (ja) * | 2004-02-02 | 2008-10-15 | キヤノン株式会社 | 情報処理方法及び装置 |
US7482954B1 (en) | 2005-02-25 | 2009-01-27 | Xilinx, Inc. | Bitstream compression for a programmable device |
US20060279561A1 (en) * | 2005-04-19 | 2006-12-14 | Semiconductor Energy Laboratory Co., Ltd. | Display device |
US8504791B2 (en) | 2007-01-26 | 2013-08-06 | Hicamp Systems, Inc. | Hierarchical immutable content-addressable memory coprocessor |
TWI417722B (zh) * | 2007-01-26 | 2013-12-01 | Hicamp Systems Inc | 階層式不可改變的內容可定址的記憶體處理器 |
US9601199B2 (en) | 2007-01-26 | 2017-03-21 | Intel Corporation | Iterator register for structured memory |
US8407428B2 (en) | 2010-05-20 | 2013-03-26 | Hicamp Systems, Inc. | Structured memory coprocessor |
US7444596B1 (en) * | 2007-11-29 | 2008-10-28 | International Business Machines Corporation | Use of template messages to optimize a software messaging system |
JP5188348B2 (ja) * | 2008-09-25 | 2013-04-24 | 三菱電機株式会社 | データアクセス装置 |
US9378560B2 (en) * | 2011-06-17 | 2016-06-28 | Advanced Micro Devices, Inc. | Real time on-chip texture decompression using shader processors |
US9477605B2 (en) * | 2013-07-11 | 2016-10-25 | Advanced Micro Devices, Inc. | Memory hierarchy using row-based compression |
US11132300B2 (en) | 2013-07-11 | 2021-09-28 | Advanced Micro Devices, Inc. | Memory hierarchy using page-based compression |
US9292449B2 (en) * | 2013-12-20 | 2016-03-22 | Intel Corporation | Cache memory data compression and decompression |
WO2015199574A1 (en) * | 2014-06-27 | 2015-12-30 | Emc Corporation | Techniques for automatically freeing space in a log-structured storage system |
US9361228B2 (en) | 2014-08-05 | 2016-06-07 | Qualcomm Incorporated | Cache line compaction of compressed data segments |
US9612971B2 (en) | 2014-08-19 | 2017-04-04 | Qualcomm Incorporated | Supplemental write cache command for bandwidth compression |
US9858196B2 (en) | 2014-08-19 | 2018-01-02 | Qualcomm Incorporated | Power aware padding |
WO2016175842A1 (en) * | 2015-04-30 | 2016-11-03 | Hewlett Packard Enterprise Development Lp | Retrieve data block from determined devices |
US10025956B2 (en) * | 2015-12-18 | 2018-07-17 | Intel Corporation | Techniques to compress cryptographic metadata for memory encryption |
US10067706B2 (en) | 2016-03-31 | 2018-09-04 | Qualcomm Incorporated | Providing memory bandwidth compression using compression indicator (CI) hint directories in a central processing unit (CPU)-based system |
US10191850B2 (en) | 2016-03-31 | 2019-01-29 | Qualcomm Incorporated | Providing memory bandwidth compression using multiple last-level cache (LLC) lines in a central processing unit (CPU)-based system |
US9996471B2 (en) * | 2016-06-28 | 2018-06-12 | Arm Limited | Cache with compressed data and tag |
US10176090B2 (en) * | 2016-09-15 | 2019-01-08 | Qualcomm Incorporated | Providing memory bandwidth compression using adaptive compression in central processing unit (CPU)-based systems |
US10445261B2 (en) * | 2016-12-30 | 2019-10-15 | Intel Corporation | System memory having point-to-point link that transports compressed traffic |
US11016888B2 (en) * | 2018-12-20 | 2021-05-25 | Ebay Inc. | Compressed cache using dynamically stacked roaring bitmaps |
US11068204B2 (en) * | 2019-05-22 | 2021-07-20 | Macronix International Co., Ltd. | Memory device with multiple physical spaces, multiple non-volatile memory arrays, multiple main data, multiple metadata of multiple types of commands, and access method thereof |
US20220197799A1 (en) * | 2020-12-23 | 2022-06-23 | Intel Corporation | Instruction and Micro-Architecture Support for Decompression on Core |
US11868244B2 (en) * | 2022-01-10 | 2024-01-09 | Qualcomm Incorporated | Priority-based cache-line fitting in compressed memory systems of processor-based systems |
US11829292B1 (en) | 2022-01-10 | 2023-11-28 | Qualcomm Incorporated | Priority-based cache-line fitting in compressed memory systems of processor-based systems |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5247638A (en) * | 1990-06-18 | 1993-09-21 | Storage Technology Corporation | Apparatus for compressing data in a dynamically mapped virtual data storage subsystem |
JP2002536863A (ja) * | 1999-01-29 | 2002-10-29 | イントラクティブ シリコン インコーポレイテッド | 拡張可能な埋込み型のパラレルデータを圧縮及び圧縮解除するためのシステムと方法 |
US20030131184A1 (en) * | 2002-01-10 | 2003-07-10 | Wayne Kever | Apparatus and methods for cache line compression |
JP2003216494A (ja) * | 2002-01-16 | 2003-07-31 | Hewlett Packard Co <Hp> | オンチップキャッシュのデータ圧縮により有効キャッシュサイズを増大させるキャッシュ圧縮エンジンのための装置 |
US20030217237A1 (en) * | 2002-05-15 | 2003-11-20 | Internation Business Machines Corporation | Selective memory controller access path for directory caching |
JP2007517331A (ja) * | 2003-12-29 | 2007-06-28 | インテル コーポレイション | コンピューターシステム、方法、装置 |
JP2007519100A (ja) * | 2003-12-29 | 2007-07-12 | インテル コーポレイション | コンピューターシステム、方法、装置 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54128638A (en) * | 1978-03-30 | 1979-10-05 | Toshiba Corp | Control system for cash memory |
JPS586514A (ja) * | 1981-07-06 | 1983-01-14 | Mitsubishi Electric Corp | デイスク制御装置 |
US5237675A (en) * | 1990-06-04 | 1993-08-17 | Maxtor Corporation | Apparatus and method for efficient organization of compressed data on a hard disk utilizing an estimated compression factor |
US5206939A (en) * | 1990-09-24 | 1993-04-27 | Emc Corporation | System and method for disk mapping and data retrieval |
JPH0573413A (ja) * | 1991-09-12 | 1993-03-26 | Mitsubishi Electric Corp | キヤツシユメモリ・データ制御装置 |
JPH06332622A (ja) * | 1993-03-22 | 1994-12-02 | Hitachi Ltd | 情報処理装置 |
JP2831602B2 (ja) * | 1995-01-13 | 1998-12-02 | 富士通株式会社 | 圧縮データ管理装置及び圧縮データ管理方法 |
US5732202A (en) * | 1995-02-13 | 1998-03-24 | Canon Kabushiki Kaisha | Data processing apparatus, data processing method, memory medium storing data processing program, output device, output control method and memory medium storing control program therefor |
JP3426385B2 (ja) * | 1995-03-09 | 2003-07-14 | 富士通株式会社 | ディスク制御装置 |
US5875454A (en) * | 1996-07-24 | 1999-02-23 | International Business Machiness Corporation | Compressed data cache storage system |
US6115787A (en) * | 1996-11-05 | 2000-09-05 | Hitachi, Ltd. | Disc storage system having cache memory which stores compressed data |
US6199126B1 (en) * | 1997-09-23 | 2001-03-06 | International Business Machines Corporation | Processor transparent on-the-fly instruction stream decompression |
US6092071A (en) * | 1997-11-04 | 2000-07-18 | International Business Machines Corporation | Dedicated input/output processor method and apparatus for access and storage of compressed data |
US6324621B2 (en) * | 1998-06-10 | 2001-11-27 | International Business Machines Corporation | Data caching with a partially compressed cache |
US20010054131A1 (en) * | 1999-01-29 | 2001-12-20 | Alvarez Manuel J. | System and method for perfoming scalable embedded parallel data compression |
US6819271B2 (en) * | 1999-01-29 | 2004-11-16 | Quickshift, Inc. | Parallel compression and decompression system and method having multiple parallel compression and decompression engines |
US6145069A (en) * | 1999-01-29 | 2000-11-07 | Interactive Silicon, Inc. | Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices |
US6289420B1 (en) * | 1999-05-06 | 2001-09-11 | Sun Microsystems, Inc. | System and method for increasing the snoop bandwidth to cache tags in a multiport cache memory subsystem |
US6449689B1 (en) * | 1999-08-31 | 2002-09-10 | International Business Machines Corporation | System and method for efficiently storing compressed data on a hard disk drive |
US6507895B1 (en) * | 2000-03-30 | 2003-01-14 | Intel Corporation | Method and apparatus for access demarcation |
US6523102B1 (en) * | 2000-04-14 | 2003-02-18 | Interactive Silicon, Inc. | Parallel compression/decompression system and method for implementation of in-memory compressed cache improving storage density and access speed for industry standard memory subsystems and in-line memory modules |
US6557083B1 (en) * | 2000-06-30 | 2003-04-29 | Intel Corporation | Memory system for multiple data types |
US6480938B2 (en) * | 2000-12-15 | 2002-11-12 | Hewlett-Packard Company | Efficient I-cache structure to support instructions crossing line boundaries |
US6825847B1 (en) * | 2001-11-30 | 2004-11-30 | Nvidia Corporation | System and method for real-time compression of pixel colors |
US20030233534A1 (en) * | 2002-06-12 | 2003-12-18 | Adrian Bernhard | Enhanced computer start-up methods |
US6775751B2 (en) * | 2002-08-06 | 2004-08-10 | International Business Machines Corporation | System and method for using a compressed main memory based on degree of compressibility |
US8111928B2 (en) * | 2003-02-13 | 2012-02-07 | Ati Technologies Ulc | Method and apparatus for compression of multi-sampled anti-aliasing color data |
US7162669B2 (en) * | 2003-06-10 | 2007-01-09 | Hewlett-Packard Development Company, L.P. | Apparatus and method for compressing redundancy information for embedded memories, including cache memories, of integrated circuits |
US7636810B2 (en) * | 2003-11-26 | 2009-12-22 | Intel Corporation | Method, system, and apparatus for memory compression with flexible in-memory cache |
-
2004
- 2004-01-15 US US10/759,922 patent/US7257693B2/en not_active Expired - Fee Related
-
2005
- 2005-01-10 JP JP2006549516A patent/JP4652344B2/ja not_active Expired - Fee Related
- 2005-01-10 CN CNB2005800083588A patent/CN100524251C/zh not_active Expired - Fee Related
- 2005-01-10 WO PCT/US2005/000797 patent/WO2005071550A2/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5247638A (en) * | 1990-06-18 | 1993-09-21 | Storage Technology Corporation | Apparatus for compressing data in a dynamically mapped virtual data storage subsystem |
JP2002536863A (ja) * | 1999-01-29 | 2002-10-29 | イントラクティブ シリコン インコーポレイテッド | 拡張可能な埋込み型のパラレルデータを圧縮及び圧縮解除するためのシステムと方法 |
US20030131184A1 (en) * | 2002-01-10 | 2003-07-10 | Wayne Kever | Apparatus and methods for cache line compression |
JP2003216494A (ja) * | 2002-01-16 | 2003-07-31 | Hewlett Packard Co <Hp> | オンチップキャッシュのデータ圧縮により有効キャッシュサイズを増大させるキャッシュ圧縮エンジンのための装置 |
US20030217237A1 (en) * | 2002-05-15 | 2003-11-20 | Internation Business Machines Corporation | Selective memory controller access path for directory caching |
JP2007517331A (ja) * | 2003-12-29 | 2007-06-28 | インテル コーポレイション | コンピューターシステム、方法、装置 |
JP2007519100A (ja) * | 2003-12-29 | 2007-07-12 | インテル コーポレイション | コンピューターシステム、方法、装置 |
Also Published As
Publication number | Publication date |
---|---|
US20050160234A1 (en) | 2005-07-21 |
US7257693B2 (en) | 2007-08-14 |
JP2007520813A (ja) | 2007-07-26 |
CN100524251C (zh) | 2009-08-05 |
CN1934541A (zh) | 2007-03-21 |
WO2005071550A2 (en) | 2005-08-04 |
WO2005071550A3 (en) | 2005-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4652344B2 (ja) | 圧縮されたキャッシュラインのワース・オブ・インフォメーションを利用したマルチプロセッサ計算システム及び当該システムに利用可能なプロセッサ | |
US7512750B2 (en) | Processor and memory controller capable of use in computing system that employs compressed cache lines' worth of information | |
US11803486B2 (en) | Write merging on stores with different privilege levels | |
KR102518095B1 (ko) | 스토리지 장치 및 시스템 | |
US8443152B2 (en) | Cache memory capable of adjusting burst length of write-back data in write-back operation | |
JP4044067B2 (ja) | シリアルフラッシュメモリにおけるxipのための優先順位に基づくフラッシュメモリ制御装置及びこれを用いたメモリ管理方法、これによるフラッシュメモリチップ | |
US11023410B2 (en) | Instructions for performing multi-line memory accesses | |
JPS61156346A (ja) | 記憶階層の先取り装置 | |
JP4218820B2 (ja) | ダイレクトマップドキャッシュとフルアソシアティブバッファとを含んだキャッシュシステム、その制御方法及び記録媒体 | |
US11921650B2 (en) | Dedicated cache-related block transfer in a memory system | |
CN116134475A (zh) | 计算机存储器扩展设备及其操作方法 | |
US20180285268A1 (en) | Method and apparatus for reducing write congestion in non-volatile memory based last level caches | |
US5524225A (en) | Cache system and method for providing software controlled writeback | |
US7657667B2 (en) | Method to provide cache management commands for a DMA controller | |
JP2001249846A (ja) | キャッシュメモリ装置及びデータ処理システム | |
US12001345B2 (en) | Victim cache that supports draining write-miss entries | |
JP2554761B2 (ja) | データ転送パス制御方式 | |
US20120151150A1 (en) | Cache Line Fetching and Fetch Ahead Control Using Post Modification Information | |
TW202331713A (zh) | 用於儲存和存取在記憶體單元中的資料運算元之方法 | |
JPS6136263B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100126 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100426 |
|
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: 20101116 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101215 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131224 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |