KR101381597B1 - Pattern-aware management system for multi-channel ssd and method therefor - Google Patents
Pattern-aware management system for multi-channel ssd and method therefor Download PDFInfo
- Publication number
- KR101381597B1 KR101381597B1 KR1020130010978A KR20130010978A KR101381597B1 KR 101381597 B1 KR101381597 B1 KR 101381597B1 KR 1020130010978 A KR1020130010978 A KR 1020130010978A KR 20130010978 A KR20130010978 A KR 20130010978A KR 101381597 B1 KR101381597 B1 KR 101381597B1
- Authority
- KR
- South Korea
- Prior art keywords
- pattern
- channel
- data
- management system
- flash memory
- 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
- G11C16/10—Programming or data input circuits
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
Abstract
Description
본 발명은 다중채널 SSD를 위한 패턴기반 관리 시스템 및 그 방법에 관한 것이다. 보다 구체적으로 본 발명은 다중채널 SSD를 위한 패턴기반의 쓰기버퍼 및 FTL의 통합 관리 기법에 관한 것이다.The present invention relates to a pattern-based management system and method for a multichannel SSD. More specifically, the present invention relates to a pattern-based write buffer for multichannel SSD and an integrated management technique of FTL.
최근에 수많은 전자 제품에서 사용되는 프로세서(processor) 및 램(RAM) 등의 주기억장치의 처리속도가 고속화됨에 따라 보조기억장치의 처리속도에 의해서 전자 제품의 연산 처리 속도가 결정되는 병목 현상이 심화되고 있다. 기존의 보조기억장치로는 주로 HDD(Hard Disk Drive)와 같은 자기 저장장치, 또는 CD나 DVD와 같은 광디스크 장치(ODD: Optic Disk Drive)들이 사용되어 왔다. 광디스크 장치는 데이터의 입출력이 제한되며 데이터 출력 속도가 매우 느린 단점이 있다. 또한, 자기 저장장치는 광디스크 장치에 비해 속도가 빠르긴 하지만 여전히 병목현상을 야기한다. 더욱이 자기 저장장치는 외부 충격등에 의해 쉽게 데이터가 훼손되거나 소실될 우려가 있다. Recently, as processing speeds of main memory devices such as processors and RAMs used in many electronic products have been increased, bottlenecks in which computational processing speeds of electronic products are determined by processing speeds of auxiliary memory devices have increased. have. Existing auxiliary memory devices have been mainly used magnetic storage devices such as HDD (Hard Disk Drive), or optical disk devices (ODD: Optic Disk Drive) such as CD or DVD. Optical disk devices have a disadvantage in that data input / output is limited and data output speed is very slow. Magnetic storage devices are also faster than optical disk devices, but still cause bottlenecks. Moreover, the magnetic storage device may be easily damaged or lost due to external impact.
이에 따라, 기존의 MOSFET 구조를 응용한 반도체 소자로 구성된 SSD(Solid State Drive)가 주목받고 있다. SSD는 HDD에 비해 처리 속도가 빠를뿐 아니라 데이터가 저장된 소자로 임의 접속(Random Access)을 하므로 탐색시간 없이 고속으로 데이터를 입출력할 수 있다. 또한, 기계적 지적이나 실패율이 현저히 낮으며 외부의 충격으로부터 데이터 손상률이 매우 낮은 장점이 있다. 또한, SSD는 소모 전력이 낮으며 추가의 기계장치를 구동할 필요없이 저발열, 저소음 및 저전력으로 구동하는 것이 가능하다. 따라서. HDD에 비해 SSD를 포함하는 최종 제품의 소형화 및 정량화가 가능하다. Accordingly, attention has been paid to solid state drives (SSDs) composed of semiconductor devices using a conventional MOSFET structure. SSDs are faster than HDDs and provide random access to devices that store data, allowing high-speed data input and output without searching. In addition, the mechanical point or failure rate is significantly low, and the data damage rate from external shock is very low. In addition, SSDs consume less power and can run with lower heat, lower noise and lower power without the need for additional machinery. therefore. Compared to HDD, the final product including SSD can be miniaturized and quantified.
SSD로는 일반적으로 노어(NOR) 플래시 메모리 및 낸드(NAND) 플래시 메모리가 있다. 그 중, 낸드 플래시 메모리는 직렬연결 방식으로서 회로의 집적도가 높아 대용량 제작이 용이하고 읽기 및/또는 쓰기의 속도가 빠르다. 더욱이 데이터 저장능력도 뛰어나 대부분의 대용량 SSD로서는 낸드 플래시 메모리가 사용되고 있다. SSDs generally include NOR flash memory and NAND flash memory. Among them, NAND flash memory is connected in series, and the circuit density is high, so that a large capacity is easily manufactured and the read and / or write speed is high. In addition, NAND flash memory is used as a large capacity SSD because of its excellent data storage capability.
SSD 내부는 여러 개의 낸드 플래스 메모리, 플래시 변환 계층(Flash Translation Layer: FTL) 및 쓰기 버퍼로 구성된다. SSD에서 메인 저장 매체는 낸드 플래시 메모리이며, 이때 다중채널(multi-channel) 및 다중웨이(multi-way)로 구성되어 I/O (Input/Output) 병렬성을 증가시킴으로써 성능이 향상되고 있다. The SSD interior consists of several NAND flash memories, a Flash Translation Layer (FTL), and a write buffer. In SSDs, the main storage medium is NAND flash memory, which is composed of multi-channel and multi-way to increase performance by increasing input / output (I / O) parallelism.
일반적으로, 쓰기 및 읽기의I/O 병렬성을 증가시키는 경우 가비지 컬렉션(GC: Garbage Collection) 오버헤드가 증가할 수 있다. In general, increasing the I / O parallelism of writes and reads can increase garbage collection (GC) overhead.
따라서, 다중채널 SSD의 성능을 향상시킬 수 있도록 다중채널 SSD에서 I/O 병렬성을 증가시키면서도 가비지 컬렉션 오버헤드를 감소시킬 수 있는 방법 및 시스템에 대한 필요성이 증대되고 있다. Accordingly, there is an increasing need for a method and system capable of reducing garbage collection overhead while increasing I / O parallelism in a multichannel SSD to improve performance of a multichannel SSD.
본 발명은 종래기술의 문제점을 해결하기 위해 안출된 것으로써, 패턴특성을 고려하여 쓰기 버퍼 및 FTL 정책을 적응적으로 적용함으로써 다중채널 SSD의 읽기 및 쓰기 I/O 병렬화를 증가시키면서도 가비지 컬렉션(GC) 오버헤드를 감소시켜 SSD 성능을 향상시킬 수 있는 다중채널 SSD의 패턴기반 관리 시스템 및 그 방법을 제공하고자 한다. SUMMARY OF THE INVENTION The present invention has been made to solve the problems of the prior art, by adaptively applying the write buffer and FTL policy in consideration of the pattern characteristics, while increasing the read and write I / O parallelism of the multi-channel SSD while the garbage collection (GC) The present invention provides a pattern-based management system and method of a multichannel SSD that can reduce SSD overhead to improve SSD performance.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 본 발명의 기재로부터 당해 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical objects to be achieved by the present invention are not limited to the above-mentioned technical problems, and other technical subjects which are not mentioned can be clearly understood by those skilled in the art from the description of the present invention .
본 발명의 실시예에 따른 다중채널 SSD의 패턴기반 관리 시스템은 쓰기버퍼, 플래시 변환계층부 및 낸드 플래시 메모리부를 포함하며, 상기 쓰기버퍼는: 상기 낸드 플래시 메모리부에 쓰기될 데이터의 패턴을 판단하는 패턴 검출 모듈; 상기 패턴 검출 모듈의 판단 결과 상기 쓰기될 데이터의 패턴이 순차적 패턴인 때 하나의 빅팀 블록을 선정 및 축출하는 단일빅팀 선정모듈; 및 상기 패턴 검출 모듈의 판단 결과 상기 쓰기될 데이터의 패턴이 랜덤 패턴인 때 복수의 빅팀 블록을 선정 및 축출하는 다중빅팀 선정모듈을 포함한다. The pattern-based management system of a multi-channel SSD according to an embodiment of the present invention includes a write buffer, a flash translation layer unit, and a NAND flash memory unit, wherein the write buffer: determines a pattern of data to be written to the NAND flash memory unit. A pattern detection module; A single big team selecting module for selecting and extracting one big team block when the pattern of the data to be written is a sequential pattern as a result of the determination of the pattern detecting module; And a multi-victim selection module for selecting and extracting a plurality of Victim blocks when the pattern of the data to be written is a random pattern as a result of the determination of the pattern detection module.
본 발명의 실시예에 따른 쓰기버퍼, 플래시 변환계층부 및 낸드 플래시 메모리부를 포함하는 다중채널 SSD의 패턴기반 관리 시스템의 관리방법은, 상기 쓰기버퍼에 포함된 패턴 검출 모듈에서 상기 낸드 플래시 메모리부에 쓰기될 데이터의 패턴을 판단하는 단계; 상기 패턴 검출 모듈의 판단 결과 상기 쓰기될 데이터의 패턴이 순차적 패턴인 때 하나의 빅팀 블록을 선정 및 축출하는 단계; 및 상기 패턴 검출 모듈의 판단 결과 상기 쓰기될 데이터의 패턴이 랜덤 패턴인 때 복수의 빅팀 블록을 선정 및 축출하는 단계를 포함한다.According to an embodiment of the present invention, a method of managing a pattern-based management system for a multichannel SSD including a write buffer, a flash translation layer unit, and a NAND flash memory unit may include: a pattern detection module included in the write buffer; Determining a pattern of data to be written; Selecting and extracting one Victim block when the pattern of the data to be written is a sequential pattern as a result of the determination of the pattern detection module; And selecting and evicting a plurality of Victim blocks when the pattern of the data to be written is a random pattern as a result of the determination of the pattern detection module.
본 발명에 따르면, 쓰기될 데이터의 패턴특성을 고려하여 쓰기 버퍼 및 FTL 정책을 적응적으로 적용함으로써 다중채널 SSD의 읽기 및 쓰기 I/O 병렬화를 증가시키면서도 가비지 컬렉션(GC) 오버헤드를 감소시켜 SSD 성능을 향상시킬 수 있는 다중채널 SSD의 패턴기반 관리 시스템 및 그 방법을 제공할 수 있다. According to the present invention, by applying the write buffer and FTL policy in consideration of the pattern characteristics of the data to be written, SSD by reducing the garbage collection (GC) overhead while increasing the read and write I / O parallelism of the multi-channel SSD It is possible to provide a pattern-based management system and method of a multi-channel SSD that can improve performance.
도1은 본 발명의 실시예에 따른 SSD를 위한 패턴기반 관리 시스템의 구조도이다.
도2는 낸드 플래시 메모리의 쓰기 및 지우기 과정을 예시한다.
도3은 낸드 플래시 메모리에서 가비지 컬렉션 과정을 예시한다.
도4는 본 발명의 실시예에 따른 SSD를 위한 패턴기반 관리 시스템에서 순차적 패턴 관리를 예시한다.
도5는 다중채널 FTL의 메모리 쓰기 과정을 예시한다.
도6는 본 발명의 실시예에 따른 SSD를 위한 패턴기반 관리 시스템에서 랜덤 패턴 관리를 예시한다.1 is a structural diagram of a pattern-based management system for an SSD according to an embodiment of the present invention.
2 illustrates a write and erase process of a NAND flash memory.
3 illustrates a garbage collection process in a NAND flash memory.
4 illustrates sequential pattern management in a pattern based management system for an SSD according to an embodiment of the present invention.
5 illustrates a memory write process of a multichannel FTL.
6 illustrates random pattern management in a pattern based management system for an SSD according to an embodiment of the present invention.
이하, 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명된다. 그러나, 본 발명의 실시형태는 여러 가지의 다른 형태로 변형될 수 있으며, 본 발명의 범위가 이하 설명하는 실시형태로만 한정되는 것은 아니다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있으며, 도면들 중 인용부호들 및 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 인용부호들로 표시됨을 유의해야 한다. 참고로 본 발명을 설명함에 있어서 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a detailed description of preferred embodiments of the present invention will be given with reference to the accompanying drawings. However, the embodiments of the present invention may be modified into various other forms, and the scope of the present invention is not limited to the embodiments described below. The shape and the size of the elements in the drawings may be exaggerated for clarity of explanation and the same reference numerals are used for the same elements and the same elements are denoted by the same quote symbols as possible even if they are displayed on different drawings Should be. In the following description, well-known functions or constructions are not described in detail to avoid unnecessarily obscuring the subject matter of the present invention.
도1은 본 발명의 실시예에 따른 다중채널 SSD를 위한 패턴기반 관리 시스템(100)의 구조도이다. 도1에 도시된 바와 같이, 본 발명의 실시예에 따른 SSD를 위한 패턴기반 관리 시스템(100)은 쓰기버퍼(200), 플래시 변환 계층부(300: FTL), 및 낸드 플래시 메모리부(400)를 포함할 수 있다. 1 is a structural diagram of a pattern-based
우선, 본 발명의 실시예에 따른 SSD에 포함되는 낸드 플래시 메모리, FTL 및 쓰기버퍼의 일반적인 기능에 대해서 먼저 알아본다. First, the general functions of the NAND flash memory, the FTL, and the write buffer included in the SSD according to an embodiment of the present invention will be described first.
일반적으로 낸드 플래시 메모리는 여러 개의 블록(block)으로 이루어져 있고 한 블록은 여러 개의 페이지(page)로 이루어져 있다. 예컨대, 하나의 블록은 64개의 페이지로 이루어져 있을 수 있으며, 하나의 블록의 크기는 128KB 그리고 하나의 페이지의 크기는 2KB일 수 있다. In general, NAND flash memory is composed of several blocks, and one block is composed of several pages. For example, one block may consist of 64 pages, one block may be 128KB in size, and one page may be 2KB in size.
낸드 플래시 메모리의 기본 동작은 읽기, 쓰기 및 지우기 3가지가 있다. 낸드 플래시 메모리에 대한 읽기 및 쓰기는 페이지 단위로 일어나며 지우기 단위는 블록 단위로 일어난다.There are three basic operations of NAND flash memory: read, write and erase. Reads and writes to NAND flash memory occur in pages and erases occur in blocks.
도2는 낸드 플래시 메모리의 쓰기 및 지우기 과정을 예시한다. 도2에서는 낸드 플래시 메모리의 "쓰기전 지우기(Erase-before-write)" 특성을 나타낸다. 즉, 낸드 플래시 메모리에서는 특정 페이지의 데이터를 업데이트하기 위해서는 그 위치에 바로 쓰기할 수 없으며, 한 블록을 지우고 난 후에 쓸 수 있다. 도2의 (a)에 도시된 바와 같이, 하나의 블록의 첫번째 페이지에 A라는 데이터를 A*로 업데이트해야 하는 경우를 예시한다. 이를 위해서, 도2의 (b)에 도시된 바와 같이, 데이터 A를 포함한 전체 블록을 지우기 해야한다. 이후, 도2의 (c)에 도시된 바와 같이 해당 페이지에 A*를 쓰기할 수 있다. 2 illustrates a write and erase process of a NAND flash memory. Fig. 2 shows the "Erase-before-write" characteristic of the NAND flash memory. That is, in NAND flash memory, in order to update data of a specific page, it is not possible to directly write to the position, but after erasing one block. As shown in FIG. 2A, a case in which data A needs to be updated to A * on the first page of one block is illustrated. For this purpose, as shown in Fig. 2B, the entire block including the data A must be erased. Thereafter, as shown in FIG. 2C, A * may be written to the corresponding page.
도1에 도시된 낸드 플래시 메모리부(400)에 포함된 제1메모리(410) 내지 제n메모리(4n0)는 각각 낸드 플래시 메모리일 수 있다. Each of the
플래시 변환 계층(FTL)은 HDD(Hard Disk Drive)가 사용하는 블록 디바이스 인터페이스를 동일하게 SSD에 사용하기 위한 구성이다. 플래시 변환 계층은 주소 매핑(address mapping)을 통해서 가상 주소를 물리 주소로 변환시킴으로써 전술한 낸드 플래시 메모리의 쓰기전 지우기 문제점을 해결할 수 있다.The flash translation layer (FTL) is a configuration for using a block device interface used by a hard disk drive (HDD) in an SSD. The flash translation layer can solve the above-described write erase problem of the NAND flash memory by converting a virtual address into a physical address through address mapping.
플래시 변환 계층(FTL)은 가비지 컬렉션(GC) 동작을 수행한다. 이러한 가비지 컬렉션 동작은 비활성화된 페이지를 모아 빈 공간을 만들기 위한 것으로서 SSD 성능에 큰 영향을 미친다. The flash translation layer (FTL) performs a garbage collection (GC) operation. This garbage collection operation is designed to collect inactive pages to make free space, which greatly affects SSD performance.
도3은 낸드 플래시 메모리에서 가비지 컬렉션 과정을 예시한다. 도3(a)에 도시된 바와 같이, A 및 B를 업데이트 하고자 할 때 A 및 B가 위치한 페이지에 바로 업데이트를 하지 않고 동일한 블록(K1)의 다른 위치에 업데이트 데이터 A* 및 B*가 쓰기된다. 이럴 경우, 종래 A 및 B가 저장된 페이지는 비활성화된다. 도3(b)에 도시된 바와 같이, A* 및 B* 데이터는 종래 블록(K1)으로부터 읽기되어 새로운 블록(K2)으로 쓰기된다. 마지막으로 도3(c)에 도시된 바와 같이, 비활성화된 데이터 A 및 B를 포함하는 종래 블록(k1)은 지우기된다. 이때, 도3(b) 및 (c)에 도시된 바와 같은 과정이 가비지 컬렉션 과정으로 지칭될 수 있다. 3 illustrates a garbage collection process in a NAND flash memory. As shown in Fig. 3 (a), when trying to update A and B, update data A * and B * are written to another position of the same block K1 without updating directly on the page where A and B are located. . In this case, the page where the conventional A and B are stored is deactivated. As shown in Fig. 3B, A * and B * data are read from the conventional block K1 and written into a new block K2. Finally, as shown in Fig. 3C, the conventional block k1 containing the deactivated data A and B is erased. At this time, the process as shown in Figure 3 (b) and (c) may be referred to as a garbage collection process.
쓰기 버퍼(write buffer)는 낸드 플래시 메모리의 쓰기 동작이 읽기 동작보다 느린 점을 보완하기 위해서 램(RAM)을 활용하여 자주 쓰기 연산이 일어나는 데이터를 버퍼링 시킴으로써 성능을 높이기 위해 사용된다. 낸드 플래시 메모리의 쓰기 동작이 읽기 동작보다 느린 특성은 가비지 컬렉션 동작으로 인해 더욱 증대될 수 있다. 또한, 쓰기 버퍼는 랜덤(random)한 쓰기 요청을 순차적인 쓰기 요청으로 변환함으로써 낸드 플래시 메모리로의 쓰기 성능을 향상시킬 수 있다. 이와 같은 변환에 따라 낸드 플래시 메모리에서 가비지 컬렉션 동작이 감소되어 쓰기 성능이 향상될 수 있다. The write buffer is used to improve performance by buffering data in which write operations are frequently performed by using RAM to compensate for the slower write operation of the NAND flash memory. The write operation of NAND flash memory is slower than the read operation may be further increased by garbage collection operations. In addition, the write buffer may improve the write performance to the NAND flash memory by converting a random write request into a sequential write request. This conversion can reduce garbage collection operations in NAND flash memory, thereby improving write performance.
SSD의 성능을 높이기 위해서는 SSD의 다중채널 특성을 활용하여 I/O 병렬성을 증가시키면서 가비지 컬렉션 오버헤드를 감소시킬 필요가 있다. 이에 적합한 플래시 변환 계층(FTL)에 대한 알고리즘 및 쓰기 버퍼 알고리즘이 요구된다. To improve SSD performance, it is necessary to take advantage of the multichannel nature of SSD to reduce garbage collection overhead while increasing I / O parallelism. There is a need for an algorithm for the Flash translation layer (FTL) and a write buffer algorithm.
하지만, I/O 병렬성의 증가와 가비지 컬렉션 오버헤드 감소 사이에는 상충관계(trade-off relation)가 존재한다. 예컨대, 다중채널 FTL을 이용하는 경우 낸드 플래시 메모리로의 쓰기 및 읽기 I/O 병렬성은 증가할 수 있지만 높은 가비지 컬렉션 오버헤드가 발생할 수 있다. 또한, 다중채널 쓰기 버퍼를 이용하는 경우 낸드 플래시 메모리로의 쓰기 I/O 병렬성이 증가하고 낮은 가비지 컬렉션 오버헤드를 가지지만, 읽기 I/O 병렬성이 감소하는 문제점이 발생한다. However, there is a trade-off between increased I / O parallelism and reduced garbage collection overhead. For example, using multichannel FTL may increase write and read I / O parallelism to NAND flash memory, but may result in high garbage collection overhead. In addition, when the multi-channel write buffer is used, write I / O parallelism to NAND flash memory is increased and low garbage collection overhead occurs, but read I / O parallelism is reduced.
즉, 낸드 플래시 메모리로의 I/O 병렬성이 증가하는 경우 가비지 컬렉션 오버헤드 또한 증가하는 문제점이 야기되고 있다. In other words, when I / O parallelism to NAND flash memory increases, garbage collection overhead also increases.
따라서, 본 발명의 실시예에서는 쓰기될 데이터의 패턴 특징에 따라 적응적으로 쓰기 버퍼와 플래시 변환 계층 알고리즘을 이용함으로써 SSD의 성능을 향상시킬 수 있다. 즉, 순차적 패턴(sequential pattern)과 랜덤 패턴(random pattern)을 구별하여 각각의 경우에 적합한 쓰기 버퍼와 플래시 변환 계층의 알고리즘을 이용할 수 있다. Therefore, in the embodiment of the present invention, the performance of the SSD may be improved by adaptively using the write buffer and the flash translation layer algorithm according to the pattern characteristic of the data to be written. That is, a sequential pattern and a random pattern can be distinguished, and an algorithm of a write buffer and a flash translation layer suitable for each case can be used.
보다 구체적으로, 순차적 패턴은 자주 업데이트 되지 않는 콜드 데이터(cold data)의 특성을 나타낸다. 이는 가비지 컬렉션 동작이 적게 발생함을 의미한다. 따라서, 순차적 패턴을 갖는 데이터의 경우 가비지 컬렉션 오버헤드를 감소시키는 노력보다 읽기 및 쓰기 I/O 병렬화를 증가시키는 것이 중요할 수 있다. More specifically, the sequential pattern represents a characteristic of cold data that is not updated frequently. This means less garbage collection operations. Thus, for data with sequential patterns, it may be important to increase read and write I / O parallelism over efforts to reduce garbage collection overhead.
랜덤 패턴은 자주 업데이트가 되는 핫 데이터(hot data)의 특성을 나타낸다. 따라서, 랜덤 패턴을 갖는 데이터의 경우 읽기 및 쓰기 I/O 병렬화를 증가시키는 것보다 가비지 컬렉션 오버헤드를 줄이는 것이 중요할 수 있다.The random pattern represents a characteristic of hot data that is frequently updated. Thus, for data with random patterns, it may be important to reduce garbage collection overhead rather than to increase read and write I / O parallelism.
이와 같은 쓰기될 데이터의 패턴 특징에 따라서 다른 관리 정책을 적용하는 것이 바람직하다. 따라서, 본 발명의 실시예에서는 다중채널 SSD에서 패턴기반의 쓰기 버퍼 및 FTL의 통합 관리 기법을 제공하고자 한다. 본 발명의 실시예에 따르면, 순차적 패턴 및 랜덤 패턴의 특성을 고려하여 각각에 대한 쓰기 버퍼 및 FTL 정책을 다르게 적용함으로써 낸드 플래시 메모리로의 읽기 및 쓰기 I/O 병렬화 증가 및 가비지 컬렉션 오버헤드를 감소시킬 수 있다. 이에 따라 다중채널 SSD의 성능이 향상될 수 있다. It is desirable to apply different management policies according to such pattern characteristics of the data to be written. Accordingly, an embodiment of the present invention is to provide an integrated management scheme of a pattern-based write buffer and FTL in a multichannel SSD. According to an embodiment of the present invention, the write buffer and the FTL policy for each of them are differently applied in consideration of the characteristics of sequential patterns and random patterns, thereby increasing read and write I / O parallelism to NAND flash memory and reducing garbage collection overhead. You can. Accordingly, the performance of the multichannel SSD can be improved.
다시 도1을 참조하여 본 발명의 실시예에 따른 다중채널 SSD의 패턴기반 관리 시스템(100) 및 그 방법을 상세하게 살펴본다. 도1에 도시된 바와 같이, 본 발명의 실시예에 따른 다중채널 SSD의 패턴기반 관리 시스템(100)은 순차적 패턴인 경우 다중채널 FTL(311)과 단일빅팀 쓰기 버퍼를 이용하여 낸드 플래시 메모리부(400)로의 쓰기 및 읽기 관리가 이루어지고, 랜덤 패턴인 경우 단일채널 FTL(321)과 다중빅팀 쓰기 버퍼를 이용하여 낸드 플래시 메모리부(400)로의 쓰기 및 읽기 관리가 이루어질 수 있다. Referring back to Figure 1 looks at in detail with respect to the pattern-based
본 발명의 실시예에 따른 쓰기버퍼(200)는 패턴 검출 모듈(210), 단일빅팀 선정모듈(211), 다중빅팀 선정모듈(221), 순차적 패딩 모듈(212) 및/또는 채널할당 모듈(222)을 포함하여 구성될 수 있다. 또한, 본 발명의 실시예에 따른 플래시 변환 계층부(300)는 다중채널 플래시 변환계층(311) 및 복수개의 단일채널 플래시 변환계층(321)을 모두 포함할 수 있다. 이와 같이 쓰기버퍼(200) 및 플래시 변환 계층(300)을 구성함으로써 순차적 패턴 및 랜덤 패턴 각각에 대해서 적합한 관리가 가능하다. The
패턴 검출 모듈(210)은 쓰기버퍼(200)에서 빅팀(victim)으로 선정될 블록의 패턴을 결정한다. 쓰기버퍼(200)는 예컨대 블록단위 LRU(Block-Level Least Recently Used)로 관리가 될 수 있으며, 이때 빅팀의 단위는 블록이 된다. 패턴 검출 모듈(210)은 빅팀 블록내에 연속된 활성화 페이지, 즉 낸드 플래시 메모리부(400)에 쓰여질 페이지 수가 특정 임계값 이상이 되면 순차적 패턴으로 판단할 수 있다. 또한, 패턴 검출 모듈(210)은 빅팀 블록내에 연속된 활성화 페이지, 즉 낸드 플래시 메모리부(400)에 쓰여질 페이지 수가 특정 임계값 미만이 되면 랜덤 패턴으로 판단할 수 있다. 여기서, 상기 임계값은 시스템(100)을 통해 달성하고자 하는 가비지 컬렉션 오버헤드 및 I/O 병렬성 정도에 따라 실시예마다 다르게 설정될 수 있다. 본 발명의 실시예에 따르면, 패턴이 쓰기버퍼(200) 내에서 검출됨으로써 정확한 패턴 판단이 가능하다. The pattern detection module 210 determines a pattern of a block to be selected as a Victim in the
패턴 검출 모듈(210)의 결과 순차적 패턴으로 판단되면 이는 후속적으로 순차적 패턴 관리 정책에 따라 관리된다. 도4는 본 발명의 실시예에 따른 SSD를 위한 패턴기반 관리 시스템(100)에서 순차적 패턴 관리를 예시한다. If it is determined that the result of the pattern detection module 210 is a sequential pattern, it is subsequently managed according to the sequential pattern management policy. 4 illustrates sequential pattern management in the pattern-based
순차적 패턴은 업데이트가 자주되지 않는 특징을 가지므로, 가비지 컬렉션 오버헤드가 상대적으로 작다. 따라서, 읽기 및 쓰기 I/O 병렬화를 극대화할 수 있도록 다중채널 FTL(311)을 사용하여 I/O 병렬화를 증가시킬 수 있다. 또한, 쓰기버퍼(200)에서 빅팀을 선정할 때 하나의 블록만을 빅팀으로 선정하여 축출(eviction)한다. 이때, 쓰기버퍼(200)에서 하나의 블록만을 빅팀으로 선정하여 축출하는 기능은 도1에 도시된 단일빅팀 선정모듈(211)을 통해서 이루어질 수 있다. The sequential pattern has a feature of infrequently updating, so the garbage collection overhead is relatively small. Therefore, I / O parallelism can be increased by using the multichannel FTL 311 to maximize read and write I / O parallelism. In addition, when selecting a big team in the
도4에 도시된 바와 같이, 쓰기버퍼(200)는 다수의 빅팀 블록(201,...,204)을 포함할 수 있으며, 이는 블록단위 LRU에 따라 배열될 수 있다. 이때, 다수의 빅팀 블록(201,...,204) 중 블록(201)이 최근 사용빈도가 가장 낮은 것이 예시된다. 이때, 페이지에 저장된 데이터가 0 내지 15까지 순차적인 패턴을 갖는 것이 예시된다. 이와 같이 쓰기될 데이터가 순차적 패턴을 나타내는 경우 단일빅팀 선정모듈(211)은 쓰기버퍼(200)에서 최근 사용빈도가 가장 낮은 블록(201)을 선정하여 축출한다. As shown in FIG. 4, the
이때, 다중채널 플래시 변환 계층(311:다중채널 FTL)은 상기 블록에 저장된 데이터를 복수의 채널로 분산하여 낸드 플래시 메모리부(400)에 쓰기되도록 할 수 있다. 예컨대, 상기 블록(201)을 구성하는 페이지 단위로 별개의 채널에 분산될 수 있다. 예컨대, 데이터0을 포함하는 페이지는 다중채널 FTL(311)을 통해 제1채널을 이용하여 제1메모리(410)에 쓰기될 수 있고, 이와 유사하게 데이터3을 포함하는 페이지는 다중채널 FTL(311)을 통해 제n채널을 이용하여 제n메모리(4n0)에 쓰기될 수 있다. In this case, the multi-channel flash translation layer 311 (multi-channel FTL) may distribute the data stored in the block into a plurality of channels to be written to the NAND
도5는 다중채널 FTL(311)의 메모리 쓰기 과정을 예시한다. 하나의 빅팀블록(201)에 포함된 각 페이지에 저장된 데이터(0,1,2,3)는 다중채널 FTL(311)의 복수의 채널 중 하나의 채널을 통해서 낸드 플래시 메모리부(400)에 포함된 제1메모리(410) 내지 제n메모리(4n0)에 쓰기될 수 있다. 예컨대, 블록(201)의 첫번째 페이지에 저장된 데이터(0)는 다중채널 FTL(311)의 제1채널을 통해서 제1메모리(410)에 쓰기될 수 있다. 이와 유사하게 데이터(1,2,3)가 각각 제2메모리(420) 내지 제n메모리(4n0)에 쓰기될 수 있다.5 illustrates a memory write process of the multichannel FTL 311. Data (0, 1, 2, 3) stored in each page included in one
도1에 도시된 바와 같이, 본 발명의 실시예에 따른 쓰기버퍼(200)는 순차적 패딩 모듈(212)을 더 포함할 수 있다. 순차적 패딩 모듈(212)은 단일빅팀 선정모듈(211)에서 선정된 빅팀 블록(201)이 순차적인 패턴을 갖지만 블록 내의 모든 페이지가 활성화되지 않은 경우에 낸드 플래시 메모리부(400)로부터 데이터를 읽어서 해당 블록내의 모든 페이지를 활성화시키는 작업을 한다. 이와 같이 블록(2010 내의 모든 페이지를 순차적이면서 활성화되도록 함으로써 I/O 병렬화를 더욱 극대화할 수 있으며, 다중채널 FTL(311)에서의 관리 오버헤드(overhead)를 줄여줄 수 있다. 이에 따라 가비지 컬렉션 오버헤드 또한 감소될 수 있다. As shown in FIG. 1, the
패턴 검출 모듈(210)의 결과 쓰기될 데이터가 랜덤 패턴을 갖는 것으로 판단되면 이는 후속적으로 랜덤 패턴 관리 정책에 따라 관리된다. 도6은 본 발명의 실시예에 따른 SSD를 위한 패턴기반 관리 시스템(100)에서 랜덤 패턴 관리를 예시한다. If it is determined that the data to be written as a result of the pattern detection module 210 has a random pattern, it is subsequently managed according to the random pattern management policy. 6 illustrates random pattern management in a pattern based
랜덤 패턴은 업데이트가 자주되는 특징을 가진다. 따라서, 가비지 컬렉션 오버헤드를 줄이는 것이 매우 중요하다. 가비지 컬렉션 오버헤드를 줄이기 위해서 본 발명의 실시예에서는 하나의 채널을 갖는 단일채널 FTL(321)을 복수개 사용할 수 있다. 이로인한 읽기 및 쓰기 I/O 병렬화 감소는 쓰기버퍼(200)에서 빅팀 선정시에 한번에 채널 개수만큼의 빅팀을 선정하여 각 채널로 할당함으로써 극복될 수 있다. 쓰기버퍼(200)에서 빅팀을 선정할 때 복수개의 블록을 빅팀으로 선정하여 축출(eviction)한다. 이때, 쓰기버퍼(200)에서 복수개의 블록을 빅팀으로 선정하여 축출하는 기능은 도1에 도시된 다중빅팀 선정모듈(221)을 통해서 이루어질 수 있다. 이로 인해 하나의 블록에 대한 읽기 I/O 병렬화는 감소하지만, 랜덤 패턴이므로 그 영향은 매우 작은 상황이 가정된다. The random pattern is characterized by frequent updates. Therefore, it is very important to reduce garbage collection overhead. In order to reduce garbage collection overhead, a plurality of single channel FTLs 321 having one channel may be used in an embodiment of the present invention. This reduction in read and write I / O parallelism can be overcome by selecting as many Victims as the number of channels at once when selecting the Victims in the
도6에 도시된 바와 같이, 쓰기버퍼(200)는 다수의 빅팀 블록(201,...,204)을 포함할 수 있으며, 이는 블록단위 LRU에 따라 배열될 수 있다. 이때, 다중빅팀 선정모듈(221)은 다수의 빅팀 블록(201,...,204) 중 최근 사용빈도가 낮은 순서로 복수개의 빅팀 블록(201,...,204)을 선정하여 축출할 수 있다. 이때, 페이지에 저장된 데이터가 임의의 패턴을 갖는 것이 예시된다. As shown in FIG. 6, the
쓰기버퍼(200)의 다중빅팀 선정모듈(221)에 의해 선정 및 축출된 복수개의 빅팀 블록들은 채널 할당 모듈(222)을 통해 각각 단일채널 FTL(321)에 할당된다. 즉, 201로 표시된 빅팀 블록은 제1단일채널 FTL(321_1)에 할당되어 제1채널을 통해 낸드 플래시 메모리부(400)에 쓰기될 수 있다. 이와 유사하게 204로 표시된 빅팀 블록은 제n단일채널 FTL(321_n)에 할당되어 제n채널을 통해 낸드 플래시 메모리부(400)에 쓰기될 수 있다. The plurality of Victim blocks selected and evicted by the
이상에서 살펴본 바와 같이, 쓰기버퍼(200)에서 다중빅팀 선정모듈(221)을 통해 선정된 복수개의 빅팀들은 채널 할당 모듈(222)을 통해 각각의 채널에 할당된다. 이때, 새로운 블록의 경우 각 채널의 지우기 횟수가 가장 작은 채널로 할당되어 채널당 지우기 횟수를 균등하게 함으로써 웨어레벨링(wear leveling)을 수행할 수 있다. 또한, 이미 채널에 할당된 블록의 경우에는 동일 채널에 할당함으로써 채널간 마이그레이션(migration) 오버헤드를 감소시킬 수 있다. As described above, the plurality of big teams selected through the multi-big
본 발명의 실시예에 따른 쓰기버퍼(200) 및/또는 플래시 변환 계층부(300) 일부 또는 전부는 전술한 바와 같은 기능을 컴퓨팅 시스템에서 수행할 수 있도록 하는 하드웨어 모듈 및/또는 소프트웨어 모듈로 구현될 수 있다.Some or all of the
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해되어야 하고, 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. will be. Therefore, it should be understood that the above-described embodiments are to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than the foregoing description, It is intended that all changes and modifications derived from the equivalent concept be included within the scope of the present invention.
100: 다중채널 SSD의 패턴기반 관리 시스템
200: 쓰기버퍼
210: 패턴 검출 모듈
211: 단일빅팀 선정모듈
221; 다중빅팀 선정모듈
212: 순차적 패딩 모듈
222: 채널 할당 모듈
300: 플래시 변환 계층부
311: 다중채널 FTL
321: 단일채널 FTL
400: 낸드 플래시 메모리부100: pattern-based management system of multi-channel SSD
200: write buffer
210: pattern detection module
211: Single Big Team Selection Module
221; Multi-Big Team Selection Module
212: Sequential Padding Module
222: channel allocation module
300: flash conversion layer
311: multichannel FTL
321: single channel FTL
400: NAND flash memory section
Claims (9)
상기 쓰기버퍼는:
상기 낸드 플래시 메모리부에 쓰기될 데이터의 패턴을 판단하는 패턴 검출 모듈;
상기 패턴 검출 모듈의 판단 결과 상기 쓰기될 데이터의 패턴이 순차적 패턴인 때 하나의 빅팀 블록을 선정 및 축출하는 단일빅팀 선정모듈; 및
상기 패턴 검출 모듈의 판단 결과 상기 쓰기될 데이터의 패턴이 랜덤 패턴인 때 복수의 빅팀 블록을 선정 및 축출하는 다중빅팀 선정모듈을 포함하는,
다중채널 SSD의 패턴기반 관리 시스템.A pattern-based management system of a multichannel SSD including a write buffer, a flash translation layer unit, and a NAND flash memory unit,
The write buffer is:
A pattern detection module that determines a pattern of data to be written to the NAND flash memory unit;
A single big team selecting module for selecting and extracting one big team block when the pattern of the data to be written is a sequential pattern as a result of the determination of the pattern detecting module; And
And a multi-team selection module for selecting and evicting a plurality of big team blocks when the pattern of the data to be written is a random pattern as a result of the determination of the pattern detection module.
Pattern based management system of multi-channel SSD.
상기 플래시 변환계층부는:
상기 단일빅팀 선정모듈을 통해 선정 및 축출된 상기 하나의 빅팀 블록에 포함된 데이터를 복수의 채널을 통해 분산하여 상기 낸드 플래시 메모리부에 쓰기되도록 하는 다중채널 플래시 변환계층; 및
상기 다중빅팀 선정모듈을 통해 선정 및 축출된 상기 복수의 빅팀 블록을 하나씩 할당받아 별개의 채널을 통해 상기 낸드 플래시 메모리부에 쓰기되도록 하는 복수의 단일채널 플래시 변환계층을 포함하는,
다중채널 SSD의 패턴기반 관리 시스템. The method of claim 1,
The flash conversion layer unit:
A multi-channel flash conversion layer for distributing data included in the one big team block selected and evicted by the single big team selection module through a plurality of channels to be written to the NAND flash memory unit; And
And a plurality of single channel flash conversion layers configured to receive the plurality of Victim blocks selected and evicted through the multi-victim selection module one by one and write them to the NAND flash memory through a separate channel.
Pattern based management system of multi-channel SSD.
상기 쓰기버퍼는:
상기 낸드 플래시 메모리부로부터 데이터를 읽어와 상기 단일빅팀 선정모듈을 통해 선정 및 축출된 상기 하나의 빅팀 블록 내에 활성화되지 않은 페이지를 활성화시키는 순차적 패딩 모듈을 더 포함하는,
다중채널 SSD의 패턴기반 관리 시스템. 3. The method of claim 2,
The write buffer is:
And a sequential padding module configured to read data from the NAND flash memory unit and to activate an unactivated page in the one Victim block selected and evicted through the single Victim selection module.
Pattern based management system of multi-channel SSD.
상기 쓰기버퍼는:
상기 다중빅팀 선정모듈을 통해 선정 및 축출된 상기 복수의 빅팀 블록 각각을 상기 복수의 단일채널 플래시 변환계층에 할당하는 채널 할당 모듈을 더 포함하는,
다중채널 SSD의 패턴기반 관리 시스템. The method according to claim 2 or 3,
The write buffer is:
And a channel allocation module for assigning each of the plurality of Victim blocks selected and evicted through the multi-victim selection module to the plurality of single channel flash translation layers.
Pattern based management system of multi-channel SSD.
상기 쓰기버퍼에 포함된 패턴 검출 모듈에서 상기 낸드 플래시 메모리부에 쓰기될 데이터의 패턴을 판단하는 단계;
상기 패턴 검출 모듈의 판단 결과 상기 쓰기될 데이터의 패턴이 순차적 패턴인 때 하나의 빅팀 블록을 선정 및 축출하는 단계; 및
상기 패턴 검출 모듈의 판단 결과 상기 쓰기될 데이터의 패턴이 랜덤 패턴인 때 복수의 빅팀 블록을 선정 및 축출하는 단계를 포함하는,
다중채널 SSD의 패턴기반 관리 시스템의 관리방법.A method of managing a pattern-based management system of a multichannel SSD including a write buffer, a flash conversion layer unit, and a NAND flash memory unit,
Determining a pattern of data to be written to the NAND flash memory unit by a pattern detection module included in the write buffer;
Selecting and extracting one Victim block when the pattern of the data to be written is a sequential pattern as a result of the determination of the pattern detection module; And
Selecting and evicting a plurality of Victim blocks when the pattern of the data to be written is a random pattern as a result of the determination of the pattern detection module;
A method of managing pattern-based management system of multi-channel SSD.
하나의 빅팀 블록을 선정 및 축출하는 단계 후에:
상기 플래시 변환계층부에 포함된 다중채널 플래시 변환계층을 통해 상기 하나의 빅팀 블록에 포함된 데이터를 복수의 채널을 통해 분산하여 상기 낸드 플래시 메모리부에 쓰기하는 단계를 더 포함하는,
다중채널 SSD의 패턴기반 관리 시스템의 관리방법. 6. The method of claim 5,
After the step of selecting and ousting one Big Team block:
The method may further include distributing data included in the one Victim block through a plurality of channels through the multi-channel flash conversion layer included in the flash conversion layer unit and writing the data to the NAND flash memory unit.
A method of managing pattern-based management system of multi-channel SSD.
상기 복수의 빅팀 블록을 선정 및 축출하는 단계 후에:
상기 플래시 변환계층부에 포함된 복수의 단일채널 플래시 변환계층을 통해 상기 복수의 빅팀 블록을 하나씩 할당받아 별개의 채널을 통해 상기 낸드 플래시 메모리부에 쓰기하는 단계를 더 포함하는,
다중채널 SSD의 패턴기반 관리 시스템의 관리방법.6. The method of claim 5,
After selecting and evicting the plurality of Victim blocks:
And receiving the plurality of Victim blocks one by one through a plurality of single channel flash conversion layers included in the flash conversion layer unit and writing the plurality of Victim blocks to the NAND flash memory unit through a separate channel.
A method of managing pattern-based management system of multi-channel SSD.
상기 쓰기하는 단계 전에:
상기 낸드 플래시 메모리부로부터 데이터를 읽어와 상기 하나의 빅팀 블록 내에 활성화되지 않은 페이지를 활성화시키는 단계를 더 포함하는,
다중채널 SSD의 패턴기반 관리 시스템의 관리방법. The method according to claim 6,
Before the above write step:
And reading data from the NAND flash memory unit to activate a page that is not activated in the one big block.
A method of managing pattern-based management system of multi-channel SSD.
상기 쓰기하는 단계 전에:
상기 복수의 빅팀 블록 각각을 상기 복수의 단일채널 플래시 변환계층에 할당하는 단계를 더 포함하는,
다중채널 SSD의 패턴기반 관리 시스템의 관리방법.8. The method of claim 7,
Before the above write step:
Allocating each of the plurality of Victim blocks to the plurality of single channel flash translation layers;
A method of managing pattern-based management system of multi-channel SSD.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130010978A KR101381597B1 (en) | 2013-01-31 | 2013-01-31 | Pattern-aware management system for multi-channel ssd and method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130010978A KR101381597B1 (en) | 2013-01-31 | 2013-01-31 | Pattern-aware management system for multi-channel ssd and method therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101381597B1 true KR101381597B1 (en) | 2014-04-07 |
Family
ID=50656599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130010978A KR101381597B1 (en) | 2013-01-31 | 2013-01-31 | Pattern-aware management system for multi-channel ssd and method therefor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101381597B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10891073B2 (en) | 2018-04-05 | 2021-01-12 | Research & Business Foundation Sungkyunkwan University | Storage apparatuses for virtualized system and methods for operating the same |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120003282A (en) * | 2010-07-02 | 2012-01-10 | 삼성전자주식회사 | Memory system selecting write mode of data block and data write method thereof |
KR20120074707A (en) * | 2010-12-28 | 2012-07-06 | 한양대학교 산학협력단 | Flash memory based storage and method for address mapping and data allocation therefor |
KR20120131579A (en) * | 2011-05-26 | 2012-12-05 | 에스코어 주식회사 | Flash file system |
-
2013
- 2013-01-31 KR KR1020130010978A patent/KR101381597B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120003282A (en) * | 2010-07-02 | 2012-01-10 | 삼성전자주식회사 | Memory system selecting write mode of data block and data write method thereof |
KR20120074707A (en) * | 2010-12-28 | 2012-07-06 | 한양대학교 산학협력단 | Flash memory based storage and method for address mapping and data allocation therefor |
KR20120131579A (en) * | 2011-05-26 | 2012-12-05 | 에스코어 주식회사 | Flash file system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10891073B2 (en) | 2018-04-05 | 2021-01-12 | Research & Business Foundation Sungkyunkwan University | Storage apparatuses for virtualized system and methods for operating the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2715510B1 (en) | Method for storage devices to achieve low write amplification with low over provision | |
US9785558B2 (en) | Mixed cache management | |
US9047200B2 (en) | Dynamic redundancy mapping of cache data in flash-based caching systems | |
US8954656B2 (en) | Method and system for reducing mapping table size in a storage device | |
KR102050732B1 (en) | Computing system and method for managing data in the system | |
KR20130096881A (en) | Flash memory device | |
US20170228191A1 (en) | Systems and methods for suppressing latency in non-volatile solid state devices | |
US20140223072A1 (en) | Tiered Caching Using Single Level Cell and Multi-Level Cell Flash Technology | |
KR20200116372A (en) | Storage device, controller and operating method of controller thereof | |
US10853252B2 (en) | Performance of read operations by coordinating read cache management and auto-tiering | |
CN113254358A (en) | Method and system for address table cache management | |
US11630779B2 (en) | Hybrid storage device with three-level memory mapping | |
KR101180288B1 (en) | Method for managing the read and write cache in the system comprising hybrid memory and ssd | |
US20210248086A1 (en) | Prefetching data elements within a heterogeneous cache | |
KR20120037218A (en) | Method for managing mapping table of ssd device | |
Yao et al. | HDFTL: An on-demand flash translation layer algorithm for hybrid solid state drives | |
KR101381597B1 (en) | Pattern-aware management system for multi-channel ssd and method therefor | |
KR20150127434A (en) | Memory management apparatus and control method thereof | |
US10101934B1 (en) | Memory allocation balancing for storage systems | |
US11182307B2 (en) | Demoting data elements from cache using ghost cache statistics | |
US10552325B2 (en) | Reducing write-backs to memory by controlling the age of cache lines in lower level cache | |
KR100962186B1 (en) | Ultra low power storage system and data management method thereof | |
Kim et al. | Advil: A pain reliever for the storage performance of mobile devices | |
Jung et al. | Hierarchical use of heterogeneous flash memories for high performance and durability | |
Shim et al. | MNK: Configurable hybrid flash translation layer for multi-channel SSD |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170224 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |