KR100810666B1 - 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터색인 방법 - Google Patents

플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터색인 방법 Download PDF

Info

Publication number
KR100810666B1
KR100810666B1 KR1020060133439A KR20060133439A KR100810666B1 KR 100810666 B1 KR100810666 B1 KR 100810666B1 KR 1020060133439 A KR1020060133439 A KR 1020060133439A KR 20060133439 A KR20060133439 A KR 20060133439A KR 100810666 B1 KR100810666 B1 KR 100810666B1
Authority
KR
South Korea
Prior art keywords
data
flash memory
index
log buffer
information
Prior art date
Application number
KR1020060133439A
Other languages
English (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 KR1020060133439A priority Critical patent/KR100810666B1/ko
Application granted granted Critical
Publication of KR100810666B1 publication Critical patent/KR100810666B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

본 발명은 플래시 메모리를 저장 장치로 사용하는 RDBMS 데이터 및 MPEG-7 기반 데이터에 대한 효율적인 인덱싱 기법을 제공하여 저전력 및 처리 속도의 증가 효과를 구현할 수 있도록한 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법에 관한 것으로, 플래시 메모리상의 컬럼 데이터의 타입을 검사하는 단계;컬럼 데이터의 타입에 따라 색인 추출을 수행하는 단계;상기 플래시 메모리의 index data 영역에 색인 정보를 기록하는 단계;상기 index data 중 색인 데이터의 변동이 있는 경우에는 로그 버퍼에 해당 처리 수행 작업을 기록하는 단계; 및 변경된 색인 정보를 플래시 메모리상의 Index data와 동기화하는 단계;를 포함하고,플래시 메모리를 저장장치로 사용하는 관계형 데이터 베이스(RDBMS)에 있어 특정 컬럼들의 데이터에 대한 Term 색인 정보를 구성하는 것이다.
플래시 메모리, 데이터 색인, MPEG-7, RDBMS, 로그버퍼

Description

플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법{Method of data-indexing for devices using flash memory-based storages}
도 1은 Column 2에 텍스트 데이터 및 MPEG-7 기반 스트링(string), 리스트(List) 타입의 저장 예를 나타낸 관계형 데이터 테이블
도 2는 관계형 데이터 테이블의 Column 2를 N-gram으로 색인한 정보를 나타낸 구성도
도 3은 본 발명에 따른 데이터 색인 기법에서의 로그 버퍼상의 추가/삭제/변경 색인 정보 기록을 나타낸 구성도
도 4는 로그 버퍼상의 추가/삭제/변경에 따른 로그 버퍼 및 플래시 메모리와의 맵 관계 구성도
도 5는 본 발명에 따른 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 과정을 나타낸 구성도
도 6은 본 발명에 따른 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법에서의 Term 검색 과정을 나타낸 구성도
도 7은 본 발명에 따른 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법을 위한 플로우 차트
본 발명은 저장 장치의 데이터 색인에 관한 것으로, 구체적으로 플래시 메모리를 저장 장치로 사용하는 RDBMS 데이터 및 MPEG-7 기반 데이터에 대한 효율적인 인덱싱 기법을 제공하여 저전력 및 처리 속도의 증가 효과를 구현할 수 있도록한 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법에 관한 것이다.
데이터베이스는 많은 양의 데이터를 저장하고 원하는 검색 조건으로 쉽고 빠르게 원하는 데이터를 찾는 것이 필요한데, 이와 같은 빠른 검색은 저장된 데이터를 이용하는 응용프로그램의 성능에 절대적인 영향을 주므로 데이터베이스라는 개념이 만들어진 이후, 검색 성능을 높이기 위한 다양한 데이터 인덱스 기법이 제시되고 있다.
특히, 최근 인터넷의 발전과 정보 양의 급증으로 인하여, 인터넷상의 효율적인 정보 교환을 위하여 차세대 웹문서의 표준인 XML(eXtensible Markup Language)에 대한 저장 및 검색에 대한 연구가 활발히 진행되고 있다.
또한, 이들 XML 형식의 데이터를 생성, 변경, 조작하기 위한 여러 표준들과 툴들이 등장하면서 구조가 다른 많은 XML 문서들도 증가되고 있다. 이러한 상황에서, 서로 상이한 구조를 가진 대규모 XML 문서들의 데이터 저장을 최적화하고, 이들로부터 필요한 정보를 쉽고 빠르게 추출하는 것은 매우 중요한 이슈가 되고 있다.
개별 XML 문서를 파일의 형태로 특정 폴더에 저장하는 파일시스템 기반의 저장방식을 살펴보면 문서 전체에 대한 추가 작업이 파일단위로 이루어지므로 상대적으로 저장 및 추출 속도가 빠른 반면, XML 문서의 추출 시마다 XML 파싱이 필요하므로 비효율적이다.
또한, 파일시스템의 한계로 인한 문서 개수 및 폴더 개수의 제한이 있고, 동시 사용자 접속에 대한 지원 및 접근제어 기능 구현이 불가능하고 XML 처리를 위한 모든 기능들을 별도로 구현할 필요성과 더불어 검색을 위해 추가적인 DBMS 사용이 필요하다.
XML 문서를 RDBMS의 BLOB이나 CLOB의 형태로 저장하는 통합RDBMS 기반의 저장방식을 살펴보면 문서의 저장 및 추출 속도가 빠른 반면, 문서의 부분 수정이나 검색에 많은 시간이 소요되고 XML 문서에 대한 처리가 필요할 때마다 문서 전체를 메모리에 불러서 사용해야 하므로 많은 메모리와 시간이 필요하며 XML 처리를 위한 모든 기능들을 별도로 구현해 주어야 한다.
이하에서 저장 장치 및 이들 저장 장치상의 데이터 색인 방법에 관하여 설명한다.
플래시 메모리는 현재 소형화, 대용량, 고성능(읽기), 저 전력 등의 특성으로 휴대용 단말기뿐만 아니라 범용 컴퓨터에도 적용되어 사용되질 것으로 예상된다. 따라서, 이와 같은 플래시 메모리상의 데이터 색인 기법에 관한 연구가 필요하다.
Google, Yahoo, Naver 등의 포털에서는 저장 장치를 대용량 HDD 기반으로 하 여 텍스트 문서, 웹 문서, PDF 문서등을 색인하여 고속 검색 기능을 제공하고 있다.
현재, 전문(Full Text) 검색을 위한 관련 Term 색인 기법으로 대표적인 것인 N-gram index(색인) 기법이 있다.
N-gram index 기법 중에서도 역파일 색인(invert file index) 기법이 있는데, 이는 문서 내에 포함되어진 Term에 대해서 (문서번호, 상대적 offset) 정보를 이용하여 색인하는 기술이다.
그러나 이는 기존 HDD 기반에서는 문제가 되지 않았던 데이터 추가/삭제/갱신 작업에 따른 색인 정보 변경 작업을 할 때 플래시 메모리(Flash Memory)를 저장장치로 사용하는 기기에서는 속도 저하 및 플래시 메모리의 수명 단축을 발생시키는 문제가 있다.
이와 같이 플래시 메모리에서의 색인 정보 변경 작업시에 발생하는 현상은 이전의 HDD 물리장치와는 달리 오버라이팅(Over-writing)이 안 되는 특성에 의한 것이다.
또한, 종래 기술의 HDD 기반 색인 알고리즘에 있어 N-gram index 중에서 역파일 색인(inverted file index) 기법은 인덱싱 속도 개선을 위해서 in-memory(휘발성) 메모리에 모든 정보로 기록한 후 in-memory 용량이 초과하면 HDD에 저장하는 기법을 통하여 속도를 개선하고 있다.
그러나 이는 임베디드 시스템을 대상으로 하지 않고 일반 PC 및 서버 급에서 수행되어지는 것으로, in-memory(휘발성) 용량이 작고 HDD 사용시의 전력 소모가 높은 임베디드 시스템에 적용하기는 어렵다.
이러한 이유 때문에 대용량 NAND 플래시 메모리의 채택이 늘고 있는 상황이다.
MPEG-7 기반 문서 데이터에서 사용되는 리스트 타입(List Type)은 벡터 타입(Vector Type)과 매트릭스 타입(Matrix Type)으로 나눌 수 있는데, 벡터 타입은 integerVector, floatVector, doubleVector가 있고, 매트릭스 타입은 integerMatrix, floatMatrix, doubleMatrix가 있다.
MPEG-7 기반 문서 데이터에 있어서 List Type은 RDBMS(Relational Database Management System)에서 저장시에 각 List 요소를 Column으로 저장할 수 있으나 속도 저하 등의 이유로 크게 활용되지 못한다.
따라서, 속도 저하를 막기 위하여 MPEG-7 기반 문서 데이터 중 List Type은 한 Column에 저장하는게 일반적일 수 있다.
그러나 이와 같이 MPEG-7 기반 문서 데이터를 한 Column에 저장하는 경우에는 인덱싱 기법의 적용 효율성이 떨어지는 문제가 있다.
이상에서 살펴 본 바와 같이 종래 기술의 데이터 색인 방법에 있어서는 다음과 같은 문제가 있다.
종래 기술의 HDD 기반 색인 알고리즘에서는 플래시 메모리상에 데이터를 저장할 때 추가/삭제/갱신 작업을 최소화할 수 있는 플래시 메모리 기반으로 특화된 색인 기법을 제공하지 못한다.
또한, MPEG-7 기반 문서 데이터를 한 Column에 저장하는 경우에 발생하는 인 덱싱 기법의 적용 효율성이 떨어지는 문제를 해결하지 못하고, 인덱싱 수행 시 정보 저장 장치로 사용되는 플래시 메모리의 특성을 고려한 색인 기법을 구현하지 못한다.
본 발명은 이와 같은 종래 기술의 데이터 색인 기법의 문제를 해결하기 위한 것으로, 플래시 메모리를 저장 장치로 사용하는 RDBMS 데이터 및 MPEG-7 기반 데이터에 대한 효율적인 인덱싱 기법을 제공하여 저전력 및 처리 속도의 증가 효과를 구현할 수 있도록한 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 기법을 제공하는데 그 목적이 있다.
본 발명은 로그 버퍼를 활용한 RDBMS 데이터 및 MPEG-7 기반 데이터에 대한 효율적인 인덱싱 기법을 제공하여 저전력 및 처리 속도의 증가 효과를 구현할 수 있도록한 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 기법을 제공하는데 그 목적이 있다.
이와 같은 목적을 달성하기 위한 본 발명에 따른 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법은 플래시 메모리상의 컬럼 데이터의 타입을 검사하는 단계;컬럼 데이터의 타입에 따라 색인 추출을 수행하는 단계;상기 플래시 메모리의 index data 영역에 색인 정보를 기록하는 단계;상기 index data 중 색인 데이터의 변동이 있는 경우에는 로그 버퍼에 해당 처리 수행 작업을 기록하는 단계; 및 변경된 색인 정보를 플래시 메모리상의 Index data와 동기화하는 단 계;를 포함하고, 플래시 메모리를 저장장치로 사용하는 관계형 데이터 베이스(RDBMS)에 있어 특정 컬럼들의 데이터에 대한 Term 색인 정보를 구성하는 것을 특징으로 한다.
이하, 본 발명에 따른 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법의 바람직한 실시예에 관하여 상세히 설명하면 다음과 같다.
본 발명에 따른 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법의 특징 및 이점들은 이하에서의 각 실시예에 대한 상세한 설명을 통해 명백해질 것이다.
도 1은 Column 2에 텍스트 데이터 및 MPEG-7 기반 스트링(string), 리스트(List) 타입의 저장 예를 나타낸 관계형 데이터 테이블이고, 도 2는 관계형 데이터 테이블의 Column 2를 N-gram으로 색인한 정보를 나타낸 구성도이다.
RDBMS에는 텍스트 정보들을 저장 시 한 Column에 이들 정보들을 저장하는데, 이를 위하여 개발된 텍스트 정보의 내부 Term(byte단위, 용어, 단어, 어절, 구문, 문장 등)을 위한 인덱싱 기법들은 플래시 메모리 저장장치에서는 비효율적이다.
본 발명은 이와 같은 인덱싱 기법들의 문제를 해결하여 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 기법을 제공하기 위한 것이다.
이하의 설명에서의 "Term"은 가변적인 길이로 사용자가 임의로 변경할 수 있는 것이고, byte단위는 Mpeg-7에서 사용되는 상수 값의 byte 크기이다.
본 발명에서는 멀티미디어 데이터를 위해 효율적인 검색 기능을 제공하기 위한 표준인 MPEG-7 기반 문서 데이터를 관계형 데이터베이스(RDBMS)에 저장 시 List Type(Vector, Matrix type)에 관한 데이터 색인 방법을 포함한다.
또한, MPEG-7 기반 문서 데이터에서 string type에 대한 것도 본 발명의 내용 범위에 포함된다.
본 발명에 따른 데이터 색인 방법은 도 1에서와 같은 RDBMS 데이터와 도 2에서와 같은 인덱싱데이터 (N-gram index)가 플래시 메모리상에 존재하는 경우에 관한 것이다.
도 1에서 Column2가 본 발명에 따른 데이터 색인 방법이 적용되는 것으로, Column2는 String(Text) Data 뿐만 아니라 MPEG-7 기반 XML 인스턴스에 포함된 Vector, Matrix Type의 리스트 정보일 수 있다.
그리고 도 2는 관계형 Data Table의 Column2를 N-gram으로 색인한 정보를 나타낸 것으로, 여기서 A1 … AN의 크기는 각각 2bytes로 가정한다.
그리고 Index 정보는 (Record ID, Start offset, Length)으로 정보를 구성한다.
관련된 Column2의 정보를 기반으로 빈 공간의 플래시 메모리에 처음으로 색인(indexing) 정보를 기록은 크게 문제가 되지 않는다. 다만, 색인 정보가 사용자 또는 DB 개발자에 의해 추가/변경/삭제 등과 같은 갱신 작업이 일어나면 플래시 메모리 특성상 문제가 발생한다.
예를 들어, 플래시 메모리상에 N-gram 인덱스 정보에서 한 element(A2)가 변경되면 이후 A3 ~ AN의 인덱싱 정보도 같이 변경되어져야 한다. 이로 인해 발생하는 오버라이팅(Overwriting) 회수는 다음과 같이 추정할 수 있다.
해당 컬럼에서 'Term'으로 분리된 개수를 N이라 하고, 컬럼에서 'Term'으로 분리된 전체에서 수정된 'Term' 위치를 p라고 하면, 인덱스 정보 갱신을 위해 존재하는 오버라이팅 회수는 !((N-p)-1)으로 추정될 수 있다.
이와 같이 계산되는 N-gram에서의 특정 인덱싱 정보 갱신에 따른 증량적(incremental) 인덱싱 정보의 개수를 보면, RDBMS에 저장된 특정 column의 데이터에서 특정 sub-element가 집중적으로 추가/변경/삭제 등이 일어나는 경우와, 다른 sub-element가 추가/변경/삭제 등이 일어나는 경우와, 특정 column의 인덱싱 정보 중 추가/변경/삭제가 일어나는 경우를 포함하는 모든 경우에 있어서, 플래시 메모리의 수명에 치명적인 영향을 줄 뿐만 아니라 인덱싱 갱신 처리 속도에도 영향을 줄 수 있다.
따라서, 본 발명에서는 N-gram의 빈번한 갱신을 줄여 플래시 메모리의 수명 연장 및 인덱싱 갱신 처리 속도를 높일 수 있는 방법을 제시한다.
이를 위하여, 본 발명은 플래시 메모리를 저장장치로 사용하는 관계형 데이터 베이스(RDBMS)에 있어 특정 Column들의 데이터에 대한 Term(byte단위, 용어, 단어, 어절, 구문, 문장 등) 색인 방법을 구현한다.
이와 같은 본 발명에 따른 데이터 색인 방법은 RDBMS의 특정 Column들의 데이터가 String data 타입일 때 색인 방법과 MPEG-7 기반 표준 데이터가 RDBMS에 저장되었을 때 Vector, Matrix Type에 대한 색인 방법을 포함한다.
그리고 상기 데이터 색인 방법은 RDBMS의 특정 Column들에 대해 인덱스 정보를 저장함에 있어 첫 번째 색인 생성 정보는 플래시 메모리에 저장하고, 인덱스 정 보의 추가/삭제/변경에 있는 경우에는 오버 라이팅(Over-writing)이 가능한 휘발성/비휘발성 저장장치를 활용하여 플래시 메모리의 쓰기 연산자를 줄이는 것을 포함한다.
여기서, RDBMS의 특정 Column들에 대해 인덱스 정보인 Term을 구성할 때 이진데이터 단위를 기준으로 Term을 구성한다.
그리고 인덱스 정보를 검색 단계에서는 오버 라이팅이 가능한 휘발성/비휘발성 저장장치를 선행 검색하고, 휘발성/비휘발성 저장장치에 관련 정보가 없는 경우에 플래시 메모리에 저장된 인덱스 정보를 검색하는 것을 포함한다.
그리고 가능한 휘발성/비휘발성 저장장치의 용량이 더 이상 없을 때는 플래시 메모리 인덱스 정보에 반영을 하여 오버 라이팅이 가능한 휘발성/비휘발성 저장장치의 반영된 데이터 삭제를 하여 로그 버퍼의 공간을 확보하는 것을 포함한다.
본 발명에 따른 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법에 관하여 구체적으로 설명한다.
도 3은 본 발명에 따른 데이터 색인 기법에서의 로그 버퍼상의 추가/삭제/변경 색인 정보 기록을 나타낸 구성도이고, 도 4는 로그 버퍼상의 추가/삭제/변경에 따른 로그 버퍼 및 플래시 메모리와의 맵 관계 구성도이다.
본 발명에서는 도 3에서와 같은 로그 버퍼를 임시 버퍼에 생성하여 추가/삭제/변경 시 변경된 정보를 기록한다. 여기서 임시 버퍼는 오버라이팅이 가능한 휘발성/비휘발성 저장장치로 정의한다.
도 3에서의 추가/삭제/변경 정보는 Record ID, Start offset, 증감 offset 정보를 포함한다.
여기서 "증감 offset"은 처음 또는 변경된 Term의 길이(length)를 고려한 증감 offset을 의미한다.
그리고 "Start offset"은 처음 색인될 때 색인정보로 구성된 Term의 Start offset이다.
도 3에서와 같은 추가/삭제/변경 정보를 오버라이팅이 가능한 휘발성/비휘발성 저장장치로 정의되는 로그 버퍼에 저장하는 방식은 다음과 같다.
즉, 순차적으로 추가/변경/삭제된 Term에 대해서 변경된 Term의 정보를 저장하고, 이에 대한 플래시 메모리 상에 존재하는 인덱스 정보에서 Record ID와 start offset을 기반으로 증감 offset 값을 설정해 둔다.
예를 들어, A2가 수정에 의해서 1byte가 증가 되었으면 A2'정보를 저장하고 관련 색인 정보 (Record 1, 2, 1)을 저장한다.
그리고 A2'가 수정되어 1byte가 증가 되었으면 A2''정보를 저장하고 관련 색인 정보는 (Record 1, 2, 1)를 저장한다.
그리고 A2''가 수정되어 2bytes가 증가 되었으면 A2'''정보를 저장하고 관련 색인 정보는 (Record 1, 2, 2)를 저장한다.
이 경우에는 실제적으로 A2는 누적된 증가치 합 4bytes의 길이가 증가됨을 뜻한다. 위와 같이 다른 Term에 대해서도 도 3에서와 같은 인덱스 정보를 저장한다.
그리고 도 4는 로그 버퍼상의 추가/삭제/변경에 따른 로그 버퍼 및 플래시 메모리와의 맵 관계를 나타낸 것으로, 로그 버퍼상에서 변경된 새로운 Term은 다음과 같은 Start offset, End Offset을 가진다.
Start Offset은 (2N-2) + A으로 계산되고, End Offset은 (2N-1)+A+L으로 계산된다. 여기서, A는 로그 버퍼 상에서 변경된 Term의 누적된 합을 다른 각각 변경된 Term의 누적된 합을 전체 합한 값이고, L은 해당 변경된 Term의 누적된 합이다.
도 4에서와 같이 로그 버퍼를 이용하여, 첫 번째 색인 생성 정보는 플래시 메모리에 저장하고, 인덱스 정보의 추가/삭제/변경에 있는 경우에는 오버 라이팅(Over-writing)이 가능한 휘발성/비휘발성 저장장치(로그 버퍼)를 활용하여 플래시 메모리의 쓰기 연산자를 줄일 수 있다.
도 4에서와 같은 구성을 갖는 본 발명에 따른 색인 방법은 N-gram index 방법에 비해 플래시 메모리의 오버라이팅을 줄일 수 있다. 그 추정치는 다음과 같다.
변경된 Term의 집합을 MT라고 가정할 때, 도 4에 해당되는 MT = {1 (of A2'), 1 (of A2''), 2 (of A3'), 1 (of A2''').... AN'}이다.
여기서, MT의 element를 P, MT의 element 중 순서상 가장 왼쪽 변경 Term 위치를 PL, 전체 sub-element의 수는 N이라 하고, RDBMS 상에서 한 Record의 색인 데이터 변경에 따른 갱신 횟수는 다음과 같이 계산된다.
플래시 메모리를 직접 갱신하는 경우에는
Figure 112006095929059-pat00001
이고, 로그 버퍼를 활용하는 경우에는
Figure 112006095929059-pat00002
이다. 여기서, α는 도 4의 L, A값을 구하는 연산자 + 로그 버퍼상에서의 그룹핑 연산자이다.
이와 같은 본 발명에 따른 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법에서의 로그 버퍼 관리는 다음과 같이 이루어진다.
사용하는 로그 버퍼는 용량이 클 수 있고 작을 수도 있는데, 만약 용량이 저장 용량이 적은 환경에서는 다음과 같은 로그 버퍼 관리 정책이 필요하다.
첫째, 로그 버퍼의 저장공간이 Full로 채워졌을 때 플래시 메모리 상의 Index data에 적용을 수행하고 로그 버퍼를 비운다.
둘째, 로그 버퍼의 일정 용량이 초과하면 주기적으로 로그 버퍼 데이터 일부 또는 전체를 플래시 메모리 상의 Index data에 적용하고 적용한 로그 버퍼 데이터 일부 또는 전체를 삭제한다.
그리고 전원공급 중단에 따른 색인 데이터 유지를 위하여 본 발명에서 사용하는 로그버퍼가 휘발성 저장 장치 일 경우 불시의 전원 공급 중단에 따른 처리를 별도로 하지 않거나, log 기반에 따른 roll-back process를 수행하여 처리한다.
본 발명에 따른 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 과정 및 검색 과정은 다음과 같다.
도 5는 본 발명에 따른 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 과정을 나타낸 구성도이고, 도 6은 본 발명에 따른 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법에서의 Term 검색 과정을 나타낸 구성도이다.
그리고 도 7은 본 발명에 따른 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법을 위한 플로우 차트이다.
본 발명에 따른 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법은 크게 색인 정보 구성 단계와 Term 검색 과정으로 나눌 수 있다.
먼저, 색인 정보 구성을 하는 절차는 플래시 메모리상의 테이블 데이터에서 특정 컬럼 색인 추출을 위하여 컬럼 데이터의 타입을 검사한다.(S701)
이어 진행되는 컬럼 데이터 타입의 판단은(S702) 텍스트 데이터 타입과 바이너리 데이터 타입으로 나눌 수 있는데, 바이너리 데이터의 경우에는 오프셋 정보 추출 단계를(S703) 먼저 수행하고 색인 추출 단계를 수행한다.(S704)
특정 column의 색인어 추출은 다양한 방법으로 사용할 수 있는데 string type(text data)인 경우 어절, 문장, 단어, 구문, 공백단위, Stemming 된 어휘 등으로 구성할 수 있으며, Binary Data(integer, float, double type 등)는 각각의 크기 정보에 따른 색인으로 구성한다.
여기서, integer, float, double type은 운영체제 시스템에 따라 다르기 때문에 크기는 운영체제 시스템에 따라 가변적일 수 있다.
이와 같이 색인 정보를 추출한 후 플래시 메모리의 index data 영역에 처음으로 색인 정보를 기록한다.(S705)
만약, index data 중 색인 데이터 추가/변경/삭제가 발생하는 경우에는(S706) 로그 버퍼에 해당 처리 수행 작업을 기록해 둔다.(S707)
그리고 로그 버퍼는 상기한 "첫째, 로그 버퍼의 저장공간이 Full로 채워졌을 때 플래시 메모리 상의 Index data에 적용을 수행하고 로그 버퍼를 비운다. 둘째, 로그 버퍼의 일정 용량이 초과하면 주기적으로 로그 버퍼 데이터 일부 또는 전체를 플래시 메모리 상의 Index data에 적용하고 적용한 로그 버퍼 데이터 일부 또는 전체를 삭제한다." 원칙에 의해 플래시 메모리상의 Index data와 동기화 시킨다.(S708)
그리고 이와 같이 특정 컬럼의 데이터 색인 정보의 구성이 이루어진 상태에서의 Term 검색 단계를 다음과 같이 진행된다.
먼저, 색인 검색을 하여(S709) 로그 버퍼를 검사한다.(S710) 만약, 로그 버퍼에 해당 Term이 존재하면 로그 버퍼에서 검색된 Term을 전달한다.(S712)
만약, 로그 버퍼에 해당 Term이 존재하지 않는다면 플래시 메모리상의 Index data 영역을 검색하여 그 결과를 전달한다.(S713)
즉, 플래시 메모리의 쓰기 연산자를 줄이기 위하여 로그 버퍼를 이용하여 색인 정보를 구성하는 본 발명에서는 오버 라이팅이 가능한 휘발성/비휘발성 저장장치를 선행 검색하고, 휘발성/비휘발성 저장장치에 관련 정보가 없는 경우에 플래시 메모리에 저장된 인덱스 정보를 검색한다.
이와 같은 본 발명은 플래시 메모리를 저장장치로 사용하는 RDBMS 상의 Column에 대한 Term 인덱싱 방법 및 MPEG-7 등의 표준 스키마 데이터 특성에 따른 특정 Data Type을 RDBMS에서 저장 시 효율적인 인덱싱 방법을 제공한다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.
이와 같은 본 발명에 따른 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법은 다음과 같은 효과가 있다.
첫째, 플래시 메모리를 저장장치로 사용하는 RDBMS에 있어 효율적인 Sub Term 인덱싱 기법을 제공하는 효과가 있다.
둘째, MPEG-7 기반 인스턴스 데이터를 RDBMS에 저장 시 Vector, Matrix Type 등과 같은 List 데이터에 대한 인덱싱 기법 제공하는 효과가 있다.
셋째, 플래시 메모리상의 MPEG-7 기반 데이터 및 RDBMS 데이터에 대한 효율적인 인덱싱 기법을 제공함으로써 플래시 메모리의 수명 증가, 전력소모 감소, 처리 속도 증가의 효과를 구현한다.
넷째, 로그 버퍼를 활용하여 N-gram의 빈번한 갱신을 줄여 플래시 메모리의 수명 연장 및 인덱싱 갱신 처리 속도를 높일 수 있는 효과를 구현한다.

Claims (7)

  1. 플래시 메모리상의 컬럼 데이터의 타입을 검사하는 단계;
    컬럼 데이터의 타입에 따라 색인 추출을 수행하는 단계;
    상기 플래시 메모리의 index data 영역에 색인 정보를 기록하는 단계;
    상기 index data 중 색인 데이터의 변동이 있는 경우에는 로그 버퍼에 해당 처리 수행 작업을 기록하는 단계; 및 변경된 색인 정보를 플래시 메모리상의 Index data와 동기화하는 단계;를 포함하고,
    플래시 메모리를 저장장치로 사용하는 관계형 데이터 베이스(RDBMS)에 있어 특정 컬럼들의 데이터에 대한 Term 색인 정보를 구성하는 것을 특징으로 하는 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법.
  2. 제 1 항에 있어서, 컬럼 데이터 타입은,
    텍스트 데이터 타입과 바이너리 데이터 타입으로 나누고, 바이너리 데이터의 경우에는 오프셋 정보 추출 단계를 먼저 수행하고 색인 추출 단계를 수행하는 것을 특징으로 하는 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법.
  3. 제 1 항에 있어서, 색인 데이터의 변동은,
    추가/삭제/변경을 포함하고, 해당 변동 정보는 Record ID, Start offset, 증 감 offset 정보를 포함하는 것을 특징으로 하는 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법.
  4. 제 1 항 또는 제 2 항에 있어서, 색인 추출 단계에서,
    텍스트 데이터 타입은 어절, 문장, 단어, 구문, 공백단위, Stemming 된 어휘로 구성하고, 바이너리 데이터 타입은 각각의 크기 정보에 따른 색인으로 구성하는 것을 특징으로 하는 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법.
  5. 제 1 항에 있어서, 로그 버퍼의 저장 공간을 확보하기 위하여,
    로그 버퍼의 저장공간이 채워진 경우에 플래시 메모리 상의 Index data에 적용을 수행하고 로그 버퍼를 비우거나,
    로그 버퍼의 일정 용량이 초과하면 주기적으로 로그 버퍼 데이터 일부 또는 전체를 플래시 메모리 상의 Index data에 적용하고 적용한 로그 버퍼 데이터 일부 또는 전체를 삭제하는 것을 특징으로 하는 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법.
  6. 제 1 항에 있어서, 구성된 색인 정보의 검색을 위하여,
    먼저 로그 버퍼를 검사하여 로그 버퍼에 해당 Term이 존재하면 로그 버퍼에서 검색된 Term을 전달하고,
    로그 버퍼에 해당 Term이 존재하지 않는 경우에 플래시 메모리상의 Index data 영역을 검색하여 그 결과를 전달하는 것을 특징으로 하는 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법.
  7. 제 1 항에 있어서, RDBMS의 특정 Column들에 대해 인덱스 정보인 Term을 구성할 때 이진데이터 단위를 기준으로 Term을 구성하는 것을 특징으로 하는 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터 색인 방법.
KR1020060133439A 2006-12-26 2006-12-26 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터색인 방법 KR100810666B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060133439A KR100810666B1 (ko) 2006-12-26 2006-12-26 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터색인 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060133439A KR100810666B1 (ko) 2006-12-26 2006-12-26 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터색인 방법

Publications (1)

Publication Number Publication Date
KR100810666B1 true KR100810666B1 (ko) 2008-03-07

Family

ID=39397817

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060133439A KR100810666B1 (ko) 2006-12-26 2006-12-26 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터색인 방법

Country Status (1)

Country Link
KR (1) KR100810666B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100962186B1 (ko) 2008-12-22 2010-06-10 한국과학기술원 초저전력 스토리지 시스템 및 그의 데이터 관리방법
CN109360258A (zh) * 2018-08-21 2019-02-19 上海嘉奥信息科技发展有限公司 体渲染实时数据修改的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030075356A (ko) * 2002-03-18 2003-09-26 삼성전기주식회사 고 용량 플래시 메모리 카드 시스템에서의 데이터 운영 방법
KR20040082921A (ko) * 2003-03-19 2004-09-30 삼성전자주식회사 플래쉬 파일 시스템
KR20060007668A (ko) * 2004-07-20 2006-01-26 엘지전자 주식회사 플래시메모리 기반형 데이터베이스 시스템 및 그 관리방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030075356A (ko) * 2002-03-18 2003-09-26 삼성전기주식회사 고 용량 플래시 메모리 카드 시스템에서의 데이터 운영 방법
KR20040082921A (ko) * 2003-03-19 2004-09-30 삼성전자주식회사 플래쉬 파일 시스템
KR20060007668A (ko) * 2004-07-20 2006-01-26 엘지전자 주식회사 플래시메모리 기반형 데이터베이스 시스템 및 그 관리방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100962186B1 (ko) 2008-12-22 2010-06-10 한국과학기술원 초저전력 스토리지 시스템 및 그의 데이터 관리방법
CN109360258A (zh) * 2018-08-21 2019-02-19 上海嘉奥信息科技发展有限公司 体渲染实时数据修改的方法及系统

Similar Documents

Publication Publication Date Title
US10496283B2 (en) Adaptive prefix tree based order partitioned data storage system
CN105630409B (zh) 使用存储器内阵列和盘上页结构的双重数据存储
US8949247B2 (en) Method for dynamic updating of an index, and a search engine implementing the same
US10248676B2 (en) Efficient B-Tree data serialization
US9043334B2 (en) Method and system for accessing files on a storage system
US11755427B2 (en) Fast recovery and replication of key-value stores
US10521117B2 (en) Unified table delta dictionary memory size and load time optimization
CN102364474A (zh) 用于机群文件系统的元数据存储系统和管理方法
US10289709B2 (en) Interleaved storage of dictionary blocks in a page chain
US11537582B2 (en) Data access method, a data access control device, and a data access system
US9189408B1 (en) System and method of offline annotation of future accesses for improving performance of backup storage system
CN104731886A (zh) 一种海量小文件的处理方法及系统
Sarwat et al. Generic and efficient framework for search trees on flash memory storage systems
CN111104377B (zh) 文件管理的方法、电子设备和计算机可读存储介质
WO2022205544A1 (zh) 基于Cuckoo哈希的文件系统目录管理方法及系统
US11829291B2 (en) Garbage collection of tree structure with page mappings
CN106874329A (zh) 数据库表索引的实现方法和装置
KR100810666B1 (ko) 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터색인 방법
Nørvåg Supporting temporal text-containment queries in temporal document databases
Wang et al. Block-Based Multi-Version B $^+ $-Tree for Flash-Based Embedded Database Systems
US20090259617A1 (en) Method And System For Data Management
US8818953B2 (en) Method and apparatus for loading data into multi-table tablespace
Norvag V2: a database approach to temporal document management
KR100912129B1 (ko) 객체 파일 시스템을 이용한 비정형 데이터 관리 방법 및장치
Coetzee TinyLex: Static n-gram index pruning with perfect recall

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130304

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140228

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160203

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161213

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181212

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20191203

Year of fee payment: 13