KR101950759B1 - 저장 장치의 메모리 컨트롤러가 수행하는 가비지 컬렉션 방법 및 메모리 컨트롤러 - Google Patents
저장 장치의 메모리 컨트롤러가 수행하는 가비지 컬렉션 방법 및 메모리 컨트롤러 Download PDFInfo
- Publication number
- KR101950759B1 KR101950759B1 KR1020160156714A KR20160156714A KR101950759B1 KR 101950759 B1 KR101950759 B1 KR 101950759B1 KR 1020160156714 A KR1020160156714 A KR 1020160156714A KR 20160156714 A KR20160156714 A KR 20160156714A KR 101950759 B1 KR101950759 B1 KR 101950759B1
- Authority
- KR
- South Korea
- Prior art keywords
- garbage collection
- memory
- segment
- memory controller
- object stores
- 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
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0269—Incremental or concurrent garbage collection, e.g. in real-time 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
메모리 컨트롤러는 호스트 장치로부터 힙 영역의 객체 저장소를 메모리의 세그먼트에 할당하기 위한 요청을 수신하면, 상기 요청에 따른 힙 영역에 분할된 객체 저장소들의 최저 사용 빈도를 고려하여 객체 저장소에 대한 접근 순서 리스트를 생성하고, 생성된 접근 순서 리스트를 기반으로 가비지 컬렉션을 수행할 N개의 객체 저장소에 대응하는 N개의 메모리의 세그먼트를 검출한 후, 수신한 N개의 메모리의 세그먼트를 대상으로 가비지 컬렉션을 수행한다.
Description
도 2는 일실시예에 따른 호스트 장치의 힙 영역의 객체 저장소에 대응하는 메모리의 세그먼트를 설명하기 위한 도면이다.
도 3은 일실시예에 따른 힙 영역에 분할된 객체 저장소들의 최저 사용 빈도를 고려하여 객체 저장소에 대한 접근 순서 리스트를 생성하는 동작을 설명하기 위한 도면이다.
도 4는 일실시예에 따른 호스트 장치의 요청에 따라 가비지 컬렉션을 수행할 N개의 객체 저장소를 선택하는 동작을 설명하기 위한 도면이다.
도 5는 일실시예에 따른 가비지 컬렉션을 수행할 N개의 객체 저장소에 대응하는 N개의 메모리의 세그먼트에 대한 가비지 컬렉션을 수행하는 동작을 설명하기 위한 도면이다.
도 6은 일실시예에 따른 호스트 장치와 저장 장치 간의 동작을 설명하기 위한 흐름도이다.
102: 메모리 컨트롤러
103: 메모리
104: 호스트 장치
105: 힙 영역
106: 객체 저장소 K
Claims (8)
- 저장 장치의 메모리 컨트롤러가 수행하는 가비지 컬렉션 방법에 있어서,
호스트 장치로부터 객체 저장소를 메모리의 세그먼트에 할당하기 위한 요청을 수신하는 단계; 및
상기 요청을 전송한 프로세스에 사상된 복수의 제1 객체 저장소에 대응되는 메모리의 세그먼트에 대한 로컬 가비지 컬렉션(LGC:Local Garbage Collection)을 수행하는 단계
를 포함하고,
어떤 프로세스에도 사상되지 않은 복수의 제2 객체 저장소에 대응되는 메모리의 세그먼트에 대한 분리된 풀 가비지 컬렉션(SFGC:Separated Full Garbage Collection)을 소정의 주기에 따라 수행하고,
상기 분리된 풀 가비지 컬렉션은
상기 복수의 제2 객체 저장소의 최저 사용 빈도(LRU:Least Recently Used)를 고려하여 객체 저장소에 대한 접근 순서 리스트를 생성하는 단계;
상기 생성된 접근 순서 리스트를 기반으로 가비지 컬렉션을 수행할 N개의 제2 객체 저장소에 대응하는 N개의 메모리의 세그먼트를 검출하는 단계; 및
상기 수신한 N개의 메모리의 세그먼트를 대상으로 가비지 컬렉션을 수행하는 단계
를 거쳐 수행되는 가비지 컬렉션 방법. - 삭제
- 제1항에 있어서,
상기 접근 순서 리스트를 생성하는 단계는
상기 복수의 제2 객체 저장소들 각각에 대응하는 메모리의 세그먼트의 사용 빈도에 따른 객체 저장소들이 사용되지 않은 시간을 기준으로 접근 순서 리스트를 생성하는 가비지 컬렉션 방법. - 제1항에 있어서,
상기 N개의 메모리의 세그먼트를 검출하는 단계는,
상기 객체 저장소에 대한 사용 빈도가 낮은 순서대로 N개의 객체 저장소를 선택하는 단계; 및
상기 선택된 N개의 객체 저장소에 대응하는 N개의 메모리의 세그먼트의 주소값을 검출하는 단계
를 포함하는 가비지 컬렉션 방법. - 가비지 컬렉션 방법을 수행하는 저장 장치의 메모리 컨트롤러에 있어서,
상기 메모리 컨트롤러는,
호스트 장치로부터 힙 영역의 객체 저장소를 메모리의 세그먼트에 할당하기 위한 요청을 수신하면, 상기 요청을 전송한 프로세스에 사상된 복수의 제1 객체 저장소에 대응되는 메모리의 세그먼트에 대한 로컬 가비지 컬렉션(LGC:local garbage collection)을 수행하고,
어떤 프로세스에도 사상되지 않은 복수의 제2 객체 저장소에 대응되는 메모리의 세그먼트에 대한 분리된 풀 가비지 컬렉션(SFGC:separated full garbage collection)을 소정의 주기에 따라 수행하고,
상기 분리된 풀 가비지 컬렉션은
상기 메모리 컨트롤러가 상기 복수의 제2 객체 저장소의 최저 사용 빈도(LRU:Least Recently Used)를 고려하여 객체 저장소에 대한 접근 순서 리스트를 생성하고, 상기 생성된 접근 순서 리스트를 기반으로 가비지 컬렉션을 수행할 N개의 제2 객체 저장소에 대응하는 N개의 메모리의 세그먼트를 검출하고, 상기 수신한 N개의 메모리의 세그먼트를 대상으로 가비지 컬렉션을 수행하는 과정을 거쳐 수행되는 저장 장치의 메모리 컨트롤러. - 삭제
- 제5항에 있어서,
상기 메모리 컨트롤러는
상기 복수의 제2 객체 저장소들 각각에 대응하는 메모리의 세그먼트의 사용 빈도에 따른 객체 저장소들이 사용되지 않은 시간을 기준으로 접근 순서 리스트를 생성하는 저장 장치의 메모리 컨트롤러. - 제5항에 있어서,
상기 메모리 컨트롤러는,
상기 객체 저장소에 대한 사용 빈도가 낮은 순서대로 N개의 객체 저장소를 선택한 후, 상기 선택된 N개의 객체 저장소에 대응하는 N개의 메모리의 세그먼트의 주소값을 검출하는 저장 장치의 메모리 컨트롤러.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20160051078 | 2016-04-26 | ||
KR1020160051078 | 2016-04-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170122090A KR20170122090A (ko) | 2017-11-03 |
KR101950759B1 true KR101950759B1 (ko) | 2019-02-21 |
Family
ID=60383788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160156714A Expired - Fee Related KR101950759B1 (ko) | 2016-04-26 | 2016-11-23 | 저장 장치의 메모리 컨트롤러가 수행하는 가비지 컬렉션 방법 및 메모리 컨트롤러 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101950759B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12164777B2 (en) | 2021-11-10 | 2024-12-10 | Samsung Electronics Co., Ltd. | Controlling memory storage based on pattern data |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102076248B1 (ko) * | 2018-08-08 | 2020-02-11 | 아주대학교산학협력단 | 선택 지연 가비지 컬렉션 방법 및 이를 이용한 메모리 시스템 |
KR20200106739A (ko) | 2019-03-05 | 2020-09-15 | 에스케이하이닉스 주식회사 | 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
CN111831467B (zh) * | 2020-07-21 | 2024-09-03 | 北京思特奇信息技术股份有限公司 | java进程内存溢出自熔断的方法、系统和电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001331367A (ja) * | 2000-03-17 | 2001-11-30 | Fujitsu Ltd | メモリ管理装置、メモリ管理方法、メモリ管理プログラム、及び記憶媒体 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9430376B2 (en) * | 2012-12-26 | 2016-08-30 | Western Digital Technologies, Inc. | Priority-based garbage collection for data storage systems |
-
2016
- 2016-11-23 KR KR1020160156714A patent/KR101950759B1/ko not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001331367A (ja) * | 2000-03-17 | 2001-11-30 | Fujitsu Ltd | メモリ管理装置、メモリ管理方法、メモリ管理プログラム、及び記憶媒体 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12164777B2 (en) | 2021-11-10 | 2024-12-10 | Samsung Electronics Co., Ltd. | Controlling memory storage based on pattern data |
Also Published As
Publication number | Publication date |
---|---|
KR20170122090A (ko) | 2017-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7091203B2 (ja) | メモリシステムおよび制御方法 | |
US10761731B2 (en) | Array controller, solid state disk, and method for controlling solid state disk to write data | |
US7010555B2 (en) | System and method for compacting a computer system heap | |
KR102094236B1 (ko) | 스토리지 디바이스 및 컴퓨터 시스템 | |
KR102427120B1 (ko) | 저장 장치용 자동 i/o 스트림 선택 | |
US9218277B2 (en) | Wear leveling | |
US20110246742A1 (en) | Memory pooling in segmented memory architecture | |
KR20140102679A (ko) | 순차적인 순서의 스왑 파일을 이용한 작업 세트 스와핑 기법 | |
KR20120030137A (ko) | 영구 가비지 컬렉션을 갖는 메모리 시스템 | |
KR101950759B1 (ko) | 저장 장치의 메모리 컨트롤러가 수행하는 가비지 컬렉션 방법 및 메모리 컨트롤러 | |
CN108475230B (zh) | 一种存储系统和系统垃圾回收方法 | |
CN113377695B (zh) | 读写分离的固态存储设备的数据分布方法 | |
JP2014206884A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
US20190073140A1 (en) | Memory system | |
CN110389712B (zh) | 数据写入方法及其装置、固态硬盘和计算机可读存储介质 | |
US10891073B2 (en) | Storage apparatuses for virtualized system and methods for operating the same | |
US8274521B2 (en) | System available cache color map | |
CN114051610A (zh) | 基于arena的存储器管理 | |
US10628301B1 (en) | System and method for optimizing write amplification of non-volatile memory storage media | |
EP3293625B1 (en) | Method and device for accessing file, and storage system | |
US10210097B2 (en) | Memory system and method for operating the same | |
US10621096B2 (en) | Read ahead management in a multi-stream workload | |
KR101549569B1 (ko) | 가비지 컬렉션 수행 방법 및 그 방법을 이용한 플래시 메모리 장치 | |
KR101861851B1 (ko) | 저장 장치의 메모리 컨트롤러가 수행하는 청크 할당 방법 및 메모리 컨트롤러 | |
US20190339898A1 (en) | Method, system and computer program product for managing data storage in data storage systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20161123 |
|
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: 20171025 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E90F | Notification of reason for final refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Final Notice of Reason for Refusal Patent event date: 20180718 Patent event code: PE09021S02D |
|
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: 20190114 |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20190215 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20190218 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PC1903 | Unpaid annual fee |