KR101339429B1 - 광 디스크 드라이브 및 그 구동 방법 - Google Patents

광 디스크 드라이브 및 그 구동 방법 Download PDF

Info

Publication number
KR101339429B1
KR101339429B1 KR1020090105493A KR20090105493A KR101339429B1 KR 101339429 B1 KR101339429 B1 KR 101339429B1 KR 1020090105493 A KR1020090105493 A KR 1020090105493A KR 20090105493 A KR20090105493 A KR 20090105493A KR 101339429 B1 KR101339429 B1 KR 101339429B1
Authority
KR
South Korea
Prior art keywords
host
file system
information
fat
optical disk
Prior art date
Application number
KR1020090105493A
Other languages
English (en)
Other versions
KR20110048780A (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 도시바삼성스토리지테크놀러지코리아 주식회사
Priority to KR1020090105493A priority Critical patent/KR101339429B1/ko
Priority to US12/822,969 priority patent/US9235351B2/en
Publication of KR20110048780A publication Critical patent/KR20110048780A/ko
Application granted granted Critical
Publication of KR101339429B1 publication Critical patent/KR101339429B1/ko

Links

Images

Classifications

    • 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
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]
    • 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/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

광 디스크 드라이브와의 호환성이 없는 호스트에 대해, 호스트가 허용하는 파일 시스템과 장치 정보를 제공함으로써 호스트와의 연결성 또는 호환성을 확보할 수 있는 광 디스크 드라이브 및 그 구동 방법에 관해 기술된다. 디스플레이 장치와 같은 호스트는 한정된 범위의 특정 외부 매체 장치와의 호환성 및 데이터 교환을 위한 특정의 명령어 집합을 가지며, 광 디스크 드라이브 및 구동 방법은 호스트에 호환되는 정보를 전송하며 내부적으로 호스트가 수용하는 특정 명령 집합을 선택함으로써 호스트에 대해 호환성을 가지게 된다.

Description

광 디스크 드라이브 및 그 구동 방법{Optical disc drive and driving method thereof}
수상기(受像機), 전자액자 등과 같은 디스플레이 장치 등의 A/V(Audio/Video) 호스트 장치에 대한 호환성을 가지는 광 디스크 드라이브 및 그 구동방법에 관련된다.
광학적 매체 장치의 하나인 광 디스크 드라이브는 대표적인 정보 저장 및 재생 장치이다. 광 디스크의 대표적인 포맷은 CD(Compact Disc) 및 DVD(Digital Versatile Disc)이며 점차 BD(Blu-ray Disc)로 그 폭이 넓어지고 있다. 대부분의 DVD 매체 장치는 저용량의 CD(Compact Disc)에 대한 호환성을 확보하고 있으며, 최근에는 CD, DVD, BD에 대해 호환성을 가지는 광학 매체 장치가 소개되고 있다.
또한, 대표적인 정보 표시 장치로서는 컴퓨터와 같은 범용성 장치가 있는 한편, 전통적인 장치로서 공중파, 케이블, 인터넷 TV 수상기가 있다. 이러한 수상기는 다양한 정보를 실시간 수상할 수 있는 범용의 영상 표시 장치이다. 이러한 수상기는, 최근에는 주변 장치의 접속을 허용하여 주변 장치에 저장된 다양한 콘텐츠를 표시할 수 있는 기능도 탑재하고 있다.
이러한 수상기를 포함하는 A/V 호스트 장치는 제한된 범위의 연결성(connectivity)을 허용하며, 따라서 다양한 종류의 매체에 대한 호환성이 부족하다. 또한, 근래의 A/V(Audio/Video) 기기는 USB(Universal Serical Bus) 호스트 기능을 가지고 있어 이에 USB 저장장치(USB 메모리, MP3 플레이어, 외장 HDD 등)를 연결하면 해당 기기에 저장되어 있는 멀티미디어 컨텐츠를 재생할 수 있다. 하지만 A/V 기기는 일반적으로 ISO(International Standard Organization, 국제표준화기구) 9293에서 정의하는 FAT(File Allocation Table) 파일 시스템만을 지원하기 때문에 CDFS(Compact Disc File System) 또는 UDF(Universal Disc Format)등을 파일 시스템으로 사용하는 광 디스크의 데이터를 재생할 수 없다.
예시적 실시 예들에 따르면, 제한된 연결성을 가지는 수상기, 전자 액자 등의 외부 호스트에 대해 호환 가능한 광 디스크 드라이브 및 그 구동 방법이 제공된다.
예시적 실시 예는 범용성을 가지는 FAT 파일 시스템의 핵심 데이터 구조인 파일 할당 테이블(File Allocation Table)을 생성할 수 있는 광 디스크 드라이브 및 광 디스크 드라이브의 구동 방법을 제시한다.
예시적 실시 예들에 따른 광 디스크 드라이브는:
광 디스크에 관련되는 정보를 처리하는 정보 프로세서;
FAT 파일 시스템을 지원하는 외부 호스트에 상기 정보 프로세서를 연결하는 인터페이스;를 구비하고,
상기 인터페이스는 상기 광 디스크의 고유 포맷의 파일 시스템 정보를 상기 호스트가 허용하는 FAT 파일 시스템의 정보로 변환하는 변환부;를 포함하며,
상기 변환부는 상기 광 디스크로부터의 파일정보를 임시 저장하는 버퍼 메모리와;
상기 FAT 파일 시스템의 정보를 저장하는 버퍼 메모리를 포함;한다.
예시적 실시 예에 따른 광학 디스크 드라이브의 구동방법은:
광 디스크의 고유 포맷의 파일 시스템 정보를 외부 호스트가 허용하는 FAT 파일 시스템의 정보로 변환하는 단계와;
상기 외부 호스트로, 상기 변환된 파일 시스템 정보를 전송하는 단계;를 포 함한다.
다른 실시 예에 광학 매체 장치의 구동 방법에 따르면, 상기 광학 매체 장치가 호스트 장치에 접속되었을 때, 상기 호스트가 허용하는 물리적 장치 정보를 상기 호스트에 제공하는 단계가 더 포함될 수 있다.
또 다른 실시 예에 따르면, 상기 호스트는 수상기이다.
또 다른 실시 예에 따르면, 상기 광 디스크의 고유 파일 시스템은 ISO 9660에서 정의하는 CDFS(Compact Disc File System) 또는 UDF(Universal Disc Format)이다.
또 다른 실시 예에 따르면, 상기 인터페이스는 USB(Universal Serial Bus) 프로토콜을 이용할 수 있다.
또 다른 실시 예에 따르면, 상기 호스트와 광 디스크 드라이브 간의 USB 장치 인식 과정 절차의 특성을 파악하여 수상기 임을 자동으로 검지할 수 있다.
이하, 첨부된 도면을 참조하면서 예시적 실시 예들에 따른 광 디스크 드라이브와 이의 구동 방법에 대해 설명한다.
실시 예들에 설명되는 광 디스크는 디스크 형태로서 정보가 광 디스크(optical disc) 상에 물리적으로 기록된 일반적인 모든 매체를 포함하다. 이들 디스크에는 CD, DVD(DVD-R, DVD-RW, DVD+R, DVD+RW, DVD-RAM), BD, 3D, 홀로그램(근접광)이 포함되며, 이들은 고유의 파일 시스템을 가진다. 광 디스크의 일반적인 파일 시스템에는 CDFS, UDF, FAT 등이 포함될 수 있다. 상기 광 디스크는 수상기와 같은 외부 호스트와 연결될 수 있는 인터페이스를 갖춘 광 디스크 드라이브에 탑재된다. 이러한 광 디스크는 별개의 독립된 개체이긴 하지만 광 디스크 드라이브에 의해서 그 본질의 기능이 발휘될 수 있으므로 광 디스크 드라이브의 일부 요소로 해석될 수도 있다.
도 1에 도시된 바와 같이 광 디스크 드라이브(10)는 수상기(20)와 같은 호스트에 대한 슬레이브 장치(주변기기)로서 인터케이블(30)에 의해 상호 연결된다.
인터케이블(30)을 통한 정보의 교환은 두 장치의 인터페이스에 의해 이루어지며, 인터페이스는 대표적으로 USB 포트(port)를 포함할 수 있으며, USB 버전에는 1.0. 1.1, 2.0, 3.0이 있다. 즉, 상기 인터케이블(30)로서 USB 케이블이 이용될 수 있으며, 따라서 광 디스크 드라이브(10)와 수상기(20)는 USB 프로토콜에 의해 상호 정보를 교환할 수 있다. 한편, 다른 실시예에 따르면, 인터케이블이 없는 무선 방식으로 상기 인터페이스를 구성할 수 있다. 무선 방식에는 다양한 공지 유형이 존재하며, 여기에는 블루투스나 무선랜(WIFI) 방식 등의 무선 전파 접속방식 또는 적외선 등을 이용한 무선 광 접속 방식이 포함된다.
외부 슬레이브 장치가 접속가능한 수상기(20) 또는 전자 액자 등과 같은 호스트는 제한된 범위의 파일 시스템을 지원한다. 대표적으로 FAT이며, 이는 HDD 뿐 아니라, CF(Compact Flash), SD(Secure Digital), MMC(Multi Media Card), 메모리 스틱(Memory stick) 등의 다양한 형태의 메모리 카드에 적용된다. 그 외에도 다양한 파일시스템이 존재하나, 호스트는 이 모두를 지원할 수 없고, 일반적으로 가장 널리 사용되는 파일 시스템을 일부만을 지원한다. 호스트로서의 수상기(20)에는 케 이블 방송, 인터넷 방송, 공중파 방송 수신뿐 아니라 내부에 멀티미디어 등의 콘텐츠 재생 시스템을 가진 제품이 있다. 재생용 콘텐츠는 외부에서 접촉되는 슬레이브로부터 얻어진다. 그러나, 예를 들어, FAT 파일시스템만을 지원하는 수상기는 CDFS/UDF 파일시스템의 광학 매체 장치로부터 콘텐츠를 받아들일 수 없다. 이하에서 설명되는 실시 예들은 제한된 범위의 파일 시스템 중 임의 파일 시스템, 예를 들어 FAT 파일 시스템을 지원하는 호스트, 예를 들어 수상기에 대한 광 디스크 드라이브의 접속성을 확보하고 그리고 광 디스크 드라이브의 고유의 파일 시스템을 수상기가 허용하는 FAT 파일 시스템 등의 임의 파일 시스템으로 변환하여 송출하는 방법 및 장치에 관련된다. 이하에서 설명되는 예를 들어 FAT 파일 시스템을 지원하는 수상기는 디스플레이 장치의 한 예로서 본 발명의 기술적 범위를 제한하지 않으며, 다양한 디스플레이 장치에는 예를 들어 전자 액자가 포함될 수 있다.
도 2는 실시 예에 따른 광 디스크 드라이브(10)의 블럭화된 전체 구조를 도시한다.
광 디스크 드라이브(10)는 광 디스크(11)로부터 정보를 읽어내거나 기록하는 광 픽업(12)을 포함한다. 광 픽업(12)은 일반적인 구조에서와 같이 대물렌즈, 레이저 다이오드(LD), 광검출기 등의 광학계와 광학계를 기구적으로 지탱하면서 포커싱, 트랙킹 동작을 일으키는 기구계를 포함한다. 광학계는 엔코더/디코더를 포함하는 것으로, 외부 호스트에 연결하기 위한 인터페이스(15)에 연결된 정보 처리부(13)에 연결되고, 기구계는 서보부(14)에 연결된다. 상기 정보처리부(13), 서보부(14), 인터페이스(15)는 중앙 제어부(16)에 의해 통제된다.
일 실시 예에 따라 상기 인터페이스(15)는 USB 포트를 포함하며, 따라서 USB 프로토콜에 의해 호스트인 수상기(20)와 정보를 주고 받는다. 이때에 수상기(30)은 내장된 콘텐츠 재생장치에 의해 광 디스크 드라이브로부터 제공받은 콘텐츠을 재생하게 된다. 콘텐츠의 제공을 위해서, 광 디스크 드라이브(10)와 수상기(20)는 각각의 인터페이스(15, 21)를 통해 상호 정보 교환이 가능한 상태가 되어야 한다. 또한 수상기(20)는 광 디스크 드라이브(10)를 수용가능한 장치로 인식됨과 아울러, 광 디스크 드라이브(10)로부터는 인식 가능한 파일 시스템 정보를 얻을 수 있어야 한다. 수용 가능한 장치란, 호스트, 예를 들어 수상기(20)가 인식할 수 있고 수상기(20)가 액세스할 수 있는 장치를 의미의미하고, 호스트와 이에 연결하는 장치가 상호 호환 가능한 명령어 집합 (Command set)과 파일 시스템을 사용할 때 가능해진다. 액세스 할 수 없는 장치는 알 수 없는 장치(unknown device)로 분류되어 상호 정보 교환이 불가능하게 된다. 따라서, 광 디스크 드라이브가 호스트에 접속되었을 때, 호스트의 인쿼리(요구)에 의해 정보를 전송해야 하는데, 만약에 광 디스크 드라이브가 호스트에 대해 호환성이 없는 경우, 호환 가능한, 예를 들어 가장 널리 호환되는 것으로 유사 정보 매체인 HDD(Hard disc drive)와 같은 블록 장치 (Block device)가 주로 사용하는 명령어 집합의 정보에 관한 코드를 전송할 수 있다. 이것은 인터페이스에 내장된 변환부(또는 컨버터)에 의해 이루어 질 수 있다. 아래의 표 1은 USB 장치의 서브 클래스 코드로서 명령어 집합 정보에 대해 정의한다.
Figure 112009067585420-pat00001
USB 규격에서, 광 디스크 드라이브는 인터페이스 디스크립터(interface descriptor)에서의 디바이스 클래스 코드는 08H로서 대용량 저장장치(mass storage)에 속하며, 그 서브클래스 코드는 02h로서 MMC-5(ATAPI) 명령어 집합(command set)를 이용한다.
그런데, MMC 명령어 셋트를 적용하는 서브 클래스 02h의 장치, 즉 광 디스크 드라이브가 호스트에서 지원하지 않는 장치로 인식할 경우 사용이 불가하므로, 호스트가 사용가능한 장치로 인식하는 장치, 예를 들어 가장 보편적인 SBC(SCSI(Small Computer System Interface) Block Commands)를 이용하는 서브 클래스 코드 06h를 호스트로 전송함으로써 호스트가 광 디스크 드라이브를 사용 가능한 장치로서 인식하도록 한다. 그러나, 서브클래스 02h의 장치가 호스트에 의해 지원되는 경우 그대로 02h를 전송한다.
또한, 잘 알려진 비와 같이 CD, DVD 등 광 디스크 드라이브는 MMC 명령어 집합을 이용하는 주변장치 코드 05h로 정의되어 있는데, 이러한 MMC 명령어 집합을 호스트가 수용하지 않는 경우, 수용 가능한 명령어 집합, 예를 들어 가장 보편적인 SBC 명령어 집합을 이용하는 장치, 예를 들어 자기 디스크 드라이브와 같은 직접 액세스 블럭 장치(Direct-access block device)에 해당하는 00h로 변환할 수 있다.
상기와 같은 방법에 의해 호스트에 대해 광 디스크 드라이브가 사용 가능한 상태로 만든 후, 디렉토리 엔트리(Directory entry) 정보가 호스트로부터 요구되었을 때, 광 디스크 드라이브는 광 디스크의 고유 포맷의 파일 시스템 정보를 호스트가 인식가능한 포맷의 FAT 파일 시스템 정보로 변환하여 전송한다. 즉, 광 디스크 드라이브는 내부적으로 CDFS/UDF/FAT 포맷의 파일 시스템 정보를 가지고 있지만, 호스트의 요구에 대해서는 이를 FAT 포맷의 파일 시스템 정보로 변환하여 전송한다. 이러한 변환은 인터페이스에 내장된 변환부 또는 컨버터에 의해 이루어진다. 한편, FAT 포맷에는 공지된 바와 같이 16 비트의 FAT16과 32 비트의 FAT32 포맷이 포함된다.
이렇게 함으로써 호스트는 광 디스크에 저장된 콘텐츠의 어드레스 등을 포함하는 파일 정보를 인식할 수 있게 되고, 따라서 특정 콘텐츠의 액세스 및 재생이 가능하게 된다.
도 3은 수상기 등의 호스트(HOST)와 광 디스크 드라이브(ODD)간의 USB 인터페이스를 통한 연결 개념도를 보인다.
호스트(HOST)와 광 디스크 드라이브(ODD)는 USB에 의해 상호 정보 교환이 가능한 상태로 인증(identification)된 후, 호스트는 첫번째 논리적 블럭인 LBA0(logical block address 0)에 저장된 MBR(master boot record)등의 정보를 요구하며, 이에 광 디스크 드라이브(ODD)는 부트섹터(boot sector)와 FAT 포맷의 BPB(BIOS Parameter Block)를 호스트로 전송한다. 다시, 호스트(HOST)가 디렉토리 엔트리를 요구하면, 이에 광 디스크 드라이브(ODD)는 FAT 포멧의 디렉토리 엔트리 정보를 호스트(HOST)로 전송한다. 이와 같이 디렉토리 엔트리 정보를 획득한 호스트는 광 디스크 드라이브(ODD)의 데이터(콘텐츠)의 위치(주소)를 알 수 있고, 이 주소를 통해 데이터를 읽을 수 있는, 재생 가능한 상태가 된다. 상기 광 디스크 드라이브로 부터 호스트로 전송되는 MBR, BPB, 디렉토리 엔트리 정보는 FAT 포맷이나, 내부적으로는 변환부에 의해 CDFS/UDF 포맷을 변환한 것이다.
아래 표는 CDFS/UDF를 FAT로 변환하는 알고리즘의 의사코드(psuedo code)로 FAT 변환용 프로그램 함수(function)인 MakeFAT을 나타내 보인다.
FAT 변환 함수 /sector size = 512
Function MakeFat

PASS IN : Integer of fat_offset
PASSOUT : nothing (void)

CALCULATE cur_tbl_start as 512*fat_offset
CALL ClearFATT with sector_size

WHILE infinite
CALL ReadFATB with clus_start_index RETURING clus_start
CALL ReadFATB with clus_end_index RETURING clus_end

IF clus_start is equal to end of entry mark THEN
QUIT funciton
ENDIF

IF cur_tbl_start?clus_start&&cur_tbl_start<=clus_end THEN
SET buf_idx to 0
SET clus_idx_s to cur_tbl_start
ELSEIF cur_tbl_start<=clus_start && (cur_tbl_start+512)>clus_start THEN
CALCULATE buf_idx as (clus_start-cur_tbl_start)*4
SET clus_idx_s to clus_start
ELSE
SET buf_idx to -1
END IF

IF buf_idx is equal to -1 THEN
QUIT funtion
END IF

REPEAT
INCREMENT clus_idx_s

IF clus_idx_s>clus_end THEN
SET clus_idx_s to FAT32_LAST CLUSTER_MARK
ENDIF

CALL WriteFATT with buf_idx and clus_idx_s
INCREMENT buf_idx
UNTIL cur_tbl_start+512 > clus_idx_s
END WHILE
END FUNCTION
위의 의사코드에서, clus_start_index 및 clust_end_index 는 클러스터의 시작 인덱스 및 종료 인덱스를 나타내는데, 이렇게 표현된 알고리즘은 호스트가 파일할당 테이블(FAT)을 요청하였을 때 작동되며, FAT 오프셋(fat offset)을 인자 또는 파라미터로 전달 받고, FATB 버퍼에 저장되어 있는 파일 정보를 이용해서 fat_offset에 해당하는 FAT 엔트리를 FATT 버퍼에 조직함으로써 FAT를 생성한다.
도 4는 전술한 요소를 가지는 본 발명의 일 실시 예에 따른 파일시스템 변환기의 개념적 블럭도이다. FATB 버퍼는 링 버퍼(ring buffer)의 타입을 가지며, 파일 시스템 변환기의 일부 요소이다. 파일 시스템 변환기는 인터페이스(15)의 일부 요소로서, 자체 내장된 메모리(RAM)의 일정 영역을 할당하여 사용한다. FATB 버퍼(제1버퍼 메모리)는 광 디스크가 로딩될 때에, 디스크에 저장된 파일의 시작 위치, 끝 위치, 파일 종류를 저장하는 것으로 위의 의사 코드에 따른 FAT 변환시 기초 데이터(raw data)로 활용될 수 있게 한다. 상기 FATT 버퍼(제2버퍼메모리)는 역시 상기 메모리의 일정영역을 할당한 것으로, 상기 알고리즘의 함수를 통해 상기 FATB버퍼로부터의 파일정보를 이용해 FAT 엔트리를 조직한 후 이를 저장하는 버퍼이다. FAT 생성기는 FATB 버퍼가 가진 파일 정보를 이용해 호스트로부터 요청받은 오프셋으로부터 파일 할당 테이블을 생성하고, 이를 FATT 저장한다. FATT 버퍼에 저장된 데이터는 인터페이스에 내장되는 데이터 송신기를 통해 호스트로 전송된다. 이러한 구조에 따르면, FAT 생성과 전송부분이 독립된 블럭에서 병렬로 동작하며, 따라서 FAT 생성과 전송에서의 효율을 높일 수 있다.
도 5는 N 개(N: 자연수)의 파일에 대한 정보를 저장하고 있는 FATB 버퍼의 논리적 구조를 나타내 보인다. 광 디스크가 이미 로딩되어 있는 광 드라이브가 기동하거나, 광 드라이브에 새롭게 광 디스크가 로딩되면, 파일 변화시스템 변환기는 광 디스크의 전체 파일을 검색한 후 FATB 버퍼에 해당 파일들의 시작 위치(4 byte), 끝 위치(4 byte), 파일 종류(1byte)를 기록한다. 참고로, UDF나 ISO-9660 파일시스템에서는, 파일 데이터가 연속된 단일 영역에 끊임없이 저장하기 때문에 파일의 시작과 끝 위치만 알면 파일 테이터를 읽을 수 있다.
도 6은 FAT에 의해 생성된 FAT의 논리적 구조를 나타내 보인다. 도 6은, 한 섹터의 크기가 2048 byte이고 FAT 엔트리 하나의 크기가 4 바이트인 FAT32 파일 시스템을 가정한 예를 보인다. FAT 파일 시스템에서는, 도 7에 도시된 바와 같이, 파일 데이터를 비연속적인 클러스터 체인 형태로 저장된다. 따라서 파일 데이터의 위치를 파악하기 위해 도 6에 예를 들어 나타낸 바와 같은 FAT 정보가 필요하다. 즉, 파일 데이터가 513을 시작으로 515, 516, 600 클러스터에 차례로 저장되어 있으면 FAT의 513번 엔트리에는 다음 클러스터 번호인 515를, 515번 엔트리에는 516, 600번 엔트리에는 EOC (End Of Cluster)를 기록해서 파일 데이터를 읽을 수 있도록 정보를 제공한다.
도 8은 전술한 알고리즘에 따라 FAT를 생성하는 과정의 플로우 챠트이다. 전술한 바와 같이, 파라미터를 통해 fat_offset의 값을 받아 섹터 사이즈인 512를 곱해서 인스턴스 변수 cur_tbl_start에 넣는다(81). 일반적인 경우, FAT에서는 디스크의 LBA32로부터 일정한 크기만큼 연속해서 저장되어 있어서 호스트의 요청이 있을 때 해당 파일의 주소의 데이터를 읽어서 전송하면 되는데, 본 발명에서와 같이 미리 저장되어 있는 FAT가 없이 실시간으로 생성하는 경우에는 요청받은 주소에 맞는 적절한 FAT를 만들어서 호스트에게 전송해야 한다. FAT의 시작위치를 기준으로 offset을 정하는데, LBA 32부터 FAT가 시작할 때 호스트가 LBA 32의 데이터를 요청하면 fat_offset은 0이 되고, LBA 33의 데이터를 요청하면 fat_offset은 1이 되는 형식으로 fat_offset가 결정된다. 현재 한 개의 클러스터 크기가 2048 바이트이고 클러스터 번호를 표기하는 주소가 4 바이트이기 때문에 fat_offste에 512를 곱해서 cur_tbl_start (클러스터 시작 주소)를 계산한다. 즉, cur_tbl_start에는 요청 받은 주소의 FAT 엔트리 중 첫 번째 클러스터 번호를 나타낸다.
그리고, FATB 버퍼에서 파일의 시작위치와 끝 위치에 해당하는 데이터를 읽어서 clus_start와 clus_end를 설정한다(82). FATB 버퍼에는 전술한 바와 같이 디스크 상의 모든 파일에 대한 파일의 시작 위치와 끝 위치가 저장되어 있고, 루프를 반복할 때마다 다음 파일의 시작 위치와 끝 위치를 읽어와서 4 바이트 단위의 clus_start와 clus_end에 저장한다. 루프를 반복하다가(83) clus_start의 값이 0x0FFFFFFF 이면(84), 더 이상의 파일 정보가 없다고 판단하고 파일 할당 테이블 만드는 알고리즘을 종료한다.
본 발명의 실시 예에 있어서, 파일 할당 테이블을 생성하는 것은, 예를 들어 2048 바이트 크기를 가지는, FATT 버퍼에 FAT 엔트리를 기록하는 것을 의미한다. 전술했듯이 FAT 엔트리 하나(클러스터 번호)의 크기가 4 바이트이기 때문에 2048 바이트 크기의 FATT는 512개의 FAT 엔트리를 표현할 수 있다. 호스트가 요구하는 FAT를 전송하기 위해 앞서 FATB 버퍼에서 읽어온 파일의 시작(clus_start)과 끝 위치(clus-end)를 cur_tbl_start와 비교해서, clus_start 보다 크고 clus_end 보다 작거나 같은 경우 단계 "85"로 이행하며, 그렇지 않으면 단계 "89"로 이행한다.
단계 "85"에서, 파일 시작보다 큰 FATT 버퍼에서의 기록 위치를 결정하기 위한 버퍼 인덱스를 저장하는 인스턴스 변수 buf_idx를 '0'으로 세트(클리어)하고, 임시 카운터인 인스턴스 변수 clus_idx_s에는 해당 buf_idx에 기록되어야 할 클러스터 번호를 저장한다(85). 그리고 clus_idx_s가 clus_end보다 커지기 전 까진 clus_idx_s 에 1을 더해주고(86), clus_idx_s가 clus_end보다 커지면(87) 클러스터 체인의 마지막을 뜻하는 0x0FFFFFFF을 clus_idx_s에 넣어준다(88). 다음으로 FATT 버퍼의 buf_idx의 위치에 clus_idx_를 기록하고, buf_idx의 값을 '1' 증가 시킨다(8B). clus_idx_s를 설정하고 FATT 버퍼의 buf_idx 위치에 기록하는 과정은 buf_idx가 512보다 커지기 전까지 계속 반복된다. 즉, 단계 "8B" 이후 buf_idx 가 512 보다 작으면 전술한 단계 "82"로 리턴하며, 그렇지 않은 경우, 단계 "86"으로 이행한다.
한편, 단계 "89"에서 cur_tbl_start는 요청받은 fat_offset에 해당하는 fat의 시작 클러스터 번호이기 때문에, clus_start가 cur_tbl_start 와 같거나 크고 그리고 cur_tbl_start + 섹터 사이즈(512)보다 작은 경우는 clus_start가 요청 받은 fat_offset에 FAT에 포함되는 상황이며, 단계 "8A"로 이행한다.단계 "8A"에서는 buf_idx에 (clus_start-cur_tbl_start)*4 를 대입해서 FATT 버퍼에서 기록할 처음 위치를 정하고, clus_idx_s 에는 clus_start를 대입하여 buf_idx에 기록할 처음 값을 정한 후 단계 "86"으로 이행한다.
전술한 내용은 전형적인 FAT 파일 시스템 인식 및 동작 과정에 관한 것이며, CDFS/UDF 포맷에서 FAT 포맷으로의 변환은 호스트의 요청에 의해 변환부에서 실시간으로 이루어진다.
도 9a, 9b는 실시 예들에 따른 광 디스크 드라이브(10a, 10b)의 전면도 및 배면도이다. 도 9a, 9b에 도시된 광 디스크 드라이브는 전술한 바와 같이 고유 파일 시스템에 의해서는 호환이 되지 않는 호스트, 예를 들어 수상기에 접속할 때와, 광 디스크 드라이브의 고유 파일 시스템 포맷인 CDFS/UDF가 지원되는 개인컴퓨터(PC)에 접속할 때를 구별하여 선택하는 호스트 선택 스위치(105, 105')의 배치를 보인다. 호스트 선택 스위치(105, 105')은 광 디스크 드라이브(100)의 내부 회로에 연결되어 전술한 바와 같은 과정의 방법에 의해 디바이스 정보 변환, 파일 시스템의 변환/전송 여부를 선택할 수 있다.
도 9a, 9b에서, 참조번호 101은 본체, 102는 광 디스크 트레이, 103은 트레인 개폐 버튼, 104는 동작 상태 표시등, 106은 전원 단자, 107은 인터페이스 단자, 예를 들어 USB 단자(terminal)을 나타낸다. 도 9a에 도시된 광 디스크 드라이브(100)는 전면에 설치되는 호스트 선택 스위치(105)를 갖추며, 도 9b에 도시된 광 디스크 드라이브(100)는 배면에 설치되는 호스트 선택 스위치(105')를 갖춘다.
도 10은 호스트로서 FAT 포맷의 파일 시스템을 지원하는 수상기(TV)를 이용해 3 종류의 포맷의 파일 시스템(FAT, CDFS, UDF)이 적용된 광 디스크의 콘텐츠를 재생(액세스)하는 예시적 방법을 보이는 플로우 챠트이다.
광 디스크 장치가 호스트에 접속된 상태에서 광 디스크 드라이브의 전원을 켜면(51), 광 디스크 드라이브는 내부적으로 호스트 선택 스위치(105, 105')의 상태를 검사한다(52). 스위치(105, 105')의 상태가 TV 모드가 아니라 판단되면(53), 일반적인 범용성 PC 모드라 판단하여, 기존의 모드, 즉 PC 모드(54)로 돌입한다. 그리고 TV 모드라 판단되면 TV 모드로 진입한다(55).
TV 모드 여부 판단은 전술한 바와 같이 외부 스위치가 있는 경우 이를 활용하고, 외부 스위치가 존재하지 않는 광 디스크 드라이브는 TV와 PC가 USB 장치를 인식하는 과정이 다른, 상기 특징을 활용하는 소프트웨어(S/W) 적인 방법을 이용한다.
TV 모드의 첫 단계로서, USB 인터페이스 디스크립터의 서브 클래스 02h를 TV 가 허용하는 서브 클래스인 06h로 변경한다(56).
서브 클래스의 변경에 이어서, TV 가 수용하는 명령어 세트를 가지는 디바이스 타입으로 변경한다. 예를 들어 MMC 명령어 세트를 사용하는 05h( Multi media logical unit)를 SBC 명령어 세트를 사용하는 00h(Direct-access block device, e.g., magnetic disk)로 변경한다(57).
그리고, 디스크 트레이에 광 디스크가 존재하는지를 검사한다(58). 존재하면 다음의 파일 시스템 확인 단계로 이행하고, 그렇지 않으면 종료한다. 전술한 파일시스템 변환기는 디스크의 전체파일을 검색한 후, 전술한 바와 같이 FATB 버퍼에 해당 파일의 시작위치, 끝 위치, 파일종류를 저장한다. 참고로 UDF나 ISO-9660 파일 시스템은 파일 데이터를 단일 영역에 저장하기 때문에 파일의 시작과 끝 위치만 알면 파일 데이터를 읽을 수 있다.
첫 번째 파일 시스템 확인 단계로서 광 디스크가 FAT 포맷의 디스크인지를 판단한다(59). 예를 들어 DVD-RAM은 UDF나 FAT로 파일 시스템으로 포맷할 수 있는데, FAT로 포맷된 경우, FAT 포맷은 TV가 지원하므로 종료한다(5F). FAT 포맷이 아닌 경우, 광 디스크가 CDFS 포맷의 디스크인지를 판단한다(5A). 광 디스크가 CDFS 포맷의 디스크이면, 광 디스크 드라이브의 파일 시스템을 CDFS에서 FAT으로 변경하여 호스트의 요구(inquiry)에 대응 작동할 수 있도록 한다(5B). 그리고 광 디스크가 CDFS 포맷의 디스크가 아닌 경우 그 다음의 판단 단계(5C)에서 광 디스크가 UDF 포맷의 디스크인지를 판단한다. 광 디스크가 UDF 포맷의 디스크이면, UDF 파일 시스템을 FAT 파일 시스템으로 변경하여 호스트의 요구에 대응하도록 한다.(5E)
호스트는 위와 같은 과정을 거친 후 광 디스크 드라이브로부터 디렉토리 엔트리, FAT(File Allocation Table) 등의 FAT 파일 시스템 정보를 가져 갈 수 있으며, 이로써 광 디스크 드라이브로부터 콘텐츠를 업로드하여 재생할 수 있게 된다.
앞에서 설명된 실시 예들의 장치 및 방법은 광 디스크 드라이브의 접속을 허용하지 않거나, 허용하더라도 광 디스크 드라이브의 고유 파일 시스템을 지원하지 않는 경우에 사용될 수 있다. 즉, 다양한 호스트 중 특정 호스트, 예를 들어 수상기에 대해 광 디스크 드라이브가 호환성을 가지지 않는 경우, 호스트에 대해 호환이 가능한 디바이스 정보와 파일 시스템인 임의 파일 시스템, 예를 들어 FAT 시스템 으로 변환하는 기능 및 단계를 광 디스크 드라이브 및 광 디스크 구동 방법에 부여함으로써 그 활용 범위를 넓힌다.
지금까지, 본원 다양한 모범적 실시 예가 설명되고 첨부된 도면에 도시되었다. 그러나, 이러한 실시예는 단지 다양한 실시 예들의 일부임이 이해되어야 할 것이다. 다양한 다른 변형이 본 기술분야에서 통상의 지식을 가진 자에게 일어날 수 있기 때문이다.
도 1은 일 실시 예에 따른 광 디스크 드라이브를 수상기에 접촉한 예를 도시한다.
도 2는 일 실시 예에 따른 광 디스크 드라이브의 개략적 구성을 보인다.
도 3은 일 실시 예에 따라, 수상기 등의 호스트(TV)와 슬레이브(ODD)간의 USB 인터페이스를 통한 연결 개념도를 보인다.
도 4는 일 실시 예에 따른 파일 시스템 변환기의 개념적 블럭도이다.
도 5는 일 실시 예에 따른 파일 시스템 변환기에 사용되는 것으로 광 디스크로부터 취득한 파일 정보를 저장하는 버퍼 메모리의 논리적 구조도이다.
도 6은 일 실시 예에 따라 얻어진 FAT 테이블의 구조를 나타내 보인다.
도 7은 일반적인 FAT 시스템에서 비연속적인 클러스터 체인의 구조를 예시한다.
도 8은 일 실시 예에 따른 FAT 생성 알고리즘을 나타내는 순서도이다.
도 9a는 일 실시 예들에 따른 광 디스크 장치들의 전면도이다.
도 9b는 다른 실시 예들에 따른 광 디스크 장치의 배면도이다.
도 10은 또 다른 실시 예에 따라, 호스트로서 FAT 포맷의 파일 시스템을 지원하는 수상기(TV)를 이용해 3 종류의 포맷이 적용된 광 디스크의 콘텐츠를 재생(액세스)하는 예시적 방법을 보이는 플로우 챠트이다.

Claims (19)

  1. 고유 포맷의 파일 시스템을 가지는 광 디스크에 관련되는 정보를 처리하는 정보 프로세서;
    상기 고유 포맷의 파일 시스템, 또는 FAT 파일 시스템을 지원하는 외부 호스트에 상기 정보 프로세서를 연결하는 인터페이스;를 구비하고,
    상기 인터페이스는, 상기 광 디스크의 고유 포맷의 파일 시스템 정보를 지원하는 호스트에는 상기 고유 포맷의 파일 시스템 정보를 제공하고, 상기 광 디스크의 고유 포맷의 파일 시스템을 지원하지 않고 FAT 파일시스템을 지원하는 호스트에는 상기 호스트가 허용하는 FAT 파일 시스템의 정보로 변환하는 변환부;를 포함하며,
    상기 인터페이스는 FAT 파일 시스템을 지원하는 상기 호스트에, 호스트가 수용할 수 있는 장치 정보를 상기 호스트에 제공하며,상기 변환부는 상기 광 디스크로부터의 파일정보를 임시 저장하는 버퍼 메모리와;
    상기 FAT 파일 시스템의 정보를 저장하는 버퍼 메모리를 포함;하는 광 디스크 드라이브.
  2. 제 1 항에 있어서,
    상기 호스트는 디스플레이 장치인 것을 특징으로 하는 광 디스크 드라이브.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 인터페이스는 광 디스크 드라이브의 고유 커멘드 세트를 상기 호스트가 수용하여 커멘드 세트로 변경하는 것을 특징으로 하는 광 디스크 드라이브.
  5. 제 1 항에 있어서,
    상기 광 디스크의 고유 파일 시스템은 CDFS, UDF 중의 어느 하나인 특징으로 하는 광 디스크 드라이브.
  6. 제 1 항에 있어서,
    상기 인터페이스는 USB(Universal Serial Bus) 프로토콜을 이용하는 것을 특징으로 하는 광 디스크 드라이브.
  7. 제 4 항 내지 제 6 항 중의 어느 한 항에 있어서,
    상기 호스트는 개인컴퓨터(PC)와 공중파 수상기(TV) 중의 어느 하나이며,
    상기 인터페이스는 상기 PC와 TV 간의 USB 프로토콜 인식과정에서 상기 호스트가 PC인지 TV인지를 판단하는 것;을 특징으로 하는 광 디스크 드라이브.
  8. 제 1 항에 있어서,
    상기 인터페이스는 무선 방식의 프로토콜을 이용하는 것을 특징으로 하는 광 디스크 드라이브.
  9. 광 디스크 드라이브에 연결되는 호스트가 상기 광 디스크 드라이브가 구동하는 광 디스크의 고유 포맷의 파일 시스템을 지원하는 경우, 상기 고유 포맷의 파일 시스템 정보를 상기 호스트가 직접 사용하도록 하는 단계와; 그리고
    상기 호스트가 상기 고유 포맷의 파일 시스템을 지원하지 않는 경우, 상기 광 디스크 드라이브에 탑재되는 광 디스크의 고유 포맷의 파일 시스템 정보를 FAT 파일 시스템 정보로 변환하여 상기 광 디스크 드라이브가 연결되는 호스트에 전송하는 단계; 그리고
    상기 광 디스크 드라이브는 FAT 파일 시스템을 지원하는 상기 호스트에, 호스트가 수용할 수 있는 장치 정보를 상기 호스트에 제공하는 단계; 를 포함하는 광 디스크 드라이브의 구동 방법.
  10. 제 9 항에 있어서,
    상기 광 디스크 드라이브에 로딩된 광 디스크로부터의 전체 파일 정보를 제 1 버퍼 메모리에 저장하는 단계;를 더 포함하며,
    상기 전송하는 단계는 상기 제 1 버퍼 메모리에 저장되는 파일 정보를 이용해 상기 FAT 파일 시스템 정보로 변환하는 것을 특징으로 하는 광 디스크 드라이브의 구동 방법.
  11. 제 9 항 또는 제 10 항에 있어서,
    상기 전송하는 단계는, 상기 FAT 파일 시스템 정보를 제 2 버퍼 메모리에 저장하고 그리고 상기 제 2 버퍼 메모리에 저장된 FAT 파일 시스템 정보를 상기 호스트로 전송하는 것을 특징으로 하는 광 디스크 드라이브의 구동 방법.
  12. 삭제
  13. 제 9 항 또는 제 10 항에 있어서,
    상기 광 디스크 드라이브의 고유 커멘드 세트를 상기 호스트가 수용하여 커멘드 세트로 변경하는 것을 특징으로 하는 광 디스크 드라이브의 구동 방법.
  14. 제 9 항 또는 제 10 항에 있어서,
    상기 광 디스크의 고유 파일 시스템은 CDFS, UDF 중의 어느 하나인 것을 특징으로 하는 광 디스크 드라이브의 구동 방법.
  15. 제 9 항 또는 제 10 항에 있어서,
    상기 광 디스크 드라이브는 상기 호스트와 USB 프로토콜에 의해 정보를 교환하는 것을 특징으로 하는 광 디스크 드라이브의 구동방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
KR1020090105493A 2009-06-26 2009-11-03 광 디스크 드라이브 및 그 구동 방법 KR101339429B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090105493A KR101339429B1 (ko) 2009-11-03 2009-11-03 광 디스크 드라이브 및 그 구동 방법
US12/822,969 US9235351B2 (en) 2009-06-26 2010-06-24 Selective interfacing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090105493A KR101339429B1 (ko) 2009-11-03 2009-11-03 광 디스크 드라이브 및 그 구동 방법

Publications (2)

Publication Number Publication Date
KR20110048780A KR20110048780A (ko) 2011-05-12
KR101339429B1 true KR101339429B1 (ko) 2013-12-12

Family

ID=44360024

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090105493A KR101339429B1 (ko) 2009-06-26 2009-11-03 광 디스크 드라이브 및 그 구동 방법

Country Status (1)

Country Link
KR (1) KR101339429B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101379138B1 (ko) * 2012-08-17 2014-03-28 도시바삼성스토리지테크놀러지코리아 주식회사 광디스크 드라이브, 사용자 단말 및 파일 처리 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471606A (en) 1989-08-31 1995-11-28 The Regents Of The University Of California Information storage and processing
US20040260984A1 (en) 2003-06-23 2004-12-23 Samsung Electronics Co., Ltd. Disc drive failure diagnostic system and method
US20050226104A1 (en) * 2003-06-05 2005-10-13 Fujitsu Limited Information record/replay apparatus and method
KR20050118731A (ko) * 2003-04-14 2005-12-19 코닌클리케 필립스 일렉트로닉스 엔.브이. 유니버셜 드라이브장치용 포맷 매핑 방식

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471606A (en) 1989-08-31 1995-11-28 The Regents Of The University Of California Information storage and processing
KR20050118731A (ko) * 2003-04-14 2005-12-19 코닌클리케 필립스 일렉트로닉스 엔.브이. 유니버셜 드라이브장치용 포맷 매핑 방식
US20050226104A1 (en) * 2003-06-05 2005-10-13 Fujitsu Limited Information record/replay apparatus and method
US20040260984A1 (en) 2003-06-23 2004-12-23 Samsung Electronics Co., Ltd. Disc drive failure diagnostic system and method

Also Published As

Publication number Publication date
KR20110048780A (ko) 2011-05-12

Similar Documents

Publication Publication Date Title
KR101151684B1 (ko) 광 디스크 드라이브에서 데이터 변환 방법
JP2006511901A (ja) ハンドヘルドpdaのビデオアクセサリ
WO2005088632A1 (ja) 情報処理装置および方法、プログラム記録媒体、並びにプログラム
US9235351B2 (en) Selective interfacing apparatus and method
US20120113779A1 (en) Method for sending data in optical disc drive capable of changing mode
KR101416322B1 (ko) 복사 방지된 타이틀의 인증 방법 및 이를 적용하는 재생장치
US7716412B2 (en) Data storage apparatus and data access method for controlling address information for data writing using a free area control table
KR101255339B1 (ko) 광 디스크 드라이브 및 그 구동 방법
KR101339429B1 (ko) 광 디스크 드라이브 및 그 구동 방법
KR101330821B1 (ko) 광 디스크 드라이브 및 그 구동 방법
JP2007108853A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US9159370B2 (en) Distributing media using a portable digital device compatible with optical drive devices
KR20150022273A (ko) 광 디스크 드라이브 및 그 구동 방법
KR20150022275A (ko) 광 디스크 드라이브 및 그 구동 방법
US20070104038A1 (en) Recording/reproducing apparatus and recording method
JP2007102995A (ja) 音楽cd中の楽曲をmp3プレィヤーにダビングする方法
KR20150022281A (ko) 광 디스크 드라이브 및 그 구동 방법
JP2006524405A (ja) ユニバーサル記憶装置のためのパーティション選択
KR101137835B1 (ko) 모드 전환이 가능한 광 디스크 드라이브 및 모드 전환 방법
KR101203906B1 (ko) 모드 전환이 가능한 광 디스크 드라이브에서 데이터 전송 방법
KR20150022274A (ko) 광 디스크 드라이브 및 그 구동 방법
KR20150022271A (ko) 광 디스크 드라이브 및 그 구동 방법
KR20150016782A (ko) 광 디스크 및 이의 제조 방법 및 광 디스크 드라이브의 구동 방법
CN1282121C (zh) 可携式转录装置
KR20140023745A (ko) 광디스크 드라이브, 사용자 단말 및 파일 처리 방법

Legal Events

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