KR20100031497A - 메모리로부터 헤더 데이터를 저장 및 액세싱하는 방법 - Google Patents

메모리로부터 헤더 데이터를 저장 및 액세싱하는 방법 Download PDF

Info

Publication number
KR20100031497A
KR20100031497A KR1020097022154A KR20097022154A KR20100031497A KR 20100031497 A KR20100031497 A KR 20100031497A KR 1020097022154 A KR1020097022154 A KR 1020097022154A KR 20097022154 A KR20097022154 A KR 20097022154A KR 20100031497 A KR20100031497 A KR 20100031497A
Authority
KR
South Korea
Prior art keywords
content
file
data
memory
host device
Prior art date
Application number
KR1020097022154A
Other languages
English (en)
Inventor
로버트 씨. 창
포 유안
바흐만 콰와미
파시드 사베트-샤기
준쯔히 왕
시안 준 리우
치에-하오 양
준 리
메이 얀
패브리스 조강-쿨롱
Original Assignee
쌘디스크 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쌘디스크 코포레이션 filed Critical 쌘디스크 코포레이션
Publication of KR20100031497A publication Critical patent/KR20100031497A/ko

Links

Images

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은, 파일의 헤더부를 이용하여 데이터를 저장하고 액세싱하는 방법을 제공한다. 일 실시예에서, 비휘발성 메모리에 컨텐트를 제공하는 방법이 개시된다. 상기 방법은, 미디어 컨텐트 및 트레일러를 포함하는 컨텐트 파일을 판독하는 단계와, 파일의 헤더부에 보안 데이터와 함께 상기 트레일러에 관한 정보를 저장하는 단계와, 상기 비휘발성 메모리의 저장 요소 또는 상기 비휘발성 메모리 장치에 연결된 호스트 장치의 메모리 영역에 상기 파일을 저장하는 단계를 포함한다.
비휘발성 메모리, 컨텐트, 미디어 컨텐트, 트레일러 데이터, 컨텐트 파일, 헤더부, 보안 데이터, 호스트 장치, 메모리 영역

Description

메모리로부터 헤더 데이터를 저장 및 액세싱하는 방법{METHOD OF STORING AND ACCESSING HEADER DATA FROM MEMORY}
본 발명은, 일반적으로 파일의 헤더부와 컨텐트부에 대한 액세스를 포함하는 비휘발성 메모리 시스템에 관한 것이다.
비휘발성 메모리 장치를 포함하는 메모리 카드와 같은 메모리 시스템은 많은 목적을 가지며 오디오 또는 비디오 파일과 같은 미디어 컨텐트를 저장하는 데에 이용될 수 있다. 이와 같은 시스템에서, 음악 또는 영화의 제목과 같은 미디어 컨텐트에 관한 정보는 메모리의 최종 섹터에 저장될 수 있다. 이동 전화 또는 호스트 컴퓨터와 같은, 메모리 시스템의 호스트 장치는 다중 데이터 파일용 파일의 최종 섹터를 검색할 필요가 있고 상기 호스트 장치의 파일 시스템은 하나 또는 그 이상의 다중 데이터 파일에 관한 최종 섹터 데이터를 찾기 위해 메모리 클러스터를 통과할 수도 있다. 이러한 작업에는 상당량의 비싼 프로세싱 리소스가 소비되고, 많은 시간이 필요하며, 상기 장치의 성능을 저하시킨다. 예를 들면, 프로세서는 저하된 성능을 인식하는 연장된 초기화 기간의 원인이 됨과 동시에 초기화 프로세스시, 수천 개의 파일을 갖는 파일 액세스 테이블(FAT)을 통과하도록 요청될 수도 있다. 또한, 소비자는 디스플레이를 위해 미디어 파일에서 음악정보를 찾기를 원할 수도 있다. 종래의 시스템은 할당된 섹터를 판독하고 미디어 파일이 재생되기 전에 프레임을 확인하는 데에 많은 시간이 걸린다. 이 문제는 어떤 프로세서들 및 많은 양의 인크립트된 파일을 포함하는 메모리에서 더 심할 수 있다. 따라서, 저장된 미디어 컨텐트의 제어를 향상시킬 필요가 있다.
파일의 헤더부를 이용하여 데이터를 저장하고 액세싱하는 방법이 개시되어 있다. 일 실시예에서, 비휘발성 메모리에 컨텐트를 저장하는 방법이 개시된다. 상기 방법은 미디어 컨텐트 및 트레일러를 포함하는 컨텐트 파일을 판독하는 단계; 파일의 헤더부에 보안 데이터와 함께 상기 트레일러에 관한 정보를 저장하는 단계; 및 상기 비휘발성 메모리의 저장 요소 또는 상기 비휘발성 메모리 장치에 연결된 호스트 장치의 메모리 영역에 상기 파일을 저장하는 단계를 포함한다. 상기 정보는 트레일러 위치도 포함한다.
다른 실시예에서, 컨텐트를 검색하는 방법을 제공한다. 상기 방법은 비휘발성 메모리로부터 컨텐트를 판독하는 단계; 보안 파일의 헤더부로부터 상기 컨텐트에 관한 트레일러 데이터 정보를 판독하는 단계; 및 상기 비휘발성 메모리에 대한 액세스를 갖는 호스트 장치의 디스플레이 장치에 상기 트레일러 데이터 관련 정보를 제공하는 단계를 포함하고, 상기 헤더부는 상기 컨텐트에 관한 보안 데이터 항목을 더 포함한다.
또 다른 실시예에서, 비휘발성 재기록 가능 메모리를 이용하여 미디어 컨텐트를 액세싱하는 방법을 제공한다. 상기 방법은 액세스 권한과 관련한 정보를 수신하는 단계; 액세스 권한을 상기 비휘발성 재기록 가능 메모리의 보안 메모리 영역에 저장하는 단계; 적어도 하나의 선택된 인크립트된 미디어 컨텐트 항목의 디크립트된 버젼을 제공하는 단계; 및 상기 보안 메모리 영역의 헤더부로부터 검색된 메타데이터를 제공하는 단계를 포함하고, 상기 메타데이터는 상기 적어도 하나의 선택된 인크립트된 미디어 컨텐트 항목과 관련된다. 상기 적어도 하나의 선택된 인크립트된 미디어 컨텐트 항목의 디크립트된 버젼은 호스트 장치에 제공된다. 액세스 권한은 상기 비휘발성 재기록 가능 비휘발성 메모리에 저장된 인크립트된 미디어 컨텐트를 디크립트하기 위한 컨텐트 디크립션 키에 대한 액세스를 인가한다.
도 1은, 호스트 장치 및 메모리 장치를 포함하는 시스템의 일 실시예를 도시한 블록도.
도 2는, 연결된 호스트 장치 및 메모리 장치와 함께 사용되는 제어기의 특정 실시예를 도시한 블록도.
도 3은, 도 1의 시스템의 애플리케이션을 도시한 일반도.
도 4는, 컨텐트 파일을 저장하는 방법의 특정 실시예를 도시한 순서도.
도 5는, 메모리로부터 컨텐트를 검색하는 방법의 특정 실시예를 도시한 순서도.
도 6은, 컨텐트 파일의 컨텐트를 판독하고 반환하는 방법의 특정 실시예를 도시한 순서도.
도 7은, 컴퓨터 판독 가능 미디어에 저장될 수 있는 보안 파일의 데이터 구 조를 도시한 일반도.
도 8은, 컴퓨터 판독 가능 미디어에 저장될 수 있는 보안 파일의 헤더부의 데이터 구조를 도시한 일반도.
도 9는, 파일의 헤더부에 저장될 수 있는 메타데이터의 데이터 구조를 도시한 일반도.
도 10은, 파일의 헤더부에 저장될 수 있는 트레일러의 데이터 구조를 도시한 일반도.
도 1은, 호스트 장치(102) 및 호스트 장치(102)에 액세스 가능한 메모리 장치(110)를 포함하는 시스템(100)의 실시예를 도시하고 있는 블록도이다. 상기 메모리 장치(110)가 호스트 장치(102) 내에 도시되어 있지만, 상기 메모리 장치(110)는 USB 인터페이스, SCSI, ATA, IDE 인터페이스, 시리얼 ATA 인터페이스, 방화벽 인터페이스, 및 기타 인터페이스, 또는 이들의 조합과 같은, 하나 이상의 인터페이스를 통해 상기 호스트 장치(102)에 액세스 가능한 외부 메모리 장치일 수 있다. 특정 실시예에서, 상기 메모리 장치(110)는 플래시 메모리 카드, 스마트카드, 하드디스크, 다른 메모리 종류, 또는 이들의 임의의 조합일 수도 있다.
상기 호스트 장치(102)는 네트워크(104)를 통해 서비스 제공자(106)와 통신할 수 있다. 상기 서비스 제공자(106)는 미디어 컨텐트 소스일 수 있다. 상기 호스트 장치는 또한 디스플레이 데이터를 디스플레이 장치(108)에 전송할 수 있고, 이는 상기 호스트 장치(102)와 연결되거나 또는 상기 호스트 장치(102)와 통합될 수 있다.
호스트 장치(102)는 메모리 장치(110), 메모리 장치(110)에 액세스 가능한 프로세서(112), 디스플레이 인터페이스(116), 및 네트워크(104)에 감응하는 네트워크 인터페이스(114)를 포함한다. 디스플레이 인터페이스(116)는 프로세서(112)로부터 데이터를 받아 디스플레이를 위해 상기 데이터를 디스플레이 장치(108)에 전송할 수 있다. 메모리 장치(110)는 저장 매체(118) 및 상기 저장 매체(118)에 저장된 데이터에 대한 액세스를 제어하는 제어기(120)를 포함한다. 저장 매체(118)는 보안 메모리 영역(122) 및 공적 메모리 영역(124)을 포함한다. 보안 메모리 영역(122)은 인크립션 키 식별기(IDs)(126), 하나 이상의 제어구조(128), 및 선택적으로 인크립션 키 테이블(130)을 포함한다.
또한, 공적 메모리 영역(124)은 메타데이터 및 트레일러 데이터를 갖는 헤더부(144)와 컨텐트부(146)를 포함하는 보안 파일(132)을 포함할 수 있다. 헤더부(144)는 보안 데이터, 트레일러 데이터, 및 공적 메모리 영역(124)에 저장되는 컨텐트에 관한 메타데이터를 포함한다. 상기 보안 데이터는 저장 매체(118)의 보안 메모리 영역(122) 내의 히든 영역에 관한 디렉토리 정보를 포함할 수 있다. 상기 트레일러 데이터는 상기 파일 컨텐트의 소정 영역에 관한 위치를 포함할 수 있다. 예를 들면, 상기 트레일러 데이터는 파일의 최종 512 바이트, 상기 파일로부터 선택된 데이터 섹터, 상기 파일의 소정 세그먼트, 또는 이들의 조합과 같은 컨텐트의 제한된 일부에 관한 위치를 포함할 수 있다. 특정 실시예에서, 상기 트레일러 데이터는, 상기 메모리 장치(110)의 보안 메모리 영역(122) 및 공적 메모리 영역(124) 과 같은, 상기 트레일러 데이터가 섹터 경계와 정렬되었는지를 나타내는 제 1 필드, 상기 트레일러 데이터의 많은 섹터를 식별하는 제 2 필드, 상기 트레일러 데이터의 섹터 오프셋 값을 식별하는 제 3 데이터, 및 메모리 영역의 섹터와 연관된 바이트 오프셋 값을 식별하는 제 4 필드를 포함한다. 헤더부(144)는 적어도 하나의 보안 데이터 항목을 포함하고, 상기 메모리 장치(118)와 같은, 비휘발성 메모리에 저장되는 미디어 컨텐트에 관한 메타데이터를 포함한다. 헤더부(144)는 상기 컨텐트 파일에 관한 데이터를 포함하는 여러 개의 필드를 포함할 수 있다. 상기 필드 중 적어도 하나는 서명영역을 포함한다.
호스트 장치(102)는 디스플레이 인터페이스(116), 네트워크 인터페이스 어댑터{예를 들어, 네트워크 인터페이스 어댑터(114)}, 모뎀, 기타 내부 및 주변 하드웨어, 또는 이들의 조합과 같은 호스트 장치(102)의 다양한 구성요소와 통신하도록 상기 프로세서(112)에 의해 실행될 수 있는 소프트웨어 드라이버(134)를 포함한다. 또한, 호스트 장치(102)는 소프트웨어 애플리케이션(136) 및 상기 호스트 장치(102)에 기능성을 제공하기 위해 프로세서(112)에 의해 실행될 수 있는 애플리케이션 프로그램 인터페이스(APIs)(138)를 포함한다. 상기 APIs(138)는 메모리 장치(110)에 저장되는 파일의 최종 섹터 위치(예를 들어, 트레일러 데이터)를 상기 파일의 헤더부에 저장하도록 상기 프로세서에 의해 실행될 수 있는 하나 이상의 명령어를 포함한다. 상기 APIs(138)는 또한 상기 파일의 최종 섹터를 판독하기 위한 적어도 하나의 명령어를 포함할 수 있다.
호스트 장치(102)는 또한 시스템 에이전트/파일 시스템 툴키트(140)를 포함 한다. 상기 시스템 에이전트/파일 시스템 툴키트(140)는 저장 매체(118)의 다양한 특성을 구성하도록 상기 프로세서(112) 또는 상기 제어기(120)에 의해 실행될 수 있는 시스템 에이전트 소프트웨어 애플리케이션을 포함한다. 상기 시스템 에이전트/파일 시스템 툴키트(140)는 상기 시스템 에이전트/파일 시스템 툴키트(140)와 관련된 한 세트의 증명서(credential)에 기초하여 저장 매체(118)에 저장된 컨텐트에 대한 액세스에 이용될 수 있다. 특정 실시예에서, 상기 시스템 에이전트/파일 시스템 툴키트(140)는 저장 매체(118)의 히든 파티션(148)에 저장된 액세스 제어 기록(150)을 이용하여 제어기(120)에 의해 인증될 수 있는 내장 증명서 세트를 구비할 수 있다.
또한, 호스트 장치(102)는 상기 보안 메모리 영역(122) 및 상기 공적 메모리 영역(124)에 액세스하도록 상기 프로세서(112) 및/또는 상기 제어기(120)에 의해 실행가능한 판독/기록 애플리케이션을 포함한다. 메모리 장치(110)는 또한 히든 파티션(148)을 포함할 수 있다. 상기 히든 파티션(148)은 호스트 장치(102)의 파일 시스템에 보이지 않을 수 있지만, 메모리 장치(110)의 제어기(120)에 액세스할 수 있다. 상기 히든 파티션(148)은 하나 이상의 액세스 제어 기록(ACRs)(150)을 포함할 수 있다. 각각의 기록은 인증 증명서 및 관련 허가의 테이블을 포함할 수 있다. 제어기(120)는 각각의 액세스 요청 및 호스트 애플리케이션을 인증함으로써 상기 공적 메모리 영역(124)에 저장된 컨텐트 및 상기 보안 메모리 영역(122)에 대한 액세스를 제어하도록 히든 파티션(148) 내에서 상기 ACR(150)을 이용할 수 있다. 특정 실시예에서, 호스트 장치(102)는 제어기(120)와 함께 보안 세션을 설정하고 상 기 제어기(120)는 보안 메모리 영역(122)으로부터 컨텐트를 디크립트하고 호스트 장치(102)에 상기 컨텐트를 제공하기 전에 세션 키를 이용하여 상기 컨텐트를 인크립트한다. 이러한 방식으로, 상기 컨텐트가 보호되고, 상기 인크립션 키는 메모리 장치(110)의 외부로 노출되지 않고 상기 제어기(120)에 의해 이용될 수 있다.
일반적으로, 상기 히든 파티션(148)에 액세스하기 위해, 액세스 제어 기록(ACR)(150)으로의 로그인이 제공된다. 로그인 후, 상기 제어기(120)는 컨텐트를 검색할 수 있다. 특정 실시예에서, 검색된 컨텐트의 비제한적 재생을 위한 로그인에 기초하여 액세스 허가가 검색될 수 있다. 특정 실시예에서, 상기 로그인은 컨텐트 식별자 및 비밀 값(예를 들어, 호스트 장치(102)와 메모리 장치(110) 사이의 비밀 값)으로부터 계산된다. 상기 툴키트 애플리케이션이 정확한 내장 증명서를 구비하기 때문에 상기 시스템 에이전트/파일 시스템 툴키트(140)를 구비한 호스트 장치(102)가 상기 컨텐트에 액세스할 수 있다.
특정 실시예에서, 메모리 장치(110)는 상기 호스트 장치(102) 상에서 실행되는 애플리케이션과 관련하여 이용될 수 있는 신뢰성이 있는 컨텐트 보호 특징을 포함한다. 상기 애플리케이션은 상기 애플리케이션의 일부가 될 수 있는 디지털 권한 관리 에이전트를 포함할 수 있다. 예를 들면, 상기 애플리케이션은 MP3 플레이어 애플리케이션과 같은 미디어 컨텐트 플레이어 애플리케이션일 수 있고, 이는 디지털 권한 관리(DMR) 에이전트를 포함할 수 있다. 상기 메모리 장치(110)에 저장된 컨텐트에 대한 액세스는 액세스 제어 기록(150)에 로그인함으로써 제어될 수 있고, 상기 기록은 메모리 장치(110)의 저장 매체(118)의 히든 파티션(148)에 저장될 수 있다. 액세스 제어 기록(150)은 다중 신뢰성 식별자 및 관련 증명서를 포함할 수 있다.
특정 실시예에서, 히든 파티션(148)은 한 세트의 액세스 제어 기록(150)을 포함할 수 있다. 예를 들면, 호스트 장치(102)에서 실행되는 각각의 애플리케이션은 각자 자신의 디지털 권한 관리 에이전트를 구비할 수 있고 히든 파티션(148)은 각각의 디지털 권한 관리(DRM) 에이전트에 관한 액세스 제어 기록(150)을 포함할 수 있다. 또 다른 실시예에서, 상기 히든 파티션은 액세스 권한 관리 테이블을 포함할 수 있다. 상기 액세스 제어 기록(ACRs)(150)은 상기 메모리 장치(110)와, 호스트 장치(102) 상에서 실행되는 애플리케이션의 사이에 보안 세션을 설정하는 데에 이용될 수 있다. 상기 ACRs(150)은 저장된 컨텐트에 대한 액세스를 제어하도록 액세스 허가를 판단하는 데에 이용될 수 있다.
특정 실시예에서, 파일의 컨텐트부는 노래와 같은 오디오 데이터를 포함할 수 있고, 상기 파일의 메타데이터는 제목, 특정 오디오 트랙의 길이, 연주자 이름, 및 기타 정보, 또는 이들의 조합과 같은 오디오 데이터와 관련한 노래관련 정보를 표시하는 데이터를 포함할 수 있다. 특정 실시예에서, 상기 노래관련 정보는 MPEG 오디오 레이어-3 (MP3) 식별 정보와 같은 식별 정보를 포함할 수 있다.
상기 보안 메모리 영역(122)은 제어 구조(128) 및, 인크립션 키 식별자(IDs)(126)와 같은 기타 보안 데이터를 수신 및 저장한다. 인크립션 키 식별자(IDs)(126)는 미디어 컨텐트 항목을 인크립트 또는 디크립트하는 데에 이용될 수 있는 인크립션 키의 위치를 확인하기 위해 액세스될 수 있다.
특정 실시예에서, 메모리 장치(110)는 제조자, 서비스 제공자, 재판매자, 또는 기타 공급원에 의해 공급될 수 있다. 메모리 장치(110)는 오디오 컨텐트, 비디오 컨텐트, 및 기타 컨텐트, 또는 이들의 조합과 같은, 미리 로딩된 미디어 컨텐트를 포함할 수 있다. 상기 제어기(120)는 호스트 장치(102)를 인증하고 호스트 장치(102)와의 이용을 위한 액세스 허가를 판단하기 위해 상기 히든 파티션(148) 내에서 ACR을 이용할 수 있다. 일단 액세스 허가가 판단되면, 상기 소프트웨어 APIs(138) 및 상기 판독/기록 애플리케이션(142)은 상기 미리 로딩된 미디어 컨텐트에 대한 액세스를 제어하기 위해 상기 제어기(120)에 의해 이용될 수 있다. 예를 들면, 상기 APIs(138)는 상기 미디어 컨텐트를 메모리 장치(110)에 잠그기 위해 제어기(120)에 의해 이용될 수 있는 권한 관리 프로토콜을 포함할 수 있다. 상기 APIs(138)는 상기 미디어 컨텐트가 호스트 장치(102)와 같은 지원장치 상에서 재생될 수 있도록 한다. 또한, 만약 메모리 장치 (110)가 플래시카드 등과 같은 착탈식 메모리 장치인 경우, 메모리 장치(110)는 분리되어 다른 재생장치에 연결될 수 있으며, 상기 재생장치는 상기 미디어 컨텐트에 액세스하여 재생하는 데에 이용될 수 있다. 메타데이터를 컨텐트 파일의 헤더부에 삽입함으로써, 상기 미디어 재생장치는 예를 들어 사용자의 선택을 위한 재생목록을 생성하기 위해 노래 정보 및 제목에 쉽게 액세스할 수 있다.
특정 실시예에서, 호스트 장치(102)는 파일 및 메모리 어드레스를 파일 액세스 테이블(FAT)로부터 보안저장을 위한 저장 장치(110)로 제공할 수 있다. 상기 FAT는 호스트 장치(102)에 의해 유지 및 제어될 수 있다. 호스트 장치(102)는 저장 장치(110)에 인크립션 키 식별자(ID)를 제공할 수 있다. 제어기(120)는 상기 파일의 컨텐트로부터 메타데이터 및 트레일러 데이터에 관한 위치 정보를 추출하여 상기 추출된 메타데이터 및 위치 정보를 상기 파일의 헤더부에 삽입하기 위해 하나 이상의 APIs(138) 및 판독/기록 애플리케이션(142)을 실행시킨다. 또는, 상기 트레일러 데이터는 상기 파일의 컨텐트로부터 추출되어 상기 헤더부로 삽입될 수 있다. 또한, 제어기(120)는 보안 파일(132)의 헤더부(144)로부터 보안 메모리 영역(122)으로 보안 데이터를 판독할 수 있다. 제어기(120)는 또한 상기 인크립션 키 식별자(ID)에 관한 인크립션 키를 검색하기 위해 인크립션 키 테이블(130)에 액세스할 수 있다. 또는, 제어기(120)는 인크립션 키를 생성하여, 상기 인크립션 키를 인크립션 키 테이블(130)에 저장하고 상기 인크립션 키 ID를 상기 인크립션 키 IDs(126)에 저장하며, 상기 인크립션 키 ID와 인크립션 키 테이블(130) 사이의 연관성을 저장한다. 제어기(120)는 파일을 인크립트하기 위해 상기 인크립션 키를 이용한다. 이후, 인크립트된 파일은 보안 파일(132)로서 공적 메모리 영역(124)에 저장된다.
일반적으로, 시스템 에이전트/파일 시스템 툴키트(140)는 많은 다른 메모리 장치와 연관하여 이용될 수 있다. 상기 APIs(138)는 사용자가 보안 파일(132)의 헤더부(144)를 포함하는 데이터에 액세스하는 것을 가능하게 한다. 상기 시스템 및 방법은 성능을 향상시키고, 컨텐트에 관한 정보를 제공하기 위해, 또는 다른 목적을 위해, 정보를 저장하는 헤더의 용도를 확장시킨다. 예를 들면, 메타데이터 및 트레일러 데이터에 관련된 위치 정보는, 전체 보안 파일을 디크립트하지 않고 보안 파일(132)의 파일 컨텐트로부터 제한된 데이터에 대한 용이한 액세스가 가능하도록, 헤더부(144)에 저장될 수 있다. 상기 제한된 데이터는 미디어 컨텐트 제목, 저자, 길이, 파일 형식, 미리보기 데이터, 및 기타 정보, 또는 이들의 조합과 같은 정보를 포함할 수 있다.
특정 실시예에서, 메모리 장치(110)는 파일의 최종 섹터위치를 헤더에 저장하기 위해 파일 시스템을 요청하도록 제어기(120)에 의해 실행될 수 있는 API(138)를 포함할 수 있다. 또 다른 API(138)는 저장 매체(118)의 일부분의 최종 섹터를 판독할 수 있도록 제어기(120)에 의해 실행될 수 있다. 미리 로딩된 파일의 경우, 상기 시스템 에이전트/파일 시스템 툴키트(140)는 예를 들어 MP3 노래용 ID3 정보를 추출함으로써 파일 컨텐트에 관한 메타데이터 파일을 생성하기 위해 유틸리티를 포함할 수 있다. 상기 시스템 에이전트/파일 시스템 툴키트(140)는 미리 로딩된 미디어 컨텐트(예를 들어, 오디오 컨텐트, 비디오 컨텐트, 기타 컨텐트, 또는 이들의 조합)를 포함하는 파일의 헤더부로 메타데이터를 기록하여 미리 로딩된 메모리 카드를 생성하기 위해 이용될 수 있다. 이러한 미리 로딩된 메모리 카드는 캘리포니아 밀피타스에 있는 샌디스크 회사(SanDisk Corporation)에서 상업적으로 제공하는 GRUVI 카드이다.
일반적으로, 상기 APIs(138)는 다양한 API 기능을 수행하기 위해 제어기(120)에 의해 실행될 수 있다. 여기서 사용할 수 있는 APIs 의 예로는 메타미디어 저장용 API, 메타미디어 검색용 API, 트레일러 데이터에 관한 정보위치 및 트레일러 데이터 저장용 API, 및 트레일러 데이터 검색용 API가 있을 수 있다. 상기 메 타데이터 저장용 API는 파일 이름의 및 저장할 메타데이터의 데이터 구조의 입력을 갖는다. 호스트 장치(102)는 상기 파일 이름과 메타데이터 구조를 제어기(120)에 의해 로딩된 상기 시스템 에이전트/파일 시스템 툴키트(140)로 전송한다. 상기 시스템 에이전트/파일 시스템 툴키트(140)는 저장할 파일의 헤더부에 상기 메타데이터를 기록한다. 특정 실시예에서, 상기 메타데이터 구조 및 메타데이터 정보는 다음 중 하나 이상을 포함한다; 컨텐트 이름, 아티스트 이름, 앨범 이름, 장르, 수명, 저작권, 컨텐트의 설명, 프레임 번호, 시간, 비트율, 샘플비, 및 스테레오 표시기.
상기 APIs(138)는 입력으로서 파일 이름 및 메타데이터 구조를 갖는 "검색 메타데이터" API를 포함한다. 상기 검색 메타데이터 API는 출력시, 성공 또는 에러를 표시하기 위해 상태를 제공한다. 상기 검색 메타데이터 API는 메타데이터 구조를 검색 및 채우기 위해 이용된다. 상기 검색 메타데이터 API는 상기 파일 이름 및 빈 메타데이터 구조를 상기 시스템 에이전트/파일 시스템 툴키트(140)로 전송하는 호스트 장치(102)에 의해 이용된다. 상기 시스템 에이전트/파일 시스템 툴키트(140)는 저장된 보안 파일(132)의 헤더부(144)로부터 상기 메타데이터 구조를 채운다.
상기 APIs(138)는 입력시, 파일 이름을 검색하는 "저장 트레일러 데이터" API를 포함한다. 상기 저장 트레일러 데이터 API는 저장작업이 성공적이었음 또는 저장작업이 오류를 발생시켰음을 표시하는 상태 출력을 제공한다. 상기 저장 트레일러 데이터 API는 출력시 오류 코드 또는 성공 코드를 제공할 수 있다. 상기 저장 트레일러 데이터 API는 상기 파일 이름을 상기 시스템 에이전트/파일 시스템 툴키트(140)로 전송하는 호스트 장치(102)에 의해 이용된다. 상기 시스템 에이전트/파일 시스템 툴키트(140)는 디렉토리 입구로부터 저장된 파일정보를 검색하여 상기 파일의 최종 섹터위치를 판단한다. 상기 저장 트레일러 데이터 API는 트레일러 박스를 채우고 상기 트레일러 데이터를 헤더에 기록한다.
상기 APIs(138)는 또한 입력으로서 파일 이름, 버퍼 크기, 및 버퍼를 검색하는 "검색 트레일러 데이터" API를 포함한다. 상기 검색 트레일러 데이터 API는 출력으로서 상태 표시기를 제공한다. 성공시, 상기 검색 트레일러 데이터 API는 상기 버퍼를 채우고 상기 버퍼 내의 데이터의 길이를 제공한다. 상기 검색 트레일러 데이터 API의 사용시, 호스트 장치(102)는 파일 이름을 상기 시스템 에이전트/파일 시스템 툴키트(140)로 전송한다. 상기 시스템 에이전트/파일 시스템 툴키트(140)는 헤더부(144)의 트레일러 데이터를 판독하고 파일정보를 디렉토리 입구로부터 검색한다. 상기 검색 트레일러 데이터 API는 보안 파일(132)이 수정 또는 이동되었는지를 확인한다. 만약 상기 파일정보가 헤더와 일치하면, 상기 검색 트레일러 데이터 API는 트레일러 데이터를 판독하기 위해 상기 정보를 이용한다. 상기 검색 트레일러 데이터 API는 버퍼 크기까지 버퍼를 채우고 상기 채워진 버퍼를 호스트 장치로 돌려보낸다. 만약 크기의 제한으로 인해 상기 버퍼에 맞는 데이터가 더 있는 경우, 상기 검색 트레일러 데이터 API는 상기 버퍼가 모든 트레일러 데이터에 대해 너무 작다는 것을 표시하기 위한 상태를 돌려보낸다. 사용자, 호스트 장치(102), 또는 제어기(120)는 컨텐트를 보안 메모리 영역(122)에 저장하거나 이전에 저장된 컨텐 트를 검색하기 위해 상기 시스템 에이전트/파일 시스템 툴키트(140) 및 상기 APIs(138)를 이용할 수 있다. 또한, 상기 호스트 장치에서 실행되는 애플리케이션은 재생을 위해 요청된 컨텐트를 검색하기 위해 상기 APIs(138)를 이용할 수 있다.
상기 컨텐트 파일은 오디오 컨텐트, 비디오 컨텐트, 텍스트 데이터, 멀티미디어 컨텐트, 및 기타 데이터 컨텐트, 또는 이들의 조합을 포함할 수 있다. 상기 호스트 장치(102)의 프로세서(112)는 상기 컨텐트 파일로부터 컨텐트를 판독 및 재생하기 위해 소프트웨어(136) 및 판독/기록 애플리케이션(142)을 실행시킬 수 있다. 특정 실시예에서, 메모리 장치(110)는 외부 구성요소에 인크립션 키를 제공하지 않고 인크립션 키를 관리하기에 적합하다. 메모리 장치(110)는 선택된 미디어 컨텐트에 관한 키의 위치를 파악하고 메모리 장치(110) 내의 인크립트/디크립트를 관리하기 위해 다른 장치들로부터 수신되거나 호스트 장치(102)에 의해 제공된 인크립션 키 식별자를 이용하기에 적합할 수도 있다.
특정 실시예에서, 호스트 장치(120)는 네트워크(104)를 통해 서버제공자(106)에 있는 서버와 통신할 수 있다. 특정 실시예에서, 상기 네트워크(104)는 근거리 통신망일 수 있다. 또 다른 실시예에서, 상기 네트워크(104)는 인터넷과 같은 원거리 통신망일 수도 있다. 상기 서비스 공급자(106)의 서버는 호스트 장치(102)에 미디어 컨텐트를 제공할 수 있고 또한 저장 매체(118)의 보안 메모리 영역(122) 내의 제어구조(128)를 생성하기 위해 상기 제어기(120) 및/또는 시스템 에이전트/파일 시스템 툴키트(140)와 통신할 수 있다. 제어기(120)는 저장 매체(118)에 저장된 특정 미디어 컨텐트에 대한 액세스를 관리 및 제어하기 위해 제어구 조(128)를 이용할 수 있다.
도시된 실시예에서, 상기 보안 파일(132)의 컨텐트부(146)는 비디오 데이터를 포함한다. 상기 헤더부(144)는 보안 파일(132)의 소정 영역에 저장된 비디오 데이터에 관한 정보를 포함하는 트레일러 데이터에 관한 위치 정보를 갖는다. 예를 들면, 상기 트레일러 데이터는 파일의 끝 부분, 파일의 최종 섹터 또는 최종 데이터 블록, 파일의 소정 부분, 파일의 다중 부분, 또는 이들의 조합으로부터의 데이터를 포함할 수 있다. 헤더부(144)는 상기 파일의 끝 부분 및 파일의 최종 섹터 또는 최종 데이터 블록 등에 관한 위치 정보를 포함할 수 있다. 상기 비디오 데이터는 디스플레이 장치(108)를 통해 재생 및 디스플레이하기 위해 호스트 장치(102)로 제공되고, 상기 디스플레이 장치는 오디오 재생 기능을 포함한다. 상기 프로세서(112)는 상기 트레일러 데이터에 관한 데이터를 디스플레이 장치(108)로 제공할 수 있고, 인증은 메모리 장치(110)에서 수행되며, 또한 보안 파일(132)은 상기 메모리 장치(110) 또는 이들의 조합에서 디크립트된다.
특정 실시예에서, 호스트 장치(102)는 인크립트된 컴퓨터 판독 가능 파일에 대한 판독/기록 액세스를 제공하기 위해 상기 시스템 에이전트/파일 시스템 툴키트(140)와 같은 시스템 에이전트/파일 시스템 툴키트를 포함할 수 있다. 호스트 장치(102)의 프로세서(112)는 트레일러 데이터에 관한 위치 정보를 컨텐트 파일의 최종 섹터로부터 컨텐트 파일의 헤더부로 저장하기 위해 시스템 에이전트/파일 시스템 툴키트(140)를 이용할 수 있다. 수정된 컨텐트 파일은 인크립트되어 보안 파일(132)의 공적 메모리 영역(124)에 저장된다. 이후, 호스트 장치(102)의 프로세 서(112)는 컨텐트(146)에 관한 데이터를 얻기 위해 보안 파일(132)의 헤더부(144)를 판독한다. 상기 프로세서(112)는 메타데이터와 같이 헤더부(144)에 관련된 데이터를 디스플레이 인터페이스(116)를 통해 디스플레이장치(108)로 제공한다. 프로세서(112)는 또한 디크립트된 키를 식별하고 보안 파일의 컨텐트부(146)를 디크립트하여 디크립트된 컨텐트를 프로세서(112)에 제공하기 위해 보안 메모리 영역(122)의 인크립션 키(IDs)(126)를 이용할 수 있다. 일반적으로, 상기 프로세서(122)는 상기 공적(제 2) 메모리 영역(124)으로부터 컨텐트를 재생하기 전 또는 재생하는 동안 헤더부(144)로부터 디스플레이 장치(108)로 상기 데이터에 관한 정보를 제공할 수 있다.
일반적으로, 상기 메모리 장치(110)와 같은 비휘발성 재기록 가능 메모리 장치는 특히 미디어 컨텐트를 저장하는 데 적합하다. 예를 들면, 플래시 메모리 카드는 영화, 비디오 게임, 오디오 데이터, 또는 이들의 조합을 포함하는 미디어 컨텐트를 저장하는 데 이용될 수 있는 대용량의 저장공간을 구비한다. 또한, 플래시 메모리 카드는 재기록이 가능하기 때문에, 상기 메모리 장치는 콤팩트 디스크와 같은 대용량 재기록불가능 메모리에 비해 보다 유연하다. 비휘발성 재기록 가능 메모리 장치는 저작권자, 컨텐트 제공자, 서비스 제공자(106), 또 다른 실제자, 또는 이들의 조합과 같이 미디어 컨텐트를 배포하기 위한 새로운 수단을 갖는 컨텐트 소유자를 대신해서 또는 이에 의해 확실히 보호 및 제어될 수 있다. 마지막 사용자는 다중 미디어 서비스에 동의하지 않고, 다른 호스트 장치를 통해서 상기와 같은 메모리 장치 내의 미디어 컨텐트에 액세스할 수 있다. 상기 서비스 제공자(106)와 같은 서비스 제공자는 제어된 방식으로 미디어 컨텐트를 확실히 저장하고 배포하는 서비스에 권한을 가져서 추가 수익을 창출할 수 있다.
예를 들어, 상기 메모리 장치(110)와 같은 비휘발성 재기록 가능 메모리 장치는 인크립트된 미디어 컨텐트 및 상기 인크립트된 미디어 컨텐트에 관한 데이터를 포함하는 데이터와 함께 미리 로딩될 수 있다. 특정 실시예에서, 상기 인크립트된 미디어 컨텐트에 관한 데이터는 상기 인크립트된 미디어 컨텐트의 비인크립트 부분 또는 상기 미디어 컨텐트의 비인크립트된 낮은 버젼과 같은 미리보기 데이터를 포함할 수 있다. 상기 미리보기 데이터는 여러 개의 플레이를 제한하는 명령어 또는 전체길이 미디어 컨텐트의 렌더링을 포함할 수 있다.
특정 실시예에서, 서비스 제공자(106)는 재생 한정을 갖는 미리보기 데이터를 포함하여, 호스트 장치(102)에 미디어 컨텐트를 제공할 수 있다. 상기 컨텐트 제공자(106)는 인크립트된 미디어 컨텐트에 대한 비제한적인 액세스 권한을 구매하기 위해 네트워크(104)를 통해 호스트 장치(102)에 의해 액세스 가능한 사용자 인터페이스를 제공할 수 있는 하나 이상의 서버를 포함할 수 있다. 인크립트된 미디어 제목으로 액세스하기 위해 최종 사용자가 권한을 구입한 후, 상기 서비스 제공자(106)는 상기 미디어 컨텐트에 대한 액세스가 가능한 제어기(120)에 의한 사용을 위해 키, 제어 구조, 또는 기타 데이터를 호스트 장치(102)에 제공할 수 있다. 본 실시예에서, 호스트 장치(102)에 관한 정보는 증명서, 인증서, 및 기타 형태의 인증 정보, 또는 이들의 조합을 포함할 수 있다. 호스트 장치(102)에 관한 정보는 미리보기가 가능한 인크립트된 미디어 컨텐트에 대한 액세스를 제어하기 위해 액세스 권한, 액세스 규칙, 재생 규칙, 미디어 컨텐트 공유 제한, 및/또는 미디어 컨텐트 복사 제한과 관련한 정보를 포함한다. 미리보기 데이터에 관한 인크립트된 미디어 컨텐트는 구입한 후에만 최종 사용자에 의해 이용이 가능하다. 특정 실시예에서, 서비스 제공자(106)는 구매 후, 인크립트된 미디어 컨텐트의 비요약판을 상기 호스트 장치(102)에 전송한다. 또 다른 실시예에서, 서비스 제공자(106)는 상기 호스트 장치(102)가, 구매 후, 미리 로딩된 인크립트된 미디어 컨텐트를 디크립트할 수 있도록 상기 호스트 장치(102)에 디크립션 키를 전송한다.
특정 실시예에서, 인크립트된 미디어 컨텐트는 상기 비휘발성 재기록 가능 메모리 장치(106)에 미리 로딩될 수 있다. 또한, 액세스 권한, 액세스 규칙, 재생규칙, 기타 제어정보, 또는 이들의 조합을 포함하는 액세스 정보는 메모리 장치(110)에 미리 로딩될 수 있다. 제어기(120)는 상기 미디어 컨텐트에 대한 액세스를 제어하기 위해 상기 액세스 정보를 이용할 수 있다. 상기 액세스 정보는 인크립트된 미디어 컨텐트, 낮은 버젼의 미디어 컨텐트, 상기 미디어 컨텐트에 관한 텍스트 데이터, 기타 데이터의 선택된 일부, 또는 이들의 조합이 제한 없이 액세스 가능함을 명시할 수 있다. 또는, 상기 액세스 정보는 특정 미디어 컨텐트가 제한된 횟수만 재생될 수 있도록 것을 특정할 수 있다. 호스트 장치(102)는 구매정보를 서비스 제공자(106)에게 전송하도록 최종 사용자에 의해 이용될 수 있다. 호스트 장치(102)는 보안 파일(132)로의 액세스를 인가하기 위해 메모리 장치(106)로 제공될 수 있는 업데이트된 액세스 정보를 수신할 수 있다. 이러한 액세스는 상기 미디어 컨텐트를 볼 수 있는 횟수의 증가와 같이, 더 이상의 제한이 없거나 또는 보다 자 유로운 제한조건으로 실시될 수 있다.
또 다른 실시예에서, 서비스 제공자는 보안 파일(132)을 포함하여, 미디어 컨텐트의 배포를 제어하기 위해 제어 구조(128)와 같은 보안 특성을 갖는, 상기 메모리 장치(110)와 같은 비휘발성 재기록 가능 메모리 장치를 이용할 수 있다. 따라서, 다른 미디어 배포용 수단으로서, 상기 메모리 장치(110)에는 서비스 제공자(106)가 상기 메모리 장치(110)에 자체 보안환경을 생성할 수 있도록 하는 보안특성이 제공될 수 있다. 상기 서비스 제공자(106)는 상기 메모리 장치(110)에 저장된 미디어 컨텐트가 어떻게 이용되는지를 제어하기 위해 제어기(120)에 의해 실행될 수 있는 제어 구조(128)를 생성할 수 있다. 상기 제어 구조(128)는 계층구조를 가질 수 있고, 이는 상기 미디어 컨텐트가 어떻게 메모리 장치(110)에서 액세스 및 이용되는지를 판단하기 위해 서비스 제공자(106)에 의해 구성될 수 있다. 제어 구조(128)는 권리객체라 하는 객체의 형태를 가질 수 있다. 상기 권리객체는 액세스 권한 및/또는 특정 미디어 컨텐트 및 임의의 인증요구 사항에 관한 액세스 규칙을 포함할 수 있다. 특정 실시예에서, 특정 미디어 컨텐트에 대한 액세스는 인증조건이 만족되고 상기 액세스 권한 및/또는 규칙에 따라 제어될 때 인가된다. 상기 제어 구조(128)를 사용하여, 키나 증명서를 공유하지 않고 많은 애플리케이션이 동일한 컨텐트에 액세스할 수 있다. 또한, 상기 제어 구조(128)는 상기 제어기가, 컨텐트를 인크립트 및/또는 디크립트하는데 이용되는 임의의 키에 대한 액세스 권한을 위임할 수 있도록 한다.
도 2는 메모리에 저장된 인크립트된 파일의 보안 액세스를 관리하기 위한 시 스템(200)의 제 2 특정 실시예이다. 상기 시스템(200)은 메모리 시스템 또는 장치(202)를 포함하고, 이는 호스트 인터페이스 버스(206)를 통해 호스트 장치(204)와 통신하고 플래시 인터페이스 버스(240)를 통해 플래시 메모리(208)와 통신할 수도 있다. 특정 실시예에서, 점선으로 표시된 박스(도면부호 210으로 표시된) 내의 메모리 장치(202)와 플래시 메모리(208)의 모든 구성요소는 메모리 카드, 메모리칩, 엄지 드라이브, 및 기타 메모리 장치, 또는 이들의 조합과 같은 단일 하우징 또는 유닛에 수용될 수 있다. 또 다른 실시예에서, 플래시메모리(208)는 메모리 장치(202)에 착탈식으로 연결될 수 있다. 메모리 장치(202)는 중앙 처리 장치(CPU)(212)를 포함한다. 메모리 장치(202)는 또한 주변 액세스 모듈(PAM)(214), 호스트 인터페이스모듈(HIM)(216), 버퍼 관리유닛(BMU)(218), 및 플래시 인터페이스모듈(FIM)(220)을 포함한다. 상기 PAM(214)은 상기 HIM(216), BMU(218), 및 FIM(220)을 상기 CPU(211)에 연결한다.
메모리 장치(202)는 HIM(216)과 호스트 인터페이스버스(206)를 통해 호스트 장치(204)와 통신한다. HIM(216)은 호스트 장치(204)와 통신하기에 적합하고, 이는 디지털 카메라, 개인용 컴퓨터, PDA, 디지털 미디어 플레이어, 휴대용 미디어장치{예를 들어, MPEG-3(MP3) 미디어 플레이어}, 휴대용 통신장치(예를 들어, 휴대전화), 및 기타 전자장치, 또는 이들의 조합일 수 있다.
NAND 형 플래시 메모리인 상기 플래시 메모리(208)는 호스트 장치(204)용 데이터 저장소를 제공하는 데 이용될 수 있다. 플래시 메모리(208)는 CPU(212)에 액세스가 가능하고, CPU(212)에 의해 실행이 가능한 소프트웨어 코드는 플래시 메모 리(208)에 저장될 수 있다. CPU(212)는 하나 이상의 CPU RAM(238)을 포함할 수 있다. 플래시 메모리(208)는 HIM(216), PAM(214), 및 FIM(218)을 통해 호스트 장치(204)에 액세스할 수 있다. FIM(218)은 플래시 인터페이스 버스(240)를 통해 플래시 메모리(208)와 통신할 수 있다.
BMU(218)은 HIM(216)과 통신하는 호스트 DMA(224)를 포함한다. 호스트 DMA(224)는 BMU(214)가 CPU(212)에 대해 독립적으로 데이터를 HIM(216)으로부터, 그리고 HIM(216)DP 판독하거나 기록하는 것을 가능하게 한다. DMA(224)는 BMU(218)가 CPU(212)에서 관련 오버헤드를 발생시키지 않고 HIM(216)을 통해 호스트 장치(204)와 데이터를 송수신 가능하게 한다. BMU(218)은 또한, 레지스터(226), 플래시 DMA(228), 중재기(232), BRAM(234), 및 암호 엔진(222)(크립토 엔진 222)을 포함한다. 상기 중재기(232)는 하나의 마스터 및 초기화기(호스트 DMA(224), 플래시 DMA(228), 또는 CPU(212)일 수 있다)만이 BRAM(234)인 슬래이브 또는 타깃과 언제든 통신할 수 있도록 하는 공유 버스 중재기일 수 있다. 상기 중재기(232)는 적절한 초기화기 요구를 BRAM(234)로 보낸다. 호스트 DMA(224) 및 플래시 DMA(228)는 HIM(216), FIM(220), BRAM(234), CPU RAM(238), 또는 이들의 조합 사이에 전송되는 데이터와 관련이 있다.
BMU(218)은 또한 CPU(212)의 CPU RAM(238)에 직접 정보를 전송하는 BMU-CPU 인터페이스(236)를 포함할 수 있다. BMU(218)은 또한 암호키를 생성하고 보안 파일을 생성하기 위해 상기 암호키를 이용하여 파일 데이터를 인크립트하기 위해 암호 엔진(222)에 의해 이용될 수 있는 암호키 생성기(230)를 포함한다.
플래시 메모리(208)는 인크립션 키 식별자(IDs)를 포함하는 보안 메모리 영역(242)을 포함할 수 있다. 플래시 메모리(208)는 또한 헤더(248) 및 컨텐트(250)를 구비한 보안 파일(246)을 포함하는 공적 메모리 영역(244)을 포함할 수 있다. 상기 헤더(248)는 메타데이터 및 컨텐트(250)에 관한 트레일러 데이터에 관한 위치 정보를 포함할 수 있다. 메모리 장치(202)에 의해 상기 보안 파일(246) 및 보안 영역(242)에 대한 액세스가 관리된다.
BRAM(234)는 호스트 장치(204)와 플래시 메모리(208) 사이를 통과하는 데이터를 저장하는 데 이용된다. 플래시 메모리(208) 내에 저장된 컨텐트의 보안을 향상시키기 위해, 상기 메모리 장치(202)는 인크립트 및/또는 디크립트에 이용되는 키 값을 생성한다. 그러나, 호스트 장치(204)가 데이터를 파일의 형태로 메모리 장치(202)에서 판독하고 기록하기 때문에, 인크립트 및 디크립트는 일반적으로 파일 단위로 실시된다. 기타 저장 장치와 마찬가지로, 상기 메모리 장치(202)는 파일 또는 파일 시스템을 인식할 필요가 없다. 플래시 메모리(208)는 파일의 논리 어드레스가 식별되는 파일 할당 데이블(FAT)을 저장하고, 상기 FAT는 일반적으로 CPU(212)가 아닌 호스트 장치(204)에 의해 액세스 및 관리된다. 따라서, 특정 파일의 데이터를 인크립트하기 위해, CPU(212)는 메모리(208)의 파일에 관한 데이터의 논리 어드레스를 보내기 위해 호스트 장치(204)에 의존할 수 있고, 따라서 상기 특정 파일의 데이터는 메모리 장치(202)에만 사용가능한 키 값을 이용하여 메모리 장치(202)에 의해 발견 및 인크립트 및/또는 디크립트될 수 있다.
이러한 데이터를 암호화 처리하기 위한 동일한 키를 참조하는 호스트 장 치(204) 및 메모리 장치(202)를 위한 핸들을 제공하기 위해, 상기 호스트 장치(204)는 상기 메모리 장치(202)에 의해 생성되는 각 키 값에 대한 참조를 제공하고, 여기서 상기 참조는 인크립트된 키(ID)이다. 메모리 장치(202)는 상기 키(ID)에 기초하여 관련 인크립션 키를 판단하기 위해 플래시 메모리(208)의 보안영역(242)에 액세스한다.
일반적으로, 호스트 장치(204)는 메모리 장치(202)에 의해 암호화처리된 파일을 인크립션 키(ID) 및 메모리 어드레스와 관련시킨다. 메모리 장치(202)는 데이터를 암호화 처리하기 위해 이용되는 각 키 값을 호스트 장치(204)에 의해 제공되는 인크립션 키(ID)와 관련시킨다. 호스트 장치(204)가 파일을 암호화 처리할 것을 요청하는 경우, 호스트 장치(204)는 인크립트된 키(ID) 및 메모리 장치(208)에 저장되거나 여기서 가져올 데이터의 논리어드레스를 포함하는 메모리 장치(202)로 요구를 보낸다. 메모리 장치(202)는 키 값을 생성하고 호스트(204)에 의해 제공된 인크립션 키(ID)를 상기 생성된 키와 관련시킨다. 메모리 장치(202)는 메모리 장치(208)에 저장되거나 여기서 가져올 데이터를 암호화 처리한다. 따라서, 메모리 장치(202)는 암호화 키의 생성 및 관리를 제어할 수 있고 또한 호스트 장치(204)가 파일 어드레스 테이블(FAT)을 제어할 수 있도록 하면서 관련 암호화처리를 제어할 수 있다.
메모리 장치(202)가 플래시 메모리(208)를 메모리 카드 형태로 포함하는 것으로 도시되어 있지만, 여기서 설명하는 시스템 및 방법은 자기 저장 매체, 광학 저장 매체, 또는 다른 형태의 재기록 가능 비휘발성 저장 매체를 포함하는 기타 저 장 매체에 적용이 가능하다. 또한, 여기서 설명하는 시스템 및 방법은 계산기, 휴대용 미디어 플레이어, 휴대용 통신장치, PDA, 게임 시스템, 및 기타 전자 장치, 또는 이들의 조합을 포함하는 저장 매체에 액세스하는 다양한 장치에 적용할 수 있다.
호스트 장치(204)에 의해 제공되는 인크립션 키(ID)와 메모리 장치(202)에 의해 생성되는 키 값은 "컨텐트 인크립션 키" 또는 CEK라 하는 양의 두 개의 속성을 형성할 수 있다. 특정 실시예에서, 호스트 장치(204)는 각각의 인크립션 키(ID)를, 플래시 메모리(208)에 관한 파일 어드레스 테이블 내의 하나 이상의 파일 및/또는 하나 이상의 파일 어드레스와 관련시킨다. 일 실시예에서, 호스트 장치(204)는 각각의 인크립션 키(ID)를 비조직화 데이터, 비구조화 데이터, 구조화 데이터, 보조-구조화 데이터, 및 임의의 방식으로 조직화된 데이터, 또는 이들의 조합과 관련시킨다. 그러므로, 상기 인크립션 키(ID)는 파일 구조로 조직화될 필요 없는 데이터와 관련될 수 있다.
사용자 또는 애플리케이션이 보호되는 컨텐트 또는 메모리(208)의 보안 메모리 영역에 액세스하도록 하기 위해, 메모리 장치(202)는 상기 메모리 장치(202)에 미리 등록되거나 또는 메모리(208)의 보안 영역에 미리 로딩된 증명서를 이용하여 상기 사용자 또는 애플리케이션을 인증한다. 상기 증명서는 대칭 키, 디지털 서명, 디지털 인증서, 인증을 위한 기타 표시, 또는 이들의 조합을 포함할 수 있다. 특정 실시예에서, 증명서는 특정 사용자, 특정 장치, 또는 특정 애플리케이션에 인가된 액세스 권한과 관련될 수 있다. 특정 실시예에서, 인증서는, 액세스 코드, 암호, 시리얼 넘버, 및 기타 데이터, 또는 이들의 조합일 수 있다. 상기 기등록 과정에서, 메모리 장치(202)는 상기 사용자, 장치, 또는 애플리케이션의 신원 및 인증서에 대한 기록을 저장한다. 메모리 장치(202)는 또한 호스트 장치(204)를 통해 제공되거나 상기 사용자 및 애플리케이션에 의해 판단되는, 이러한 신원 및 증명서에 관한 액세스 권한을 저장할 수 있다. 상기 기등록 과정이 완료된 후, 상기 사용자 또는 애플리케이션이 데이터를 메모리(208)에 기록할 것을 요청하는 경우, 상기 사용자 또는 애플리케이션은 해당 신원 및 증명서, 데이터 인크립트를 위한 인크립션 키(ID), 및 인크립트된 데이터가 메모리(208)에 저장되는 논리 어드레스에 관한 데이터를 제공한다. 메모리 장치(202)는 키 값을 생성하여 이 값을 호스트 장치(204)에 의해 제공되는 인크립션 키(ID)와 연관시키며, 사용자 또는 애플리케이션을 위한 기록 및 테이블 내의 데이터를 인크립트하기 위한 키 값에 대한 인크립션 키(ID)를 저장한다. 메모리 장치(208)는 상기 데이터를 인크립트하고 인크립트된 데이터를 호스트 장치(204)에 의해 할당된 어드레스에 저장한다. 메모리 장치(202)는 또한 상기 인크립션 키(ID)를 데이터 파일의 헤더부에 저장한다. 메모리 장치(202)는 또한 인크립션 키(ID)를 메모리(208)의 보안부에 저장한다.
도 3은 도 2의 메모리 장치(210)와 같이, 보안 특성을 갖는 메모리 장치가 미디어 컨텐트를 확실히 저장하고 상기 저장된 미디어 컨텐트를 제어된 방식을 통해 배포하기 위해 사용될 수 있는 환경을 도시하고 있다. 도 3에 도시한 바와 같이, 시스템(300)은 컨텐트 제공자(310)를 포함하고, 이는 인터넷, 무선 네트워크, 공중전화망, 패킷교환망, 및 기타 네트워크, 또는 이들의 조합과 같은 네트워크를 통해 원거리 장치와 통신할 수 있는 하나 이상의 서버를 포함할 수 있다. 컨텐트 서버(312)는 음악 데이터, 비디오 데이터, 멀티미디어 컨텐트, 또는 이들의 조합을 포함할 수 있다. 또, 상기 컨텐트 서버(312)는 검색기능, 준비기능, 및 미디어 컨텐트를 인식하고 인식된 미디어 컨텐트의 배포 및 재생에 관련된 액세스 준비 및 장치 선택을 판단하며 또한 적절한 통신 경로를 통해 상기 미디어 컨텐트를 배포하기 위한 배포기능을 제공할 수 있다. 예를 들면, 미디어 컨텐트 서버(312)로부터의 미디어 컨텐트는 하나 이상의 휴대 장치(302)와 통신하는 기지국(304)과 같은 기지국을 통해 이동 네트워크(324)에 제공된다. 또한, 컨텐트 서버(312)는 인터넷과 같은 광역 통신망인 네트워크(320)를 통해 기타 장치, 개인용 컴퓨터 장치(306), PDA(308), 휴대용 미디어 플레이어(316)(예를 들어, MP3 플레이어), 게임 시스템(318), 또는 이들의 조합과 통신할 수 있다.
상기 컨텐트 제공자(310)는 저장 장치(322)에 저장될 수 있는 미디어 컨텐트를 제공할 수 있고, 상기 저장 장치는 인크립션 키 식별자(ID)(324)를 포함하는 보안 메모리 영역 및 공적 메모리 영역(326)을 포함한다. 공적 메모리 영역(326)은 보안 파일(328)을 포함할 수 있고, 상기 보안 파일은 메타데이터, 트레일러 데이터에 관한 위치 정보, 및 컨텐트부(332)를 갖는 헤더부(330)를 포함한다. 이와 같이 컨텐트 제공자(310)로부터 배포된 미디어 컨텐트는 PDA(308), 비디오게임 시스템(318), 휴대전화(302), MP3 플레이어(316), 및 데스크 탑 컴퓨터 및 휴대용 컴퓨터를 포함하는 컴퓨터(306), 또는 이들의 조합을 포함하여, 다양한 최종 사용자 터미널 또는 호스트에 의해 렌더링될 수 있다. 사용자 터미널 또는 호스트에 관한 메 모리 장치는 미디어 컨텐트를 배포하기 위한 수단을 제공하도록 서비스 제공자에 의해 구성될 수 있는 보안 저장영역을 포함할 수 있다.
일반적으로, 컨텐트 서버(312)에 저장된 미디어 컨텐트에 대한 액세스가 제한되어 있다. 카드 관리 서버(314)는 상기 사용자 터미널 또는 호스트에 액세스 권한 및/또는 액세스 규칙을 제공할 수 있다. 카드 관리 서버(314) 내에 인크립트된 미디어 컨텐트에 대한 액세스를 결정하는 상기 액세스 권한 및/또는 액세스 규칙은 상기 미디어 컨텐트가 미디어 플레이어(316) 및 컴퓨터(306)와 같은 기타 터미널에 의해 핸드셋(302)에 의해 액세스될 수 있을 때 적용할 수 있다. 컨텐트 및 권한 및/또는 규칙은 무선 네트워크 운영자와 같은 서비스 제공자에 의해 컴퓨터(306) 또는 휴대전화 장치(302)로 제공될 수 있다.
도 3의 환경에서, 미디어 컨텐트를 저장 및 배포하기 위한 메모리 시스템을 이용한 많은 수단이 이용가능하다. 한 방법에서, 플래시 메모리 카드 제조자는 컨텐트 제공자로부터 미디어 컨텐트를 구입하고 권한 객체 서버로부터 상기 컨텐트를 제어하기 위한 권한 객체를 수신하는 컨텐트 발행자에게 메모리 카드를 판매한다. 상기 컨텐트 및 권한 객체가 상기 카드로 로딩되기 전에, 상기 컨텐트 발행자는 우선 인증서버로의 연결을 통해 상기 카드가 정품인지를 확인한다. 상기 카드가 인증된 후 상기 컨텐트 및 권한 객체가 로딩된다. 상기 인증서버는 컨텐트 제공자(310)에 제공될 수 있다.
그러므로, 카드 제조자도 될 수 있는 상기 컨텐트 발행자는 이동 네트워크 운영자와 같은 서비스 제공자에 상기 카드를 판매한다. 상기 서비스 제공자는 최종 사용자에게 주문자(이하 OEM이라 함)에 의해 제공되는 이동 전화 핸드셋과 같은 최종 사용자 터미널과 함께 상기 카드를 판매한다. 상기 컨텐트 발행자가 상기 카드를 상기 서비스 제공자에게 판매하기 전에, 상기 컨텐트 발행자는 여기서 기재한 바와 같은 형태의 제어 구조를 설치할 수 있다. 바람직하게는, 상기 제어 구조는 상기 서비스 제공자가, 컨텐트 배포를 제어할 수 있도록 보안 환경을 생성하도록 상기 서비스 제공자에 의해 설치된다. 이러한 작업 전에, 상기 카드는 다시 진품 여부에 대한 확인을 거친다. 그러므로, 서비스 제공자의 설비에서, 상기 인증서버에 연결함으로써 상기 카드가 다시 인증된다. 상기 카드는 또한 상기 카드의 특정 특성 또는 애플리케이션(예를 들어, 미디어 플레이어와 같은 미디어 컨텐트 렌더링 애플리케이션)을 인에이블 또는 활성화시키기 위해 터미널을 통해 인증 서버에 연결된다. 상기 서비스 제공자는 상기 카드 내의 컨텐트에 대한 액세스를 제어하기 위해 제어 구조를 설치한다. 상기 제어 구조는 인증된 사용자만이 상기 컨텐트에 액세스할 수 있도록 하고, 이러한 액세스는 상기 제어 구조 내의 임의의 인가 또는 임의의 권한 및/또는 규칙을 따르게 된다.
또는, 상기 컨텐트 발행자는 상기 카드를 최종 사용자에게 직접 판매할 수도 있다. 상기 최종 사용자는 OEM을 통해 이동 전화 핸드셋과 같은 터미널을 얻는다. 상기 터미널 및 카드가 상호 인증이 가능하다면, 상기 최종 사용자는 상기 터미널을 이용하여 메모리 카드 내에 저장된 컨텐트에 액세스할 수 있을 것이다. 이때, 상기 최종 사용자는 상기 컨텐트에 액세스하기 위한 인증서(사용자 인식기, 암호, 시리얼 넘버 등)과 같은 인증 정보를 제공받게 된다. 상기 인증과정은 적합한 인증 을 받지 못한 사람이 비인증 방식으로 상기 컨텐트에 액세스하는 것을 방지한다.
또는, 미리보기 컨텐트가 상기 컨텐트 발행자에 의해 카드로 로딩된 경우, 상기 컨텐트는 상기 미디어 컨텐트의 인크립트된 비요약판을 포함한다. 그러므로, 최종 사용자가 이러한 카드를 구매하는 경우, 상기 카드는 상기 사용자가 구매하기를 원하는 미디어 컨텐트의 인크립트된 버젼을 이미 저장하고 있을 것이다. 상기 카드는 최종 사용자가 비요약판 또는 카드 내의 상기 컨텐트의 일부로 액세스하는 권한을 제한하는 권한 및/또는 규칙을 저장하고 있을 것이다. 이러한 경우, 상기 컨텐트를 카드로 다시 다운로드할 필요가 없다. 대신에, 모든 최종 사용자는 비제한적 또는 보다 용이한 액세스를 인가받기 위해 상기 미디어 컨텐트를 디크립트하기 위한 컨텐트 인크립션 키 및 상기 액세스를 결정하는 권한 및/또는 규칙을 업데이트할 필요가 있다. 이러한 정보는 인증 후 상기 서비스 제공자를 통해 권한 발행자로부터 다운로드 받을 수 있다.
또 다른 실시예에서, 상기 카드 내의 컨텐트는 상기 서비스 제공자에 의해 제공되는 서비스와 같은 서비스에 최종 사용자가 서명한 후에만 최종 사용자에 의해 액세스될 수 있다. 그러므로, 최종 사용자가 구매한 카드는 최종 사용자가 서명할 때까지 최종 사용자의 액세스를 막는 제어정보를 포함할 것이다. 최종 사용자는 컨텐트 발행자로부터 카드를 구매하지만, 상기 사용자가 서비스 제공자로부터 승낙을 받을 때까지는 상기 미디어 컨텐트에 액세스할 수 없다. 승낙에 대한 확인에 앞서, 최종 사용자가 소유한 카드는 인증서버에 의해 정품 여부를 인증하고 상기 애플리케이션(예를 들어, 미디어 플레이어와 같은 애플리케이션을 렌더링하는 미디어 컨텐트)는 인증서버에 의해 선택적으로 인에이블되거나 활성화된다. 이러한 승낙과정에서, 권한 발행자에 의해 제공되는 권한 객체는 카드로 다운로드할 수 있도록 서비스 제공자에 의해 최종사용자에게 전송된다.
또 다른 실시예에서, 최종 사용자가 구매한 카드는 미리 로딩된 미디어 컨텐트가 없다. 최종 사용자는 컨텐트 제공자 서버로부터 컨텐트를 순서대로 얻는 서비스 제공자로부터 상기 컨텐트를 구매해야 할 것이다. 전과 같이, 카드로 컨텐트를 로딩하기 전에, 카드는 인증서버에 의해 인증받게 된다. 특성 및 애플리케이션(예를 들어, 미디어 플레이어와 같은 애플리케이션을 렌더링하는 미디어 컨텐트)는 인증서버에 의해 선택적으로 인에이블된다. 변동자료의 일부로서, 권한 발행자로부터 발행되는 권한 객체는 카드로 다운로드하도록 서비스 제공자를 통해 최종 사용자에게 전송된다. 최종 사용자가 구매한 카드는 미리 로딩된 미티어 컨텐트가 없지만, 상기 카드는 최종 사용자가 상기 컨텐트를 다운로드할 수 있는 권한을 주는 권한 객체를 구비할 수 있다. 이것은 선지불 미디어 컨텐트 카드이고, 이는 사용자가 구매한 컨텐트를 반복적으로 다운로드할 수 있도록 한다.
도 4를 보면, 비휘발성 메모리에 컨텐트를 저장하는 방법에 대한 특정 실시예가 도시되어 있다. 상기 방법은 미디어 컨텐트 및 트레일러를 포함하는 컨텐트 파일을 판독하는 단계를 포함한다(단계 402). 상기 트레일러는 미디어 컨텐트에 관한 트레일러 데이터를 포함하고 ID3 데이터와 같은 메타데이터를 포함할 수도 있다. 상기 방법은 보안 파일과 같은 파일의 헤더부에 보안 데이터와 함께 트레일러 데이터에 관한 위치 정보를 저장하는 단계(단계 404) 및, 비휘발성 메모리의 저장 요소 또는 상기 비휘발성 메모리 장치에 연결된 호스트 장치의 메모리 영역에 상기 파일을 저장하는 단계를 더 포함한다(단계 406). 상기 호스트 장치는 전화장치, PDA, 랩톱 컴퓨터, 또는 데스크톱 컴퓨터와 같은 메모리 및 프로세서를 포함하는 전자장치일 수 있다. 특정 실시예에서, 애플리케이션 프로그램 인터페이스(API)는 상기 파일의 헤더부에 보안 데이터와 함께 트레일러 데이터를 저장하는 단계와 연관되어 이용된다. 상기 파일이 저장된 후, 상기 컨텐트는 메모리로부터 검색되고 상기 미디어 컨텐트는 재생을 위한 상기 호스트 장치로 제공될 수 있다(단계 408). 상기 재생은 오디오 컨텐트의 오디오 재생, 비디오 컨텐트의 비디오 재생, 또는 멀티미디어 컨텐트의 멀티미디어 재생을 포함할 수 있다.
특정 실시예에서, 컨텐트 제공자는 보호할 비휘발성 메모리에 저장된 컨텐트를 요청할 수 있다. 이러한 경우, 상기 보호되는 컨텐트는 보안 세션을 통해 액세스될 수 있다. 예를 들면, 보안 세션은 비휘발성 저장 장치와 호스트 장치 사이에 구축될 수 있다. 비휘발성 저장 장치는 컨텐트 인크립션 키를 이용하여 상기 컨텐트를 디크립트할 수 있다. 이후, 디크립트된 컨텐트는 보안 세션에 관한 세션 키를 이용하여 인크립트될 수 있다. 인크립트된 데이터는 상기 보안 세션을 이용하여 호스트 장치로 제공될 수 있다. 상기 호스트 장치는 상기 세션 키를 이용하여 상기 컨텐트를 디크립트할 수 있다. 보안 세션 절차를 이용함으로써, 컨텐트는 호스트 장치에 의해 재생될 때 보안이 유지될 수 있다.
도 5를 보면, 컨텐트를 검색하는 방법에 대한 특정 실시예가 도시되어 있다. 상기 방법은 비휘발성 메모리로부터 컨텐트를 판독하는 단계(단계 502) 및 보안 파 일의 헤더부로부터 컨텐트에 관한 트레일러 데이터에 관한 위치 정보를 판독하는 단계를 포함한다(단계 504). 상기 헤더부는 컨텐트에 관한 보안 데이터 항목을 포함한다. 상기 방법은 비휘발성 메모리에 액세스할 수 있는 호스트 장치의 디스플레이 장치에 트레일러 데이터에 관한 데이터를 제공하는 단계를 더 포함한다(단계 506). 특정 실시예에서, 호스트 장치는 재생프로그램(예를 들어, 미디어 플레이어)을 이용하는 것과 같은, 재생을 위해 상기 컨텐트를 판독하기 위해 액세싱한다. 상기 컨텐트는 오디오 데이터, 비디오 데이터, 또는 멀티미디어 데이터를 포함할 수 있다. 특정 실시예에서, 애플리케이션 프로그램 인터페이스(API)는 보안 파일의 헤더부로부터 트레일러 데이터를 판독하는데 이용된다. 호스트 장치는 파일 이름 및 메타데이터 구조를 파일 시스템 툴키트로 보낼 수 있고, 여기서 파일 시스템 툴키트는 상기 메타데이터를 상기 보안 파일의 헤더부에 기록하기 위해 API를 이용한다. 상기 컨텐트는 상기 호스트 장치에서 재생될 수 있다(단계 508). 또한, 헤더로부터 검색된 메타데이터는 호스트 장치에서 디스플레이 장치에 컨텐트에 관한 정보, 예를 들면 컨텐트 제목, 아티스트 이름, 또는 호스트 장치에 관한 정보와 관련된 기타 컨텐트를 디스플레이하는 데 이용될 수 있다. 상기 디스플레이 장치는 이동 전화나 MP3 플레이어 또는 컴퓨터에 연결된 디스플레이 장치에 관한 디스플레이일 수 있다. 상기한 바와 같이, 보안 세션은 호스트 장치에서 재생을 위한 컨텐트를 보호하고 동시에 비휘발성 메모리 장치가 인크립트된 키를 호스트 장치에 노출시키지 않고 상기 호스트 장치에 보안된 컨텐트를 제공하도록 한다.
도 6을 보면, 비휘발성 재기록 가능 메모리를 이용한 미디어 컨텐트의 액세 스 방법을 도시하고 있다. 상기 방법은 액세스 권한과 관련한 정보를 수신하는 단계(단계 602) 및 비휘발성 재기록 가능 메모리의 보안 메모리 영역에 액세스 권한을 저장하는 단계를 포함한다. 상기 액세스 권한은 비휘발성 재기록 가능 메모리에 저장된 인크립트된 미디어 컨텐트를 디크립트하기 위한 컨텐트 디크립션 키에 대한 액세스를 인가한다(단계 604). 상기 방법은, 적어도 하나의 선택된 인크립트 미디어 컨텐트 단계 항목의 디크립트된 버젼을 공급하는 단계(단계 606)와, 보안 메모리 영역의 헤더부로터 검색된 메타데이터를 공급하는 단계를 더 포함한다(단계 608). 상기 메타데이터는 적어도 하나의 선택된 인크립트 미디어 컨텐트 항목에 관한다. 상기 적어도 하나의 선택된 인크립트 미디어 컨텐트의 디크립트 버젼은 호스트 장치에 제공될 수 있다. 호스트 장치는 전화장치, PDA, 컴퓨터, 또는 기타 유사 장치일 수 있다.
상기 방법은 또한 인증 정보를 수신하고 상기 인증 정보를 수신한 후 컨텐트 디크립션 키를 이용하여 상기 적어도 하나의 선택된 인크립트 미디어 컨텐트 항목을 디크립트하는 단계를 더 포함한다(단계 610). 호스트 장치는 상기 적어도 하나의 선택된 인크립트 미디어 컨텐트 항목의 디크립트 버젼을 렌더링하기 위한 재생장치를 포함할 수 있다. 특정 실시예에서, 상기 방법은 호스트 장치를 서버에 연결하는 단계(단계 612), 호스트 장치로부터 서버로 구매인증을 보내는 단계(단계 614), 인증 정보에 관한 정보를 수신하여 호스트 장치에서 액세스 권한을 수신하는 단계(단계 616), 및 선택된 인크립트 미디어 컨텐트 항목에 대한 액세스를 인가하기 위해 상기 인증 정보 및 액세스 권한을 상기 비휘발성 재기록 가능 메모리에 공 급하는 단계(단계 618)를 더 포함한다.
상기 헤더로부터 검색된 메타미디어에 관한 정보는 디스플레이될 수 있고(단계 620), 상기 적어도 하나의 선택된 인크립트 미디어 컨텐트 항목의 디크립트된 버젼이 렌더링되면서 동시에 상기 호스트 장치는 메타데이터에 관한 정보를 디스플레이한다(단계 622). 예를 들면, 노래의 오디오 파일이 호스트 장치 상에 플레이되면서 노래 제목 또는 아티스트 이름이 디스플레이될 수 있다.
도 7을 보면, 보안 파일(700)용 데이터 구조의 특정 실시예가 도시되어 있다. 보안 파일(700)은 컴퓨터 메모리 장치와 같은 컴퓨터 판독 가능 매체에 저장될 수 있다. 보안 파일(700)은 헤더부(702) 및 컨텐트부(710)를 포함한다. 컨텐트부(710)는 하나 이상의 미디어 컨텐트 항목 및 트레일러 데이터(712)를 포함한다. 헤더부(702)는 보안 데이터 세그먼트(704), 메타데이터 세그먼트(706), 및 트레일러 데이터 위치(708)를 포함한다. 보안 데이터 세그먼트(704)는 인크립션 키 식별자(ID), 히든 데이터, 또는 기타 데이터 보호정보를 포함할 수 있다.
도 8을 보면, 파일의 헤더부의 대표적인 데이터 구조가 도시되어 있다. 헤더부(800)는 길이 필드(802), 타입 필드(804), 서명 필드(806), 버젼 필드(808), 및 패딩(810)을 포함한다. 특정 실시예에서, 헤더 데이터 구조는 여러 개의 필드(박스로 알려짐)를 포함할 수 있다. 각각의 필드 또는 박스는 각 박스의 앞에 4 바이트 길이를 갖는 다수의 바이트의 데이터를 포함한다.
도 9를 보면, 헤더에 저장될 수 있는 메타데이터를 위한 대표적인 데이터 구조가 도시되어 있다. 메타데이터(900)는 길이 필드(902), 타입 필드(903), 컨텐트 이름 길이 필드(904), 컨텐트 이름 패딩 필드(906), 아티스트 이름 길이 필드(908), 아티스트 이름 패딩 필드(910), 앨범 이름 길이 필드(912), 앨범 이름 패딩 필드(914), 장르 서명자 길이 필드(916), 장르 서명자 패딩 필드(918), 기타 항목 필드의 길이(920), 및 기타 항목에 대한 기타 보조박스(922)를 포함한다. 타입 필드(903)는 특정 실시예에서, 메타데이터를 식별하기 위한 표시자 "mdat"를 포함한다. 또한, 특정 실시예에서, 컨텐트 이름 길이(904), 아티스트 이름 길이(908), 및 앨범 이름 길이 필드(912)는 각각 64 바이트이다. 헤더부 내에서 메타데이터 구조를 이용함으로써, 오디오 또는 비디오 파일과 같이, 관련된 컨텐트 파일을 위한 메타데이터는 신속한 액세스 방식으로 편리하게 저장될 수 있고, 이후 상기 컨텐트 파일의 재생시 디스플레이될 수 있다. 이러한 방법은 비휘발성 메모리 장치와 같은 메모리에 저장된 인크립트된 컨텐트 파일용 메타데이터의 효율적인 저장 공간 및 복구를 제공한다.
도 10을 보면, 파일의 헤더부에 저장될 수 있는 트레일러 데이터(1000)를 위한 데이터 구조가 도시되어 있다. 트레일러 데이터 구조(1000)는 길이 필드(1002), 타입 필드(1004), 플래그(1006), 여러 개의 섹터 필드(1009), 기록 날짜/시간 필드(1010), 파일 필드의 제 1 섹터의 클러스터 번호(1012), 트레일러 필드의 클러스터 번호(1014), 트레일러(존재하는 경우) 필드의 다음 클러스터(1016), 섹터 오프셋 필드(1018), 및 한 바이트의 오프셋 필드(1020)를 포함한다. 특정 실시예에서, 트레일러 정보용 박스의 길이는 4 바이트이고 박스형 필드(1004)는 트레일러 데이터를 표시하기 위해 표시기호 "Idat"로 표시된다. 플래그 필드(1006)는, 클러스터 의 최대 수의 섹터까지, 트레일러가 섹터 경계에 정렬되었는지를 나타내는 제 1 비트 및 트레일러가 하나 이상의 섹터를 포함하는지를 표시하는 제 2 비트를 포함할 수 있다. 기록 날짜/시간 필드(1010)는 파일이 이동됐는지 또는 파일이 트레일러 박스를 갖는 파일의 사본인지를 체크하는 데 이용된다. 일반적인 파일찾기 작업은 사용자가 개인용 컴퓨터에서 이동 또는 카피를 한 경우 실행될 것이다. 다음 클러스터(1016)는 트레일러 데이터가 두 개의 클러스트 전체에 분포된 경우, 다음 클러스터를 식별하는 데 이용된다. 상기 두 개의 클러스터는 인접하지 않을 수 있다.
트레일러 데이터 구조는 파일의 트레일러 데이터의 특정 클러스터, 섹터, 및 바이트 위치 정보를 포함하는 정보를 제공한다. 트레일러 데이터 위치 정보를 파일의 헤더부에 저장함으로써, 호스트 장치는 파일 시스템이 특정 트레일러 데이터를 검색하기 위해 많은 인크립트된 파일의 크고 긴 검색을 하도록 하는 대신에, 헤더로부터 빠르고 효율적으로 트레일러 데이터에 액세스할 수 있다. 그러므로, 상기 방법 및 시스템은 인크립트된 컨텐트 파일에 대한 트레일러 데이터를 검색하기 위한 보다 빠르고 효율적인 액세스를 제공한다.
상기 실시예에 대한 도면은 다양한 실시예의 구조의 일반적인 이해를 위해 제공된 것이다. 도면은 여기서 기술한 구조 및 방법을 이용하는 장치 및 시스템의 특성 및 모든 요소에 대한 완벽한 설명을 제공하지는 않는다. 당업자는 본 명세서를 통해 다양한 실시예를 구현할 수 있을 것이다. 본 명세서를 통해 다른 실시예의 도출 및 이용이 가능하며, 본 명세서의 기술적 사상에서 벗어나지 않는 범위 내에서 구조적 및 논리적 대체 및 변경이 가능하다. 또한, 도면은 단순히 대표적인 것 이고 축적에 맞게 도시된 것은 아니다. 도면 중 비율이 과장되거나 축소된 부분이 있다. 위에서 특정 실시예를 설명하였지만, 동일 또는 유사한 목적을 얻기 위해 고안된 어떠한 배치도 도시된 특정 실시예에 의해 대체될 수 있다. 본 명세서는 다양한 실시예의 수정 및 변경을 모두 포함한다. 상기 실시예의 조합 및 여기서 특별히 언급하지 않은 다른 실시예도 상기 명세서에 기초하여 당업자에 의해 구형될 수 있다. 따라서, 본 명세서 및 도면은 제한적이지 않은 예에 지나지 않는다.
본 명세서의 요약서는 청구범위의 기술적 사상 및 의미를 제한하거나 해석하기 위해 제공되는 것은 아니다. 또한, 상기 상세한 설명에서, 본 발명을 단순화하기 위해 다양한 특성이 하나의 실시예에 동시에 기재되어 있다. 본 발명은 실시예가 각 청구항에서 표현되는 특성 이상을 반영하는 것으로 해석되어서는 안 된다. 하기의 청구범위에 기재한 바와 같이, 상기 실시예의 어떠한 특성도 본 발명의 주요 내용에 포함된다. 그러므로, 하기의 청구범위는 상기 상세한 설명에 포함되고, 따로 주장하는 바를 뒷받침한다.
상기 주요 내용은 제한적이지 않은 예시에 불과하며, 첨부된 청구범위는 본 발명의 기술적 사상에 포함되는 수정, 변경, 및 기타 실시예를 모두 포함한다. 그러므로, 법이 정한 최대 범위에서, 본 발명의 기술적 사상은 하기 청구범위 및 이와 동등한 것을 가장 넓게 해석해서 결정해야하며 상기 상세한 설명에 제한되거나 국한되는 것으로 해석해서는 안 된다.
상술한 바와 같이, 본 발명은, 파일의 헤더부와 컨텐트부에 대한 액세스를 포함하는 비휘발성 메모리 시스템을 제공하는데 사용된다.

Claims (21)

  1. 비휘발성 메모리에 컨텐트를 저장하는 방법으로서,
    미디어 컨텐트와 상기 컨텐트에 관한 트레일러 데이터를 포함하는 트레일러(trailer)를 포함하는 컨텐트 파일을 판독하는 단계와,
    파일의 헤더부에 보안 데이터와 함께 상기 트레일러 데이터에 관한 정보를 저장하는 단계와,
    적어도 하나의 상기 비휘발성 메모리의 저장 요소 및 상기 비휘발성 메모리 장치에 연결된 호스트 장치의 메모리 영역에 상기 파일을 저장하는 단계를
    포함하는, 비휘발성 메모리에 컨텐트를 저장하는 방법.
  2. 제 1항에 있어서, 상기 헤더부는 ID3 데이터를 포함하는 메타데이터를 포함하는, 비휘발성 메모리에 컨텐트를 저장하는 방법.
  3. 제 1항에 있어서, 애플리케이션 프로그래밍 인터페이스(API)는 상기 보안 파일의 헤더부에 상기 보안 데이터와 함께 상기 트레일러 데이터를 저장하는데 이용되는, 비휘발성 메모리에 컨텐트를 저장하는 방법.
  4. 제 1항에 있어서, 상기 정보는 트레일러 데이터 위치 정보를 포함하는, 비휘발성 메모리에 컨텐트를 저장하는 방법.
  5. 제 1항에 있어서, 상기 보안 데이터는 상기 컨텐트 파일로부터 상기 미디어 컨텐트를 인크립트하기 위해 인크립션 키에 관한 적어도 하나의 인크립트 ID를 포함하는, 비휘발성 메모리에 컨텐트를 저장하는 방법.
  6. 제 1항에 있어서, 데이터 다운로드 과정을 통해 외부 시스템으로부터 상기 컨텐트 파일을 수신하는 단계를 더 포함하는, 비휘발성 메모리에 컨텐트를 저장하는 방법.
  7. 제 1항에 있어서, 상기 미디어 컨텐트는 상기 비휘발성 메모리 장치를 소비자에게 배포하기 전에 상기 비휘발성 메모리 장치에 저장되는, 비휘발성 메모리에 컨텐트를 저장하는 방법.
  8. 컨텐트를 검색하는 방법으로서,
    비휘발성 메모리로부터 컨텐트를 판독하는 단계와,
    상기 컨텐트에 관한 보안 데이터 항목을 더 포함하는, 파일의 일부로부터 상기 컨텐트에 관한 트레일러 데이터 정보를 판독하는 단계와,
    상기 비휘발성 메모리에 대한 액세스를 갖는 호스트 장치의 디스플레이 장치에 상기 트레일러 데이터 정보를 제공하는 단계를
    포함하는, 컨텐트 검색 방법.
  9. 제 8항에 있어서, 상기 호스트 장치는 재생을 위해 상기 컨텐트를 판독할 수 있는, 컨텐트 검색 방법.
  10. 제 8항에 있어서, 상기 컨텐트는 오디오 데이터와 비디오 데이터를 포함하는, 컨텐트 검색 방법.
  11. 제 8항에 있어서, 애플리케이션 프로그래밍 인터페이스(API)는 상기 파일로부터 상기 트레일러 데이터 정보를 판독하는데 이용되고, 상기 호스트 장치는 파일 이름과 메타데이터 구조를 파일 시스템 툴키트로 전송하며, 상기 파일 시스템 툴키트는 상기 메타데이터를 상기 파일에 기록하기 위해 상기 API를 이용하는, 컨텐트 검색 방법.
  12. 비휘발성 재기록 가능 메모리를 이용하여 미디어 컨텐트에 액세싱하는 방법으로서,
    액세스 권한과 관련한 정보를 수신하는 단계와,
    비휘발성 재기록 가능 메모리에 저장된 인크립트된 미디어 컨텐트를 디크립트하기 위한 컨텐트 디크립션 키에 대한 액세스를 인가하는 액세스 권한을 상기 비휘발성 재기록 가능 메모리의 보안 메모리 영역에 저장하는 단계와,
    적어도 하나의 선택된 인크립트 미디어 컨텐트 항목의 디크립트된 버젼을 제 공하는 단계와,
    상기 보안 메모리 영역의 헤더부로부터 검색된 메타데이터를 제공하는 단계를
    포함하고,
    상기 메타데이터는, 상기 적어도 하나의 선택된 인크립트 미디어 컨텐트 항목과 관련되고, 상기 적어도 하나의 선택된 인크립트 미디어 컨텐트 항목의 디크립트 버젼은 호스트 장치에 제공되는, 미디어 컨텐트 액세싱 방법.
  13. 제 12항에 있어서, 인증 정보를 수신하고, 상기 인증 정보를 수신한 후 상기 컨텐트 디크립션 키를 이용하여 상기 적어도 하나의 선택된 인크립트 미디어 컨텐트 항목을 디크립트하는 단계를 더 포함하는, 미디어 컨텐트 액세싱 방법.
  14. 제 12항에 있어서,
    상기 호스트 장치는 상기 적어도 하나의 선택된 인크립트 미디어 컨텐트 항목의 디크립트된 버젼을 렌더링하기 위한 재생장치를 포함하고,
    상기 방법은,
    상기 호스트 장치를 서버에 연결하는 단계와,
    구매한 인증을 상기 호스트 장치로부터 상기 서버로 보내는 단계와,
    상기 호스트 장치에서 상기 인증 정보 및 액세스 권한에 관한 정보를 수신하는 단계와,
    상기 인증 정보 및 액세스 권한을 상기 비휘발성 재기록 가능 메모리에 공급하는 단계를
    더 포함하는, 미디어 컨텐트 액세싱 방법.
  15. 제 12항에 있어서, 상기 호스트 장치는 전화장치, PDA, 및 컴퓨터 중 하나인, 미디어 컨텐트 액세싱 방법.
  16. 제 12항에 있어서, 상기 메타데이터는 아티스트 이름, 아티스트 이름의 길이, 컨텐트 이름, 컨텐트 이름의 길이, 앨범 이름, 앨범 이름의 길이, 또는 이들의 조합을 포함하는, 미디어 컨텐트 액세싱 방법.
  17. 제 12항에 있어서, 상기 비휘발성 재기록 가능 메모리에 저장된 선택된 인크립트 미디어 컨텐트 항목에 대한 액세스를 인가하기 위해, 인증 정보를 수신한 후 상기 컨텐트 디크립션 키에 대한 액세스를 가능하도록 하는 상기 액세스 권한을 변경하는 단계를 더 포함하는, 미디어 컨텐트 액세싱 방법.
  18. 제 17항에 있어서,
    상기 호스트 장치를 서비스 공급자에 연결하는 단계와,
    구매한 인증을 상기 호스트 장치로부터 상기 서비스 공급자로 보내는 단계와,
    상기 인증 정보 및 상기 액세스 권한 변경을 위한 정보를 상기 서비스 제공자로부터 수신하는 단계를
    더 포함하는, 미디어 컨텐트 액세싱 방법.
  19. 제 12항에 있어서, 상기 메타데이터에 관한 정보를 디스플레이하는 단계를 더 포함하는, 미디어 컨텐트 액세싱 방법.
  20. 제 12항에 있어서, 상기 메타데이터에 관한 정보를 디스플레이함과 동시에 상기 적어도 하나의 선택된 인크립트 미디어 컨텐트 항목의 디크립트된 버젼을 렌더링하는 단계를 더 포함하는, 미디어 컨텐트 액세싱 방법.
  21. 비휘발성 메모리에 컨텐트를 저장하는 방법으로서,
    미디어 컨텐트와 상기 컨텐트에 관한 트레일러 데이터를 포함하는 트레일러를 포함하는 컨텐트 파일을 판독하는 단계와,
    파일에 보안 데이터와 함께 상기 트레일러 데이터에 관한 정보를 저장하는 단계와,
    적어도 하나의 상기 비휘발성 메모리의 저장 요소 및 상기 비휘발성 메모리 장치에 연결된 호스트 장치의 메모리 영역에 상기 파일을 저장하는 단계를
    포함하는, 비휘발성 메모리에 컨텐트를 저장하는 방법.
KR1020097022154A 2007-06-29 2008-06-26 메모리로부터 헤더 데이터를 저장 및 액세싱하는 방법 KR20100031497A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/771,804 US8069298B2 (en) 2007-06-29 2007-06-29 Method of storing and accessing header data from memory
US11/771,804 2007-06-29

Publications (1)

Publication Number Publication Date
KR20100031497A true KR20100031497A (ko) 2010-03-22

Family

ID=40162102

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097022154A KR20100031497A (ko) 2007-06-29 2008-06-26 메모리로부터 헤더 데이터를 저장 및 액세싱하는 방법

Country Status (6)

Country Link
US (1) US8069298B2 (ko)
EP (1) EP2165285A2 (ko)
KR (1) KR20100031497A (ko)
CN (1) CN101669124A (ko)
TW (1) TW200910089A (ko)
WO (1) WO2009005719A2 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101107850B1 (ko) * 2007-07-24 2012-01-31 엔엑스피 비 브이 전송 방법, 전송 시스템, 신뢰받는 서비스 관리자, 컴퓨터 판독가능 매체 및 모바일 폰
US8683159B2 (en) * 2007-12-27 2014-03-25 Intel Corporation Delivering secured media using a portable memory device
US8166220B2 (en) * 2008-08-04 2012-04-24 Sandisk Il Ltd. Device for connection with a storage device and a host
TWI386825B (zh) * 2009-05-27 2013-02-21 Silicon Motion Inc 電子裝置及檔案系統之操作方法
US20120303974A1 (en) * 2011-05-25 2012-11-29 Condel International Technologies Inc. Secure Removable Media and Method for Managing the Same
KR102181776B1 (ko) * 2012-06-05 2020-11-24 삼성전자주식회사 범용 디바이스에서의 파일 송/수신 장치 및 방법
US10515363B2 (en) * 2012-06-12 2019-12-24 Square, Inc. Software PIN entry
CN102819716B (zh) * 2012-07-20 2015-02-04 腾讯科技(深圳)有限公司 一种加密图片、解密图片的方法、装置及系统
ITVI20120262A1 (it) * 2012-10-10 2014-04-11 Siav Spa Dispositivo di archiviazione di dati in formato elettronico e procedimento di funzionamento di tale dispositivo
US10049228B2 (en) * 2015-01-20 2018-08-14 Microsoft Technology Licensing, Llc File encryption support for FAT file systems
CN106028336A (zh) * 2016-04-29 2016-10-12 上海青橙实业有限公司 通信方法及移动终端系统
US10129023B2 (en) * 2016-08-11 2018-11-13 International Business Machines Corporation Enhancing security for multiple storage configurations
US10116633B2 (en) * 2016-09-16 2018-10-30 Bank Of America Corporation Systems and devices for hardened remote storage of private cryptography keys used for authentication
CN111279678A (zh) * 2017-11-06 2020-06-12 索尼公司 显示装置、相机装置、方法和程序
US11399058B2 (en) * 2018-03-22 2022-07-26 Netskrt Systems, Inc. Immutable ledger method and apparatus for managing the distribution of content
CN110427765B (zh) * 2019-07-31 2023-02-03 四川效率源信息安全技术股份有限公司 一种生成固态硬盘中用户数据密钥的方法
CN110569202A (zh) * 2019-09-10 2019-12-13 深圳市得一微电子有限责任公司 一种用于可移动存储设备的多媒体文件播放方法及系统
US11907539B2 (en) 2020-11-20 2024-02-20 Samsung Electronics Co., Ltd. System and method for stream based data placement on hybrid SSD
US11500587B2 (en) 2020-11-20 2022-11-15 Samsung Electronics Co., Ltd. System and method for in-SSD data processing engine selection based on stream IDs

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6614914B1 (en) * 1995-05-08 2003-09-02 Digimarc Corporation Watermark embedder and reader
EP2110732A3 (en) * 1995-02-13 2009-12-09 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US5841979A (en) * 1995-05-25 1998-11-24 Information Highway Media Corp. Enhanced delivery of audio data
US7171018B2 (en) * 1995-07-27 2007-01-30 Digimarc Corporation Portable devices and methods employing digital watermarking
JP2000503154A (ja) * 1996-01-11 2000-03-14 エムアールジェイ インコーポレイテッド デジタル所有権のアクセスと分配を制御するためのシステム
US7809138B2 (en) * 1999-03-16 2010-10-05 Intertrust Technologies Corporation Methods and apparatus for persistent control and protection of content
US7228437B2 (en) * 1998-08-13 2007-06-05 International Business Machines Corporation Method and system for securing local database file of local content stored on end-user system
US6983371B1 (en) * 1998-10-22 2006-01-03 International Business Machines Corporation Super-distribution of protected digital content
US6834195B2 (en) * 2000-04-04 2004-12-21 Carl Brock Brandenberg Method and apparatus for scheduling presentation of digital content on a personal communication device
EP1182874A1 (en) * 2000-08-24 2002-02-27 Canal+ Technologies Société Anonyme Digital content protection system
AU2002232494A1 (en) * 2000-12-07 2002-06-18 Sandisk Corporation System, method, and device for playing back recorded audio, video or other content from non-volatile memory cards, compact disks or other media
US8055899B2 (en) * 2000-12-18 2011-11-08 Digimarc Corporation Systems and methods using digital watermarking and identifier extraction to provide promotional opportunities
US20020077988A1 (en) * 2000-12-19 2002-06-20 Sasaki Gary D. Distributing digital content
US7093238B2 (en) * 2001-07-27 2006-08-15 Accordsqa, Inc. Automated software testing and validation system
US6871192B2 (en) * 2001-12-20 2005-03-22 Pace Anti-Piracy System and method for preventing unauthorized use of protected software utilizing a portable security device
US7552345B2 (en) * 2002-03-04 2009-06-23 Sandisk Corporation Implementation of storing secret information in data storage reader products
US7123696B2 (en) * 2002-10-04 2006-10-17 Frederick Lowe Method and apparatus for generating and distributing personalized media clips
FR2852413B1 (fr) * 2003-03-12 2005-05-20 Peripherique securise, inviolable et infalsifiable pour le stockage de donnees informatiques authentifiees et datees a valeur juridique ou legale
WO2004097832A2 (en) * 2003-04-24 2004-11-11 Thomson Licensing S.A. Creation of playlists using audio identification
US20050050108A1 (en) * 2003-08-21 2005-03-03 Texas Instruments Incorporated File system for digital processing systems with limited resources
US7343347B2 (en) * 2003-10-08 2008-03-11 Time Warner Inc. Electronic media player with metadata based control and method of operating the same
US20060206582A1 (en) * 2003-11-17 2006-09-14 David Finn Portable music device with song tag capture
ATE447285T1 (de) 2004-02-03 2009-11-15 Sandisk Secure Content Solutio Schutz von digitalem dateninhalt
US7392358B2 (en) * 2005-01-14 2008-06-24 Sandisk Corporation Delivery of a message to a user of a portable data storage device as a condition of its use
US20060182418A1 (en) * 2005-02-01 2006-08-17 Yoichiro Yamagata Information storage medium, information recording method, and information playback method
US20060190290A1 (en) * 2005-02-22 2006-08-24 Brainshield Technologies, Inc. Systems and methods for distributing electronic files
US20070011469A1 (en) * 2005-07-11 2007-01-11 Simdesk Technologies Secure local storage of files
US20070011749A1 (en) * 2005-07-11 2007-01-11 Simdesk Technologies Secure clipboard function
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US20070056042A1 (en) * 2005-09-08 2007-03-08 Bahman Qawami Mobile memory system for secure storage and delivery of media content
US20070180470A1 (en) * 2006-01-13 2007-08-02 Gogo Mobile, Inc. Method and system for metadata normalization, association and registration for digital content

Also Published As

Publication number Publication date
CN101669124A (zh) 2010-03-10
WO2009005719A2 (en) 2009-01-08
US20090006724A1 (en) 2009-01-01
WO2009005719A3 (en) 2009-03-26
US8069298B2 (en) 2011-11-29
TW200910089A (en) 2009-03-01
EP2165285A2 (en) 2010-03-24

Similar Documents

Publication Publication Date Title
US8069298B2 (en) Method of storing and accessing header data from memory
US20090006796A1 (en) Media Content Processing System and Non-Volatile Memory That Utilizes A Header Portion of a File
US10148625B2 (en) Secure transfer and tracking of data using removable nonvolatile memory devices
KR100608585B1 (ko) 이동형 저장 장치에서 객체의 위치 정보를 이용하여 권리객체를 검색하는 방법 및 장치
KR101379861B1 (ko) Drm 제공 장치, 시스템 및 그 방법
EP2158716B1 (en) Binding content licenses to portable storage devices
US9075957B2 (en) Backing up digital content that is stored in a secured storage device
US8327454B2 (en) Method for allowing multiple users to access preview content
US8032941B2 (en) Method and apparatus for searching for rights objects stored in portable storage device object identifier
US9325680B2 (en) Digital rights management retrieval system
US8763110B2 (en) Apparatuses for binding content to a separate memory device
JP2009508412A (ja) メディアコンテンツのセキュアストレージと配信のためのモバイルメモリシステム
US9811670B2 (en) Information processing device, information processing method, and program
US9276935B2 (en) Domain manager for extending digital-media longevity
JP2010509696A (ja) コンテンツを別のメモリデバイスに結合する方法および装置
CN101595488A (zh) 用于将内容绑定到单独的存储器装置的方法和设备
US20120042173A1 (en) Digital Content and Right Object Management Systems and Methods
JP4906739B2 (ja) 権利ファイル記述の保護方法
AU2005263101B2 (en) Method and apparatus for searching rights objects stored in portable storage device using object location data
US20090313704A1 (en) Content management methods and systems
JP2010509887A (ja) セッションチケットに基づいてコンテンツにアクセスするための方法および装置
JP2010510575A (ja) コンテンツをライセンスとリンクさせる方法および装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid