KR20010003383A - 멀티미디어 파일 시스템 및 이를 이용한 멀티미디어 데이터 처리 방법 - Google Patents

멀티미디어 파일 시스템 및 이를 이용한 멀티미디어 데이터 처리 방법 Download PDF

Info

Publication number
KR20010003383A
KR20010003383A KR1019990023663A KR19990023663A KR20010003383A KR 20010003383 A KR20010003383 A KR 20010003383A KR 1019990023663 A KR1019990023663 A KR 1019990023663A KR 19990023663 A KR19990023663 A KR 19990023663A KR 20010003383 A KR20010003383 A KR 20010003383A
Authority
KR
South Korea
Prior art keywords
disk
file
data
manager
control
Prior art date
Application number
KR1019990023663A
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 KR1019990023663A priority Critical patent/KR20010003383A/ko
Publication of KR20010003383A publication Critical patent/KR20010003383A/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D53/00Separation of gases or vapours; Recovering vapours of volatile solvents from gases; Chemical or biological purification of waste gases, e.g. engine exhaust gases, smoke, fumes, flue gases, aerosols
    • B01D53/34Chemical or biological purification of waste gases
    • B01D53/74General processes for purification of waste gases; Apparatus or devices specially adapted therefor
    • B01D53/86Catalytic processes
    • B01D53/8643Removing mixtures of carbon monoxide or hydrocarbons and nitrogen oxides
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D53/00Separation of gases or vapours; Recovering vapours of volatile solvents from gases; Chemical or biological purification of waste gases, e.g. engine exhaust gases, smoke, fumes, flue gases, aerosols
    • B01D53/34Chemical or biological purification of waste gases
    • B01D53/74General processes for purification of waste gases; Apparatus or devices specially adapted therefor
    • B01D53/86Catalytic processes
    • B01D53/8637Simultaneously removing sulfur oxides and nitrogen oxides
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D2257/00Components to be removed
    • B01D2257/30Sulfur compounds
    • B01D2257/302Sulfur oxides
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D2257/00Components to be removed
    • B01D2257/40Nitrogen compounds
    • B01D2257/404Nitrogen oxides other than dinitrogen oxide
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D2257/00Components to be removed
    • B01D2257/50Carbon oxides
    • B01D2257/502Carbon monoxide
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D2257/00Components to be removed
    • B01D2257/70Organic compounds not provided for in groups B01D2257/00 - B01D2257/602
    • B01D2257/702Hydrocarbons

Landscapes

  • Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Analytical Chemistry (AREA)
  • General Chemical & Material Sciences (AREA)
  • Oil, Petroleum & Natural Gas (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 멀티미디어 데이터 처리에 효율적인 미처리 디스크상에서의 파일 관리 방법에 관한 것으로, 멀티미디어 파일 시스템 어플리케이션을 통해 명령어 또는 응용 프로그래밍 인터페이스로 디스크 입출력 요구가 들어오면, QOS 관리자 및 버퍼 관리자에서 자원 관리와 허용 제어를 하고, 버퍼에 원하는 데이터가 있는지를 체크하는 제 1 단계; 제 1 단계로부터 버퍼에 원하는 데이터가 있으면 해당 데이터를 리턴한 후 수행을 종료하고, 원하는 데이터가 있지 않으면 디스크 관리자를 통해 디스크 입출력을 수행하는 제 2 단계; 제 2 단계로부터 파일 제어 블록 객체가 디스크 제어 블록 정보를 통해 디스크 제어 블록 리스트 객체에 연결된 디스크 제어 블록 객체에서 데이터 영역을 할당 받아 디스크 스케쥴링을 통해 디스크에 쓰기 동작을 수행하는 제 3 단계; 제 2 단계로부터 파일 제어 블록 객체의 파일 정보를 가지고 디스크 스케쥴링을 통해 디스크에 읽기 동작을 수행하는 제 4 단계를 포함하여 이루어지며, 멀티미디어 특성을 고려한 새로운 개념의 파일 관리 기술을 이용하여 미처리 디스크상에 독자적인 멀티미디어 파일시스템을 구축할 수 있는 멀티미디어 파일 시스템 및 이를 이용한 멀티미디어 데이터 처리 방법을 개시한다.

Description

멀티미디어 파일 시스템 및 이를 이용한 멀티미디어 데이터 처리 방법{Multimedia file system and Method of processing for multimedia date the using of its}
본 발명은 미처리 입출력을 이용하여 디스크상에 멀티미디어 데이터 처리에 적합한 파일 관리 기법을 디자인하고 구현할 수 있는 멀티미디어 파일 시스템 및 이를 이용한 멀티미디어 데이터 처리 방법에 관한 것이다.
많은 운영체제 시스템에서 파일을 관리하는 파일시스템을 가지고 있지만, 이들 파일시스템상에서 멀티미디어 어플리케이션 프로그램을 수행하면 텍스트 데이터 중심으로 디자인 되어 있기 때문에 멀티미디어 데이터 처리에는 비 효율적이라는 문제점을 가지고 있다. 따라서, 미처리 입출력을 이용하여 디스크상에 파일을 효율적으로 관리하기 위하여 다음과 같은 방법을 사용하였다. 디스크상에 존재하는 파일에 대한 정보를 관리하는 파일 제어 블록(FCB) 객체와 디스크상에 프리 데이터 영역(Free Data Area)에 대한 정보를 관리하는 디스크 제어 블록(DCB) 객체를 사용하였으며, 또한 디스크 제어 블록을 관리하는 디스크 제어 블록 리스트(DCBlist) 객체와 디스크 제어 블록 정보(DCBinfo) 자료 구조를 포함한다.
따라서, 본 발명의 목적은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 미처리 디스크 입출력을 이용하여 디스크상에 파일을 관리하기 위하여 파일 정보 관리, 프리 데이터 영역 관리 방법 등을 설계하고 구현할 수 있는 멀티미디어 파일 시스템 및 이를 이용한 멀티미디어 데이터 처리 방법을 제공하는데 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 멀티미디어 파일 시스템은 윈도우즈 엔티(Windows NT)상에서 미처리 입출력을 통해 디스크상에 파일을 관리하기 위한 파일 제어 객체와; 각 파일에서 필요한 데이터 영역을 제공하고 프리 데이터 영역을 관리하기 위한 데이터 제어 객체와; 상기 데이터 제어 객체를 관리하기 위한 데이터 제어 리스트 객체가 디스크상에 구축된 것을 특징으로 한다.
또한, 상기한 목적을 달성하기 위한 본 발명에 따른 멀티미디어 데이터 처리 방법은 특징으로 멀티미디어 파일 시스템 어플리케이션을 통해 명령어 또는 응용 프로그래밍 인터페이스로 디스크 입출력 요구가 들어오면, QOS 관리자 및 버퍼 관리자에서 자원 관리와 허용 제어를 하고, 버퍼에 원하는 데이터가 있는지를 체크하는 제 1 단계와; 상기 제 1 단계로부터 버퍼에 원하는 데이터가 있으면 해당 데이터를 리턴한 후 수행을 종료하고, 원하는 데이터가 있지 않으면 디스크 관리자를 통해 디스크 입출력을 수행하는 제 2 단계와; 상기 제 2 단계로부터 파일 제어 블록 객체가 디스크 제어 블록 정보를 통해 디스크 제어 블록 리스트 객체에 연결된 디스크 제어 블록 객체에서 데이터 영역을 할당 받아 디스크 스케쥴링을 통해 디스크에 쓰기 동작을 수행하는 제 3 단계와; 상기 제 2 단계로부터 파일 제어 블록 객체의 파일 정보를 가지고 디스크 스케쥴링을 통해 디스크에 읽기 동작을 수행하는 제 4 단계를 포함하여 이루어진 것을 특징으로 한다.
또한, 본 발명은 멀티미디어 파일 시스템 어플리케이션을 통해 명령어 또는 응용 프로그래밍 인터페이스로 디스크 입출력 요구가 들어오면, QOS 관리자 및 버퍼 관리자에서 자원 관리와 허용 제어를 하고, 버퍼에 원하는 데이터가 있는지를 체크하는 제 1 단계와; 상기 제 1 단계로부터 버퍼에 원하는 데이터가 있으면 해당 데이터를 리턴한 후 수행을 종료하고, 원하는 데이터가 있지 않으면 디스크 관리자를 통해 디스크 입출력을 수행하는 제 2 단계와; 상기 제 2 단계로부터 파일 제어 블록 객체가 디스크 제어 블록 정보를 통해 디스크 제어 블록 리스트 객체에 연결된 디스크 제어 블록 객체에서 데이터 영역을 할당 받아 디스크 스케쥴링을 통해 디스크에 쓰기 동작을 수행하는 제 3 단계와; 상기 제 2 단계로부터 파일 제어 블록 객체의 파일 정보를 가지고 디스크 스케쥴링을 통해 디스크에 읽기 동작을 수행하는 제 4 단계를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체인 것을 특징으로 한다.
도 1은 본 발명에 따른 멀티미디어 파일시스템 구성도.
도 2는 본 발명에 따른 디스크 상(on-disk)에서 멀티미디어 파일 시스템 구조.
도 3은 본 발명에 따른 파일 제어 블록(FCB) 객체 구성도.
도 4는 본 발명에 따른 DCBinfo 자료 구조도.
도 5는 본 발명에 따른 디스크 제어 블록(DCB) 객체 구성도.
도 6은 본 발명에 따른 DCBlist 객체 구성도.
도 7은 본 발명에 따른 객체간 제어 흐름도.
〈도면의 주요 부분에 대한 부호 설명〉
1 : 멀티미디어 파일시스템 2 : MMFS API
3 : QOS 관리자 4 : 버퍼 관리자
5 : 디스크 관리자 10 : MMFS로 포맷된 디스크
11 : 윈도우 네트워크 마스터 파일 테이블
12 : 파일 제어 블록 13 : DCB 정보
14 : 데이터 제어 블록 15 : 데이터 영역
20 : 파일 제어 블록 21 : 파일 인덱스
22 : 파일 이름 23 : 데이터 영역 시작 오프셋
24 : 파일 크기 25 : 파일 참조 횟수
26 : 공유 메모리 접근 변수 27 : 파일 정보 관리
28 : FCB 접근 제어 뮤텍스 29 : 파일 제어 블록 연산자
30 : DCB 정보 31 : DCB 헤더 포인터
32 : DCB 태일 포인터 40 : 데이터 제어 블록
41 : 프리 데이터 영역의 시작 주소
42 : 프리 데이터 영역의 길이 43 : 이전 DCB의 포인터
44 : 다음 DCB의 포인터 45 : 디스크 데이터 제어 블록 연산자
50 : DCB 리스트 51 : DCB 헤더 포인터
52 : DCB 태일 포인터 53 : DCB 현재 포인터
54 : 공유 메모리 관리 정보 55 : DCB 리스트 뮤텍스
56 : DCB 리스트 연산자
이하, 첨부한 도면을 참조하여 본 발명의 일실시예를 상세하게 설명한다.
도 1은 본 발명이 적용되는 멀티미디어 파일시스템에 대한 구성도이다.
본 발명이 적용되는 멀티미디어 파일시스템(1)은 Windows NT상에서 미처리 입출력(Raw Input/Output)을 기반으로 주문형 비디오(Video-on-Demand: VoD)와 같은 검색형 멀티미디어 어플리케이션 서비스를 효율적으로 지원할 수 있는 구조로 설계되었었으며, MMFS API(2), QOS 관리자(3), 버퍼 관리자(4), 디스크 관리자(5) 등의 블록으로 구성된다.
MMFS API(2)는 크게 명령어와 응용 프로그래밍 인터페이스로 이루어지며, 응용 프로그래밍 인터페이스는 라이브러리(MMFSLib)로 제공된다. 따라서, 멀티미디어 응용 서비스 개발 시에 사용자는 자신의 프로그램 모듈에 MMFS 라이브러리를 링크 시켜 동작하면 된다. MMFS의 명령어에는 mmFormat, mmInstall, mmDelete, mmList 등이 있다. 이들은 주로 MMFS 파일 및 디렉토리 관리 시에 이용되는데, 예를 들어, MMFS 파일 시스템으로 포맷된 디스크에 파일을 설치하거나 삭제할 때, 또는 파일들에 대한 정보를 화면에 출력해 볼 때 이용된다.
QOS 관리자(3)는 MMFS가 탑재되는 시스템, 즉 디스크에 저장된 스트림 데이터를 전송하는 시스템의 자원량을 관리하고, 어플리케이션에서 MMFS API를 통한 데이터 입출력이 요구될 경우, 자원 사용에 대한 검사와 승인(Admission Control)을 담당하는 기능을 제공한다.
버퍼 관리자(4)는 디스크의 탐색 및 접근시간에서 오는 지연을 최대한 줄이고 동시에 다수의 서비스를 지원하기 위하여 버퍼풀을 제공한다. 버퍼풀은 어플리케이션 프로그램으로부터 동일한 스트림 데이터에 대한 입출력 연산이 요구될 경우, 가능한 한 디스크로부터의 입출력 연산을 하지 않고 직접 버퍼 풀에 위치한 버퍼로부터 스트림 데이터를 읽어갈 수 있도록 버퍼 캐싱(buffer caching) 기능을 수행한다. 버퍼 관리자는 버퍼풀의 효율적인 관리를 위하여 버퍼 프리리스트와 해쉬 테이블 등을 사용하며, 특히 비디오 데이터 입출력의 패턴이 주로 읽기 형태이고, 또한 읽기 요구가 순차적으로 연속됨을 감안하여, 'Read-Ahead' 형태의 버퍼 읽기 연산기능을 제공한다.
디스크 관리자(5)는 파일제어블록(File Control Block) 관리자, 디스크제어블록 (Disk Control Block) 관리자, 디스크 스케쥴링 등으로 구성된다.
파일 제어 블록(FCB; 20)은 디스크에 저장된 모든 MMFS 파일과 파일에 대한 정보를 관리하는 블록이다. FCB는 MMFS가 설치된 디스크 볼륨의 가용 가능한 영역 맨 앞부분에 위치하며, MMFS 데몬(메인 프로그램) 수행과 동시에 메모리로 읽어온다. 파일의 생성 시에 하나의 FCB 엔트리가 생성되어 파일에 대한 정보를 기록하고, 파일의 삭제 시에는 해당 FCB 엔트리를 삭제한다.
디스크의 데이터 영역 관리는 디스크 데이터 제어 블록(DCB; 40)을 통하여 이루어지며 디스크에서 파일 제어 블록 다음에 위치한다. 디스크에 쓰기 연산이 일어나면 DCB 리스트(50) 정보를 참조하여 free 영역을 할당 받아 데이터를 저장하고 DCB 정보가 변경되면 디스크에 내용을 수정한다.
디스크 스케쥴링은 어플리케이션에서 실시간 멀티미디어 데이터에 대한 디스크 입출력 연산을 의뢰할 경우, 이들 요구가 'deadline' 순으로(earliest deadline first) 처리될 수 있도록 스케줄링 해 주며, 시스템 전반에 걸쳐 'EDF-SCAN' 디스크 스케줄링 효과를 제공해 준다.
도 2는 본 발명에 따른 디스크 상에서 멀티미디어 파일 시스템의 구조도이다.
MMFS 파일 시스템에서 파일과 데이터를 직접 관리하는 주요한 두 부분은 파일 제어 블록(FCB; 12)과 데이터 제어 블록(DCB; 14)이다. 이들 두 모듈은 MMFS의 다른 모듈(QOS 관리자 모듈, 버퍼 관리자 모듈 등)들과 달리 실제 MMFS로 포맷된 하드 디스크에 탑재되어 있고, 또한 디스크 입출력 연산 수행 시에 공유메모리에 올려져서 디스크 연산에 따른 모든 파일 정보와 데이터 정보를 관리한다. Windows NT 멀티미디어 서버 환경에서 임의의 하드 디스크를 MMFS용으로 포맷할 경우 디스크 구조(10)이다.
MMFS 파일 시스템으로 포맷된 디스크 구조(10)는 NTFS(Windows NT) 파일 시스템에서와 달리 하나의 볼륨이 오르지 하나의 파일과 나머지 자유 공간으로 구성된다. 이는 앞장에서 언급한 바와 같이, MMFS가 미처리 입출력(Raw I/O)을 이용하기 때문으로, MMFS 디스크에서는 마치 하나의 파일에서 데이터를 읽어가는 것처럼 파일 시스템을 구성하고 있고, 여기에 MFT(11), FCB(12), DCBinfo(13), DCB(14), 그리고 데이터 영역(15)을 모두 포함하고 있다. 따라서, MMFS 디스크에 있는 임의의 파일에 대한 데이터를 읽기 위해서는 먼저, 그 파일에 대한 FCB에서 파일 인덱스 번호와 데이터 시작 주소에 대한 오프셋 값 등을 알아야 하고, 다음 MMFS 파일 시스템을 연(오픈한) 파일의 핸들을 오프셋 만큼 옮겨 놓아야 한다.
도 3은 본 발명에 따른 파일 제어 블록 객체의 구성도이다.
파일 제어 블록(FCB; 20)은 디스크에 저장된 모든 MMFS 파일과 파일에 대한 정보를 관리하는 블록이다. FCB는 MMFS가 설치된 디스크 볼륨의 가용 가능한 영역 맨 앞 부분에 위치하며, MMFS 데몬(메인 프로그램) 수행과 동시에 메모리로 읽어온다. 파일의 생성 시에 하나의 FCB 엔트리가 생성되어 파일에 대한 정보를 기록하고, 파일의 삭제 시에는 해당 FCB 엔트리를 삭제한다.
MMFS 디스크에 있는 모든 파일들을 File Control Block(FCB) 단위로 구성되어 FCB 어레이를 형성한다. FCB 객체에 포함되는 데이터 멤버들 중에서 중요한 몇 가지를 을 설명하면 다음과 같다.
파일 인덱스(iFileIndex; 21)는 파일을 구별하기 위하여 사용되는 파일 인덱스는 MMFS 시스템 전체에서 유일하게 부여된다. 파일 인덱스는 FCB 생성시에 FCB 어레이에서 이 FCB가 위치할 곳(인덱스)에 의해서 유일하게 결정되어, 이 FCB가 삭제(delete)될 때까지 사용된다. FCB 어레이 길이를 나타내는, 즉 MMFS 파일의 최대수는 상수 (MAXFCB)로 정의된다.
파일 이름(cFileName[FILENAMESZ]; 22)은 파일 이름 역시 파일을 구별하기 위하여 사용되는 데이터 멤버로써, 주로 어플리케이션 프로그램에서 해당 FCB객체 및 데이터의 접근을 위한 용도로 쓰여진다.
데이터 영역 시작 오프셋(lAbsoluteOffset; 23)은 대부분의 파일 시스템이 [파일이름-논리적 블록번호-물리적 블록번호]식의 일반화된 파일관리테이블을 이용하는 반면, MMFS에서는 미처리입출력(raw I/O)기반 멀티미디어 파일, 특히 동영상 파일 관리용 파일 시스템으로써, 파일이름과 물리적 디스크 주소의 직접 매핑을 제공한다. 따라서, 파일 오프셋(lAbsoluteOffset) 멤버는 디스크 상에서 해당 파일의 시작 오프셋을 나타낸다.
파일 크기(lFileLength; 24)는 해당 파일의 길이(크기)를 Bytes로 나타낸다. 이 데이터 멤버는 디스크 상에서 FCB의 생성시 데이터 저장에 필요한 자유 공간(free space)의 탐색 및 관리에 이용될 수 있다.
파일 참조 횟수(iReferenceCount; 25)는MMFS 데몬(메인 프로그램) 수행 이후에, 해당 파일이 참조(opened)된 전체 횟수를 나타낸다. 이 데이터 멤버는 추후에 어플리케이션-제어형(application-controlled) MMFS 관리(예: 버퍼접근 제어 및 버퍼할당, QOS)에 활용될 수 있다.
공유 메모리 접근 변수(cFCBMappedView; 26)는 MMFS 데몬이 수행되면, MMFS의 모든 모듈들은 공유 메모리 영역에 위치하게 된다. 이는 FCB 객체도 마찬가지로, cFCBMappedView 데이터 멤버는 해당 FCB 객체에 대한 연산 수행 전후에서 공유메모리 접근(attach)과 해제(detach) 시에 이용된다.
파일 정보 관리(27)는 파일에 대한 세부 내용을 포함하고 있다. 이들 세부 내용(28)에는 파일의 소유자, 파일이 속한 그룹, 파일이 생성된 시간, 파일의 접근 허용, 파일의 전체 대역폭에 대한 정보를 포함한다.
FCB 접근제어 뮤텍스(hMutexLockFCB; 28)는 FCB 및 FCB 어레이는 여러 쓰레드 (또는 프로세스)에 의해서 동시에 이용될 수 있기 때문에, FCB 객체에 대한 배타적 사용은 필수적이다. hMutexLockFCB 데이터 멤버는 해당 FCB의 배타적 사용을 담당한다. 즉 하나의 FCB 객체에 접근하기 위해서는 먼저 hMutexLockFCB를 잠가야 하고(locked), 이용 후에는 hMutexLockFCB를 해제하여야(unlocked) 전체적으로 결정적인 사용이 보장된다.
파일 제어 블록 연산자(29)의 세부 기능은 아래와 같다.
1) _FileControlBlock::_ FileControlBlock()
입력 : 없음
출력 : 없음
기능 : FCB 객체의 멤버함수 값들을 초기화함, MMFS 라이브러리에서 호출된 경우, 공유 메모리 영역을 사용하도록 공유메모리 접근 연산을 추가로 수행함.
2) _FileControlBlock::~_ FileControlBlock ()
입력 : 없음
출력 : 없음
기능 : FCB용 뮤텍스 핸등을 닫고, 또한 공유 메모리 영역도 닫음.
3) _FileControlBlock::Create() 함수
입력 : 파일 이름, 길이
출력 : BOOL
기능 : FCB 어레이에 free FCB 객체가 있을 경우, 입력으로 주어진 파일에 대한 FCB 객체를 하나 생성해서, FCB 어레이의 free FCB에 복사하여 붙임.
Algorithm Create :
(단계 1) FCB 어레이에 사용되는 공유 메모리를 매핑시킨다.
(단계 2) FCB 어레이에서 입력으로 주어진 파일 이름의 FCB 객체를 찾는다.
(단계 3) FCB가 없으면, 새로운 FCB 객체와 함께 사용될 disk free space를 할당한다.
(단계 4) FCB 어레이의 결정적 사용을 위하여 FCB 어레이 뮤텍스를 잠근다.
(단계 5) FCB 어레이에서 free 상태인 FCB 블록 하나를 찾은 다음, 여기에 입력 파일에 대한 값들을 담은 FCB 블록을 만들어 놓는다.
(단계 6) 반환값을 설정한다(result = TRUE).
(단계 7) 뮤텍스를 푼다.
(단계 8) 반환값이 TRUE인 경우, 디스크의 FCB 및 DCB 정보를 수정하기 위하여, 디스크 수정용 세마포어를 해제한다.
(단계 9) 반환값을 반환한다.
4) _FileControlBlock::Delete() 함수
입력 : 없음
출력 : BOOL
기능 : FCB 어레이에서 FCB 객체 하나에 담겨있는 파일의 모든 정보를 지우고, 이 파일의 데이터 영역도 모두 지움.
Algorithm Delete :
(단계 1) FCB 객체의 뮤텍스를 잠근다.
(단계 2) 공유 메모리에 있는 DCB 리스트에서 삭제할 파일의 데이터 영역을 지운다.
(단계 3) FCB 어레이에서 삭제할 파일의 FCB 객체를 찾아서 정보를 모두 지운다.
(단계 4) 뮤텍스를 푼다.
(단계 5) 앞 단계의 성공 여부에 따라 반환값을 설정하여 반환한다.
5) _FileControlBlock::Match() 함수
입력 : 파일 인덱스 번호, 또는 파일 이름
출력 : BOOL
기능 : FCB 어레이에서 입력으로 주어진 파일 인덱스(또는 파일 이름)를 가진 FCB 객체의 값을 로컬 FCB 객체에 복사함.
Algorithm Match :
(단계 1) 공유 메모리에 있는 FCB 어레이 상에서 입력 파일 인덱스(또는 파일 이름)를 가진 FCB에 접근한다.
(단계 2) FCB의 파일 인덱스(또는 파일 이름)와 입력 파일 인덱스(또는 파일 이름)가 일치한 지를 비교한다.
(단계 3) 일치하는 경우, 그 FCB 객체값을 로컬 FCB에 복사한다.
(단계 4) 앞 단계의 성공 여부에 따라 반환값을 설정하여 반환한다.
6) _FileControlBlock::AbsOffset() 함수
입력 : 없음
출력 : 오프셋의 절대 주소값
기능 : 현재 FCB 객체의 오프셋 절대 주소값을 반환함.
7) _FileControlBlock::RefCount() 함수
입력 : 없음
출력 : 참조값
기능 : 현재 FCB(파일)의 참조값을 반환함.
8) _FileControlBlock::Update() 함수
입력 : 없음
출력 : BOOL
기능 : 현재 FCB 객체의 공유 메모리 상의 값을 수정함.
Algorithm Update :
(단계 1) 공유 메모리에 있는 FCB 어레이 상에서 현재 FCB 객체에 접근한다.
(단계 2) 뮤텍스를 잠근다.
(단계 3) 공유메모리에 있는 FCB 객체의 값을 현재 로컬에 있는 FCB 값으로 바꾼다.
(단계 4) 뮤텍스를 해제한다.
(단계 5) 반환값을 설정하여 반환한다.
9) _FileControlBlock&_FileControlBlock::operator++() 함수
입력 : 없음(또는 FCB) - operator & function overloading possible
출력 : *this
기능 : 자신의 참조값을 하나 증가시키고, 공유메모리에 있는 자기 FCB 값을 수정함.
10) _FileControlBlock&_FileControlBlock::operator--() 함수
입력 : 없음 (또는 FCB) - operator & function overloading possible
출력 : *this
기능 : 자신의 참조값을 하나 감소시키고, 공유메모리에 있는 자기 FCB 값을 수정함.
11) _FileControlBlock::print() 함수
입력 : 없음
출력 : 없음
기능 : 디버깅 용도로써, 현재 FCB 객체의 주요 데이터 멤버 값을 화면에 출력함.
도 4는 본 발명에 따른 DCBinfo(30) 자료의 구조도로서, DCB 리스트의 공유 메모리 관리를 쉽게 하기 위하여 DCB 리스트의 헤드 포인터(head Pointer; 31)와 태일 포인터(Tail Pointer; 32)를 가진 자료 구조를 나타낸다.
도 5는 본 발명에 따른 디스크 제어 블록(DCB; 40) 객체의 구성도로서, 디스크 데이터의 영역을 관리하는 블록이다. DCB를 통하여 디스크의 free 영역을 관리하여 디스크에 쓰기 연산이 일어날 때 free 영역을 할당 받아 데이터를 저장하기 위하여 사용된다.
DCB(40)는 DCB 리스트(50)를 구성하는 노드로서, 사용하지 않는 디스크 데이터 영역의 정보를 가지고 있다. 프리 데이터 영역의 시작 주소(lStart; 41)는 free 데이터 영역의 시작 주소를 나타내고, 프리 데이터 영역의 길이(lLength; 42)는 free 데이터 영역의 길이를 나타낸다. 이전 DCB의 포인터(43)는 이전 DCB에 대한 포인터를 가지고, 다음 DCB의 포인터(44)는 다음 DCB에 대한 포인터를 가진다.
디스크의 데이터 영역 관리는 DCB를 통하여 이루어지며 디스크에서 파일 제어 블록 다음에 위치한다. 디스크에 쓰기 연산이 일어나면 DCB 리스트 정보를 참조하여 free 영역을 할당 받아 데이터를 저장하고, DCB 정보가 변경되면 디스크에 내용을 수정한다. 처음 디스크 포맷 시에는 데이터 제어 블록이 정의된 개수로 초기화되며 데이터 영역 전체가 free 영역이므로, 처음 한 개는 디스크의 처음 데이터 영역 주소와 전체 데이터 영역 길이를 가진다. 실제 쓰기 연산이 일어나면 디스크의 DCB 리스트를 공유 메모리로 읽어 온 뒤에 free 영역을 할당 받은 뒤 DCB 리스트를 수정하여 디스크에 정보를 수정한다.
디스크 데이터 제어 블록 연산자(45)에 대한 세부 기능은 아래와 같다.
1) _DiskControlBlock::_DiskControlBlock()
입력 : 없음
출력 : 없음
기능 : 객체의 변수 값들을 초기화 함.
2) _DiskControlBlock::start()
입력 : 없음
출력 : lStart
기능 : 현재 DCB의 프리 데이터 영역의 시작 주소를 리턴한다.
3) _DiskControlBlock::Length()
입력 : 없음
출력 : lLength
기능 : 현재 DCB의 프리 데이터 영역의 길이를 리턴한다.
4) _DiskControlBlock::Next()
입력 : 없음
출력 : Next
기능 : 현재 DCB의 다음 DCB의 포인터를 리턴한다.
5) _DiskControlBlock::Prev()
입력 : 없음
출력 : Prev
기능 : 현재 DCB의 이전 DCB의 포인터를 리턴한다.
6) _DiskControlBlock::print()
입력 : 없음
출력 : 없음
기능 : 디버깅 용도로써, 현재 DCB 객체의 주요 데이터 멤버 값을 화면에 출력함.
도 6은 본 발명에 따른 DCB 리스트를 나타내는 객체의 구성도로서, 실제 디스크 데이터 영역을 관리한다. DCB 헤더 포인터(mpHead; 51)는 리스트의 시작을 가리키고, DCB 태일 포인터(mpTail; 52)는 리스트의 마지막을 가리킨다. DCB 현재 포인터(mpCurrent; 53)는 리스트 중 해당 DCB를 가리킨다. 공유 메모리 관련 정보(54; hDCBMapObj 과 cDCBMappedView)는 공유 메모리 접근을 위한 값들이며, DCBList 뮤텍스(hMutexLockDCBList; 55)는 공유 자원, 즉 DCB 리스트의 관리 작업을 결정적으로 수행하기 위한 뮤텍스 값을 나타낸다.
DCB 리스트의 연산자(56)에 대한 세부 기능은 아래와 같다.
1) _DCBList::_DCBList()
입력 : 없음
출력 : 없음
기능 : 공유 메모리 영역을 사용하도록 함.
2) _DCBList::~DCBList()
입력 : 없음
출력 : 없음
기능 : 공유 메모리 영역을 닫음.
3) _DCBList::FindLargeBlock() 함수
입력 : 데이터 영역의 길이
출력 : BOOL
기능 : 입력인 데이터 영역의 길이보다 큰 첫번째 블록에 mpCurrent를 가리키게 함.
Algorithm FindLargeBlock :
input : length
output : BOOL
(단계 1) DCB 리스트에 사용되는 공유 메모리를 매핑시킨다.
(단계 2) DCB 리스트에서 lLength가 length보다 큰 처음 블록을 찾는다.
(단계 3) DCB 리스트 연산을 수행하기 위하여 뮤텍스를 잠근다.
(단계 4) 해당 블록에 mpCurrent를 가리키게 한다.
(단계 5) 뮤텍스를 푼다.
4) _DCBList::FindSandwichingBlock () 함수
입력 : 디스크 데이터 영역의 주소
출력 : BOOL
기능 : 입력인 데이터 영역의 주소가 포함되는 연속적인 블록중 처음 블록에 mpCurrent를 가리키게 함.
Algorithm FindSandwichingBlock :
input :address
output : BOOL
(단계 1) DCB 리스트에 사용되는 공유 메모리를 매핑시킨다.
(단계 2) DCB 리스트에서 lStart가 address보다 큰 처음 블록을 찾는다.
(단계 3) DCB 리스트 연산을 수행하기 위하여 뮤텍스를 잠근다.
(단계 4) 해당 블록의 prev가 있으면 prev에 mpCurrent를 가리키게 하고 prev가 NULL이면 해당 블록에 mpCurrent를 가리키게 한다.
(단계 5) 뮤텍스를 푼다.
5) _DCBList::JoinConsecutiveBlock () 함수
입력 : 없음
출력 : 없음
기능 : 디스크에 연속적으로 비어있는 영역을 찾아서 하나의 블록으로 만듬.
Algorithm JoinConsecutiveBlock :
input : None
output : None
(단계 1) DCB 리스트에 사용되는 공유 메모리를 매핑시킨다.
(단계 2) DCB 리스트에서 연속적으로 디스크의 데이터 영역이 비어있는 블록을 찾아 하나의 블록으로 만든다.
6) _DCBList::DivideBlock () 함수
입력 : 데이터 영역의 길이
출력 : 디스크의 free 영역의 주소
기능 : 데이터 영역의 길이에 적합한 free 영역의 블록을 찾아서 디스크에 데이터 영역을 지정하고 남아 있는 영역을 새로운 free 영역으로 만듬.
Algorithm DivideBlock:
input : length
output : address
(단계 1) DCB 리스트에 사용되는 공유 메모리를 매핑시킨다.
(단계 2) DCB리스트에서 lLength가 length보다 큰 블록을 찾아 파일 영역임을 지정한다.
(단계 3) (단계 2) 후에 length 계산 후 남아 있는 영역을 새로운 free 영역으로 만드는 DCB블록을 만들어 리스트에 연결한다.
7) _DCBList::AllocateSpace () 함수
입력 : 데이터 영역의 길이
출력 : 디스크의 free 영역의 주소
기능 : 파일이 생성될 때 데이터 영역의 길이에 적합한 영역을 할당하고 실제 디스크의 시작 주소를 반환함.
8) _DCBList::DeleteSpace () 함수
입력 : 데이터 영역의 길이, 주소
출력 : BOOL
기능 : 파일이 삭제될 때 입력된 주소를 갖는 데이터 영역의 길이에 해당하는 디스크 영역을 반환하고 DCB 리스트에 free DCB로 둠.
9) _DCBList::print()
입력 : 없음
출력 : 없음
기능 : 디버깅 용도로써, 현재 DCBList 객체의 주요 데이터 멤버 값을 화면에 출력함.
도 7은 본 발명에 따른 객체간 제어 흐름도(60)로서, MMFS API(61)를 통해 명령어 또는 응용 프로그래밍 인터페이스로 디스크 입출력 요구가 들어오면, QOS 관리자 및 버퍼 관리자(62)는 자원 관리와 허용 제어를 하고, 버퍼에 원하는 데이터가 있는지를 체크한다. 버퍼에 원하는 데이터가 있으면 해당 데이터를 리턴한 후 수행을 마친다. 그렇치 않으면 디스크 관리자(63)를 통하여 디스크 입출력이 발생한다. 이 경우 읽기와 쓰기로 나누어진다. 쓰기의 경우는 실제로 FCB객체(64), DCBinfo 자료 구조(65), DCBList 객체(66), DCB 객체(67)에 대한 정보가 변경될 수 있다. FCB 객체(64)는 DCBinfo(65)를 통하여 DCBList 객체(66)에 연결된 DCB 객체(67)에서 데이터 영역을 할당 받아 디스크 스케쥴링(68)을 통해 디스크(69)에 쓰기를 한다. 읽기의 경우는 단지 FCB 객체의 파일 정보를 가지고 디스크 스케쥴링(68)을 통해 디스크(69)에 읽기를 한다
이상에서 설명한 본 발명은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.
상술한 바와 같이, 본 발명이 적용되는 멀티미디어 파일시스템은 주문형 비디오와 같은 검색형 멀티미디어 어플리케이션 서비스를 효율적으로 지원할 수 있는 구조로 설계되었으며, MMFS 파일 시스템에서 파일과 데이터를 직접 관리하는 주요한 두 부분은파일 제어 블록(FCB)과 데이터 제어 블록(DCB)이다. 이들 두 모듈은 MMFS의 다른 모듈 (QOS 관리자 모듈, 버퍼 관리자 모듈 등)들과 달리 실제 MMFS로 포맷된다 하드 디스크에 탑재되어 있고, 또한 디스크 입출력 연산 수행 시에 공유메모리에 올려져서 디스크 연산에 따른 모든 파일 정보와 데이터 정보를 관리한다. MMFS 파일 시스템으로 포맷된다 디스크 구조는 NTFS(Windows NT) 파일 시스템에서와 달리 하나의 볼륨이 오로지 하나의 파일과 나머지 자유 공간으로 구성된다. 이는 MMFS가 미처리 입출력(Raw I/O)을 이용하기 때문으로, MMFS 디스크에서는 마치 하나의 파일에서 데이터를 읽어가는 것처럼 파일 시스템을 구성하고 있고, 여기에 MFT, FCB, DCBinfo, DCB, 그리고 데이터 영역을 모두 포함하고 있다. 따라서, MMFS 디스크에 있는 임의의 파일에 대한 데이터를 읽기 위해서는 먼저, 그 파일에 대한 FCB에서 파일 인덱스 번호와 데이터 시작 주소에 대한 오프셋 값 등을 알아야 하고, 다음 MMFS 파일 시스템을 연(오픈한) 파일의 핸들을 오프셋 만큼 옮겨 놓아야 한다. 따라서 MMFS의 다른 모듈의 하부 기능을 제공하여 멀티미디어 파일시스템을 구현하는데 하부 기능으로 사용될 수 있을 것이다.

Claims (6)

  1. 윈도우 네트워크상에서 미처리 입출력을 통해 디스크상에 파일을 관리하기 위한 파일 제어 객체와;
    각 파일에서 필요한 데이터 영역을 제공하고 프리 데이터 영역을 관리하기 위한 데이터 제어 객체와;
    상기 데이터 제어 객체를 관리하기 위한 데이터 제어 리스트 객체가 디스크상에 구축된 것을 특징으로 하는 멀티미디어 파일 시스템.
  2. 제 1 항에 있어서,
    상기 파일 제어 객체는 파일을 구별하기 위한 파일 인데스 멤버, 어플리케이션 프로그램에서 해당 파일 제어 객체 및 데이터의 접근을 위한 파일 이름 멤버, 파일 이름과 물리적 디스크 주소의 직접 매핑을 제공하는 데이터 영역 시작 오프 셋 멤버, 해당 파일의 크기를 바이트 단위로 나타내는 파일 크기 멤버, 해당 파일 제어 객체에 대한 연산 수행 전후에서 공유 메모리 접근과 해제시에 이용되는 공유 메모리 접근 변수 멤버, 멀티미디어 파일 시스템 수행 이후에 해당 파일이 참조된 전체 횟수를 나타내는 파일 참조 횟수 멤버, 파일의 소유자, 파일이 속한 그룹, 파일이 생성된 시간, 파일의 접근 허용, 파일의 전체 대역폭에 대한 정보를 포함하는 파일 정보 관리 멤버, 파일 제어 객체의 배타적 사용을 위한 파일 제어 객체 접근 제어 뮤텍스 맴버 및 파일 제어 객체 연산자로 이루어진 것을 특징으로 하는 멀티미디어 파일 시스템.
  3. 제 1 항에 있어서,
    상기 데이터 제어 객체는 프리 데이터 시작 주소를 나타내는 프리 데이터의 시작 주소를 나타내는 제 1 영역, 프리 데이터 영역의 길이를 나타내는 제 2 영역, 이전 데이터 제어 객체에 대한 포인터, 다음 데이터 제어 객체에 대한 포인터 및 데이터 제어 객체 연산자로 이루어진 것을 특징으로 하는 멀티미디어 파일 시스템.
  4. 제 1 항에 있어서,
    상기 데이터 제어 리스트 객체는 리스트의 시작을 나타내는 데이터 제어 객체의 헤더 포인터, 리스트의 마지막을 나타내는 데이터 제어 객체의 태일 포인터, 리스트 중 해당 데이터 제어 객체를 나타내는 데이터 제어 객체의 현재 포인터, 공유 메모리 접근을 위한 공유 메모리 관련 정보, 데이터 제어 객체 리스트의 관리 작업을 수행하는 데이터 제어 객체 리스트 뮤텍스 및 데이터 제어 리스트의 연산자로 이루어진 것을 특징으로 하는 멀티미디어 파일 시스템.
  5. 멀티미디어 파일 시스템 어플리케이션을 통해 명령어 또는 응용 프로그래밍 인터페이스로 디스크 입출력 요구가 들어오면, QOS 관리자 및 버퍼 관리자에서 자원 관리와 허용 제어를 하고, 버퍼에 원하는 데이터가 있는지를 체크하는 제 1 단계와;
    상기 제 1 단계로부터 버퍼에 원하는 데이터가 있으면 해당 데이터를 리턴한 후 수행을 종료하고, 원하는 데이터가 있지 않으면 디스크 관리자를 통해 디스크 입출력을 수행하는 제 2 단계와;
    상기 제 2 단계로부터 파일 제어 블록 객체가 디스크 제어 블록 정보를 통해 디스크 제어 블록 리스트 객체에 연결된 디스크 제어 블록 객체에서 데이터 영역을 할당 받아 디스크 스케쥴링을 통해 디스크에 쓰기 동작을 수행하는 제 3 단계와;
    상기 제 2 단계로부터 파일 제어 블록 객체의 파일 정보를 가지고 디스크 스케쥴링을 통해 디스크에 읽기 동작을 수행하는 제 4 단계를 포함하여 이루어진 것을 특징으로 하는 멀티미디어 데이터 처리 방법.
  6. 멀티미디어 파일 시스템 어플리케이션을 통해 명령어 또는 응용 프로그래밍 인터페이스로 디스크 입출력 요구가 들어오면, QOS 관리자 및 버퍼 관리자에서 자원 관리와 허용 제어를 하고, 버퍼에 원하는 데이터가 있는지를 체크하는 제 1 단계와;
    상기 제 1 단계로부터 버퍼에 원하는 데이터가 있으면 해당 데이터를 리턴한 후 수행을 종료하고, 원하는 데이터가 있지 않으면 디스크 관리자를 통해 디스크 입출력을 수행하는 제 2 단계와;
    상기 제 2 단계로부터 파일 제어 블록 객체가 디스크 제어 블록 정보를 통해 디스크 제어 블록 리스트 객체에 연결된 디스크 제어 블록 객체에서 데이터 영역을 할당 받아 디스크 스케쥴링을 통해 디스크에 쓰기 동작을 수행하는 제 3 단계와;
    상기 제 2 단계로부터 파일 제어 블록 객체의 파일 정보를 가지고 디스크 스케쥴링을 통해 디스크에 읽기 동작을 수행하는 제 4 단계를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1019990023663A 1999-06-23 1999-06-23 멀티미디어 파일 시스템 및 이를 이용한 멀티미디어 데이터 처리 방법 KR20010003383A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990023663A KR20010003383A (ko) 1999-06-23 1999-06-23 멀티미디어 파일 시스템 및 이를 이용한 멀티미디어 데이터 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990023663A KR20010003383A (ko) 1999-06-23 1999-06-23 멀티미디어 파일 시스템 및 이를 이용한 멀티미디어 데이터 처리 방법

Publications (1)

Publication Number Publication Date
KR20010003383A true KR20010003383A (ko) 2001-01-15

Family

ID=19594468

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990023663A KR20010003383A (ko) 1999-06-23 1999-06-23 멀티미디어 파일 시스템 및 이를 이용한 멀티미디어 데이터 처리 방법

Country Status (1)

Country Link
KR (1) KR20010003383A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100618887B1 (ko) * 2005-02-04 2006-09-01 삼성전자주식회사 멀티미디어 파일의 데이터 입출력 제어 방법 및 장치
KR20150063499A (ko) * 2012-12-25 2015-06-09 미츠비시 쥬고교 가부시키가이샤 마찰 저항 저감형 선박
CN114679438A (zh) * 2022-03-03 2022-06-28 上海艾策通讯科技股份有限公司 流媒体数据传输方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737747A (en) * 1995-10-27 1998-04-07 Emc Corporation Prefetching to service multiple video streams from an integrated cached disk array
US5931925A (en) * 1996-12-02 1999-08-03 International Business Machines Corporation System and method for efficiently transferring datastreams in a multimedia system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737747A (en) * 1995-10-27 1998-04-07 Emc Corporation Prefetching to service multiple video streams from an integrated cached disk array
US5931925A (en) * 1996-12-02 1999-08-03 International Business Machines Corporation System and method for efficiently transferring datastreams in a multimedia system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100618887B1 (ko) * 2005-02-04 2006-09-01 삼성전자주식회사 멀티미디어 파일의 데이터 입출력 제어 방법 및 장치
KR20150063499A (ko) * 2012-12-25 2015-06-09 미츠비시 쥬고교 가부시키가이샤 마찰 저항 저감형 선박
CN114679438A (zh) * 2022-03-03 2022-06-28 上海艾策通讯科技股份有限公司 流媒体数据传输方法、装置、计算机设备和存储介质
CN114679438B (zh) * 2022-03-03 2024-04-30 上海艾策通讯科技股份有限公司 流媒体数据传输方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
US6792518B2 (en) Data storage system having mata bit maps for indicating whether data blocks are invalid in snapshot copies
US6934822B2 (en) Organization of multiple snapshot copies in a data storage system
US6598129B2 (en) Storage device and method for data sharing
EP2176795B1 (en) Hierarchical storage management for a file system providing snapshots
US7035881B2 (en) Organization of read-write snapshot copies in a data storage system
US5367671A (en) System for accessing extended object attribute (EA) data through file name or EA handle linkages in path tables
US7610434B2 (en) File recording apparatus
US7979478B2 (en) Data management method
US7380091B2 (en) Heap memory management using a tri-linked list
US7213116B2 (en) Method and apparatus for mirroring objects between storage systems
KR101767710B1 (ko) 폐기가능 파일들의 카드-기반 관리
US7136981B2 (en) Method and apparatus for creating a virtual storage volume with a file size independent of a file size limitation
US20040030951A1 (en) Instantaneous restoration of a production copy from a snapshot copy in a data storage system
US20070106706A1 (en) Unlimited file system snapshots and clones
US20060047926A1 (en) Managing multiple snapshot copies of data
US5860135A (en) File managing device of a non-volatile memory, a memory card and method for controlling a file system
US8472449B2 (en) Packet file system
US7624230B2 (en) Information processing apparatus, information processing method and storage system using cache to reduce dynamic switching of mapping between logical units and logical devices
US20080162863A1 (en) Bucket based memory allocation
US20130325915A1 (en) Computer System And Data Management Method
US7225314B1 (en) Automatic conversion of all-zero data storage blocks into file holes
US20100121895A1 (en) Method for automatically managing disk fragmentation
US8176087B2 (en) Data processing
US7386692B1 (en) Method and apparatus for quantized deadline I/O scheduling
JP4394467B2 (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法

Legal Events

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