KR100886150B1 - 멀티미디어 파일 시스템, 이를 동작시키는 방법, 및멀티미디어 데이터를 실시간으로 저장할 수 있는 장치 - Google Patents

멀티미디어 파일 시스템, 이를 동작시키는 방법, 및멀티미디어 데이터를 실시간으로 저장할 수 있는 장치 Download PDF

Info

Publication number
KR100886150B1
KR100886150B1 KR1020070124773A KR20070124773A KR100886150B1 KR 100886150 B1 KR100886150 B1 KR 100886150B1 KR 1020070124773 A KR1020070124773 A KR 1020070124773A KR 20070124773 A KR20070124773 A KR 20070124773A KR 100886150 B1 KR100886150 B1 KR 100886150B1
Authority
KR
South Korea
Prior art keywords
index table
index
file system
disk
buffer
Prior art date
Application number
KR1020070124773A
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 KR1020070124773A priority Critical patent/KR100886150B1/ko
Application granted granted Critical
Publication of KR100886150B1 publication Critical patent/KR100886150B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

멀티미디어 파일 시스템은 버퍼, 적어도 하나의 외부 채널로부터 입력된 데이터를 시간을 기초로 정렬된 인덱스 테이블과 연관시켜 상기 버퍼 상에 저장하는 파일 시스템 모듈, 상기 파일 시스템 모듈이 상기 인덱스 테이블을 상기 버퍼 상에 저장하는 경우에는, 상기 저장된 인덱스 테이블을 비휘발성 램(NVRAM, Non-Volitile Random Acess Memory)에 즉시 저장하는 인덱스 손상 방지부, 및 상기 버퍼 상에 저장된 상기 데이터와 상기 인덱스 테이블을 디스크 상에 저장하는 디스크 드라이버를 포함한다. 따라서 멀티미디어 파일 시스템은 시간을 기초로 정렬된 인덱스 테이블을 이용하여 멀티미디어 데이터를 효율적으로 저장할 수 있다.

Description

멀티미디어 파일 시스템, 이를 동작시키는 방법, 및 멀티미디어 데이터를 실시간으로 저장할 수 있는 장치{MULTIMEDIA FILE SYSTEM, METHOD OF OPERATING THE SAME, AND APPARATUS OF STROING MULTIMEDIA DATA IN REAL TIME}
본 발명의 실시예들은 멀티미디어 파일 시스템, 이를 동작시키는 방법, 및 멀티미디어 데이터를 실시간으로 저장할 수 있는 장치에 관한 것이다.
일반적으로, 비디오 데이터와 오디오 데이터와 같은 멀티미디어 데이터는 시간과 밀접한 관련이 있고, 작은 파일 단위로 저장되기보다는 하나의 큰 파일로 저장될 수 있다. 또한 멀티미디어 데이터는 임의로 읽기와 쓰기가 수행되기보다는 오히려 순차적으로 읽기와 쓰기가 수행될 수 있다.
종래의 파일 시스템은 적절한 크기를 가지는 파일 단위로 데이터를 저장하고 파일에 멀티미디어 데이터를 저장하는 방식은 사용자의 제어하에 있으므로, 종래의 파일 시스템은 멀티미디어 데이터를 읽고 쓰는 데에 적절하지 않을 수 있다.
특히, DVR(Digital Video Recorder)과 같이 실시간으로 멀티미디어 데이터를 기록하는 장치는 종래의 파일 시스템보다는 멀티미디어 데이터를 효율적으로 저장할 수 있는 파일 시스템을 요구할 수 있다. 또한, 필요에 따라, 상기 장치는 갑 작스런 정전이나 고의적인 전원 차단과 같은 비정상적인 종료를 대비할 수 있는 파일 시스템을 요구할 수 있다.
본 발명의 목적은 상기 종래 기술의 문제점을 해결하기 위하여 시간을 기초로 정렬된 인덱스 테이블을 이용하여 멀티미디어 데이터를 효율적으로 저장할 수 있는 멀티미디어 파일 시스템을 제공하는 데 있다.
본 발명의 다른 목적은 상기 멀티미디어 파일 시스템을 구현한 멀티미디어 데이터를 실시간으로 저장할 수 있는 장치를 제공하는 데 있다.
본 발명의 또 다른 목적은 상기 멀티미디어 파일 시스템을 동작시키는 방법을 제공하는 데 있다.
상기 목적을 달성하기 위하여 본 발명의 멀티미디어 파일 시스템은 버퍼, 적어도 하나의 외부 채널로부터 입력된 데이터를 시간을 기초로 정렬된 인덱스 테이블과 연관시켜 상기 버퍼 상에 저장하는 파일 시스템 모듈, 상기 파일 시스템 모듈이 상기 인덱스 테이블을 상기 버퍼 상에 저장하는 경우에는, 상기 저장된 인덱스 테이블을 비휘발성 램(NVRAM, Non-Volatile Random Access Memory)에 즉시 저장하는 인덱스 손상 방지부, 및 상기 버퍼 상에 저장된 상기 데이터와 상기 인덱스 테이블을 디스크 상에 저장하는 디스크 드라이버를 포함한다.
상기 멀티미디어 파일 시스템은 상기 디스크가 이전에 정상적으로 종료되 었는지 여부를 체크하고, 상기 디스크가 비정상적으로 종료된 경우에는 상기 비휘발성 램에 저장된 인덱스 테이블(이하, "제1 인덱스 테이블")과 상기 디스크 상에 저장된 인덱스 테이블(이하, "제2 인덱스 테이블")을 비교하여 상기 제1 인덱스 테이블과 상기 제2 인덱스 테이블을 동기화시키는 인덱스 복구부를 더 포함할 수 있다.
상기 인덱스 복구부는 상기 디스크가 동작을 시작할 때에는 상기 디스크가 비정상적으로 종료되었음을 나타내도록 하고, 상기 디스크가 동작을 정상적으로 멈출 경우에는 상기 디스크가 정상적으로 종료되었음을 나타내도록 할 수 있다.
상기 인덱스 복구부는 상기 제1 인덱스 테이블을 상기 제2 인덱스 테이블에 겹쳐 기록하여 상기 동기화를 수행할 수 있다.
일 실시예에 따라, 상기 파일 시스템 모듈은 상기 인덱스 테이블이 상기 버퍼 상에 저장되는 경우에는 상기 인덱스 손상 방지부에 상기 인덱스 테이블이 상기 버퍼 상에 저장되었음을 알릴 수 있다. 다른 일 실시예에 따라, 상기 버퍼는 인덱스 테이블 영역과 데이터 영역을 포함하고, 상기 파일 시스템 모듈은 상기 인덱스 테이블을 상기 인덱스 테이블 영역에 저장하고 상기 데이터를 상기 데이터 영역에 저장하며, 상기 인덱스 손상 방지부는 상기 인덱스 테이블 영역의 변화를 검출하여 상기 인덱스 테이블을 상기 비휘발성 램에 즉시 쓸 수 있다.
상기 디스크 드라이버는 주기적으로 또는 사용자의 명령에 따라 상기 버퍼에 저장된 상기 데이터와 상기 인덱스 테이블을 상기 디스크에 저장할 수 있다.
상기 인덱스 테이블은 상기 디스크 상의 논리적 기록 단위를 나타내는 블 록에 관한 인덱스를 저장하기 위한 블록 아이디, 및 상기 블록 아이디에 상응하는 블록에 실제로 저장된 데이터의 크기를 나타내는 블록 사이즈를 포함할 수 있다.
예를 들어, 상기 멀티미디어 파일 시스템은 DVR(Digital Video Recorder)과 같이 실시간으로 멀티미디어 데이터를 저장할 수 있는 시스템에 사용될 수 있다.
상기 다른 목적을 달성하기 위하여 본 발명의 멀티미디어 데이터를 실시간으로 저장할 수 있는 장치는 적어도 하나의 데이터 스트림을 입력 받고, 상기 입력 받은 데이터 스트림을 적절한 단위로 패킷타이징(packetizing)을 수행하여 데이터 패킷을 생성하는 데이터 스트림 패킷타이징부, 상기 생성된 데이터 패킷을 인코딩 하는 인코딩부, 및 상기 인코딩된 데이터 패킷을 저장할 수 있는 멀티미디어 파일 시스템이 구현된 저장 관리부를 포함하고, 상기 멀티미디어 파일 시스템은 버퍼, 상기 인코딩된 데이터 패킷을 시간을 기초로 정렬된 인덱스 테이블과 연관시켜 상기 버퍼 상에 저장하는 파일 시스템 모듈, 상기 파일 시스템 모듈이 상기 인덱스 테이블을 상기 버퍼 상에 저장하는 경우에는, 상기 저장된 인덱스 테이블을 비휘발성 램(NVRAM, Non-Volatile Random Access Memory)에 즉시 저장하는 인덱스 손상 방지부, 및 상기 버퍼 상에 저장된 상기 인코딩된 데이터 패킷과 상기 인덱스 테이블을 디스크 상에 저장하는 디스크 드라이버를 포함한다. 예를 들어, 상기 장치는 DVR(Digital Video Recorder)에 사용될 수 있다.
상기 멀티미디어 파일 시스템은 상기 디스크가 이전에 정상적으로 종료되었는지 여부를 체크하고, 상기 디스크가 비정상적으로 종료된 경우에는 상기 비휘 발성 램에 저장된 인덱스 테이블(이하, "제1 인덱스 테이블")과 상기 디스크 상에 저장된 인덱스 테이블(이하, "제2 인덱스 테이블")을 비교하여 상기 제1 인덱스 테이블과 상기 제2 인덱스 테이블을 동기화시키는 인덱스 복구부를 더 포함할 수 있다.
일 실시예에 따라, 상기 파일 시스템 모듈은 상기 인덱스 테이블이 상기 버퍼 상에 저장되는 경우에는 상기 인덱스 손상 방지부에 상기 인덱스 테이블이 상기 버퍼 상에 저장되었음을 알릴 수 있다. 다른 일 실시예에 따라, 상기 버퍼는 인덱스 테이블 영역과 데이터 영역을 포함하고, 상기 파일 시스템 모듈은 상기 인덱스 테이블을 상기 인덱스 테이블 영역에 저장하고 상기 인코딩된 데이터 패킷을 상기 데이터 영역에 저장하며, 상기 인덱스 손상 방지부는 상기 인덱스 테이블 영역의 변화를 검출하여 상기 인덱스 테이블을 상기 비휘발성 램에 즉시 쓸 수 있다.
상기 디스크 드라이버는 주기적으로 또는 사용자의 명령에 따라 상기 버퍼에 저장된 상기 인코딩된 데이터 패킷과 상기 인덱스 테이블을 상기 디스크에 저장할 수 있다.
상기 인덱스 테이블은 상기 디스크 상의 논리적 기록 단위를 나타내는 블록에 관한 인덱스를 저장하기 위한 블록 아이디, 및 상기 블록 아이디에 상응하는 블록에 실제로 저장된 인코딩된 데이터 패킷의 크기를 나타내는 블록 사이즈를 포함할 수 있다.
상기 또 다른 목적을 달성하기 위하여 본 발명의 멀티미디어 파일 시스템을 동작시키는 방법은 적어도 하나의 외부 채널로부터 입력된 데이터를 시간을 기 초로 정렬된 인덱스 테이블과 연관시켜 버퍼 상에 저장하는 단계, 상기 인덱스 테이블을 상기 버퍼 상에 저장하는 경우에는 상기 저장된 인덱스 테이블을 비휘발성 램(NVRAM, Non-Volatile Random Access Memory)에 즉시 저장하는 단계, 및 상기 버퍼 상에 저장된 상기 데이터와 상기 인덱스 테이블을 디스크 상에 저장하는 단계를 포함한다.
상기 방법은 상기 디스크가 이전에 정상적으로 종료되었는지 여부를 체크하는 단계, 및 상기 디스크가 비정상적으로 종료된 경우에는 상기 비휘발성 램에 저장된 인덱스 테이블(이하, "제1 인덱스 테이블")과 상기 디스크 상에 저장된 인덱스 테이블(이하, "제2 인덱스 테이블")을 비교하여 상기 제1 인덱스 테이블과 상기 제2 인덱스 테이블을 동기화시키는 단계를 더 포함할 수 있다.
본 발명의 일 실시예는 시간을 기초로 정렬된 인덱스 테이블을 이용하여 멀티미디어 데이터를 효율적으로 저장할 수 있다.
또한, 본 발명의 일 실시예는 인덱스 테이블을 비휘발성 램(NVRAM, Non-Volatile RAM)에 즉시 저장하여 비정상적인 종료에도 불구하고 멀티미디어 데이터의 손상을 감소시킬 수 있다.
본 발명의 실시예들에 관한 설명은 본 발명의 구조적 내지 기능적 설명들을 위하여 예시된 것에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예들에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 본 발명의 실시예들은 다 양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.
한편, 본 발명에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
“제1”, “제2” 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로 이들 용어들에 의해 본 발명의 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
“및/또는”의 용어는 하나 이상의 관련 항목으로부터 제시가능 한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, “제1 항목, 제2 항목 및/또는 제3 항목”의 의미는 "제1 항목, 제2 항목 및 제3 항목 중 적어도 하나 이상"을 의미하는 것으로, 제1, 제2 또는 제3 항목뿐만 아니라 제1, 제2 및 제3 항목들 중 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 발명에서 기재된 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명에서 기술한 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 DVR(Digital Video Recording) 시스템을 나타내는 블록도이다.
도 1을 참조하면, DVR 시스템(100)은 적어도 하나의 카메라(110), DVR 제어부(120) 및 관리부(130)를 포함한다. DVR 시스템(100)은 멀티미디어 데이터를 실 시간으로 저장할 수 있는 장치에 포함되는 하나의 예에 상응할 수 있다.
적어도 하나의 카메라(110)는 자신의 주변의 물체를 촬영하여 DVR 제어부(120)에 전송한다. 일 실시예에 따라, 적어도 하나의 카메라(110)는 아날로그 신호를 전송할 수 있고, 다른 일 실시예에 따라, 적어도 하나의 카메라(110)는 아날로그 신호를 디지털 신호로 변환하여 전송할 수 있다.
DVR 제어부(120)는 적어도 하나의 카메라(110)로부터 전송된 아날로그 또는 디지털 신호를 적절한 디지털 신호로서 저장하고, 관리부(130)의 요청에 따라 저장된 신호 또는 전송된 신호를 관리부(130)에 전송한다. DVR 제어부(120)의 동작을 후술하기로 한다.
관리부(130)는 DVR 제어부(120)에 수신된 신호(즉, 카메라(110)로부터 현재 출력되는 신호) 또는 DVR(120)에 저장된 신호를 입력 받는다.
도 2는 도 1에 도시된 DVR 제어부의 구성을 나타내는 블록도이다.
도 2를 참조하면, DVR 제어부(120)는 데이터 스트림 패킷타이징부(210), 인코딩부(220), 제어부(230), I/O부(240), 저장 관리부(250), 비휘발성 램(NVRAM, Non-Volatile Random Access Memory)(260) 및 디스크(270)를 포함한다.
데이터 스트림 패킷타이징부(210)는 적어도 하나의 카메라(110)로부터 적어도 하나의 데이터 스트림을 입력 받고, 입력 받은 데이터 스트림을 적절한 단위로 패킷타이징(packetizing)을 수행하여 데이터 패킷을 생성한다. 일 실시예에 따라, 데이터 스트림 패킷타이징부(210)는 라운드 로빈(RR, Round Robin) 방식을 채택하여 적어도 하나의 카메라(110)로부터 각각 수신된 데이터 스트림을 패킷타이징 하여 데이터 패킷을 생성할 수 있다.
인코딩부(220)는 데이터 스트림 패킷타이징부(210)에 의하여 생성된 데이터 패킷을 인코딩한다. 일 실시예에 따라, 인코딩부(220)는 MPEG(Moving Picture Expert Group) 방식을 채택할 수 있다.
제어부(230)는 DVR 제어부(120)가 적절하게 동작될 수 있도록 데이터 스트림 패킷타이징부(210), 인코딩부(220), I/O부(240) 및 저장 관리부(250)를 제어한다.
I/O부(240)는 관리부(130)와의 통신을 수행한다. 즉, I/O부(240)는 관리부(130)의 요청에 따라 카메라(110)로부터 수신된 신호 또는 디스크에 저장된 신호를 전송한다.
저장 관리부(250)는 인코딩부(220)에 의하여 인코딩된 데이터 패킷을 저장할 수 있는 멀티미디어 파일 시스템을 구현한다. 멀티미디어 파일 시스템은 후술하기로 한다.
도 3은 멀티미디어 파일 시스템의 구성을 나타내는 블록도이다.
도 3을 참조하면, 멀티미디어 파일 시스템(250)은 시스템 호출 인터페이스(System Call Interface)(310), 파일 시스템 모듈(320), 버퍼(330), 인덱스 손상 방지부(340), 인덱스 복구부(350) 및 디스크 드라이버(360)를 포함한다.
시스템 호출 인터페이스(System Call Interface)(310)는 멀티미디어 파일 시스템(250)을 이용하는 어플리케이션에 인터페이스를 제공한다. 예를 들어, 시스템 호출 인터페이스(System Call Interface)(310)는 API(Application Programming Interface)에 상응할 수 있다.
파일 시스템 모듈(320)은 적어도 하나의 외부 채널(예를 들어, 적어도 하나의 카메라(110))로부터 입력된 데이터를 시간을 기초로 정렬된 인덱스 테이블과 연관시켜 버퍼(330) 상에 저장한다. 즉, 파일 시스템 모듈(320)은 인코딩부(220)에 의하여 인코딩된 데이터 패킷을 시간을 기초로 정렬된 인덱스 테이블과 연관시켜 버퍼(330) 상에 저장한다.
버퍼(330)는 파일 시스템 모듈(320)이 인코딩된 데이터 패킷을 디스크(270)에 저장할 때 디스크의 성능을 높이기 위하여 일시적으로 인코딩된 데이터 패킷을 저장할 수 있는 공간을 제공한다. 일 실시예에 따라, 버퍼(330)는 RAM(Random Access Memory) 상에 구현될 수 있다.
인덱스 손상 방지부(360)는 파일 시스템 모듈(320)이 인덱스 테이블을 버퍼(330) 상에 저장하는 경우에는, 버퍼(330)에 저장된 인덱스 테이블을 비휘발성 램(260)에 즉시 저장한다. 여기에서, "즉시"라는 의미는 버퍼(330)에 저장된 인덱스 테이블이 저장되는 순간을 의미하는 것은 아니고, 버퍼(330)에 저장된 인덱스 테이블이 디스크(270) 상에 저장되기 전을 의미한다.
일 실시예에 따라, 인덱스 테이블이 버퍼(330) 상에 저장되는 경우에는 파일 시스템 모듈(320)은 인덱스 손상 방지부(340)에 인덱스 테이블이 버퍼(330) 상에 저장되었음을 알려 인덱스 손상 방지부(340)가 인덱스 테이블을 비휘발성 램(260)에 즉시 저장할 수 있도록 할 수 있다.
다른 일 실시예에 따라, 버퍼(330)는 인덱스 테이블 영역과 데이터 영역을 포함할 수 있도록 구성되고, 파일 시스템 모듈(320)은 인덱스 테이블을 인덱스 테이블 영역에 저장하고 데이터(예를 들어, 인코딩된 데이터 패킷)를 데이터 영역에 저장하며, 인덱스 손상 방지부(340)는 버퍼(330)의 인덱스 테이블 영역의 변화를 검출하여 인덱스 테이블을 비휘발성 램(260)에 즉시 쓸 수 있다.
인덱스 복구부(350)는 디스크(270)가 이전에 정상적으로 종료되었는지 여부를 체크하고, 디스크(270)가 비정상적으로 종료된 경우에는 비휘발성 램(350)에 저장된 인덱스 테이블(이하, "제1 인덱스 테이블")과 디스크(270) 상에 저장된 인덱스 테이블(이하, "제2 인덱스 테이블")을 비교하여 제1 인덱스 테이블과 제2 인덱스 테이블을 동기화시킨다. 예를 들어, 정상적인 종료는 사용자의 의도하에 적절하게 디스크(270)의 동작을 정지시킨 것을 의미할 수 있고, 비정상적인 종료는 사용자의 의도와 무관하게 디스크(270)의 전원을 차단시킨 것을 의미할 수 있다.
일 실시예에 따라, 인덱스 복구부(250)는 디스크(270)가 동작을 시작할 때에는 디스크(270)가 비정상적으로 종료되었음을 나타내도록 하고, 디스크(270)가 동작을 정상적으로 멈출 경우에는 디스크(270)가 정상적으로 종료되었음을 나타내도록 할 수 있다.
일 실시예에 따라, 인덱스 복구부(250)는 제1 인덱스 테이블을 제2 인덱스 테이블에 겹쳐 기록하여 동기화를 수행할 수 있다.
디스크 드라이버(360)는 주기적으로 또는 사용자의 명령에 따라 버퍼(330)에 저장된 데이터(예를 들어, 인코딩된 데이터 패킷)와 인덱스 테이블을 디스크(2700에 저장한다.
도 4는 인덱스 테이블을 나타내기 위한 도면이다.
도 4를 참조하면, 인덱스 테이블(400)은 시간 테이블(410), 블록 테이블(420) 및 데이터 블록(430)을 포함한다.
시간 테이블(410)은 일련의 시간의 흐름을 저장하기 위한 테이블이다. 예를 들어, 시간 테이블(410)은 주기적인 시간 정보를 포함할 수 있다.
블록 테이블(420)은 디스크(270) 상의 논리적 기록 단위를 나타내는 블록에 관한 인덱스를 저장하기 위한 블록 아이디와 블록 아이디에 상응하는 블록에 실제로 저장된 데이터의 크기를 나타내는 블록 사이즈를 포함한다. 예를 들어, 블록 테이블(420)은 <324:15298>이라는 정보를 가질 수 있고, 여기에서 "324"는 324 번째 블록을 나타내는 블록 아이디를 의미할 수 있고 "15298"은 324 번째 블록에 저장된 실제 데이터의 크기를 나타내는 블록 사이즈를 의미할 수 있다.
데이터 블록(430)은 실제로 디스크에 데이터(예를 들어, 인코딩된 패킷 데이터)를 저장하기 위한 논리적 또는 물리적인 공간이다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
상기에서 제시한 본 발명의 실시예들은 다음의 장점들을 포함하는 효과를 가질 수 있다. 다만, 본 발명의 모든 실시예들이 이를 전부 포함하여야 한다는 의 미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예는 시간을 기초로 정렬된 인덱스 테이블을 이용하여 멀티미디어 데이터를 효율적으로 저장할 수 있다.
또한, 본 발명의 일 실시예는 인덱스 테이블을 비휘발성 램(NVRAM, Non-Volatile RAM)에 즉시 저장하여 비정상적인 종료에도 불구하고 멀티미디어 데이터의 손상을 감소시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 DVR(Digital Video Recording) 시스템을 나타내는 블록도이다.
도 2는 도 1에 도시된 DVR 제어부의 구성을 나타내는 블록도이다.
도 3은 멀티미디어 파일 시스템의 구성을 나타내는 블록도이다.
도 4는 인덱스 테이블을 나타내기 위한 도면이다.

Claims (18)

  1. 버퍼;
    적어도 하나의 외부 채널로부터 입력된 데이터를 시간을 기초로 정렬된 인덱스 테이블과 연관시켜 상기 버퍼 상에 저장하는 파일 시스템 모듈;
    상기 파일 시스템 모듈이 상기 인덱스 테이블을 상기 버퍼 상에 저장하는 경우에는, 상기 저장된 인덱스 테이블을 비휘발성 램(NVRAM, Non-Volitile Random Acess Memory)에 즉시 저장하는 인덱스 손상 방지부; 및
    상기 버퍼 상에 저장된 상기 데이터와 상기 인덱스 테이블을 디스크 상에 저장하는 디스크 드라이버를 포함하고,
    상기 버퍼는 인덱스 테이블 영역과 데이터 영역을 포함하고, 상기 파일 시스템 모듈은 상기 인텍스 테이블을 상기 인덱스 테이블 영역에 저장하고 상기 데이터를 상기 데이터 영역에 저장하며, 상기 인덱스 손상 방지부는 상기 인덱스 테이블 영역의 변화를 검출하여 상기 인덱스 테이블을 상기 비휘발성 램에 즉시 쓰는 멀티미디어 파일 시스템 장치.
  2. 제1항에 있어서,
    상기 디스크가 이전에 정상적으로 종료되었는지 여부를 체크하고, 상기 디스크가 비정상적으로 종료된 경우에는 상기 비휘발성 램에 저장된 인덱스 테이블(이하, "제1 인덱스 테이블")과 상기 디스크 상에 저장된 인덱스 테이블(이하, "제2 인덱스 테이블")을 비교하여 상기 제1 인덱스 테이블과 상기 제2 인덱스 테이블을 동기화시키는 인덱스 복구부를 더 포함하는 것을 특징으로 하는 멀티미디어 파일 시스템 장치.
  3. 제2에 있어서, 상기 인덱스 복구부는
    상기 디스크가 동작을 시작할 때에는 상기 디스크가 비정상적으로 종료되었음을 나타내도록 하고, 상기 디스크가 동작을 정상적으로 멈출 경우에는 상기 디스크가 정상적으로 종료되었음을 나타내도록 하는 것을 특징으로 하는 멀티미디어 파일 시스템 장치.
  4. 제2에 있어서, 상기 인덱스 복구부는
    상기 제1 인덱스 테이블을 상기 제2 인덱스 테이블에 겹쳐 기록하여 상기 동기화를 수행하는 것을 특징으로 하는 멀티미디어 파일 시스템 장치.
  5. 제1항에 있어서, 상기 파일 시스템 모듈은
    상기 인덱스 테이블이 상기 버퍼 상에 저장되는 경우에는 상기 인덱스 손상 방지부에 상기 인덱스 테이블이 상기 버퍼 상에 저장되었음을 알리는 것을 특징으로 하는 멀티미디어 파일 시스템 장치.
  6. 삭제
  7. 제1항에 있어서, 상기 디스크 드라이버는
    주기적으로 또는 사용자의 명령에 따라 상기 버퍼에 저장된 상기 데이터와 상기 인덱스 테이블을 상기 디스크에 저장하는 것을 특징으로 하는 멀티미디어 파일 시스템 장치.
  8. 제1항에 있어서, 상기 인덱스 테이블은
    상기 디스크 상의 논리적 기록 단위를 나타내는 블록에 관한 인덱스를 저장하기 위한 블록 아이디; 및
    상기 블록 아이디에 상응하는 블록에 실제로 저장된 데이터의 크기를 나타내는 블록 사이즈를 포함하는 것을 특징으로 하는 멀티미디어 파일 시스템 장치.
  9. 제1항에 있어서, 상기 멀티미디어 파일 시스템은
    DVR(Digital Video Recorder)과 같이 실시간으로 멀티미디어 데이터를 저장할 수 있는 시스템에 사용되는 것을 특징으로 하는 멀티미디어 파일 시스템 장치.
  10. 적어도 하나의 데이터 스트림을 입력받고, 상기 입력받은 데이터 스트림을 적절한 단위로 패킷타이징(packetizing)을 수행하여 데이터 패킷을 생성하는 데이터 스트림 패킷타이징부;
    상기 생성된 데이터 패킷을 인코딩하는 인코딩부; 및
    상기 인코딩된 데이터 패킷을 저장할 수 있는 멀티미디어 파일 시스템이 구현된 저장 관리부를 포함하고,
    상기 멀티미디어 파일 시스템은
    버퍼;
    상기 인코딩된 데이터 패킷을 시간을 기초로 정렬된 인덱스 테이블과 연관시켜 상기 버퍼 상에 저장하는 파일 시스템 모듈;
    상기 파일 시스템 모듈이 상기 인덱스 테이블을 상기 버퍼 상에 저장하는 경우에는, 상기 저장된 인덱스 테이블을 비휘발성 램(NVRAM, Non-Volitile Random Acess Memory)에 즉시 저장하는 인덱스 손상 방지부; 및
    상기 버퍼 상에 저장된 상기 인코딩된 데이터 패킷과 상기 인덱스 테이블을 디스크 상에 저장하는 디스크 드라이버를 포함하고,
    상기 버퍼는 인덱스 테이블 영역과 데이터 영역을 포함하고, 상기 파일 시스템 모듈은 상기 인텍스 테이블을 상기 인덱스 테이블 영역에 저장하고 상기 인코딩된 데이터 패키을 상기 데이터 영역에 저장하며, 상기 인덱스 손상 방지부는 상기 인덱스 테이블 영역의 변화를 검출하여 상기 인덱스 테이블을 상기 비휘발성 램에 즉시 쓰는 멀티미디어 데이터를 실시간으로 저장할 수 있는 장치.
  11. 제10항에 있어서, 상기 장치는 DVR(Digital Video Recoder)에 사용되는 것을 특징으로 하는 멀티미디어 데이터를 실시간으로 저장할 수 있는 장치.
  12. 제10항에 있어서, 상기 멀티미디어 파일 시스템은
    상기 디스크가 이전에 정상적으로 종료되었는지 여부를 체크하고, 상기 디스크가 비정상적으로 종료된 경우에는 상기 비휘발성 램에 저장된 인덱스 테이블(이하, "제1 인덱스 테이블")과 상기 디스크 상에 저장된 인덱스 테이블(이하, "제2 인덱스 테이블")을 비교하여 상기 제1 인덱스 테이블과 상기 제2 인덱스 테이블을 동기화시키는 인덱스 복구부를 더 포함하는 것을 특징으로 하는 멀티미디어 데이터를 실시간으로 저장할 수 있는 장치.
  13. 제10항에 있어서, 상기 파일 시스템 모듈은
    상기 인덱스 테이블이 상기 버퍼 상에 저장되는 경우에는 상기 인덱스 손상 방지부에 상기 인덱스 테이블이 상기 버퍼 상에 저장되었음을 알리는 것을 특징으로 하는 멀티미디어 데이터를 실시간으로 저장할 수 있는 장치.
  14. 삭제
  15. 제10항에 있어서, 상기 디스크 드라이버는
    주기적으로 또는 사용자의 명령에 따라 상기 버퍼에 저장된 상기 인코딩된 데이터 패킷과 상기 인덱스 테이블을 상기 디스크에 저장하는 것을 특징으로 하는 멀티미디어 데이터를 실시간으로 저장할 수 있는 장치.
  16. 제10항에 있어서, 상기 인덱스 테이블은
    상기 디스크 상의 논리적 기록 단위를 나타내는 블록에 관한 인덱스를 저장하기 위한 블록 아이디; 및
    상기 블록 아이디에 상응하는 블록에 실제로 저장된 인코딩된 데이터 패킷의 크기를 나타내는 블록 사이즈를 포함하는 것을 특징으로 하는 멀티미디어 데이터를 실시간으로 저장할 수 있는 장치.
  17. 삭제
  18. 삭제
KR1020070124773A 2007-12-04 2007-12-04 멀티미디어 파일 시스템, 이를 동작시키는 방법, 및멀티미디어 데이터를 실시간으로 저장할 수 있는 장치 KR100886150B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070124773A KR100886150B1 (ko) 2007-12-04 2007-12-04 멀티미디어 파일 시스템, 이를 동작시키는 방법, 및멀티미디어 데이터를 실시간으로 저장할 수 있는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070124773A KR100886150B1 (ko) 2007-12-04 2007-12-04 멀티미디어 파일 시스템, 이를 동작시키는 방법, 및멀티미디어 데이터를 실시간으로 저장할 수 있는 장치

Publications (1)

Publication Number Publication Date
KR100886150B1 true KR100886150B1 (ko) 2009-03-06

Family

ID=40697553

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070124773A KR100886150B1 (ko) 2007-12-04 2007-12-04 멀티미디어 파일 시스템, 이를 동작시키는 방법, 및멀티미디어 데이터를 실시간으로 저장할 수 있는 장치

Country Status (1)

Country Link
KR (1) KR100886150B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121311A (ja) * 1993-10-27 1995-05-12 Sony Corp 記録装置
JP2003109360A (ja) * 2001-09-28 2003-04-11 Toshiba Corp 映像記録再生方法及び装置
JP2005044432A (ja) 2003-07-28 2005-02-17 Funai Electric Co Ltd ディスク記録再生装置およびデータ記録装置
KR20060033201A (ko) * 2004-10-14 2006-04-19 엘지전자 주식회사 저장 기능을 갖는 영상표시기기의 데이터 처리장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121311A (ja) * 1993-10-27 1995-05-12 Sony Corp 記録装置
JP2003109360A (ja) * 2001-09-28 2003-04-11 Toshiba Corp 映像記録再生方法及び装置
JP2005044432A (ja) 2003-07-28 2005-02-17 Funai Electric Co Ltd ディスク記録再生装置およびデータ記録装置
KR20060033201A (ko) * 2004-10-14 2006-04-19 엘지전자 주식회사 저장 기능을 갖는 영상표시기기의 데이터 처리장치 및 방법

Similar Documents

Publication Publication Date Title
US7995903B2 (en) Data recording and reproducing apparatus and data recording and reproducing method
US20080112691A1 (en) Recording device
US8208793B2 (en) Recording apparatus
CN100422920C (zh) 信息处理设备、信息处理方法
KR20120119986A (ko) 비디오 서버 및 송출 스탠바이 방법
US20100153347A1 (en) Method and system for preventing corruption of hard disk drive file system
US8270813B2 (en) Apparatus, method and computer program for processing information
CN102136290A (zh) 一种嵌入式实时视频文件存储方法
CN101742198A (zh) 多媒体记录装置及方法
CN107743245B (zh) 影院播放存储器失效备援的系统和方法
KR20100051665A (ko) 투명한 웨어 레벨링을 위한 하드디스크 섹터/트랙 리매핑
US8625968B2 (en) Recording apparatus and control method thereof
JP2005525668A (ja) ハードディスクドライブシステム、このようなシステムを用いる方法及び装置
KR100886150B1 (ko) 멀티미디어 파일 시스템, 이를 동작시키는 방법, 및멀티미디어 데이터를 실시간으로 저장할 수 있는 장치
CN102930875B (zh) 一种实时同步录音录像的方法
US7099562B1 (en) Image data recording apparatus
US20100211738A1 (en) Mass storage system with improved usage of buffer capacity
KR102165087B1 (ko) Sat 방식이 적용된 차량용 블랙박스의 데이터 저장방법
KR20180037852A (ko) 영상 처리 장치 및 그 제어방법
US8009536B2 (en) Recording and reproducing apparatus
JP2006244413A (ja) データ記憶システム
EP4365899A1 (en) Memory management method for continuously recording digital content and circuit system thereof
KR102614013B1 (ko) 비디오 리코더
US8509597B2 (en) Recording apparatus, imaging and recording apparatus, recording method, and program
JP2008199077A (ja) ビデオ記録再生方法および装置

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
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: 5

FPAY Annual fee payment

Payment date: 20140221

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150223

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee