KR101480424B1 - 하이브리드 플래시 메모리의 성능과 수명 최적화 장치 및 방법 - Google Patents
하이브리드 플래시 메모리의 성능과 수명 최적화 장치 및 방법 Download PDFInfo
- Publication number
- KR101480424B1 KR101480424B1 KR20130023977A KR20130023977A KR101480424B1 KR 101480424 B1 KR101480424 B1 KR 101480424B1 KR 20130023977 A KR20130023977 A KR 20130023977A KR 20130023977 A KR20130023977 A KR 20130023977A KR 101480424 B1 KR101480424 B1 KR 101480424B1
- Authority
- KR
- South Korea
- Prior art keywords
- flash memory
- hybrid flash
- model
- utilization rate
- storage space
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- 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
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 발명은 하이브리드 SSD에서 성능과 수명을 최적화하는 방법에 관한 것이다. 하이브리드 SSD는 SLC, MLC, TLC 플래시 메모리를 포함하는 다양한 조합으로 구성될 수 있다. 본 발명에서는 성능 최적화를 위해 수명 모델을 정의한다. 그리고 이 수명 모델에서 최적의 해를 찾아 전체 플래시 메모리의 수명을 최대로 하는 Hot과 Cold 데이터를 할당 기법도 제시한다. 한편, 본 발명에서는 수명 모델 이외에도 쓰기 비용 모델을 정의하며, 쓰기 비용 모델에서 최적의 해를 찾아 Hot과 Cold 데이터를 각 플래시 메모리에 할당하는 기법도 제시한다. 또한 전체 플래시 메모리의 수명과 성능의 가중치에 따라 그 둘 사이에 적절한 절충이 가능한 관리 기법도 제시한다.
Description
본 발명은 하이브리드 플래시 메모리의 성능 및 수명을 최적화 하는 방법에 관한 것으로, 보다 상세하게는 SLC(single-level cell), MLC(multi-level cell), TLC(Triple level cell) 등 다양한 종류의 플래시 메모리 디바이스를 가지는 하이브리드 플래시 메모리에서 수명 모델과 쓰기 비용을 이용하여 성능과 수명을 최적화할 수 있는 방법 및 장치에 관한 것이다.
본 발명은 교육과학기술부 및 한국연구재단의 기초연구사업/일반연구자지원사업/기본연구지원사업(유형 II)의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2010-0025282, 과제명: SSD(Solid State Drive)를 위한 스토리지 소프트웨어의 최적화].
플래시 메모리는 전원이 꺼지더라도 정보가 보존되는 비휘발성 기억장치이다. 하드디스크와 같은 기존의 저장매체보다 데이터 접근성이 빠르고 크기가 작으며, 외부의 물리적 충격에 강하고 무게가 가볍다는 특성을 지니고 있다. 이러한 장점 때문에 MP3 플레이어, 휴대용 전화기, 디지털 카메라 등 휴대용 기기의 저장장치로 널리 사용되고 있으며, 최근에는 플래시 메모리 저장장치의 용량이 커지고 가격은 내려감에 따라서 개인용 컴퓨터와 기업용 서버의 저장장치로 사용하는 추세이다.
플래시 메모리는 한 개의 메모리 셀로 표현할 수 있는 비트의 수에 따라, 단일 레벨 셀(single level cell, 이하 SLC)과 멀티 레벨 셀(multi level cell, 이하 MLC)로 나뉜다. SLC는 데이터 연산 성능이 빠르며 내구성이 높지만 가격이 비싸다는 단점이 있다. 반면, MLC는 SLC 보다 내구성이 낮고 데이터 연산 속도가 느린 대신에 가격대비 큰 저장 공간을 제공하는 장점이 있다. MLC는 하나의 셀에 2비트 이상을 담을 수 있는 디바이스를 총칭하는 단어이지만, 경우에 따라서는 하나의 셀에 3비트를 저장할 수 있는 디바이스는 트리플 레벨 셀(Triple level cell, TLC)이라 부르고, MLC는 TLC와 비교하여 2비트를 하나의 셀에 저장할 수 있는 디바이스를 나타내기도 한다.
플래시 메모리는 컴퓨터, 디지털 카메라 또는 휴대폰과 같은 임베디드 시스템(embedded system) 환경에서 많이 사용되는데, 플래시 메모리를 이러한 임베디드 시스템 환경에 사용하기 위해서는 시스템이 사용하는 논리적 메모리 주소(logical memory address)와 플래시 메모리 상의 물리적 메모리 주소(physical memory address)간의 변환(translation)이 필요하다. 이러한 변환에 관련된 interface를 플래시 변환 계층(Flash Translation Layer, FTL)이라고 한다
FTL 중에서 데이터 블록과 로그 블록을 구별하여 사용하는 기법을 로그 블록 방식 FTL이라고 하는데, 일반적으로 로그 블록 방식 FTL에서는 파일 시스템(File System) 또는 운영 체제(OS, Operating System)에서 인식하고 있는 논리적 저장 상황과 실제 물리적 저장 상황이 불일치하기 때문에 FTL의 기능이 중요하다.
이러한 FTL 의 기능을 효과적으로 개선하고자 다수의 선행기술이 도출되었으며, 그 중 SLC와 MLC 를 포함하는 하이브리드 SSD의 FTL에 관한 선행기술로서 한국등록특허 10-1026634호 "하이브리드 플래시 메모리의 데이터 저장 방법"이 제시된 바 있다.
도 1을 참조하면, 상기 선행기술은 호스트(50)와 메모리 셀(400) 사이를 연결하는 컨트롤러(300)와 버퍼 RAM(200)를 포함하여 구성된다. 메모리 셀(400)은 SLC(420) 디바이스와 MLC(440) 디바이스를 포함한다. 메모리 셀(400)에 데이터를 쓸 때에는 페이지 버퍼(500)에 페이지 데이터가 저장된 후, 페이지 단위로 SLC(420) 또는 MLC(440)에 프로그램된다. 플래시 메모리에 데이터를 쓰는(write) 과정은 관습적으로 프로그램(program)한다고 표현된다.
도 1에서는 플래시 변환 계층 FTL(100)이 컨트롤러(300)과 구분되어 도시되었으나, 이는 하나의 실시예일 뿐이며, 일반적으로 FTL은 컨트롤러(300)에서 수행되는 논리 주소 - 물리 주소 간 맵핑, 메모리 셀(400)에 대한 가비지 콜렉션, 쓰기 데이터를 SLC(420)과 MLC(440) 어느 쪽으로 저장할지를 결정하는 기능까지 수행한다.
상기 선행기술은 (a) 호스트의 데이터 기록 요청을 인가 받아 기록 요청된 데이터가 대용량의 데이터인지 여부를 판단하는 단계; (b) 기록 요청된 데이터가 대용량의 데이터가 아니라고 판단된 경우에 SLC 영역에 데이터 기록할 공간이 있는지 여부를 판단하는 단계; (c) SLC 영역에 상기 데이터 기록할 공간이 없다고 판단된 경우에 가비지 수집을 수행하여 SLC 영역의 각 블록들에 저장된 유효 데이터를 수집해서 MLC 영역의 데이터와 합병하는 단계; (d) MLC 영역의 블록에 상기 합병된 데이터를 저장하고 소정의 SLC 블록에 저장된 데이터를 삭제하여 데이터 기록할 공간을 확보하는 단계를 포함하는 것을 특징으로 한다. 이에 따라, 데이터 연산 처리 속도 및 내구성이 향상되고 가격대비 큰 저장 공간을 확보할 수 있으며, SLC 영역의 전체 블록이 균등하게 사용하고 삭제되어 저장된 데이터의 안정성을 보장할 수 있는 효과가 있다.
그러나, 상기 선행기술에서도 기록 요청된 데이터가 대용량의 데이터인지 여부에 따라 SLC에 저장할지, MLC에 저장할지를 결정하는 데에 머무르고 있어, SLC와 MLC, 나아가서는 TLC까지 적용하기에는 각각의 디바이스에 대한 쓰기 비용, 쓰기/지우기 수명에 대한 고려가 미흡한 상황이다.
이와 같은 종래의 SLC/MLC 하이브리드 플래시 메모리의 관리 기술은, 주로 데이터의 업데이트 빈도, 데이터의 크기나 속성 등을 이용하여 SLC 와 MLC 중 어느 쪽에 데이터를 할당할 지에 대한 연구에 초점을 맞추고 있다. 그러나, 이 같은 종래 기술은 SLC와 MLC의 읽기/쓰기/지우기 성능의 비대칭이라는 가장 기본적인 특징만을 고려하고 있는 단계에 불과하여, 사용자가 저장을 요구하는 데이터에 따른 매 순간의 플래시 메모리의 변화 시 효과적으로 대응하는 데에는 한계가 있다.
따라서, SLC, MLC와 TLC 등의 쓰기 성능 등의 특징을 체계적으로 모델링하고, 상황에 맞는 하이브리드 플래시 메모리의 관리 기법이 필요하게 되었다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 성능 최적화를 위해 수명 모델을 정의한다. 본 발명은 수명 모델에서 최적의 해를 찾아 전체 플래시 메모리의 수명을 최대로 하는 Hot과 Cold 데이터를 할당하는 기법을 제시하는 것을 목적으로 한다.
또한, 본 발명에서는 수명 모델 이외에도 쓰기 비용 모델을 정의하며, 쓰기 비용 모델에서 최적의 해를 찾아 Hot과 Cold 데이터를 각 플래시 메모리에 할당하는 기법도 제시한다. 또한 본 발명은 전체 플래시 메모리의 수명과 성능의 가중치에 따라 그 둘 사이에 적절한 절충이 가능한 관리 기법도 제시하는 것을 목적으로 한다.
하이브리드 SSD는 SLC, MLC, TLC 플래시 메모리를 포함하는 다양한 조합으로 구성될 수 있다. SLC, MLC, TLC 각각은 FTL의 가비지 콜렉션에 따른 쓰기/지우기 오버헤드가 상이하고, 이에 따라 최대 쓰기/지우기 가능 횟수에 따른 수명의 감소 요인 또한 상이하다.
이에 따라, 본 발명은 플래시 메모리의 특성을 고려하여 쓰기 비용 모델을 제시하고, 쓰기 비용에 따라 하이브리드 SSD의 수명이 최적화될 수 있는 수명 모델을 제시하는 것을 목적으로 한다. 이를 통하여 제시된 비용 모델과 수명 모델 사이에 적절한 타협점을 제시하여 쓰기 비용과 수명이 적절히 유지될 수 있도록 하는 관리 방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위해서, 본 발명의 일 실시예에 따른 제1 디바이스(SLC)와 제2 디바이스(MLC or TLC)를 포함하는 수명 모델 기반의 하이브리드 플래시 메모리 관리 장치는 제1 디바이스 및 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기 및 제1 디바이스의 저장 공간의 크기 대비 사용률을 이용하여 하이브리드 플래시 메모리의 수명 모델을 획득하는 수명 모델 생성부와 수명 모델을 이용하여 제1 디바이스의 최적화된 사용률을 획득하는 수명 모델 기반 최적화부를 포함한다.
이때, 수명 모델 생성부는 제1 디바이스의 사용률을 이용하여 제1 디바이스의 하이브리드 플래시 메모리 전체에 대한 누적 쓰기 빈도 함수를 계산하여, 제1 디바이스의 누적 쓰기 빈도 함수를 변수로 하는 수명 모델을 생성하는 것을 특징으로 한다.
또한, 제1 디바이스 및 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기 및 제1 디바이스의 저장 공간의 크기 대비 사용률을 이용하여 하이브리드 플래시 메모리의 수명 모델을 획득하는 수명 모델 생성부, 제1 디바이스 및 제2 디바이스 각각에 대하여, 저장 공간의 크기 대비 사용률에 따른 쓰기 비용 모델을 획득하고, 제1 디바이스 및 제2 디바이스 각각에 대하여 얻어진 쓰기 비용 모델 각각을 이용하여, 제1 디바이스 및 제2 디바이스 각각의 누적 쓰기 빈도 함수가 고려된 하이브리드 플래시 메모리의 쓰기 비용 모델을 획득하는 쓰기 비용 모델링부 및 하이브리드 플래시 메모리의 수명 모델과 하이브리드 플래시 메모리의 쓰기 비용을 이용하여 제1 디바이스의 최적화된 사용률을 획득하는 최적화부를 포함한다.
본 발명의 일 실시예에 따른 하이브리드 플래시 메모리의 관리 방법은, 제1 디바이스 및 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기 및 제1 디바이스의 저장 공간의 크기 대비 사용률을 이용하여 하이브리드 플래시 메모리의 수명 모델을 획득하는 단계 및 수명 모델을 이용하여 제1 디바이스의 최적화된 사용률을 획득하는 단계를 포함하여 구성할 수 있다.
또한, 제1 디바이스 및 상기 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기 및 제1 디바이스의 저장 공간의 크기 대비 사용률을 이용하여 하이브리드 플래시 메모리의 수명 모델을 획득하는 단계; 제1 디바이스 및 제2 디바이스 각각에 대하여, 저장 공간의 크기 대비 사용률에 따른 쓰기 비용 모델을 획득하는 단계; 제1 디바이스 및 제2 디바이스 각각에 대하여 얻어진 쓰기 비용 모델 각각을 이용하여, 제1 디바이스 및 제2 디바이스 각각의 누적 쓰기 빈도 함수가 고려된 하이브리드 플래시 메모리의 쓰기 비용 모델을 획득하는 단계; 및 하이브리드 플래시 메모리의 수명 모델과 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 제1 디바이스의 최적화된 사용률을 획득하는 단계를 포함하여 구성할 수 있다.
본 발명에 따르면 SLC(single-level cell), MLC(multi-level cell), TLC(Triple level cell) 등 다양한 종류의 플래시 메모리 디바이스를 가지는 하이브리드 플래시 메모리에서 수명 모델과 쓰기 비용을 이용하여 성능과 수명을 최적화하여 SLC에 비하여 MLC 및 TLC가 겪고 있는 저 성능 및 저 수명 문제를 해결할 수 있다.
또한, 본 발명은 하이브리드 플래시 메모리를 사용할 수 있는 모든 장치 예를 들어, 휴대폰, 태블릿 PC, 노트북, MP3 플레이어, PDA, 포터블 컴퓨터(portable computer) 등에 적용 가능하며, 하이브리드 플래시 메모리의 용량이 증가함에 따라 적용 가능성이 높아질 수 있다. 이에 따라, 하이브리드 플래시 메모리의 전체적인 성능 향상에 의하여 하이브리드 플래시 메모리를 사용하는 장치의 성능을 향상시킬 수 있다. 여기에서 언급하는 하이브리드 플래시 메모리는 SLC-TLC, SLC-MLC, MLC-TLC, SLC-MLC-TLC 등의 가능한 다양한 조합으로 이루어지는 하이브리드 SSD(Solid State Disk) 또는 이들 다양한 이종의 칩을 포함하는 플래시 메모리 저장 장치를 모두 포함하는 개념이다.
도 1은 종래기술인 하이브리드 플래시 메모리의 일 실시예를 나타낸 블록도이다.
도 2는 일반적인 싱글 레벨 셀(SLC)과 멀티 레벨 셀(MLC) 및 트리플 레벨 셀(TLC)에 저장되는 데이터를 비교한 도면이다.
도 3은 본 발명의 일 실시예에 따른 하이브리드 플래시 메모리의 관리 시스템을 도시한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 수명 모델 기반의 하이브리드 플래시 메모리의 관리 방법을 나타낸 동작 흐름도이다.
도 5는 본 발명의 다른 일 실시예에 따른 쓰기 비용과 수명 모델을 이용하여 하이브리드 플래시 메모리를 관리하는 방법을 나타낸 동작 흐름도이다.
도 6은 도 5의 일 단계 - 제1 디바이스의 최적화된 사용률을 획득하는 단계 - 의 일 실시예를 더욱 상세히 나타내는 동작 흐름도이다.
도 7은 도 6의 일 단계 - 제1 최적화 사용률과 제2 최적화 사용률을 이용하여 제1 디바이스의 최적화된 사용률을 획득하는 단계 - 의 일 실시예를 더욱 상세히 나타내는 동작 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 하이브리드 플래시 메모리 관리 방법에서 사용률과 누적 쓰기 빈도 함수, 쓰기 비용, 수명 모델의 관계의 일 실시예를 도시하는 도면이다.
도 9는 본 발명의 다른 일 실시예에 따른 하이브리드 플래시 메모리의 관리 방법에서, 최적화 과정의 개념적인 일 실시예를 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 수명 모델 기반의 하이브리드 플래시 메모리 관리 장치에 대한 개념적인 구성을 나타낸 블록도이다.
도 11은 본 발명의 다른 일 실시예에 따른 수명 모델 및 쓰기 비용 기반의 하이브리드 플래시 메모리 관리 장치에 대한 개념적인 구성을 나타낸 블록도이다.
도 12는 도 11의 일 구성요소에 대한 개념적인 구성을 나타낸 블록도이다.
도 2는 일반적인 싱글 레벨 셀(SLC)과 멀티 레벨 셀(MLC) 및 트리플 레벨 셀(TLC)에 저장되는 데이터를 비교한 도면이다.
도 3은 본 발명의 일 실시예에 따른 하이브리드 플래시 메모리의 관리 시스템을 도시한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 수명 모델 기반의 하이브리드 플래시 메모리의 관리 방법을 나타낸 동작 흐름도이다.
도 5는 본 발명의 다른 일 실시예에 따른 쓰기 비용과 수명 모델을 이용하여 하이브리드 플래시 메모리를 관리하는 방법을 나타낸 동작 흐름도이다.
도 6은 도 5의 일 단계 - 제1 디바이스의 최적화된 사용률을 획득하는 단계 - 의 일 실시예를 더욱 상세히 나타내는 동작 흐름도이다.
도 7은 도 6의 일 단계 - 제1 최적화 사용률과 제2 최적화 사용률을 이용하여 제1 디바이스의 최적화된 사용률을 획득하는 단계 - 의 일 실시예를 더욱 상세히 나타내는 동작 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 하이브리드 플래시 메모리 관리 방법에서 사용률과 누적 쓰기 빈도 함수, 쓰기 비용, 수명 모델의 관계의 일 실시예를 도시하는 도면이다.
도 9는 본 발명의 다른 일 실시예에 따른 하이브리드 플래시 메모리의 관리 방법에서, 최적화 과정의 개념적인 일 실시예를 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 수명 모델 기반의 하이브리드 플래시 메모리 관리 장치에 대한 개념적인 구성을 나타낸 블록도이다.
도 11은 본 발명의 다른 일 실시예에 따른 수명 모델 및 쓰기 비용 기반의 하이브리드 플래시 메모리 관리 장치에 대한 개념적인 구성을 나타낸 블록도이다.
도 12는 도 11의 일 구성요소에 대한 개념적인 구성을 나타낸 블록도이다.
상기 목적 외에 본 발명의 다른 목적 및 특징들은 첨부 도면을 참조한 실시 예에 대한 설명을 통하여 명백히 드러나게 될 것이다.
본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
본 발명에서, 하이브리드 플래시 메모리 또는 SSD(Solid State Disk)는 SLC, MLC, TLC 플래시 메모리를 포함하는 다양한 조합으로 구성될 수 있다.
도 2는 일반적인 싱글 레벨 셀(SLC)과 멀티 레벨 셀(MLC) 및 트리플 레벨 셀(TLC)에 저장되는 데이터를 개념적으로 도시한 것이다.
싱글 레벨 셀(SLC)의 낸드 플래시 메모리는, 하나의 셀(Cell)에 충전된 전하(Charge)의 유무(1,0)에 따라 1 비트로 데이터를 기록하고, 멀티 레벨 셀(MLC)의 낸드 플래시 메모리는, 하나의 셀(Cell)에 충전된 전하(Charge)의 변화(11, 10, 01, 00)에 따라 2 비트로 데이터를 기록하게 된다.
또한, 트리플 레벨 셀(TLC)의 낸드 플래시 메모리는, 하나의 셀(Cell)에 충전된 전하(Charge)의 변화(111, 110, 101, 100, 011, 010, 001, 000)에 따라 3 비트로 데이터를 기록하게 된다.
또한, 싱글 레벨 셀(SLC)은, 1 개의 기준(Reference) 전압을 적용하여, 1 비트(1,0)로 데이터를 기록하고, 멀티 레벨 셀(MLC)은, 3 개의 기준 전압을 적용하여, 2 비트(11,10,01,00)로 데이터를 기록하며, 트리플 레벨 셀(TLC)은, 7 개의 기준 전압을 적용하여, 3 비트 (111,110,101,100,011,010,001,000)로 데이터를 기록하게 된다.
도 3은 본 발명의 일 실시예에 따른 하이브리드 플래시 메모리의 관리 시스템을 도시한 것이다.
본 발명 실시예의 하이브리드 플래시 메모리는 SLC, MLC, TLC 로 이루어진 다양한 조합에 적용될 수 있다. 설명의 편의 상 도 3에서 SLC SSD 를 제1 디바이스, TLC SSD 를 제2 디바이스로 부르기로 한다.
도 3에서는 SLC SSD를 제1 디바이스, TLC SSD를 제2 디바이스로 도시한 실시예가 도시되었으나, 제1 디바이스는 SLC SSD 또는 MLC SSD일 수 있고, 제2 디바이스는 MLC SSD 또는 TLC SSD 일 수 있다. 즉, 제1 디바이스가 제2 디바이스보다 읽기/쓰기 성능이 우수하고 수명이 길도록 선택될 수 있다. 이하 하이브리드 SSD 컨트롤러의 모듈들은 제1 디바이스가 제2 디바이스보다 우수한 성능과 긴 수명을 가진다는 가정 하에 설명될 것이다.
하이브리드 SSD 컨트롤러의 기본 구조는 파일 시스템(FS, File System) 또는 운영 체제(OS, Operating System)로부터 전달되는 읽기 또는 쓰기 요청(I/O Request)을 hot 데이터 또는 cold 데이터로 분류하는 Data Classifier, 주어진 workload에 따라 최적의 사용률을 계산하고 관리하는 분석 모듈(Analyzer), 및 제1 디바이스(SLC SSD)와 제2 디바이스(TLC SSD) 사이에서 데이터를 이동시키는 Data Migrator 를 포함한다. 이들 모듈은 소프트웨어 모듈의 형태로 구현될 수 있으며, 실시예에 따라서는 해당 기능을 포함하는 하드웨어 모듈의 형태로 구현될 수도 있다.
Data Classifier는 I/O Request의 workload 패턴을 관측하고, 데이터를 hot 데이터와 cold 데이터로 분류한다. 이와 같은 알고리즘에 대해서는 종래의 FTL 에 관한 다수의 선행기술에 다양한 경우가 소개되었다. 예를 들어, 데이터의 크기, 데이터의 갱신 빈도 등에 따라 데이터의 크기가 작거나 자주 갱신되는 데이터는 hot 데이터로, 데이터의 크기가 크고 자주 갱신되지 않는 데이터는 cold 데이터로 분류되기도 한다. 일반적으로 hot 데이터로 분류된 데이터는 제1 디바이스(SLC SSD)로 저장하고, cold 데이터로 분류된 데이터는 제2 디바이스(TLC SSD)로 저장될 수 있다.
Data Classifier의 데이터 분류 기준으로는 이미 많은 선행기술이 제안되었으며, 본 발명에서는 Data Classifier의 일 실시예로서 주기적으로 접근 빈도(frequency)를 계수(count)하여 hot 데이터와 cold 데이터를 분류하는 방법이 이용될 수 있다. 일정 주기 동안 접근 빈도를 계수한 후, 계수 결과를 토대로 데이터를 분류하고, 이전까지의 계수 결과를 리셋한 후 다시 다음 주기 동안 접근 빈도를 계수할 수 있다.
데이터가 제1 디바이스(SLC SSD)에 저장되는지, 또는 제2 디바이스(TLC SSD)에 저장되는지에 대한 정보 및 FTL 매핑 관리에 필요한 매핑 정보는 이미 당업자에게 알려진 공지의 다양한 매핑 관리 기술에 의하여 구현되고 관리될 수 있다. 예를 들어, 페이지 단위의 페이지 매핑 FTL, 블록 단위의 블록 매핑 FTL, 블록 매핑과 페이지 매핑의 혼합 형태로서 다양한 형태의 하이브리드 매핑 FTL 관리 기법이 존재한다.
또한 본 발명에서는 제1 디바이스와 제2 디바이스 각각의 매핑 FTL 정보를 개별적으로 저장하여 관리할 수 있다. 예를 들어 제1 디바이스에 저장된 물리 페이지와 논리 페이지 간의 매핑 정보는 제1 디바이스에 백업되거나 FTL의 메모리에 저장되고, 제2 디바이스에 저장되는 데이터에 대한 매핑 정보는 제2 디바이스에 백업되거나 FTL의 메모리에 저장될 수 있다.
Data Migrator 는 Data Classifier 와 Analyzer 를 거쳐 데이터가 제1 디바이스 또는 제2 디바이스로 전달된 후, Analyzer의 분석 결과에 따라 최적의 성능과 수명을 유지하도록 제1 디바이스 및 제2 디바이스 간의 데이터를 이동시키는 역할을 할 수 있다. Analyzer 가 하기 도 4 내지 도 12를 통하여 설명하는 것처럼 하이브리드 플래시 메모리의 최적화를 위한 각 디바이스의 사용률을 결정하고, 그에 따라 I/O Request를 제1 디바이스 및 제2 디바이스에 할당할 수 있다. 그러나 급격하게 I/O Request가 전달되고, 제1 디바이스 및 제2 디바이스에 대한 워크로드(workload)가 변화하는 경우에는 Analyzer가 결정한 최적화 조건이 자연스럽게 충족되지 못할 수 있다. 이 때에 Data Migrator 는 Analyzer가 결정한 최적화 조건에 따라 제1 디바이스로부터 제2 디바이스로 데이터를 이동하거나, 반대로 제2 디바이스로부터 제1 디바이스로 데이터를 이동하여 최적화 조건이 충족되도록 하이브리드 플래시 메모리를 관리할 수 있다.
Data Migrator 가 데이터를 이동시키는 데에는 추가적인 비용(cost)이 발생할 수 있으므로, 본 발명 실시예의 Data Migrator 는 수동적 접근법(passive approach)을 택할 수 있다. 예를 들어, 제2 디바이스(TLC SSD)에 hot 데이터가 저장되어 있었다면, 이러한 hot 데이터는 상대적으로 빈번하게 액세스될 것이므로 Data Migrator 는 제2 디바이스에 저장된 데이터가 액세스되면 이를 hot 데이터로 간주하여 이동시킬 수 있다.
반대로, 제1 디바이스(SLC SSC)에 cold 데이터가 저장되어 있었다면, cold 데이터는 상대적으로 액세스되는 빈도가 매우 낮아 최적화 조건을 수동적 접근법만으로는 충족시키기 어려운 상황이 발생할 수 있다. 이 경우에는 미리 정해진 일정 시간이 경과한 후 제1 디바이스에서 액세스되지 않은 데이터 중 일부를 선택하여 cold 데이터로 간주하고, 백그라운드 환경에서 cold 데이터를 이동시킬 수 있다.
In-place writing을 지원하는 종래의 하드 디스크 드라이브(HDD, Hard Disk Drive)와 달리, 플래시 메모리에서는 쓰기 전에 소거(erase before write) 연산을 수행해야 하는 제약 때문에 FTL의 역할이 중요함은 앞에서 언급한 바와 같다. 또한 최근 기술의 발전으로 SLC 보다 집적도를 높인 MLC, TLC 기술이 등장함에 따라 플래시 메모리의 저장 밀도는 매우 높아졌으나, MLC, TLC는 상대적으로 SLC보다 성능(읽기/쓰기 성능)이 떨어지며, 수명이 상대적으로 짧다. MLC보다 TLC가 성능이 더 떨어지며 수명 또한 더욱 짧다. SLC, MLC, TLC가 결합되는 하이브리드 저장 매체에서는 이들 성능의 차이를 이용한 최적화 기법이 다양하게 연구된 바 있다. 다만 종래 기술은 대부분 데이터의 접근 빈도, 크기, 기본적인 속성(attribute) 등에 기초하여 hot 데이터와 cold 데이터를 분류하는 데에 그친다.
본 발명에서는 FTL 내에 Analyzer를 두어 종합적인 하이브리드 플래시 메모리 장치의 성능에 대한 비용 모델(특히 쓰기 비용 모델), 수명 모델을 분석하고 이에 따른 최적화 기법을 제안한다.
본 발명 실시예에서 제안하는 수명 모델과 쓰기 비용 모델은 저장된 데이터와 OPS(Over-Provisioned Space), 즉 가비지 콜렉션(Garbage Collection)을 위해 예비된 공간의 비율에 따른 사용률(utilization) u를 기반으로 도출된다. 사용률은 도 3에 도시된 것처럼 제1 디바이스(SLC)와 제2 디바이스(TLC) 각각에 대하여 정의될 수 있다. 보다 고도화된 작업을 위하여 사용률 u는 약간의 변형이 가미될 수 있다.
예를 들어, SLC가 모두 8개의 블록으로 구성되어 있고 그 중 3개의 논리 블록이 사용되고 있는 상태라면 사용률 u는 3/(3+5) 로 나타내어질 수 있다. 만일 계산의 편의와 논리 전개의 일관성 유지를 위하여 약간의 규칙을 가미한다면 가비지 콜렉션을 위하여 반드시 유지되어야 하는 최소한의 미사용 블록(empty block)의 수를 1이라 했을 때, 사용률 u는 3/(3+5-1) 로 변형될 수도 있다.
플래시 메모리 장치를 사용함에 따라 논리 블록과 물리 블록 간의 매핑이 복잡해지고 미사용 블록의 수가 하나만 남으면 가비지 콜렉션을 수행하게 된다. 가비지 콜렉션 시 유효한 페이지(valid page)의 수가 가장 작은 블록을 빅팀 블록(victim block)으로 지정하여 유효한 페이지만을 미사용 블록으로 카피한다. 이 때 빅팀 블록의 사용률 u' 은 디바이스 전체의 사용률 u와 아래 수학식 1과 같은 관계를 가진다.
[수학식 1]
수학식 1의 역함수로서 u를 u' 으로 변환하는 함수를 편의 상 U(u)라 정의하면, 가비지 콜렉션의 비용, 즉, 미사용 블록을 소거하고(블록을 소거하여 미사용 블록으로 만들고), 빅팀 블록의 유효한 페이지를 미사용 블록에 카피하는 비용은 아래 수학식 2와 같이 나타내어질 수 있다.
[수학식 2]
CGC(u)는 사용률을 변수로 하는 가비지 콜렉션의 비용, NP는 블록 내의 페이지의 수, CCP는 유효한 카피하는 (쓰기) 비용, CE는 한 블록을 소거하는 비용을 의미한다.
한번의 기본적인 가비지 콜렉션이 수행되면, [U(u) NP] 만큼의 유효한 페이지가 저장되고 [(1 - U(u)) NP] 만큼의 클린 페이지(clean page, 다른 유효한 페이지를 저장할 수 있는 빈 공간)이 생성된다. CPROG가 플래시 메모리의 페이지 당 프로그램 비용이라고 하면, 쓰기 요청에 대하여 가비지 콜렉션으로 인한 평균적인 오버헤드를 반영한 쓰기 비용은 아래 수학식 3과 같다.
[수학식 3]
이하에서는 도 4 내지 도 12를 통하여 분석 모듈(Analyzer)의 동작 및 역할을 중심으로 Data Migrator 의 동작 및 역할 일부를 더욱 상세히 설명한다.
도 4는 본 발명의 일 실시예에 따른 수명 모델 기반의 하이브리드 플래시 메모리의 관리 방법을 나타낸 동작 흐름도이다.
도 4를 참조하면, 수명 모델 기반의 하이브리드 플래시 메모리의 관리 방법은 하이브리드 플래시 메모리에 대한 사용률(utilization)과 하이브리드 플래시 메모리 전체에 대한 누적 쓰기 빈도 함수(H(u))의 관계를 도출한다(S410).
이때, 누적 쓰기 빈도 함수 H(u)는 하이브리드 플래시 메모리 전체(SLC와 TLC를 모두 포함함)에 대하여 데이터의 접근 빈도를 고려하여 계산할 수 있다.
제1 디바이스(SLC)의 저장 공간의 크기를 SSLC, 저장된 데이터의 크기를 DSLC, 제2 디바이스(TLC)의 저장 공간의 크기를 STLC, 저장된 데이터의 크기를 DTLC라 정의하기로 한다. 제1 디바이스의 사용률 uSLC는 uSLC = DSLC / SSLC, 제2 디바이스의 사용률 uTLC는 uTLC = DTLC / STLC 로 나타낼 수 있다. 제1 디바이스와 제2 디바이스 각각에 대하여 데이터가 전혀 저장되지 않은 경우는 0이며, 데이터가 완전히 가득 차 있는 상태에서는 사용률이 1이다.
누적 쓰기 빈도 함수 (cumulative write frequency function) H(u)는 전체 I/O Request 중에서 각각의 디바이스에 데이터가 실제로 저장되는 hit 비율을 의미한다. 이 경우 누적 쓰기 빈도 함수는 사용률 u와 저장 공간의 크기 S, 저장된 데이터의 크기 D 등에 영향을 받으며, 제1 디바이스와 제2 디바이스가 공존하는 하이브리드 플래시 메모리에서는 서로의 사용률에도 영향을 받을 것이다.
제1 디바이스의 누적 쓰기 빈도 함수 HSLC와 제2 디바이스의 누적 쓰기 빈도 함수 HTLC 사이에는 다음의 수학식 4의 관계가 성립한다.
[수학식 4]
HSLC + HTLC = 1
제1 디바이스의 저장 공간의 크기 SSLC와 제2 디바이스의 저장 공간의 크기 STLC가 정해져 있기 때문에 OS 또는 FS 로부터 하이브리드 플래시 메모리에 대한 총 데이터 저장 크기가 정해진 경우에는, uSLC가 정해지면 uTLC도 결정되는 것으로 볼 수 있다. 이에 따라 제1 디바이스의 사용률 uSLC로부터 제1 디바이스에 대한 누적 쓰기 빈도 함수 HSLC(uSLC)를 구할 수 있다. 하이브리드 플래시 메모리의 각각의 디바이스의 저장 공간의 크기와, 하이브리드 플래시 메모리에 요구된 총 데이터의 크기가 주어진 경우에 제1 디바이스의 사용률과 누적 쓰기 빈도 함수 간의 관계의 일 예가 도 8(a)에 도시되었다.
도 8은 본 발명의 일 실시예에 따른 하이브리드 플래시 메모리 관리 방법에서 사용률과 누적 쓰기 빈도 함수, 쓰기 비용, 수명 모델의 관계의 일 실시예를 도시하는 도면이다.
도 8(a)의 실시예에서는 SSLC = 2GB, STLC = 8GB이고 하이브리드 시스템에 요구된 총 데이터의 크기는 9GB로 가정하였다. 가로축은 uSLC이며 세로축은 HSLC(uSLC)이다. 이 때 만일 uSLC = 0.63이라면 DSLC = 1.26 GB이고, 총 데이터 9GB 에서 DSLC를 뺀 7.74 GB가 DTLC가 될 것이며 이에 따라 uTLC도 7.74/8 = 0.9675의 값으로 결정될 것이다.
제1 디바이스의 사용률 uSLC와 제2 디바이스의 사용률 uTLC가 결정된 상태에서 배열 자료 구조에 대한 모의 실험을 통하여 누적 쓰기 빈도 함수 HSLC(uSLC)를 결정할 수 있다. 배열 자료 구조에 대한 모의 실험은 자료 구조 기술 분야에 있어서는 공지의 기술이므로 여기서는 설명을 생략한다.
본 발명 실시예의 분석 모듈(Analyzer)은 제1 디바이스의 누적 쓰기 빈도 함수 및 제1 디바이스의 사용률을 변수로 하며 제1 디바이스 및 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기에 기반한 수명 모델을 생성하고(S420), 제1 디바이스의 저장 공간의 크기 대비 사용률(또는 누적 쓰기 빈도 함수)에 따른 수명 모델 값의 변화를 도출한다(S430).
이 때, 하이브리드 플래시 메모리의 수명 모델(WLEFT)은 수학식 5와 같이 나타낼 수 있다.
[수학식 5]
여기서 ESLC LEFT는 제1 디바이스 SLC의 잔존 소거 가능 횟수, ETLC LEFT는 제2 디바이스 TLC의 잔존 소거 가능 횟수를 의미한다.
그러나 수학식 5는 제1 디바이스 및 제2 디바이스에 대한 가비지 콜렉션에 따른 수명 단축 요인[WAF(u)]를 고려하지 않고 있으므로, 제1 디바이스 및 제2 디바이스에 대한 가비지 콜렉션에 따른 수명 단축 요인[WAF(u)]를 고려한 하이브리드 플래시 메모리의 수명 모델은 수학식 6과 같이 나타낼 수 있다.
[수학식 6]
[수학식 7]
각 디바이스의 사용률 대비 가비지 콜렉션에 따른 수명 단축 요인, 즉 쓰기의 증폭 효과(Write Amplification Factor, WAF)는 상기 수학식 7과 같이 나타낼 수 있다. 이와 같이 수명 모델은 실시예에 따라 제1 디바이스 및 제2 디바이스에 대한 가비지 콜렉션에 따른 수명 단축 요인을 고려하여 획득할 수도 있다.
본 발명 실시예에 따른 제1 디바이스 사용률과 수명 모델의 값의 변화가 도출된 일 실시예가 도 8(c)에 도시되었다. 도 8(c)를 참조하면, 가로축에 제1 디바이스 사용률 uSLC가 도시되고, 세로축에 하이브리드 플래시 메모리의 수명 Lifetime WLEFT가 도시된다.
본 발명의 분석 모듈(Analyzer)는 도출된 수명 모델의 값을 최대화하는 제1 디바이스(SLC)의 사용률을 결정한다(S440).
도 8(c)에 도시된 바와 같이 SSLC = 2GB, STLC = 8GB, 총 데이터 크기 = 9GB 인 실시예에서 하이브리드 플래시 메모리의 수명 WLEFT를 최대화하는 제1 디바이스(SLC)의 사용률은 0.81로 나타났다. 이 때 DSLC = 2GB x 0.81 = 1.62 GB, DTLC = 9GB - 1.62 GB = 7.38 GB, uTLC = 7.38/8 = 0.9225로 결정된다. 단계 S410 내지 S440은 본 발명 실시예의 분석 모듈(Analyzer module)에 의하여 수행될 수 있다.
본 발명 실시예의 데이터 이동 모듈(Data Migrator Module)은 하이브리드 플래시 메모리의 수명 모델의 값을 최대화하는 제1 디바이스의 사용률을 결정한 이후, 제1 디바이스에서 최적화된 사용률이 유지되도록 하이브리드 플래시 메모리를 관리할 수 있다(S450). 이에 따라, 제1 디바이스와 제2 디바이스가 포함된 하이브리드 플래시 메모리의 수명을 최대로 유지할 수 있다.
도 4와 도 8에서 제1 디바이스(SLC), 제2 디바이스(TLC)인 실시예가 도시되었으나, 제1 디바이스(SLC), 제2 디바이스(MLC)인 실시예에도 본 발명의 적용이 가능하다. 뿐만 아니라 MLC - TLC 간의 조합과 SLC - MLC - TLC 조합에도 본 발명이 변형되어 적용 가능함은 본 발명 명세서의 기재로부터 해당 분야의 종사자(skilled person)에게 자명할 것이다.
도 5는 본 발명의 다른 일 실시예에 따른 쓰기 비용과 수명 모델을 이용하여 제1 디바이스의 사용률을 결정하는 하이브리드 플래시 메모리를 관리하는 방법을 나타낸 동작 흐름도이다.
본 발명 실시예의 분석 모듈은 제1 디바이스 및 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기 및 제1 디바이스의 저장 공간의 크기 대비 사용률을 이용하여 하이브리드 플래시 메모리의 수명 모델을 획득한다(S610).
이때, 수명 모델은 하이브리드 플래시 메모리의 제1 디바이스 및 제2 디바이스에 대한 가비지 콜렉션에 따른 수명 단축 요인을 고려하여 획득할 수 있다.
이상의 내용은 상기 수학식 5 내지 7을 이용하여 도출될 수 있다.
본 발명 실시예의 분석 모듈은 하이브리드 플래시 메모리의 제1 디바이스 및 제2 디바이스 각각에 대하여, 저장 공간의 크기 대비 사용률에 따른 쓰기 비용 모델을 획득한다(S620).
제1 디바이스의 사용률 uSLC가 주어질 때, 가비지 콜렉션 오버헤드를 고려한 제1 디바이스의 평균 쓰기 비용 CPW _ SLC은 아래의 수학식 8과 같다.
[수학식 8]
마찬가지로 제2 디바이스의 사용률 uTLC가 주어질 때, 가비지 콜렉션 오버헤드를 고려한 제2 디바이스의 평균 쓰기 비용 CPW _ TLC은 아래의 수학식 9와 같다.
[수학식 9]
본 발명 실시예의 분석 모듈은 하이브리드 플래시 메모리의 제1 디바이스 및 제2 디바이스 각각에 대하여 얻어진 쓰기 비용 모델 각각을 이용하여, 제1 디바이스 및 제2 디바이스 각각의 누적 쓰기 빈도 함수가 고려된 하이브리드 플래시 메모리의 쓰기 비용 모델을 획득한다(S630).
이때, S620단계 이후 S630 단계가 진행되고, S620단계와 S630 단계는 S610 단계와 병렬적으로 또는 독립적으로 진행될 수 있다.
본 발명 실시예의 분석 모듈은 상기 수학식 8 및 9와 수학식 4를 조합하여 하이브리드 플래시 메모리의 쓰기 비용을 구할 수 있다. 하이브리드 플래시 메모리의 쓰기 비용은 아래의 수학식 10으로 나타낼 수 있다.
[수학식 10]
본 발명 실시예의 분석 모듈은 하이브리드 플래시 메모리의 수명 모델과 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 제1 디바이스의 최적화된 사용률을 획득한다(S640).
도 6은 도 5의 일 단계 - 제1 디바이스의 최적화된 사용률을 획득하는 단계 - 를 더욱 상세히 나타내는 동작 흐름도이다.
본 발명 실시예의 분석 모듈은 하이브리드 플래시 메모리의 수명 모델을 이용하여 제1 최적화 사용률을 획득한다(S710).
단계 S710에서 수명 모델에 기반한 제1 최적화 사용률을 획득하는 과정의 일 실시예가 도 8(c)를 통하여 도시되었다. 도 8(c)를 참조하면, 제1 디바이스 사용률 uSLC = 0.81 에서 수명 모델 WLEFT가 최대화된다. SSLC = 2GB, STLC = 8GB, 저장된 총 데이터의 크기 = 9GB 실시예에서 이루어진 분석이다.
본 발명 실시예의 분석 모듈은 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 제2 최적화 사용률을 획득한다(S720).
단계 S720에서 쓰기 비용에 기반한 제1 최적화 사용률을 획득하는 과정의 일 실시예가 도 8(b)를 통하여 도시되었다. 도 8(b)를 참조하면, 제1 디바이스 사용률 uSLC = 0.63 에서 하이브리드 쓰기 비용 CPW _ HY(uSLC) 가 최대화된다. 마찬가지로 SSLC = 2GB, STLC = 8GB, 저장된 총 데이터의 크기 = 9GB 실시예에서 이루어진 분석이다.
이때, S710 단계와 S720 단계는 함께 병렬적으로 또는 독립적으로 수행할 수 있다.
본 발명 실시예의 분석 모듈은 하이브리드 플래시 메모리의 수명 모델을 이용하여 획득된 제1 최적화 사용률과 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 획득된 제2 최적화 사용률을 이용하여 하이브리드 플래시 메모리의 제1 디바이스의 최적화된 사용률을 획득한다(S730).
도 7은 도 6의 일 단계 - 제1 최적화 사용률과 제2 최적화 사용률을 이용하여 제1 디바이스의 최적화된 사용률을 획득하는 단계 - 를 더욱 상세히 나타내는 동작 흐름도이다.
본 발명 실시예의 분석 모듈은 하이브리드 플래시 메모리의 노후화된 정도, 읽기 및 쓰기 성능, 및 사용자가 요구하는 데이터의 크기를 고려하여 가중치를 설정한다(S810).
본 발명 실시예의 분석 모듈은 하이브리드 플래시 메모리의 수명 모델을 이용하여 획득된 제1 최적화 사용률과 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 획득된 제2 최적화 사용률 각각에 S810 단계에서 설정한 가중치를 부여한 후 합산하여 하이브리드 플래시 메모리의 제1 디바이스의 최적화된 사용률을 획득한다(S820).
도 9는 본 발명의 다른 일 실시예에 따른 하이브리드 플래시 메모리의 관리 방법에서, 최적화 과정의 개념적인 일 실시예를 도시한 도면이다.
도 9를 참조하면 uPERF SLC는 쓰기 비용, 즉 성능 기반의 최적화를 달성할 수 있는 제1 디바이스의 사용률이고, uLIFE SLC는 수명 모델 기반의 최적화를 달성할 수 있는 제1 디바이스의 사용률이다.
본 발명 실시예의 분석 모듈은 제1 최적화 사용률 uPERF SLC과 제2 최적화 사용률 uLIFE SLC 각각에 대하여 가중치를 부여한 후 합산하여 최종적인 최적화 사용률 uTUNE SLC를 얻을 수 있다. 이 때 가중치는 하이브리드 플래시 메모리의 노후화된 정도, 읽기 및 쓰기 성능, 및 사용자가 요구하는 데이터의 크기를 고려하여 설정될 수 있다. 예를 들어 플래시 메모리가 새 제품이고 읽기 및 쓰기 성능이 우수한 경우에는 이를 극대화하는 방향으로 가중치를 설정할 수 있다. 반대로 플래시 메모리가 노후화되어 수명을 연장하는 것이 우선 과제일 때에는 수명을 극대화하는 방향으로 가중치를 설정할 수 있다. 이와 같이 본 발명 실시예의 분석 모듈은 제1 최적화 사용률 uPERF SLC과 제2 최적화 사용률 uLIFE SLC 각각에 대하여 가중치를 부여함으로써 성능과 수명 양 측면의 타협점을 찾아 하이브리드 플래시 메모리의 종합적인 최적화를 달성할 수 있으며, 가중치는 최적화 방침(tuning policy)에 따라 다이내믹하게 조정될 수 있다.
다시 도 5를 참조하면 본 발명 실시예의 데이터 이동 모듈(Data Migrator)은 하이브리드 플래시 메모리의 수명 모델과 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 제1 디바이스의 최적화된 사용률을 획득(S640)한 이후, 하이브리드 플래시 메모리의 제1 디바이스에서 최적화된 사용률이 유지되도록 하이브리드 플래시 메모리를 관리할 수 있다(S650).
하이브리드 플래시 메모리의 제1 디바이스에서 최적화된 사용률이 유지되도록 하이브리드 플래시 메모리를 관리함에 따라서, 하이브리드 플래시 메모리의 성능 및 수명을 개선할 수 있고, 주어진 환경에 맞는 최적화 정책에 따라서 다이내믹하게 최적화될 수 있다.
도 10은 본 발명의 일 실시예에 따른 수명 모델 기반의 하이브리드 플래시 메모리 관리 장치에 대한 개념적인 구성을 나타낸 블록도이다.
수명 모델 기반의 하이브리드 플래시 메모리 관리 장치(1200)는 분석 모듈(Analyzer)이 하드웨어로 구현된 개념 상의 장치를 의미할 수 있다.
수명 모델 기반의 하이브리드 플래시 메모리 관리 장치(1200)는 하이브리드 플래시 메모리의 제1 디바이스 및 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기, 및 제1 디바이스의 저장 공간의 크기 대비 사용률을 이용하여 하이브리드 플래시 메모리의 수명 모델을 획득하는 수명 모델 생성부(1210)와 수명 모델 생성부(1210)에서 획득된 수명 모델을 이용하여 하이브리드 플래시 메모리의 제1 디바이스의 최적화된 사용률을 획득하는 수명 모델 기반 최적화부(1220)를 포함한다. 도 4의 단계 S410과 S410은 수명 모델 생성부(1210)에서, 단계 S430과 S440은 수명 모델 기반 최적화부(1220)에서 수행될 수 있다.
이때, 도 10에 도시되지는 않았으나 본 발명의 다른 실시예에 따르면 수명 모델 기반 최적화부(1220)는 하이브리드 플래시 메모리의 제1 디바이스에서 획득된 최적화된 사용률이 유지되도록 하이브리드 플래시 메모리를 관리할 수도 있다. 이 때에는 수명 모델 기반 최적화부(1220)는 분석 모듈 뿐만 아니라 데이터 이동 모듈의 일부 기능을 함께 수행하게 된다.
또한, 수명 모델 기반 최적화부(1220)는 제1 디바이스의 사용률에 따라 수명 모델의 값의 변화를 추적하여 수명 모델의 값을 최대화하는 제1 디바이스의 사용률을 결정할 수도 있다(S430, S440).
또한, 수명 모델 생성부(1210)에서 수명 모델은 하이브리드 플래시 메모리의 제1 디바이스 및 제2 디바이스에 대한 가비지 콜렉션에 따른 수명 단축 요인을 고려하여 획득할 수 있다.
또한, 수명 모델 생성부(1210)는 제1 디바이스의 사용률을 이용하여 제1 디바이스의 하이브리드 플래시 메모리 전체에 대한 누적 쓰기 빈도 함수를 계산하는 누적 쓰기 빈도 함수 계산부를 포함할 수도 있다(S410, S420).
도 11은 본 발명의 다른 일 실시예에 따른 수명 모델 및 쓰기 비용 기반의 하이브리드 플래시 메모리 관리 장치에 대한 개념적인 구성을 나타낸 블록도이다.
제1 디바이스와 제2 디바이스를 포함하는 수명 모델 및 쓰기 비용 기반의 하이브리드 플래시 메모리 관리 장치(1300)는 본 발명 실시예의 분석 모듈(Analyzer)과 데이터 이동 모듈(Data Migrator)의 일부 기능을 포함하여 구현되는 하드웨어 모듈을 의미할 수 있다.
제1 디바이스와 제2 디바이스를 포함하는 수명 모델 및 쓰기 비용 기반의 하이브리드 플래시 메모리 관리 장치(1300)는 하이브리드 플래시 메모리의 제1 디바이스 및 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기, 및 제1 디바이스의 저장 공간의 크기 대비 사용률을 이용하여 하이브리드 플래시 메모리의 수명 모델을 획득하는(S610) 수명 모델 생성부(1310), 하이브리드 플래시 메모리의 제1 디바이스 및 제2 디바이스 각각에 대하여, 저장 공간의 크기 대비 사용률에 따른 쓰기 비용 모델을 획득하고(S620), 제1 디바이스 및 제2 디바이스 각각에 대하여 얻어진 쓰기 비용 모델 각각을 이용하여, 제1 디바이스 및 제2 디바이스 각각의 누적 쓰기 빈도 함수가 고려된 하이브리드 플래시 메모리의 쓰기 비용 모델을 획득하는(S630) 쓰기 비용 모델링부(1320) 및 하이브리드 플래시 메모리의 수명 모델과 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 제1 디바이스의 최적화된 사용률을 획득하는(S640) 최적화부(1330)을 포함한다.
이때, 수명 모델 생성부(1310)에서 수명 모델은 하이브리드 플래시 메모리의 제1 디바이스 및 제2 디바이스에 대한 가비지 콜렉션에 따른 수명 단축 요인을 고려하여 획득할 수 있다.
수명 모델 및 쓰기 비용 기반의 하이브리드 플래시 메모리의 관리 장치(1300)는 최적화부(1330)에서 하이브리드 플래시 메모리의 수명 모델과 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 제1 디바이스의 최적화된 사용률을 획득한 이후, 하이브리드 플래시 메모리의 제1 디바이스의 최적화된 사용률이 유지되도록 하이브리드 플래시 메모리를 관리하는(S650) 하이브리드 플래시 메모리 관리부(1340)를 더 포함할 수 있다.
도 12는 도 11의 일 구성요소인 최적화부(1330)에 대한 개념적인 구성을 나타낸 블록도이다.
도 12에 도시된 최적화부(1330)는 하이브리드 플래시 메모리의 수명 모델을 이용하여 제1 최적화 사용률을 획득하는(S710) 제1 최적화 사용률 획득부(1331), 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 제2 최적화 사용률을 획득하는(S720) 제2 최적화 사용률 획득부(1332), 및 제1 최적화 사용률 획득부(1331)에서 획득한 제1 최적화 사용률과 제2 최적화 사용률 획득부(1332)에서 획득한 제2 최적화 사용률을 이용하여 하이브리드 플래시 메모리의 제1 디바이스의 최적화된 사용률을 획득하는(S730) 최적화 사용률 결정부(1333)를 포함한다.
이때, 최적화 사용률 결정부(1333)는 하이브리드 플래시 메모리의 노후화된 정도, 일기 및 쓰기 성능, 및 사용자가 요구하는 데이터의 크기를 고려하여 가중치를 설정할 수 있다(S810).
또한, 최적화 사용률 결정부(1333)는 제1 최적화 사용률 획득부(1331)에서 획득한 제1 최적화 사용률과 제2 최적화 사용률 획득부(1332)에서 획득한 제2 최적화 사용률 각각에 설정된 가중치를 부여한 후 합산하여 하이브리드 플래시 메모리의 제1 디바이스의 최적화된 사용률을 획득할 수 있다(S820).
본 발명의 일 실시 예에 따른 하이브리드 플래시 메모리의 관리 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명 실시예에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
1200: 수명 모델 기반의 하이브리드 메모리 관리 장치
1210: 수명 모델 생성부
1220: 수명 모델 기반 최적화부
1300: 수명 모델 및 쓰기 비용 기반의 하이브리드 플래시 메모리 관리 장치
1320: 쓰기 비용 모델링부
1330: 최적화부
1210: 수명 모델 생성부
1220: 수명 모델 기반 최적화부
1300: 수명 모델 및 쓰기 비용 기반의 하이브리드 플래시 메모리 관리 장치
1320: 쓰기 비용 모델링부
1330: 최적화부
Claims (19)
- 제1 디바이스와 제2 디바이스를 포함하는 하이브리드 플래시 메모리의 관리 방법에 있어서,
상기 제1 디바이스 및 상기 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기, 및 상기 제1 디바이스의 상기 저장 공간의 크기 대비 사용률을 이용하여 상기 하이브리드 플래시 메모리의 수명 모델을 획득하는 단계; 및
상기 수명 모델을 이용하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 단계;
를 포함하고,
상기 제1 디바이스가 상기 제2 디바이스보다 읽기 또는 쓰기 성능이 우수하고 수명이 긴 것을 특징으로 하고,
상기 제1 디바이스의 상기 저장 공간의 크기 대비 사용률은 상기 제1 디바이스의 저장 공간의 크기와 상기 제2 디바이스의 저장 공간의 크기 양쪽에 기반하여 얻어지는 하이브리드 플래시 메모리의 관리 방법. - 제1항에 있어서,
상기 제1 디바이스의 최적화된 사용률을 획득하는 단계는
상기 제1 디바이스의 사용률에 따라 상기 수명 모델의 값의 변화를 추적하는 단계; 및
상기 수명 모델의 값을 최대화하는 상기 제1 디바이스의 사용률을 결정하는 단계;
를 포함하는 하이브리드 플래시 메모리의 관리 방법. - 제1항에 있어서,
상기 수명 모델을 획득하는 단계는
상기 제1 디바이스의 상기 사용률을 이용하여 상기 제1 디바이스의 상기 하이브리드 플래시 메모리 전체에 대한 누적 쓰기 빈도 함수를 계산하는 단계; 및
상기 제1 디바이스의 누적 쓰기 빈도 함수를 변수로 하는 상기 수명 모델을 생성하는 단계
를 포함하는 하이브리드 플래시 메모리의 관리 방법. - 제1항에 있어서,
상기 제1 디바이스에서 상기 최적화된 사용률이 유지되도록 상기 하이브리드 플래시 메모리를 관리하는 단계
를 더 포함하는 하이브리드 플래시 메모리의 관리 방법. - 제1항에 있어서,
상기 수명 모델은 상기 제1 디바이스 및 상기 제2 디바이스에 대한 가비지 콜렉션에 따른 수명 단축 요인을 고려하여 얻어지는 하이브리드 플래시 메모리의 관리 방법. - 제1 디바이스와 제2 디바이스를 포함하는 하이브리드 플래시 메모리의 관리 방법에 있어서,
상기 제1 디바이스 및 상기 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기, 및 상기 제1 디바이스의 상기 저장 공간의 크기 대비 사용률을 이용하여 상기 하이브리드 플래시 메모리의 수명 모델을 획득하는 단계;
상기 제1 디바이스 및 상기 제2 디바이스 각각에 대하여, 저장 공간의 크기 대비 사용률에 따른 쓰기 비용 모델을 획득하는 단계;
상기 제1 디바이스 및 상기 제2 디바이스 각각에 대하여 얻어진 쓰기 비용 모델 각각을 이용하여, 상기 제1 디바이스 및 상기 제2 디바이스 각각의 누적 쓰기 빈도 함수가 고려된 상기 하이브리드 플래시 메모리의 쓰기 비용 모델을 획득하는 단계; 및
상기 하이브리드 플래시 메모리의 수명 모델과 상기 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 단계
를 포함하고,
상기 제1 디바이스가 상기 제2 디바이스보다 읽기 또는 쓰기 성능이 우수하고 수명이 긴 것을 특징으로 하고,
상기 제1 디바이스의 상기 저장 공간의 크기 대비 사용률은 상기 제1 디바이스의 저장 공간의 크기와 상기 제2 디바이스의 저장 공간의 크기 양쪽에 기반하여 얻어지는 하이브리드 플래시 메모리의 관리 방법. - 제6항에 있어서,
상기 제1 디바이스의 최적화된 사용률을 획득하는 단계는
상기 하이브리드 플래시 메모리의 수명 모델을 이용하여 제1 최적화 사용률을 획득하는 단계;
상기 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 상기 제2 최적화 사용률을 획득하는 단계; 및
상기 제1 최적화 사용률과 상기 제2 최적화 사용률을 이용하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 단계
를 포함하는 하이브리드 플래시 메모리의 관리 방법. - 제7항에 있어서,
상기 제1 최적화 사용률과 상기 제2 최적화 사용률을 이용하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 단계는
상기 제1 최적화 사용률과 상기 제2 최적화 사용률 각각에 가중치를 부여한 후 합산하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 하이브리드 플래시 메모리의 관리 방법. - 제8항에 있어서,
상기 제1 최적화 사용률과 상기 제2 최적화 사용률을 이용하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 단계는
상기 하이브리드 플래시 메모리의 노후화된 정도, 읽기 및 쓰기 성능, 및 사용자가 요구하는 데이터의 크기를 고려하여 상기 가중치를 설정하는 단계
를 포함하는 하이브리드 플래시 메모리의 관리 방법. - 제6항에 있어서,
상기 제1 디바이스에서 상기 최적화된 사용률이 유지되도록 상기 하이브리드 플래시 메모리를 관리하는 단계
를 더 포함하는 하이브리드 플래시 메모리의 관리 방법. - 제6항에 있어서,
상기 수명 모델은 상기 제1 디바이스 및 상기 제2 디바이스에 대한 가비지 콜렉션에 따른 수명 단축 요인을 고려하여 얻어지는 하이브리드 플래시 메모리의 관리 방법. - 제6항에 있어서,
상기 제1 디바이스 및 상기 제2 디바이스 각각에 대하여, 저장 공간의 크기 대비 사용률에 따른 쓰기 비용 모델을 획득하는 단계는
상기 제1 디바이스 및 상기 제2 디바이스 각각에 대한 가비지 콜렉션에 따른 쓰기 비용의 오버헤드를 고려하여 상기 제1 디바이스 및 상기 제2 디바이스 각각에 대한 쓰기 비용 모델을 계산하는 하이브리드 플래시 메모리의 관리 방법. - 제1항 내지 제12항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
- 제1 디바이스와 제2 디바이스를 포함하는 하이브리드 플래시 메모리의 관리 장치에 있어서,
상기 제1 디바이스 및 상기 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기, 및 상기 제1 디바이스의 상기 저장 공간의 크기 대비 사용률을 이용하여 상기 하이브리드 플래시 메모리의 수명 모델을 획득하는 수명 모델 생성부; 및
상기 수명 모델을 이용하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 수명 모델 기반 최적화부;
를 포함하고,
상기 제1 디바이스가 상기 제2 디바이스보다 읽기 또는 쓰기 성능이 우수하고 수명이 긴 것을 특징으로 하고,
상기 제1 디바이스의 상기 저장 공간의 크기 대비 사용률은 상기 제1 디바이스의 저장 공간의 크기와 상기 제2 디바이스의 저장 공간의 크기 양쪽에 기반하여 얻어지는 하이브리드 플래시 메모리의 관리 장치. - 제14항에 있어서,
상기 수명 모델 생성부는,
상기 제1 디바이스의 상기 사용률을 이용하여 상기 제1 디바이스의 상기 하이브리드 플래시 메모리 전체에 대한 누적 쓰기 빈도 함수를 계산하는 누적 쓰기 빈도 함수 계산부; 를 포함하고,
상기 제1 디바이스의 누적 쓰기 빈도 함수를 변수로 하는 상기 수명 모델을 생성하는 것을 특징으로 하는
하이브리드 플래시 메모리의 관리 장치. - 제1 디바이스와 제2 디바이스를 포함하는 하이브리드 플래시 메모리의 관리 장치에 있어서,
상기 제1 디바이스 및 상기 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기, 및 상기 제1 디바이스의 상기 저장 공간의 크기 대비 사용률을 이용하여 상기 하이브리드 플래시 메모리의 수명 모델을 획득하는 수명 모델 생성부;
상기 제1 디바이스 및 상기 제2 디바이스 각각에 대하여, 저장 공간의 크기 대비 사용률에 따른 쓰기 비용 모델을 획득하고, 상기 제1 디바이스 및 상기 제2 디바이스 각각에 대하여 얻어진 쓰기 비용 모델 각각을 이용하여, 상기 제1 디바이스 및 상기 제2 디바이스 각각의 누적 쓰기 빈도 함수가 고려된 상기 하이브리드 플래시 메모리의 쓰기 비용 모델을 획득하는 쓰기 비용 모델링부; 및
상기 하이브리드 플래시 메모리의 수명 모델과 상기 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 최적화부;
를 포함하고,
상기 제1 디바이스가 상기 제2 디바이스보다 읽기 또는 쓰기 성능이 우수하고 수명이 긴 것을 특징으로 하고,
상기 제1 디바이스의 상기 저장 공간의 크기 대비 사용률은 상기 제1 디바이스의 저장 공간의 크기와 상기 제2 디바이스의 저장 공간의 크기 양쪽에 기반하여 얻어지는 하이브리드 플래시 메모리의 관리 장치. - 제16항에 있어서,
상기 최적화부는,
상기 하이브리드 플래시 메모리의 수명 모델을 이용하여 제1 최적화 사용률을 획득하는 제1 최적화 사용률 획득부;
상기 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 상기 제2 최적화 사용률을 획득하는 제2 최적화 사용률 획득부; 및
상기 제1 최적화 사용률과 상기 제2 최적화 사용률을 이용하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 최적화 사용률 결정부;
를 포함하는 하이브리드 플래시 메모리의 관리 장치. - 제17항에 있어서,
상기 최적화 사용률 결정부는,
상기 제1 최적화 사용률과 상기 제2 최적화 사용률 각각에 가중치를 부여한 후 합산하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 하이브리드 플래시 메모리의 관리 장치. - 제16항에 있어서,
상기 제1 디바이스에서 상기 최적화된 사용률이 유지되도록 상기 하이브리드 플래시 메모리를 관리하는 하이브리드 플래시 메모리 관리부
를 더 포함하는 하이브리드 플래시 메모리의 관리 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130023977A KR101480424B1 (ko) | 2013-03-06 | 2013-03-06 | 하이브리드 플래시 메모리의 성능과 수명 최적화 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130023977A KR101480424B1 (ko) | 2013-03-06 | 2013-03-06 | 하이브리드 플래시 메모리의 성능과 수명 최적화 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140109689A KR20140109689A (ko) | 2014-09-16 |
KR101480424B1 true KR101480424B1 (ko) | 2015-01-13 |
Family
ID=51756142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20130023977A KR101480424B1 (ko) | 2013-03-06 | 2013-03-06 | 하이브리드 플래시 메모리의 성능과 수명 최적화 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101480424B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9904478B2 (en) | 2015-08-31 | 2018-02-27 | Samsung Electronics Co., Ltd. | Storage device and method for controlling thereof |
US10152252B2 (en) | 2016-04-27 | 2018-12-11 | SK Hynic Inc. | Memory system and operating method thereof |
US10235299B2 (en) | 2016-11-07 | 2019-03-19 | Samsung Electronics Co., Ltd. | Method and device for processing data |
US10871916B2 (en) | 2018-04-30 | 2020-12-22 | SK Hynix Inc. | Memory controller and method of operating the same |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102550343B1 (ko) | 2016-07-27 | 2023-07-03 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 장치 및 그것의 동작 방법 |
KR20210056625A (ko) | 2019-11-11 | 2021-05-20 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 이를 이용한 스토리지 시스템 |
US11188261B2 (en) * | 2019-11-18 | 2021-11-30 | International Business Machines Corporation | Memory controllers for solid-state storage devices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08235880A (ja) * | 1994-09-30 | 1996-09-13 | Alcatel Nv | フラッシュメモリのメモリ管理方法 |
JP2009537904A (ja) * | 2006-05-15 | 2009-10-29 | サンディスク コーポレイション | 最終期を計算する不揮発性メモリシステム |
-
2013
- 2013-03-06 KR KR20130023977A patent/KR101480424B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08235880A (ja) * | 1994-09-30 | 1996-09-13 | Alcatel Nv | フラッシュメモリのメモリ管理方法 |
JP2009537904A (ja) * | 2006-05-15 | 2009-10-29 | サンディスク コーポレイション | 最終期を計算する不揮発性メモリシステム |
Non-Patent Citations (1)
Title |
---|
한국정보과학회 가을 학술발표논문집(2007. "플래시 메모리 상에서의 비용 예측 모델") * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9904478B2 (en) | 2015-08-31 | 2018-02-27 | Samsung Electronics Co., Ltd. | Storage device and method for controlling thereof |
US10152252B2 (en) | 2016-04-27 | 2018-12-11 | SK Hynic Inc. | Memory system and operating method thereof |
US10235299B2 (en) | 2016-11-07 | 2019-03-19 | Samsung Electronics Co., Ltd. | Method and device for processing data |
US10871916B2 (en) | 2018-04-30 | 2020-12-22 | SK Hynix Inc. | Memory controller and method of operating the same |
Also Published As
Publication number | Publication date |
---|---|
KR20140109689A (ko) | 2014-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101480424B1 (ko) | 하이브리드 플래시 메모리의 성능과 수명 최적화 장치 및 방법 | |
US11893238B2 (en) | Method of controlling nonvolatile semiconductor memory | |
US10275162B2 (en) | Methods and systems for managing data migration in solid state non-volatile memory | |
US10430084B2 (en) | Multi-tiered memory with different metadata levels | |
KR101894625B1 (ko) | 데이터 저장 시스템들에 대한 우선순위 기반 가비지 수집 | |
KR101257691B1 (ko) | 메모리 컨트롤러 및 이의 데이터 관리방법 | |
KR102114256B1 (ko) | 플래시 메모리 디바이스 액세스 방법 및 장치 | |
EP2565792A1 (en) | Block management schemes in hybrid SLC/MLC memory | |
Agarwal et al. | A closed-form expression for write amplification in nand flash | |
CN106548789A (zh) | 用于操作叠瓦式磁记录设备的方法和装置 | |
CN105934749A (zh) | 用于数据存储系统的垃圾收集和数据重定位 | |
CN110674056B (zh) | 一种垃圾回收方法及装置 | |
KR101374065B1 (ko) | 칩 레벨 평행 플래시 메모리를 위한 정보 분별 방법 및 장치 | |
Luojie et al. | An improved analytic expression for write amplification in NAND flash | |
KR101017067B1 (ko) | 낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법 | |
KR20200110547A (ko) | 스토리지 장치 및 스토리지 장치를 포함하는 컴퓨팅 장치 | |
KR20080074584A (ko) | 메모리 시스템 및 그것의 데이터 저장 방법 | |
Ma et al. | Alleviating hot data write back effect for shingled magnetic recording storage systems | |
Xu et al. | Garbage collection policy to improve durability for flash memory | |
CN114185492A (zh) | 一种基于强化学习的固态硬盘垃圾回收算法 | |
Fisher et al. | A hybrid filesystem for hard disk drives in tandem with flash memory | |
Li et al. | Latency aware page migration for read performance optimization on hybrid ssds | |
US20110264848A1 (en) | Data recording device | |
Lin et al. | Flash-aware linux swap system for portable consumer electronics | |
Koltsidas et al. | Spatial data management over flash memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20171123 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20181203 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20191202 Year of fee payment: 6 |