KR20040016968A - 기록장치, 기록매체, 기록방법 및 관련 컴퓨터 프로그램 - Google Patents

기록장치, 기록매체, 기록방법 및 관련 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20040016968A
KR20040016968A KR10-2004-7000075A KR20047000075A KR20040016968A KR 20040016968 A KR20040016968 A KR 20040016968A KR 20047000075 A KR20047000075 A KR 20047000075A KR 20040016968 A KR20040016968 A KR 20040016968A
Authority
KR
South Korea
Prior art keywords
file
area
flag
key
entry
Prior art date
Application number
KR10-2004-7000075A
Other languages
English (en)
Other versions
KR100859922B1 (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 KR20040016968A publication Critical patent/KR20040016968A/ko
Application granted granted Critical
Publication of KR100859922B1 publication Critical patent/KR100859922B1/ko

Links

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
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 복수의 EPUBxxx.KEY 파일이 기록된 SD 메모리 카드용 기록장치를 제공한다. 이 복수의 EPUBxxx.KEY 파일은 각각 복수의 Key&Rule Entry 영역을 가지며, 데이터를 기입하기에 앞서 기록매체로부터 SD_EPUB.MMG 파일이 판독된다. SD_EPUB.MMG에서의 비트맵은 각각의 EPUBxxx.KEY 파일에 대해, 미사용인 Key&Rule Entry 영역이 하나 이상 있는지 또는 모든 Key&Rule Entry 영역이 사용중인지의 여부를 나타낸다. 판독된 SD_EPUB.MMG 파일에서의 비트맵에 기초하여, 기록장치는 미사용 Key&Rule Entry 영역을 갖는 EPUB#u.KEY를 오픈하고, 파일내의 미사용 Key&Rule Entry 영역에 데이터를 기입한다. 데이터를 기입한 결과 EPUB#u.KEY에서의 모든 Key&Rule Entry 영역이 사용중으로 되면, 기록장치는 SD_EPUB.MMG에서의 비트맵을 갱신한다.

Description

기록장치, 기록매체, 기록방법 및 관련 컴퓨터 프로그램{RECORDING APPARATUS, MEDIUM, METHOD, AND RELATED COMPUTER PROGRAM}
시큐어 디지털(SD) 메모리 카드는 콘텐츠 분배 서비스에 의해 분배되는 콘텐츠, 시큐어 데이터 등을 기록하기 위해 이용되는 기록매체이다. SD 메모리 카드는, 이러한 용도외에, 높은 기밀성을 가지고 분배된 시큐어 데이터를 저장해 두는 것이 가능하며, 이러한 높은 기밀성에 의해, 콘텐츠 분배 서비스의 제공자는 SD 메모리 카드에 대하여 강한 신뢰를 하게 된다. 이러한 높은 기밀성을 제공할 수 있는 SD 메모리 카드의 구조에 대하여 간단하게 설명한다. SD 메모리 카드는 (ⅰ)콘텐츠가 암호화한 상태 그대로 기록되는 사용자 데이터 영역과, (ⅱ)콘텐츠에 대응하는 시큐어 데이터가 기록되는 보호 영역을 포함한다. 사용자 데이터 영역은 SD 메모리 카드가 접속되는 기기에 의해 자유롭게 엑세스할 수 있는 영역이다. 이에 대하여, 보호 영역은 SD 메모리 카드와 기기와의 상호인증이 이루어질 때만 엑세스가 가능한 영역이다. 분배 콘텐츠를 관리하기 위해 콘텐츠 분배 서비스 제공자에의해 라이센스가 제공되는 기기는 상호인증 처리를 클리어할 수 있게 되지만, 인증되지 않은 기기에 의한 엑세스는 상호인증 단계에서 거절될 것이다. 이에 의하여, 시큐어 데이터의 기밀성이 유지된다.
보호 영역을 엑세스하기 위해서는 상호인증이 필요하지만, 보호 영역은 반도체 메모리 카드상의 다른 어떤 영역과 마찬가지로 파일 시스템을 이용하여 관리된다. 종래의 파일 할당 테이블(FAT) 파일 시스템에 의하면, 단일 파일은 "클러스터"로 알려진 단위로 관리된다. 시큐어 데이터는 높은 기밀성을 갖지만, 단일 클러스터의 사이즈에 비해 1/100 이하인 16바이트 또는 64바이트의 작은 사이즈를 갖는 경향이 있다. 사이즈가 크게 차이나기 때문에, 1개의 시큐어 데이터가 단일 파일에 저장될 때 저장공간이 매우 비효율적으로 이용된다.
이러한 문제점은 복수의 시큐어 데이터를 단일 파일에 함께 저장함으로써 해결될 수 있다. 그러나 복수의 시큐어 데이터를 단일 파일에 저장하는 것은, 결국 "프레그멘테이션"(fragmentation)(즉, 사용 영역들간의 조각조각 흩어진 미사용 영역들)이 생기는 문제를 발생시키게 된다.
분배 콘텐츠를 기록하기 위하여 SD 메모리 카드가 장시간 동안 사용되는 경우, SD 메모리 카드상에는 많은 양의 시큐어 데이터가 축적된다. 이에 대응하여 시큐어 데이터를 수록하기 위한 SD 메모리 카드상의 파일의 수도 증가할 수 있다. 한편, 시큐어 데이터는 대응하는 콘텐츠가 쓸모 없어지면 삭제된다. SD 메모리 카드의 저장용량은 제한되는 경우가 많기 때문에, 신규한 콘텐츠에 대응하는 시큐어 데이터는 삭제에 의해 생긴 미사용 영역에 기록하는 것이 바람직하다. 그러나 미사용 영역은 복수의 파일 전체에 흩어져 있기 때문에, 복수의 시큐어 데이터를 단일 파일에 기록하는 경우, 어느 파일에 시큐어 데이터를 기록할 수 있는 미사용 영역이 있는지를 결정하기 위한 검색이 필요하게 된다. 또한 보호 영역에 있는 파일을 엑세스하기 위하여 SD 메모리 카드와 기기간의 상호인증이 필요하며, 이러한 상호인증은 파일 엑세스를 완료할 때까지 요구되는 시간을 연장시키는 오버헤드 처리가 된다. 이 오버헤드는 각각의 파일을 오픈할 때마다 생기기 때문에, 미사용 영역이 있는 파일을 검색하는데 많은 시간이 낭비되고, 따라서 데이터의 기입을 완료하기 위해서는 장시간이 필요하게 된다.
본 발명은 암호키, 권리관리정보, 과금정보 등의 시큐어 데이터(secure data)를 SD 메모리 카드 등의 기록매체에 기입하는 기록장치, 기록매체, 기록방법 및 관련 컴퓨터 프로그램에 관한 것이다.
도 1의 (A)는 본 발명의 제 1 실시예에 따른 SD 메모리 카드(100)의 외형을 나타내는 도면.
도 1의 (B)는 SD 메모리 카드(100)의 계층구조를 나타내는 도면.
도 1의 (C)는 SD 메모리 카드(100)의 물리층을 나타내는 도면.
도 2는 SD 메모리 카드의 사용자 데이터 영역 및 보호 영역의 파일 및 디렉토리를 나타내는 도면.
도 3은 EPUBxxx.KEY 파일의 내부 구조를 나타내는 도면.
도 4는 보호 영역에 있는 복수의 Key&Rule Entry 영역과 사용자 데이터 영역에 있는 복수의 콘텐츠간의 대응관계를 나타내는 도면.
도 5는 EPUBxxx.KEY 파일내의 비트맵의 예를 나타내는 도면.
도 6은 복수의 EPUBxxx.KEY 파일에 대한 비트맵의 구체적인 설정예를 나타내는 도면.
도 7은 도 6과 같이 EPUB005.KEY내의 Key&Rule Entry 영역이 설정되어 있는 경우 EPUB005.KEY 파일에 대한 비트맵의 구체적인 설정예를 나타내는 도면.
도 8은 SD_EPUB.MMG 파일내의 비트맵을 나타내는 도면.
도 9는 도 6과 같이 EPUBxxx.KEY 파일내의 Key&Rule Entry 영역이 설정되어 있는 경우 SD_EPUB.MMG내의 비트맵의 구체적인 설정예를 나타내는 도면.
도 10은 EPUB005.KEY 파일내의 Key&Rule Entry 영역이 콘텐츠(Content001)에 대응할 때 변환 테이블 저장파일의 설정을 나타내는 도면.
도 11의 (A)는 본 발명의 제 2 실시예에 따른 단일 클러스터로 각각 이루어지는 SD_EPUB.MMG 및 EPUB001.KEY ∼ EPUB005.KEY를 나타내는 도면.
도 11의 (B)는 소거가능한 블록과 하나 이상의 클러스터간의 관계를 나타내는 도면.
도 11의 (C)는 x=1인 경우의 소거가능한 블록과 클러스터간의 관계를 나타내는 도면.
도 11의 (D)는 x=16인 경우의 소거가능한 블록과 클러스터간의 관계를 나타내는 도면.
도 12의 (A)는 본 발명의 제 3 실시예에 따른 보호 영역의 상세한 구조를 나타내는 도면.
도 12의 (B)는 s개의 소거가능한 블록에 포함되는 총 s개의 클럭스터 중 y개의 클러스터가, 볼륨관리정보를 저장하도록 할당되어 있는 예를 나타내는 도면.
도 12의 (C)는 x=1인 경우의 볼륨관리정보를 저장하기 위한 클러스터의 할당을 나타내는 도면.
도 12의 (D)는 x=16인 경우의 볼륨관리정보를 저장하기 위한 클러스터의 할당을 나타내는 도면.
도 13은 사이즈 조정을 행한 후의 보호 영역의 레이아웃을 상세하게 나타내는 도면.
도 14의 (A)는 범용의 오디오 기기로서의 기록장치를 나타내는 도면.
도 14의 (B)는 컴퓨터 등의 정보기기로서의 기록장치를 나타내는 도면.
도 15는 본 발명의 제 4 실시예에 따른 기록장치의 내부 구조를 나타내는 도면.
도 16은 기입처리동작을 나타내는 흐름도.
도 17은 재생처리동작을 나타내는 흐름도.
도 18은 삭제처리동작을 나타내는 흐름도.
미사용 영역이 복수의 파일 전체에 흩어지게 되는 것은, 미사용 영역을 하나로 모으는 "조각 모음"을 수행함으로써 해소될 수 있다. 그러나 이와 같은 조각모음에는 파일의 판독 및 기록을 많이 행해야 한다. SD 메모리 카드 등의 반도체 메모리 카드는 플래시 메모리를 포함하고 있는데, 플래시 메모리에 재기입할 수 있는 회수는 수만번으로 제한되어 있다. 따라서, 한두개의 미사용 영역 때문에 조각 모음을 수행한다는 것은 SD 메모리 카드의 수명을 단축시키게 된다. 조각 모음을 수행하지 않는다면, 기입을 위해서 복수의 파일에 흩어져 있는 미사용 영역을 선택하여야만 한다.
본 발명은 시큐어 데이터를 복수의 파일 전체에 흩어져 있는 미사용 영역에 고속으로 기입할 수 있는 기록장치를 제공하는 것을 목적으로 한다.
이러한 본 발명의 목적은 복수의 엔트리 영역을 각각 갖는 복수의 파일이 기록된 기록매체용의 기록장치에 의해 달성된다. 이 기록장치는 각각의 파일에 대해, 미사용인 엔트리 영역이 하나 이상인 제 1 상태인지 또는 모든 엔트리 영역이 사용중인 제 2 상태인지를 나타내는 상태 정보를 기록매체로부터 판독하는 판독부와; 판독된 상태 정보를 참조함으로써 제 1 상태에 있는 파일을 파일을 특정하고, 이 특정된 파일의 미사용 엔트리 영역에 데이터를 기입하는 기입부와; 기입부에 의한 데이터의 기입의 결과로서 특정된 파일에 있는 엔트리 영역이 모두 사용중이라면 특정된 파일이 제 2 상태로 되었다는 것을 나타내기 위하여 상태 정보를 갱신하는 갱신부를 구비한다.
이러한 구성에 의하면, 복수의 파일이 미사용 엔트리 영역을 포함하는 것을 나타내는 상태 정보가 제공된다. 따라서, 미사용 영역이 복수의 파일 전체에 흩어져 있더라도, 상태 정보를 참조하여 미사용 영역을 갖는 파일을 신속하게 판정할 수 있게 된다. 총 2회의 파일 엑세스 동작(즉, 한번은 상태 정보를 오픈하고, 다시 한번은 미사용 영역을 갖는 파일을 오픈하는 동작)이 요구되기 때문에, 기록장치는 미사용 영역을 갖는 파일을 찾기 위해 복수의 파일 전체를 검색하여 오픈할 필요가 없으므로, 새로운 콘텐츠를 기입하는데 필요한 시간을 단축시키는 것이 가능하게 된다.
여기서, 기록장치는 기입부가 판독한 상태 정보를 참조한 결과 기록매체 중의 전체 파일이 제 2 상태인 것으로 판정된 경우 제 1 상태인 파일을 새롭게 생성하는 생성부를 추가로 구비할 수 있다.
이러한 구성에 의하면, 기존의 파일에 있는 모든 미사용 엔트리 영역이 기입된 이후 기록장치에 의해 새로운 파일이 생성되기 때문에, 새로운 파일을 반드시 생성할 필요가 없게 된다. 파일의 개수가 최소로 되기 때문에, 기록매체상에 기록된 데이터는 장시간에 걸쳐 효율적으로 구성될 수 있게 된다. 기록매체가 SD 메모리 카드인 경우, 보호 영역은 SD 메모리 카드의 전체 영역 중 비교적 작은 영역이 되는 경우가 많다. 구체적으로 말해서, SD 메모리 카드의 전체 영역의 1%가 보호 영역으로 할당된다. 이와 같이, 보호 영역에 있는 파일의 개수가 제한된다. 그러나 상술한 기록장치에 의하면 파일의 개수를 최소화하기 때문에 보호 영역은 매우 효율적으로 이용될 수 있게 된다.
(제 1 실시예)
본 발명의 제 1 실시예에 따른 기록매체에 대하여 도면을 참조하여 설명한다. 본 발명의 기록매체는 SD 메모리 카드이다. SD 메모리 카드는 시큐어 데이터를 높은 기밀성을 가지고 저장하는 것이 가능하기 때문에 본 발명의 특징을 설명하는데 적합하다.
도 1의 (A)는 SD 메모리 카드(100)의 외관을 나타내고 있다. 이 SD 메모리카드(100)는 길이가 32.0mm, 폭이 24.0mm, 두께가 2.1mm이다. 이 SD 메모리 카드(100)는 우표 크기이기 때문에 취급이 용이하다. SD 메모리 카드(100)상에는 기기와의 접속을 위한 9개의 커넥터가 제공되고, SD 메모리 카드(100)의 측면상에는 사용자가 저장된 콘텐츠의 재기입 허가 또는 금지 여부를 수동으로 설정할 수 있는 보호 스위치(101)가 제공되어 있다.
도 1의 (B)는 SD 메모리 카드(100)의 계층구조를 나타내고 있다. 도 1의 (B)에 도시된 바와 같이, SD 메모리 카드(100)는 (ⅰ)콘텐츠를, 이 콘텐츠에 대응하는 암호화키 및 권리관리정보와 함께 안전하게 저장하는 물리층과, (ⅱ)파일 할당 테이블(FAT, ISO/IEC 9293)에 기초하여, 클러스터를 최소 단위로 하여 엑세스할 수 있는 파일 시스템층과, (ⅲ)저작물을 포함하는 암호화 콘텐츠를 시큐어 데이터와 함께 저장하는 응용층을 포함하고 있다.
도 1의 (C)는 SD 메모리 카드(100)의 물리층의 구성을 나타낸다. 도 1의 (C)에 도시되어 있는 바와 같이, 물리층은 시스템 영역(1), 히든 영역(hidden area; 2), 보호 영역(3), AKE 처리부(4), AKE 처리부(5), Ks 해독부(6), Ks 암호화부(7), 사용자 데이터 영역(8)을 포함한다.
시스템 영역(1)은 매체 키 블록(Media Key Block: MKB)과 매체 ID를 기억하는 판독전용 영역으로서, 여기서 MKB와 매체 ID는 모두 재기입이 불가능하다. SD 메모리 카드(100)가 접속되는 기기는, MKB와 매체 ID를 판독하고 판독한 MKB와 매체 ID를 기기에 속하는 디바이스키 Kd와 조합하여 소정의 연산을 정확하게 수행함으로써 암호화 키 Kmu를 획득하는 것이 가능하다.
히든 영역(2)은 기기가 판독한 MKB, 매체 ID 및 기준에 맞는 디바이스키 Kd를 이용하여 소정의 연산을 정확하게 수행하는 경우 기기에 의해 획득된 정당한 암호화키 Kmu를 저장하고 있다.
보호 영역(3)은 SD 메모리 카드(100)내의 불휘발성 메모리(예컨대, EEPROM)의 일부 영역으로서, 암호화키, 권리관리정보 등의 시큐어 데이터를 저장하고 있다.
인증 및 키 교환(Authentication&Key Exchange:AKE) 처리부(4, 5)는 SD 메모리 카드(100)와 기기간의 상호인증을 행하기 위해 기기와 SD 메모리 카드(100)간의 "시도-응답"(challenge-response)형의 상호인증을 수행한다. 상호인증이 실패하면 처리를 중단하고, 상호인증이 성공하면 SD 메모리 카드(100)와 기기 사이에서 암호화키(즉, 세션키 Ks)를 공유한다.
기기에 의해 수행되는 인증은 3개의 단계, 즉 제 1 시도 단계, 제 1 응답 단계 및 제 1 검증 단계로 구성된다. 제 1 시도 단계에서는, 기기측에서 난수를 생성하고 이 생성된 난수를 획득한 암호화키 Kmu를 이용하여 암호화하며 이 암호화된 난수를 시도값 A로 하여 SD 메모리 카드(100)에 전송한다. 제 1 응답 단계에서는, SD 메모리 카드(100)가 히든 영역(2)에 저장된 암호화키 Kmu를 이용하여 시도값 A를 해독하고 그 결과를 응답값 B로 하여 기기에 전송한다. 제 1 검증 단계에서는, 기기가 자신의 암호화키 Kmu를 이용하여 시도값 A를 해독하고 이 해독한 결과를 SD 메모리 카드(100)로부터 전송된 응답값 B와 비교한다.
SD 메모리 카드(100)에 의해 수행되는 인증은 3개의 단계, 즉 제 2 시도 단계, 제 2 응답 단계 및 제 2 검증 단계로 구성된다. 제 2 시도 단계에서는 SD 메모리 카드(100)가 난수를 생성하고, 이 생성된 난수를 히든 영역(2)에 저장된 암호화키 Kmu를 이용하여 암호화하며, 이 암호화된 난수를 시도값 C로 하여 기기에 전송한다. 제 2 응답 단계에서는 기기가 자신의 암호화키 Kmu를 이용하여 시도값 C를 해독하고 그 결과를 응답값 D로 하여 SD 메모리 카드(100)에 전송한다. 제 2 검증 단계에서는 SD 메모리 카드(100)가 자신의 암호화키 Kmu를 이용하여 시도값 C를 해독하고, 이 해독한 결과값을 기기로부터 전송된 응답값 D과 비교한다.
기기가 정당하지 않은 암호화키 Kmu를 이용하여 상호인증 처리를 수행하는 경우, 시도값은 그에 대응하는 각각의 응답값과 일치하지 않을 것이고, 상호인증 처리가 중단될 것이다. 한편, 상호인증 처리가 확인되면, AKE 처리부(4, 5)는 시도값 A와 C를 이용하여 배타적논리곱(XOR) 연산을 수행하고 그 결과를 암호화키 Kmu를 이용하여 암호화함으로써 세션키 Ks를 획득할 수 있게 된다.
SD 메모리 카드(100)가 접속된 기기로부터 SD 메모리 카드(100)로 암호화된 데이터가 전송되면, Ks 해독부(6)는 암호화된 데이터가 세션키 Ks를 이용하여 암호화된 시큐어 데이터라고 가정하고, 세션키 Ks를 이용하여 암호화된 데이터를 해독한다. Ks 해독부(6)는 해독처리의 결과로서 획득된 시큐어 데이터가 기준에 맞는 정당한 것이라고 가정하고 해독된 시큐어 데이터를 보호 영역에 기입한다.
시큐어 데이터를 판독하기 위한 명령이 SD 메모리 카드(100)에 접속된 기기로부터 SD 메모리 카드(100)로 출력되면, Ks 암호화부(7)는 세션키 Ks를 이용하여 보호 영역에 저장된 시큐어 데이터를 암호화하고, 이 암호화된 시큐어 데이터를 명령을 내린 기기로 출력하게 된다.
사용자 데이터 영역(8)은 보호 영역(3)과 마찬가지로 불휘발성 메모리(예컨대, EEPROM)의 일부 영역이다. 그러나 보호 영역(3)과 달리, 기기가 사용자 데이터 영역(8)을 엑세스하기 위한 상호인증은 필요하지 않다. 사용자 데이터 영역(8)에는 암호화된 콘텐츠가 저장된다. 보호 영역(3)으로부터 판독한 암호화키가 기준에 맞는 정당한 것이라면, 사용자 데이터 영역(8)에 저장된 암호화된 콘텐츠를 해독하는데 이용될 수 있다. 보호 영역(3)에 있는 데이터를 판독/기입하는 것은 Ks 암호화부(7)에 의한 암호화와 Ks 해독부(6)에 의한 해독에 따르기 때문에, 보호 영역(3)은 SD 메모리 카드(100)가 접속된 기기가 AKE 처리를 정확하게 수행하는 경우에만 기준에 맞게 엑세스할 수 있다.
다음으로, 본 발명의 제 1 실시예에 따른 SD 메모리 카드에 있는 파일과 디렉토리의 구성을 설명한다.
도 2는 SD 메모리 카드의 사용자 데이터 영역과 보호 영역에 있는 파일과 디렉토리를 나타낸다. 제 1 실시예의 SD 메모리 카드는 콘텐츠 분배 서비스에 의해 분배된 콘텐츠를 기록하는데 이용된다. 여기에서 분배된 콘텐츠는 전자 출판물인 것으로 한다. 도 2의 "SD_EPUB"는 SD 메모리 카드상에 기록되는 콘텐츠가 전자 출판물이라는 것을 나타낸다. 이러한 전자 출판물로는 일간지나 주간지 등이 가능하다. 이러한 전자 출판물로 새로운 콘텐츠가 매일 또는 매주 분배되므로, 음악과 같은 콘텐츠에 비해 폐기대상이 되는 속도가 매우 빠르다. 또 출판물을 분배하기 위하여, 출판물은 상이한 암호화키를 이용하여 기사마다, 섹션마다, 단편기사마다또는 페이지마다 암호화되어야 하거나, 이들 암호화된 부분의 각각이 개별 암호화 콘텐츠로서 취급되는 경우가 많다. 각각의 기사, 섹션, 단편기사 또는 페이지가 개별 콘텐츠로서 취급되는 경우, 한번에 분배된 콘텐츠의 개수는 30∼40개가 되어야 한다. 이것은 SD 메모리 카드가 저장을 위해 필요로 하는 콘텐츠의 개수가 매우 많을 것이라는 것을 의미한다. 이와 같이, 제 1 실시예에 따른 SD 메모리 카드에 대해, 폐기 대상이 되는 콘텐츠를 삭제하고 새로운 콘텐츠를 기입하는 것이 매우 빈번하게 수행될 것이다.
다음으로, 보호 영역과 사용자 데이터 영역에 있는 파일과 디렉토리의 구성에 대하여 상세하게 설명한다. 도 2의 우측에 도시된 것과 같이, 보호 영역에 있는 디렉토리는 최상단에 루트 디렉토리가 있고, 그 아래에 SD_EPUB 디렉토리가 있는 구성을 가지며, SD_EPUB 디렉토리에는 마스터 관리 파일 "SD_EPUB.MMG"와 복수의 시큐어 데이터 저장 파일 "EPUB001.KEY", "EPUB002.KEY", "EPUB003.KEY", "EPUB004.KEY", "EPUB 005.KEY"가 있다. 사용자 데이터 영역에 있는 디렉토리의 구성은 도 2의 좌측에 도시되어 있다. 복수의 암호화된 콘텐츠 저장 파일 "Content001", "Content002", "Content003", "Content004"는 사용자 데이터 영역에 있는 SD_EPUB 디렉토리에 있으며, 복수의 암호화된 콘텐츠 저장 파일 "Content005", "Content006", "Content007"은 SD_EPUB 디렉토리의 아래에 있는 서브디렉토리에 있다.
이하 시큐어 데이터 저장 파일에 대하여 설명한다. 시큐어 데이터 저장 파일의 파일명은 "EPUB001.KEY", "EPUB002.KEY", "EPUB003.KEY", "EPUB004.KEY","EPUB005.KEY"이다. 파일명에 있는 일련번호 "001", "002", "003" 등은 보호 영역에 있는 각 파일을 명확하게 식별하기 위한 파일번호이다.
이하의 설명에서, "EPUBxxx.KEY"는 파일번호 "xxx"로 식별되는 일반적인 시큐어 데이터 저장 파일을 참조하는데 이용된다. 파일번호 "001", "002", "003" 등으로 식별된 EPUBxxx.KEY 파일은 파일번호가 포함된 파일명 "EPUB001.KEY", "EPUB002.KEY", "EPUB003.KEY" 등을 이용하여 참조될 것이다.
도 3은 EPUBxxx.KEY의 내부 구성을 나타낸다. 도 3에 도시된 바와 같이, EPUBxxx.KEY는 n개의 Key&Rule Entry 영역과 n비트의 비트맵을 포함한다.
복수의 Key&Rule Entry 영역(즉, #1, #2, #3, #4 등)은 사용자 데이터 영역에 기록된 복수의 암호화 콘텐츠에 일대일로 할당되어 있으며, 대응하는 콘텐츠에 각각 관련되는 암호화키와 권리관리정보 등의 시큐어 데이터가 기입되는 일정 길이의 영역이다. 권리관리정보도 이용 조건으로서 참조된다. 예를 들어, 권리관리정보는 콘텐츠의 이용 조건을 나타냄으로써 콘텐츠에 관련되는 저작권을 관리하는데 사용된다. 본 발명의 제 1 실시예에 따른 콘텐츠는 전자 출판물을 예로 들었기 때문에, 여기서의 "이용"에는 출판물의 재생 및 복제가 포함된다. 암호화키는 재생할 콘텐츠를 해독하는데 이용되는 정보이다. 콘텐츠의 저작권을 효율적으로 관리하기 위해서는, 암호화키와 권리관리정보가 반드시 높은 수준의 기밀성을 갖고 저장되어 야 하기 때문에 Key&Rule Entry 영역에 암호화된 형태로 기록된다. 암호화 처리를 용이하게 하기 위하여, 암호화키와 권리관리정보의 각각의 조합이 반드시 일정한 길이(예컨대, 16바이트, 32바이트, 64바이트)를 가져야 하며, 이 길이는 이용되는 암호화 방법에 의해 결정된다. 이 조합된 길이는 일정하기 때문에, 각 Key&Rule Entry 영역의 길이도 일정해야 한다.
도 3에 있는 번호(즉, #1, #2, #3 등)는 EPUBxxx.KEY에서의 Key&Rule Entry 영역의 로컬번호이다. 도 4는 복수의 Key&Rule Entry 영역과 사용자 데이터 영역에서의 복수의 콘텐츠간의 대응관계를 나타낸다. 도 4에 있어서, 화살표 AK1∼AK7은 Key&Rule Entry 영역에 대응하는 콘텐츠를 나타낸다. 다시 말해서, 이 화살표들은 Key&Rule Entry #1에 저장된 시큐어 데이터에 대응하는 콘텐츠번호 Content001(화살표 AK1), Key&Rule Entry #2에 저장된 시큐어 데이터에 대응하는 Content002(화살표 AK2), Key&Rule Entry #3에 저장된 시큐어 데이터에 대응하는 Content003(화살표 AK3) 등을 나타낸다. 이상 설명한 바와 같이, 제 1 실시예의 SD 메모리 카드는 분배된 전자 출판물을 기록하는데 이용되기 때문에 콘텐츠가 매우 빈번하게 삭제된다. 그 결과, 콘텐츠에 대응하는 Key&Rule Entry 영역은 "사용중"으로부터 "미사용"으로 일정하게 진행한다.
EPUBxxx.KEY에 있는 n비트의 비트맵은 Key&Rule Entry 영역의 관리를 용이하게 하기 위한 정보이며, n개의 Key&Rule Entry 영역과 일대일로 대응하는 n개의 1비트 플래그로 구성되어 있다. 도 5는 EPUBxxx.KEY에 있는 비트맵의 예를 나타낸다. 도 5에 있어서, n비트 비트맵에서 선두로부터 v번째 비트의 플래그(1vn)는 EPUBxxx.KEY에 있는 v번째 Key&Rule Entry 영역의 상태를 나타낸다. v번째 Key&Rule Entry 영역은 로컬번호 "v"에 의해 식별되며, 이를 Key&Rule Entry#v라 한다. v번째 비트 플래그가 "1"이면, Key&Rule Entry #v에 시큐어 데이터가 기입되어 있다는 것을 나타내고 이것은 "사용중"이 된다. v번째 비트 플래그가 "0"이면, Key&Rule Entry #v에 시큐어 데이터가 기입되어 있지 않다(즉, 데이터가 아직 기입되지 않았거나 삭제되었다)는 것을 나타내고 이것은 "미사용", 즉 "비어 있는" 것이 된다. 따라서, n비트의 비트맵의 선두에서 가장 가까운 위치에 있는 "0" 플래그를 삭제하고, 이 플래그를 v번째 비트로서 지정하며, 시큐어 데이터를 Key&Rule Entry#v에 기입함으로써, 복수의 파일 전체에 흩어진 비어 있는 영역을 채우는 방식으로 시큐어 데이터가 기입된다.
EPUBxxx.KEY에 n비트 비트맵을 설정하는 예를 상세하게 설명한다. 이 비트맵의 설정예가 도 6에 도시되어 있다. 이 예에서는 보호 영역에 5개의 파일(즉, EPUB001.KEY ∼ EPUPB005.KEY)이 저장되어 있다. 도 6에서 사선으로 그어진 해칭부분은 Key&Rule Entry 영역이 현재 사용중이라는 것을 나타내며, 공백부분은 Key&Rule Entry 영역이 현재 사용중이 아니라는 것을 나타낸다. 도 6에 도시된 바와 같이, EPUB001.KEY ∼ EPUPB004.KEY에 있는 Key&Rule Entry 영역은 모두 사용중이다. EPUB005.KEY에 있어서, 모든 Key&Rule Entry 영역은 3번째와 5번째(즉, Key&Rule Entry #3, Key&Rule Entry #5)를 제외하고는 모두 사용중이다.
도 7은 도 6과 같이 EPUB005.KEY에 Key&Rule Entry 영역이 설정되어 있는 경우 EPUB005.KEY에서의 비트맵의 설정을 나타낸다.
EPUB005.KEY내의 Key&Rule Entry #3과 Key&Rule Entry #5는 현재 미사용이기 때문에, EPUB005.KEY의 n비트 비트맵에서의 3번째 비트와 5번째 비트의 플래그는 모두 "0"이다. 도 7에 도시된 비트맵을 갖는 EPUB005.KEY에 시큐어 데이터를 기입하는 경우, 비트맵의 선두에서 가장 가까이에 위치한 "0" 플래그로서 비트맵의 3번째 비트가 검색되어, 이 3번째 비트의 플래그에 대응하는 Key&Rule Entry #3에 시큐어 데이터가 기입될 것이다. 이상으로 EPUBxxx.KEY 파일에 대한 설명을 마치고 SD_EPUB.MMG 파일에 대하여 설명한다.
SD_EPUB.MMG는 마스터 관리 파일이며 m개의 1비트 플래그로 구성되는 비트맵을 포함한다. 비트의 개수 m은 보호 영역에 저장된 EPUBxxx.KEY 파일의 총 개수에 대응한다. 도 8은 SD_EPUB.MMG내의 비트맵을 나타낸다. 도 8에서, 비트맵의 선두로부터 u번째 비트의 플래그는 해칭되어 있다. u번째 비트의 플래그(1um)는 복수의 EPUBxxx.KEY 중에서 u번째 파일의 상태를 나타낸다. u번째 파일은 파일번호 "u"에 의해 식별된 EPUBxxx.KEY 파일, 즉 EPUB#u.KEY이다. 도 8에서 2개의 화살표 ty1, ty2는 u번째 비트의 플래그에 대한 2개의 가능한 값(즉, "0" 또는 "1")을 나타낸다. SD_EPUB.MMG의 m비트 비트맵에서의 u번째 비트 플래그가 "1"이라면(화살표 ty1), EPUB#u.KEY에 있는 Key&Rule Entry 영역이 현재 모두 사용중이라는 것을 나타낸다. 한편, SD_EPUB.MMG의 m비트 비트맵에서의 u번째 비트 플래그가 "0"이라면(화살표 ty2), (ⅰ)EPUB#u.KEY 파일이 적어도 하나의 미사용 Key&Rule Entry 영역을 가지거나, (ⅱ)EPUB#u.KEY 파일 자체가 존재하지 않는다는 것을 나타낸다.
따라서 SD_EPUB.MMG 비트맵의 선두에 가장 가까이에 위치한 "0" 플래그를 검색하고, 이 플래그를 u번째 비트로서 지정하며, u번째 비트에 대응하는 EPUB#u.KEY에 시큐어 데이터를 기입함으로써, EPUBxxx.KEY 파일에 있는 미사용 영역이 파일번호의 오름차순으로 채워지게 될 것이다.
이상 설명한 바와 같이, SD_EPUB.MMG 비트맵에서의 u번째 비트맵이 "0"이면, 2가지 상태, 즉 (ⅰ)EPUB#u.KEY가 적어도 하나의 미사용 Key&Rule Entry 영역을 갖거나, (ⅱ)EPUB#u.KEY 자체가 존재하지 않는 상태가 가능하다. 그러나 이들 2가지 상태를 어떻게 구분하여 적용할 것인가가 문제이다.
이 문제는 EPUB#u.KEY가 위치하는 디렉토리의 디렉토리 엔트리를 참조함으로써 용이하게 해결된다. EPUB#u.KEY가 존재한다면, 디렉토리 엔트리에서 파일번호 "u"에 의해 식별된 파일명 "EPUB#u.KEY"를 찾는 것으로 예상할 수 있다. 이 파일명이 존재한다면, u번째 비트의 "0" 플래그는 EPUB#u.KEY가 적어도 하나의 미사용 Key&Rule Entry 영역을 갖는다는 것을 나타낸다. 이와 반대로, 이 파일명이 디렉토리 엔트리에 존재하지 않는다면, u번째 비트의 "0" 플래그는 EPUB#u.KEY 자체가 존재하지 않는다는 것을 나타낸다. 이러한 방식으로, u번째 비트의 "0" 플래그에 의해 제시되는 2가지 가능한 상태가 파일명 "EPUB#u.KEY"에 대한 디렉토리 엔트리를 검색함으로써 명확하게 구분될 수 있다.
SD_EPUB.MMG의 비트맵 설정예에 대하여 상세하게 설명한다. 이 비트맵의 설정예는 도 6의 것과 동일하다. 도 9는 EPUB001.KEY∼EPUB005.KEY가 도 6과 같이 설정되어 있는 경우 SD_EPUB.MMG의 비트맵 설정을 나타낸다. 보호 영역에는 5개의 파일이 저장되어 있기 때문에, 비트맵에서 5번째 비트보다 상위인 비트(즉, 6번째 비트, 7번째 비트, 8번째 비트 등)의 플래그는 모두 "0"이 되는데, 이는 이들 비트에 대응하는 파일(즉, EPUB006.KEY와 상위 파일)이 존재하지 않는다는 것을 나타낸다. 또한 EPUB001.KEY∼EPUB004.KEY에 포함된 Key&Rule Entry 영역은 현재 모두 사용중이기 때문에, SD_EPUB.MMG내의 비트맵에서의 1번째 내지 4번째 비트는 모두 "1"이 된다. EPUB005.KEY의 3번째와 5번째 Key&Rule Entry 영역(즉, Key&Rule Entry#3, #5)이 현재 미사용이기 때문에, EPUB005.KEY에 대응하는 SD_EPUB.MMG 비트맵의 5번째 비트는 "0"으로 되어 있다. 도 9의 하측에 있는 디렉토리 엔트리 설정예로서, EPUB001.KEY ∼ EPUB005.KEY가 제공되어 있다. 이 디렉토리 엔트리에는 EPUB001.KEY ∼ EPUB005.KEY의 파일명과 확장자 뿐만 아니라 시큐어 데이터가 이들 파일에 기입될 때의 일시(날짜/시간)도 포함되어 있다. 파일 EPUB006.KEY 이후의 EPUBxxx.KEY는 존재하지 않기 때문에, 이들 파일에 대응하는 파일명은 디렉토리 엔트리에 나타나 있지 않다. 따라서 디렉토리 엔트리와 SD_EPUB.MMG 비트맵을 참조함으로써, EPUB005.KEY에 현재 미사용인 Key&Rule Entry 영역을 적어도 하나 포함하는지 여부를 신속하게 판정할 수 있게 된다.
SD_EPUB.MMG 비트맵의 선두에서 가장 가까이에 위치한 "0" 플래그를 검색하고, 검색한 플래그를 u번째 비트로 지정하며, u번째 비트에 대응하는 EPUB#u.KEY를 오픈하는 처리를 행함으로써, 적어도 하나의 미사용 Key&Rule Entry 영역을 갖는 EPUB005.KEY를 오픈하기 위해 보호 영역을 한번만 엑세스하면 된다.
그러나 1가지 의문이 남아 있다. 즉 SD_EPUB.MMG 비트맵이 새로운 시큐어 데이터의 기입 이후에 반드시 갱신되어야 한다면, 그 만큼 반도체 메모리 카드의 재기록 회수도 증가하게 되어 반도체 메모리 카드의 수명을 단축시키게 되는 것이 아니냐는 의문이 있게 된다. 확실히, SD 메모리 카드에서는 가능한 재기록 회수가수십만번으로 제한되어 있으며, 신규한 시큐어 데이터를 기록한 이후에 SD_EPUB.MMG 비트맵을 갱신하는 것은 가능한 재기입 회수를 감소시키게 된다. 따라서 SD_EPUB.MMG 비트맵이 갱신을 필요로 하는 실제 회수를 검토하고자 한다.
각 EPUBxxx.KEY 파일내의 Key&Rule Entry 영역의 개수가 10개이면, 예를 들어 SD_EPUB.MMG 비트맵내의 u번째 비트는, EPUB#u.KEY내에 9개의 미사용 Key&Rule Entry 영역이 있는지 또는 EPUB#u.KEY내의 단지 1개의 미사용 Key&Rule Entry 영역이 있는지에 관계없이 "0"의 값으로 유지되는 것이 필요하다. 다시 말해서, SD_EPUB.MMG내의 비트맵은 10개의 Key&Rule Entry 영역이 모두 기입될 때까지 갱신을 필요로 하지 않을 것이다. 따라서 EPUB#u.KEY의 비트맵의 10번 이상의 갱신시마다 SD_EPUB.MMG 비트맵은 단지 1번의 갱신이 필요하다. 마찬가지로, 각각의 EPUBxxx.KEY 파일에 1백개의 Key&Rule Entry 영역이 존재한다면, EPUB#u.KEY의 비트맵의 백번 이상의 갱신시마다 SD_EPUB.MMG 비트맵은 단지 1번의 갱신이 필요하며, 2백개의 Key&Rule Entry 영역이 존재한다면, 2백번 이상의 n비트 비트맵이 갱신될 때마다 한번의 m비트 비트맵이 갱신된다. 그 결과 SD_EPUB.MMG가 배치되는 영역의 수명이 과도하게 단축되지 않는다.
사용자 데이터 영역에 있어서의 변환 테이블 저장 파일에 대하여 상세하게 설명한다. 이 변환 테이블 저장 파일은 어떤 콘텐츠가 어떤 Key&Rule Entry 영역에 대응하는지를 나타낸다. 구체적으로는, 각 콘텐츠의 ID 번호(예컨대, 001, 002 등)와 각 Key&Rule Entry 영역에 대해 산출된 글로벌번호(global number)간의 일대일 대응관계를 나타낸다. Key&Rule Entry 영역의 글로벌번호 "s"는 이하의 수학식1을 이용하여 산출되는데, 여기에서 "u"는 EPUBxxx.KEY 파일의 파일번호이고, "v"는 Key&Rule Entry 영역의 로컬번호이며, "n"은 EPUBxxx.KEY내의 Key&Rule Entry 영역의 개수이다.
s = n ·(u - 1) + v
도 10은 EPUB005.KEY내의 Key&Rule Entry #3(도 6 참조)이 콘텐츠번호 Content001에 대응할 때의 변환 테이블 저장 파일의 설정을 나타낸다. EPUB001.KEY ∼ EPUB005.KEY의 각각에는 10개의 Key&Rule Entry 영역(즉, n=10)이 있기 때문에, n ·(u - 1)은 10 ·(5 - 1) = 43 이 된다(도 10의 ※1 표시 참조). 또 시큐어 데이터는 EPUB005.KEY내의 Key&Rule Entry#3에 기입되기 때문에, 로컬번호 #v는 "3"(즉, v = 3)이 된다.
그러므로 수학식 1은 10 ·(5 - 1) + 3 = 43으로 된다. 즉, Key&Rule Entry#3의 글로벌번호 #s는 "43"인 것으로 산출된다. 여기에서, Content001은 Key&Rule Entry#3에 대응하기 때문에, Content001을 저장하는 디렉토리내의 변환 테이블 저장 파일은 Content001의 ID 번호 "001"이 Key&Rule Entry#3의 글로벌번호 "43"에 대응하는 것으로 나타내도록 설정된다. 따라서 EPUB005.KEY내의 Key&Rule Entry#3은 Content001의 ID 번호 "001"로부터 신속하게 검색할 수 있게 된다. 도 10에 있는 화살표 vy1 ∼ vy4는 EPUBxxx.KEY 파일내의 Key&Rule Entry 영역이 콘텐츠 ID 번호로부터 특정되는 과정을 나타낸다. 도 10의 ※2 표시로 되어 있는 바와 같이, 글로벌번호 "43"(화살표 vy2)으로부터 파일번호 "5"(화살표 vy3)와 로컬번호"3"(화살표 vy4)을 얻게 됨으로써 EPUB005.KEY내의 Key&Rule Entry#3을 엑세스하게 된다.
이상 설명한 제 1 실시예에서, SD_EPUB.MMG내의 m비트 비트맵은 복수의 EPUBxxx.KEY 파일이 미사용의 Key&Rule Entry 영역을 갖는다는 것을 나타낸다. 따라서 SD_EPUB.MMG내의 비트맵을 참조함으로써, 미사용 영역이 복수의 파일 전체에 흩어져 있는 경우라도, "비어 있는" 영역을 갖는 파일이 신속하게 특정될 수 있게 된다. 또한 미사용 Key&Rule Entry 영역을 갖는 EPUB#u.KEY를 특정하기 위하여 단지 2번의 파일 엑세스 동작(즉 한번은 SD_EPUB.MMG를 오픈하고 한번은 EPUB#u.KEY를 오픈하는 동작)이 필요하기 때문에, SD 메모리 카드를 엑세스하는 기기는 EPUB#u.KEY를 특정하기 위해 복수의 EPUBxxx.KEY 파일을 오픈할 필요가 없기 때문에, 신규한 콘텐츠를 기입하는데 필요한 시간을 단축시킬 수 있게 된다.
(제 2 실시예)
제 2 실시예에서는, 단일 파일에 제공되어야 하는 Key&Rule Entry 영역의 수가 정해져 있다. EPUBxxx.KEY 파일의 수("m")와 Key&Rule Entry 영역의 수("n")는 다음 2개의 수학식을 만족시키는 값으로 설정되는데, 여기서 "size"는 Key&Rule Entry 영역의 사이즈이고, "SC"는 클러스터의 사이즈이다.
n ×size + n
m
수학식 2에서, "n ×size"는 n개의 Key&Rule Entry 영역이 EPUBxxx.KEY내에서 점유하는 사이즈이고, "n"은 비트맵이 EPUBxxx.KEY에서 점유하는 사이즈이다. 이들 2개의 값의 합이 클러스터의 사이즈보다 작거나 같아야 한다는 것은 EPUBxxx.KEY가 단일 클러스터로 이루어지는 파일로서 구성된다는 것을 의미한다. 수학식 3에서, "m" 값은 SD_EPUB.MMG내의 비트맵의 사이즈이다. "m"이 클러스터의 사이즈보다 작거나 같아야 한다는 것은 SD_EPUB.MMG가 또한 단일 클러스터로 이루어지는 파일로서 구성된다는 것을 의미한다.
"m"과 "n"이 상기 수학식들을 만족시키도록 설정된다면, 제 1 실시예에서 설명한 SD_EPUB.MMG와 복수의 EPUBxxx.KEY 파일은 단일 클러스터로 이루어지는 파일로서 각각 구성될 수 있다. 도 11의 (A)는 단일 클러스터로 이루어지는 파일로서 구성된 SD_EPUB.MMG와 복수의 EPUBxxx.KEY 파일을 나타내고 있다. 도 11의 (A)에는 6개의 클러스터(클러스터001 ∼ 클러스터006)가 도시되어 있다. 이들 6개의 클러스터 중에서 클러스터001에는 SD_EPUB.MMG가 기록되고, 클러스터002 ∼ 클러스터006에는 EPUB001.KEY ∼ EPUB005.KEY가 기록되어 있다. 다시 말해서, 각 클러스터에 대해 하나의 파일이 할당되어 있다.
클러스터의 사이즈를 어떤 값으로 설정하여야 하는지에 대하여 설명한다. 클러스터는 파일 시스템층내의 관리영역의 단위이며, 1개의 파일은 클러스터를 반드시 1개 점유한다. 반도체 메모리 카드의 물리층은, 데이터 기입이 가능한 최소단위가 정해져 있는 경우가 많다. 이 기입가능한 최소단위는 "소거가능 블록"으로 알려져 있다. 이하, 32개의 섹터(16 킬로바이트(Kbyte))로 이루어지는 소거가능블록을 일예로 하여 설명한다. SD 메모리 카드에 소거가능 블록이 존재하는 경우, 기입될 각각의 소거가능 블록은 기입전에 반드시 공백 상태로 되어야 한다. 따라서 클러스터의 사이즈를 결정함에 있어 클러스터와 소거가능 블록간의 관계를 고려하는 것이 중요하다.
이에 의하여, 제 2 실시예에 따른 단일 클러스터의 사이즈는 단일의 소거가능 블록의 사이즈의 1/x로 설정된다. 도 11의 (B)는 하나 이상의 클러스터와 소거가능 블록간의 관계를 나타낸다. 클러스터의 사이즈는 단일 소거가능 블록의 16K바이트의 1/x(즉, 32개 섹터의 1/x)로 결정된다. 도 11의 (C)는 x=1인 경우의 클러스터를 나타낸다. 도 11의 (D)는 x=16인 경우의 클러스터를 나타낸다.
이상 설명한 것과 같이 제 2 실시예에서, 클러스터의 사이즈는 소거가능 블록의 사이즈의 1/x로 정해지고, Key&Rule Entry 영역의 수("n")와 EPUBxxx.KEY 파일의 수("m")는 각각의 파일(즉, SD_EPUB.MMG 또는 EPUBxxx.KEY)이 단일 클러스터에 포함되도록 결정된다. 따라서 EPUBxxx.KEY 파일 또는 SD_EPUB.MMG의 갱신을 필요로 하는 경우, 재기입할 필요가 있는 소거가능 블록의 수는 최소한으로 되기 때문에 소거가능 블록의 수명은 부당하게 단축되지 않게 된다.
(제 3 실시예)
제 3 실시예는 볼륨관리정보에 변동이 생기는 경우 단일의 클러스터가 2개의 소거가능 블록간의 경계에 걸쳐지게 배치되지 않도록 하는 기술에 관한 것이다.
도 12의 (A)는 보호 영역의 포맷구성을 나타낸다. 보호 영역은 파일 시스템을 이용하여 관리되기 때문에, 볼륨관리정보를 위한 영역이 보호 영역의 선두부분에 제공되고, 볼륨관리정보에 후속하여 파일 영역이 제공된다. 볼륨관리정보는 ISO/IEC 9293에 준거하는 것으로, 마스터 부트 레코드 & 파티션 테이블 섹터(master boot record & partition table sector), 파티션 부트 섹터(partition boot sector), 복사 파일 할당 테이블(FAT) 및 루트 디렉토리 엔트리(root directory entry)로 이루어진다. 복사 FAT는 보호 영역에 포함된 복수의 클러스터에 대응하며, 개별 클러스터간의 연계관계를 나타낸다. 설명한 바와 같이, 파일 영역은 볼륨관리정보의 바로 다음에 배치된다. 이 파일 영역에 제 1 실시예에서 설명한 SD_EPUB.MMG와 복수의 EPUBxxx.KEY 파일이 제공된다. 도 12의 (A)에 도시된 바와 같이, 이 파일 영역에 도 11의 (A)에 있는 복수의 클러스터(즉, SD_EPUB.MMG, EPUB001.KEY 파일, EPUB002.KEY 파일, EPUB003.KEY 파일, ... 을 저장하는 클러스터 001, 002, 003, ... )가 저장된다.
복사 FAT는 볼륨관리정보의 변동의 원인이 되기 때문에, 보다 상세하게 설명한다. 복사 FAT는 2개의 FAT로 구성되며, 각각 ISO/IEC 9293에 준거한다. 각각의 FAT는 클러스터에 일대일로 대응하는 복수의 FAT 엔트리로 이루어진다. 각각의 FAT 엔트리는 대응하는 클러스터가 "사용중"인지 또는 "미사용"인지를 나타낸다. "사용중"이라면, FAT 엔트리는 사용중인 클러스터에 연계된 클러스터의 번호를 나타낸다. "미사용"이라면, FAT 엔트리는 "0" 값을 나타낸다.
다음으로, 볼륨관리정보에서의 변경이 어떠한 원인으로 이루어지는지에 대하여 설명한다. 보호 영역에 데이터를 저장하는 과정에 있어서, 사용자 또는 기록장치가 보호 영역의 데이터 사이즈를 결정하는 기회가 많이 있다. 사용자의 요청에따라 보호 영역의 사이즈가 변경되면, 그에 따라 보호 영역에 포함된 클러스터의 수가 증가하거나 감소하게 된다. 클러스터의 수가 증가하거나 감소하게 되면, 이들 클러스터에 대응하는 FAT 엔트리로 이루어지는 FAT의 사이즈도 증가하거나 감소하게 되어, FAT를 포함하는 볼륨관리정보의 사이즈가 증가하거나 감소하게 된다. 볼륨관리정보의 사이즈가 변경되면, 볼륨관리정보에 후속하는 파일 영역의 선두 어드레스도 변경될 것이다. 파일 영역의 선두 어드레스는 보호 영역의 사이즈의 변경에 따라 변경되기 때문에, 파일 영역에 포함된 개별 클러스터의 선두 어드레스도 보호 영역의 사이즈의 변경에 따라 변경될 것이다.
클러스터의 선두 어드레스가 보호 영역의 사이즈의 변경에 따라 변경되면, 2개의 소거가능 블록간의 경계에 걸쳐지도록 클러스터가 배치되거나, 볼륨관리정보의 종단부분과 파일 영역의 선두에 위치하는 클러스터가 동일한 소거가능 블록에 배치되는 것도 가능하다.
이와 같은 바람직하지 않은 결과의 발생을 피하기 위하여, 제 3 실시예에서는 제 2 실시예에서 설명한 개선사항을 보완하는 다른 개선사항을 제안한다.
이러한 다른 개선사항은, 보호 영역에서 y개의 클러스터와 동등한 영역을 볼륨관리정보의 저장으로 할당하는 것이다. 도 12의 (B)는 s개의 소거가능 블록에 포함되는 s ·x 개의 클러스터 중에서 y개의 클러스터를 볼륨관리정보의 저장으로 할당하는 것을 나타낸다. 볼륨관리정보의 저장으로 y개의 클러스터를 할당함으로써, s개의 소거가능 블록의 전체 내부 영역의 y/x 부분이 볼륨관리정보로 점유되고, 내부 영역의 나머지 (s ·x - y)/x 부분이 파일 영역으로 할당될 것이다.
볼륨관리정보의 사이즈를 y개의 클러스터와 동등한 영역으로 설정함으로써, 볼륨관리정보와 s ·x - y개의 클러스터가 s개의 소거가능 블록내에 배치되고, 클러스터는 2개의 소거가능 블록간의 경계에 걸쳐지게 위치되지 않을 것이다.
도 12의 (C)는 x=1인 경우 볼륨관리정보의 저장을 위한 클러스터의 할당을 나타내고, 도 12의 (D)는 x=16인 경우 볼륨관리정보의 저장을 위한 클러스터의 할당을 나타낸다. 도 12의 (C)와 (D)에 도시된 바와 같이, 볼륨관리정보를 설정함으로써 각각의 소거가능 블록내에 하나 이상의 클러스터가 배치되고, 그 결과로서 어떤 클러스터도 2개의 소거가능 블록간의 경계에 걸쳐지게 위치하지 않게 된다.
도 13은 사이즈가 조정된 보호 영역의 레이아웃을 상세하게 나타낸다. 도 13에 있어서, 파티션 관리 영역은 마스터 부트 레코드 & 파티션 테이블 섹터를 저장하고, 시스템 영역은 파티션 부트 섹터, 복사 FAT 및 루트 디렉토리 엔트리를 저장한다. 도 13에서, "NOM"은 파티션 관리 영역의 사이즈이며, "RSC"는 파티션 부트 섹터의 사이즈이고, "Size1 ×2"는 복사 FAT의 사이즈이며, "RDE"는 루트 디렉토리 엔트리의 사이즈이고, "TS"는 섹터의 총 사이즈이며, "SC"는 단일 클러스터에 포함된 섹터의 개수를 나타낸다.
도 13에서, 복사 FAT에 포함된 FAT의 Size1은 TS의 값에 의존한다. Size1은 이하의 수학식 11을 이용하여 산출된다.
FAT12: Size1=(((((TS - (RSC + RDE)) / SC) + 2) ×12 / 8) + 511) / 512
FAT16: Size1=(((((TS - (RSC + RDE)) / SC) + 2) ×16 / 8) + 511) / 512
FAT12는 각각의 FAT 엔트리를 12바이트의 사이즈로 할당한 FAT이고, FAT16은 각각의 FAT 엔트리를 16바이트의 사이즈로 할당한 FAT이다.
수학식 11에서, (TS - (RSC + RDE)) / SC는 파일 영역의 저장에 필요한 클러스터의 수이다. FAT의 바이트 길이는 (TS - (RSC + RDE)) / SC에 지시자 "2"를 가산하고, FAT 엔트리의 바이트 길이(12 또는 16)를 승산하며, "8"로 제산함으로써 산출된다. 결국, 단일의 FAT를 저장하기 위해 필요한 섹터의 수는 ((((TS - (RSC + RDE)) / SC) + 2) ×12 / 8)의 결과에 511바이트의 오프셋값을 가산하고, 512바이트의 섹터 길이로 제산함으로써 산출된다.
도 13에 있어서 특히 주의하여야 할 것은, 파티션 관리 영역의 사이즈를 나타내는 "NOM"의 값이다. NOM은 파티션 관리 영역과 시스템 영역이 상이한 클러스터에 저장되는 것을 보장하기 위해 " SC+α"의 값으로 설정되어 있다.
" SC+α"에서의 " α"값은 (RSC + RDE + Size1 ×2)를 SC로 제산하고 그 결과를 SC로부터 감산함으로써 설정된다. 이에 의하여, RSC, Size1 ×2, RDE의 합계가 SC의 정수배로 되는 것을 보장한다. 이와 같이, NOM은 수학식 12를 이용하여 산출된다.
NOM=(SC - (RSC + RDE + Size1 ×2) / SC) + SC
이에 의하여 α값을 결정함으로써, 파티션 관리 영역과 파일 영역이 복수의 소거가능 블록내에 적절하게 포함된다. 또한 시스템 영역과 파일 영역간의 경계가 2개의 소거가능 블록간의 경계와 일치하게 됨으로써, 후속하는 전체 클러스터의 경계도 2개의 소거가능 블록간의 경계와 일치하는 것으로 된다.
도 13에서, SD_EPUB.MMG, EPUB001.KEY 파일 및 EPUB002.KEY 파일은 각각 클러스터001(Cluster001), 클러스터002(Cluster002) 및 클러스터003(Cluster003)에 기록된다. 상기 설명한 바와 같이 x=1이기 때문에, 클러스터 001∼003은 각각 소거가능 블록 e1 ∼ e3에 대응하게 된다. 미사용 Key&Rule Entry를 갖는 SD_EPUB.MMG 및 EPUBxxx.KEY가 판독되면, 2개의 파일을 포함하는 2개의 소거가능 블록 e1, e2만 판독되면 된다. 마찬가지로, SD_EPUB.MMG 및 미사용 Key&Rule Entry를 갖는 EPUB001.KEY가 재기입되는 경우, 2개의 파일을 포함하는 2개의 소거가능 블록 e1, e2만이 재기입되면 된다. 판독 또는 기입을 필요로 하는 소거가능 블록의 수(즉, 2개)가 최소화되기 때문에, 불휘발성 메모리의 수명이 부당하게 단축되지 않게 된다.
상기 설명한 바와 같이, 제 3 실시예에서, 볼륨관리정보의 사이즈가 변경되는 경우라도, 클러스터간의 경계는 소거가능 블록간의 경계와 일치되도록 설정될 수 있으므로, 클러스터의 재기입을 단기간에 완수할 수 있게 된다. 또 소거가능 블록의 소거 회수를 감축시키는 것도 가능하게 된다.
(제 4 실시예)
제 4 실시예는 제 1 내지 제 3 실시예에 개시된 바와 같은 SD 메모리 카드에 대하여, 기록처리 및 재생처리를 행하는 장치에 관한 것이다. 간단히 나타내기 위해, 이러한 처리를 수행하는 장치를 이하 "기록장치"(recording apparatus)라 한다. 기록장치는, 예를 들어 도 14의 (A)에 도시된 것과 같이 범용의 음향기기의일부, 도 14의 (B)에 도시된 것과 같이 컴퓨터 등의 정보기기의 일부가 될 수 있다. 제 4 실시예의 기록장치는 암호화 콘텐츠와 이 암호화 콘텐츠에 관련된 시큐어 데이터를 SD 메모리 카드에 기입하는 기능을 한다. 암호화 콘텐츠는 그 재생 회수가 소정 회수로 제한되어 있으며, 시큐어 데이터는 암호화 콘텐츠를 해독하기 위한 암호화키와 재생처리의 가능 회수를 나타내는 재생가능 회수정보를 포함한다. 암호화키와 재생가능 회수정보를 판독/기입하기 위한 기록장치의 내부 구성에 대하여 설명한다. 도 15는 제 4 실시예에 따른 기록장치의 내부 구성을 나타낸다. 도 15에 도시된 기록장치는 내부 메모리(10), 브라우저부(11), 시큐어 처리부(12), 해독부(13), 재생부(14) 및 제어부(15)를 포함한다.
내부 메모리(10)는 SD 메모리 카드의 보호 영역으로부터 판독한 SD_EPUB.MMG 및/또는 EPUB#u.KEY를 저장하는 동적 랜덤엑세스 메모리(DRAM) 또는 동기식 DRAM(SDRAM)이다. EPUB#u.KEY내의 Key&Rule Entry 영역이 재기입되거나 EPUB#u.KEY내의 비트맵의 설정이 갱신되면, 내부 메모리(10)내에서 EPUB#u.KEY가 판독되고, 재기입 또는 설정 변경이 수행된 후, 갱신된 EPUB#u.KEY가 내부 메모리(10)로부터 SD 메모리 카드의 보호 영역으로 다시 기입된다. 이와 유사하게, SD_EPUB.MMG내의 비트맵 설정이 변경되는 경우, SD_EPUB.MMG가 내부 메모리(10)에서 판독되고 설정 변경이 수행된 후, 갱신된 SD_EPUB.MMG가 내부 메모리(10)로부터 보호 영역으로 다시 기입된다. EPUB#u.KEY 및 SD_EPUB.MMG의 재기입은 기록장치의 내부 메모리(10)에서 수행되는데, 이는 DRAM 또는 SDRAM의 엑세스 속도가 SD 메모리 카드내의 메모리의 엑세스 속도에 비해 매우 크기 때문에, SD 메모리 카드를 직접 갱신하는 것보다 파일을 갱신하는 것이 훨씬 더 효율적이기 때문이다. SD 메모리 카드로부터 EPUB#u.KEY 및 SD_EPUB.MMG 파일을 판독하고 이들을 내부 메모리(10)에 배치하는 처리를 "파일 오픈 처리"라 한다. EPUB#u.KEY 및 SD_EPUB.MMG 파일이 존재하지 않는다면, 기록장치는 파일생성처리를 수행하여 이들 파일을 내부 메모리(10)에 생성할 수 있다.
브라우저부(11)는 SD 메모리 카드의 파일 영역에 저장된 콘텐츠를 표시하는 것외에 재생 또는 삭제될 대상 콘텐츠에 관련되는 명령을 사용자로부터 수신하는 기능을 한다. 사용자 명령을 수신하는 것은, 기록장치의 일부품으로서 버튼, 키, 터치패널 또는 이와 유사한 포인팅 디바이스를 사용자가 작동시키는 것을 검출함으로써 이루어지게 된다.
시큐어 처리부(12)는 보호 영역에 대한 데이터의 판독 또는 기입에 앞서, SD 메모리 카드내의 AKE 처리부(4), AKE 처리부(5), Ks 해독부(6) 및 Ks 암호화부(7)와 상호인증 처리를 수행한다. 상호인증이 검증되지 않으면, 기록장치에 의한 데이터의 판독/기입의 개시가 즉시 취소된다. SD 메모리 카드의 보호 영역에 저장된 시큐어 데이터가 판독 또는 기록될 수 있기 전에, 기록장치와 SD 메모리 카드가 상호인증되기 때문에, 시큐어 데이터의 기밀성이 유지될 수 있게 된다. 시큐어 처리부(12)에 의한 상호인증의 전제가 되는 데이터의 기입 및 판독을 각각 "시큐어 기입" 및 "시큐어 판독"이라 한다.
해독부(13)는 내부 메모리(10)로부터 Key&Rule Entry 영역에 제공된 암호화키를 이용하여 재생 대상인 암호화 콘텐츠를 해독할 수 있다.
재생부(14)는 해독된 콘텐츠를 재생한다. 이 재생부(14)는 또한 재생의 개시 이후의 시간을 측정하여 재생 시간이 미리 정해진 임계값을 초과하면 이를 제어부(15)에 통지한다. 임계값은 콘텐츠의 단일 재생에 필요한 최소한의 시간 간격과 같다. 시간 간격이 초과되었음을 제어부(15)로 통지함에 따라 재생부(14)는 재생가능회수를 1씩 감소시키도록 제어부(15)를 제어한다.
제어부(15)는 실행 가능한 포맷으로 된 프로그램을 저장하는 ROM과 프로세서(CPU)를 포함하며, SD 메모리 카드에 대해 기입 처리, 재생(즉, 판독) 처리 및 삭제 처리를 실행한다. 이들 처리 동작을 순서대로 설명한다. 도 16은 기입 처리에 포함되는 동작을 나타내는 흐름도이다. 기입 처리는 도 16의 흐름도에 도시된 처리 동작으로 이루어지는 프로그램을 실행하는 제어부(15)내의 CPU에 의해 수행된다. 흐름도내의 단계 S1 ∼ S4는 새로운 콘텐츠의 기입에 관련되어 있다. 단계 S1에서, 제어부(15)는 사용자 데이터 영역내의 디렉토리를 선택하여 신규한 콘텐츠를 제공한다. 단계 S2에서, 제어부(15)는 콘텐츠의 ID 번호를 "#t"로 결정한다. 단계 S3에서, 제어부(15)는 자신의 파일명에서 "#t"를 갖는 파일(즉 콘텐츠 #t)을 오픈한다. 단계 S4에서, 제어부(15)는 콘텐츠를 암호화하고 이 암호화된 콘텐츠를 오픈된 콘텐츠#t 파일에 기입한다.
단계 S5 ∼ S20은 보호 영역내로의 새로운 콘텐츠에 관련된 시큐어 데이터(예를 들어, 암호화키, 재생가능회수)의 기입에 관한 것이다. 이들 단계 중에서, 단계 S5 ∼ S16은 보호 영역에 있는 복수의 EPUBxxx.KEY 파일 중 어느 것이 시큐어 데이터의 기입을 위한 대상이 되는지를 판정하는 것에 관한 것이다. 단계 S5에서,제어부(15)는 SD 메모리 카드의 보호 영역으로부터 SD_EPUB.MMG를 기록장치의 내부 메모리(10)로 시큐어 판독한다. 단계 S6에서, 제어부(15)는 내부 메모리(10)에 저장된 SD_EPUB.MMG의 m비트 비트맵내의 모든 비트가 "1"인지 여부를 판정한다. 판정한 값이 "예"이면, 제어부(15)는 기입 처리를 종료한다. 판정한 값이 "아니오"(즉, 적어도 하나의 플래그가 "0")이면, 단계 S7로 진행한다.
단계 S7에서, 제어부(15)는 SD_EPUB.MMG의 비트맵의 선두에서 가장 가까이에 위치한 "0"비트를 u번째 비트로 검출한다. 단계 S8에서, 제어부(15)는 u번째 비트에 대응하는 EPUB#u.KEY 파일이 존재하는지 여부를 판정한다. 판정한 값이 "아니오"이면 단계 S9로 진행하고, 판정한 값이 "예"이면 단계 S10으로 진행한다. 단계 S9에서, 제어부(15)는 내부 메모리(10)에 EPUB#u.KEY 파일을 생성하고, 단계 S11로 진행한다. 단계 S10에서, 제어부(15)는 보호 영역으로부터 기록장치의 내부 메모리(10)로 EPUB#u.KEY를 시큐어 판독하고 단계 S11로 진행한다.
단계 S11에서, 제어부(15)는 내부 메모리(10)에 저장된 EPUB#u.KEY의 n비트 비트맵의 모든 비트가 "1"인지 여부를 판정한다. 단계 S11에서의 판정은, EPUB#u.KEY내에 미사용의 Key&Rule Entry 영역이 존재하지 않음에도 불구하고, SD_EPUB.MMG 비트맵내의 u번째 비트가 "0"이 되는 오류가 생기지 않도록 하기 위한 안전장치로서 행해진다. 단계 S11에서, 판정이 "예"로 되면 단계 S12로 진행하고, 판정이 "아니오"로 되면 단계 S13으로 진행한다. 단계 S12에서, 제어부(15)는 SD_EPUB.MMG 비트맵에서 후속하는 "0" 플래그를 u번째 비트로서 검출하고, 단계 S8로 복귀한다. 필요하다면, "0" 플래그가 있는 비트맵을 갖는 EPUB#u.KEY 파일이검출될 때까지 단계 S10 ∼ S12가 반복된 후, 제어부(15)는 단계 S13으로 진행하게 된다.
단계 S13 ∼ S16은 시큐어 데이터를 미사용 Key&Rule Entry 영역에 기입하는 것에 관한 것이다. 단계 S13에서, 제어부(15)는 내부 메모리(10)에 저장된 EPUB#u.KEY내의 비트맵의 선두에 가장 가까이에 위치한 "0" 플래그를 v번째 비트로서 검출한다. 단계 S14에서, 제어부(15)는 v번째 비트에 대응하는 EPUB#u.KEY내의 Key&Rule Entry 영역(즉, Key&Rule Entry#v)에 새로운 콘텐츠에 관련된 재생가능회수와 암호화키를 기입한다. 단계 S15에서, 제어부(15)는 EPUB#u.KEY 비트맵내의 v번째 비트를 "1"로 설정한다. 단계 S16에서, 제어부(15)는 기록장치의 내부 메모리(10)로부터 갱신된 EPUB#u.KEY를 SD 메모리 카드의 보호 영역내에 시큐어 기입한다.
여기에서, 단계 S15에 있어서, v번째 비트가 "1"로 설정되면 EPUB#u.KEY 비트맵의 모든 비트가 "1"로 될 수도 있다. 1 / (n - 1) 이상의 확률이지만 그러한 경우도 발생할 수 있기 때문에, 단계 S17에서 제어부(15)는 EPUB#u.KEY 비트맵내의 모든 비트가 "1"인지 여부를 판정하여, "예"이면 단계 S18로 진행하고, "아니오"이면 단계 S20으로 진행한다.
단계 S18에서, 제어부(15)는 내부 메모리(10)에 저장된 SD_EPUB.MMG내의 비트맵의 u번째 비트를 "1"로 설정한다. 단계 S19에서, 제어부(15)는 내부 메모리(10)로부터 갱신된 SD_EPUB.MMG 파일을 보호 영역에 시큐어 기입한다. 단계 S20에서, 제어부(15)는 파일번호 #u와 로컬번호 #v를 방정식 #s = (n - 1) ·#u +#v에 적용하여 시큐어 데이터가 기입되는 Key&Rule Entry의 글로벌번호 #s를 산출한다. 단계 S21에서, 제어부(15)는 콘텐츠번호 #t가 글로벌번호 #s에 대응하는 정보를, 신규한 콘텐츠가 기록되어 있는 디렉토리의 변환 테이블 저장 파일에 기입한다. 따라서 SD 메모리 카드에 대한 신규 콘텐츠의 기입 처리를 완료하게 된다.
새로운 시큐어 데이터의 기입을 위하여 기존의 EPUB#u.KEY 파일내의 미사용 Key&Rule Entry 영역을 선택함에 있어 우선순위를 부여하게 되면, 낮은 파일번호를 갖는 EPUB001.KEY 및 EPUB002.KEY 등의 EPUBxxx.KEY 파일이 대상으로 되어, 이들 파일에 대응하는 소거가능 블록의 수명을 단축시키게 될 것이다. 이러한 바람직하지 않은 결과는 다음과 같이 하여 해소할 수 있다. 각각의 소거가능 블록에 미리 할당된 물리 어드레스에 논리 어드레스가 대응하는 테이블을 SD 메모리 카드에 저장하고, 이러한 논리 어드레스를 이용하여, 기입을 위한 EPUBxxx.KEY 파일의 대상 결정을 관리할 수 있다. 이에 의하면, 낮은 파일번호를 갖는 EPUB001.KEY 및 EPUB002.KEY 등의 파일에 대하여 소거가능 블록을 할당하는 것이 더 자유롭게 된다. 즉, 테이블을 재기입함으로써, 소거가능 블록의 할당이 변경될 수 있기 때문에, 기입 처리가 낮은 파일번호를 갖는 EPUB001.KEY 및 EPUB002.KEY 등의 파일에 집중되는 경우라도, 임의의 소거가능 블록의 수명이 불필요하게 단축되는 것을 피할 수 있게 된다. 새로운 콘텐츠의 기입 처리를 설명하였고, 저장된 콘텐츠의 재생 처리에 대하여 설명한다.
도 17은 SD 메모리 카드의 사용자 데이터 영역에 저장된 콘텐츠의 재생에서의 처리 동작을 나타내는 흐름도이다. 콘텐츠의 재생은, 제어부(15)내의 CPU가 도17의 흐름도에 나타난 동작수순을 갖는 컴퓨터 프로그램을 실행함으로써 달성된다. 사용자 데이터 영역내의 하나의 디렉토리에 제공된 콘텐츠의 재생을 사용자가 브라우저부(11)를 통해 조작하여 지시하는 것으로 가정하여 재생 처리를 설명한다. 단계 S31에서, 제어부(15)는 콘텐츠가 제공되는 디렉토리의 변환 테이블 저장 파일로부터 재생될 콘텐츠에 대응하는 Key&Rule Entry 영역의 글로벌번호 #s를 획득한다. 단계 S32에서, 제어부(15)는 방정식 #s = (n - 1) ·#u + #v를 만족하는 EPUBxxx.KEY 및 Key&Rule Entry 영역의 파일번호 #u 및 로컬번호 #v를 각각 획득한다. 단계 S33에서, 제어부(15)는 보호 영역으로부터 내부 메모리(10)로 EPUB#u.KEY를 시큐어 판독한다. 제어부(15)는 내부 메모리(10)에 저장된 EPUB#u.KEY내의 비트맵의 v번째 비트가 "1"인지 여부를 판정한다. 여기에서, 변환 테이블 저장 파일은 v번째 비트에 대응하는 Key&Rule Entry 영역이 사용중인지의 여부를 명확하게 나타내고 있지만, 단계 S34는 Key&Rule Entry#v가 현재 사용중이 아니라는 오류가 생기는 것을 방지하는 안전장치로서 수행된다. 단계 S34가 "아니오"이면(즉, v번째 비트가 "0" 이면), 제어부(15)는 재생 처리를 종료한다. 단계 S34가 "예"이면(즉, v번째 비트가 "1"이면), 단계 S35로 진행한다. 단계 S35 ∼ S39는 콘텐츠의 실제 재생에 관한 것이다.
단계 S35에서, 제어부(15)는 Key&Rule Entry#v로부터 암호화키를 획득하며, 판독한 암호화키를 이용하여 암호화키를 해독하고 해독된 콘텐츠를 재생하는 것을 개시한다. 단계 S37에서, 제어부(15)는 미리정해진 시간이 경과하기를 기다려, 미리 정해진 시간이 경과하면 단계 S38로 진행한다. 단계 S38에서, 제어부(15)는Key&Rule Entry#v의 재생가능회수를 1씩 감소시킨다. 단계 S39에서, 제어부(15)는 갱신된 EPUB#u.KEY 파일을 보호 영역에 시큐어 기입한다. 이상 재생 처리의 설명을 종료하고, 삭제 처리의 설명을 한다.
도 18은 SD 메모리 카드의 사용자 데이터 영역에 저장된 콘텐츠의 삭제에 대한 처리 동작을 나타내는 흐름도이다. 이 삭제 처리는 도 18의 흐름도에 나타난 처리 수순을 갖는 컴퓨터 프로그램을 CPU가 실행하게 함으로써 수행된다. 이 삭제 처리는 SD 메모리 카드의 사용자 데이터 영역에 있는 디렉토리들 중 하나의 디렉토리에 제공된 콘텐츠를 삭제하는 것을, 사용자가 브라우저부(11)를 조작하여 명령을 내리는 것으로 하여 설명한다. 단계 S51에서, 제어부(15)는 삭제될 콘텐츠를 포함하는 파일 #t를 디렉토리 엔트리로부터 삭제하고, 파일 #t를 갖는 클러스터를 공백상태로 되돌린다. 단계 S52에서, 제어부(15)는 삭제될 콘텐츠에 대응하는 Key&Rule Entry 영역의 글로벌번호 #s를 획득한다. 단계 S53에서, 제어부(15)는 방정식 #s = (n - 1) ·#u + #v를 만족하는 EPUBxxx.KEY 파일과 Key&Rule Entry 영역의 파일번호 #u와 로컬번호 #v를 각각 획득한다. 단계 S54에서, 제어부(15)는 보호 영역으로부터 EPUB#u.KEY를 내부 메모리(10)로 시큐어 판독한다.
단계 S55에서, 제어부(15)는 내부 메모리(10)에 저장된 EPUB#u.KEY내의 비트맵의 v번째 비트가 "1"인지 여부를 판정한다. 여기에서, 변환 테이블 저장 파일은 v번째 비트에 대응하는 Key&Rule Entry 영역(즉, Key&Rule Entry#v)이 사용중인지의 여부를 명확하게 나타내고 있지만, 단계 S55는 Key&Rule Entry#v가 실제로 사용중이 아니라는 오류가 생기는 것을 방지하는 안전장치로서 수행된다. 단계 S55가"아니오"이면, 제어부(15)는 삭제 처리를 종료한다. 단계 S55가 "예"이면, 단계 S56으로 진행한다.
단계 S56 ∼ S58는 Key&Rule Entry#v의 실제 삭제에 관한 것이다. 단계 S56에서, 제어부(15)는 내부 메모리(10)내에 저장된 EPUB#u.KEY의 Key&Rule Entry#v에 난수를 기입한다. 단계 S57에서, 제어부(15)는 EPUB#u.KEY 비트맵내의 v번째 비트를 "0"으로 설정한다. 단계 S58에서, 제어부(15)는 내부 메모리(10)에 저장된 갱신된 EPUB#u.KEY를 보호 영역에 시큐어 기입한다.
여기에서, 단계 S57에서 EPUB#u.KEY 비트맵의 v번째 비트를 "0"으로 설정함으로써 EPUB#u.KEY 비트맵의 모든 비트가 "0"으로 될 가능성이 있다. 단계 S59에서, 제어부(15)는 EPUB#u.KEY 비트맵의 모든 비트가 현재 "0"인지 여부를 판정하여, 단계 S59에서 "예"로 판정되면 단계 S60으로 진행하고, "아니오"로 판정되면 단계 S61로 진행한다. 단계 S60에서, 제어부(15)는 디렉토리 엔트리로부터 EPUB#u.KEY에 관련된 파일 엔트리를 삭제하고, EPUB#u.KEY를 갖는 클러스터를 공백상태로 되돌린다. 이러한 삭제의 결과로서 보호 영역에서의 EPUBxxx.KEY의 수가 감소된다. 새로운 EPUBxxx.KEY 파일이 보호 영역에 생성되면, 이 새로운 파일에 삭제된 EPUB#u.KEY 파일의 번호(즉, "#u")가 할당될 것이다. 파일번호가 재이용되는 것이다. 즉, EPUBxxx.KEY 파일의 삭제의 결과로서 파일번호의 누락부분이 생긴 경우 그 누락부분은 삭제된 파일의 파일번호를 재이용함으로써 해소된다.
또한 EPUB#u.KEY 비트맵에서의 v번째 비트가 갱신되어 "0"값을 나타내는 경우, SD_EPUB.MMG 비트맵도 갱신을 필요로 하는 가능성이 적어도 1 / (n - 1) 이상있다. 다시 말해서, EPUB#u.KEY에서의 모든 "1" 플래그 비트맵이 단계 S57에서의 설정 변경의 결과로서 단일의 "0" 플래그를 갖는 비트맵으로 되돌아가고, SD_EPUB.MMG 비트맵은 이러한 사실을 반영하기 위해 갱신을 필요로 할 것이다. 따라서 단계 S61에서, 제어부(15)는 보호 영역으로부터 내부 메모리(10)로 SD_EPUB.MMG를 시큐어 판독한다. 단계 S62에서, 제어부(15)는 내부 메모리(10)내의 SD_EPUB.MMG 비트맵에서의 u번째 비트가 "1"인지 여부를 판정하여, "예"이면 단계 S63으로 진행하고, "아니오"이면 단계 S65로 진행한다.
단계 S63과 S64는 SD_EPUB.MMG의 갱신에 관한 것이다. 단계 S63에서, 제어부(15)는 SD_EPUB.MMG 비트맵에서의 u번째 비트를 "0"으로 설정한다. 단계 S64에서, 제어부(15)는 기록장치의 내부 메모리(10)에 저장된 갱신된 SD_EPUB.MMG 파일을 보호 영역에 시큐어 기입한다.
단계 S65에서, 제어부(15)는 삭제된 콘텐츠의 ID번호 #t와 삭제된 콘텐츠에 대응하는 Key&Rule Entry 영역의 글로벌번호 #s를 변환 테이블 저장 파일로부터 삭제한다. 이것으로 삭제 공정이 완료된다.
상기 설명한 제 4 실시예에서, 새로운 EPUBxxx.KEY 파일은 기존의 EPUBxxx.KEY 파일에서의 모든 Key&Rule Entry 영역이 기입된 후에만 생성되기 때문에, 새로운 EPUBxxx.KEY 파일이 인증되지 않고 생성되는 것을 피할 수 있게 된다. 이에 의하여 EPUBxxx.KEY 파일의 수를 최소화할 수 있어, SD 메모리 카드상에 저장된 콘텐츠의 효과적인 구성이 장기간 유지될 수 있다. SD 메모리 카드상에서 이용가능한 전체 영역 중에서 보호 영역이 점유하는 영역은 비교적 작기 때문에, 보호영역내에 기록될 수 있는 파일의 개수도 물리적으로 제한된다. 따라서 제 4 실시예에 따른 기록장치가 보호 영역내의 EPUBxxx.KEY의 개수를 최소한으로 하면서 데이터를 기입하게 됨으로써, 보호 영역의 이용을 보다 효율적이면서 효과적으로 할 수 있게 된다.
본 발명의 제1 내지 제 4 실시예에서 설명한 데이터 구조 및 다양한 처리 동작은 이하의 국제특허출원공보에 기초하는 것이며, 보다 상세한 기술사항에 대해서는 이들 공보를 참조할 수 있다.
WO 00/65602 (02/11/2000)
WO 00/74054 (07/12/2000)
WO 00/74059 (07/12/2000)
WO 00/74060 (07/12/2000)
WO 01/16821 (08/03/2001)
(변형예)
본 발명은 상기 실시예에 기초하여 설명되어 있지만, 현재 상태에서의 최선의 효과가 기대될 수 있는 예로서만 제시한 것에 불과하다. 본 발명은 그 요지를 벗어나지 않는 범위에서 변형이 가능하다. 대표적인 변형예로서 (A)∼(J)가 있다.
(A) 제 1 실시예에서, Key&Rule Entry 영역의 상한은 1개의 EPUBxxx.KEY에 저장되는 Key&Rule Entry의 수 "n"과 SD_EPUB.MMG에 존재하는 비트맵의 비트길이 "m"을 승산한 값 n ·m으로 결정된다. 이 상한값은 보호 영역에 존재하는 SD_EPUB.MMG 파일이 하나인 경우의 상한값이다. 따라서, 상한값은 SD_EPUB.MMG 파일의 수를 증가시킴으로써 배로 증가시킬 수 있다. 예를 들어, 보호 영역에 2개의 SD_EPUB.MMG 파일이 존재한다면, Key&Rule Entry 영역의 상한값은 2 ·n ·m으로 된다.
(B) 제 1 실시예에서는, EPUBxxx.KEY 파일의 상태를 나타내는 m비트 비트맵이 SD_EPUB.MMG에 배치되어 있다. 그러나 이 비트맵은 제 1 EPUBxxx.KEY 파일(예컨대, EPUB001.KEY)에 배치될 수도 있다. 즉, 제 1 실시예에서는 2번의 파일 엑세스 동작(즉, 한번은 SD_EPUB.MMG을 오픈하고, 또 한번은 미사용 Key&Rule Entry 영역을 갖는 EPUB#u.KEY를 오픈한다)을 필요로 하지만, 본 변형예에 의하면 EPUBxxx.KEY 파일의 상태가 EPUB001.KEY를 오픈함에 의해서만 결정되도록 한다. EPUB001.KEY에 미사용 Key&Rule Entry 영역이 존재한다면, 새로운 시큐어 데이터는 하나의 파일만 오픈함으로써 기입될 수 있다. EPUB001.KEY에 미사용 Key&Rule Entry 영역이 존재하지 않는 경우라도, EPUB#u.KEY는 EPUB001.KEY내의 m비트 비트맵으로부터 결정될 수 있기 때문에, 기입 처리를 행할 때 엑세스 동작을 2번 이상 행할 필요가 없게 될 것이다.
또, 제 1 실시예에서는 각각의 EPUBxxx.KEY에 Key&Rule Entry 영역의 상태를 나타내는 n비트 비트맵이 제공되지만, SD_EPUB.MMG에 n비트 비트맵이 제공될 수도 있다.
(C) 각각의 EPUBxxx.KEY 파일에 n비트 비트맵을 제공하지 않고, SD_EPUB.MMG내의 m비트 비트맵만을 참조하여 미사용 Key&Rule Entry 영역을 갖는 EPUBxxx.KEY 파일(즉, EPUB#u.KEY)를 검색하는 것도 가능하다. 다시 말해서, 새로운 시큐어 데이터를 기입하기 전에 파일내의 Key&Rule Entry 영역의 상태를 기록장치가 검사하는 경우, 각각의 Key&Rule Entry 영역의 상태를 나타내는 비트맵을 제공할 필요가 없게 될 것이다. 본 변형예는 미사용 Key&Rule Entry 영역(즉, 기록되지 않은 또는 이미 삭제된 영역)을 전제로 하고 있지만, 삭제 조건이 신속하게 결정되는 것을 허용하는 값(예컨대, "000000000")으로 설정된다. 그러나 시큐어 데이터는 암호화 상태로 저장되고, 시큐어 데이터가 저장되는 Key&Rule Entry 영역에 난수를 기입함으로써 시큐어 데이터가 삭제되는 것이 일반적이기 때문에, 암호화 데이터와 삭제된 데이터간의 구분이 용이하지 않다. 따라서 상기 설명한 검사를 수행하는 것은 실질적으로는 불가능하다. 제 1 실시예에서 각 EPUBxxx.KEY내의 비트맵의 플래그는 각각의 Key&Rule Entry 영역에 대해 Key&Rule Entry 영역에 시큐어 데이터가 기록되었는지 또는 삭제되었는지를 명확하게 나타낸다. 따라서 n비트 비트맵을 참조함으로써, 파일내의 Key&Rule Entry 영역이 사용하고 있지 않은지와 Key&Rule Entry 영역이 기입되었는지를 신속하게 판정할 수 있게 된다.
(D) 제 1 내지 제 4 실시예는 파일을 엑세스하는데 필요한 상호인증과 관련된 오버헤드를 생기게 하는 SD 메모리 카드를 예로 들어 설명하였다. 그러나 제 1 내지 제4 실시예는 복수의 파일을 오픈하는데 시간을 소모시키는 오버레드를 생기게 하는 어떤 기록매체에도 적용될 수 있다. 예를 들어, 기록매체는 컴팩트 플래시 카드, 스마트 매체, 메모리 스틱, 멀티미디어 카드, PCM-CIA 카드 등의 플래시 메모리 카드도 가능하다. 기록매체로서, 반도체 메모리 카드외에, 자기 기록 디스크(예컨대, 플렉서블 디스크, SuperDisk, Zip, Clik!), 착탈가능한 하드 디스크 드라이브(예컨대, ORB, Jaz, SparQ, SyJet, EZFley, 마이크로 드라이브), DVD-RAM, DVD-RW, PD, DVD+RW, CD-RW 등의 광디스크도 가능하다.
(E) 도 16 내지 도 18에 있는 흐름도에 나타나 있는 바와 같이, 제 4 실시예에서 설명한 기록장치의 특성은 컴퓨터로 판독 가능한 컴퓨터 프로그램의 개량에 의해 실현된다. 이와 같이, 컴퓨터 프로그램은 기록장치와 독립적으로 실행될 수 있다. 기록매체에 컴퓨터 프로그램이 기억되면, 기억매체는 사용자에게 분배 또는 대여되어, 사용자에 따라 독립적으로 실행되게 된다. 또 컴퓨터 프로그램이 네트워크를 통해 분배되는 경우, 사용자는 이 컴퓨터 프로그램을 다운로드받고, 다운로드받은 컴퓨터 프로그램을 사용자에 따라 독립적으로 실행할 수 있다.
(F) 제 1 내지 제 4 실시예에서, SD 메모리 카드상에 기록될 콘텐츠는 전자 출판물인 것으로 하여 설명하였지만, 음악이나 영화와 같은 다른 콘텐츠도 SD 메모리 카드상에 기록될 수 있다.
(G) 상기 실시예들에서, m비트 비트맵에서의 비트의 개수 m은 EPUBxxx.KEY 파일의 개수 m에 일대일로 할당되어 있어서, 각각의 EPUBxxx.KEY 파일에 대해 2개의 상태, 즉 EPUBxxx.KEY 파일이 (ⅰ)하나 이상의 미사용 Key&Rule Entry 영역 또는 (ⅱ) 모든 Key&Rule Entry 영역이 사용중인 상태르 나타내는 것이 허용되지만, 할당된 비트의 개수를 증가시킴으로써, 각각의 EPUBxxx.KEY 파일에 대해 3개 이상의 상태를 나타내는 것도 가능하다.
(H) 상기 실시예들에서, n비트 비트맵의 비트의 개수 n은 각각의 EPUBxxx.KEY 파일에서의 Key&Rule Entry 영역의 개수 n에 일대일로 할당되어 있어서, EPUBxxx.KEY 파일에서의 각각의 Key&Rule Entry 영역에 대해 2개의 상태, 즉 Key&Rule Entry 영역이 (ⅰ)미사용 또는 (ⅱ)사용중인 상태를 나타내는 것이 허용되지만, 할당된 비트의 개수를 증가시킴으로써, 각각의 Key&Rule Entry 영역에 대해 3개 이상의 상태를 나타내는 것도 가능하다.
(I) 상기 실시예들에서는 보호 영역에 기록되는 권리관리정보에 대하여 설명하고 있으나, 과금정보, 개인정보, 거래비밀정보 등의 높은 수준의 기밀성을 필요로 하는 다른 유형의 정보도 보호 영역에 기록될 수 있다. 또 재생될 콘텐츠가 제 1 내지 제 4 실시예에서 설명한 것과 같이 출판물이라면, 재생 처리에는 출판물의 표시나 인쇄 등과 같은 변형도 가능하다. 재생의 형태에 따라 이용가능한 조건을 정하여도 된다.
(J) 상기 실시예들에서, 권리관리정보는 재생, 복제 등과 같은 용례의 가능한 조건을 설정하고 있다. 복제 처리에는, 이동(transfer), 마이그레이션(migration), 체크아웃 복제와 같은 변형도 포함한다. 이동 복제라는 것은 원본 콘텐츠가 삭제되었을 때 기록매체 사이에서 콘텐츠를 이동시키는데 이용된다.
마이그레션 복제는 콘텐츠가 복제되는 기록매체상에서 생성되는 권리관리정보를 전제로 하고 있다.
체크아웃 복제는 복제허용회수가 제한되어 있을 때 이용되는 복제 처리의 일유형으로서, 이 복제는 복제의 허용회수를 1씩 감소시킨 다음에 실행된다. 복제회수를 제한하는 유형과는 달리, 체크아웃 복제에 의하면 복제의 허용회수를 증가시킬 수 있다. 복제의 허용회수는 기록매체상에 복제된 콘텐츠의 재생을 금지시키기 위하여 "체크인" 처리를 먼저 수행한 후 증가될 수 있다.
(K) 권리관리정보에서의 이용허용 조건은 임의의 바람직한 방식으로 정해질 수 있다. 예를 들어, 재생이나 복제의 남은 회수에 제한을 하거나 상한을 설정할 수 있다. 이들 제한은 이용이 빈번하지 않은 시간에 대해 적용될 수도 있으며, 유효한 이용 기간을 설정하는 것도 가능하다.
본 발명에 의하면, 보호 영역에 저장된 복수의 파일 중에서 시큐어 데이터를 기록할 미사용 영역을 갖는 파일을 신속하게 특정할 수 있게 된다. 따라서 본 발명은 시큐어 데이터를 기록하기 위해 기록매체, 기록장치 또는 재생장치를 필요로 하는 어떠한 사용자에 의해서도 이용이 가능하다. 이러한 구성에 의하면, 본 발명에 관한 기록매체, 기록장치, 재생장치를 범용 기기 산업 등의 분야에서 이용할 수 있는 잠재력이 매우 크다.

Claims (37)

  1. 복수의 엔트리 영역을 각각 갖는 복수의 파일이 기록된 기록매체용 기록장치에 있어서,
    상기 복수의 파일의 각각에 대해, 상기 파일이 미사용의 엔트리 영역을 하나 이상 가지고 있는 제 1 상태인지 또는 모든 엔트리 영역이 사용중인 제 2 상태인지를 나타내는 상태 정보를 상기 기록매체로부터 판독하는 판독부와;
    판독한 상기 상태 정보를 참조하여 상기 제 1 상태인 파일을 특정하고 이 특정된 파일의 미사용 엔트리 영역에 데이터를 기입하는 기입부와;
    상기 기입부에 의한 데이터의 기입에 의해 상기 특정된 파일내의 모든 엔트리 영역이 사용중으로 되면 상기 특정된 파일이 상기 제 2 상태로 되는 것을 나타내도록 상기 상태 정보를 갱신하는 갱신부를 구비하는 것을 특징으로 하는 기록장치.
  2. 제 1 항에 있어서,
    상기 상태 정보는 상기 제 2 상태인 상기 파일내의 엔트리 영역이 미사용으로 되는 경우에 상기 파일이 상기 제 1 상태로 되는 것을 나타내도록 상기 갱신부에 의해 갱신되는 것을 특징으로 하는 기록장치.
  3. 제 1 항에 있어서,
    2 이상의 값을 갖는 정수인 m개의 파일이 있으며,
    상기 상태 정보는 상기 m개의 파일에 일대일로 대응하는 m개의 플래그로 구성되는 플래그열이고, 상기 플래그열의 각각의 플래그는 이에 대응하는 파일이 상기 제 1 상태로 되는 것을 나타내는 오프 플래그나, 상기 대응하는 파일이 상기 제 2 상태로 되는 것을 나타내는 온 플래그로 설정되며,
    상기 기입부에 의해 특정된 파일은 상기 오프 플래그에 대응하고,
    상기 갱신부에 의한 갱신에는 상기 기입부에 의한 데이터의 기입에 의해 상기 특정된 파일의 모든 엔트리 영역이 사용중으로 되는 경우 상기 플래그를 오프에서 온으로 변경하는 것이 포함되는 것을 특징으로 하는 기록장치.
  4. 제 3 항에 있어서,
    상기 파일이 대응하는 오프 플래그는 상기 플래그열의 선두에 가장 가까이에 위치한 오프 플래그인 것을 특징으로 하는 기록장치.
  5. 제 3 항에 있어서,
    상기 상태 정보는 복수의 엔트리 영역을 갖는 파일 중 하나의 파일 또는 상기 복수의 엔트리 영역을 갖는 파일과 다른 하나의 파일에 위치되는 것을 특징으로 하는 기록장치.
  6. 제 1 항에 있어서,
    상기 판독된 상태 정보가 상기 기입부에 의해 참조된 결과 상기 기록매체상의 모든 파일이 상기 제 2 상태인 경우에는 상기 제 1 상태인 파일을 생성하는 생성부를 추가로 구비하는 것을 특징으로 하는 기록장치.
  7. 제 1 항에 있어서,
    상기 각각의 파일에는 2 이상의 값을 갖는 정수인 n개의 엔트리 영역이 있으며,
    상기 기록매체에는 파일내의 n개의 엔트리 영역과 일대일로 대응하는 n개의 플래그로 구성되는 플래그열이 추가로 기록되고, 상기 플래그열의 각각의 플래그는 이에 대응하는 엔트리 영역이 미사용인 것을 나타내는 오프 플래그나, 상기 대응하는 엔트리 영역이 사용중인 것을 나타내는 온 플래그로 설정되며,
    상기 기입부에 의해 데이터가 기입되는 엔트리 영역은 오프 플래그에 대응하는 엔트리 영역인 것을 특징으로 하는 기록장치.
  8. 제 7 항에 있어서,
    상기 엔트리 영역이 대응하는 오프 플래그는 상기 플래그열의 선두에 가장 가까이에 위치한 오프 플래그인 것을 특징으로 하는 기록장치.
  9. 제 7 항에 있어서,
    상기 플래그열은 상기 n개의 엔트리 영역을 갖는 파일 중 하나의 파일 또는상기 n개의 엔트리 영역을 갖는 파일과 다른 하나의 파일에 위치되는 것을 특징으로 하는 기록장치.
  10. 제 9 항에 있어서,
    상기 플래그열과 상태 정보는 상기 n개의 엔트리 영역을 갖는 파일과 다른 파일에 위치되는 것을 특징으로 하는 기록장치.
  11. 제 1 항에 있어서,
    상기 기록매체는 반도체 메모리 카드이며, 이 반도체 메모리 카드는 자신에 접속되는 기기를 인증하기 위한 인증회로와, 상기 기기가 상기 인증회로에 의해 인증될 때에만 상기 기기에 의해 엑세스되는 보호 영역을 포함하고,
    상기 보호 영역에 상기 복수의 파일이 기록되는 것을 특징으로 하는 기록장치.
  12. 제 11 항에 있어서,
    상기 반도체 메모리 카드는 복수의 암호화 콘텐츠가 기록된 사용자 데이터 영역을 추가로 포함하며,
    상기 보호 영역에 기록된 파일의 복수의 엔트리 영역은 상기 복수의 암호화 콘텐츠에 일대일로 할당되고,
    상기 기입부에 의해 상기 특정된 파일의 미사용 엔트리 영역에 기입된 데이터에는, 상기 미사용 엔트리 영역이 할당되는 암호화 콘텐츠에 관련된 해독키와 권리관리정보 중 하나가 포함되는 것을 특징으로 하는 기록장치.
  13. 제 1 항에 있어서,
    상기 기록매체의 영역은 복수의 클러스터로 이루어지며,
    상기 파일내의 엔트리 영역은 각각 일정한 길이를 가지고,
    상기 각각의 파일내의 엔트리 영역의 개수는 상기 각 파일의 사이즈가 클러스터의 사이즈와 같거나 작도록 설정되는 것을 특징으로 하는 기록장치.
  14. 제 13 항에 있어서,
    상기 기록매체는 상기 기입부에 의해 데이터를 기입하기 전에 기록되어 있는 데이터를 소거할 필요가 있는 반도체 메모리 카드이며,
    상기 클러스터의 사이즈는 상기 반도체 메모리 카드의 최소 소거가능 영역의 사이즈와 같거나 정수분의 1인 것을 특징으로 하는 기록장치.
  15. 복수의 엔트리 영역을 각각 갖는 복수의 파일과;
    상기 복수의 파일의 각각에 대해, 상기 파일이 상기 복수의 엔트리 영역 중에서 사용중인 엔트리 영역이 하나 이상인 제 1 상태인지, 모든 엔트리 영역이 사용중인 제 2 상태인지를 나타내는 상태 정보가 기록되어 있는 것을 특징으로 하는 기록매체.
  16. 제 15 항에 있어서,
    2 이상의 값을 갖는 정수인 m개의 파일이 있으며,
    상기 상태 정보는 상기 m개의 파일에 일대일로 대응하는 m개의 플래그로 구성되는 플래그열이고, 상기 플래그열의 각각의 플래그는 이에 대응하는 파일이 상기 제 1 상태로 되는 것을 나타내는 오프 플래그나, 상기 대응하는 파일이 상기 제 2 상태로 되는 것을 나타내는 온 플래그로 설정되는 것을 특징으로 하는 기록매체.
  17. 제 15 항에 있어서,
    상기 각각의 파일에는 2이상의 값을 갖는 정수인 n개의 엔트리 영역이 있으며,
    상기 기록매체에는 파일내의 n개의 엔트리 영역과 일대일로 대응하는 n개의 플래그로 구성되는 플래그열이 추가로 기록되고, 상기 플래그열의 각각의 플래그는 이에 대응하는 엔트리 영역이 미사용인 것을 나타내는 오프 플래그나, 상기 대응하는 엔트리 영역이 사용중인 것을 나타내는 온 플래그로 설정되는 것을 특징으로 하는 기록매체.
  18. 제 15 항에 있어서,
    상기 기록매체는 반도체 메모리 카드이며, 이 반도체 메모리 카드는 자신에 접속되는 기기를 인증하기 위한 인증회로와, 상기 기기가 상기 인증회로에 의해 인증될 때에만 상기 기기에 의해 엑세스되는 보호 영역을 포함하고,
    상기 보호 영역에 상기 복수의 파일이 기록되는 것을 특징으로 하는 기록매체.
  19. 제 18 항에 있어서,
    상기 반도체 메모리 카드는 복수의 암호화 콘텐츠가 기록된 사용자 데이터 영역을 추가로 포함하며,
    상기 보호 영역에 기록된 파일의 복수의 엔트리 영역은 상기 복수의 암호화 콘텐츠에 일대일로 할당되고,
    상기 기입부에 의해 상기 특정된 파일의 미사용 엔트리 영역에 기입된 데이터에는, 상기 미사용 엔트리 영역이 할당되는 암호화 콘텐츠에 관련된 해독키와 권리관리정보 중 하나가 포함되는 것을 특징으로 하는 기록매체.
  20. 제 15 항에 있어서,
    상기 기록매체의 영역은 복수의 클러스터로 이루어지며,
    상기 파일내의 엔트리 영역은 각각 일정한 길이를 가지고,
    상기 각각의 파일내의 엔트리 영역의 개수는 상기 각 파일의 사이즈가 클러스터의 사이즈와 같거나 작도록 설정되는 것을 특징으로 하는 기록매체.
  21. 제 20 항에 있어서,
    상기 기록매체는 상기 기입부에 의해 데이터를 기입하기 전에 기록되어 있는 데이터를 소거할 필요가 있는 반도체 메모리 카드이며,
    상기 클러스터의 사이즈는 상기 반도체 메모리 카드의 최소 소거가능 영역의 사이즈와 같거나 정수분의 1인 것을 특징으로 하는 기록매체.
  22. 복수의 엔트리 영역을 각각 갖는 복수의 파일이 기록된 기록매체에 대한 기록처리를 컴퓨터로 실행시키기 위한 컴퓨터 프로그램에 있어서,
    상기 복수의 파일의 각각에 대해, 상기 파일이 미사용의 엔트리 영역을 하나 이상 가지고 있는 제 1 상태인지 또는 모든 엔트리 영역이 사용중인 제 2 상태인지를 나타내는 상태 정보를 상기 기록매체로부터 판독하는 판독단계와;
    판독한 상기 상태 정보를 참조하여 상기 제 1 상태인 파일을 특정하고 이 특정된 파일의 미사용 엔트리 영역에 데이터를 기입하는 기입단계와;
    상기 기입단계에서의 데이터의 기입에 의해 상기 특정된 파일내의 모든 엔트리 영역이 사용중으로 되면 상기 특정된 파일이 상기 제 2 상태로 되는 것을 나타내도록 상기 상태 정보를 갱신하는 갱신단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  23. 제 22 항에 있어서,
    상기 상태 정보는 상기 제 2 상태인 상기 파일내의 엔트리 영역이 미사용으로 되는 경우에 상기 파일이 상기 제 1 상태로 되는 것을 나타내도록 상기 갱신단계에서 갱신되는 것을 특징으로 하는 컴퓨터 프로그램.
  24. 제 22 항에 있어서,
    2 이상의 값을 갖는 정수인 m개의 파일이 있으며,
    상기 상태 정보는 상기 m개의 파일에 일대일로 대응하는 m개의 플래그로 구성되는 플래그열이고, 상기 플래그열의 각각의 플래그는 이에 대응하는 파일이 상기 제 1 상태로 되는 것을 나타내는 오프 플래그나, 상기 대응하는 파일이 상기 제 2 상태로 되는 것을 나타내는 온 플래그로 설정되며,
    상기 기입단계에서 특정된 파일은 상기 오프 플래그에 대응하고,
    상기 갱신단계에서의 갱신에는 상기 기입단계에서의 데이터의 기입에 의해 상기 특정된 파일의 모든 엔트리 영역이 사용중으로 되는 경우 상기 플래그를 오프에서 온으로 변경하는 단계가 포함되는 것을 특징으로 하는 컴퓨터 프로그램.
  25. 제 24 항에 있어서,
    상기 파일이 대응하는 오프 플래그는 상기 플래그열의 선두에 가장 가까이에 위치한 오프 플래그인 것을 특징으로 하는 컴퓨터 프로그램.
  26. 제 24 항에 있어서,
    상기 상태 정보는 복수의 엔트리 영역을 갖는 파일 중 하나의 파일 또는 상기 복수의 엔트리 영역을 갖는 파일과 다른 하나의 파일에 위치되는 것을 특징으로하는 컴퓨터 프로그램.
  27. 제 22 항에 있어서,
    상기 판독된 상태 정보가 상기 기입단계에서 참조된 결과 상기 기록매체상의 모든 파일이 상기 제 2 상태인 경우에는 상기 제 1 상태인 파일을 생성하는 생성단계를 추가로 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  28. 제 22 항에 있어서,
    상기 각각의 파일에는 2 이상의 값을 갖는 정수인 n개의 엔트리 영역이 있으며,
    상기 기록매체에는 파일내의 n개의 엔트리 영역과 일대일로 대응하는 n개의 플래그로 구성되는 플래그열이 추가로 기록되고, 상기 플래그열의 각각의 플래그는 이에 대응하는 엔트리 영역이 미사용인 것을 나타내는 오프 플래그나, 상기 대응하는 엔트리 영역이 사용중인 것을 나타내는 온 플래그로 설정되며,
    상기 기입단계에서 데이터가 기입되는 엔트리 영역은 오프 플래그에 대응하는 엔트리 영역인 것을 특징으로 하는 컴퓨터 프로그램.
  29. 제 28 항에 있어서,
    상기 엔트리 영역이 대응하는 오프 플래그는 상기 플래그열의 선두에 가장 가까이에 위치한 오프 플래그인 것을 특징으로 하는 컴퓨터 프로그램.
  30. 제 28 항에 있어서,
    상기 플래그열은 상기 n개의 엔트리 영역을 갖는 파일 중 하나의 파일 또는 상기 n개의 엔트리 영역을 갖는 파일과 다른 하나의 파일에 위치되는 것을 특징으로 하는 컴퓨터 프로그램.
  31. 제 30 항에 있어서,
    상기 플래그열과 상태 정보는 상기 n개의 엔트리 영역을 갖는 파일과 다른 파일에 위치되는 것을 특징으로 하는 컴퓨터 프로그램.
  32. 제 22 항에 있어서,
    상기 기록매체는 반도체 메모리 카드이며, 이 반도체 메모리 카드는 자신에 접속되는 기기를 인증하기 위한 인증회로와, 상기 기기가 상기 인증회로에 의해 인증될 때에만 상기 기기에 의해 엑세스되는 보호 영역을 포함하고,
    상기 보호 영역에 상기 복수의 파일이 기록되는 것을 특징으로 하는 컴퓨터 프로그램.
  33. 제 32 항에 있어서,
    상기 반도체 메모리 카드는 복수의 암호화 콘텐츠가 기록된 사용자 데이터 영역을 추가로 포함하며,
    상기 보호 영역에 기록된 파일의 복수의 엔트리 영역은 상기 복수의 암호화 콘텐츠에 일대일로 할당되고,
    상기 기입단계에서 상기 특정된 파일의 미사용 엔트리 영역에 기입된 데이터에는, 상기 미사용 엔트리 영역이 할당되는 암호화 콘텐츠에 관련된 해독키와 권리관리정보 중 하나가 포함되는 것을 특징으로 하는 컴퓨터 프로그램.
  34. 제 22 항에 있어서,
    상기 기록매체의 영역은 복수의 클러스터로 이루어지며,
    상기 파일내에서의 엔트리 영역은 각각 일정한 길이를 가지고,
    상기 각각의 파일내의 엔트리 영역의 개수는 상기 각 파일의 사이즈가 클러스터의 사이즈와 같거나 작도록 설정되는 것을 특징으로 하는 컴퓨터 프로그램.
  35. 제 34 항에 있어서,
    상기 기록매체는 상기 기입단계에서 데이터를 기입하기 전에 기록되어 있는 데이터를 소거할 필요가 있는 반도체 메모리 카드이며,
    상기 클러스터의 사이즈는 상기 반도체 메모리 카드의 최소 소거가능 영역의 사이즈와 같거나 정수분의 1인 것을 특징으로 하는 컴퓨터 프로그램.
  36. 제 22 항에 있어서,
    상기 컴퓨터 프로그램은 컴퓨터로 판독 가능한 기억 매체상에 저장되어 있는것을 특징으로 하는 컴퓨터 프로그램.
  37. 복수의 엔트리 영역을 각각 갖는 복수의 파일이 기록된 기록매체에 대한 기록방법에 있어서,
    상기 복수의 파일의 각각에 대해, 상기 파일이 미사용의 엔트리 영역을 하나 이상 가지고 있는 제 1 상태인지 또는 모든 엔트리 영역이 사용중인 제 2 상태인지를 나타내는 상태 정보를 상기 기록매체로부터 판독하는 판독단계와;
    판독한 상기 상태 정보를 참조하여 상기 제 1 상태인 파일을 특정하고 이 특정된 파일의 미사용 엔트리 영역에 데이터를 기입하는 기입단계와;
    상기 기입단계에서의 데이터의 기입에 의해 상기 특정된 파일내의 모든 엔트리 영역이 사용중으로 되면 상기 특정된 파일이 상기 제 2 상태로 되는 것을 나타내도록 상기 상태 정보를 갱신하는 갱신단계를 포함하는 것을 특징으로 하는 기록방법.
KR1020047000075A 2001-07-05 2002-07-01 기록장치, 기록매체, 기록방법 KR100859922B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2001-00204322 2001-07-05
JP2001204322 2001-07-05
PCT/JP2002/006630 WO2003005178A2 (en) 2001-07-05 2002-07-01 Recording apparatus, medium, method, and related computer program

Publications (2)

Publication Number Publication Date
KR20040016968A true KR20040016968A (ko) 2004-02-25
KR100859922B1 KR100859922B1 (ko) 2008-09-23

Family

ID=19040814

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047000075A KR100859922B1 (ko) 2001-07-05 2002-07-01 기록장치, 기록매체, 기록방법

Country Status (8)

Country Link
US (1) US7269741B2 (ko)
EP (1) EP1402372B1 (ko)
KR (1) KR100859922B1 (ko)
CN (1) CN1287289C (ko)
MX (1) MXPA03011964A (ko)
NO (1) NO334475B1 (ko)
TW (1) TW591386B (ko)
WO (1) WO2003005178A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100755707B1 (ko) * 2005-01-13 2007-09-05 삼성전자주식회사 호스트 디바이스, 휴대용 저장장치, 및 휴대용 저장장치에저장된 권리객체의 메타 정보를 갱신하는 방법

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001029670A2 (en) * 1999-10-21 2001-04-26 Matsushita Electric Industrial Co., Ltd. A semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
JP2003296177A (ja) * 2002-04-03 2003-10-17 Sony Corp 記録装置および方法、記録媒体、並びにプログラム
US7478248B2 (en) * 2002-11-27 2009-01-13 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for securing data on a portable storage device
US20050005146A1 (en) * 2003-07-03 2005-01-06 Maui X-Tream, Inc. Methods, data structures, and systems for authenticating media stream recipients
EP1521162A3 (en) * 2003-09-30 2008-02-27 Matsushita Electric Industrial Co., Ltd. Method of managing file structure in memory card
EP1690365A1 (en) * 2003-10-16 2006-08-16 Matsushita Electric Industrial Co., Ltd. Encrypted communication system and communication device
JP4081048B2 (ja) * 2004-06-18 2008-04-23 株式会社東芝 コンテンツ保護方法、装置及びプログラム
JP4144573B2 (ja) * 2004-07-15 2008-09-03 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
WO2006013924A1 (ja) * 2004-08-06 2006-02-09 Pioneer Corporation 記録再生装置、記録媒体処理装置、再生装置、記録媒体、コンテンツ記録再生システム、及びコンテンツ記録再生方法
JP4794269B2 (ja) * 2004-11-08 2011-10-19 パナソニック株式会社 セキュアデバイスおよび中継端末
US8504849B2 (en) 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
US8601283B2 (en) * 2004-12-21 2013-12-03 Sandisk Technologies Inc. Method for versatile content control with partitioning
US20070168292A1 (en) * 2004-12-21 2007-07-19 Fabrice Jogand-Coulomb Memory system with versatile content control
US8051052B2 (en) * 2004-12-21 2011-11-01 Sandisk Technologies Inc. Method for creating control structure for versatile content control
CN100449504C (zh) * 2005-01-05 2009-01-07 华为技术有限公司 一种基于bitmap表的缓存管理方法
EP1684182B1 (en) 2005-01-19 2009-03-18 STMicroelectronics S.r.l. Enhanced security memory access method and architecture
US20080189557A1 (en) 2005-01-19 2008-08-07 Stmicroelectronics S.R.I. Method and architecture for restricting access to a memory device
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US8321953B2 (en) * 2005-07-14 2012-11-27 Imation Corp. Secure storage device with offline code entry
US8438647B2 (en) * 2005-07-14 2013-05-07 Imation Corp. Recovery of encrypted data from a secure storage device
US8015606B1 (en) 2005-07-14 2011-09-06 Ironkey, Inc. Storage device with website trust indication
US8335920B2 (en) * 2005-07-14 2012-12-18 Imation Corp. Recovery of data access for a locked secure storage device
US20070067620A1 (en) * 2005-09-06 2007-03-22 Ironkey, Inc. Systems and methods for third-party authentication
JP4899442B2 (ja) * 2005-11-21 2012-03-21 ソニー株式会社 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
US8639873B1 (en) 2005-12-22 2014-01-28 Imation Corp. Detachable storage device with RAM cache
US8266378B1 (en) 2005-12-22 2012-09-11 Imation Corp. Storage device with accessible partitions
US20070169201A1 (en) * 2006-01-17 2007-07-19 Walker Glenn A Satellite digital audio radio receiver with playback capability
US7701972B1 (en) 2006-03-31 2010-04-20 Verint Americas Inc. Internet protocol analyzing
US8204056B2 (en) 2006-03-31 2012-06-19 Verint Americas, Inc. Systems and methods for endpoint recording using a media application server
US20070300031A1 (en) * 2006-06-22 2007-12-27 Ironkey, Inc. Memory data shredder
US8639939B2 (en) 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
US8266711B2 (en) * 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US8613103B2 (en) 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US8140843B2 (en) * 2006-07-07 2012-03-20 Sandisk Technologies Inc. Content control method using certificate chains
US8245031B2 (en) * 2006-07-07 2012-08-14 Sandisk Technologies Inc. Content control method using certificate revocation lists
US20110022850A1 (en) * 2006-07-26 2011-01-27 Hondar Lee Access control for secure portable storage device
US7953750B1 (en) 2006-09-28 2011-05-31 Verint Americas, Inc. Systems and methods for storing and searching data in a customer center environment
US7899178B2 (en) 2006-09-29 2011-03-01 Verint Americas Inc. Recording invocation of communication sessions
US7570755B2 (en) * 2006-09-29 2009-08-04 Verint Americas Inc. Routine communication sessions for recording
JP2008123482A (ja) * 2006-10-18 2008-05-29 Matsushita Electric Ind Co Ltd 記憶媒体制御方法
KR100869945B1 (ko) * 2006-11-03 2008-11-24 삼성전자주식회사 Drm 권한 개선 방법과 drm 권한 개선 컨텐츠 및 이를이용하는 휴대 단말기
JP4978224B2 (ja) * 2007-02-08 2012-07-18 カシオ計算機株式会社 光電変換装置及びそれを備えた表示パネル
WO2008139670A1 (ja) * 2007-04-26 2008-11-20 Panasonic Corporation 権利情報暗号化モジュール、不揮発性記憶装置、権利情報記録システム、権利情報復号化モジュール、権利情報読出システム及び権利情報記録読出システム
US8761402B2 (en) * 2007-09-28 2014-06-24 Sandisk Technologies Inc. System and methods for digital content distribution
US8695087B2 (en) * 2008-04-04 2014-04-08 Sandisk Il Ltd. Access control for a memory device
WO2009135196A1 (en) * 2008-05-02 2009-11-05 Ironkey, Inc. Enterprise device policy management
US8401155B1 (en) 2008-05-23 2013-03-19 Verint Americas, Inc. Systems and methods for secure recording in a customer center environment
US9104618B2 (en) 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
JP4592804B2 (ja) * 2008-12-26 2010-12-08 株式会社東芝 鍵管理装置および鍵管理システム
US20100228906A1 (en) * 2009-03-06 2010-09-09 Arunprasad Ramiya Mothilal Managing Data in a Non-Volatile Memory System
US9083685B2 (en) * 2009-06-04 2015-07-14 Sandisk Technologies Inc. Method and system for content replication control
US20100310076A1 (en) * 2009-06-04 2010-12-09 Ron Barzilai Method for Performing Double Domain Encryption in a Memory Device
JP4798672B2 (ja) * 2009-06-29 2011-10-19 東芝ストレージデバイス株式会社 磁気ディスク装置
US8683088B2 (en) 2009-08-06 2014-03-25 Imation Corp. Peripheral device data integrity
US8745365B2 (en) * 2009-08-06 2014-06-03 Imation Corp. Method and system for secure booting a computer by booting a first operating system from a secure peripheral device and launching a second operating system stored a secure area in the secure peripheral device on the first operating system
US20110173458A1 (en) * 2010-01-13 2011-07-14 Bonica Richard T Secure portable data storage device
JP5473623B2 (ja) * 2010-01-15 2014-04-16 キヤノン株式会社 データ記録装置及びその制御方法
JP5523128B2 (ja) * 2010-02-03 2014-06-18 キヤノン株式会社 記録装置及びその制御方法
JP5406750B2 (ja) * 2010-02-03 2014-02-05 キヤノン株式会社 記録装置及びその制御方法
PL218100B1 (pl) 2010-04-29 2014-10-31 Int Tobacco Machinery Poland Stacja dokująca przyrządu czyszczącego, sposób przechowywania i wprowadzania przyrządu czyszczącego
US8495296B2 (en) 2010-05-18 2013-07-23 International Business Machines Corporation System and method for optimizing data remanence over hubrid disk clusters using various storage technologies
US8489224B2 (en) 2011-02-28 2013-07-16 Solidcam Ltd. Computerized tool path generation
US9690282B2 (en) 2011-02-28 2017-06-27 Solidcam Ltd. Computerized tool path generation
JP5765130B2 (ja) * 2011-08-11 2015-08-19 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
EP2560434A1 (en) * 2011-08-19 2013-02-20 Gemalto SA Method for switching a subscription from a first MNO to a second MNO
US9251143B2 (en) * 2012-01-13 2016-02-02 International Business Machines Corporation Converting data into natural language form
KR101287518B1 (ko) * 2012-02-08 2013-08-23 주식회사 파수닷컴 Epub 기반 컨텐츠에 대한 디지털 저작권 관리장치 및 방법, 그리고 사용자 권한에 따른 epub 기반 컨텐츠 제공장치 및 방법
US9143331B2 (en) 2013-02-07 2015-09-22 Qualcomm Incorporated Methods and devices for authentication and key exchange
US20140237263A1 (en) * 2013-02-19 2014-08-21 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device and memory system using the same
US9413738B2 (en) 2014-06-19 2016-08-09 Microsoft Technology Licensing, Llc Securing communications with enhanced media platforms
CN104666062A (zh) * 2015-02-07 2015-06-03 深圳市中和风科技开发有限公司 可读卡式美容仪
US10884919B2 (en) * 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4961134A (en) * 1988-07-15 1990-10-02 International Business Machines Corporation Method for minimizing locking and reading in a segmented storage space
JPH02252035A (ja) 1989-03-24 1990-10-09 Hitachi Ltd 磁気ディスク内領域のファイルへの割り当て方式
DE69320900T3 (de) * 1992-08-13 2007-04-26 Matsushita Electric Industrial Co., Ltd., Kadoma IC-Karte mit hierarchischer Dateienstruktur
JP2856621B2 (ja) 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
WO1995016238A1 (en) 1993-12-06 1995-06-15 Telequip Corporation Secure computer memory card
US5838614A (en) * 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US5835935A (en) * 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
DE69800526T2 (de) * 1997-09-17 2004-08-05 Matsushita Electric Industrial Co., Ltd., Kadoma Aufzeichnungsgerät für optische Platte und computerlesbares Aufzeichnungsmedium zur Aufzeichnung eines Dateienverwaltungsprogramms
JP2000163882A (ja) 1998-11-30 2000-06-16 Matsushita Electric Ind Co Ltd ディジタル著作物記録媒体並びに当該記録媒体にアクセスする記録装置、再生装置及び削除装置
JP4281185B2 (ja) * 1999-03-25 2009-06-17 ソニー株式会社 編集装置および方法
CA2338695C (en) * 1999-05-28 2009-07-07 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card, playback apparatus, recording apparatus, playback method, recording method, and computer-readable recording medium
WO2001029670A2 (en) 1999-10-21 2001-04-26 Matsushita Electric Industrial Co., Ltd. A semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100755707B1 (ko) * 2005-01-13 2007-09-05 삼성전자주식회사 호스트 디바이스, 휴대용 저장장치, 및 휴대용 저장장치에저장된 권리객체의 메타 정보를 갱신하는 방법

Also Published As

Publication number Publication date
MXPA03011964A (es) 2004-03-26
NO334475B1 (no) 2014-03-17
TW591386B (en) 2004-06-11
WO2003005178A3 (en) 2003-09-25
EP1402372B1 (en) 2017-09-20
WO2003005178A2 (en) 2003-01-16
CN1552023A (zh) 2004-12-01
CN1287289C (zh) 2006-11-29
US20030041253A1 (en) 2003-02-27
WO2003005178A9 (en) 2004-07-15
US7269741B2 (en) 2007-09-11
EP1402372A2 (en) 2004-03-31
KR100859922B1 (ko) 2008-09-23
NO20035855L (no) 2004-03-04

Similar Documents

Publication Publication Date Title
KR100859922B1 (ko) 기록장치, 기록매체, 기록방법
US6829674B2 (en) Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
CN111695163B (zh) 存储装置以及控制方法
KR20080097766A (ko) 기록매체의 저장영역을 분리하는 방법과 이를 이용한기록매체 및 기록매체에 접근하는 방법 및 이를 이용한기록장치
JP4101975B2 (ja) 可搬型記憶媒体を用いたデータ記録/再生装置
JP3981303B2 (ja) 半導体メモリカード、記録装置、プログラム、方法
JP2000250817A (ja) 記憶システム、記憶装置及び記憶データ保護方法

Legal Events

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

Payment date: 20120821

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130819

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140826

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170823

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190820

Year of fee payment: 12