KR20060071085A - 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을위한 객체 저장소 관리 시스템 및 방법 - Google Patents

객체 기반 스토리지 시스템에서 고속의 데이터 입출력을위한 객체 저장소 관리 시스템 및 방법 Download PDF

Info

Publication number
KR20060071085A
KR20060071085A KR1020050048154A KR20050048154A KR20060071085A KR 20060071085 A KR20060071085 A KR 20060071085A KR 1020050048154 A KR1020050048154 A KR 1020050048154A KR 20050048154 A KR20050048154 A KR 20050048154A KR 20060071085 A KR20060071085 A KR 20060071085A
Authority
KR
South Korea
Prior art keywords
page
output
storage
area
data input
Prior art date
Application number
KR1020050048154A
Other languages
English (en)
Other versions
KR100622130B1 (ko
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 KR20060071085A publication Critical patent/KR20060071085A/ko
Application granted granted Critical
Publication of KR100622130B1 publication Critical patent/KR100622130B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems

Abstract

본 발명은 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 시스템 및 방법에 관한 것으로서, 객체 기반 스토리지 환경에서 고속의 데이터 입출력을 제공하기 위한 객체 저장소 관리 시스템, 객체를 저장 공간에 효율적으로 배치하고 관리하기 위하여 스토리지의 저장 공간을 논리적으로 구성하는 방법, 객체에 유일성을 부여하기 위해 객체 식별자를 구성하는 방법, 객체를 위한 공간을 효율적으로 할당하고 관리하는 방법, 객체 인터페이스를 통해 데이터 접근을 지원하는 방법, 객체 식별자 값을 이용한 단순 수식만으로 디스크에서 객체가 저장된 정보를 획득하여 객체에 빠르게 접근하는 방법 등을 통해, 객체 저장 서버에서 객체의 저장 및 관리 비용을 최소화할 수 있을 뿐만 아니라 클라이언트 요청에 대한 빠른 데이터 접근이 가능하다.
객체, 스토리지, 파일시스템, 저장시스템, 고속입출력

Description

객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 시스템 및 방법{CRASH RECOVERY SYSTEM AND METHOD FOR A DISTRIBUTED FILE SERVER USING OBJECT BASED STORAGE}
도 1은 객체 기반 스토리지 환경을 구성하는 시스템 구성요소의 실시예,
도 2는 본 발명이 적용되는 객체 기반 스토리지 환경에서, 객체 저장 서버를 구성하는 모듈 구조의 실시예,
도 3은 본 발명이 적용되는 객체 저장소에서 객체들이 저장될 구조를 논리적으로 구성하기 위한 실시예,
도 4는 본 발명이 적용되는 객체 저장소에서 새로운 객체가 저장될 공간을 할당하기 위한 시나리오의 실시예,
도 5는 본 발명이 적용되는 객체 저장소에서 객체의 식별자를 이용하여 고속으로 데이터를 획득하기 위한 방법의 실시예,
도 6은 영역 내 페이지 단편화를 해결하기 위해 페이지 재조정을 위한 방법의 실시예,
도 7은 본 발명이 적용되는 클라이언트 파일시스템과 객체 저장소간 데이터 교환을 위한 객체 기반 인터페이스의 실시예,
도 8은 본 발명이 적용되는 객체 저장소에서 새로운 객체를 생성하는 흐름도,
도 9는 본 발명이 적용되는 객체 저장소에서 객체를 삭제하는 흐름도,
도 10은 본 발명이 적용되는 객체 저장소에서 객체에 데이터를 기록하는 흐름도,
도 11은 본 발명이 적용되는 객체 저장소에서 객체로부터 데이터를 읽어오는 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
110 : 클라이언트 파일 시스템 120 : 메타데이터 서버
130 : 객체 저장 서버 210 : 객체 인터페이스 관리기
220 : 객체 관리기 230 : 접근 제어 관리기
240 : 객체 식별자 관리기 250 : 객체 저장소 구성 관리기
260 : 객체 입출력 관리기 270 : 디스크 장치
본 발명은 객체 기반 스토리지 시스템의 객체 저장소 관리 시스템 및 방법에 관한 것으로, 더욱 상세하게는 객체를 관리하기 위한 비용을 최소화하여 클라이언트 요청에 대해 빠른 데이터 접근성을 제공하는 객체 기반 스토리지 시스템에서 고 속의 데이터 입출력을 위한 객체 저장소 관리 시스템 및 방법에 관한 것이다.
인터넷의 광범위한 확산과 함께 인터넷을 이용한 서비스에 대한 요구가 기하 급수적으로 증가하고 있는 추세이며, 이러한 인터넷 서비스는 시간적, 공간적 제약을 받지 않고 사용자의 거주지 또는 다양한 업무공간에서 활용되기 위해 방대한 데이터의 처리를 필요로 한다. 이에 따라, 대부분의 인터넷 서비스 환경에서는 이러한 대량의 데이터를 효율적으로 처리하기 위해 DAS(Direct Attached Storage), NAS(Network Attached Storage), SAN(Storage Area Network)과 같은 스토리지 환경을 구성하여 사용하고 있다.
DAS는 블록기반의 스토리지 디바이스를 호스트 컴퓨터의 입출력 버스에 SCSI 혹은 IDE를 통하여 직접 연결한 구조이며, 고성능 및 강력한 데이터 보호 기능을 제공하지만 스토리지 디바이스의 확장에는 제약이 존재한다. NAS는 상이한 플랫폼을 갖는 호스트들에서 데이터 공유가 가능하도록 파일 서비스를 제공하기 위하여, 파일이 스토리지 디바이스에 어떻게 저장되었는지를 기술하는 메타데이터를 하나의 서버에서 모두 관리하는 구조이며, 모든 파일에 대한 입출력이 하나의 서버를 통하기 때문에 파일 서버에 병목 현상이 발생하는 문제가 있다. SAN은 스토리지 디바이스 연결성 제약과 스토리지 디바이스의 공유 문제를 해결하기 위한 구조이며, 보다 많은 클라이언트 호스트와 스토리지 디바이스를 지원하기 위해 빠르고, 확장성이 높은 상호 연결을 지원하는 구조이다. 그러나, SAN은 파일 시스템과 같은 스토리지 응용이 데이터를 공유하기 위해 서로 다른 플랫폼들에서 파일 시스템의 메타데이터를 이해할 수 있어야 하며, 별도의 고가 장비들이 필요로 하기 때문에 스토리지 확장성에 제한을 받는다.
이러한 문제를 해결하기 위해 최근에 이슈화되고 있는 객체 기반 스토리지 기술은 앞서 언급된 기존의 스토리지 시스템이 갖는 문제점을 해결할 수 있는 방법을 제시하고 있다. 즉, 객체 기반 스토리지 기술은 기존의 NAS와 SAN이 갖는 개념들을 객체 인터페이스를 통해 통합시키고, 고성능, 높은 확장성, 플랫폼간 데이터 공유 등을 만족시킨다.
이를 위해, 기존의 스토리지 환경에서 사용하던 데이터 처리 경로를 메타데이터 영역과 실제 데이터 영역으로 구분하였다. 즉, 전통적인 블록 기반의 파일 시스템은 사용자 구성요소와 스토리지 구성요소로 구분되는데, 사용자 구성요소는 파일(또는 디렉토리)과 같이 논리적인 데이터 구조와 그러한 정보에 접근할 수 있는 인터페이스를 응용 프로그램에게 제공하는 반면, 스토리지 구성요소는 파일(또는 디렉토리)을 물리적인 스토리지에 맵핑시키는 역할을 수행한다. 객체 기반 스토리지 시스템은 파일시스템의 사용자 구성요소를 메타데이터 서버에서 관리하고, 스토리지 구성요소가 갖는 기능을 객체 저장 서버에 오프로딩(offloading)시키고 블록 기반 인터페이스 대신 객체 기반 인터페이스를 제공한다.
그럼, 여기서 상기한 개념에 따르는 객체 기반 스토리지 환경의 시스템 구성요소에 대해 설명한다.
도 1은 객체 기반 스토리지 환경을 구성하는 시스템 구성요소의 실시예이다. 도 1에 도시된 바와 같이, 객체 기반 스토리지 환경에서는 클라이언트 파일 시스템(110), 메타데이터 서버(120), 객체 저장 서버(130)를 통해 데이터 입출력을 제공한다. 클라이언트 파일 시스템(110)은 사용자에게 객체에 접근하기 위한 인터페이스를 제공하며, 네트워크를 통하여 직접 객체 저장 서버(130)에 접근하여 고속의 데이터 접근이 가능하다. 메타데이터 서버(120)는 객체에 대한 메타데이터를 관리하며, 응용 클라이언트 파일 시스템(110)에서 파일 접근 요청에 대한 제어를 담당한다. 객체 저장 서버(130)는 객체의 데이터를 디스크 공간에 저장하고 관리하며 클라이언트 파일 시스템(110)으로부터 데이터 접근에 대한 서비스를 제공한다.
한편, 객체 저장 서버(130)에서 객체를 스토리지에 저장 및 관리하기 위해 EXT3, XFS와 같은 기존의 파일 시스템을 사용하는 방법이 일반적으로 고려되고 있다. 즉, 하나의 객체에 대응하는 하나의 파일을 생성하여 데이터를 저장하는 형태이다. 그러나, 이러한 파일 시스템을 사용할 경우 특정한 객체가 파일 시스템에서 어떤 파일에 해당하는지 판단하기 위한 별도의 매핑 테이블이 필요할 뿐만 아니라, 객체의 수가 기하급수적으로 증가할 경우 디렉토리 내에서 객체에 해당하는 특정 파일을 찾기 위한 파일시스템 내부의 자체적인 처리 비용이 증가하게 되어 객체 데이터에 대한 고속의 입출력을 제공할 수 없게 된다.
따라서, 객체 기반 스토리지 환경에서 객체 저장 서버(130)가 부가적인 비용 없이 객체의 실제 데이터만을 효율적으로 처리하여 고속의 입출력을 제공하기 위한 새로운 객체 기반 저장소 관리 기술이 필요하다.
따라서, 본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 객체 기반 스토리지 환경에서 고속의 데이터 입출력을 제공하기 위한 객체 저장소 관리 시스템, 객체를 저장 공간에 효율적으로 배치하고 관리하기 위하여 스토리지의 저장 공간을 논리적으로 구성하는 방법, 객체에 유일성을 부여하기 위해 객체 식별자를 구성하는 방법, 객체를 위한 공간을 효율적으로 할당하고 관리하는 방법, 객체 인터페이스를 통해 데이터 접근을 지원하는 방법, 객체 식별자 값을 이용한 단순 계산만으로 디스크에서 객체가 저장된 정보를 획득하여 객체에 빠르게 접근하는 방법 등을 통해 객체 저장 서버에서 객체의 저장 및 관리하기 위한 비용을 최소화하여 클라이언트 요청에 대한 빠른 데이터 접근이 가능하도록 하는 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 시스템 및 방법을 제공하는데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 시스템은 클라이언트 파일시스템, 메타데이터 서버, 객체 저장 서버가 네트워크로 상호 연결된 객체 기반 스토리지 시스템에 적용되는데, 본 발명의 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 시스템은, 상기 클라이언트 파일시스템의 객체 접근 요청에 대응하여 클라이언트의 요청을 접수하여 하위 모듈로 전달하는 객체 인터페이스 관리기; 클라이언트가 요청하는 서비스 형태에 따라 객체의 생성, 삭제, 기록 및 검색을 포함한 객체 연산을 관리하는 객체 관리기; 다수의 클라이언트 요청에 대해서 객체의 일관성을 유지시키는 접근 제어 관리기; 상기 객체 저장소에서 객체에 유일성을 부여하고 고속의 데이터 접근을 위한 객체 식별자를 관리하는 객체 식별자 관리기; 하기하는 디스크 장치에서의 논리적인 객체 저장 맵을 구성하고 관리하는 객체 저장소 구성 관리기; 커널 내에서 블록 장치에 접근하기 위한 메타데이터 연산들이 수행되는 방지하기 위해 상기 객체 관리기 및 객체 저장소 구성 관리기에서 디스크 장치로의 직접 접근을 위한 입출력 인터페이스를 제공하는 객체 입출력 관리기; 및 객체들을 저장하기 위한 공간을 제공하는 디스크 장치를 포함하는 것을 특징으로 한다.
한편, 본 발명의 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 방법은, 클라이언트 파일시스템, 메타데이터 서버, 객체 저장 서버가 네트워크로 상호 연결된 시스템에 적용되는데, 본 발명의 객체 기반 스토리 지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 방법은, 클라이언트 요청에 대해 고속의 데이터 입출력을 제공하기 위해, 전체 객체 저장 공간을 객체의 데이터가 저장될 공간인 객체 페이지 영역과 영역의 공간을 관리하는 프리 페이지 비트맵으로 구성하고, 전체 영역을 관리하기 위한 영역 카탈로그를 마련한 것을 특징으로 한다.
이하, 본 발명의 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 시스템 및 방법에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 2는 본 발명이 적용되는 객체 기반 스토리지 환경에서, 객체 저장 서버를 구성하는 모듈 구조의 실시예이다. 도 2에 도시된 바와 같이 본 발명에 따른 객체 저장 서버의 구성 예에 따르면, 본 발명이 적용되는 장치는 객체 저장소 내에서 고속의 데이터 입출력을 지원하기 위하여 객체 인터페이스 관리기(210), 객체 관리기(220), 접근 제어 관리기(230), 객체 식별자 관리기(240), 객체 저장소 구성 관리기(250), 객체 입출력 관리기(260), 디스크 장치(270)로 구성된다.
객체 인터페이스 관리기(210)는 클라이언트 파일시스템(110)에서 객체에 접근하기 위한 방법을 제공한다. 즉, 클라이언트 파일시스템(110)이 네트워크 프로토콜을 사용하여 객체의 접근을 요청하면 객체 인터페이스 관리기(210)에서 클라이언트의 요청을 접수하여 하위 모듈인 객체 관리기(220)로 전달한다.
객체 관리기(220)는 객체들에 대한 연산을 관리한다. 객체에 대한 연산은 클라이언트가 요청하는 서비스 형태에 따라 객체의 생성/삭제/기록/검색 등이 있다. 각각의 객체 연산은 독립적인 객체 식별자를 사용하여 수행되며, 독립적인 식별자 부여 정책을 통해 객체 저장소(130)에서 유일한 값으로 할당하여 객체간 충돌을 방지한다.
접근 제어 관리기(230)는 다수의 클라이언트 요청에 대해서 객체의 일관성 유지를 위하여 사용된다. 접근 제어 관리기(230)에서 제공하는 기법은 객체의 전체 영역 또는 일정 데이터 영역에 대해서 배타적 또는 공유 잠금을 설정함으로써 일관성을 보장한다.
객체 식별자 관리기(240)는 객체 저장소에서 객체에 유일성을 부여하고 고속의 데이터 접근을 위한 객체 식별자를 관리한다. 본 발명에 따른 객체 저장소의 객체 식별자는 64비트 크기로 표현되고 유일성을 구분하기 위해 꾸준히 증가하는 속성을 가지며, 식별자 관리를 위한 비용을 줄이기 위해 재사용은 허용하지 않는다.
객체 저장소 구성 관리기(250)는 디스크 장치(270)에서 객체들을 효율적으로 배치하고 고속의 데이터 입출력을 지원하기 위한 논리적인 객체 저장 맵을 구성하고 관리한다. 논리적인 객체 맵의 구성은 디스크를 일정 영역으로 구분하고 영역들을 관리하기 위한 카탈로그 페이지와 각 영역의 페이지 비트맵을 통하여 빠른 객체 의 할당 및 입출력을 지원한다.
객체 입출력 관리기(260)는 객체 관리기(220) 및 객체 저장소 구성 관리기(250)에서 디스크 장치(270)에 접근하기 위한 입출력 인터페이스를 제공한다.
디스크 장치(270)는 IDE또는 SCSI 장치와 연결된 디스크 장치로서 객체들을 저장하기 위한 공간을 제공한다.
도 3은 본 발명이 적용되는 객체 저장소에서 객체들이 저장될 구조를 논리적으로 구성하기 위한 실시예이다.
객체 저장소를 구성하는 본 실시예에 의하면, 객체 저장 서버에서 논리적인 저장 공간을 관리하기 위한 구조를 단순화함으로써 객체 접근에 필요한 부가적인 노력을 최소화한다. 이러한 저장 공간 단순화는 객체가 가진 의미요소(파일, 디렉토리와 같은)를 일체 고려하지 않고 객체 식별자와 객체의 데이터만을 관리하기 위한 구조를 제공한다. 예를 들어, EXT3와 같은 기존 파일 시스템의 경우 기본적으로 데이터 뿐만 아니라 데이터가 가지는 의미(파일, 디렉토리)를 함께 관리하는 저장 시스템이기 때문에, 데이터를 저장하기 위하여 superblock, block descriptor, block bitmap, inode bitmap, dir bitmap과 같은 정보들이 필수적으로 관리되어야 한다. 이러한 구조는 특정 파일 또는 디렉토리를 계층적으로 접근하는 응용에서는 적합하지만, 빠르게 객체 데이터에 대한 접근성을 제공하기 위한 저장 시스템으로 는 부적합하다.
그래서 본 발명에 따른 객체 저장 공간의 구성 예에 따르면, 도 3에 도시된 바와 같이 전체 객체 저장 공간을 일정 영역(320, 330)으로 구분하고, 전체 영역을 관리하기 위한 영역 카탈로그(area catalog, 310)를 필요로 한다. 각 영역(320, 330)은 객체의 데이터가 저장될 공간인 객체 페이지 영역(Object Page Area, 330)과 영역의 공간을 관리하는 프리 페이지 비트맵(Free Page Bitmap, 320)으로 구성한다. 객체 저장소를 각 영역으로 구분함으로써 객체에 대한 저장 공간 내의 객체 지역성을 부여하여 보다 빠른 데이터 입출력을 보장할 수 있으며, 저장 공간의 시작 부분에 영역 카탈로그(310)를 유지하여 효율적인 공간 관리를 제공한다.
프리 페이지 비트맵(320)은 각 객체들의 할당 여부를 비트 단위로 표현한다. 즉, Free Area Bitmap(320)에서의 각 비트들은 객체 페이지 영역(330)에서 각 객체 데이터가 저장될 페이지를 가리키며, 비트의 값에 따라 1로 설정된 비트에 해당되는 객체 페이지는 할당된 상태를 나타내고, 0으로 설정된 비트에 해당하는 페이지는 비어있는 상태를 나타낸다. 이러한 페이지 비트맵으로 인해 한 객체 페이지 영역(330)에서 사용 가능한 객체 페이지의 수는 비트맵의 크기에 비례하며, 저장 공간 초기화 과정에서 객체의 성격에 최적화 할 수 있는 비트맵 크기를 설정하는 것이 바람직하다.
객체 저장소를 구성하는 본 실시예에 의하면, 객체의 크기가 한 페이지 크기 를 초과하는 경우 초과하는 데이터를 위해 새로운 페이지를 할당하고 페이지의 헤더마다 다음 페이지의 위치를 기록하여 한 객체가 여러 개의 페이지를 통하여 데이터를 저장할 수 있도록 한다. 또한, 객체가 하나 이상의 페이지를 사용하는 경우에도 동일한 객체에 속하는 각각의 페이지들이 디스크 상에서 근접한 위치에 저장되어 있을 때 물리적으로 가장 최적화된 입출력 성능을 낼 수 있기 때문에, 이러한 페이지 지역성을 보장하기 위하여 새로운 페이지를 할당하는 과정에서 프리 페이지 비트맵(320)을 검사하여 할당되지 않은 페이지들 중에서 연속성을 가진 페이지들의 우선순위를 부여하고 우선 순위가 높은 페이지들을 우선적으로 할당한다. 그 이유는, 디스크에서 읽어올 I/O회수는 동일하다고 하더라도 접근하는 페이지가 디스크상에 산재해 있을 경우보다 물리적으로 인접해 있을수록 디스크 억세스 속도가 빨라지기 때문이다. 예를 들어, 10번의 디스크 I/O가 필요할 경우 물리적으로 10개의 블록이 인접해 있을 경우에는 1번의 실린더 회전시간에 10개의 블록을 읽을 수 있지만, 블록이 산재해 있다면 최악의 경우 10번의 실린더 회전이 소요될 수 있다.
따라서, 상기와 같은 페이지 지역성 보장 방법을 통하여 객체의 크기가 하나 이상의 페이지를 차지하는 경우에도 디스크상에 연속적으로 저장하도록 하여 고속의 데이터 입출력이 가능하다. 그러나, 객체에 대하여 빈번한 데이터 기록 및 삭제 과정이 반복될 경우 페이지 단편화가 발생할 수 있기 때문에 객체를 영구히 삭제할 경우 디스크 단편화 정보를 검사하고, 만일 단편화 정도가 임계치를 초과할 경우 객체 저장소 구성 관리기(250)에서 페이지 재조정을 수행하여 디스크 단편화 문제 를 해결한다.
객체 저장소를 구성하는 본 실시예에 의하면, 각 페이지 헤더의 가장 처음 부분에는 객체 식별자(OID ; Object IDentification, 350)가 명시되어 있다. 객체 식별자(350)는 다음과 같은 두 가지의 목적을 가진다. 첫째, 객체에 유일한 값을 부여하여 객체 저장소 내에서 독립성을 유지하고, 둘째, 객체가 물리적으로 저장된 위치를 식별자 값에 포함하여 객체 접근 시 불필요한 일체의 과정을 배제하고 곧바로 객체가 저장된 위치에 접근하여 고속의 데이터 입출력을 가능하게 한다. 이를 위해, 객체 식별자(350)의 구조를 영역 번호(area number), 페이지 번호(page number), 페이지 상수(page counter) 등을 포함하도록 구성한다. 따라서, 특정 객체에 접근하기 위한 별도의 부가적인 노력 없이 영역 번호와 페이지 번호만으로 디스크에서 객체의 위치를 단순 수식으로 획득할 수 있다. 페이지 상수는 페이지마다 유지하는 값으로 객체에 유일성을 부여하기 위해 계속해서 증가하는 값이며 재사용은 허용하지 않는다.
도 4는 본 발명이 적용되는 객체 저장소에서 새로운 객체가 저장될 공간을 할당하기 위한 시나리오의 실시예이다.
본 발명이 적용되는 객체 저장소에서 새로운 객체를 할당하는 방법에 따르면, 도 4에 도시된 바와 같이 새로운 객체를 할당하기 위해 3단계 절차(410, 420, 430)가 필요하다. 첫째, 영역 카탈로그(310)에서 객체가 저장될 영역을 판단하는 단계이며①, 각 영역들마다 할당 가능한 객체의 수, 페이지 단편화 정도 등을 고려하여 새로운 객체가 가장 최적화되어 저장될 수 있는 영역을 할당한다. 둘째, 선택된 영역에서 새로운 객체가 위치할 페이지를 판단하는 단계이며②, 연속적으로 비어 있는 페이지들의 우선순위를 고려하여 페이지 지역성을 높일 수 있도록 페이지를 할당한다. 셋째, 새로운 객체가 저장될 수 있도록 페이지를 초기화하고 객체의 식별자(440)를 생성하는 단계로서③, 객체 식별자를 생성할 때 영역 번호, 영역 내 페이지 번호, 페이지 상수 등을 포함할 수 있도록 한다④.
도 5는 본 발명이 적용되는 객체 저장소에서 객체의 식별자를 이용하여 고속으로 데이터를 획득하기 위한 방법의 실시예이다.
본 발명이 적용되는 객체 저장소에서 객체의 데이터를 고속으로 접근하기 위한 방법에 따르면, 도 5에 도시된 바와 같이 객체 식별자에 명시된 값을 통하여 객체가 저장된 위치를 찾기 위한 부가적인 노력 없이 단순 수식을 통하여 디스크 상의 객체가 저장된 위치에 곧바로 접근하여 데이터를 획득할 수 있다. 객체 식별자를 통하여 객체가 저장된 위치를 찾기 위한 방법(520)은 (영역 카탈로그 크기) + (영역 번호 * 영역 크기) + (비트맵 크기 + (페이지 번호 * 페이지 크기)) 와 같다①. 이러한 단순 수식을 이용하여 어느 객체에 대해서나 디스크 상에서 객체가 저장된 위치를 곧바로 접근하여 고속의 데이터 입출력이 가능하다②.
도 6 은 영역 내 페이지 단편화를 해결하기 위해 페이지 재조정을 위한 방법 의 실시예이다.
본 발명이 적용되는 객체 저장소에서 영역 내 페이지 단편화 해결을 위한 방법에 따르면, 객체의 빈번한 생성 및 삭제 과정이 반복되는 경우 페이지 단편화가 발생할 가능성이 크게 되어, 하나의 객체에 속하는 다수 페이지들이 물리적으로 떨어진 곳에 할당되고, 이로 인해 디스크 탐색시간이 길어지는 문제가 발생할 수 있다. 이를 해결하기 위해 페이지의 재조정 과정을 통해 페이지들의 지역성을 보장할 수 있어야 하며, 페이지가 재조정되는 시점은 객체들의 특성이 검색을 위주로 하는 경우는 임의의 객체가 삭제되는 시점이 적합하고, 객체들의 특성이 생성과 삭제가 빈번하게 발생하는 경우는 별도의 재조정 주기를 설정하여 일정 주기마다 페이지 재조정 작업을 하여 단편화 문제를 해결하는 것이 바람직하다.
예를 들어, 하나의 영역에서 세 개의 객체가 존재하고, 그 중에서 하나의 객체를 삭제할 때 페이지 재조정이 이루어지는 과정을 도 6과 함께 설명한다. 객체를 삭제하기 전(610)에는 객체1(640), 객체2(660),객체3(650)이 존재하고, 객체1(640)과 객체2(660)는 각각 4개, 3개의 페이지를 할당하여 데이터를 저장하고 있다. 이 페이지들은 모두 물리적으로 인접하지 않은 곳에 할당되어 있기 때문에 재조정이 필요하며, 객체3(650)이 삭제되고 난 후(620) 페이지 단편화 정도를 검사하여 각 객체단위로 페이지 지역성을 높일 수 있도록 할당된 페이지들의 이동 과정(630)이 필요하다. 페이지 위치를 조정하는 과정에서 객체에게 할당된 첫 번째 페이지는 이동하지 않는 것을 기본 원칙으로 한다. 그 이유는 객체에게 할당된 첫 번째 페이지 의 페이지 번호, 페이지 상수 등을 이용하여 객체 식별자를 부여하기 때문이다. 따라서, 첫 번째 페이지를 제외한 나머지 페이지 페이지들을 디스크상에 인접(670, 680)하도록 빈 공간으로 이동하여 객체에게 할당된 페이지들의 지역성을 높인다.
도 7은 본 발명이 적용되는 클라이언트 파일시스템(110)과 객체 저장소(130)간 데이터 교환을 위한 객체 기반 인터페이스의 실시예이다.
본 발명이 적용되는 객체 기반 스토리지 환경의 객체 저장소 운영에 따르면, 클라이언트 파일시스템이 객체 입출력 기법을 통하여 데이터를 획득하기 위한 방법을 정의한다. 이러한 객체 기반 인터페이스는 객체의 생성(710), 객체의 삭제(720), 객체의 끝에 데이터 추가(730), 객체의 데이터 변경(740), 객체의 데이터 읽기(750) 등과 같다.
본 발명이 적용되는 객체 기반 인터페이스에 따르면, 객체의 생성(610)을 제외한 모든 인터페이스는 객체의 생성시에 할당된 객체의 식별자를 통하여만 운용이 가능하다. 객체의 삭제(720)의 경우 객체 식별자가 가리키는 페이지가 속하는 프리 페이지 비트맵(Free Block Bitmap, 320)의 비트를 0으로 설정한다. 한번 삭제된 객체의 식별자는 객체 저장소에서 객체의 유일성을 보장하기 위해 다시는 재사용되지 않는다. 객체의 끝에 데이터 추가(730) 하는 경우 추가할 데이터의 크기에 따라 새로운 페이지를 할당할 가능성이 존재하며 이 경우 객체 저장소 구성 관리기(250)에서 가장 최적화된 빈 페이지를 할당하여 데이터를 추가한다.
도 8은 본 발명이 적용되는 객체 저장소에서 새로운 객체를 생성하는 흐름도이다.
도 8을 참조하면, 클라이언트 파일시스템이 네트워크를 통하여 새로운 객체를 생성하기 위해 OBJ_CREATE 명령을 요청하면(810) 객체 관리기가 새로운 객체가 위치할 공간을 할당하기 위해 객체 저장소 구성 관리기를 통하여 디스크상에 가용한 영역을 검색한다(820). 이를 위해, 영역 카탈로그에서 각 영역들의 할당 가능한 객체 수, 페이지 단편화 정도를 판단하여 새로운 객체가 위치할 영역을 선택한다(830). 그러나, 가용한 영역이 선택되었음에도 불구하고 다수의 클라이언트가 동시에 동일한 영역을 접근하는 경우 프리 페이지 비트맵을 선점한 클라이언트에 의해 가용한 페이지가 존재하지 않을 수 있으며, 이 경우 다시 영역 카탈로그 정보를 비교하여 가용한 영역을 결정한다(840). 가용한 영역이 선택되면 프리 페이지 비트맵을 획득하여 객체에게 할당할 페이지를 선택한다. 이 때에는 페이지들의 우선순위를 비교하여 객체의 데이터가 물리적으로 인접한 곳에 기록될 수 있도록 우선 순위가 높은 페이지를 새로운 객체에게 할당한다(850). 이후, 할당한 페이지를 초기화하고(860), 페이지 상수를 증가시켜(870) 새로운 객체에게 부여할 객체 식별자를 생성한다(880).
도 9는 본 발명이 적용되는 객체 저장소에서 객체를 삭제하는 흐름도이다.
도 9를 참조하면, 클라이언트 파일시스템이 네트워크를 통하여 객체를 삭제하기 위해 OBJ_REMOVE 명령을 요청하면(910) 객체 관리기가 객체의 식별자를 검사 하여 삭제할 객체의 영역 번호와 페이지 번호를 획득한다(920∼930). 이후 해당 영역으로 이동하여 프리 페이지 비트맵을 검사하여(940) 객체에 대한 비트가 1 인가를 판별하고(950), 객체에 대한 비트가 1 일 경우에 다음으로 프리 페이지 비트맵에서 객체에 속하는 페이지의 비트를 0 으로 설정하여 객체의 삭제를 완료한다(960). 만약, 객체가 두 개 이상의 페이지로 구성된 경우 모든 페이지들에 대해 프리 페이지 비트맵을 0 으로 설정한다(970∼980). 객체의 삭제가 완료되면, 영역의 페이지 단편화 정도를 고려하여 만약 단편화 지수가 임계치 이상인 경우 페이지 재조정 과정을 수행한다. 한편, 상기 단계 950에서 객체에 대한 비트가 1 이 아닐 경우에는 삭제할 객체가 존재하지 않음을 의미한다(990).
도 10은 본 발명이 적용되는 객체 저장소에서 객체에 데이터를 기록하는 흐름도이다.
도 10을 참조하면, 클라이언트 파일시스템이 네트워크를 통하여 객체에 데이터를 기록하기 위해 OBJ_WRITE 명령을 요청하면(1010) 객체 관리기가 객체의 식별자를 검사하여 삭제할 객체의 영역 번호와 페이지 번호를 획득한다(1020∼1030). 이후 클라이언트가 명시한 데이터 기록 위치를 계산하여 다음과 같은 세가지 항목에 대하여 검증을 수행한다(1040). 첫째, 데이터를 기록할 위치가 현 객체의 페이지에 속하는지 검사한다(1050). 객체가 두 개 이상의 페이지로 구성되어 있고 기록 위치가 두 번째 이상의 페이지에 속할 수 있는 경우 해당 페이지로 이동한다(1080). 둘째, 데이터의 크기를 비교하여 현재 페이지의 크기를 초과하는지 검사한 다(1060). 만일 기록할 데이터의 크기가 페이지의 크기를 초과하는 경우 현 페이지에 가용한 데이터를 기록하고 다음 페이지에 남은 데이터를 기록한다(1070). 셋째, 기록할 데이터의 크기를 비교하여 새로운 페이지를 할당해야 하는지 검사한다(1061). 이 경우 프리 페이지 비트맵으로부터 새로운 페이지를 할당받고(1062) 다음 객체 페이지로 이동하여(1063) 데이터를 새로운 페이지에 기록하는 과정으로 진행한다.
도 11 은 본 발명이 적용되는 객체 저장소에서 객체로부터 데이터를 읽어오는 흐름도이다.
도 11을 참조하면, 클라이언트 파일시스템이 네트워크를 통하여 객체로부터 데이터를 읽어오기 위해 OBJ_READ 명령을 요청하면(1110) 객체 관리기가 객체의 식별자를 검사하여 삭제할 객체의 영역 번호와 페이지 번호를 획득한다(1120∼1130). 이후 클라이언트 파일시스템이 명시한 데이터의 읽을 시작 위치를 계산하여(1140) 이에 해당하는 페이지로 이동한다. 만일 읽을 데이터가 현재 페이지에 속하는가를 판별하여(1150) 현재 페이지에 속할 경우에는 객체의 데이터를 읽고(1160), 이어서 읽을 데이터가 남아 있는가를 판별하여(1170) 읽을 데이터가 남아 있을 경우에는 다음 객체 블록으로 이동한다(1180). 물론, 상기 단계 1150에서도 읽을 위치가 현 페이지에 속하지 않을 경우에도 다음 객체 블록으로 이동한다(1180). 이와 같이, 읽을 데이터가 여러 개의 페이지에 속하는 경우 각 페이지들을 차례로 접근하여 데이터를 읽어온다.
이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다.
상술한 바와 같이, 본 발명에 의한 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 시스템 및 방법은, 객체 기반 스토리지 환경에서 객체를 저장하기 위한 객체 저장 서버의 효율적인 관리 방법을 통하여, 다양한 응용 소프트웨어가 운영되는 서버, VoD서버 또는 스토리지 임대 서비스와 같이 대량의 데이터 전송이 필요한 운영환경, 고성능의 데이터 입출력이 요구되는 클러스터링 컴퓨터 등의 파일 시스템 및 스토리지 플랫폼으로 활용되어 안정적이고 빠른 데이터 서비스를 제공할 수 있다.

Claims (10)

  1. 클라이언트 파일시스템, 메타데이터 서버, 객체 저장 서버가 네트워크로 상호 연결된 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 시스템에 있어서,
    상기 클라이언트 파일시스템의 객체 접근 요청에 대응하여 클라이언트의 요청을 접수하여 하위 모듈로 전달하는 객체 인터페이스 관리기;
    클라이언트가 요청하는 서비스 형태에 따라 객체의 생성, 삭제, 기록 및 검색을 포함한 객체 연산을 관리하는 객체 관리기;
    다수의 클라이언트 요청에 대해서 객체의 일관성을 유지시키는 접근 제어 관리기;
    상기 객체 저장소에서 객체에 유일성을 부여하고 고속의 데이터 접근을 위한 객체 식별자를 관리하는 객체 식별자 관리기;
    하기하는 디스크 장치에서의 논리적인 객체 저장 맵을 구성하고 관리하는 객체 저장소 구성 관리기;
    상기 객체 관리기 및 객체 저장소 구성 관리기에서 디스크 장치로의 직접 접근을 위한 입출력 인터페이스를 제공하는 객체 입출력 관리기; 및
    객체들을 저장하기 위한 공간을 제공하는 디스크 장치
    를 포함하는 것을 특징으로 하는 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 시스템.
  2. 제 1 항에 있어서, 상기 객체 관리기에서의 객체 연산은 독립적인 객체 식별자를 사용하여 수행되며, 독립적인 식별자 부여 정책을 통해 객체 저장소에서 유일한 값으로 할당하여 객체간 충돌을 방지하는 것을 특징으로 하는 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 시스템.
  3. 제 1 항에 있어서, 상기 객체 저장소의 객체 식별자는 64비트 크기로 표현되고, 유일성을 구분하기 위해 꾸준히 증가하는 속성을 가지며, 재사용을 방지하는 것을 특징으로 하는 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 시스템.
  4. 제 1 항에 있어서, 상기 논리적인 객체 저장 맵은 디스크 장치를 일정 영역으로 구분하고 영역들을 관리하기 위한 카탈로그 페이지와 각 영역의 페이지 비트맵으로 이루어진 것을 특징으로 하는 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 시스템.
  5. 클라이언트 파일시스템, 메타데이터 서버, 객체 저장 서버가 네트워크로 상호 연결된 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 방법에 있어서,
    클라이언트 요청에 대해 고속의 데이터 입출력을 제공하기 위해, 전체 객체 저장 공간을 객체의 데이터가 저장될 공간인 객체 페이지 영역과 영역의 공간을 관리하는 프리 페이지 비트맵으로 구성하고, 전체 영역을 관리하기 위한 영역 카탈로그를 마련한 것을 특징으로 하는 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 방법.
  6. 제 5 항에 있어서, 상기 객체 저장 공간의 구성 방법은,
    상기 객체 저장 공간에 대해 논리적인 구성시에 디스크 공간을 논리적인 영역들로 구분하는 단계;
    상기 논리적으로 구분한 각 영역들의 정보를 영역 카탈로그에 유지하는 2단계; 및
    각 영역마다 한 페이지 공간에 영역의 프리 페이지 비트맵을 구성하여 객체의 저장 및 관리를 위한 페이지의 빠른 할당 및 관리를 지원하는 단계
    로 이루어진 것을 특징으로 하는 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 방법.
  7. 제 6 항에 있어서, 상기 객체 저장 공간의 할당은,
    클라이언트가 객체 생성을 위한 명령어를 요청하여 새로운 객체가 저장될 페이지를 할당할 경우에, 상기 영역 카탈로그를 검사하여 각 영역마다 할당 가능한 객체 수, 페이지 단편화 정도를 검사하여 가장 최적화된 영역을 선택하는 단계; 및
    페이지 지역성을 증가시키기 위해 상기 선택된 영역 내에서 연속적으로 할당 되지 않은 페이지들의 우선 순위가 높은 순으로 객체 공간을 할당하는 단계
    로 이루어진 것을 특징으로 하는 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 방법.
  8. 제 6 항에 있어서, 상기 객체에 대해 생성된 객체에 고유의 식별자를 부여할 경우에, 객체에게 유일한 값을 부여하고 빠른 데이터 접근을 제공하기 위하여 영역번호, 페이지번호, 페이지상수를 조합하여 객체 식별자를 구성하는 것을 특징으로 하는 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 방법.
  9. 제 8 항에 있어서, 상기 객체 식별자를 사용하여 객체의 데이터에 접근할 때, 영역번호, 페이지번호, 페이지상수의 연산에 의해 디스크상에 객체가 저장된 위치로 접근이 이루어지는 것을 특징으로 하는 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 방법.
  10. 제 6 항에 있어서, 빈번한 객체의 생성 삭제로 인하여 페이지 단편화 정도가 임계치를 초과하였을 경우에, 객체에게 할당된 전체 페이지들 중에서 첫 번째 페이지를 제외한 나머지 페이지들을 디스크상에서 물리적으로 인접한 곳에 저장시키는 것을 특징으로 하는 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 위한 객체 저장소 관리 방법.
KR1020050048154A 2004-12-21 2005-06-07 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을위한 객체 저장소 관리 시스템 및 방법 KR100622130B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040109923 2004-12-21
KR20040109923 2004-12-21

Publications (2)

Publication Number Publication Date
KR20060071085A true KR20060071085A (ko) 2006-06-26
KR100622130B1 KR100622130B1 (ko) 2006-09-19

Family

ID=37164635

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050048154A KR100622130B1 (ko) 2004-12-21 2005-06-07 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을위한 객체 저장소 관리 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR100622130B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100772455B1 (ko) * 2005-06-22 2007-11-01 한국전자통신연구원 Dac 강화를 위한 프로세스 분류/실행 제어 장치 및 방법
KR100785774B1 (ko) * 2005-12-08 2007-12-18 한국전자통신연구원 객체 기반 파일 입출력 시스템 및 방법
KR100843075B1 (ko) * 2006-05-29 2008-07-03 삼성전자주식회사 데이터를 관리하는 장치 및 방법
KR100877063B1 (ko) * 2006-05-29 2009-01-07 삼성전자주식회사 데이터를 관리하는 장치 및 방법
KR100912127B1 (ko) * 2006-12-04 2009-08-13 한국전자통신연구원 메타데이터 관리 시스템 및 메타데이터 관리 방법
KR100912129B1 (ko) * 2006-12-04 2009-08-13 한국전자통신연구원 객체 파일 시스템을 이용한 비정형 데이터 관리 방법 및장치
KR100977159B1 (ko) * 2007-12-14 2010-08-20 한국전자통신연구원 데이터 서버 주소의 변경과 디스크 이동에 투명한 파일메타데이터 관리 방법 및 시스템
KR101154799B1 (ko) * 2007-12-20 2012-06-18 야후! 인크. 전역 트래픽 부하 균형화를 위하여 클라이언트 위치 및 리졸버 부하를 결정하는 dns 와일드카드 비컨화

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101979715B1 (ko) 2012-09-28 2019-05-17 삼성전자 주식회사 컴퓨팅 시스템 및 그 데이터 관리 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100417569B1 (ko) * 2000-12-08 2004-02-05 학교법인 인하학원 메타데이터 교환표준을 이용한 분산 이종 데이터베이스검색방법
KR20020048122A (ko) * 2000-12-16 2002-06-22 구자홍 서버의 오브젝트 레지스트리를 통한 데이터베이스접근장치 및 그 방법
KR100520301B1 (ko) * 2001-10-13 2005-10-13 한국전자통신연구원 객체관계형 데이터베이스 관리 시스템 및 그것의 클래스인스턴스 삭제 방법
US7043490B2 (en) * 2002-03-05 2006-05-09 International Business Machines Corporation Method, system, and program product to support multiple content-management data models
KR100492167B1 (ko) * 2003-09-09 2005-06-02 학교법인 인하학원 비공유 구조의 데이터베이스 클러스터 서버 시스템과온라인 확장 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100772455B1 (ko) * 2005-06-22 2007-11-01 한국전자통신연구원 Dac 강화를 위한 프로세스 분류/실행 제어 장치 및 방법
KR100785774B1 (ko) * 2005-12-08 2007-12-18 한국전자통신연구원 객체 기반 파일 입출력 시스템 및 방법
KR100843075B1 (ko) * 2006-05-29 2008-07-03 삼성전자주식회사 데이터를 관리하는 장치 및 방법
KR100877063B1 (ko) * 2006-05-29 2009-01-07 삼성전자주식회사 데이터를 관리하는 장치 및 방법
KR100912127B1 (ko) * 2006-12-04 2009-08-13 한국전자통신연구원 메타데이터 관리 시스템 및 메타데이터 관리 방법
KR100912129B1 (ko) * 2006-12-04 2009-08-13 한국전자통신연구원 객체 파일 시스템을 이용한 비정형 데이터 관리 방법 및장치
KR100977159B1 (ko) * 2007-12-14 2010-08-20 한국전자통신연구원 데이터 서버 주소의 변경과 디스크 이동에 투명한 파일메타데이터 관리 방법 및 시스템
KR101154799B1 (ko) * 2007-12-20 2012-06-18 야후! 인크. 전역 트래픽 부하 균형화를 위하여 클라이언트 위치 및 리졸버 부하를 결정하는 dns 와일드카드 비컨화

Also Published As

Publication number Publication date
KR100622130B1 (ko) 2006-09-19

Similar Documents

Publication Publication Date Title
TWI778157B (zh) 固態驅動器、分散式資料儲存系統和利用鍵值儲存的方法
KR100622130B1 (ko) 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을위한 객체 저장소 관리 시스템 및 방법
US8285967B1 (en) Method for on-demand block map generation for direct mapped LUN
US8312242B2 (en) Tracking memory space in a storage system
US8793466B2 (en) Efficient data object storage and retrieval
US9612768B2 (en) Methods and systems for storing data at different storage tiers of a storage system
US8645662B2 (en) Sub-lun auto-tiering
US8219639B2 (en) Storage area network file system
US8621174B2 (en) Relocating data within a file system
US10248623B1 (en) Data deduplication techniques
US8650381B2 (en) Storage system using real data storage area dynamic allocation method
US9176677B1 (en) Virtual provisioning space reservation
US8996490B1 (en) Managing logical views of directories
EP2211263A2 (en) Storage subsystem and storage system architecture performing storage virtualization and method thereof
US9355121B1 (en) Segregating data and metadata in a file system
US8694563B1 (en) Space recovery for thin-provisioned storage volumes
US20140019706A1 (en) System and method of logical object management
US9430492B1 (en) Efficient scavenging of data and metadata file system blocks
US8046391B2 (en) Storage apparatus and its file control method and storage system
US20180074725A1 (en) Methods and systems for efficiently storing data at a plurality of storage tiers using a transfer data structure
US7424574B1 (en) Method and apparatus for dynamic striping
US9934140B1 (en) Allocating blocks in storage systems
JP6022116B1 (ja) 階層化ストレージシステム、ストレージコントローラ及びレプリケーション初期化方法
CN114360607A (zh) 存储控制器、存储装置和存储装置的操作方法
KR100785774B1 (ko) 객체 기반 파일 입출력 시스템 및 방법

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

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee