KR20040007400A - 디지털 비디오와 같은 스트림 데이터와 비-스트림데이터를 저장하기 위한 방법 및 디바이스 - Google Patents
디지털 비디오와 같은 스트림 데이터와 비-스트림데이터를 저장하기 위한 방법 및 디바이스 Download PDFInfo
- Publication number
- KR20040007400A KR20040007400A KR10-2003-7004943A KR20037004943A KR20040007400A KR 20040007400 A KR20040007400 A KR 20040007400A KR 20037004943 A KR20037004943 A KR 20037004943A KR 20040007400 A KR20040007400 A KR 20040007400A
- Authority
- KR
- South Korea
- Prior art keywords
- file
- type
- data
- storage unit
- section
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/781—Television signal recording using magnetic recording on disks or drums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4332—Content storage operation, e.g. storage operation in response to a pause request, caching operations by placing content in organized collections, e.g. local EPG data repository
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Television Signal Processing For Recording (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
디지털 비디오와 같은 스트림 데이터와 컴퓨터 파일과 같은 비-스트림 데이터를 저장하기 위한 저장 디바이스는, 오디오 및/또는 비디오 스트림을 저장하기 위한 제 1 타입의 저장 유닛과 비-스트림 데이터를 저장하기 위한 제 2 타입의 저장 유닛을 특징으로 하는 단일 파일 시스템을 포함하며, 여기서 상기 제 1 저장 유닛의 사이즈는 상기 제 2 저장 유닛의 사이즈의 배수이며, 상기 저장 디바이스는 스트림 데이터를 저장하기 위해 제 1 타입의 저장 유닛을 할당하거나 또는 비-스트림 데이터를 저장하기 위해 상기 제 1 타입의 유닛을 복수의 제 2 타입의 저장 유닛으로 분할하도록 제 1 타입의 저장 유닛을 할당하기 위한 수단을 더 포함한다. 본 발명은 또한 스트림 데이터 또는 비-스트림 데이터를 저장하기 위한 방법에 관한 것이다. 본 발명은 디지털 텔레비전 시스템에 응용가능하다.
Description
디지털 TV의 발전에 의해 하드 디스크와 같은 기록 매체 위에 디지털 TV 데이터 스트림을 기록하기 위한 아이디어가 등장하고 있다. 디지털 TV 데이터 스트림은 전통적인 정보 데이터 뿐만 아니라 디지털 오디오 및 비디오 데이터를 포함한다. 이들 두 종류의 데이터의 사용은 서로 다르다. 그 차이는 다음과 같이 요약될 수 있는데, 즉 디지털 오디오 및 비디오 데이터는 (실시간 제약을 받는) 높은 비트 율의 데이터 스트림을 요구하지만 비트 에러율에 대해 더 낮은 제약을 갖는 반면, 컴퓨터 타입의 정보 데이터는 매우 낮은 비트 에러 율을 요구하며 일반적으로 실시간 제약을 부과하지 않는다.
파일 시스템은 하드 디스크 위에 데이터를 저장 및 구성하는데 사용된다. 알려져 있는 파일 시스템은 전통적인 정보 데이터의 제약에 대하여 최적화되며, 특히 이들 시스템은 디스크 공간의 사용 효율을 최적화하기 위하여 (디스크 섹터 사이즈의 크기 정도로) 다소 작은 논리 데이터 블록(디스크 공간 할당을 위한 기본 단위)을 사용한다.
디지털 TV 데이터 스트림에 대해, 이런 파일 시스템은 만족스러운 성능을 제공하지 못할 수 있다. 논리 블록의 작은 사이즈는 파일을 단편화(fragmentation)되게 할 수 있다. 그 결과, 디스크 헤드는 하나의 논리 블록으로부터 다른 논리 블록으로 자주 이동할 수 있으며, 그리하여 직접 판독하는 동작에 대해 비례적으로 덜 사용될 수 있다. 이것은 전체 이용가능한 대역폭의 감소를 야기한다. 다르게 말하면, 파일 시스템은 하드 디스크 자체의 성능을 감소시킨다.
이 단점은 파일 시스템이 더 큰 논리 블록을 사용하면 피할 수 있다. 이것에 의해 파일이 단편화될 때의 경우를 포함하여 너무 많은 디스크 헤드를 이동하는 것을 피하게 해준다. 대(big) 논리 블록의 사용에 대한 전통적인 주장은 디스크 공간의 사용 효율이 불량하다는 것이다. 이것은 작은 사이즈의 파일에는 맞는 말이지만 큰 디지털 TV 파일에 대해서는 맞지 않다.
이중 파일 시스템은, 예를 들어, 1998년 12월 23일자 우선일을 갖는 1999년 12월 22일에 출원된 톰슨 멀티미디어(THOMSON multimedia) 이름의 PCT 특허 출원 WO 0040020에 제안되어 있다. 이런 이중 파일 시스템은 작은 사이즈의 파일에 전용된 부분과 오디오/비디오 스트림의 기록에 전용된 부분을 포함한다.
위 출원에서 기술된 시스템은 두 개의 별도의 디렉토리 트리(directory tree)를 갖는 이중 파일 시스템을 구현한다. 일단 이중 파일 시스템이 포맷되면, 정보 데이터-공간과 디지털 TV 데이터-공간 사이의 디스크 위의 공간 비(spaceratio)는 고정된다. 어느 정도까지, 유저는 두 개의 파일 시스템 또는 두 개의 디스크, 즉 고전적인 데이터 저장을 위한 것과 디지털 TV 데이터 저장을 위한 것을 가진다.
할당 방법은 디스크 공간의 우수한 사용 효율을 보장하도록 하기 위하여 이 가능성(possibility)을 고려하여야 한다. 이 목적을 위한 방법이 제안된다.
본 발명은 디지털 비디오 및 오디오와 같은 스트림 데이터를 저장할 뿐만 아니라 더 작은 타입의 파일을 저장하기 위한 방법 및 디바이스에 관한 것이다.
도 1 은 제안된 파일 시스템의 전체 개요도.
도 2 는 본 발명의 두 실시예 사이의 비교 표.
도 3 은 슈퍼 맵을 나타내는 도면.
도 4 는 슈퍼 블록을 거쳐 미니 비트맵 표의 어드레싱 원리를 예시하는 도면.
도 5 는 미니 비트맵 섹션의 포맷을 나타내는 예.
도 6 은 파일 시스템의 블록 사이즈와 표 사이즈의 몇 가지 예를 도시하는 도면.
도 7 은 미니 비트맵 표 섹션에 관한 일반 정보를 포함하는 바이트의 포맷을 나타내는 도면.
도 8 은 이노드(inode)의 포맷을 제공하는 표.
도 9 는 이노드에서 파일 식별자 필드의 구조를 나타내는 도면.
도 10 은 이노드에서 파일 모드 필드의 구조를 나타내는 도면.
도 11 은 이노드 확장 포맷의 예를 나타내는 도면.
도 12 는 이노드 또는 확장 표 섹션의 구조를 제공하는 표.
도 13 은 존(zone) 어드레스 포맷을 나타내는 도면.
도 14 는 런(run) 어드레스 포맷을 나타내는 도면.
도 15 는 슈퍼 블록의 바이트 0 내지 바이트 511을 나타내는 도면.
도 16 은 디렉토리 데이터 공간 구조를 나타내는 도면.
도 17 은 저장 디바이스를 포함하는 텔레비전 디코더를 나타내는 도면.
본 발명의 목적은, 스트림 데이터와 비-스트림 데이터를 저장하기 위한 저장 디바이스로서, 상기 저장 디바이스는 오디오 및/또는 비디오 스트림을 저장하기 위한 제 1 타입의 저장 유닛과 비-스트림 데이터를 저장하기 위한 제 2 타입의 저장 유닛을 특징으로 하며, 여기서 상기 제 1 타입의 저장 유닛의 사이즈는 상기 제 2 타입의 저장 유닛의 사이즈의 배수이며, 상기 저장 디바이스는 스트림 데이터를 저장하기 위해 제 1 타입의 저장 유닛을 할당하거나 또는 비-스트림 데이터를 저장하기 위해 제 1 타입의 저장 유닛을 복수의 제 2 타입의 저장 유닛으로 분할하도록 제 1 타입의 유닛을 할당하기 위한 수단을 더 포함하는 것을 특징으로 하는 저장 디바이스를 제공하는 것이다.
일 실시예에서, 두 가지 타입의 저장 유닛과 두 가지 타입의 파일을 위해 단 하나의 디렉토리 트리(tree)만이 존재한다.
저장 디바이스는 오디오/비디오 데이터를 위한 고정 영역과 정보 데이터를 위한 고정 영역을 한정하지 않고, 저장시 단편화를 피하게 해주는, 효율적인 방식으로 정보 데이터(비-스트림 데이터) 또는 오디오/비디오 데이터(스트림 데이터)를저장할 수 있다.
유리하게도, 복수의 제 2 타입의 저장 유닛으로 분할된 제 1 타입의 저장 유닛은, 제 2 타입의 모든 이들 저장 유닛이 이용가능할 때 그리고 저장될 데이터의 타입에 따라, 더 이상 복수의 제 2 타입의 저장 유닛으로 분할될 수 없다.
이때 저장 디바이스는 저장될 데이터의 타입에 따라 정해지며 저장 디바이스의 점유율(occupation)은 최적화된다. 이것은, 대 사이즈(big size)의 파일만을 저장하고자 할 때 디스크의 단편화를 피하게 해준다. 이들 파일은 대 블록으로 저장되는 반면, 저장하고자하는 파일이 많은 소 사이즈 파일일 때는, 대 사이즈의 블록은, 필요한 한, 소 사이즈의 블록으로 분할된다.
바람직하게는, 적어도 하나의 제 1 데이터 구조는 적어도 각 제 1 타입의 저장 유닛에 대해 제 1 타입의 저장 유닛이 자유로운(free) 상태인지 아닌지 그리고 제 1 타입의 저장 유닛이 복수의 제 2 타입의 저장 유닛으로 분할되어 있는지 아닌지를 나타낸다.
이러한 제 1 데이터 구조로 인해, 대 사이즈 블록에 대해 그리고 특히 이 데이터 유닛의 이용 가능성과 구조에 대한 정보가 주어진다. 이후, 이 대 사이즈의 블록이 새로운 데이터를 접수할 수 있는지 아닌지 그리고 이 대 사이즈의 블록이 어떤 타입의 데이터를 접수할 수 있는지를 아는 것은 용이하다. 이것은, 이 블록이 소 사이즈의 블록으로 분할되어 있다면, 블록 중 하나가 자유로운 상태인지 아닌지를 의미하며 그리고 이 블록이 분할되어 있지 않다면, 이 블록이 이미 꽉 차 있는지 아닌지를 의미한다.
다른 실시예에 따라, 그 어드레스가 제 1 데이터 구조에서 지시되어 있는 제 2 데이터 구조는 제 1 타입의 저장 유닛에 포함된 제 2 타입의 각 저장 유닛의 이용가능성을 제공한다.
바람직하게, 제 2 데이터 구조의 사이즈와 상기 제 2 데이터 구조의 수는 저장 디바이스가 저장해야 하는 비-스트림 데이터의 총 양에 따라 좌우되며, 제 2 데이터 구조의 수는 제 1 타입의 저장 유닛을 제 2 타입의 저장 유닛으로 할당할 때 변화한다.
이것은, 오디오/비디오 데이터 파일만을 저장하고자 할 때 디스크의 쓸모없는 단편화를 피하게 해준다. 더욱이, 대 사이즈의 블록이 정보 데이터를 저장하기 위해 소 사이즈의 블록으로 분할될 때, 만약 모든 소 사이즈의 블록이 이용가능하다면, 대 사이즈의 블록은 이때 필요한 경우 오디오/비디오 데이터에 다시 이용가능하다. 이것은, 대 사이즈의 블록을 소 사이즈의 블록으로 분할하는 것이 일정하지 않다는 것을 의미한다.
바람직한 실시예에 따라, 제 2 데이터 구조는 적어도 하나의 제 1 타입의 저장 유닛의 적어도 하나의 섹션에 저장되며, 그리고 하나를 초과하는 섹션이 필요하면, 섹션 각각은 그 다음 섹션의 어드레스를 제공한다.
이 방식으로, 모든 제 2 데이터 구조는 그룹화되며, 이것은 저장 디바이스의 관리를 더 용이하게 한다.
바람직하게, 제 3 데이터 구조는 제 2 데이터 구조를 저장하는 각 섹션과 연관되며, 상기 제 3 데이터 구조는 섹션의 서로다른 제 2 데이터 구조의 이용가능성을 나타낸다.
이 제 3 데이터 구조는 저장할 정보 데이터가 존재할 때 어느 제 2 데이터 구조가 이용가능한지를 신속히 알게 해준다.
제 1 지시자는 제 2 데이터 구조를 저장하는 각 섹션과 연관되며, 이 지시자는 만약 섹션의 제 2 데이터 구조와 연관된 적어도 하나의 제 2 타입의 저장 유닛이 이용가능한지를 나타낸다.
이것은, 특히 제 2 데이터 구조가 이용가능하지 않을 때, 제 2 타입의 저장 유닛을 필요로 할 때, 각 제 3 데이터 구조를 찾지 않도록 해준다.
유리한 방식으로, 제 2 데이터 구조를 저장하는 하나의 새로운 섹션은, 이미 할당된 섹션과 연관된 지시자가, 제 2 타입의 저장 유닛이 이용가능하지 않은 것을 나타낼 때 그리고 비-스트림 데이터를 위해 추가 저장 유닛을 요청할 때 할당된다.
제 1 실시예에 따라, 제 1 파일 정보 구조는 저장된 각 파일과 연관되며, 상기 파일 정보 구조는, 적어도 하나의 파일 식별자, 파일 타입, 저장 수단 위의 적어도 하나의 파일 위치를 나타내는 적어도 하나의 필드, 및 이 필드가 파일의 전체 위치를 포함할 수 없으면, 제 2 파일 정보 구조에 대한 포인터를 나타낸다.
이것은 저장 디바이스의 관리를 더 용이하게 하며 파일의 검색을 가능하게 한다. 이 특성으로 인해, 파일의 사이즈는 제한되지 않으며 필드의 사이즈로 제한되지 않는다.
일 실시예에서, 제 1 파일 정보 구조는 적어도 하나의 섹션에 저장되며, 그리고 하나를 초과하는 섹션이 필요하면, 섹션 각각은 그 다음 섹션의 어드레스를제공한다.
이것은 저장 디바이스의 관리를 더 용이하게 하며 어드레스의 점핑을 회피하게 해준다.
제 2 파일 정보 구조는 적어도 하나의 섹션에 저장되며, 그리고 만약 하나를 초과하는 섹션이 필요하면, 섹션 각각은 그 다음 섹션의 어드레스를 제공한다.
바람직하게, 제 3 파일 정보 구조는 제 1 파일 정보 구조를 저장하는 각 섹션과 연관되며, 상기 제 3 파일 정보 구조는 섹션의 서로다른 제 1 파일 정보 구조의 이용가능성을 나타낸다.
바람직하게 제 4 파일 정보 구조는 제 2 파일 정보 구조를 저장하는 각 섹션과 연관되며, 상기 제 4 파일 정보 구조는 섹션의 서로다른 제 2 파일 정보 구조의 이용가능성을 나타낸다.
일 실시예에서, 하나의 제 2 지시자는 제 1 파일 정보 구조를 저장하는 각 섹션과 연관되며, 제 2 지시자는 제 1 파일 정보 구조 중 적어도 하나의 제 1 파일 정보 구조가 이용가능한지를 나타낸다.
바람직하게, 하나의 제 3 지시자는 제 2 파일 정보 구조를 저장하는 각 섹션과 연관되며, 제 3 지시자는 제 2 파일 정보 구조 중 적어도 하나의 제 2 파일 정보 구조가 이용가능한지를 나타낸다.
일 실시예에서, 제 1 정보 구조를 저장하는 하나의 새로운 섹션은, 이미 할당된 섹션과 연관된 제 2 지시자가, 제 1 파일 정보 구조가 이용가능하지 않은 것을 나타낼 때 그리고 새로운 파일을 저장할 때, 할당된다.
바람직하게는, 제 2 파일 정보 구조를 저장하는 하나의 새로운 섹션은, 이미 할당된 섹션과 연관된 제 3 지시자가, 제 2 파일 정보 구조가 이용가능하지 않은 것을 나타낼 때 그리고 그 위치가 그 해당하는 제 1 파일 정보 구조의 필드에 포함될 수 없는. 새로운 파일을 저장할 때, 할당된다.
일 실시예에서, 저장 수단 위에 적어도 하나의 파일 위치를 나타내는 적어도 하나의 필드는, 파일이 오디오 및/또는 비디오 스트림을 포함할 때에는, 제 1 저장 유닛의 어드레스와 파일을 저장하는데 필요한 제 1 저장 유닛의 수를 나타내며, 그리고 파일이 비-스트림 데이터를 포함할 때에는, 제 1 저장 유닛의 어드레스와 제 1 저장 유닛의 내부에 제 2 타입의 저장 유닛의 어드레스를 나타낸다.
바람직한 실시예에서, 이것은 서로다른 섹션의 어드레스와, 제 1 저장 유닛의 사이즈와, 제 2 저장 유닛의 사이즈를 적어도 제공하는 하나의 글로벌 데이터 구조를 포함한다.
본 발명의 다른 목적은 저장 매체 위에 스트림 데이터와 비-스트림 데이터를 기록하기 위한 방법으로서, 상기 방법은
- 저장 매체 위에, 제 1 타입의 저장 유닛의 사이즈가 제 2 타입의 저장 유닛의 사이즈보다 적어도 한 자리수(one magnitude)만큼 더 큰, 제 1 및 제 2 타입의 저장 유닛을 제공하는 단계와,
- 해당 저장 유닛에 따라 저장을 준비하기 위해 스트림 데이터 블록 또는 비-스트림 데이터 블록을 처리하는 단계와,
- 만약 스트림 데이터가 기록되는 경우 상기 스트림 데이터를 저장하기 위해디스크 위에 제 1 타입의 저장 유닛을 할당하는 단계와,
- 만약 비-스트림 데이터가 기록되는 경우, 제 1 타입의 저장 유닛을 복수의 제 2 타입의 저장 유닛으로 분할하며 상기 제 2 타입의 저장 유닛의 적어도 일부를 저장을 위해 할당하는 단계
를 포함하는 방법을 제공하는 것이다.
또한 본 발명은, 전술한 바와 같은 저장 디바이스를 포함하는, 디지털 TV 디코더, 또는 셋톱 박스에 관한 것이다.
본 발명의 다른 특성과 잇점은 첨부된 도면의 도움으로 예시되는 본 발명의 비제한적인 실시예의 상세한 설명을 통해 나타날 것이다.
본 문헌에 자주 사용되는 용어의 정의가 아래에 주어져 있다:
- 논리 블록(logical block) : 논리 블록은 파일 시스템이 관리하는 기본 데이터 유닛이다. 다르게 말하면, 파일의 데이터 공간에 할당된 (또는 할당해제된) 기본 유닛이다. 논리 블록은 순수하게 파일 시스템에 부여된 개념이다. 이것은 (비록 논리 블록이 하나 또는 수 개의 디스크 섹터로 구성되어 있을지라도) 디스크 섹터의 개념과는 다르다. 다른 문헌에서, (디스크 섹터의 클러스터로서) 기본 파일 시스템 데이터 유닛을 나타내는데 논리 블록 대신에 "클러스터"라는 용어를 찾아 볼 수 있다. 또다른 문헌에서, 논리 블록이라는 단어는 디스크 위의 물리적으로 어드레스 가능한 엔티티를 나타내는데 또한 사용되기도 한다.
- 디지털 TV 데이터 : 디지털 TV를 위한 데이터 스트림은 특정 특성, 즉 많은 양의 데이터와 실시간 전송 특성(여기에 스트림에 부여된 비트율의 개념이 있다)을 가진다. 이런 특성에 따라 데이터가 기록(또는 판독)되어야 하는 임의의 파일은 디지털 TV 데이터로 간주된다. 예를 들어, MPEG 전송 스트림을 포함하는 파일은 디지털 TV 데이터로 간주된다.
- 정보 데이터(informative data) : 디지털 TV 데이터와는 반대로, 정보 데이터는 적당한 데이터 양을 나타내며 이 데이터에 부여된 특정 비트율을 가지지 않는다. 파일에 부여된 비트율이 낮지만 파일 시스템에 의해 어쨌든 평가될만큼 충분히 낮은 경우에는, 파일에 비트율이 부여되지 않는 것으로 간주할 수 있다. 파일의 데이터가 이런 특성을 가지는 임의의 파일은 정보 데이터로서 간주될 수 있다(워드 파일은 정보 데이터로 간주된다). 이들 두 정의(디지털 TV 데이터와 정보 데이터)의 결과, 두 타입의 데이터의 경계는 절대적이지 않다. 오디오 파일도, 예를 들어, (만약 파일의 비트율이 충분히 낮다면) 정보 데이터로 또는 (그렇치 않은 경우에는) 디지털 TV 데이터로 간주할 수 있다.
- 볼륨(volume) : 이것은 본 문헌에 따라 구성된 디스크의 전체 어드레스 가능한 공간이다.
- 파티션(partition) : 이것은 볼륨의 섹션이다. 본 문헌에서는 볼륨 안에 단 하나의 파티션만이 존재한다.
- 이노드(inode) : 이것은 파일에 대한 모든 관련 정보(파일 ID, 속성, 데이터 공간 위의 포인터)를 저장하기 위한 기본 구조이다.
- 확장(extension) : 이노드의 확장. 이노드는 파일 데이터 공간의 전체 기술을 포함하는 것으로 가정한다. 만약 충분하지 않다면, 이노드는 확장을 지시한다(확장은, 자체적으로, 필요한 경우, 연쇄 리스트를 구성하는 다른 확장을 지시할 수 있다).
- 런(run) : 수 개의 연속 논리 블록. 런의 데이터 공간 디스크립터는 런의 제 1 논리 블록의 어드레스와 런의 길이(논리 블록의 수)를 나타낸다. 런은 또한 이하의 설명에서 "런 디스크립터", "런 길이" 및 "런 어드레스" 대신에도 사용된다.
- 섹션(section) : 섹션은 적어도 하나의 제 1 타입의 저장 유닛으로 구성된다.
도 1 은 파일 시스템의 개요를 나타낸다.
유저 데이터에 전용된 디스크 부분은 대 사이즈(big size)의 논리 블록으로 분할되며, 대 사이즈의 논리 블록은 소 사이즈(small size)의 논리 블록으로 분할될 수 있다. 디스크의 다른 부분은 파일 시스템 정보를 저장하는데 전용되며 자기 자신의 할당 메커니즘을 가지는 것으로 가정한다.
디스크는 디스크 섹터로 분할된다. 디스크 섹터(0)는 예비된 것으로 예상된다(가능하게는 섹터(0)에 인접한 몇몇 추가 섹터도 예비된다). 디스크 공간은 디스크 섹터 N으로부터 디스크 섹터 LBA_Max 까지 파일 시스템에 이용가능하다. 제 1 단계에서, 디스크는 대 논리 블록으로 분할된다. 하나의 대 논리 블록은 M개의 디스크 섹터를 포함하며, 대 논리 블록 번호 일(1)은 디스크 섹터 M으로 (또는 LBA M에서) 시작하는 것으로 가정한다. 이것은 N<M 라는 것을 의미하며, 이것은 항상 적용되는 것으로 예상된다{여기서 N 은 한 자리 수 정도인 반면, M 은 수 백 정도이다}. N에서부터 M-1까지 디스크 섹터는 슈퍼 블록(super block)을 구성한다.
슈퍼 블록은 파일 시스템의 (전술한) 기본 구조를 가리키는 기본 정보를 포함한다.
슈퍼 블록은 모든 파일 시스템의 기본 정보를 포함한다. 이 슈퍼 블록은 디스크 위의 제 1 대 논리 블록에 위치된 것으로 가정된다. 제 1 논리 블록은 논리 블록 번호 0 이며 그리고 이 제 1 논리 블록은 LBA 0 에서 시작한다. 만약 LBA 0 이 디스크 사용을 위해 예비되어 있으면, 슈퍼 블록은 LBA 1 에서 유효하게 시작한다.
슈퍼 블록은, 미니 비트맵 표(mini-bitmap table) 위에 슈퍼 맵(super map), 이노드 표(inode table) 및 이노드 확장 표(inode extension table)를 지시한다. 각 대 블록에 대해, 슈퍼 맵과 미니 비트맵 표로 인해, 어느 것이 자유로운 미니 블록(free mini block)인지를 아는 것이 가능하다. 이외에도, 루트 디렉토리(root directory)는 이노드 번호 1 에 저장된다. 이들은 시스템 내에서 항해를 시작하는데 필요한 모든 요소를 나타낸다.
여러 정보(이 여러 정보의 상세 리스트는 본 문헌에서 이후에 주어진다)와는 별도로, 슈퍼 블록은 미니 비트맵 섹션의 리스트(런 어드레스 리스트), 이노드 표 섹션 리스트, 및 확장 표 섹션 리스트를 포함한다. 각 리스트에 대해 충분한 공간을 예비하는 것이 필요하다. 모든 이들 요소는 본 문헌에서 이후에 상세히 설명된다.
디스크 데이터 공간은 디지털 TV 스트림 데이터 뿐만 아니라 정보 데이터에도 이용가능한 것으로 가정된다. 이것은, 데이터가 없는 임의의 디스크 부분(disk fraction)이 두 개의 데이터 타입 중 하나의 데이터 타입에 할당 가능하다는 것을 의미한다.
디스크 위에 기록될 수 있는 정보 데이터의 총 양은 전체 디스크 저장 용량의 부분만을 나타낸다. 또한 본 발명은 전체 디스크를 재포맷하지 않고도 이 사이즈를 다이나믹 하게 변경할 수 있게 한다.
디스크의 데이터 공간은 대 사이즈의 논리 블록으로 분할된다. 대 사이즈 논리 블록의 사이즈는 이하의 기준, 즉
- 디스크 캐쉬 버퍼와 동일한 자리수 크기(order of magnitude),
- 수 초보다 더 크지 않는 비디오 데이터의 전송 손실 특성(granularity)
에 따라 계산된다.
바람직하게는, (소 논리 블록 사이즈 뿐만 아니라) 대 논리 블록 사이즈는, 전형적인 디스크 드라이브에 대해서는 128Kbyte 내지 1Mbyte 사이에 있는, 2의 멱수(power)이다.
임의의 대 사이즈 논리 블록은 하나의 타입이나 다른 타입의 데이터의 저장에 할당될 수 있다. 일단, 대 사이즈 논리 블록이 하나의 데이터 타입(정보 데이터 또는 디지털 TV 데이터)의 저장에 할당되면, 이 대 사이즈 논리 블록은 이 데이터 타입에 전부 전용된다. 만약 대 논리 블록이 다시 자유롭게(free) 되면, 이 대 사이즈 논리 블록은 임의의 종류의 데이터에 재할당될 수 있다.
디지털 TV 데이터에 대해, 하나의 대 사이즈 논리 블록은 기본 저장 유닛을 나타낸다. 하나의 논리 블록은 동일한 비디오 파일 데이터의 하나의 세그먼트를 포함한다.
정보 데이터에 대해, 바람직한 실시예에서, 대 사이즈 논리 블록은 소 사이즈 논리 블록으로 분할된다. 소 사이즈 논리 블록의 사이즈는 파일 시스템 논리 블록의 전통적인 사이즈의 약 10배의 범위(order of magnitude), 즉 512byte와 8Kbyte 사이에 있다. 각 소 사이즈 논리 블록은 서로 독립적이며 다른 소 사이즈 논리 블록에 관계없이 임의의 정보 데이터 파일에 영향을 줄 수 있다. 결과적으로 정보 데이터 저장에 전용된 대 사이즈 논리 블록은 수 개의 파일에서 오는 데이터를 포함할 수 있다.
일례로서, 대 블록 사이즈는 128Kbyte로 고정되며 소 블록 사이즈는 2Kbyte로 고정된다. (동일 차수 크기의) 다른 수치도 가능할 수 있다.
각 논리 블록은 어드레스 가능하여야 한다. 대 사이즈 논리 블록에 대해, 각 블록은 디스크 위의 자기의 위치에 따라 번호 매겨진다. 블록의 논리 어드레스는 블록이 시작하는 디스크 섹터의 LBA 어드레스로부터 유도된다.
소 사이즈 논리 블록은 대 사이즈 논리 블록의 하위 블록(sub block)으로 간주된다. 그리하여 하위 블록의 어드레스는 하위 어드레스(sub-address)이다. 각 소 사이즈 논리 블록에 대해, 소 사이즈 논리 블록을 포함하는 대 사이즈 블록의 어드레스는, 대 사이즈 블록 내부와 마찬가지로 소 사이즈 논리 블록의 상대적인 하위어드레스로 지시되어야 한다. 하위 어드레스는 대 사이즈의 논리 블록 내부에서 소 사이즈 논리 블록의 차수 번호(order number)이다.
예를 들어, 32기가 바이트 디스크에 대해, (128Kbyte의) 256Kb의 대 사이즈 논리 블록이 있을 수 있다. 대 사이즈 논리 블록을 어드레스 하는데는 18비트 어드레스가 필요하다. 128Kbyte의 대 사이즈 논리 블록은 2Kbyte의 64개의 소 사이즈 블록을 포함한다. 소 사이즈 블록의 하위 어드레싱에는 6비트의 하위 어드레스가 필요하다.
비트맵의 목적은 만약 논리 블록이 자유로운(free) 상태에 있는지 또는 사용 중(busy)인 상태에 있는지를 각 논리 블록에 대해 나타내기 위한 것이다. 이러한 목적으로 논리 블록 당 단일 비트가 충분하다.
비트맵은 대 사이즈 논리 블록에 필요하며, 다른 비트맵은 소 사이즈 논리 블록에 필요하다. 대 사이즈 논리 블록에 대해, 대 블록이 모든 디스크 데이터 공간을 커버하는 한, 블록에 비트를 맵핑시키는 것{비트맵에서의 비트는 디스크 위의 블록과 동일한 차수(order)이다}은 특정 문제가 되지 않는다.
이것은 소 사이즈 논리 블록에 대해서는 성립하지 않는다. 대 블록을 정보 데이터 또는 디지털 TV 데이터를 저장하는데 할당하는 것은 다이나믹하다. 동일한 대 블록은 (소 논리 블록을 포함하는) 정보 데이터의 저장에 할당되거나 그리고 그후 (소 사이즈 논리 블록이 아닌) 디지털 TV 데이터의 저장에 선택적으로 할당될 수 있다. 비트와 블록의 맵핑(bit to block mapping)은 영구적으로 전개한다.
이 다이나믹한 할당 방식은 전통적인 비트맵의 사용을 금지시킨다.
제 1 실시예에서, 전체 디스크는 정보 데이터의 저장에 전용된다. 전체 디스크 데이터 공간을 기술하지만 소 논리 블록으로 분할된 제 2 비트맵이 존재한다. 이 비트맵은, 대 사이즈 논리 블록과 소 사이즈 논리 블록 사이의 사이즈 비(ratio)에 비례하여 대 사이즈 논리 블록의 비트맵보다 더 크다. 본 예의 수치에서는, (동일한 디스크 공간을 두 번째 기술하는) 제 2 비트맵은 64배 더 크다.
제 2 실시예에서, 대 사이즈 블록만을 단독으로 기술하는 하위 비트맵 표에 대한 포인터를 각 대 사이즈 블록과 연관시킨다. 모든 하위 비트맵은 큰 표로 재그룹화될 수 있다(표의 요소가 하위 비트맵이다). 대 사이즈 블록이 정보 데이터 저장에 할당될 때, 하위 비트맵의 표 중 하나의 요소가 정보 데이터 저장에 할당된다. 이 요소의 어드레스는 대 사이즈 논리 블록의 어드레스와 연관되어야 한다.
이 문제에 대한 간단한 솔루션은 대 사이즈 블록의 비트맵에 이 어드레스를 저장하는 것이다. 이 정보는 더 이상 바이너리(binary) 정보가 아니다. 더 큰 필드가 이 비트와 교체되어야 한다. 각 대 사이즈 논리 블록에 4바이트 필드를 사용하는 것이 제안된다.
대 사이즈 블록에 대한 비트맵은 이제 하나의 단일 비트가 아닌 4 바이트 필드의 표이다. 이 비트맵은 32배 더 커지게 되며, 이 비트맵은 더 이상 하나의 비트맵이 아니라, 4 바이트 맵 또는 슈퍼 맵이 된다. 이 비트맵은 슈퍼 맵, 또는 본 문헌에서 제 1 데이터 구조라고 부른다.
하위 비트맵의 어드레스를 나타내는 외에도, 4 바이트 필드는, 대 사이즈 블록이 자유로운(free) 상태에 있는지 또는 디지털 TV 저장에 전용된 상태에 있는지를 또한 나타낸다. 이 4 바이트 필드는, 이 필드가 다 차 있는지(full) 아닌지를 또한 나타낼 수 있다.
두 개의 실시예를 비교하기 위해, 대 논리 블록 사이즈(128 Kbyte)와 소 논리 블록 사이즈(2Kbyte)에 대해 동일한 수치를 갖는 몇 가지 실시예가 도 2에 요약되어 있다.
도 2 는 디스크 용량의 함수로서 두 개의 솔루션에 필요한 디스크 공간을 제공한다.
제 2 실시예는 디스크 용량 중 절반을 초과하는 용량이 정보 데이터 저장에 전용될 때를 제외하고는 더 적은 디스크 공간을 소비한다. 어쨌든 비트맵에 의해 점유되는 디스크 공간은 총 디스크 공간 중에 작은 양을 나타낸다(총 비트맵 사이즈/디스크 사이즈 비는, 위 수치에서 1/132000 및 1/10000 사이에 있다).
멀티미디어 파일 시스템이 큰 용량 디스크(적어도 수 십 기가 바이트)에 걸쳐 구현될 수 있으며 저장 용량 중 단 일부만이 정보 데이터에 전용된 것으로 예상되는 경우, 제 2 실시예가 남아 있는 설명 부분에서 고려될 것이다.
도 3 은 슈퍼 맵의 구조를 제공한다.
데이터 공간을 위한 비트맵은 비-바이너리(non-binary) 정보를 포함한다. 각 대 사이즈 블록에 대해, 3개의 상태, 즉 자유로운(free) 상태, 디지털 TV 데이터로 사용중(busy)인 상태와, 정보 데이터로 사용중인(busy) 상태가 가능하다. 마지막의 경우에, 대 사이즈 블록이 전부 점유되지 않을 수 있다. 대 사이즈 논리 블록 내부에 어느 하위 논리 블록이 자유로운 상태에 있는지 아닌지를 나타내는 대 사이즈블록과 연관된 표가 이제 논의될 것이다.
각 대 논리 블록에 전용된 32 비트 필드는 부여되는 소 논리 블록 비트맵 표 위의 포인터를 포함한다. 24비트는 이 포인터에 대해 충분하다(이것은, 128 Kbyte의 데이터를 각각 나타내는 16M 비트맵, 즉 다르게 말하면 2048 Gbyte의 정보 데이터를 나타낼 수 있게 한다). 여기서 8비트가 남는데 그 중 6 비트는 차후 사용을 위해 예비되며, 2 비트는 이하 코드에 따라 대 논리 블록의 상태를 코딩하는데 사용된다:
- 00 : 자유로운 대 논리 블록
- 01 : 부득이, 전부 사용 중이면, 파일 시스템에 대한 정보 데이터를 또한 포함할 수 있는, 디지털 TV 데이터 저장을 위해 예비된 논리 블록,
- 10 : 자유로운 소 논리 블록을 포함하는, 정보 데이터 저장을 위해 예비된 논리 블록,
- 11 : 전부 사용 중인, 정보 데이터 저장을 위해 예비된 논리 블록.
여기서, '사용(Use)' 코드는, 논리 블록이 디지털 TV 데이터의 저장을 위해 예비되어 있다는 것을 나타낼 때 24 비트 포인터 필드 콘텐츠는 의미를 갖지 않는다는 것을 주의해야 한다.
도 4에 도시된 바와 같이, 각각의 대 논리 블록이 포함하는 소 논리 블록에 대해 하나의 미니 비트맵(또한 제 2 데이터 구조라고도 부른다)을 각각의 대 논리 블록과 연관시키는 것이 제안된다. 이 연관은 다이나믹 하다. 이것은, 대 논리 블록만이 미니 비트맵을 지시하는 정보 데이터의 저장에 할당되었다는 것을 의미한다. 만약 (정보 데이터의 저장에 이미 할당되었던) 대 논리 블록이 할당 해제되면, 대 논리 블록과 연관된 미니 비트맵은 다시 자유로운 상태로 되고 정보 데이터 저장에 할당된 임의의 새로운 대 논리 블록에 이용가능하게 된다.
미니 비트맵 표의 사이즈는 대 및 소 논리 블록의 사이즈에 따라 좌우된다. 대 논리 블록에 128Kbyte와 소 논리 블록에 2Kbyte 인 경우, 미니 비트맵 사이즈는 64비트 또는 8바이트이다.
도 5에 도시된 바와 같이, 동일한 표에서 모든 미니 비트맵을 그룹화하는 것이 제안된다. 이 표는 미니 비트맵 표라고 부른다. 도 3에서 슈퍼 맵의 24비트 포인터는 미니 비트맵 표 내의 미니 비트맵의 차수 번호(order number)이다.
미니 비트맵 표의 사이즈는 파일 시스템이 저장할 수 있는 정보 데이터의 총 양에 따라 좌우된다. 이 양은 일단 디스크가 포맷되면 고정되지 않는다. 결과적으로 미니 비트맵 표의 사이즈는 전개될 수 있다. 특히, 이 양은, 새로운 디스크 공간이 미니 비트맵 표에 전용될 때 증가할 수 있다. 이것 외에도, 미니 비트맵이 하나 또는 다른 대 논리 블록에 다이나믹 하게 할당되거나 또는 재할당될 수 있기 때문에, 미니 비트맵 표에서 어느 비트맵이 할당을 할 수 있는 자유로운 상태에 있는지 또는 아닌지가 지시되어야 한다. 다르게 말하면, 미니 비트맵 표의 비트맵이 필요하며, 이것은 제 3 데이터 구조라고 부른다.
미니 비트맵 표에 대 논리 블록의 정수를 할당하는 것이 제안된다. 정보 데이터에 전용된 데이터 공간은 증가할 수 있기 때문에, 미니 비트맵 표에 전용된 대 논리 블록을 할당하는 것은, 연속하는 대 논리 블록으로가 아닌, 수 개의 단계로수행될 수 있다. 그러나, 각 할당 단계에서, 연속하는 대 논리 블록으로 구성된 데이터 공간을 미니 비트맵 표에 할당하는 것이 제안된다. 이것을 섹션이라고 부르는 것이 제안된다. 이때 미니 비트맵 표는 하나 또는 수 개의 섹션으로 구성된다. 섹션은 하나 또는 수 개의 대 논리 블록으로 구성된다. 각 섹션은 섹션 내에 포함된 미니 비트맵 표의 부분에 관한 자기 고유의 비트맵을 또한 포함한다. 섹션은 미니 비트맵 표의 그 다음 섹션을 또한 지시한다.
각 섹션은 (대 논리 블록 사이즈를 소 논리 블록 사이즈로 분할함으로써 비트 단위로 주어지는) 미니 비트맵 사이즈에 해당하는 사이즈의 요소로 분할될 수 있다. 제 1 요소는, 섹션과, 그 다음 섹션을 나타내는 포인터(플러스 추가 정보)의 비트맵의 저장에 전용되며, 다른 요소는 미니 비트맵을 저장한다.
각 섹션에 해당하는 요소 (또는 미니 비트맵)의 사이즈와 어드레스(런)는 슈퍼 블록 내에 저장되어야 한다.
도 6 은 몇 가지 비트맵 파라미터에 대한 수치를 나타낸다.
미니 비트맵 표의 섹션은, 각 섹션이 그 다음 섹션을 지시하도록 가정되기 때문에 연쇄 리스트(chained list)를 만든다. 그러나, 표 전체의 복구를 보다 신속히 하기 위해, 슈퍼 블록에는 각 섹션의 런 어드레스를 저장하는 것이 제안된다.
도 7 은 정보 바이트에 대한 가능한 포맷을 제공한다. 정보 바이트는, 미니 비트맵 표가 할당할 수 있는 자유로운 상태에 있는지 또는 섹션이 전부 할당되어 있는지와 같은 미니 비트맵 표 섹션에 대한 일반 정보를 포함한다.
본 실시예에 따라, 제 1 파일 정보 구조라고도 부르는 이노드는 도 8에 예시된 포맷을 가진다.
이노드 포맷 정의를 위한 하나의 중요한 포인트는 파일 데이터를 저장하는데 사용되는 디스크의 서로다른 데이터 공간을 가리키는데 사용되는 방법이다.
이노드는 파일에 대한 엔트리 포인트(entry point)이다. 이노드는, 파일 ID, 파일 데이터 공간 위의 포인터, 및 추가 정보를 포함한다. 이노드는 필요하다면 추가 데이터 공간 포인터를 저장하기 위해 확장될 수 있다(제 2 파일 정보 구조라고도 부르는, 이노드 확장). 이노드와 확장은 이노드 및 확장 표(Inode and Extension table)에 저장된다.
64바이트의 고정 사이즈를 각 이노드에 할당하는 것이 제안된다. 64는 2의 멱수(power)로서 선택되며 이노드에 기본적으로 필요한 데이터 양에 해당한다(본 실시예에 따라 32바이트는 너무 작으며 128바이트는 너무 크다 - 물론, 이 실시예와 같은 수치는 일례로서만 여기에 주어진 것이며 다른 환경에서는 달라질 수 있다). 이노드는 도 5에 대해 상술된 파일 ID, 파일의 데이터 공간 위의 포인터 및 다른 정보를 포함하여야 한다. 이노드는 파일의 이름을 포함하여서는 아니된다. 파일의 이름은 부모 디렉토리의 데이터 공간에 포함된다.
이노드 필드 각각은 여기 아래에서 상세히 설명된다.
- 파일 식별자(file identifier) : 이것은 파일을 식별하는 고유 번호이다. 제 1 바이트는 파일 시스템 식별자(File System Identifier)의 최하위 바이트(least significant byte)이다. 3개의 마지막 바이트는 파일을 나타내는 고유 번호이다. 파일 이름은 이노드에 포함되지 않지만, 부모 디렉토리 파일에는 포함된다는 것을 주의해야 한다(파일 ID 및 파일 이름은 서로 연관되어 있다). 도 9 는 파일 식별자 구조를 예시하는 도면이다.
- 모드(mode) : 이 필드의 비트 15(MSB)와 비트 14는 파일의 타입을 나타내며, 이것은, 파일이 디렉토리(11)인지 또는 링크 파일(다른 파일을 가리키는 공백 파일)(10)인지, 정보 데이터 파일(01)인지 또는 디지털 TV 파일(00)인지를 의미한다. 비트 13 내지 비트 9는 사용되지 않으며(값 = 0), 비트 8 내지 비트 0은, 유저, 그룹 및 다른 사람이, 파일(UNIX 등)에 대한 판독, 기록 및 실행권(write and execution right)을 가지고 있는지를 나타내는 보호 비트(protection bit)로서 사용된다. 이 구조는 도 10에 나타나 있다.
모드 필드는 다음의 아이템을 포함한다. 즉
- 유저 ID (파일 소유자) : 파일 유저(또는 다르게 말하면 파일 소유자)를 식별하는 고유번호.
- 그룹 ID(파일 소유자) : 파일 유저의 그룹을 식별하는 고유 번호.
- 파일 링크 번호 : 이 이노드를 가리키는 링크 파일의 번호. 만약 값이 0이라면, 이노드는 자유로운(free) 상태(파일이 어느 임의의 디렉토리에서 참조되지 않은 상태)로 간주되며 해당 데이터 공간은 자유로운 상태에 있다. 만약 값이 1이라면, 파일은 오직 단독으로 지시된다(이 이노드). 만약 값이 2이상이면, 파일은 다른 링크 파일에 의해 지시된다(다른 이노드가 이 이노드를 가리킨다).
- 마지막 변경 일자 : 자체 설명.
- 만료 일자 : 자체 설명.
- 바이트 단위의 파일 사이즈 :자체 설명.
- 존(zone) 또는 런(run) 어드레스 : 이것은, 만약 파일이 정보 데이터 파일이면 존 어드레스를 가리키는 4바이트 필드이며 만약 파일이 비디오 데이터 파일이면 런 어드레스를 가리키는 4바이트 필드이다. 이 필드는 저장 디바이스 위의 파일의 위치를 나타낸다.
- 이노드 확장에 대한 포인터 : 이노드의 6개의 존 또는 런 어드레스 필드는 파일의 전체 데이터 공간을 저장하는데 충분하지 않을 수 있다. 이노드 확장은 추가적인 존 또는 런 어드레스를 포함한다. 데이터 공간이 그래도 충분하지 않다면, 이 포인터는 또다른 확장을 지시한다. 확장 포맷은 여기 아래에서 설명된다.
- 또다른 파일에 대한 포인터(링크 파일) : 이 포인터는, 이 이노드(링크 파일)가 링크를 가지고 있는 파일의 파일 ID를 포함한다.
도 11 은 확장 구조의 설명을 제공한다. 확장은 64바이트의 구조이며, 이것은 최대 12개의 런 또는 존 어드레스를 포함한다. 이 확장은 또다른 확장을 가리킬 수 있다.
이노드는 이노드 표라고 부르는 표에 저장된다. 본 실시예에 따라, 이노드 또는 확장 표 섹션은 도 12의 포맷을 가진다.
이 표의 포맷은 미니 비트맵 표의 포맷과 동등하다. 이 포맷은, 반드시 모두 연속일 필요는 없지만, 연속하는 논리 블록의 섹션으로 그룹화된, 대 블록의 전체 수로 구성된다. 각 섹션은 (각 섹션에 포함된 이노드와 확장이 자유로운 상태에 있는지 또는 사용중인(busy) 상태에 있는지를 나타내는) 자기 고유의 비트맵으로 시작한다. 각 섹션에 해당하는 런은 슈퍼 블록에 저장되어야 한다.
확장 및 확장 표에도 위와 동일하게 적용될 수 있다.
이노드 비트맵은 또한 제 3 파일 정보 구조라고도 부르며 확장 비트맵은 제 4 파일 정보 구조라고 부른다.
이노드 표에서 특정 이노드를 어드레싱하기 위해, 이노드 포인터가 사용된다.
이노드 포인터는 단순히 이노드 표에 있는 이노드의 차수 번호(order number)이다. 이노드 포인터와 파일 ID의 24개의 하위 비트(less significant bit)는 대응한다는 것을 주의해야 한다. 이노드 포인터는 이때 24비트로 코딩된다. 8개의 최상위 비트는 예비된 것이며 파일 ID 내의 파일 시스템 ID에 대응한다.
확장 포인터가 32바이트로 코딩된 것을 제외하고는 확장에게도 위와 동일하게 적용될 수 있다.
정보 바이트는, 마치 미니 비트맵 표가 할당할 수 있는 자유로운 상태에 있는 것처럼 또는 섹션이 전부 할당되어 있는 것처럼, 미니 비트맵 표 섹션에 대한 일반 정보를 포함한다. 미니 비트맵 표에 관한 한, 동일한 포맷이 제안된다. 정보 바이트의 포맷은 도 7에 있다.
런 또는 존 어드레스는 4바이트 필드이다. 이것은 파일에 할당된 데이터 공간을 가리키기 위해 이노드(또는 확장)에서 사용된다.
한편으로 대 논리 블록이 지시되며, 다른 한편으로는 소 논리 블록이 지시되는 한, 디지털 TV 데이터와 정보 데이터에 대한 용도는 서로 달라야 한다.
디지털 TV 데이터에 대해, 런의 개념은 대량의 데이터의 연속적이고 규칙적인 도달로 인해 적당하다. 런은 대 논리 블록의 연속하는 수이며, 런은 런의 제 1 논리 블록의 어드레스와 런 내의 논리 블록의 수를 제공하는 것에 의해 기술된다. 4바이트 필드의 최상위 비트는 제 1 논리 블록의 어드레스에 전용되며, 하위 비트는 런 내의 논리 블록의 수에 전용된다. 각 부분에 전용된 비트의 수는 더 논의된다.
정보 데이터에 대해, 4 바이트 필드가 존 어드레스이다. 존은 소 논리 블록이다. 소 논리 블록은 대 논리 블록에 포함된다. 결과적으로 존 어드레스는 두 부분, 즉 대 논리 블록 어드레스와 소 논리 블록의 하위 어드레스(즉, 대 논리 블록 내의 어드레스)로 구성된다. 소 논리 블록은 적어도 2Kbyte로 나타내도록 하며 대 논리 블록은 1Mbyte (이는 비디오 신호의 2Mb/s 중 4초를 나타낸다) 미만으로 나타내도록 예상하는 것이 합리적인 것으로 보인다. 결과적으로 하위 어드레싱을 위해서는 9비트가 충분하다.
이것은 대 논리 블록 내부에 있는 소 논리 블록의 최대 개수가 256 (2 Kbyte와 512 Kbyte의 각 사이즈의 경우)이 되도록 부여한다는 것을 주목해야 한다. 2 Kbyte 미만의 소 논리 블록의 경우에, 대 논리 블록은 512Kbyte (512byte의 소 블록에 대해서는 128Kbyte) 미만이어야 하며 그 역도 성립하여야 한다(1Mbyte의 대 블록에 대해 적어도 4Kbyte의 소 블록). 모든 이들 수치는 자기 모순이 없으며 합리적이다. 이들 수치는 소 블록의 하위 어드레싱을 위해 8비트를 선택하는 정당한 이유가 된다.
이것은, 대 논리 블록의 어드레싱을 위해 24개의 비트가 남아 있음을 의미한다. 이것은 대 논리 블록의 1천6백만개(16millions)의 양을 나타낸다. 만약 대 논리 블록의 사이즈가 128Kbyte라면, 이것은 512Kbyte 블록에 대해 2 테라 바이트 또는 8 테라 바이트를 나타낸다.
이것은 대 논리 블록의 어드레싱을 위해 24 비트가 충분하다는 것을 보여준다. 이것은 23 비트에 대해서도 성립한다. 이것은 한(1)비트를 아끼게 할 수 있으며 이 한(1) 비트는 아래 상술된 바와 같이 특수 용도를 위해 예비될 수 있다.
본 실시예에 따라, 존 어드레싱 포맷은 도 13에 예시된 바와 같다.
- 대 논리 블록 어드레스 : 이것은 디스크 위의 대 논리 블록의 차수 번호이다.
- 어드레싱 모드 : 이것은 그 다음 필드를 판독하는 방법을 나타낸다. 만약 0 (단일 존 어드레싱 모드)이라면, 이것은 대 논리 블록 내부의 소 논리 블록의 차수 번호를 나타낸다. 만약 1 (멀티 존 어드레싱 모드)이라면, 이것은, 대 논리 블록이 끝날 때 까지의 모든 소 논리 블록이 이 포인터에 의해 또한 어드레스 되는 것으로 간주하여, 이 포인터에 의해 어드레스된 제 1 소 논리 블록의 (대 논리 블록 내의) 차수 번호를 나타낸다. 멀티 존 어드레싱의 목적은 이노드 데이터 공간을 아끼게 하며 파일의 단편화를 제한하기 위한 것이다.
- 소 논리 블록의 하위 어드레스 : 대 논리 블록 내부의 차수 번호.
본 실시예에 따른 런 어드레싱 포맷은 도 14에 도시된 포맷이다.
대부분의 경우에, 미니 비트맵에 필요한 데이터 공간, 이노드 및 확장 표는디스크를 포맷할 때 한번 예비된다. 때때로, 추가적인 데이터 공간이 시스템 수명 동안 요구될 수 있다. 이때 추가적인 섹션은 표 내에 부가되며, 추가적인 런은 리스트 내에 부가된다. 대부분의 경우에, 단 몇 개의 섹션만이 각 표에 필요한 것으로 예상된다. 그러나, 최악의 경우를 배제할 수 없으며, 이 경우 여기 아래의 계산만이 중요하다.
미니 비트맵 표 섹션 리스트에 대해, 이하의 가정을 할 수 있다. 2Kbyte의 소 블록에 1024 Gbyte를 저장하는 것이 요구된다(그러한 양의 데이터에 대해, 이보다 더 작은 사이즈는 합리적인 것으로 보이지 않는다). 이것은 64Mbyte의 미니 비트맵 표를 나타낸다. 최악의 경우에, 이 표는 512개의 런(대 논리 블록 사이즈가 128Kbyte인 경우)을 나타내는, 하나의 대 논리 블록의 섹션으로 배타적으로 구성된다. 2Kbyte는 리스트를 저장하기 위해 예비되어야 한다. (하나의 런이 최대 512 대 논리 블록을 포함하는 한, 이 리스트는 하나의 단일 런으로 구성될 수 있다는 것을 말해둔다).
파일 번호(파일 식별자)는 24 비트 필드(도 9에서 이노드의 파일 식별자 필드 중 24개의 하위 바이트)이다. 이노드 표에 대한 최대 사이즈는 1천6백만개의 이노드 또는 1Gbyte(하나의 이노드는 64바이트임)이다. 이들은 128Kbyte의 32768개의 대 블록, 그래서 최악의 경우 32768개의 런을 나타낸다. 이것은 이노드 표 섹션 리스트에 대해 32 Kbyte가 예비되어야 한다.
확장을 위한 동일한 계산은 8Mbyte (어드레싱이 24개의 비트가 아니라 32개의 비트로 되는 한, 32Kbyte의 256배)로 되며, 이것은 실행가능하지 않다. 그러나확장 표 섹션 리스트에 대한 64Kbyte 데이터 공간은 우수한 가능성(128Kbyte의 대 블록에 대해 최악의 경우 최대 3천2백만개의 확장)을 제공한다. 이외에도 이것은 128 Kbyte의 대 블록 사이즈와 호환이 가능하다(슈퍼 블록은 하나의 대 논리 블록에 해당하는 것으로 가정된다). 일단, 일반 정보를 위해 슈퍼 블록의 처음 512 바이트, 미니 비트맵 표의 섹션 리스트를 위해 그 다음 2Kbyte, 이노드 표 섹션 리스트를 위해 그 다음 32 Kbyte가 예비되면, 슈퍼 블록의 끝이 확장 표의 저장에 전용된다고 해보자.
전술한 바와 같이, 이들 확장 가능성은 매우 자주 사용되는 것으로 예상되지 않는다. 디스크를 포맷할 때, 이들 표 각각에 요구되는 공간은 하나의 런 내에 예비된다. 추가적인 런은 경우에 따라 추가될 수 있다. 이때 각 표의 처음 6개의 런을 저장하기 위해 슈퍼 블록의 512개의 처음 바이트에 어느 정도의 공간을 예비하도록 제안할 수 있다. 결과적으로 대부분의 경우에, 전체 표는 슈퍼 블록의 시작시에 저장된다. 예외적인 경우에, 확장 가능성은 여전히 존재한다.
슈퍼 블록에 대해 다음의 포맷이 제안된다.
- 바이트 0 내지 바이트 511(00h 내지 1FFh)은 도 15에 기술되어 있으며,
- 바이트 512 내지 바이트 2559(200h 내지 9FFh)는 미니 비트맵 표 확장의 7번째 섹션과 그 다음 섹션의 런을 위해 예비되며,
- 바이트 2560 내지 바이트 35327(A00h 내지 89FFh)은 이노드 표 확장의 7번째 섹션과 그 다음 섹션의 런을 위해 예비되며,
- 바이트 35328 내지 처음 대 논리 블록의 끝까지는 이노드 확장 표 확장의7번째 섹션과 그 다음 섹션의 런을 위해 예비된다.
처음 512 바이트에 대해, 그 구성은 도 15에 주어진 바와 같다.
도 16 은 디렉토리 데이터 공간을 나타낸다.
디렉토리 데이터공간은 이 디렉토리에 포함된 파일의 리스트를 포함한다. 이 리스트는 각 파일에 대한 파일 ID 와 디렉토리 이름을 포함한다. 이 리스트는 예를 들어 파일의 이름과 같은 추가적인 정보를 포함할 수 있다. 이 리스트를, {널(null)인 파일 데이터 공간 내에 저장하는 것이 아니라} 이노드 내에 직접 저장하는 것도 가능하다. 64 바이트 필드(파일 ID 에 대해 4 바이트와 파일 이름에 대해 60 바이트)가 각 파일을 특징지울 수 있도록 각 각 파일 이름에 대해 60바이트를 예비하는 것이 제안된다.
디렉토리 데이터 공간은 이때 64 바이트 필드의 연속인 것으로 구성된다.
본 실시예에 따라, 저장 디바이스는 DVB(디지털 비디오 방송) 표준에 따라 텔레비전 디코더 내에 포함된 하드 디스크이다.
도 17 은 디코더의 블록도이다. 디코더는 복조 및 에러 정정 회로(102)에 연결된 튜너(101)를 포함하며, 복조 및 에러 정정 회로(102)는 튜너로부터 오는 신호를 디지털화하기 위하여 아날로그 디지털 변환기를 또한 포함한다. 정정되고 복조된 데이터는 디멀티플렉싱 및 디코딩 회로(104)의 직렬 입력에 연결된 변환기(103)에 의해 직렬화된다. 회로(104)는 DVB 디멀티플렉서(106), 마이크로프로세서(107), 캐쉬 메모리(108), 외부 인터페이스 메모리(109), 직렬 통신 인터페이스(110), 병렬 입/출력 인터페이스(111), 스마트 카드 인터페이스(112), 비디오 및 오디오MPEG 디코더(113), PAL 및 RGB 인코더(114) 및 문자 생성기(115)를 포함한다. 외부 메모리 인터페이스(109)는 16비트 병렬 버스에 연결되며, 이 버스에는 병렬 인터페이스(116), 예를 들어, IEEE 1284 인터페이스, 메모리(117), 플래쉬 메모리(118), 및 예를 들어, EIDE 하드 디스크일 수 있는 하드 디스크 드라이브(119)가 또한 연결된다.
병렬 인터페이스(116)는 외부 커넥터(120)와 모뎀(121)에 또한 연결되며, 모뎀(121)은 외부 커넥터(122)에 또한 연결된다. 직렬 통신 인터페이스(110)는 외부 커넥터(123), 및 적외선 수신 모듈(124)의 출력에 연결되며, 이 적외선 수신 모듈은 적외선 리모트 컨트롤(도면에 미도시)로부터 오는 신호를 수신한다.
스마트 카드 인터페이스(112)는 스마트 카드 커넥터(125)에 연결된다.
비디오 및 오디오 디코더(113)는 16M 비트 메모리(126)에 연결되며, 이 메모리는 아직 디코딩 되지 않은 오디오 및 비디오 데이터를 저장한다. 디코더는 디코딩된 비디오 데이터를 PAL 및 RGB 코더(114)에 송신하며 디코딩된 오디오 데이터를 아날로그 디지털 변환기(127)에 송신한다. 이 코더는 RGB 신호를 SECAM 코더(132)에 송신하며, 둘이 분리되어 있는, 루미넌스 데이터(Y)와 크로미넌스 데이터(C)를 포함하는 비디오 신호를 또한 제공한다. 이들 데이터는 통신 회로(128)를 거쳐 오디오 출력(129), 텔레비전(130) 및 비디오 테이프(131)로 멀티플렉싱된다.
전술한 바와 같이, 본 발명은, 디지털 비디오 및 오디오와 같은 스트림 데이터를 저장할 뿐만 아니라 더 작은 타입의 파일을 저장하기 위한 방법 및 디바이스등에 이용가능하다.
Claims (22)
- 스트림 데이터와 비-스트림 데이터를 저장하기 위한 저장 디바이스에 있어서, 상기 저장 디바이스는 오디오 및/또는 비디오 스트림을 저장하기 위한 제 1 타입의 저장 유닛과, 비-스트림 데이터를 저장하기 위한 제 2 타입의 저장 유닛을 특징으로 하는 파일 시스템을 포함하며, 여기서 상기 제 1 타입의 저장 유닛의 사이즈는 상기 제 2 타입의 저장 유닛의 사이즈의 배수이며, 상기 저장 디바이스는 스트림 데이터를 저장하기 위해 상기 제 1 타입의 저장 유닛을 할당하거나 또는 상기 제 1 타입의 저장 유닛을 비-스트림 데이터를 저장하기 위해 복수의 제 2 타입의 저장 유닛으로 분할하도록 상기 제 1 타입의 유닛을 할당하기 위한 수단을 더 포함하는 것을 특징으로 하는, 저장 디바이스.
- 제 1 항에 있어서, 상기 두 타입의 저장 유닛에 대해 단 하나의 디렉토리 트리(directory tree)만이 존재하는, 저장 디바이스.
- 제 1 항 또는 제 2 항에 있어서, 상기 복수의 제 2 타입의 저장 유닛으로 분할된 상기 제 1 타입의 저장 유닛은, 상기 제 2 타입의 모든 유닛이 이용가능할 때에는 그리고 저장될 데이터의 타입에 따라, 더 이상 복수의 제 2 타입의 저장 유닛으로 분할될 수 없는, 저장 디바이스.
- 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 적어도 하나의 제 1 데이터 구조는, 적어도 각 제 1 타입의 저장 유닛에 대해 상기 제 1 타입의 저장 유닛이 자유로운(free) 상태에 있는지 아닌지, 그리고 상기 제 1 타입의 저장 유닛이 복수의 제 2 타입의 저장 유닛으로 분할되어 있는지 아닌지를 나타내는, 저장 디바이스.
- 제 4 항에 있어서, 그 어드레스가 상기 제 1 데이터 구조에서 지시되는 제 2 데이터 구조는 상기 제 1 타입의 저장 유닛에 포함된 제 2 타입의 각 저장 유닛의 이용가능성을 제공하는, 저장 디바이스.
- 제 4 항 또는 제 5 항에 있어서, 상기 제 2 데이터 구조의 사이즈와 수(number)는 상기 저장 디바이스가 저장하여야 하는 비-스트림 데이터의 총 양에 따라 좌우되며, 상기 제 2 데이터 구조의 수는 제 1 타입의 저장 유닛을 제 2 타입의 저장 유닛에 할당할 때 변화하는, 저장 디바이스.
- 제 4 항 내지 제 6 항 중 어느 한 항에 있어서, 상기 제 2 데이터 구조는 적어도 하나의 제 1 타입의 저장 유닛의 적어도 하나의 섹션에 저장되며, 만약 하나를 초과하는 섹션이 필요하면, 각 섹션은 그 다음 섹션의 어드레스를 제공하는, 저장 디바이스.
- 제 7 항에 있어서, 제 3 데이터 구조는 상기 제 2 데이터 구조를 저장하는 각 섹션과 연관되며, 상기 제 3 데이터 구조는 상기 섹션의 서로다른 제 2 데이터 구조의 이용가능성을 나타내는, 저장 디바이스.
- 제 7 항 또는 제 8 항에 있어서, 제 1 지시자는 상기 제 2 데이터 구조를 저장하는 상기 각 섹션과 연관되며, 상기 지시자는, 상기 섹션의 제 2 데이터 구조와 연관된 적어도 하나의 제 2 타입의 저장 유닛이 이용가능한지를 나타내는, 저장 디바이스.
- 제 7 항 내지 제 9 항 중 어느 한 항에 있어서, 상기 제 2 데이터 구조를 저장하는 하나의 새로운 섹션은, 이미 할당된 상기 섹션과 연관된 지시자가 비-스트림 데이터에 대해 제 2 타입의 저장 유닛이 이용가능하지 않은 것을 나타낼 때 그리고 추가적인 저장 유닛의 요청시에, 할당되는, 저장 디바이스.
- 제 1 항 내지 제 10 항 중 어느 한 항에 있어서, 제 1 파일 정보 구조는 저장된 각 파일과 연관되며, 상기 파일 정보 구조는 적어도 하나의 파일 식별자, 파일 타입, 저장 수단 위에 적어도 하나의 파일 위치를 나타내는 적어도 하나의 필드와, 만약 상기 필드가 상기 파일의 전체 위치를 포함할 수 없을 때에는, 제 2 파일 정보 구조에 대한 포인터를 나타내는, 저장 디바이스.
- 제 11 항에 있어서, 상기 파일 정보 구조는 적어도 하나의 섹션에 저장되며, 하나를 초과하는 섹션이 필요하면, 상기 섹션 각각은 그 다음 섹션의 어드레스를 제공하는, 저장 디바이스.
- 제 11 항 내지 제 12 항 중 어느 한 항에 있어서, 상기 제 2 파일 정보 구조는 적어도 하나의 섹션에 저장되며, 만약 하나를 초과하는 섹션이 필요하면, 각 섹션은 그 다음 섹션의 어드레스를 제공하는, 저장 디바이스.
- 제 11 항 내지 제 13 항 중 어느 한 항에 있어서, 제 3 파일 정보 구조는 상기 제 1 파일 정보 구조를 저장하는 각 섹션과 연관되며, 상기 제 3 파일 정보 구조는 상기 섹션의 서로다른 제 1 파일 정보 구조의 이용가능성을 나타내는, 저장 디바이스.
- 제 11 항 내지 제 14 항 중 어느 한 항에 있어서, 제 4 파일 정보 구조는 상기 제 2 파일 정보 구조를 저장하는 각 섹션과 연관되며, 상기 제 4 파일 정보 구조는 상기 섹션의 서로다른 제 2 파일 정보 구조의 이용가능성을 나타내는, 저장 디바이스.
- 제 11 항 내지 제 15 항 중 어느 한 항에 있어서, 하나의 제 2 지시자는 상기 제 1 파일 정보 구조를 저장하는 각 섹션과 연관되며, 상기 제 2 지시자는 상기제 1 파일 정보 구조 중 적어도 하나의 제 1 파일 정보 구조가 이용가능한지를 나타내는, 저장 디바이스.
- 제 11 항 내지 제 16 항 중 어느 한 항에 있어서, 하나의 제 3 지시자는 상기 제 2 파일 정보 구조를 저장하는 각 섹션과 연관되며, 상기 제 3 지시자는 상기 제 2 파일 정보 구조 중 적어도 하나의 제 2 파일 정보 구조가 이용가능한지를 나타내는, 저장 디바이스.
- 제 11 항 내지 제 17 항 중 어느 한 항에 있어서, 상기 제 1 정보 구조를 저장하는 하나의 새로운 섹션은, 이미 할당된 상기 섹션과 연관된 상기 제 2 지시자가 제 1 파일 정보 구조가 이용가능하지 않다는 것을 나타낼 때 그리고 새로운 파일을 저장할 때, 할당되는, 저장 디바이스.
- 제 11 항 내지 제 18 항 중 어느 한 항에 있어서, 상기 제 2 파일 정보 구조를 저장하는 하나의 새로운 섹션은, 이미 할당된 섹션과 연관된 상기 제 3 지시자가 제 2 파일 정보 구조가 이용가능하지 않다는 것을 나타낼 때 그리고, 그 위치가 대응하는 제 1 파일 정보 구조의 필드에 포함될 수 없는 새로운 파일을 저장할 때, 할당되는, 저장 디바이스.
- 제 11 항 내지 제 19 항 중 어느 한 항에 있어서, 상기 저장 수단 위에 적어도 하나의 파일 위치를 나타내는 적어도 하나의 필드는, 상기 파일이 오디오 및/또는 비디오 스트림을 포함할 때에는, 상기 파일을 저장하는데 필요한 상기 제 1 저장 유닛의 어드레스 및 제 1 저장 유닛의 수를 나타내며, 상기 파일이 비-스트림 데이터를 포함할 때에는, 상기 제 1 저장 유닛의 어드레스와 상기 제 1 저장 유닛 내의 상기 제 2 타입의 저장 유닛의 어드레스를 나타내는, 저장 디바이스.
- 제 1 항 내지 제 20 항 중 어느 한 항에 있어서, 적어도 서로다른 섹션의 어드레스, 상기 제 1 저장 유닛의 사이즈, 및 상기 제 2 저장 유닛의 사이즈를 제공하는 하나의 글로벌 데이터 구조를 포함하는, 저장 디바이스.
- 저장 매체 위에 스트림 데이터와 비-스트림 데이터를 기록하기 위한 방법으로서,- 상기 저장 매체 위에 제 1 및 제 2 타입의 저장 유닛을 제공하는 단계로서, 상기 제 1 타입의 저장 유닛의 사이즈는 상기 제 2 타입의 저장 유닛의 사이즈보다 적어도 한 자리수 크기(one magnitude)만큼 더 큰, 제 1 및 제 2 타입의 저장 유닛을 제공하는 단계와,- 대응하는 저장 유닛에 따라 저장을 준비하기 위해 스트림 데이터 블록 또는 비-스트림 데이터 블록을 처리하는 단계와,- 만약 스트림 데이터가 기록되는 경우, 상기 스트림 데이터를 저장하기 위해 상기 저장 매체 위에 제 1 타입의 저장 유닛을 할당하는 단계와,- 만약 비-스트림 데이터가 기록되는 경우, 상기 제 1 타입의 저장 유닛을 복수의 상기 제 2 타입의 저장 유닛으로 분할하며 그리고 저장을 위해 상기 제 2 타입의 저장 유닛의 적어도 일부를 할당하는 단계를 포함하는 스트림 데이터와 비-스트림 데이터를 기록하기 위한 방법.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00402856.9 | 2000-10-16 | ||
EP00402856 | 2000-10-16 | ||
EP01102676.2 | 2001-02-07 | ||
EP01102676A EP1199897A3 (en) | 2000-10-16 | 2001-02-07 | Method and device for storing stream data such as digital video and non-stream data |
PCT/EP2001/011532 WO2002033586A2 (en) | 2000-10-16 | 2001-10-05 | Method and device for storing stream data such as digital video and non-stream data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040007400A true KR20040007400A (ko) | 2004-01-24 |
KR100813594B1 KR100813594B1 (ko) | 2008-03-17 |
Family
ID=26073594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020037004943A KR100813594B1 (ko) | 2000-10-16 | 2001-10-05 | 디지털 비디오와 같은 스트림 데이터와 비-스트림데이터를 저장하기 위한 방법 및 디바이스 |
Country Status (8)
Country | Link |
---|---|
US (1) | US9071789B2 (ko) |
EP (2) | EP1199897A3 (ko) |
JP (1) | JP2004512602A (ko) |
KR (1) | KR100813594B1 (ko) |
CN (1) | CN1287605C (ko) |
AU (2) | AU2002212313B2 (ko) |
MX (1) | MXPA03003059A (ko) |
WO (1) | WO2002033586A2 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1320037A1 (en) * | 2001-12-11 | 2003-06-18 | Thomson Licensing S.A. | Storage device |
US7185029B1 (en) * | 2003-06-27 | 2007-02-27 | Unisys Corporation | Method and apparatus for maintaining, and updating in-memory copies of the first and second pointers to reference the new versions of the first and second control structures that indicate available and allocated portions of usable space in the data file |
EP1526541A1 (en) * | 2003-10-23 | 2005-04-27 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for recording data and recovering recorded data |
US7930508B2 (en) * | 2006-03-07 | 2011-04-19 | Apple Inc. | File systems for data processing systems |
US20070223875A1 (en) * | 2006-03-21 | 2007-09-27 | Tsung-Ning Chung | Storage device and method of accessing storage device |
US8868626B2 (en) * | 2007-04-12 | 2014-10-21 | Rutgers, The State University Of New Jersey | System and method for controlling a file system |
EP2031491A1 (en) | 2007-08-28 | 2009-03-04 | Deutsche Thomson OHG | Method for storing files on a storage medium, storage medium, and video recording apparatus using the method |
US9079306B2 (en) | 2007-10-22 | 2015-07-14 | Honda Motor Co., Ltd. | Evaluation of communication middleware in a distributed humanoid robot architecture |
US10740015B2 (en) | 2017-04-06 | 2020-08-11 | Apple Inc. | Optimized management of file system metadata within solid state storage devices (SSDs) |
CN108280028B (zh) * | 2017-12-27 | 2024-04-05 | 浙江恒业电子股份有限公司 | 一种基于动态分配的智能电能表负荷记录实现的方法 |
CN110825061B (zh) * | 2019-11-29 | 2023-08-11 | 新疆新能集团有限责任公司乌鲁木齐电力建设调试所 | 一种分散处理单元的流数据二维处理方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0436641B1 (en) | 1988-10-03 | 1996-04-03 | Silicon Graphics, Inc. | Computer three-way transfer operation |
AU6151090A (en) | 1989-08-01 | 1991-03-11 | Silicon Graphics, Inc. | File alteration monitor for computer operating and file management systems |
US6240241B1 (en) * | 1991-08-19 | 2001-05-29 | Index Systems, Inc. | Still frame video in index |
JPH05204725A (ja) | 1992-01-28 | 1993-08-13 | Casio Comput Co Ltd | ファイル管理装置 |
US5435004A (en) * | 1994-07-21 | 1995-07-18 | International Business Machines Corporation | Computerized system and method for data backup |
JPH0869399A (ja) * | 1994-08-26 | 1996-03-12 | Fuji Xerox Co Ltd | ファイル管理装置 |
JPH08115238A (ja) * | 1994-10-18 | 1996-05-07 | Fuji Xerox Co Ltd | ファイルシステム |
US5740435A (en) * | 1994-10-31 | 1998-04-14 | Sony Corporation | Data management apparatus and method for managing data of variable lengths recorded on a record medium |
JPH08241230A (ja) * | 1994-10-31 | 1996-09-17 | Sony Corp | データ管理方法およびデータ記録装置 |
US6009234A (en) * | 1995-04-14 | 1999-12-28 | Kabushiki Kaisha Toshiba | Method of reproducing information |
US6075906A (en) | 1995-12-13 | 2000-06-13 | Silicon Graphics Inc. | System and method for the scaling of image streams that use motion vectors |
JPH10283230A (ja) | 1997-03-31 | 1998-10-23 | Nec Corp | ファイルデータ格納装置およびプログラムを記録した機械読み取り可能な記録媒体 |
DE69809463T2 (de) * | 1997-09-17 | 2003-05-08 | Matsushita Electric Industrial Co., Ltd. | Aufzeichnungsgerät für optische Platte, computerlesbares Aufzeichnungsmedium zur Aufzeichnung eines Datenverwaltungsprogramms sowie optische Platte |
US6125373A (en) * | 1997-09-19 | 2000-09-26 | Microsoft Corporation | Identifying a driver that is an owner of an active mount point |
JP3597689B2 (ja) * | 1998-01-21 | 2004-12-08 | 株式会社東芝 | 情報記録媒体及び情報記録媒体処理装置 |
FR2787962B1 (fr) * | 1998-12-28 | 2001-02-09 | Thomson Multimedia Sa | Procede d'enregistrement et de lecture simultanes d'un flux de donnees audio et video numeriques, et recepteur pour la mise en oeuvre du procede |
FR2787963B1 (fr) * | 1998-12-28 | 2001-02-09 | Thomson Multimedia Sa | Procede de stockage d'un flux de donnees audio et video numeriques, dispositif de stockage et recepteur pour la mise en oeuvre du procede |
US6160501A (en) * | 1999-05-11 | 2000-12-12 | Intel Corporation | Storing packet data |
US7106946B1 (en) * | 1999-09-28 | 2006-09-12 | Sony Corporation | Transport stream processing device, and associated methodology of generating and aligning source data packets in a physical data structure |
US6553446B1 (en) | 1999-09-29 | 2003-04-22 | Silicon Graphics Inc. | Modular input/output controller capable of routing packets over busses operating at different speeds |
-
2001
- 2001-02-07 EP EP01102676A patent/EP1199897A3/en not_active Withdrawn
- 2001-10-05 MX MXPA03003059A patent/MXPA03003059A/es active IP Right Grant
- 2001-10-05 KR KR1020037004943A patent/KR100813594B1/ko not_active IP Right Cessation
- 2001-10-05 EP EP01980481A patent/EP1354277A2/en not_active Withdrawn
- 2001-10-05 AU AU2002212313A patent/AU2002212313B2/en not_active Ceased
- 2001-10-05 AU AU1231302A patent/AU1231302A/xx active Pending
- 2001-10-05 WO PCT/EP2001/011532 patent/WO2002033586A2/en active IP Right Grant
- 2001-10-05 JP JP2002536904A patent/JP2004512602A/ja active Pending
- 2001-10-05 CN CNB018174736A patent/CN1287605C/zh not_active Expired - Fee Related
- 2001-10-05 US US10/398,817 patent/US9071789B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1354277A2 (en) | 2003-10-22 |
WO2002033586A2 (en) | 2002-04-25 |
EP1199897A3 (en) | 2003-03-26 |
WO2002033586A3 (en) | 2003-08-07 |
MXPA03003059A (es) | 2003-07-14 |
US9071789B2 (en) | 2015-06-30 |
CN1631044A (zh) | 2005-06-22 |
AU1231302A (en) | 2002-04-29 |
JP2004512602A (ja) | 2004-04-22 |
AU2002212313B2 (en) | 2007-08-09 |
KR100813594B1 (ko) | 2008-03-17 |
US20040101281A1 (en) | 2004-05-27 |
EP1199897A2 (en) | 2002-04-24 |
CN1287605C (zh) | 2006-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1237530A (en) | Self extending memory file | |
US9678879B2 (en) | Set partitioning for encoding file system allocation metadata | |
JP4250190B2 (ja) | ファイルシステムにおけるオブジェクトの効率的な記憶 | |
EP0798656B1 (en) | File system level compression using holes | |
US6341278B1 (en) | Recording and reproducing apparatus and method for accessing data stored on a randomly accessible recording medium, and for managing data thereon | |
JP4051375B2 (ja) | 圧縮可能度に基づいて圧縮メイン・メモリを使用するためのシステムおよび方法 | |
US5305295A (en) | Efficient method and apparatus for access and storage of compressed data | |
US6654772B1 (en) | Multi-volume extent based file system | |
US5734892A (en) | Efficient method and apparatus for access and storage of compressed data | |
US7660837B2 (en) | Method for automatically managing disk fragmentation | |
KR100813594B1 (ko) | 디지털 비디오와 같은 스트림 데이터와 비-스트림데이터를 저장하기 위한 방법 및 디바이스 | |
US20090307291A1 (en) | Smart card storage system and file management method therein | |
US6804746B2 (en) | Method and system for optimizing data storage and retrieval by an audio/video file system using hierarchical file allocation table | |
AU2002212313A1 (en) | Method and device for storing stream data such as digital video and non-stream data | |
US4630030A (en) | Compression of data for storage | |
US7765378B1 (en) | Utilization of memory storage | |
US20030097523A1 (en) | External storage device within a computer network | |
US6819627B2 (en) | Method for storing data, method for reading data, apparatus for storing data and apparatus for reading data | |
US6266671B1 (en) | Data storage apparatus, method, and medium with variable data storage structure | |
US8195696B2 (en) | File format converting method | |
WO1991019255A1 (en) | Apparatus and method for efficient organization of compressed data on a hard disk | |
KR100261177B1 (ko) | 메시지 핸들링방법 | |
JP3661690B2 (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 | ||
FPAY | Annual fee payment |
Payment date: 20130221 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140220 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150224 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160203 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |