KR20060037376A - 데이터베이스를 핸들링하기 위한 방법과 데이터 캐리어 - Google Patents

데이터베이스를 핸들링하기 위한 방법과 데이터 캐리어 Download PDF

Info

Publication number
KR20060037376A
KR20060037376A KR1020067001233A KR20067001233A KR20060037376A KR 20060037376 A KR20060037376 A KR 20060037376A KR 1020067001233 A KR1020067001233 A KR 1020067001233A KR 20067001233 A KR20067001233 A KR 20067001233A KR 20060037376 A KR20060037376 A KR 20060037376A
Authority
KR
South Korea
Prior art keywords
segment
record
area
address information
database file
Prior art date
Application number
KR1020067001233A
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 톰슨 라이센싱
Publication of KR20060037376A publication Critical patent/KR20060037376A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/004Recording, reproducing or erasing methods; Read, write or erase circuits therefor
    • G11B7/006Overwriting
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

제한된 재기록성 저장 매체에 관한 데이터 저장 분야에 있어서, 자주 변경되는 데이터베이스를 핸들링(handling)하는 것은 저장 세그먼트(segment)의 불균등한 마모를 야기할 수 있다. 본 발명은, 데이터 레코드(D1...D8)의 임의의 기록은 최종 기록된 세그먼트(S2, S4)뒤에 그 다음으로 이용 가능한 세그먼트을 사용함으로써 최대한으로 분포된 세그먼트 마모를 보장하는, 데이터베이스 파일(31)을 수정하기 위한 방법 및 읽기 방법을 개시한다. 이 방법에 따른, 버전(version) 번호를 갖는 레코드를 가진 데이터베이스 파일을 포함하는 데이터 캐리어(carrier)가 또한 개시된다.

Description

데이터베이스를 핸들링하기 위한 방법과 데이터 캐리어{METHOD AND DATA CARRIER FOR HANDLING A DATABASE}
본 발명은 광기록 분야와 관련이 있고, 보다 특별하게는 광기록 매체에 의해 부과된 제약 아래 메타데이터(metadata)를 포함하는 데이터베이스의 유지 보수와 관련이 있다.
메타데이터는 데이터에 관한 데이터를 표시하기 위한 전문 용어이다. 구조화된 메타데이터는 데이터베이스에 저장될 수 있다. 미래의 멀티미디어 응용에서, 메타데이터는 크기가 크며 빈번히 변경될 것이다; 메타데이터는 재기록형(rewritable) 광 데이터 캐리어에 이 메타데이터와 연관이 있는 데이터와 함께 저장될 것이다. 재기록형 광 매체에 자주 변경되는 "살아 있는(living)" 데이터베이스를 저장하는 것은 이와 같은 매체가 각각의 데이터 섹터에 대해 단지 제한된 횟수의 재기록 주기(cycle)를 제공한다는 사실에 어려움이 있다. 하나의 데이터 섹터에 대한 너무 많은 기록 주기는 해당 섹터의 성능 저하로 이어진다. 따라서, 제한된 재기록 주기 환경으로 적응된 데이터베이스 관리 시스템을 고안하는 문제점이 등장한다.
언급된 문제와 다른 것들은 본 발명에서 데이터베이스 파일을 수정하기 위한 방법에 의해 해결되는데, 이 방법은: 데이터베이스 파일 내에서 적어도 하나의 타입의 데이터 레코드를 기록하는데 전적으로 사용되는 미리 지정된 크기와 위치의 적어도 하나의 영역을 제각기 예약하고; 상기 데이터베이스 파일 내에서 데이터 레코드가 최종 기록된 영역내의 세그먼트를 최종 기록 세그먼트로 지시하고; 특정한 타입의 데이터 레코드가 상기 데이터베이스로 기록될 때마다, 특정한 타입에 전적으로 사용되는 영역 내에서, 최종 기록된 세그먼트 뒤의 그 다음에 이용 가능한 세그먼트를 기록 동작이 사용하는 것에 있어서 분산된 기록을 보장하는 단계를 포함한다.
이것에서, 유익하게, 세그먼트는 먼저 데이터베이스 영역으로 순차적으로 기록된다. 그리고 나서, 데이터베이스 영역의 최종 세그먼트가 기록됐을 때, 다음 기록 동작은 이 데이터베이스 영역의 시작 부분 부위로 다시 랩-어라운드(wrap around) 되고, 거기서 발견되는 임의의 미사용 혹은 무효화된(invalidated) 세그먼트로 기록할 것이다. 활성(active) 세그먼트, 즉, 유효한 데이터를 포함하는 세그먼트는 변경되거나 중복 기록되지 않을 것이다. 이것들은 단지 무효화될 수 있을 뿐이다. 변화된 내용은 기록을 위해 준비된 다음 세그먼트중의 하나로 기록될 수 있을 뿐이다. 그래서, 데이터베이스 영역을 지나는 제2 통과(pass) 혹은 연속적인 통과에서조차 순차 기록은 최대한 유지되며, 따라서 분산된 기록이 최대한 보장된다.
본 발명의 또 하나의 측면에 따라, 데이터베이스 파일에서 특정한 타입의 데이터 레코드를 수정하는 것은: 연관된 데이터베이스 영역으로부터 데이터 레코드를 읽는 단계와; 이 읽혀진 데이터 레코드를 수정하는 단계와; 특정한 타입의 데이터 레코드가 최종 기록된 영역 내에서의 세그먼트를 지시하는 제1 기록 주소 정보를 획득하는 단계와; 분산된 기록을 보장하는 것의 일부로서, 제1 기록 주소 정보를 전송하여 이 정보가 미사용된 공간을 포함하는 영역내의 다음 세그먼트를 지시하는 단계; 그리고 수정된 데이터 레코드를 제1 기록 주소 정보에 의해 표시된 세그먼트로 기록하는 단계를 포함한다.
데이터베이스는 여러 개의 제어 블록을 포함하는 제어 영역을 포함한다. 일반적으로, 하나 이상의 인접하는 세그먼트로 이루어진 이와 같은 제어 블록의 단지 한 개만이 유효할 것이다. 이런 제어 블록은 일반적으로 빈번히 변경되고, 데이터베이스에서 인덱스 영역 내에 있는 인덱스의 유효성에 관한 정보뿐만 아니라 페이로드 영역내에 있는 문서와 세그먼트의 유효성에 관한 정보를 포함한다. 데이터베이스의 내용이 변경되었을 때, 적어도 데이터 캐리어를 분출하기(eject) 전에, 새로운 제어 블록이 기록되어야 하고, 제어 영역에서 다음 세그먼트로 기록될 것이다. 이것은 제어 블록에 대한 기록 또는 재기록 동작의 횟수를 이 제어 영역에 있는 모든 세그먼트로 퍼지게(spread)한다. 미지의 데이터 캐리어를 열 때, 단 하나의 유효한 제어 블록은 첨부된 버전 번호를 조사함으로서 발견해야 하는데, 이것은 영구적으로 변경되는 세그먼트 주소를 데이터 캐리어 상의 고정된 위치에 저장하는 것이 불가능하기 때문이다.
본 발명의 이 측면에 따라, 페이로드 데이터 레코드를 제어 영역을 포함하는 데이터베이스 파일로부터 삭제하는 것은: 삭제될 페이로드 데이터 레코드와 연관된 정보를 포함하는 제어 블록을 제어 영역으로부터 읽는 단계와, 삭제될 페이로드 데이터 레코드가 삭제되었다고 읽기 제어 블록에서 표시(marking)하고, 이것에 의해 수정된 제어 블록을 획득하는 단계와; 제어 블록이 최종 기록되었던 제어 영역 내의 세그먼트를 지시하기 위해 기록 주소 정보를 획득하는 단계와; 분산 기록을 보장하는 과정의 일부로서, 기록 주소 정보를 전송하여, 이 기록 주소 정보가 미사용된 공간을 포함하는 제어 영역 내에서 그 다음 번 세그먼트를 지시하도록 하는 단계와, 수정된 제어 블록을 전송된 기록 주소 정보에 의해 지시된 세그먼트에 기록하는 단계를 포함한다.
본 발명의 또 하나의 측면에 따라, 분산된 기록을 보장하기 위한 방법은 기록 주소 정보가 미사용 공간을 포함하는 최종 기록된 세그먼트 뒤의 그 다음 세그먼트를 지시할 때까지 이 기록 주소 정보를 증가시키는 부단계(substep)와; 기록 주소 정보의 증가로 인해 이 기록 주소 정보가 이 영역의 끝을 넘는 세그먼트를 지시할 경우, 기록 주소 정보를 이 영역의 시작으로 리세트(reset)하는 부단계를 포함한다. 이것은 데이터베이스 영역을 통해 제2의 통과 또는 연속적인 통과에서도 순차적인 기록을 최대한 유지하는데 기여하며, 따라서 분산적인 기록을 최대한 보장한다. 또한, 한 영역이 데이터베이스 생성시에 크게 할당되면 될수록, 이와 같은 "랩-어라운드"의 빈도는 더욱 줄어들게 될 것이며; 따라서 다른 변경되지 않는 응용에서는, 영역의 크기와 이 영역 내의 세그먼트의 재기록의 평균 횟수 사이에는 역관계(reverse relationship)가 존재한다.
본 발명은 데이터 캐리어 기록 전략뿐만 아니라 일반적 데이터 포맷과 관련이 있는데, 이것은 유익하게도 각각의 데이터 섹터를 위한 많은 재기록 동작이 최대한 고르게(leveled) 되는 것을 보장한다. 이렇게 함으로, 데이터 캐리어의 특정한 섹터에서의 성능 저하(degradation)가 회피 된다. 본 발명의 시스템은 하드 디스크와 비교하여 한정된 수의 재기록 주기와 상대적으로 높은 트랙 탐색(seek) 시간과 같은 광 데이터 캐리어의 특정한 특성에 적응된다는 점에 있어 구별된다. 일부의 매체에 있어서, 약 1000회의 재기록 주기가 실제적으로 가정할 만하며, 이것은 사용하는 재기록 전략을 고려할 때 높은 수치이며, 정상적인 사용예에서는 발생하지 않을 것이다.
본 발명의 실시예는 도면에서 도시되며, 다음 설명에서 보다 자세히 설명된다.
도 1은 본 발명에 따라 영역 개념(area concept)을 예시하는 도면.
도 2는 본 발명에 따라 단일 데이터베이스에 접근(access)하고 관리되는 여러 개의 동시 탐색 동작의 타이밍 도표.
도 3은 본 발명에 따라 데이터베이스 파일의 저-레벨 세그멘테이션(segmentation)을 보여주는 도면.
도 4는 강조된 데이터베이스 헤더(header)를 가진 데이버베이스 파일을 보여주는 도면.
도 5는 본 발명에 따라, 데이터베이스 파일 내에서 제어 영역과 이 제어 영 역의 구조를 보여주는 도면.
도 6은 본 발명에 따라 데이터베이스 파일 내에서 인덱스 영역과 이 인덱스 영역의 구조를 보여주는 도면.
도 7은 본 발명에 따라 데이터베이스 파일 내에서 페이로드(payroad) 영역과 이 페이로드 영역의 구조를 보여주는 도면.
도 8은 본 발명에 따라 문서 기록 전략을 설명하는 세그먼트 내용을 보여주는 도면.
도 9는 본 발명에 따라 문서 편집과 삭제 전략을 설명하는 세그먼트 내용을 보여주는 도면.
도 10은 본 발명에 따라 페이로드 세그먼트 기록 전략을 설명하는 세그먼트 내용을 정성적으로(qualitatively) 보여주는 도면.
본 발명의 실시예는 데이터베이스를 위해 이용 가능한 저장 공간의 사전에 할당된 인접 영역을 사용한다. 이것은 데이터 캐리어의 파일 시스템에 따라 단순 파일이거나 파티션(partition)일 수 있다. 단 하나의 요구 사항은 이 영역이 세그먼트로 조직되고, 무작위(random) 읽기와 기록 접근을 구비해야 한다는 것이다. 모든 영역의 크기와 세그먼트 크기와 버전과 같은 정적인(static) 데이터베이스 정보를 포함하는 제1 세그먼트를 제외하고, 데이터베이스 파일의 모든 다른 세그먼트는 제어 영역, 인덱스 영역, 페이로드 영역과 같은 여러 개의 구별된 데이터베이스 영역으로 그룹화된다. 각 영역의 사이즈는 응용에 특정적이고, 데이터베이스 파일 생 성시에 지정된다. 데이스베이스 파일의 각 영역은 유익하게 일정한 크기의 세그먼트로 조직되며, 이것은 합리적으로 복수 개의 ECC-블럭 크기이어야 한다. 에러 정정 코드(Error Correction Code) 혹은 ECC는 데이터 캐리어 상의 가장 작은 읽기 가능한 블록을 결정한다. 따라서, 세그먼트 경계를 ECC-블록 경계를 따라 정렬시키는 것이 또한 유리하다. 상이하지만 각 영역내에서는 제각기 일정한 세그먼트 크기를 갖는 것이 유리한 응용들이 존재할 수 있다.
문서 혹은 레코드로서 표시되는 페이로드 데이터는 페이로드 영역에서 저장될 것이다. 이 영역에서 세그먼트는 하나 이상의 문서를 저장할 수 있다. 문서는 그 사이즈 때문에 혹은 거의 채워진 세그먼트에서 마지막 자유 공간을 사용했기 때문에 하나 이상의 세그먼트로 걸쳐 질 수 있다. 완전한 문서만이 추가, 검색, 또는 무효화/"제거"된다. "제거된" 문서는 이것이 초래할 그 세그먼트로의 추가적인 쓰기 접근 때문에 데이터 캐리어 상에 진짜로는 제거되지는 않을 것이다. 오히려, 이것은 제어 블록에서 단지 무효화될 것이다. 세그먼트에서 임의의 미사용 부분은, 예를 들면 전혀 사용되진 않은 세그먼트의 수가 낮게 될 때까지, 미사용인 채로 남겨질 수 있다. 그리고 나서, 부분적으로 무효화된 세그먼트에서 남아있는 문서는, 일종의 가비지 수집(garbage collection)으로서, 모아 져서 새로운 세그먼트로 유익하게 집어 넣어 질 수 있다. 이런 방식에서, 구(old) 세그먼트가 새로운 문서를 위해 이용 가능하게 된다.
도 1은 이런 종류의 기록 전략을 위해 본 발명에 따른 데이터베이스가 저장 공간(12) 상에 다른 영역(11)으로 나누어지는 것을 도시하는데, 이 영역은 지속적 으로 기록되고, 만약 이 영역의 모든 섹터가 또한 기록되었다면 단지 재기록될 뿐이다. 한편 일부의 섹터가 미사용으로 표시되었을지라도 이것은 즉시로 재사용되지는 않고, 단지 영역(11)의 모든 다른 사용되지 않은 섹터(13)가 사용된 후에야 재사용된다. 랩 어라운드 후에 모든 자유 섹터는 상기와 동일한 방법으로 다루어 진다. 이런 방식으로, 섹터당 거의 동일하고 낮은 수의 재기록 주기가 얻어질 수 있다.
광 데이터 캐리어의 특정한 특성에 적응되었을지라도, 본 발명의 시스템은 그럼에도 불구하고 단점 없이 하드 디스크 저장에 또한 이용할 수 있다는 것에 주목해야 한다.
도2는 동시 탐색 동작을 실행하기 위한 방법을 도시한다. 임의의 탐색 동작(22, 23, 24, 25, 26)이 활성화되어 있는 동안, 단일 탐색 프로세스(21)가 실행되는데, 이 프로세스는 데이터베이스의 모든 문서(1,...,z)를 물리적인 순서로 영구적으로 주기적으로 읽으며(29), 각 문서에 대해 한 번씩 모든 활성 탐색 동작의 탐색 프로세서를 교대로 부른다. 탐색 프로세스를 시작하거나 또는 이미 실행중인 탐색 프로세스를 합류(join)시키는 각각의 새로운 탐색 동작은, 하나의 랩 어라운드 후에 동일한 혹은 다음의 문서에 다시 도달된 후에, 활동을 시작하고 종결하는 제1 문서의 위치를 기억한다. 탐색 프로세스(21)는 활성화된 탐색 동작의 번호(27, 28)이 다시 0이 될 때, 즉, 더 이상의 활성화된 탐색 동작이 존재하지 않을 때 종결한다. 이 방법으로, 모든 탐색 동작을 제공하기 위한 데이터 캐리어 접근의 수는 최소화되며, 추가적으로, 물리적인 순서로 문서를 횡단(traverse)함으로써, 연속된 문서의 읽기 동작의 점프 시간(jump time)도 또한 최소화된다.
요약하면, 탐색 동작은 데이터베이스 파일 내의 페이로드의 물리적인 순서에 대하여 최적화된다. 심지어는 다중(multiple) 탐색 동작의 병렬(parallel) 실행이 가능하다. 이것은 다중 사용자용(multi-user) 응용을 가능하게 한다. 이 근저가 되는 파일 구조는 모든 섹터에 대해 매우 제한적이고 거의 동일한 수의 재기록 주기에 관하여 광기록 매체를 위해 최상의 성능을 보장한다.
에러 정정 코드 블록은 광 데이터 캐리어 상에 읽기 가능하고 기록 가능한 가장 작은 세그먼트이다. 데이터베이스 파일은 이와 같은 ECC 블록의 하나의 연속적인 범위로 구성되고, 적절한 파일 시스템내의 하나의 파일로 조직된 하나의 영역을 차지하기 위해 유리하게 설계된다. 어떤 다른 파일도 데이터 캐리어 상에 필요하지 않는다. 이 데이터베이스 파일의 내부 작용은 본 발명의 시스템에 의해 관리되며, 본 발명의 재기록 전략을 지원하기 위해 특정한 파일 시스템 특징에 의존하지 않는다. 이런 설계를 가지고, 저장된 데이터의 단편화(fragmentation)는 결정되고 제어될 수 있다. 데이터베이스 파일의 크기는 디폴트(default) 값으로 세트될 수 있으며, 만약 필요하다면 조정될 수 있다. 데이터베이스 파일은 어떠한 정밀한 동작의 필요를 피하기 위해 충분히 커야 하며, 만약 그렇치 못하다면, 최악의 경우 완전한 데이터베이스 재조직(reorganization)이 필요할 수도 있다. 반면에, 다른 응용이 데이터베이스 파일 밖의 데이터 캐리어 상에 보다 많은 공간을 필요로 하는 상황에서, 데이터베이스의 크기를 감소시키기 위한 선택 사항이 존재한다.
도3은 가장 낮은 수준에서, 데이터베이스 파일(31)이 일정한 크기의 세그먼 트(32)로 분할되는 것을 도시한다. 세그먼트 크기는 유리하게 ECC 블록 크기의 정수배이다. 세그먼트 크기는 데이터베이스 파일 생성시에 정의되어야만 하며, 데이터베이스의 수명(lifetime)동안 변경될 수 없다. 세그먼트의 크기를 변경시키기 위한 단 하나의 방법은 모든 문서를 현재의 데이터베이스 파일로부터 새롭고 적절한 크기의 데이터베이스 파일로 완전하게 전송하는 것에 의해 수행될 것이다.
데이터 캐리어의 한정된 수의 재기록 주기 때문에, 세그먼트는 변화할 수 없다는 규칙이 있다. 다른 말로 설명하면, 세그먼트는 읽혀지고 수정되며, 그리고 나서 데이터 캐리어의 동일한 위치로 결코 다시 저장되지 않을 것이다. 오히려, 세그먼트는 전적으로 혹은 부분적으로 무효화될 수 있다. 변화된 내용은 그 원래 위치에서 무효화되어야 하고, 그리고 나서 기록할 준비가 된 다음 세그먼트로 기록되어야 하며, 이 세그먼트는 일반적으로 다른 위치이다. 문서를 데이터베이스 파일에 추가하는 동안, 세그먼트의 용량이 완전히 소진될 때까지 세그먼트는 기록-캐시(write-cache)될 수 있다.
도4는 연속적인 세그먼트의 영역(41, 42, 43, 44)으로 그룹화된 세그먼트를 도시한다. 이런 영역의 하나는 단지 하나의 세그먼트로 이루어져 있고, 데이터베이스의 수명 동안 변하지 않는 데이터베이스의 정적인 정보를 포함하는 데이터베이스의 헤더(41)를 위해 사용된다. 후속(subsequent) 영역(42, 43, 44)의 세그먼트는, 각 영역 내에 세그먼트를 위한 거의 동일한 수의 재기록 주기를 얻기 위해 데이터베이스 파일에서 이 세그먼트의 위치에 따라, 순환(circular order)적으로 사용된다. 이 데이터베이스 헤더는:
- 데이터베이스 파일의 손쉬운 식별을 위한 시작 코드
- 버전 번호
- 세그먼트 크기
- 제어 영역 크기
- 인덱스 영역 크기
- 페이로드 영역 크기와 같은 정보를 포함할 수 있다.
이 헤더 세그먼트(41)는 일반적으로 데이터베이스 파일의 수명동안 단지 한번만 기록된다. 이 세그먼트는, 만약 데이터베이스 헤더 필드중 하나 예를 들면 세그먼트의 크기 혹은 영역의 크기 혹은 내부 데이터 포맷을 변경기키는 것과 같이 데이터베이스가 재조직될 경우에만, 변경되야 한다. 이것은 관련된 명세(specification)의 갱신시 일어날 수 있다.
어떠한 경우에 있어서, 도 5에서 도시된 대로, 제어 블록을 분리된 제어 영역(42)에 채택하는 것이 유리하다. 데이터베이스 페이로드를 위한 세그먼트가 여러 개의 문서를 포함하고, 이 문서 중의 하나가 삭제되야 하는 상황을 고려해 보라. 세그먼트가 삭제될 수 없는 규칙 때문에, 이러한 삭제 동작을 관리하기 위한 두가지 방법이 존재한다. 세그먼트 전체의 내용이 읽고 수정되어 그리고 나서 기록을 위해 준비된 다음 세그먼트로 재기록되거나, 또는 일종의 제어 데이터가 채용되어 페리로드 데이터로부터 분리된 채로 유지되야 한다. 제어 데이터는 그리고 나서 삭제된 문서를 원래 세그먼트에서 무효한 데이터라고 표시할 수 있다. 이 첫 번째 방법은 덜 단편화된 데이터베이스를 야기시키며, 예를 들면 세그먼트에서 최종 문서 가 한 개 이상의 세그먼트에 걸쳐 있을 경우에, 모든 이런 세그먼트는 제1 세그먼트와 같은 방식으로 읽고, 수정되고 재기록되어야 할 것이다. 그러므로 두 번째 방법이 유리하게 채용되는데, 이 방법은 데이터베이스의 성능을 향상시킨다. 완전한 세그먼트가 무효화되기 전에 필요로 하는 제어 데이터가 여러 번 변경될 수 있으므로, 제어 데이터는 제어 영역(42)내에 저장된다. 제어 영역은 하나 이상의 제어 블록(53)을 포함하고, 이 제어 블록은 빈번한 변경에 적응된다.
제어 블록(53)은 페이로드 혹은 인덱스를 포함하는 세그먼트에 대한 변경될 수 있는 정보를 위한 컨테이너(container)이다. 제어 블록 데이터는, 데이터베이스가 열리고 이 데이터베이스가 닫힐 때까지 메모리에 유지될 수 있을 때, 일반적으로 메모리로 로드(load)된다. 이 제어 블록은, 만약 이 제어 블록이 변경되었을 때에만, 데이터 캐리어로 다시 기록될 필요가 있다. 보안상의 이유로 인해, 이 변경된 제어 블록은, 시스템 고장(failure)시 데이터 손실에 대한 회복성(resilience)을 향상시키기 위해, 데이터 캐리어로 한 번 이상 저장될 수 있다. 데이터베이스에 대한 다음과 같은 정보가 제어 블록에 저장될 수 있다:
- 헤더(54);
- 인덱스와 페이로드 영역에 최종 기록된 세그먼트로의 참조(referecne);
- 페이로드와 인덱스 세그먼트를 위한 유효성 플래그(validity flag);
- 이용 가능하고 유효한 인덱스에 대한 정보와 같은 인덱스 제어 데이터(55);
- 페이로드 세그먼트에서 문서를 위한 유효성 플래그와 같은 페이로드 제어 데이터(56), 또는 제1 요소 혹은 부분의 번호를 지시하는 플래그와 같은 분할된 문서에 대한 정보.
도5는 또한, 제어 블록(53)을 데이터 캐리어의 동일한 위치로 기록하는 것을 피하기 위하여, 매 새로운 버전의 제어 블록이 제어 영역(42)에 있는 하나 이상의 다른 세그먼트로 기록될 수 있는 것을 도시한다. 묵시적인 규칙으로서, 최종 기록된 제어 블록만이 유효하다고 간주된다; 이를 위해, 매 새로운 버전의 제어 블록은 이전에 사용된 제어 블록과 비교하여 증가되는 버전 번호를 포함하며, 결과적으로 최종 기록된 제어 블록은 제어 영역에서 제어 블록의 버전 번호를 검사하는 것에 의해 식별된다. 제어 영역(42)에서 모든 세그먼트가 기록된 후에서만이, 제1 세그먼트가 주소 랩 어라운드에 의해 다시 사용될 것이며, 그 결과 거의 동일한 횟수의 재기록 주기가 이 영역에서 또한 보장된다. 물론, 고정된 단어 길이의 데이터 필드에 저장된 버전 번호를 가지고, 제어 블록이 충분히 자주 갱신될 때, 이것들도 또한 일부 예에서 랩 어라운드될 것이다. 그러나, 설명된 제어 블록의 성질 때문에, 연속적인 제어 블록 기록은 제어 블록 영역 내에서 항상 엄격히 주기적일 것이다. 따라서, 유효한 제어 블록을 인식하는 데 있어서, 버전 번호는 제어 블록 영역이 보유할 수 있는 제어 블록의 수보다 크거나 혹은 소인수(prime factor)가 아닌 수치 범위로부터 사용된다하는 것을 보장하는 것은 충분하다고 할 수 있다. 이 유효한 제어 블록은 이 제어 블록이 유일하다는 점에서 인정되며, 여기서, 제어 영역 내의 순차적인 제어 블록 모듈로(modulo)는 버전 번호 수치 범위 내에 순차적인 버전 번호 모듈로를 가지고 있지 않다.
제어 블록(53)은 하나 이상의 인접한 세그먼트에 걸쳐 있다. 유리하게, 제어 블록은 정렬된 세그먼트로 저장되는데, 예를 들면, 매 제어 블록은 이전 제어 블록의 마지막 세그먼트에 뒤따라 나오는 세그먼트의 처음 부분에서 시작한다. 이것은 이전 제어 블록의 마지막 세그먼트의 끝 부분에 미사용된 공간이 존재할 수 있다는 것을 의미하며, 이 공간은 미사용 상태로 남겨 지게 된다. 세그먼트 정렬은 최종 기록된 그러므로 현재 유효한 제어 블록의 식별을 용이하게 한다. 만약 제어 영역(42)의 남아있는 세그먼트가 완전히 새로운 제어 블록을 저장하기에 충분하지 않다면, 그러면 이 제어 블록이 이 남아 있는 세그먼트를 사용하고 이 제어 영역의 시작점에서 계속하는데, 즉, 이 제어 블록은 제어 영역 경계에서 랩 어라운드할 수 있다.
도6은 인덱스(62)의 데이터를 저장할 수 있는 인덱스 영역(43)을 도시한다. 이 인덱스의 포맷은 응용에 특정적이고, 제어 블록(53)에서 대응하는 인덱스 타입 필드에 의해 결정될 수 있다. 제한된 재기록 주기 제약하에서 단편화를 예방하기 위해, 변경된 인덱스 부분은 중복 기록될 수 없으므로, 인덱스(62)는 데이터 캐리어 상에서 직접 수정될 수 없다. 그러므로 각각의 인덱스는 연속된 세그먼트의 정확히 한 개의 순서(sequence)를 유리하게 차지해야만 한다. 응용은 유리하게 단지 전체의 인덱스를 읽고 기록해야만 하며,이것들은 메모리에서 완전한 인덱스를 차지한다.
도7은 일반적으로 데이터베이스 파일의 가장 큰 부분을 차지하는 페이로드 영역(44)을 도시한다. 페이로드 세그먼트(71)라고 불리는 이 영역의 모든 세그먼트 는 동일한 포맷을 가질 수 있다. 각각의 페이로드 세그먼트는, 만약 사용된다면, 하나의 헤더(72)와 하나 이상의 문서(73) 또는 심지어 하나의 문서의 단지 일부만을 포함할 수 있다.
도8은 본 발명에 따라 문서 기록 전략을 도시한다. 여기서, 개념적으로, 각각의 새로운 문서(D1...D8)는, 이 예의 문서(D1 내지 D5)에 대해 세그먼트(Sn)에서 도시된대로, 이전 문서의 직접적으로 뒤에 위치한 페이로드 세그먼트에 저장된다. 만약 현재 세그먼트에서 자유 공간이 다음 문서를 위해 충분하지 않다면, 이 세그먼트는 패딩 바이트(padding byte)를 가지고 채워 지고, 이 문서는 다음 세그먼트(Sn+1)로 기록된다. 만약 도8의 문서(D7)처럼, 문서가 세그먼트보다 크거나, 혹은 만약 이 문서가 세그먼트의 나머지 공간으로 들어 맞지 않는다면, 세그먼트(Sn+1 내지 Sn+3)에서처럼, 이 문서는 인접한 세그먼트의 경계를 걸쳐 있을 수 있다. 하나의 세그먼트의 나머지 공간은 하나의 문서를 분할하는 대신에 패딩 바이트(P)를 가지고 채어 질 수 있다. 이것은 분할된 문서의 수를 감소시키며, 이것은 또한 가비지 수집을 용이하게 하고 짧은 세그먼트 그룹의 가능성을 증가시킨다. 그러나, 이것은 또한 슬랙(slack)이라고 알려진 미사용된 페이로드 공간의 양을 증가시킨다. 각각의 페이로드 세그먼트의 헤더 데이터(H)는 시작 주소 혹은 크기와 같은 세그먼트에서 문서에 관한 정보를 포함할 수 있다.
도9는 문서 편집과 삭제 전략을 도시한다. 세그먼트(Sn...Sm)는 제자리에서는(in-place) 변경될 수 없고 단지 무효화될 수 있을 뿐이다라는 규칙은 문서에 영향을 끼친다. 도8과 동일한 상황에서 시작하여, 섹터(Sn)에 도시된 대로, 문서(D1) 를 삭제하는 것과 문서(D3)를 편집하는 것이 도시되어 있다. 문서(D1)는 이 문서가 저장된 상기 페이로드 세그먼트에서 이것의 데이터를 단지 무효화함으로써 "삭제된다(deleted)". 이것은 제어 블록에서 도시되지 않은 플래그에 의해 수행되며, 그 결과 세그먼트(Sn) 자신은 변경될 필요가 없다. 문서(D3)를 편집하기 위해, 이 문서의 원래 버전은 메모리로 읽혀지고, 메모리에서 수정되며, 그리고 나서 쓰기 준비된 다음 세그먼트로 새로운 문서처럼 저장되는데, 이 세그먼트는 이 예에서 세그먼트(Sm)이다. 이 원래의 문서는 그리고 나서 "삭제(delete)"된 경우에서처럼 무효화될 것이다.
도10은 본 발명에 따라 페이로드 세그먼트 기록 전략을 도시한다. 완전한 페이로드 영역은 다른 연속적인 시각(t)에 이 도면의 각각의 "라인"에서 도시되어 있다. 이 세그먼트의 상태는 "사용된"(S1), "최종 기록되고 사용된"(S2), "미사용된"(S3), "최종 기록되었으나 이미 무효화된"(S4)것으로서 지시된다. 기본적으로, 페이로드 세그먼트는 페이로드 영역에서의 위치에 따라 순환적인 순서로 기록되고 있다. "t=t1"이라고 표기된 제1 라인은 이런 의미에서 계속하여 채워진 데이터베이스를 보여준다. "t=t2"에서 보여진 대로, 이전 세그먼트의 일부가 무효화되었을지라도, 그럼에도 불구하고 다음 세그먼트 데이터는 "t=t3"에서 도시된 대로 최종 기록된 세그먼트(S2) 뒤에 나오는 다음 세그먼트(S4)로 기록될 것이다. 만약 페이로드 영역의 끝에 도달하면 "t=t5"에서 보여진 대로 기록 프로세스는 랩 어라운드하고 영역의 제일 처음의 미사용된 세그먼트에서 시작한다. 차후의 기록 동작을 위해, 다음 번 자유 세그먼트는 "t=t6"에서 도시된 대로 사용될 것이다.
다음 자유 세그먼트가 사용되지 말아야 하는 한가지 예외가 있다: 세그먼트 경계에 걸쳐 있는 문서를 저장하기 위해, 한 개 이상의 연속적인 세그먼트가 사용되야만 할 수 있다. 이 경우에, 이와 같은 저장을 위해 충분히 크지 않는 다음 자유 세그먼트 그룹은 사용 가능한 그룹이 발견될 때까지 건너 뛰어져야(skip) 한다.
하나의 대안적인 방법은, 세그먼트보다 작음에도 불구하고 저장되어, 그 결과 문서가 세그먼트 경계를 걸쳐 있을 수 있는, 특별한 경우를 위해 존재한다. 이러한 문서는 다음의 단일한 자유 세그먼트의 시작점에서 저장될 수 있다. 그리고 나서 현재 세그먼트의 나머지 자유 영역은 미사용인 채로 남겨질 것이다.
상술한 바와 같이, 본 발명은 광기록 분야와 관련이 있고, 보다 특별하게는 광기록 매체에 의해 부과된 제약 아래 메타데이터(metadata)를 포함하는 데이터베이스의 유지 보수에 이용된다.

Claims (13)

  1. 세그먼트(32)로 조직되고 제한적인 재기록성의 저장 매체(12)에 저장된 데이터베이스 파일(31)을 수정하기 위한 방법으로서,
    - 데이터베이스 파일 내에서, 적어도 하나의 타입의 데이터 레코드(D1...D8)를 기록하기 위해 전적으로 사용되는 미리 결정된 크기와 위치의 적어도 하나의 영역(42, 43, 44)을 제각기 예약하는 단계를 포함하는, 데이터베이스 파일 수정 방법에 있어서,
    - 데이터베이스 파일 내에서 데이터 레코드가 최종 기록되었던 영역내에서의 세그먼트를, 최종 기록된 세그먼트(S2)라고 지시하는 단계와;
    - 특정 타입의 데이터 레코드가 데이터베이스에 기록될 때마다, 이 특정 타입에 전적으로 사용되는 영역 내에서, 분산된 기록이 최종 기록되었던 세그먼트 이후 그 다음 이용 가능한 세그먼트를 사용한다는 점에서, 분산된 기록을 보장하는 것을 특징으로 하는, 데이터베이스 파일 수정 방법.
  2. 제 1항에 있어서, 데이터베이스 파일(31)에서 특정한 타입의 데이터 레코드(D1...D8)를 수정하기 위한 것으로서, 여기서 상기 데이터베이스 파일은 특정한 타입에 사용되는 영역을 포함하고, 상기 방법은:
    - 상기 영역으로부터 데이터 레코드를 읽는 단계;
    - 상기 읽혀진 데이터 레코드를 수정하는 단계;
    - 특정한 타입의 데이터 레코드가 최종 기록되었던 영역 내의 세그먼트(S2)를 지시하는 제1 기록 주소 정보를 획득하는 단계;
    - 분산된 기록(distributed write)을 보장하는 과정의 일부로서, 제1 기록 주소 정보를 전송(forward)하는 단계로서, 이를 통해 이 제1 기록 주소 정보가 미사용된 공간을 포함하는 영역 내에서 그 다음 번 세그먼트(S3)를 지시하도록 하는 전송 단계;
    - 수정된 데이터 레코드를 제1 기록 주소 정보에 의해 지시된 세그먼트에서 시작하는 세그먼트에 기록하는 단계를 포함하는 데이터베이스 파일 수정 방법.
  3. 제 2항에 있어서, 상기 데이터 레코드는 페이로드 데이터 레코드(73)이고, 상기 특정한 타입은 "페이로드" 타입이며, 상기 영역은 페이로드 영역(44)이며, 이 데이터베이스 파일은 추가적으로 제어 영역(42)을 가지며, 상기 방법은 추가적으로:
    - 페이로드 데이터 레코드에 대한 주소 정보가 제어 영역 내의 제어 블록(53)에 포함될 경우, 제어 영역으로부터 제어 블록을 읽는 단계;
    - 제1 기록 주소를 반영하기 위해 제어 블록에서의 주소 정보를 갱신하는 단계;
    - 제어 블록이 최종 기록되었던 제어 영역 내의 세그먼트를 지시하기 위해 제2의 기록 주소 정보를 획득하는 단계;
    - 분산 기록을 보장하는 것의 일부로서, 제2 기록 주소 정보를 전송하여, 이 제2 기록 주소 정보가 미사용된 공간을 포함하는 제어 영역 내에서 그 다음 세그먼트를 지시하도록 하는 단계;
    - 갱신된 제어 블록을 제2 기록 주소 정보에 의해 지시된 세그먼트에 기록하는 단계를 포함하는 데이터베이스 파일 수정 방법.
  4. 제 1항에 있어서, 상기 방법은 페이로드 데이터 레코드(73)를 데이터베이스 파일(31)로부터 삭제하기 위해 사용되고, 여기서 상기 데이터베이스 파일은 제어 영역(42)을 포함하며, 상기 방법은:
    - 삭제될 페이로드 데이터 레코드와 연관된 정보를 포함하는 제어 블록(53)을 제어 영역으로부터 읽는 단계;
    - 삭제될 페이로드 데이터 레코드가 삭제되었다고 읽기 제어 블록에서 표시하는 단계로서, 이를 통해 수정된 제어 블록을 획득하게 하는, 표시 단계;
    - 제어 블록이 최종 기록되었던 제어 영역 내의 세그먼트를 지시하는 기록 주소 정보를 획득하는 단계;
    - 분산된 기록을 보장하는 것의 일부로서, 기록 주소 정보를 전송하는 단계로서, 이를 통해, 이 기록 주소 정보가 미사용된 공간을 포함하는 제어 영역 내에 그 다음 세그먼트를 지시하도록 하는, 전송 단계;
    - 수정된 제어 블록을 전송된 기록 주소 정보에 의해 지시된 세그먼트에 기록하는 단계를 포함하는, 데이터베이스 파일 수정 방법.
  5. 제 1항 내지 제 4항중 어느 한 항에 있어서, 분산된 기록을 보장하는 상기 단계는:
    - 기록 주소 정보가 미사용 공간을 포함하는 최종 기록된 세그먼트(S2, S4) 뒤의 그 다음 세그먼트를 지시할 때까지 이 기록 주소 정보를 증가시키는 단계;
    - 기록 주소 정보를 증가 시킴으로 이 기록 주소 정보가 이 영역의 끝을 넘는 세그먼트를 지시할 경우, 기록 주소 정보를 이 영역의 시작으로 리세트(reset)하는 단계를 포함하는 단계인, 데이터베이스 파일 수정 방법.
  6. 제 1항 내지 제 5항 중 어느 한 항에 있어서, 그 세그먼트의 크기가 저장 매체(12)상의 물리적 포맷으로 정의된 섹터(sector) 혹은 ECC 블록의 크기의 정수 배수(integer multiple)에 대응하는, 데이터베이스 파일 수정 방법.
  7. 제 6항에 있어서, 세그먼트가 정렬된 섹터 혹은 ECC 불럭이 되도록 저장 매체 상에 할당되는, 데이터베이스 파일 수정 방법.
  8. 제 1항 내지 제 7항중 어느 한 항에 있어서, 각각의 기록에 대해 증가시키고 미리 정의된 상한(upper bound)으로 모듈로(modulo)를 취하여 구해 지는 버전 카운트(count) 값을 기록될 데이터 레코드에 첨부함으로 상기 지시 단계가 구현되며, 상기 버전 카운트는 데이터 레코드의 일부로서 데이터베이스 파일에 기록되는, 데이터베이스 파일 수정 방법.
  9. 제 1항 내지 제 8항의 어느 항에 있어서, 적어도 하나의 영역(42, 43, 44)의 크기는 세그먼트의 평균 마모가 동일하도록 선택되는 방법.
  10. 다수(z)의 문서를 포함하는 데이터 베이스 파일에 접근하는 동시(concurrent) 탐색 동작(22...26)을 수행하는 방법으로서, 이 방법은:
    - 데이터베이스에서 이 문서에 대해 특정한 기준을 검사하는 새로운 탐색 동작의 시작시, 활성화(active) 탐색 카운터(27, 28)를 증가시키는 단계;
    - 활성화 탐색 카운터가 하나 이상의 탐색 동작이 활성적이고 문서 검색 프로세스(21)가 아직 실행되고 있지 않다는 것을 지시하는 하나의 값을 가지고 있는 경우에, 데이터베이스에 포함된 문서를 연속적이고 주기적으로 검색하고(29), 문서에게 임의의 활성적인 탐색 동작들을 제공하는, 문서 검색 프로세스를 개시(시작)하는 단계;
    - 문서 검색 프로세스로부터 문서를 수신하는 개시된 새로운 탐색 동작에서, 개시 후에 최초로 수신된 문서의 식별자(identifier)를 제1 문서로서 기억하고, 상기 수신된 문서에 특정한 기준을 적용하는 단계;
    - 탐색 동작이 제1 문서를 두 번째로 수신할 시, 탐색 동작을 종결하고, 활성화 탐색 카운터를 감소시키는 단계;
    - 상기 활성화 탐색 카운터가 활성적인 탐색 동작이 더 이상 존재치 않음을 지시하는 하나의 값을 가질 경우, 이 문서 검색 프로세스(21)를 종결하는(끝내는) 단계를 포함하는, 동시 탐색 동작 수행 방법.
  11. 제 10항에 있어서, 상기 탐색 동작은 상이한 소스(source)로부터 유래하는, 동시 탐색 동작 수행 방법.
  12. 레코드(D1...D8)를 포함하는 데이터베이스 파일(31)을 저장하고 데이터 캐리어로서, 각 레코드는, 이 레코드가 데이터 캐리어에 기록되었을 때와 일정하게(monotonically) 연관되는 하나의 구별된 버전 번호 정보를 포함하는 것을 특징으로 하는, 데이터 캐리어.
  13. 제 12항에 있어서, 다음 레코드가 다음 버전 번호를 가지고 있지 않을 때에만 이 레코드가 유효하다고 간주되도록 미리 정의되는 것을 추가로 특징으로 하는, 데이터 캐리어.
KR1020067001233A 2003-07-19 2004-07-16 데이터베이스를 핸들링하기 위한 방법과 데이터 캐리어 KR20060037376A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03016382 2003-07-19
DE03016382.8 2003-07-19

Publications (1)

Publication Number Publication Date
KR20060037376A true KR20060037376A (ko) 2006-05-03

Family

ID=34112453

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067001233A KR20060037376A (ko) 2003-07-19 2004-07-16 데이터베이스를 핸들링하기 위한 방법과 데이터 캐리어

Country Status (6)

Country Link
US (1) US20060173890A1 (ko)
EP (1) EP1647012A2 (ko)
JP (1) JP2007501480A (ko)
KR (1) KR20060037376A (ko)
CN (1) CN100568352C (ko)
WO (1) WO2005013268A2 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4576936B2 (ja) * 2004-09-02 2010-11-10 ソニー株式会社 情報処理装置、情報記録媒体、コンテンツ管理システム、およびデータ処理方法、並びにコンピュータ・プログラム
US11112990B1 (en) * 2016-04-27 2021-09-07 Pure Storage, Inc. Managing storage device evacuation

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6361426A (ja) * 1986-08-22 1988-03-17 Csk Corp 光記録媒体のデ−タ追記方式
US5454105A (en) * 1989-06-14 1995-09-26 Hitachi, Ltd. Document information search method and system
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
DE59201301D1 (de) * 1991-04-29 1995-03-09 Siemens Ag Elektrischer leiter mit einer längsnut und schlitzen senkrecht zur längsnut.
US5381539A (en) * 1992-06-04 1995-01-10 Emc Corporation System and method for dynamically controlling cache management
JPH0756780A (ja) * 1993-08-16 1995-03-03 Toshiba Corp メモリカード装置
JP3615299B2 (ja) * 1996-03-29 2005-02-02 三洋電機株式会社 書換え可能romの記憶方法及び記憶装置
JPH10289524A (ja) * 1997-04-11 1998-10-27 Sony Corp 記録媒体駆動装置
US6125371A (en) * 1997-08-19 2000-09-26 Lucent Technologies, Inc. System and method for aging versions of data in a main memory database
JPH11120745A (ja) * 1997-10-14 1999-04-30 Sony Corp 書換型記録媒体のデータ管理方法
JP3178413B2 (ja) * 1998-04-28 2001-06-18 日本電気株式会社 ディスク記録再生装置およびディスク記録再生方法
US6385706B1 (en) * 1998-12-31 2002-05-07 Emx Corporation Apparatus and methods for copying a logical object to a primary storage device using a map of storage locations
US6397308B1 (en) * 1998-12-31 2002-05-28 Emc Corporation Apparatus and method for differential backup and restoration of data in a computer storage system
US7107395B1 (en) * 1998-12-31 2006-09-12 Emc Corporation Apparatus and methods for operating a computer storage system
US6920537B2 (en) * 1998-12-31 2005-07-19 Emc Corporation Apparatus and methods for copying, backing up and restoring logical objects in a computer storage system by transferring blocks out of order or in parallel
US6487561B1 (en) * 1998-12-31 2002-11-26 Emc Corporation Apparatus and methods for copying, backing up, and restoring data using a backup segment size larger than the storage block size
US6580683B1 (en) * 1999-06-23 2003-06-17 Dataplay, Inc. Optical recording medium having a master data area and a writeable data area
US7403901B1 (en) * 2000-04-13 2008-07-22 Accenture Llp Error and load summary reporting in a health care solution environment
JP4756623B2 (ja) * 2001-11-30 2011-08-24 ソニー株式会社 情報記録装置および方法、プログラム格納媒体、並びにプログラム
US7412463B2 (en) * 2002-01-11 2008-08-12 Bloomberg Finance L.P. Dynamic legal database providing historical and current versions of bodies of law
US20030172079A1 (en) * 2002-03-08 2003-09-11 Millikan Thomas N. Use of a metadata presort file to sort compressed audio files
US7260278B2 (en) * 2003-11-18 2007-08-21 Microsoft Corp. System and method for real-time whiteboard capture and processing

Also Published As

Publication number Publication date
EP1647012A2 (en) 2006-04-19
WO2005013268A2 (en) 2005-02-10
CN100568352C (zh) 2009-12-09
CN1833278A (zh) 2006-09-13
JP2007501480A (ja) 2007-01-25
US20060173890A1 (en) 2006-08-03
WO2005013268A3 (en) 2005-06-09

Similar Documents

Publication Publication Date Title
CN110347336B (zh) 一种基于nvm与ssd混合存储结构的键值存储系统
US8180955B2 (en) Computing systems and methods for managing flash memory device
US7363420B2 (en) Method and file structures for managing data on a flash disk
KR100389241B1 (ko) 비휘발성 메모리에서의 가변 크기 데이터의 효율적인관리를 위한 동적 할당
EP0479535B1 (en) File managing method
US6282605B1 (en) File system for non-volatile computer memory
US7571275B2 (en) Flash real-time operating system for small embedded applications
US6094707A (en) Method for memory allocation in a disk drive employing a chunk array and identifying a smallest available element for write caching
CN1020014C (zh) 快速开启由路径名识别的磁盘文件的方法
US20060168392A1 (en) Flash memory file system
US20070294490A1 (en) System and Method of Updating a Memory to Maintain Even Wear
US10503425B2 (en) Dual granularity dynamic mapping with packetized storage
US6938140B2 (en) System and method for linear object reallocation in place
WO2011113488A1 (en) Method for database storage of a table with plural schemas
US7895164B1 (en) Efficient checkpoint process
CN114416646A (zh) 一种层级存储系统的数据处理方法及装置
JPS6344367A (ja) 非消去型キャリヤの記憶空間上での区画の規定及び修正プロセス
US20070061545A1 (en) Method for writing memory sectors in a memory deletable by blocks
KR20060037376A (ko) 데이터베이스를 핸들링하기 위한 방법과 데이터 캐리어
KR101699779B1 (ko) 플래시 메모리의 색인 방법
CN108376121B (zh) 一种Flash存储器的数据存储方法
KR100638638B1 (ko) 플래시 메모리의 제어 방법
JP2007501480A6 (ja) データベースを処理するための方法およびデータベースを処理するためのデータ担体
KR970004255B1 (ko) 병렬 디스크 상에서의 고속 데이타 갱신 방법
CN108415852B (zh) 一种Flash存储器的数据存取方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application