JP6046277B2 - 書込み耐久性が限られたメモリのためのイントラセットウェアレベリングのための方法および装置 - Google Patents
書込み耐久性が限られたメモリのためのイントラセットウェアレベリングのための方法および装置 Download PDFInfo
- Publication number
- JP6046277B2 JP6046277B2 JP2015558211A JP2015558211A JP6046277B2 JP 6046277 B2 JP6046277 B2 JP 6046277B2 JP 2015558211 A JP2015558211 A JP 2015558211A JP 2015558211 A JP2015558211 A JP 2015558211A JP 6046277 B2 JP6046277 B2 JP 6046277B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- line
- data
- threshold
- level
- 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
- 238000000034 method Methods 0.000 title claims description 25
- 230000015654 memory Effects 0.000 title description 64
- 230000004044 response Effects 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000003111 delayed effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 101150048216 tag-131 gene Proteins 0.000 description 1
- 230000002123 temporal effect Effects 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/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- 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/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- 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/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
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)
- Techniques For Improving Reliability Of Storages (AREA)
Description
102 キャッシュ
103 次のレベルのキャッシュ
105 システムメモリ
106 プロセッサ複合体
108 キャッシュ制御回路
110 キャッシュ書込み計数器
111 書込み閾値回路
114 アドレスタグセレクタ回路
115 ラインフラッシュ回路
116 置換ポリシー回路
1181 ウェイ1
1182 ウェイ2
118N ウェイN
120 セットi
122 タグ
123 ライン
124 タグ比較回路
125 キャッシュライン選択回路
130 アドレス
131 アドレスタグ
314 統合メモリサブシステム
132 データ
134 制御
300 デバイス
304 システムオンチップデバイス
310 プロセッサ複合体
311 プロセッサ(二重プロセッサ)
312 システムメモリ
318 ソフトウェア命令
322 レベル1データキャッシュ(L1 Dキャッシュ)
324 レベル1命令キャッシュ(L1 Iキャッシュ)
326 レベル2(L2)ユニファイドキャッシュ
328 キャッシュコントローラ回路
334 カメラインターフェース
336 ビデオカメラ
340 表示コントローラ
342 表示デバイス
344 符号器/復号器(CODEC)
346 スピーカ
348 マイクロホン
350 ワイヤレスインターフェース
352 ワイヤレスアンテナ
356 入力デバイス
358 電源
Claims (19)
- キャッシュのウェアレベリングのための方法であって、
前記キャッシュ内の書込み操作ごとに包括的計数器を増分するステップと、
前記包括的計数器を閾値に到達させた現在の書込み操作に対応するデータのラインを前記キャッシュから退けるステップと、
前記包括的計数器が前記閾値に到達したことに応答して、前記データのラインを次のレベルのキャッシュに書き込み、前記包括的計数器をリセットし、前記退けられたキャッシュラインを、前記キャッシュラインが最長時間未使用のキャッシュラインになるまで、空にしておくステップと
を含む方法。 - 前記閾値が、前記包括的計数器の計数値出力と比較されるプログラム設定可能値であり、前記計数値出力と前記閾値が一致するときに前記比較により指示を提供する、請求項1に記載の方法。
- 次にアクセスされると、前記データのラインがすでに退けられているキャッシュラインとは異なるキャッシュ内のキャッシュラインに書き込まれる、請求項1に記載の方法。
- 前記データのラインが、前記キャッシュ内のウェイのアドレス指定されたセットのウェイから選択され、前記データのラインが、次にアクセスされると、ウェイの前記アドレス指定されたセットにおいて、前記データのラインが退けられたキャッシュラインとは異なるキャッシュラインに書き込まれる、請求項1に記載の方法。
- 前記包括的計数器をリセットするステップであって、それにより前記包括的計数器を初期化して後続するキャッシュ書込み監視期間に備えるステップ
をさらに含む、請求項1に記載の方法。 - 前記キャッシュがレベル1キャッシュであり、また、前記次のレベルのキャッシュがレベル2キャッシュである、請求項1に記載の方法。
- 前記キャッシュがレベル2キャッシュであり、また、前記次のレベルのキャッシュがレベル3キャッシュである、請求項1に記載の方法。
- 前記包括的計数器を前記閾値に到達させた前記現在の書込み操作の影響を受けた前記データのラインに無効のマークを付けるステップであって、前記無効のマークによって前記データのラインが前記キャッシュから退けられるステップ
をさらに含む、請求項1に記載の方法。 - キャッシュのウェアレベリングのための装置であって、
前記キャッシュにデータを書き込む書込み操作を制御するプロセッサ複合体に結合された複数のウェイを有するキャッシュと、
書込み閾値回路および包括的計数器回路であって、前記キャッシュへの各書込み操作を計数し、かつ、前記包括的計数器回路の包括的計数出力と閾値の比較に基づいて、前記包括的計数器回路が閾値に到達したときに指示を生成するように構成される書込み閾値回路および包括的計数器回路と、
前記指示に応答して、現在の書込み操作に対応するデータのラインを前記キャッシュから退け、前記データのラインを次のレベルのキャッシュに書き込むように構成されるラインフラッシュ回路と、
前記指示に応答して、前記退けられたキャッシュラインを、前記キャッシュラインが最長時間未使用のキャッシュラインになるまで、空にしておくように構成される置換ポリシー回路と
を備える装置。 - 前記閾値が、前記包括的計数器回路の前記包括的計数出力と比較されるプログラム設定可能値であり、前記包括的計数出力と前記閾値が一致するときに前記比較により指示を提供する、請求項9に記載の装置。
- 前記閾値が、前記書込み閾値回路に記憶されるデフォルト値であり、動作中のプログラムに従って調整される、請求項10に記載の装置。
- 前記データのラインが、次にアクセスされると、すでに退けられているキャッシュラインとは異なるキャッシュラインに書き込まれる、請求項10に記載の装置。
- 前記データのラインが、前記キャッシュ内のウェイのアドレス指定されたセットのウェイから選択され、前記データのラインが、次にアクセスされると、ウェイの前記アドレス指定されたセットにおいて、前記データのラインが退けられたキャッシュラインとは異なるキャッシュラインに書き込まれる、請求項10に記載の装置。
- 前記包括的計数器回路を初期化して後続するキャッシュ書込み監視期間に備えるべく、前記包括的計数器回路がリセットされる、請求項10に記載の装置。
- 前記キャッシュとして構成されたレベル1キャッシュと、
前記次のレベルのキャッシュとして構成されたレベル2キャッシュであって、前記データのラインが書き込まれるレベル2キャッシュと
をさらに備える、請求項10に記載の装置。 - 前記キャッシュとして構成されたレベル2キャッシュと、
前記次のレベルのキャッシュとして構成されたレベル3キャッシュであって、前記データのラインが書き込まれるレベル3キャッシュと
をさらに備える、請求項10に記載の装置。 - 各キャッシュラインのタグに無効化ラインビットが含まれ、前記データのラインが確率的無効化されたデータのラインであり、前記データのラインの再使用を遅らせるべきであることを前記指示に応答して示す、請求項10に記載の装置。
- コンピュータ可読プログラムデータおよびコードを使用して符号化されたコンピュータ可読非一時的記憶媒体であって、前記プログラムデータおよびコードは、実行されると、
キャッシュへの書込み操作ごとに包括的計数器を増分し、
前記包括的計数器を閾値に到達させた現在の書込み操作に対応するデータのラインを前記キャッシュから退け、
前記包括的計数器が前記閾値に到達したことに応答して、前記データのラインを次のレベルのキャッシュに書き込み、前記包括的計数器をリセットし、前記退けられたキャッシュラインを、前記キャッシュラインが最長時間未使用のキャッシュラインになるまで、空にしておく
ように動作することができる、コンピュータ可読非一時的記憶媒体。 - キャッシュのウェアレベリングのための装置であって、
プロセッサ複合体に結合された複数のウェイを有するキャッシュにデータを書き込むための手段と、
前記キャッシュへの各書込み操作を計数し、かつ、包括的計数器が閾値に到達したときに指示を生成するための手段と、
前記指示に応答して、現在の書込み操作に対応するデータのラインを前記キャッシュから退け、前記データのラインを次のレベルのキャッシュに書き込むための手段と、
前記指示に応答して、前記退けられたキャッシュラインを、前記キャッシュラインが最長時間未使用のキャッシュラインになるまで、空にしておくための手段と
を備える装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/769,965 | 2013-02-19 | ||
US13/769,965 US9292451B2 (en) | 2013-02-19 | 2013-02-19 | Methods and apparatus for intra-set wear-leveling for memories with limited write endurance |
PCT/US2014/016993 WO2014130483A1 (en) | 2013-02-19 | 2014-02-18 | Methods and apparatus for intra-set wear-leveling for memories with limited write endurance |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016510475A JP2016510475A (ja) | 2016-04-07 |
JP2016510475A5 JP2016510475A5 (ja) | 2016-07-21 |
JP6046277B2 true JP6046277B2 (ja) | 2016-12-14 |
Family
ID=50277311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015558211A Expired - Fee Related JP6046277B2 (ja) | 2013-02-19 | 2014-02-18 | 書込み耐久性が限られたメモリのためのイントラセットウェアレベリングのための方法および装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9292451B2 (ja) |
EP (1) | EP2959391B1 (ja) |
JP (1) | JP6046277B2 (ja) |
KR (1) | KR101668054B1 (ja) |
CN (1) | CN104981785B (ja) |
WO (1) | WO2014130483A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104254841A (zh) * | 2012-04-27 | 2014-12-31 | 惠普发展公司,有限责任合伙企业 | 屏蔽存储器设备 |
US9348743B2 (en) | 2013-02-21 | 2016-05-24 | Qualcomm Incorporated | Inter-set wear-leveling for caches with limited write endurance |
US9176856B2 (en) * | 2013-07-08 | 2015-11-03 | Arm Limited | Data store and method of allocating data to the data store |
US10331537B2 (en) * | 2016-12-23 | 2019-06-25 | Advanced Micro Devices, Inc. | Waterfall counters and an application to architectural vulnerability factor estimation |
JP2018160060A (ja) | 2017-03-22 | 2018-10-11 | 東芝メモリ株式会社 | メモリシステム |
US11074018B2 (en) * | 2017-04-06 | 2021-07-27 | International Business Machines Corporation | Network asset management |
US10592451B2 (en) | 2017-04-26 | 2020-03-17 | International Business Machines Corporation | Memory access optimization for an I/O adapter in a processor complex |
US10572286B2 (en) | 2017-04-26 | 2020-02-25 | International Business Machines Corporation | Memory access optimization in a processor complex |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1294489A (en) | 1970-05-12 | 1972-10-25 | Solartron Electronic Group | Linearizing circuit |
US3772595A (en) | 1971-03-19 | 1973-11-13 | Teradyne Inc | Method and apparatus for testing a digital logic fet by monitoring currents the device develops in response to input signals |
US7035967B2 (en) | 2002-10-28 | 2006-04-25 | Sandisk Corporation | Maintaining an average erase count in a non-volatile storage system |
US7046174B1 (en) | 2003-06-03 | 2006-05-16 | Altera Corporation | Byte alignment for serial data receiver |
US8112574B2 (en) | 2004-02-26 | 2012-02-07 | Super Talent Electronics, Inc. | Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes |
US7237067B2 (en) * | 2004-04-22 | 2007-06-26 | Hewlett-Packard Development Company, L.P. | Managing a multi-way associative cache |
US7568068B2 (en) * | 2006-11-13 | 2009-07-28 | Hitachi Global Storage Technologies Netherlands B. V. | Disk drive with cache having volatile and nonvolatile memory |
US9153337B2 (en) | 2006-12-11 | 2015-10-06 | Marvell World Trade Ltd. | Fatigue management system and method for hybrid nonvolatile solid state memory system |
JP4470186B2 (ja) | 2006-12-12 | 2010-06-02 | エルピーダメモリ株式会社 | 半導体記憶装置 |
US20100115175A9 (en) | 2006-12-18 | 2010-05-06 | Zhiqing Zhuang | Method of managing a large array of non-volatile memories |
US8543742B2 (en) | 2007-02-22 | 2013-09-24 | Super Talent Electronics, Inc. | Flash-memory device with RAID-type controller |
FR2913785B1 (fr) | 2007-03-13 | 2009-06-12 | St Microelectronics Sa | Gestion de memoire tampon circulaire |
KR100857761B1 (ko) | 2007-06-14 | 2008-09-10 | 삼성전자주식회사 | 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법 |
US7934052B2 (en) | 2007-12-27 | 2011-04-26 | Pliant Technology, Inc. | System and method for performing host initiated mass storage commands using a hierarchy of data structures |
US8095724B2 (en) | 2008-02-05 | 2012-01-10 | Skymedi Corporation | Method of wear leveling for non-volatile memory and apparatus using via shifting windows |
US8275945B2 (en) | 2008-02-05 | 2012-09-25 | Spansion Llc | Mitigation of flash memory latency and bandwidth limitations via a write activity log and buffer |
US20100185816A1 (en) | 2009-01-21 | 2010-07-22 | Sauber William F | Multiple Cache Line Size |
US8255613B2 (en) | 2009-04-30 | 2012-08-28 | International Business Machines Corporation | Wear-leveling and bad block management of limited lifetime memory devices |
JP2012013733A (ja) | 2010-06-29 | 2012-01-19 | Renesas Electronics Corp | 表示装置の駆動回路 |
US8356153B2 (en) | 2010-11-19 | 2013-01-15 | International Business Machines Corporation | Adaptive wear leveling via monitoring the properties of memory reference stream |
US20120311228A1 (en) * | 2011-06-03 | 2012-12-06 | Advanced Micro Devices, Inc. | Method and apparatus for performing memory wear-leveling using passive variable resistive memory write counters |
WO2012163027A1 (zh) * | 2011-10-27 | 2012-12-06 | 华为技术有限公司 | 控制缓存映射的方法及缓存系统 |
JP2014530422A (ja) * | 2011-10-27 | 2014-11-17 | ▲ホア▼▲ウェイ▼技術有限公司 | バッファマッピングを制御するための方法およびバッファシステム |
US9665233B2 (en) * | 2012-02-16 | 2017-05-30 | The University Utah Research Foundation | Visualization of software memory usage |
US9348743B2 (en) | 2013-02-21 | 2016-05-24 | Qualcomm Incorporated | Inter-set wear-leveling for caches with limited write endurance |
-
2013
- 2013-02-19 US US13/769,965 patent/US9292451B2/en active Active
-
2014
- 2014-02-18 KR KR1020157024651A patent/KR101668054B1/ko active IP Right Grant
- 2014-02-18 CN CN201480007156.0A patent/CN104981785B/zh not_active Expired - Fee Related
- 2014-02-18 WO PCT/US2014/016993 patent/WO2014130483A1/en active Application Filing
- 2014-02-18 JP JP2015558211A patent/JP6046277B2/ja not_active Expired - Fee Related
- 2014-02-18 EP EP14710096.0A patent/EP2959391B1/en not_active Not-in-force
Also Published As
Publication number | Publication date |
---|---|
US9292451B2 (en) | 2016-03-22 |
CN104981785B (zh) | 2018-01-23 |
EP2959391A1 (en) | 2015-12-30 |
JP2016510475A (ja) | 2016-04-07 |
KR101668054B1 (ko) | 2016-10-20 |
WO2014130483A1 (en) | 2014-08-28 |
CN104981785A (zh) | 2015-10-14 |
KR20150121046A (ko) | 2015-10-28 |
EP2959391B1 (en) | 2017-05-17 |
US20140237191A1 (en) | 2014-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6046277B2 (ja) | 書込み耐久性が限られたメモリのためのイントラセットウェアレベリングのための方法および装置 | |
US10521003B2 (en) | Method and apparatus to shutdown a memory channel | |
US11200176B2 (en) | Dynamic partial power down of memory-side cache in a 2-level memory hierarchy | |
KR101826073B1 (ko) | 메모리 관리를 위한 캐시 동작들 | |
US10719443B2 (en) | Apparatus and method for implementing a multi-level memory hierarchy | |
US10102126B2 (en) | Apparatus and method for implementing a multi-level memory hierarchy having different operating modes | |
US9286205B2 (en) | Apparatus and method for phase change memory drift management | |
US20210056030A1 (en) | Multi-level system memory with near memory capable of storing compressed cache lines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160601 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160601 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20160601 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20160620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160926 |
|
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: 20161017 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161116 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6046277 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |