KR101475931B1 - 캐시 및 그 운영 방법 - Google Patents
캐시 및 그 운영 방법 Download PDFInfo
- Publication number
- KR101475931B1 KR101475931B1 KR1020130058947A KR20130058947A KR101475931B1 KR 101475931 B1 KR101475931 B1 KR 101475931B1 KR 1020130058947 A KR1020130058947 A KR 1020130058947A KR 20130058947 A KR20130058947 A KR 20130058947A KR 101475931 B1 KR101475931 B1 KR 101475931B1
- Authority
- KR
- South Korea
- Prior art keywords
- cache
- untrusted
- data
- trust
- replacement
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
-
- 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)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
도 2는 본 발명의 일실시예에 따른 캐시의 구조를 도시함.
도 3은 본 발명의 일실시예에 따른 캐시의 상세한 구조를 도시함.
도 4는 본 발명의 일실시예에 따른 전원 공급부를 도시함.
도 5는 종래의 PLRU 트리의 실시예를 도시함.
도 6은 본 발명의 일실시예에 따른 듀얼 PLRU 트리의 실시예를 도시함.
도 7은 본 발명의 일실시예에 따른 신뢰성 제어부를 도시함.
도 8 내지 도 10은 본 발명의 일실시예에 따른 캐시 비율 조정 중, 신뢰 캐시를 비신뢰 캐시로 변경하는 과정에서 더티 블록을 처리하는 방법을 도시함.
도 11은 본 발명의 일실시예에 따른 캐시 운영 방법의 흐름을 도시함.
도 12는 본 발명의 일실시예에 따른 캐시 운영 방법의 성능을 도시함.
100: 캐시 블럭
102: 신뢰 캐시
104: 비신뢰 캐시
200: 전원 공급부
300: 교체 제어부
400: 신뢰성 제어부
500: 비율 제어부
Claims (17)
- 캐시에 있어서,
더티(dirty) 데이터를 저장하는 신뢰 캐시; 및
클린(clean) 데이터를 저장하는 비신뢰 캐시;를 포함하되,
상기 캐시는 상기 신뢰 캐시와 상기 비신뢰 캐시에 기지정된 비율로 캐시 영역을 할당하여 동작을 시작하며,
상기 비신뢰 캐시는 상기 신뢰 캐시보다 낮은 전압이 공급되고,
상기 신뢰 캐시에 저장된 데이터 또는 상기 더티 데이터에 대해서는 오류 정정 코드(ECC: error correcting code)를 사용하여 오류 발생 검출 및 오류 정정을 수행하고,
상기 비신뢰 캐시에 저장된 데이터 또는 상기 클린 데이터에 대해서는 오류 검출 코드(EDC: error detection code)를 사용하여 오류 발생을 검출하고, 오류 발생이 검출되면 다른 메모리에 중복 저장되어 있는 데이터를 대신 사용하는 캐시. - 제 1 항에 있어서,
상기 신뢰 캐시에는 캐시 데이터의 신뢰성을 보장하는 최저 인가 전압이 공급되고,
상기 비신뢰 캐시에는 상기 최저 인가 전압보다 낮은 전압이 공급되는 캐시. - 삭제
- 제 1 항에 있어서,
상기 캐시는 상기 오류 정정 코드와 상기 오류 검출 코드를 하나의 저장소를 공유하여 기록하는 캐시. - 제 1 항에 있어서,
상기 캐시는 상기 비신뢰 캐시에 저장되어 있는 데이터에 오류가 발생하면 캐시 미스(cache miss)가 발생한 것으로 처리하는 캐시. - 제 1 항에 있어서,
상기 캐시는 상기 신뢰 캐시와 상기 비신뢰 캐시에 대해 단일 교체 정책(replacement policy)을 사용하여 교체 희생자를 찾는 캐시. - 제 1 항에 있어서,
상기 캐시는 상기 신뢰 캐시와 상기 비신뢰 캐시에 대해 하나의 듀얼 PLRU 트리(Dual PLRU tree)를 사용하여 교체 희생자를 찾는 캐시. - 제 1 항에 있어서,
상기 캐시 영역은 웨이(way)별로 할당되는 캐시. - 제 1 항에 있어서,
상기 캐시는 상기 신뢰 캐시와 상기 비신뢰 캐시의 비율을 동적으로 조정하는 캐시. - 제 1 항에 있어서,
상기 비신뢰 캐시에 상기 신뢰 캐시보다 많은 캐시 영역을 할당하여 동작을 시작하는 캐시. - 제 1 항에 있어서,
상기 캐시는 교체 희생자가 발생할 때마다 신뢰 캐시 교체 희생자 수 또는 비신뢰 캐시 교체 희생자 수를 증가시키며,
상기 캐시 교체 희생자 수 또는 상기 비신뢰 캐시 교체 희생자 수의 증가율이 임계값 이상이 되는 시점마다, 상기 신뢰 캐시 교체 희생자 수 또는 상기 비신뢰 캐시 교체 희생자 수에 기초하여, 상기 신뢰 캐시 및 상기 비신뢰 캐시의 비율을 조정하는 캐시. - 캐시 운영 방법에 있어서,
기지정된 비율로 신뢰 캐시와 비신뢰 캐시에 캐시 영역을 할당하는 단계;
상기 신뢰 캐시에는 더티(dirty) 데이터를 저장하고, 상기 비신뢰 캐시에는 클린(clean) 데이터를 저장하는 단계;
상기 신뢰 캐시에 저장된 데이터 또는 상기 더티 데이터에 대해 오류 정정 코드(ECC: error correcting code)를 사용하여 오류 발생 검출 및 오류 정정을 수행하는 단계; 및
상기 비신뢰 캐시에 저장된 데이터 또는 상기 클린 데이터에 대해 오류 검출 코드(EDC: error detection code)를 사용하여 오류 발생을 검출하는 단계를 포함하되,
상기 비신뢰 캐시는 상기 신뢰 캐시보다 낮은 전압이 공급되고,
상기 오류 검출 코드를 사용하여 오류 발생이 검출되면 다른 메모리에 중복 저장되어 있는 데이터를 대신 사용하는 캐시 운영 방법. - 제 12 항에 있어서,
상기 신뢰 캐시에는 캐시 데이터의 신뢰성을 보장하는 최저 인가 전압이 공급되고, 상기 비신뢰 캐시에는 상기 최저 인가 전압보다 낮은 전압이 공급되는 캐시 운영 방법. - 제 12 항에 있어서,
상기 오류 정정 코드 및 상기 오류 검출 코드는 하나의 저장소를 공유하여 기록되는 캐시 운영 방법. - 제 12 항에 있어서,
상기 방법은
상기 신뢰 캐시와 상기 비신뢰 캐시에 대해 하나의 듀얼 PLRU 트리(Dual PLRU tree)를 사용하여 교체 희생자를 찾는 단계; 및
교체 희생자가 발생할 때마다 신뢰 캐시 교체 희생자 수 또는 비신뢰 캐시 교체 희생자 수를 증가시키는 단계;를 포함하는 캐시 운영 방법. - 제 12 항에 있어서,
상기 할당 단계는
상기 비신뢰 캐시에 상기 신뢰 캐시보다 많은 캐시 영역을 할당하는 캐시 운영 방법. - 제 15 항에 있어서,
상기 방법은
상기 신뢰 캐시 및 상기 비신뢰 캐시의 비율을 조정하는 단계;를 더 포함하되,
상기 비율 조정 단계는
상기 캐시 교체 희생자 수 또는 상기 비신뢰 캐시 교체 희생자 수의 증가율이 임계값 이상이 되는 시점마다 수행되는 캐시 운영 방법.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020130058947A KR101475931B1 (ko) | 2013-05-24 | 2013-05-24 | 캐시 및 그 운영 방법 |
| PCT/KR2014/004679 WO2014189344A1 (ko) | 2013-05-24 | 2014-05-26 | 캐시 장치 및 캐시 운영 방법 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020130058947A KR101475931B1 (ko) | 2013-05-24 | 2013-05-24 | 캐시 및 그 운영 방법 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20140137839A KR20140137839A (ko) | 2014-12-03 |
| KR101475931B1 true KR101475931B1 (ko) | 2014-12-23 |
Family
ID=51933829
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020130058947A Active KR101475931B1 (ko) | 2013-05-24 | 2013-05-24 | 캐시 및 그 운영 방법 |
Country Status (2)
| Country | Link |
|---|---|
| KR (1) | KR101475931B1 (ko) |
| WO (1) | WO2014189344A1 (ko) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20170114991A (ko) | 2016-04-05 | 2017-10-16 | 울산과학기술원 | 비휘발성 메모리를 이용한 로깅 방법 |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102515417B1 (ko) * | 2016-03-02 | 2023-03-30 | 한국전자통신연구원 | 캐시 메모리 장치 및 그것의 동작 방법 |
| CN116340205B (zh) * | 2022-12-15 | 2024-04-12 | 格兰菲智能科技有限公司 | 访问请求处理方法以及缓存装置 |
| CN117390072B (zh) * | 2023-12-07 | 2024-03-26 | 深圳市云希谷科技有限公司 | 一种嵌入式系统中提高网络请求速度的方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008234320A (ja) * | 2007-03-20 | 2008-10-02 | Fujitsu Ltd | キャッシュ制御回路 |
| JP2010526374A (ja) * | 2007-05-02 | 2010-07-29 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 低パワーキャッシュアクセスモードを備えたデータ処理デバイス |
| KR20130024212A (ko) * | 2011-08-31 | 2013-03-08 | 세종대학교산학협력단 | 메모리 시스템 및 그 관리 방법 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101056460B1 (ko) * | 2009-06-05 | 2011-08-11 | 세종대학교산학협력단 | 캐쉬 제어기 및 캐쉬 블록 교체 방법 |
-
2013
- 2013-05-24 KR KR1020130058947A patent/KR101475931B1/ko active Active
-
2014
- 2014-05-26 WO PCT/KR2014/004679 patent/WO2014189344A1/ko active Application Filing
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008234320A (ja) * | 2007-03-20 | 2008-10-02 | Fujitsu Ltd | キャッシュ制御回路 |
| JP2010526374A (ja) * | 2007-05-02 | 2010-07-29 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 低パワーキャッシュアクセスモードを備えたデータ処理デバイス |
| KR20130024212A (ko) * | 2011-08-31 | 2013-03-08 | 세종대학교산학협력단 | 메모리 시스템 및 그 관리 방법 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20170114991A (ko) | 2016-04-05 | 2017-10-16 | 울산과학기술원 | 비휘발성 메모리를 이용한 로깅 방법 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2014189344A1 (ko) | 2014-11-27 |
| KR20140137839A (ko) | 2014-12-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10884940B2 (en) | Method and apparatus for using compression to improve performance of low voltage caches | |
| US10459808B2 (en) | Data storage system employing a hot spare to store and service accesses to data having lower associated wear | |
| US9229803B2 (en) | Dirty cacheline duplication | |
| US10241877B2 (en) | Data storage system employing a hot spare to proactively store array data in absence of a failure or pre-failure event | |
| Ferreira et al. | Increasing PCM main memory lifetime | |
| US10061534B2 (en) | Hardware based memory migration and resilvering | |
| EP2703991B1 (en) | Scalable storage protection | |
| US9274882B2 (en) | Page retirement in a NAND flash memory system | |
| US7865761B1 (en) | Accessing multiple non-volatile semiconductor memory modules in an uneven manner | |
| US8407516B2 (en) | Controlling memory redundancy in a system | |
| US20190340123A1 (en) | Controller for locking of selected cache regions | |
| TW201428758A (zh) | 記憶體片段重新映射以解決碎片 | |
| KR20210029661A (ko) | 메모리 액세스와 관련하여 결함 있는 비트 라인 관리 | |
| US8589768B2 (en) | Memory system having multiple channels and write control method including determination of error correction channel in memory system | |
| KR101475931B1 (ko) | 캐시 및 그 운영 방법 | |
| US20120311248A1 (en) | Cache line lock for providing dynamic sparing | |
| US20190391746A1 (en) | Background mitigation reads in a non-volatile memory system | |
| US9626113B2 (en) | Management of destage tasks with large number of ranks | |
| US20110320863A1 (en) | Dynamic re-allocation of cache buffer slots | |
| US20180286475A1 (en) | Control of refresh operation for memory regions | |
| US8020165B2 (en) | Dynamic affinity mapping to reduce usage of less reliable resources | |
| US20120311380A1 (en) | Cache locking control | |
| Chen et al. | Exploring dynamic redundancy to resuscitate faulty PCM blocks | |
| US10733069B2 (en) | Page retirement in a NAND flash memory system | |
| US9106260B2 (en) | Parity data management for a memory architecture |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20130524 |
|
| PA0201 | Request for examination | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20140721 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20141203 |
|
| PG1501 | Laying open of application | ||
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20141217 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20141218 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| FPAY | Annual fee payment |
Payment date: 20171030 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20171030 Start annual number: 4 End annual number: 4 |
|
| FPAY | Annual fee payment |
Payment date: 20181025 Year of fee payment: 5 |
|
| PR1001 | Payment of annual fee |
Payment date: 20181025 Start annual number: 5 End annual number: 5 |
|
| PR1001 | Payment of annual fee |
Payment date: 20201126 Start annual number: 7 End annual number: 7 |
|
| PR1001 | Payment of annual fee |
Payment date: 20211213 Start annual number: 8 End annual number: 8 |
|
| PR1001 | Payment of annual fee |
Payment date: 20230125 Start annual number: 9 End annual number: 9 |