KR102263800B1 - Memory management apparatus and control method thereof - Google Patents

Memory management apparatus and control method thereof Download PDF

Info

Publication number
KR102263800B1
KR102263800B1 KR1020150001875A KR20150001875A KR102263800B1 KR 102263800 B1 KR102263800 B1 KR 102263800B1 KR 1020150001875 A KR1020150001875 A KR 1020150001875A KR 20150001875 A KR20150001875 A KR 20150001875A KR 102263800 B1 KR102263800 B1 KR 102263800B1
Authority
KR
South Korea
Prior art keywords
mapping
storage space
mapping table
log area
update
Prior art date
Application number
KR1020150001875A
Other languages
Korean (ko)
Other versions
KR20160085035A (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 KR1020150001875A priority Critical patent/KR102263800B1/en
Publication of KR20160085035A publication Critical patent/KR20160085035A/en
Application granted granted Critical
Publication of KR102263800B1 publication Critical patent/KR102263800B1/en

Links

Images

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • 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

Abstract

본 발명은, 사상테이블 관리가 수반되는 메모리장치를 채용함에 있어서, 사상정보의 기록 량을 최소화하고 호스트의 워크로드 패턴과 상관없이 일관성 있는 쓰기 성능을 보장할 수 있는 메모리제어장치 및 메모리제어장치의 동작 방법을 개시하고 있다.The present invention provides a memory control device and a memory control device capable of minimizing the amount of mapping information to be written and guaranteeing consistent write performance regardless of the host's workload pattern in employing a memory device accompanied by mapping table management. A method of operation is disclosed.

Description

메모리제어장치 및 메모리제어장치의 동작 방법{MEMORY MANAGEMENT APPARATUS AND CONTROL METHOD THEREOF}MEMORY MANAGEMENT APPARATUS AND CONTROL METHOD THEREOF

본 발명은 메모리제어장치 및 메모리제어장치의 동작 방법에 관한 것으로, 더욱 상세하게는, 사상테이블 관리가 수반되는 메모리장치를 채용함에 있어서, 사상정보의 기록 량을 최소화하고 호스트의 워크로드 패턴과 상관없이 일관성 있는 쓰기 성능을 보장할 수 있는 메모리제어장치 및 메모리제어장치의 동작 방법에 관한 것이다.The present invention relates to a memory control device and an operating method of the memory control device, and more particularly, in employing a memory device accompanied by mapping table management, the amount of mapping information is minimized and correlated with the workload pattern of the host. The present invention relates to a memory control device and an operating method of the memory control device capable of guaranteeing consistent write performance without

최근에는, HDD(Hard Disk Drive) 대비 성능이 향상된 NAND 플래시메모리가 널리 사용되기 시작하면서, 다수의 NAND 플래시메모리를 포함하는 메모리장치를 채용한 스토리지(Storage) 시스템을 구성하여, 이를 통해 네트워크 기반의 데이터 서비스를 제공하고 있다.Recently, as NAND flash memory with improved performance compared to HDD (Hard Disk Drive) has been widely used, a storage system employing a memory device including a plurality of NAND flash memories is constructed, and through this, network-based We provide data services.

여기서, NAND 플래시메모리의 경우, 읽기 연산 및 쓰기 연산은 지원하나, 제자리 갱신(변경)을 지원하지 않는다. 이러한 특성을 감추기 위해, NAND 플래시메모리를 사용하는 스토리지 시스템 내부에는 FTL(Flash Translation Layer)이라는 소프트웨어가 존재하며, FTL이 호스트로부터 받은 논리주소를 플래시메모리의 물리주소로 사상시켜주는 역할을 한다.Here, in the case of the NAND flash memory, read and write operations are supported, but in-place update (change) is not supported. In order to hide this characteristic, software called FTL (Flash Translation Layer) exists inside the storage system using NAND flash memory, and the FTL maps the logical address received from the host to the physical address of the flash memory.

이를 위해, FTL은 스토리지 시스템 내부적으로 사상테이블(mapping table)을 관리하게 되는데, 이러한 사상테이블 역시 비휘발성메모리인 메모리장치(NAND 플래시메모리)에 기록되어야 스토리지 시스템의 전원이 종료된 후에도 메모리장치의 일관성(consistency)를 유지할 수 있다. To this end, the FTL manages a mapping table internally in the storage system. This mapping table must also be recorded in a memory device (NAND flash memory), which is a non-volatile memory, so that the consistency of the memory device even after the power of the storage system is turned off. (consistency) can be maintained.

이하에서는, 도 4 및 도 5를 참조하여, FTL이 사상테이블을 관리하는 기존의 방식에 대해 간단히 설명하겠다.Hereinafter, an existing method in which the FTL manages the mapping table will be briefly described with reference to FIGS. 4 and 5 .

도 4에 도시된 바와 같이, 기존 방식에 따르면, FTL은 메모리장치 내 데이터저장공간에 일정한 로그(log)영역을 두고, 외부의 호스트로부터 쓰기명령이 수신되면 쓰기명령에 따른 데이터를 로그영역에 순차적으로 기록하며(①), 이에 따른 사상정보를 휘발성메모리의 사상테이블에 반영한다(②). As shown in FIG. 4 , according to the conventional method, the FTL places a certain log area in the data storage space of the memory device, and when a write command is received from an external host, data according to the write command is sequentially transferred to the log area. (①), and the mapping information is reflected in the mapping table of the volatile memory (②).

FTL은, 전술의 ①, ② 동작을 반복하다가 로그영역이 풀(Full) 상태가 되면, 사상정보가 누적 반영된 사상테이블을 비휘발성메모리인 메모리장치 내 사상테이블저장공간에 기록하게 되고(③), 로그영역을 전진하여(④), 이후 쓰기명령에 따른 데이터를 전진한 로그영역에 기록하는 방식이다. In the FTL, when the log area becomes full while repeating the above-mentioned operations ① and ②, the mapping table in which the mapping information is accumulated is recorded in the mapping table storage space in the memory device, which is a non-volatile memory (③), This is a method in which the log area is advanced (④), and data according to the subsequent write command is recorded in the advanced log area.

즉, 기존의 사상테이블을 관리하는 방식은, 로그영역에 더 이상 데이터를 기록할 수 없는 한계 즉 로그영역 풀(Full) 상태가 될 때까지 휘발성메모리의 사상테이블에 사상정보를 누적 반영하다가, 로그영역이 풀(Full) 상태가 되면 사상테이블을 비휘발성의 메모리장치에 기록한다.That is, in the existing mapping table management method, the mapping information is accumulated and reflected in the mapping table of the volatile memory until the log area reaches the limit at which data can no longer be recorded, that is, the log area is full. When the area becomes full, the mapping table is written to the nonvolatile memory device.

이상에서 알 수 있듯이, 기존의 사상테이블 관리 방식은, 로그영역이 풀(Full) 상태가 될 때마다, 테이블 형태로 사상정보(사상테이블)를 메모리장치에 기록하기 때문에, 사상정보의 기록 양이 증가하는 문제가 있다.As can be seen from the above, in the existing mapping table management method, whenever the log area becomes full, the mapping information (mapping table) is recorded in the memory device in the form of a table, so that the amount of mapping information is recorded. There is a growing problem.

한편, 호스트로부터의 쓰기명령 패턴(이하, 워크로드 패턴)은, 순차적일 수도 있고 비순차적일 수도 있다.Meanwhile, a write command pattern (hereinafter, a workload pattern) from the host may be sequential or non-sequential.

호스트의 워크로드 패턴이 순차적인 경우라면, 도 5의 왼쪽에 도시된 바와 같이, 전술의 ①, ② 동작을 반복한 결과 사상테이블에는 누적 반영된 사상정보가 밀집되기 때문에, 사상테이블을 메모리장치에 기록할 때 필요한 공간이 작지만, 호스트의 워크로드 패턴이 비순차적인 경우라면, 도 5의 오른쪽에 도시된 바와 같이, 전술의 ①, ② 동작을 반복한 결과 사상테이블에는 누적 반영된 사상정보가 분산되기 때문에, 사상테이블을 메모리장치에 기록할 때 필요한 공간이 커지게 된다.If the workload pattern of the host is sequential, as shown on the left of FIG. 5 , as a result of repeating the above operations 1 and 2, the mapping information accumulated and reflected in the mapping table is concentrated, so that the mapping table is recorded in the memory device. Although the space required is small, if the workload pattern of the host is non-sequential, as shown on the right side of FIG. 5 , as a result of repeating the above operations ① and ②, the accumulated and reflected mapping information is distributed in the mapping table. , the space required for writing the mapping table to the memory device increases.

이상에서 알 수 있듯이, 기존의 사상테이블 관리 방식은, 호스트의 워크로드 패턴이 순차적인지 또는 비순차적인지에 따라, 사상테이블(사상정보)의 기록 량(기록 공간과 동일한 의미)의 차이가 발생되고, 이는 곧 쓰기 성능을 일관성 있게 유지할 수 없어 호스트 쓰기 성능의 저하까지 야기시킬 수 있는 문제로 이어질 수 있다.As can be seen from the above, in the existing mapping table management method, depending on whether the workload pattern of the host is sequential or non-sequential, there is a difference in the amount of mapping (mapping information) recorded (meaning the same as the recording space). , this can lead to a problem that can cause the host write performance to deteriorate because the write performance cannot be maintained consistently.

이에, 본 발명에서는, 사상테이블 관리가 수반되는 메모리장치(즉, NAND 플래시메모리를 포함)를 채용함에 있어서, 사상정보의 기록 량을 최소화하고 호스트의 워크로드 패턴과 상관없이 일관성 있는 쓰기 성능을 보장할 수 있는 방안을 제안하고자 한다.Accordingly, in the present invention, in employing a memory device (ie, including a NAND flash memory) that involves mapping table management, the amount of mapping information is minimized and consistent write performance is guaranteed regardless of the workload pattern of the host. We would like to suggest a way to do it.

본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은 사상테이블 관리가 수반되는 메모리장치를 채용함에 있어서, 사상정보의 기록 량을 최소화하고 호스트의 워크로드 패턴과 상관없이 일관성 있는 쓰기 성능을 보장할 수 있는 메모리제어장치 및 메모리제어장치의 동작 방법을 제공하는데 있다.The present invention was created in view of the above circumstances, and the object of the present invention is to minimize the amount of mapping information recorded and irrespective of the workload pattern of the host in employing a memory device accompanying the mapping table management. An object of the present invention is to provide a memory control device capable of ensuring consistent write performance and an operating method of the memory control device.

상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 메모리제어장치는, 쓰기명령에 따른 데이터를 메모리장치 내 데이터저장공간의 지정된 로그영역에 기록하는 데이터제어부; 상기 데이터의 기록과 관련된 사상정보를 사상테이블에 반영하는 사상테이블제어부; 및 상기 데이터의 기록과 관련된 사상정보를 사상갱신버퍼에 저장하고, 상기 로그영역이 풀(Full) 상태가 되면 상기 사상갱신버퍼에 누적 저장된 사상정보를 상기 메모리장치 내 사상갱신저장공간에 기록하여, 상기 로그영역에 대한 사상정보가 상기 사상갱신저장공간으로부터 복원될 수 있도록 하는 사상갱신제어부를 포함한다.According to a first aspect of the present invention, there is provided a memory control device comprising: a data control unit for writing data according to a write command to a designated log area of a data storage space in the memory device; a mapping table control unit for reflecting mapping information related to the recording of the data to a mapping table; and storing mapping information related to the recording of the data in a mapping update buffer, and when the log area becomes full, the mapping information accumulated and stored in the mapping update buffer is recorded in a mapping update storage space in the memory device, and a mapping update control unit for restoring the mapping information for the log area from the mapping update storage space.

바람직하게는, 상기 데이터제어부는, 상기 사상갱신버퍼에 누적 저장된 사상정보가 상기 사상갱신저장공간에 기록되면, 상기 데이터저장공간에서 로그영역을 재 지정할 수 있다. Preferably, when the mapping information accumulated and stored in the mapping update buffer is recorded in the mapping update storage space, the data control unit may redesignate a log area in the data storage space.

바람직하게는, 상기 사상테이블제어부는, 상기 사상갱신저장공간이 풀(Full) 상태가 되면, 사상정보가 누적 반영된 사상테이블을 상기 메모리장치 내 사상테이블저장공간에 기록하여, 상기 지정된 로그영역 및 적어도 하나의 상기 재 지정한 로그영역에 대한 사상정보가 상기 사상테이블저장공간으로부터 복원될 수 있도록 할 수 있다. Preferably, when the mapping update storage space is in a full state, the mapping table control unit records a mapping table in which the mapping information is accumulated and reflected in the mapping table storage space in the memory device, and stores the specified log area and at least Mapping information for one of the redesignated log areas can be restored from the mapping table storage space.

바람직하게는, 상기 사상갱신버퍼에 저장되는 사상정보는, 상기 쓰기명령과 관련된 논리주소 및 상기 쓰기명령에 따른 데이터를 기록한 상기 메모리장치의 물리주소를 포함한다.Preferably, the mapping information stored in the mapping update buffer includes a logical address related to the write command and a physical address of the memory device in which data according to the write command is recorded.

바람직하게는, 상기 사상테이블제어부는, 사상테이블 복원 필요 시, 상기 사상테이블저장공간으로부터 가장 최근에 기록된 사상테이블을 리드(read)하고, 상기 사상갱신저장공간에 저장된 사상정보 및 상기 사상테이블 복원 필요 시점에 지정되어 있는 상기 데이터저장공간의 로그영역을 리드하여 복원한 사상정보를 상기 리드한 사상테이블에 반영하여, 최신의 사상테이블을 복원할 수 있다.Preferably, the mapping table controller reads the most recently recorded mapping table from the mapping table storage space when it is necessary to restore the mapping table, and restores the mapping information stored in the mapping update storage space and the mapping table. The latest mapping table can be restored by reflecting mapping information restored by reading the log area of the data storage space designated at a necessary time point in the read mapping table.

상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 메모리제어장치의 동작 방법은, 쓰기명령에 따른 데이터를 메모리장치 내 데이터저장공간의 지정된 로그영역에 기록하는 데이터기록단계; 상기 데이터의 기록과 관련된 사상정보를 사상테이블에 반영하는 사상테이블반영단계; 상기 데이터의 기록과 관련된 사상정보를 사상갱신버퍼에 저장하는 사상갱신버퍼저장단계; 및 상기 로그영역이 풀(Full) 상태가 되면 상기 사상갱신버퍼에 누적 저장된 사상정보를 상기 메모리장치 내 사상갱신저장공간에 기록하여, 상기 로그영역에 대한 사상정보가 상기 사상갱신저장공간으로부터 복원될 수 있도록 하는 사상갱신저장공간기록단계를 포함한다.According to a second aspect of the present invention, there is provided an operating method of a memory control device, comprising: a data writing step of writing data according to a write command to a designated log area of a data storage space in a memory device; a mapping table reflection step of reflecting mapping information related to the recording of the data in a mapping table; a mapping update buffer storage step of storing mapping information related to the recording of the data in a mapping update buffer; and when the log area becomes full, the mapping information accumulated in the mapping update buffer is recorded in the mapping update storage space in the memory device, and the mapping information for the log area is restored from the mapping update storage space. It includes a mapping update storage space recording step to enable

바람직하게는, 상기 사상갱신버퍼에 누적 저장된 사상정보가 상기 사상갱신저장공간에 기록되면, 상기 데이터저장공간에서 로그영역을 재 지정하는 단계를 더 포함할 수 있다. Preferably, when the mapping information accumulated and stored in the mapping update buffer is recorded in the mapping update storage space, the method may further include re-designating a log area in the data storage space.

바람직하게는, 상기 사상갱신저장공간이 풀(Full) 상태가 되면, 사상정보가 누적 반영된 사상테이블을 상기 메모리장치 내 사상테이블저장공간에 기록하여, 상기 지정된 로그영역 및 적어도 하나의 상기 재 지정한 로그영역에 대한 사상정보가 상기 사상테이블저장공간으로부터 복원될 수 있도록 하는 단계를 더 포함할 수 있다.Preferably, when the mapping update storage space is in a full state, a mapping table in which mapping information is accumulated is recorded in the mapping table storage space in the memory device, and the designated log area and the at least one re-designated log are recorded. The method may further include allowing mapping information for a region to be restored from the mapping table storage space.

바람직하게는, 사상테이블 복원 필요 시, 상기 사상테이블저장공간으로부터 가장 최근에 기록된 사상테이블을 리드(read)하는 단계; 및 상기 사상갱신저장공간에 저장된 사상정보 및 상기 사상테이블 복원 필요 시점에 지정되어 있는 상기 데이터저장공간의 로그영역을 리드하여 복원한 사상정보를 상기 리드한 사상테이블에 반영하여, 최신의 사상테이블을 복원하는 단계를 더 포함할 수 있다.Preferably, when it is necessary to restore the mapping table, reading the most recently recorded mapping table from the mapping table storage space; and the mapping information stored in the mapping update storage space and the mapping information restored by reading the log area of the data storage space designated at the time when the mapping table restoration is required is reflected in the read mapping table to generate the latest mapping table. It may further include the step of restoring.

이에, 본 발명의 메모리제어장치 및 메모리제어장치의 동작 방법에 의하면, 사상테이블 관리가 수반되는 메모리장치를 채용함에 있어서, 사상정보의 기록 량을 최소화하고 호스트의 워크로드 패턴과 상관없이 일관성 있는 쓰기 성능을 보장할 수 있는 효과를 도출한다.Accordingly, according to the memory control apparatus and the method of operation of the memory control apparatus of the present invention, in employing a memory apparatus accompanied by mapping table management, the amount of mapping information is minimized and writes consistently regardless of the workload pattern of the host It derives the effect that can guarantee the performance.

도 1은 본 발명의 바람직한 실시예에 따른 메모리제어장치가 포함된 스토리지 시스템의 구성을 간략하게 보여주는 구성도이다.
도 2는 본 발명의 바람직한 실시예에 따른 메모리제어장치를 구체적으로 보여주는 블록도이다.
도 3은 본 발명의 바람직한 실시예에 따른 메모리제어장치의 동작 방법을 나타내는 동작 흐름도이다.
도 4 및 도 5는 기존의 사상테이블 관리 방식을 보여주는 예시도이다.
도 6은 본 발명의 바람직한 실시예에 따른 사상테이블 관리 방식을 보여주는 예시도이다.
1 is a schematic diagram showing the configuration of a storage system including a memory control device according to a preferred embodiment of the present invention.
2 is a block diagram specifically showing a memory control device according to a preferred embodiment of the present invention.
3 is an operation flowchart illustrating a method of operating a memory control apparatus according to a preferred embodiment of the present invention.
4 and 5 are exemplary diagrams illustrating a conventional mapping table management method.
6 is an exemplary diagram illustrating a mapping table management method according to a preferred embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.

먼저, 도 1을 참조하여 본 발명의 바람직한 실시예에 따른 메모리제어장치가 포함된 스토리지 시스템의 구성을 설명하겠다.First, a configuration of a storage system including a memory control device according to a preferred embodiment of the present invention will be described with reference to FIG. 1 .

도 1에 도시된 바와 같이, 스토리지 시스템은, 저장공간으로서의 메모리장치(10)와, 메모리장치(10)로의 메모리연산을 시도하는 호스트(200) 예컨대 파일시스템 또는 어플리케이션과, 호스트(200) 및 메모리장치(10) 사이에서 메모리장치(10)를 제어하는 메모리제어장치(100), 그리고 메모리연산 및 기타 메모리장치(10)의 제어 과정에서 이용되는 휘발성메모리(50)를 포함한다.As shown in FIG. 1 , the storage system includes a memory device 10 as a storage space, a host 200 that attempts a memory operation to the memory device 10 , such as a file system or application, a host 200 and a memory. Among the devices 10, a memory control device 100 for controlling the memory device 10, and a volatile memory 50 used in memory operations and other control processes of the memory device 10 are included.

이때, 메모리장치(10)는, 다수의 NAND 플래시메모리로 구성된 메모리칩을 다수 개 포함할 수 있다.In this case, the memory device 10 may include a plurality of memory chips composed of a plurality of NAND flash memories.

즉, 메모리장치(10)는, 도 1에 도시된 바와 같이, 다수의 메모리칩(#0,#1,#2...#N-1)으로 구성될 수 있다.That is, as shown in FIG. 1 , the memory device 10 may include a plurality of memory chips #0, #1, #2...#N-1.

메모리제어장치(100)는, 호스트(200) 및 메모리장치(10) 사이에서 메모리장치(10)를 제어하는 제어모듈 또는 제어 소프트웨어(예 : Flash Translation Layer)일 수 있다.The memory control device 100 may be a control module or control software (eg, Flash Translation Layer) for controlling the memory device 10 between the host 200 and the memory device 10 .

한편, 이와 같이 NAND 플래시메모리로 구성된 메모리장치(10)를 채용한 스토리지 시스템에서는, NAND 플래시메모리가 제자리 갱신을 지원하지 않는 특성 때문에, 호스트(200)로부터 받은 논리주소를 메모리장치(10)의 물리주소로 사상시켜주는 기능이 반드시 필요하다.On the other hand, in the storage system employing the memory device 10 constituted by the NAND flash memory as described above, the logical address received from the host 200 is assigned to the physical address of the memory device 10 because the NAND flash memory does not support in-place update. A function that maps to an address is absolutely necessary.

이를 위해, 스토리지 시스템에서는, 내부적으로 사상테이블(mapping table)을 관리하게 되며, 이러한 사상테이블 역시 비휘발성메모리인 메모리장치(10)에 기록되어야 스토리지 시스템의 전원이 종료된 후에도 메모리장치(10)의 일관성(consistency)를 유지할 수 있다. To this end, the storage system internally manages a mapping table, and this mapping table must also be written to the memory device 10 , which is a non-volatile memory, so that even after the power of the storage system is turned off, the memory device 10 is not stored. Consistency can be maintained.

이하에서는, 전술의 도 4 및 도 5를 참조하여 설명한 기존의 사상테이블 관리 방식을, 도 1을 참조로 간단히 언급하도록 하겠다.Hereinafter, the existing mapping table management method described above with reference to FIGS. 4 and 5 will be briefly referred to with reference to FIG. 1 .

기존의 사상테이블 관리 방식은, 메모리장치(10) 내 데이터저장공간에 일정한 로그(log)영역을 두고, 호스트(200)로부터 쓰기명령이 수신되면 쓰기명령에 따른 데이터를 로그영역에 순차적으로 기록하며(①), 이에 따른 사상정보를 휘발성메모리(50)의 사상테이블에 반영하는(②) 전술의 ①, ② 동작을 반복하다가, 로그영역이 풀(Full) 상태가 되면, 사상정보가 누적 반영된 사상테이블을 비휘발성메모리인 메모리장치(10) 내 사상테이블저장공간에 기록하게 되고(③), 로그영역을 전진하여(④), 이후 쓰기명령에 따른 데이터를 전진한 로그영역에 기록하는 방식이다. The existing mapping table management method places a certain log area in the data storage space of the memory device 10, and when a write command is received from the host 200, data according to the write command is sequentially recorded in the log area. (①), reflecting the mapping information in the mapping table of the volatile memory 50 (②), repeating the above operations ① and ②, and when the log area is in the full state, the mapping information is accumulated and reflected. The table is written to the mapping table storage space in the memory device 10, which is a non-volatile memory (③), the log area is advanced (④), and data according to the write command is then written to the advanced log area.

즉, 기존의 사상테이블을 관리하는 방식은, 로그영역에 더 이상 데이터를 기록할 수 없는 한계 즉 로그영역 풀(Full) 상태가 될 때까지 휘발성메모리(50)의 사상테이블에 사상정보를 누적 반영하다가, 로그영역이 풀(Full) 상태가 되면 사상테이블을 비휘발성의 메모리장치(10)에 기록한다.That is, in the existing mapping table management method, the mapping information is accumulated and reflected in the mapping table of the volatile memory 50 until the log area reaches the limit at which data cannot be recorded any more, that is, the log area full state. However, when the log area is in the full state, the mapping table is written to the nonvolatile memory device 10 .

이상에서 알 수 있듯이, 기존의 사상테이블 관리 방식은, 로그영역이 풀(Full) 상태가 될 때마다, 테이블 형태로 사상정보(사상테이블)를 메모리장치(10)에 기록하기 때문에, 사상정보의 기록 양이 증가하는 문제가 있다.As can be seen from the above, the existing mapping table management method records mapping information (mapping table) in the form of a table in the memory device 10 whenever the log area becomes full. There is a problem in that the amount of records increases.

한편, 호스트(200)로부터의 쓰기명령 패턴(이하, 워크로드 패턴)은, 순차적일 수도 있고 비순차적일 수도 있다.Meanwhile, a write command pattern (hereinafter, a workload pattern) from the host 200 may be sequential or non-sequential.

호스트(200)의 워크로드 패턴이 순차적인 경우라면, 도 5의 왼쪽에 도시된 바와 같이, 전술의 ①, ② 동작을 반복한 결과 사상테이블에는 누적 반영된 사상정보가 밀집되기 때문에, 사상테이블을 메모리장치(10)에 기록할 때 필요한 공간이 작지만, 호스트(200)의 워크로드 패턴이 비순차적인 경우라면, 도 5의 오른쪽에 도시된 바와 같이, 전술의 ①, ② 동작을 반복한 결과 사상테이블에는 누적 반영된 사상정보가 분산되기 때문에, 사상테이블을 메모리장치(10)에 기록할 때 필요한 공간이 커지게 된다.If the workload pattern of the host 200 is sequential, as shown on the left side of FIG. 5 , as a result of repeating the above-described operations ① and ②, the mapping information accumulated and reflected in the mapping table is concentrated, so that the mapping table is stored in the memory. Although the space required for writing to the device 10 is small, if the workload pattern of the host 200 is non-sequential, as shown on the right side of FIG. 5 , the result mapping table as a result of repeating the above-described operations ① and ② Since the accumulated and reflected mapping information is dispersed in , the space required for writing the mapping table to the memory device 10 increases.

이상에서 알 수 있듯이, 기존의 사상테이블 관리 방식은, 호스트(200)의 워크로드 패턴이 순차적인지 또는 비순차적인지에 따라, 사상테이블(사상정보)의 기록 량(기록 공간과 동일한 의미)의 차이가 발생되고, 이는 곧 쓰기 성능을 일관성 있게 유지할 수 없어 호스트 쓰기 성능의 저하까지 야기시킬 수 있는 문제로 이어질 수 있다.As can be seen from the above, in the existing mapping table management method, the amount of mapping table (mapping information) recorded (meaning the same as the recording space) differs depending on whether the workload pattern of the host 200 is sequential or non-sequential. is generated, which can lead to problems that can lead to deterioration of host write performance because write performance cannot be maintained consistently.

이에, 본 발명에서는, 사상테이블 관리가 수반되는 메모리장치(10, NAND 플래시메모리를 포함)를 채용함에 있어서, 사상정보의 기록 량을 최소화하고 호스트(200)의 워크로드 패턴과 상관없이 일관성 있는 쓰기 성능을 보장할 수 있는 방안을 제안하고자 한다.Accordingly, in the present invention, in employing a memory device 10 (including a NAND flash memory) that involves mapping table management, the amount of mapping information is minimized and writes consistently regardless of the workload pattern of the host 200 . We would like to suggest a way to guarantee performance.

보다 구체적으로는, 본 발명에서 제안하는 방안을 달성하기 위해, 사상테이블과는 별도로, 새롭게 변경된 사상정보 만을 따로 관리하기 위한 사상갱신제어기능을 도입한 사상테이블 관리 방식을 제안한다.More specifically, in order to achieve the method proposed by the present invention, a mapping table management method is proposed in which a mapping update control function for separately managing only newly changed mapping information apart from the mapping table is introduced.

이하에서는, 도 2를 참조하여, 본 발명의 바람직한 실시예에 따른 메모리제어장치, 즉 전술한 본 발명의 사상갱신제어기능이 도입된 메모리제어장치에 대해 구체적으로 설명하도록 하겠다.Hereinafter, with reference to FIG. 2, a memory control apparatus according to a preferred embodiment of the present invention, that is, a memory control apparatus to which the above-described mapping update control function of the present invention is introduced, will be described in detail.

본 발명에 따른 메모리제어장치(100)는, 쓰기명령에 따른 데이터를 메모리장치(10) 내 데이터저장공간의 지정된 로그영역에 기록하는 데이터제어부(110)와, 상기 데이터의 기록과 관련된 사상정보를 사상테이블에 반영하는 사상테이블제어부(120)와, 상기 데이터의 기록과 관련된 사상정보를 사상갱신버퍼에 저장하고, 상기 로그영역이 풀(Full) 상태가 되면 상기 사상갱신버퍼에 누적 저장된 사상정보를 메모리장치(10) 내 사상갱신저장공간에 기록하여, 상기 로그영역에 대한 사상정보가 상기 사상갱신저장공간으로부터 복원될 수 있도록 하는 사상갱신제어부(130)를 포함한다.The memory control device 100 according to the present invention includes a data control unit 110 that records data according to a write command in a designated log area of a data storage space in the memory device 10, and mapping information related to the recording of the data. The mapping table control unit 120 reflects the mapping table, and the mapping information related to the recording of the data is stored in the mapping update buffer, and when the log area becomes full, the mapping information accumulated and stored in the mapping update buffer is stored. and a mapping update control unit 130 that records the mapping information in the mapping update storage space in the memory device 10 so that mapping information for the log area can be restored from the mapping update storage space.

본 발명의 메모리제어장치(100)에 대한 구체적인 설명에 앞서, 휘발성메모리(50)에는, 기존과 같이 사상테이블이 존재하며, 본 발명에 따른 사상갱신버퍼가 새롭게 도입/존재한다.Prior to a detailed description of the memory control apparatus 100 of the present invention, a mapping table exists in the volatile memory 50 as before, and a mapping update buffer according to the present invention is newly introduced/existed.

또한, 메모리장치(10) 내 저장공간은, 데이터저장공간, 사상테이블저장공간, 및 사상갱신저장공간으로 구분될 수 있다.Also, the storage space in the memory device 10 may be divided into a data storage space, a mapping table storage space, and a mapping update storage space.

데이터제어부(110)는, 쓰기명령에 따른 데이터를 메모리장치(10) 내 데이터저장공간의 지정된 로그영역에 기록한다.The data control unit 110 writes data according to the write command in a designated log area of the data storage space in the memory device 10 .

즉, 데이터제어부(110)는, 메모리장치(10) 내 데이터저장공간에 로그영역을 지정해 두고, 호스트(200)로부터 쓰기명령이 수신되면 쓰기명령에 따른 데이터를 메모리장치(10) 내 데이터저장공간의 지정된 로그영역에 순차적으로 기록한다.That is, the data control unit 110 designates a log area in the data storage space of the memory device 10 , and when a write command is received from the host 200 , the data according to the write command is stored in the data storage space of the memory device 10 . It is recorded sequentially in the designated log area of

이때, 데이터제어부(110)는, 데이터 기록 시, 쓰기명령과 관련된 논리주소 즉 호스트(200)로부터 받은 논리주소를 데이터와 함께 기록하는 것이 바람직하다.In this case, it is preferable that the data control unit 110 records the logical address related to the write command, that is, the logical address received from the host 200, together with the data when writing data.

사상테이블제어부(120)는, 데이터제어부(110)에서 데이터 기록 시, 해당 데이터의 기록과 관련된 사상정보를 사상테이블에 반영한다.When the data control unit 110 records data, the mapping table control unit 120 reflects mapping information related to the recording of the corresponding data in the mapping table.

즉, 사상테이블제어부(120)는, 데이터제어부(110)에서 쓰기명령에 따른 데이터를 메모리장치(10) 내 데이터저장공간의 지정된 로그영역에 순차적으로 기록할 때마다, 기록한 데이터와 관련된 사상정보를 휘발성메모리(50)의 사상테이블에 반영하며, 이는 기존의 사상테이블 관리 방식과 동일할 수 있다.That is, whenever data according to a write command from the data control unit 110 is sequentially recorded in a designated log area of the data storage space in the memory device 10 , the mapping table control unit 120 stores mapping information related to the recorded data. It is reflected in the mapping table of the volatile memory 50, which may be the same as the existing mapping table management method.

이때, 사상테이블에 반영되는 사상정보는, 데이터의 고유값과, 데이터를 기록한 메모리장치(10)의 물리주소가 포함될 수 있다.In this case, the mapping information reflected in the mapping table may include a unique value of data and a physical address of the memory device 10 in which the data is recorded.

사상갱신제어부(130)는, 데이터제어부(110)에서 데이터 기록 시, 해당 데이터의 기록과 관련된 사상정보를 사상갱신버퍼에 저장하고, 현재 지정된 로그영역이 풀(Full) 상태가 되면 사상갱신버퍼에 누적 저장된 사상정보를 메모리장치(10) 내 사상갱신저장공간에 기록하여, 현재 지정된 로그영역에 대한 사상정보가 사상갱신저장공간으로부터 복원될 수 있도록 한다.When the data control unit 110 records data, the mapping update control unit 130 stores mapping information related to the recording of the data in the mapping update buffer, and when the currently designated log area is in the full state, it is stored in the mapping update buffer. The accumulated mapping information is recorded in the mapping update storage space in the memory device 10 so that mapping information for the currently designated log area can be restored from the mapping update storage space.

보다 구체적으로 설명하면, 사상갱신제어부(130)는, 데이터제어부(110)에서 쓰기명령에 따른 데이터를 메모리장치(10) 내 데이터저장공간의 지정된 로그영역에 순차적으로 기록할 때마다, 기록한 데이터와 관련된 사상정보를 휘발성메모리(50)의 사상갱신버퍼에 저장한다.More specifically, each time the mapping update control unit 130 sequentially writes data according to the write command from the data control unit 110 to a designated log area of the data storage space in the memory device 10, the recorded data and The related mapping information is stored in the mapping update buffer of the volatile memory 50 .

이때, 사상갱신버퍼에 저장되는 사상정보는, 데이터의 고유값과, 쓰기명령과 관련된 논리주소 즉 호스트(200)로부터 받은 논리주소, 및 데이터를 기록한 상기 메모리장치(10)의 물리주소가 포함될 수 있다.In this case, the mapping information stored in the mapping update buffer may include a unique value of data, a logical address related to a write command, that is, a logical address received from the host 200, and a physical address of the memory device 10 in which data is recorded. have.

즉, 본 발명에서는, 호스트(200)로부터 쓰기명령이 수신되면 쓰기명령에 따른 데이터를 메모리장치(10) 내 데이터저장공간의 로그영역에 순차적으로 기록하며, 이에 따른 사상정보를 휘발성메모리(50)의 사상테이블에 반영할 뿐 아니라 휘발성메모리(50)의 사상갱신버퍼에도 저장하는 것이다.That is, in the present invention, when a write command is received from the host 200 , data according to the write command is sequentially recorded in the log area of the data storage space in the memory device 10 , and the mapping information is stored in the volatile memory 50 . It is not only reflected in the mapping table of , but also stored in the mapping update buffer of the volatile memory 50 .

이때, 호스트(200)의 워크로드 패턴이 순차적인지 또는 비순차적인지에 따라서, 휘발성메모리(50)의 사상테이블에 누적 반영되는 사상정보가 밀집 또는 분산될 수 있지만, 휘발성메모리(50)의 사상갱신버퍼에 누적 저장(변경)되는 사상정보는 호스트(200)의 워크로드 패턴과 상관없이 순차적으로 저장될 것이다.At this time, depending on whether the workload pattern of the host 200 is sequential or non-sequential, mapping information accumulated and reflected in the mapping table of the volatile memory 50 may be concentrated or dispersed, but the mapping update of the volatile memory 50 may be The mapping information accumulated (changed) in the buffer will be sequentially stored regardless of the workload pattern of the host 200 .

또한, 사상갱신제어부(130)는, 전술과 같이 데이터와 관련된 사상정보를 휘발성메모리(50)의 사상갱신버퍼에 저장하는 한편, 현재 지정된 로그영역이 풀(Full) 상태인지 여부를 확인한다.In addition, the mapping update control unit 130 stores data-related mapping information in the mapping update buffer of the volatile memory 50 as described above, and checks whether the currently designated log area is in a full state.

사상갱신제어부(130)는, 현재 지정된 로그영역에 더 이상 데이터를 기록할 수 없는 한계 즉 로그영역 풀(Full) 상태가 되면, 사상갱신버퍼에 누적 저장된 사상정보를 메모리장치(10) 내 사상갱신저장공간에 기록한다.The mapping update control unit 130 updates the mapping information accumulated in the mapping update buffer in the memory device 10 when there is a limit at which data can no longer be recorded in the currently designated log area, that is, the log area full state. record in storage.

이렇게 되면, 사상갱신버퍼에 누적 저장되어 있던 사상정보 즉 현재 지정된 로그영역의 모든 사상정보가, 비휘발성메모리인 메모리장치(10) 내 사상갱신저장공간에 기록되기 때문에, 본 발명이 적용된 스토리지 시스템의 전원이 종료된 후에도 현재 지정된 로그영역에 대한 사상정보가 메모리장치(10)의 사상갱신저장공간으로부터 복원될 수 있게 된다.In this case, since the mapping information accumulated in the mapping update buffer, that is, all mapping information in the currently designated log area, is recorded in the mapping update storage space in the memory device 10, which is a non-volatile memory, the storage system to which the present invention is applied. Even after the power is turned off, mapping information for the currently designated log area can be restored from the mapping update storage space of the memory device 10 .

한편, 데이터제어부(110)는, 사상갱신제어부(130)에 의해 사상갱신버퍼에 누적 저장된 사상정보가 메모리장치(10)의 사상갱신저장공간에 기록되면, 데이터저장공간에서 로그영역을 재 지정함으로써, 로그영역을 전진할 수 있다.On the other hand, when the mapping information accumulated and stored in the mapping update buffer by the mapping update control unit 130 is recorded in the mapping update storage space of the memory device 10, the data control unit 110 re-designates the log area in the data storage space. , the log area can be advanced.

이처럼 로그영역이 재 지정(전진)된 후, 데이터제어부(110)는, 전술과 같이 쓰기명령에 따른 데이터를 메모리장치(10) 내 데이터저장공간의 지정된 로그영역에 순차적으로 기록할 것이고, 사상테이블제어부(120) 및 사상갱신제어부(130)는, 전술과 같이 데이터제어부(110)에서 기록한 데이터와 관련된 사상정보를, 휘발성메모리(50)의 사상테이블에 반영하고 휘발성메모리(50)의 사상갱신버퍼에 저장할 것이며, 특히 사상갱신제어부(130)는, 전술과 같이 현재 지정된 로그영역이 풀(Full) 상태가 되면 사상갱신버퍼에 누적 저장된 사상정보를 메모리장치(10) 내 사상갱신저장공간에 기록할 것이다.After the log area is re-designated (forwarded) as described above, the data control unit 110 sequentially writes data according to the write command to the designated log area of the data storage space in the memory device 10 as described above, and the mapping table The control unit 120 and the mapping update control unit 130 reflect the mapping information related to the data recorded by the data control unit 110 to the mapping table of the volatile memory 50 as described above, and the mapping update buffer of the volatile memory 50 . In particular, when the currently designated log area becomes full as described above, the mapping update control unit 130 records the mapping information accumulated in the mapping update buffer to the mapping update storage space in the memory device 10 . will be.

여기서, 사상테이블제어부(120)는, 메모리장치(10) 내 사상갱신저장공간이 풀(Full) 상태가 되면, 지금까지 사상정보가 누적 반영된 사상테이블을 메모리장치(10) 내 사상테이블저장공간에 기록하여, 상기 지정된 로그영역 및 적어도 하나의 상기 재 지정한 로그영역에 대한 사상정보가 메모리장치(10) 내 사상테이블저장공간으로부터 복원될 수 있도록 한다.Here, when the mapping update storage space in the memory device 10 is in the full state, the mapping table control unit 120 stores the mapping table in which the mapping information accumulated so far is reflected in the mapping table storage space in the memory device 10 . By recording, mapping information for the designated log area and at least one of the re-designated log areas can be restored from the mapping table storage space in the memory device 10 .

보다 구체적으로 설명하면, 사상테이블제어부(120)는, 전술과 같이 데이터와 관련된 사상정보를 휘발성메모리(50)의 사상테이블에 반영하는 한편, 메모리장치(10) 내 사상갱신저장공간이 풀(Full) 상태인지 여부를 확인한다.More specifically, the mapping table control unit 120 reflects data-related mapping information in the mapping table of the volatile memory 50 as described above, while the mapping update storage space in the memory device 10 is full. ) to check whether the

사상테이블제어부(120)는, 메모리장치(10) 내 사상갱신저장공간에 더 이상 사상정보를 저장할 수 없는 한계 즉 사상갱신저장공간 풀(Full) 상태가 되면, 지금까지 사상정보가 누적 반영된 휘발성메모리(50)의 사상테이블을 비로소 메모리장치(10) 내 사상테이블저장공간에 기록한다.When the mapping table control unit 120 reaches a limit at which mapping information can no longer be stored in the mapping update storage space in the memory device 10, that is, when the mapping update storage space is in the full state, the volatile memory in which the mapping information is accumulated so far. The mapping table of (50) is finally recorded in the mapping table storage space in the memory device (10).

이렇게 되면, 사상테이블에 누적 반영되어 있던 사상정보 즉 현재 지정된 로그영역까지 전진된 과거의 로그영역들(상기 지정된 로그영역 및 적어도 하나의 상기 재 지정한 로그영역)의 모든 사상정보가, 비휘발성메모리인 메모리장치(10) 내 사상테이블저장공간에 테이블 형태로 기록되기 때문에, 본 발명이 적용된 스토리지 시스템의 전원이 종료된 후에도 현재 지정된 로그영역까지 전진된 과거의 로그영역들에 대한 사상정보가 메모리장치(10)의 사상테이블저장공간으로부터 복원될 수 있게 된다.In this case, the mapping information accumulated and reflected in the mapping table, that is, all mapping information of the past log areas (the designated log area and at least one of the re-designated log areas) advanced up to the currently designated log area is stored in the non-volatile memory. Since the mapping information is recorded in the mapping table storage space in the memory device 10 in the form of a table, even after the power of the storage system to which the present invention is applied is turned off, mapping information on past log areas that have advanced to the currently designated log area is stored in the memory device ( 10) can be restored from the mapping table storage space.

이하에서는, 도 6을 참조하여, 이상에서 설명한 바에 따른 본 발명의 사상테이블 관리 방식을 설명하겠다.Hereinafter, a mapping table management method of the present invention according to the above description will be described with reference to FIG. 6 .

도 6에 도시된 바와 같이, 본 발명에서는, 메모리장치(10) 내 데이터저장공간에 로그영역을 지정하고, 호스트(200)로부터 쓰기명령이 수신되면 쓰기명령에 따른 데이터를 로그영역에 순차적으로 기록하며(①), 이에 따른 사상정보를 휘발성메모리(50)의 사상테이블에 반영할 뿐 아니라(②) 휘발성메모리(50)의 사상갱신버퍼에도 저장한다(②).As shown in FIG. 6 , in the present invention, a log area is designated in the data storage space of the memory device 10 , and when a write command is received from the host 200 , data according to the write command is sequentially recorded in the log area. and (①), the corresponding mapping information is not only reflected in the mapping table of the volatile memory 50 (②) but also stored in the mapping update buffer of the volatile memory 50 (②).

전술의 ①, ② 동작을 반복하다가, 로그영역이 풀(Full) 상태가 되면, 사상갱신버퍼에 누적 저장된 사상정보를 메모리장치(10) 내 사상갱신저장공간에 기록하고(③), 로그영역을 재 지정하여 전진한다(④).When the log area becomes full while repeating the above-mentioned operations ① and ②, the mapping information accumulated in the mapping update buffer is recorded in the mapping update storage space in the memory device 10 (③), and the log area is saved. Re-designate and move forward (④).

본 발명에서는, 메모리장치(10) 내 사상갱신저장공간이 풀(Full) 상태가 될 때까지, 전술의 ① ~ ④ 동작을 반복할 것이다.In the present invention, the above-described operations ① to ④ will be repeated until the mapping update storage space in the memory device 10 becomes the full state.

한편, 본 발명에서는, 전술의 ① ~ ④ 동작을 반복하던 중 메모리장치(10) 내 사상갱신저장공간이 풀(Full) 상태가 되면, 지금까지 사상정보가 누적 반영된 휘발성메모리(50)의 사상테이블을 비로소 메모리장치(10) 내 사상테이블저장공간에 기록하고(⑤), 최신의 사상테이블을 사상테이블저장공간에 기록함에 따라 사상갱신저장공간의 사상정보는 더 이상 필요가 없기 때문에 사상갱신저장공간을 회수하여 재 활용할 수 있다(⑥).On the other hand, in the present invention, when the mapping update storage space in the memory device 10 is in the full state while repeating the above-described operations ① to ④, the mapping table of the volatile memory 50 in which the mapping information is accumulated so far is reflected. is recorded in the mapping table storage space in the memory device 10 (⑤), and as the latest mapping table is recorded in the mapping table storage space, the mapping information in the mapping update storage space is no longer needed. can be recovered and reused (⑥).

전술한 바와 같은, 본 발명의 사상테이블 관리 방식에 따르면, 사상갱신제어기능(사상갱신버퍼, 사상갱신제어부)를 도입함으로써, 로그영역이 풀(Full) 상태가 될 때마다 사상테이블을 메모리장치(10)에 기록하던 기존의 방식과 달리, 로그영역 단위로 변경된 사상정보 즉 사상갱신버퍼에 누적 저장한 사상정보 만을 메모리장치(10) 내 사상갱신저장공간에 기록하되, 사상갱신저장공간이 풀(Full) 상태가 되면 지금까지의 사상정보가 누적 반영된 사상테이블을 메모리장치(10)에 기록하게 된다.As described above, according to the mapping table management method of the present invention, the mapping table is stored in the memory device whenever the log area becomes full by introducing the mapping update control function (the mapping update buffer, the mapping update control unit). 10), only mapping information that has been changed in log area units, that is, the mapping information accumulated and stored in the mapping update buffer, is recorded in the mapping update storage space in the memory device 10, but the mapping update storage space is full ( Full) state, a mapping table in which the mapping information accumulated so far is reflected is recorded in the memory device 10 .

이에, 본 발명의 사상테이블 관리 방식에 따르면, 호스트(200)의 워크로드 패턴이 순차적인지 또는 비순차적인지에 따라 누적 반영된 사상정보가 밀집 또는 분산되는 테이블 형태의 사상정보(사상테이블)를 메모리장치(10)에 빈번하게 기록하는 기존에 비해, 사상정보를 기록하는데 필요한 기록 량이 최소화될 뿐 아니라, 사상정보를 기록하는데 필요한 기록 량이 호스트(200)의 워크로드 패턴과 상관없이 호스트 데이터 기록 양에 비례하기 때문에, 호스트(200)의 워크로드 패턴과 상관없이 일관성 있는 쓰기 성능을 보장할 수 있다.Accordingly, according to the mapping table management method of the present invention, the mapping information (mapping table) in the form of a table in which the cumulatively reflected mapping information is concentrated or distributed according to whether the workload pattern of the host 200 is sequential or non-sequential is stored in the memory device Compared to the conventional method that frequently records mapping information in (10), the amount of recording required to record mapping information is minimized, and the amount of recording required to record mapping information is proportional to the amount of host data recording regardless of the workload pattern of the host 200 Therefore, consistent write performance can be guaranteed regardless of the workload pattern of the host 200 .

한편, 본 발명에 따른 메모리제어장치(100)는, 전술한 사상갱신제어기능(사상갱신버퍼, 사상갱신제어부)를 도입함에 따른, 사상테이블 복원 방식 역시 제안한다.Meanwhile, the memory control apparatus 100 according to the present invention also proposes a mapping table restoration method by introducing the above-described mapping update control function (map update buffer, mapping update control unit).

