KR20000071483A - 비휘발성 메모리 - Google Patents

비휘발성 메모리 Download PDF

Info

Publication number
KR20000071483A
KR20000071483A KR1020000015065A KR20000015065A KR20000071483A KR 20000071483 A KR20000071483 A KR 20000071483A KR 1020000015065 A KR1020000015065 A KR 1020000015065A KR 20000015065 A KR20000015065 A KR 20000015065A KR 20000071483 A KR20000071483 A KR 20000071483A
Authority
KR
South Korea
Prior art keywords
data
file
area
block
bytes
Prior art date
Application number
KR1020000015065A
Other languages
English (en)
Other versions
KR100617892B1 (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 KR20000071483A publication Critical patent/KR20000071483A/ko
Application granted granted Critical
Publication of KR100617892B1 publication Critical patent/KR100617892B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24HFLUID HEATERS, e.g. WATER OR AIR HEATERS, HAVING HEAT-GENERATING MEANS, e.g. HEAT PUMPS, IN GENERAL
    • F24H3/00Air heaters
    • F24H3/02Air heaters with forced circulation
    • F24H3/04Air heaters with forced circulation the air being in direct contact with the heating medium, e.g. electric heating element
    • F24H3/0405Air heaters with forced circulation the air being in direct contact with the heating medium, e.g. electric heating element using electric energy supply, e.g. the heating medium being a resistive element; Heating by direct contact, i.e. with resistive elements, electrodes and fins being bonded together without additional element in-between
    • F24H3/0411Air heaters with forced circulation the air being in direct contact with the heating medium, e.g. electric heating element using electric energy supply, e.g. the heating medium being a resistive element; Heating by direct contact, i.e. with resistive elements, electrodes and fins being bonded together without additional element in-between for domestic or space-heating systems
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24HFLUID HEATERS, e.g. WATER OR AIR HEATERS, HAVING HEAT-GENERATING MEANS, e.g. HEAT PUMPS, IN GENERAL
    • F24H9/00Details
    • F24H9/06Arrangement of mountings or supports for heaters, e.g. boilers, other than space heating radiators
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24HFLUID HEATERS, e.g. WATER OR AIR HEATERS, HAVING HEAT-GENERATING MEANS, e.g. HEAT PUMPS, IN GENERAL
    • F24H9/00Details
    • F24H9/18Arrangement or mounting of grates or heating means
    • F24H9/1854Arrangement or mounting of grates or heating means for air heaters
    • F24H9/1863Arrangement or mounting of electric heating means
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F28HEAT EXCHANGE IN GENERAL
    • F28FDETAILS OF HEAT-EXCHANGE AND HEAT-TRANSFER APPARATUS, OF GENERAL APPLICATION
    • F28F1/00Tubular elements; Assemblies of tubular elements
    • F28F1/10Tubular elements and assemblies thereof with means for increasing heat-transfer area, e.g. with fins, with projections, with recesses
    • F28F1/12Tubular elements and assemblies thereof with means for increasing heat-transfer area, e.g. with fins, with projections, with recesses the means being only outside the tubular element
    • F28F1/34Tubular elements and assemblies thereof with means for increasing heat-transfer area, e.g. with fins, with projections, with recesses the means being only outside the tubular element and extending obliquely
    • F28F1/36Tubular elements and assemblies thereof with means for increasing heat-transfer area, e.g. with fins, with projections, with recesses the means being only outside the tubular element and extending obliquely the means being helically wound fins or wire spirals
    • 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/08Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/16Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters 
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F2221/00Details or features not otherwise provided for
    • F24F2221/34Heater, e.g. gas burner, electric air heater

Abstract

본 발명은 특성 파일을 갖고 연속적으로 재생되는 한 데이터 파일을 세그먼팅하고 비휘발성 메모리에 분산하도록 블록이 집합된 부분을 기록하는 비휘발성 메모리에 관한 것이며, 상기 특성 파일은 상기 분산된 부분을 링크하기 위한 제 1 관리 정보를 포함하고, 상기 비휘발성 메모리는 상기 분산된 부분을 링크하기 위해 제 2 관리 정보를 위한 관리 영역을 포함한다.

Description

비휘발성 메모리{Nonvolatile memory}
발명의 배경
발명의 분야
본 발명은 FAT(파일 할당 테이블)를 사용하여 메모리 카드에 기록된 파일을 처리하는 비휘발성 메모리에 관한 것이다.
관련 기술의 설명
전기적으로 재기록 가능한 메모리인 EEPROM(전기적으로 삭제 가능한 프로그램 가능 ROM)은 각 비트가 2개의 트랜지스터로 이루어지기 때문에 큰 공간을 요구한다. 따라서, EEPROM의 집적이 제한된다. 이 문제를 해결하기 위해, 모든 비트 삭제 시스템을 사용하는 하나의 트랜지스터로 하나의 비트가 달성되는 플래쉬 메모리가 개발되어 왔다. 상기 플래쉬 메모리는 자기 디스크 및 광학 디스크와 같은 종래의 기록 매체의 계승자로 기대된다.
플래쉬 메모리를 사용하는 메모리 카드 또한 공지되어 있다. 상기 메모리 카드는 장치에 자유롭게 부착되고 그로부터 분리된다. 종래의 CD(컴팩트 디스크 :상표) 또는 MD(미니디스크 : 상표) 대신에 메모리 카드를 사용하는 디지털 오디오 기록/재생 장치가 개발되었다.
종래의 휴대용 컴퓨터에 사용된 파일 관리 시스템은 FAT(파일 할당 테이블)로 불린다. FAT 시스템에서, 특정 파일이 규정될 때, 소정의 파라미터가 파일로 계속해서 설정된다. 따라서, 파일의 크기가 변화할 수 있다. 하나의 파일은 적어도 하나의 관리 유닛(섹터, 클러스터(CLUSTER)등)으로 이루어진다. 상기 관리 유닛에 대응하는 데이터는 FAT로 불리는 테이블에 기록된다. FAT 파일 시스템에서, 파일 구조는 기록 매체의 물리적 특징과 무관하게 쉽게 형성된다. 따라서, FAT 파일 시스템은 자기 광학 디스크 뿐 아니라 플로피디스크 및 하드디스크에 대해 사용된다. 위에서 상술된 메모리 카드에서, FAT 파일 시스템이 사용된다.
그러므로, 오디오 데이터가 기록되는 CD는 전혀 FAT 시스템의 개념을 갖지 않는다. 오디오 데이터가 기록되어 재생되는 MD의 경우에는, 음악 프로그램이 링크-P로 불리는 FAT 수정 시스템을 사용하여 기록되어 편집된다. 따라서, 시스템 그 자체는 저전원 CPU로 제어된다. 그러므로, 그러한 시스템을 사용하여, 데이터는 개인용 컴퓨터와 교환되지 않는다. 따라서, MD 시스템은 절연 AV 시스템으로서 개발되어 왔다.
상기 MD에 사용된 링크-P 시스템은 P-DFA(결함 영역에 대한 포인터), P-엠피티(엠피티 슬롯에 대한 포인터) 영역, P-FRA(자유영역에 대한 영역), P-TNO1....P-TNO255로 이루어진다. 상기 P-DFA는 MD 상에 결함 정보를 포함하는 슬롯의 상부 위치를 표시한다. P-엠피티 영역은 슬롯의 사용 상태를 표시한다. P-FRA는 기록 가능한 영역을 관리하는데 사용된 슬롯의 상부 위치를 표시한다. 상기 P-TNO1, P-TNO2, ..., P-TNO255는 개별 음악 프로그램에 대응하는 슬롯의 시작 위치를 표시한다.
다음에, 도 42a 내지 42E를 참고로 하여, 기록 매체에서 분산된 기록 가능 영역을 연속해서 탐색하기 위한 처리가 영역 PRA를 사용하여 기술된다. 도 42a 내지 42E를 참고로, FRA의 볼륨은 03h 이다. 이 경우, 도 42a에 도시처럼, 슬롯 03h 가 엑세스된다. 상기 슬롯 03h에 기록된 시작 어드레스와 종료 어드레스는 디스크상의 하나의 부분의 시작 및 종료 어드레스를 표시한다.
도 42a에 도시된 바와 같이, 슬롯 03h에 기록된 링크 정보는 다음 슬롯 어드레스가 18h인 것을 표시한다. 따라서, 도 42b의 도시처럼, 슬롯 18h가 엑세스된다. 유사하게, 도 42c의 도시처럼, 슬롯 1Fh가 엑세스된다. 도 42d에 도시처럼, 슬롯 1Fh에 링크 정보에 대응하여, 슬롯 2Bh가 엑세스된다. 도 42e에 도시처럼, 슬롯 2Bh의 링크 정보에 대응하여, 슬롯 E3h가 엑세스된다. 그런 방법으로, 링크 정보가 널(nall)(00h)이 링크 정보로서 검출될 때까지 추적한다. 따라서, MD에 분산된 기록 가능 영역의 어드레스가 계속해서 인식된다. 다시 말해, 광학 픽업을 제어하고 이들 어드레스를 연속해서 엑세스하여, 상기 메모리에 분산된 기록 가능 영역이 얻어진다. 유사하게, P-DFA 또는 P-TNoN을 참고로 하여, 메모리에 분산된 결함 영역이 연속해서 엑세스될 수 있다.
이러한 방법에서, 링크-P 시스템(Link-P system)에, 4 개의 파라메터들로, FAT 시스템에 영향을 주는 유사한 제어가 얻어질 수 있다. 그러나, 시스템이 복잡하고, 소프트웨어가 방대하다. 링크-P를 포함하는 U-TOC(내용물의 사용자-테이블) 영역이 파괴되면, 메모리에서 분산된 기록 가능한 영역 및 기록된 영역이 추적될 수 없다. 반면에, 메모리 카드가 개인 컴퓨터와 사용하기 위해 강력히 고려되었기 때문에, 개인 컴퓨터에 사용하기 위한 FAT 시스템을 갖는다. 그러므로, 메모리 카드에 사용된 메모리 카드 시스템이 방대해 지기 때문에, 저전력 CPU는 FAT 시스템을 다룰 수 없다. 마찬가지로, FAT 시스템이 파괴되면, 메모리에 분산된 기록된 영역이 추적될 수 없다.
본 발명은 각각이 소정의 데이터 길이를 갖는 블록으로 연속적으로 재생된 데이터 파일을 세그먼팅하고, 다수의 부분들로 다수의 블록들을 집합하며, 비휘발성 메모리에 분산하도록 다수의 부분을 기록하는 비휘발성 메모리에 관한 것이고, 이러한 비휘발성 메모리는 다수의 부분을 링크하고 상기 다수의 부분들을 연속적으로 재생된 데이터 파일로 복구하기 위해 제 1 관리 정보를 기록하기 위한 관리 영역, 및 각각의 데이터 파일에 제 2 관리 정보를 가산하고, 다수의 블록들을 다수의 부분으로 집합하며, 비휘발성 메모리에서 분산하도록 다수의 부분들을 기록하기 위한 데이터 영역을 포함하고, 상기 제 2 관리 정보는 데이터 파일 및 각각의 부분의 크기를 구성하는 부분들의 수를 포함하고 소정의 데이터 길이를 포함한다.
본 발명의 이러한 목적들, 특성 및 장점은 첨부된 도면에 도시된 다음의 최적 모드 실시예의 상세한 설명으로 더욱 명백해 질 것이다.
도 1은 본 발명에 따른 비휘발성 메모리 카드를 사용하는 디지털 오디오 레코더/플레이어의 구조를 도시하는 블록 다이어그램.
도 2는 본 발명에 따른 DSP(30)의 내부 구조를 도시하는 블록 다이어그램.
도 3은 본 발명에 따른 메모리 카드(40)의 내부 구조를 도시하는 블록 다이어그램.
도 4는 본 발명에 따른 저장 매체로서 메모리 카드의 파일 관리 구조를 도시하는 개략적인 다이어그램.
도 5는 본 발명에 따른 메모리 카드(40)의 플래쉬 메모리(42)내의 데이터의 물리적 구조를 도시하는 개략적인 다이어그램.
도 6은 본 발명에 따른 메모리 카드(40)의 데이터 구조.
도 7은 상기 메모리 카드(40)내의 계층적 파일 구조를 도시하는 개략적인 다이어그램.
도 8은 상기 메모리 카드(40)에 저장된 서브 디렉토리인 재생 관리 파일 PBLIST.MSF의 데이터 구조를 도시하는 개략적인 다이어그램.
도 9는 하나의 ATRAC3 데이터 파일이 소정의 단위 길이를 갖는
블록으로 분할되고 특성 파일이 그로부터 가산되는 경우의 데이터 구조를 도시하는 개략적인 다이어그램.
도 10a는 2개의 파일들이 결합 처리와 편집하기 전의파일 구조를 도시하는 개략적인 다이어그램.
도 10b는 2개의 파일들이 결합 처리와 편집된 후의 파일 구조를 도시하는 개략적인 다이어그램.
도 10c는 하나의 파일이 분할 처리와 편집된 후의 파일 구조를 도시하는 개략적인 다이어그램.
도 11은 재생 관리 파일 PBLIST의 데이터 구조를 도시하는 개략적인 다이어그램.
도 12a는 재생 관리 파일 PBLIST의 헤더부 데이터 구조를 도시하는 개략적인 다이어그램.
도 12b는 재생 관리 파일 PBLIST의 주데이터부의 데이터 구조를 도시하는 개략적인 다이어그램.
도 12c는 재생 관리 파일 PBLIST의 추가 정보 데이터부의 데이터 구조를 도시하는 개략적인 다이어그램.
도 13은 추가 정보 데이터와 그의 코드값 형태를 서로 도시하는 테이블.
도 14는 추가 정보 데이터와 그의 코드값 형태를 서로 도시하는 테이블.
도 15는 추가 정보 데이터와 그의 코드값 형태를 서로 도시하는 테이블.
도 16a는 추가 정보 데이터의 데이터 구조를 도시하는 개략적인 도면.
도 16b는 추가 정보 데이터가 아티스트 명인 경우의 데이터 구조를 도시하는 개략적인 다이어그램.
도 16c는 추가 정보 데이터가 저작권(copyright) 코드인 경우의 데이터 구조를 도시하는 개략적인 다이어그램.
도 16d는 추가 정보 데이터가 날짜/시간 정보인 경우의 데이터 구조를 도시하는 개략적인 다이어그램.
도 16e는 추가 정보 데이터가 재생로그인 경우의 데이터 구조를 도시하는 개략적인 다이어그램.
도 17은 ATRAC3 데이터 파일의 상세 데이터 구조를 도시하는 개략적인 다이어그램.
도 18은 ATRAC3 데이터 파일을 구성하는 특성 헤더의 상부 부분의 데이터 구조를 도시하는 개략적인 다이어그램.
도 19는 ATRAC3 데이터 파일을 구성하는 특성 헤더의 중간 부분의 데이터 구조를 도시하는 개략적인 다이어그램.
도 20은 기록 모드, 기록 시간 등에 관계된 테이블.
도 21은 복사 제어 상태를 도시하는 테이블.
도 22는 ATRAC3 데이터 파일을 구성하는 특성 헤더의 하부 부분의 데이터 구조를 도시하는 개략적인 다이어그램.
도 23은 ATRAC3 데이터 파일의 데이터 블록의 헤더의 데이터 구조를 도시하는 개략적인 다이어그램.
도 24a 내지 24c는 FTA 영역이 파괴된 경우 본 발명에 따른 회복 방법을 도시하는 흐름도.
도 25는 본 발명의 제 2 실시예에 따른 메모리 카드(40)의 파일 구조를 도시하는 개략적인 다이어그램.
도 26은 트랙 정보 관리 파일 TRKLIST.MSF 및 ATRAC3 데이터 파일 A3Dnnnnn.MSA 사이의 관계를 도시하는 개략적인 다이어그램.
도 27은 트랙 정보 관리 파일 TRKLIST.MSF의 상세 데이터 구조를 도시하는 개략적인 다이어그램.
도 28은 이름을 관리를 위한 NAME1 상세 데이터 구조를 도시하는 개략적인 다이어그램.
도 29는 이름을 관리를 위한 NAME2의 상세 데이터 구조를 도시하는 개략적인 다이어그램.
도 30은 ATRAC3 데이터 파일 A3Dnnnnn.MSA의 상세 데이터 구조를 도시하는 개략적인 다이어그램.
도 31은 추가 정보를 표시하는 INFLIST.MSF의 상세 데이터 구조를 도시하는 개략적인 다이어그램.
도 32는 추가 정보 데이터를 표시하는 INFLIST.MSF의 상세 데이터 구조를 도시하는 개략적인 다이어그램.
도 33은 FTA 영역이 파괴된 경우 본 발명의 제 2 실시예에 따른 회복 방법을 도시하는 흐름도.
도 34는 제1 실시예에 따른 메모리 맵 구조(도6을 보라)에서 특정 파일들을 조합하는 조합 처리시 데이터 변위를 설명하는 메모리 맵을 보여주는 개략 다이어그램.
도 35a는 2개 파일들이 조합되기 전의 메모리 맵을 도시하는 개략 다이어그램.
도 35b는 2개의 파일들이 조합된 후의 메모리 맵을 도시하는 개략 다이어그램.
도 36은 본 발명의 제 1 실시예에 따른 조합 처리를 설명하는 흐름도.
도 37은 본 발명의 제 1 실시예에 따른 메모리 구조(도6을 보라)로 특정 프로그램을 분할하는 분할 처리시 데이터 변위를 설명하는 메모리 맵을 보여주는 개략 다이어그램.
도 38a는 특정 프로그램이 조합되기 전의 메모리 맵을 보여주는 개략 다이어그램.
도 38b는 특정 프로그램이 조합된 후의 메모리 맵을 보여주는 개략 다이어그램.
도 39는 본 발명의 제 1 실시예에 따른 분할 처리를 설명하는 흐름도.
도 40은 본 발명의 제 2 실시예에 따른 조합 처리를 설명하는 흐름도.
도 41은 본 발명의 제 2 실시예에 따른 분할 처리를 설명하는 흐름도.
도 42a는 종래의 자기광 디스크상에서 분산된 기록 가능 영역을 관리하는 한 부분의 U-TOC(사용자-테이블 내용)에 대한 관리 방법을 보여주는 개략 다이어그램.
도 42b는 도 42a에 도시된 한 부분에 대응하며 조합된 한 부분에 대한 관리 방법을 보여주는 개략 다이어그램.
도 42c는 도 42b에 도시된 한 부분에 대응하여 조합된 한 부분에 대한 관리 방법을 보여주는 개략 다이어그램.
도 42d는 도 42c에 도시된 한 부분에 대응하여 조합된 한 부분에 대한 관리 방법을 보여주는 개략 다이어그램.
도 42e는 도 42d에 도시된 한 부분에 대응하여 조합된 한 부분에 대한 관리 방법을 보여주는 개략 다이어그램.
*도면의 주요부분에 대한 부호의 설명*
30:DSP 35:플래쉬 메모리
40:메모리 카드 45:페이지 버퍼
다음에, 본 발명의 실시예를 기술한다. 도 1은 본 발명의 실시예에 따른 메모리 카드를 사용하는 디지털 오디오 레코더/플레이어의 구조를 도시하는 블록 다이어그램이다. 상기 디지털 오디오 레코더/플레이어는 분리 가능 메모리 카드를 사용하는 디지털 오디오 신호를 기록하여 재생한다. 실제로, 상기 레코더/플레이어는 증폭 유닛, 스피커, CD 플레이어, MD 레코더, 튜너 등에 따른 오디오 시스템을 구성한다. 그러므로, 본 발명은 다른 오디오 레코더에 제공되는 것을 주목한다. 다시 말해, 본 발명은 휴대용 기록/재생 장치에 제공된다. 한편, 본 발명은 위성 데이터 통신, 디지털 방송 또는 인터넷으로서 순환되는 디지털 오디오 데이터를 기록하는 하나의 셋 탑 박스(set top box)에 제공된다. 더구나 본 발명은 오디오 데이터보다는 이동 화상 데이터와 정지 화상 데이터를 기록/재생하는 시스템에 제공된다. 본 발명에 따른 시스템은 디지털 오디오 신호보다는 화상 및 텍스트와 같은 추가 정보를 기록 및 재생할 수 있다.
상기 기록/재생 장치는 오디오 엔코더/디코더 IC(10), 보호 IC(20), DSP(디지탈 신호 처리기)(30)를 가진다. 이들 장치 각각은 원칩(one-chip)IC로 이루어진다. 상기 기록/재생 장치는 분리 가능 메모리 카드(40)를 가진다. 상기 메모리 카드(40)의 원칩 IC는 플래쉬 메모리(비휘발성 메모리), 메모리 제어 블록, 보호 블록을 가진다. 상기 보호 블록은 DES(데이터 인코드 표준), 인코드 회로를 가진다. 실시예에 따라, 상기 기록/재생 장치는 DSP(30)대신에 마이크로 컴퓨터를 사용한다. 상기 오디오 인코더/디코더 IC(10)는 오디오 인터페이스(11)와 인코더/디코더 블록(12)을 가진다. 상기 인코더/디코더 블록(12)은 고 효율 인코딩 방법에 대응하는 디지털 오디오 데이터를 암호화하고 상기 암호화된 데이터를 메모리 카드(40)에 기록한다. 한편, 상기 인코더/디코더 블록(12)은 메모리 카드(40)로부터 판독된 암호화된 데이터를 해독한다. 고효율 인코딩 방법으로서, 미니디스크에 사용된 ATRAC(Adaptive Transtorm Acoustic Coding) 포맷의 수정인 ATRAC3 포맷이 사용된다.
상기 ATRAC3 포맷에서, 44.1KHz로 샘플되고 16 비트로 양자화된 오디오 데이터는 고효율적으로 인코드된다. 상기 ATRAC3 포맷에서, 처리되는 오디오 데이터의 최소 데이터 유닛은 사운드 유닛(SU)이다. 1 SU는 1024 샘플 데이터(1024 x 16비트 x 2 채널)가 수백 바이트의 데이터로 압축된 데이터이다. 1SU의 경과 시간은 23msec 정도이다. 고 효율 인코딩 방법에서, 오디오 데이터의 데이터량은 원래의 데이터보다 10배정도 작은 데이터로 압축된다. 미니디스크에 사용된 ATRAC1 포맷으로서, 상기 오디오 신호는 오디오 질을 덜 파괴하는 ATRAC3 포맷에 대응하여 압축되고 재압축된다.
라인 입력 선택기(13)는 MD의 재생 출력 신호, 튜너의 출력 신호, 테이프의 재생 출력 신호를 A/D 변환기(14)에 선택적으로 공급한다. 상기 A/D 변환기(14)는 입력 라인 신호를 디지털 오디오 신호(샘플링 주파수 =44.1KHz ; 양자화 비트수=16)로 변환한다. 디지털 입력 선택기(16)는 MD, CD 또는 CS(위성 디지털 방송)의 디지털 출력 신호를 디지털 입력 수신기(17)에 공급한다. 상기 디지털 입력 신호는 광케이블을 통해 전송된다. 상기 디지털 입력 수신기(17)의 출력 신호는 샘플링비 변환기(15)에 공급된다. 상기 샘플링 비변환기(15)는 디지털 입력 신호를 디지털 오디오 신호(샘플링 주파수=44.1KHz; 양자화 비트수=16)로 변환한다.
상기 오디오 인코더/디코더 IC(10)의 인코더/디코더 블록(12)은 암호화된 데이터를 상기 보호 IC(20)의 인터페이스(21)를 통해 DES 암호화 회로에 공급한다. 상기 DES 암호화 회로(22)는 FIFO(23)를 가진다. 상기 DES 암호화 회로(22)는 저작권 내용을 보호하도록 배치된다. 상기 메모리 카드(40)는 또한 DES 암호화 회로를 가진다. 상기 기록/재생 장치의 DES 암호화 회로(22)는 다수의 마스터 키와 장치 고유의 저장키를 가진다. 상기 DES 암호화 회로(22)는 또한 랜덤 번호 발생 회로를 가진다. 상기 DES 암호화 회로(22)는 DES 암호화 회로를 가진 메모리 카드(40)로 인증 처리와 세션 키를 공유한다. 한편, 상기 DES 암호화 회로(22)는 DES 암호화 회로의 저장키를 가진 데이터를 재 암호화 데이터이다.
상기 DES 암호화 회로(22)로부터 출력된 암호화된 오디오 데이터는 DSP(디지탈 신호 처리기)(30)에 공급된다. 상기 DSP(30)는 인터페이스를 통해 메모리 카드(40)와 통신한다. 이 예에서, 상기 메모리 카드(40)는 기록/재생 장치의 부착/분리 메커니즘(도시하지 않음)에 부착된다. 상기 DSP(30)는 상기 메모리 카드(40)의 플래쉬 메모리에 암호화된 데이터를 기록한다. 상기 암호화된 데이터는 상기 DSP(30)와 메모리 카드(40)사이에서 직렬적으로 전송된다. 한편, 외부 SRAM(Static Random Access Menory)(31)은 DSP(30)에 접속된다. 상기 SRAM(31)은 상기 메모리 카드(40)를 제어하도록 충분한 저장 용량을 가진 기록/재생 장치를 제공한다.
버스 인터페이스(32)는 DSP(30)에 접속된다. 데이터는 외부 제어기(도시하지 않음)에서 비스트(33)를 통해 DSP(30)까지 공급된다. 상기 외부 제어기는 오디오 시스템의 모든 동작을 제어한다. 상기 외부 제어기는 동작부를 통해 사용자의 동작에 대응하여 발생된 기록 명령 또는 재생 명령과 같은 데이터를 버스 인터페이스(32)를 통해 DSP(30)에 공급한다. 한편, 상기 외부 제어기는 영상 정보 및 캐릭터 정보와 같은 추가 정보를 버스 인터페이스(32)를 통해 DSP(30)에 공급된다. 버스(330는 양방향 통신 통로이다. 상기 메모리 카드(40)로부터 판독된 추가 정보는 DSP(30), 버스 인터페이스(32), 버스(33)를 통해 외부 제어기에 공급한다. 실제, 외부 제어기는 오디오 시스템의 증폭기에 배치된다. 한편, 상기 외부 제어기는 추가 정보, 기록기의 동작 상태 등을 표시하기 위해 표시부를 생성한다. 표시부는 오시오 시스템에 의해 공유된다. 버스(33)를 통해 교환된 데이터는 저작권 보호된 데이터가 아니기 때문에, 이것은 암호화되지 않는다.
DSP(30)에 의해 메모리 카드(40)로부터 판독된 암호화된 오디오 데이터는 보호 IC(20)에 의해 해독된다. 상기 오디오 인코더/디코더 IC(10)는 ATRAC(3)포맷에 대응하는 암호화된 데이터를 해독한다. 상기 오디오 인코더/디코더(10)의 출력 데이터는 D/A 변환기(18)에 공급한다. 상기 D/A 변환기(18)는 오디오 인코더/디코더의 출력 데이터를 아날로그 신호로 변환한다. 상기 아날로그 오디오 신호는 라인 출력 단자(19)에 공급된다.
상기 아날로그 오디오 신호는 라인 출력 단자(19)를 통해 증폭기(도시하지 않음)에 공급한다. 상기 아날로그 오디오 신호는 스피커 또는 헤드셋으로부터 재생된다. 상기 외부 제어기는 뮤팅 신호를 D/A 변환기(18)에 공급한다. 상기 뮤팅 신호가 뮤팅-온 상태를 표시하면, 상기 외부 제어기는 오디오 신호가 라인 출력 단자(19)로부터 출력되지 못하게 한다.
도 2는 DSP(30)의 내부 구조를 도시하는 블록 다이어그램이다. 도를 참고로, 상기 DSP(30)는 코어(34), 플래쉬 메모리(35), SRAM(36), 버스 인터페이스(37), 메모리 카드 인터페이스(38), 인터 버스 브릿지를 구비한다. 상기 DSP(30)는 마이크로 컴퓨터와 같은 기능을 가진다. 상기 코어(34)는 CPU와 등가이다. 상기 플래쉬 메모리(35)는 소정의 처리를 수행하기 위해 DSP(30)에 생성된 프로그램을 저장한다. 상기 SRAM(36)과 외부 SRAM(31)은 기록/재생 장치의 RAM 으로서 사용된다.
상기 DSP(30)는 암호화된 오디오 데이터와 추가정보를 버스 인터페이스(32,37)를 통해 수신된 기록 명령과 같은 동작 신호에 대응하는 메모리 카드(40)에 기록하기 위한 기록 처리와 그로부터 판독하기 위한 판독 처리를 제어한다. 한편, 상기 DSP(30)는 오디오 데이터와 추가 정보를 기록/재생하는 오디오 시스템의 응용 소프트웨어측과 메모리 카드(40)사이에 배치된다. 상기 DSP(30)는 메모리 카드(40)가 엑세스될 때 동작한다. 한편, DSP(30)는 파일 시스템과 같은 소프트웨어에 대응하여 동작한다.
상기 DSP(30)는 종래의 휴대용 컴퓨터에 사용된 FAT 시스템과 함께 메모리 카드(40)에 저장된 파일들을 관리한다. 파일 시스템에 추가하여, 본 발명의 실시예에 따라, 관리 파일이 사용된다. 상기 관리 파일은 후에 기술된다. 상기 관리 파일은 메모리 카드(40)에 저장된 데이터 파일을 관리하기 위해 사용된다. 상기 제 1 파일 관리 정보와 같은 관리 파일들은 오디오 데이터 파일들을 관리하기 위해 사용된다. 한편, 제 2 파일 관리 정보와 같은 FAT는 오디오 데이터 파일에 포함된 모든 파일들과 메모리 카드(40)의 플래쉬 메모리에 저장된 관리 파일들을 관리하기 위해 사용된다. 상기 관리 파일들은 메모리 카드(40)에 저장된다. 상기 FAT는 통로 디렉토리에 따라 플래쉬 메모리에 기록되며 메모리 카드(40)전에 스킵된다. 상기 FAT의 디테일은 후에 기술된다.
본 발명의 실시예에 따라, 저작권 데이터 보호를 위해, ATRAC3 포맷에 대응하여 압축된 오디오 데이터가 암호화된다. 한편, 이는 상기 관리 파일의 저작권을 보호하기 위해 필요치 않기 때문에, 암호화되지 않는다. 암호화 형태와 비후보화 형태인 2가지 형태의 메모리 카드가 있다. 그러므로, 저작권 보호 데이터를 기록하는 레코더/플레이어로 사용되는 메모리 카드는 암호화 형태로 제한된다.
사용자에 의해 기록되는 음성 데이터와 영상 데이터는 비암호화 형태의 메모리 카드상에 기록된다.
도 3은 상기 메모리 카드(40)의 내부 구조를 도시하는 블록 다이어그램이다. 상기 메모리 카드(40)는 원칩 IC 와 같은 구조인 제어 블록(41)과 플래쉬 메모리(42)를 포함한다. 양방향 직렬 인터페이스는 레코더/플레이어의 DSP와 메모리 카드(40)사이에 배치된다. 상기 양방향 직렬 인터페이스는 데이터에 따라 전송되는 클락 신호를 전송하는 클락 라인 SCK 인 10개의 라인 상태를 표시하는 신호를 전송하는 상태 라인 SBS, 데이터를 전송하는 데이터 라인 DIO, 인터럽트 라인 INT, 2개의 GND 라인들, 2개의 INT 라인들, 2개의 반전 라인들로 구성된다.
상기 클락 라인 SCK는 데이터와 동기화되는 클락 신호를 전송하기 위해 사용된다. 상기 상태 라인 SBS는 상기 메모리 카드(40)의 상태를 표시하는 신호를 전송하기 위해 사용된다. 상기 데이터 라인 DIO는 명령 및 암호화된 오디오 데이터를 입력 및 출력하기 위해 사용된다. 상기 인터럽트 라인 INT는 상기 레코더/플레이어의 DSP(30)를 인터럽트하기 위해 메모리 카드(40)에 생성되는 인터럽트 신호를 전송하는데 사용된다. 상기 메모리 카드(40)가 레코더/플레이엉 부착되면, 상기 메모리 카드(40)는 인터럽트 신호를 발생한다. 그러므로, 본 발명의 실시예에 따라, 상기 인터럽트 신호는 데이터 라인을 통해 전송되므로, 상기 인터럽트 라인 INT는 그라운드된다.
직렬/병렬 변환, 병렬/직렬 변환, 인터페이스 블록(S/P, P/S, I/F 블록)(43)은 레코더/플레이어의 DSP(30) 및 메모리 카드(40)의 제어 블록(41)사이에 배치된 인터페이스이다. 상기 S/P, P/S 및 IF 블록(43)은 상기 레코더/플레이어의 DSP(30)으로부터 수신된 직렬 데이터를 병렬 데이터로 변환하며 상기 병렬 데이터를 제어 블록(41)에 공급한다. 한편, S/P, P/S 및 IF 블록(43)은 상기 제어 블록(41)로부터 수신된 병렬 데이터를 직렬 데이터로 변환하며, 상기 직렬 데이터를 DSP(30)로 공급한다. S/P, P/S 및 IF 블록(43)은 상기 제어 블록(41)로부터 수신된 병렬 데이터를 직렬 데이터로 변환하며, 상기 직렬 데이터를 DSP(30)로 공급한다. S/P, P/S, IF 블록(43)은 데이터 라인 DIO, S/P, P/S를 통한 명령 및 데이터를 수신하고 IF 블록(43)은 그들을 플래쉬 메모리(42)에 정상적으로 엑세스된 데이터들과 암호화된 데이터들을 분리한다.
명령이 전송된 후, 데이터 라인 DIO를 통해 데이터가 전송되는 포맷에서, 데이터가 전송된다. S/P, P/S 및 IF 블록(43)은 명령 코드를 검출하고 상기 명령 및 데이터가 정상적으로 엑세스된 명령이거나 암호화된 명령인지를 결정한다. 상기 결정된 결과에 따라서, 상기 S/P, P/S, IF 블록(43)은 명령 레지스터(44)에 정상적으로 엑세스된 명령을 저장하며 페이지 버퍼(45) 및 기록 레지스터(46)에 정상적으로 엑세스된 데이터를 저장한다. 상기 기록 레지스터(46)와 관계하여, 상기 메모리 카드(40)는 에러 보정 코드 인코딩 회로(47)를 가진다. 상기 에러 보정 코드 인코딩 회로(47)는 상기 페이지 버퍼(45)에 일시적으로 저장된 데이터에 대한 에러 보정 코드인 용장 코드를 발생한다.
명령 레지스터(44)의 출력 데이터, 페이지 버퍼(45), 기록 레지스터(46), 에러 보정 코드 인코딩 회로(47)는 플래쉬 메모리 인터페이스와 순차기(후에 I/F 및 순차기로 설명)(51)에 공급된다. 상기 메모리 IF 및 순차기(51)는 상기 제어 블록(41) 및 플래쉬 메모리(42)사이에 배치된 인터페이스이며, 그들 사이에서 교환된 데이터를 제어한다. 데이터는 상기 플래쉬 메모리 IF 및 순차기(51)를 통해 플래쉬 메모리에 기록된다.
상기 ATRAC3 포맷에 대응하여 압축되고 플래쉬 메모리(후에, 오디오 데이터는 ATRAC3 데이터로 불림)에 기록되는 오디오 데이터는 상기 ATRAC3 데이터의 저작권을 보호하도록 레코더/플레이어의 보호 IC(20)와 메모리 카드(40)의 보호 블록(52)에 의해 암호화된다. 상기 보호 블록(52)은 버퍼 메모리(53), DES 암호화 회로(54), 비휘발성 메모리(55)를 포함한다.
상기 메모리 카드(40)의 보호 블록(52)은 다수의 인증 키와 각 메모리 카드에 대해 고유의 저장키를 가진다. 상기 비휘발성 메모리(55)는 데이터 암호화를 위해 필요한 키를 저장한다. 상기 비휘발성 메모리(55)에 저장된 키는 분석되지 않는다. 실시예에 따라, 예로, 저장키는 비휘발성 메모리(55)에 저장된다. 보호 블록(52)은 또한 랜덤 수 발생 회로를 가진다. 상기 보호 블록(52)은 응용 가능 레코더/플레이어를 인증하며 그로부터 세션 키를 공유한다. 한편, 보호 블록(52)은 PSE 인코딩 회로(54)를 통해 저장키의 내용을 재암호화한다.
예를 들어, 메모리 카드(40)가 레코더/플레이어에 부착되면, 상호 인증된다. 상기 레코더/플레이어의 보호 IC(20)와 메모리 카드(40)의 보호 블록(520은 상호 인증된다. 상기 레코더/플레이어가 응용 가능 메모리 카드로서 인증된 부착 메모리 카드(40)를 가지며 상기 메모리 카드(40)가 응용 가능 레코더/플레이어로서 인증된 레코더/플레이어를 가지면, 그들은 상호 인증된다. 상기 상호 인증 처리가 계속해서 수행된 후, 상기 레코더/플레이어 및 메모리 카드(40)은 각각의 세션 키를 발생하며 서로 그들을 공유한다. 상기 레코더/플레이어 및 메모리 카드(40)가 서로 인증될 때마다, 그들은 각각의 세션 키를 생성한다.
내용이 메모리 카드(40)에 기록될 때, 상기 레코더/플레이어는 내용키를 세션 키로 암호화하며 상기 암호화된 데이터를 메모리 카드(40)에 공급한다. 상기 메모리 카드(40)는 세션 키로 내용키를 해독하며, 저장키로 내용키를 재암호하며, 상기 내용키를 레코더/플레이어에 공급한다. 상기 저장키는 각 메모리 카드(40)에 대한 특정된다. 상기 레코더/플레이어가 암호화된 내용키를 수신하면, 상기 레코더/플레이어는 암호화된 내용키에 대해 포맷팅 처리를 수행하고, 상기 암호화된 내용키와 암호화된 내용을 상기 메모리 카드(40)에 기록한다.
상기 부분에서, 메모리 카드(40)에 대한 기록 처리가 기술되었다. 아래에서는, 메모리 카드(40)에 대한 판독 처리가 기술된다. 플래쉬 메모리(42)로부터 판독되는 데이터는 페이지 버퍼(45), 판독 레지스터(48), 메모리 IF 와 순차기(51)를 통해 에러 보정 회로(49)에 공급한다. 상기 에러 보정 회로(49)는 상기 페이지 버퍼(45)에 저장된 데이터 에러를 보정한다. 에러 보정된 페이지 버퍼(45)의 출력 데이터와판독 레지스터(48)의 출력 데이터는 S/P, P/S, IF 블록(43)에 공급된다. S/P, P/S, IF 블록(43)의 출력 데이터는 위에서 기술된 직렬 인터페이스를 통해 레코더/플레이어의 DSP(30)에 공급된다.
데이터가 메모리 카드(40)로부터 판독될 때, 저장키로 암호화된 내용키 및 블록 키로 암호화된 내용은 상기 플래쉬 메모리(42)로부터 판독된다. 상기 보호 블록(52)은 저장키로 내용키를 해독한다. 상기 보호 블록(52)은 해독된 내용을 세션 키로 재암호화하고 상기 재암호화된 내용키를 레코더/플레이어로 전송한다. 상기 레코더/플레이어는 수신된 세션 키로 내용키를 해독하며, 해독된 내용키로 블록 키를 발생한다. 상기 레코더/플레이어는 상기 암호화된 ATRAC3 데이터를 계속해서 해독한다.
콘피그(congig),ROM(50)은 분할 정보, 여러 형태의 특성 정보, 메모리 카드(40) 등을 저장하는 메모리이다. 상기 메모리 카드(40)는 소거 보호 스위치(60)를 가진다. 상기 스위치(60)는 소거 보호 위치에 있을 때, 상기 플래쉬 메모리(42)에 저장된 데이터를 소거하기 위해 메모리 카드(40)를 생성하는 명령이 레코더/플레이어측에서 메모리 카드(40)까지 공급되는 경우 조차도, 상기 메모리 카드(40)는 플래쉬 메모리(42)에 저장된 데이터가 소거되는 것을 방해한다. OSC Cont.(61)은 상기 메모리 카드(40)의 처리 타이밍 기준인 클락 신호를 생성하는 발진기이다.
도 4는 저장 매체로서 메모리 카드를 사용하는 컴퓨터 시스템의 파일 시스템의 계층적 처리를 도시하는 개략적인 다이어그램이다. 계층적으로, 상기 상부 계층적 레벨은 응용 처리층이다. 상기 응용 처리층은 파일 관리 처리층, 논리적 어드레스 관리층, 물리적 어드레스 관리층, 플래쉬 메모리 엑세스층에 따른다. 위에서 기술된 계층적 구조에서, 상기 파일 관리 처리층은 FAT 파일 시스템이다. 물리적 어드레스는 상기 플래쉬 메모리의 개별 블록에 할당된다. 상기 플래쉬 메모리의 블록과 그로부터 물리적 어드레스 사이의 관계는 변화하지 않는다. 논리적 어드레스들은 파일 관리 처리층상에서 논리적으로 핸들된다.
도 5는 메모리 카드(40)의 플래쉬 메모리(42)에서 핸들된 데이터의 물리적 구조를 도시하는 개략적인 다이어그램이다. 메모리(42)에서, 데이터 유닛(세그먼트로서 불림)은 소정수의 블록(고정된 길이)으로 분할된다. 하나의 블록은 소정수의 페이지(고정 길이)로 분할된다. 상기 플래쉬 메모리에서, 데이터는 한 시간에서 각 블록으로서 소거된다. 데이터는 플래쉬 메모리(42)에 기록되며 한 시간에서 하나의 페이지로서 그로부터 판독된다. 상기 각 블록의 크기는 같다. 반대로, 각 페이지의 크기는 같다. 하나의 블록은 페이지 0 내지 페이지 m 으로 구성된다. 예로, 하나의 블록은 예로 8KB(킬로바이트) 또는 16KB의 저장 용량을 가진다. 하나의 페이지는 512B(바이트)의 저장 용량을 가진다. 하나의 블록이 8KB의 저장 용량을 가질 때, 상기 플래쉬 메모리(42)의 전체 저장 용량은 4MB(512 블록) 또는 8MB(1024 블록)이다. 하나의 블록이 16KB의 저장 용량을 가지면, 플래쉬 메모리(42)의 전체 저장 용량은 16MB(1024 블록), 32MB(2048 블록), 또는 64MB(4096 블록)이다.
하나의 페이지는 512 바이트의 데이터 부분과 16 바이트의 용장 부분으로 이루어진다. 상기 용장부의 제 1의 3개의 바이트들은 데이터가 갱신될 때마다 재기록되는 과기록 부분이다. 상기 제 1의 3개의 바이트들은 연속해서 블록 상태 영역, 페이지 상태 영역, 갱신 상태 영역을 포함한다. 상기 용장부의 나머지 13 바이트들은 데이터부의 내용에의존하는 고정된 데이터이다. 상기 13 바이트들은 관리 플랙 영역(1바이트), 논리적 어드레스 영역(2바이트), 포맷 보존 영역(5바이트), 분산 정보 ECC 영역(2바이트), 데이터 ECC 영역(3바이트)을 포함한다. 상기 분산 정보 ECC 영역은 관리 플랙 영역, 논리적 어드레스 영역, 포맷 보존 영역에 따른 에러 보정 처리에 대한 용장 데이터를 포함한다. 상기 데이터 ECC 영역은 512 바이트 데이터에 대한 에러 보정 처리용 용장 데이터를 포함한다.
상기 관리 플랙 영역은 시스템 플랙(1:사용자 블록, 0:부트 블록), 변환 테이블 플랙(1:무효, 0:테이블 블록), 복사 금지 플랙(1:OK, 0:NG), 엑세스 허용 플랙(1″프리, 0:판독 보호)을 포함한다.
상기 제1의 2개의 블록-블록 0,1 은 부트(boot)블록이다. 블록1은 블록0의 백업이다. 상기 부트 블록은 상기 메모리 카드에 유효한 상부 블록이다. 메모리 카드가 상기 레코더/플레이어에 부착될 때, 상기 부트 블록은 가장 먼저 엑세스된다. 상기 나머지 블록들은 사용자 블록이다. 상기 부트 블록중 페이지 0은 헤더 영역, 시스템 엔트리 영역, 부트 및 특성 정보 영역을 포함한다. 상기 부트 블록중 페이지 1은 금지 블록 데이터 영역을 포함한다. 상기 부트 블록중 페이지 2는 CIS(card 정보 구조)/IDI(식별 구동 정보) 영역을 포함한다.
상기 부트 블록의 헤더 영역은 부트 블록 ID 와 유효 엔트리수를 포함한다. 상기 시스템은 금지된 블록 데이터의 시작 위치 그로부터 데이터 크기 형태 CIS/IDI 영역의 데이터 시작 위치, 크기, 형태를 기입한다. 상기 부트 및 특성 정보는 메모리 카드 형태(판독 전용 형태, 재기록 형태, 하이브리드 형태), 블록 크기, 블록수, 전체 블록, 보호/비보호 형태, 카드 제조 데이터(제조 날짜)등을 포함한다.
상기 플래쉬 메모리는 절연막의 파괴으로 인해 재기록 회수에 대한 한정을 가지므로, 같은 저장 영역(블록)이 집중적으로 엑세스되는 것을 방해할 필요성이 있다. 따라서, 특정 물리적 어드레스에 저장된 특정 논리적 어드레스에서 데이터가 재기록될 때, 특정 블록의 갱신 데이터는 원래 블록보다는 비사용된 블록으로 기록된다. 따라서, 데이터가 갱신된 후, 논리 어드레스와 물리적 어드레스 사이의 관계가 변화한다. 이 처리는 스웨프 처리로서 불린다. 결국, 같은 블록이 집중적으로 엑세스되는 것을 방해한다. 따라서 상기 플래쉬 메모리의 서비스 수명이 연장된다.
상기 논리 어드레스는 블록에 기록된 데이터와 관계한다. 상기 원래 데이터의 블록이 갱신된 데이터의 블록과 상이한 경우에도, FAT 상의 어드레스가 변화하지 않는다. 따라서, 같은 데이터가 적당히 엑세스된다. 그러므로, 스웨프 처리가 수행되기 때문에, 노닐 어드레스와 물리적 어드레스와 상관되는 변환 테이블이 요구된다(이 테이블은 논리 물리 어드레스 변환 테이블로 불린다). 상기 논리-물리적 어드레스 변환 테이블을 참고로 하여, FAT 상에 표시된 논리적 어드레스에 대응하는 물리적 어드레스가 얻어진다. 따라서, 물리적 어드레스로 표시된 블록이 엑세스된다.
상기 DSP(30)는 SRAM에 논리-물리 어드레스 변환 테이블을 저장한다. 상기 RAM의 저장 용량이 작을 때, 상기 논리-물리 어드레스 변환 테이블은 플래쉬 메모리에 저장된다. 상기 논리-물리 어드레스 변환 테이블은 물리 어드레스(2바이트)에 올림차순으로 저장된 논리 어드레스(2바이트)와 상관된다. 상기 플래쉬 메모리의 최대 저장 용량이 128MB(8192 블록)이기 때문에, 8192 어드레스는 2바이트로 할당된다. 상기 논리-물리 어드레스 변환 테이블은 각 세그먼트에 대해 관리된다. 따라서, 상기 논리-물리 어드레스 변환 테이블의 크기는 상기 플래쉬 메모리의 저장 용량에 비례한다. 상기 플래쉬 메모리의 저장 용량은 8MB(2개의 세그먼트들)이고, 2개의 페이지들은 각 세그먼트에 대해 논리-물리 어드레스 변환 테이블로서 사용된다. 상기 변환 테이블이 플래쉬 메모리에 저장되면, 각 페이지내의 용장부에서 관리 플랙 영역중 소정의 하나의 비트가 현재 블록이 논리-물리 어드레스 변환 테이블을 포함하는 블록인지를 표시한다.
상기 기술된 메모리 카드는 디스크형 기록 매체로서 개인용 컴퓨터 시스템의 FAT 파일 시스템으로 사용된다. 상기 플래쉬 메모리는 IPL 영역, FAT 영역, 루트 디렉토리 영역(도5에 도시하지 않음)을 가진다. 상기 IPL 영역은 레코더/플레이어의 메모리에 초기에로드되는 프로그램 어드레스를 포함한다. 한편, 상기 IPL 영역은 여러 형태의 메모리 정보를 포함한다. 상기 FAT 영역은 블록(클러스터)에 따른 정보를 포함한다. 상기 FAT는 규정된 비사용 블록, 다음 블록 번호, 결함 블록, 마지막 블록 번호를 가진다. 상기 루트 디렉토리 영역은 파일 특성, 갱신 날짜(날짜, 월, 년), 파일 크기등을 가진 디렉토리 엔트리를 포함한다.
다음에, 도 6을 참고로 하여, FAT 테이블을 사용하는 관리 방법이 기술된다.
도 6은 메모리맵을 도시하는 개략적인 다이어그램이다. 상기 메모리 맵의 상부 영역은 분할 테이블부이다. 상기 분할 테이블부는 블록 영역, 부트섹터, FAT 영역, FAT 백업 영역, 루트 디렉토리 영역, 서브 디렉토리 영역, 데이터 영역에 따른다. 메모리 맵상에서, 논리 어드레스는 논리-물리 어드레스 변환 테이블에 대응하는 물리적 어드레스로 변환된다.
상기 부트 섹터, 상기 FAT 영역, FAT 백업 영역, 루트 디렉토리 영역, 서브 디렉토리 영역, 데이터 영역은 FAT 분할 영역으로 불린다.
상기 분할 테이블부는 FAT 분할 영역의 시작 어드레스와 종료 어드레스를 포함한다.
종래의 플로피 디스크에 대해 사용된 FAT는 그러한 분할 테이블을 가지지 않는다. 제 1 트랙이 오직 하나의 분할 테이블을 갖기 때문에, 블랙크 영역이 존재한다. 상기 부트 섹터는 FAT 구조(12비트 FAT 또는 16비트 FAT) 크기, 클러스터 크기, 각 영역의 크기를 포함한다. FAT는 데이터 영역내에 기록된 파일의 위치를 관리하기 위해 사용된다. 상기 FAT 복사 영역은 FAT 백업 영역이다. 상기 루트 디렉토리 영역은 파일 명, 시작 클러스터 어드레스, 그로부터 여러 특성물등을 포함한다. 상기 루트 디렉토리 영역은 파일당 32바이트를 사용한다.
상기 서브 디렉토리 영역은 디렉토리로서 디렉토리 특성 파일에 의해 달성된다. 도 6의 실시예에서, 상기 서브 디렉토리 영역은 PBLIST.MSF, CAT.MSF, DOG.MSF, MAN.MFA로 명명된 4개의 파일을 가진다. 상기 서브 다리엑토리 영역은 FAT 상의 파일 명과 기록 위치를 관리하는데 사용된다. 한편, 파일 명 CAT.MSF의 슬롯은 FAT 상에서 어드레스 ″10″으로 할당된다. 상기 파일 명 DOG.MSF의 슬롯은 FAT에서 어드레스 ″10″으로 할당된다. 클러스터(2) 다음의 영역은 데이터 영역으로서 사용된다. 이 실시예에서, ATRAC3에 대응하여 압축된 오디오 데이터가 기록된다. 상기 파일 명 MAN.MSA의 상부 슬롯은 FAT에서 어드레스 ″110″으로 할당된다. 본 발명의 실시예에 따라, 파일 명 CAT.MSF를 가진 오디오 데이터는 클러스터 5 내지 8에 기록된다. 파일 명 DOG.MSF를 가진 파일의 제 1 절반부로서의 오디오 데이터 DOG-1 은 클러그서 10 내지 12에 기록된다. 파일 명 DOG.MSF를 가진 파일의 제 2 절반부로서의 오디오 데이터 DOG-2는 클러스터 100 및 101에 기록된다. 파일 명 MAN.MSF를 가진 오이도 데이터는 클락스터 110 및 111에 기록된다.
본 발명의 실시예에서, 단일 파일이 2개의 부분으로 분할되고 분산적으로 기록되는 예가 기술된다. 실시예에서, 상기 데이터 영역내의 영역 ″Empty″는 파일 명을 관리하는데 사용된다. 상기 파일 CAT.MSF는 클러스터(200)에 기록된다. 상기 파일 COG.MSF는 클러스터(201)에 기록된다. 상기 파일 MAN.MSF는 클러스터(202)에 기록된다. 상기 파일의 위치가 변화되면, 클러스터(200) 다음의 영역이 재배열된다. 상기 메모리 카드가 부착되면, FAT 분할의 시작 및 종료는 상부 분할 테이블부를 참고로 기록된다. 부트 섹터추가 재생된 후, 루트 디렉토리 영역과 서브 디렉토리 영역이 재생된다. 서브 디렉토리 영역의 재생 관리 정보 PBLIST.MSF의 슬롯이 검출된다. 따라서, 파일 PBLIST.MSF 슬롯의 종료부의 어드레스가 얻어진다. 이 실시예에서, 어드레스 ″200″이 파일 PBLIST.MSF의 종단에 기록되기 때문에, 클러스터(200)이 기준이 된다.
클러스터(200) 다음의 영역은 파일의 재생 순서로 관리하는데 사용된다. 이 실시예에서, 상기 파일 CAT.MSA 가 제 1 프로그램이다. 상기 파일 DOG.MSA는 제 2 프로그램이다. 상기 파일 MAN.MSA는 제 3 프로그램이다. 클러스터(200) 다음의 영역이 기준된 후, 상기 파일들 CAT.MSA, DOG.MSA, MAN.MSA의 슬롯들이 기준이 된다. 도 6에서, 파일 CAT.MSA의 슬롯 종단은 어드레스 ″5″로 할당된다. 상기 파일 DOG.MSA의 슬롯 종단은 어드레스 ″10″으로 할당된다. 상기 파일 MAN.MSA의 슬롯 종단은 어드레스 ″110″으로 할당된다. 엔트리 어드레스가 어드레스 ″5″로 FAT에서 탐색될 때, 클러스터 어드레스 ″6″이 얻어진다. 엔트리 어드레스가 어드레스 ″6″으로 FAT 상에서 탐색되면, 클러스터 어드레스 ″7″이 얻어진다. 엔트리 어드레스가 어드레스 ″8″로 FAT 상에서 탐색될 때, 종료를 표시하는 코드 ″FFF″가 얻어진다. 따라서, 파일 CAT.MSA는 클러스터(5,6,7,8)을 사용한다. 데이터 영역에서 클러스터(5,6,7,8)를 참고로 하여, 파일 명 CAT.MSA를 가진 ATRAC3 데이터 영역이 엑세스된다.
다음에, 분산적으로 기록된 파일 DOG.MSF를 탐색하기 위한 방법이 기술된다. 상기 파일 DOG.MSA의 슬롯 종단이 어드레스 ″10″으로 할당된다. FAT 상의 엔트리 어드레스가 어드레스 ″11″로 탐색되어 기준이 되면, 클러스터 어드레스 ″12″가 얻어진다. 상기 FAT 상의 엔트리 어드레스가 어드레스 ″12″로 탐색되어 기준이 되면, 클러스터 ″101″이 얻어진다. 엔트리 어드레스 ″101″가 기준이 되면, 종료를 표시하는 코드 ″FFF″가 얻어진다. 따라서, 상기 파일 DOG.MSF는 클러스터(10,11,12,100,101)을 사용한다. 클러스터(10,11,12)가 기준이 될 때, 상기 파일 DOG.MSF의 ATRAC3 데이터의 제 1 부분이 엑세스된다. 상기 클러스터(100,101)가 기준이 되면, 상기 파일 DOG.MSF의 ATRAC3의 제 2 부분이 엑세스된다. 한편, 엔트리 어드레스가 어드레스 ″110″으로 FAT 상에서 탐색될 때, 클러스터 어드레스 ″101″이 얻어진다. 엔트리 어드레스 ″111″이 어드레스 ″101″로 FAT 상에서 탐색될 때, 종료를 표시하는 코드 ″FFF″가 얻어진다. 따라서, 파일 MAN.MSA 가 클러스터(110,111)를 사용하는 것이 명확하다. 위의 기술과 같이, 상기 플래쉬 메모리에 분산된 데이터 파일들은 링크되어 순서적으로 재생된다.
본 발명의 실시예에 따라, 상기 메모리 카드(40)의 포맷에 한정된 파일 관리 시스템에 첨가하여, 상기 관리 파일은 트랙 및 음악 파일의 부분을 관리하는데 사용된다. 상기 관리 파일은 상기 메모리 카드(40)의 플래쉬 메모리(42)의 사용자 블록에 기록된다. 따라서, 후에 기술되는 바와 같이, 메모리 카드(40)의 FAT 가 파괴되는 경우에, 파일이 회복된다.
상기 관리 파일이 DSP(30)에 의해 생성된다. 레코더/플레이어의 전원이 턴온될 때, 상기 DSP(30)은 메모리 카드(40)가 레코더/플레이어에 부착되는지 아닌지를 결정한다. 상기 메모리 카드가 부착될 때, 상기 DSP(30)가 메모리 카드(40)를 인증한다. 상기 DSP(30)가 메모리 카드(40)가 연속적으로 인증될 때, DSP(30)은 플래쉬 메모리(42)의 부트 블록을 판독한다. 따라서, 상기 DSP(30)는 물리-논리 어드레스 변환 테이블을 판독하며 상기 판독된 데이터를 SRAM에 저장한다. 상기 FAT 및 루트 디렉토리는 메모리 카드(40)가 승선되기전에 메모리 카드(40)의 플래쉬 메모리에 기록된다. 데이터가 메모리 카드(40)에 기록될 때, 관리 파일이 발생한다.
한편, 사용자등의 원격 제어기에 의해 허여된 기록 명령은 버스 및 버스 인터페이스(32)를 통해 외부 제어기로부터 DSP(30)에 공급된다. 상기 인코더/디코더 IC(10)은 수신된 오디오 데이터를 압축하고 생성된 ATRAC3 데이터를 보호 IC(20)에 공급한다. 상기 보호 IC(20)는 ATRAC3 데이터를 암호화한다. 상기 암호화된 ATRAC3 데이터는 메모리 카드(40)의 플래쉬 메모리(42)에 기록된다. 그러므로, 상기 FAT 및 관리 파일이 갱신된다. 파일이 갱신될 때마다(실제, 오디오 데이터의 기록 처리가 완성될 때), 상기 STAMs(31,36)에 저장된 FAT 및 관리 파일은 재기록된ㄷ다. 상기 메모리 카드(40)가 분리되거나 레코더/플레이어의 전원이 턴오프될 때), 상기 SRAMs(31,36)로부터 최종적으로 공급된 상기 FAT 및 관리 파일은 플래쉬 메모리(42)에 공급된다. 다시 말해, 오디오 데이터의 기록 처리가 완성될 때마다, 상기 플래쉬 메모리(42)에 기록된 FAT 및 관리 파일이 재기록된다. 오디오 데이터가 편집될 때, 상기 관리 파일의 내용이 갱신된다.
본 실시예에 따른 데이터 구조에 있어서, 추가 정보는 관리 파일에 포함된다. 상기 추가 정보는 상기 플래쉬 메모리(42)에 갱신되어 기록된다. 관리 파일의 또 다른 데이터 구조에 있어서, 추가 정보 관리 파일은 상기 트랙 관리 파일 옆에서 발생된다. 상기 추가 정보는 버스 및 버스 인터페이스(32)를 통해 외부 제어기에서 DSP(30)까지 공급된다. 상기 추가 정보는 메모리 카드(40)의 플래쉬 메모리(42)에 기록된다. 추가 정보가 보호 IC(20)에 공급되지 않으므로, 암호화되지 않는다. 상기 메모리 카드(40)가 레코더/플레이어로부터 분리되거나 전원이 턴오프되면, 추가 정보는 DSP(30)의 SRAM에서 플래쉬 메모리(42)에 기록된다.
도 7은 메모리 카드(40)의 파일 구조를 도시하는 개략적인 다이어그램이다. 파일 구조에서처럼, 정지 화상 디렉토리, 이동 화상 디렉토리, 음성 디렉토리, 제어 디렉토리, 음악(HIFI)디렉토리가 존재한다. 실시예에 따라, 음악 프로그램이 기록되어 재생된다. 다음에 음악 디렉토리가 기술된다. 상기 음악 디렉토리는 2개 형태의 파일을 가진다. 제 1 형태는 재생 관리 파일 BLIST.MSF(후에 PBLIST로 불림)이다. 다른 형태는 암호화된 음악 데이터를 저장하는 ATRAC3 데이터 파일 A3Dnnnn.MSA 이다. 상기 음악 디렉토리는 400 ATRAC3 데이터 파일(즉, 400 음악 프로그램)까지 저장한다. ATRAC3 데이터 파일은 상기 재생 관리 파일에 기록되고 레코더/플레이어에 의해 생성된다.
도 8은 재생 관리 파일의 구조를 도시하는 개략적인 다이어그램이다. 도 9는 하나의 ATRAC3 데이터 파일의 파일 구조를 도시하는 개략적인 다이어그램이다. 상기 재생 관리 파일은 16KB의 고정 길이를 구비한다. ATRAC3 데이터 파일은 각 음악 프로그램에 대해 특성 헤더와 암호화된 음악 데이터 영역을 가진다. 상기 특성 데이터는 16KB의 고정 길이를 가지며, 특성 헤더의 구조는 재생 관리 파일과 유사하다.
도 8에 도시된 재생 관리 파일은 헤더, 메모리 카드 명 MN-1S(하나의 바이트 코드에 대해), 메모리 카드 명 MN2-S(2바이트 코드에 대해), 프로그램 재생 순차 테이블 TRKTBL, 메모리 카드 첨가 정보 INF-S로 이루어진다. 상기 데이터 파일의 시작부에서 특성 헤더(도 9에 도시됨)는 헤더, 프로그램 명 NM1(1바이트 코드에 대해), 프로그램 명 NM2(2qkdlxm 코드에 대해), 트랙 정보 TRKINF(트랙 키 정보), 부분 정보 PRTINT, 트랙 추가 정보 INF로 이루어진다. 상기 헤더는 전체부의 다수 정보, 특성 명, 추가 정보 크기등을 포함한다.
상기 특성 데이터는 ATRAC3 음악 데이터에 따른다. 상기 음악 데이터는 매16KB마다 블록 분할된다. 각 블록은 헤더에서 시작한다. 상기 헤더는 암호화된 데이터를 해독하기 위한 초기값을 포함한다. ATRAC3 데이터 파일의 음악 데이터만이 암호화된다. 따라서, 재생 관리 파일, 헤더 등과 같은 다른 데이터는 암호화되지 않는다.
다음에, 도 10a 내지 10C를 참고로, 음악 프로그램 및 ATRAC3 데이터 파일 사이의 관계가 기술되어 있다. 하나의 트랙은 하나의 음악 프로그램과 등가이다. 한편, 하나의 음악 프로그램은 ATRAC3 데이터(도 9를 보라)로 이루어진다. 상기 ATRAC3 데이터 파일은 ATRAC3 포맷에 대응하여 압축된 오디오 데이터이다. ATRAC3 데이터 파일은 일정 시간에서 클러스터로서 메모리 카드(40)에 기록된다. 하나의 클러스터는 16KB의 용량을 가진다. 다수의 파일들은 하나의 클러스터에 포함되지 않는다. 상기 플래쉬 메모리(42)의 최소 데이터 소거 유닛은 하나의 블록이다. 음악 데이터에 대한 메모리 카드(40)의 경우에, 블록은 클러스터의 유사물이다. 한편, 하나의 클러스터는 하나의 섹터와 등가이다.
하나의 음악 프로그램은 기본적으로 한 부분으로 이루어진다. 그러므로, 음악 프로그램이 편집되면, 하나의 음악 프로그램은 다수의 부분으로 이루어진다. 한 부분은 연속해서 기록되는 하나의 단위 데이터이다. 즉, 하나의 트랙은 한 부분으로 이루어진다. 음악 프로그램의 부분 접속은 각 음악 프로그램의 특성 헤더내의 부분 정보 PRTINT를 처리한다. 한편, 상기 부분 크기는 상기 정보부 PRTINT의 크기 PRTSIZE(4바이트)로 표시된다. 상기 부 크기 PRTSIZE의 제 1의 2개의 바이트들은 현지부 전체 클러스터의 수를 표시한다. 다음 2개의 바이트들은 상기 시작 및 최종 클러스터의 시작 사운드 유닛(SU) 및 종료 사운드 유닛(SU)의 위치를 각각 표시한다. 후에, 사운드 유닛은 SU로서 생략된다. 한 부분의 회전과 같이, 음악 데이터가 편집되면, 음악 데이터 이동이 억압된다. 음악 데이터가 각 블록에 대해 편집될 때, 그로부터의 이동이 억압되는 경우, 한 블록의 편집 유닛은 SU의 편집 유닛보다 더 크다.
SU는 한 부분의 최소 단위이다. 한편, SU는 오디오 데이터가 ATRAC3에 대응하여 압축되는 경우에 최소 데이터 단위이다. 1SU는 오디오 데이터이며 44.1KHz(1024 x 16비트 x 2채널)에서 1024 샘플 데이터는 원래 데이터보다 10배 정도 작은 데이터로 압축된다. 1SU의 경과 시간은 23m sec 정도이다. 하나의 클러스터가 42SU로 이루어지면, 하나의 클러스터는 1초 사운드를 발생한다. 다수의 n분들은 추가 정보 크기에의존하는 하나의 트랙을 포함한다. 다수의 부분이 헤더, 프로그램 명, 추가 데이터를 감산하여 얻어지기 때문에, 하나의 블록으로부터, 추가 정보가 존재하지 않을 때, 최대수의 부분(645 부분들)이 사용된다.
도 10a는 CD 등의 2개의 음악 프로그램이 연속해서 기록되는 경우에 파일 구조를 도시하는 개략적인 다이어그램이다. 제 1 프로그램(파일1)은 예로 5개의 클러스터로 구성된다. 하나의 클러스터가 제 1 프로그램과 제 2 프로그램인 2개의 파일을 포함하지 않기 때문에, 상기 파일(2)는 다음 클러스터의 시작부에서 시작한다. 따라서, 파일(1)에 대응하는 부분(1)의 종단은 하나의 클러스터 중간에 존재하고 상기 클러스터의 나머지 부분은 데이터가 없다. 유사하게, 제 2 음악 프로그램(파일 2)은 하나의 부분으로 구성된다. 파일(1)의 경우에, 상기 부의 크기는 5이다. 상기 제 1 클러스터는 0번째 SU에서 시작한다. 상기 최종 클러스터는 4번째 SU에서 종료된다.
분할 처리, 조합 처리, 소거 처리, 이동 처리의 4가지 형태의 편집 처리가 있다. 상기 분할 처리는 하나의 트랙을 2개의 부분으로 분할하기 위해 수행된다. 상기 분할 처리가 수행되면, 전체 트랙의 수는 1만큼 증가한다. 상기 분할 처리에서, 하나의 파일은 파일 시스템상에서 2개의 파일로 분할된다. 따라서, 이 경우, 상기 재생 관리 파일과 FAT 가 갱신된다. 상기 조합 처리는 2개의 트랙을 하나의 트랙으로 조합하기 위해 수행된다. 상기 조합 처리가 수행되면, 전체 트랙수는 1만큼 감소한다. 조합 처리에서, 2개의 파일은 파일 시스템상에서 하나의 파일로 조합된다.
따라서, 상기 조합 처리가 수행되면, 상기 재생 관리 파일과 FAT 가 갱신된다. 상기 소거 처리가 트랙을 소거하기 위해 수행된다. 소거된 트랙 다음의 트랙수는 하나씩 감소한다. 이동 처리는 트랙 순서를 변환시키기 위해 수행된다. 따라서, 소거 처리 또는 이동 처리가 수행되며, 상기 재생 관리 파일 및 FAT 가 갱신된다.
도 10b는 도 10a에 도시된 2개의 프로그램(파일 1 및 2)의 조합 결과를 도시하는 개략적인 다이어그램이다. 조합 처리의 결과로서, 상기 조합된 파일은 2개의 부분으로 이루어진다. 도 10c는 하나의 프로그램(파일1)이 클러스터(2)의 중간에서 분할되는 분할 결과를 도시하는 개략적인 도면이다. 상기 분할 처리에 의해, 파일(1)은 클러스터(0,1) 및 클러스터(2)의 시작부로 이루어진다. 파일(2)는 클러스터(2)의 종료부와 클러스터(3,4)로 이루어진다.
위의 기술과 같이, 본 발명의 실시예에 따라, 상기 부 회전이 규정되기 때문에, 조합된 결과(도 10b를 보라)로서, 부분((1)의 시작 위치, 부분(1)의 종료, 부분(2)의 종료추가 SU로 규정된다. 따라서, 상기 조합된 결과로 인해 공간에 넣기 위해, 상기 부분(2)의 음악 데이터를 이동시킬 필요성이 없다. 한편, 분할의 결과(도 10c를 보라)로서, 파일(2)의 시작에서 데이터 이동 및 공간에 넣을 필요가 없다.
도 11은 재생 관리 파일 PBLIST의 상세한 데이터 구조를 도시하는 도면이다. 도 12a 및 도 12b는 재생 관리 파일 PBLIST의 헤더(header) 부분과 나머지 부분을 도시한다. 재생 관리 파일의 크기는 한 클러스터(cluster)(한 블록 = 16 KB)이다. 도 12a에 도시된 헤더의 크기는 32 바이트이다. 도 12b에 도시된 재생 관리 파일 PBLIST의 나머지는 명칭 NM1-S 영역(256 바이트)(메모리 카드에 대한), 명칭 NM2-S 영역(512 바이트), 내용키 영역, MAC 영역, S-YMDhms 영역, 재생 순차 관리 테이블 TRKTBL 영역(800 바이트), 메모리 카드 추가 정보 INF-S 영역(14720 바이트), 및 헤더 정보 여분 영역을 포함한다. 이들 영역의 시작 위치는 재생 관리 파일에서 정의된다.
도 12a에 도시된(0x0000) 내지(0x0010)의 처음 32 바이트는 헤더로 사용된다. 파일에서, 16-바이트 영역은 슬롯(slot)이라 칭하여진다. 도 12a를 참고로, 헤더는 제1 및 제2 슬롯에 배치된다. 헤더는 다음 영역을 포함한다. ″Reserved(예정)″로 표시된 영역은 정의되지 않은 영역이다. 일반적으로, 예정된 영역에는 널(null)(0x00)이 기록된다. 그러나, 데이터가 예정된 영역에 기록되더라도, 예정된 영역에 기록된 데이터는 무시된다. 미래의 버전에서, 일부 예정된 영역이 사용될 수 있다. 추가하여, 데이터는 예정된 영역에 기록되는 것이 금지된다. 옵션(option) 영역이 사용되지 않을 때, 이는 예정된 영역으로 다루어진다.
= BLKID-TL0(4 바이트)
의미: BLOCKID FILE ID
기능: 재생 관리 파일의 상단을 식별한다.
값: 고정된 값 = ″TL = 0″(예를 들면, 0x544C2D30)
= MCode(2 바이트)
의미: MAKER CODE
기능: 레코더/플레이어의 제작자 및 모델을 식별한다.
값: 상위 10 비트(제작자 코드); 하위 6 비트(모델 코드).
= REVISION(4 바이트)
의미: PBLIST의 재기록 회수
기능: 재생 관리 파일이 재기록될 때마다 증가된다.
값: 0에서 시작하여 1 씩 증가된다.
= S-YMDhms(4 바이트)(옵션)
의미: 확실한 클락으로 레코더/플레이어에 의해 기록된 년, 월, 일, 시, 분, 및 초.
기능: 최종적으로 기록된 날짜 및 시간을 식별한다.
값: 비트 25 내지 31: 년 0 내지 99(1980 내지 2079)
비트 21 내지 24: 월 0 내지 12
비트 16 내지 20: 일 0 내지 31
비트 11 내지 15: 시 0 내지 23
비트 05 내지 10: 분 0 내지 59
비트 00 내지 04: 초 0 내지 29(2 비트 간격)
= SY1C+L(2 바이트)
의미: NM1-S 영역에 기록된 메모리 카드의 명칭(1 바이트 코드)의 특성.
기능: 문자 코드 및 언어 코드를 한 바이트 코드로 나타낸다.
값: 문자 코드(C): 상위 1 바이트
00: 비문자 코드, 이진수
01: ASCII(American Standard Code for Information Interchange)
02: ASCII+KANA
03: 수정된 8859-1
81: MS-JIS
82: KS C 5601-1989
83: GB(Great Britain) 2312-80
90: S-JIS(Japanese Industrial Standards)(음성에 대해)
언어 코드(L): 하위 1 바이트
EBU Tech 3258 표준을 근거로 언어를 식별한다.
00: 비설정
08: 독일어
09: 영어
0A: 스페인어
0F: 불어
15: 이태리어
1D: 네델란드어
65: 한국어
69: 일본어
75: 중국어
데이터가 기록되지 않을 때, 이 영역은 모드 0이다.
= SN2C+L(2 바이트)
의미: NM2-S 영역에 기록된 메모리 카드의 명칭의 특성.
기능: 문자 코드 및 언어 코드를 한 바이트 코드로 나타낸다.
값: SN1C+L과 동일
= SINFSIZE(2 바이트)
의미: INF-S 영역에 기록된 메모리 카드의 추가 정보의 총 크기.
기능: 데이터 크기를 16 바이트의 증가로 나타낸다. 데이터가 기록되지 않을 때, 이 영역은 모두 0이다.
값: 크기: 0x0001 내지 0x39C(924)
= T-TRK(2 바이트)
의미: TOTAL TRACK NUMBER
기능: 총 트랙의 수를 나타낸다.
값: 1 내지 0x0190(최대 400 트랙)
데이터가 기록될 때, 이 영역은 모두 0이다.
= VerNo(2 바이트)
의미: 포맷 버전 번호
기능: 다수 버전 번호(상위 1 바이트) 및 소수 버전 번호(하위 1 바이트)를 나타낸다.
값: 0x0100(Ver 1.0)
0x0203(Ver 2.3)
다음에는 헤더에 의해 선행되는 영역(도 13b를 참고)이 설명된다.
= NM1-S
의미: 메모리 카드의 명칭(한 바이트 코드로)
기능: 메모리 카드의 명칭을 한 바이트 코드로 나타낸다(최대 256). 이 영역의 끝부분에는 종료 코드(0x00)가 기록된다. 크기는 종료 코드로부터 계산된다. 데이터가 기록되지 않을 때, 이 영역의 시작부(0x0020)에서부터 적어도 한 바이트동안 널(0x00)이 기록된다.
값: 다양한 문자 코드
= NM2-S
의미: 메모리 카드의 명칭(2 바이트 코드로)
기능: 메모리 카드의 명칭을 2 바이트 코드로 나타낸다(최대 512). 이 영역의 끝부분에는 종료 코드(0x00)가 기록된다. 크기는 종료 코드로부터 계산된다. 데이터가 기록되지 않을 때, 이 영역의 시작부(0x0120)에서부터 적어도 2 바이트동안 널(0x00)이 기록된다.
값: 다양한 문자 코드
= CONTENTS KEY
의미: 음악 프로그램에 대한 값. MG(M)로 보호되어 저장된다. CONTENTS KEY와 동일.
기능: S-YMDhms의 MAC를 계산하는데 필요한 키로 사용된다.
값: 0 내지 0xFFFFFFFFFFFFFFFF
= MAC
의미: 위조된 저작권 정보 점검값
기능: S-YMDhms 및 CONTENTS KEY로 발생된 값을 나타낸다.
값: 0 내지 0xFFFFFFFFFFFFFFFF
= TRK-nnn
의미: 재생된 ATRAC3 데이터 파일의 SQN(순차) 번호.
기능: TRKINF의 FNo를 나타낸다.
값: 1 내지 400(0x190)
트랙이 없을 때, 이 영역은 모두 0이다.
= INF-S
의미: 메모리 카드의 추가 정보(예를 들면, 사진, 노래, 안내 등에 대한 정보)
기능: 헤드로 가변 길이의 추가 정보를 나타낸다. 다수의 종류의 추가 정보가 사용될 수 있다. 추가 정보의 각 종류는 ID 및 데이터 크기를 구비한다. 헤더를 포함하는 각 추가 정보 영역은 적어도 16 바이트 및 4 바이트의 배수로 구성된다. 상세한 내용은 다음 섹션을 참고한다.
값: ″추가 정보의 데이터 구조″ 섹션을 참고한다.
= S-YMDhms(4 바이트)(옵션)
의미: 확실한 클락으로 레코더/플레이어에 의해 기록된 년, 월, 일, 시, 분, 및 초.
기능: 최종적으로 기록된 날짜 및 시간을 식별한다. EMD의 경우, 이 영역은 강제적이다.
값: 비트 25 내지 31: 년 0 내지 99(1980 내지 2079)
비트 21 내지 24: 월 0 내지 12
비트 16 내지 20: 일 0 내지 31
비트 11 내지 15: 시 0 내지 23
비트 05 내지 10: 분 0 내지 59
비트 00 내지 04: 초 0 내지 29(2초 간격)
재생 관리 파일의 최종 슬롯으로는 헤더에서와 똑같은 BLKID-TL0, MCode, 및 REVISION이 기록된다.
데이터가 메모리 카드에 기록되고 있는 동안, 데이터가 잘못하여 또는 사고로 분리되거나 레코더/플레이어의 전원이 꺼질 수 있다. 이와 같이 부적절한 동작이 실행될 때는 결함이 검출되어야 한다. 상술된 바와 같이, REVISION 영역은 각 블록의 시작부 및 끝부분에 위치한다. 데이터가 기록될 때마다, REVISION 영역의 값은 증가된다. 블록의 중간에서 결함 종료가 일어나면, 블록의 시작부에 있는 REVISION 영역의 값은 블록의 끝부분에 있는 REVISION 영역의 값과 정합되지 않는다. 그래서, 이와 같은 결함 종료가 검출될 수 있다. 2개의 REVISION 영역이 있으므로, 비정상적인 종료는 높은 확률로 검출될 수 있다.비정상적인 종료가 검출될 때, 에러 메시지와 같은 알람이 발생된다.
부가하여, 고정값 BLKID-TL0이 한 블록(16 KB)의 시작부에 기록되므로, FAT가 손상될 때, 고정값은 데이터를 회복하기 위한 기준으로 사용된다. 다른 말로 하면, 고정값을 참고로, 파일의 종류가 결정될 수 있다. 고정값 BLKID-TL0이 여분으로 각 블록의 헤더(header) 및 끝부분에 기록되므로, 확실성이 보장될 수 있다. 다른 방법으로, 똑같은 재생 관리 파일이 여분으로 기록될 수 있다.
ATRAC3 데이터 파일의 데이터량은 트랙 정보 관리 파일 보다 훨씬 더 많다. 부가하여, 추후 기술될 바와 같이, 블록 번호 BLOCK SERIAL은 ATRAC3 데이터 파일에 부가된다. 그러나, 다수의 ATRAC3 파일이 메모리 카드에 기록되므로, 이들이 남겨지는 것을 방지하기 위해서는 CONNUM0 및 BLOCK SERIAL이 모두 사용된다. 그렇지 않은 경우, FAT가 손상될 때, 파일을 회복하기 어려워진다. 다른 말로 하면, 하나의 ATRAC3 데이터 파일은 분산된 다수의 블록으로 구성될 수 있다. 똑같은 파일의 블록을 식별하기 위해서는 CONNUM0이 사용된다. 부가하여, ATRAC3 데이터 파일에서 블록의 순서를 식별하기 위해서는 BLOCK SERIAL이 사용된다.
유사하게, 제작자 코드(Mcode)는 FAT가 손상되지 않은 상태에서 파일이 부적절하게 기록된 경우 제작자와 모델을 식별하도록 각 블록의 시작부 및 끝부분에 여분으로 기록된다.
도 12c는 추가 정보 데이터의 구조를 도시하는 도면이다. 추가 정보는 다음의 헤더 및 가변 길이 데이터로 구성된다. 헤더는 다음의 영역을 갖는다.
= INF
의미: FIELD ID
기능: 추가 정보의 시작부를 나타낸다(고정값).
값: 0x69
= ID
의미: 추가 정보 키 코드
기능: 추가 정보의 카테고리를 나타낸다.
값: 0 내지 0xFF
= SIZE
의미: 각 추가 정보의 크기
기능: 각 종류의 추가 정보의 크기를 나타낸다. 비록 데이터 크기가 제한되지 않더라도, 이는 적어도 16 바이트이고 4 바이트의 배수가 되어야 한다. 데이터의 나머지 부분은 널(null)(0x00)로 채워져야 한다.
값: 16 내지 14784(0x39C0)
= Mcode
의미: MAKER CODE
기능: 레코더/플레이어의 제작자 및 모델을 식별한다.
값: 상위 10 비트(제작자 코드), 하위 10 비트(기계 코드).
= C+L
의미: 바이트 12로부터 시작하는 데이터 영역에서 문자의 특성.
기능: 문자 코드와 언어 코드를 한 바이트 코드로 나타낸다.
값: SNC+L과 동일
= DATA
의미: 각각의 추가 정보
기능: 추가 정보의 각 종류를 가변 길이 데이터로 나타낸다. 실제 데이터는 항상 바이트 12로부터 시작한다. 실제 데이터의 길이(크기)는 적어도 4 바이트이고 4 바이트의 배수가 되어야 한다. 데이터의 나머지는 널(0x00)로 채워져야 한다.
값: 각 종류의 추가 정보의 내용에 대응하여 개별적으로 정의된다.
도 13은 추가 정보의 키 코드값(0 내지 63)과 그 종류를 서로 상관시키는 테이블이다. 키 코드값(0 내지 31)은 음악 문자 정보에 지정된다. 키 코드값(32 내지 63)은 URL(Uniform Resource Locator)(웹 정보)에 지정된다. 음악 문자 정보와 URL 정보는 앨범 제목, 연주자 이름, CM 등의 문자 정보를 추가 정보로 포함한다.
도 14는 추가 정보의 키 코드값(64 내지 127)과 그 종류를 서로 상관시키는 테이블이다. 키 코드값(64 내지 95)은 경로/다른 것에 지정된다. 키 코드값(96 내지 127)은 제어/숫자 데이터에 지정된다. 예를 들면, ID = 98은 TOC-ID를 추가 정보로 나타낸다. TOC-ID는 제 1 음악 프로그램 번호, 최종 음악 프로그램 번호, 현재 프로그램 번호, 총 연주 기간, 및 CD(Compact Disc)의 TOC 정보에 대응하는 현재 음악 프로그램 기간을 나타낸다.
도 15는 추가 정보의 키 코드값(128 내지 159)과 그 종류를 서로 상관시키는 테이블이다. 키 코드값(128 내지 159)은 동기화 재생 정보에 지정된다. 도 15에서, EMD는 전자 음악 배급(electronic music distribution)을의미한다.
다음에는 도 16a 내지 도 16e를 참고로, 추가 정보의 실제적인 예가 설명된다. 도 12c와 같이, 도 16a는 추가 정보의 데이터 구조를 나타낸다. 도 16b에서, 키 코드 ID = 3이다(추가 정보로서 연주자 이름). SIZE = 0x1C(28 바이트)는 헤더를 포함하는 추가 정보의 데이터 길이가 28 바이트임을 나타내고; C+L은 문자 코드 = 0x01(ASCII) 및 언어 코드 L = 0x09(영어)임을 나타낸다. 바이트 12 이후의 가변 길이 데이터는 한 바이트 데이터 ″SIMON & GRAFUNKEL″이 연주자 이름임을 나타낸다. 추가 정보의 데이터 길이가 4 바이트의 배수가 되어야 하므로, 나머지는(0x00)으로 채워진다.
도 16c에서, 키 코드 ID = 97은 ISRC(International Standard Recording Code: 저작권 코드)를 추가 정보로 나타낸다. SIZE = 0x14(20 바이트)는 추가 정보의 데이터 길이가 20 바이트임을 나타낸다. C = 0x00 및 L = 0x00은 문자 및 언어가 설정되지 않았음을 나타낸다. 그래서, 데이터는 이진수 코드이다. 가변 길이 데이터는 저작권 정보(국가, 저작권 소유자, 기록 년도, 및 일련 번호)를 나타내는 8-바이트 ISRC 코드이다.
도 16d에서, 키 코드 ID = 97은 기록 날짜와 시간을 추가 정보로 나타낸다. SIZE = 0x10(16 바이트)는 추가 정보의 데이터 길이가 16 바이트임을 나타낸다. C = 0x00 및 L은 문자 및 언어가 설정되지 않았음을 나타낸다. 가변 길이 데이터는 기록 날짜 및 시간(년, 월, 일, 시, 분, 초)을 나타내는 4-바이트 코드(32 비트)이다.
도 16e에서, 키 코드 ID = 107은 재생로그(log)를 추가 정보로 나타낸다. SIZE = 0x10(16 바이트)은 추가 정보의 데이터 길이가 16 바이트임을 나타낸다. C = 0x00 및 L = 0x00은 문자 및 언어가 설정되지 않았음을 나타낸다. 가변 길이 데이터는 재생로그(년, 월, 일, 시, 분, 초)를 나타내는 4-바이트 코드이다. 레코더/플레이어가 재생로그 기능을 가질 때, 이는 음악 데이터를 재생할 때마다 16 바이트의 데이터를 기록한다.
도 17은 1 SU가 N 바이트(예를 들면, N = 384 바이트)인 경우 ATRAC3 데이터 파일 A3Dnnnn의 데이터 배열을 도시하는 도면이다. 도 17은 데이터 파일의 특성 헤더(1 블록)와 음악 데이터 파일(1 블록)을 도시한다. 도 17은 두 블록(16 x 2 = 32 바이트)의 각 슬롯(slot)에서 처음 바이트(0x0000 내지 0x7FF0)를 도시한다. 도 18에 도시된 바와 같이, 특성 헤더의 처음 32 바이트는 헤더로 사용되고; 256 바이트는 음악 프로그램 영역 NM1(256 바이트)로 사용되고; 또한 512 바이트는 음악 프로그램 제목 영역 NM2(512 바이트)로 사용된다. 특성 헤더의 헤더는 다음의 영역을 포함한다.
= BLKID-HD0(4 바이트)
의미: BLOCKID FIELD ID
기능: ATRA3 데이터 파일의 상단을 식별한다.
값: 고정값 = ″HD = 0″(예를 들면, 0x48442D30)
= MCode(2 바이트)
의미: MAKER CODE
기능: 레코더/플레이어의 제작자 및 모델을 식별한다.
값: 상위 10 비트(제작자 코드); 하위 6 비트(기계 코드)
= BLOCK SERIAL(4 바이트)
의미: 트랙 일련 번호
기능: 0으로부터 시작되어 1 씩 증가된다. 음악 프로그램이 편집되더라도, 이 값은 변하지 않는다.
값: 0 내지 0xFFFFFFFF
= N1C+L(2 바이트)
의미: 트랙의 데이터 특성 NM1(음악 프로그램 제목)을 나타낸다.
기능: NM1의 문자 코드와 언어 코드를 한 바이트 코드로 나타낸다.
값: SN1C+L과 동일
= N2C+L(2 바이트)
의미: 트랙의 데이터 특성 NM2(음악 프로그램 제목)을 나타낸다.
기능: NM1의 문자 코드 및 언어 코드를 한 바이트 코드로 나타낸다.
값: SN1C+L과 동일
= INFSIZE(2 바이트)
의미: 현재 트랙의 추가 정보의 총 크기.
기능: 데이터 크기를 16 바이트의 배수로 나타낸다. 데이터가 기록되지 않을 때, 이 영역은 모드 0이 되어야 한다.
값: 0x000 내지 0x3C6(966)
= T-PRT(2 바이트)
의미: 총 바이트의 수
기능: 현재 트랙을 구성하는 부분의 수를 나타낸다. 일반적으로, T-PRT의 값은 1이다.
값: 1 내지 285(645 십진수)
= T-SU(4 바이트)
의미: 총 SU의 수
기능: 프로그램 실행 기간과 동일한 한 트랙내의 SU의 총수를 나타낸다.
값: 0x01 내지 0x001FFFFF
= INX(2 바이트)(옵션)
의미: INDEX의 상대적인 위치
기능: 음악 프로그램의 대표적인 부분의 상단을 나타내는 포인터로 사용된다. INX의 값은 프로그램의 현재 위치로서 SU의 값이 4로 나누어진 값으로 지정된다. 이러한 INX의 값은 SU의 수(대략 93 msec) 보다 대략 4배 더 길다.
값: 0 내지 0xFFFF(최대, 대략 6084 sec)
= XT(2 바이트)(옵션)
의미: INDEX의 재생 기간
기능: SU의 수가 4로 나누어진 값으로 INX-nnn에 의해 지정되는 재생 기간을 나타낸다. INDEX의 값은 정상적인 SU(대략 93 msec) 보다 4배 더 크다.
값: 0x0000(비설정); 0x01 내지 0xFFFE(6084 sec까지); 0xFFFF(음악 프로그램의 끝부분까지)
다음에는 음악 프로그램 제목 영역 NM1 및 NM2이 설명된다.
= NM1
의미: 음악 프로그램 제목의 문자열
기능: 음악 프로그램 제목을 한 바이트 코드로 나타낸다(256 문자까지)(가변 길이). 제목 영역은 종료 코드(0x00)로 완료되어야 한다. 크기는 종료 코드로부터 계산된다. 데이터가 기록되지 않을 때, 널(0x00)은 적어도 한 바이트 동안 영역의 시작부(0x0020)로부터 기록되어야 한다.
값: 가변 문자 코드
= NM2
의미: 음악 프로그램 제목의 문자열
기능: 음악 프로그램 제목을 2 바이트 코드로 나타낸다(512 문자까지)(가변 길이). 제목 영역은 종료 코드(0x00)로 완료되어야 한다. 크기는 종료 코드로부터 계산되어야 한다. 데이터가 기록되지 않을 때, 널(0x100)은 적어도 두 바이트 동안 영역의 시작부(0x0120)로부터 기록되어야 한다.
값: 다양한 문자 코드
특성 헤더의 고정 위치(0x320)로부터 시작되는 80 바이트의 데이터는 트랙 정보 영역 TRKINF이라 칭하여진다. 이 영역은 주로 보안 정보 및 복사 제어 정보를 전체적으로 관리하는데 사용된다. 도 19는 TRKINF의 일부를 도시한다. 영역 TRKINF는 다음의 영역을 포함한다.
= CONTENTS KEY(8 바이트)
의미: 각 음악 프로그램에 대한 값. CONTENTS KEY의 값은 메모리 카드의 보안 블록에서 보호되고 이어서 저장된다.
기능: 음악 프로그램을 재생하는 키로 사용된다. MAC의 값을 계산하는데 사용된다.
값: 0 내지 0xFFFFFFFFFFFFFFFF
= MAC(8 바이트)
의미: 위조된 저작권 정보 점검값
기능: 내용 누적수 및 비밀 순차 번호를 포함하는 다수의 TRKINF 값으로 발생된 값을 나타낸다.
비밀 순차 번호는 메모리 카드의 비밀 영역에 기록된 순차 번호이다. 비저작권 보호 종류의 레코더는 메모리 카드의 비밀 영역으로부터 데이터를 판독할 수 없다. 한편, 메모리 카드로부터 데이터를 판독할 수 있는 프로그램으로 동작하는 저작권 보호 종류 레코더 및 컴퓨터는 비밀 영역을 엑세스할 수 있다.
= A(1 바이트)
의미: 부분의 특성
기능: 부분의 압축 모드와 같은 정보를 나타낸다.
값: 상세한 내용은 다음에 설명된다(도 19 및 도 20을 참고).
다음에는 영역 A의 값이 설명된다. 다음의 설명에서, 모너럴 모드(monaural mode)(N = 0 또는 1)는 비트 7 = 1, 서브 신호 = 0, 메인 신호 =(L+R)인 특수 결합 모드로 정의된다. 비저작권 보호 종류의 플레이어는 비트 2 및 1의 정보를 무시한다.
영역 A의 비트 0은 강조 on/off 상태의 정보를 나타낸다. 영역 A의 비트 1은 재생 스킵(skip) 또는 정상 재생의 정보를 나타낸다. 영역 A의 비트 2는 오디오 데이터, FAX 데이터 등과 같은 데이터 종류의 정보를 나타낸다. 영역 A의 비트 3은 정의되지 않는다. 비트 4, 5, 및 6의 조합으로는 도 20에 도시된 바와 같이 ATRAC3의 모드 정보가 정의된다. 다른 말로 하면, N은 3 비트의 모드값이다. 모너럴(N = 0 또는 1), LP(N = 2), SP(N = 4), EX(N = 5), 및 HQ(N = 7)인 5 종류의 모드에 대해, 기록 기간(64 MB 메모리 카드 전용), 데이터 전송 비율, 및 블록당 SU의 수가 열거된다. 1 SU의 바이트수는 각 모드에의존한다. 모너럴 모드에서 1 SU의 바이트수는 136 바이트이다. LP 모드에서 1 SU의 바이트수는 192 바이트이다. SP 모드에서 1 SU의 바이트수는 304 바이트이다. EX 모드에서 1 SU의 바이트수는 384 바이트이다. HQ 모드에서 1 SU의 바이트수는 512 바이트이다. 영역 A의 비트 7은 ATRAC3 모드(0: Dual, 1: JOint)를 나타낸다.
예를 들면, 64 MB 메모리 카드가 SP 모드에서 사용되는 예가 설명된다. 64-MB 메모리 카드는 3968 블록을 갖는다. SP 모드에서는 1 SU가 304 바이트이므로, 한 블록은 53 SU를 갖는다. 1 SU는(1024/44100)초와 같다. 그래서, 한 블록은(1024/44100) x 53 x(3968 - 10) = 4863초 = 81분이다. 전송 비율은(44100/1024) x 304 x 8 = 104737 bps이다.
= LT(1 바이트)
의미: 재생 제한 플래그(비트 7 및 6)와 보안 분할(비트 5 내지 0)
기능: 현재 트랙의 제한을 나타낸다.
값: 비트 7: 0 = 제한없음, 1 = 제한
비트 6: 0 = 만기되지 않음, 1 = 만기됨
비트 5 내지 0: 보안 분할(0 이외에 재생 금지)
= FNo(2 바이트)
의미: 파일 번호
기능: 메모리 카드의 비밀 영역에 기록된 MAC 계산값의 위치를 지정하는 초기에 기록된 트랙 번호를 나타낸다.
값: 1 내지 0x190(400)
= MG(D) SERIAL-nnn(16 바이트)
의미: 레코더/플레이어의 보안 블록(보안 IC 20)의 일련 번호를 나타낸다.
기능: 각 레코더/플레이어에 대해 유일한 값
값: 0 내지 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
= CONNUM(4 바이트)
의미: 내용 누적수
기능: 각 음악 프로그램에 대해 누적된 유일한 값을 나타낸다. 값은 레코더/플레이어의 보안 블록에 의해 관리된다. 값의 상단 제한치는 4,200,000,000인 232이다. 기록된 프로그램을 식별하는데 사용된다.
값: 0 내지 0xFFFFFFFF
= YMDhms-S(4 바이트)(옵션)
의미: 재생 제한을 갖는 트랙의 시작 날짜 및 시간을 나타낸다.
기능: EMD로 데이터 재생이 허용된 날짜 및 시간을 나타낸다.
값: 다른 영역의 날짜 및 시간 표시와 동일
= YMDhms-E(4 바이트)(옵션)
의미: 재생 제한을 갖는 트랙의 종료 날짜 및 시간을 나타낸다.
기능: EMD로 데이터 재생이 만료된 날짜 및 시간을 나타낸다.
값: 다른 영역의 날짜 및 시간 표시와 동일
= MT(1 바이트)(옵션)
의미: 허용된 재생 시간 회수의 최대값
기능: EMD에 의해 지정된 재생 시간의 최대수를 나타낸다.
값: 1 내지 0xFF. 사용되지 않을 때, 영역 MT의 값은 00이다.
= CT(1 바이트)(옵션)
의미: 재생 시간의 회수
기능: 허용된 재생 시간의 회수에서 재생 시간 회수를 나타낸다. 데이터가 재생될 때마다, 영역 CT의 값은 감소된다.
값: 0x00 내지 0xFF. 사용되지 않을 때, 영역 CT의 값은 0x00이다. 영역 LT의 비트 7가 1이고 영역 CT의 값이 00일 때, 데이터는 재생 금지된다.
= CC(1 바이트)
의미: COPY CONTROL
기능: 복사 동작을 제어한다.
값: 비트 6 및 7은 복사 제어 정보를 나타낸다. 비트 4 및 5는 고속 디지털 복사 동작의 복사 제어 정보를 나타낸다. 비트 2 및 3은 보안 블록 인증 레벨을 나타낸다. 비트 0 및 1은 정의되지 않는다.
CC의 예:
(비트 7 및 6)
11: 제한되지 않는 복사 동작이 허용
01: 복사 금지
00: 1회 복사 동작 허용
(비트 3 및 2)
00: 아날로그/디지털 입력 기록 MG 인증 레벨이 0이다.
CD로부터의 데이터를 사용한 디지털 기록 동작이 실행될 때,(비트 7 및 6): 00이고(비트 3 및 2): 00이다.
= CN(1 바이트)(옵션)
의미: 고속 직렬 복사 관리 시스템에서 허용 복사 회수
기능: 복사 회수를 갖는 복사 허용, 1회 복사 허용 및 복사 자유 허용으로 확장한다. 제 1 복사 발생에서만 유효하다. 영역 CN의 값은 복사 동작이 실행될 때마다 감소된다.
값:
00: 복사 금지
01 내지 0xFE: 회수
0xFF: 제한되지 않은 복사 회수
트랙 정보 영역 TRKINF는 0x0370에서 시작되어 24-바이트 부분 관리 정보 영역(PRTINF)으로 이어진다. 한 트랙이 다수의 부분으로 구성될 때, 각 부분의 영역 PRTINF 값은 연속적으로 시간축상에 배열된다. 도 22는 영역 PRTINF의 일부분을 도시한다. 다음에는 영역 PRTINF내의 영역이 배열 순서대로 설명된다.
= PRTSIZE(4 바이트)
의미: 부분 크기
기능: 부분의 크기를 나타낸다. 클러스터(Cluster): 2 바이트(최상위 위치), 시작 SU: 1 바이트(상단), 종료 SU: 1 바이트(최하위 위치).
값: 클러스터: 1 내지 0x1F40(8000)
시작 SU: 0 내지 0xA0(160)
종료 SU: 0 내지 0xA0(16)(SU가 0으로부터 시작됨을 주목한다.)
= PRTKEY(8 바이트)
의미: 부분 암호화값
기능: 부분을 암호화한다. 초기값 = 0. 편집 규칙이 적용되어야 함을 주목한다.
값: 0 내지 0xFFFFFFFFFFFFFFFF
= CONNUM0(4 바이트)
의미: 초기에 발생된 내용 누적수 키
기능: 내용의 ID를 유일하게 지정한다.
값: 내용 누적수 초기값 키의 값과 동일
도 17에 도시된 바와 같이, ATRAC3 데이터 파일의 특성 헤더는 추가 정보 INF를 포함한다. 추가 정보는 시작 위치가 고정되지 않는 것을 제외하고 재생 관리 파일의 추가 정보 INF-S(도 11 및 도 12b를 참고)와 똑같다. 하나 또는 다수의 부분의 끝부분에서 최종 바이트 위치(4 바이트의 배수)는 추가 정보 INF의 데이터로 이어진다.
= INF
의미: 트랙에 대한 추가 정보
기능: 헤더를 갖는 가변 길이 추가 정보를 나타낸다. 다수의 다른 종류의 추가 정보가 배열될 수 있다. 각 추가 정보 영역은 ID 및 데이터 크기를 갖는다. 각 추가 정보 영역은 적어도 16 바이트 및 4 바이트의 배수로 구성된다.
값: 재생 관리 파일의 추가 정보 INF-S와 동일
상술된 특성 헤더는 ATRAC3 데이터 파일의 각 블록 데이터로 이어진다. 도 23에 도시된 바와 같이, 헤더는 각 블록에 대해 부가된다. 다음에는 각 블록의 데이터가 설명된다.
= BLKID-A3D(4 바이트)
의미: BLOCKID FILE ID
기능: ATRAC3 데이터의 상단을 식별한다.
값: 고정값 = ″A3D″(예를 들면, 0x41334420)
= MCode(2 바이트)
의미: MAKER CODE
기능: 레코더/플레이어의 제작자 및 모델을 식별한다.
값: 상위 10 비트(제작자 코드); 하위 6 비트(모델 코드)
= CONNUM0(4 바이트)
의미: 초기에 생성된 내용의 누적수
기능: 내용에 대해 유일한 ID를 지정한다. 내용이 편집되더라도, 영역 CONNUM0의 값은 변화되지 않는다.
값: 내용 누적수 초기 키와 동일
= BLOCK SERIAL(4 바이트)
의미: 각 트랙에 지정된 일련 번호
기능: 0으로부터 시작되어 1 씩 증가된다. 내용이 편집되더라도, 영역 BLOCK SERIAL의 값은 변화되지 않는다.
값: 0 내지 0xFFFFFFFF
= BLOCK-SEED(8 바이트)
의미: 한 블록을 암호화하는 키
기능: 블록의 시작부는 레코더/플레이어의 보안 블록에 의해 발생된 랜덤수이다. 랜덤수는 1 씩 증가된 값으로 이어진다. 영역 BLOCK-SEED의 값이 손실되면, 한 블록과 같은 약 1초 동안에는 사운드가 발생되지 않으므로, 똑같은 데이터가 헤더 및 블록의 끝부분에 기록된다. 내용이 편집되더라도, 영역 BLOCK-SEED의 값은 변화되지 않는다.
값: 초기 8-비트 랜덤수
= INITIALIZATION VECTOR(8 바이트)
의미: ATRAC3 데이터를 암호화/해독하는데 필요한 값
기능: 각 블록에 대해 ATRAC3 데이터를 암호화 및 해독하는데 필요한 초기값을 나타낸다. 블록은 0으로부터 시작한다. 다음 블록은 최종 SU에서 최종적으로 암호화된 8-비트 값으로부터 시작된다. 블록이 나뉘면, 시작 SU 직전의 마지막 8 바이트가 사용된다. 내용이 편집되더라도, 영역 INITIALIZATION VECTOR의 값은 변화되지 않는다.
값: 0 내지 0xFFFFFFFFFFFFFFFF
= SU-nnn
의미: 사운드 유닛의 데이터
기능: 1024 샘플로부터 압축된 데이터를 나타낸다. 출력 데이터의 바이트수는 압축 모드에의존한다. 내용이 편집되더라도, 영역 SU-nnn의 값은 변화되지 않는다. 예를 들면, SP 모드에서는 N = 384 바이트이다.
값: ATRAC3의 데이터값
도 17에서는 N = 384이므로, 42 SU가 한 블록에 기록된다. 한 블록의 처음 2 슬롯(4 바이트)은 헤더로 사용된다. 최종 슬롯(2 바이트)에서, 영역 BLKID-A3D, MCode, CONNUM0, 및 BLOCK SERIAL은 여분으로 기록된다. 그래서, 한 블록의 나머지 영역 M 바이트는(16,384 - 384 x 42 - 16 x 3 = 208) 바이트이다. 상술된 바와 같이, 8-바이트 영역 BLOCK SEED은 여분으로 기록된다.
FAT 영역이 손상될 때는 플래쉬 메모리(flash memory)의 모든 블럭이 탐색된다. 각 블록의 시작부에서 영역 ID BLKID 값이 TL0, HD0, 또는 A3D인가 여부가 결정된다. 도 24a 내지 도 24c에 도시된 바와 같이, 단계(SP1)에서는 상단 블록의 시작부에 있는 영역 ID BLKID의 값이 BLKID-TL0인가 여부를 결정한다. 단계(SP1)에서의 결정 결과가 No일 때, 흐름은 단계(SP2)로 진행된다. 단계(SP2)에서는 블록수가 증가된다. 이어서, 단계(SP3)에서는 최종 블록이 탐색되었나 여부를 결정한다.
단계(SP3)에서의 결정 결과가 No일 때, 흐름은 단계(SP1)로 복귀한다.
단계(SP1)에서의 결정 결과가 Yes일 때, 흐름은 단계(SP4)로 진행된다. 단계(SP4)에서는 탐색 블록이 재생 관리 파일 PBLIST인 것으로 결정한다. 이어서, 흐름은 단계(SP5)로 진행된다. 단계(SP5)에서는 재생 관리 파일 PBLIST에서 총 트랙의 수 T-TRK가 N으로 레지스터에 저장된다. 예를 들면, 메모리가 10개의 ATRAC3 데이터 파일(10개의 음악 프로그램)을 저장했을 때, T-TRK에는 10이 저장된다.
다음에는 총 트랙수 T-TRK의 값을 참고로, 블록의 TRK-001 내지 TRK-400이 연속적으로 참고된다. 본 예에서는 10개의 음악 프로그램이 기록되었으므로, 블록의 TRK-001 내지 TRK-010이 참고된다. 단계(SP7)에서 파일수 FN0가 TRK-XXX(여기서는 X = 1 내지 400)에 기록되므로, 트랙수 TRK-XXX와 파일수 FNO를 서로 상관시키는 테이블이 메모리에 저장된다. 다음 단계(SP8)에서는 레지스터에 저장된 N이 감소된다. 단계(SP6, SP7, SP8)의 루프는 단계(SP9)에서 N이 0으로 될 때까지 반복된다.
단계(SP9)에서의 결정 결과가 Yes일 때, 흐름은 단계(SP10)로 진행된다. 단계(SP10)에서는 포인터가 상단 블록으로 재설정된다. 탐색 처리는 상단 블록으로부터 반복된다. 이어서, 흐름은 단계(SP11)로 진행된다. 단계(SP11)에서는 상단 블록의 영역 ID BLKID 값이 BLKID-HD0인가 여부를 결정한다. 단계(SP11)에서의 결정 결과가 No일 때, 흐름은 단계(SP12)로 진행된다. 단계(SP12)에서는 블록수가 증가된다. 단계(SP13)에서는 최종 블록이 탐색되었나 여부를 결정한다.
단계(SP13)에서의 결정 결과가 No일 때, 흐름은 단계(SP11)로 복귀한다. 탐색 처리는 단계(SP11)에서의 결정 결과가 Yes로 될 때까지 반복된다.
단계(SP11)에서의 결정 결과가 Yes일 때, 흐름은 단계(SP14)로 진행된다. 단계(SP14)에서는 블록이 ATRAC3 데이터 파일의 시작부에 있는 특성 헤더(도 8을 참고)(도 18에 도시된 0x0000 내지 0x03FFF)인가 여부를 결정한다.
다음 단계(SP15)에서는 파일수 FN0, 똑같은 ATRAC 데이터 파일의 순차 번호 BLOCK SERIAL, 및 특성 헤더에 포함된 내용 누적수 키 CONNUM0을 참고로, 이들이 메모리에 저장된다. 10개의 ATRAC3 데이터 파일이 기록되었을 때, 상단 블록의 영역 ID BLKID 값이 BLKID-TL0인 블록이 10개이므로, 탐색 처리는 10개 블록이 탐색될 때까지 계속된다.
단계(SP13)에서의 결정 결과가 Yes일 때, 흐름은 단계(SP16)로 진행된다. 단계(SP16)에서, 포인터는 상단 블록에 재설정된다. 탐색 처리는 상단 블록으로부터 반복된다.
이어서, 흐름은 단계(SP17)로 진행된다. 단계(SP17)에서는 상단 블록의 영역 ID BLKID 값이 BLKID-A3D인가 여부를 결정한다.
단계(SP17)에서의 결정 결과가 No일 때, 흐름은 단계(SP18)로 진행된다. 단계(SP18)에서는 블록수가 증가된다. 이어서, 단계(SP18')에서는 최종 블록이 탐색되었나 여부를 결정한다. 단계(SP18')에서의 결정 결과가 No일 때, 흐름은 단계(SP17)로 복귀한다.
단계(SP17)에서의 결정 결과가 Yes일 때, 흐름은 단계(SP19)로 진행된다. 단계(SP19)에서는 블록이 ATRAC3 데이터를 포함하는 것으로 결정한다. 이어서, 흐름은 단계(SP20)로 진행된다. 단계(SP20)에서는 ATRAC3 데이터 블록에 기록된 일련 번호 BLOCK SERIAL 및 내용 누적수 키 CONNUM0를 참고로, 이들이 메모리에 저장된다.
똑같은 ATRAC3 데이터 파일에서는 공통수가 내용 누적수 키 CONNUM0으로 지정된다. 다른 말로 하면, 한 ATRAC3 데이터 파일이 10개 블록으로 구성될 때, 공통수는 영역 CONNUM0의 모든 값으로 지정된다.
부가하여, 한 ATRAC3 데이터가 10개 블럭으로 구성될 때, 일련 번호 1 내지 0은 10개 블록의 영역 BLOCK SERIAL 값으로 지정된다.
영역 CONNUM0 및 BLOCK SERIAL의 값에 대응하여, 현재 블럭이 똑같은 내용 및 똑같은 내용에서의 현재 블럭의 재생 순서(즉, 내용 순차)로 구성되는가 여부를 결정한다.
10개의 ATRAC3 데이터 파일(즉, 10개의 음악 프로그램)이 기록되었고 각 ATRAC3 데이터 파일이 10개 블록으로 구성될 때, 데이터 블록은 100개가 있다.
영역 CONNUM0 및 BLOCK SERIAL의 값을 참고로, 100개 데이터 블록의 음악 프로그램 재생 순서 및 그들의 연결 순서가 구해진다.
단계(SP19)에서의 결정 결과가 Yes일 때, 모든 블록은 재생 관리 파일, ATRAC3 데이터 파일, 및 특성 파일에 대해 탐색된다. 그래서, 단계(SP21)에서는 메모리에 저장된 블록의 블록 순서로 영역 CONNUM0, BLOCK SERIAL, FN0, 및 TRK-X의 값을 근거로, 파일 연결 상태가 구해진다.
연결 상태가 구해진 이후에는 메모리의 자유 영역에서 FAT가 발생된다.
다음에는 본 발명의 제 2 실시예에 따른 관리 파일이 설명된다. 도 25는 본 발명의 제 2 실시예에 따른 파일 구조를 도시한다. 도 25를 참고로, 음악 디렉토리(directory)는 트랙 정보 관리 파일 TRKLIST.MSF(이후, TRKLIST라 칭하여지는), 백업(backup) 트랙 정보 관리 파일 TRKLISTB.MSF(이후, TRKLISTB라 칭하여지는), 추가 정보 파일 INFLIST.MSF(연주자명, ISRC 코드, 시간 스탬프(time stamp), 정지 화상 데이터 등을 포함하는(이 파일은 INFLIST라 칭하여진다)), 및 ATRAC3 데이터 파일 A3Dnnnn.MSF(이후, A3nnnn이라 칭하여지는)를 포함한다. 파일 TRKLIST는 두 영역 NAME1 및 NAME2를 포함한다. 영역 NAME1은 메모리 카드명 및 프로그램명(ASCII/8859-1 문자 코드에 대응하는 한 바이트 코드로)을 포함하는 영역이다. 영역 NAME2는 메모리 카드명 및 프로그램명(MS-JIS/Hankul/Chinese 코드에 대응하는 두 바이트 코드로)을 포함하는 영역이다.
도 26은 트랙 정보 관리 파일 TRKLIST, 영역 NAME1과 NAME2, 및 ATRAC3 데이터 파일 A3Dnnnn 사이의 관계를 도시한다. 파일 TRKLIST는 64 kbyte(= 16k x 4)의 고정 길이 파일이다. 파일 중 32 kbyte의 영역은 트랙을 관리하는데 사용된다. 나머지 32 kbyte 영역은 영역 NAME1 및 NAME2를 포함하는데 사용된다. 비록 프로그램명에 대한 영역 NANE1 및 NAME2가 트랙 정보 관리 파일로서 다른 파일로 제공되더라도, 작은 저장 용량을 갖는 시스템에서는 트랙 정보 관리 파일과 프로그램명 파일을 전체적으로 관리하는 것이 편리하다.
트랙 정보 관리 파일 TRKLIST의 트랙 정보 영역 TRKINF-nnn 및 부분 정보 영역 PRTINF-nnn은 데이터 파일 A3Dnnnn 및 추가 정보 INFLIST를 관리하는데 사용된다. ATRAC3 데이터 파일 A3Dnnnn만이 암호화된다. 도 26에서, 수평 방향의 데이터 길이는 16 바이트(0 내지 F)이다. 수직 방향의 16진수는 현재 라인의 시작부에 있는 값을 나타낸다.
제 2 실시예에 따라, 트랙 관리 파일 TRKLIST(프로그램 제목 파일을 포함하는), 추가 정보 관리 파일 INFLIST, 및 데이터 파일 A3Dnnnn인 3개의 파일이 사용된다. 제 1 실시예에 따라(도 7, 도 8, 및 도 9를 참고), 메모리 카드를 모두 관리하기 위한 재생 관리 파일 PBLIST 및 프로그램을 저장하기 위한 데이터 파일 ATRAC3인 2개 파일이 사용된다.
다음에는 제 2 실시예에 따른 데이터 구조가 설명된다. 간략하게, 제 2 실시예에 따른 데이터 구조에서, 제 1 실시예와 유사한 부분에 대한 설명은 생략된다.
도 27은 트랙 정보 관리 파일 TRKLIST의 상세한 구조를 도시한다. 트랙 정보 관리 파일 TRKLIST에서, 하나의 클러스터(블록)는 16 kbyte로 구성된다. 파일 TRKLISTB의 크기 및 데이터는 백업 파일 TRKLISTB와 동일하다. 트랙 정보 관리 파일의 처음 32 바이트는 헤더로 사용된다. 재생 관리 파일 PBLIST의 헤더와 같이, 파일 TRKLIST의 헤더는 BLKID-TL0/TL1(백업 파일 ID) 영역(4 바이트), 총 트랙수에 대한 영역 T-TRK(2 바이트), 제작자 코드 영역 MCode(2 바이트), TRKLIST 재기록 회수에 대한 영역 REVISION(4 바이트), 및 날짜와 시간 데이터를 업데이트하는 영역 S-YMDhms(4 바이트)를 포함한다. 이들 데이터 영역의의미 및 기능은 제 1 실시예와 똑같다. 부가하여, 파일 TRKLIST는 다음의 영역을 포함한다.
= YMDhms(4 바이트)
파일 TRKLIST의 최종 업데이트 날짜(년, 월, 일)를 나타낸다.
= N1(1 바이트)(옵션)
메모리 카드의 순차적인 수(분자측)를 나타낸다. 한 메모리 카드가 사용될 때, 영역 N1의 값은 0x01이다.
= N2(1 바이트)(옵션)
메모리 카드의 순차적인 수(분모측)를 나타낸다. 한 메모리 카드가 사용될 때, 영역 N2의 값은 0x01이다.
= MSID(2 바이트)(옵션)
메모리 카드의 ID를 나타낸다. 다수의 메모리 카드가 사용될 때, 각 메모리 카드의 영역 MSID 값은 똑같다(T.B.D.).(T.B.D.(to be defined)는 이 값이 미래에 정의될 수 있음을 나타낸다.)
= S-TRK(2 바이트)
특수한 트랙을 나타낸다(T.B.D.). 일반적으로, 영역 S-TRK의 값은 0x0000이다.
= PASS(2 바이트)(옵션)
패스워드를 나타낸다(T.B.D.).
= APP(2 바이트)(옵션)
재생 응용의 정의를 나타낸다(T.B.D).(일반적으로, 영역 APP의 값은 0x0000이다.)
= INF-S(2 바이트)(옵션)
전체적인 메모리 카드의 추가 정보 포인터를 나타낸다. 추가 정보가 없을 때, 영역 INF-S의 값은 0x00이다.
파일 TRKLIST의 마지막 16 바이트는 헤더와 똑같은 영역 BLKID-TL0, 영역 MCode, 및 영역 REVISION이다. 백업 파일 TRKLISTB는 상술된 헤더를 포함한다. 이 경우, 헤더는 영역 BLKID-TL1, 영역 MCode, 및 영역 REVISION을 포함한다.
헤더는 각 트랙에 대한 정보의 트랙 정보 영역 TRKINF 및 트랙의 각 부분(음악 프로그램)에 대한 정보의 부분 정보 영역 PRTINF로 이어진다. 도 27은 영역 TRKLIST로 선행되는 영역을 도시한다. 영역 TRKLISTB의 하단 부분은 이들 영역의 상세한 구조를 도시한다. 도 27에서, 빗금친 부분은 사용되지 않는 영역을 나타낸다.
트랙 정보 영역 TRKINF-nnn 및 부분 정보 영역 PRTINF-nnn은 ATRAC3 데이터 파일의 영역을 포함한다. 다른 말로 하면, 트랙 정보 영역 TRKINF-nnn 및 부분 정보 영역 PRTINF-nnn은 각각 재생 제한 플래그 영역 LT(1 바이트), 내용키 영역 CONTENTS KEY(8 바이트), 레코더/플레이어 보안 블록 일련 번호 영역 MG(D) SERIAL(16 바이트), 음악 프로그램의 특성 부분을 나타내는 영역 XT(2 바이트)(옵션), 영역 INX(2 바이트)(옵션), 영역 YMDhms-S(4 바이트)(옵션), 영역 YMDhms-E(4 바이트)(옵션), 영역 MT(1 바이트)(옵션), 영역 CT(1 바이트)(옵션), 영역 CC(1 바이트)(옵션), 영역 CN(1 바이트)(옵션)(이들 영역 YMDhms-S, YMDhms-E, MT, CT, CC, 및 CN은 재생 제한 정보 및 복사 제어 정보로 사용된다), 부분 특성에 대한 영역 A(1 바이트), 부분 크기 영역 PRTSIZE(4 바이트), 부분키 영역 PRTKEY(8 바이트), 및 내용 누적수 영역 CONNUM(4 바이트)를 포함한다. 이들 영역의의미 기능, 및 값은 제 1 실시예와 동일하다. 부가하여, 트랙 정보 영역 TRKINF-nnn 및 부분 정보 영역 PRTINF-nnn은 각각 다음의 영역을 포함한다.
= T0(1 바이트)
고정값(T0 = 0x74)
= INF-nnn(옵션)(2 바이트)
각 트랙의 추가 정보 포인터(0 내지 409)를 나타낸다. 00: 추가 정보가 없는 음악 프로그램.
= FNM-nnn(4 바이트)
ATRK3 데이터 파일의 파일수(0x0000 내지 0xFFFF)를 나타낸다.
ATRAC3 데이터 파일명(A3Dnnnn)의 수 nnn(ASCII에서)가 0xnnnnn으로 변환된다.
= APP_CTL(4 바이트)(옵션)
응용 매개변수(T.B.D.)를 나타낸다.(일반적으로, 영역 APP_CTL의 값은 0x0000이다.)
= P-nnn(2 바이트)
음악 프로그램을 구성하는 부분(1 내지 2039)의 수를 나타낸다. 이 영역은 상술된 영역 T-PART에 대응한다.
= PR(1 바이트)
고정값(PR = 0x50)
다음에는 명칭을 관리하는 영역 NAME1(1 바이트 코드로) 및 NAME2(2 바이트 코드로)가 설명된다. 도 28은 영역 NAME1(1 바이트 코드로)의 상세한 구조를 도시한다. 각 영역 NAME1 및 NAME2(추후 설명될)는 8 바이트로 분할된다. 그래서, 그들의 한 슬롯은 8 바이트로 구성된다. 이들 영역 각각의 시작부인 0x8000에는 헤더가 위치한다. 헤더는 포인터 및 명칭으로 이어진다. 영역 NAME1의 최종 슬롯은 헤더와 같은 영역을 포함한다.
= BLKID-NM1(4 바이트)
블록의 내용을 나타낸다(고정값)(NM1 = 0x4E4D2D31).
= PNM1-nnn(4 바이트)(옵션)
영역 NM1(한 바이트 코드로)에 대한 포인터를 나타낸다.
= PNM1-S
메모리 카드를 나타내는 명칭에 대한 포인터를 나타낸다.
nnn(= 1 내지 408)은 음악 프로그램 제목에 대한 포인터를 나타낸다.
포인터는 블록의 시작 위치(2 바이트), 문자 코드 종류(2 비트), 및 데이터 크기(14 비트)를 나타낸다.
= NM1-nnn(옵션)
한 바이트 코드로(가변 길이) 음악 프로그램 제목 및 메모리 카드명을 나타낸다. 영역의 끝부분에는 종료 코드(0x00)가 기록된다.
도 29는 영역 NAME2(2 바이트 코드로)의 상세한 데이터 구조를 도시한다. 영역의 시작부인 0x8000에는 헤더가 위치한다. 헤더는 포인터 및 명칭으로 이어진다. 영역 NAME2의 최종 슬롯은 헤더와 같은 영역을 포함한다.
= BLKID-NM2(4 바이트)
블록의 내용을 나타낸다(고정값)(NM2 = 0x4E4D2D32).
= PNM2-nnn(4 바이트)(옵션)
영역 NM2(2 바이트 코드로)에 대한 포인터를 나타낸다.
PNM2-S는 메모리 카드를 나타내는 명칭에 대한 포인터를 나타낸다. nnn(= 1 내지 408)은 음악 프로그램 제목에 대한 포인터를 나타낸다.
포인터는 블록의 시작 위치(2 바이트), 문자 코드 종류(2 비트), 및 데이터 크기(14 비트)를 나타낸다.
= NM2-nnn(옵션)
2 바이트 코드로(가변) 음악 프로그램 제목과 메모리 카드명을 나타낸다. 영역의 끝부분에는 종료 코드(0x0000)가 기록된다.
도 30은 1 SU가 N 바이트로 구성되는 경우 ATRAC3 데이터 파일 A3Dnnnn의 데이터 배열(한 블록으로)을 도시한다. 이 파일에서, 한 슬롯은 8 바이트로 구성된다. 도 30은 각 슬롯의 상단 부분(0x0000 내지 0x3FF8) 값을 도시한다. 파일의 처음 4개 슬롯은 헤더로 사용된다. 제 1 예의 데이터 파일(도 17을 참고)의 특성 헤더로 선행되는 데이터 블록과 같이, 헤더가 위치한다. 헤더는 영역 BLKID-A3D(4 바이트), 제작자 코드 영역 MCode(2 바이트), 암호화 처리에 필요한 영역 BLOCK SEED(8 바이트), 초기 내용 누적수에 대한 영역 CONNUM0(4 바이트), 각 트랙에 대한 일련 번호 영역 BLOCK SERIAL(4 바이트), 및 암호화/해독 처리에 필요한 영역 INITIALIZATION VECTOR(8 바이트)를 포함한다. 블록의 마지막에서 두번째 슬롯은 영역 BLOCK SEED를 여분으로 포함한다. 최종 슬롯은 영역 BLKID-A3D 및 MCode를 포함한다. 제 1 실시예에서와 같이, 헤더는 사운드 유닛 데이터 SU-nnnn으로 이어진다.
도 31은 추가 정보를 포함하는 추가 정보 관리 파일 INFLIST의 상세한 데이터 구조를 도시한다. 제 2 실시예에서, 파일 INFLIST의 시작부(0x0000)에는 다음의 헤더가 위치한다. 헤더는 다음의 포인터 및 영역으로 이어진다.
= BLKID-INF(4 바이트)
블록의 내용을 나타낸다(고정값)(INF = 0x494E464F).
= T-DAT(2 블록)
총 데이터 영역의 수를 나타낸다(0 내지 409).
= MCode(2 바이트)
레코더/플레이어의 제작자 코드를 나타낸다.
= YMDhms(4 바이트)
기록 업데이트된 날짜 및 시간을 나타낸다.
= INF-nnnn(4 바이트)
추가 정보의 영역 DATA에 대한 포인터를 나타낸다(한 번에 2 바이트(슬롯)인 가변 길이). 시작 위치는 상위 16 비트(0000 내지 FFFF)로 나타내진다.
= DataSlot-0000(0x0800)
시작부로부터 오프셋값을 나타낸다(한번에 한 슬롯으로).
데이터 크기는 하위 16 비트(00001 내지 7FFFF)로 나타내진다. 디스에이블 플래그(disable flag)는 최상위 비트에 설정된다. MSB = 0(인에이블), MSB = 1(디스에이블).
데이터 크기는 음악 프로그램의 총 데이터량을 나타낸다.
(데이터는 각 슬롯의 시작부에서 시작된다. 슬롯의 비데이터 영역은 00으로 채워진다.)
제 1 INF는 전체적인 앨범의 추가 정보에 대한 포인터를 나타낸다(일반적으로, INF-409).
도 32는 추가 정보의 구조를 도시한다. 8-바이트 헤더는 한 추가 정보 데이터 영역의 시작부에 위치한다. 추가 정보의 구조는 제 1 실시예와 동일하다(도 12c를 참고). 다른 말로 하면, 추가 정보는 ID인 영역 IN(2 바이트), 영역 키 코드 ID(1 바이트), 각 추가 정보 영역의 크기를 나타내는 영역 SIZE(2 바이트), 및 제작자 코드 영역 MCode(2 바이트)를 포함한다. 부가하여, 추가 정보는 서브 ID로 영역 SID(1 바이트)를 포함한다.
본 발명의 제 2 실시예에 따라, 메모리 카드 포맷으로 정의된 파일 시스템에 부가하여, 트랙 정보 관리 파일 TRKLIST 음악 데이터가 사용된다. 그래서, FAT가 손상되더라도, 파일은 회복될 수 있다. 도 33은 파일 회복 처리의 흐름을 도시한다. 파일을 회복하기 위해, 파일 회복 프로그램으로 동작하고 컴퓨터에 연결된 저장 디바이스(하드디스크, RAM 등) 및 메모리 카드를 엑세스할 수 있는 컴퓨터가 사용된다. 컴퓨터는 DSP30과 동일한 기능을 갖는다. 다음에는 트랙 관리 파일 TRKLIST를 사용한 파일 회복 처리가 설명된다.
FAT가 손상된 플래쉬 메모리의 모든 블록은 각 블록의 상단 위치에 있는 값(BLKID)으로 TL-0에 대해 탐색된다. 부가하여, 모든 블록은 각 블록의 상단 위치에 있는 값(BLKID)으로 NM-1에 대해 탐색된다. 이어서, 모든 블록은 각 블록의 상단 위치에 있는 값(BLKID)으로 NM-2에 대해 탐색된다. 4개 블록(트랙 정보 관리 파일)의 모든 내용은 회복 컴퓨터에 의해 예를 들면, 하드디스크에 저장된다.
총 트랙수는 트랙 정보 관리 파일의 제 4 바이트 이후의 데이터로부터 구해진다. 트랙 정보 영역 TRKINF-001의 제 20 바이트, 제 1 음악 프로그램의 영역 CONNUM-001 값, 및 다음 영역 P-001 값이 구해진다. 부분의 수는 영역 P-001의 값으로 구해진다. 영역 PRTINF의 트랙 1에서 모든 부분의 영역 PRTSIZE 값이 구해진다. 총 블록(클러스터)의 수 n이 계산되어 구해진다.
트랙 정보 관리 영역이 구해진 이후에, 흐름은 단계(102)로 진행된다. 단계(102)에서는 음악 데이터 파일(ATRAC3 데이터 파일)이 탐색된다. 관리 파일 이외의 모든 블록은 플래쉬 메모리로부터 탐색된다. 상단값(BLKID)이 A3D인 블록이 수집된다.
A3Dnnnn의 제 16 바이트에 있는 영역 CONNUM0의 값이 트랙 정보 관리 정보의 제 1 음악 프로그램에서 영역 CONNUM-001과 동일하고 제 20 바이트로부터 시작되는 영역 BLOCK SERIAL의 값이 0인 블록이 탐색된다. 제 1 블록이 구해진 이후에는 제 1 블록과 같은 영역 CONNUM 값을 갖고 BLOCK SERIAL 값이 1 만큼(1 = 0 + 1) 증가되는 블록(클러스터)이 탐색된다. 제 2 블록이 구해진 이후에는 제 2 블록과 같은 영역 CONNUM0 값을 갖고 영역 BLOCK SERIAL 값이 1 만큼(2 = 1 + 1) 증가되는 블록이 탐색된다.
처리를 반복함으로서, 트랙 1의 n 블록(클러스터)이 구해질 때까지 ATRAC3 데이터 파일이 탐색된다. 모든 블록(클러스터)이 구해질 때, 이들은 하드디스크로 연속하여 저장된다.
트랙 1에 대한 똑같은 처리가 트랙 2에도 실행된다. 다른 말로 하면, 영역 CONNUM0의 값이 트랙 정보 관리 파일의 제 1 음악 프로그램에서 영역 CONNUM-002와 동일하고 제 20 바이트에서 시작하는 영역 BLOCK SERIAL 값이 0인 블록이 탐색된다. 이어서, 트랙 1과 같은 방식으로, 최종 블록(클러스터) n'이 검출될 때까지, ATRAC3 데이터 파일이 탐색된다. 모든 블록(클러스터)이 구해진 이후에, 이들은 연속적으로 하드디스크에 저장된다.
모든 트랙(트랙수: m)에 대해 상술된 처리를 반복함으로서, 모든 ATRAC3 데이터는 회복 컴퓨터에 의해 하드디스크에 저장된다.
단계(103)에서, FAT가 손상된 메모리 카드는 재초기화되고, 이어서 FAT가 재구성된다. 메모리 카드에는 소정의 디렉토리가 형성된다. 이어서, m 트랙에 대한 ATRAC3 데이터 파일 및 트랙 정보 관리 파일은 하드디스크로부터 메모리 카드에 복사된다. 그래서, 회복 처리가 종료된다.
관리 파일 및 데이터 파일에서, 중요한 매개변수(특별히, 헤더내의 코드)는 이중으로 보다는 삼중으로 기록된다. 데이터가 여분으로 기록될 때, 이들이 한 페이지 이상 서로 떨어져 있는 한, 똑같은 데이터는 임의의 위치에 기록될 수 있다.
[조합 처리]
다음에, 본 발명의 제 1 실시예에 따른 파일 관리 방법을 사용하는 파일(음악 프로그램)조합 처리와 분할 처리를 기술한다.
[FAT상의 조합 처리]
다음에, FAT상의 조합 처리를 기술한다. 이 경우, 3개의 파일들(음악 프로그램)(AT.MSA, DOG.MSA, MAN.MSA 중 2개의 파일들 CAT.MSA 및 MAN.MSA가 조합된다.
도 34의 도시처럼, 사용자가 하나의 파일로 2개의 파일들을 조합할 때, 상기 CAT.MSA에 대응하는 FAT상의 클러스터 관리 데이터 끝부분의 기입 어드레스가 상기 파일 MAN.MSA(도 34의 흐린 부분을 보라)에 대응하는 FAT상에서 ″FFF″에서 시작 어드레스 ″110″으로 변화한다.
따라서, 상기 조합된 파일 CAT.MSA는 클러스터(5,6,7,8,110,111)을 사용한다. 덧붙이면, 상기 파일명 MAN.MSA는 보조 디렉토리 영역으로부터 삭제된다. 더구나, 상기 클러스터(202)를 관리하는 파일명 MAN.MSA 가 삭제된다(도 34의 흐린 부분을 보라).
[특성 헤더 편집]
2개의 파일들 CAT.MSA와 MAN.MSA를 조합하기 위한 FAT상의 편집 방법이 서두에 기술되어 있다. 다음에, 도 35A 및 도 35b를 참고하여, 도17에 도시된 ATRAC3 데이터 파일과 도11에 도시된 재생 관리 파일 PBLIST.MSF의 특성 헤더의 편집 방법이 기술된다.
도 35A는 편집되지 않은 2개의 파일들 CAT.MSA 및 MAN.MSA의 메모리 맵을 보여주는 개략도이다.
도 35A에 도시된 메모리 맵은 논리적 어드레스가 물리적 어드레스로 변환되는 상태를 도시한다. 한편, 간단히하기 위해, 상기 부분들이 메모리에서 분산될지라도, 그들은 계속해서 배열된다. 도 35A의 도시처럼, 상기 파일 CAT.MSA의 특성 파일은 전체 사운드 유닛 T-SU:100의 욋수 전체부 T-PRT :3의 횟수, 내용키, MAC 한 부분 크기 및 각 부에 대한 부분키를 포함한다.
한편, 상기 파일 MAN.MSA의 특성 파일은 전체 사운드 유닛 T-SU:70의 횟수, 전체부 T-PRT:2의 횟수, 내용키, MAC, 한 부분의 크기 및 각 부에 대한 부분키, 내용 누적수 CONNUMO를 포함한다.
파일 CAT.MSA의 특성 파일 데이터는 다음에 따라 갱신된다.
실제로, 갱신된 데이터로서, 음악 프로그램이 조합될 때, 단일 파일의 부분수가 증가한다. 따라서, 상기 특성 파일에 포함된 T-PRT가 편집된다. 한편, 파일들이 조합되기 때문에, 전체 사운드 유닛의 수가 증가되고, 따라서, T-SU가 편집된다.
다른 말로 하면, 도 35b의 도시처럼, 상기 T-SU의 값이 상기 파일 CAT.MSA의 전체 사운드 유닛 T-SU:100의 수와 상기 파일 MAN.MSA의 전체 사운드 유닛 T-SU:70의 수가 가산되는(170)으로 재기록된다. 한편, T-PRT의 값은 상기 파일 CAT.MSA의 전체부 T-PRT:3의 수와 파일 MAN.MSA의 전체부 T-PRT:2의 수가 가산되는(5)로 재기록된다.
한편, ATRAC3 데이터 파일들이(음악 프로그램)이 조합될 때, 상기 추가 키에 포함된 내용키는 새롭게 생성된다. 더구나, 위조된 저작권 정보 채크값인 MAC가 변화한다.
더구나, 상기 조합된 파일 MAN.MSA의 특성 파일 블록에 포함된 부분 정보(도 22를 보라)는 상기 파일 CAT.MSA의 특성 파일 블록으로 변화(카피)된다. 한편, 상기 부분 정보가 가산되는 특성 파일 블록에 포함된 각 부분의 부분키 PRTKEY는 새로운 내용키로 재암호화된다.
도9의 도시처럼, 특성 파일이 ATRAC3 데이터 파일의 헤더부에 가산되므로, 2개의 ATRAC3 데이터 파일들이 간단히 조합되면, 파일 CAT.MSA의 특성 파일 블록, 파일 CAT.MSA의 다수의 ATRAC3 데이터 블록, 파일 MAN.MSA의 특성 파일 블록, 파일 MAN.MSA의 다수의 ATRC3 데이터 블록이 계속해서 조합된다. 따라서, 하나의 파일을 2개의 특성 파일들을 가진다.
이 문제를 해결하기 위해, 본 발명에 따라, 도 35b에 도시된 바와같은 조합 처리가 수행될 때, 역행측 데이터 파일(이 실시예에서, 파일 MAN.MSA)의 특성 파일이 갱신된다.
따라서, 파일 CAT.MSA의 특성 파일 블록, 파일 CAT.MSA의 다수의 ATRAC3 데이터 블록, 파일 MAN.MSA의 다수의 ATRAC3 데이터 블록이 계속해서 배열된다.
[재생 관리 파일 편집]
덧붙혀, 도11에 도시된 재생 관리 파일 PBLIST에 따라, 데이터 파일들이 조합되기 때문에, 전체 트랙 번호의 수가 하나씩 감소된다. 따라서, T-TRKs는 그들이 공간없이 TRK-001의 방향으로 이동되도록 편집된다.
[조합 처리의 단계]
도 36은 파일 조합 처리를 도시하는 흐름도이다. 단계(SP201)에서, 사용자는 소정의 방법으로 조합되게 2개의 파일들을 선택한다. 이 실시예에서, 사용자는 파일들 CAT.MSA 및 MAN.MSA를 선택한다. 단계(SP202)에서, FAT 상의 링크 상태가 편집된다. 단계(SP203)에서, 후방으로 링크된 파일명은 보조 디렉토리로부터 삭제된다. 단계(SP204)에서, 상기 후방 방향으로 조합된 데이터 파일의 파일명은 데이터 영역으로부터 삭제된다. 단계(SP205)에서, 상기 전방향 ATRAC3 데이터 파일은 전방측 ATRAC3의 특성 파일에 대응하여 갱신된다. 위의 기술과 같이, 전체 부분의 수가 편집된다. 한편, 전체 사운드 유닛 T-SU의 수가 편집된다.
단계(SP206)에서, 상기 전방향측 ATRC3 데이터 파일의 특성 파일이 삭제된다. 단계(SP207)에서, 상기 재생 관리 파일의 T-TRK 및 TRK-XXX가 편집된다.
따라서, 상기 조합 처리가(1) FAT 편집,(2) 특성 파일 편집,(3) 재생 관리 파일 편집의 순으로 수행된다. 그러므로, 상기 순서가 변화한다.
[분할 처리]
이 실시예에서, 2개의 파일을 조합하는 조합 처리가 기술된다. 다음에, 특정 위치에서 하나의 파일을 분할하는 분할 처리가 기술된다.
[FAT의 분할 처리]
도 37은 도6에 도시된 파일로부터 파일 CAT.MSA에 대한 분할 처리를 설명하는 메모리 맵을 보여주는 개략도이다. 사용자가 파일 CAT.MSA의 클러스터(6,7)의 경계에서 분할 동작과 발생될 2개의 파일들 CAT1.MSA 및 CAT2.MSA를 야기하는 분할 처리를 수행하는 것으로 가정한다.
먼저, 상기 클러스터(202,202)에서 기록된 파일들 DOG.MSA 및 MAN.MSA가 각각 클러스터(202,203)으로 이동한다. 한편, 연장 MSA가 사용자에 의해 입력된 파일명 CAT1에 가산되는 파일 CAT1.MSA는 클러스터(200)에 기록된다. 한편, 연장 MSA 가 사용자에 의해 입력된 파일명 CAT2에 가산된 파일명 CAT.MSA는 클러스터(201)에 기록된다.
다음에, 보조 디렉토리에 기록된 파일명 CAT.MSA는 파일명 CAT1.MSA에 재기록된다. 한편, 파일명 CAT2.MSA는 사용되지 않은 슬롯에 가산된다.
상기 파일 CAT2.MSA의 슬롯 단부에서, 상기 분할된 파일 CAT2.MSA의 클러스터 번호 ″7″이 기록된다.
상기 기입 어드레스는 FAT의 보조 디렉토리의 파일명 CAT1.MSA의 슬롯 끝점이 클러스터(6)가 되도록 ″FFF″로 재기록된다. 상기 분할 처리는 위에서 기술된 방법으로 FAT상에서 수행된다.
[특성 헤더 편집]
데이터 파일이 분할될 때, 특성 파일은 전방측상의 분할 파일에 가산되도록 발생된다.
다음에, 도 38A,38B를 참고로, 이 처리가 기술된다.
도 35A,35B,38A,38B가 메모리 맵을 도시하는 것처럼 논리 어드레스가 물리 어드레스로 변환되어 왔다. 도 38A,38B에서, 간략을 위해, 개별 부분이 분산되지 않고 계속해서 메모리에 배열된다. 도 38A에 도시처럼, 상기 파일 CAT.MSA의 특성 파일은 전체 사운드 유닛 T-SU:17의 수, 전체 부분들 T-PRT:5의 수, 내용키, MAC, 부분 크기 및 각 부분에 대한 부분키, 내용 누적 번호 CONNUMO를 포함한다.
지금, 사용자가 파일 CAT.MSA의 특정점에서 분할 처리를 표시하는 것을 가정한다. 예로, 사용자가 도 38A에 도시된 부분들(3,4)사이의 경계에서 분할 동작을 수행하는 것을 가정한다. 상기 특성 파일의 데이터는 아래의 방법으로 갱신된다.
실제 갱신 데이터로서, 음악 프로그램이 분할되면, 단일 파일을 구성하는 부분들 수가 감소한다. 따라서, 특성 파일에 포함된 T-TRT가 편집된다. 한편, 파일이 분할될 때, 전체 사운드 유닛의 수가 감소하기 때문에, 상기 T-SU가 또한 편집된다. 한편, 도 38b에 도시된 바와 같이, 전방측상에서 분할된 파일 CAT1.MSA의 전체 사운드 유닛의 수가 T-SU:100으로 재기록된다. 한편, 상기 파일 CAT1.MSA의 전체 부분수가 T-PART:3로 재기록된다.
한편, 상기 파일이 분할되므로서, 내용키, 위조 저작권 정보 채크값 MAC, 각 부분에 대한 부분키가 재기록된다.
더구나, 후방측에서 분할된 파일 CAT2.MSA의 특성 파일이 새롭게 생성된다.
새롭게 생성된 특성 파일에 따라, 전체 사운드 유닛수와 전체 부분수는 각각 T-SU:70 및 T-PART:2로 재기록된다.
한편, 상기 파일이 분할되므로, 내용키, 위조된 저작권 정보 채크값 MAC, 각 부에 대한 부분키가 재기록된다.
[재생 관리 파일 편집]
다음에, 상기 분할 처리시 재생 관리 파일 PBLIST의 편집 방법을 기술한다. 파일이 2개의 파일로 분할될 때, 이에 따라 파일수가 하나씩 증가한다. 따라서, 전체 트랙 T-TRK의 수가 1씩 증가한다. 한편, TRK-X 테이블(여기서 X는 1 내지 400 범위내의 소정의 정수)은 발생된 음악 프로그램 번호가 이동되도록 편집된다.
[분할 처리 단계]
도 39는 분할 처리를 보여주는 흐름도이다.
단계(SP301)에서, 사용자가 분할되는 파일을 선택할 때, 파일의 음악을 청취하는 동안, 사람들은 소정의 방법으로 분할점을 선택한다. 단계(SP302)에서, 상기 FAT의 링크 상태는 위에서 기술된 방법으로 편집된다. 단계(SP303)에서, 후방측에서 분할된 데이터 파일의 파일명은 보조 디렉토리에 가산된다. 단계(SP304)에서, 전방향으로 분할된 데이터 파일의 파일명은 데이터 영역에 가산된다. 상기 파일명은 사용자에 의해 입력된다. 단계(SP305)에서, 상기 분할점의 전방측상의 데이터 파일의 특성 파일이 편집된다. 한편 단계(SP306)에서, 후방측 데이터 파일에 가산되는 특성 파일이 발생된다. 상기 특성 파일은 새롭게 생성되고 상기 분할된 파일의 분할점에 대응하여 편집된다. 단계(SP307)에서, 상기 재생 관리 파일 PBLIST가 편집된다. 위에서 기술된 분할 처리는(1) FAT의 편집,(2) 특성 파일 편지,(3) 재생 관리 파일 편집순으로 수행된다. 그러나, 상기 순서는 변화할 수 있다.
본 발명은 사용자가 메모리 카드에 기록된 데이터 파일(ATRAC3 파일)을 편집하는 특징이 있다. 다음에, 도 25 내지 도 32를 참고로 기술된 트랙 관리 파일 TRKLIST에 대응하는 편집 처리(예로, 조합 처리 및 분할 처리)가 상세히 기술된다. 따라서, 아래의 설명이 트랙 정보 영역 TRKINF와 ATRAC3 데이터 파일의 부분 정보 영역 PRTINF에 제공된다.
이 부분에서, 도 40을 참고로, 각각 한 부분으로 이루어지는 2개의 트랙 A,B를 조합하는 조합 처리(도10B를 보라)가 기술된다. 도 40은 상기 조합 처리를 보여주는 흐름도이다. 단계(401)에서, 후방측의 트랙 B의 부분 정보 영역 PRTINF가 트랙 A의 부분 정보 영역 PRTINF 밑으로 이동한다. 따라서, 트랙 정보 관리 파일 TRKLIST에서, 트랙 A의 트랙 정보 영역 TRKINF, 트랙 A의 부분 정보 영역 PRTINF, 트랙 B의 부분 정보 영역 PRTINF, 트랙 B의 트랙 정보 영역 TRKINF가 계속해서 배열된다.
단계(402)에서, 트랙 B의 ATRAC3 데이터 파일의 FAT 체인이 트랙 A의 ATRAC3 데이터 파일의 FAT 체인중 후방측으로 링크된다. 단계(403)에서, 트랙 B의 트랙 정보 영역 TRKINF가 트랙 정보 관리 파일 TRKLIST로부터 삭제된다. 따라서, 트랙 정보 관리 파일 TRKLIST에서, 상기 트랙 A의 트랙 정보 영역 TRKINF, 트랙 A의 부분 정보 영역 PRTINF, 트랙 B의 부분 정보 영역 PRTINF 가 연속해서 배열된다. 단계(404)에서, 트랙 B의 ATRAC3 데이터 파일은 디렉토리로부터 삭제된다. 단계(405)에서, 트랙 A의 트랙 정보 영역 TRKINF에서 음악 프로그램을 구성하는 부분의 수를 표시하는 P-nnn 은 1에서 1+1=2로 변화한다.
따라서, 키값이 변화한다. 이 예에서, 원래 트랙 A의 내용키는 KC_ A로 표시되고, 원래 트랙 B의 내용키는 KC_B로 표시된다. 유사하게, 원래 트랙 A의 부분키는 KP_A로, 원래 트랙 B의 부분키는 KP_B로 표시된다. 단계(406)에서, 트랙 A와 B가 조합된 후, 새로운 트랙 N의 내용키는 KC-N 으로서 발생된다. 상기 CONNUM은 또한 새롭게 생성된다. 단계(407)에서는, 새로운 부분키가 생성된다. 상기 새로운 부분키는 내용키 KC_A, 부분키 KP_A, 내용키 KC_N의 배타적 OR 동작으로 생성된다. 단계(408)에서, 후방측 부분키(즉, 원래 트랙 B의 부분 정보 영역 PRTNF에 대한 부분키)가 생성된다. 새로운 부분키로서, 후방측상의 후방키는 내용키 KC_B, 부분키 KP_B, 내용키 KC_N의 배타적 OR 동작을 생성한다.
단계(409)에서, 새로운 트랙 N의 내용키 KC_N은 상기 메모리 카드의 저장키로 암호화되어 상기 트랙 정보 영역 TRKINF의 CONTENTS KEY-nnn에 저장된다. 상기 CINNUM 은 트랙 정보 영역 TRKINF의 CONNUM에 저장된다. 한편, 각각의 부분키는 상기 부분 정보 영역 PRTNF의 PRTKEY-nnn에 저장된다.
다음에, 도 41을 참고로, 한 부분으로 구성된 트랙 A가 2개의 트랙 A,B로 분할되는 분할 처리(도10C를 보라)가 기술된다. 도 41은 분할 처리를 도시하는 흐름도이다. 단계(501)에서, 상기 분할점은 su로 결정된다. 단계(502)에서, 새로운 트랙 A의 부분 정보 영역 PRTINF의 PRTSIZE가 변화된다. 실제로, 상기 시작부(시작 su)에서 분할점(종료 su)까지의 클러스터수가 계산된다. 상기 클러스터 크기, 시작 su, 종료 su는 상기 클러스터의 분할점중 su 위치에 대응하여 변화하며 새로운 트랙 A의 부분 정보 영역의 PRTSIZE에 저장된다.
단계(503)에서, 분할점을 포함하는 새로운 트랙 A의 마지막 클러스터인 하나의 클러스터가 완성적으로 카피된다. 상기 카피된 클러스터는 새로운 트랙 B의 상부분으로서 취급된다. 단계(504)에서, 새롭게 생성된 트랙 B의 전체 부분수는 트랙 B의 트랙 정보 영역 TRKINF에서 음악 프로그램을 구성하는 부분수를 표시하는 P-nnn에 저장된다. 이 예에서, 상기 분할점에 의해 진행된 클러스터들은 새롭게 생성된 트랙 B 인 제 2 부분이 된다. 새롭게 생성된 트랙 B의 전체 부분수가 계산된다. 단계(505)에서, 새로운 ATRAC3 데이터 파일의 파일 번호 FNW-nnn 가 생성되고 트랙 정보 영역 TRKINF의 FNW-nnn에 저장된다.
단계(506)에서, 상기 새롭게 생성된 트랙 B의 전체 부분의 수가 계산된다.
단계(505)에서, 새로운 ATRAC3 데이터 파일의 파일 번호 FNW-nnn 이 생성되고 상기 트랙 정보 영역 TRKINF의 FNW-nnn에 저장된다.
단계(506)에서, 새로운 트랙 B의 트랙 정보 영역 TRKINF와 PRTINF의 부분 정보 영역이 트랙 정보 관리 파일 TRKLIST의 새로운 트랙 A의 부분 정보 영역 PRTINF의 후방측에 가산된다. 원래 트랙 A의 후방측상의 트랙의 트랙 정보 영역 TRKINF 와 부분 정보 영역 PRTINF는 트랙 정보 영역 TRKINF와 트랙 B의 부분 정보 영역 PRTNF에 의해 뒤로 이동한다.
단계(507)에서, 새로운 트랙 A의 ATRAC3 데이터 파일의 FAT 체인은 분할점으로 변화된다. 단계(508)에서, 트랙 B가 새롭게 가산되기 때문에, 상기 ATRAC3 데이터 파일의 파일 B 가 디렉토리에 가산된다. 단계(509)에서, 새롭게 생성된 트랙 B의 ATRAC3 데이터 파일의 FAT 체인은 원래의 트랙 A의 나머지 부분에 따른다(즉, 상기 클러스터의 체인은 분할점을 포함한다).
새로운 트랙 B가 가산되기 때문에, 키값이 가산된다. 그러나, 새로운 트랙 A의 킷값은 변화하지 않는다.
단계(510)에서, 트랙이 분할된 후, 새로운 트랙 B의 내용키의 내용키 KC_B가 생성된다. 한편, CONNUM도 새롭게 생성된다. 단계(511)에서, 상기 새로운 트랙 B의 부분키 KP_B가 생성된다. 상기 새로운 트랙의 부분키는 원래 KC_A, KP_A, KC_B의 배타적 동작으로 생성된다.
단계(512)에서, 상기 새로운 트랙 B의 내용키 KC_B는 메모리 카드의 저장키로 암호화되고, 트랙 정보 영역 TRKINF의 CONTENTS KEY-nnn에 저장된다. 덧붙혀, 상기 CONNUM은 트랙 정보 영역 TRKINF의 CONNUM-nnn에 저장된다. 각 부분의 키는 부분 정보 영역 PRTINF의 PRTKEY-nnn에 저장된다.
따라서, 조합 및 분할 처리와 같은 편집 처리가 수행될때조차도, 트랙 정보 영역 TRKINF 및 부분 정보 영역 PRTINF는 ATRAC3 데이터 파일의 같은 순서로 배열된다. 다시 말해, 편집되는 하나의 파일의 트랙 정보 영역 TRKINF 및 부분 정보 영역 PRTINF의 링크 목표가 계속해서 배열되며, 랜덤하지는 않다.
또한, 삭제 처리나 이동 처리와 같은 또 다른 편집 처리가 수행될 때, 상기 트랙 정보 영역 TRKINF 및 부분 정보 영역 PRTINF는 ATRAC3 데이터 파일과 같은 순서로 재배열된다.
본 발명에 따라, 비록 데이터 파일들이 FAT 시스템에서 다루어지지만, 데이터 파일을 구성하는 클러스터 및 사운드 유닛들이 부분적으로 다루어진다. 그러므로, 이들은 저전력 CPU에 의해 쉽게 다루어질 수 있다. 또한, 데이터 파일 정보를 위한 트랙 정보 영역 TRKINF은 트랙 정보 영역 TRKINF에 저장된 부분들을 위한 부분 정보 영역 PRTINF에 인접하는 간단한 방법에서, MD의 링크-P 시스템에서의 문제가 해결된다. 또한, 데이터 파일들이 FAT 시스템, 특성 파일, 및 재생 처리 파일로 다루어지기 때문에, FAT 시스템이 파괴된다고 하여도, 메모리 내에 분산된 추적 부분에 의해 FAT는 복구될 수 있다.
플래쉬 메모리에서, 페이지로 불리는 특별한 데이터 유닛이 사용되므로, MD에 사용되는 링크-P 시스템과 달리, 많은 페이지를 반드시 랜덤하게 엑세스해야 하는 것은 아니다.
첨부된 도면을 참고하여 본 발명에 따른 양호한 실시예의 기술에서, 본 발명은 특정 실시예에 국한되지 않고, 여러 변화 및 수정이 첨부된 클레임에 한정된 바와 같이 본 발명의 사상 및 범주를 이탈하지 않고 숙련된 사람에게 효과적임은 자명하다.
본 발명은 FAT 영역이 파괴될 때조차도 편집 처리가 수행되는 것을 허용한다.

Claims (7)

  1. 각각 소정의 데이터 길이를 가지는 블록으로 연속적으로 재생된 데이터 파일을 세그먼팅하고, 다수의 블록들을 다수의 부분들로 집합하며, 다수의 부분들을 상기 비휘발성 메모리에서 분산하도록 기록하기 위한 비휘발성 메모리로써, 상기 비휘발성 메모리는,
    다수의 부분을 링크하고 상기 다수의 부분들을 연속적으로 재생된 데이터 파일로 복구하기 위해 제 1 관리 정보를 기록하기 위한 관리 영역, 및
    각각의 데이터 파일에 제 2 관리 정보를 가산하고, 다수의 블록들을 다수의 부분으로 집합하며, 상기 다수의 부분들을 상기 비휘발성 메모리에서 분산하도록 기록하기 위한 데이터 영역을 포함하고, 상기 제 2 관리 정보는 데이터 파일 및 각각의 부분의 크기를 구성하는 부분들의 수를 포함하고 소정의 데이터 길이를 포함하는 비휘발성 메모리.
  2. 제 1 항에 있어서,
    각각의 부분에 대해 데이터 파일을 암호화하는 부분키는 각각의 부분에 대해 제 2 관리 정보로서 기록되는 비휘발성 메모리.
  3. 제 1 항에 있어서,
    데이터 파일을 암호화하는 내용키는 제 2 관리 정보로서 기록되는 비휘발성 메모리.
  4. 제 2 항에 있어서,
    상기 데이터 파일을 암호화하는 내용키는 제 2 관리 정보로서 기록되고, 상기 부분키는 상기 내용키와 암호화되는 비휘발성 메모리.
  5. 제 1 항에 있어서,
    상기 각각의 부분의 데이터 크기는 제 2 관리 정보로써 기록되는 비휘발성 메모리.
  6. 제 1 항에 있어서,
    상기 관리 영역에 기록된 제 1 관리 정보는 파일 할당 테이블인 비휘발성 메모리.
  7. 제 1 항에 있어서,
    상기 데이터 영역에 저장된 제 2 관리 정보에 포함된 부분들의 수는 데이터 파일이 편집될 때마다 재기록되는 비휘발성 메모리.
KR1020000015065A 1999-03-25 2000-03-24 비휘발성 메모리 KR100617892B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP8153499 1999-03-25
JP99-081534 1999-03-25
JP18341399 1999-06-29
JP99-183413 1999-06-29
JP34910999A JP4135049B2 (ja) 1999-03-25 1999-12-08 不揮発性メモリ
JP99-349109 1999-12-08

Publications (2)

Publication Number Publication Date
KR20000071483A true KR20000071483A (ko) 2000-11-25
KR100617892B1 KR100617892B1 (ko) 2006-09-08

Family

ID=27303615

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000015065A KR100617892B1 (ko) 1999-03-25 2000-03-24 비휘발성 메모리

Country Status (5)

Country Link
US (1) US6212097B1 (ko)
JP (1) JP4135049B2 (ko)
KR (1) KR100617892B1 (ko)
CN (1) CN1171151C (ko)
MY (1) MY117211A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100877448B1 (ko) * 2004-04-20 2009-01-09 파나소닉 주식회사 비휘발성 기억 시스템
KR101102754B1 (ko) * 2005-02-28 2012-01-05 삼성전자주식회사 낸드 플래시 메모리 파일 시스템 및 낸드 플래시 메모리 시스템에서 파일 엑세스 방법

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3588231B2 (ja) 1997-08-04 2004-11-10 東京エレクトロンデバイス株式会社 データ処理システム及びブロック消去型記憶媒体
CA2338634C (en) * 1999-05-28 2007-06-26 Matsushita Electric Industrial Co., Ltd. A semiconductor memory card, playback apparatus, recording apparatus, playback method, recording method, and computer-readable recording medium
EP2104107B1 (en) * 1999-08-27 2011-10-19 Sony Corporation Editing apparatus and editing methods
US6678203B1 (en) * 1999-08-27 2004-01-13 Sony Corporation Editing apparatus, editing method, and non-volatile memory
US6742078B1 (en) * 1999-10-05 2004-05-25 Feiya Technology Corp. Management, data link structure and calculating method for flash memory
JP3992419B2 (ja) * 2000-03-27 2007-10-17 パイオニア株式会社 情報再生装置
JP2002132583A (ja) * 2000-10-20 2002-05-10 Sony Corp データ処理装置、データ記憶装置、およびデータ処理方法、並びにプログラム提供媒体
JP2002358248A (ja) * 2001-06-04 2002-12-13 Pioneer Electronic Corp データ記録装置およびデータ消去装置
TWI246028B (en) * 2001-06-28 2005-12-21 Trek 2000 Int Ltd A portable device having biometrics-based authentication capabilities
JP3967121B2 (ja) * 2001-12-11 2007-08-29 株式会社ルネサステクノロジ ファイルシステム、ファイルシステム制御方法およびファイルシステムを制御するためのプログラム
JP3855863B2 (ja) * 2002-04-01 2006-12-13 ソニー株式会社 再生方法および装置、記録方法および装置
JP3855862B2 (ja) * 2002-04-01 2006-12-13 ソニー株式会社 編集方法および装置
US6968472B2 (en) * 2002-04-22 2005-11-22 Silicon Labs Cp. Inc. Serial data interface
JP2003330777A (ja) * 2002-05-10 2003-11-21 Matsushita Electric Ind Co Ltd データファイル再生装置、記録メディア、データファイル記録装置及びデータファイル記録プログラム
JP3714310B2 (ja) * 2002-08-07 2005-11-09 ソニー株式会社 コンテンツの自動記録装置及び方法、記録媒体、並びにプログラム
JP2005535958A (ja) 2002-08-08 2005-11-24 エム−システムズ フラッシュ ディスク パイオニアーズ リミテッド デジタル著作権管理のための集積回路
KR100534056B1 (ko) * 2002-10-15 2005-12-07 (주)마크텍 디지털 음성 저장 장치에 저장된 데이터의 인증 및위/변조를 방지하기 위한 장치 및 방법
FI20021867A (fi) * 2002-10-18 2004-04-19 Nokia Corp Menetelmä kortin toimintatilan muuttamiseksi, järjestelmä, kortti ja laite
JP3894444B2 (ja) * 2003-06-11 2007-03-22 ソニー株式会社 情報処理装置および方法、プログラム記録媒体、並びにプログラム
US7185020B2 (en) * 2003-10-01 2007-02-27 Hewlett-Packard Development Company, L.P. Generating one or more block addresses based on an identifier of a hierarchical data structure
JP4347707B2 (ja) * 2004-01-09 2009-10-21 パナソニック株式会社 情報記録媒体のフォーマット方法および情報記録媒体
TWI300186B (en) * 2004-07-30 2008-08-21 Mediatek Inc Method and apparatus for data recording with pseudo-merge
CN1731527B (zh) * 2004-08-06 2011-11-16 联发科技股份有限公司 虚拟合并的数据记录方法及装置
EP1809121B1 (en) * 2004-11-08 2008-08-27 Unilever Plc Method and apparatus for partially freezing an aqueous mixture
CN101107808B (zh) * 2005-01-24 2011-01-26 松下电器产业株式会社 署名生成装置及署名验证装置
JP2007128448A (ja) * 2005-11-07 2007-05-24 Sony Corp ファイルシステム及びファイル情報処理方法
US7685070B2 (en) * 2006-08-02 2010-03-23 Motorola, Inc. Method and system for using entertainment files as ring tones
KR100816763B1 (ko) * 2007-02-13 2008-03-25 삼성전자주식회사 플래시 메모리 모듈을 주기억장치로 사용하는 전자 시스템및 그것의 부팅 방법
TW200903340A (en) * 2007-07-11 2009-01-16 Hui Lin Structure and method for encrypting digital data memory card
US8977802B2 (en) 2009-11-11 2015-03-10 Panasonic Intellectual Property Management Co., Ltd. Access device, information recording device, controller, real time information recording system, access method, and program
KR101692432B1 (ko) * 2010-12-23 2017-01-17 삼성전자주식회사 불 휘발성 메모리 장치
CN106021217A (zh) * 2016-05-27 2016-10-12 成都索贝数码科技股份有限公司 一种基于fics对象存储的大文件数据的编辑方法与系统
CN108376121B (zh) * 2018-03-01 2021-10-22 曲阜师范大学 一种Flash存储器的数据存储方法
FR3090254B1 (fr) * 2018-12-12 2022-12-16 Idemia France Accès sécurise à des données chiffrées d’un terminal utilisateur

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
KR0182939B1 (ko) 1995-06-28 1999-04-15 김광호 특정 기록포멧을 갖는 아이씨 카드 메모리 및 그로부터의 디지탈음성 기록 및 재생방법
DE69634850T2 (de) 1995-10-09 2006-05-18 Matsushita Electric Industrial Co., Ltd., Kadoma Informationsaufzeichnungsträger, informationswiedergabegerät und informationswiedergabeverfahren
WO1997032253A1 (en) * 1996-02-29 1997-09-04 Hitachi, Ltd. Semiconductor memory device having faulty cells
US5787445A (en) 1996-03-07 1998-07-28 Norris Communications Corporation Operating system including improved file management for use in devices utilizing flash memory as main memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100877448B1 (ko) * 2004-04-20 2009-01-09 파나소닉 주식회사 비휘발성 기억 시스템
KR101102754B1 (ko) * 2005-02-28 2012-01-05 삼성전자주식회사 낸드 플래시 메모리 파일 시스템 및 낸드 플래시 메모리 시스템에서 파일 엑세스 방법

Also Published As

Publication number Publication date
CN1171151C (zh) 2004-10-13
MY117211A (en) 2004-05-31
JP2001075869A (ja) 2001-03-23
JP4135049B2 (ja) 2008-08-20
CN1268848A (zh) 2000-10-04
US6212097B1 (en) 2001-04-03
KR100617892B1 (ko) 2006-09-08

Similar Documents

Publication Publication Date Title
KR100617892B1 (ko) 비휘발성 메모리
KR100602402B1 (ko) 비휘발성 메모리 및 비휘발성 메모리 재생 장치
KR100714665B1 (ko) 데이터 통신 시스템 및 데이터 관리 방법
US7634493B2 (en) Editing apparatus and editing method
KR100712377B1 (ko) 재생 장치 및 재생 방법
JP4543554B2 (ja) データ処理装置およびデータ処理方法
KR100717977B1 (ko) 재생 장치 및 재생 방법
KR100838901B1 (ko) 재생 장치 및 재생 방법
KR100699189B1 (ko) 비휘발성 기록 매체, 기록 방법, 및 기록 장치
JP4524921B2 (ja) 記録装置、記録方法、再生装置および再生方法
US7519277B2 (en) Editing apparatus and editing method
EP1041574B1 (en) Nonvolatile memory
EP1041576B1 (en) Non-volatile record medium, recording medium, and recording apparatus
EP1033665A2 (en) Data communication system and data managing method
EP1927989B1 (en) Editing apparatus and editing method

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120813

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130819

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140818

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee