KR20140109689A - Apparatus and method for optimization for improved performance and enhanced lifetime of hybrid flash memory devices - Google Patents

Apparatus and method for optimization for improved performance and enhanced lifetime of hybrid flash memory devices Download PDF

Info

Publication number
KR20140109689A
KR20140109689A KR1020130023977A KR20130023977A KR20140109689A KR 20140109689 A KR20140109689 A KR 20140109689A KR 1020130023977 A KR1020130023977 A KR 1020130023977A KR 20130023977 A KR20130023977 A KR 20130023977A KR 20140109689 A KR20140109689 A KR 20140109689A
Authority
KR
South Korea
Prior art keywords
flash memory
hybrid flash
model
utilization rate
lifetime
Prior art date
Application number
KR1020130023977A
Other languages
Korean (ko)
Other versions
KR101480424B1 (en
Inventor
오용석
최종무
이동희
노삼혁
Original Assignee
서울시립대학교 산학협력단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 서울시립대학교 산학협력단 filed Critical 서울시립대학교 산학협력단
Priority to KR20130023977A priority Critical patent/KR101480424B1/en
Publication of KR20140109689A publication Critical patent/KR20140109689A/en
Application granted granted Critical
Publication of KR101480424B1 publication Critical patent/KR101480424B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage 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

The present invention relates to a method for optimizing the performance and lifetime of a hybrid SSD. The hybrid SSD may be configured in various combinations including SLC, MLC, TLC flash memories. The present invention defines a lifetime model to optimize performance. The lifetime model suggests a method for allocating hot and cold data that maximizes the lifetime of the entire flash memory by finding the optimal solution. On the other hand, the present invention defines a write cost model other than the lifetime mode and suggests a method of allocating the hot and cold data in each flash memory by finding the optimal solution in the write cost model. Further, the present invention suggests a management method capable of the appropriate compromise between the two models depending on the weight of the lifetime and performance of the entire flash memory.

Description

하이브리드 플래시 메모리의 성능과 수명 최적화 장치 및 방법 {APPARATUS AND METHOD FOR OPTIMIZATION FOR IMPROVED PERFORMANCE AND ENHANCED LIFETIME OF HYBRID FLASH MEMORY DEVICES}[0001] APPARATUS AND METHOD FOR OPTIMIZATION FOR IMPROVED PERFORMANCE AND ENHANCED LIFETIME OF HYBRID FLASH MEMORY [0002]

본 발명은 하이브리드 플래시 메모리의 성능 및 수명을 최적화 하는 방법에 관한 것으로, 보다 상세하게는 SLC(single-level cell), MLC(multi-level cell), TLC(Triple level cell) 등 다양한 종류의 플래시 메모리 디바이스를 가지는 하이브리드 플래시 메모리에서 수명 모델과 쓰기 비용을 이용하여 성능과 수명을 최적화할 수 있는 방법 및 장치에 관한 것이다.The present invention relates to a method of optimizing the performance and lifetime of a hybrid flash memory, and more particularly, to a method of optimizing performance and lifetime of a hybrid flash memory using various types of flash memory such as a single-level cell (SLC), a multi-level cell (MLC) The present invention relates to a method and apparatus for optimizing performance and lifetime using a lifetime model and a write cost in a hybrid flash memory having a device.

본 발명은 교육과학기술부 및 한국연구재단의 기초연구사업/일반연구자지원사업/기본연구지원사업(유형 II)의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2010-0025282, 과제명: SSD(Solid State Drive)를 위한 스토리지 소프트웨어의 최적화].The present invention has been derived from research carried out as part of the Basic Research Project / General Researcher Support Project / Basic Research Support Project (Type II) of the Ministry of Education, Science and Technology and the Korea Research Foundation [assignment number: 2010-0025282, Optimization of Storage Software for Solid State Drives].

플래시 메모리는 전원이 꺼지더라도 정보가 보존되는 비휘발성 기억장치이다. 하드디스크와 같은 기존의 저장매체보다 데이터 접근성이 빠르고 크기가 작으며, 외부의 물리적 충격에 강하고 무게가 가볍다는 특성을 지니고 있다. 이러한 장점 때문에 MP3 플레이어, 휴대용 전화기, 디지털 카메라 등 휴대용 기기의 저장장치로 널리 사용되고 있으며, 최근에는 플래시 메모리 저장장치의 용량이 커지고 가격은 내려감에 따라서 개인용 컴퓨터와 기업용 서버의 저장장치로 사용하는 추세이다.A flash memory is a nonvolatile memory device in which information is stored even when the power is turned off. It has faster data accessibility, smaller size, stronger external physical impact and lighter weight than conventional storage media such as hard disk. Due to these advantages, it is widely used as a storage device for portable devices such as MP3 players, portable phones, and digital cameras. Recently, as the capacity of the flash memory storage device has increased and the price has decreased, it has been used as a storage device of personal computers and enterprise servers .

플래시 메모리는 한 개의 메모리 셀로 표현할 수 있는 비트의 수에 따라, 단일 레벨 셀(single level cell, 이하 SLC)과 멀티 레벨 셀(multi level cell, 이하 MLC)로 나뉜다. SLC는 데이터 연산 성능이 빠르며 내구성이 높지만 가격이 비싸다는 단점이 있다. 반면, MLC는 SLC 보다 내구성이 낮고 데이터 연산 속도가 느린 대신에 가격대비 큰 저장 공간을 제공하는 장점이 있다. MLC는 하나의 셀에 2비트 이상을 담을 수 있는 디바이스를 총칭하는 단어이지만, 경우에 따라서는 하나의 셀에 3비트를 저장할 수 있는 디바이스는 트리플 레벨 셀(Triple level cell, TLC)이라 부르고, MLC는 TLC와 비교하여 2비트를 하나의 셀에 저장할 수 있는 디바이스를 나타내기도 한다.A flash memory is divided into a single level cell (SLC) and a multi level cell (MLC) according to the number of bits that can be represented by one memory cell. SLC has the disadvantage of high data operation performance, high durability but high price. On the other hand, MLC is less durable than SLC and has the advantage of providing more storage space for price instead of slower data operation speed. The MLC is a generic term for a device capable of holding two or more bits in one cell. In some cases, a device capable of storing 3 bits in one cell is called a triple level cell (TLC) May represent a device capable of storing two bits in one cell compared to TLC.

플래시 메모리는 컴퓨터, 디지털 카메라 또는 휴대폰과 같은 임베디드 시스템(embedded system) 환경에서 많이 사용되는데, 플래시 메모리를 이러한 임베디드 시스템 환경에 사용하기 위해서는 시스템이 사용하는 논리적 메모리 주소(logical memory address)와 플래시 메모리 상의 물리적 메모리 주소(physical memory address)간의 변환(translation)이 필요하다. 이러한 변환에 관련된 interface를 플래시 변환 계층(Flash Translation Layer, FTL)이라고 한다Flash memory is widely used in embedded systems such as computers, digital cameras or mobile phones. In order to use flash memory in such an embedded system environment, a logical memory address used by the system and a flash memory There is a need for translation between physical memory addresses. The interface involved in this conversion is called the Flash Translation Layer (FTL)

FTL 중에서 데이터 블록과 로그 블록을 구별하여 사용하는 기법을 로그 블록 방식 FTL이라고 하는데, 일반적으로 로그 블록 방식 FTL에서는 파일 시스템(File System) 또는 운영 체제(OS, Operating System)에서 인식하고 있는 논리적 저장 상황과 실제 물리적 저장 상황이 불일치하기 때문에 FTL의 기능이 중요하다.The log block method FTL is a method of distinguishing between data blocks and log blocks in the FTL. Generally, in the log block method FTL, a logical storage situation recognized by a file system or an operating system (OS) And the actual physical storage situation is inconsistent, the function of FTL is important.

이러한 FTL 의 기능을 효과적으로 개선하고자 다수의 선행기술이 도출되었으며, 그 중 SLC와 MLC 를 포함하는 하이브리드 SSD의 FTL에 관한 선행기술로서 한국등록특허 10-1026634호 "하이브리드 플래시 메모리의 데이터 저장 방법"이 제시된 바 있다.In order to effectively improve the functions of the FTL, a number of prior arts have been derived. Among them, Korean Patent No. 10-1066634 entitled " Data Storage Method of Hybrid Flash Memory "as a prior art related to FTL of a hybrid SSD including SLC and MLC It has been suggested.

도 1을 참조하면, 상기 선행기술은 호스트(50)와 메모리 셀(400) 사이를 연결하는 컨트롤러(300)와 버퍼 RAM(200)를 포함하여 구성된다. 메모리 셀(400)은 SLC(420) 디바이스와 MLC(440) 디바이스를 포함한다. 메모리 셀(400)에 데이터를 쓸 때에는 페이지 버퍼(500)에 페이지 데이터가 저장된 후, 페이지 단위로 SLC(420) 또는 MLC(440)에 프로그램된다. 플래시 메모리에 데이터를 쓰는(write) 과정은 관습적으로 프로그램(program)한다고 표현된다.Referring to FIG. 1, the prior art includes a controller 300 and a buffer RAM 200 for connecting the host 50 and the memory cell 400. The memory cell 400 includes an SLC 420 device and an MLC 440 device. When data is written to the memory cell 400, the page data is stored in the page buffer 500 and then programmed into the SLC 420 or the MLC 440 on a page basis. The process of writing data to the flash memory is customarily expressed as a program.

도 1에서는 플래시 변환 계층 FTL(100)이 컨트롤러(300)과 구분되어 도시되었으나, 이는 하나의 실시예일 뿐이며, 일반적으로 FTL은 컨트롤러(300)에서 수행되는 논리 주소 - 물리 주소 간 맵핑, 메모리 셀(400)에 대한 가비지 콜렉션, 쓰기 데이터를 SLC(420)과 MLC(440) 어느 쪽으로 저장할지를 결정하는 기능까지 수행한다.In FIG. 1, the flash translation layer FTL 100 is shown as being separate from the controller 300, but this is only one embodiment. Generally, the FTL is a logical address-to-physical address mapping performed in the controller 300, 400, and a function of determining whether the write data is to be stored in the SLC 420 or the MLC 440.

상기 선행기술은 (a) 호스트의 데이터 기록 요청을 인가 받아 기록 요청된 데이터가 대용량의 데이터인지 여부를 판단하는 단계; (b) 기록 요청된 데이터가 대용량의 데이터가 아니라고 판단된 경우에 SLC 영역에 데이터 기록할 공간이 있는지 여부를 판단하는 단계; (c) SLC 영역에 상기 데이터 기록할 공간이 없다고 판단된 경우에 가비지 수집을 수행하여 SLC 영역의 각 블록들에 저장된 유효 데이터를 수집해서 MLC 영역의 데이터와 합병하는 단계; (d) MLC 영역의 블록에 상기 합병된 데이터를 저장하고 소정의 SLC 블록에 저장된 데이터를 삭제하여 데이터 기록할 공간을 확보하는 단계를 포함하는 것을 특징으로 한다. 이에 따라, 데이터 연산 처리 속도 및 내구성이 향상되고 가격대비 큰 저장 공간을 확보할 수 있으며, SLC 영역의 전체 블록이 균등하게 사용하고 삭제되어 저장된 데이터의 안정성을 보장할 수 있는 효과가 있다.The prior art includes: (a) determining whether the data requested to be recorded is a large-capacity data by receiving a data recording request of the host; (b) determining whether there is a space to record data in the SLC area when it is determined that the data requested to be recorded is not a large amount of data; (c) collecting valid data stored in each block of the SLC area and merging with data of the MLC area by performing garbage collection when it is determined that there is no space to record the data in the SLC area; (d) storing the merged data in a block of the MLC area and deleting data stored in a predetermined SLC block to secure a space for data recording. As a result, data processing speed and durability are improved, a large storage space can be ensured for a price, and all blocks of the SLC area are uniformly used and deleted to ensure the stability of stored data.

그러나, 상기 선행기술에서도 기록 요청된 데이터가 대용량의 데이터인지 여부에 따라 SLC에 저장할지, MLC에 저장할지를 결정하는 데에 머무르고 있어, SLC와 MLC, 나아가서는 TLC까지 적용하기에는 각각의 디바이스에 대한 쓰기 비용, 쓰기/지우기 수명에 대한 고려가 미흡한 상황이다.However, in the above-mentioned prior art, it is still necessary to determine whether the data requested to be recorded is stored in the SLC or the MLC depending on whether the data is large-capacity data. In order to apply the SLC and the MLC or the TLC, Cost, and write / erase life.

이와 같은 종래의 SLC/MLC 하이브리드 플래시 메모리의 관리 기술은, 주로 데이터의 업데이트 빈도, 데이터의 크기나 속성 등을 이용하여 SLC 와 MLC 중 어느 쪽에 데이터를 할당할 지에 대한 연구에 초점을 맞추고 있다. 그러나, 이 같은 종래 기술은 SLC와 MLC의 읽기/쓰기/지우기 성능의 비대칭이라는 가장 기본적인 특징만을 고려하고 있는 단계에 불과하여, 사용자가 저장을 요구하는 데이터에 따른 매 순간의 플래시 메모리의 변화 시 효과적으로 대응하는 데에는 한계가 있다.The conventional management technique of the SLC / MLC hybrid flash memory mainly focuses on research on how to allocate data to the SLC and the MLC by using the update frequency of the data, the size and the attribute of the data. However, such prior art technology only takes into account only the most basic features of asymmetry of the read / write / erase performance of the SLC and the MLC. Thus, when the flash memory is changed at every moment according to the data requested by the user, There is a limit to respond.

따라서, SLC, MLC와 TLC 등의 쓰기 성능 등의 특징을 체계적으로 모델링하고, 상황에 맞는 하이브리드 플래시 메모리의 관리 기법이 필요하게 되었다.Therefore, it is necessary to systematically model the characteristics of write performance such as SLC, MLC and TLC, and to design a hybrid flash memory management method suitable for the situation.

한국등록특허 10-1026634호 (등록일 2011, 03. 25)Korean Registered Patent No. 10-106634 (Registered on Mar. 25, 2011)

본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 성능 최적화를 위해 수명 모델을 정의한다. 본 발명은 수명 모델에서 최적의 해를 찾아 전체 플래시 메모리의 수명을 최대로 하는 Hot과 Cold 데이터를 할당하는 기법을 제시하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems of the prior art, and a lifetime model is defined to optimize performance. An object of the present invention is to provide a technique for allocating hot and cold data that maximizes the lifetime of the entire flash memory by finding an optimal solution in the lifetime model.

또한, 본 발명에서는 수명 모델 이외에도 쓰기 비용 모델을 정의하며, 쓰기 비용 모델에서 최적의 해를 찾아 Hot과 Cold 데이터를 각 플래시 메모리에 할당하는 기법도 제시한다. 또한 본 발명은 전체 플래시 메모리의 수명과 성능의 가중치에 따라 그 둘 사이에 적절한 절충이 가능한 관리 기법도 제시하는 것을 목적으로 한다.In addition, the present invention defines a write cost model in addition to the life model, and also suggests a technique of allocating hot and cold data to each flash memory by finding an optimal solution in the write cost model. Another object of the present invention is to provide a management technique capable of making an appropriate trade-off between the lifetime and the weight of performance of the entire flash memory.

하이브리드 SSD는 SLC, MLC, TLC 플래시 메모리를 포함하는 다양한 조합으로 구성될 수 있다. SLC, MLC, TLC 각각은 FTL의 가비지 콜렉션에 따른 쓰기/지우기 오버헤드가 상이하고, 이에 따라 최대 쓰기/지우기 가능 횟수에 따른 수명의 감소 요인 또한 상이하다.Hybrid SSDs can be configured in various combinations including SLC, MLC, TLC flash memory. Each of SLC, MLC, and TLC has different write / erase overhead due to garbage collection of the FTL, and thus also has a factor of decreasing the lifetime according to the maximum number of write / erase cycles.

이에 따라, 본 발명은 플래시 메모리의 특성을 고려하여 쓰기 비용 모델을 제시하고, 쓰기 비용에 따라 하이브리드 SSD의 수명이 최적화될 수 있는 수명 모델을 제시하는 것을 목적으로 한다. 이를 통하여 제시된 비용 모델과 수명 모델 사이에 적절한 타협점을 제시하여 쓰기 비용과 수명이 적절히 유지될 수 있도록 하는 관리 방법을 제공하는 것을 목적으로 한다.Accordingly, it is an object of the present invention to propose a write cost model considering the characteristics of a flash memory and to propose a life model in which the life of the hybrid SSD can be optimized according to the write cost. The purpose of this study is to provide a management method that can provide appropriate compromise between the proposed cost model and the lifetime model so that the writing cost and the life span can be properly maintained.

상기와 같은 목적을 달성하기 위해서, 본 발명의 일 실시예에 따른 제1 디바이스(SLC)와 제2 디바이스(MLC or TLC)를 포함하는 수명 모델 기반의 하이브리드 플래시 메모리 관리 장치는 제1 디바이스 및 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기 및 제1 디바이스의 저장 공간의 크기 대비 사용률을 이용하여 하이브리드 플래시 메모리의 수명 모델을 획득하는 수명 모델 생성부와 수명 모델을 이용하여 제1 디바이스의 최적화된 사용률을 획득하는 수명 모델 기반 최적화부를 포함한다.In order to achieve the above object, a life-model-based hybrid flash memory management device including a first device (SLC) and a second device (MLC or TLC) according to an embodiment of the present invention includes a first device A lifetime model generating unit for acquiring a lifetime model of the hybrid flash memory by using the number of remaining erasable times of each of the two devices, the size of the storage space and the usage ratio of the size of the storage space of the first device, And a lifetime model-based optimization unit for obtaining an optimized utilization rate.

이때, 수명 모델 생성부는 제1 디바이스의 사용률을 이용하여 제1 디바이스의 하이브리드 플래시 메모리 전체에 대한 누적 쓰기 빈도 함수를 계산하여, 제1 디바이스의 누적 쓰기 빈도 함수를 변수로 하는 수명 모델을 생성하는 것을 특징으로 한다.At this time, the lifetime model generation unit calculates a cumulative write frequency function for the entire hybrid flash memory of the first device using the utilization rate of the first device, and generates a life model having a cumulative write frequency function of the first device as a variable .

또한, 제1 디바이스 및 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기 및 제1 디바이스의 저장 공간의 크기 대비 사용률을 이용하여 하이브리드 플래시 메모리의 수명 모델을 획득하는 수명 모델 생성부, 제1 디바이스 및 제2 디바이스 각각에 대하여, 저장 공간의 크기 대비 사용률에 따른 쓰기 비용 모델을 획득하고, 제1 디바이스 및 제2 디바이스 각각에 대하여 얻어진 쓰기 비용 모델 각각을 이용하여, 제1 디바이스 및 제2 디바이스 각각의 누적 쓰기 빈도 함수가 고려된 하이브리드 플래시 메모리의 쓰기 비용 모델을 획득하는 쓰기 비용 모델링부 및 하이브리드 플래시 메모리의 수명 모델과 하이브리드 플래시 메모리의 쓰기 비용을 이용하여 제1 디바이스의 최적화된 사용률을 획득하는 최적화부를 포함한다.A lifetime model generation unit for acquiring a lifetime model of the hybrid flash memory by using the number of times of erasure of each of the first device and the second device, the size of the storage space and the usage ratio of the size of the storage space of the first device, A write cost model for each of the device and the second device according to the usage ratio of the storage space is obtained, and the write cost model for each of the first device and the second device is used, A writing cost modeling unit for obtaining a writing cost model of a hybrid flash memory in which each cumulative writing frequency function is considered, and a writing cost modeling unit for obtaining an optimized usage rate of the first device using the lifetime model of the hybrid flash memory and the writing cost of the hybrid flash memory And an optimization unit.

본 발명의 일 실시예에 따른 하이브리드 플래시 메모리의 관리 방법은, 제1 디바이스 및 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기 및 제1 디바이스의 저장 공간의 크기 대비 사용률을 이용하여 하이브리드 플래시 메모리의 수명 모델을 획득하는 단계 및 수명 모델을 이용하여 제1 디바이스의 최적화된 사용률을 획득하는 단계를 포함하여 구성할 수 있다.A method for managing a hybrid flash memory according to an exemplary embodiment of the present invention is a method for managing a hybrid flash memory by using a hybrid flash memory using the number of times that the first device and the second device can be erased and the size of the storage space, Acquiring a lifetime model of the memory, and acquiring an optimized utilization rate of the first device using the lifetime model.

또한, 제1 디바이스 및 상기 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기 및 제1 디바이스의 저장 공간의 크기 대비 사용률을 이용하여 하이브리드 플래시 메모리의 수명 모델을 획득하는 단계; 제1 디바이스 및 제2 디바이스 각각에 대하여, 저장 공간의 크기 대비 사용률에 따른 쓰기 비용 모델을 획득하는 단계; 제1 디바이스 및 제2 디바이스 각각에 대하여 얻어진 쓰기 비용 모델 각각을 이용하여, 제1 디바이스 및 제2 디바이스 각각의 누적 쓰기 빈도 함수가 고려된 하이브리드 플래시 메모리의 쓰기 비용 모델을 획득하는 단계; 및 하이브리드 플래시 메모리의 수명 모델과 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 제1 디바이스의 최적화된 사용률을 획득하는 단계를 포함하여 구성할 수 있다.Acquiring a lifetime model of the hybrid flash memory by using the number of times that the first device and the second device can be erased, the size of the storage space, and the usage ratio of the size of the storage space of the first device; Acquiring a write cost model for each of the first device and the second device, the write cost model corresponding to a usage ratio of the storage space; Obtaining a write cost model of a hybrid flash memory in which a cumulative write frequency function of each of the first device and the second device is taken into consideration using each of the write cost models obtained for the first device and the second device; And acquiring an optimized utilization rate of the first device using the lifetime model of the hybrid flash memory and the write cost model of the hybrid flash memory.

본 발명에 따르면 SLC(single-level cell), MLC(multi-level cell), TLC(Triple level cell) 등 다양한 종류의 플래시 메모리 디바이스를 가지는 하이브리드 플래시 메모리에서 수명 모델과 쓰기 비용을 이용하여 성능과 수명을 최적화하여 SLC에 비하여 MLC 및 TLC가 겪고 있는 저 성능 및 저 수명 문제를 해결할 수 있다.According to the present invention, in a hybrid flash memory having various types of flash memory devices such as single-level cell (SLC), multi-level cell (MLC), and triple level cell (TLC) Can solve the low performance and low life problems of MLC and TLC compared with SLC.

또한, 본 발명은 하이브리드 플래시 메모리를 사용할 수 있는 모든 장치 예를 들어, 휴대폰, 태블릿 PC, 노트북, MP3 플레이어, PDA, 포터블 컴퓨터(portable computer) 등에 적용 가능하며, 하이브리드 플래시 메모리의 용량이 증가함에 따라 적용 가능성이 높아질 수 있다. 이에 따라, 하이브리드 플래시 메모리의 전체적인 성능 향상에 의하여 하이브리드 플래시 메모리를 사용하는 장치의 성능을 향상시킬 수 있다. 여기에서 언급하는 하이브리드 플래시 메모리는 SLC-TLC, SLC-MLC, MLC-TLC, SLC-MLC-TLC 등의 가능한 다양한 조합으로 이루어지는 하이브리드 SSD(Solid State Disk) 또는 이들 다양한 이종의 칩을 포함하는 플래시 메모리 저장 장치를 모두 포함하는 개념이다.Further, the present invention can be applied to all devices capable of using a hybrid flash memory, for example, a mobile phone, a tablet PC, a notebook, an MP3 player, a PDA, a portable computer and the like. As the capacity of a hybrid flash memory increases The applicability may be increased. Accordingly, performance of the device using the hybrid flash memory can be improved by improving the overall performance of the hybrid flash memory. The hybrid flash memory referred to herein may be a hybrid SSD (Solid State Disk) comprising various possible combinations of SLC-TLC, SLC-MLC, MLC-TLC, SLC-MLC-TLC, And a storage device.

도 1은 종래기술인 하이브리드 플래시 메모리의 일 실시예를 나타낸 블록도이다.
도 2는 일반적인 싱글 레벨 셀(SLC)과 멀티 레벨 셀(MLC) 및 트리플 레벨 셀(TLC)에 저장되는 데이터를 비교한 도면이다.
도 3은 본 발명의 일 실시예에 따른 하이브리드 플래시 메모리의 관리 시스템을 도시한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 수명 모델 기반의 하이브리드 플래시 메모리의 관리 방법을 나타낸 동작 흐름도이다.
도 5는 본 발명의 다른 일 실시예에 따른 쓰기 비용과 수명 모델을 이용하여 하이브리드 플래시 메모리를 관리하는 방법을 나타낸 동작 흐름도이다.
도 6은 도 5의 일 단계 - 제1 디바이스의 최적화된 사용률을 획득하는 단계 - 의 일 실시예를 더욱 상세히 나타내는 동작 흐름도이다.
도 7은 도 6의 일 단계 - 제1 최적화 사용률과 제2 최적화 사용률을 이용하여 제1 디바이스의 최적화된 사용률을 획득하는 단계 - 의 일 실시예를 더욱 상세히 나타내는 동작 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 하이브리드 플래시 메모리 관리 방법에서 사용률과 누적 쓰기 빈도 함수, 쓰기 비용, 수명 모델의 관계의 일 실시예를 도시하는 도면이다.
도 9는 본 발명의 다른 일 실시예에 따른 하이브리드 플래시 메모리의 관리 방법에서, 최적화 과정의 개념적인 일 실시예를 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 수명 모델 기반의 하이브리드 플래시 메모리 관리 장치에 대한 개념적인 구성을 나타낸 블록도이다.
도 11은 본 발명의 다른 일 실시예에 따른 수명 모델 및 쓰기 비용 기반의 하이브리드 플래시 메모리 관리 장치에 대한 개념적인 구성을 나타낸 블록도이다.
도 12는 도 11의 일 구성요소에 대한 개념적인 구성을 나타낸 블록도이다.
1 is a block diagram showing an embodiment of a conventional hybrid flash memory.
FIG. 2 is a diagram comparing data stored in a general single-level cell (SLC), a multi-level cell (MLC), and a triple-level cell (TLC).
3 is a block diagram illustrating a management system of a hybrid flash memory according to an embodiment of the present invention.
4 is a flowchart illustrating a method of managing a hybrid flash memory based on a lifetime model according to an embodiment of the present invention.
5 is a flowchart illustrating a method of managing a hybrid flash memory using a write cost and a life model according to another embodiment of the present invention.
Figure 6 is an operational flow diagram illustrating in more detail one embodiment of the one step of Figure 5-obtaining the optimized utilization of the first device.
FIG. 7 is an operation flow diagram illustrating in detail one embodiment of the step of obtaining the optimized utilization rate of the first device using the one-stage optimization utilization rate and the second optimization utilization rate of FIG. 6;
FIG. 8 is a diagram illustrating an embodiment of a relationship between a usage rate, a cumulative write frequency function, a write cost, and a life model in a hybrid flash memory management method according to an embodiment of the present invention.
9 is a conceptual diagram of an optimization process in a method of managing a hybrid flash memory according to another embodiment of the present invention.
FIG. 10 is a block diagram illustrating a conceptual configuration of a life-model-based hybrid flash memory management apparatus according to an embodiment of the present invention.
11 is a block diagram illustrating a conceptual configuration of a life time model and a write cost based hybrid flash memory management apparatus according to another embodiment of the present invention.
12 is a block diagram showing a conceptual configuration of one component of Fig.

상기 목적 외에 본 발명의 다른 목적 및 특징들은 첨부 도면을 참조한 실시 예에 대한 설명을 통하여 명백히 드러나게 될 것이다.Other objects and features of the present invention will become apparent from the following description of embodiments with reference to the accompanying drawings.

본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.However, the present invention is not limited to or limited by the embodiments. Like reference symbols in the drawings denote like elements.

본 발명에서, 하이브리드 플래시 메모리 또는 SSD(Solid State Disk)는 SLC, MLC, TLC 플래시 메모리를 포함하는 다양한 조합으로 구성될 수 있다.
In the present invention, a hybrid flash memory or a solid state disk (SSD) may be configured in various combinations including an SLC, an MLC, and a TLC flash memory.

도 2는 일반적인 싱글 레벨 셀(SLC)과 멀티 레벨 셀(MLC) 및 트리플 레벨 셀(TLC)에 저장되는 데이터를 개념적으로 도시한 것이다.FIG. 2 conceptually shows data stored in a general single-level cell (SLC), a multi-level cell (MLC) and a triple-level cell (TLC).

싱글 레벨 셀(SLC)의 낸드 플래시 메모리는, 하나의 셀(Cell)에 충전된 전하(Charge)의 유무(1,0)에 따라 1 비트로 데이터를 기록하고, 멀티 레벨 셀(MLC)의 낸드 플래시 메모리는, 하나의 셀(Cell)에 충전된 전하(Charge)의 변화(11, 10, 01, 00)에 따라 2 비트로 데이터를 기록하게 된다.The NAND flash memory of the single-level cell (SLC) records data in one bit according to the presence or absence (1, 0) of the charge charged in one cell (Cell) The memory writes data in two bits according to the change (11, 10, 01, 00) of the charge charged in one cell (Cell).

또한, 트리플 레벨 셀(TLC)의 낸드 플래시 메모리는, 하나의 셀(Cell)에 충전된 전하(Charge)의 변화(111, 110, 101, 100, 011, 010, 001, 000)에 따라 3 비트로 데이터를 기록하게 된다. The NAND flash memory of the triple level cell TLC has 3 bits according to the change of the charge (111, 110, 101, 100, 011, 010, 001, 000) charged in one cell Data is recorded.

또한, 싱글 레벨 셀(SLC)은, 1 개의 기준(Reference) 전압을 적용하여, 1 비트(1,0)로 데이터를 기록하고, 멀티 레벨 셀(MLC)은, 3 개의 기준 전압을 적용하여, 2 비트(11,10,01,00)로 데이터를 기록하며, 트리플 레벨 셀(TLC)은, 7 개의 기준 전압을 적용하여, 3 비트 (111,110,101,100,011,010,001,000)로 데이터를 기록하게 된다.The single-level cell SLC records one bit (1, 0) of data by applying one reference voltage, and the multi-level cell MLC applies three reference voltages, The data is written in 2 bits (11, 10, 01, 00). The triple level cell TLC applies 7 reference voltages and records data in 3 bits (111, 110, 101, 100, 011,

도 3은 본 발명의 일 실시예에 따른 하이브리드 플래시 메모리의 관리 시스템을 도시한 것이다.FIG. 3 illustrates a management system of a hybrid flash memory according to an embodiment of the present invention.

본 발명 실시예의 하이브리드 플래시 메모리는 SLC, MLC, TLC 로 이루어진 다양한 조합에 적용될 수 있다. 설명의 편의 상 도 3에서 SLC SSD 를 제1 디바이스, TLC SSD 를 제2 디바이스로 부르기로 한다.The hybrid flash memory of the embodiment of the present invention can be applied to various combinations of SLC, MLC, and TLC. For convenience of explanation, the SLC SSD is referred to as a first device and the TLC SSD as a second device in FIG.

도 3에서는 SLC SSD를 제1 디바이스, TLC SSD를 제2 디바이스로 도시한 실시예가 도시되었으나, 제1 디바이스는 SLC SSD 또는 MLC SSD일 수 있고, 제2 디바이스는 MLC SSD 또는 TLC SSD 일 수 있다. 즉, 제1 디바이스가 제2 디바이스보다 읽기/쓰기 성능이 우수하고 수명이 길도록 선택될 수 있다. 이하 하이브리드 SSD 컨트롤러의 모듈들은 제1 디바이스가 제2 디바이스보다 우수한 성능과 긴 수명을 가진다는 가정 하에 설명될 것이다.In FIG. 3, an SLC SSD is shown as a first device and a TLC SSD is shown as a second device. However, the first device may be an SLC SSD or an MLC SSD, and the second device may be an MLC SSD or a TLC SSD. That is, the first device can be selected to have a longer read / write performance and a longer life than the second device. Hereinafter, the modules of the hybrid SSD controller will be described on the assumption that the first device has better performance and longer lifetime than the second device.

하이브리드 SSD 컨트롤러의 기본 구조는 파일 시스템(FS, File System) 또는 운영 체제(OS, Operating System)로부터 전달되는 읽기 또는 쓰기 요청(I/O Request)을 hot 데이터 또는 cold 데이터로 분류하는 Data Classifier, 주어진 workload에 따라 최적의 사용률을 계산하고 관리하는 분석 모듈(Analyzer), 및 제1 디바이스(SLC SSD)와 제2 디바이스(TLC SSD) 사이에서 데이터를 이동시키는 Data Migrator 를 포함한다. 이들 모듈은 소프트웨어 모듈의 형태로 구현될 수 있으며, 실시예에 따라서는 해당 기능을 포함하는 하드웨어 모듈의 형태로 구현될 수도 있다.The basic structure of a hybrid SSD controller is a Data Classifier that classifies a read or write request (I / O Request) from a file system (FS) or an operating system (OS) an analyzer module for calculating and managing an optimal usage rate according to workload, and a data migrator for moving data between a first device (SLC SSD) and a second device (TLC SSD). These modules may be implemented in the form of a software module, and in some embodiments may be implemented in the form of a hardware module containing the function.

Data Classifier는 I/O Request의 workload 패턴을 관측하고, 데이터를 hot 데이터와 cold 데이터로 분류한다. 이와 같은 알고리즘에 대해서는 종래의 FTL 에 관한 다수의 선행기술에 다양한 경우가 소개되었다. 예를 들어, 데이터의 크기, 데이터의 갱신 빈도 등에 따라 데이터의 크기가 작거나 자주 갱신되는 데이터는 hot 데이터로, 데이터의 크기가 크고 자주 갱신되지 않는 데이터는 cold 데이터로 분류되기도 한다. 일반적으로 hot 데이터로 분류된 데이터는 제1 디바이스(SLC SSD)로 저장하고, cold 데이터로 분류된 데이터는 제2 디바이스(TLC SSD)로 저장될 수 있다.The Data Classifier observes the workload pattern of the I / O request and classifies the data into hot data and cold data. Various algorithms have been introduced for such algorithms in a number of prior art related to conventional FTLs. For example, data whose size is small or frequently updated is hot data depending on the size of data and the update frequency of data, and data that is large in size and not frequently updated is classified as cold data. In general, data classified as hot data may be stored in the first device (SLC SSD), and data classified as cold data may be stored in the second device (TLC SSD).

Data Classifier의 데이터 분류 기준으로는 이미 많은 선행기술이 제안되었으며, 본 발명에서는 Data Classifier의 일 실시예로서 주기적으로 접근 빈도(frequency)를 계수(count)하여 hot 데이터와 cold 데이터를 분류하는 방법이 이용될 수 있다. 일정 주기 동안 접근 빈도를 계수한 후, 계수 결과를 토대로 데이터를 분류하고, 이전까지의 계수 결과를 리셋한 후 다시 다음 주기 동안 접근 빈도를 계수할 수 있다.As a data classification standard of the data classifier, many prior arts have already been proposed. In the present invention, a method of classifying the hot data and the cold data by counting the frequency of the access period (frequency) periodically as an embodiment of the data classifier . After counting the frequency of access for a period of time, the data can be classified based on the result of the counting, and the frequency of the accesses can be counted again for the next period after resetting the previous counting result.

데이터가 제1 디바이스(SLC SSD)에 저장되는지, 또는 제2 디바이스(TLC SSD)에 저장되는지에 대한 정보 및 FTL 매핑 관리에 필요한 매핑 정보는 이미 당업자에게 알려진 공지의 다양한 매핑 관리 기술에 의하여 구현되고 관리될 수 있다. 예를 들어, 페이지 단위의 페이지 매핑 FTL, 블록 단위의 블록 매핑 FTL, 블록 매핑과 페이지 매핑의 혼합 형태로서 다양한 형태의 하이브리드 매핑 FTL 관리 기법이 존재한다. The information about whether data is stored in the first device (SLC SSD) or the second device (TLC SSD) and the mapping information necessary for FTL mapping management is implemented by various known mapping management techniques already known to those skilled in the art Can be managed. For example, there are various types of hybrid mapping FTL management techniques such as a page mapping FTL on a page basis, a block mapping FTL on a block basis, and a block mapping and a page mapping.

또한 본 발명에서는 제1 디바이스와 제2 디바이스 각각의 매핑 FTL 정보를 개별적으로 저장하여 관리할 수 있다. 예를 들어 제1 디바이스에 저장된 물리 페이지와 논리 페이지 간의 매핑 정보는 제1 디바이스에 백업되거나 FTL의 메모리에 저장되고, 제2 디바이스에 저장되는 데이터에 대한 매핑 정보는 제2 디바이스에 백업되거나 FTL의 메모리에 저장될 수 있다. Also, in the present invention, the mapping FTL information of the first device and the second device can be individually stored and managed. For example, the mapping information between the physical page and the logical page stored in the first device is backed up in the first device or stored in the memory of the FTL, and the mapping information on the data stored in the second device is backed up to the second device, Can be stored in memory.

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 디바이스로 데이터를 이동하여 최적화 조건이 충족되도록 하이브리드 플래시 메모리를 관리할 수 있다.The data migrator moves data between the first device and the second device so that the data is transferred to the first device or the second device via the data classifier and the analyzer, and then the optimum performance and lifetime are maintained according to the analysis result of the analyzer can do. The analyzer can determine the usage rate of each device for optimization of the hybrid flash memory and allocate the I / O request to the first device and the second device accordingly, as described with reference to FIG. 4 through FIG. However, when the I / O request is rapidly transmitted and the workload of the first device and the second device changes, the optimization condition determined by the analyzer may not be naturally satisfied. At this time, the Data Migrator can move the data from the first device to the second device according to the optimization condition determined by the analyzer, or conversely move the data from the second device to the first device to manage the hybrid flash memory so that the optimization condition is satisfied have.

Data Migrator 가 데이터를 이동시키는 데에는 추가적인 비용(cost)이 발생할 수 있으므로, 본 발명 실시예의 Data Migrator 는 수동적 접근법(passive approach)을 택할 수 있다. 예를 들어, 제2 디바이스(TLC SSD)에 hot 데이터가 저장되어 있었다면, 이러한 hot 데이터는 상대적으로 빈번하게 액세스될 것이므로 Data Migrator 는 제2 디바이스에 저장된 데이터가 액세스되면 이를 hot 데이터로 간주하여 이동시킬 수 있다.Since the data migrator may incur additional costs in moving the data, the data migrator of the embodiment of the present invention may adopt a passive approach. For example, if hot data is stored in the second device (TLC SSD), since such hot data will be accessed relatively frequently, the data migrator regards the data stored in the second device as hot data and moves it .

반대로, 제1 디바이스(SLC SSC)에 cold 데이터가 저장되어 있었다면, cold 데이터는 상대적으로 액세스되는 빈도가 매우 낮아 최적화 조건을 수동적 접근법만으로는 충족시키기 어려운 상황이 발생할 수 있다. 이 경우에는 미리 정해진 일정 시간이 경과한 후 제1 디바이스에서 액세스되지 않은 데이터 중 일부를 선택하여 cold 데이터로 간주하고, 백그라운드 환경에서 cold 데이터를 이동시킬 수 있다.On the other hand, if cold data is stored in the first device (SLC SSC), the frequency of accessing cold data is relatively low, which may make it difficult to satisfy the optimization condition only by a passive approach. In this case, some of the data not accessed by the first device after a predetermined period of time has passed may be regarded as cold data, and the cold data may be moved in the background environment.

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 데이터를 분류하는 데에 그친다. Unlike conventional hard disk drives (HDDs) that support in-place writing, the role of FTL is important because of the restriction of performing erase before write operations before writing in flash memory. Same as. In addition, due to recent developments in technology, the storage density of flash memory has become very high as MLC and TLC technologies, which have higher integration than SLC, have increased. However, MLC and TLC have lower performance (read / write performance) . TLC has lower performance and longer life than MLC. SLC, MLC, and TLC are combined with each other to optimize the performance of the hybrid storage medium. However, most of the conventional techniques are used to classify hot data and cold data based on data access frequency, size, basic attributes, and the like.

본 발명에서는 FTL 내에 Analyzer를 두어 종합적인 하이브리드 플래시 메모리 장치의 성능에 대한 비용 모델(특히 쓰기 비용 모델), 수명 모델을 분석하고 이에 따른 최적화 기법을 제안한다.In the present invention, an analyzer is placed in the FTL to analyze the cost model (especially the write cost model) and the lifetime model for the performance of a comprehensive hybrid flash memory device and propose an optimization technique therefor.

본 발명 실시예에서 제안하는 수명 모델과 쓰기 비용 모델은 저장된 데이터와 OPS(Over-Provisioned Space), 즉 가비지 콜렉션(Garbage Collection)을 위해 예비된 공간의 비율에 따른 사용률(utilization) u를 기반으로 도출된다. 사용률은 도 3에 도시된 것처럼 제1 디바이스(SLC)와 제2 디바이스(TLC) 각각에 대하여 정의될 수 있다. 보다 고도화된 작업을 위하여 사용률 u는 약간의 변형이 가미될 수 있다.The lifetime model and the write cost model proposed in the embodiment of the present invention are derived based on utilization data u according to the ratio of the space reserved for garbage collection and OPS (Over-Provisioned Space) do. The usage rate can be defined for each of the first device SLC and the second device TLC as shown in Fig. For a more sophisticated operation, the utilization u can be modified to some extent.

예를 들어, SLC가 모두 8개의 블록으로 구성되어 있고 그 중 3개의 논리 블록이 사용되고 있는 상태라면 사용률 u는 3/(3+5) 로 나타내어질 수 있다. 만일 계산의 편의와 논리 전개의 일관성 유지를 위하여 약간의 규칙을 가미한다면 가비지 콜렉션을 위하여 반드시 유지되어야 하는 최소한의 미사용 블록(empty block)의 수를 1이라 했을 때, 사용률 u는 3/(3+5-1) 로 변형될 수도 있다. For example, if SLC is composed of 8 blocks and 3 of them are used, the utilization rate u can be expressed as 3 / (3 + 5). If the number of empty blocks that must be maintained for garbage collection is 1, then the usage rate u is 3 / (3+ 5-1).

플래시 메모리 장치를 사용함에 따라 논리 블록과 물리 블록 간의 매핑이 복잡해지고 미사용 블록의 수가 하나만 남으면 가비지 콜렉션을 수행하게 된다. 가비지 콜렉션 시 유효한 페이지(valid page)의 수가 가장 작은 블록을 빅팀 블록(victim block)으로 지정하여 유효한 페이지만을 미사용 블록으로 카피한다. 이 때 빅팀 블록의 사용률 u' 은 디바이스 전체의 사용률 u와 아래 수학식 1과 같은 관계를 가진다.The mapping between the logical block and the physical block is complicated by the use of the flash memory device, and when only one unused block is left, the garbage collection is performed. When a garbage is collected, a block having the smallest number of valid pages is designated as a victim block, and only a valid page is copied into an unused block. At this time, the usage rate u 'of the big-team block has the relationship as shown in Equation 1 below with the utilization rate u of the entire device.

[수학식 1][Equation 1]

Figure pat00001
Figure pat00001

수학식 1의 역함수로서 u를 u' 으로 변환하는 함수를 편의 상 U(u)라 정의하면, 가비지 콜렉션의 비용, 즉, 미사용 블록을 소거하고(블록을 소거하여 미사용 블록으로 만들고), 빅팀 블록의 유효한 페이지를 미사용 블록에 카피하는 비용은 아래 수학식 2와 같이 나타내어질 수 있다.If the function of converting u to u 'as an inverse function of Equation (1) is defined as a convenience function U (u), the cost of garbage collection, that is, erasing the unused block (erasing the block into an unused block) The cost of copying the valid page of the unused block into the unused block can be expressed as Equation 2 below.

[수학식 2]&Quot; (2) "

Figure pat00002
Figure pat00002

CGC(u)는 사용률을 변수로 하는 가비지 콜렉션의 비용, NP는 블록 내의 페이지의 수, CCP는 유효한 카피하는 (쓰기) 비용, CE는 한 블록을 소거하는 비용을 의미한다.C GC (u) is the cost of garbage collection with the utilization as a variable, N P is the number of pages in the block, C CP is the effective copying (writing) cost, and C E is the cost of erasing one block.

한번의 기본적인 가비지 콜렉션이 수행되면, [U(u) NP] 만큼의 유효한 페이지가 저장되고 [(1 - U(u)) NP] 만큼의 클린 페이지(clean page, 다른 유효한 페이지를 저장할 수 있는 빈 공간)이 생성된다. CPROG가 플래시 메모리의 페이지 당 프로그램 비용이라고 하면, 쓰기 요청에 대하여 가비지 콜렉션으로 인한 평균적인 오버헤드를 반영한 쓰기 비용은 아래 수학식 3과 같다.Once a basic garbage collection has been performed, a valid page of [U (u) N P ] is stored and a clean page of [(1 - U (u)) N P ] Is created. If C PROG is the program cost per page of the flash memory, the write cost reflecting the average overhead due to the garbage collection for the write request is expressed by Equation 3 below.

[수학식 3]&Quot; (3) "

Figure pat00003
Figure pat00003

이하에서는 도 4 내지 도 12를 통하여 분석 모듈(Analyzer)의 동작 및 역할을 중심으로 Data Migrator 의 동작 및 역할 일부를 더욱 상세히 설명한다.Hereinafter, the operations and roles of the data migrator will be described in more detail with reference to FIGS. 4 through 12, focusing on the operation and role of the analyzer.

도 4는 본 발명의 일 실시예에 따른 수명 모델 기반의 하이브리드 플래시 메모리의 관리 방법을 나타낸 동작 흐름도이다.4 is a flowchart illustrating a method of managing a hybrid flash memory based on a lifetime model according to an embodiment of the present invention.

도 4를 참조하면, 수명 모델 기반의 하이브리드 플래시 메모리의 관리 방법은 하이브리드 플래시 메모리에 대한 사용률(utilization)과 하이브리드 플래시 메모리 전체에 대한 누적 쓰기 빈도 함수(H(u))의 관계를 도출한다(S410). Referring to FIG. 4, a method of managing a hybrid flash memory based on a lifetime model derives a relation between a utilization of a hybrid flash memory and a cumulative write frequency function H (u) for the entire hybrid flash memory (S410 ).

이때, 누적 쓰기 빈도 함수 H(u)는 하이브리드 플래시 메모리 전체(SLC와 TLC를 모두 포함함)에 대하여 데이터의 접근 빈도를 고려하여 계산할 수 있다.At this time, the cumulative write frequency function H (u) can be calculated considering the access frequency of data for the entire hybrid flash memory (including both SLC and TLC).

제1 디바이스(SLC)의 저장 공간의 크기를 SSLC, 저장된 데이터의 크기를 DSLC, 제2 디바이스(TLC)의 저장 공간의 크기를 STLC, 저장된 데이터의 크기를 DTLC라 정의하기로 한다. 제1 디바이스의 사용률 uSLC는 uSLC = DSLC / SSLC, 제2 디바이스의 사용률 uTLC는 uTLC = DTLC / STLC 로 나타낼 수 있다. 제1 디바이스와 제2 디바이스 각각에 대하여 데이터가 전혀 저장되지 않은 경우는 0이며, 데이터가 완전히 가득 차 있는 상태에서는 사용률이 1이다. The size of the storage space of the first device SLC is defined as S SLC , the size of the stored data is defined as D SLC , the size of the storage space of the second device TLC is defined as S TLC , and the size of the stored data is defined as D TLC . The utilization rate uSLC of the first device u SLC = D SLC / S SLC , the utilization rate u TLC of the second device u TLC = D TLC / S TLC . 0 " when no data is stored for each of the first device and the second device, and " 1 "

누적 쓰기 빈도 함수 (cumulative write frequency function) H(u)는 전체 I/O Request 중에서 각각의 디바이스에 데이터가 실제로 저장되는 hit 비율을 의미한다. 이 경우 누적 쓰기 빈도 함수는 사용률 u와 저장 공간의 크기 S, 저장된 데이터의 크기 D 등에 영향을 받으며, 제1 디바이스와 제2 디바이스가 공존하는 하이브리드 플래시 메모리에서는 서로의 사용률에도 영향을 받을 것이다.The cumulative write frequency function H (u) denotes the hit ratio at which data is actually stored in each device among all I / O requests. In this case, the cumulative write frequency function is affected by the usage rate u, the size S of the storage space, the size D of the stored data, and the usage rate of each other in the hybrid flash memory in which the first device and the second device coexist.

제1 디바이스의 누적 쓰기 빈도 함수 HSLC와 제2 디바이스의 누적 쓰기 빈도 함수 HTLC 사이에는 다음의 수학식 4의 관계가 성립한다. The relationship of the following expression (4) is established between the cumulative write frequency function H SLC of the first device and the cumulative write frequency function H TLC of the second device.

[수학식 4]&Quot; (4) "

HSLC + HTLC = 1H SLC + H TLC = 1

제1 디바이스의 저장 공간의 크기 SSLC와 제2 디바이스의 저장 공간의 크기 STLC가 정해져 있기 때문에 OS 또는 FS 로부터 하이브리드 플래시 메모리에 대한 총 데이터 저장 크기가 정해진 경우에는, uSLC가 정해지면 uTLC도 결정되는 것으로 볼 수 있다. 이에 따라 제1 디바이스의 사용률 uSLC로부터 제1 디바이스에 대한 누적 쓰기 빈도 함수 HSLC(uSLC)를 구할 수 있다. 하이브리드 플래시 메모리의 각각의 디바이스의 저장 공간의 크기와, 하이브리드 플래시 메모리에 요구된 총 데이터의 크기가 주어진 경우에 제1 디바이스의 사용률과 누적 쓰기 빈도 함수 간의 관계의 일 예가 도 8(a)에 도시되었다.If the total data storage size for the hybrid flash memory is determined from the OS or FS since the size S SLC of the storage space of the first device and the size S TLC of the storage space of the second device are determined, if u SLC is determined, u TLC Is also determined. Accordingly, the cumulative write frequency function H SLC (u SLC ) for the first device can be obtained from the use rate u SLC of the first device. One example of the relationship between the utilization rate of the first device and the cumulative write frequency function when the size of the storage space of each device of the hybrid flash memory and the total size of data required in the hybrid flash memory are given is shown in Fig. .

도 8은 본 발명의 일 실시예에 따른 하이브리드 플래시 메모리 관리 방법에서 사용률과 누적 쓰기 빈도 함수, 쓰기 비용, 수명 모델의 관계의 일 실시예를 도시하는 도면이다.FIG. 8 is a diagram illustrating an embodiment of a relationship between a usage rate, a cumulative write frequency function, a write cost, and a life model in a hybrid flash memory management method according to an embodiment of the present invention.

도 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의 값으로 결정될 것이다.In the embodiment of FIG. 8 (a), S SLC = 2 GB, S TLC = 8 GB and the total data size required for the hybrid system is assumed to be 9 GB. The horizontal axis is u SLC and the vertical axis is H SLC (u SLC ). If u SLC = 0.63, D SLC = 1.26 GB, and 7.74 GB, which is obtained by subtracting D SLC from 9 GB of total data, will be D TLC , so u TLC will also be determined as 7.74 / 8 = 0.9675.

제1 디바이스의 사용률 uSLC와 제2 디바이스의 사용률 uTLC가 결정된 상태에서 배열 자료 구조에 대한 모의 실험을 통하여 누적 쓰기 빈도 함수 HSLC(uSLC)를 결정할 수 있다. 배열 자료 구조에 대한 모의 실험은 자료 구조 기술 분야에 있어서는 공지의 기술이므로 여기서는 설명을 생략한다.
The cumulative write frequency function H SLC (u SLC ) can be determined through simulations of the array data structure in a state where the usage rate u SLC of the first device and the usage rate u TLC of the second device are determined. The simulation of the array data structure is well known in the field of data structure technology, and a description thereof will be omitted here.

본 발명 실시예의 분석 모듈(Analyzer)은 제1 디바이스의 누적 쓰기 빈도 함수 및 제1 디바이스의 사용률을 변수로 하며 제1 디바이스 및 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기에 기반한 수명 모델을 생성하고(S420), 제1 디바이스의 저장 공간의 크기 대비 사용률(또는 누적 쓰기 빈도 함수)에 따른 수명 모델 값의 변화를 도출한다(S430).The analysis module (Analyzer) of the embodiment of the present invention takes the cumulative write frequency function of the first device and the usage rate of the first device as variables and calculates the lifetime model based on the number of remaining erasable times of each of the first device and the second device, (S420), and a change in lifetime model value according to the usage rate (or cumulative write frequency function) with respect to the size of the storage space of the first device is derived (S430).

이 때, 하이브리드 플래시 메모리의 수명 모델(WLEFT)은 수학식 5와 같이 나타낼 수 있다.At this time, the lifetime model (W LEFT ) of the hybrid flash memory can be expressed by Equation (5).

[수학식 5]&Quot; (5) "

Figure pat00004
Figure pat00004

여기서 ESLC LEFT는 제1 디바이스 SLC의 잔존 소거 가능 횟수, ETLC LEFT는 제2 디바이스 TLC의 잔존 소거 가능 횟수를 의미한다.
Here, E SLC LEFT denotes the number of times that the first device SLC can be erased, and E TLC LEFT denotes the number of times that the second device TLC can be erased.

그러나 수학식 5는 제1 디바이스 및 제2 디바이스에 대한 가비지 콜렉션에 따른 수명 단축 요인[WAF(u)]를 고려하지 않고 있으므로, 제1 디바이스 및 제2 디바이스에 대한 가비지 콜렉션에 따른 수명 단축 요인[WAF(u)]를 고려한 하이브리드 플래시 메모리의 수명 모델은 수학식 6과 같이 나타낼 수 있다.However, Equation (5) does not consider the life shortening factor [WAF (u)] due to the garbage collection for the first device and the second device, so that the life shortening factor due to garbage collection for the first device and the second device [ WAF (u)] can be expressed by Equation (6).

[수학식 6]&Quot; (6) "

Figure pat00005
Figure pat00005

[수학식 7]&Quot; (7) "

Figure pat00006
Figure pat00006

각 디바이스의 사용률 대비 가비지 콜렉션에 따른 수명 단축 요인, 즉 쓰기의 증폭 효과(Write Amplification Factor, WAF)는 상기 수학식 7과 같이 나타낼 수 있다. 이와 같이 수명 모델은 실시예에 따라 제1 디바이스 및 제2 디바이스에 대한 가비지 콜렉션에 따른 수명 단축 요인을 고려하여 획득할 수도 있다.
The lifetime shortening factor, that is, the write amplification factor (WAF), due to garbage collection versus the usage rate of each device can be expressed by Equation (7). In this way, the lifetime model may be obtained in consideration of the life shortening factor due to the garbage collection for the first device and the second device according to the embodiment.

본 발명 실시예에 따른 제1 디바이스 사용률과 수명 모델의 값의 변화가 도출된 일 실시예가 도 8(c)에 도시되었다. 도 8(c)를 참조하면, 가로축에 제1 디바이스 사용률 uSLC가 도시되고, 세로축에 하이브리드 플래시 메모리의 수명 Lifetime WLEFT가 도시된다.One embodiment in which the change of the first device usage rate and the lifetime model value according to the embodiment of the present invention is derived is shown in Fig. 8 (c). Referring to FIG. 8 (c), the first device usage rate u SLC is shown on the horizontal axis and Lifetime W LEFT of the hybrid flash memory is shown on the vertical axis.

본 발명의 분석 모듈(Analyzer)는 도출된 수명 모델의 값을 최대화하는 제1 디바이스(SLC)의 사용률을 결정한다(S440). The analysis module of the present invention determines the usage rate of the first device (SLC) that maximizes the value of the derived lifetime model (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)에 의하여 수행될 수 있다.In the embodiment where S SLC = 2 GB, S TLC = 8 GB, and the total data size = 9 GB as shown in FIG. 8 (c), the usage rate of the first device (SLC) maximizing the lifetime and LEFT of the hybrid flash memory is 0.81 appear. In this case, D SLC = 2 GB x 0.81 = 1.62 GB, D TLC = 9 GB - 1.62 GB = 7.38 GB, u TLC = 7.38 / 8 = 0.9225. Steps S410 to S440 may be performed by an analyzer module of the embodiment of the present invention.

본 발명 실시예의 데이터 이동 모듈(Data Migrator Module)은 하이브리드 플래시 메모리의 수명 모델의 값을 최대화하는 제1 디바이스의 사용률을 결정한 이후, 제1 디바이스에서 최적화된 사용률이 유지되도록 하이브리드 플래시 메모리를 관리할 수 있다(S450). 이에 따라, 제1 디바이스와 제2 디바이스가 포함된 하이브리드 플래시 메모리의 수명을 최대로 유지할 수 있다.The data migration module of the embodiment of the present invention can manage the hybrid flash memory so that the utilization rate of the first device that maximizes the value of the lifetime model of the hybrid flash memory is maintained, (S450). Thus, the life span of the hybrid flash memory including the first device and the second device can be maximized.

도 4와 도 8에서 제1 디바이스(SLC), 제2 디바이스(TLC)인 실시예가 도시되었으나, 제1 디바이스(SLC), 제2 디바이스(MLC)인 실시예에도 본 발명의 적용이 가능하다. 뿐만 아니라 MLC - TLC 간의 조합과 SLC - MLC - TLC 조합에도 본 발명이 변형되어 적용 가능함은 본 발명 명세서의 기재로부터 해당 분야의 종사자(skilled person)에게 자명할 것이다.Although FIGS. 4 and 8 illustrate embodiments that are the first device SLC and the second device TLC, the present invention is also applicable to the embodiments that are the first device SLC and the second device MLC. In addition, it will be apparent to those skilled in the art from the description of the present invention that the present invention can be applied to a combination of MLC - TLC and SLC - MLC - TLC combination.

도 5는 본 발명의 다른 일 실시예에 따른 쓰기 비용과 수명 모델을 이용하여 제1 디바이스의 사용률을 결정하는 하이브리드 플래시 메모리를 관리하는 방법을 나타낸 동작 흐름도이다.5 is a flowchart illustrating a method of managing a hybrid flash memory that determines a usage rate of a first device using a write cost and a life model according to another embodiment of the present invention.

본 발명 실시예의 분석 모듈은 제1 디바이스 및 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기 및 제1 디바이스의 저장 공간의 크기 대비 사용률을 이용하여 하이브리드 플래시 메모리의 수명 모델을 획득한다(S610).The analysis module of the embodiment of the present invention obtains the lifetime model of the hybrid flash memory by using the number of times of erasure of the first device and the second device, the size of the storage space, and the usage ratio of the size of the storage space of the first device (S610 ).

이때, 수명 모델은 하이브리드 플래시 메모리의 제1 디바이스 및 제2 디바이스에 대한 가비지 콜렉션에 따른 수명 단축 요인을 고려하여 획득할 수 있다.At this time, the lifetime model can be obtained in consideration of the life shortening factor due to the garbage collection for the first device and the second device of the hybrid flash memory.

이상의 내용은 상기 수학식 5 내지 7을 이용하여 도출될 수 있다.The above description can be derived using Equations (5) to (7).

본 발명 실시예의 분석 모듈은 하이브리드 플래시 메모리의 제1 디바이스 및 제2 디바이스 각각에 대하여, 저장 공간의 크기 대비 사용률에 따른 쓰기 비용 모델을 획득한다(S620).
The analysis module of the embodiment of the present invention obtains a writing cost model according to the usage ratio of the first device and the second device of the hybrid flash memory according to the size of the storage space (S620).

제1 디바이스의 사용률 uSLC가 주어질 때, 가비지 콜렉션 오버헤드를 고려한 제1 디바이스의 평균 쓰기 비용 CPW _ SLC은 아래의 수학식 8과 같다.When the usage rate u of the first SLC device is given, the average cost of writing a first device considering the garbage collection overhead C PW _ SLC is shown in equation (8) below.

[수학식 8]&Quot; (8) "

Figure pat00007
Figure pat00007

마찬가지로 제2 디바이스의 사용률 uTLC가 주어질 때, 가비지 콜렉션 오버헤드를 고려한 제2 디바이스의 평균 쓰기 비용 CPW _ TLC은 아래의 수학식 9와 같다.Similarly, given the usage rate u TLC of the second device, the average write cost C PW _ TLC of the second device considering the garbage collection overhead is given by Equation 9 below.

[수학식 9]&Quot; (9) "

Figure pat00008
Figure pat00008

본 발명 실시예의 분석 모듈은 하이브리드 플래시 메모리의 제1 디바이스 및 제2 디바이스 각각에 대하여 얻어진 쓰기 비용 모델 각각을 이용하여, 제1 디바이스 및 제2 디바이스 각각의 누적 쓰기 빈도 함수가 고려된 하이브리드 플래시 메모리의 쓰기 비용 모델을 획득한다(S630).The analysis module of the embodiment of the present invention uses the write cost model obtained for each of the first device and the second device of the hybrid flash memory so as to determine the write cost of each of the first device and the second device, A writing cost model is obtained (S630).

이때, S620단계 이후 S630 단계가 진행되고, S620단계와 S630 단계는 S610 단계와 병렬적으로 또는 독립적으로 진행될 수 있다.In this case, step S620 may be followed by step S630, and steps S620 and S630 may be performed in parallel or independently with step S610.

본 발명 실시예의 분석 모듈은 상기 수학식 8 및 9와 수학식 4를 조합하여 하이브리드 플래시 메모리의 쓰기 비용을 구할 수 있다. 하이브리드 플래시 메모리의 쓰기 비용은 아래의 수학식 10으로 나타낼 수 있다.The analysis module of the embodiment of the present invention can obtain the write cost of the hybrid flash memory by combining the expressions (8) and (9) and (4). The write cost of the hybrid flash memory can be expressed by Equation 10 below.

[수학식 10]&Quot; (10) "

Figure pat00009

Figure pat00009

본 발명 실시예의 분석 모듈은 하이브리드 플래시 메모리의 수명 모델과 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 제1 디바이스의 최적화된 사용률을 획득한다(S640).The analysis module of the embodiment of the present invention acquires the optimized utilization rate of the first device using the lifetime model of the hybrid flash memory and the write cost model of the hybrid flash memory (S640).

도 6은 도 5의 일 단계 - 제1 디바이스의 최적화된 사용률을 획득하는 단계 - 를 더욱 상세히 나타내는 동작 흐름도이다.6 is an operational flow diagram illustrating in more detail the one step of FIG. 5-the step of obtaining an optimized utilization of the first device.

본 발명 실시예의 분석 모듈은 하이브리드 플래시 메모리의 수명 모델을 이용하여 제1 최적화 사용률을 획득한다(S710).The analysis module of the embodiment of the present invention acquires the first optimization utilization rate using the lifetime model of the hybrid flash memory (S710).

단계 S710에서 수명 모델에 기반한 제1 최적화 사용률을 획득하는 과정의 일 실시예가 도 8(c)를 통하여 도시되었다. 도 8(c)를 참조하면, 제1 디바이스 사용률 uSLC = 0.81 에서 수명 모델 WLEFT가 최대화된다. SSLC = 2GB, STLC = 8GB, 저장된 총 데이터의 크기 = 9GB 실시예에서 이루어진 분석이다.An embodiment of the process of acquiring the first optimized utilization rate based on the lifetime model in step S710 is shown in FIG. 8 (c). Referring to FIG. 8 (c), the lifetime model W LEFT is maximized at the first device usage rate u SLC = 0.81. S SLC = 2 GB, S TLC = 8 GB, total stored data size = 9 GB An analysis made in the embodiment.

본 발명 실시예의 분석 모듈은 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 제2 최적화 사용률을 획득한다(S720).The analysis module of the embodiment of the present invention acquires the second optimization utilization rate using the write cost model of the hybrid flash memory (S720).

단계 S720에서 쓰기 비용에 기반한 제1 최적화 사용률을 획득하는 과정의 일 실시예가 도 8(b)를 통하여 도시되었다. 도 8(b)를 참조하면, 제1 디바이스 사용률 uSLC = 0.63 에서 하이브리드 쓰기 비용 CPW _ HY(uSLC) 가 최대화된다. 마찬가지로 SSLC = 2GB, STLC = 8GB, 저장된 총 데이터의 크기 = 9GB 실시예에서 이루어진 분석이다.An embodiment of the process of acquiring the first optimized utilization rate based on the write cost in step S720 is shown in FIG. 8 (b). Referring to Figure 8 (b), the first device usage rate u = SLC hybrid letter costs 0.63 C PW _ HY (u SLC ) is maximized. Similarly, S SLC = 2 GB, S TLC = 8 GB, total stored data size = 9 GB An analysis made in the example.

이때, S710 단계와 S720 단계는 함께 병렬적으로 또는 독립적으로 수행할 수 있다.In this case, steps S710 and S720 may be performed in parallel or independently.

본 발명 실시예의 분석 모듈은 하이브리드 플래시 메모리의 수명 모델을 이용하여 획득된 제1 최적화 사용률과 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 획득된 제2 최적화 사용률을 이용하여 하이브리드 플래시 메모리의 제1 디바이스의 최적화된 사용률을 획득한다(S730).The analysis module of the embodiment of the present invention analyzes the first optimization utilization rate obtained using the life model of the hybrid flash memory and the second optimization usage rate obtained using the write cost model of the hybrid flash memory, And obtains an optimized utilization rate (S730).

도 7은 도 6의 일 단계 - 제1 최적화 사용률과 제2 최적화 사용률을 이용하여 제1 디바이스의 최적화된 사용률을 획득하는 단계 - 를 더욱 상세히 나타내는 동작 흐름도이다.FIG. 7 is an operational flowchart illustrating in more detail the step of obtaining the optimized utilization rate of the first device using the one-stage optimization utilization rate and the second optimization utilization rate of FIG. 6;

본 발명 실시예의 분석 모듈은 하이브리드 플래시 메모리의 노후화된 정도, 읽기 및 쓰기 성능, 및 사용자가 요구하는 데이터의 크기를 고려하여 가중치를 설정한다(S810).The analysis module of the embodiment of the present invention sets weights in consideration of the aging degree of the hybrid flash memory, the read and write performance, and the size of data requested by the user (S810).

본 발명 실시예의 분석 모듈은 하이브리드 플래시 메모리의 수명 모델을 이용하여 획득된 제1 최적화 사용률과 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 획득된 제2 최적화 사용률 각각에 S810 단계에서 설정한 가중치를 부여한 후 합산하여 하이브리드 플래시 메모리의 제1 디바이스의 최적화된 사용률을 획득한다(S820).The analysis module of the embodiment of the present invention assigns the weight set in the step S810 to the first optimization utilization rate obtained using the lifetime model of the hybrid flash memory and the second optimization usage rate obtained using the write cost model of the hybrid flash memory And obtains an optimized utilization rate of the first device of the hybrid flash memory (S820).

도 9는 본 발명의 다른 일 실시예에 따른 하이브리드 플래시 메모리의 관리 방법에서, 최적화 과정의 개념적인 일 실시예를 도시한 도면이다.9 is a conceptual diagram of an optimization process in a method of managing a hybrid flash memory according to another embodiment of the present invention.

도 9를 참조하면 uPERF SLC는 쓰기 비용, 즉 성능 기반의 최적화를 달성할 수 있는 제1 디바이스의 사용률이고, uLIFE SLC는 수명 모델 기반의 최적화를 달성할 수 있는 제1 디바이스의 사용률이다.Referring to FIG. 9, u PERF SLC is the utilization rate of the first device capable of achieving the write cost, that is, performance based optimization, and u LIFE SLC is the utilization rate of the first device capable of achieving lifetime model based optimization.

본 발명 실시예의 분석 모듈은 제1 최적화 사용률 uPERF SLC과 제2 최적화 사용률 uLIFE SLC 각각에 대하여 가중치를 부여한 후 합산하여 최종적인 최적화 사용률 uTUNE SLC를 얻을 수 있다. 이 때 가중치는 하이브리드 플래시 메모리의 노후화된 정도, 읽기 및 쓰기 성능, 및 사용자가 요구하는 데이터의 크기를 고려하여 설정될 수 있다. 예를 들어 플래시 메모리가 새 제품이고 읽기 및 쓰기 성능이 우수한 경우에는 이를 극대화하는 방향으로 가중치를 설정할 수 있다. 반대로 플래시 메모리가 노후화되어 수명을 연장하는 것이 우선 과제일 때에는 수명을 극대화하는 방향으로 가중치를 설정할 수 있다. 이와 같이 본 발명 실시예의 분석 모듈은 제1 최적화 사용률 uPERF SLC과 제2 최적화 사용률 uLIFE SLC 각각에 대하여 가중치를 부여함으로써 성능과 수명 양 측면의 타협점을 찾아 하이브리드 플래시 메모리의 종합적인 최적화를 달성할 수 있으며, 가중치는 최적화 방침(tuning policy)에 따라 다이내믹하게 조정될 수 있다.The analysis module of the embodiment of the present invention can obtain the final optimum utilization rate u TUNE SLC by weighting the first and second optimization utilization rates u PERF SLC and u LIFE SLC, respectively. In this case, the weight can be set in consideration of the aging degree of the hybrid flash memory, the read and write performance, and the size of the data requested by the user. For example, if the flash memory is a new product and read and write performance is good, then weights can be set to maximize it. On the other hand, when priority is given to extending the life of the flash memory due to aging, the weight can be set in the direction of maximizing the life span. As described above, the analysis module of the embodiment of the present invention assigns weights to the first and second optimization utilization rates u PERF SLC and u LIFE SLC to achieve a compromise between the performance and the lifetime, thereby achieving comprehensive optimization of the hybrid flash memory And the weights can be adjusted dynamically according to the tuning policy.

다시 도 5를 참조하면 본 발명 실시예의 데이터 이동 모듈(Data Migrator)은 하이브리드 플래시 메모리의 수명 모델과 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 제1 디바이스의 최적화된 사용률을 획득(S640)한 이후, 하이브리드 플래시 메모리의 제1 디바이스에서 최적화된 사용률이 유지되도록 하이브리드 플래시 메모리를 관리할 수 있다(S650).Referring again to FIG. 5, the data migration module (Data Migrator) of the embodiment of the present invention acquires the optimized usage rate of the first device using the lifetime model of the hybrid flash memory and the write cost model of the hybrid flash memory (S640) The hybrid flash memory can be managed such that the optimized utilization rate is maintained in the first device of the hybrid flash memory (S650).

하이브리드 플래시 메모리의 제1 디바이스에서 최적화된 사용률이 유지되도록 하이브리드 플래시 메모리를 관리함에 따라서, 하이브리드 플래시 메모리의 성능 및 수명을 개선할 수 있고, 주어진 환경에 맞는 최적화 정책에 따라서 다이내믹하게 최적화될 수 있다.The performance and lifetime of the hybrid flash memory can be improved by managing the hybrid flash memory so that the optimized utilization rate is maintained in the first device of the hybrid flash memory, and can be dynamically optimized according to the optimization policy for a given environment.

도 10은 본 발명의 일 실시예에 따른 수명 모델 기반의 하이브리드 플래시 메모리 관리 장치에 대한 개념적인 구성을 나타낸 블록도이다.FIG. 10 is a block diagram illustrating a conceptual configuration of a life-model-based hybrid flash memory management apparatus according to an embodiment of the present invention.

수명 모델 기반의 하이브리드 플래시 메모리 관리 장치(1200)는 분석 모듈(Analyzer)이 하드웨어로 구현된 개념 상의 장치를 의미할 수 있다.The lifetime model-based hybrid flash memory management device 1200 may mean a conceptual device in which an analyzer is implemented in hardware.

수명 모델 기반의 하이브리드 플래시 메모리 관리 장치(1200)는 하이브리드 플래시 메모리의 제1 디바이스 및 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기, 및 제1 디바이스의 저장 공간의 크기 대비 사용률을 이용하여 하이브리드 플래시 메모리의 수명 모델을 획득하는 수명 모델 생성부(1210)와 수명 모델 생성부(1210)에서 획득된 수명 모델을 이용하여 하이브리드 플래시 메모리의 제1 디바이스의 최적화된 사용률을 획득하는 수명 모델 기반 최적화부(1220)를 포함한다. 도 4의 단계 S410과 S410은 수명 모델 생성부(1210)에서, 단계 S430과 S440은 수명 모델 기반 최적화부(1220)에서 수행될 수 있다.The lifetime model-based hybrid flash memory management device 1200 uses the remaining erasable number of the first device and the second device of the hybrid flash memory, the size of the storage space, and the usage ratio of the size of the storage space of the first device A lifetime model-based optimization for obtaining an optimized utilization rate of the first device of the hybrid flash memory using the lifetime model acquired by the lifetime model generation unit 1210 and the lifetime model generation unit 1210 for acquiring the lifetime model of the hybrid flash memory (1220). Steps S410 and S410 of FIG. 4 may be performed by the lifetime model generation unit 1210, and steps S430 and S440 may be performed by the lifetime model-based optimization unit 1220. FIG.

이때, 도 10에 도시되지는 않았으나 본 발명의 다른 실시예에 따르면 수명 모델 기반 최적화부(1220)는 하이브리드 플래시 메모리의 제1 디바이스에서 획득된 최적화된 사용률이 유지되도록 하이브리드 플래시 메모리를 관리할 수도 있다. 이 때에는 수명 모델 기반 최적화부(1220)는 분석 모듈 뿐만 아니라 데이터 이동 모듈의 일부 기능을 함께 수행하게 된다.Although not shown in FIG. 10, according to another embodiment of the present invention, the lifetime model-based optimization unit 1220 may manage the hybrid flash memory such that the optimized utilization rate obtained in the first device of the hybrid flash memory is maintained . At this time, the lifetime model-based optimization unit 1220 performs some functions of the data movement module as well as the analysis module.

또한, 수명 모델 기반 최적화부(1220)는 제1 디바이스의 사용률에 따라 수명 모델의 값의 변화를 추적하여 수명 모델의 값을 최대화하는 제1 디바이스의 사용률을 결정할 수도 있다(S430, S440).In addition, the lifetime model-based optimization unit 1220 may track the change in the lifetime model value according to the usage rate of the first device to determine the usage rate of the first device that maximizes the lifetime model value (S430, S440).

또한, 수명 모델 생성부(1210)에서 수명 모델은 하이브리드 플래시 메모리의 제1 디바이스 및 제2 디바이스에 대한 가비지 콜렉션에 따른 수명 단축 요인을 고려하여 획득할 수 있다.In addition, the lifetime model in the lifetime model generation unit 1210 can be acquired in consideration of a life shortening factor due to garbage collection for the first device and the second device of the hybrid flash memory.

또한, 수명 모델 생성부(1210)는 제1 디바이스의 사용률을 이용하여 제1 디바이스의 하이브리드 플래시 메모리 전체에 대한 누적 쓰기 빈도 함수를 계산하는 누적 쓰기 빈도 함수 계산부를 포함할 수도 있다(S410, S420).Also, the lifetime model generation unit 1210 may include an accumulated write frequency function calculation unit for calculating an accumulated write frequency function for the entire hybrid flash memory of the first device using the utilization rate of the first device (S410, S420) .

도 11은 본 발명의 다른 일 실시예에 따른 수명 모델 및 쓰기 비용 기반의 하이브리드 플래시 메모리 관리 장치에 대한 개념적인 구성을 나타낸 블록도이다.11 is a block diagram illustrating a conceptual configuration of a life time model and a write cost based hybrid flash memory management apparatus according to another embodiment of the present invention.

제1 디바이스와 제2 디바이스를 포함하는 수명 모델 및 쓰기 비용 기반의 하이브리드 플래시 메모리 관리 장치(1300)는 본 발명 실시예의 분석 모듈(Analyzer)과 데이터 이동 모듈(Data Migrator)의 일부 기능을 포함하여 구현되는 하드웨어 모듈을 의미할 수 있다.The lifetime model and write cost based hybrid flash memory management device 1300 including the first device and the second device may include some functions of an analyzer module and a data migration module (Data Migrator) of the embodiment of the present invention Lt; / RTI >

제1 디바이스와 제2 디바이스를 포함하는 수명 모델 및 쓰기 비용 기반의 하이브리드 플래시 메모리 관리 장치(1300)는 하이브리드 플래시 메모리의 제1 디바이스 및 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기, 및 제1 디바이스의 저장 공간의 크기 대비 사용률을 이용하여 하이브리드 플래시 메모리의 수명 모델을 획득하는(S610) 수명 모델 생성부(1310), 하이브리드 플래시 메모리의 제1 디바이스 및 제2 디바이스 각각에 대하여, 저장 공간의 크기 대비 사용률에 따른 쓰기 비용 모델을 획득하고(S620), 제1 디바이스 및 제2 디바이스 각각에 대하여 얻어진 쓰기 비용 모델 각각을 이용하여, 제1 디바이스 및 제2 디바이스 각각의 누적 쓰기 빈도 함수가 고려된 하이브리드 플래시 메모리의 쓰기 비용 모델을 획득하는(S630) 쓰기 비용 모델링부(1320) 및 하이브리드 플래시 메모리의 수명 모델과 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 제1 디바이스의 최적화된 사용률을 획득하는(S640) 최적화부(1330)을 포함한다.The lifetime model and write cost based hybrid flash memory management device 1300 including the first device and the second device can determine the number of remaining erasable times and the size of the storage space of each of the first device and the second device of the hybrid flash memory, A lifetime model generation unit 1310 for acquiring a lifetime model of a hybrid flash memory using a usage ratio with respect to a size of a storage space of the first device (S610), a storage device for storing, for each of the first device and the second device of the hybrid flash memory, (S620), and a cumulative write frequency function of each of the first device and the second device is taken into account by using each of the write cost models obtained for the first device and the second device The write cost modeling unit 1 (S630) for acquiring the write cost model of the hybrid flash memory 320) and an optimizing unit 1330 for acquiring an optimized utilization rate of the first device using the lifetime model of the hybrid flash memory and the write cost model of the hybrid flash memory (S640).

이때, 수명 모델 생성부(1310)에서 수명 모델은 하이브리드 플래시 메모리의 제1 디바이스 및 제2 디바이스에 대한 가비지 콜렉션에 따른 수명 단축 요인을 고려하여 획득할 수 있다.At this time, the lifetime model in the lifetime model generation unit 1310 can be acquired in consideration of a life shortening factor due to garbage collection for the first device and the second device of the hybrid flash memory.

수명 모델 및 쓰기 비용 기반의 하이브리드 플래시 메모리의 관리 장치(1300)는 최적화부(1330)에서 하이브리드 플래시 메모리의 수명 모델과 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 제1 디바이스의 최적화된 사용률을 획득한 이후, 하이브리드 플래시 메모리의 제1 디바이스의 최적화된 사용률이 유지되도록 하이브리드 플래시 메모리를 관리하는(S650) 하이브리드 플래시 메모리 관리부(1340)를 더 포함할 수 있다.The management unit 1300 of the hybrid flash memory based on the lifetime model and the writing cost acquires the optimized usage rate of the first device using the lifetime model of the hybrid flash memory and the write cost model of the hybrid flash memory in the optimizing unit 1330 Thereafter, the hybrid flash memory management unit 1340 may manage the hybrid flash memory so that the optimized utilization rate of the first device of the hybrid flash memory is maintained (S650).

도 12는 도 11의 일 구성요소인 최적화부(1330)에 대한 개념적인 구성을 나타낸 블록도이다.FIG. 12 is a block diagram showing a conceptual configuration of the optimizing unit 1330, which is one component of FIG.

도 12에 도시된 최적화부(1330)는 하이브리드 플래시 메모리의 수명 모델을 이용하여 제1 최적화 사용률을 획득하는(S710) 제1 최적화 사용률 획득부(1331), 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 제2 최적화 사용률을 획득하는(S720) 제2 최적화 사용률 획득부(1332), 및 제1 최적화 사용률 획득부(1331)에서 획득한 제1 최적화 사용률과 제2 최적화 사용률 획득부(1332)에서 획득한 제2 최적화 사용률을 이용하여 하이브리드 플래시 메모리의 제1 디바이스의 최적화된 사용률을 획득하는(S730) 최적화 사용률 결정부(1333)를 포함한다.The optimization unit 1330 shown in FIG. 12 uses a first optimization utilization factor acquisition unit 1331 to acquire a first optimized utilization rate using the lifetime model of the hybrid flash memory (S710), a write cost model of the hybrid flash memory A second optimization utilization rate acquisition unit 1332 for acquiring a second optimization usage rate S720 and a second optimization utilization rate acquisition unit 1332 for acquiring the first optimization usage rate acquired by the first optimization usage rate acquisition unit 1331 and the second optimization usage rate acquired by the second optimization usage rate acquisition unit 1332 And an optimization utilization determining unit 1333 for acquiring an optimized utilization rate of the first device of the hybrid flash memory using the second optimization utilization rate (S730).

이때, 최적화 사용률 결정부(1333)는 하이브리드 플래시 메모리의 노후화된 정도, 일기 및 쓰기 성능, 및 사용자가 요구하는 데이터의 크기를 고려하여 가중치를 설정할 수 있다(S810).At this time, the optimization utilization factor determiner 1333 may set the weights in consideration of the degree of obsolescence of the hybrid flash memory, the diary and the write performance, and the size of data requested by the user (S810).

또한, 최적화 사용률 결정부(1333)는 제1 최적화 사용률 획득부(1331)에서 획득한 제1 최적화 사용률과 제2 최적화 사용률 획득부(1332)에서 획득한 제2 최적화 사용률 각각에 설정된 가중치를 부여한 후 합산하여 하이브리드 플래시 메모리의 제1 디바이스의 최적화된 사용률을 획득할 수 있다(S820).
In addition, the optimization utilization rate determiner 1333 assigns the weights to the first and second optimization usage ratios acquired by the first optimization usage rate acquisition unit 1331 and the second optimization usage rate acquisition unit 1332, respectively So that the optimized utilization rate of the first device of the hybrid flash memory can be obtained (S820).

본 발명의 일 실시 예에 따른 하이브리드 플래시 메모리의 관리 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method for managing a hybrid flash memory according to an exemplary embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명 실시예에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, And various modifications and changes may be made thereto without departing from the scope of the present invention.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

1200: 수명 모델 기반의 하이브리드 메모리 관리 장치
1210: 수명 모델 생성부
1220: 수명 모델 기반 최적화부
1300: 수명 모델 및 쓰기 비용 기반의 하이브리드 플래시 메모리 관리 장치
1320: 쓰기 비용 모델링부
1330: 최적화부
1200: Hybrid memory management device based on lifetime model
1210: Lifetime model generation unit
1220: Optimization unit based on lifetime model
1300: Hybrid Flash memory management device based on lifetime model and write cost
1320: write cost modeling unit
1330:

Claims (19)

제1 디바이스와 제2 디바이스를 포함하는 하이브리드 플래시 메모리의 관리 방법에 있어서,
상기 제1 디바이스 및 상기 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기, 및 상기 제1 디바이스의 상기 저장 공간의 크기 대비 사용률을 이용하여 상기 하이브리드 플래시 메모리의 수명 모델을 획득하는 단계; 및
상기 수명 모델을 이용하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 단계;
를 포함하는 하이브리드 플래시 메모리의 관리 방법.
A method for managing a hybrid flash memory including a first device and a second device,
Obtaining a lifetime model of the hybrid flash memory by using the number of times of erasure of the first device and the second device, the size of the storage space, and the usage ratio of the size of the storage space of the first device; And
Obtaining an optimized utilization rate of the first device using the lifetime model;
Wherein the method further comprises the steps of:
제1항에 있어서,
상기 제1 디바이스의 최적화된 사용률을 획득하는 단계는
상기 제1 디바이스의 사용률에 따라 상기 수명 모델의 값의 변화를 추적하는 단계; 및
상기 수명 모델의 값을 최대화하는 상기 제1 디바이스의 사용률을 결정하는 단계;
를 포함하는 하이브리드 플래시 메모리의 관리 방법.
The method according to claim 1,
The step of obtaining an optimized utilization of the first device
Tracking a change in the value of the lifetime model according to a usage rate of the first device; And
Determining a usage rate of the first device that maximizes a value of the lifetime model;
Wherein the method further comprises the steps of:
제1항에 있어서,
상기 수명 모델을 획득하는 단계는
상기 제1 디바이스의 상기 사용률을 이용하여 상기 제1 디바이스의 상기 하이브리드 플래시 메모리 전체에 대한 누적 쓰기 빈도 함수를 계산하는 단계; 및
상기 제1 디바이스의 누적 쓰기 빈도 함수를 변수로 하는 상기 수명 모델을 생성하는 단계
를 포함하는 하이브리드 플래시 메모리의 관리 방법.
The method according to claim 1,
The step of acquiring the lifetime model
Calculating a cumulative write frequency function for the entirety of the hybrid flash memory of the first device using the utilization rate of the first device; And
Generating the life span model with the cumulative write frequency function of the first device as a variable
Wherein the method further comprises the steps of:
제1항에 있어서,
상기 제1 디바이스에서 상기 최적화된 사용률이 유지되도록 상기 하이브리드 플래시 메모리를 관리하는 단계
를 더 포함하는 하이브리드 플래시 메모리의 관리 방법.
The method according to claim 1,
Managing the hybrid flash memory such that the optimized utilization rate is maintained in the first device
Further comprising the steps of:
제1항에 있어서,
상기 수명 모델은 상기 제1 디바이스 및 상기 제2 디바이스에 대한 가비지 콜렉션에 따른 수명 단축 요인을 고려하여 얻어지는 하이브리드 플래시 메모리의 관리 방법.
The method according to claim 1,
Wherein the lifetime model is obtained in consideration of a life shortening factor due to garbage collection for the first device and the second device.
제1 디바이스와 제2 디바이스를 포함하는 하이브리드 플래시 메모리의 관리 방법에 있어서,
상기 제1 디바이스 및 상기 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기, 및 상기 제1 디바이스의 상기 저장 공간의 크기 대비 사용률을 이용하여 상기 하이브리드 플래시 메모리의 수명 모델을 획득하는 단계;
상기 제1 디바이스 및 상기 제2 디바이스 각각에 대하여, 저장 공간의 크기 대비 사용률에 따른 쓰기 비용 모델을 획득하는 단계;
상기 제1 디바이스 및 상기 제2 디바이스 각각에 대하여 얻어진 쓰기 비용 모델 각각을 이용하여, 상기 제1 디바이스 및 상기 제2 디바이스 각각의 누적 쓰기 빈도 함수가 고려된 상기 하이브리드 플래시 메모리의 쓰기 비용 모델을 획득하는 단계; 및
상기 하이브리드 플래시 메모리의 수명 모델과 상기 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 단계
를 포함하는 하이브리드 플래시 메모리의 관리 방법.
A method for managing a hybrid flash memory including a first device and a second device,
Obtaining a lifetime model of the hybrid flash memory by using the number of times of erasure of the first device and the second device, the size of the storage space, and the usage ratio of the size of the storage space of the first device;
Acquiring a write cost model for each of the first device and the second device according to a usage ratio of the storage space;
Acquiring a write cost model of the hybrid flash memory in which a cumulative write frequency function of each of the first device and the second device is taken into consideration using each of the write cost models obtained for the first device and the second device step; And
Acquiring an optimized utilization rate of the first device using a lifetime model of the hybrid flash memory and a write cost model of the hybrid flash memory
Wherein the method further comprises the steps of:
제6항에 있어서,
상기 제1 디바이스의 최적화된 사용률을 획득하는 단계는
상기 하이브리드 플래시 메모리의 수명 모델을 이용하여 제1 최적화 사용률을 획득하는 단계;
상기 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 상기 제2 최적화 사용률을 획득하는 단계; 및
상기 제1 최적화 사용률과 상기 제2 최적화 사용률을 이용하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 단계
를 포함하는 하이브리드 플래시 메모리의 관리 방법.
The method according to claim 6,
The step of obtaining an optimized utilization of the first device
Obtaining a first optimized utilization rate using the lifetime model of the hybrid flash memory;
Obtaining the second optimal utilization rate using a write cost model of the hybrid flash memory; And
Acquiring an optimized utilization rate of the first device using the first optimized utilization rate and the second optimized utilization rate
Wherein the method further comprises the steps of:
제7항에 있어서,
상기 제1 최적화 사용률과 상기 제2 최적화 사용률을 이용하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 단계는
상기 제1 최적화 사용률과 상기 제2 최적화 사용률 각각에 가중치를 부여한 후 합산하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 하이브리드 플래시 메모리의 관리 방법.
8. The method of claim 7,
Wherein the step of acquiring the optimized utilization rate of the first device using the first optimized utilization rate and the second optimized utilization rate comprises:
Wherein a weight is assigned to each of the first optimization use rate and the second optimization usage rate, and the sum is used to obtain an optimized usage rate of the first device.
제8항에 있어서,
상기 제1 최적화 사용률과 상기 제2 최적화 사용률을 이용하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 단계는
상기 하이브리드 플래시 메모리의 노후화된 정도, 읽기 및 쓰기 성능, 및 사용자가 요구하는 데이터의 크기를 고려하여 상기 가중치를 설정하는 단계
를 포함하는 하이브리드 플래시 메모리의 관리 방법.
9. The method of claim 8,
Wherein the step of acquiring the optimized utilization rate of the first device using the first optimized utilization rate and the second optimized utilization rate comprises:
Setting the weights in consideration of the aging degree of the hybrid flash memory, the read and write performance, and the size of data requested by the user
Wherein the method further comprises the steps of:
제6항에 있어서,
상기 제1 디바이스에서 상기 최적화된 사용률이 유지되도록 상기 하이브리드 플래시 메모리를 관리하는 단계
를 더 포함하는 하이브리드 플래시 메모리의 관리 방법.
The method according to claim 6,
Managing the hybrid flash memory such that the optimized utilization rate is maintained in the first device
Further comprising the steps of:
제6항에 있어서,
상기 수명 모델은 상기 제1 디바이스 및 상기 제2 디바이스에 대한 가비지 콜렉션에 따른 수명 단축 요인을 고려하여 얻어지는 하이브리드 플래시 메모리의 관리 방법.
The method according to claim 6,
Wherein the lifetime model is obtained in consideration of a life shortening factor due to garbage collection for the first device and the second device.
제6항에 있어서,
상기 제1 디바이스 및 상기 제2 디바이스 각각에 대하여, 저장 공간의 크기 대비 사용률에 따른 쓰기 비용 모델을 획득하는 단계는
상기 제1 디바이스 및 상기 제2 디바이스 각각에 대한 가비지 콜렉션에 따른 쓰기 비용의 오버헤드를 고려하여 상기 제1 디바이스 및 상기 제2 디바이스 각각에 대한 쓰기 비용 모델을 계산하는 하이브리드 플래시 메모리의 관리 방법.
The method according to claim 6,
The step of acquiring a write cost model for each of the first device and the second device,
Calculating a write cost model for each of the first device and the second device in consideration of an overhead of write cost due to garbage collection for each of the first device and the second device.
제1항 내지 제12항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.A computer-readable recording medium having recorded therein a program for executing the method according to any one of claims 1 to 12. 제1 디바이스와 제2 디바이스를 포함하는 하이브리드 플래시 메모리의 관리 장치에 있어서,
상기 제1 디바이스 및 상기 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기, 및 상기 제1 디바이스의 상기 저장 공간의 크기 대비 사용률을 이용하여 상기 하이브리드 플래시 메모리의 수명 모델을 획득하는 수명 모델 생성부; 및
상기 수명 모델을 이용하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 수명 모델 기반 최적화부;
를 포함하는 하이브리드 플래시 메모리의 관리 장치.
A management device for a hybrid flash memory including a first device and a second device,
Generating a lifetime model of the hybrid flash memory using the number of times of the remaining erasable times of the first device and the second device, the size of the storage space, and the utilization ratio of the size of the storage space of the first device part; And
A lifetime model-based optimization unit that obtains an optimal utilization rate of the first device using the lifetime model;
And a controller for controlling the hybrid flash memory.
제14항에 있어서,
상기 수명 모델 생성부는,
상기 제1 디바이스의 상기 사용률을 이용하여 상기 제1 디바이스의 상기 하이브리드 플래시 메모리 전체에 대한 누적 쓰기 빈도 함수를 계산하는 누적 쓰기 빈도 함수 계산부; 를 포함하고,
상기 제1 디바이스의 누적 쓰기 빈도 함수를 변수로 하는 상기 수명 모델을 생성하는 것을 특징으로 하는
하이브리드 플래시 메모리의 관리 장치.
15. The method of claim 14,
Wherein the life-
An accumulated write frequency function calculating unit for calculating an accumulated write frequency function for the entirety of the hybrid flash memory of the first device using the utilization rate of the first device; Lt; / RTI >
Wherein the lifetime model generating unit generates the lifetime model having the cumulative write frequency function of the first device as a variable
A management device for a hybrid flash memory.
제1 디바이스와 제2 디바이스를 포함하는 하이브리드 플래시 메모리의 관리 장치에 있어서,
상기 제1 디바이스 및 상기 제2 디바이스 각각의 잔존 소거 가능 횟수와 저장 공간의 크기, 및 상기 제1 디바이스의 상기 저장 공간의 크기 대비 사용률을 이용하여 상기 하이브리드 플래시 메모리의 수명 모델을 획득하는 수명 모델 생성부;
상기 제1 디바이스 및 상기 제2 디바이스 각각에 대하여, 저장 공간의 크기 대비 사용률에 따른 쓰기 비용 모델을 획득하고, 상기 제1 디바이스 및 상기 제2 디바이스 각각에 대하여 얻어진 쓰기 비용 모델 각각을 이용하여, 상기 제1 디바이스 및 상기 제2 디바이스 각각의 누적 쓰기 빈도 함수가 고려된 상기 하이브리드 플래시 메모리의 쓰기 비용 모델을 획득하는 쓰기 비용 모델링부; 및
상기 하이브리드 플래시 메모리의 수명 모델과 상기 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 최적화부;
를 포함하는 하이브리드 플래시 메모리의 관리 장치.
A management device for a hybrid flash memory including a first device and a second device,
Generating a lifetime model of the hybrid flash memory using the number of times of the remaining erasable times of the first device and the second device, the size of the storage space, and the utilization ratio of the size of the storage space of the first device part;
Acquiring a write cost model for each of the first device and the second device according to a usage ratio of the storage space to the size of the storage space and using each of the write cost models obtained for the first device and the second device, A write cost modeling unit for obtaining a write cost model of the hybrid flash memory in which a cumulative write frequency function of each of the first device and the second device is taken into consideration; And
An optimizing unit for obtaining an optimized utilization rate of the first device by using a lifetime model of the hybrid flash memory and a write cost model of the hybrid flash memory;
And a controller for controlling the hybrid flash memory.
제16항에 있어서,
상기 최적화부는,
상기 하이브리드 플래시 메모리의 수명 모델을 이용하여 제1 최적화 사용률을 획득하는 제1 최적화 사용률 획득부;
상기 하이브리드 플래시 메모리의 쓰기 비용 모델을 이용하여 상기 제2 최적화 사용률을 획득하는 제2 최적화 사용률 획득부; 및
상기 제1 최적화 사용률과 상기 제2 최적화 사용률을 이용하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 최적화 사용률 결정부;
를 포함하는 하이브리드 플래시 메모리의 관리 장치.
17. The method of claim 16,
The optimizing unit,
A first optimization utilization rate obtaining unit for obtaining a first optimization usage rate using the lifetime model of the hybrid flash memory;
A second optimization usage rate obtaining unit for obtaining the second optimization usage rate by using a write cost model of the hybrid flash memory; And
An optimization usage rate determining unit for obtaining an optimized usage rate of the first device using the first optimization usage rate and the second optimization usage rate;
And a controller for controlling the hybrid flash memory.
제17항에 있어서,
상기 최적화 사용률 결정부는,
상기 제1 최적화 사용률과 상기 제2 최적화 사용률 각각에 가중치를 부여한 후 합산하여 상기 제1 디바이스의 최적화된 사용률을 획득하는 하이브리드 플래시 메모리의 관리 장치.
18. The method of claim 17,
Wherein the optimization utilization rate determination unit determines,
Wherein a weight is assigned to each of the first optimized utilization rate and the second optimized utilization rate, and then a sum is obtained to obtain an optimized utilization rate of the first device.
제16항에 있어서,
상기 제1 디바이스에서 상기 최적화된 사용률이 유지되도록 상기 하이브리드 플래시 메모리를 관리하는 하이브리드 플래시 메모리 관리부
를 더 포함하는 하이브리드 플래시 메모리의 관리 장치.
17. The method of claim 16,
Wherein the hybrid flash memory management unit manages the hybrid flash memory such that the optimized utilization rate is maintained in the first device,
Further comprising: a management unit for managing the hybrid flash memory.
KR20130023977A 2013-03-06 2013-03-06 Apparatus and method for optimization for improved performance and enhanced lifetime of hybrid flash memory devices KR101480424B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130023977A KR101480424B1 (en) 2013-03-06 2013-03-06 Apparatus and method for optimization for improved performance and enhanced lifetime of hybrid flash memory devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130023977A KR101480424B1 (en) 2013-03-06 2013-03-06 Apparatus and method for optimization for improved performance and enhanced lifetime of hybrid flash memory devices

Publications (2)

Publication Number Publication Date
KR20140109689A true KR20140109689A (en) 2014-09-16
KR101480424B1 KR101480424B1 (en) 2015-01-13

Family

ID=51756142

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130023977A KR101480424B1 (en) 2013-03-06 2013-03-06 Apparatus and method for optimization for improved performance and enhanced lifetime of hybrid flash memory devices

Country Status (1)

Country Link
KR (1) KR101480424B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10275172B2 (en) 2016-07-27 2019-04-30 Samsung Electronics Co., Ltd. Solid state drive devices and methods of operating thereof
US11385834B2 (en) 2019-11-11 2022-07-12 SK Hynix Inc. Data storage device, storage system using the same, and method of operating the same

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102288546B1 (en) 2015-08-31 2021-08-10 삼성전자주식회사 Storage device and method for controllng thereof
KR102593362B1 (en) 2016-04-27 2023-10-25 에스케이하이닉스 주식회사 Memory system and operating method of memory system
US10235299B2 (en) 2016-11-07 2019-03-19 Samsung Electronics Co., Ltd. Method and device for processing data
KR102528258B1 (en) 2018-04-30 2023-05-04 에스케이하이닉스 주식회사 Memory controller and operating method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE149709T1 (en) * 1994-09-30 1997-03-15 Sel Alcatel Ag METHOD FOR MEMORY MANAGEMENT OF A FLASH MEMORY
EP2024839B1 (en) * 2006-05-15 2014-07-02 SanDisk Technologies Inc. Non-volatile memory system with end of life calculation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10275172B2 (en) 2016-07-27 2019-04-30 Samsung Electronics Co., Ltd. Solid state drive devices and methods of operating thereof
US11385834B2 (en) 2019-11-11 2022-07-12 SK Hynix Inc. Data storage device, storage system using the same, and method of operating the same

Also Published As

Publication number Publication date
KR101480424B1 (en) 2015-01-13

Similar Documents

Publication Publication Date Title
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 (en) Priority-based garbage collection for data storage systems
JP6568387B2 (en) Storage controller and storage device
KR101480424B1 (en) Apparatus and method for optimization for improved performance and enhanced lifetime of hybrid flash memory devices
KR101257691B1 (en) Memory controller and data management method
KR102114256B1 (en) Flash memory device access method and apparatus
EP2565792A1 (en) Block management schemes in hybrid SLC/MLC memory
CN106548789A (en) Method and apparatus for operating stacked tile type magnetic recording equipment
Agarwal et al. A closed-form expression for write amplification in nand flash
CN105934749A (en) Garbage collection and data relocation for data storage system
JP2014513848A (en) Selective data storage in LSB and MSB pages
KR101374065B1 (en) Data Distinguish Method and Apparatus Using Algorithm for Chip-Level-Parallel Flash Memory
Luojie et al. An improved analytic expression for write amplification in NAND flash
CN110674056B (en) Garbage recovery method and device
KR20200110547A (en) Storage device and computing device including storage device
KR101017067B1 (en) Locality-Aware Garbage Collection Technique for NAND Flash Memory-Based Storage Systems
KR20080074584A (en) Memory system and data storaging method thereof
Ma et al. Alleviating hot data write back effect for shingled magnetic recording storage systems
KR20240045993A (en) Method and device for data storage
CN114185492A (en) Solid state disk garbage recycling algorithm based on reinforcement learning
KR101026634B1 (en) A method of data storage for a hybrid flash memory
US20110264848A1 (en) Data recording device
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