JP6145193B2 - メモリへの読取り又は書込み - Google Patents
メモリへの読取り又は書込み Download PDFInfo
- Publication number
- JP6145193B2 JP6145193B2 JP2016083229A JP2016083229A JP6145193B2 JP 6145193 B2 JP6145193 B2 JP 6145193B2 JP 2016083229 A JP2016083229 A JP 2016083229A JP 2016083229 A JP2016083229 A JP 2016083229A JP 6145193 B2 JP6145193 B2 JP 6145193B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- cache
- read
- write
- block size
- 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
- 230000015654 memory Effects 0.000 title claims description 56
- 238000000034 method Methods 0.000 claims description 26
- 238000005259 measurement Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims 3
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
-
- 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/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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
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)
- Debugging And Monitoring (AREA)
Description
Claims (15)
- コンピューティング環境に関する方法であって、
ある複数のブロック・サイズに関し、当該ブロック・サイズのブロックをキャッシュから読み取るためにかかる時間、前記ブロックを前記キャッシュに書き込むためにかかる時間、前記ブロックを前記キャッシュから読み取りかつ前記キャッシュに書き込むためにかかる時間、前記ブロックを前記キャッシュから読み取るためのプロセッサ・リソースの使用量、前記ブロックを前記キャッシュに書き込むためのプロセッサ・リソースの使用量、及び前記ブロックを前記キャッシュから読み取りかつ前記キャッシュに書き込むためのプロセッサ・リソースの使用量を含む一群のファクタのうちの少なくとも1つのファクタの決定と、前記キャッシュの代わりにストレージを直接的に使用した場合の前記少なくとも1つのファクタの決定と、を含む決定を行うステップと、
前記決定によって得られた結果に基づき、キャッシュを使用すること及びストレージを直接的に使用することのいずれがより効率的な方法であるかを前記複数のブロック・サイズの各々に対して選択し、
前記複数のブロック・サイズの各々と前記選択された方法を関連付けするステップと、
前記複数のブロック・サイズの一つのブロック・サイズであるデータ・ストリームのブロック・サイズに応答して、当該データ・ストリームに対して、前記複数のブロック・サイズの一つに関連付けされたより前記選択されたより効率的な方法を使用するステップと、を含む方法。 - 前記決定を行うステップが一つ以上のファクタを測定することによって行われる、請求項1に記載の方法。
- 前記決定を行うステップが、
前記コンピューティング環境のメモリ使用の前記効率に影響を及ぼすシステム・パラメータを取得するステップと、
前記取得されたシステム・パラメータを使用することによって、前記複数のブロック・サイズに対して前記少なくとも1つのファクタを計算するステップと、
を更に含む、請求項1に記載の方法。 - 前記コンピューティング環境のメモリ使用の前記効率性に影響を与えるシステム・パラメータを取得するステップと、
前記取得されたシステム・パラメータを使用することによって、前記複数のブロック・サイズに関して、キャッシュを使用すること及びストレージを直接的に使用することの効率性を計算するステップと、
前記コンピューティング環境内のハードウェアを確認するために、対応する測定結果を計算結果と比較するステップと
を更に含む、請求項2に記載の方法。 - データ・ストリームのブロック・サイズに関する情報を受信するステップと、
前記データ・ストリームの前記ブロック・サイズが前記複数のブロック・サイズのどの一つに対応するかを決定するステップと、
前記データ・ストリームに関して、前記関連付けられた方法を使用するステップと
を更に含む、請求項2に記載の方法。 - 前記選択が実行された前記測定結果に基づいて、最適ブロック・サイズを決定するステップと、
前記最適ブロック・サイズをアプリケーションに通知するステップと、
を更に含む、請求項2に記載の方法。 - 前記選択が実行された前記計算結果に基づき、最適なブロック・サイズを決定するステップと、
前記最適なブロック・サイズをアプリケーションに適用するステップと、
を更に含む、請求項3に記載の方法。 - 前記読み取るためのステップと前記書き込むためのステップとを別個に実行するステップを更に含む、請求項3に記載の方法。
- ある複数のブロック・サイズに関して、当該ブロック・サイズのブロックをキャッシュから読み取るためにかかる時間、前記ブロックを前記キャッシュに書き込むためにかかる時間、前記ブロックを前記キャッシュから読み取りかつ前記キャッシュに書き込むためにかかる時間、前記ブロックを前記キャッシュから読み取るためのプロセッサ・リソースの使用量、前記ブロックを前記キャッシュに書き込むためのプロセッサ・リソースの使用量、及び前記ブロックを前記キャッシュから読み取りかつ前記キャッシュに書き込むためのプロセッサ・リソースの使用量、を含む一群のファクタのうちの少なくとも1つのファクタの決定と、前記キャッシュの代わりにストレージを直接的に使用した場合の前記少なくとも1つのファクタの決定と、を含む決定を行なうこと、
前記決定によって得られた結果に基づき、キャッシュを使用すること及びストレージを直接的に使用することのいずれがより効率的な方法であるかを前記複数のブロック・サイズの各々に対して選択すること、及び
前記複数のブロック・サイズの各々と前記選択された方法を関連付けすること、
前記複数のブロック・サイズの一つのブロック・サイズであるデータ・ストリームのブロック・サイズに応答して、データ・ストリームに対して、前記複数のブロック・サイズの一つに関連付けされた前記選択されたより効率的な方法を使用すること、
を装置上で実行させるように構成されたコンピュータ・プログラム・コードを備えたコンピュータ・プログラム。 - 前記決定が一つ以上のファクタを測定することによって行うこと、を装置上で実行させるように構成された、請求項9に記載のコンピュータ・プログラム。
- 前記コンピュータ・プログラム・コードが更に、
メモリ使用の前記効率に影響を及ぼす、コンピューティング環境のシステム・パラメータを取得すること、
前記取得されたシステム・パラメータを使用することによって、前記複数のブロック・サイズに関して、キャッシュを使用すること及びストレージを直接的に使用することのいずれがより効率的な方法であるかを計算すること、によって一つ以上のファクタの決定を行うこと
を装置上で実行させるように構成された、請求項9に記載のコンピュータ・プログラム。 - ある複数のブロック・サイズに関して、当該ブロック・サイズのブロックをキャッシュから読み取るためにかかる時間、前記ブロックを前記キャッシュに書き込むためにかかる時間、前記ブロックを前記キャッシュから読み取りかつ前記キャッシュに書き込むためにかかる時間、前記ブロックを前記キャッシュから読み取るためのプロセッサ・リソースの使用量、前記ブロックを前記キャッシュに書き込むためのプロセッサ・リソースの使用量及び前記ブロックを前記キャッシュから読み取りかつ前記キャッシュに書き込むためのプロセッサ・リソースの使用量を含む一群のファクタのうちの少なくとも1つのファクタの測定と、前記キャッシュの代わりにストレージを直接的に使用した場合の前記少なくとも1つのファクタの測定と、を含む測定を行なう手段と、
前記測定から得られた結果に基づき、キャッシュを使用すること及びストレージを直接的に使用することのいずれがより効率的な方法であるかを前記複数のブロック・サイズの各々に対して選択する手段と、
前記複数のブロック・サイズの各々と前記選択された方法を関連付けする手段と、
データ・ストリームのブロック・サイズに対応する前記複数のブロック・サイズの一つのブロック・サイズに関連付けされたより効率的な方法を使用する手段と、
を備えた装置。 - 前記装置が更に、前記キャッシュと、前記ストレージと、データ・ストリームが通過する構成要素とを備え、前記構成要素が、少なくとも、データ・ストリームに対して、前記対応するブロック・サイズに関係付けされた前記選択されたより効率的な方法に基づいて前記キャッシュ又は前記ストレージを使用する手段を備えた、請求項12に記載の装置。
- ある複数のブロック・サイズに関して、当該ブロック・サイズのブロックを読み取るためにかかる時間、前記ブロックを書き込むためにかかる時間、前記ブロックを読み取りかつ書き込むためにかかる時間、前記ブロックを読み取るためのプロセッサ・リソースの使用量、前記ブロックを書き込むためのプロセッサ・リソースの使用量、及び前記ブロックを読み取りかつ書き込むためのプロセッサ・リソースの使用量を含む一群のファクタのうちの少なくとも1つのファクタを測定することによってキャッシュを使用すること及びストレージを直接的に使用することのいずれがより効率的な方法であるかを測定し、
得られた測定結果に基づき、キャッシュを使用すること及びストレージを直接的に使用することに対して各測定されたブロック・サイズに対してより効率的な方法を選択し、
前記各測定されたブロック・サイズを前記選択された方法と関連付け、
前記各測定されたブロック・サイズの一つに対応するブロック・サイズを有するデータ・ストリームに応答して、当該データ・ストリームに対して、前記対応するブロック・サイズに関連付けされた前記選択されたより効率的な方法を使用する、
ように構成されたコンピュータ構成要素。 - 前記コンピュータ構成要素が、コントローラ、制御ユニット、マイクロコントローラ、シングル・チップ・コンピュータ要素、チップセット又はボードである、請求項14に記載のコンピュータ構成要素。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20105743 | 2010-06-29 | ||
FI20105743A FI20105743A0 (fi) | 2010-06-29 | 2010-06-29 | Muistista lukeminen tai muistiin kirjoittaminen |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013517421A Division JP6005637B2 (ja) | 2010-06-29 | 2011-06-21 | メモリへの読取り又は書込み |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016149155A JP2016149155A (ja) | 2016-08-18 |
JP6145193B2 true JP6145193B2 (ja) | 2017-06-07 |
Family
ID=42308195
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013517421A Active JP6005637B2 (ja) | 2010-06-29 | 2011-06-21 | メモリへの読取り又は書込み |
JP2016083229A Active JP6145193B2 (ja) | 2010-06-29 | 2016-04-18 | メモリへの読取り又は書込み |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013517421A Active JP6005637B2 (ja) | 2010-06-29 | 2011-06-21 | メモリへの読取り又は書込み |
Country Status (6)
Country | Link |
---|---|
US (1) | US8775738B2 (ja) |
EP (1) | EP2588964B1 (ja) |
JP (2) | JP6005637B2 (ja) |
KR (1) | KR101569372B1 (ja) |
FI (1) | FI20105743A0 (ja) |
WO (1) | WO2012001234A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101873296B1 (ko) * | 2011-09-15 | 2018-07-03 | 삼성전자주식회사 | 저장공간 확장이 가능한 단말기 및 그 저장공간 확장방법 |
US9921962B2 (en) * | 2015-09-24 | 2018-03-20 | Qualcomm Incorporated | Maintaining cache coherency using conditional intervention among multiple master devices |
KR20220022139A (ko) | 2020-08-18 | 2022-02-25 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0460730A (ja) * | 1990-06-28 | 1992-02-26 | Nec Corp | キャッシュ制御方式 |
EP0667579A1 (en) * | 1994-02-09 | 1995-08-16 | Ballard Synergy Corporation | Cache for optical storage device |
JPH10269143A (ja) * | 1997-03-25 | 1998-10-09 | Mitsubishi Electric Corp | ディスクキャッシュ装置のキャッシュパラメータ制御方法及びディスクキャッシュ装置 |
US6266742B1 (en) * | 1997-10-27 | 2001-07-24 | International Business Machines Corporation | Algorithm for cache replacement |
JPH11353230A (ja) * | 1998-06-04 | 1999-12-24 | Toshiba Corp | コンピュータ装置 |
JP4508608B2 (ja) * | 2003-11-13 | 2010-07-21 | 株式会社日立製作所 | 統合キャッシュを備えた記憶装置アダプタ |
US7401188B2 (en) * | 2005-06-29 | 2008-07-15 | Intel Corporation | Method, device, and system to avoid flushing the contents of a cache by not inserting data from large requests |
WO2007072287A2 (en) * | 2005-12-20 | 2007-06-28 | Koninklijke Philips Electronics N.V. | Method of controlling disk accesses between a hard-disk drive and a number of stream buffers |
US7409502B2 (en) | 2006-05-11 | 2008-08-05 | Freescale Semiconductor, Inc. | Selective cache line allocation instruction execution and circuitry |
CN101479805A (zh) | 2006-06-30 | 2009-07-08 | Nxp股份有限公司 | 具有闪速缓存部分的闪速存储器装置及其使用方法 |
US20080184003A1 (en) * | 2007-01-30 | 2008-07-31 | Kabushiki Kaisha Toshiba | Data transmission control apparatus and data transmission control method |
US7895397B2 (en) * | 2007-09-12 | 2011-02-22 | Intel Corporation | Using inter-arrival times of data requests to cache data in a computing environment |
US7886110B2 (en) * | 2007-12-27 | 2011-02-08 | Intel Corporation | Dynamically adjusting cache policy based on device load in a mass storage system |
JP5577238B2 (ja) * | 2008-02-29 | 2014-08-20 | パナソニック株式会社 | アクセス装置、情報記録装置、コントローラ、及び情報記録システム |
US8433854B2 (en) * | 2008-06-25 | 2013-04-30 | Intel Corporation | Apparatus and method for cache utilization |
US8601213B2 (en) | 2008-11-03 | 2013-12-03 | Teradata Us, Inc. | System, method, and computer-readable medium for spool cache management |
-
2010
- 2010-06-29 FI FI20105743A patent/FI20105743A0/fi not_active Application Discontinuation
-
2011
- 2011-06-21 WO PCT/FI2011/050597 patent/WO2012001234A1/en active Application Filing
- 2011-06-21 EP EP11736120.4A patent/EP2588964B1/en active Active
- 2011-06-21 KR KR1020137002395A patent/KR101569372B1/ko active IP Right Grant
- 2011-06-21 JP JP2013517421A patent/JP6005637B2/ja active Active
- 2011-06-24 US US13/168,871 patent/US8775738B2/en active Active
-
2016
- 2016-04-18 JP JP2016083229A patent/JP6145193B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
EP2588964B1 (en) | 2019-12-25 |
KR20140012934A (ko) | 2014-02-04 |
US20110320718A1 (en) | 2011-12-29 |
FI20105743A0 (fi) | 2010-06-29 |
KR101569372B1 (ko) | 2015-11-16 |
JP6005637B2 (ja) | 2016-10-12 |
JP2016149155A (ja) | 2016-08-18 |
CN102971719A (zh) | 2013-03-13 |
EP2588964A1 (en) | 2013-05-08 |
JP2013533551A (ja) | 2013-08-22 |
WO2012001234A1 (en) | 2012-01-05 |
US8775738B2 (en) | 2014-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI380178B (en) | System and method for managing memory errors in an information handling system | |
US10025504B2 (en) | Information processing method, information processing apparatus and non-transitory computer readable medium | |
US9916265B2 (en) | Traffic rate control for inter-class data migration in a multiclass memory system | |
US10853219B2 (en) | Real-time input/output bandwidth estimation | |
JP6145193B2 (ja) | メモリへの読取り又は書込み | |
JP6761870B2 (ja) | 低電力メモリのスロットリング | |
US10643736B2 (en) | Method, apparatus and electronic device for read/write speed testing | |
JP2012512472A (ja) | データバースト間の競合の解決 | |
EP2908248B1 (en) | Memory data pushing method and device | |
US9740618B2 (en) | Memory nest efficiency with cache demand generation | |
JP7038656B2 (ja) | キャッシュへのアクセス | |
US20120254656A1 (en) | Method, apparatus and system for providing memory sparing information | |
JP2007293846A (ja) | メモリに関する保守および調整操作を行う方法およびシステム | |
JP2023508117A (ja) | 不揮発性メモリモジュールのエラー報告 | |
US10209749B2 (en) | Workload allocation based on downstream thermal impacts | |
US9092486B2 (en) | Extensible I/O activity logs | |
CN102971719B (zh) | 对存储器读取或写入的方法、设备及组件 | |
US11556259B1 (en) | Emulating memory sub-systems that have different performance characteristics | |
EP4033346A1 (en) | Affinity-based cache operation for a persistent storage device | |
KR101335343B1 (ko) | 메모리 관리 장치 및 방법 | |
JP2014157476A (ja) | 計測装置及び計測方法 | |
US20190391837A1 (en) | Processing division device, simulator system and processing division method | |
RU2504000C1 (ru) | Способ копирования данных в кэш-памяти и устройство для его осуществления | |
TW410300B (en) | Detection method for the storage capacity of high speed cache | |
WO2017020194A1 (zh) | 一种文件***保护方法、装置及存储设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160518 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160518 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170328 |
|
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: 20170412 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170512 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6145193 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |