KR101162679B1 - Solid state disk using multi channel cache and method for storing cache data using it - Google Patents

Solid state disk using multi channel cache and method for storing cache data using it Download PDF

Info

Publication number
KR101162679B1
KR101162679B1 KR1020100072186A KR20100072186A KR101162679B1 KR 101162679 B1 KR101162679 B1 KR 101162679B1 KR 1020100072186 A KR1020100072186 A KR 1020100072186A KR 20100072186 A KR20100072186 A KR 20100072186A KR 101162679 B1 KR101162679 B1 KR 101162679B1
Authority
KR
South Korea
Prior art keywords
cache
data
slice
channel
address
Prior art date
Application number
KR1020100072186A
Other languages
Korean (ko)
Other versions
KR20120010698A (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 KR1020100072186A priority Critical patent/KR101162679B1/en
Publication of KR20120010698A publication Critical patent/KR20120010698A/en
Application granted granted Critical
Publication of KR101162679B1 publication Critical patent/KR101162679B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

본 발명은 캐쉬의 데이터 채널을 다수개로 구성하여 캐쉬 데이터의 전송속도를 향상시킬 수 있도록 해주는 솔리드 스테이트 디스크 및 캐쉬 데이터 저장방법을 제공하는데 그 목적이 있다.
상기한 목적을 달성하기 위한 본 발명의 솔리드 스테이트 디스크는, 제어부, 낸드 플래시 메모리, 캐쉬 메모리, 버퍼 및 호스트 인터페이스로 이루어진 솔리드 스테이트 디스크에 있어서, 상기 버퍼는 2개 이상으로 구성되고, 상기 2개 이상의 버퍼와 상기 낸드 플래시 메모리, 캐쉬 메모리 및 호스트 인터페이스는 각각 독립적으로 연결된 2개 이상의 캐쉬 데이터 채널로 구성되며, 상기 제어부는 미리 정해진 기준에 따라 상기 2개 이상의 캐쉬 데이터 채널을 통해 호스트 컴퓨터와 독립적으로 데이터를 전송한다.
SUMMARY OF THE INVENTION An object of the present invention is to provide a solid state disk and a cache data storage method for improving the transmission speed of cache data by configuring a plurality of cache data channels.
In the solid state disk of the present invention for achieving the above object, the solid state disk comprising a control unit, a NAND flash memory, a cache memory, a buffer and a host interface, the buffer is composed of two or more, the two or more The buffer, the NAND flash memory, the cache memory, and the host interface each consist of two or more cache data channels independently connected to each other, and the control unit independently of the host computer through the two or more cache data channels according to a predetermined criterion. Send it.

Description

다채널 캐쉬를 이용한 솔리드 스테이트 디스크 및 캐쉬 데이터 저장방법{SOLID STATE DISK USING MULTI CHANNEL CACHE AND METHOD FOR STORING CACHE DATA USING IT}Solid state disk and cache data storage method using multi-channel cache {SOLID STATE DISK USING MULTI CHANNEL CACHE AND METHOD FOR STORING CACHE DATA USING IT}

본 발명은 다채널 캐쉬를 이용한 솔리드 스테이트 디스크 및 캐쉬 데이터 저장방법에 관한 것으로서, 보다 상세하게는 캐쉬의 데이터 채널을 다수개로 구성하여 캐쉬 데이터의 전송속도를 향상시킬 수 있도록 해주는 솔리드 스테이트 디스크 및 캐쉬 데이터 저장방법에 관한 것이다.The present invention relates to a solid state disk and a cache data storage method using a multi-channel cache, and more particularly, to a solid state disk and cache data to improve the transmission speed of the cache data by configuring a plurality of cache data channels It relates to a storage method.

일반적으로, 컴퓨터, 디지털 카메라, PDA 및 다양한 모바일 장치와 같은 전자 장치에는 데이터를 저장하기 위한 메모리 장치가 구비된다. 이러한 메모리 장치로는 전원이 차단된 이후 데이터가 삭제되는 휘발성 메모리(Volatile Memory)인 디램(DRAM) 및 에스램(SRAM)과, 전원이 차단된 이후에도 데이터가 계속해서 남는 비휘발성 메모리(Non Volatile Memory)인 플래시(FLASH), 피램(PRAM) 및 에프램(FRAM) 등이 있다. 이 중에서 플래시 메모리는 다른 메모리들과는 달리 비휘발성을 가지면서도 전력 소모가 적으며 크기가 작아서 디지털 카메라, PDA 및 모바일 장치와 같은 소형 전자 장치의 저장 장치로서 널리 사용되고 있다. BACKGROUND In general, electronic devices such as computers, digital cameras, PDAs, and various mobile devices are equipped with memory devices for storing data. Such memory devices include DRAM and SRAM, which are volatile memory, in which data is deleted after the power is cut off, and non-volatile memory in which data remains after the power is cut off. ) FLASH, PRAM and FRAM. Among them, flash memory, unlike other memories, has low power consumption and small size, and thus is widely used as a storage device for small electronic devices such as digital cameras, PDAs, and mobile devices.

최근에는 하드 디스크를 대체할 수 있는 대용량 데이터 저장장치로서 낸드 플래시 메모리를 이용한 솔리드 스테이트 디스크(Solid State Disk, SSD)에 대한 연구가 활발히 이루어지고 있다.Recently, researches on solid state disks (SSDs) using NAND flash memory as a large-capacity data storage device replacing hard disks have been actively conducted.

그러나, 낸드 플래시 메모리는 구조적으로 쓰기 연산 동작을 실행할 때, 이미 저장된 데이터가 있는 블록에는 또다시 중첩하여 기록할 수 없는 특성을 지니기 때문에 새로운 블록에 갱신된 데이터를 기록하고 이전 데이터가 저장된 블록을 삭제하는 삭제 연산을 필요로 한다. 이로 인해 쓰기 연산은 시간이 오래 걸리게 되고, 최근에 수행하던 데이터 또는 빈번하게 사용되는 데이터를 액세스(access)하는데에도 시간이 오래 걸리는 문제점이 있었다. However, since the NAND flash memory has a characteristic that when a write operation is structurally executed, a block having data already stored cannot be overlaid and written again, the updated data is written to a new block and the block in which the old data is stored is deleted. Requires a delete operation. As a result, the write operation may take a long time, and it may take a long time to access recently performed data or frequently used data.

이러한 데이터 전송속도의 제한, 다시 말해 낸드 플래시 메모리의 느린 액세스 속도(Access Speed), 긴 읽기/삭제(Write/Erase) 대기시간 등의 문제점을 해결하기 위하여 대부분의 솔리드 스테이트 디스크에서는 캐쉬 시스템을 채용하고 있다. 그러나, 종래의 솔리드 스테이트 디스크는 아래에서 도 1을 참조로 설명하는 단일 채널 캐쉬 시스템을 채용하고 있다. In order to solve such limitations of data transfer rate, that is, slow access speed of NAND flash memory and long read / erase latency, most solid state disks employ a cache system. have. However, the conventional solid state disk employs a single channel cache system described below with reference to FIG. 1.

솔리드 스테이트 디스크의 제어부(10)는 호스트 컴퓨터로부터 데이터 전송 명령을 받은 경우 주 기억장치인 낸드 플래시 메모리(20) 또는 캐쉬 메모리(30)로부터 대상 데이터를 추출하여 하나의 버퍼(40)에 저장한 다음 호스트 인터페이스(50)를 통해 호스트 컴퓨터로 전송한다. 이러한 단일 채널의 캐쉬 시스템은 호스트 인터페이스(50)의 접근 빈도 및 시기가 빈번하거나 일정치 않을 경우 낸드 플래시 메모리의 데이터 플러싱(Flushing) 및 필링(Filling) 동작의 경합이 자주 발생하여 호스트 인터페이스(50)의 접근 속도가 저하되는 문제점이 있었다. When the control unit 10 of the solid state disk receives a data transfer command from the host computer, the control unit 10 extracts the target data from the NAND flash memory 20 or the cache memory 30, which is the main storage, and stores the target data in one buffer 40. Transfer to the host computer via the host interface 50. In such a single channel cache system, when the frequency and timing of access of the host interface 50 are frequent or inconsistent, contention of data flushing and filling operations of the NAND flash memory occurs frequently, thereby causing the host interface 50 to fail. There was a problem that the approach speed of the.

특히 호스트 인터페이스(50)를 통한 데이터 접근 지역이 연속적이 아니라 랜덤하게 일어나게 되면, 캐쉬의 히트율(Hit ratio)이 떨어지면서 낸드플래시의 데이터 플러싱 및 필링 동작이 빈번하게 발생하여 호스트 인터페이스의 접근속도가 현저하게 감소된다는 점에서 데이터의 고속 접근의 한계성을 가지게 된다.In particular, if the data access area through the host interface 50 occurs randomly instead of continuously, the hit ratio of the cache decreases and data flushing and filling operations of the NAND flash frequently occur, thereby increasing the access speed of the host interface. There is a limit of fast access of data in that it is significantly reduced.

본 발명은 이러한 종래 솔리드 스테이트 디스크의 캐쉬 시스템이 가지는 문제점을 해결하기 위하여 제안된 것으로서, 다채널의 캐쉬 시스템을 채용하는 한편 각 채널별로 데이터를 전송하는 우선순위를 정하여 캐쉬 데이터의 전송속도를 향상시킬 수 있도록 하는데 주된 목적이 있다.The present invention has been proposed to solve the problems of the conventional solid state disk cache system, and employs a multi-channel cache system and improves the transmission speed of the cache data by determining the priority of data transmission for each channel. The main purpose is to make it possible.

또한, 다채널 캐쉬에 데이터를 저장함에 있어서 하나의 슬라이스에 데이터를 저장할 때마다 캐쉬 내에 비어있는 슬라이스가 있는지를 체크하고, 비어있는 슬라이스가 없는 경우에는 해당 데이터를 저장하는 동작과 다른 슬라이스를 플러싱하는 동작이 동시에 일어나도록 함으로써, 캐쉬 내에 비어있는 슬라이스를 항상 확보함으로써 캐쉬 데이터의 전송속도를 더욱 향상시키는데 또 다른 목적이 있다. In addition, when storing data in a multi-channel cache, each time data is stored in one slice, it is checked whether there is an empty slice in the cache, and when there is no empty slice, the operation of storing the data and flushing another slice are performed. It is another object to further improve the transmission speed of the cache data by always allowing empty slices in the cache by allowing the operations to occur simultaneously.

상기한 목적을 달성하기 위한 본 발명의 다채널 캐쉬를 이용한 솔리드 스테이트 디스크는, 제어부, 낸드 플래시 메모리, 캐쉬 메모리, 버퍼 및 호스트 인터페이스로 이루어진 솔리드 스테이트 디스크에 있어서, 상기 버퍼는 2개 이상으로 구성되고, 상기 2개 이상의 버퍼와 상기 낸드 플래시 메모리, 캐쉬 메모리 및 호스트 인터페이스는 각각 독립적으로 연결된 2개 이상의 캐쉬 데이터 채널로 구성되며, 상기 제어부는 미리 정해진 기준에 따라 상기 2개 이상의 캐쉬 데이터 채널을 통해 호스트 컴퓨터와 독립적으로 데이터를 전송한다.In the solid state disk using the multi-channel cache of the present invention for achieving the above object, in the solid state disk comprising a control unit, NAND flash memory, cache memory, a buffer and a host interface, the buffer is composed of two or more The at least two buffers, the NAND flash memory, the cache memory, and the host interface are configured with at least two cache data channels independently connected to each other, and the controller controls the host through the at least two cache data channels according to a predetermined criterion. Transfer data independently of the computer.

하나의 실시예로서, 상기 제어부는 각 데이터 입출력 이벤트별로 정해진 우선순위에 따라 상기 2개 이상의 캐쉬 데이터 채널을 통해 데이터를 전송할 수 있다.According to an embodiment, the controller may transmit data through the two or more cache data channels according to a priority determined for each data input / output event.

다른 실시예로서, 상기 제어부는 상기 2개 이상의 캐쉬 데이터 채널을 교대로 사용하는 라운드 로빈(Round Robin) 방식에 따라 데이터를 전송할 수 있다.In another embodiment, the controller may transmit data according to a round robin scheme using alternately two or more cache data channels.

또 다른 실시예로서, 상기 제어부는 일정 수의 데이터를 묶어서 매스 데이터(Mass data)로 전송할 수 있다.
In another embodiment, the controller may bundle a predetermined number of data and transmit the data as mass data.

상기한 목적을 달성하기 위한 본 발명의 다채널 캐쉬를 이용한 캐쉬 데이터 저장방법은, 다채널 캐쉬를 이용한 솔리드 스테이트 디스크를 사용하여 캐쉬 데이터를 저장하는 방법으로서, 호스트 컴퓨터로부터 데이터 수신 명령을 받은 단계; 수신 명령의 대상이 되는 해당 데이터의 주소와 일치하는 주소를 갖는 슬라이스가 캐쉬 메모리에 존재하는지 여부를 검색하는 단계; 캐쉬 메모리 내에 해당 데이터의 주소와 일치하는 주소를 갖는 슬라이스가 존재하는 경우, 캐쉬 메모리 내에 비어있는 슬라이스가 있는지 여부를 판단하는 단계; 및 상기 판단 결과 캐쉬 메모리 내에 비어있는 슬라이스가 없는 경우에는, 하나의 캐쉬 데이터 채널을 이용하여 해당 데이터를 상기 주소가 일치하는 슬라이스 내에 저장함과 동시에 다른 캐쉬 데이터 채널을 이용하여 특정 슬라이스를 플러싱하는 단계;를 포함한다.The cache data storage method using the multi-channel cache of the present invention for achieving the above object is a method for storing the cache data using a solid state disk using a multi-channel cache, comprising the steps of: receiving a data receiving command from a host computer; Searching whether there is a slice in the cache memory having an address that matches an address of a corresponding data that is a target of a reception command; Determining whether there is an empty slice in the cache memory when a slice having an address that matches the address of the data exists in the cache memory; And if there is no empty slice in the cache memory, storing the data in one slice using the one cache data channel and flushing the specific slice using another cache data channel. It includes.

또한, 상기 판단 결과 캐쉬 메모리 내에 비어있는 슬라이스가 있는 경우에는, 하나의 캐쉬 데이터 채널을 이용하여 해당 데이터를 주소가 일치하는 슬라이스 내에 저장하는 단계를 더 포함할 수 있다.In addition, when there is an empty slice in the cache memory as a result of the determination, the method may further include storing the corresponding data in the slice having the same address using one cache data channel.

본 발명의 또 다른 다채널 캐쉬를 이용한 캐쉬 데이터 저장방법은, 다채널 캐쉬를 이용한 솔리드 스테이트 디스크를 사용하여 캐쉬 데이터를 저장하는 방법으로서, 호스트 컴퓨터로부터 데이터 수신 명령을 받은 단계; 수신 명령의 대상이 되는 해당 데이터의 주소와 일치하는 주소를 갖는 슬라이스가 캐쉬 메모리에 존재하는지 여부를 검색하는 단계; 캐쉬 메모리 내에 해당 데이터의 주소와 일치하는 주소를 갖는 슬라이스가 존재하지 않는 경우, 비어 있는 새로운 슬라이스에 해당 데이터의 주소를 갖는 낸드 플래시 메모리로부터 데이터를 전송받아 필링하는 단계; 캐쉬 메모리 내에 비어있는 슬라이스가 있는지 여부를 판단하는 단계; 및 상기 판단 결과 캐쉬 메모리 내에 비어있는 슬라이스가 없는 경우에는, 하나의 캐쉬 데이터 채널을 이용하여 해당 데이터를 상기 필링된 슬라이스에 저장함과 동시에 다른 캐쉬 데이터 채널을 이용하여 특정 슬라이스를 플러싱하는 단계;를 포함한다.Another cache data storage method using a multi-channel cache of the present invention is a method for storing cache data using a solid state disk using a multi-channel cache, comprising the steps of: receiving a data reception command from a host computer; Searching whether there is a slice in the cache memory having an address that matches an address of a corresponding data that is a target of a reception command; If a slice having an address that matches the address of the corresponding data does not exist in the cache memory, receiving and filling data from a NAND flash memory having the address of the corresponding data in a new empty slice; Determining whether there is an empty slice in the cache memory; And if there is no empty slice in the cache memory, storing the corresponding data in the filled slice using one cache data channel and flushing a specific slice using another cache data channel. do.

또한, 상기 판단 결과 캐쉬 메모리 내에 비어있는 슬라이스가 있는 경우에는, 하나의 캐쉬 데이터 채널을 이용하여 해당 데이터를 상기 필링된 슬라이스 내에 저장하는 단계를 더 포함할 수 있다.In addition, when there is an empty slice in the cache memory as a result of the determination, the method may further include storing corresponding data in the filled slice using one cache data channel.

상기와 같이 구성된 본 발명의 다채널 캐쉬를 이용한 솔리드 스테이트 디스크에 의하면, 다수개의 데이터를 미리 정해진 기준에 따라 다채널 캐쉬를 통해 호스트 컴퓨터와 독립적으로 데이터를 전송할 수 있기 때문에 낸드 플래시 메모리의 한계점인 느린 데이터 접근 속도를 개선할 수 있다.According to the solid state disk using the multi-channel cache of the present invention configured as described above, since a plurality of data can be transferred independently of the host computer through the multi-channel cache according to a predetermined criterion, it is a slow point of NAND flash memory. Speed up data access.

또한, 본 발명의 다채널 캐쉬를 이용한 캐쉬 데이터 저장방법에 의하면, 캐쉬 메모리 내에 비어 있는 슬라이스를 항상 확보할 수 있기 때문에 데이터 플러싱 시간을 단축시켜 데이터 접근 속도를 더욱 향상시킬 수 있다.In addition, according to the cache data storage method using the multi-channel cache of the present invention, an empty slice can always be secured in the cache memory, thereby shortening the data flushing time and further improving the data access speed.

또한, 캐쉬의 슬라이스 단위를 Zone 번호, Logical Block 번호, Section 번호로 구성함으로써, 낸드 플래시의 플러싱 및 필링 동작을 더욱 빠르게 구현할 수 있다. In addition, by configuring the slice unit of the cache to the Zone number, Logical Block number, Section number, it is possible to implement the flushing and filling operation of the NAND flash faster.

도 1은 종래의 단일 채널 캐쉬를 이용한 솔리드 스테이트 디스크의 블록도.
도 2는 본 발명의 다채널 캐쉬를 이용한 솔리드 스테이트 디스크의 블록도.
도 3은 본 발명의 다채널 캐쉬를 이용한 데이터 전송의 예를 도시한 도면.
도 4는 본 발명의 다채널 캐쉬를 이용한 캐쉬 데이터 저장방법을 나타낸 순서도.
도 5는 본 발명의 슬라이스 구성을 나타낸 도면.
1 is a block diagram of a solid state disk using a conventional single channel cache.
2 is a block diagram of a solid state disk using the multichannel cache of the present invention.
3 illustrates an example of data transmission using the multichannel cache of the present invention.
Figure 4 is a flow chart illustrating a cache data storage method using a multi-channel cache of the present invention.
5 is a diagram showing a slice configuration of the present invention.

이하에서 첨부된 도면을 참조로 본 발명의 바람직한 일 실시예를 보다 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.

도 2는 본 발명에 따른 다채널 캐쉬를 이용한 솔리드 스테이트 디스크의 구성 블록도이다.2 is a block diagram of a solid state disk using a multi-channel cache according to the present invention.

본 발명의 솔리드 스테이트 디스크는 제어부(10), 낸드 플래시 메모리(20), 캐쉬 메모리(30), 버퍼(41,42) 및 호스트 인터페이스(50)로 이루어져 있다는 점에서 도 1에 도시된 종래의 솔리드 스테이트 디스크와 동일하다.The solid state disk of the present invention is a conventional solid shown in FIG. 1 in that it consists of a control unit 10, a NAND flash memory 20, a cache memory 30, a buffer 41, 42, and a host interface 50. Same as state disk.

그러나, 본 발명은 상기 버퍼가 제1 버퍼(41) 및 제2 버퍼(42)의 2개로 구성되고, 2개의 버퍼(41,42)와 상기 낸드 플래시 메모리(20), 캐쉬 메모리(30) 및 호스트 인터페이스(50)는 각각 독립적으로 연결된 캐쉬 데이터 채널로 구성된다. 그리고, 상기 제어부(10)는 미리 정해진 기준에 따라 상기 2개의 캐쉬 데이터 채널을 통해 호스트 컴퓨터와 독립적으로 데이터를 전송할 수 있도록 구성된다.However, in the present invention, the buffer is composed of two of the first buffer 41 and the second buffer 42, the two buffers 41 and 42, the NAND flash memory 20, the cache memory 30 and The host interface 50 is composed of cache data channels connected to each other independently. The controller 10 is configured to transmit data independently of a host computer through the two cache data channels according to predetermined criteria.

도 2에는 비록 2개의 버퍼(41,42)를 이용한 캐쉬 데이터 채널을 예시하고 있으나, 본 발명은 이에 한정되지 아니하고, 2개 이상의 캐쉬 데이터 채널을 구성할 수 있음은 물론이다. 이러한 다채널 캐쉬 시스템은 캐쉬 메모리(30)와 버퍼(41,42)가 독립적으로 연결될 뿐만 아니라, 각 버퍼(41,42)에 대한 데이터 전송로가 각 인터페이스별로 독립적으로 구성된다는 것을 의미한다.Although FIG. 2 illustrates a cache data channel using two buffers 41 and 42, the present invention is not limited thereto, and two or more cache data channels may be configured. This multi-channel cache system means that the cache memory 30 and the buffers 41 and 42 are connected independently, and the data transmission paths for the buffers 41 and 42 are configured independently for each interface.

이와 같이, 2개 이상의 캐쉬 데이터 채널을 구성하기 위하여 상기 낸드 플래시 메모리(20)는 다수개의 낸드 플래시 메모리가 각 캐쉬 데이터 채널별로 그룹핑(Grouping)되어 동작되도록 구성되고, 상기 캐쉬 메모리(30)는 SDRAM, DDR, DDR2, FRAM과 같은 고속 메모리를 사용하여 각 캐쉬 데이터 채널과 연결되며, 상기 호스트 인터페이스(50)는 ATA, SATA, SAS, USB, PCI EXPRESS와 같은 다양한 통신 인터페이스를 사용하여 각 캐쉬 데이터 채널과 연결된다. As described above, in order to configure two or more cache data channels, the NAND flash memory 20 is configured such that a plurality of NAND flash memories are operated by grouping each cache data channel, and the cache memory 30 is an SDRAM. Is connected to each cache data channel using high speed memory such as DDR, DDR2, and FRAM, and the host interface 50 uses each communication data channel using various communication interfaces such as ATA, SATA, SAS, USB, and PCI EXPRESS. Connected with

상기와 같이 구성된 다채널 캐쉬 시스템을 이용하여 효과적으로 데이터를 처리하기 위해서는 다음과 같이 미리 정해진 기준에 따라 이벤트를 처리하는 것이 바람직하다.In order to effectively process data using the multi-channel cache system configured as described above, it is preferable to process an event according to a predetermined criterion as follows.

먼저, 상기 제어부(10)는 각 데이터 입출력 이벤트별로 정해진 우선순위에 따라 2개 이상의 캐쉬 데이터 채널을 통해 데이터를 전송한다. 예를 들어 각 채널별로 일반 데이터의 전송보다 리프레쉬(Refresh) 이벤트를 먼저 처리하도록 제어한다(예: 리프레쉬 이벤트 -> 채널 1의 데이터 처리 -> 채널 2의 데이터 처리).First, the controller 10 transmits data through two or more cache data channels according to priorities determined for each data input / output event. For example, each channel is controlled to process a refresh event before transmission of general data (for example, refresh event-> data processing in channel 1-> data processing in channel 2).

또한, 상기 제어부(10)는 2개 이상의 캐쉬 데이터 채널을 교대로 사용하는 라운드 로빈(Round Robin) 방식에 따라 데이터를 전송한다. 예를 들어, 단일 버스 안에서 2개의 캐쉬 데이터 채널을 통해 데이터를 전송해야 하는 경우 양 채널을 교대로 사용하도록 제어한다(예: 채널 1 -> 채널 2 -> 채널 1 -> 채널 2).In addition, the control unit 10 transmits data according to a round robin method using alternately two or more cache data channels. For example, if data needs to be transmitted over two cache data channels within a single bus, control to use both channels alternately (for example, channel 1-> channel 2-> channel 1-> channel 2).

또한, 상기 제어부(10)는 단일 버스 안에서 2개 이상의 캐쉬 데이터 채널을 통해서 대용량의 데이터를 전송하는 경우 각 채널의 데이터를 일정 수의 데이터로 묶어서 매스 데이터(Mass data)로 전송한다. 해당 캐쉬 데이터 채널의 매스 데이터 전송이 완료되면 상기한 우선순위, 라운드 로빈 방식 등에 의해 다음 매스 데이터나 다른 이벤트를 처리한다.In addition, when transmitting a large amount of data through two or more cache data channels in a single bus, the controller 10 bundles the data of each channel into a certain number of data and transmits the data as mass data. When mass data transmission of the corresponding cache data channel is completed, the next mass data or other event is processed by the above priority, round robin method, and the like.

도 3은 위 3가지 기준에 따라 데이터를 처리하는 일 예가 도시되어 있다.3 shows an example of processing data according to the above three criteria.

캐쉬 데이터 채널 1 및 2에는 각각 3개의 매스 데이터가 있고, 각 채널은 라운드 로빈 방식에 의해 데이터 전송 순서가 결정된다. 메모리가 SDRAM이나 DDR인 경우에는 일정 주기 동안에 리프레쉬 동작이 실행되어야 하고, 이 리프레쉬 이벤트는 가장 높은 우선순위를 갖는다.Each of the cache data channels 1 and 2 has three pieces of mass data, and the data transmission order of each channel is determined by a round robin method. If the memory is SDRAM or DDR, the refresh operation must be executed for a certain period, and this refresh event has the highest priority.

먼저, 캐쉬 데이터 채널 2의 데이터 전송 이벤트가 발생하면, 제어부(10)는 캐쉬 데이터 채널 2의 매스 데이터 #1, #2를 차례로 전송한다. 매스 데이터 #2를 전송하는 과정에서 캐쉬 데이터 채널 1의 데이터 전송 이벤트와 메모리 리프레쉬 이벤트가 차례로 발생하였다. 이 때, 제어부(10)는 채널 2의 매스 데이터 #2에 대한 전송 작업이 완료된 후에 가장 우선순위가 높은 리프레쉬 이벤트를 먼저 수행한다. 리프레쉬 이벤트가 완료되면, 라운드 로빈 방식에 따라 채널 1의 매스 데이터 #1을 전송한다. 채널 1의 매스 데이터 #1의 전송이 완료되면, 라운드 로빈 방식에 따라 채널 2의 매스 데이터 #3을 전송한다. 그 결과, 채널 2의 데이터 전송은 모두 완료되었으므로, 남아 있는 채널 1의 매스 데이터 #2, #3을 차례로 전송한다.
First, when a data transmission event of the cache data channel 2 occurs, the control unit 10 transmits the mass data # 1, # 2 of the cache data channel 2 in order. In the process of transmitting the mass data # 2, the data transmission event of the cache data channel 1 and the memory refresh event occurred in sequence. At this time, the controller 10 first performs the refresh event having the highest priority after the transmission operation for the mass data # 2 of the channel 2 is completed. When the refresh event is completed, the mass data # 1 of channel 1 is transmitted according to the round robin method. When the transmission of the mass data # 1 of the channel 1 is completed, the mass data # 3 of the channel 2 is transmitted in a round robin manner. As a result, since all data transfer of channel 2 is completed, the remaining mass data # 2 and # 3 of channel 1 are transmitted in order.

이하에서는 도 4 및 5를 참조로 다채널 캐쉬를 이용한 솔리드 스테이트 디스크를 사용하여 캐쉬 데이터를 저장하는 방법을 상세히 설명한다. 본 발명의 캐쉬 메모리는 다수개의 슬라이스(Slice)로 분할되어 사용되고, 독립적인 캐쉬 데이터 채널을 통해 동시에 2개 이상의 이벤트를 처리할 수 있도록 구성된다. Hereinafter, a method of storing cache data using a solid state disk using a multichannel cache will be described in detail with reference to FIGS. 4 and 5. The cache memory of the present invention is divided into a plurality of slices and used, and is configured to process two or more events at the same time through independent cache data channels.

도 4에 도시된 바와 같이, 제어부가 호스트 컴퓨터로부터 데이터 수신 명령을 받는다(S100). As shown in FIG. 4, the controller receives a data reception command from the host computer (S100).

제어부는 수신 명령의 대상이 되는 해당 데이터의 주소와 일치하는 주소를 갖는 슬라이스가 캐쉬 메모리에 존재하는지 여부를 검색한다. 이러한 검색 과정은 LBA(Logical Block Allocation table)를 참조하여 해당 데이터의 주소를 구성하는 Zone 번호, Logical Block 번호, Section 번호를 추출하는 단계(S110)와, 캐쉬 메모리에 해당 Zone 번호, Logical Block 번호, Section 번호가 일치하는 슬라이스 A가 존재하는지 여부를 판단하는 단계(S120)로 구성된다. The controller searches whether the slice having an address that matches the address of the corresponding data that is the target of the reception command exists in the cache memory. This search process refers to extracting a zone number, a logical block number, and a section number constituting the address of the data by referring to a logical block allocation table (LBA) (S110), a corresponding zone number, a logical block number, In operation S120, it is determined whether the slice A having the same section number exists.

상기 S120의 판단 결과, 캐쉬 메모리 내에 해당 데이터의 주소와 일치하는 주소를 갖는 슬라이스 A가 존재하는 경우, 캐쉬 메모리 내에 비어있는 슬라이스가 있는지 여부를 다시 판단한다(S130).As a result of the determination of S120, when slice A having an address corresponding to the address of the data exists in the cache memory, it is determined again whether there is an empty slice in the cache memory (S130).

상기 S130의 판단 결과, 캐쉬 메모리 내에 비어있는 슬라이스가 있는 경우에는 하나의 캐쉬 데이터 채널을 이용하여 해당 데이터의 주소와 일치하는 주소를 갖는 슬라이스 A에 데이터를 전송함으로써 작업이 완료된다(S140). 반면 상기 S130의 판단 결과, 캐쉬 메모리 내에 비어있는 슬라이스가 없는 경우에는 하나의 캐쉬 데이터 채널을 이용하여 해당 데이터를 슬라이스 A에 전송함과 동시에 다른 캐쉬 데이터 채널을 이용하여 일정한 기준에 따라 선정된 슬라이스 B를 플러싱한다(S150).As a result of the determination of S130, when there is an empty slice in the cache memory, the operation is completed by transmitting data to slice A having an address that matches the address of the corresponding data using one cache data channel (S140). On the other hand, if there is no empty slice in the cache memory as a result of the determination of S130, the corresponding data is transmitted to the slice A using one cache data channel and the slice B selected according to a predetermined criterion using another cache data channel. Flush (S150).

이와 같이, 본 발명에 따르면 캐쉬 메모리에 데이터를 전송할 때마다 캐쉬 메모리 내에 여분의 슬라이스가 있는지 여부를 체크하고, 여분의 슬라이스가 없는 경우에는 2개 이상의 독립적인 캐쉬 데이터 채널을 이용하여 해당 데이터를 전송함과 동시에 특정 슬라이스를 플러싱하는 동작을 동시에 수행한다. 이에 의해 캐쉬 메모리 내에는 항상 비어있는 슬라이스가 존재하므로 전체 데이터 전송 속도를 향상시킬 수 있다. As described above, according to the present invention, each time data is transferred to the cache memory, it is checked whether there is an extra slice in the cache memory, and when there is no spare slice, the corresponding data is transmitted using two or more independent cache data channels. At the same time, flushing a specific slice is performed simultaneously. As a result, there is always an empty slice in the cache memory, thereby improving the overall data transfer rate.

종래의 단일 캐쉬 채널 시스템에서 캐쉬 메모리 내에 비어있는 슬라이스가 존재하지 않는 경우에는 수신 명령 대상인 데이터를 전송하기에 앞서 하나의 슬라이스를 플러싱하고 여기에 낸드 플래시 메모리에 저장된 해당 데이터를 가져와서 플러싱한 슬라이스에 채우는 필링 동작까지 완료된 후에야 비로소 해당 데이터를 캐쉬 메모리 내에 저장할 수 있기 때문에, 전체 데이터 전송 속도가 현저히 떨어지는 문제점이 있었다. 본 발명은 2개 이상의 독립된 캐쉬 데이터 채널을 이용하여 수신 명령 데이터를 저장함과 동시에 다른 슬라이스를 플러싱함으로써 캐쉬 메모리 내에 항상 비어있는 슬라이스가 존재하도록 하여 상기한 종래 단일 캐쉬 채널 시스템의 문제점을 해결한 것이다.
In the conventional single cache channel system, if there is no empty slice in the cache memory, one slice is flushed prior to transmitting the data to be received and the corresponding data stored in the NAND flash memory is transferred to the flushed slice. Since the data can be stored in the cache memory only until the filling operation is completed, there is a problem that the overall data transfer speed is significantly lowered. The present invention solves the problem of the conventional single cache channel system by storing two or more independent cache data channels and storing the received instruction data and flushing other slices at the same time so that there is always an empty slice in the cache memory.

본 발명에 따른 다채널 캐쉬를 이용한 캐쉬 데이터 저장방법의 또 다른 실시예를 설명한다. Another embodiment of a cache data storage method using a multi-channel cache according to the present invention will be described.

먼저, 제어부가 호스트 컴퓨터로부터 데이터 수신 명령을 받는다(S100). First, the controller receives a data receiving command from the host computer (S100).

제어부는 수신 명령의 대상이 되는 해당 데이터의 주소와 일치하는 주소를 갖는 슬라이스가 캐쉬 메모리에 존재하는지 여부를 검색한다. 이러한 검색 과정은 LBA(Logical Block Allocation table)를 참조하여 해당 데이터의 주소를 구성하는 Zone 번호, Logical Block 번호, Section 번호를 추출하는 단계(S110)와, 캐쉬 메모리에 해당 Zone 번호, Logical Block 번호, Section 번호가 일치하는 슬라이스 A가 존재하는지 여부를 판단하는 단계(S120)로 구성된다. The controller searches whether the slice having an address that matches the address of the corresponding data that is the target of the reception command exists in the cache memory. This search process refers to extracting a zone number, a logical block number, and a section number constituting the address of the data by referring to a logical block allocation table (LBA) (S110), a corresponding zone number, a logical block number, In operation S120, it is determined whether the slice A having the same section number exists.

상기 S120의 판단 결과, 캐쉬 메모리 내에 해당 데이터의 주소와 일치하는 주소를 갖는 슬라이스 A가 존재하지 않는 경우에는 비어 있는 새로운 슬라이스 B에 해당 데이터의 주소를 갖는 낸드 플래시 메모리로부터 데이터를 전송받아 필링한다(S200).As a result of the determination of S120, when slice A having an address that matches the address of the data does not exist in the cache memory, data is received from a NAND flash memory having the address of the data in a new, empty slice B and is filled ( S200).

데이터 필링 동작이 완료되면, 캐쉬 메모리 내에 비어있는 슬라이스가 있는지 여부를 판단한다(S210). 상기 S210의 판단 결과, 캐쉬 메모리 내에 비어있는 슬라이스가 있는 경우에는, 하나의 캐쉬 데이터 채널을 이용하여 해당 데이터를 상기 필링된 슬라이스 B에 저장함으로써 작업이 완료된다(S220). 반면 상기 S210의 판단 결과, 캐쉬 메모리 내에 비어있는 슬라이스가 없는 경우에는, 하나의 캐쉬 데이터 채널을 이용하여 해당 데이터를 상기 필링된 슬라이스에 저장함과 동시에 다른 캐쉬 데이터 채널을 이용하여 일정한 기준에 따라 정해진 슬라이스 C를 플러싱한다(S230). When the data filling operation is completed, it is determined whether there is an empty slice in the cache memory (S210). As a result of the determination in S210, when there is an empty slice in the cache memory, the operation is completed by storing the corresponding data in the filled slice B using one cache data channel (S220). On the other hand, if there is no empty slice in the cache memory as a result of the determination of S210, the slice is determined according to a predetermined criterion using the other cache data channel while storing the corresponding data in the filled slice using one cache data channel. C is flushed (S230).

이와 같이 구성함으로써, 캐쉬 메모리 내에 항상 플러싱된 비어있는 슬라이스가 존재함으로써 새로운 데이터를 전송할 때 해당 데이터에 대한 필링 동작만 수행한 후에 데이터를 저장할 수 있고, 그 결과 데이터 전송 속도를 향상시킬 수 있음은 상기한 바와 같다.In this configuration, since there is always an empty slice flushed in the cache memory, data can be stored only after the filling operation for the data is transmitted when new data is transmitted, and as a result, the data transfer speed can be improved. Same as one.

데이터 전송 속도를 향상시키기 위한 또 다른 기술구성으로서, 도 5에 도시된 바와 같이 캐쉬 메모리의 슬라이스 주소를 Zone 번호, Logical Block 번호, Section 번호로 구성할 수 있다. 종래에는 하나의 슬라이스 주소가 Zone 번호, Logical Block 번호로만 세분화되어 있었다. 예를 들어, 하나의 Logical Block은 4Kbyte의 크기를 가진 128개의 page로 구성되어 총 512Kbyte의 크기를 가지는 반면에, 본 발명의 Section은 동일한 크기를 가진 4개의 page로 구성되므로 총 16Kbyte의 크기를 가진다.As another technical configuration for improving the data transfer speed, as shown in FIG. 5, the slice address of the cache memory may be configured with a zone number, a logical block number, and a section number. In the past, one slice address was subdivided into only a zone number and a logical block number. For example, one logical block is composed of 128 pages having a size of 4 Kbytes and has a total size of 512 Kbytes, whereas the Section of the present invention has a total size of 16 Kbytes because it consists of 4 pages having the same size. .

따라서 종래의 캐쉬 시스템에서는 Logical Block 단위(512Kbyte)로 플러싱과 필링 동작이 일어난 반면, 본 발명에 따르면 최소 단위인 Section 단위(16Kbyte) 단위로 플러싱과 필링 동작이 일어나므로 시간이 단축되어 고속 데이터 전송이 가능해지는 것이다.
Therefore, in the conventional cache system, flushing and filling operations occur in Logical Block units (512 Kbytes), while flushing and filling operations occur in Section units (16 Kbytes), which is the minimum unit, so that time is shortened and high-speed data transmission is performed. It becomes possible.

이상에서 본 발명을 바람직한 실시 예를 사용하여 상세히 설명하였으나, 본 발명의 범위는 특정 실시 예에 한정되는 것은 아니며, 첨부된 특허청구범위에 의하여 해석되어야 할 것이다. 또한, 이 기술분야에서 통상의 지식을 습득한 자라면, 본 발명의 범위에서 벗어나지 않으면서도 많은 수정과 변형이 가능함을 이해하여야 할 것이다.Although the present invention has been described in detail using the preferred embodiments, the scope of the present invention is not limited to the specific embodiments, and should be interpreted by the appended claims. It will also be appreciated that many modifications and variations will be apparent to those skilled in the art without departing from the scope of the present invention.

10: 제어부 20: 낸드 플래시 메모리
30: 캐쉬 메모리 40: 버퍼
41: 제1 버퍼 42: 제2 버퍼
50: 호스트 인터페이스
10: control unit 20: NAND flash memory
30: cache memory 40: buffer
41: first buffer 42: second buffer
50: host interface

Claims (10)

제어부, 낸드 플래시 메모리, 캐쉬 메모리, 버퍼 및 호스트 인터페이스로 이루어진 솔리드 스테이트 디스크에 있어서,
상기 버퍼는 2개 이상으로 구성되고,
상기 2개 이상의 버퍼와 상기 낸드 플래시 메모리, 캐쉬 메모리 및 호스트 인터페이스는 각각 독립적으로 연결된 2개 이상의 캐쉬 데이터 채널로 구성되며,
상기 제어부는 미리 정해진 기준에 따라 상기 2개 이상의 캐쉬 데이터 채널을 통해 호스트 컴퓨터와 독립적으로 데이터를 전송하는 것을 특징으로 하는 다채널 캐쉬를 이용한 솔리드 스테이트 디스크.
A solid state disk comprising a control unit, a NAND flash memory, a cache memory, a buffer, and a host interface,
The buffer consists of two or more,
The two or more buffers, the NAND flash memory, the cache memory, and the host interface are each composed of two or more cache data channels independently connected.
And the control unit transmits data independently from a host computer through the two or more cache data channels according to a predetermined criterion.
청구항 1에 있어서,
상기 제어부는 각 데이터 입출력 이벤트별로 정해진 우선순위에 따라 상기 2개 이상의 캐쉬 데이터 채널을 통해 데이터를 전송하는 것을 특징으로 하는 다채널 캐쉬를 이용한 솔리드 스테이트 디스크.
The method according to claim 1,
And the control unit transmits data through the two or more cache data channels according to a priority determined for each data input / output event.
청구항 1에 있어서,
상기 제어부는 상기 2개 이상의 캐쉬 데이터 채널을 교대로 사용하는 라운드 로빈(Round Robin) 방식에 따라 데이터를 전송하는 것을 특징으로 하는 다채널 캐쉬를 이용한 솔리드 스테이트 디스크.
The method according to claim 1,
The control unit transmits data according to a round robin method using alternating two or more cache data channels.
청구항 2 또는 청구항 3에 있어서,
상기 제어부는 일정 수의 데이터를 묶어서 매스 데이터(Mass data)로 전송하는 것을 특징으로 하는 다채널 캐쉬를 이용한 솔리드 스테이트 디스크.
The method according to claim 2 or 3,
The control unit is a solid state disk using a multi-channel cache, characterized in that for binding a certain number of data to transmit as mass data (Mass data).
청구항 1에 기재된 다채널 캐쉬를 이용한 솔리드 스테이트 디스크를 사용하여 캐쉬 데이터를 저장하는 방법으로서,
호스트 컴퓨터로부터 데이터 수신 명령을 받은 단계;
수신 명령의 대상이 되는 해당 데이터의 주소와 일치하는 주소를 갖는 슬라이스가 캐쉬 메모리에 존재하는지 여부를 검색하는 단계;
캐쉬 메모리 내에 해당 데이터의 주소와 일치하는 주소를 갖는 슬라이스가 존재하는 경우, 캐쉬 메모리 내에 비어있는 슬라이스가 있는지 여부를 판단하는 단계; 및
상기 판단 결과 캐쉬 메모리 내에 비어있는 슬라이스가 없는 경우에는, 하나의 캐쉬 데이터 채널을 이용하여 해당 데이터를 상기 주소가 일치하는 슬라이스 내에 저장함과 동시에 다른 캐쉬 데이터 채널을 이용하여 특정 슬라이스를 플러싱하는 단계;를 포함하는 것을 특징으로 하는 다채널 캐쉬를 이용한 캐쉬 데이터 저장방법.
A method of storing cache data using a solid state disk using a multichannel cache according to claim 1,
Receiving a data receiving command from a host computer;
Searching whether there is a slice in the cache memory having an address that matches an address of a corresponding data that is a target of a reception command;
Determining whether there is an empty slice in the cache memory when a slice having an address that matches the address of the data exists in the cache memory; And
If there is no empty slice in the cache memory as a result of the determination, storing the corresponding data in one slice using the one cache data channel and flushing the specific slice using the other cache data channel; Cache data storage method using a multi-channel cache comprising a.
청구항 5에 있어서,
상기 판단 결과 캐쉬 메모리 내에 비어있는 슬라이스가 있는 경우에는, 하나의 캐쉬 데이터 채널을 이용하여 해당 데이터를 주소가 일치하는 슬라이스 내에 저장하는 단계를 더 포함하는 것을 특징으로 하는 다채널 캐쉬를 이용한 캐쉬 데이터 저장방법.
The method according to claim 5,
If there is an empty slice in the cache memory as a result of the determination, storing the cache data using the multi-channel cache, characterized in that the corresponding data is stored in the slice that matches the address using one cache data channel. Way.
청구항 5 또는 청구항 6에 있어서,
상기 슬라이스의 주소는 Zone 번호, Logical Block 번호, Section 번호로 이루어진 것을 특징으로 하는 다채널 캐쉬를 이용한 캐쉬 데이터 저장방법.
The method according to claim 5 or 6,
The address of the slice is a cache data storage method using a multi-channel cache, characterized in that consisting of the Zone number, Logical Block number, Section number.
청구항 1에 기재된 다채널 캐쉬를 이용한 솔리드 스테이트 디스크를 사용하여 캐쉬 데이터를 저장하는 방법으로서,
호스트 컴퓨터로부터 데이터 수신 명령을 받은 단계;
수신 명령의 대상이 되는 해당 데이터의 주소와 일치하는 주소를 갖는 슬라이스가 캐쉬 메모리에 존재하는지 여부를 검색하는 단계;
캐쉬 메모리 내에 해당 데이터의 주소와 일치하는 주소를 갖는 슬라이스가 존재하지 않는 경우, 비어 있는 새로운 슬라이스에 해당 데이터의 주소를 갖는 낸드 플래시 메모리로부터 데이터를 전송받아 필링하는 단계;
캐쉬 메모리 내에 비어있는 슬라이스가 있는지 여부를 판단하는 단계; 및
상기 판단 결과 캐쉬 메모리 내에 비어있는 슬라이스가 없는 경우에는, 하나의 캐쉬 데이터 채널을 이용하여 해당 데이터를 상기 필링된 슬라이스에 저장함과 동시에 다른 캐쉬 데이터 채널을 이용하여 특정 슬라이스를 플러싱하는 단계;를 포함하는 것을 특징으로 하는 다채널 캐쉬를 이용한 캐쉬 데이터 저장방법.
A method of storing cache data using a solid state disk using a multichannel cache according to claim 1,
Receiving a data receiving command from a host computer;
Searching whether there is a slice in the cache memory having an address that matches an address of a corresponding data that is a target of a reception command;
If a slice having an address that matches the address of the corresponding data does not exist in the cache memory, receiving and filling data from a NAND flash memory having the address of the corresponding data in a new empty slice;
Determining whether there is an empty slice in the cache memory; And
If there is no empty slice in the cache memory as a result of the determination, storing the corresponding data in the filled slice using one cache data channel and flushing a specific slice using another cache data channel; Cache data storage method using a multi-channel cache, characterized in that.
청구항 8에 있어서,
상기 판단 결과 캐쉬 메모리 내에 비어있는 슬라이스가 있는 경우에는, 하나의 캐쉬 데이터 채널을 이용하여 해당 데이터를 상기 필링된 슬라이스 내에 저장하는 단계를 더 포함하는 것을 특징으로 하는 다채널 캐쉬를 이용한 캐쉬 데이터 저장방법.
The method according to claim 8,
If there is an empty slice in the cache memory as a result of the determination, storing the corresponding data in the filled slice using one cache data channel, further comprising: storing the cache data using the multi-channel cache .
청구항 8 또는 청구항 9에 있어서,
상기 슬라이스의 주소는 Zone 번호, Logical Block 번호, Section 번호로 이루어진 것을 특징으로 하는 다채널 캐쉬를 이용한 캐쉬 데이터 저장방법.
The method according to claim 8 or 9,
The address of the slice is a cache data storage method using a multi-channel cache, characterized in that consisting of the Zone number, Logical Block number, Section number.
KR1020100072186A 2010-07-27 2010-07-27 Solid state disk using multi channel cache and method for storing cache data using it KR101162679B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100072186A KR101162679B1 (en) 2010-07-27 2010-07-27 Solid state disk using multi channel cache and method for storing cache data using it

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100072186A KR101162679B1 (en) 2010-07-27 2010-07-27 Solid state disk using multi channel cache and method for storing cache data using it

Publications (2)

Publication Number Publication Date
KR20120010698A KR20120010698A (en) 2012-02-06
KR101162679B1 true KR101162679B1 (en) 2012-07-05

Family

ID=45835137

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100072186A KR101162679B1 (en) 2010-07-27 2010-07-27 Solid state disk using multi channel cache and method for storing cache data using it

Country Status (1)

Country Link
KR (1) KR101162679B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304938B2 (en) 2012-11-26 2016-04-05 Samsung Electronics Co., Ltd. Storage device and data transferring method thereof
US9582439B2 (en) 2013-11-14 2017-02-28 Samsung Electronics Co., Ltd. Nonvolatile memory system and operating method thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101665667B1 (en) * 2015-04-16 2016-10-11 황태래 Nand flash memory type controlling apparatus

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100950937B1 (en) 2009-06-30 2010-04-08 주식회사 셀픽 Cache memory of solid state disk and system for managing chche using it

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100950937B1 (en) 2009-06-30 2010-04-08 주식회사 셀픽 Cache memory of solid state disk and system for managing chche using it

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304938B2 (en) 2012-11-26 2016-04-05 Samsung Electronics Co., Ltd. Storage device and data transferring method thereof
US9582439B2 (en) 2013-11-14 2017-02-28 Samsung Electronics Co., Ltd. Nonvolatile memory system and operating method thereof

Also Published As

Publication number Publication date
KR20120010698A (en) 2012-02-06

Similar Documents

Publication Publication Date Title
US20230152969A1 (en) Memory system and method of controlling memory system
CN108572796B (en) SSD with heterogeneous NVM types
US9697116B2 (en) Storage system and writing method thereof
CN109213440B (en) Memory system, memory controller and operation method thereof
KR101717081B1 (en) Storage device comprising a buffer memory by using a nonvolatile-ram and volatile-ram
KR102569783B1 (en) Out-of-order zone namespaces
US8639883B2 (en) Reducing write amplification in a cache with flash memory used as a write cache
JP5418808B2 (en) Adaptive hybrid density memory storage control method and adaptive hybrid density memory storage
US8874826B2 (en) Programming method and device for a buffer cache in a solid-state disk system
US20190294376A1 (en) Storage device and method of operating the storage device
US8954656B2 (en) Method and system for reducing mapping table size in a storage device
US10782909B2 (en) Data storage device including shared memory area and dedicated memory area
US10990325B2 (en) Write control method, associated data storage device and controller thereof
JP6139381B2 (en) Memory system and method
KR102378295B1 (en) storage cache management
CN113614702B (en) Adaptive pre-read cache manager based on detected read command active streams
US20170003911A1 (en) Information processing device
JP7030942B2 (en) Memory device and its control method
CN114063893A (en) Data storage device and data processing method
KR20170065427A (en) Data processing method and apparatus of solid state disk
US9990280B2 (en) Methods for reading data from a storage unit of a flash memory and apparatuses using the same
US11455186B2 (en) Controller and memory system having the same
KR101162679B1 (en) Solid state disk using multi channel cache and method for storing cache data using it
US20220035566A1 (en) Pre-suspend before program in a non-volatile memory (nvm)
CN108877862B (en) Data organization of page stripes and method and device for writing data into page stripes

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: 20150623

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160608

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170609

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190618

Year of fee payment: 8