KR101648725B1 - Ssd를 이용한 메모리 관리 방법 - Google Patents
Ssd를 이용한 메모리 관리 방법 Download PDFInfo
- Publication number
- KR101648725B1 KR101648725B1 KR1020150083887A KR20150083887A KR101648725B1 KR 101648725 B1 KR101648725 B1 KR 101648725B1 KR 1020150083887 A KR1020150083887 A KR 1020150083887A KR 20150083887 A KR20150083887 A KR 20150083887A KR 101648725 B1 KR101648725 B1 KR 101648725B1
- Authority
- KR
- South Korea
- Prior art keywords
- page
- ssd
- cache
- data
- memory management
- 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 abstract description 31
- 238000007726 management method Methods 0.000 claims abstract description 62
- 239000007787 solid Substances 0.000 claims abstract description 3
- 238000013507 mapping Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000000694 effects Effects 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
- 230000003287 optical effect Effects 0.000 description 2
- 238000013403 standard screening design Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007723 transport mechanism 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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
-
- 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
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
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)
Abstract
Description
도 2는 본 발명의 일실시예에 따른 메모리 관리 시스템을 설명하기 위한 개략적인 블록도이다.
도 3은 본 발명의 일실시예에 따른 메모리 관리 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 일실시예에 따른 메모리 관리 방법을 설명하기 위한 예시도이다.
도 5 및 도 6은 본 발명의 또 다른 일실시예에 따른 메모리 관리 방법을 설명하기 위한 순서도이다.
도 7은 본 발명의 또 다른 일실시예에 따른 메모리 관리 방법을 설명하기 위한 예시도이다.
403: 블록 디바이스 드라이버 404: 블록 디바이스
405: 페이지 캐시 406: 희생 캐시 매니저
407: SSD 희생 캐시
Claims (9)
- 메모리 관리 시스템이, SSD (Solid State Drive)를 SSD 희생 캐시로서 이용하여 메모리를 관리하는 방법으로서,
슈도-LRU(Least Recently Used)에 기초하여 희생 페이지를 선정하는 단계;
스왑 캐시(swap cache)를 생성하는 단계;
상기 희생 페이지가 저장될 SSD 희생 캐시의 위치를 결정하는 단계;
상기 희생 페이지로 맵핑 페이지가 선정되면, 결정한 SSD 희생 캐시의 위치에 상기 맵핑 페이지를 저장하는 단계; 및
상기 맵핑 페이지로의 접근이 감지되면, 상기 접근의 대상이 되는 데이터의 존부를 페이지 캐시에 기초하여 확인하는 단계를 포함하는, 메모리 관리 방법. - 삭제
- 제 1 항에 있어서,
상기 메모리 관리 방법은,
상기 희생 페이지로 익명 페이지(anonymous page)가 선정되면,상기 익명 페이지에 대한 프로세스가 실행 중이면 상기 익명 페이지의 상태를 더티(dirty) 상태로 변경하며, 상기 익명 페이지에 대한 프로세스가 실행 중이 아니면 상기 익명 페이지의 상태를 무효(invalid) 상태로 변경하며, 상기 결정한 SSD 희생 캐시의 위치에 상기 상태가 변경된 익명 페이지를 저장하는 단계를 더 포함하는, 메모리 관리 방법. - 삭제
- 제 1 항에 있어서,
상기 페이지 캐시에 기초하여 상기 접근 대상이 되는 데이터가 존재한다면, 상기 데이터가 SSD 희생 캐시에 존재하는지 여부를 판단하는 단계;
상기 SSD 희생 캐시에 존재한다면 상기 스왑 캐시를 판독하여 상기 SSD 희생 캐시에서의 상기 데이터의 저장 위치 정보를 확인하는 단계; 및
상기 SSD 희생 캐시에서의 데이터의 저장 위치 정보에 기초하여 데이터를 반환하는 단계를 더 포함하는, 메모리 관리 방법. - 제 3 항에 있어서,
상기 익명 페이지로의 접근이 감지되면, 상기 접근의 대상이 되는 데이터가 스왑-아웃(swap-out)되었는지 여부를 판단하는 단계를 더 포함하는, 메모리 관리 방법. - 제 6 항에 있어서,
상기 데이터가 스왑-아웃되었다면 상기 스왑 캐시를 판독하여 상기 SSD 희생 캐시에서의 상기 데이터의 저장 위치 정보를 확인하는 단계; 및
상기 SSD 희생 캐시에서의 데이터의 저장 위치 정보에 기초하여 상기 데이터를 반환하는 단계를 더 포함하는, 메모리 관리 방법. - 제 1 항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체.
- 메모리 관리 시스템에 의해 수행되고 제 1 항에 기재된 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150083887A KR101648725B1 (ko) | 2015-06-15 | 2015-06-15 | Ssd를 이용한 메모리 관리 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150083887A KR101648725B1 (ko) | 2015-06-15 | 2015-06-15 | Ssd를 이용한 메모리 관리 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101648725B1 true KR101648725B1 (ko) | 2016-08-30 |
Family
ID=56886133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150083887A Active KR101648725B1 (ko) | 2015-06-15 | 2015-06-15 | Ssd를 이용한 메모리 관리 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101648725B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8087652B2 (en) | 2007-08-08 | 2012-01-03 | Advanced Display Process Engineering Co., Ltd | Substrate supporting apparatus |
KR20210013870A (ko) * | 2019-07-29 | 2021-02-08 | 에스케이하이닉스 주식회사 | 데이터 스왑을 위한 메모리 시스템 및 그 동작방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120074707A (ko) * | 2010-12-28 | 2012-07-06 | 한양대학교 산학협력단 | 플래시 메모리를 사용하는 저장장치 및 주소 사상과 데이터 페이지 할당 방법 |
KR20140092493A (ko) * | 2012-12-31 | 2014-07-24 | 고려대학교 산학협력단 | 가상화 시스템에서의 메모리 관리 방법 |
US20150161056A1 (en) * | 2013-12-10 | 2015-06-11 | Vmware, Inc. | Tracking guest memory characteristics for memory scheduling |
-
2015
- 2015-06-15 KR KR1020150083887A patent/KR101648725B1/ko active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120074707A (ko) * | 2010-12-28 | 2012-07-06 | 한양대학교 산학협력단 | 플래시 메모리를 사용하는 저장장치 및 주소 사상과 데이터 페이지 할당 방법 |
KR20140092493A (ko) * | 2012-12-31 | 2014-07-24 | 고려대학교 산학협력단 | 가상화 시스템에서의 메모리 관리 방법 |
US20150161056A1 (en) * | 2013-12-10 | 2015-06-11 | Vmware, Inc. | Tracking guest memory characteristics for memory scheduling |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8087652B2 (en) | 2007-08-08 | 2012-01-03 | Advanced Display Process Engineering Co., Ltd | Substrate supporting apparatus |
KR20210013870A (ko) * | 2019-07-29 | 2021-02-08 | 에스케이하이닉스 주식회사 | 데이터 스왑을 위한 메모리 시스템 및 그 동작방법 |
KR102322727B1 (ko) | 2019-07-29 | 2021-11-05 | 에스케이하이닉스 주식회사 | 데이터 스왑을 위한 메모리 시스템 및 그 동작방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101480659B1 (ko) | 2-레벨 시스템 메인 메모리 | |
US20190073296A1 (en) | Systems and Methods for Persistent Address Space Management | |
US10102117B2 (en) | Systems and methods for cache and storage device coordination | |
US9251052B2 (en) | Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer | |
EP2802991B1 (en) | Systems and methods for managing cache admission | |
US9489239B2 (en) | Systems and methods to manage tiered cache data storage | |
US20170024140A1 (en) | Storage system and method for metadata management in non-volatile memory | |
US10310980B2 (en) | Prefetch command optimization for tiered storage systems | |
US9053038B2 (en) | Method and apparatus for efficient read cache operation | |
CN107797759B (zh) | 访问缓存信息的方法、装置与驱动器 | |
CN107797760B (zh) | 一种访问缓存信息的方法、装置与固态驱动器 | |
CN110825669B (zh) | 修改NVMe PRP列表指针和数据指针以利于路由PCIe存储器请求 | |
US20160188217A1 (en) | Method for data placement in a memory based file system | |
US8862819B2 (en) | Log structure array | |
CN111124951A (zh) | 管理数据访问的方法、设备和计算机程序产品 | |
US10482033B2 (en) | Method and device for controlling memory | |
US20160350003A1 (en) | Memory system | |
US11630779B2 (en) | Hybrid storage device with three-level memory mapping | |
JP2017126334A (ja) | 記憶装置及びその動作方法並びにシステム | |
KR102530583B1 (ko) | 저장 장치 및 메모리 시스템 | |
CN108228088B (zh) | 用于管理存储系统的方法和设备 | |
CN111290975B (zh) | 使用统一缓存处理读命令与预读命令的方法及其存储设备 | |
KR101648725B1 (ko) | Ssd를 이용한 메모리 관리 방법 | |
CN108664217B (zh) | 一种降低固态盘存储系统写性能抖动的缓存方法及系统 | |
CN111290974A (zh) | 用于存储设备的缓存淘汰方法与存储设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20150615 |
|
PA0201 | Request for examination | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20160412 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: 20160805 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20160810 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20160810 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20200820 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20211109 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20230801 Start annual number: 8 End annual number: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20240724 Start annual number: 9 End annual number: 9 |