KR101248539B1 - 착탈식 미디어를 위한 드라이브 표시 메카니즘 - Google Patents

착탈식 미디어를 위한 드라이브 표시 메카니즘 Download PDF

Info

Publication number
KR101248539B1
KR101248539B1 KR1020060051829A KR20060051829A KR101248539B1 KR 101248539 B1 KR101248539 B1 KR 101248539B1 KR 1020060051829 A KR1020060051829 A KR 1020060051829A KR 20060051829 A KR20060051829 A KR 20060051829A KR 101248539 B1 KR101248539 B1 KR 101248539B1
Authority
KR
South Korea
Prior art keywords
drive
index value
storage medium
addressable
storage
Prior art date
Application number
KR1020060051829A
Other languages
English (en)
Other versions
KR20060135500A (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 KR20060135500A publication Critical patent/KR20060135500A/ko
Application granted granted Critical
Publication of KR101248539B1 publication Critical patent/KR101248539B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/04Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

시스템(20)(및 관련 방법)은 저장 드라이브(30) 및 중앙 처리 장치(CPU; 24, 36)를 포함한다. 저장 드라이브는 착탈식 저장 매체(32)를 수용하도록 동작한다. CPU는 CPU로 하여금 데이터를 저장 매체의 어드레스 가능한 유닛(70)에 기록하고 식별 값(72)를 어드레스 가능한 유닛에 기록하도록 하는 코드(38)를 실행하도록 구성된다. 식별 값은 시스템이나 저장 드라이브의 신원(identity)을 나타낸다.
식별, 어드레스 가능한 유닛, 저장 드라이브, 드라이브 ID, 테이블

Description

착탈식 미디어를 위한 드라이브 표시 메카니즘{A DRIVE INDICATING MECHANISM FOR REMOVABLE MEDIA}
본 발명의 예시적 실시예의 상세한 설명을 위해 이제 첨부된 도면에 대해 언급할 것이다.
도 1은 본 발명의 예시적 실시예에 따른 시스템을 도시한 도면.
도 2는 드라이브 식별자 테이블이 저장 매체에 포함된 실시예를 도시한 도면.
도 3은 도 2의 드라이브 식별자 테이블의 예시적 실시예를 도시한 도면.
도 4는 개별 저장 장치들을 식별하는 인덱스 값이 매체의 어드레스 가능한(addressable) 유닛에 저장되는 저장 매체의 예시적 영역을 도시한 도면.
도 5는 예시적 방법 실시예를 도시한 도면.
일부 전자 시스템은 착탈식 저장 매체에 데이터를 저장할 수 있는 저장 드라이브를 포함한다. 저장 매체가 착탈식이기 때문에, 저장 매체의 데이터는 하나 이상의 저장 드라이브들에 의해 기록될 수 있다. 더 나아가 저장 매체의 하나 이상 의 영역들(예컨대, 섹터)이 오작동할 수 있다. 그 오작동은 저장 매체 자체 또는 저장 매체에 액세스하는 동안에 드라이브의 문제에 기인한다. 그러한 오작동이 진단될 수 있는 정보를 갖는 것이 바람직할 것이다.
본 발명은 착탈식 저장 매체(removable storage medium)가 사용될 수 있는 시스템으로서, 복수의 개별적으로 어드레스 가능한 유닛들(addressable units)을 포함하는 착탈식 저장 매체를 수용하도록 동작하는 저장 드라이브, 및 저장 매체의 어드레스 가능한 유닛에 데이터를 기록하고, 또한 상기 어드레스 가능한 유닛에 식별 값(identifying value)도 기록하게 하는 코드를 실행하도록 구성된 중앙 처리 장치(CPU)를 포함하는 시스템을 제공한다. 여기서 식별 값은, 시스템이나 저장 드라이브를 저장 매체가 함께 사용될 수 있는 다른 시스템들이나 저장 드라이브들로부터 구별하는 신원(identity)을 나타낸다.
특정 용어들이 특정 시스템 컴포넌트를 나타내기 위해 이하의 설명 및 청구항에서 사용된다. 당업자라면 이해하듯이, 컴퓨터 회사들은 다른 이름으로 구성 요소를 나타낼 수 있다. 이 문서는 기능은 다르지 않으나 이름은 상이한 구성 요소를 구별하고자 하지 않는다. 이하의 설명과 청구항에서, "포함하는"이라는 용어는 제한 없는 방식(open-ended fashion)으로 사용되어, "포함하지만, 이에 한정되지는 않는..."의 의미로 해석되어야 한다. 또한, "결합" 또는 "결합들"은 간접 또는 직접적인 전기적 접속 중 하나를 의미한다. 그러므로, 제1 장치가 제2 장치에 결합된 경우, 그 접속은 직접적인 전기적 접속 또는 다른 장치 및 접속을 경유한 간접적인 전기적 접속을 통해 이루어질 수 있다. "기록하다"라는 동사는 '저장하다', '쓰다' 또는' 데이터를 저장 매체에 전송하다'라는 의미이다. "시스템"이라는 용어는 둘 이상의 컴포넌트의 집합을 나타내며 예컨대 컴퓨터 시스템이나 컴퓨터의 서브시스템(예컨대, 저장 드라이브)을 나타내는데 사용될 수 있다.
도 1은 본 발명의 예시적 실시예에 따라 구현된 시스템(20)을 도시한다. 도시된 바와 같이, 시스템(20)은 저장 드라이브(30)에 결합된 호스트(host; 22)를 포함한다. 일반적으로, 호스트(22)는 저장 드라이브에 데이터를 저장하고 저장 드라이브로부터 데이터를 읽는다. 그와 같이, 호스트(22)는 저장 드라이브에 대한 데이터 소스를 나타내고/나타내거나 호스트(22) 또는 다른 장치에 의해 사용되기 위해 저장 장치에서 검색되는(retrieved) 데이터의 소비자를 나타낸다. 호스트(22)는 컴퓨터로 구현될 수 있으며, 저장 장치(30)는 컴퓨터의 외부에 있거나 내부에 위치할 수 있다. 호스트(22)는 중앙 처리 장치(CPU; 24) 및 장치 드라이버(26)를 포함한다. 장치 드라이버(26)는 CPU(24)에 의해 실행되는 소프트웨어를 포함하며 CPU로 하여금 여기서 기술되는 하나 이상의 동작들을 수행하게 할 수 있다. 호스트(22)는 명료함을 위해 구체적으로 도시하지는 않은 다른 컴포넌트들을 포함할 수도 있다.
저장 드라이브(30)는 사람 또는 기계(예컨대, 자동화된, 테이프 드라이브 로딩 시스템)에 의해 삽입될 수 있는 것과 같이 착탈식 저장 매체를 받을 수 있도록 동작한다. 저장 매체(32)는 광학 디스크, 자기 디스크, 고체 상태 메모리(solid state memory) 등과 같은 임의의 적합한 종류의 매체를 포함할 수 있다. 더 나아가, 저장 매체는 "라이트 원스(write-once)" 매체 또는 "리라이터블(re-writeable)" 저장 매체로 구현될 수 있다. 데이터는 라이트 원스 매체에 한번 이상 기록될 수 있으나, 일단 데이터가 라이트 원스 매체(예컨대, CD-R)에 기록되면, 그 데이터를 덮어쓰거나 삭제할 수 없다. 리라이터블 저장 매체의 데이터는 덮어쓰거나 삭제할 수 있다.
저장 드라이브(30)는 CPU(36), 및 CPU(36)에 의해 실행될 수 있는 코드(38)를 포함할 수도 있다. 여기에 설명된 하나 이상의 동작들은 코드(38)를 실행하는 저장 드라이브의 CPU(36)에 의해 수행될 수 있다. 더욱이, 여기에 설명된 모든 동작들은 코드(38) 또는 장치 드라이버(26)에 의해 수행될 수 있다. 다른 실시예에서, 여기에 설명된 동작들 중 일부가 장치 드라이버(26)에 의해 수행될 수 있는 반면 다른 동작들은 코드(38)에 의해 수행된다. 이하의 설명에서 다양한 동작들을 수행하는 코드(38)를 언급한다. 그러나 다른 실시예에서, 장치 드라이버(26)가 부가적으로(additionally) 또는 대체적으로(alternatively) 사용될 수 있다.
저장 드라이브(30)는 또한 연관된 드라이브를 다른 모든 드라이브와 구별하여 유일하게 식별할 수 있게 하는 드라이브 식별자(ID; 34)와 같은 식별 값(identifying value)을 포함한다. 예를 들어, 드라이브 ID는 드라이브 제조사에 의해 할당된 시리얼 번호를 포함할 수 있다. 다른 실시예에서, 드라이브 ID(34)는 다른 드라이브들의 전부는 아니지만 적어도 일부에 있어서는 유일할 수 있다. 드라이브 ID(34)에 있어서 동일한 저장 매체(32)가 동일한 드라이브 ID를 갖는 둘 이상의 드라이브에서 사용될 수 있는 확률이 충분히 낮다면 일반적으로 본 명세서의 청구 대상의 목적에 있어서 충분하다. ("유일한" 드라이브 ID에서 사용되는 것과 같이) "유일" 이라는 용어는 본 명세서에서 위의 두 의미 모두로 사용된다. 드라이브 ID(34)는 저장 드라이브(30)의 비휘발성 메모리에 저장될 수 있거나 드라이브의 회로 내로 (예컨대, 드라이브 내에 포함된 인쇄 회로 기판상에 형성된 트레이스(trace)상의 특정한 패턴 형태로) 하드-코드될(hard-coded) 수 있다. 일부 실시예에서, 드라이브 ID는 영구적인 것으로서 변경할 수 없다. 드라이브 ID가 영구적이거나 적어도 특정 장비 또는 처리 없이는 변경하기 어렵게 되는 것도 적합하다. 다른 실시예에서, 드라이브 ID는 드라이브의 식별자 대신에 또는 그에 추가하여 호스트(22)의 식별자를 포함한다. 더 나아가, 드라이브 ID는 시스템(20) 또는 시스템(20)의 사용자와 관계된 공개적으로 입수 가능한 정보를 포함한다. 드라이브 ID는 시스템(20) 사용자의 프라이버시를 보호하기 위해 적법한 절차{예컨대, 수색 영장(search warrant)}을 통해서 합법적으로 검색될 수 있는 사적 정보를 추가적으로 또는 대체적으로 보유할 수 있다.
드라이브 ID(34)는 문자와 숫자로 이루어진(alphanumeric) 기호 및/또는 다른 심볼을 보유하는 값을 포함할 수 있다. 적어도 하나의 실시예에서, 드라이브 ID(34)는 제조사 코드(16 비트), 모델 코드(16 비트) 및 시리얼 번호(32 비트)를 포함하는 64 비트 값을 포함한다. 서로 다른 저장 드라이브 제조사 각각은 16 비트를 이용하여 유일한 제조사 코드를 할당받을 수 있으며, 65000개 이상의 서로 다른 제조사 코드 할당이 가능하다. 필요한 경우 수정(revision)을 포함하여 저장 장치의 각각의 상이한 모델들도 유일한 모델 코드를 할당받을 수 있다. 모델 코드에 사용되는 16 비트를 이용하여 65000개 이상의 유일한 모델 코드가 사용가능하다. 시리얼 번호는 각각의 드라이브에 유일하다. 그것으로서, 동일한 제조사에 의해 제조된 동일한 모델의 두 드라이브는 여전히 서로 다른 ID를 가질 것이며, 이는 드라이브 ID의 시리얼 번호 구성 요소가 상이할 것이기 때문이다. 드라이브 ID의 세 구성 요소(제조사 코드, 모델 코드 및 시리얼 번호)는 함께 연결되거나 다르게 조합되거나 임의의 적합한 방식으로 함께 사용될 수 있다.
다른 실시예에서, 특정 모델의 모든 드라이브는 드라이브에서 실행되는 펌웨어에 인코딩되어 있는 드라이브 ID를 가질 수 있다. 이 실시예에서, 특정 모델의 드라이브 각각은 동일한 32 비트 시리얼 번호를 갖는다. 펌웨어가 업그레이드되는 경우, 드라이브 시리얼 번호는 변하지 않고 여전히 사용가능하다. 다른 실시예에 따르면, 드라이브 ID는 호스트에 의해{예컨대, 장치 드라이버(26)에 따라 CPU(24)에 의해} 생성된다. 드라이브가 설치될 때, 드라이버는 예컨대 드라이브 컨트롤러 일렉트로닉스(drive controller electronics)에 의해 판독가능하지 않지만 사람이 판독할 수 있는 드라이브상에 인쇄된 시리얼 번호와 같은 번호를 오퍼레이터(operator)에게 프롬프트(prompt)할 수 있다. 다른 방법으로, 제조사 번호 및 모델 번호만 수동으로 입력되도록 하고 장치 드라이버(26)가 랜덤 32 비트 시리얼 번호를 생성하도록 할 수 있다. 다른 방법으로, 장치 드라이버는 호스트를 위한 펌웨어(예컨대, 바이오스)의 시리얼 번호와 같이 호스트 컴퓨터에 연관된 유일한 번호로부터 시리얼 번호를 생성할 수 있다. 장치 드라이버가 시리얼 번호를 제공 하는 경우, 장치 드라이버는 그 번호를 비휘발성 메모리에 저장하거나, 장치 드라이버는 드라이버가 로드(load)될 때마다 항상 동일한 번호를 재생성하기 위해서 결정 알고리즘(deterministic algorithm)을 사용해야 한다. 장치 드라이버가 시리얼 번호를 제공하는 경우, 드라이브는 초기화시에 장치 드라이버로부터 드라이브 인증(identification)을 획득할 수 있다.
일반적으로, 기록된 데이터는 어드레스 가능한 유닛(addressable unit)으로 포맷팅되는데, 여기서의 어드레스 가능한 유닛은 다양한 방법으로 참조될 수 있다. 그 예로서 섹터, 블록, 클러스터, 트랙, 및 사전정의된 수의 섹터를 갖는 에러 정정 코드(ECC) 블록과 같은 다른 유닛의 그룹들이 포함된다. 이하의 설명에서, "어드레스 가능한 유닛"이라는 용어는 위에 열거된 저장 유닛 또는 주지된 다른 저장 유닛을 총칭하여 언급하기 위해 사용된다.
도 2는 비사용자 데이터 영역(50)과 사용자 데이터 영역(54)을 포함하는 것으로 저장 매체(32)의 일 실시예를 도시한다. 사용자 데이터 영역(54)은 호스트(22)상에서 실행되는 어플리케이션을 대신하여 드라이브(30)에 의해 데이터가 저장되는 곳이다. 예를 들어, 사용자가 저장 매체에 저장하고자 하는 문서나 스프레드시트와 같은 파일은 드라이브(30)에 의해 사용자 데이터 영역에 저장된다. 비사용자 데이터 영역(50)은 일반적으로 사용자 데이터를 저장하는데 사용되지 않으며, 그 대신, 제어 및 관리 목적으로 사용된다. 본 발명의 적어도 일부의 실시예에 따라, 비사용자 데이터 영역(50)은 참조로서 여기에 통합된 미국 특허번호 제 6,330,210호에 개시된 것과 같이 저장 매체의 "리드인(lead-in)" 영역을 포함할 수 있다. 도면의 실시예에서, 비사용자 데이터 영역(50)은 드라이브 ID 테이블(56)을 갖는다. 드라이브 ID 테이블(56)은, 코드(38)를 실행하여 드라이브의 CPU(36)에 의해 초기화될 수 있다. 드라이브 ID 테이블을 초기화하는 단계는 테이블을 저장하기 위해 비사용자 데이터 영역(50)의 일부를 예약하는(reserve) 단계를 포함한다.
도 3은 테이블(56)의 일 실시예를 도시한다. 테이블(56)은 하나 이상의 엔트리(entry; 62)를 갖도록 구성된다. 도 3에 도시된 바와 같이, 각각의 엔트리(62)는 적어도 드라이브 ID 필드(58)를 포함한다. 드라이브 ID 필드(58)는 저장 드라이브와 연관된 (위에서 설명된 것과 같은) 드라이브 ID를 저장하게 된다. 각각의 엔트리(62)는 인덱스 필드(60)를 포함할 수도 있다. 그것으로서, 테이블(56)의 각각의 엔트리(62)는 인덱스 값과 대응 드라이브 ID를 포함할 수 있다. 예를 들어, 인덱스 값 01h("h"는 16진법을 나타냄)은 드라이브 1에 대한 ID(드라이브 1 ID)에 대응한다. 이와 유사하게, 인덱스 02h 및 03h는 드라이브 2 ID 및 드라이브 3 ID에 대응한다. 적어도 일부의 엔트리(62)는 드라이브 ID를 저장하기 위한 장래의 사용을 위해 예약될 수 있다. 도 3에 도시된 실시예에서, 인덱스 필드(60)는 인덱스 값을 저장하기 위해 테이블에 포함된다. 다른 실시예에서, 인덱스 필드(60)는 명시적으로 테이블(56)에 포함되지 않는 대신에, 각각의 드라이브 ID에 대한 인덱스 값이, 참조되는 드라이브 ID 값의 테이블 내의 위치에 기초하여 추론된다. 예를 들어, 드라이브 2는 테이블의 {0-시작 인덱싱 기법(0-based indexing scheme)에 있어서} 두 번째 엔트리에 있으므로, 드라이브 2는 인덱스 값 2에 연관 된 것으로 생각된다.
본 발명의 다양한 실시예에 따라, 저장 드라이브(30)에 의해 저장 매체(32)의 어드레스 가능한 유닛에 데이터가 기록될 때마다, 저장 드라이브의 CPU(36)는 코드(38)의 제어를 통해 데이터가 기록되는 어드레스 가능한 유닛에 인덱스 값 역시도 기록해 넣는다. 저장 매체(32)의 어드레스 가능한 유닛에 기록되는 이 인덱스 값은 쓰기 동작을 수행하고 있는 해당 특정 저장 드라이브(30)에 대응한다. 어드레스 가능한 유닛에 기록되는 인덱스 값은 드라이브 ID 테이블(56)에 의하여 반영된 것과 같이 드라이브의 ID에 대응한다. 예를 들어, 드라이브 1이 저장 매체의 어드레스 가능한 유닛에 기록하면, 드라이브 1은 데이터에 부가하여 그것의 대응 인덱스 값을 해당 어드레스 가능한 유닛에 기록한다. 더욱이, 데이터가 기록되는 저장 매체(32)의 각 어드레스 가능한 유닛에는 마찬가지로 그 어드레스 가능한 유닛에 기록하는데 사용되었던 특정 저장 드라이브(30)을 식별하는 인덱스 값이 기록된다.
도 4는 저장 매체(32)의 어드레스 가능한 유닛의 한 영역을 도시한다. 도 4에 도시된 영역은 어드레스 가능한 유닛 1, 2, 3, 4 및 5를 포함한다. 각각의 어드레스 가능한 유닛은 데이터 영역(70) 및 인덱스 값(72)을 포함한다. 인덱스 값(72)은 각각의 어드레스 가능한 유닛에 연관된 헤더의 일부로서 포함될 수 있다. 일부 실시예에서, 어드레스 가능한 유닛 헤더는 어드레스, 제어 정보 및 다른 정보뿐 아니라 하나 이상의 예약된 필드를 포함할 수 있다. 예약된 필드 중 하나가 인덱스 값을 저장하는데 사용될 수 있다. 도 4의 예에서, 드라이브 1은 어드레스 가능한 유닛 1, 2 및 5에 데이터를 기록하는데 사용되었으며, 드라이브 2 및 3은 각각 어드레스 가능한 유닛 3 및 4에 데이터를 기록하는데 사용되었다. 드라이브 1이 먼저 어드레스 가능한 유닛 3 및 4에 데이터를 기록하는데 사용되었으나, 이후에 계속하여 드라이브 2 및 3이 어드레스 가능한 유닛 3 및 4에 저장된 데이터를 덮어써서(overwrite), 연관된 인덱스 값을 업데이트하였을 수도 있다. 인덱스 값(72)은 가장 최근에 어드레스 가능한 유닛에 기록한 드라이브를 식별한다. 저장 매체(32)는 "레거시 드라이브(legacy drive)"와 관련하여 사용될 수도 있다. 레거시 드라이브는 여기에 설명된 것처럼 저장 매체에 드라이브 ID를 기록하지 않는 드라이브이다. 대신에, 레거시 드라이브는 여기에 설명된 대로 했다면 드라이브에 의해 드라이브 ID가 기록되었을 어드레스 가능한 유닛의 위치에, 00h와 같은 사전결정된 값이 기록되도록 할 수 있다.
드라이브 ID 테이블(56)의 모든 엔트리가 드라이브 ID 및 인덱스 값(인덱스 값이 테이블 내에 구현된 경우)으로 기록되어 있는 상황이 일어날 수 있다. 이 상황이 일어날 때, 적어도 일부의 실시예에 따라, 데이터를 어드레스 가능한 유닛에 기록하려고 시도하는 새로운 저장 드라이브{즉, 자신의 드라이브 ID가 테이블(56)에 이미 저장되어있지는 않은 드라이브}는 00h 또는 FFh와 같은 예약된 값들이 드라이브 ID 대신 어드레스 가능한 유닛(들)에 기록되도록 할 수 있다. 다른 실시예에서, 일단 테이블(56)이 가득 차면, 테이블의 드라이브 ID는 사용자-개시(user-initiated) 유지관리 절차에 의해 삭제될 수 있다. 이어서, 옵셋 값(offset value)이 테이블의 일부로서 저장되거나 저장 매체의 다른 곳에 저장될 수 있다. 이 옵셋 값은 테이블(56)의 엔트리 수를 나타내며 추가적 드라이브를 위한 새로운 인덱스를 연산하는데 사용된다. 예를 들어, 테이블(56)이 32개의 엔트리를 가지고 있고 32개의 엔트리 모두가 드라이브 ID(즉, 32개의 서로 다른 드라이브의 32개의 서로 다른 드라이브 ID)로 채워져 있다면, 모든 32개의 드라이브 ID는 테이블로부터 삭제될 수 있다. 이 예에서, 옵셋 값은 32가 될 것이다. 드라이브가 그 후에 어드레스 가능한 유닛에 기록을 시도할 때, 테이블(56)의 삭제 후에 저장 매체에 기록하는 첫 번째 드라이브가 되는 그 새로운 드라이브는, 초기 인덱스 값 1을 옵셋 값 32에 더하여 연산된 인덱스 값 33이 할당될 것이다. 이와 유사하게, 저장 매체에 기록할 다음 드라이브는 인덱스 값 34가 할당되는 식이 될 것이다. 테이블(56)에 실제로 저장된 인덱스 값은 1, 2, 3 등이 될 것이나, 테이블(56)에 액세스할 때 옵셋 값 32가 더해진다.
도 5는 단계(80 내지 88)을 포함하는 대응하는 방법을 도시한다. 도 5에 도시된 하나 이상의 동작들은 동시에 또는 순차적으로 수행될 수 있으며 하나 이상의 동작들은 필요한 경우 생략될 수도 있다. 더 나아가, 동작들은 도 5에 도시된 것과는 다른 순서로 수행될 수 있다. 단계(80)에서, 사용자는 저장 매체(32)를 저장 드라이브(30)에 삽입한다. 어떤 시점에서, 저장 드라이브(30)는 저장 매체(32)에 기록을 할 수 있다. 단계(82)에서, 저장 드라이브(30)는 저장 매체의 테이블(56)을 조사함으로써 그 특정 드라이브가 저장 매체(32)에 이전에 데이터를 기록했었는지 결정한다. 저장 드라이브(30)가 저장 매체(32)에 이전에 어떤 데이터도 기록하지 않았다면, 저장 드라이브(30)의 드라이브 ID는 테이블(56)에 존재하지 않을 것 이다. 그러나, 저장 드라이브(30)가 예전에 데이터를 저장 매체(32)에 기록했었다면, 저장 매체(30)의 드라이브 ID가 테이블(56)에 존재할 것이다. 이 특정 저장 드라이브(30)가 이 특정 저장 매체(32)에 데이터를 기록하는 것이 처음이라면, 단계(84)에서 드라이브의 CPU(36)는 이전에 사용되지 않은 인덱스 값에 대응하는 드라이브의 ID 값을 테이블에 추가함으로써 저장 매체의 드라이브 ID 테이블(56)을 변경한다. 예를 들어, 그러한 드라이브는 테이블에 이전에 "예약됨(reserved)"으로 표시했던 인덱스 값 04h에 대응하는 엔트리에 그 드라이브 ID를 추가할 수 있다. 드라이브가 저장 매체(32)에 이미 기록한 바가 있다면, 저장 매체의 드라이브 ID 테이블은 이미 해당 드라이브 ID의 목록을 보유한 엔트리를 갖고 있을 것이며, 단계(83)에서 드라이브의 CPU는 드라이브 ID 테이블(56)에 있는 해당 드라이브의 ID에 연관된 인덱스를 사용하게 될 것이다. 단계(86)에서, 저장 드라이브(30)는 저장 매체(32)의 어드레스 가능한 유닛에 데이터를 기록한다. 단계(88)에서, 드라이브(30)는 데이터가 기록되고 있는 어드레스 가능한 유닛에 자신의 인덱스 값을 기록한다. 일부 실시예에서, 단계(86 및 88)은 하나의 동작으로 수행되는데, 즉 데이터와 드라이브 ID가 한 번의 기록 처리(one write transaction)를 통해 어드레스 가능한 유닛에 기록된다. 일부 예에서, 드라이브 ID 테이블은 데이터를 기록하기 전에 업데이트되지 않고, 드라이브의 CPU(36)가 새로운 인덱스 값을 알고 있다가 이후 저장 매체(32)를 꺼내거나 시스템의 전원을 끄기 전의 어떤 시점에 그것을 드라이브 ID 테이블(56)에 기록하려고 대기할 것이다. 드라이브 ID 테이블(56)로의 모든 변경은 데이터를 어드레스 가능한 유닛에 기록하기 전, 기록 동안 또는 기 록 후에 기록되지만 이는 매체가 저장 드라이브로부터 꺼내지기 전에 이루어진다.
위에 설명된 실시예들에 따라, 인덱스 값은 어드레스 가능한 유닛에 기록하는 드라이브를 식별하는 식별 값으로서 어드레스 가능한 유닛에 저장된다. 테이블(56)은 연관된 인덱스 값이 주어진 어드레스 가능한 유닛에 기록한 특정 드라이브를 식별하는데 사용된다. 일부 실시예에서 특정 드라이브에 연관된 인덱스 값은 도 3에 도시된 바와 같이 테이블(56)에 저장되지만, 다른 실시예에서 특정 드라이브의 인덱스 값은 테이블에서의 드라이브의 위치로부터 추론된다. 일부 실시예에서, 대응하는 인덱스 값이 아니라 드라이브 ID 자체(또는 시스템 식별자)가 식별 값으로서 어드레스 가능한 유닛에 기록될 수 있다. 이러한 후자의 실시예에서, 드라이브 ID 테이블(인덱스 값과 드라이브 ID간 변환을 용이하게 하는 테이블)은 사용되지 않는다.
일부 실시예에서(예컨대, 레거시 드라이브), 드라이브 식별 값은 사용가능하지 않을 수 있으며 사전결정된 값(예컨대, 00h)이 매체의 어드레스 가능한 유닛에 저장된다. 또한, 모든 가능한 드라이브 식별자(예컨대, 인덱스 값)이 이미 사용중이어서 새로운 드라이브에 대해 어느 것도 사용할 수 없을 수 있다. 이 경우, 드라이브 식별 인덱스 값 대신에 매체의 어드레스 가능한 유닛에 저장하도록 사전결정된 값이 사용된다.
위에서 설명된 실시예들에 따르면, 어느 드라이브가 저장 매체의 특정 어드레스 가능한 유닛에 기록하였는지를 식별하는데 사용될 수 있는 감사 정보(audit information)를 보유한 저장 미디어를 얻을 수 있다. 이 감사 정보는 다양한 방법으로 사용될 수 있다. 예를 들어, 저장 매체(32)의 어드레스 가능한 유닛에 결함이 있는 것으로 결정되고, 그 어드레스 가능한 유닛에 기록된 인덱스 값이 결정될 수 있다면, 드라이브 ID 테이블을 조사함으로써 어떤 드라이브가 그 특정 어드레스 가능한 유닛에 마지막으로 기록하였는지에 대한 결정이 이루어질 수 있다. 그 어드레스 가능한 유닛의 결함은 저장 장치 및 매체의 드라이브 ID 테이블에 의해 기록된 어드레스 가능한 유닛에서의 정보에 의해 유일하게 식별될 수 있는 특정 저장 장치의 문제에 의해 발생할 수 있다. 따라서, 일부 실시예에서, 프로세서를 갖는 시스템과 방법을 구현하기에 적합한 소프트웨어를 실행함으로서 방법이 수행될 수 있다. 그렇게 수행되는 방법은 착탈식 저장 매체(32)로부터 정보를 검색(retrieve)하는 단계 및, 그 정보에 기초하여 어떠한 복수의 저장 드라이브들이 착탈식 저장 매체에 그 데이터를 저장하는데 사용되었는지를 결정하는 단계를 포함한다. 구체적으로, 컴퓨터 시스템은 착탈식 저장 매체를 받고 컴퓨터 시스템의 소프트웨어가 하나 이상의 어느 저장 드라이브들이 이전에 착탈식 저장 매체에 데이터를 기록하였는지를 결정하기 위해 그 방법을 수행한다. 위에서 설명된 정보를 검색하는 동작은 착탈식 저장 매체로부터 테이블(56)을 검색하는 단계를 포함한다. 그 정보를 검색하는 동작은 또한 이전에 데이터가 기록된 착탈식 저장 매체의 어드레스 가능한 유닛에 저장된 임의의 인덱스 값을 검색하는 단계를 포함한다. 그 방법은 테이블(56)을 조사하는 단계와, 저장 매체의 임의의 어드레스 가능한 유닛으로부터 읽혀진 임의의 인덱스 값(들)이 테이블에 있는 임의의 인덱스 값들과 일치 하는 것을 포함하는지 결정하는 단계를 더 수반한다. 테이블에 저장된 드라이브 ID는 메카니즘을 제공하여, 그에 의하여 예전에 저장 매체의 어드레스 가능한 유닛에 데이터를 기록한 임의의 드라이브의 아이덴티티가 확인될 수 있고, 어느 것의 인덱스 값이 그러한 어드레스 가능한 유닛에 저장되었는지 확인될 수 있다.
일단 위의 개시를 충분히 이해하면 많은 변경 및 수정이 당업자에게 명백할 것이다. 예를 들어, 여기에서 제공된 지침은 컴퓨터 시스템뿐만 아니라 광학 디스크 비디오 레코더(recorder)와 같은 독립형의(stand-alone) 저장 장치에도 적용가능하다.

Claims (10)

  1. 착탈식 저장 매체가 사용될 수 있는 시스템으로서,
    복수의 개별적으로 어드레스 가능한 유닛들(addressable units) 및 복수의 드라이브 식별자들을 보유하도록 구성된 테이블을 포함하는 상기 착탈식 저장 매체를 수용하도록 구성된 저장 드라이브로서, 각각의 상기 드라이브 식별자는 상이한 드라이브와 연관되고, 상기 착탈식 저장 매체와 함께 이용될 수 있는 다른 드라이브들로부터 상기 연관된 드라이브를 고유하게 구별하는, 저장 드라이브; 및
    중앙 처리 장치("CPU")로 하여금, 상기 착탈식 저장 매체의 어드레스 가능한 유닛 중 임의의 유닛에 데이터를 기록하게 하고, 또한 데이터가 기록된 어드레스 가능한 유닛 각각에 인덱스 값을 기록하게 하며, 상기 인덱스 값과 연관된 드라이브 식별자를 상기 테이블에 기록하게 하는 코드를 실행하도록 구성된 상기 CPU를 포함하고,
    상기 인덱스 값은, 상기 드라이브 식별자의 상기 테이블에서의 위치를 식별하고, 상기 인덱스 값은 상기 드라이브 식별자와 상이한 값이며,
    상기 테이블은 인덱스 값이 기록되는 각각의 어드레스 가능한 유닛과는 상이한 하나 이상의 어드레스 가능한 유닛들에 저장되는, 시스템.
  2. 제1항에 있어서,
    각각의 상기 어드레스 가능한 유닛은 섹터를 포함하는, 시스템.
  3. 제1항에 있어서,
    각각의 상기 어드레스 가능한 유닛은 에러 정정 코드(error correction code)("ECC") 블록을 형성하기 위한 사전결정된 수의 섹터들을 포함하는, 시스템.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 코드는, 상기 CPU로 하여금 상기 저장 드라이브가 이전에 상기 저장 매체에 기록을 하였는지의 여부를 판정하도록 하는, 시스템.
  8. 저장 드라이브에 의하여 착탈식 저장 매체의 복수의 어드레스 가능한 유닛들에 데이터를 기록하는 단계;
    상기 저장 드라이브에 의하여 상기 저장 드라이브의 신원을 나타내는 인덱스 값을 데이터가 기록된 상기 어드레스 가능한 유닛 각각에 기록하는 단계로서, 상기 인덱스 값은, 상기 저장 드라이브의 식별자의 데이터 구조에서의 위치를 식별하며, 상기 인덱스 값은 상기 식별자와 상이한 값인, 인덱스 값 기록 단계; 및
    상기 인덱스 값이 기록되는 상기 어드레스 가능한 유닛과는 상이한 위치에 저장되는 상기 데이터 구조 내에, 상기 인덱스 값과 연관되는 상기 저장 드라이브의 식별자를 기록하는 단계
    를 포함하는 방법.
  9. 삭제
  10. 제8항에 있어서,
    상기 인덱스 값을 상기 어드레스 가능한 유닛에 기록하는 단계는, 상기 인덱스 값을 상기 어드레스 가능한 유닛의 헤더 부분에 기록하는 단계를 포함하는 방법.
KR1020060051829A 2005-06-24 2006-06-09 착탈식 미디어를 위한 드라이브 표시 메카니즘 KR101248539B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/166,845 2005-06-24
US11/166,845 US8984218B2 (en) 2005-06-24 2005-06-24 Drive indicating mechanism for removable media

Publications (2)

Publication Number Publication Date
KR20060135500A KR20060135500A (ko) 2006-12-29
KR101248539B1 true KR101248539B1 (ko) 2013-04-03

Family

ID=37567025

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060051829A KR101248539B1 (ko) 2005-06-24 2006-06-09 착탈식 미디어를 위한 드라이브 표시 메카니즘

Country Status (6)

Country Link
US (1) US8984218B2 (ko)
JP (1) JP2007004790A (ko)
KR (1) KR101248539B1 (ko)
CN (1) CN1885425B (ko)
NL (1) NL1032047C2 (ko)
TW (1) TWI453589B (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984218B2 (en) 2005-06-24 2015-03-17 Hewlett-Packard Development Company, L.P. Drive indicating mechanism for removable media
US9021197B2 (en) * 2005-06-24 2015-04-28 Hewlett-Packard Development Company, L.P. Drive indicating mechanism for removable media
GB0624582D0 (en) 2006-12-08 2007-01-17 Visible Computing Ltd USB autorun devices
US20090157751A1 (en) * 2007-12-13 2009-06-18 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Methods and systems for specifying an avatar
US20110060945A1 (en) * 2009-09-08 2011-03-10 Softthinks Sas Smart repair of computer systems
US20170102879A1 (en) * 2015-10-12 2017-04-13 Sandisk Technologies Inc. Descriptor data management

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940854A (en) * 1996-01-16 1999-08-17 International Business Machines Corporation Unique identifier for optical media
US6625732B1 (en) * 1999-04-29 2003-09-23 Charles R Weirauch Method for tracking the devices used to load, read, and write removable storage media
US6823329B2 (en) * 2002-04-02 2004-11-23 Sybase, Inc. Database system providing methodology for acceleration of queries involving functional expressions against columns having enumerated storage

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297258A (en) * 1991-11-21 1994-03-22 Ast Research, Inc. Data logging for hard disk data storage systems
JPH0737216A (ja) 1993-06-25 1995-02-07 Internatl Business Mach Corp <Ibm> 磁気ディスク装置並びに識別フィールド設定及び利用方法
US6449377B1 (en) * 1995-05-08 2002-09-10 Digimarc Corporation Methods and systems for watermark processing of line art images
JP2570995B2 (ja) 1993-11-29 1997-01-16 日本電気株式会社 ディスク制御装置
JP4187284B2 (ja) 1997-04-07 2008-11-26 富士通株式会社 記憶装置
KR100195020B1 (ko) * 1997-05-27 1999-06-15 윤종용 서보트랙라이터(Servo Track Writer)의 포트넘버(Port Number) 기록
US6393201B1 (en) * 1998-01-07 2002-05-21 Hitachi, Ltd. Reproducing apparatus and reproducing/recording apparatus memorizing identification information of optical information meda and method thereof
CN1237822C (zh) * 1998-04-08 2006-01-18 松下电器产业株式会社 光盘、光盘记录方法和装置,以及光盘再现方法和装置
KR100331322B1 (ko) * 1998-06-22 2002-08-27 삼성전자 주식회사 제조업체간의 특수기능을 지원하기 위한 부가정보를 저장하는 기록매체 및 기록 및/또는 편집장치와 그방법
JP3968875B2 (ja) 1998-06-24 2007-08-29 ソニー株式会社 ダウンロード装置、及び記録媒体
US6330210B1 (en) * 1999-04-29 2001-12-11 Hewlett-Packard Company Data structure for control information on rewriteable data storage media
JP2001222504A (ja) * 1999-12-03 2001-08-17 Canon Inc 電子機器、電子機器の制御方法及び記録媒体
KR20030040503A (ko) * 2000-09-28 2003-05-22 시게이트 테크놀로지 엘엘씨 디스크 드라이브용 임계 이벤트 로그
JP3569226B2 (ja) 2000-12-27 2004-09-22 Tdk株式会社 記録データの記録方法、記録媒体および記録装置
US6496312B2 (en) * 2001-01-05 2002-12-17 International Business Machines Corporation Use of snake-in-the-box codes for reliable identification of tracks in servo fields of a disk drive
JP4652641B2 (ja) 2001-10-11 2011-03-16 ソニー株式会社 ディスク記録媒体、ディスクドライブ装置、再生方法
US6910115B2 (en) * 2001-10-31 2005-06-21 Hewlett-Packard Development Company, L.P. System and method for configuring a removable storage medium
US7031085B2 (en) * 2002-01-16 2006-04-18 Seagate Technology Llc Version tracking of disk write operations
JP2003248629A (ja) * 2002-02-26 2003-09-05 Fujitsu Ltd 識別情報を有するリムーバブルディスク装置
US7657487B2 (en) * 2002-04-05 2010-02-02 Hewlett-Packard Development Company, L.P. Apparatus and method for providing data storage device security
US7145586B2 (en) * 2002-04-15 2006-12-05 Hewlett-Packard Development Company, L.P. Marking optical disc based on information related to data side thereof
US6792545B2 (en) * 2002-06-20 2004-09-14 Guidance Software, Inc. Enterprise computer investigation system
JP2004134044A (ja) 2002-10-15 2004-04-30 Sony Corp データ記録媒体、データ記録方法および情報端末装置、ならびに、情報サービス方法および情報サービス装置
US7042372B2 (en) * 2002-10-31 2006-05-09 Hewlett-Packard Development Company, L.P. Encoding information in codes identifying beginning of regions of data
US20040088556A1 (en) * 2002-10-31 2004-05-06 Weirauch Charles R. Using digital watermarking for protection of digital data
GB2413681A (en) * 2004-04-30 2005-11-02 Hewlett Packard Development Co Storage device with log of hosts which access storage medium
US20060026432A1 (en) * 2004-07-30 2006-02-02 Weirauch Charles R Drive tracking system for removable media
JP2006050017A (ja) 2004-07-30 2006-02-16 Toshiba Corp コンテンツ販売システム及びプログラム
JP2006079733A (ja) 2004-09-09 2006-03-23 Toshiba Corp 情報記録媒体、情報再生装置及び情報再生方法
US7877543B2 (en) 2004-12-03 2011-01-25 Hewlett-Packard Development Company, L.P. System and method for writing data and a time value to an addressable unit of a removable storage medium
US8984218B2 (en) 2005-06-24 2015-03-17 Hewlett-Packard Development Company, L.P. Drive indicating mechanism for removable media

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940854A (en) * 1996-01-16 1999-08-17 International Business Machines Corporation Unique identifier for optical media
US6625732B1 (en) * 1999-04-29 2003-09-23 Charles R Weirauch Method for tracking the devices used to load, read, and write removable storage media
US6823329B2 (en) * 2002-04-02 2004-11-23 Sybase, Inc. Database system providing methodology for acceleration of queries involving functional expressions against columns having enumerated storage

Also Published As

Publication number Publication date
TW200717241A (en) 2007-05-01
CN1885425B (zh) 2011-05-18
TWI453589B (zh) 2014-09-21
NL1032047C2 (nl) 2007-09-04
NL1032047A1 (nl) 2006-12-28
US8984218B2 (en) 2015-03-17
JP2007004790A (ja) 2007-01-11
US20060291084A1 (en) 2006-12-28
KR20060135500A (ko) 2006-12-29
CN1885425A (zh) 2006-12-27

Similar Documents

Publication Publication Date Title
US7996606B2 (en) System and method for writing data and a time value to an addressable unit of a removable storage medium
US6625732B1 (en) Method for tracking the devices used to load, read, and write removable storage media
KR101248539B1 (ko) 착탈식 미디어를 위한 드라이브 표시 메카니즘
RU2343567C2 (ru) Носитель записи информации, устройство записи/воспроизведения и способ записи/воспроизведения
RU2007103336A (ru) Носитель информации, устройство записи/воспроизведения и способ записи/воспроизведения
JP4210673B2 (ja) 取り外し可能な記憶媒体を収容することができる記憶ドライブ
US7551530B2 (en) Optical disc recording system
KR101381029B1 (ko) 광학 디스크 시스템 및 다운로드 컨텐츠 저장 방법
US20080098050A1 (en) Defect Management for Storage Media
US7409598B2 (en) Information storage system

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
LAPS Lapse due to unpaid annual fee