JP2019512794A - プロセッサベースシステムにおけるメモリ内の圧縮メモリラインの優先度ベースのアクセス - Google Patents
プロセッサベースシステムにおけるメモリ内の圧縮メモリラインの優先度ベースのアクセス Download PDFInfo
- Publication number
- JP2019512794A JP2019512794A JP2018548194A JP2018548194A JP2019512794A JP 2019512794 A JP2019512794 A JP 2019512794A JP 2018548194 A JP2018548194 A JP 2018548194A JP 2018548194 A JP2018548194 A JP 2018548194A JP 2019512794 A JP2019512794 A JP 2019512794A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- access request
- low priority
- compressed
- read access
- 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.)
- Granted
Links
- 238000007906 compression Methods 0.000 claims abstract description 110
- 230000006835 compression Effects 0.000 claims abstract description 110
- 238000000034 method Methods 0.000 claims description 44
- 230000004044 response Effects 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 4
- 230000001413 cellular effect Effects 0.000 claims description 3
- 229920001690 polydopamine Polymers 0.000 claims 1
- 230000006837 decompression Effects 0.000 description 91
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000014616 translation Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1056—Simplification
-
- 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/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
-
- 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
-
- 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/65—Details of virtual memory and virtual address translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Detection And Correction Of Errors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本出願は、その全体が参照により本明細書に組み込まれる、2016年3月18日に出願された「PRIORITY-BASED ACCESS OF COMPRESSED MEMORY LINES IN MEMORY IN A PROCESSOR-BASED SYSTEM」と題する米国特許出願第15/074,444号の優先権を主張する。
q=2*(lma-X)
ここで、lmaは読取りアクセス要求の論理メモリアドレスであり、Xはメモリ208内の物理メモリロケーションMの数である。
102 プロセッサベースシステム
104、104(1)〜104(N) プロセッサブロック
106(1)、106(2) プロセッサ
108(1)〜108(N) 共有レベル2(L2)キャッシュ
110 共有レベル3(L3)キャッシュ、共有L3キャッシュ
112 内部システムバス
114 メモリコントローラ
116 周辺機器
118 ストレージ
120 エクスプレス周辺構成要素相互接続(PCI)インターフェース
122 ダイレクトメモリアクセス(DMA)コントローラ
124 統合メモリコントローラ(IMC)
200 プロセッサベースシステム
202 メモリシステム
204 メモリアクセスデバイス
206 圧縮/圧縮解除エンジン
208 メモリ
210 プロセッサ
212 プロセッサメモリアクセス経路
213 制御ポート
214 制御バス
216 アドレスバス
218 データバス
219 メモリアクセスポート
220 高優先度復号エンジン
222 低優先度復号エンジン
224 メモリユニット
226 低レベルキャッシュ
228 圧縮/圧縮解除エンジンメモリアクセス経路
230 ヒット/ミスライン
300 プロセス
400 メモリ構成
402 圧縮高優先度メモリライン、CHPML
402(0)〜402(X-1) 圧縮高優先度メモリライン
404 圧縮低優先度メモリライン、CLPML
404(0)〜404(Y-1) 圧縮低優先度メモリライン
500 メモリ構成
502 メタデータ、高優先度メタデータ
504 メタデータ、低優先度メタデータ
506 メタデータ
508 高優先度データ
508-A 高優先度データ
508-B 高優先度例外データ
510 低優先度データ
510-A 低優先度データ
510-B 低優先度例外データ
512 高優先度データ
514 未使用セクション
600 メモリ構成
602 メモリ構成
604 例外フラグ
606 例外インデックス
608 例外領域
700 メモリ構成
702 メモリ構成
704 例外フラグ
706 長さ
708 長さ
710 例外ポインタ
800 プロセス
900 プロセス
1000 プロセス
1100 プロセス
1200 プロセッサベースシステム
1202 中央処理装置(CPU)
1204 プロセッサ
1206 キャッシュメモリ
1208 システムバス
1210 メモリコントローラ
1212 メモリシステム
1214 入力デバイス
1216 出力デバイス
1218 ネットワークインターフェースデバイス
1220 ディスプレイコントローラ
1222 ネットワーク
1224(0〜N) メモリユニット
1226 ディスプレイ
1228 ビデオプロセッサ
M 物理メモリロケーション
M(0)〜M(X-1) メモリロケーション、物理メモリロケーション
M(PTR) 物理メモリロケーション、例外ポインタ
ML、ML(0)〜ML(X-1) メモリライン
N 長さ
P 長さ
Q 長さ
Claims (30)
- プロセッサベースシステムにおけるメモリに記憶されたメモリラインにアクセスするためのメモリアクセスデバイスであって、
第1の論理メモリアドレスを備える読取りアクセス要求を受け取るように構成された制御ポートと、
前記メモリにアクセスするように構成されたメモリアクセスポートとを備え、
高優先度読取りアクセス要求および低優先度読取りアクセス要求の間で前記読取りアクセス要求の優先度を決定し、
前記読取りアクセス要求が前記高優先度読取りアクセス要求であるとの決定に応答して、前記メモリアクセスポートを介して、前記読取りアクセス要求の前記第1の論理メモリアドレスにおいて前記メモリから第1の圧縮高優先度メモリラインを取り出し、
前記読取りアクセス要求が前記低優先度読取りアクセス要求であるとの決定に応答して、前記メモリアクセスポートを介して、前記読取りアクセス要求の前記第1の論理メモリアドレスに基づいて決定された複数の物理メモリアドレスにおいて前記メモリから第1の圧縮低優先度メモリラインを取り出す
ように構成されるメモリアクセスデバイス。 - 前記読取りアクセス要求が前記高優先度読取りアクセス要求であるとの決定に基づいて、
前記第1の圧縮高優先度メモリラインの高優先度メタデータを取り出し、
前記高優先度メタデータに基づいて前記第1の圧縮高優先度メモリラインから高優先度データを取り出す
ようにさらに構成される、請求項1に記載のメモリアクセスデバイス。 - 前記読取りアクセス要求が前記高優先度読取りアクセス要求であるとの決定に基づいて、前記第1の論理メモリアドレスのパリティおよび前記高優先度メタデータに基づいて、対応するメモリロケーションの端から前記第1の圧縮高優先度メモリラインを取り出すようにさらに構成される、請求項2に記載のメモリアクセスデバイス。
- 前記高優先度メタデータに基づいて、前記第1の圧縮高優先度メモリラインが例外を備えると決定し、
前記高優先度メタデータから例外インデックスを取り出し、
前記メモリアクセスポートを介して、前記メモリ内の例外メモリロケーションにおいて記憶された高優先度例外データを、前記例外インデックスに対応する物理メモリアドレスにおいて取り出し、
前記第1の圧縮高優先度メモリラインおよび前記高優先度例外データから前記高優先度データを取り出す
ように構成されることによって、前記第1の圧縮高優先度メモリラインから前記高優先度データを取り出すようにさらに構成される、請求項2に記載のメモリアクセスデバイス。 - 前記読取りアクセス要求の前記第1の論理メモリアドレスが所定の高優先度アドレス範囲内にあると決定するように構成されることによって、前記読取りアクセス要求が前記高優先度読取りアクセス要求であると決定するようにさらに構成される、請求項1に記載のメモリアクセスデバイス。
- 前記読取りアクセス要求が前記低優先度読取りアクセス要求であるとの決定に基づいて、
前記読取りアクセス要求の前記第1の論理メモリアドレスと所定の低優先度アドレス範囲の最下位アドレスとの間の差に2を掛けることによって、低優先度アドレスインデックスを決定し、
前記低優先度アドレスインデックスを所定の高優先度アドレス範囲の前記最下位アドレスに加えることによって、前記複数の物理メモリアドレスのうちの第1の物理メモリアドレスを決定し、
前記第1の物理メモリアドレスで始まる前記複数の物理メモリアドレスにおいて記憶された前記第1の圧縮低優先度メモリラインを取り出す
ように構成されることによって、前記メモリから前記第1の圧縮低優先度メモリラインを取り出すようにさらに構成される、請求項1に記載のメモリアクセスデバイス。 - 前記第1の圧縮低優先度メモリラインの長さを備える低優先度メタデータを取り出し、
前記第1の圧縮低優先度メモリラインの前記長さに基づいて、前記第1の圧縮低優先度メモリラインから低優先度データを取り出す
ようにさらに構成される、請求項6に記載のメモリアクセスデバイス。 - 前記低優先度メタデータに基づいて、前記第1の圧縮低優先度メモリラインが例外を備えると決定し、
前記低優先度メタデータから例外ポインタを取り出し、
前記メモリアクセスポートを介して、前記メモリ内の例外メモリロケーションにおいて記憶された低優先度例外データを、前記例外ポインタに対応する物理メモリアドレスにおいて取り出し、
前記第1の圧縮低優先度メモリラインおよび前記低優先度例外データから前記低優先度データを取り出す
ように構成されることによって、前記第1の圧縮低優先度メモリラインから前記低優先度データを取り出すようにさらに構成される、請求項7に記載のメモリアクセスデバイス。 - 前記読取りアクセス要求の前記第1の論理メモリアドレスが所定の低優先度アドレス範囲内にあると決定するように構成されることによって、前記読取りアクセス要求が前記低優先度読取りアクセス要求であると決定するようにさらに構成される、請求項1に記載のメモリアクセスデバイス。
- 前記高優先度読取りアクセス要求および前記低優先度読取りアクセス要求の間で前記読取りアクセス要求の前記優先度を決定し、
前記読取りアクセス要求が前記高優先度読取りアクセス要求であるとの決定に応答して、前記メモリアクセスポートを介して、前記読取りアクセス要求の前記第1の論理メモリアドレスにおいて前記メモリから第2の圧縮高優先度メモリラインを取り出し、
前記読取りアクセス要求が前記低優先度読取りアクセス要求であるとの決定に応答して、前記メモリアクセスポートを介して、前記読取りアクセス要求の前記第1の論理メモリアドレスに基づいて決定された前記複数の物理メモリアドレスにおいて前記メモリから前記第1の圧縮低優先度メモリラインを取り出す
ように構成されたプロセッサをさらに備える、請求項1に記載のメモリアクセスデバイス。 - 集積回路に統合される、請求項1に記載のメモリアクセスデバイス。
- セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、スマートフォン、タブレット、ファブレット、サーバ、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナー、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、ポータブルデジタルビデオプレーヤ、および自動車からなるグループから選択されたデバイスに統合される、請求項1に記載のメモリアクセスデバイス。
- プロセッサベースシステムにおけるメモリに記憶されたメモリラインにアクセスするためのメモリアクセスデバイスであって、
論理メモリアドレスを備える読取りアクセス要求を受け取るための手段と、
前記メモリにアクセスするための手段と、
高優先度読取りアクセス要求および低優先度読取りアクセス要求の間で前記読取りアクセス要求の優先度を決定するための手段と、
前記読取りアクセス要求が前記高優先度読取りアクセス要求であると決定するための前記手段に応答して、前記メモリにアクセスするための前記手段を介して、前記読取りアクセス要求の前記論理メモリアドレスにおいて前記メモリから圧縮高優先度メモリラインを取り出すための手段と、
前記読取りアクセス要求が前記低優先度読取りアクセス要求であると決定するための前記手段に応答して、前記メモリにアクセスするための前記手段を介して、前記読取りアクセス要求の前記論理メモリアドレスに基づいて決定された複数の物理メモリアドレスにおいて前記メモリから圧縮低優先度メモリラインを取り出すための手段と
を備えるメモリアクセスデバイス。 - プロセッサベースシステムにおけるメモリに記憶されたメモリラインにアクセスするための方法であって、
メモリアクセスデバイスによって、第1の論理メモリアドレスを備える読取りアクセス要求を受け取るステップと、
高優先度読取りアクセス要求および低優先度読取りアクセス要求の間で前記読取りアクセス要求の優先度を決定するステップと、
前記読取りアクセス要求が前記高優先度読取りアクセス要求であるとの決定に応答して、メモリアクセスポートを介して、前記読取りアクセス要求の前記第1の論理メモリアドレスにおいて前記メモリから第1の圧縮高優先度メモリラインを取り出すステップと、
前記読取りアクセス要求が前記低優先度読取りアクセス要求であるとの決定に応答して、前記メモリアクセスポートを介して、前記読取りアクセス要求の前記第1の論理メモリアドレスに基づいて決定された複数の物理メモリアドレスにおいて前記メモリから第1の圧縮低優先度メモリラインを取り出すステップと
を備える方法。 - 前記読取りアクセス要求が前記高優先度読取りアクセス要求であるとの決定に基づいて、
前記第1の圧縮高優先度メモリラインの高優先度メタデータを取り出すステップと、
前記高優先度メタデータに基づいて前記第1の圧縮高優先度メモリラインから高優先度データを取り出すステップと
をさらに備える、請求項14に記載の方法。 - 前記読取りアクセス要求が前記高優先度読取りアクセス要求であるとの決定に基づいて、前記第1の論理メモリアドレスのパリティおよび前記高優先度メタデータに基づいて、対応するメモリロケーションの端から前記第1の圧縮高優先度メモリラインを取り出すステップをさらに備える、請求項15に記載の方法。
- 前記高優先度メタデータに基づいて、前記第1の圧縮高優先度メモリラインが例外を備えると決定し、
前記高優先度メタデータから例外インデックスを取り出し、
前記メモリアクセスポートを介して、前記メモリ内の例外メモリロケーションにおいて記憶された高優先度例外データを、前記例外インデックスに対応する物理メモリアドレスにおいて取り出し、
前記第1の圧縮高優先度メモリラインおよび前記高優先度例外データから前記高優先度データを取り出す
ことによって、前記第1の圧縮高優先度メモリラインから前記高優先度データを取り出すステップをさらに備える、請求項15に記載の方法。 - 前記読取りアクセス要求の前記第1の論理メモリアドレスが所定の高優先度アドレス範囲内にあると決定することによって、前記読取りアクセス要求が前記高優先度読取りアクセス要求であると決定するステップをさらに備える、請求項14に記載の方法。
- 前記読取りアクセス要求が前記低優先度読取りアクセス要求であるとの決定に基づいて、
前記読取りアクセス要求の前記第1の論理メモリアドレスと所定の低優先度アドレス範囲の最下位アドレスとの間の差に2を掛けることによって、低優先度アドレスインデックスを決定し、
前記低優先度アドレスインデックスを所定の高優先度アドレス範囲の前記最下位アドレスに加えることによって、前記複数の物理メモリアドレスのうちの第1の物理メモリアドレスを決定し、
前記第1の物理メモリアドレスで始まる前記複数の物理メモリアドレスにおいて記憶された前記第1の圧縮低優先度メモリラインを取り出す
ことによって、前記メモリから前記第1の圧縮低優先度メモリラインを取り出すステップをさらに備える、請求項14に記載の方法。 - 前記第1の圧縮低優先度メモリラインの長さを備える低優先度メタデータを取り出すステップと、
前記第1の圧縮低優先度メモリラインの前記長さに基づいて、前記第1の圧縮低優先度メモリラインから低優先度データを取り出すステップと
をさらに備える、請求項19に記載の方法。 - 対応する第1の論理メモリアドレスのパリティおよび前記第1の圧縮低優先度メモリラインの前記長さに基づいて、前記複数の物理メモリアドレスの各々の端から前記第1の圧縮低優先度メモリラインを取り出すステップをさらに備える、請求項20に記載の方法。
- 前記低優先度メタデータに基づいて、前記第1の圧縮低優先度メモリラインが例外を備えると決定し、
前記低優先度メタデータから例外ポインタを取り出し、
前記メモリアクセスポートを介して、前記メモリ内の例外メモリロケーションにおいて記憶された低優先度例外データを、前記例外ポインタに対応する物理メモリアドレスにおいて取り出し、
前記第1の圧縮低優先度メモリラインおよび前記低優先度例外データから前記低優先度データを取り出す
ことによって、前記第1の圧縮低優先度メモリラインから前記低優先度データを取り出すステップをさらに備える、請求項20に記載の方法。 - 前記読取りアクセス要求の前記第1の論理メモリアドレスが所定の低優先度アドレス範囲内にあると決定することによって、前記読取りアクセス要求が前記低優先度読取りアクセス要求であると決定するステップをさらに備える、請求項14に記載の方法。
- 第2の論理メモリアドレスおよびデータを備える書込みアクセス要求を受け取るステップと、
高優先度書込みアクセス要求および低優先度書込みアクセス要求の間で前記書込みアクセス要求の優先度を決定するステップと、
前記書込みアクセス要求が前記高優先度書込みアクセス要求であるとの決定に応答して、前記メモリアクセスポートを介して、前記メモリ内の前記書込みアクセス要求の前記データを、前記書込みアクセス要求の前記第2の論理メモリアドレスにおける第2の圧縮高優先度メモリラインに記憶するステップと、
前記書込みアクセス要求が前記低優先度書込みアクセス要求であるとの決定に応答して、前記メモリアクセスポートを介して、前記メモリ内の前記書込みアクセス要求の前記データを、前記書込みアクセス要求の前記第2の論理メモリアドレスに基づいて決定された複数の物理メモリアドレスにおける第2の圧縮低優先度メモリラインに記憶するステップと
をさらに備える、請求項14に記載の方法。 - 前記書込みアクセス要求が前記高優先度書込みアクセス要求であるとの決定に基づいて、
前記書込みアクセス要求の前記データを圧縮するステップと、
前記書込みアクセス要求の前記圧縮されたデータを備える前記第2の圧縮高優先度メモリラインを、前記第2の論理メモリアドレスのパリティに基づいて、前記書込みアクセス要求の前記第2の論理メモリアドレスに対応するメモリロケーションの端において記憶するステップと
をさらに備える、請求項24に記載の方法。 - 前記書込みアクセス要求が前記高優先度書込みアクセス要求であるとの決定に基づいて、
前記書込みアクセス要求の前記データを圧縮するステップと、
前記書込みアクセス要求の前記データの前記圧縮に基づいて、前記書込みアクセス要求の前記データが例外を引き起こすと決定するステップと、
前記書込みアクセス要求の前記データの第1の部分および例外インデックスを備える前記第2の圧縮低優先度メモリラインを、前記書込みアクセス要求の前記第2の論理メモリアドレスに対応する物理メモリアドレスにおいて記憶するステップと、
前記メモリ内の高優先度例外データを、例外メモリロケーションおよび前記例外インデックスに対応する物理メモリアドレスにおいて記憶するステップであって、前記高優先度例外データが、前記書込みアクセス要求の前記データの第2の部分を備える、ステップと
をさらに備える、請求項24に記載の方法。 - 前記書込みアクセス要求の前記データを圧縮し、
前記書込みアクセス要求の前記第2の論理メモリアドレスと所定の低優先度アドレス範囲の最下位アドレスとの間の差に2を掛けることによって、低優先度アドレスインデックスを決定し、
前記低優先度アドレスインデックスを所定の高優先度アドレス範囲の前記最下位アドレスに加えることによって、前記複数の物理メモリアドレスのうちの第1の物理メモリアドレスを決定し、
前記書込みアクセス要求の前記圧縮されたデータの第1の部分を備える前記第2の圧縮低優先度メモリラインの第1の部分を、前記第1の物理メモリアドレスの第1の端にある前記第1の物理メモリアドレスにおいて記憶し、
前記書込みアクセス要求の前記圧縮されたデータの第2の部分を備える前記第2の圧縮低優先度メモリラインの第2の部分を、第2の物理メモリアドレスの第2の端にある前記第1の物理メモリアドレスに連続する前記第2の物理メモリアドレスにおいて記憶する
ことによって、前記第2の圧縮低優先度メモリライン内の前記書込みアクセス要求の前記データを前記複数の物理メモリアドレスにおいて記憶するステップをさらに備える、請求項24に記載の方法。 - 前記書込みアクセス要求の前記データを圧縮し、
前記書込みアクセス要求の前記データの前記圧縮に基づいて、前記書込みアクセス要求の前記データが例外を引き起こすと決定し、
前記書込みアクセス要求の前記第2の論理メモリアドレスと所定の低優先度アドレス範囲の最下位アドレスとの間の差に2を掛けることによって、低優先度アドレスインデックスを決定し、
前記低優先度アドレスインデックスを所定の高優先度アドレス範囲の前記最下位アドレスに加えることによって、前記複数の物理メモリアドレスのうちの第1の物理メモリアドレスを決定し、
前記書込みアクセス要求の前記データの第1の部分を備える前記第2の圧縮低優先度メモリラインの第1の部分を、前記第1の物理メモリアドレスの第1の端にある前記第1の物理メモリアドレスにおいて記憶し、
前記書込みアクセス要求の前記データの第2の部分を備える前記第2の圧縮低優先度メモリラインの第2の部分を、第2の物理メモリアドレスの第2の端にある前記第1の物理メモリアドレスに連続する前記第2の物理メモリアドレスにおいて記憶し、
例外ポインタを前記第2の圧縮低優先度メモリラインの前記第1の部分および前記第2の圧縮低優先度メモリラインの前記第2の部分のうちの少なくとも1つに記憶し、
前記書込みアクセス要求の前記データの第3の部分を前記例外ポインタに対応する第3の物理メモリアドレスにおいて記憶する
ことによって、前記第2の圧縮低優先度メモリライン内の前記書込みアクセス要求の前記データを前記複数の物理メモリアドレスにおいて記憶するステップをさらに備える、請求項24に記載の方法。 - 前記第2の圧縮低優先度メモリラインの長さを備える低優先度メタデータを前記第2の圧縮低優先度メモリラインに記憶するステップをさらに備える、請求項24に記載の方法。
- メモリに記憶されたメモリラインにアクセスするためのプロセッサベースシステムであって、
メモリと、
前記メモリに結合され、前記メモリにアクセスするように構成されたプロセッサと、
前記メモリおよび前記プロセッサに結合されたメモリアクセスデバイスとを備え、前記メモリアクセスデバイスが、
前記プロセッサから論理メモリアドレスを備える読取りアクセス要求を受け取り、
高優先度読取りアクセス要求および低優先度読取りアクセス要求の間で前記読取りアクセス要求の優先度を決定し、
前記読取りアクセス要求が前記高優先度読取りアクセス要求であるとの決定に応答して、前記読取りアクセス要求の前記論理メモリアドレスにおいて前記メモリから圧縮高優先度メモリラインを取り出し、
前記読取りアクセス要求が前記低優先度読取りアクセス要求であるとの決定に応答して、前記読取りアクセス要求の前記論理メモリアドレスに基づいて決定された複数の物理メモリアドレスにおいて前記メモリから圧縮低優先度メモリラインを取り出す
ように構成される、プロセッサベースシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/074,444 | 2016-03-18 | ||
US15/074,444 US9823854B2 (en) | 2016-03-18 | 2016-03-18 | Priority-based access of compressed memory lines in memory in a processor-based system |
PCT/US2017/018876 WO2017160480A1 (en) | 2016-03-18 | 2017-02-22 | Priority-based access of compressed memory lines in memory in a processor-based system |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019512794A true JP2019512794A (ja) | 2019-05-16 |
JP2019512794A5 JP2019512794A5 (ja) | 2020-03-19 |
JP6945544B2 JP6945544B2 (ja) | 2021-10-06 |
Family
ID=58213373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018548194A Active JP6945544B2 (ja) | 2016-03-18 | 2017-02-22 | プロセッサベースシステムにおけるメモリ内の圧縮メモリラインの優先度ベースのアクセス |
Country Status (10)
Country | Link |
---|---|
US (1) | US9823854B2 (ja) |
EP (1) | EP3430519B1 (ja) |
JP (1) | JP6945544B2 (ja) |
KR (1) | KR20180122357A (ja) |
CN (1) | CN108780420B (ja) |
BR (1) | BR112018068611A2 (ja) |
CA (1) | CA3014444A1 (ja) |
ES (1) | ES2871123T3 (ja) |
TW (1) | TWI644216B (ja) |
WO (1) | WO2017160480A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9378560B2 (en) | 2011-06-17 | 2016-06-28 | Advanced Micro Devices, Inc. | Real time on-chip texture decompression using shader processors |
US10437747B2 (en) * | 2015-04-10 | 2019-10-08 | Rambus Inc. | Memory appliance couplings and operations |
CN112083875B (zh) * | 2019-06-12 | 2022-09-30 | 三星电子株式会社 | 用于在存储系统中减少读取端口并加速解压缩的方法 |
US11048413B2 (en) * | 2019-06-12 | 2021-06-29 | Samsung Electronics Co., Ltd. | Method for reducing read ports and accelerating decompression in memory systems |
JP7310462B2 (ja) * | 2019-09-04 | 2023-07-19 | 富士通株式会社 | ストレージ制御装置,分散ストレージシステムおよびストレージ制御プログラム |
US11829292B1 (en) | 2022-01-10 | 2023-11-28 | Qualcomm Incorporated | Priority-based cache-line fitting in compressed memory systems of processor-based systems |
US11868244B2 (en) * | 2022-01-10 | 2024-01-09 | Qualcomm Incorporated | Priority-based cache-line fitting in compressed memory systems of processor-based systems |
TW202331494A (zh) * | 2022-01-10 | 2023-08-01 | 美商高通公司 | 在基於處理器的系統的經壓縮記憶體系統中基於優先順序的快取記憶體行裝入 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010054131A1 (en) * | 1999-01-29 | 2001-12-20 | Alvarez Manuel J. | System and method for perfoming scalable embedded parallel data compression |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6002411A (en) * | 1994-11-16 | 1999-12-14 | Interactive Silicon, Inc. | Integrated video and memory controller with data processing and graphical processing capabilities |
US5752266A (en) * | 1995-03-13 | 1998-05-12 | Fujitsu Limited | Method controlling memory access operations by changing respective priorities thereof, based on a situation of the memory, and a system and an integrated circuit implementing the method |
US6697076B1 (en) * | 2001-12-31 | 2004-02-24 | Apple Computer, Inc. | Method and apparatus for address re-mapping |
US20030225992A1 (en) * | 2002-05-29 | 2003-12-04 | Balakrishna Venkatrao | Method and system for compression of address tags in memory structures |
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 |
US6910106B2 (en) * | 2002-10-04 | 2005-06-21 | Microsoft Corporation | Methods and mechanisms for proactive memory management |
KR100562906B1 (ko) * | 2003-10-08 | 2006-03-21 | 삼성전자주식회사 | 시리얼 플래시 메모리에서의 xip를 위한 우선순위기반의 플래시 메모리 제어 장치 및 이를 이용한 메모리관리 방법, 이에 따른 플래시 메모리 칩 |
US7636810B2 (en) | 2003-11-26 | 2009-12-22 | Intel Corporation | Method, system, and apparatus for memory compression with flexible in-memory cache |
US20060184719A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US7877539B2 (en) * | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US7680992B1 (en) | 2006-06-14 | 2010-03-16 | Nvidia Corporation | Read-modify-write memory with low latency for critical requests |
US8122216B2 (en) | 2006-09-06 | 2012-02-21 | International Business Machines Corporation | Systems and methods for masking latency of memory reorganization work in a compressed memory system |
KR20140059102A (ko) * | 2009-06-10 | 2014-05-15 | 마이크론 테크놀로지, 인크. | 메모리 어레이들에서 감소된 읽기 지연시간에 대한 메모리 작업들의 서스펜션 |
US8356137B2 (en) * | 2010-02-26 | 2013-01-15 | Apple Inc. | Data storage scheme for non-volatile memories based on data priority |
US8527467B2 (en) | 2011-06-30 | 2013-09-03 | International Business Machines Corporation | Compression-aware data storage tiering |
US20130179642A1 (en) * | 2012-01-10 | 2013-07-11 | Qualcomm Incorporated | Non-Allocating Memory Access with Physical Address |
US20140258247A1 (en) | 2013-03-05 | 2014-09-11 | Htc Corporation | Electronic apparatus for data access and data access method therefor |
US9626126B2 (en) * | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
-
2016
- 2016-03-18 US US15/074,444 patent/US9823854B2/en active Active
-
2017
- 2017-02-17 TW TW106105193A patent/TWI644216B/zh active
- 2017-02-22 CN CN201780015368.7A patent/CN108780420B/zh active Active
- 2017-02-22 ES ES17708655T patent/ES2871123T3/es active Active
- 2017-02-22 JP JP2018548194A patent/JP6945544B2/ja active Active
- 2017-02-22 EP EP17708655.0A patent/EP3430519B1/en active Active
- 2017-02-22 KR KR1020187026788A patent/KR20180122357A/ko active Search and Examination
- 2017-02-22 WO PCT/US2017/018876 patent/WO2017160480A1/en active Application Filing
- 2017-02-22 BR BR112018068611A patent/BR112018068611A2/pt unknown
- 2017-02-22 CA CA3014444A patent/CA3014444A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010054131A1 (en) * | 1999-01-29 | 2001-12-20 | Alvarez Manuel J. | System and method for perfoming scalable embedded parallel data compression |
Also Published As
Publication number | Publication date |
---|---|
JP6945544B2 (ja) | 2021-10-06 |
US9823854B2 (en) | 2017-11-21 |
EP3430519B1 (en) | 2021-05-05 |
EP3430519A1 (en) | 2019-01-23 |
KR20180122357A (ko) | 2018-11-12 |
CN108780420B (zh) | 2022-05-03 |
TW201734820A (zh) | 2017-10-01 |
BR112018068611A2 (pt) | 2019-02-05 |
WO2017160480A1 (en) | 2017-09-21 |
US20170269851A1 (en) | 2017-09-21 |
CA3014444A1 (en) | 2017-09-21 |
CN108780420A (zh) | 2018-11-09 |
ES2871123T3 (es) | 2021-10-28 |
TWI644216B (zh) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6945544B2 (ja) | プロセッサベースシステムにおけるメモリ内の圧縮メモリラインの優先度ベースのアクセス | |
TWI744289B (zh) | 使用多個最後階層快取線提供記憶體帶寬壓縮之以一中央處理單元(cpu)為基礎之系統及方法 | |
US10169246B2 (en) | Reducing metadata size in compressed memory systems of processor-based systems | |
US20180173623A1 (en) | Reducing or avoiding buffering of evicted cache data from an uncompressed cache memory in a compressed memory system to avoid stalling write operations | |
US10176090B2 (en) | Providing memory bandwidth compression using adaptive compression in central processing unit (CPU)-based systems | |
US10482021B2 (en) | Priority-based storage and access of compressed memory lines in memory in a processor-based system | |
JP2017519286A (ja) | 中央処理装置(cpu)搭載システム内の圧縮メモリコントローラ(cmc)を使用したメモリ帯域圧縮の提供 | |
KR20170115521A (ko) | Cpu(central processing unit)-기반 시스템에서 cmc(compressed memory controller)들에 의한 백-투-백 읽기 동작들을 사용하는 메모리 대역폭 압축 제공 | |
US10061698B2 (en) | Reducing or avoiding buffering of evicted cache data from an uncompressed cache memory in a compression memory system when stalled write operations occur | |
US10152261B2 (en) | Providing memory bandwidth compression using compression indicator (CI) hint directories in a central processing unit (CPU)-based system | |
US10120581B2 (en) | Generating compressed data streams with lookback pre-fetch instructions for pre-fetching decompressed data from a lookback buffer | |
US11755498B2 (en) | Emulating scratchpad functionality using caches in processor-based devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200207 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210112 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20210412 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210712 |
|
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: 20210816 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210914 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6945544 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |