JP2002140227A - メモリ圧縮管理デバイス - Google Patents

メモリ圧縮管理デバイス

Info

Publication number
JP2002140227A
JP2002140227A JP2001281129A JP2001281129A JP2002140227A JP 2002140227 A JP2002140227 A JP 2002140227A JP 2001281129 A JP2001281129 A JP 2001281129A JP 2001281129 A JP2001281129 A JP 2001281129A JP 2002140227 A JP2002140227 A JP 2002140227A
Authority
JP
Japan
Prior art keywords
memory
information
page
processor
cache
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.)
Pending
Application number
JP2001281129A
Other languages
English (en)
Inventor
Keith E Moore
キース・イー・ムーア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2002140227A publication Critical patent/JP2002140227A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 下位レベルにあるメモリ圧縮からアプリケー
ションを分離しつつ、その物理的なメモリサイズを効果
的に増加させるためのメモリ圧縮管理デバイスを提供す
る。 【解決手段】 通信経路20に接続されるプロセッサ1
2と、通信経路20に接続され、圧縮された形で情報の
集合を保持するメモリ22と、前記情報の圧縮を解除す
るための圧縮器18と、前記圧縮された形で前記メモリ
から前記情報を取得し、前記圧縮器を用いて前記情報の
圧縮を解除し、圧縮されていない形で前記情報へのアク
セスを前記プロセッサに提供するコントローラ16とを
含んでなるデバイス10を提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、処理リソースを有
するデバイスの分野に関する。より詳細には、本発明
は、処理リソースを有するデバイスにおけるメモリ管理
に関する。
【0002】
【従来の技術】プリンタ、複写機、電話、家庭用娯楽デ
バイス等を含む種々のデバイスは一般に処理リソースを
含む。そのようなデバイスは、コンピュータシステムの
ように交換式の媒体からロードされるのではなく、アプ
リケーションが処理リソースに組込まれているので、組
込みシステム(embedded system)と呼ばれる場合があ
る。そのようなデバイス内の処理リソースは、パッケー
ジングの制約および/またはコストの制約に起因して、
相対的に限定される場合がある。
【0003】そのようなデバイスの処理リソースは、通
常、メモリである。比較的に大きなメモリ量でそのよう
なデバイスを実施することが一般に望ましい。典型的に
は、より大きなメモリ量を用いることにより、より複雑
な機能をデバイスに実施させることができる。さらに、
メモリ量を増やすことにより、その機能を実行する際の
デバイスの速度が一般に上昇する。ただ問題なのは、メ
モリ量を増やすことにより、一般にそのようなデバイス
のコストが上昇することである。
【0004】従来技術のデバイスには、メモリに格納さ
れる情報を圧縮することにより、メモリのサイズを効果
的に増加させようとするものがある。従来のデバイスの
圧縮は、デバイスにおいて実行されるアプリケーション
プログラムによって一般に実行される。ただし、アプリ
ケーションレベルで圧縮を実施することにより、アプリ
ケーションの開発コストが一般に著しく上昇し、アプリ
ケーション実行の安定性が低下する場合がある。
【0005】
【発明が解決しようとする課題】本発明の目的は、下位
レベルにあるメモリ圧縮からアプリケーションを分離し
つつ、その物理的なメモリサイズを効果的に増加させる
ためのメモリ圧縮管理を提供することである。
【0006】
【課題を解決するための手段】本技術によるデバイス
は、圧縮された領域に情報の集合を保持するメモリと、
圧縮されていない領域にある情報にアクセスするプロセ
ッサとを含んでいる。デバイスは、アプリケーションお
よびデバイスにおいて実行される他のソフトウエア要素
に対して透明な(transparent)、圧縮された領域と圧
縮されていない領域との間で情報を転送するための機構
を含んでいる。
【0007】
【発明の実施の形態】本発明の他の特徴および利点は、
以下に記載される詳細な説明から明らかになるであろ
う。
【0008】本発明は、その特定の典型的な実施形態に
関して説明され、必要に応じて、添付の図面が参照す
る。
【0009】図1は本発明の教示によるデバイス10を
示す。デバイス10は、プロセッサ12と、キャッシュ
14と、プロセッサ12のための情報を格納するメモリ
22とを含んでいる。またデバイス10は、バス20を
介してメモリ22にアクセスできるようにするバスコン
トローラ16も含んでいる。
【0010】メモリ22内の情報は、圧縮された形で格
納される。キャッシュ14内の情報は、圧縮されていな
い形で格納される。メモリ22に格納され、バス20を
介して転送される情報は、圧縮された領域に存在するも
のと考えられ、一方、キャッシュ14に格納され、プロ
セッサ12によって用いられる情報は、圧縮されていな
い領域に存在するものと考えられる。
【0011】デバイス10は、圧縮されていない領域か
ら圧縮された領域に転送される際に情報を圧縮し、圧縮
された領域から圧縮されていない領域に転送される際に
情報を圧縮解除する圧縮器18を含んでいる。
【0012】一実施形態では、圧縮器18は、よく知ら
れているLZW圧縮技術にしたがって圧縮および圧縮解
除を実行する。他の実施形態では、種々の他の適当な圧
縮技術のうちの任意のものを用いることができる。
【0013】メモリ22には、リードオンリーメモリあ
るいはフラッシュメモリ等のような永続性メモリ(pers
istent memory)を用いることができる。代替的に、メ
モリ22には、ランダムサクセスメモリを用いることが
できる。メモリ22に格納される情報は、デバイス10
のデバイス固有の機能に関連する、ファームウエア、オ
ペレーティングシステム、および/または、アプリケー
ションコード等の場合がある。メモリ22に格納される
情報は、デバイス10のデバイス固有の機能の動作中に
生成、および/または、消費されるデータの場合があ
る。
【0014】キャッシュ14は、一般にキャッシュブロ
ックあるいはキャッシュラインと呼ばれるデータの集合
へと編成される。キャッシュ14として、プロセッサ1
2のための命令キャッシュか、あるいはプロセッサ12
のためのデータキャッシュか、あるいはプロセッサ12
のための命令/データキャッシュの組み合わせを用いる
ことができる。キャッシュ14は、プロセッサ12を含
む同じ集積回路チップ上に実装される場合がある。代替
的には、プロセッサ12およびキャッシュ14は、異な
る集積回路チップ上に実装されうる。いくつかの実施形
態では、キャッシュ14は、比較的に小さなランダムア
クセスメモリによって置換されるか、あるいは増加させ
ることもできる。
【0015】以下の説明では、キャッシュ14がデータ
キャッシュである例示的な実施形態に焦点があてられ
る。それでも、この例示的な実施形態は、キャッシュ1
4が命令キャッシュか、あるいは命令/データキャッシ
ュの組み合わせである実施形態に適用することもでき
る。
【0016】プロセッサ12は、キャッシュ14にメモ
リアドレスを与えることにより、メモリからの読出し動
作を開始する。メモリアドレスに対応するデータがキャ
ッシュ14に保持される場合には、そのデータはキャッ
シュ14から読出され、メモリからの読出し動作を完了
するために、プロセッサ12に直接戻される。メモリア
ドレスに対応するデータがキャッシュ14に保持されな
い場合には、読出し要求がバスコントローラ16に発行
される。
【0017】読出し要求に応答して、バスコントローラ
16はメモリ22からメモリアドレスに対応する圧縮さ
れた形のデータを読出し、圧縮器18がその圧縮を解除
する。圧縮解除されたデータは、メモリからの読出し動
作を完了するためにプロセッサ12に与えられる。読出
されたデータをキャッシュ14へと格納することができ
る。
【0018】プロセッサ12は、新しいデータの集合お
よびメモリアドレスをキャッシュ14に与えることによ
りメモリへの書込み動作を開始する。メモリアドレスに
対応する古いデータがキャッシュ14に保持される場合
には、プロセッサ12からの新しいデータが、キャッシ
ュ14内の古いデータに直接に上書きされ、メモリへの
書込み動作が完了する。メモリアドレスに対応する古い
データがキャッシュ14に保持されていない場合には、
キャッシュフィル要求(cache fill request)がバスコ
ントローラ16に発行される。
【0019】キャッシュフィル要求に応答して、バスコ
ントローラ16はメモリ22からメモリアドレスに対応
する圧縮された形の古いデータを読出し、圧縮器18が
そのデータの圧縮を解除する。圧縮解除されたデータ
は、プロセッサ12によって与えられるメモリアドレス
によって読出されるように、キャッシュ14へと書込ま
れる。そして、プロセッサ12からの新しいデータがキ
ャッシュ14内の古いデータへと上書きされ、メモリへ
の書込み動作が完了する。
【0020】キャッシュ14は任意の考えられるキャッ
シュブロック置換え方式(cache block replacement po
licy)を実施する場合がある。キャッシュ14から除去
されるキャッシュブロックは、メモリ22が書込み可能
なメモリである場合にはメモリ22にライトバックさ
れ、メモリ22がリードオンリーメモリである場合には
破棄される。キャッシュブロックがメモリ22にライト
バック(write back)されるとき、メモリに22へと書
込まれる前に、圧縮器18によって圧縮される。
【0021】いくつかの実施形態では、圧縮器18は、
たとえば、アプリケーション専用の集積回路を用いてハ
ードウエアで実施される。他の実施形態では、圧縮器1
8は、プロセッサ12によって実行されるファームウエ
アで実施されうる。
【0022】デバイス10は、組込みシステム(embedd
ed system)でありうる。いくつかの組込みシステム
は、他の目的のために用いられるハードウエアの圧縮器
を含んでいる。たとえば、プリンタは、プリントヘッド
機構へのバス接続上の帯域幅を低減するためのハードウ
エア圧縮器を一般に含んでいる。そのような組込みシス
テムでは、ハードウエア圧縮器を用いて、本明細書に記
載されているような圧縮または圧縮解除を実行すること
ができる。
【0023】いくつかの実施形態では、メモリ22は、
圧縮された情報を保持する部分と、圧縮されていない情
報を保持する部分とを含みうる。そのような実施形態で
は、デバイス10は、どの部分が圧縮されているかを追
跡し、それに応じて圧縮器18の機能を呼び出す(invo
ke)ための機構を含んでいる。
【0024】一実施形態では、デバイス10は、圧縮さ
れた領域と圧縮されていない領域との間でページアドレ
ス変換を実行するページマネージャを実装する。ページ
マネージャは、バスコントローラ16内か、あるいはデ
バイス10の他の構成要素内に実装されうる。プロセッ
サ12のページ障害機構によってページマネージャを呼
び出すことができる。この実施形態は、キャッシュライ
ンとは対照的に、ページに対する圧縮比が一般に非常に
良好であるという利点を提供する。これは、大部分の圧
縮機構が一層の冗長性を有するより良好な結果を生成
し、サンプルが大きくなるほど一般に冗長性が良好にな
るためである。
【0025】圧縮された領域と圧縮されていない領域と
の間で情報を転送するためのこれらの機構は、デバイス
10に実装されるアプリケーションプログラムのような
ソフトウエア要素に対して透明性(transparent)を有
するように機能する。たとえば、アプリケーションプロ
グラムは、ページマネージャによって実行される下位レ
ベルのアドレス変換と、圧縮された領域と圧縮されてい
ない領域との間のハードウエア経路上で実行される圧縮
とに関係なく実行される。
【0026】図2は、ランダムサクセスメモリ(以下、
「RAM」とよぶ。)30と、リードオンリーメモリ(以
下、「ROM」とよぶ。)32とを含むデバイス10の実
施形態を示す。情報は、RAM30に、あるいはROM
32に、あるいはその両方に圧縮された形で格納されう
る。バスコントローラ16は、圧縮された領域と圧縮さ
れていない領域との間のページ変換のテーブル140を
保持するページマネージャを実装する。
【0027】表1は、一実施形態においてテーブル14
0に含まれる場合がある情報の一例を示す。
【表1】
【0028】この例では、各ページは4096バイトで
あるが、他の実施形態では任意のサイズでありうる。圧
縮されていない領域内の0x4000000のページア
ドレスは、RAM30における圧縮された領域内のオフ
セット0x1000000に位置し、圧縮されていない
領域内の0x4001000のページアドレスは、RA
M30における圧縮された領域内のオフセット0x10
00216に位置し、以下、同様である。
【0029】たとえば、ページマネージャはRAM30
の圧縮された領域内のページオフセット0x10000
00から534バイトを読出し、その得られた534バ
イトは0x4000000のページアドレスを有する4
096バイトページへと圧縮解除される。転送を実行す
るためにページマネージャによってバスコントローラ1
6が用いることができ、圧縮解除を実行するために圧縮
器18を用いることができる。圧縮解除されたページ
は、RAM30の圧縮されていないエリアのようなメモ
リに、あるいはいくつかの他のメモリに格納することが
できる。そして、読出しまたは書込み動作中に、プロセ
ッサ12によって生成される適当なオフセットアドレス
を用いて、所望のキャッシュラインを圧縮解除されたペ
ージから得ることができる。
【0030】圧縮された領域と圧縮されていない領域と
の間のこのページスワッピングは、仮想ページング機構
(virtual paging mechanism)とともに機能することが
できる。たとえば、プロセッサ12は、仮想アドレスま
たは物理アドレス変換のために、1以上の翻訳ルックア
サイドバッファ(Translation Look-aside Buffer:以
下、「LTB」とよぶ。)を有することができる。
【0031】ページマネージャは、データがキャッシュ
14から除去される際に、ページのライトバックを実行
するか否かを判定するために、テーブル140におい
て、格納メモリRAMおよびROM指示子(Memory RAM
and ROM indicator)を用いる。データがRAM、この
例ではRAM30から得られた場合には、ページマネー
ジャはライトバックのみを実行する。圧縮された領域へ
のページあるいはキャッシュラインのライトバックは、
そのページあるいはラインのために圧縮された領域に初
めに予約されていた空間より多い空間を占める場合もあ
れば少ない空間を占めることができる。ページマネージ
ャあるいはいくつかの他の要素は、ライトバックされた
ページを見つけるために用いることができる次のページ
境界を保持するリンクされたリストあるいはテーブルを
保持することができる。ページマネージャがライトバッ
クを実行するためにバスコントローラ16を用いること
ができ、そのライトバック中に圧縮を実行するために圧
縮器18を用いることができる。
【0032】いくつかの実施形態では、ページアドレス
があるページ範囲に存在するように、多数のページが一
緒に圧縮されうる。ページマネージャは、未使用のペー
ジが一緒にグループ化されるようにフリーページのリス
トを保持することができる。
【0033】図3は、一実施形態におけるメモリからの
読出し動作を実行する際に含まれる基本的なステップを
示す。ステップ40では、メモリからの読出し動作中に
プロセッサ12によって生成されるアドレスを用いて、
キャッシュ14へのキャッシュ・ルックアップ(cache
lookup)が実行される。
【0034】ステップ42においてキャッシュ14への
ヒットが生じる場合には、ステップ44においてキャッ
シュされたデータ(あるいは命令コード)がプロセッサ
12に与えられる。ヒットしない場合には、ステップ4
6において、メモリからの読出し動作中にプロセッサ1
2によって生成されるアドレスが、圧縮された領域に変
換される。その変換は、テーブル140に保持される情
報を用いて実行することができ、数例を挙げると、バス
コントローラ16か、個別のページマネージャか、ある
いはプロセッサ12によって実行されるコードによって
実行することができる。
【0035】ステップ48では、圧縮されたデータ(あ
るいは命令コード)が、ステップ46において得られた
変換されたアドレスを用いて、メモリ、たとえばRAM
30あるいはROM32から読出される。ステップ50
では、圧縮器18が、ステップ48において読出された
データの圧縮を解除する。
【0036】ステップ52では、ステップ50からの圧
縮解除されたデータ(あるいは命令コード)が、そのメ
モリからの読出し動作を完了するのに応じて、プロセッ
サ12に与えられる。圧縮解除されたデータは、キャッ
シュ14へと格納され、その結果、相応しいように、キ
ャッシュされたデータの除去、およびキャッシュされた
データのメモリへのライトバックを行うことができる。
【0037】キャッシュ14を含まない実施形態では、
ステップ40〜ステップ44を省略することができる。
【0038】図4は、一実施形態においてメモリへの書
込み動作を実行する際に含まれる基本的なステップを示
す。ステップ60では、メモリへの書込み動作中にプロ
セッサ12に生成されたアドレスを用いて、キャッシュ
14へのキャッシュ・ルックアップが実行される。
【0039】ステップ62においてキャッシュ14への
ヒットが生じる場合には、ステップ64において、メモ
リへの書込み動作でプロセッサ12に与えられる新しい
データの集合が、キャッシュ14内の古いデータへと上
書きされる。ヒットしない場合には、ステップ66にお
いて、メモリへの書込み動作中にプロセッサ12によっ
て生成されたアドレスが、圧縮された領域に変換され
る。その変換は、メモリからの読出し動作中に実行され
る変換と同じようにして実行することができる。
【0040】ステップ68では、ステップ66において
得られた変換されたアドレスからの圧縮されたデータ
が、メモリから読出される。ステップ70では、圧縮器
18が、ステップ68においてメモリから読出されたデ
ータの圧縮を解除する。ステップ72では、ステップ7
0からの圧縮解除されたデータがキャッシュ14へと書
込まれる。この結果として、相応しいように、キャッシ
ュ14からのいくつかの他のキャッシュブロックの除去
(eviction)および除去された(evicted)キャッシュブ
ロックのメモリへのライトバックを行うことができる。
【0041】ステップ74では、メモリへの書込み動作
でプロセッサ12によって与えられる新しいデータが、
キャッシュ14内の、メモリから得られた古いデータへ
と上書きされ、それによりメモリへの書込み動作が完了
する。
【0042】キャッシュ14を含まない実施形態では、
メモリへの書込み動作中にプロセッサ12によって生成
されたアドレスが圧縮された領域に変換され、メモリへ
の書込み動作でプロセッサ12によって与えられる新し
いデータは圧縮され、変換されたアドレスでメモリに書
込まれ、それによりメモリへの書込み動作が完了する。
【0043】図5は、一実施形態においてキャッシュ1
4からキャッシュブロックを除去する際に含まれる基本
的なステップを示す。ステップ80では、置換するため
のキャッシュブロックが選択される。置換のためのキャ
ッシュブロックを選択するために、任意の方法を用いる
ことができる。たとえば、ステップ80において、用い
られた頻度が最も少ないキャッシュブロックを選択する
ことができる。別の例として、ステップ80において、
連続したページアドレスを有するキャッシュ14内に保
持された集合のキャッシュブロックの一部ではないキャ
ッシュブロックを選択することができる。
【0044】ステップ82では、ステップ80において
選択されたキャッシュブロックが初めにROM32のよ
うなリードオンリーメモリから得られたか否かが判定さ
れる。選択されたキャッシュブロックがROMから得ら
れた場合には、そのキャッシュブロックはステップ84
において破棄される。そうでない場合には、ステップ8
6において、圧縮されていない領域において選択された
キャッシュブロックのアドレスが圧縮された領域に変換
される。その変換は、テーブル140内の情報を用いて
実行することができる。
【0045】ステップ88では、選択されたキャッシュ
ブロックが圧縮器18によって圧縮され、そして、ステ
ップ86において決定された圧縮されていないアドレス
においてメモリにライトバックされる。
【0046】バス20は、いくつかの実施形態におい
て、適当な通信ハードウエアと相互に接続される多数の
バスあるいは通信リンクを含みうる通信経路である。
【0047】本発明の上記の詳細な説明は、例示をする
目的のための与えられており、網羅的であること、また
は、本発明を開示される実施形態と厳密に同じ実施形態
に限定することを意図していない。したがって、本発明
の範囲は特許請求の範囲によって画定される。
【図面の簡単な説明】
【図1】本発明の教示によるデバイスの一実施形態を示
す概略図である。
【図2】ランダムアクセスメモリおよびリードオンリー
メモリを含む本発明の教示によるデバイスの別の実施形
態を示す概略図である。
【図3】一実施形態においてメモリからの読出し動作を
実行する際に含まれる基本的なステップを示すフローチ
ャートである。
【図4】一実施形態においてメモリへの書込み動作を実
行する際に含まれる基本的なステップを示すフローチャ
ートである。
【図5】一実施形態においてキャッシュからキャッシュ
ブロックを除去する際に含まれる基本的なステップを示
すフローチャートである。

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 通信経路に接続されるプロセッサと、 前記通信経路に接続され、圧縮された形で情報の集合を
    保持するメモリと、 前記情報の圧縮を解除するための圧縮器と、 前記圧縮された形で前記メモリから前記情報を取得し、
    前記圧縮器を用いて前記情報の圧縮を解除し、圧縮され
    ていない形で前記情報へのアクセスを前記プロセッサに
    提供するコントローラとを含んでなるデバイス。
  2. 【請求項2】 前記コントローラは、圧縮されていない
    形で前記情報を前記メモリへと書込むことにより、前記
    圧縮されていない形で前記情報へのアクセスを前記プロ
    セッサに提供する請求項1に記載のデバイス。
  3. 【請求項3】 前記コントローラは、圧縮されていない
    形で前記情報を別のメモリへと書込むことにより、前記
    圧縮されていない形で前記情報へのアクセスを前記プロ
    セッサに提供する請求項1に記載のデバイス。
  4. 【請求項4】 前記コントローラは、前記プロセッサに
    関連するキャッシュに圧縮されていない形で前記情報を
    与えることにより、前記圧縮されていない形で前記情報
    へのアクセスを前記プロセッサに提供する請求項1に記
    載のデバイス。
  5. 【請求項5】 前記プロセッサによって用いられるペー
    ジアドレスの集合のそれぞれを、前記メモリ内の前記情
    報へのオフセットに関連付けるテーブルをさらに含んで
    いる請求項1に記載のデバイス。
  6. 【請求項6】 前記ページテーブルからあるページのた
    めの前記オフセットを読出し、前記オフセットを用いて
    前記メモリから前記圧縮された形の前記ページにアクセ
    スすることにより、前記メモリから前記ページを得るペ
    ージマネージャをさらに含んでいる請求項5に記載のデ
    バイス。
  7. 【請求項7】 前記ページマネージャは、前記プロセッ
    サによるページ障害に応答して前記ページを得る請求項
    6に記載のデバイス。
  8. 【請求項8】 前記ページマネージャは、前記圧縮器を
    用いて前記ページを圧縮解除して前記メモリへと格納す
    る請求項6に記載のデバイス。
  9. 【請求項9】 前記ページマネージャは、前記圧縮器を
    用いて前記ページを圧縮解除して別のメモリへと格納す
    る請求項6に記載のデバイス。
  10. 【請求項10】 前記ページテーブルからページのため
    の前記オフセットを読出し、前記圧縮器を用いて前記オ
    フセットで前記メモリに書込むための前記ページを圧縮
    することにより、前記ページを前記メモリへと書込むペ
    ージマネージャをさらに含んでいる請求項5に記載のデ
    バイス。
  11. 【請求項11】 通信経路に接続されるプロセッサと、 前記通信経路に接続され、圧縮された領域に情報の集合
    を保持するメモリと、 前記情報が圧縮されていない領域に保持されているかの
    ように前記プロセッサが前記情報にアクセスするよう
    に、前記通信経路を介して、前記メモリと前記プロセッ
    サとの間で前記情報を転送するための手段とを含んでな
    るデバイス。
  12. 【請求項12】 前記転送するための前記手段は、 前記圧縮された領域と前記圧縮されていない領域との間
    のアドレス変換を実行するための手段と、 前記情報が前記圧縮されていない領域から前記圧縮され
    た領域に転送される際に前記情報を圧縮するための手段
    と、 前記情報が前記圧縮された領域から前記圧縮されていな
    い領域に転送される際に前記情報の圧縮を解除するため
    の手段とを含んでなる請求項11に記載のデバイス。
  13. 【請求項13】 アドレス変換を実行するための前記手
    段は、ページアドレス上でアドレス変換を実行するため
    の手段を含んでいる請求項12に記載のデバイス。
  14. 【請求項14】 アドレス変換を実行するための前記手
    段は、キャッシュラインアドレス上でアドレス変換を実
    行するための手段を含んでいる請求項12に記載のデバ
    イス。
  15. 【請求項15】 前記メモリは永続性メモリである請求
    項11に記載のデバイス。
  16. 【請求項16】 前記メモリはランダムアクセスメモリ
    である請求項11に記載のデバイス。
  17. 【請求項17】 前記メモリはリードオンリーメモリで
    ある請求項11に記載のデバイス。
  18. 【請求項18】 前記圧縮されていない領域はキャッシ
    ュを含んでいる請求項11に記載のデバイス。
  19. 【請求項19】 転送するための前記手段は、 置換のために前記キャッシュ内のキャッシュブロックを
    選択するための手段と、 前記メモリがリードオンリーメモリであるか否かを判定
    するための手段と、 前記メモリがリードオンリーメモリでない場合には、前
    記キャッシュブロックを圧縮し、前記圧縮された領域の
    前記メモリにライトバックするための手段とを含んでな
    る請求項18に記載のデバイス。
JP2001281129A 2000-09-20 2001-09-17 メモリ圧縮管理デバイス Pending JP2002140227A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/665870 2000-09-20
US09/665,870 US6564305B1 (en) 2000-09-20 2000-09-20 Compressing memory management in a device

Publications (1)

Publication Number Publication Date
JP2002140227A true JP2002140227A (ja) 2002-05-17

Family

ID=24671890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001281129A Pending JP2002140227A (ja) 2000-09-20 2001-09-17 メモリ圧縮管理デバイス

Country Status (3)

Country Link
US (1) US6564305B1 (ja)
EP (1) EP1191446A3 (ja)
JP (1) JP2002140227A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013094280A1 (ja) * 2011-12-22 2013-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置アクセス・システム

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6877081B2 (en) * 2001-02-13 2005-04-05 International Business Machines Corporation System and method for managing memory compression transparent to an operating system
US6775811B2 (en) * 2002-05-22 2004-08-10 Lsi Logic Corporation Chip design method for designing integrated circuit chips with embedded memories
JP2008503154A (ja) * 2004-06-15 2008-01-31 トレック・2000・インターナショナル・リミテッド 無線ホストインターフェースを有する固体記憶装置
US7480238B2 (en) * 2005-04-14 2009-01-20 International Business Machines Corporation Dynamic packet training
US8473673B2 (en) * 2005-06-24 2013-06-25 Hewlett-Packard Development Company, L.P. Memory controller based (DE)compression
US7849241B2 (en) * 2006-03-23 2010-12-07 International Business Machines Corporation Memory compression method and apparatus for heterogeneous processor architectures in an information handling system
US8085426B2 (en) * 2006-11-22 2011-12-27 Sharp Laboratories Of America, Inc. Intelligent page buffer allocation
US7895242B2 (en) * 2007-10-31 2011-02-22 Microsoft Corporation Compressed storage management
GB2457303A (en) * 2008-02-11 2009-08-12 Linear Algebra Technologies Randomly accessing elements of compressed matrix data by calculating offsets from non-zero values of a bitmap
US8359437B2 (en) * 2008-05-13 2013-01-22 International Business Machines Corporation Virtual computing memory stacking
US8458431B2 (en) * 2009-11-03 2013-06-04 International Business Machines Corporation Expanding memory size
US9183056B2 (en) 2009-11-03 2015-11-10 International Business Machines Corporation Expanding memory size
US8639993B2 (en) 2010-11-11 2014-01-28 Microsoft Corporation Encoding data to enable it to be stored in a storage block that includes at least one storage failure
US8495267B2 (en) * 2010-11-24 2013-07-23 International Business Machines Corporation Managing shared computer memory using multiple interrupts
US10102148B2 (en) 2013-06-13 2018-10-16 Microsoft Technology Licensing, Llc Page-based compressed storage management
KR20150057068A (ko) * 2013-11-18 2015-05-28 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US9684625B2 (en) 2014-03-21 2017-06-20 Microsoft Technology Licensing, Llc Asynchronously prefetching sharable memory pages
US9342344B2 (en) * 2014-04-16 2016-05-17 Vmware, Inc. Content-based swap candidate selection
US9600317B2 (en) 2014-04-16 2017-03-21 Vmware, Inc. Page compressibility checker
CN107250991B (zh) * 2015-02-13 2020-08-28 谷歌有限责任公司 透明硬件辅助存储器解压缩
US9632924B2 (en) 2015-03-02 2017-04-25 Microsoft Technology Licensing, Llc Using memory compression to reduce memory commit charge
US10037270B2 (en) 2015-04-14 2018-07-31 Microsoft Technology Licensing, Llc Reducing memory commit charge when compressing memory
US20170206172A1 (en) * 2016-01-19 2017-07-20 SK Hynix Inc. Tehcniques with os- and application- transparent memory compression
US11221770B2 (en) 2019-12-03 2022-01-11 International Business Machines Corporation Providing a dynamic random-access memory cache as second type memory

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237460A (en) * 1990-12-14 1993-08-17 Ceram, Inc. Storage of compressed data on random access storage devices
US5359723A (en) * 1991-12-16 1994-10-25 Intel Corporation Cache memory hierarchy having a large write through first level that allocates for CPU read misses only and a small write back second level that allocates for CPU write misses only
US5357614A (en) * 1992-09-17 1994-10-18 Rexon/Tecmar, Inc. Data compression controller
US5696926A (en) * 1993-07-30 1997-12-09 Apple Computer, Inc. Method and apparatus for transparently compressing data in a primary storage device
ZA954460B (en) * 1994-09-30 1996-02-05 Intel Corp Method and apparatus for processing memory-type information within a microprocessor
US5812817A (en) * 1994-10-17 1998-09-22 International Business Machines Corporation Compression architecture for system memory application
US6002411A (en) * 1994-11-16 1999-12-14 Interactive Silicon, Inc. Integrated video and memory controller with data processing and graphical processing capabilities
CA2226125A1 (en) * 1995-07-03 1997-01-23 Luis Trabb Pardo Processor/memory non-intensive rendering for page printers
US5696927A (en) * 1995-12-21 1997-12-09 Advanced Micro Devices, Inc. Memory paging system and method including compressed page mapping hierarchy
US5864859A (en) * 1996-02-20 1999-01-26 International Business Machines Corporation System and method of compression and decompression using store addressing
DE69733038T2 (de) * 1996-08-05 2006-02-16 Yamaha Corp., Hamamatsu Software-Tonerzeuger
US5761536A (en) * 1996-08-21 1998-06-02 International Business Machines Corporation System and method for reducing memory fragmentation by assigning remainders to share memory blocks on a best fit basis
JP3486517B2 (ja) * 1997-01-31 2004-01-13 キヤノン株式会社 印刷システム及び印刷制御方法
GB2334517B (en) * 1997-03-11 1999-11-17 Gerber Scient Products Inc Apparatus for working on a length of web material
JPH111033A (ja) * 1997-04-17 1999-01-06 Canon Inc 印刷制御装置、印刷制御方法、及び、記憶媒体
US6175896B1 (en) * 1997-10-06 2001-01-16 Intel Corporation Microprocessor system and method for increasing memory Bandwidth for data transfers between a cache and main memory utilizing data compression
US20010013939A1 (en) * 1998-01-27 2001-08-16 Hewlett-Packard Company Stabilization of toner consumption in an imaging device
US6128094A (en) * 1998-07-08 2000-10-03 Hewlett-Packard Company Printer having processor with instruction cache and compressed program store
US6353871B1 (en) * 1999-02-22 2002-03-05 International Business Machines Corporation Directory cache for indirectly addressed main memory

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013094280A1 (ja) * 2011-12-22 2013-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置アクセス・システム
GB2510523A (en) * 2011-12-22 2014-08-06 Ibm Storage device access system
JP5629392B2 (ja) * 2011-12-22 2014-11-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 記憶装置アクセス・システム
GB2510523B (en) * 2011-12-22 2014-12-10 Ibm Storage device access system
US9146933B2 (en) 2011-12-22 2015-09-29 International Business Machines Corporation Compressed storage access system with uncompressed frequent use data

Also Published As

Publication number Publication date
EP1191446A3 (en) 2004-03-10
EP1191446A2 (en) 2002-03-27
US6564305B1 (en) 2003-05-13

Similar Documents

Publication Publication Date Title
JP2002140227A (ja) メモリ圧縮管理デバイス
US6795897B2 (en) Selective memory controller access path for directory caching
US6332172B1 (en) Method and system for virtual memory compression in an embedded system
JP5570790B2 (ja) 不揮発性メモリに置き換えるためにramメモリオブジェクトをプロファイルする方法及び装置
US6526472B2 (en) Access control method, access control apparatus and computer readable memory storing access control program
US7487329B2 (en) Page replacement policy for systems having multiple page sizes
USRE43483E1 (en) System and method for managing compression and decompression of system memory in a computer system
KR100734823B1 (ko) 메모리 압축된 머신을 모핑하는 방법 및 장치
US6581142B1 (en) Computer program product and method for partial paging and eviction of microprocessor instructions in an embedded computer
RU2427892C2 (ru) Способ и устройство для установки политики кэширования в процессоре
US20050273570A1 (en) Virtual space manager for computer having a physical address extension feature
US20090327621A1 (en) Virtual memory compaction and compression using collaboration between a virtual memory manager and a memory manager
US6349375B1 (en) Compression of data in read only storage and embedded systems
US6195107B1 (en) Method and system for utilizing virtual memory in an embedded system
JPH09282111A (ja) 半導体メモリ装置及びその制御方法
JPH1125033A (ja) バスブリッジ
JP3439167B2 (ja) コンピュータ・システムにおいてディレクトリ構造を含むメイン・メモリの内容にアドレスするための方法および装置
KR20020016513A (ko) 메모리 저장 장치 관리 시스템 및 방법, 프로그램 저장 장치
CN109727183B (zh) 一种图形渲染缓冲区压缩表的调度方法及装置
JP3903678B2 (ja) 計算機システムのダンプ処理方法
JP3208160B2 (ja) コンピュータにおける記憶管理方式
JP4354583B2 (ja) アクセス方法及びアクセス処理プログラムを記録した記録媒体
US7428616B2 (en) Method and apparatus for appending buffer areas to requested memory
JP4826873B2 (ja) ホットルーチンメモリを有するマイクロプロセッサシステム
US12008261B2 (en) Method and device for accessing memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070619

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070919

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070925

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080229