[go: up one dir, main page]

KR20100062562A - Database system based on hybrid storage device nand flash memory and non-volatile ram, and method of updating data in the database system - Google Patents

Database system based on hybrid storage device nand flash memory and non-volatile ram, and method of updating data in the database system Download PDF

Info

Publication number
KR20100062562A
KR20100062562A KR1020080121269A KR20080121269A KR20100062562A KR 20100062562 A KR20100062562 A KR 20100062562A KR 1020080121269 A KR1020080121269 A KR 1020080121269A KR 20080121269 A KR20080121269 A KR 20080121269A KR 20100062562 A KR20100062562 A KR 20100062562A
Authority
KR
South Korea
Prior art keywords
data
flash memory
stored
buffer
nand flash
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020080121269A
Other languages
Korean (ko)
Other versions
KR100995546B1 (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 KR1020080121269A priority Critical patent/KR100995546B1/en
Publication of KR20100062562A publication Critical patent/KR20100062562A/en
Application granted granted Critical
Publication of KR100995546B1 publication Critical patent/KR100995546B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 데이터베이스 시스템에 관한 것이다. 보다 구체적으로는 하이브리드 데이터 저장 시스템을 포함하는 데이터베이스 시스템과 데이터베이스 시스템에서 데이터를 업데이트하는 방법에 관한 것이다. The present invention relates to a database system. More specifically, the present invention relates to a database system including a hybrid data storage system and a method of updating data in the database system.

본 발명의 일 실시예에 따른 데이터베이스 시스템은 데이터가 저장되는 낸드 플래시 메모리, 상기 낸드 플래시 메모리를 상기 데이터의 저장장치로 이용하기 위하여 상기 데이터의 물리 주소와 논리 주소의 대응 관계를 저장하기 위한 플래시 변환 계층 매핑 테이블, 및 상기 데이터의 물리 주소와 논리 주소의 대응 관계를 변환하기 위한 플래시 변환 계층을 포함하는 하이브리드 저장 시스템; 및 상기 데이터를 업데이트하기 위하여 임시로 저장하기 위한 데이터 버퍼, 상기 데이터 중 업데이트된 부분을 임시로 저장하기 위한 로그 버퍼, 및 상기 데이터 버퍼와 상기 로그 버퍼를 관리하기 위한 버퍼 관리부를 포함하는 데이터베이스 관리 시스템을 포함한다.A database system according to an embodiment of the present invention includes a NAND flash memory in which data is stored, and a flash translation for storing a correspondence relationship between a physical address and a logical address of the data in order to use the NAND flash memory as a storage device of the data. A hybrid storage system including a hierarchical mapping table and a flash translation layer for translating a corresponding relationship between a physical address and a logical address of the data; And a data buffer for temporarily storing the data, a log buffer for temporarily storing an updated portion of the data, and a buffer manager for managing the data buffer and the log buffer. It includes.

Description

낸드 플래시 메모리와 비휘발성 램을 사용하는 하이브리드 저장 장치 기반의 데이터베이스 시스템 및 데이터베이스 시스템에서 데이터를 업데이트하는 방법 {DATABASE SYSTEM BASED ON HYBRID STORAGE DEVICE NAND FLASH MEMORY AND NON-VOLATILE RAM, AND METHOD OF UPDATING DATA IN THE DATABASE SYSTEM}DATABASE SYSTEM BASED ON HYBRID STORAGE DEVICE NAND FLASH MEMORY AND NON-VOLATILE RAM, AND METHOD OF UPDATING DATA IN THE DATABASE SYSTEM}

본 발명은 데이터베이스 시스템에 관한 것이다. 보다 구체적으로는 하이브리드 데이터 저장 시스템을 포함하는 데이터베이스 시스템과 데이터베이스 시스템에서 데이터를 업데이트하는 방법에 관한 것이다. The present invention relates to a database system. More specifically, the present invention relates to a database system including a hybrid data storage system and a method of updating data in the database system.

일반적으로 데이터베이스 시스템은 마그네틱 디스크(magnetic disk) 기반의 저장 시스템을 사용한다. 그러나 마그네틱 디스크는 플래시 메모리 기반의 솔리드 스테이트 디스크(Solid State Disk)에 비해 속도, 전력 소비, 신뢰성 등의 성능에 있어서 약점을 가지고 있다. Generally, a database system uses a magnetic disk based storage system. Magnetic disks, however, have weaknesses in performance, such as speed, power consumption, and reliability, compared to solid state disks based on flash memory.

그러나 플래시 메모리 역시 이전에 기록된 메모리 영역에 데이터의 덮어쓰기가 불가능하기 때문에, 기존의 메모리 영역에 데이터를 쓰기 위해서는 그 부분을 지워주어야 한다. 플래시 메모리에서 지우는 단위가 블록 단위(128KB)이기 때문에, 데이터를 쓰는데 있어서 큰 오버헤드가 생긴다. However, since the flash memory cannot overwrite the previously written memory area, the data must be erased in order to write the data in the existing memory area. Since the unit of erasing from the flash memory is a block unit (128 KB), there is a large overhead in writing data.

이러한 문제를 해결하기 위해 종래 특허출원 제2002-0052349호, 특허출원 제2003-0054076호, 특허출원 제2005-0011292호 등은 플래시 변환 계층 및 플래시 메모리 사용에 관하여 개시하고 있다. 이들 종래 특허출원된 발명들은 메모리의 제약점을 보완해주는 플래시 변환 계층의 사용에 관련된 기술이다. 플래시 변환 계층은 논리 주소를 물리 주소로 변환시켜 줌으로써 새로운 영역에 데이터를 쓸 수 있게 해주기 때문에 기존 데이터에 대한 덮어씀을 없앰으로써 지우기 오버헤드를 없애주는 역할을 하게 된다. In order to solve this problem, Patent Application Nos. 2002-0052349, Patent Application Nos. 2003-0054076, and Patent Application Nos. 2005-0011292 disclose a flash conversion layer and use of a flash memory. These prior patented inventions relate to the use of the flash translation layer to compensate for memory limitations. The Flash translation layer eliminates the overhead of erasing by eliminating overwriting of existing data by converting logical addresses into physical addresses, allowing the data to be written to new areas.

또한 데이터베이스 시스템은 데이터의 신뢰성 및 일관성을 보장해야 하기 때문에 저장 시스템에 로그 영역을 두어서 업데이트 된 데이터를 먼저 로그 영역에 기록한 후에 나중에 데이터 영역의 데이터를 업데이트 하게 된다. 이러한 데이터에 대한 두 번 쓰기는 데이터베이스 시스템에서 신뢰성 및 일관성을 보장하며 빠른 고장 회복을 지원하는 기술이긴 하지만, 시스템의 쓰기 성능을 감소시킨다. In addition, the database system must ensure the reliability and consistency of the data, so that the log area is stored in the storage system so that the updated data is first recorded in the log area and then the data in the data area is updated later. Double writes to this data reduce the write performance of the system, although it is a technology that ensures reliability and consistency in database systems and supports fast fault recovery.

이러한 문제를 해결하기 위해 종래 특허출원 제2007-0016577호는 두 번 쓰기 연산 데이터에 대해서 저널 영역의 논리주소와 연결되는 물리주소를, 홈 영역과 연결된 논리주소로 변환시켜주는 방향선회 방법을 제공한다. 이러한 방향선회 방법은 저널링 파일 시스템의 어떤 작동에도 영향을 끼치지 않음으로써, 컴퓨터 시스템의 쓰기 성능 감소를 막음과 동시에 컴퓨터 시스템의 데이터 일관성 유지, 빠른 고장 회복의 기능을 제공해 줄 수 있게 된다.In order to solve such a problem, the prior patent application 2007-0016577 provides a turning method for converting a physical address connected to a logical address of a journal area to a logical address connected to a home area, for two write operation data. . This turning method does not affect any operation of the journaling file system, thereby preventing the computer system from reducing the write performance, and providing the function of maintaining the data consistency of the computer system and recovering from the fast failure.

따라서, 본 발명은, 낸드 플래시 메모리와 비휘발성 램으로 구성된 하이브리드 저장 장치를 데이터베이스 시스템에 적용함으로써 성능, 신뢰성, 전력 소비 효율이 우수하고, 빠른 고장 회복 기능 및 빠른 부팅 능력을 가진 데이터베이스 관리 시스템을 제공하는 것을 목적으로 한다.Accordingly, the present invention provides a database management system having excellent performance, reliability, power consumption efficiency, fast failure recovery, and fast booting capability by applying a hybrid storage device consisting of NAND flash memory and nonvolatile RAM to a database system. It aims to do it.

또한, 데이터베이스 관리 시스템의 로그 버퍼를 낸드 플래시의 페이지 단위인 2KB 단위로 관리함으로써, 쓰기 성능이 향상되고 데이터의 신뢰성 및 일관성이 향상된 데이터베이스 관리 시스템을 제공하는 것을 목적으로 한다.In addition, the object of the present invention is to provide a database management system in which write performance is improved and data reliability and consistency are improved by managing the log buffer of the database management system in units of 2KB, which is a page unit of NAND flash.

본 발명의 일 실시예에 따른 데이터베이스 시스템은 데이터가 저장되는 낸드 플래시 메모리, 상기 낸드 플래시 메모리를 상기 데이터의 저장장치로 이용하기 위하여 상기 데이터의 물리 주소와 논리 주소의 대응 관계를 저장하기 위한 플래시 변환 계층 매핑 테이블, 및 상기 데이터의 물리 주소와 논리 주소의 대응 관계를 변환하기 위한 플래시 변환 계층을 포함하는 하이브리드 저장 시스템; 및 상기 데이터를 업데이트하기 위하여 임시로 저장하기 위한 데이터 버퍼, 상기 데이터 중 업데이트된 부분을 임시로 저장하기 위한 로그 버퍼, 및 상기 데이터 버퍼와 상기 로그 버퍼를 관리하기 위한 버퍼 관리부를 포함하는 데이터베이스 관리 시스템을 포함한다.A database system according to an embodiment of the present invention includes a NAND flash memory in which data is stored, and a flash translation for storing a correspondence relationship between a physical address and a logical address of the data in order to use the NAND flash memory as a storage device of the data. A hybrid storage system including a hierarchical mapping table and a flash translation layer for translating a corresponding relationship between a physical address and a logical address of the data; And a data buffer for temporarily storing the data, a log buffer for temporarily storing an updated portion of the data, and a buffer manager for managing the data buffer and the log buffer. It includes.

여기서, 상기 낸드 플래시 메모리는 상기 데이터가 저장되어 보존되는 데이터 영역과 상기 데이터가 상기 데이터 영역에 저장되기 전에 임시로 저장되는 로그 영역을 포함하는 것이 바람직하다.The NAND flash memory may include a data area in which the data is stored and preserved, and a log area temporarily stored before the data is stored in the data area.

여기서, 상기 로그 영역에 저장된 데이터는 상기 플래시 변환 계층 매핑 테이블에 저장된 상기 데이터의 물리 주소와 논리 주소의 대응 관계를 변환함으로써 상기 데이터 영역에 저장된 것으로 보이는 것이 바람직하다.Here, it is preferable that the data stored in the log area is stored in the data area by converting a corresponding relationship between a physical address and a logical address of the data stored in the flash translation layer mapping table.

여기서, 상기 하이브리드 저장 시스템은 상기 플래시 변환 계층을 저장하기 위한 비휘발성 램을 더 포함하고, 상기 플래시 변환 계층은 상기 비휘발성 램에 구현되는 것이 바람직하다. The hybrid storage system may further include a nonvolatile RAM for storing the flash translation layer, and the flash translation layer is implemented in the nonvolatile RAM.

본 발명의 일 실시예에 따른 데이터베이스 시스템에 포함된 낸드 플래시 메모리에 저장되어 있는 데이터를 업데이트하는 방법은, 상기 낸드 플래시 메모리에 저장된 데이터를 상기 낸드 플래시 메모리의 페이지 단위로 데이터 버퍼로 복사하는 단계; 상기 데이터 버퍼에 저장된 상기 페이지 단위 데이터를 업데이트하는 단계; 상기 데이터 버퍼에 저장된 페이지 단위 데이터 중 업데이트된 부분을 로그 버퍼로 복사하는 단계; 상기 로그 버퍼에 저장된 상기 업데이트된 부분을 포함하는 업데이트된 페이지 단위 데이터를 상기 낸드 플래시 메모리로 복사하는 단계; 및 상기 낸드 플래시 메모리의 플래시 변환 계층 매핑 테이블의 데이터를 변환하여 데이터의 업데이트를 완료하는 단계를 포함한다.A method of updating data stored in a NAND flash memory included in a database system according to an embodiment of the present invention may include copying data stored in the NAND flash memory into a data buffer in units of pages of the NAND flash memory; Updating the page unit data stored in the data buffer; Copying an updated portion of the page unit data stored in the data buffer to a log buffer; Copying updated page unit data including the updated portion stored in the log buffer to the NAND flash memory; And converting data in the flash translation layer mapping table of the NAND flash memory to complete updating of the data.

본 발명에 의하면, 낸드 플래시 메모리와 비휘발성 램을 사용하는 하이브리드 저장 시스템을 마그네틱 디스크 대신에 데이터베이스 시스템에 적용함으로써 결과적으로 데이터베이스 관리 시스템의 성능, 신뢰성, 전력 소비 효율을 향상시킬 수 있다. 또한, 데이터베이스 관리 시스템의 데이터 스캔 시간을 줄여 빠른 고장 회복 기능과 빠른 부팅을 달성할 수 있다.According to the present invention, by applying a hybrid storage system using NAND flash memory and nonvolatile RAM to a database system instead of a magnetic disk, the performance, reliability, and power consumption efficiency of the database management system can be improved. It also reduces the time required to scan data in the database management system, resulting in faster fault recovery and faster boot.

또한 본 발명에 의하면 데이터베이스 관리 시스템의 로그 버퍼를 낸드 플래시의 페이지 단위(예를 들어 2KB)로 관리함으로써, 중복 쓰기 연산에 대한 성능감소를 막을 수 있고, 데이터의 신뢰성 및 일관성을 향상시킬 수 있다.In addition, according to the present invention, by managing the log buffer of the database management system in NAND flash page units (for example, 2KB), it is possible to prevent the performance decrease for duplicate write operations and to improve the reliability and consistency of data.

이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 단 이하 설명하는 실시예는 본 발명을 예시하는 것일 뿐 본 발명의 내용이 하기 실시예에 한정되는 것은 아니다. 또한, 본 발명의 요지를 흐릴 수 있는 공지된 구성요소는 설명을 생략하고, 본 발명의 핵심 사상을 이루는 구성요소에 대해서만 설명하도록 한다. 당업자라면 이하의 설명으로부터 본 발명을 이해하고, 본 발명에 따른 데이터베이스 시스템(100)을 용이하게 구현하여 실시할 수 있을 것이다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings. However, the embodiments described below are merely illustrative of the present invention and the contents of the present invention are not limited to the following examples. In addition, well-known components that may obscure the gist of the present invention will be omitted, and only components that form the core idea of the present invention will be described. Those skilled in the art will understand the present invention from the following description, and can easily implement and implement the database system 100 according to the present invention.

도 1은 본 발명의 일 실시예에 따른 데이터베이스 시스템(100)을 나타낸 도면이다. 데이터베이스 시스템(100)은 데이터베이스 관리 시스템(110) 및 하이브리드 저장 시스템(120)을 포함한다. 데이터베이스 관리 시스템(110)은 버퍼 관리 부(111), 데이터 버퍼(112) 및 로그 버퍼(113)를 포함한다. 하이브리드 저장 시스템(120)은 플래시 변환 계층(121), 플래시 변환 계층 매핑 테이블(122) 및 낸드 플래시 메모리(122)를 포함한다. 낸드 플래시 메모리(122)는 데이터 영역(123) 및 로그 영역(124)을 포함한다.1 is a diagram illustrating a database system 100 according to an embodiment of the present invention. Database system 100 includes a database management system 110 and a hybrid storage system 120. The database management system 110 includes a buffer manager 111, a data buffer 112, and a log buffer 113. The hybrid storage system 120 includes a flash translation layer 121, a flash translation layer mapping table 122, and a NAND flash memory 122. The NAND flash memory 122 includes a data area 123 and a log area 124.

낸드 플래시 메모리(123)는 데이터베이스 시스템에서 데이터를 주로 저장 및 보존하는 역할을 한다. 플래시 변환 계층(121)은 낸드 플래시 메모리(123)를 데이터의 저장장치로 이용할 수 있도록 데이터의 물리주소와 논리주소의 대응관계를 변환하는 역할을 한다. 데이터의 물리주소와 논리주소의 대응관계는 플래시 변환 계층 매핑 테이블(122)에 저장된다. 플래시 변환 계층(121)은 플래시 변환 계층 매핑 테이블(122)을 참조하여 데이터의 물리주소와 논리주소의 대응관계를 변환한다. The NAND flash memory 123 mainly stores and preserves data in a database system. The flash translation layer 121 converts the correspondence relationship between the physical address and the logical address of the data so that the NAND flash memory 123 can be used as a data storage device. The correspondence between the physical address and the logical address of the data is stored in the flash translation layer mapping table 122. The flash translation layer 121 refers to the flash translation layer mapping table 122 to convert the correspondence between the physical address and the logical address of the data.

데이터 버퍼(112)는 데이터베이스 시스템의 주 데이터 저장 영역인 낸드 플래시 메모리(123)에 저장된 데이터를 업데이트하기 위하여 업데이트할 대상 데이터를 임시로 저장하는 역할을 한다. 로그 버퍼(113)는 데이터 버퍼(112)에 저장된 데이터 중 업데이트된 부분만을 임시로 저장하는 역할을 한다. 버퍼 관리부(111)는 데이터 버퍼(112)와 로그 버퍼(113)의 데이터 입출력을 제어하고, 데이터 버퍼(112) 및 로그 버퍼(113)에 저장된 데이터의 메타 데이터를 관리한다. The data buffer 112 temporarily stores target data to be updated in order to update data stored in the NAND flash memory 123 which is a main data storage area of the database system. The log buffer 113 temporarily stores only the updated part of the data stored in the data buffer 112. The buffer manager 111 controls data input / output of the data buffer 112 and the log buffer 113, and manages metadata of data stored in the data buffer 112 and the log buffer 113.

낸드 플래시 메모리(123)는 데이터베이스 시스템의 주 데이터 저장소 역할을 하는 데이터 영역(124)과, 데이터 영역(124)에 데이터를 저장하기 전에 데이터를 임시로 기록하는 로그 영역(125)을 포함한다. 데이터 영역(124)과 로그 영역(125)은 낸드 플래시 메모리(123)에서 물리적으로 구분되는 영역이 아니라 플래시 변환 계층(121) 및 플래시 변환 계층 매핑 테이블(122)에 의하여 논리적으로 구분되는 영역이다. 따라서, 낸드 플래시 메모리(123)의 물리적 특정 영역에 어떤 데이터가 저장된 경우, 플래시 변환 계층 매핑 테이블(122)의 논리 주소-물리 주소의 대응 관계에 따라 그 데이터는 데이터 영역(124)에 저장된 것일 수도 있고, 로그 영역(125)에 저장된 것일 수도 있다. 즉, 그 데이터는 데이터 영역(124)과 로그 영역(125) 중 어느 한 곳에 저장된 것으로 볼 수 있다.The NAND flash memory 123 includes a data area 124 serving as a main data storage of a database system, and a log area 125 that temporarily records data before storing data in the data area 124. The data area 124 and the log area 125 are not areas physically separated from the NAND flash memory 123, but logically divided by the flash translation layer 121 and the flash translation layer mapping table 122. Thus, when certain data is stored in a specific physical area of the NAND flash memory 123, the data may be stored in the data area 124 according to a logical address-physical address correspondence of the flash translation layer mapping table 122. It may be stored in the log area 125. That is, the data may be regarded as being stored in either the data area 124 or the log area 125.

플래시 변환 계층 매핑 테이블(122)은 비휘발성 램에 저장되어 구현되는 것이 바람직하다. 비휘발성 램은 낸드 플래시 메모리와 달리 데이터의 덮어쓰기가 가능하다는 장점이 있으나 가격 대비 용량이 작다는 단점이 있다. 따라서, 본 발명에서는 메타 데이터와 같은 빈번한 업데이트가 일어나는 데이터는 비휘발성 램에 저장하고, 데이터베이스 시스템(100)에 기록되는 주 데이터는 낸드 플래시 메모리(123)에 저장한다. 이렇게 데이터의 종류에 따라 저장 장소를 다르게 함으로써 부팅 혹은 복구 시 스캔 시간을 줄일 수 있기 때문에 빠른 부팅과 빠른 복구를 달성할 수 있다. 본 명세서에서 하이브리드 저장 시스템(120)에서 하이브리드라는 용어는 데이터베이스의 저장 시스템이 낸드 플래시 메모리(123)와 비휘발성 램을 모두 포함하는 것을 의미한다. 그러나, 플래시 변환 계층 매핑 테이블(122)이 반드시 비휘발성 램으로 구현되어야 하는 것은 아니고, 종래의 방법으로 구현될 수도 있다. 또한, 플래시 변환 계층 매핑 테이블(122)을 비휘발성 램에 저장함으로써, 종래의 방법에서 플래시 메모리에 저장하는 경우에 비하여 데이터를 지우고 쓰기 연산을 해야하는 오버헤드를 줄일 수 있다. The flash translation layer mapping table 122 is preferably stored in a nonvolatile RAM and implemented. Non-volatile RAM has the advantage of being able to overwrite data unlike NAND flash memory, but it has the disadvantage of being small in price. Therefore, in the present invention, data in which frequent updates such as metadata are generated is stored in the nonvolatile RAM, and main data recorded in the database system 100 is stored in the NAND flash memory 123. By varying the storage location according to the type of data, scanning time can be shortened during booting or recovery, thereby achieving fast booting and quick recovery. In the present specification, the term hybrid in the hybrid storage system 120 means that the database storage system includes both the NAND flash memory 123 and the nonvolatile RAM. However, the flash translation layer mapping table 122 is not necessarily implemented as a nonvolatile RAM, but may be implemented by a conventional method. In addition, by storing the flash translation layer mapping table 122 in the nonvolatile RAM, it is possible to reduce the overhead of erasing data and performing a write operation as compared to the case of storing the flash translation layer mapping table 122 in the flash memory.

도 2는 본 발명의 일 실시예에 따른 데이터베이스 관리 시스템(110)을 나타낸 도면이다. 앞서 설명한 바와 같이, 데이터베이스 관리 시스템(110)은 버퍼 관리부(111), 데이터 버퍼(112) 및 로그 버퍼(113)를 포함한다.2 is a diagram illustrating a database management system 110 according to an embodiment of the present invention. As described above, the database management system 110 includes a buffer manager 111, a data buffer 112, and a log buffer 113.

데이터 버퍼(112)는 데이터베이스 시스템(100)에 저장된 데이터(201)의 업데이트를 위해 데이터(201)를 임시 저장하는 역할을 한다. 데이터베이스 시스템(100)을 사용하는 애플리케이션 프로그램으로부터 데이터베이스 시스템(100)에 저장된 데이터(201)의 업데이트 명령이 데이터베이스 관리 시스템(110)으로 전달되면, 낸드 플래시 메모리(123)의 데이터 영역(124)에 저장된 데이터(201)가 데이터 버퍼(112)로 복사된다. 그 후, 데이터 버퍼(112)에 저장된 데이터(201)가 업데이트된다. 즉, 도 2에서, 데이터(201) 중에서 일부 (202)가 변경됨으로써 데이터(201)가 업데이트된다. 이때, 데이터(201) 중 업데이트된 부분(202)이 로그 버퍼(113)에 저장된다. 버퍼 관리부(111)는 업데이트된 부분(202)을 포함하는 데이터(201)를 낸드 플래시 메모리(123)의 페이지 단위 크기로 관리한다. 예를 들어, 낸드 플래시 메모리(123)의 페이지 단위 크기가 2KB인 경우, 로그 버퍼(113)에 저장되는 업데이트된 부분(202)을 2KB 단위로 관리하고, 낸드 플래시 메모리(123)의 페이지 단위 크기가 4KB인 경우, 로그 버퍼(113)에 저장되는 업데이트된 부분(202)을 4KB 단위로 관리한다. 로그 버퍼(113)에 저장되는 업데이트된 부분(202)을 일정 크기(예를 들어 2KB)로 관리한다고 함은 로그 버퍼(113)에 저장된 업데이트된 부분(202)이 일정 크기(예를 들어 2KB)의 데이터(202) 중 어느 데이터(202)의 어느 부분인지를 버퍼 관 리부(111)가 메타데이터로서 파악하고 있는 것을 의미한다. The data buffer 112 serves to temporarily store the data 201 for updating the data 201 stored in the database system 100. When an update command of the data 201 stored in the database system 100 is transmitted from the application program using the database system 100 to the database management system 110, the data stored in the data area 124 of the NAND flash memory 123 is transmitted. Data 201 is copied to data buffer 112. Thereafter, the data 201 stored in the data buffer 112 is updated. That is, in FIG. 2, the data 201 is updated by changing a part 202 of the data 201. At this time, the updated portion 202 of the data 201 is stored in the log buffer 113. The buffer manager 111 manages the data 201 including the updated portion 202 in the page unit size of the NAND flash memory 123. For example, when the page unit size of the NAND flash memory 123 is 2KB, the updated portion 202 stored in the log buffer 113 is managed in 2KB units, and the page unit size of the NAND flash memory 123 is managed. Is 4KB, the updated portion 202 stored in the log buffer 113 is managed in units of 4KB. Managing the updated portion 202 stored in the log buffer 113 in a certain size (for example, 2 KB) means that the updated portion 202 stored in the log buffer 113 has a certain size (for example, 2 KB). This means that the buffer management unit 111 grasps which part of the data 202 of the data 202 is the metadata.

도 3은 본 발명에 따른 플래시 변환 계층 매핑 테이블(122)의 구조와 플래시 변환 계층(121)의 역할을 설명하기 위한 도면이다. 플래시 변환 계층 매핑 테이블(122)은 낸드 플래시 메모리(123)를 데이터베이스 시스템(100)의 데이터 저장 장소로 사용하기 위하여, 낸드 플래시 메모리(123)의 논리 주소와 물리 주소의 대응관계를 저장한다. 플래시 변환 계층(121)은 플래시 변환 계층 매핑 테이블(303)을 참조하여 낸드 플래시 메모리(123)의 물리주소와 데이터의 논리주소를 매핑한다.3 is a view for explaining the structure of the flash translation layer mapping table 122 and the role of the flash translation layer 121 according to the present invention. The flash translation layer mapping table 122 stores a correspondence between logical addresses and physical addresses of the NAND flash memory 123 in order to use the NAND flash memory 123 as a data storage location of the database system 100. The flash translation layer 121 maps the physical address of the NAND flash memory 123 and the logical address of the data with reference to the flash translation layer mapping table 303.

도 4는 본 발명에 따른 데이터베이스 시스템에서 데이터 트랜잭션 쓰기를 설명하기 위한 도면이다. 4 is a diagram illustrating a data transaction write in the database system according to the present invention.

먼저, 데이터(201)의 업데이트를 위해 데이터(201)가 낸드 플래시 메모리(122)의 데이터 영역(111)로부터 데이터베이스 관리 시스템(110)의 데이터 버퍼(112)로 복사된다 (S401). 이때, 플래시 변환 계층(121)은 데이터의 논리 주소와 물리 주소를 서로 변환하는 역할을 한다. First, the data 201 is copied from the data area 111 of the NAND flash memory 122 to the data buffer 112 of the database management system 110 in order to update the data 201 (S401). In this case, the flash translation layer 121 converts a logical address and a physical address of data into each other.

그 후, 데이터베이스 시스템(100)을 사용하고 있는 애플리케이션에 의하여 데이터 버퍼(112)에 저장된 데이터(201)의 업데이트가 수행된다 (S402). 업데이트된 데이터는 업데이트된 부분(202)을 포함한다. Thereafter, an update of the data 201 stored in the data buffer 112 is performed by the application using the database system 100 (S402). The updated data includes the updated portion 202.

그 후, 데이터(201)에서 업데이트된 부분(202)은 로그 버퍼(113)에 저장된다 (S403). Thereafter, the updated portion 202 of the data 201 is stored in the log buffer 113 (S403).

로그 버퍼(113)에 저장된 업데이트된 데이터(202)들은 낸드 플래시 메모리(122)의 페이지 단위(예를 들어, 2KB 또는 4KB)로 관리된다. 즉, 로그 버퍼에 저장된 업데이트된 데이터(202)들이 각각 데이터 버퍼(112)에 저장된 데이터(201)들 중 어느 데이터(201)의 업데이트된 부분인지, 해당 데이터(201)의 어느 위치가 업데이트된 것인지가 버퍼 관리부(111)에 의하여 관리된다.The updated data 202 stored in the log buffer 113 is managed in page units (eg, 2 KB or 4 KB) of the NAND flash memory 122. That is, whether the updated data 202 stored in the log buffer are the updated portion of the data 201 of the data 201 stored in the data buffer 112, and which position of the corresponding data 201 is updated. Is managed by the buffer manager 111.

이후, 로그 버퍼(113)의 업데이트된 데이터(202)들이 낸드 플래시 메모리(122)의 로그 영역(124)으로 로깅(logging)된다 (S404). 이때, 업데이트된 부분(202)만 낸드 플래시 메모리(122)의 로그 영역(124)으로 로깅되는 것이 아니라, 업데이트된 부분(202)과 업데이트된 부분(202)이 속하는 페이지 단위의 데이터(201)의 나머지 부분이 함께 머징(merging)되어 페이지 단위 데이터가 로그 영역(124)으로 로깅된다. 페이지 단위의 데이터(201)의 나머지 부분은 데이터 버퍼(112) 또는 낸드 플래시 메모리(122)로부터 획득할 수 있다. Thereafter, the updated data 202 of the log buffer 113 is logged to the log area 124 of the NAND flash memory 122 (S404). At this time, not only the updated portion 202 is logged to the log area 124 of the NAND flash memory 122, but the data 201 of the page unit to which the updated portion 202 and the updated portion 202 belong. The remaining portions are merged together so that page-by-page data is logged to the log area 124. The remaining portion of the data 201 in units of pages may be obtained from the data buffer 112 or the NAND flash memory 122.

이와 같이, 본 발명에서는 업데이트된 데이터(202)를 낸드 플래시 메모리로 로깅할 때, 페이지 단위 데이터(201)를 모두 로깅함으로써 데이터 로깅의 효율성을 높일 수 있다. 예를 들어, 데이터 버퍼(112)에 저장된 페이지 단위 크기(예를 들어 2KB)의 데이터 중 50B가 업데이트가 된 경우, 로그 버퍼(113)에는 그 업데이트된 50B만 저장되고, 버퍼 관리부(111)는 이 50B의 업데이트된 부분이 어떤 데이터의 업데이트된 부분인지, 그 데이터의 어떤 위치가 업데이트된 것인지를 파악하고 있다. 그 후 데이터베이스 관리 시스템(110)에서 커밋 신호가 발생하면 로그 버퍼(113)에 저장된 50B의 업데이트 데이터(202)들은 낸드 플래시 메모리(122)의 로 그 영역(124)으로 로깅된다. 이때, 50B의 업데이트된 데이터(202)만 로깅되는 것이 아니라 페이지 단위의 데이터 전체(201)가 낸드 플래시 메모리(122)의 로그 영역(124)으로 복사된다. 만약 본 발명에서 제안하는 방법과 달리 로그 버퍼(113)에서 업데이트된 부분(113)만을 낸드 플래시 메모리(122)로 로깅한다면, 추후 다시 업데이트된 부분(202)과 업데이트되지 않은 부분을 포함하여 전체 페이지 데이터(201)를 다시 한번 낸드 플래시 메모리(122)에 기록해야 하므로, 업데이트된 부분(202)은 중복해서 두 번 기록되게 된다. 따라서, 플래시 메모리에서의 쓰기 횟수의 증가로 데이터베이스 시스템의 성능이 저하된다.As described above, in the present invention, when logging the updated data 202 to the NAND flash memory, all the page unit data 201 is logged, thereby increasing the efficiency of data logging. For example, when 50B of the page unit size (for example, 2KB) data stored in the data buffer 112 is updated, only the updated 50B is stored in the log buffer 113, and the buffer manager 111 The updated part of the 50B is identified which data is updated and which location of the data is updated. Thereafter, when a commit signal is generated in the database management system 110, the 50B update data 202 stored in the log buffer 113 are logged into the log area 124 of the NAND flash memory 122. In this case, not only the updated data 202 of 50B is logged, but the entire data 201 for each page is copied to the log area 124 of the NAND flash memory 122. Unlike the method proposed by the present invention, if only the updated portion 113 is logged to the NAND flash memory 122 in the log buffer 113, the entire page including the updated portion 202 and the un-updated portion will be added later. Since the data 201 must be written to the NAND flash memory 122 once again, the updated portion 202 is written twice in duplicate. Therefore, the increase in the number of writes in the flash memory degrades the performance of the database system.

그 후, 플래시 변환 계층(121)은 플래시 변환 계층 매핑 테이블(122)의 논리 주소와 물리 주소의 매핑 관계를 변환하여, 로그 영역(125)의 데이터를 데이터 영역(124)으로 이동시킨다 (S405). 여기서, 로그 영역(125)의 데이터를 데이터 영역(124)으로 이동시킨다는 것은 로그 영역(125)의 데이터를 물리적으로 데이터 영역(124)으로 이동시킨다는 것이 아리나 플래시 변환 계층 매핑 테이블(122)의 물리 주소와 논리 주소의 관계를 변환시키는 것을 의미한다.Thereafter, the flash translation layer 121 converts the mapping relationship between the logical address and the physical address of the flash translation layer mapping table 122 to move the data in the log area 125 to the data area 124 (S405). . Here, moving the data in the log area 125 to the data area 124 means that the data in the log area 125 is physically moved to the data area 124, but the physical address of the flash translation layer mapping table 122 Means to convert the relation between and logical address.

다음으로 도 5를 참조하여 본 발명에 따른 데이터베이스 시스템에서 데이터를 업데이트하는 방법에 관하여 설명한다. 본 발명에 따른 데이터베이스 시스템에서 데이터를 업데이트하는 방법은 낸드 플래시 메모리에 저장된 데이터를 낸드 플래시 메모리의 페이지 단위로 데이터 버퍼로 복사하는 단계(S401), 데이터 버퍼에 저장된 페이지 단위 데이터를 업데이트하는 단계(S402), 데이터 버퍼에 저장된 페 이지 단위 데이터 중 업데이트된 부분을 로그 버퍼로 복사하는 단계(S403), 로그 버퍼에 저장된 업데이트된 부분을 포함하는 업데이트된 페이지 단위 데이터를 낸드 플래시 메모리로 복사하는 단계(S404) 및 낸드 플래시 메모리의 플래시 변환 계층 매핑 테이블의 데이터를 변환하여 데이터의 업데이트를 완료하는 단계(S405)를 포함한다. 이하, 각 단계에 대하여 상세히 설명한다.Next, a method of updating data in the database system according to the present invention will be described with reference to FIG. 5. The method for updating data in a database system according to the present invention includes the steps of copying data stored in a NAND flash memory to a data buffer in units of pages of a NAND flash memory (S401), and updating page unit data stored in a data buffer (S402). ), Copying the updated portion of the page unit data stored in the data buffer to the log buffer (S403), copying the updated page unit data including the updated portion stored in the log buffer to the NAND flash memory (S404). And converting the data in the flash translation layer mapping table of the NAND flash memory to complete updating of the data (S405). Hereinafter, each step will be described in detail.

먼저, 데이터(201)의 업데이트를 위해 데이터(201)가 낸드 플래시 메모리(122)의 데이터 영역(111)로부터, 플래시 변환 계층(121)을 통해, 데이터베이스 관리 시스템(110)의 데이터 버퍼(112)로 복사된다 (S401). 그 후, 데이터베이스 시스템(100)을 사용하고 있는 애플리케이션에 의하여 데이터 버퍼(112)에 저장된 데이터(201)의 업데이트가 수행된다 (S402). 그 후, 데이터(201)에서 업데이트된 부분(202)은 로그 버퍼(113)에 저장된다 (S403). First, for updating the data 201, the data 201 is transmitted from the data area 111 of the NAND flash memory 122, through the flash translation layer 121, to the data buffer 112 of the database management system 110. Is copied to (S401). Thereafter, an update of the data 201 stored in the data buffer 112 is performed by the application using the database system 100 (S402). Thereafter, the updated portion 202 of the data 201 is stored in the log buffer 113 (S403).

로그 버퍼(113)에 저장된 업데이트된 데이터(202)들은 낸드 플래시 메모리(122)의 페이지 단위(예를 들어, 2KB 또는 4KB)로 관리된다. 즉, 로그 버퍼에 저장된 업데이트된 데이터(202)들이 각각 데이터 버퍼(112)에 저장된 데이터(201)들 중 어느 데이터(201)의 업데이트된 부분인지, 해당 데이터(201)의 어느 위치가 업데이트된 것인지가 버퍼 관리부(111)에 의하여 관리된다. 이후, 로그 버퍼(113)의 업데이트된 데이터(202)들이 낸드 플래시 메모리(122)의 로그 영역(124)으로 로깅(logging)된다 (S404). 그 후, 플래시 변환 계층(121)은 플래시 변환 계층 매핑 테이블(122)의 논리 주소와 물리 주소의 매핑 관계를 변환하여, 로그 영역(125)의 데이터를 데이터 영역(124)으로 이동시킨다 (S405).The updated data 202 stored in the log buffer 113 is managed in page units (eg, 2 KB or 4 KB) of the NAND flash memory 122. That is, whether the updated data 202 stored in the log buffer are the updated portion of the data 201 of the data 201 stored in the data buffer 112, and which position of the corresponding data 201 is updated. Is managed by the buffer manager 111. Thereafter, the updated data 202 of the log buffer 113 is logged to the log area 124 of the NAND flash memory 122 (S404). Thereafter, the flash translation layer 121 converts the mapping relationship between the logical address and the physical address of the flash translation layer mapping table 122 to move the data in the log area 125 to the data area 124 (S405). .

이상, 본 발명의 바람직한 실시예를 예로 들어 본 발명을 설명하였으나 이러한 실시예는 예시적인 것에 불과하고, 본 발의 권리범위는 이하의 청구범위에 의하여 정하여 진다. 또한, 전술한 실시예뿐만 아니라 본 발명의 사상에 포함되는 어떠한 발명도 본 발명의 권리범위에 포함된다. As mentioned above, although this invention was demonstrated to the preferred embodiment of this invention as an example, such an embodiment is only illustrative, The scope of the present invention is defined by the following claims. In addition, any invention included in the spirit of the present invention as well as the above-described embodiment is included in the scope of the present invention.

도 1은 본 발명에 따른 데이터베이스 시스템(100)을 나타낸 도면.1 illustrates a database system 100 in accordance with the present invention.

도 2는 본 발명의 일 실시예에 따른 데이터베이스 관리 시스템(110)을 나타낸 도면.2 illustrates a database management system 110 in accordance with one embodiment of the present invention.

도 3은 본 발명에 따른 플래시 변환 계층 매핑 테이블(122)의 구조와 플래시 변환 계층(121)의 역할을 설명하기 위한 도면.3 is a view for explaining the structure of the flash translation layer mapping table 122 and the role of the flash translation layer 121 according to the present invention.

도 4는 본 발명에 따른 데이터베이스 시스템에서 데이터 트랜잭션 쓰기를 설명하기 위한 도면.4 is a diagram illustrating a data transaction write in a database system according to the present invention.

도 5는 본 발명에 따른 데이터베이스 시스템에서 데이터를 업데이트하는 방법의 순서도. 5 is a flow chart of a method of updating data in a database system in accordance with the present invention.

Claims (5)

데이터를 저장하는 데이터베이스 시스템에 있어서,In a database system for storing data, 상기 데이터가 저장되는 낸드 플래시 메모리, 상기 낸드 플래시 메모리를 상기 데이터의 저장장치로 이용하기 위하여 상기 데이터의 물리 주소와 논리 주소의 대응 관계를 저장하기 위한 플래시 변환 계층 매핑 테이블, 및 상기 데이터의 물리 주소와 논리 주소의 대응 관계를 변환하기 위한 플래시 변환 계층을 포함하는 하이브리드 저장 시스템; 및A NAND flash memory in which the data is stored, a flash translation layer mapping table for storing a correspondence relationship between a physical address and a logical address of the data to use the NAND flash memory as a storage device of the data, and a physical address of the data A hybrid storage system including a flash translation layer for transforming a correspondence relationship between a logical address and a logical address; And 상기 데이터를 업데이트하기 위하여 임시로 저장하기 위한 데이터 버퍼, 상기 데이터 중 업데이트된 부분을 임시로 저장하기 위한 로그 버퍼, 및 상기 데이터 버퍼와 상기 로그 버퍼를 관리하기 위한 버퍼 관리부를 포함하는 데이터베이스 관리 시스템;A database management system including a data buffer for temporarily storing the data for updating the data, a log buffer for temporarily storing the updated portion of the data, and a buffer manager for managing the data buffer and the log buffer; 을 포함하는, 데이터베이스 시스템. Including, database system. 제1항에 있어서,The method of claim 1, 상기 낸드 플래시 메모리는 상기 데이터가 저장되어 보존되는 데이터 영역과 상기 데이터가 상기 데이터 영역에 저장되기 전에 임시로 저장되는 로그 영역을 포함하는, 데이터베이스 시스템.The NAND flash memory includes a data area in which the data is stored and preserved, and a log area temporarily stored before the data is stored in the data area. 제2항에 있어서,The method of claim 2, 상기 로그 영역에 저장된 데이터는 상기 플래시 변환 계층 매핑 테이블에 저장된 상기 데이터의 물리 주소와 논리 주소의 대응 관계를 변환함으로써 상기 데이터 영역에 저장된 것으로 보이는, 데이터베이스 시스템.And the data stored in the log area appears to be stored in the data area by converting a corresponding relationship between a physical address and a logical address of the data stored in the flash translation layer mapping table. 제1항에 있어서,The method of claim 1, 상기 하이브리드 저장 시스템은 상기 플래시 변환 계층을 저장하기 위한 비휘발성 램을 더 포함하고, 상기 플래시 변환 계층은 상기 비휘발성 램에 구현되는, 데이터베이스 시스템.The hybrid storage system further comprises a nonvolatile RAM for storing the flash translation layer, wherein the flash translation layer is implemented in the nonvolatile RAM. 데이터베이스 시스템에 포함된 낸드 플래시 메모리에 저장되어 있는 데이터를 업데이트하는 방법에 있어서,In the method for updating data stored in the NAND flash memory included in the database system, 상기 낸드 플래시 메모리에 저장된 데이터를 상기 낸드 플래시 메모리의 페이지 단위로 데이터 버퍼로 복사하는 단계;Copying data stored in the NAND flash memory into a data buffer in units of pages of the NAND flash memory; 상기 데이터 버퍼에 저장된 상기 페이지 단위 데이터를 업데이트하는 단계;Updating the page unit data stored in the data buffer; 상기 데이터 버퍼에 저장된 페이지 단위 데이터 중 업데이트된 부분을 로그 버퍼로 복사하는 단계;Copying an updated portion of the page unit data stored in the data buffer to a log buffer; 상기 로그 버퍼에 저장된 상기 업데이트된 부분을 포함하는 업데이트된 페이지 단위 데이터를 상기 낸드 플래시 메모리로 복사하는 단계; 및Copying updated page unit data including the updated portion stored in the log buffer to the NAND flash memory; And 상기 낸드 플래시 메모리의 플래시 변환 계층 매핑 테이블의 데이터를 변환 하여 데이터의 업데이트를 완료하는 단계;Converting data in a flash translation layer mapping table of the NAND flash memory to complete updating of data; 를 포함하는, 데이터베이스 시스템의 데이터를 업데이트하는 방법.Including, how to update the data of the database system.
KR1020080121269A 2008-12-02 2008-12-02 Hybrid storage-based database system using NAND flash memory and nonvolatile RAM and how to update data in database system Expired - Fee Related KR100995546B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080121269A KR100995546B1 (en) 2008-12-02 2008-12-02 Hybrid storage-based database system using NAND flash memory and nonvolatile RAM and how to update data in database system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080121269A KR100995546B1 (en) 2008-12-02 2008-12-02 Hybrid storage-based database system using NAND flash memory and nonvolatile RAM and how to update data in database system

Publications (2)

Publication Number Publication Date
KR20100062562A true KR20100062562A (en) 2010-06-10
KR100995546B1 KR100995546B1 (en) 2010-11-22

Family

ID=42362806

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080121269A Expired - Fee Related KR100995546B1 (en) 2008-12-02 2008-12-02 Hybrid storage-based database system using NAND flash memory and nonvolatile RAM and how to update data in database system

Country Status (1)

Country Link
KR (1) KR100995546B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101369592B1 (en) * 2010-12-28 2014-03-06 한양대학교 산학협력단 Method and apparatus for guaranteeing data reliability in falsh memory based storage devices with volatile buffer memory
WO2014061847A1 (en) * 2012-10-17 2014-04-24 주식회사 리얼타임테크 Apparatus and method for logging and recovering transaction of database built in mobile environment
US9158671B2 (en) 2011-08-17 2015-10-13 Samsung Electronics Co., Ltd. Nonvolatile memory system with migration manager
WO2017190604A1 (en) * 2016-05-06 2017-11-09 华为技术有限公司 Transaction recovery method in database system and database management system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101482013B1 (en) * 2012-05-30 2015-01-14 한국외국어대학교 연구산학협력단 Method and Apparatus for Updating MetaData of Flash-Memory Based Data System

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101369592B1 (en) * 2010-12-28 2014-03-06 한양대학교 산학협력단 Method and apparatus for guaranteeing data reliability in falsh memory based storage devices with volatile buffer memory
US9158671B2 (en) 2011-08-17 2015-10-13 Samsung Electronics Co., Ltd. Nonvolatile memory system with migration manager
WO2014061847A1 (en) * 2012-10-17 2014-04-24 주식회사 리얼타임테크 Apparatus and method for logging and recovering transaction of database built in mobile environment
KR101419428B1 (en) * 2012-10-17 2014-07-17 주식회사 리얼타임테크 Apparatus for logging and recovering transactions in database installed in a mobile environment and method thereof
WO2017190604A1 (en) * 2016-05-06 2017-11-09 华为技术有限公司 Transaction recovery method in database system and database management system

Also Published As

Publication number Publication date
KR100995546B1 (en) 2010-11-22

Similar Documents

Publication Publication Date Title
US20230273876A1 (en) Memory system, data storage device, user device and data management method thereof
US10261913B2 (en) Persistent memory for key-value storage
CN103577121B (en) A kind of highly reliable linear file access method based on Nand Flash
KR101303524B1 (en) Metadata redundancy schemes for non-volatile memories
KR102002830B1 (en) Segment cleaning apparatus and method thereof
JP5066209B2 (en) Controller, data storage device, and program
US9323659B2 (en) Cache management including solid state device virtualization
US9996542B2 (en) Cache management in a computerized system
KR102252419B1 (en) System and method for efficient address translation on Flash memory device
CN103577574B (en) High-reliability linear file system based on nand flash
US20150331624A1 (en) Host-controlled flash translation layer snapshot
US11030092B2 (en) Access request processing method and apparatus, and computer system
JPWO2007066720A1 (en) Nonvolatile storage device, data read method, and management table creation method
CN108431783A (en) Access request processing method, device and computer system
KR20070096429A (en) File system applied to NAND flash memory supporting fast mounting
CN103544110A (en) Block-level continuous data protection method based on solid-state disc
KR20200060220A (en) NVM-based file system and method for data update using the same
KR100995546B1 (en) Hybrid storage-based database system using NAND flash memory and nonvolatile RAM and how to update data in database system
CN110515550B (en) Method and device for separating cold data and hot data of SATA solid state disk
KR101191650B1 (en) Apparatus and method for mapping the data address in NAND flash memory
CN102323907A (en) Embedded ARM processor stores and deletes NANDFLASH data
US8850160B2 (en) Adaptive write behavior for a system having non-volatile memory
KR100866513B1 (en) Data processing method using flash memory based journaling file system
US9977612B1 (en) System data management using garbage collection and logs
Lee et al. RMSS: an efficient recovery management scheme on NAND flash memory based solid state disk

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20151116

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20151116

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000