본 발명의 사상테이블 복원 방식을 설명하면 다음과 같다.The mapping table restoration method of the present invention will be described as follows.

사상테이블제어부(120)는, 사상테이블 복원 필요 시, 메모리장치(10) 내 사상테이블저장공간으로부터 가장 최근에 기록된 사상테이블을 리드(read)한다.The mapping table control unit 120 reads the most recently recorded mapping table from the mapping table storage space in the memory device 10 when it is necessary to restore the mapping table.

예컨대, 사상테이블 복원 필요 시점은, 본 발명이 적용된 스토리지 시스템의 전원이 종료(Off)된 후 다시 전원이 켜지는(On) 시점일 것이다.For example, the time when the mapping table needs to be restored may be a time when the power of the storage system to which the present invention is applied is turned on again after being turned off.

즉, 사상테이블제어부(120)는, 본 발명이 적용된 스토리지 시스템의 전원이 종료(Off)된 후 다시 전원이 켜지면(On), 비휘발성메모리인 메모리장치(10) 내 사상테이블저장공간으로부터 가장 최근에 기록된 사상테이블을 리드(read)한다.That is, when the power of the storage system to which the present invention is applied is turned on (On), the mapping table control unit 120 stores the most data from the mapping table storage space in the memory device 10, which is a nonvolatile memory, after the power of the storage system to which the present invention is applied is turned off. The most recently recorded mapping table is read.

그리고, 사상테이블제어부(120)는, 메모리장치(10) 내 사상갱신저장공간에 저장된 사상정보 및 상기 사상테이블 복원 필요 시점에 지정되어 있는 메모리장치(10) 내 데이터저장공간의 로그영역을 리드하여 복원한 사상정보를, 전술의 리드한 사상테이블에 반영하여, 최신의 사상테이블을 복원할 수 있다. Then, the mapping table control unit 120 reads the mapping information stored in the mapping update storage space in the memory device 10 and the log area of the data storage space in the memory device 10 specified at the time when the mapping table restoration is required. The restored mapping information can be reflected in the above-described read mapping table to restore the latest mapping table.

구체적으로 설명하면, 사상테이블제어부(120)는, 사상갱신제어부(130)와의 연동에 기반하여, 메모리장치(10) 내 사상갱신저장공간으로부터 사상정보를 리드함으로써, 전술의 리드한 사상테이블에 반영되어 있지 못한 사상정보를 얻을 수 있다. More specifically, the mapping table control unit 120 reads mapping information from the mapping update storage space in the memory device 10 based on interworking with the mapping update control unit 130, and reflects it in the read mapping table. It is possible to obtain ideological information that is not yet available.

또한, 사상테이블제어부(120)는, 데이터제어부(110)와의 연동에 기반하여, 사상테이블 복원 필요 시점에 지정되어 있는 메모리장치(10) 내 데이터저장공간의 로그영역을 리드하여 사상정보를 복원함으로써, 전술의 사상갱신저장공간에 저장되어 있지 못한 사상정보를 복원할 수 있다.In addition, the mapping table control unit 120 restores mapping information by reading the log area of the data storage space in the memory device 10 designated at the time point when the mapping table restoration is required based on interworking with the data control unit 110 . , it is possible to restore the mapping information not stored in the mapping update storage space described above.

이에, 사상테이블제어부(120)는, 메모리장치(10) 내 사상갱신저장공간으로부터 리드하여 얻은 사상정보 및 로그영역을 리드하여 복원한 사상정보를, 전술의 리드한 사상테이블에 반영하여, 최신의 사상테이블을 복원할 수 있게 된다.Accordingly, the mapping table control unit 120 reflects the mapping information obtained by reading from the mapping update storage space in the memory device 10 and the mapping information restored by reading the log area in the above-described read mapping table to the latest The mapping table can be restored.

이처럼, 본 발명에서는, 전술한 사상갱신제어기능(사상갱신버퍼, 사상갱신제어부)를 도입함에 따른 환경에 맞추어, 메모리장치(10)의 일관성(consistency)을 효과적으로 유지할 수 있는 사상테이블 복원 방식 역시 제안하고 있다.As such, the present invention also proposes a mapping table restoration method capable of effectively maintaining consistency of the memory device 10 according to the environment in which the above-described mapping update control function (map update buffer, mapping update control unit) is introduced. are doing

이상에서 설명한 바와 같이, 본 발명에 따른 메모리제어장치(100)는, 호스트(200)의 워크로드 패턴에 따라 누적 반영된 사상정보가 밀집 또는 분산되는 테이블 형태의 사상정보(사상테이블)를 메모리장치(10)에 빈번하게 기록하는 기존 방식과 달리, 로그영역 단위로 변경된 사상정보 즉 사상갱신버퍼에 누적 저장한 사상정보 만을 메모리장치(10) 내 사상갱신저장공간에 기록하되, 사상갱신저장공간이 풀(Full) 상태가 되면 지금까지의 사상정보가 누적 반영된 사상테이블을 메모리장치(10)에 기록하게 된다.As described above, the memory control apparatus 100 according to the present invention stores the mapping information (mapping table) in the form of a table in which the mapping information accumulated and reflected according to the workload pattern of the host 200 is concentrated or dispersed in the memory device ( Unlike the existing method of frequently recording in 10), only the mapping information that has been changed in log area units, that is, the mapping information accumulated and stored in the mapping update buffer, is recorded in the mapping update storage space in the memory device 10, but the mapping update storage space is full. When the (Full) state is reached, the mapping table in which the mapping information accumulated so far is reflected is recorded in the memory device 10 .

따라서, 본 발명에 따른 메모리제어장치는, 사상정보를 기록하는데 필요한 기록 량이 최소화하고, 호스트의 워크로드 패턴과 상관없이 일관성 있는 쓰기 성능을 보장하는 효과를 도출할 수 있다.Therefore, the memory control apparatus according to the present invention can minimize the amount of writing required to record mapping information and ensure consistent write performance regardless of the workload pattern of the host.

이하에서는 도 3을 참조하여 본 발명의 바람직한 실시예에 따른 메모리제어장치의 동작 방법을 설명하도록 하겠다. 설명의 편의를 위해서, 도 1 및 도 2의 참조번호를 언급하여 설명하도록 하겠다.Hereinafter, a method of operating a memory control apparatus according to a preferred embodiment of the present invention will be described with reference to FIG. 3 . For convenience of description, reference numerals in FIGS. 1 and 2 will be referred to.

본 발명에 따른 메모리제어장치(100)의 동작 방법은, 사상테이블 복원이 필요한지 확인한다(S100).In the method of operating the memory control apparatus 100 according to the present invention, it is checked whether mapping table restoration is necessary (S100).

예컨대, 사상테이블 복원이 필요한 경우는, 본 발명이 적용된 스토리지 시스템의 전원이 종료(Off)된 후 다시 전원이 켜지는(On)되는 시점일 것이다.For example, when mapping table restoration is required, it may be a time when the power of the storage system to which the present invention is applied is turned on again after the power is turned off.

이에, 본 발명에 따른 메모리제어장치(100)의 동작 방법은, 사상테이블 복원 필요 시점 즉 전원이 다시 켜지는 시점이 아니면(S110 No), 호스트(200)로부터 쓰기명령이 수신되는지 판단한다(S110).Accordingly, in the method of operating the memory control apparatus 100 according to the present invention, it is determined whether a write command is received from the host 200 when the mapping table restoration is not required, that is, when the power is turned on again (S110 No) (S110). ).

본 발명에 따른 메모리제어장치(100)의 동작 방법은, 쓰기명령이 수신되면(S110 Yes), 쓰기명령에 따른 데이터를 메모리장치(10) 내 데이터저장공간의 지정된 로그영역에 순차적으로 기록한다(S120).In the method of operating the memory control device 100 according to the present invention, when a write command is received (S110 Yes), data according to the write command is sequentially recorded in a designated log area of the data storage space in the memory device 10 ( S120).

본 발명에 따른 메모리제어장치(100)의 동작 방법은, S120단계에서 쓰기명령에 따른 데이터를 로그영역에 순차적으로 기록할 때마다, 기록한 데이터와 관련된 사상정보를 휘발성메모리(50)의 사상테이블에 반영한다(S130).In the operating method of the memory control apparatus 100 according to the present invention, whenever data according to the write command is sequentially written to the log area in step S120 , mapping information related to the recorded data is stored in the mapping table of the volatile memory 50 . It reflects (S130).

한편, 본 발명에 따른 메모리제어장치(100)의 동작 방법은, S120단계에서 쓰기명령에 따른 데이터를 로그영역에 순차적으로 기록할 때마다, 기록한 데이터와 관련된 사상정보를 휘발성메모리(50)의 사상갱신버퍼에 저장한다(S140).Meanwhile, in the operating method of the memory control apparatus 100 according to the present invention, whenever data according to a write command is sequentially written to the log area in step S120 , mapping information related to the recorded data is mapped to the volatile memory 50 . It is stored in the update buffer (S140).

즉, 본 발명에 따른 메모리제어장치(100)의 동작 방법은, 호스트(200)로부터 쓰기명령이 수신되면 쓰기명령에 따른 데이터를 메모리장치(10) 내 데이터저장공간의 로그영역에 순차적으로 기록하며, 이에 따른 사상정보를 휘발성메모리(50)의 사상테이블에 반영할 뿐 아니라 휘발성메모리(50)의 사상갱신버퍼에도 저장하는 것이다.That is, in the method of operating the memory control device 100 according to the present invention, when a write command is received from the host 200, data according to the write command is sequentially written to the log area of the data storage space in the memory device 10, , the mapping information is not only reflected in the mapping table of the volatile memory 50 but also stored in the mapping update buffer of the volatile memory 50 .

한편, 본 발명에 따른 메모리제어장치(100)의 동작 방법은, 현재 지정된 로그영역이 풀(Full) 상태인지 여부를 지속적으로 확인하면서(S150), 전술의 S110단계 내지 S140단계를 반복하다가, 로그영역이 풀(Full) 상태가 되면(S150 Yes), 사상갱신버퍼에 누적 저장된 사상정보를 메모리장치(10) 내 사상갱신저장공간에 기록한다(S160).On the other hand, in the method of operating the memory control apparatus 100 according to the present invention, while continuously checking whether the currently designated log area is in the full state (S150), while repeating steps S110 to S140 described above, the log When the region is in the full state (S150 Yes), the mapping information accumulated and stored in the mapping update buffer is recorded in the mapping update storage space in the memory device 10 (S160).

이렇게 되면, 사상갱신버퍼에 누적 저장되어 있던 사상정보 즉 현재 지정된 로그영역의 모든 사상정보가, 비휘발성메모리인 메모리장치(10) 내 사상갱신저장공간에 기록되기 때문에, 본 발명이 적용된 스토리지 시스템의 전원이 종료된 후에도 현재 지정된 로그영역에 대한 사상정보가 메모리장치(10)의 사상갱신저장공간으로부터 복원될 수 있게 된다.In this case, since the mapping information accumulated in the mapping update buffer, that is, all mapping information in the currently designated log area, is recorded in the mapping update storage space in the memory device 10, which is a non-volatile memory, the storage system to which the present invention is applied. Even after the power is turned off, mapping information for the currently designated log area can be restored from the mapping update storage space of the memory device 10 .

그리고, 본 발명에 따른 메모리제어장치(100)의 동작 방법은, S160단계에서 사상갱신버퍼에 누적 저장된 사상정보가 메모리장치(10)의 사상갱신저장공간에 기록되면, 데이터저장공간에서 로그영역을 재 지정함으로써, 로그영역을 전진할 수 있다(S170).And, in the operation method of the memory control apparatus 100 according to the present invention, when the mapping information accumulated and stored in the mapping update buffer is recorded in the mapping update storage space of the memory device 10 in step S160, a log area is created in the data storage space. By re-designating, the log area can be advanced (S170).

이때, 본 발명에 따른 메모리제어장치(100)의 동작 방법은, S160단계에서 사상갱신버퍼에 누적 저장된 사상정보가 메모리장치(10)의 사상갱신저장공간에 기록되면, 사상갱신저장공간이 풀(Full) 상태인지 여부를 확인한다(S180).At this time, in the operating method of the memory control apparatus 100 according to the present invention, when the mapping information accumulated and stored in the mapping update buffer is recorded in the mapping update storage space of the memory device 10 in step S160, the mapping update storage space is full ( Full) state is checked (S180).

본 발명에 따른 메모리제어장치(100)의 동작 방법은, 사상갱신저장공간이 풀(Full) 상태가 아닌 경우(S180 No), 전술의 S110단계 이후를 반복 수행하여, 쓰기명령에 따른 데이터를 메모리장치(10) 내 데이터저장공간의 지정된 로그영역에 순차적으로 기록할 것이고, 기록한 데이터와 관련된 사상정보를 휘발성메모리(50)의 사상테이블에 반영하고 휘발성메모리(50)의 사상갱신버퍼에 저장할 것이며, 현재 지정된 로그영역이 풀(Full) 상태가 되면 사상갱신버퍼에 누적 저장된 사상정보를 메모리장치(10) 내 사상갱신저장공간에 기록할 것이다.In the method of operating the memory control apparatus 100 according to the present invention, when the mapping update storage space is not in the full state (S180 No), the above-described step S110 and subsequent steps are repeatedly performed to store data according to the write command into the memory. It will sequentially write to the designated log area of the data storage space in the device 10, reflect the mapping information related to the recorded data in the mapping table of the volatile memory 50, and store it in the mapping update buffer of the volatile memory 50, When the currently designated log area is in the full state, the mapping information accumulated and stored in the mapping update buffer will be recorded in the mapping update storage space in the memory device 10 .

한편, 본 발명에 따른 메모리제어장치(100)의 동작 방법은, 사상갱신저장공간이 풀(Full) 상태가 되면(S180 Yes), 지금까지 사상정보가 누적 반영된 사상테이블을 메모리장치(10) 내 사상테이블저장공간에 기록하고, 최신의 사상테이블을 사상테이블저장공간에 기록함에 따라 사상갱신저장공간의 사상정보는 더 이상 필요가 없기 때문에 사상갱신저장공간을 회수하여 재 활용할 수 있다(S190).On the other hand, in the method of operating the memory control device 100 according to the present invention, when the mapping update storage space is in the full state (S180 Yes), the mapping table in which the mapping information is accumulated so far is stored in the memory device 10 . Since the mapping information in the mapping update storage space is no longer needed as the mapping table storage space is recorded and the latest mapping table is recorded in the mapping table storage space, the mapping update storage space can be recovered and reused (S190).

이렇게 되면, 사상테이블에 누적 반영되어 있던 사상정보 즉 현재 지정된 로그영역까지 전진된 과거의 로그영역들(상기 지정된 로그영역 및 적어도 하나의 상기 재 지정한 로그영역)의 모든 사상정보가, 비휘발성메모리인 메모리장치(10) 내 사상테이블저장공간에 테이블 형태로 기록되기 때문에, 본 발명이 적용된 스토리지 시스템의 전원이 종료된 후에도 현재 지정된 로그영역까지 전진된 과거의 로그영역들에 대한 사상정보가 메모리장치(10)의 사상테이블저장공간으로부터 복원될 수 있게 된다.In this case, the mapping information accumulated and reflected in the mapping table, that is, all mapping information of the past log areas (the designated log area and at least one of the re-designated log areas) advanced up to the currently designated log area, becomes the non-volatile memory. Since the mapping table storage space in the memory device 10 is recorded in the form of a table, even after the power of the storage system to which the present invention is applied is turned off, mapping information on past log areas that have advanced to the currently designated log area is stored in the memory device ( 10) can be restored from the mapping table storage space.

본 발명에 따른 메모리제어장치(100)의 동작 방법은, 본 발명이 적용된 스토리지 시스템의 전원이 종로(Off)되지 않는 한(S200 No), 전술의 S110단계 이후를 반복 수행할 것이다.In the method of operating the memory control apparatus 100 according to the present invention, as long as the power of the storage system to which the present invention is applied is not turned off (S200 No), steps S110 and later described above will be repeatedly performed.

한편, 본 발명에 따른 메모리제어장치(100)의 동작 방법은, 사상테이블 복원 필요 시점 즉 전원이 다시 켜지는 시점이면(S110 Yes), 비휘발성메모리인 메모리장치(10) 내 사상테이블저장공간으로부터 가장 최근에 기록된 사상테이블을 리드(read)한다(S210).On the other hand, in the method of operating the memory control apparatus 100 according to the present invention, when the mapping table restoration is required, that is, when the power is turned on again (S110 Yes), the mapping table storage space in the memory device 10, which is a non-volatile memory, is stored in the operation method. The most recently recorded mapping table is read (S210).

그리고, 본 발명에 따른 메모리제어장치(100)의 동작 방법은, 메모리장치(10) 내 사상갱신저장공간으로부터 사상정보를 리드함으로써, 전술의 리드한 사상테이블에 반영되어 있지 못한 사상정보를 얻을 수 있다(S220). In the method of operating the memory control device 100 according to the present invention, mapping information not reflected in the read mapping table can be obtained by reading the mapping information from the mapping update storage space in the memory device 10 . There is (S220).

또한, 본 발명에 따른 메모리제어장치(100)의 동작 방법은, 사상테이블 복원 필요 시점에 지정되어 있는 메모리장치(10) 내 데이터저장공간의 로그영역을 리드하여 사상정보를 복원함으로써, 전술의 사상갱신저장공간에 저장되어 있지 못한 사상정보를 복원할 수 있다(S230).Further, in the method of operating the memory control apparatus 100 according to the present invention, the mapping information is restored by reading the log area of the data storage space in the memory device 10 specified at the time point when the mapping table restoration is required, thereby restoring the mapping information. It is possible to restore the mapping information not stored in the update storage space (S230).

이에, 본 발명에 따른 메모리제어장치(100)의 동작 방법은, 메모리장치(10) 내 사상갱신저장공간으로부터 리드하여 얻은 사상정보 및 로그영역을 리드하여 복원한 사상정보를, S210단계에서 리드한 사상테이블에 반영하여, 최신의 사상테이블을 복원할 수 있게 된다(S240).Accordingly, in the method of operating the memory control apparatus 100 according to the present invention, the mapping information obtained by reading from the mapping update storage space in the memory device 10 and the mapping information restored by reading the log area are read in step S210. By reflecting in the mapping table, the latest mapping table can be restored (S240).

이상에서 설명한 바와 같이, 본 발명에 따른 메모리제어장치의 동작 방법은, 사상정보를 기록하는데 필요한 기록 량이 최소화하고, 호스트의 워크로드 패턴과 상관없이 일관성 있는 쓰기 성능을 보장하는 효과를 도출할 수 있다.As described above, the method of operating the memory control device according to the present invention can have the effect of minimizing the amount of writing required to record mapping information and guaranteeing consistent write performance regardless of the workload pattern of the host. .

본 발명의 일실시예에 따른 메모리제어장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method of operating a memory control apparatus according to an 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, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes 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.

지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.Although the present invention has been described in detail with reference to preferred embodiments so far, the present invention is not limited to the above-described embodiments, and without departing from the gist of the present invention as claimed in the following claims, the technical field to which the present invention pertains It will be said that the technical idea of the present invention extends to the extent that any person with ordinary skill in the art can make various changes or modifications.

본 발명에 따른 메모리제어장치 및 메모리제어장치의 동작 방법에 따르면 사상테이블 관리가 수반되는 메모리장치를 채용함에 있어서, 사상정보의 기록 량을 최소화하고 호스트의 워크로드 패턴과 상관없이 일관성 있는 쓰기 성능을 보장할 수 있다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.According to the memory control device and the method of operation of the memory control device according to the present invention, in employing a memory device accompanied by mapping table management, the amount of mapping information is minimized and consistent write performance is achieved regardless of the workload pattern of the host. In the sense that it can be guaranteed, as it goes beyond the limits of the existing technology, the possibility of marketing or business of the applied device, not just the use of the related technology, is sufficient, and industrial applicability is low because it can be clearly implemented in reality. there is an invention

10 : 메모리장치
50 : 휘발성메모리
100 : 메모리제어장치
110 : 데이터제어부 120 : 사상테이블제어부
130 : 사상갱신제어부
200 : 호스트
10: memory device
50: volatile memory
100: memory control device
110: data control unit 120: mapping table control unit
130: event update control unit
200 : host

Claims (9)

쓰기명령에 따른 데이터를 메모리장치 내 데이터저장공간의 지정된 로그영역에 기록하는 데이터제어부;
상기 데이터의 기록과 관련된 사상정보를 사상테이블에 반영하는 사상테이블제어부; 및
상기 데이터의 기록과 관련된 사상정보를 사상갱신버퍼에 저장하고, 상기 로그영역이 풀(Full) 상태가 되면 상기 사상갱신버퍼에 누적 저장된 사상정보를 상기 메모리장치 내 사상갱신저장공간에 기록하여, 상기 로그영역에 대한 사상정보가 상기 사상갱신저장공간으로부터 복원될 수 있도록 하는 사상갱신제어부를 포함하며;
상기 사상테이블제어부는,
상기 로그영역이 풀(Full) 상태가 되는 것과 무관하게 상기 사상갱신저장공간이 풀(Full) 상태가 되면, 상기 사상갱신저장공간의 사상정보가 누적 반영된 사상테이블을 상기 메모리장치 내 사상테이블저장공간에 기록하여, 상기 지정된 로그영역 및 적어도 하나의 재 지정한 로그영역에 대한 사상정보가 상기 사상테이블저장공간으로부터 복원될 수 있도록 하는 것을 특징으로 하는 메모리제어장치.
a data control unit for writing data according to a write command to a designated log area of a data storage space in the memory device;
a mapping table control unit for reflecting mapping information related to the recording of the data to a mapping table; and
The mapping information related to the recording of the data is stored in the mapping update buffer, and when the log area becomes full, the mapping information accumulated in the mapping update buffer is recorded in the mapping update storage space in the memory device, and a mapping update control unit for allowing mapping information for the log area to be restored from the mapping update storage space;
The mapping table control unit,
When the mapping update storage space is in the full state regardless of whether the log area is in the full state, the mapping table in which the mapping information of the mapping update storage space is accumulated is stored in the mapping table storage space in the memory device. The memory control apparatus according to claim 1, wherein the mapping information for the designated log area and at least one re-designated log area can be restored from the mapping table storage space by writing to the .
제 1 항에 있어서,
상기 데이터제어부는,
상기 사상갱신버퍼에 누적 저장된 사상정보가 상기 사상갱신저장공간에 기록되면, 상기 데이터저장공간에서 로그영역을 재 지정하는 것을 특징으로 하는 메모리제어장치.
The method of claim 1,
The data control unit,
and re-designating a log area in the data storage space when the mapping information accumulated in the mapping update buffer is recorded in the mapping update storage space.
삭제delete 제 1 항에 있어서,
상기 사상갱신버퍼에 저장되는 사상정보는,
상기 쓰기명령과 관련된 논리주소 및 상기 쓰기명령에 따른 데이터를 기록한 상기 메모리장치의 물리주소를 포함하는 것을 특징으로 하는 메모리제어장치.
The method of claim 1,
The mapping information stored in the mapping update buffer is
and a logical address related to the write command and a physical address of the memory device in which data according to the write command is written.
제 1 항에 있어서,
상기 사상테이블제어부는,
사상테이블 복원 필요 시, 상기 사상테이블저장공간으로부터 가장 최근에 기록된 사상테이블을 리드(read)하고,
상기 사상갱신저장공간에 저장된 사상정보 및 상기 사상테이블 복원 필요 시점에 지정되어 있는 상기 데이터저장공간의 로그영역을 리드하여 복원한 사상정보를 상기 리드한 사상테이블에 반영하여, 최신의 사상테이블을 복원하는 것을 특징으로 하는 메모리제어장치.
The method of claim 1,
The mapping table control unit,
When it is necessary to restore the mapping table, read the most recently recorded mapping table from the mapping table storage space;
The mapping information stored in the mapping update storage space and the mapping information restored by reading the log area of the data storage space designated when the mapping table restoration is required are reflected in the read mapping table to restore the latest mapping table. A memory control device, characterized in that.
쓰기명령에 따른 데이터를 메모리장치 내 데이터저장공간의 지정된 로그영역에 기록하는 데이터기록단계;
상기 데이터의 기록과 관련된 사상정보를 사상테이블에 반영하는 사상테이블반영단계;
상기 데이터의 기록과 관련된 사상정보를 사상갱신버퍼에 저장하는 사상갱신버퍼저장단계; 및
상기 로그영역이 풀(Full) 상태가 되면 상기 사상갱신버퍼에 누적 저장된 사상정보를 상기 메모리장치 내 사상갱신저장공간에 기록하여, 상기 로그영역에 대한 사상정보가 상기 사상갱신저장공간으로부터 복원될 수 있도록 하는 사상갱신저장공간기록단계;
상기 로그영역이 풀(Full) 상태가 되는 것과 무관하게 상기 사상갱신저장공간이 풀(Full) 상태가 되면, 상기 사상갱신저장공간의 사상정보가 누적 반영된 사상테이블을 상기 메모리장치 내 사상테이블저장공간에 기록하여, 상기 지정된 로그영역 및 적어도 하나의 재 지정한 로그영역에 대한 사상정보가 상기 사상테이블저장공간으로부터 복원될 수 있도록 하는 단계를 포함하는 것을 특징으로 하는 메모리제어장치의 동작 방법.
a data writing step of writing data according to a write command to a designated log area of a data storage space in a memory device;
a mapping table reflection step of reflecting mapping information related to the recording of the data in a mapping table;
a mapping update buffer storage step of storing mapping information related to the recording of the data in a mapping update buffer; and
When the log area becomes full, the mapping information accumulated in the mapping update buffer is recorded in the mapping update storage space in the memory device, and the mapping information for the log area can be restored from the mapping update storage space. Map update storage space recording step to ensure;
When the mapping update storage space is in the full state regardless of whether the log area is in the full state, the mapping table in which the mapping information of the mapping update storage space is accumulated is stored in the mapping table storage space in the memory device and recording the mapping information for the designated log area and at least one re-designated log area to be restored from the mapping table storage space.
제 6 항에 있어서,
상기 사상갱신버퍼에 누적 저장된 사상정보가 상기 사상갱신저장공간에 기록되면, 상기 데이터저장공간에서 로그영역을 재 지정하는 단계를 더 포함하는 것을 특징으로 하는 메모리제어장치의 동작 방법.
7. The method of claim 6,
and re-designating a log area in the data storage space when the mapping information accumulated and stored in the mapping update buffer is recorded in the mapping update storage space.
삭제delete 제 6 항에 있어서,
사상테이블 복원 필요 시, 상기 사상테이블저장공간으로부터 가장 최근에 기록된 사상테이블을 리드(read)하는 단계; 및
상기 사상갱신저장공간에 저장된 사상정보 및 상기 사상테이블 복원 필요 시점에 지정되어 있는 상기 데이터저장공간의 로그영역을 리드하여 복원한 사상정보를 상기 리드한 사상테이블에 반영하여, 최신의 사상테이블을 복원하는 단계를 더 포함하는 것을 특징으로 하는 메모리제어장치의 동작 방법.
7. The method of claim 6,
reading the most recently recorded mapping table from the mapping table storage space when it is necessary to restore the mapping table; and
The mapping information stored in the mapping update storage space and the mapping information restored by reading the log area of the data storage space designated when the mapping table restoration is required are reflected in the read mapping table to restore the latest mapping table. Method of operating a memory control device, characterized in that it further comprises the step of.
KR1020150001875A 2015-01-07 2015-01-07 Memory management apparatus and control method thereof KR102263800B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150001875A KR102263800B1 (en) 2015-01-07 2015-01-07 Memory management apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150001875A KR102263800B1 (en) 2015-01-07 2015-01-07 Memory management apparatus and control method thereof

Publications (2)

Publication Number Publication Date
KR20160085035A KR20160085035A (en) 2016-07-15
KR102263800B1 true KR102263800B1 (en) 2021-06-10

Family

ID=56505950

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150001875A KR102263800B1 (en) 2015-01-07 2015-01-07 Memory management apparatus and control method thereof

Country Status (1)

Country Link
KR (1) KR102263800B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100885181B1 (en) * 2007-02-06 2009-02-23 삼성전자주식회사 Memory system performing group mapping operation and address mapping method thereof
KR100907477B1 (en) * 2007-07-16 2009-07-10 한양대학교 산학협력단 Apparatus and method for managing index of data stored in flash memory

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101301828B1 (en) * 2011-09-29 2013-08-29 한양대학교 산학협력단 Method and apparatus for power-off recovery in flash memory-based solid state drive

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100885181B1 (en) * 2007-02-06 2009-02-23 삼성전자주식회사 Memory system performing group mapping operation and address mapping method thereof
KR100907477B1 (en) * 2007-07-16 2009-07-10 한양대학교 산학협력단 Apparatus and method for managing index of data stored in flash memory

Also Published As

Publication number Publication date
KR20160085035A (en) 2016-07-15

Similar Documents

Publication Publication Date Title
US10606761B2 (en) Method for accessing flash memory module and associated flash memory controller and electronic device
KR100578143B1 (en) Storage system with scheme capable of invalidating data stored in buffer memory and computing system including the same
KR101473344B1 (en) Apparatus using flash memory as storage and operation method for the same
US8694984B2 (en) Memory apparatus and method of updating firmware of the memory apparatus
JP5351046B2 (en) Method and system for facilitating fast startup of a flash memory system
JP5570406B2 (en) Memory controller and data recording apparatus
US10929303B2 (en) Data storage device utilizing virtual blocks to improve performance and data storage method thereof
US20080301393A1 (en) Apparatus and method of processing data of non-volatile memory
US20110035543A1 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
JP2017204037A (en) Information processor, duplication elimination program, and duplication elimination method
US20110153918A1 (en) Data writing method and data storage device
US9047923B1 (en) Fast shingled tracks recording
KR20080045833A (en) Method of controlling flash memory and flash memory system using the same
KR20190045121A (en) Method and apparatus for managing data of non-volatile memory in hybrid main memory system
US20200167235A1 (en) Data processing method for solid state drive
US20160124650A1 (en) Data Storage Device and Flash Memory Control Method
US9886399B2 (en) Storage control device, storage device, information processing system, and storage control method therefor
JP2009116465A (en) Storage device and memory control method
KR100995546B1 (en) Database system based on hybrid storage device nand flash memory and non-volatile ram, and method of updating data in the database system
JP6988445B2 (en) Storage system, control device and control method
KR102263800B1 (en) Memory management apparatus and control method thereof
KR100939814B1 (en) Method of managing and writing log file for flash memory
CN113986126B (en) TCG data deleting method and device based on solid state disk and computer equipment
JP2010039509A (en) Storage device and data write control method
JP2012203437A (en) Storage device, method and program

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant