JP5511965B2 - 読み取り及び書き込みアウェア・キャッシュを制御する方法、装置、プログラム、キャッシュ・コントローラ - Google Patents
読み取り及び書き込みアウェア・キャッシュを制御する方法、装置、プログラム、キャッシュ・コントローラ Download PDFInfo
- Publication number
- JP5511965B2 JP5511965B2 JP2012529199A JP2012529199A JP5511965B2 JP 5511965 B2 JP5511965 B2 JP 5511965B2 JP 2012529199 A JP2012529199 A JP 2012529199A JP 2012529199 A JP2012529199 A JP 2012529199A JP 5511965 B2 JP5511965 B2 JP 5511965B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- area
- access request
- read
- write
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 23
- 238000012545 processing Methods 0.000 claims description 65
- 230000003068 static effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 18
- 230000002085 persistent effect Effects 0.000 description 14
- 238000004590 computer program Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 5
- 239000004744 fabric Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 210000003813 thumb Anatomy 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand 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
-
- 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/27—Using a specific cache architecture
- G06F2212/271—Non-uniform cache access [NUCA] architecture
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
Description
Claims (14)
- データ処理システムにおける読み取り及び書き込みアウェア・キャッシュを制御する方法であって、前記キャッシュはバンクのアレイを含み、前記バンクのアレイは前記処理ユニットに近いバンクを含む高頻度読み取り領域及び前記処理ユニットから遠いバンクを含む高頻度書き込み領域を形成し、前記方法は、
前記キャッシュを制御するキャッシュ・コントローラが処理ユニットからキャッシュ・アクセス要求を受けるステップと、
前記キャッシュ・アクセス要求がキャッシュ・ミスを発生させるロードであることに応じて、前記キャッシュ・コントローラがデータのキャッシュ・ラインをキャッシュの高頻度読み取り領域内にロードするステップと、
前記キャッシュ・アクセス要求がキャッシュ・ミスを発生させるストアであることに応じて、前記キャッシュ・コントローラがデータの前記キャッシュ・ラインを前記キャッシュの高頻度書き込み領域内に配置するステップと、
を含む、方法。 - 前記キャッシュ・ラインに関連する飽和カウンタを初期化するステップをさらに含む、請求項1に記載の方法。
- 第2のキャッシュ・アクセス要求を、前記キャッシュ・コントローラが受けるステップと、
前記第2のキャッシュ・アクセス要求によりアクセスされるキャッシュ・ラインが、前記高頻度読み取り領域または前記高頻度書き込み領域のうちの適切な領域内にあるかどうかを判断するステップと、
前記キャッシュ・ラインが適切な領域内にないことに応じて、前記キャッシュ・ラインと当該キャッシュ・ラインが属する領域ではない他の一方の領域内のキャッシュ・ラインとをスワップするステップと、
をさらに含む、請求項2に記載の方法。 - 前記判断するステップは、
前記第2のキャッシュ・アクセス要求が、前記高頻度読み取り領域におけるストアであること又は前記高頻度書き込み領域におけるロードであることに応じて、前記飽和カウンタをデクリメントするステップと、
前記飽和カウンタが閾値未満であることに応じて、前記キャッシュ・ラインが前記適切な領域内にないと判断するステップと、
を含む、請求項3に記載の方法。 - 第2のキャッシュ・アクセス要求を、前記キャッシュ・コントローラにおいて受けるステップと、
前記キャッシュ・アクセス要求が前記高頻度読み取り領域におけるロードであること又は前記高頻度書き込み領域におけるストアであることに応じて、前記飽和カウンタをインクリメントするステップと、
をさらに含む、請求項2に記載の方法。 - 前記高頻度読み取り領域と前記高頻度書き込み領域との間のサイズの比が静的である、請求項1に記載の方法。
- 請求項1乃至6のいずれかに記載の方法の各ステップをコンピュータに実行させる、プログラム。
- データ処理システムにおける、読み取り及び書き込みアウェア・キャッシュを備える装置であって、
処理ユニットと、
バンクのアレイを含むキャッシュ・アレイであって、前記バンクのアレイは、処理ユニットに近いバンクを含む高頻度読み取り領域及び前記処理ユニットから遠いバンクを含む高頻度書き込み領域を形成する、キャッシュ・アレイと、
前記キャッシュ・アレイ及び前記処理ユニットに結合されたキャッシュ・コントローラであって、前記処理ユニットからキャッシュ・アクセス要求を受け、
前記キャッシュ・アクセス要求がキャッシュ・ミスを発生させるロードであることに応じて、データのキャッシュ・ラインを前記高頻度読み取り領域内にロードし、
前記キャッシュ・アクセス要求がキャッシュ・ミスを発生させるストアであることに応じて、データのキャッシュ・ラインを前記高頻度書き込み領域内に配置するよう構成されている、キャッシュ・コントローラと、
を備える、装置。 - 前記キャッシュ・コントローラは、前記キャッシュ・ラインに関連する飽和カウンタを初期化するようさらに構成されている、請求項8に記載の装置。
- 前記キャッシュ・コントローラは、前記第2のキャッシュ・アクセス要求を受け、前記第2のキャッシュ・アクセス要求によりアクセスされる前記キャッシュ・ラインが、前記高頻度読み取り領域または前記高頻度書き込み領域のうちの適切な領域内にあるかどうかを判断し、前記キャッシュ・ラインが前記適切な領域内にないことに応じて、前記キャッシュ・ラインと当該キャッシュ・ラインが属する領域ではない他の一方の領域内のキャッシュ・ラインとをスワップするようさらに構成されている、請求項9に記載の装置。
- 前記判断が、
前記キャッシュ・アクセス要求が前記高頻度読み取り領域におけるストア要求であること又は前記高頻度書き込み領域におけるロードであることに応じて、前記飽和カウンタをデクリメントすること、及び
前記飽和カウンタが閾値未満であることに応じて、前記キャッシュ・ラインが前記適切な領域内にないと判断すること、
を含む、請求項10に記載の装置。 - 前記キャッシュ・コントローラは、
第2のキャッシュ・アクセス要求を受け、
前記第2のキャッシュ・アクセス要求が前記高頻度読み取り領域におけるロードであること又は前記高頻度書き込み領域におけるストアであることに応じて、前記飽和カウンタをインクリメントするようさらに構成されている、請求項9に記載の装置。 - データ処理システムにおける読み取り及び書き込みアウェア・キャッシュを制御するためのプログラムであって、前記キャッシュはバンクのアレイを含み、前記バンクのアレイは前記処理ユニットに近いバンクを含む高頻度読み取り領域及び前記処理ユニットから遠いバンクを含む高頻度書き込み領域を備え、前記プログラムは、
前記キャッシュを制御するキャッシュ・コントローラが処理ユニットからキャッシュ・アクセス要求を受けるステップと、
前記キャッシュ・アクセス要求がキャッシュ・ミスを発生させるロードであることに応じて、前記キャッシュ・コントローラがデータのキャッシュ・ラインをキャッシュの高頻度読み取り領域内にロードするステップと、
前記キャッシュ・アクセス要求がキャッシュ・ミスを発生させるストアであることに応じて、前記キャッシュ・コントローラがデータの前記キャッシュ・ラインを前記キャッシュの高頻度書き込み領域内に配置するステップと、
を装置に実行させる、プログラム。 - データ処理システムにおける読み取り及び書き込みアウェア・キャッシュを制御するキャッシュ・コントローラであって、前記キャッシュは前記処理ユニットに近いバンクを含む高頻度読み取り領域及び前記処理ユニットに対して遠いバンクを含む高頻度書き込み領域を備え、
処理ユニットからキャッシュ・アクセス要求を受ける手段と、
前記キャッシュ・アクセス要求がキャッシュ・ミスを発生させるロードであることに応じて、データのキャッシュ・ラインをキャッシュの高頻度読み取り領域内にロードする手段と、
前記キャッシュ・アクセス要求がキャッシュ・ミスを発生させるストアであることに応じて、データの前記キャッシュ・ラインを前記キャッシュの高頻度書き込み領域内に配置する手段と、
を備える、キャッシュ・コントローラ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/562,242 US8271729B2 (en) | 2009-09-18 | 2009-09-18 | Read and write aware cache storing cache lines in a read-often portion and a write-often portion |
US12/562,242 | 2009-09-18 | ||
PCT/EP2010/062735 WO2011032834A1 (en) | 2009-09-18 | 2010-08-31 | Read and write aware cache |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013505488A JP2013505488A (ja) | 2013-02-14 |
JP5511965B2 true JP5511965B2 (ja) | 2014-06-04 |
Family
ID=43216463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012529199A Active JP5511965B2 (ja) | 2009-09-18 | 2010-08-31 | 読み取り及び書き込みアウェア・キャッシュを制御する方法、装置、プログラム、キャッシュ・コントローラ |
Country Status (6)
Country | Link |
---|---|
US (2) | US8271729B2 (ja) |
EP (1) | EP2478441B1 (ja) |
JP (1) | JP5511965B2 (ja) |
KR (1) | KR101419615B1 (ja) |
CN (1) | CN102483720A (ja) |
WO (1) | WO2011032834A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341353B2 (en) * | 2010-01-14 | 2012-12-25 | Qualcomm Incorporated | System and method to access a portion of a level two memory and a level one memory |
TWI417721B (zh) * | 2010-11-26 | 2013-12-01 | Etron Technology Inc | 衰減熱資料之方法 |
US9710275B2 (en) * | 2012-11-05 | 2017-07-18 | Nvidia Corporation | System and method for allocating memory of differing properties to shared data objects |
US9058282B2 (en) | 2012-12-31 | 2015-06-16 | Intel Corporation | Dynamic cache write policy |
US20140258636A1 (en) * | 2013-03-07 | 2014-09-11 | Qualcomm Incorporated | Critical-word-first ordering of cache memory fills to accelerate cache memory accesses, and related processor-based systems and methods |
US9524164B2 (en) * | 2013-08-30 | 2016-12-20 | Advanced Micro Devices, Inc. | Specialized memory disambiguation mechanisms for different memory read access types |
CN103631972B (zh) * | 2013-12-23 | 2016-09-21 | 济南大学 | 一种列访问感知的数据缓存方法及系统 |
JP2016170682A (ja) * | 2015-03-13 | 2016-09-23 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
EP3376369B1 (en) | 2016-01-20 | 2020-03-04 | Samsung Electronics Co., Ltd. | Method, apparatus and recording medium for processing division calculation |
US10387329B2 (en) * | 2016-02-10 | 2019-08-20 | Google Llc | Profiling cache replacement |
US10853267B2 (en) * | 2016-06-14 | 2020-12-01 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Adaptive method for selecting a cache line replacement algorithm in a direct-mapped cache |
US10235299B2 (en) * | 2016-11-07 | 2019-03-19 | Samsung Electronics Co., Ltd. | Method and device for processing data |
US10417134B2 (en) * | 2016-11-10 | 2019-09-17 | Oracle International Corporation | Cache memory architecture and policies for accelerating graph algorithms |
JP6799256B2 (ja) * | 2016-11-28 | 2020-12-16 | 富士通株式会社 | ストレージ制御装置、ストレージシステム、ストレージ制御方法およびストレージ制御プログラム |
US10649904B2 (en) * | 2016-12-12 | 2020-05-12 | Samsung Electronics Co., Ltd. | System and method for store streaming detection and handling |
US10902020B2 (en) * | 2018-06-08 | 2021-01-26 | International Business Machines Corporation | Multiple cache processing of streaming data |
CN111367831B (zh) * | 2020-03-26 | 2022-11-11 | 超睿科技(长沙)有限公司 | 翻译页表的深度预取方法、部件、微处理器及计算机设备 |
KR20210121527A (ko) | 2020-03-30 | 2021-10-08 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US11899589B2 (en) | 2021-06-22 | 2024-02-13 | Samsung Electronics Co., Ltd. | Systems, methods, and devices for bias mode management in memory systems |
CN116028388B (zh) * | 2023-01-17 | 2023-12-12 | 摩尔线程智能科技(北京)有限责任公司 | 高速缓存方法、装置、电子设备、存储介质和程序产品 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8078794B2 (en) * | 2000-01-06 | 2011-12-13 | Super Talent Electronics, Inc. | Hybrid SSD using a combination of SLC and MLC flash memory arrays |
JP2005522773A (ja) | 2002-04-08 | 2005-07-28 | ユニバーシティー・オブ・テキサス・システム | 非均等型キャッシュ装置、システム及び方法 |
US7058764B2 (en) * | 2003-04-14 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | Method of adaptive cache partitioning to increase host I/O performance |
US7287122B2 (en) * | 2004-10-07 | 2007-10-23 | International Business Machines Corporation | Data replication in multiprocessor NUCA systems to reduce horizontal cache thrashing |
US7457922B2 (en) | 2004-11-20 | 2008-11-25 | International Business Machines Corporation | Cache line placement prediction for multiprocessor non-uniform cache architecture systems |
US7293141B1 (en) | 2005-02-01 | 2007-11-06 | Advanced Micro Devices, Inc. | Cache word of interest latency organization |
JP2006252031A (ja) | 2005-03-09 | 2006-09-21 | Nec Corp | ディスクアレイコントローラ |
US8566560B2 (en) * | 2008-02-01 | 2013-10-22 | Dell Products L.P. | System and method for configuring storage resources for database storage |
US9152569B2 (en) * | 2008-11-04 | 2015-10-06 | International Business Machines Corporation | Non-uniform cache architecture (NUCA) |
-
2009
- 2009-09-18 US US12/562,242 patent/US8271729B2/en not_active Expired - Fee Related
-
2010
- 2010-08-31 WO PCT/EP2010/062735 patent/WO2011032834A1/en active Application Filing
- 2010-08-31 JP JP2012529199A patent/JP5511965B2/ja active Active
- 2010-08-31 EP EP10749847.9A patent/EP2478441B1/en active Active
- 2010-08-31 CN CN2010800388055A patent/CN102483720A/zh active Pending
- 2010-08-31 KR KR1020127005206A patent/KR101419615B1/ko active IP Right Grant
-
2012
- 2012-08-13 US US13/572,916 patent/US8843705B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN102483720A (zh) | 2012-05-30 |
WO2011032834A1 (en) | 2011-03-24 |
EP2478441B1 (en) | 2014-02-26 |
US8843705B2 (en) | 2014-09-23 |
EP2478441A1 (en) | 2012-07-25 |
US20110072214A1 (en) | 2011-03-24 |
US20120311265A1 (en) | 2012-12-06 |
JP2013505488A (ja) | 2013-02-14 |
KR20120089842A (ko) | 2012-08-14 |
US8271729B2 (en) | 2012-09-18 |
KR101419615B1 (ko) | 2014-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5511965B2 (ja) | 読み取り及び書き込みアウェア・キャッシュを制御する方法、装置、プログラム、キャッシュ・コントローラ | |
US8943272B2 (en) | Variable cache line size management | |
US8392658B2 (en) | Cache implementing multiple replacement policies | |
US8397049B2 (en) | TLB prefetching | |
US7430638B2 (en) | Adaptive input / output compressed system and data cache and system using same | |
JP6009589B2 (ja) | マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法 | |
US8230179B2 (en) | Administering non-cacheable memory load instructions | |
US7457922B2 (en) | Cache line placement prediction for multiprocessor non-uniform cache architecture systems | |
US20180300258A1 (en) | Access rank aware cache replacement policy | |
US20130205089A1 (en) | Cache Device and Methods Thereof | |
US10915459B2 (en) | Methods and systems for optimized translation of a virtual address having multiple virtual address portions using multiple translation lookaside buffer (TLB) arrays for variable page sizes | |
US9658957B2 (en) | Systems and methods for managing data input/output operations | |
JP6859361B2 (ja) | 中央処理ユニット(cpu)ベースシステムにおいて複数のラストレベルキャッシュ(llc)ラインを使用してメモリ帯域幅圧縮を行うこと | |
US9529730B2 (en) | Methods for cache line eviction | |
US11074189B2 (en) | FlatFlash system for byte granularity accessibility of memory in a unified memory-storage hierarchy | |
US8112589B2 (en) | System for caching data from a main memory with a plurality of cache states | |
JP2024533612A (ja) | 擬似lru補足時期情報を用いた再参照間隔予測(rrip) | |
US11436158B2 (en) | Fine-grained forced cache eviction | |
WO2006109421A1 (ja) | キャッシュメモリ | |
Subisha et al. | Prefetching in hybrid main memory systems | |
JP2024533656A (ja) | 1つのキャッシュにおける別のキャッシュの挿入ポリシーのための要求クラス及び再使用記録の使用 | |
CN115269492A (zh) | 可重构处理器多端口缓存的流式数据管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130509 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140226 |
|
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: 20140311 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140325 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5511965 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |