KR100457481B1 - 데이타저장방법,데이타저장시스템,정보캐리어,데이타인출방법 - Google Patents

데이타저장방법,데이타저장시스템,정보캐리어,데이타인출방법 Download PDF

Info

Publication number
KR100457481B1
KR100457481B1 KR1019970701640A KR19970701640A KR100457481B1 KR 100457481 B1 KR100457481 B1 KR 100457481B1 KR 1019970701640 A KR1019970701640 A KR 1019970701640A KR 19970701640 A KR19970701640 A KR 19970701640A KR 100457481 B1 KR100457481 B1 KR 100457481B1
Authority
KR
South Korea
Prior art keywords
sectors
cluster
data
storage
block
Prior art date
Application number
KR1019970701640A
Other languages
English (en)
Other versions
KR970706544A (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 KR970706544A publication Critical patent/KR970706544A/ko
Application granted granted Critical
Publication of KR100457481B1 publication Critical patent/KR100457481B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends
    • 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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • 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
    • G11B2020/10916Seeking data on the record carrier for preparing an access to a specific address
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (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)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

이를테면 주문형 비디오 서버와 같은, 멀티미디어 시스템에서, 데이터를 갖는 파일이 디스크 곳곳에 분포될 수 있는 일련의 연속 클러스터들에 저장된다.
클러스터는 사용자 응용에 의해 블록 단위로 판독될 수 있는 물리적 연속 섹터들로 구성되어 있다. 다음 클러스터를 시작할 때에 클러스터의 끝 부분에 있는 데이터 일부를 반복함으로써, 상기 시스템은 임의의 섹터로부터 섹터들의 블록을 판독할 수 있지만, 상기 블록 및 이어지는 후속 블록들은 한번의 탐색 동작에 의해 액세스가 가능해진다. 따라서 대화 응답 시간이 사용자가 임의의 데이터 단편(fragment)을 요청하는 상황에서 실질적으로 향상된다.

Description

데이터 저장 방법, 데이터 저장 시스템, 정보 캐리어, 데이터 인출 방법
본 발명은 파일에 데이터를 저장하는 방법에 관한 것이며, 상기 파일은 일련의 논리적 연속 클러스터들로 구성되고, 클러스터 내의 데이터 섹션들은 클러스터의 물리적 연속 저장 섹터들에 일대일로 저장된다.
본 발명은 또한 파일에 데이터를 저장하기 위한 시스템에 관한 것이며, 그 시스템은 일련의 논리적 연속 클러스터들을 포함하는 파일을 저장하기 위한 파일시스템을 포함하고, 각 클러스터 내의 데이터 섹터들은 그 클러스터의 물리적 연속 저장 섹터들에 일대일로 저장된다.
본 발명은 또한 데이터를 갖는 파일이 제공된 정보 캐리어에 관한 것이며, 그 파일은 일련의 논리적 연속 클러스터들을 포함하고, 각 클러스터 내의 데이터 섹터들은 그 클러스터의 물리적 연속 저장 섹터들에 일대일로 저장된다.
본 발명은 또한 논리적으로 연속하는 일련의 클러스터들을 포함하는 파일로부터 데이터를 인출하는 방법에 관한 것이며, 각 클러스터 내의 데이터 섹터들이 그 클러스터의 물리적 연속 저장 섹터들에 일대일로 저장되고, 소정의 클러스터에 있는 저장 섹터들은 매회 데이터 섹터들 중의 일부를 인출하기 위해서 블록단위로 판독된다.
본 발명은 또한 데이터를 사용자에게 이용 가능하게 하기 위한 시스템에 관한 것이며, 그 시스템은 일련의 논리적 연속 클러스터들을 포함하는 파일을 관리하기 위한 파일 시스템을 포함하고, 각 클러스터 내의 데이터 섹터들은 그 클러스터의 물리적 연속 저장 섹터들에 일대일로 저장된다
데이터를 사용자에게 이용 가능하게 하는 이러한 시스템은 소위 주문형 비디오(video-on-demand VOD) 서버로 공지되어 있다. 이런 종류의 서버는 파일들이 저장되는 하나 이상의 디스크들을 포함한다. 이어서 파일은 서버가 요구 시에 사용자에게 제시하는 필름(film)을 포함한다. 공지된 시스템에서 파일은 논리적 순서를 가지며 디스크 상에 분포될 수 있는 다수의 클러스터들을 포함한다. 클러스터는 파일의 데이터를 갖는 물리적 연속 섹터들을 포함한다. 파일의 데이터를 갖는 섹터들은 필름의 타이밍에 대응하는 속도로 사용자에게 데이터가 제시되는 버퍼에 놓여지도록 블록 단위로 디스크로부터 인출된다. 블록의 사이즈는 버퍼의 사이즈와 같으므로, 버퍼는 항상 완전히 채워진다(filled). 그 시스템에는 사용자를 위한 두 개의 버퍼를 가지며: 제 1 버퍼는 사용자에게 제시되는 데이터로 채워지고, 제 2 버퍼는 디스크로부터의 다음 블록으로 채워지도록 사용가능하다. 그 시스템의 스케줄러(scheduler)의 사이클은 제 1 버퍼에 있는 모든 데이터가 제시되기 전에 다음 블록이 제 2 버퍼에 존재하도록 한다. 그 순간에 제 1 및 제 2 버퍼는 함수들(functions)을 바꾸고 그 과정이 반복된다. 상기 공지된 시스템에서 버퍼에 대한 블록을 인출하는 것은, 인출될 섹터들이 클러스터에 물리적으로 연속하여 배열되어 있기 때문에, 일반적으로 디스크 상의 헤드에 의한 한번의 탐색 동작(seek operation)을 요구한다. 각 클러스터의 길이는 블록의 길이의 배수이므로, 클러스터의 마지막 블록도 한번의 탐색 동작에 의해 인출될 수 있다.
공지된 시스템은 상호작용(interaction)의 가능성을 많이 가지고 있으며, 이에 의해 사용자는 예를 들어 필름의 빠른 상영 또는 필름에서의 소정의 지점으로 점프하는 등과 같이 관련 영화의 상영을 제어할 수 있다. 결과적으로, 소정의 시점에서 사용자는 클러스터 내의 임의의 위치에서 시작하는 데이터를 요구할 수 있다. 그러나, 클러스터 내에 있는 블록의 스타팅 위치는 클러스터의 나머지 부분이 정수 개의 블록들로 판독될 수 있음이 보증되도록 블록 사이즈의 배수가 되는 위치에서만 그 위치하도록 선택될 수 있다. 요구된 데이터를 포함하는 블록은 인출되어 제 1 사용자 버퍼에 배치된다. 이 블록의 스타팅 위치에 관해 부여된 제약(restriction)들 때문에, 그 블록은 요구받은 데이터에 선행하는 소정 양의 데이터를 종종 포함할 것이다. 그런 경우에 버퍼는 사용자에게 제공될 데이터를 단지 부분적으로 포함하기 때문에, 스케줄러가 다음 사이클을 실행시키기 전에 버퍼가 비게 되는 위험이 있다. 그러므로, 사용자가 그 요구된 데이터를 수신하기 전에, 그 시스템은 관련 데이터를 포함하는 블록뿐만 아니라 그 다음 블록도 인출하고 나중 블록을 제 2 버퍼에 배치한다. 그 후에서야 버퍼링된 데이터를 사용자에게 제공하는 것이 시작된다. 결과적으로, 스케줄러는 사용자가 데이터를 요구하는 시점과 사용자가 데이터를 수신하는 시점 사이에 두 개의 사이클을 실행해야 한다. 이것은 사용자를 오래 기다리게 한다.
도 1은 공지된 기술에 따른 파일의 구성을 도시한 도면.
도 2는 본 발명에 따른 파일의 구성을 도시한 도면.
도 3은 각 클러스터가 10개의 섹터들로 구성되어 있는 3개의 클러스터들을 포함하는 파일의 예를 도시한 도면.
도 4는 데이터를 파일에 저장하기 위한 본 발명에 따른 시스템의 필수적 부분들을 개략적으로 도시한 도면.
도 5는 데이터를 파일에 저장하기 위한 본 발명에 따른 방법의 주요 단계들을 설명하는 플로우 차트를 도시한 도면.
도 6은 데이터를 사용자에게 이용 가능하게 하기 위한 본 발명에 따른 시스템의 필수적인 부분들을 개략적으로 도시한 도면.
도 7은 파일로부터 데이터를 이용 가능하게 하기 위한 본 발명에 따른 방법의 주요 단계들을 설명하는 플로우 차트를 도시한 도면.
특히, 본 발명의 목적은 개선된 데이터 액세스 정도를 가지고 데이터를 사용자에게 이용 가능하게 하기 위한 전술한 종류의 방법 및 시스템을 제공하는 것이다. 이를 위하여, 본 발명을 따르는 방법은,
- 소망의 저장 섹터로부터 저장 섹터들의 제 1 블록을 판독하는 단계와,
- 상기 제 1 블록의 끝 부분과 관련 클러스터의 끝 부분 사이에 남아있는 저장 섹터들의 수를 검출하는 단계와,
- 상기 남아있는 저장 섹터들의 수가 다음 블록에서 판독될 저장 섹터들의 수보다 작은 경우, 논리적으로 다음의 클러스터에 있는 다음의 소망의 저장 섹터로 점프하는 단계를 포함하는 것을 특징으로 하고,
상기 파일 시스템은 소정의 클러스터의 마지막 K개의 저장 섹터들의 데이터 섹터들이 상기 소정의 클러스터에 계속되는 클러스터의 처음 K개의 저장 섹터들의 데이터 섹터들에 대응하는 상기 파일을 관리하도록 배열되는 것을 특징으로 한다. 클러스터의 끝 부분에 있는 저장 섹터들의 데이터 섹터들 중의 일부가 다음 클러스터의 시작 시에 반복되기 때문에, 인출될 데이터 섹터들의 블록은 클러스터내의 임의의 섹터에서 시작될 수도 있으나, 그럼에도 불구하고 저장 매체 상에서의 한번의 탐색 동작 이후에 관련 블록 및 그 다음의 블록들을 인출하는 것이 가능하다. 이것은 파일로부터의 데이터를 보다 더 유연하게 판독할 수 있게 한다.
본 발명에 따른 시스템의 일실시예는, 판독 수단이 소망의 저장 섹터로부터 저장 섹터들의 제 1 블록을 판독하도록 배치되고, 상기 시스템은:
- 상기 제 1 블록의 끝 부분과 관련 클러스터의 끝 부분 사이에 남아있는 저장 섹터들의 수를 검출하기 위한 검출기와,
- 상기 남아있는 저장 섹터들의 수가 다음 블록에서 판독될 저장 섹터들의 수보다 작은 경우, 논리적으로 다음의 클러스터에 있는 다음의 소망의 저장 섹터로 점프하기 위한 점프 수단을 포함하는 것을 특징으로 한다.
점프 이후에 인출된 데이터 섹터들의 제 1 블록은 소망의 데이터의 시작시에 정확히 시작하기 때문에, 이 블록의 데이터 섹터들은 사용자에게 직접적으로 제시될 수 있다. 데이터 섹터들의 제 2 블록을 먼저 인출하는 것이 더 이상 불필요하다. 결과적으로, 점프 명령을 내린 후에 사용자는 데이터가 수신될 때까지 오래 기다릴 필요가 없다.
본 발명에 따른 시스템의 일실시예는, 데이터 섹터들의 수로서 표현되는 버퍼의 용량은 많아야 K+l개인 것을 특징으로 한다. 인출될 데이터 섹터들의 블록의 크기는 본 발명에 따른 관련 환경들에 정확히 적응될 수 있다. 블록이 임의 위치에서 시작할 수 있기 때문에, 공지된 시스템의 경우에서와 같이 클러스터 크기의 약수(divisor)로 블록의 크기를 선택하는 것은 더 이상 불필요하다. 본 발명에 따른 데이터 섹터들의 반복 때문에, 블록은 클러스터 내의 임의의 위치에서 시작할 수 있으나, 그럼에도 불구하고 한번의 탐색 동작에 의해 상기 블록 및 임의의 다음 블록을 인출하는 것이 가능하다.
본 발명의 또 다른 목적은 개선된 데이터 액세스 정도를 갖고서, 파일에 데이터를 저장하기 위한 전술한 바와 같은 종류의 방법 및 시스템을 제공하는데 있다. 따라서, 본 발명을 따르는 방법은, 소정의 클러스터의 마지막 K개의 저장섹터들에 저장된 데이터 섹터들은 상기 소정의 클러스터에 곧바로 계속되는 제 2 클러스터의 처음 K개의 저장 섹터들에서 반복되는 것을 특징으로 하며, 본 발명에 따른 시스템은 파일 시스템이 소정의 클러스터의 마지막 K개의 저장 섹터들에 저장된 데이터 섹터들을 상기 소정의 클러스터에 계속되는 제 2 클러스터의 처음 K개의 저장 섹터들에서 반복하도록 배치되는 것을 특징으로 한다. 클러스터의 마지막 부분의 저장 섹터들 중의 데이터 섹터들은 다음 클러스터의 시작 시에 반복되기 때문에, 파일내의 데이터의 액세스 정도가 개선된다. 파일로부터의 데이터 섹터들의 블록들의 판독은 임의의 위치에서 시작할 수 있으나, 그럼에도 불구하고 한번의 탐색 동작에 의해 그 디스크로부터 각 블록을 인출하는 것이 가능하다.
본 발명의 또 다른 목적은 개선된 사용자 액세스 정도를 가진 앞서 설명된 종류의 저장 매체를 제공하는 것이다. 이를 위해, 본 발명에 따른 저장 매체는 소 정의 클러스터의 마지막 K개의 저장 섹터들의 데이터 섹터들이 그 소정의 클러스터에 계속되는 클러스터의 처음 K개의 저장 섹터들의 데이터 섹터들에 대응하는 것을 특징으로 한다. 다음 클러스터의 시작 시에 클러스터의 마지막 부분의 저장 섹터들에서 데이터 섹터들이 반복되기 때문에, 그 저장 매체를 이용하는 동안 파일 내의 데이터에 대한 액세스 정도가 개선된다. 파일로부터의 데이터 섹터들의 블록들의 판독은 임의의 위치에서 시작할 수 있으나, 그럼에도 불구하고 저장 매체 상에서 한번의 탐색 동작에 의해 각 블록을 인출하는 것이 가능하다.
본 발명의 이들 및 다른 양상들이 이후에 기재된 실시예들을 참조하여 분명해지고 명료해질 것이다.
도 1은 공지된 기술에 따른 파일의 구성을 도시한다. 그러한 파일은 예를들어, 요구 시에 사용자에게 이용 가능하게 되는 주문형 비디오 서버의 디스크에 저장된 필름에 관련한다. 파일은 일련의 클러스터들, 즉 본 경우에는 100, 102, 104를 포함하고, 이들 각각은 다수의 섹터들, 예를 들어 섹터(106)를 포함한다. 파일 내의 데이터의 연속은 저장된 데이터를 다시 이용 가능하게 하는데 중요하다. 필름의 화상들은 통상의 재생 동안에 고정 연속적으로 이용 가능하게 되어야한다. 클러스터내의 섹터들은 물리적으로 연속하여 저장되고, 이어서 하나의 섹터는 논리적 관점에서 다음 섹터의 데이터보다 선행하는 데이터를 포함한다. 많은 경우들에서 클러스터들은 연속적으로 저장되지는 않지만 저장 매체 곳곳에 분포된다. 그러나, 클러스터들은 데이터의 최초 순서에 대응하는 논리 순서를 갖고 있다. 본 예에서 클러스터(100)는 클러스터(102)보다 선행하며, 그 클러스터(102)는 클러스터(104)보다 선행한다. 실제로 예를 들어 자기 디스크나 광학 디스크 같은 저장 매체는 파일들의 변화하는 세트를 포함할 것이다. 주문형 비디오 서버의 경우에 새로운 필름이 추가될 것이고, 구 필름은 제거될 것이다. 저장 매체의 효율적인 공간 관리를 위해 이러한 변화하는 세트의 파일들을 클러스터들로 세분하고 저장 매체 곳곳에 분포되도록 이 클러스터들을 저장하는 것이 결정된다. 파일로부터의 데이터 판독은 저장 매체 상의 관련 데이터에 대한 탐색 동작 및 저장 매체로부터의 데이터의 전송을 포함한다. 적절한 판독 효율성을 달성하기 위해, 그 데이터는 블록 단위로 판독되어지고, 매번 연속 섹터들의 블록의 데이터가 판독된다. 이어서, 그 데이터 블록은 대개 사용자 응용에 의해 소망의 속도로 데이터가 인출될 수 있는 버퍼(108)에 저장된다. 이 원리에 따라 동작하는 시스템은 연속 섹터들의 블록이 저장 매체로부터 인출되어 이러한 인출을 필요로 하는 모든 사용자들을 위해 버퍼에 저장되게 되는 소위 소정의 지속 기간의 사이클을 갖는다. 판독될 섹터들의 블록(110)은 클러스터의 데이터가 정수개의 블록들로 판독될 수 있는 크기를 갖는다. 그렇지 않으면, 클러스터들이 연속하여 저장되지 않기 때문에 남아있는 클러스터의 일부를 판독하는 것은 다음 클러스터의 시작으로부터의 데이터로 버퍼를 채우기 위해 제 2 탐색 동작을 필요로 하게 될 것이다. 필요한 시간 때문에, 이러한 제 2 탐색 동작은 연속 데이터 스트림을 사용자에게 제시하는 실시간 시스템들에는 대개 받아들여질 수 없다.
상기 원리에 따라 동작하는 시스템에서, 파일내의 데이터에서 임의의 섹터(112)로의 점프들이 가능하다. 이어서, 정수의 블록들이 클러스터의 끝 부분까지 판독되어야 한다는 사실을 고려하는 동안에 그 섹터가 위치해 있는 블록이 결정된다. 그러므로, 공지된 시스템은 섹터들의 블록들이 클러스터로부터 판독될 수 있는 고정된 패턴을 갖는다. 도 1에 도시되어 있는 예에서, 소망의 섹터는 블록(114) 내에 위치해 있고 이 블록은 인출되어 버퍼(108)에 저장된다. 이어서 상기 버퍼는 필요하지 않은 데이터, 즉 블록(114)에서 섹터(112)보다 선행하는 섹터들의 데이터를 포함하고 있다. 이어서 추가적인 데이터 제시는, 버퍼가 소정의 데이터로 완전히 채워진 때보다 버퍼(108)내의 데이터가 더 빠르게 소모되기 때문에, 문제가 될 수도 있다. 결과적으로, 다음 블록이 사용자를 위해 인출되기 전에 버퍼가 비게 될 것이다. 그러므로, 임의의 섹터로의 점프의 경우에 관련 섹터가 위치해 있는 블록뿐만 아니라 다음 블록도 인출된다. 사용자에게로의 데이터 제시는 단지 그 후에 시작된다. 도 1에 도시되어 있는 예에서, 제 1 사이클 동안에 블록(114)이 인출되어 버퍼(108)에 저장되고, 그 후 제 2 사이클 동안에 블록(116)이 인출되어 버퍼(118)에 저장되고; 사용자에게로의 버퍼(108) 내의 데이터 제시는 단지 그 후에 시작된다. 이는 두 사이클들은 사용자가 소정 섹터의 데이터를 요구하는 시점과 사용자가 그 데이터를 수신하는 시점 사이에서 종료된다는 것을 의미한다. 공지된 시스템에서 평균 사이클 시간은 2초이고 최대 사이클 시간은 6초이다. 그러므로, 점프의 경우에 4초의 평균 대기 시간 간격 및 12초의 최대 대기 시간 간격이 있다.
도 2는 본 발명을 따르는 파일의 구성을 도시하고 있다. 이 파일은 물리적으로 연속하여 배열되어 있는 일련의 섹터들로 구성되어 있는 일련의 논리적 클러스터(100, 102, 104)들을 갖는 공지된 구조를 갖고 있다. 본 발명을 따르는 파일에서 클러스터의 마지막 부분에 있는 데이터는 논리적으로 다음에 있는 클러스터의 제 1 부분에서 반복되어진다. 섹터들의 블록(202)에 있는 데이터는 섹터들의 블록(204)에 있는 데이터에 대응하고 블록(206)에 있는 데이터는 블록(208)에 있는 데이터에 대응한다. 반복이 적어도 최대 버퍼 용량 마이너스 1과 같게 이루어질 때, 섹터들의 블록 인출은 클러스터 내의 임의의 위치에서 시작될 수 있지만 한번의 탐색 동작에 의해 블록을 인출하는 것이 항상 가능하다. 예를 들면, 데이터가 요구받아서 섹터(210)에서 시작될 때, 그 시스템은 섹터(210)에서 시작되는 섹터들의 블록(212)을 인출하고 그것을 사용자에 의해 다 사용되도록 버퍼(108)에 배치한다. 다음으로, 다음 사이클 동안에 블록(214)이 인출되고, 그 후에 클러스터(102)의 나머지 부분(216)은 인출될 섹터들의 블록보다 적어진다. 그 경우에, 다음 사이클 동안, 블록(214)에 이어, 블록(218)이 다음의 클러스터(104)로부터 인출되고, 섹터들 일부(220)는 스킵(skipped)되는데 그 이유는 거기에 대응하는 데이터가 이미 블록(214)에 의해 판독되었기 때문이다. 그러므로, 데이터의 반복때문에, 블록(214) 이후에는 클러스터(102)내 및 클러스터(104)내에 부분적으로 남아있는 블록을 인출할 필요가 없다. 이렇게 분할된 블록의 인출은 두 번의 탐색 동작을 수반하게 되는데, 그 이유는 클러스터들이 물리적으로 연속되어 있는 형태로 저장되어 있지 않기 때문으로, 이것은 시스템의 상기 사이클 시간과 비교하여 상당한 양의 시간을 필요로 할 것이다. 블록(212)의 시작이 원하는 데이터의 시작과 일치하기 때문에, 이 블록을 인출하고 나서야, 버퍼가 사용자가 이용할 데이터로 완전히 채워질 것이다. 따라서, 사용자에게로의 데이터 제공은 관련 블록을 버퍼에 저장시킨 직후에 시작될 수도 있다. 데이터를 요구받는 시점 및 관련 데이터를 수신하는 시점 사이의 시간 경과는 따라서 오직 한 사이클에 상당한다. 공지된 시스템과 비교하면, 본 발명을 이용하는 시스템은 사용자에 대한 최대 대기 시간을 반으로 줄인다. 이것은 본 발명에 따라서 인출될 섹터들의 블록이 클러스터에 있는 임의의 섹터에서 시작될 수도 있기 때문에 달성될 수 있지만, 디스크 상에서의 한 번의 탐색 동작에 의해 관련 블록 및 그 다음 블록을 인출하는 것이 가능하다.
본 발명의 또 다른 이점은 인출될 블록의 크기에 관한 유연성에 대한 것이다. 공지된 시스템에서 블록의 크기는 클러스터가 정수개의 블록들로 구성되어 있어야 한다. 본 발명을 따르는 오버랩(overlap)의 덕택으로, 블록의 크기는 특정 환경, 예를 들면 사용자 버퍼의 크기, 및 데이터가 사용자에 의해 다 이용되는 비율(rate)에 정확하게 알맞게 될 수 있다. 소정 크기의 블록을 판독하는 동안 클러스터가 그 나머지가 하나의 블록보다 더 적은 정도까지 판독되었을 때, 다음 블록이 그 다음 클러스터로부터 완전히 판독될 수 있다. 블록 크기의 선택에 관해 제기되는 필요 조건은 블록이 데이터가 반복되는 섹터들의 수보다 더 큰 1개의 섹터이하일 수도 있는 것이다. 이러한 보다 높은 유연성은 하나 이상의 사용자를 포함하는 시스템에 응용하는데 있어 특히 눈에 띄는 점이다. 이용 비율 및 응답 시간과 관련하여 사용자가 필요로 하는 것들에 대해 최적인 버퍼 크기를 각각의 사용자는 할당받을 수 있다. 본 발명을 따르는 시스템에 대한 특정 실시예에 있어서, 파일은 1기가 바이트의 용량을 갖고, 클러스터는 10 메가바이트의 용량을, 인출될 데이터 섹터들의 블록은 128 킬로바이트의 용량을, 데이터 섹터는 512 바이트의 용량을 갖는다.
도 3은 각 클러스터가 10개의 섹터들로 구성되어 있고, 파일은 3개의 클러스터로 구성되어 있는 한 예를 도시하고 있다. 클러스터의 마지막 부분에 있는 4개의 섹터들의 데이터는 그 다음 클러스터의 처음 부분의 4개의 섹터들에서 반복된다. 이 파일은 임의의 섹터에서 시작하여, 5개의 섹터들의 블록으로 판독될 수 있다. 전체 파일을 연속하여 판독하기 위해, 다음과 같은 위치를 갖는 블록들 및 내용들이 판독된다:
클러스터 302, 섹터 1 "abcde"
클러스터 302, 섹터 6 "fghij"
클러스터 304, 섹터 5 "klmno"
클러스터 306, 섹터 4 "pqrst"
클러스터 306, 섹터 9 "uv"
판독 동안에 클러스터의 다음 섹터가 당연히 다음 블록으로 판독되는 것이 확립된다. 클러스터의 마지막 부분까지 다음 섹터로부터 섹터들의 수가, 적어도 블록 크기와 같은 경우에, 다음 블록이 현재의 클러스터로부터 판독될 수도 있다. 클러스터의 마지막 부분까지 상기 다음 섹터로부터 섹터들의 수가, 블록 크기보다 적은 경우에, 다음 블록은 다음 클러스터로부터 판독되어야 한다. 그런 경우에, 블록은, 다수의 섹터들의 데이터가 이전 클러스터로부터 이전에 인출된 블록으로 이미 판독된 상기 다수의 섹터들의 오프셋(offset) 이후에 다음 클러스터에서 시작되어야 한다. 원하는 경우에, 파일은 보다 작은 블록들로 판독될 수 있다. 블록 크기가 세 개의 섹터가 되는 경우에, 파일은 다음과 같은 완전히 판독된다:
클러스터 302, 섹터 1 "abc"
클러스터 302, 섹터 4 "def"
클러스터 302, 섹터 6 "ghi"
클러스터 304, 섹터 4 "jkl", 등등.
또한, 판독은 클러스터에 있는 임의의 섹터로 시작될 수도 있다. 상기 임의의 섹터에서처럼, 블록들은 클럭스터에 남아있는 섹터들의 수가 불충분하게 될때까지 판독된다. 그런 경우에, 전술된 방식으로 그 다음 클러스터로의 전환이 이루어진다.
클러스터가 C개의 섹터들로 구성되어 있는 일반적인 경우에, 클러스터의 마지막 부분으로부터의 0개의 섹터들의 반복되고, 블록은 B개의 섹터들의 크기를 가지며 판독될 다음 섹터는 클러스터에서 수 Snr이며, 섹터들은 1에서부터 연속하여 번호가 매겨지고, 다음과 같은 규칙이 적용된다:
C - Snr + 1 ≥ B이면, 현재 클러스터로부터 다음 블록
C - Snr + 1 < B이면, 다음 클러스터로부터 다음 블록
Snr[다음 클러스터] = 0 - (C-Snr[현재 클러스터]).
상기에서, Snr[다음 클러스터]는 다음 블록이 시작되어야 하는 다음 클러스터에 있는 섹터의 수이다.
도 4는 본 발명을 따라 파일에 데이터를 저장하기 위한 시스템의 가장 중요한 부분을 도시하고 있다. 상기 시스템은 소정의 소스로부터 데이터를 수신하고 이 데이터를 저장 매체 상의 파일에 저장하도록 되어 있는데, 이 파일은 도 2 및 도 3을 참조하여 기술한 바와 같이 본 발명을 따라 구성되어 있다. 상기 시스템은 상기 목적을 위해 적절한 프로그램들을 구비한 일반용 컴퓨터를 토대로 구성되어 있다. 상기 시스템은 상기와 같은 목적을 위해 메모리(404)로 로딩(load)되는 프로그램들을 실행시키기 위한 프로세서(402)를 포함한다. 상기 시스템은 또한 예를들어 하나 이상의 디스크(406)를 갖는 디스크 유닛과 같은, 파일 저장용 저장 매체를 갖는 장치를 포함한다. 상기 시스템은 또한 데이터가 이 시스템에 인가될 수 있도록 하는 장치를 포함한다. 이것은 테이프(408) 및/또는 네트워크 링크(410)를 통해 일어날 수도 있지만, 다른 장치들 또한 가능하다. 상기 시스템은 데이터를 디스크 유닛 및 테이프 유닛과 교환하기 위한 인터페이스부(412), 및 데이터를 네트워크 접속과 교환하기 위한 인터페이스부(414)를 포함한다. 상기 시스템은 또한 메모리의 일부분에 놓여 있어서 데이터가 한 장치에서 다른 장치로 전송될 수 있도록 하는 버퍼(416)를 포함할 수도 있다. 상기 시스템은 또한 이 시스템의 다수의 부품들 간에 명령 및 데이터를 교환하기 위한 버스(418)를 포함한다. 메모리(404)의 일부는 저장 매체상의 파일들을 관리하는 소위 파일 시스템 프로그램을 저장한다. 또한, 메모리는 장치의 데이터를 판독하고 본 발명을 따라 파일에서 처리하고 파일에 저장하기 위한 파일 시스템에 상기 데이터를 제공하는 응용 프로그램을 저장한다.
도 5는 데이터를 파일에 저장하기 위한 본 발명을 따르는 방법의 주요 단계들을 나타낸 플로우 차트를 도시하고 있다. 단계(502) 동안에 초기화가 일어나고, 특히 단계 동안에 디스크 상의 프리(free) 공간이 결정되고, 클러스터들 사이에서 반복될 부분에 대한 소정의 명칭 및 소정의 크기를 갖는 파일이 선택되고, 제 1 프리클러스터가 확보되어진다. 단계(504)에서 데이터 섹터들을 갖는 블록이 상기 응용으로부터 수신된다. 데이터 섹터는 클러스터의 섹터에 저장될 수 있을 정도의 크기를 갖는 데이터의 한 부분이다. 클러스터의 이러한 섹터는 하기에서 저장 섹터로서 언급된다. 데이터 섹터들을 갖는 블록이 단계(506)에서 현재 클러스터의 저장 섹터들에 저장된다. 다음으로, 단계(508)에서 데이터 섹터들을 갖는 다음 블록이 수신될 것인지가 검색된다. 수신되지 않는 경우이면, 파일은 단계(510)에서 폐쇄된다. 이것은 특히, 마지막 클러스터의 미사용된 저장 섹터들의 해제를 의미할 수도 있다. 데이터 섹터들의 다음 블록이 수신되는 것이 단계(508)에서 확립되는 경우에, 상기 블록이 여전히 현재 클러스터에 적합한지가 단계(512)에서 검색된다. 클러스터가 아직 채워져 있지 않으면, 블록을 수신하기 위해 단계(504)로 회귀된다. 그 처리는 전술된 바와 같이 반복된다. 단계(512)에서 클러스터가 채워져 있음을 나타내는 경우에, 다음의 프리 클러스터가 단계(514) 동안에 확보되고 파일의 클러스터들의 논리적 직렬에 포함된다. 다음으로, 단계(516) 동안에는 채워진 클러스터의 선택된 수의 저장 섹터들의 데이터 섹터들이 새로운 클러스터의 시작부에 있는 그에 대응하는 수의 저장 섹터들에 카피(copy)되어진다. 다음으로, 상기 응용으로부터 데이터 섹터들을 갖는 블록을 수신하기 위하여 그리고 단계(506) 동안에 클러스터에 있는 상기 카피된 데이터 섹터들에 연이어 상기 블록을 배열하기 위하여 단계(504)로의 회귀가 이루어진다. 다음으로 처리가 전술한 바와 같이 반복되어진다.
간단한 방식으로 본 발명에 대한 방법의 원리를 설명하기 위하여, 데이터 섹터들의 블록은 정확히 클러스터를 채울 수 있다고 가정한다. 이 가정은 실제의 경우에서는 불필요하다. 그 경우에, 블록은 하나의 단계에서 저장되지 않지만, 개개의 저장 섹터들은 하나씩 채워지고, 매번 클러스터가 채워졌는지가 검색된다. 그런 경우에, 블록의 저장은 다음의 프리 클러스터를 확보하기 위하여 또한 동시에 일어나는 클러스터의 마지막 부분으로부터의 데이터 섹터들을 카피하기 위하여 인터럽트된다. 원하는 경우에, 클러스터의 마지막 부분으로부터 다음 클러스터의 처음 부분의 저장 섹터들까지 데이터 섹터들을 카피하는 것은 지연될 수 있다. 예를 들어 비디오 소스를 실시간으로 엔코딩하는 경우에 상기 응용으로부터의 데이터 섹터들들의 블록의 스트림이 인터럽트되지 않는다면, 상기의 카피 지연이 필요할 수도 있고, 스트림의 수신과 병행하여 원하는 부분을 일시적으로 카피하기 위한 용량이 남아 있지 않을 정도까지 상기 시스템에 부담시킨다. 상기와 같은 경우에 그것은 클러스터의 처음 부분에 공간을 확보하고 데이터 섹터들을 갖는 블록을 거기에 직렬로 배열하는데 충분하다. 비어 있는 공간에 선행 클러스터의 마지막 부분에 대한 카피가 데이터 섹터들의 모든 블록들이 상기 응용으로부터 수신되었을 때 나중 단계에서 실행된다.
도 6은 데이터를 사용자에게 이용 가능하게 하기 위한 본 발명을 따르는 시스템의 가장 중요한 부분을 개략적으로 도시하고 있다. 상기 시스템은 저장 매체상의 파일로부터 데이터를 인출하고, 상기 파일은 도 2 및 도 3을 참조하여 기술한 바와 같이 본 발명을 따라 구성된다. 상기 시스템은 상기 목적을 위한 적절한 프로그램들을 구비한 일반용 컴퓨터를 토대로 구성된다. 상기 시스템은 상기와 같은 목적을 위해 메모리(604)로 로딩(load)되는 프로그램들을 실행하기 위한 프로세서(602)를 포함한다. 그 시스템은 또한 파일의 저장용 저장 매체를 갖는 장치를 포함한다. 그러한 장치로는 예를 들어 하나 이상의 디스크(606)를 갖는 디스크 유닛이 있다. 그 시스템은 또한 데이터가 사용자에게 인가될 수 있도록 접속(608)을 포함한다. 또한 상기 데이터는 다른 위치에서 처리될 수도 있지만, 이와는 달리 그러한 처리는 그 시스템이 상기 목적을 위해 설계되어 있는 경우 시스템 내에서 국부적으로 발생할 수 있다. 상기 시스템은 또한 디스크 유닛용 인터페이스부(610) 및 데이터를 네트워크 접속을 통해 전송하기 위한 인터페이스부(612)를 포함한다. 또한 상기 시스템은, 메모리 내에 있고 저장 매체로부터 데이터 섹터들의 블록을 일시적으로 저장하는데 소용되고 이 데이터 섹터들을 사용자 응용에 이용가능하게 하는데 소용되는 버퍼(614)를 포함한다. 저장 매체 상의 파일로부터 데이터 섹터들을 인출하기 위한 파일 시스템 프로그램은 메모리 내로 로딩(load)될 수도 있다. 또한, 사용자를 위해 데이터 섹터들을 처리하는 응용 프로그램 역시 로딩될 수 있다. 소정의 응용을 위해, 그 시스템은 제 2 버퍼(616)를 구비할 수도 있지만, 그것은 본 발명의 필수적인 양태는 아니다. 두 개의 버퍼를 구비하는 그런 종류의 시스템에서, 데이터 섹터들의 다음 블록이 동시에 저장 매체로부터 인출되어 다른 버퍼에 놓이게 되는 동안 한 버퍼로부터 사용자 응용까지 데이터 섹터들이 인가된다. 한 버퍼가 소정의 시점에서 비어 있게 될 때, 그 동안에 채워진 다른 버퍼의 데이터 섹터들은 사용자 응용에 제공되고 다른 블록은 인출되어 상기한 버퍼에 저장된다. 따라서, 데이터 섹터들의 연속 스트림은 사용자 응용에 인가될 수 있다. 이것은 예를 들면 파일이 비디오 정보를 포함하고 있는 주문형 비디오 서버에 본 발명이 이용될 때 필요하고, 사용자가 비디오 영상의 연속 스트림을 수신해야 할 때 필요하다. 상기 시스템은 또한 시스템의 다양한 부품들 간에 명령 및 데이터를 교환하기 위한 버스(618)를 포함한다.
본 발명에 따른 시스템은 종종 하나 이상의 사용자에게 동시에 서비스를 제시하도록 배치된다. 각각의 사용자를 위해 상기 시스템은 버퍼(614), 가능하면 버퍼(616)를 포함하고, 접속 장치(608)를 통해 각기 개개의 사용자에 대한 전송을 제공한다. 저장 매체는 하나 이상의 파일을 포함할 수도 있으며, 각 파일의 데이터 섹터들을 다른 사용자들에게 제공하는 것이 가능하다. 주문형 서버의 경우에, 소정의 비디오 필름이 하나의 파일에 저장될 수도 있지만 다른 가능성 또한 존재한다. 하나의 비디오 필름은 다수의 파일을 포함할 수 있을 것이며 하나의 파일은 여러 개의 비디오 필름을 포함할 수 있을 것이다.
도 7은 파일로부터의 데이터를 이용 가능하게 하도록 본 발명을 따르는 방법의 주요 단계들을 나타낸 플로우 차트를 도시하고 있다. 단계(702)는 초기화 단계이고 파일의 선택, 인출될 데이터 섹터들의 블록 크기 선택, 및 필요한 버퍼들의 예비를 포함한다. 또한, 상기 단계에서 가변 블록 포인터(BLOCK POINTER)는 데이터 섹터들의 제 1 블록이 인출되어야 하는 저장 섹터에 할당된다. 처음에는 이것은 파일의 연속 판독을 위한 제 1 저장 섹터가 된다. 그러나, 그것은 예를 들면 소정 장면의 선택과 같은 사용자 요청에 따라, 원하는 데이터가 시작되는 저장 섹터이다. 단계(704)에서 블록 포인터에 의해 지시된 저장 섹터들의 블록이 판독되고, 단계(706)에서 관련 데이터 섹터들이 버퍼에 놓이게 된다. 다음으로, 단계(708)에서 가변 블록 포인터(BLOCK POINTER)가 증분되고, 그 후에 증분된 블록 포인터는 방금 판독된 블록을 직접 수반하는 저장 섹터를 나타낸다. 단계(710)에서는 데이터 섹터들의 다음 블록이 필요한지가 검색된다. 필요하지 않은 경우, 단계(712)에서 진행이 종료되고, 사용된 버퍼 및 다른 공간이 해제된다. 데이터 섹터들의 또 다른 블록이 필요한 경우에, 단계(714)에서 블록 포인터에 의해 지시된 저장 섹터로부터 다음 블록을 채우기 위하여 충분한 수의 저장 섹터들이 현재 클러스터에 있는지가 검색된다. 그러한 경우, 상기 다음 블록을 인출하기 위하여 단계(704)로의 회귀가 이루어지고 전술한 바와 같이 상기 처리가 계속된다. 그렇지 못한 경우에는, 단계(716)에서 다음 클러스터에 있는 저장 섹터로부터 다음 블록이 이미 판독된 데이터 섹터들을 스킵(skip)하도록 인출되어야 하는 저장 섹터가 계산되어진다. 이 계산은 도 3을 참조하여 상세히 설명하였다. 이 계산된 저장 섹터는 가변 블록 포인터(BLOCK POINTER)에 할당되고, 그 후에 단계(704) 및 다음 블록을 인출하기 위한 이어지는 단계들로의 회귀가 이루어진다.
1인의 사용자에 대한 절차가 위에서 기술되었다. 실제로는 다수의 이러한 처리가 복수의 사용자에 대하여 동시에 실행된다는 것은 명백하다. 상기 처리들의 동기화에 관한 다양한 가능성들에 존재한다. 예를 들면, 소정의 시점에서 리스트가 인출될 데이터 섹터들의 블록들로 구성될 수 있고, 그 다음에 상기 리스트의 모든 블록들이 한 사이클 동안 저장 매체로부터 인출되어 사용자 버퍼에 배열된다. 상기 사이클 동안에 인출될 블록들의 새로운 리스트가 구성되고 상기 사이클이 끝날 때에 새로운 사이클이 시작되어 상기 새로운 리스트의 블록들은 인출한다.

Claims (11)

  1. 저장 디바이스 내의 파일에 데이터를 저장하기 위한 디지털 데이터 처리 디바이스에서의 사용을 위한 방법에 있어서,
    상기 파일을 일련의 논리적 연속 클러스터들로 구성하는 단계와,
    소정의 클러스터의 마지막 K개의 저장 섹터들에 저장된 데이터 섹터들이 상기 소정의 클러스터에 곧 바로 계속되는 제 2 클러스터의 처음 K개의 저장 섹터들에서 반복되도록 클러스터 내의 데이터 섹터들을 상기 클러스터의 물리적 연속 저장 섹터들에 일대일로 저장하는 단계를 포함하는, 디지털 데이터 처리 디바이스에서의 사용을 위한 방법.
  2. 저장 디바이스 내의 파일에 데이터를 저장하기 위한 디지털 데이터 처리 시스템으로서, 상기 시스템은 데이터 섹터들로 이루어진 일련의 논리적 연속 클러스터들을 포함하는 상기 파일을 저장하기 위한 파일 시스템을 포함하고, 각 클러스터 내의 데이터 섹터들은 상기 클러스터의 물리적 연속 저장 섹터들에 일대일로 저장되는, 상기 디지털 데이터 처리 시스템에 있어서,
    상기 파일 시스템은 소정의 클러스터의 마지막 K개의 저장 섹터들에 저장된 데이터 섹터들을 상기 소정의 클러스터에 계속되는 제 2 클러스터의 처음 K개의 저장 섹터들에서 반복하도록 배치되는 것을 특징으로 하는, 디지털 데이터 처리 시스템.
  3. 데이터를 갖는 파일이 제공된 정보 캐리어로서, 상기 파일은 일련의 논리적 연속 클러스터들을 포함하고, 각 클러스터 내의 데이터 섹터들은 상기 클러스터의 물리적 연속 저장 섹터들에 일대일로 저장되는, 상기 데이터를 갖는 파일이 제공된 정보 캐리어에 있어서,
    소정의 클러스터의 마지막 K개의 저장 섹터들의 데이터 섹터들은 상기 소정의 클러스터에 계속되는 클러스터의 처음 K개의 저장 섹터들의 데이터 섹터들에 대응하는 것을 특징으로 하는, 데이터를 갖는 파일이 제공된 정보 캐리어.
  4. 디지털 처리기의 저장 디바이스 내의 파일로부터 데이터를 인출하는 방법으로서, 상기 파일은 데이터 섹터들로 이루어진 논리적으로 연속하는 일련의 클러스터들을 포함하고, 각 클러스터 내의 데이터 섹터들이 상기 클러스터의 물리적 연속 저장 섹터들에 일대일로 저장되고, 소정의 클러스터 내의 저장 섹터들은 매회 데이터 섹터들 중의 일부를 인출하기 위해서 블록 단위로 판독되는, 상기 데이터를 인출하는 방법에 있어서,
    소망의 임의의 저장 섹터로부터 저장 섹터들의 제 1 블록을 판독하는 단계와,
    상기 제 1 블록의 끝 부분과 관련 클러스터의 끝 부분 사이에 남아있는 저장 섹터들의 수를 검출하는 단계와,
    상기 남아있는 저장 섹터들의 검출된 수가 다음 블록에서 판독될 저장 섹터들의 수보다 작은 경우, 논리적으로 다음의 클러스터에 있는 다음의 소망의 저장 섹터로 점프하는 단계를 포함하는 것을 특징으로 하는, 데이터를 인출하는 방법.
  5. 데이터를 사용자에게 이용 가능하게 하기 위한 디지털 데이터 처리 시스템으로서, 상기 시스템은 저장 디바이스 내의 파일을 관리하기 위한 파일 시스템을 포함하고, 상기 파일은 일련의 논리적으로 연속하는 클러스터들을 포함하고, 각 클러스터 내의 데이터 섹터들은 상기 클러스터의 물리적 연속 저장 섹터들에 일대일로 저장되는, 상기 디지털 데이터 처리 시스템에 있어서,
    상기 파일 시스템은 소정의 클러스터의 마지막 K개의 저장 섹터들의 데이터 섹터들이 상기 소정의 클러스터에 계속되는 클러스터의 처음 K개의 저장 섹터들의 데이터 섹터들에 대응하는 상기 파일을 관리하도록 배치되는 것을 특징으로 하는, 디지털 데이터 처리 시스템.
  6. 제 5 항에 있어서,
    소정의 클러스터 내의 저장 섹터들을 블록 단위로 판독하기 위한 판독 수단을 포함하고,
    상기 판독 수단은 소망의 저장 섹터로부터 저장 섹터들의 제 1 블록을 판독하도록 배치되며, 상기 시스템은:
    상기 제 1 블록의 끝 부분과 관련 클러스터의 끝 부분 사이에 남아있는 저장 섹터들의 수를 검출하기 위한 검출기와,
    상기 남아있는 저장 섹터들의 수가 다음 블록에서 판독될 저장 섹터들의 수보다 작은 경우, 논리적으로 다음의 클러스터에 있는 다음의 소망의 저장 섹터로 점프하기 위한 점프 수단을 포함하는 것을 특징으로 하는, 시스템.
  7. 제 6 항에 있어서,
    판독될 저장 섹터들의 블록으로부터 상기 데이터 섹터들을 수신하고 이와 같이 얻어진 데이터를 사용자에게 이용 가능하게 하기 위한 버퍼를 포함하고,
    데이터 섹터들의 수로서 표현되는 상기 버퍼의 용량은 많아야 K+l개인 것을 특징으로 하는, 시스템.
  8. 제 5 항에 있어서,
    데이터를 데이터 섹터들의 블록들에서 판독하고 클러스터의 소망의 임의의 데이터 섹터로 시작하기 위한 수단을 포함하고, 클러스터의 사이즈와 데이터 블록의 사이즈는 서로 독립하는, 디지털 데이터 처리 시스템
  9. 제 8 항에 있어서,
    상기 판독 수단은 상기 제 1 클러스터의 소망의 임의의 데이터 섹터로부터 저장 섹터들의 제 1 블록을 판독하고,
    상기 시스템은 상기 제 1 블록의 끝 부분과 상기 제 1 클러스터의 끝 부분 사이에서 이용 가능한 저장 섹터들의 수를 검출하기 위한 수단을 더 포함하고,
    상기 제 1 클러스터에서 이용 가능한 저장 섹터들의 수가 다음 데이터 블록에서 판독될 저장 섹터들의 수보다 작다면, 상기 판독 수단은 상기 다음 논리 클러스터에서 다음의 상기 소망의 저장 섹터로부터 다음 데이터 섹터를 판독하는, 디지털 데이터 처리 시스템.
  10. 디지털 처리기 저장 디바이스의 파일로부터 데이터를 저장하고 검색하는 방법에 있어서,
    상기 파일은 복수의 데이터 섹터들로 이루어진 논리적으로 연속하는 일련의 클러스터들을 포함하고, 상기 방법은:
    소정의 클러스터의 마지막 K개의 저장 섹터들에 저장된 데이터 섹터들이 상기 소정의 클러스터에 곧 바로 계속되는 제 2 클러스터의 처음 K개의 저장 섹터들의 데이터 섹터들과 동일하도록, 각 클러스터 내의 데이터 섹터들을 상기 클러스터의 물리적으로 연속하는 저장 섹터들에서 일대일로 저장하는 단계와,
    소망의 임의의 저장 섹터로부터 저장 섹터들의 제 1 블록을 판독하는 단계와,
    상기 제 1 블록의 끝 부분과 관련 클러스터의 끝 부분 사이에서 이용 가능한 저장 섹터들의 수를 검출하는 단계와,
    상기 이용 가능한 저장 섹터들의 검출된 수가 저장 섹터들의 다음 블록에서 저장될 저장 섹터들의 수보다 작은 경우, 논리적으로 다음의 클러스터에서 다음의 소망의 저장 섹터로 점프하는 단계를 포함하는, 데이터를 저장하고 검색하는 방법 .
  11. 제 3 항에 있어서,
    상기 데이터 섹터들은 그 사이에 어떤 상당한 공간들이 없이 곧바로 서로에 계속되는 데이터 블록들에 저장되는, 데이터를 갖는 파일이 제공된 정보 캐리어.
KR1019970701640A 1995-07-13 1996-07-08 데이타저장방법,데이타저장시스템,정보캐리어,데이타인출방법 KR100457481B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP95201927 1995-07-13
EP95201927.1 1995-07-13
PCT/IB1996/000655 WO1997003405A2 (en) 1995-07-13 1996-07-08 Method and system for data repetition between logically successive clusters

Publications (2)

Publication Number Publication Date
KR970706544A KR970706544A (ko) 1997-11-03
KR100457481B1 true KR100457481B1 (ko) 2005-06-10

Family

ID=8220483

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970701640A KR100457481B1 (ko) 1995-07-13 1996-07-08 데이타저장방법,데이타저장시스템,정보캐리어,데이타인출방법

Country Status (8)

Country Link
US (1) US5890168A (ko)
EP (1) EP0781435B1 (ko)
JP (1) JP3869008B2 (ko)
KR (1) KR100457481B1 (ko)
AU (1) AU707822B2 (ko)
DE (1) DE69626478T2 (ko)
ES (1) ES2191759T3 (ko)
WO (1) WO1997003405A2 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510436B1 (en) * 2000-03-09 2003-01-21 International Business Machines Corporation System and method for clustering large lists into optimal segments
US7096327B2 (en) * 2000-03-24 2006-08-22 Koninklijke Philips Electronics N.V. System for and method of accessing blocks on a storage medium
JP4622871B2 (ja) * 2006-01-26 2011-02-02 ソニー株式会社 データ処理システム、アクセス制御方法、その装置およびそのプログラム
CA2713545A1 (en) * 2008-01-30 2009-08-06 Novartis Ag Two stage enrichment of cell-free fetal dna in maternal plasma
TW201205314A (en) * 2010-07-16 2012-02-01 Hon Hai Prec Ind Co Ltd Method for seeking a document position and a corresponding electronic device

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2364527A1 (de) * 1972-12-29 1974-07-04 Mark Schuman Stroemungsmittel-analysator
JPS58164282A (ja) * 1982-03-24 1983-09-29 Hitachi Ltd 半導体レ−ザ装置の製造方法
GR79043B (ko) * 1982-12-06 1984-10-02 Fujisawa Pharmaceutical Co
JPH067978B2 (ja) * 1987-04-13 1994-02-02 宇部興産株式会社 圧力鋳造用置中子
US5029125A (en) * 1989-03-07 1991-07-02 Drexler Technology Corporation Method of reading and writing files on nonerasable storage media
US5371885A (en) * 1989-08-29 1994-12-06 Microsoft Corporation High performance file system
US5353276A (en) * 1990-03-12 1994-10-04 Deutsche Thomson-Brandt Gmbh Process for recording and/or reproducing digital data on a record carrier
DE4007814A1 (de) * 1990-03-12 1991-09-19 Thomson Brandt Gmbh Verfahren zur aufzeichnung und wiedergabe von digitalen daten auf einem aufzeichnungstraeger
JP3141241B2 (ja) * 1990-08-24 2001-03-05 ソニー株式会社 ディスク記録装置及びディスク再生装置
JPH04141867A (ja) * 1990-10-03 1992-05-15 Canon Inc ファイル管理方法
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US5321824A (en) * 1991-04-22 1994-06-14 International Business Machines Corporation Accessing last recorded data in a continuation chain
JP3158557B2 (ja) * 1991-09-27 2001-04-23 ソニー株式会社 再生装置
US5422762A (en) * 1992-09-30 1995-06-06 Hewlett-Packard Company Method and apparatus for optimizing disk performance by locating a file directory on a middle track and distributing the file allocation tables close to clusters referenced in the tables
JP2856621B2 (ja) * 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
ES2118217T3 (es) * 1993-05-19 1998-09-16 Alsthom Cge Alcatel Metodo de gestion de memoria de servidores de video.
US5551020A (en) * 1994-03-28 1996-08-27 Flextech Systems, Inc. System for the compacting and logical linking of data blocks in files to optimize available physical storage
US5574907A (en) * 1994-11-30 1996-11-12 Microsoft Corporation Two-pass defragmentation of compressed hard disk data with a single data rewrite

Also Published As

Publication number Publication date
EP0781435A2 (en) 1997-07-02
AU6135296A (en) 1997-02-10
KR970706544A (ko) 1997-11-03
WO1997003405A3 (en) 1997-03-13
DE69626478T2 (de) 2003-11-20
AU707822B2 (en) 1999-07-22
JPH10506746A (ja) 1998-06-30
JP3869008B2 (ja) 2007-01-17
US5890168A (en) 1999-03-30
DE69626478D1 (de) 2003-04-10
ES2191759T3 (es) 2003-09-16
EP0781435B1 (en) 2003-03-05
WO1997003405A2 (en) 1997-01-30

Similar Documents

Publication Publication Date Title
US5928327A (en) System and process for delivering digital data on demand
US5933834A (en) System and method for re-striping a set of objects onto an exploded array of storage units in a computer system
KR100377092B1 (ko) 다중 사용자 데이터 분배 시스템내 저장장치 서브세트상에 데이터 스트림을 스트라이핑하는 방법
EP0886971B1 (en) Method and system for supplying data streams
US6408359B1 (en) Storage device management system and method for distributively storing data in a plurality of storage devices
US5581784A (en) Method for performing I/O&#39;s in a storage system to maintain the continuity of a plurality of video streams
US7096327B2 (en) System for and method of accessing blocks on a storage medium
EP0812513B1 (en) Method and system for reading data for a number of users
KR100457481B1 (ko) 데이타저장방법,데이타저장시스템,정보캐리어,데이타인출방법
JP4325194B2 (ja) 記憶媒体へのアクセスを管理する装置及び方法
EP1213652B1 (en) Disk medium managing method
Lau et al. Scheduling and replacement policies for a hierarchical multimedia storage server
KR100410709B1 (ko) 데이터블록의스트림저장방법,데이터블록판독방법,데이터블록의스트림저장시스템,및데이터블록판독시스템
Prabhakar et al. Minimizing latency and jitter for large-scale multimedia repositories through prefix caching
CN100508575C (zh) 延迟读取数字视频数据的设备和方法
JPH05274237A (ja) マルチメディアデータネットワーク転送方式
Zhao et al. Data management for multiuser access to digital video libraries
JPH09149377A (ja) ビデオサーバ装置
Lau Storage architecture for video-on-demand systems
JPH10304336A (ja) マルチメディア情報提供装置
JP2002170360A (ja) ディジタルディスクレコーダ
JPH0887864A (ja) ファイルシステム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee