KR100753831B1 - Object data storage system and method to enhance IO performance in object storage system - Google Patents
Object data storage system and method to enhance IO performance in object storage system Download PDFInfo
- Publication number
- KR100753831B1 KR100753831B1 KR1020060033204A KR20060033204A KR100753831B1 KR 100753831 B1 KR100753831 B1 KR 100753831B1 KR 1020060033204 A KR1020060033204 A KR 1020060033204A KR 20060033204 A KR20060033204 A KR 20060033204A KR 100753831 B1 KR100753831 B1 KR 100753831B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- window
- client
- object prefetch
- prefetch window
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
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)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 객체 기반 스토리지 시스템에서 고속의 객체 입출력 처리 장치 및 방법에 관한 것으로, 메모리에 일정 영역의 객체 프리페치 윈도우를 생성하는 윈도우 생성부와 클라이언트의 데이터 접근 요청에 해당하는 디스크 상의 데이터 크기가 상기 객체 프리페치 윈도우보다 크면 상기 객체 프리페치 윈도우의 영역을 확장하는 윈도우 제어부 및 상기 확장 전의 객체 프리페치 윈도우의 크기에 해당하는 상기 디스크 상의 데이터의 일부분을 상기 확장 전의 객체 프리페치 윈도우에 적재하고, 상기 확장 전의 객체 프리페치 윈도우에 적재된 데이터의 일부분을 상기 클라이언트에 제공중에 상기 객체 프리페치 윈도우의 확장된 영역에 상기 디스크 상의 데이터의 나머지 부분을 적재하는 데이터 적재부로 구성되어, 객체 기반 스토리지 환경에서 고속의 데이터 입출력을 제공한다.The present invention relates to a fast object input and output processing apparatus and method in an object-based storage system, the window generation unit for generating an object prefetch window of a certain area in the memory and the data size on the disk corresponding to the data access request of the client If larger than an object prefetch window, a window controller for expanding an area of the object prefetch window and a portion of data on the disk corresponding to the size of the object prefetch window before expansion are loaded into the object prefetch window before expansion. A data loader which loads the rest of the data on the disk in the extended area of the object prefetch window while providing a portion of the data loaded in the object prefetch window before expansion to the client, thereby providing a high speed in the object-based storage environment. Provide data input and output.
객체 프리페치 윈도우, 클라이언트, 고속의 데이터 입출력 Object Prefetch Window, Client, Fast Data I / O
Description
도 1 은 객체 기반 스토리지 환경을 구성하는 시스템 구성요소의 실시 예이다.1 is an embodiment of a system component constituting an object-based storage environment.
도 2 은 본 발명의 바람직한 실시예에 따른 객체 저장 관리 시스템을 구성하는 시스템 구성요소를 나타내는 도면이다.2 is a diagram showing system components constituting the object storage management system according to a preferred embodiment of the present invention.
도 3 은 본 발명의 바람직한 실시예에 따른 객체 프리페치 윈도우의 구성요서를 나타내는 도면이다.3 is a diagram illustrating a configuration of an object prefetch window according to a preferred embodiment of the present invention.
도 4 는 본 발명의 바람직한 실시예에 따른 객체 프리페치 윈도우의 상태변화에 따른 흐름도이다. 4 is a flowchart illustrating a state change of an object prefetch window according to an exemplary embodiment of the present invention.
도 5 는 본 발명의 바람직한 실시예에 따른 객체 프리페치 윈도우 영역의 블럭들을 객체 캐쉬에 적재하기 위한 방법을 나타내는 도면이다.5 is a diagram illustrating a method for loading blocks of an object prefetch window area into an object cache according to an exemplary embodiment of the present invention.
도 6 은 본 발명의 바람직한 실시예에 따른 클라이언트의 객체 데이터 요청에 대해 객체 프리페치 윈도우를 통해서 관리하는 흐름도이다.6 is a flowchart of managing an object data request of a client through an object prefetch window according to a preferred embodiment of the present invention.
도 7 은 본 발명의 바람직한 실시예에 따른 객체 저장 관리 시스템의 블록도이다.7 is a block diagram of an object storage management system according to a preferred embodiment of the present invention.
도 8 은 본 발명에 따른 객체 프리페치 윈도우를 통하여 클라이언트에게 객체 데이터를 제공하는 방법에 대한 흐름도의 일 예이다.8 is an example of a flowchart of a method for providing object data to a client through an object prefetch window according to the present invention.
도 9 는 본 발명에 따른 객체 프리페치 윈도우를 관리하는 방법에 대한 흐름도의 일 예이다.9 is an example of a flowchart of a method of managing an object prefetch window according to the present invention.
도 10 는 객체 프리페치 윈도우의 상태변화에 대한 흐름도의 일 예이다.10 is an example of a flowchart for a state change of an object prefetch window.
본 발명은 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 제공하는 방법에 관한 것으로, 보다 상세하게는 객체 프리페치 윈도우를 생성, 확장, 축소, 병합, 제거하는 과정을 통하여 디스크 상의 객체 데이터를 메모리로 적재하여 네트워크 환경에서 고속의 데이터 입출력을 지원하는 객체 저장 관리 장치 및 방법에 관한 것이다.The present invention relates to a method for providing high-speed data input / output in an object-based storage system, and more particularly, to load object data on a disk into a memory by creating, expanding, reducing, merging, and removing an object prefetch window. An object storage management apparatus and method for supporting high-speed data input and output in a network environment.
대부분의 인터넷 서비스 환경에서는 이러한 대량의 데이터를 효율적으로 처리하기 위해 DAS, NAS, SAN과 같은 스토리지 환경을 구성하여 사용하고 있다.Most Internet service environments use storage environments such as DAS, NAS, and SAN to efficiently process such a large amount of data.
DAS는 블록기반의 스토리지 디바이스를 호스트 컴퓨터의 입출력 버스에 SCSI 혹은 IDE를 통하여 직접 연결한 구조이며, 고성능 및 강력한 데이터 보호 기능을 제공하지만 스토리지 디바이스의 확장에는 제약이 존재한다.DAS connects block-based storage devices directly to the host computer's input and output buses via SCSI or IDE, and provides high performance and robust data protection, but there are limitations to the expansion of storage devices.
NAS는 상이한 플랫폼을 갖는 호스트들에서 데이터 공유가 가능하도록 파일 서비스를 제공하기 위하여, 파일이 스토리지 디바이스에 어떻게 저장되었는지를 기 술하는 메타데이터를 하나의 서버에서 모두 관리하는 구조이며, 모든 파일에 대한 입출력이 하나의 서버를 통하기 때문에 파일 서버에 병목 현상이 발생하는 문제가 있다. NAS is a structure that manages all metadata in one server, which describes how files are stored in the storage device in order to provide file services to enable data sharing among hosts with different platforms. Since I / O passes through one server, there is a problem that the file server is a bottleneck.
SAN은 스토리지 디바이스 연결성 제약과 스토리지 디바이스의 공유 문제를 해결하기 위한 구조이며, 보다 많은 클라이언트 호스트와 스토리지 디바이스를 지원하기 위한 빠르고, 확장성이 높은 상호 연결을 지원하는 구조이다. 그러나, SAN은 파일 시스템과 같은 스토리지 응용이 데이터를 공유하기 위해 서로 다른 플랫폼들에서 파일 시스템의 메타데이터를 이해할 수 있어야 하며, 별도의 고가 장비들이 필요로 하기 때문에 스토리지 확장성에 제한을 받는다. SANs are designed to address storage device connectivity constraints and storage device sharing issues, and to support fast, scalable interconnects to support more client hosts and storage devices. However, SANs must be able to understand the file system's metadata on different platforms in order for storage applications such as file systems to share data, and are limited by storage scalability because separate expensive devices are required.
이러한 문제를 해결하기 위해 최근에 이슈화되고 있는 객체 기반 스토리지 기술은 앞서 언급된 기존의 스토리지 시스템이 갖는 문제점을 해결할 수 있는 방법을 제시하고 있다. 즉, 객체 기반 스토리지 기술은 기존의 NAS와 SAN이 갖는 개념들을 객체 인터페이스를 통해 통합시키고, 고성능, 높은 확장성, 플랫폼간 데이터 공유 등을 만족시킨다. Recently, the object-based storage technology, which has been recently issued to solve this problem, suggests a method to solve the problems of the aforementioned storage system. In other words, object-based storage technology integrates existing NAS and SAN concepts through object interfaces, and satisfies high performance, high scalability, and cross-platform data sharing.
그러나, 객체 기반 스토리지 환경에 최적화된 객체 기반 저장 시스템의 경우에도 객체의 데이터가 물리적인 디스크에 저장되기 때문에, 메모리에 비해서 상대적으로 느린 속도의 디스크 접근으로 인해 성능 저하가 불가피한 문제점이 있다.However, even in an object-based storage system optimized for an object-based storage environment, since data of an object is stored on a physical disk, performance degradation is inevitable due to a relatively slow disk access compared to memory.
본 발명이 이루고자 하는 기술적 과제는, 객체 기반 스토리지 환경에서 객체 저장 서버에 저장된 객체 데이터를 효과적으로 프리페치하여 고속의 데이터의 입출 력을 제공하는 객체 저장 관리 장치 및 방법을 제공하는데 있다.An object of the present invention is to provide an object storage management apparatus and method for providing a high-speed data input and output by effectively prefetching the object data stored in the object storage server in the object-based storage environment.
본 발명이 이루고자 하는 기술적 과제는, 객체 저장 관리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 있다.SUMMARY OF THE INVENTION The present invention has been made in an effort to provide a computer-readable recording medium having recorded thereon a program for executing an object storage management method on a computer.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 객체 저장 관 리 시스템의 일 실시예로, 클라이언트의 데이터 접근 요청을 접수하고 상기 클라이언트가 요청한 데이터를 상기 클라이언트에게 전송하는 통신관리기; 상기 클라이언트가 요청하는 데이터를 디스크 상에 저장, 삭제 및 검색하는 객체 저장 관리기; 상기 클라이언트가 요청한 데이터가 메모리 상에 기적재된 경우 상기 적재된 데이터를 상기 클라이언트에게 전송하는 객체 캐쉬 관리기; 상기 클라이언트가 요청한 데이터의 일부분을 상기 메모리에 적재되도록 영역을 할당하고 상기 메모리 상에 적재된 데이터를 상기 클라이언트에게 제공 중에 상기 메모리의 영역을 확장하여 상기 데이터의 나머지 부분을 적재하는 객체 프리페치 관리기; 및 상기 디스크 상에 저장된 상기 데이터를 상기 객체 프리페치 관리기가 요청하는 상기 메모리 영역에 따른 상기 데이터를 전송하는 객체 입출력 관리기를 포함한다.In one embodiment of the object storage management system according to the present invention for solving the technical problem, a communication manager for receiving a data access request of the client and transmits the data requested by the client to the client; An object storage manager for storing, deleting, and retrieving data requested by the client on a disk; An object cache manager which transmits the loaded data to the client when the data requested by the client is loaded on the memory; An object prefetch manager for allocating an area so that a portion of data requested by the client is loaded into the memory, and expanding the area of the memory to load the remaining portion of the data while providing the data loaded on the memory to the client; And an object input / output manager configured to transmit the data according to the memory area in which the object prefetch manager requests the data stored on the disk.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 객체 저장 관리 장치의 일 실시예로, 메모리에 일정 영역의 객체 프리페치 윈도우를 생성하는 윈도우 생성부; 클라이언트의 데이터 접근 요청에 해당하는 디스크 상의 데이터 크기가 상기 객체 프리페치 윈도우보다 크면 상기 객체 프리페치 윈도우의 영역을 확장하는 윈 도우 제어부; 및 상기 확장 전의 객체 프리페치 윈도우의 크기에 해당하는 상기 디스크 상의 데이터의 일부분을 상기 확장 전의 객체 프리페치 윈도우에 적재하고, 상기 확장 전의 객체 프리페치 윈도우에 적재된 데이터의 일부분을 상기 클라이언트에 제공중에 상기 객체 프리페치 윈도우의 확장된 영역에 상기 디스크 상의 데이터의 나머지 부분을 적재하는 데이터 적재부를 포함한다.According to an embodiment of the present invention, there is provided an apparatus for managing object storage, comprising: a window generating unit generating an object prefetch window of a predetermined area in a memory; A window controller configured to expand an area of the object prefetch window when a data size on a disk corresponding to a data access request of a client is larger than the object prefetch window; And loading a portion of data on the disk corresponding to the size of the object prefetch window before expansion into the object prefetch window before expansion and providing the client with a portion of data loaded in the object prefetch window before expansion. And a data loader for loading the rest of the data on the disk in the extended area of the object prefetch window.
상기의 기술적 과제를 해결하기 위한 본 발명에 따른 객체 저장 관리 방법의 일 실시예로, 메모리에 일정 영역의 객체 프리페치 윈도우를 생성하는 단계; 클라이언트의 데이터 접근 요청에 해당하는 디스크 상의 데이터 크기가 상기 객체 프리페치 윈도우보다 크면 상기 객체 프리페치 윈도우의 영역을 확장하는 단계; 및 상기 확장 전의 객체 프리페치 윈도우의 크기에 해당하는 상기 디스크 상의 데이터의 일부분을 상기 확장 전의 객체 프리페치 윈도우에 적재하고, 상기 확장 전의 객체 프리페치 윈도우에 적재된 데이터의 일부분을 상기 클라이언트에 제공중에 상기 객체 프리페치 윈도우의 확장된 영역에 상기 디스크 상의 데이터의 나머지 부분을 적재하는 단계를 포함한다.According to an embodiment of the present invention, there is provided a method of managing object storage, the method including: generating an object prefetch window of a predetermined area in a memory; Expanding an area of the object prefetch window if the data size on the disk corresponding to the data access request of the client is larger than the object prefetch window; And loading a portion of data on the disk corresponding to the size of the object prefetch window before expansion into the object prefetch window before expansion and providing the client with a portion of data loaded in the object prefetch window before expansion. Loading the remaining portion of data on the disk into an extended area of the object prefetch window.
또한, 본 발명에 의한 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을 제공하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 포함한다.The present invention also includes a computer-readable recording medium having recorded thereon a program for executing a method of providing a high speed data input / output in a computer in an object-based storage system according to the present invention.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.
도 1 은 객체 기반 스토리지 환경을 구성하는 시스템 구성요소의 실시 예이 다. 도 1를 참조하면, 객체 기반 스토리지 시스템은 클라이언트 파일 시스템(110), 메타데이터 서버(120) 및 객체 저장 서버(130)을 포함하여 구성된다.1 is an embodiment of a system component constituting an object-based storage environment. Referring to FIG. 1, an object-based storage system includes a
객체 기반 스토리지 환경에서는 클라이언트 파일 시스템(110), 메타데이터 서버(120), 객체 저장 서버(130)들이 네트워크를 통해 교신하면서 데이터의 입출력을 제공한다.In the object-based storage environment, the
객체 저장 서버(130)는 스토리지 장치에 저장된 객체의 데이터를 읽어 클라이언트 파일 시스템(110)에게 반환한다. The
객체 저장 서버(130)는 객체를 스토리지 공간에 효율적으로 저장 및 관리하기 위해 전용의 객체 기반 저장 시스템을 제공한다. The
도 2 는 본 발명의 바람직한 실시예에 따른 객체 저장 관리 시스템을 구성하는 시스템 구성요소를 나타내는 도면이다. 도 2를 참조하면, 본 발명에 따른 객체 저장 관리 장치는 통신 관리기(231), 객체 저장 관리기(232), 객체 캐쉬 관리기(233), 객체 프리페치 관리기(234), 객체 입출력 관리기(235) 및 디스크 장치(240)를 포함하여 구성된다.2 is a diagram illustrating system components constituting an object storage management system according to a preferred embodiment of the present invention. 2, the object storage management apparatus according to the present invention includes a
통신 관리기(231)는 클라이언트 파일시스템(110)에서 객체에 접근하기 위한 네트워크 채널을 관리하고 상호간 데이터 송수신을 수행한다. 즉, 객체 접근을 요청하면 통신 관리기(231)에서 클라이언트의 요청을 접수하여 객체 저장 관리기(232)로 전달한다. The
객체 저장 관리기(232)는 클라이언트가 요청한 객체의 생성/삭제/기록/검색/속성설정/속성변경 등의 객체 입출력 연산을 관리한다. 클라이언트의 객체 접근 요 청을 해석하여 어떤 연산에 해당하는지 분석하고 각 연산에 대한 처리를 담당한다. The
객체 캐쉬 관리기(233)는 객체 데이터 접근에 대한 비용을 줄이기 위하여 메모리상에 객체의 데이터를 관리한다. 클라이언트가 요청한 객체의 데이터 블럭이 캐쉬에 존재하는 경우 디스크 접근 없이 곧바로 캐쉬의 데이터를 반환하고, 캐쉬에 존재하지 않는 경우 디스크상의 블럭을 읽어 캐쉬에 적재 후 클라이언트에게 반환한다. The
객체 프리페치 관리기(234)는 디스크 입출력 회수를 최소화 하여 고속의 데이터 입출력을 관리한다. 객체 프리페치 윈도우를 정의하고 객체 프리페치 윈도우 영역 내에 존재하는 블럭들을 사전에 디스크에서 읽어 캐쉬에 적재함으로써 클라이언트가 요청한 객체 데이터에 대해 디스크 접근 빈도를 최소화 한다. The
객체 입출력 관리기(235)는 물리적인 디스크 장치와의 입출력을 담당한다. 기본적으로 디스크상의 한 블럭 단위로 입출력이 이루어지며, 만약 객체 프리페치 관리기에 의해서 객체 프리페치 윈도우 영역 만큼의 입출력 요청이 있을 경우 입출력 단위를 객체 프리페치 윈도우 영역으로 확장함으로써 입출력 비용을 최소화 한다. The object input /
디스크 장치(240)는 IDE 또는 SCSI 장치와 연결된 디스크 장치로서 객체들을 저장하기 위한 공간을 제공한다.
도 3 은 본 발명의 바람직한 실시예에 따른 객체 프리페치 윈도우의 구성요서를 나타내는 도면이다. 도 3을 참조하면, 객체 프리페치 윈도우의 구성요소는 객체 윈도우 식별자(311), 객체 식별자(312), 객체 크기(313), 객체 윈도우 생성시 간(314), 객체 윈도우 시작위치(315), 객체 윈도우 끝 위치(316), 객체 윈도우 내에서 데이터 접근 분포 (317), 객체 윈도우 참조 회수(318) 및 객체 윈도우 변경 회수(319)로 이루어진다. 3 is a diagram illustrating a configuration of an object prefetch window according to a preferred embodiment of the present invention. Referring to FIG. 3, the components of the object prefetch window include an
객체 윈도우 식별자(311)는 객체 프리페치 윈도우가 생성될 때마다 부여되는 값으로 각 객체 프리페치 윈도우를 구분하기 위하여 사용된다.The
객체 식별자(312)는 객체 프리페치 윈도우가 담당하는 객체의 식별자이다. The
객체 크기(313)는 객체 식별자가 가리키는 객체의 전체 크기로서 객체 프리페치 윈도우 영역이 확장될 수 있는 최대 값이다.The
객체 윈도우 생성시간(314)은 객체 프리페치 윈도우가 생성된 시간으로 오랜동안 사용하지 않는 객체 프리페치 윈도우를 제거하기 위하여 사용된다.The object
객체 윈도우 시작위치(315)는 객체 프리페치 윈도우 영역의 시작 위치이며 객체 내에서의 위치를 가리킨다.The object
객체 윈도우 끝 위치(316)는 객체 프리페치 윈도우 영역의 끝 위치이며 객체 내에서의 위치를 가리킨다.The object
객체 윈도우 내에서 데이터 접근 분포(317)는 객체 프리페치 윈도우 영역 내에서 클라이언트가 요청한 위치의 접근 분포를 의미하는 값으로 접근 분포가 객체 프리페치 윈도우 영역의 시작 부분에서 빈번하게 이루어질 경우 객체 프리페치 윈도우의 끝위치를 축소하고, 객체 프리페치 윈도우 영역의 끝 부분에서 빈번하게 이루어질 경우 객체 프리페치 윈도우의 시작 위치를 증가하는 등 클라이언트의 접근 분포에 따라 객체 프리페치 윈도우 영역을 조정하기 위하여 사용된다.The
객체 윈도우 참조 회수(318)와 객체 윈도우 변경 회수(319)는 객체 프리페치 윈도우 영역에 접근이 발생할 때마다 갱신되는 값으로 객체 프리페치 윈도우의 재조정 또는 제거를 위하여 사용된다.The object
도 4 는 본 발명의 바람직한 실시예에 따른 객체 프리페치 윈도우의 상태변화에 따른 흐름도이다. 도 4를 참조하면, 객체 프리페치 윈도우는 크게 CREAT(410), EXPAND(420), SHRINK(430), MERGE(440), DESTROY(450)의 상태를 가진다.4 is a flowchart illustrating a state change of an object prefetch window according to an exemplary embodiment of the present invention. Referring to FIG. 4, the object prefetch window has a state of CREAT 410, EXPAND 420, SHRINK 430, MERGE 440, and DESTROY 450.
CREATE(410) 상태는 객체 프리페치 윈도우가 처음 생성될 때의 상태로서, 클라이언트가 요청한 데이터 블럭이 기존에 존재하는 객체 프리페치 윈도우들의 영역에 속하지 않을 때 새로운 객체 프리페치 윈도우를 생성한다.The CREATE 410 state is a state when the object prefetch window is first created, and creates a new object prefetch window when the data block requested by the client does not belong to the area of existing object prefetch windows.
EXPAND(420) 상태는 클라이언트가 접근하는 객체의 위치가 객체 프리페치 윈도우 영역을 벗어날 것으로 예상되는 시점에 천이된다. 즉, 클라이언트가 객체 프리페치 윈도우 영역을 벗어나는 것으로 판단되면 객체 프리페치 윈도우의 크기를 확장하고, 확장된 영역의 데이터를 디스크로부터 읽어 객체 캐쉬 공간에 적재한다.The EXPAND 420 state transitions at a time when the location of the object that the client accesses is expected to leave the object prefetch window area. That is, when it is determined that the client is out of the object prefetch window area, the client extends the size of the object prefetch window and reads the data of the extended area from the disk and loads the data in the object cache space.
SHRINK(430) 상태는 이미 생성된 객체 프리페치 윈도우 영역에 대해 클라이언트의 접근 빈도가 작을 경우 객체 프리페치 윈도우의 크기를 축소할 때 천이된다. 즉, 최근 사용되지 않는 객체 프리페치 윈도우의 경우 클라이언트가 접근할 빈도가 적기 때문에 불필요한 메모리 공간의 낭비를 피하기 위해 객체 프리페치 윈도우 사이즈를 축소한다. 축소된 객체 프리페치 윈도우 영역에 해당하는 캐쉬 공간의 블럭들은 캐쉬 메모리 정책에 따라 메모리 공간이 부족할 경우 캐쉬 영역에서 제거 하고, 캐쉬 공간이 충분할 경우 향후 클라이언트의 접근시 디스크 접근을 피하기 위하여 캐쉬 공간에 남겨둔다.The
MERGE(440) 상태는 이미 존재하는 객체 프리페치 윈도우가 확장 또는 축소되는 과정에서 서로 인접하게 될 경우 불필요한 연산을 줄이기 위해 하나의 객체 프리페치 윈도우로 병합할 때 천이된다. MERGE(440) 상태는 클라이언트가 접근하는 객체 위치 변화에 따라 EXPAND(420), SHRINK(430) 상태로 천이하고, 사용 빈도가 적을 경우 DESTROY(450) 상태로 천이한다. The
DESTROY(450) 상태는 객체 프리페치 윈도우에 대해 클라이언트의 접근 빈도가 적을 경우 해당 객체 프리페치 윈도우를 삭제할 때 천이된다. 삭제된 객체 프리페치 윈도우 영역에 해당하는 캐쉬 공간의 블럭들은 캐쉬 메모리 정책에 따라 메모리 공간이 부족할 경우 캐쉬 영역에서 제거하고, 캐쉬 공간이 충분할 경우 향후 클라이언트의 접근시 디스크 접근을 피하기 위하여 캐쉬 공간에 남겨둔다. The DESTROY 450 state transitions when deleting the object prefetch window if the client has less access to the object prefetch window. Blocks of cache space corresponding to the deleted object prefetch window area are removed from the cache area when there is insufficient memory space according to the cache memory policy, and if there is enough cache space, it is left in the cache space to avoid disk access for future client access. .
도 5 는 본 발명의 바람직한 실시예에 따른 객체 프리페치 윈도우 영역의 블럭들을 객체 캐쉬에 적재하기 위한 방법을 나타내는 도면이다. 도 5를 참조하면, 본 발명에 따른 객체 프리페치 윈도우 영역의 블럭들을 객체 캐쉬에 적재하는 방법에 따라, 객체 프리페치 윈도우 영역(510)의 상태가 객체 프리페치 윈도우 시작 위치는 80 이고 마지막 위치가 102인 상태에서, 클라이언트가 100 위치의 블럭을 요청한 경우 객체 프리페치 윈도우의 확장 과정과 이에 따른 데이터 적재 과정을 도 5와 함께 설명한다. 5 is a diagram illustrating a method for loading blocks of an object prefetch window area into an object cache according to an exemplary embodiment of the present invention. Referring to FIG. 5, according to the method of loading blocks of the object prefetch window area according to the present invention, the state of the object
클라이언트가 100 위치의 블럭을 요청하면①, 객체 저장 관리기는 객체 캐쉬 공간에 있는 100위치의 블럭을 찾아② 캐쉬 공간에 존재할 경우 캐쉬상의 데이터를 반환하고 캐쉬 공간에 존재하지 않는 경우 디스크에서 읽어 캐쉬에 적재 후 클라이언트에게 반환하고③④⑤ 객체 프리페치 관리기에 읽은 블럭의 정보를 전달하여 객체 프리페치 윈도우에 반영할 것을 요구한다.When the client requests a block at
클라이언트가 요청한 100 블럭에 대해 객체 프리페치 윈도우를 반영하지 않고 곧바로 객체 캐쉬 공간의 블럭을 반환하기 때문에 객체 프리페치 윈도우를 관리하기 위한 비용에 따른 클라이언트의 성능 저하는 발생하지 않는다. Because the 100 blocks requested by the client do not reflect the object prefetch window and return a block of the object cache space immediately, the performance degradation of the client does not occur due to the cost of managing the object prefetch window.
객체 프리페치 관리기는 100위치의 블럭이 속하는 객체 프리페치 윈도우를 검사하여 윈도우 영역의 확장 여부를 결정한다.⑥The object prefetch manager determines whether the window area is expanded by examining the object prefetch window to which the block at
현재 객체 프리페치 윈도우의 마지막 위치가 102 이고 클라이언트의 객체 프리페치 윈도우 영역에 대한 접근 분포가 98이기 때문에 이 다음 클라이언트의 접근 위치는 객체 프리페치 윈도우 영역을 벗어날 확률이 높아지게 되어 객체 프리페치 윈도우 영역을 109 까지 확장하고 확장된 영역의 데이터 블럭들을 디스크에서 읽어 객체 캐쉬 공간에 적재한다.⑦⑧Because the last position of the current object prefetch window is 102 and the client's distribution of access to the object prefetch window area is 98, this next client's access position is more likely to leave the object prefetch window area, thus increasing the object prefetch window area. It extends up to 109 and reads the data blocks of the extended area from disk and loads them into the object cache space.
클라이언트가 확장된 객체 프리페치 윈도우 영역에 속하는 블럭에 대한 요청에 대해 디스크 접근 없이 객체 캐쉬 공간의 블럭을 곧바로 반환할 수 있다.A client can immediately return a block of object cache space without disk access for a request for a block belonging to the extended object prefetch window area.
그러나, 도 5에 도시된 수치들은 예시를 위한 것이며 실제 본 발명을 적용할 때는 클라이언트의 응용 환경 또는 시스템 구성 등을 고려하여 적용하여야 한다.However, the numerical values shown in FIG. 5 are for illustrative purposes and should be applied in consideration of the application environment or system configuration of the client when applying the present invention.
도 6 은 본 발명의 바람직한 실시예에 따른 클라이언트의 객체 데이터 요청에 대해 객체 프리페치 윈도우를 통해서 관리하는 흐름도이다. 도 6을 참조하면, 클라이언트가 요청한 블럭에 대해 우선적으로 객체 캐쉬 관리기에 데이터 블럭을 요청하여 반환하고(S610), 객체 프리페치 관리기에 클라이언트가 요청한 블럭에 대한 정보를 전달한다.6 is a flowchart of managing an object data request of a client through an object prefetch window according to a preferred embodiment of the present invention. Referring to FIG. 6, a block of data requested by the client is first requested and returned to the object cache manager (S610), and information about the block requested by the client is transferred to the object prefetch manager.
객체 프리페치 관리기는 전달 받은 블럭이 기존에 존재하는 객체 프리페치 윈도우들에 속하는지를 검사한다(S620).The object prefetch manager checks whether the received block belongs to existing object prefetch windows (S620).
기존의 존재하는 어느 객체 프리페치 윈도우에도 속하지 않는 경우 새로운 객체 프리페치 윈도우를 생성하고(S630) 객체 캐쉬 관리기에게 새로운 객체 프리페치 윈도우 영역에 해당하는 데이터 블럭들을 디스크로부터 적재하도록 요청한다(S640).If it does not belong to any existing object prefetch window, a new object prefetch window is generated (S630) and the object cache manager is requested to load data blocks corresponding to the new object prefetch window area from the disk (S640).
데이터 블럭이 기존의 객체 프리페치 윈도우에 속하는 경우 window_pin_offset, reference_counter, modify_counter 와 같은 정보들을 수정하고(S650), 객체 프리페치 윈도우 테이블에 존재하는 값을을 이용하여 객체 프리페치 윈도우의 상태 변경 여부를 결정한다(S660).If the data block belongs to an existing object prefetch window, information such as window_pin_offset, reference_counter, and modify_counter is modified (S650), and the value of the object prefetch window table is used to determine whether to change the state of the object prefetch window. (S660).
객체 프리페치 윈도우 크기를 늘려야 하는 경우 증가된 객체 프리페치 윈도우 영역에 속하는 데이터 블럭들을 디스크에서 읽어 객체 캐쉬 공간에 적재하고(S671) 객체 프리페치 윈도우를 변경한다(S672).If the object prefetch window size needs to be increased, data blocks belonging to the increased object prefetch window area are read from the disk, loaded into the object cache space (S671), and the object prefetch window is changed (S672).
객체 프리페치 윈도우 크기를 줄여야 하는 경우는 줄어든 객체 프리페치 윈도우 영역의 데이터 블럭들을 객체 캐쉬 관리기에게 통보한다(S681).If the size of the object prefetch window needs to be reduced, the object cache manager is notified of data blocks of the reduced object prefetch window area (S681).
감소한 영역의 데이터 블럭 정보를 전달받은 객체 캐쉬 관리기는 캐쉬 공간의 상태에 따라 계속 캐쉬 공간에 보관하거나 또는 제거할 수 있다. The object cache manager receiving the data block information of the reduced area can keep or remove the cache space according to the state of the cache space.
도 7 은 본 발명의 바람직한 실시예에 따른 객체 저장 관리 시스템의 블록도이다. 도 7을 참조하면, 본 발명에 따른 객체 저장 관리 장치는 수신부(700), 윈도우 존재 여부 판단부(710), 윈도우 생성부(720), 윈도우 크기 판단부(730), 윈도우 제어부(740), 데이터 적재부(750), 데이터 접근 빈도 판단부(760), 윈도우 관리부(761), 윈도우 제거부(762) 및 데이터 전송부(770)를 포함하여 구성된다.7 is a block diagram of an object storage management system according to a preferred embodiment of the present invention. Referring to FIG. 7, the apparatus for managing object storage according to the present invention includes a
수신부(700)는 클라이언트의 데이터에 대한 접근 요청을 접수하여 윈도우 존재여부 판단부(710)는 클라이언트가 요청한 데이터가 해당하는 객체 프리페치 윈도우가 존재하는지 판단한다.The receiving
윈도우 존재여부 판단부(710)는 판단한 결과 만약 존재하지 않는다면 윈도우 생성부(720)에서 클라이언트가 요청한 데이터가 적재되도록 하는 객체 프리페치 윈도우를 생성한다.As a result of the determination, if there is no window, the
생성된 객체 프리페치 윈도우는 클라이언트가 요청한 데이터를 적재할만한 크기의 영역을 보유하고 있는지 윈도우 크기 판단부(730)가 판단하여 윈도우 제어부(740)를 통하여 적절한 크기로 확장하게 된다.The generated object prefetch window is determined by the window
데이터 적재부(750)는 생성된 객체 프리페치 윈도우에 클라이언트가 요청한 데이터를 적재하여 데이터 전송부(770)가 클라이언트에게 요청한 데이터를 제공하게 된다.The
생성된 객체 프리페치 윈도우는 데이터 접근 빈도 판단부(760)의 판단을 통하여 객체 프리페치 윈도우에 대한 접근요청 빈도가 일정횟수 이상 될 경우에 윈도우 관리부(761)가 객체 프리페치 윈도우의 크기를 조절하여 관리한다.The generated object prefetch window is determined by the data access
일정기간 동안 접근요청이 없을 경우에는 윈도우 제거부(762)에서 객체 프리페치 윈도우를 제거하게 된다.If there is no access request for a certain period of time, the
도 8 은 본 발명에 따른 객체 프리페치 윈도우를 통하여 클라이언트에게 객체 데이터를 제공하는 방법에 대한 흐름도의 일 예이다. 도 1을 참조하면, 클라이언트의 데이터에 대한 접근 요청이 들어오면(S810) 클라이언트가 요청한 데이터를 이미 생성된 객체 프리페치 윈도우에 적재할 수 있는가를 판단한다(S820).8 is an example of a flowchart of a method for providing object data to a client through an object prefetch window according to the present invention. Referring to FIG. 1, when an access request for data of a client is received (S810), it is determined whether the client may load the requested data into an already created object prefetch window (S820).
S820 과정에서 판단한 결과 적재할 수 없다면 새로운 객체 프리페치 윈도우를 생성하고(S830) 클라이언트가 요청한 데이터를 객체 프리페치 윈도우에 적재하고 클라이언트에게 제공한다(S840).If it can not be loaded as a result of the determination in step S820 generates a new object prefetch window (S830) and loads the data requested by the client in the object prefetch window and provides to the client (S840).
S840 과정에서 제공받은 데이터에 대한 클라이언트의 접근요청이 일정시간 이상 유지되는지를 카운팅하여(S850) 유지되는 경우에는 다시 객체 프리페치 윈도우에 클라이언트가 요청한 데이터의 적재되지 못한 부분이 존재하는지 판단한다(S860).If it is maintained by counting whether the client's access request for the data provided in step S840 is maintained for a predetermined time (S850), it is again determined whether there is an unloaded portion of the data requested by the client in the object prefetch window (S860). ).
S860 과정에서 판단한 결과 존재할 경우에는 객체 프리페치 윈도우의 크기를 확장하여(S870) 적재되지 못한 부분을 확장된 객체 프리페치 윈도우에 적재하도록 하고(S880) 적재된 데이터를 클라이언트에게 제공하도록 한다(S890). As a result of the determination in step S860, the size of the object prefetch window is expanded (S870) to load the unloaded portion into the expanded object prefetch window (S880) and to provide the loaded data to the client (S890). .
S850 단계에서 유지되지 않는 것으로 판단된 경우나 S860 단계에서 존재하지 않는 것으로 판단된 경우에는 S840 단계에서 클라이언트에게 제공하는 데이터에 대한 전송만 완료하면 된다. When it is determined in step S850 that it is not maintained or when it is determined that it does not exist in step S860 it is only necessary to complete the transmission for the data provided to the client in step S840.
도 9 는 본 발명에 따른 객체 프리페치 윈도우를 관리하는 방법에 대한 흐름 도의 일 예이다. 도 9를 참조하면, 이미 존재하는 객체 프리페치 윈도우에 대한 클라이언트의 접근 요청 빈도를 측정하여(S910) 접근 요청이 있은 후 일정시간 지속되는 경우에는 객체 프리페치 윈도우의 크기를 확장한다(S920).9 is an example of a flow diagram for a method for managing an object prefetch window according to the present invention. Referring to FIG. 9, when the access request frequency of the client for the existing object prefetch window is measured (S910), if the access request continues for a predetermined time, the size of the object prefetch window is expanded (S920).
접근 요청 빈도가 일정 횟수 미만인 경우에는 객체 프리페치 윈도우의 크기를 축소하고(S930) 접근 요청이 일정 기간동안 전혀 없는 경우에는 객체 프리페치 윈도우를 제거한다(S940).If the access request frequency is less than a certain number of times, the size of the object prefetch window is reduced (S930). If there is no access request for a predetermined period of time, the object prefetch window is removed (S940).
확장(S920) 또는 축소(S930)되는 동안 이미 생성된 객체 프리페치 윈도우가 인접하게 되었는가를 판단하여(S950) 객체 프리페치 윈도우의 영역이 서로 인접한 경우에는 객체 프리페치 윈도우들을 병합한다(S960).During expansion (S920) or reduction (S930), it is determined whether already created object prefetch windows are adjacent (S950). If the regions of the object prefetch windows are adjacent to each other, the object prefetch windows are merged (S960).
도 10 는 객체 프리페치 윈도우의 상태변화에 대한 흐름도의 일 예이다. 도 10를 참조하면, 클라이언트가 요청한 데이터를 이미 생성된 객체 프리페치 윈도우에 적재할 수 없으면(S1000) 새로운 객체 프리페치 윈도우를 생성하게 된다(S1010).10 is an example of a flowchart for a state change of an object prefetch window. Referring to FIG. 10, if the client cannot load data requested in the already created object prefetch window (S1000), a new object prefetch window is generated (S1010).
클라이언트가 요청한 데이터의 일부가 객체 프리페치 윈도우 영역을 벗어난 것으로 판단한 경우에 객체 프리페치 윈도우의 크기를 확장한다(S1030).If the client determines that a part of the requested data is out of the object prefetch window area, the size of the object prefetch window is extended (S1030).
객체 프리페치 윈도우에 대한 클라이언트의 접근요청 빈도가 일정횟수 이상 되지 않으면(S1040) 클라이언트의 접근요청이 일정기간 동안 없는 경우가 아니면 객체 프리페치 윈도우의 크기를 축소한다(S1060).If the frequency of the client's access request for the object prefetch window does not exceed a certain number of times (S1040), the size of the object prefetch window is reduced (S1060), unless the client's access request is absent for a certain period of time (S1060).
접근요청이 일정기간 동안 없는 경우에는 객체 프리페치 윈도우를 제거한다(S1090).If there is no access request for a certain period of time, the object prefetch window is removed (S1090).
확장(S1030)되거나 축소(S1060)된 객체 프리페치 윈도우가 서로 인접한 영역에 속하게 되면(S1070) 객체 프리페치 윈도우들을 병합하여(S1080) 하나의 객체 프리페치 윈도우로 만들어 관리하게 된다.If the expanded object prefetch window belongs to an area adjacent to each other (S1070), the object prefetch windows are merged (S1080) to manage one object prefetch window.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD_ROM, 자기테이프, 플로피디스크 및 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD_ROM, magnetic tape, floppy disks, and optical data storage, and may also include those implemented in the form of carrier waves (e.g., transmission over the Internet). . The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, optimal embodiments have been disclosed in the drawings and the specification. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not intended to limit the scope of the present invention as defined in the claims or the claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
본 발명은 객체 기반 스토리지 환경에서 객체 저장 서버에 저장된 객체 데이 터를 효율적으로 프리페치 하는 방법을 통하여 고속의 데이터 입출력을 제공함으로써, 다양한 응용 소프트웨어가 운영되는 서버, VoD서버 또는 스토리지 임대 서비스와 같은 대량의 데이터 전송이 필요한 운영환경, 고성능의 데이터 입출력이 요구되는 클러스터링 컴퓨터 등의 스토리지 플랫폼으로 활용되어 안정적이고 빠른 데이터 서비스를 제공할 수 있다.The present invention provides a high-speed data input and output through a method of efficiently prefetching object data stored in an object storage server in an object-based storage environment, thereby providing a large amount of data such as a server, a VoD server, or a storage leasing service running various application software. It can be used as a storage platform such as an operating environment that requires data transfer, clustering computers that require high-performance data input and output, and can provide stable and fast data services.
Claims (14)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20050120080 | 2005-12-08 | ||
KR1020050120080 | 2005-12-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070061022A KR20070061022A (en) | 2007-06-13 |
KR100753831B1 true KR100753831B1 (en) | 2007-08-31 |
Family
ID=38356960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060033204A KR100753831B1 (en) | 2005-12-08 | 2006-04-12 | Object data storage system and method to enhance IO performance in object storage system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100753831B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100974514B1 (en) * | 2008-04-07 | 2010-08-10 | 한국과학기술원 | A sequential prefetching method in computer system |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10795760B2 (en) * | 2017-03-20 | 2020-10-06 | Samsung Electronics Co., Ltd. | Key value SSD |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0981455A (en) * | 1995-09-11 | 1997-03-28 | Toshiba Corp | Client device server device and storage device controlling method |
KR19990032182A (en) * | 1997-10-16 | 1999-05-06 | 정선종 | Buffer management device for variable length files and its method |
US6049891A (en) | 1997-10-20 | 2000-04-11 | Fujitsu Limited | Data access control system and computer-readable medium storing data access control program |
KR20040054978A (en) * | 2002-12-20 | 2004-06-26 | 삼성에스디에스 주식회사 | Prefetch scheduling method of streaming server and system thereof |
-
2006
- 2006-04-12 KR KR1020060033204A patent/KR100753831B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0981455A (en) * | 1995-09-11 | 1997-03-28 | Toshiba Corp | Client device server device and storage device controlling method |
KR19990032182A (en) * | 1997-10-16 | 1999-05-06 | 정선종 | Buffer management device for variable length files and its method |
US6049891A (en) | 1997-10-20 | 2000-04-11 | Fujitsu Limited | Data access control system and computer-readable medium storing data access control program |
KR20040054978A (en) * | 2002-12-20 | 2004-06-26 | 삼성에스디에스 주식회사 | Prefetch scheduling method of streaming server and system thereof |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100974514B1 (en) * | 2008-04-07 | 2010-08-10 | 한국과학기술원 | A sequential prefetching method in computer system |
Also Published As
Publication number | Publication date |
---|---|
KR20070061022A (en) | 2007-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853339B2 (en) | Peer to peer ownership negotiation | |
US20230409473A1 (en) | Namespace change propagation in non-volatile memory devices | |
US8131927B2 (en) | Fast accessible compressed thin provisioning volume | |
US11593272B2 (en) | Method, apparatus and computer program product for managing data access | |
US6836819B2 (en) | Automated on-line capacity expansion method for storage device | |
US7979631B2 (en) | Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method | |
US9268711B1 (en) | System and method for improving cache performance | |
JP2004326162A (en) | Network system, server, data processing method, and program | |
US7707337B2 (en) | Object-based storage device with low process load and control method thereof | |
US10970254B2 (en) | Utilization of tail portions of a fixed size block in a deduplication environment by deduplication chunk virtualization | |
US9268696B1 (en) | System and method for improving cache performance | |
CN107203480B (en) | Data prefetching method and device | |
US10719240B2 (en) | Method and device for managing a storage system having a multi-layer storage structure | |
US7549152B2 (en) | Method and system for maintaining buffer registrations in a system area network | |
KR100753831B1 (en) | Object data storage system and method to enhance IO performance in object storage system | |
US11474750B2 (en) | Storage control apparatus and storage medium | |
US7640588B2 (en) | Data processing system and method | |
CN111124302B (en) | SAN shared file storage and archiving method and system | |
US10671525B2 (en) | Space reclamation in data deduplication storage systems | |
JP4461089B2 (en) | Storage control apparatus and storage control method | |
KR20030055482A (en) | Method of managing a cache selectively and apparatus | |
KR100785774B1 (en) | Obeject based file system and method for inputting and outputting | |
WO2021249141A1 (en) | Method for processing metadata in storage device and related device | |
KR100541530B1 (en) | Method of processing snapshot introducing snapshot status table based on memory for shared storage supporting large capacity | |
CN109416663A (en) | Method for minimizing the fragmentation in the SSD in storage system and its equipment |
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: 20100802 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |