KR100643669B1 - 프레임의 어떤 특성에 근거하여 프레임에 태그를 부가하고 그 태그의 함수로서 그 프레임을 전송하는 시스템 - Google Patents

프레임의 어떤 특성에 근거하여 프레임에 태그를 부가하고 그 태그의 함수로서 그 프레임을 전송하는 시스템 Download PDF

Info

Publication number
KR100643669B1
KR100643669B1 KR1020007001050A KR20007001050A KR100643669B1 KR 100643669 B1 KR100643669 B1 KR 100643669B1 KR 1020007001050 A KR1020007001050 A KR 1020007001050A KR 20007001050 A KR20007001050 A KR 20007001050A KR 100643669 B1 KR100643669 B1 KR 100643669B1
Authority
KR
South Korea
Prior art keywords
data
frame
tag
data frame
track
Prior art date
Application number
KR1020007001050A
Other languages
English (en)
Other versions
KR20010022465A (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 KR20010022465A publication Critical patent/KR20010022465A/ko
Application granted granted Critical
Publication of KR100643669B1 publication Critical patent/KR100643669B1/ko

Links

Images

Classifications

    • 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/08Control of operating function, e.g. switching from recording to reproducing by using devices external to the driving mechanisms, e.g. coin-freed switch
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1218Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
    • G11B2020/1225Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc frame, i.e. a subunit of a sector containing user data, e.g. a sync frame

Abstract

저장매체 상에 기록된 데이터에 대한 특정한 알려지거나 다른 방식으로 결정될 수 있는 특성을 고려하고 각각의 데이터 프레임에 태그 데이터를 선택적으로 부가함으로써, 데이터 저장장치 내부의 신호처리 부담을 상당히 줄이고 저장장치로부터 외부장치로의 데이터 프레임의 전송을 효율적으로 하는 방법 및 장치가 제공된다. 이때, 각 데이터 프레임의 특성과, 필요한 경우에 저장장치 내부의 데이터 프레임을 신호처리하는데 어떤 동작이 필요한지를 결정하기 위해 태그 데이터가 사용된다. 논리적이거나 물리적일 수 있는 이와 같은 "태그 부가"는 저장장치의 회로에 있어서 초기 단계에서 발생할 수 있기 때문에, 후속되는 신호처리의 양이 상당히 줄어든다. 그 결과, 저장장치와 관련된 대기시간도 줄어든다. 본 발명의 다양한 실시예는, 광 디스크 드라이브, 자기 드라이브와 이와 유사한 데이터 저장장치를 포함하는 다양한 데이터 저장장치에 사용될 수 있으며, 이들 데이터 저장장치에 한정되는 것은 아니다.
저장장치, 옵코드, 버퍼 관리자, 저장매체, 태그, 신호처리, 대기시간

Description

프레임의 어떤 특성에 근거하여 프레임에 태그를 부가하고 그 태그의 함수로서 그 프레임을 전송하는 시스템{SYSTEM FOR APPLYING A TAG TO A FRAME BASED ON CERTAIN CHARACTERISTICS OF THE FRAME AND TRANSFERRING THE FRAME AS A FUNCTION OF THE TAG}
본 발명은, 일반적으로 데이터 저장장치에 관한 것으로, 특히, 저장장치로부터 외부장치로의 데이터의 전송과 관련된 신호처리 요구사항을 상당히 줄이기 위해 사용될 수 있는 방법과 장치에 관한 것이다.
예를 들어, 콤팩트 디스크(CD) 또는 디지탈 다기능 디스크(DVD)와 같은 광 디스크는, 저장매체의 표면 내부에 초소형 홈을 태우기 위해 레이저 빔을 사용하여 비교적 다량의 디지탈 정보가 그 위에 저장되는 비자기형 데이터 저장장치이다. 홈의 존재 또는 부재를 검출하기 위해 저장된 데이터는 저출력 레이저를 사용하여 판독된다.
현재, 수많은 다양한 형태의 광 디스크 시스템(즉, 광 디스크, 포맷 및 장치)을 사용할 수 있다. 최신형 개인용 컴퓨터(PC)에서 사용되는 가장 일반적인 광 디스크 시스템 중 한가지는 콤팩트 디스크 리드-온리 메모리(CD-ROM)이다. CD-ROM은, 데이터가 그 위에 단지 한번만 저장된 후 CD-ROM 드라이브를 사용하여 다수회 판독되는 판독 전용 광 저장매체를 제공한다. CD-ROM 디스크는 디지탈 화상, 오디오, 비디오 및/또는 텍스트 데이터의 혼합된 스트림을 포함할 수 있다. 추가적인 용량은 디지탈 다기능 디스크 리드-온리 메모리(DVD-ROM)에 의해 제공된다. 미래에는, DVD-ROM도 빨라질 것이다. 다른 진보된 광 디스크 시스템은 사용자가 데이터를 광 디스크에 기록할 수 있도록 한다. 예를 들면, 콤팩트 디스크 레코더블(CD-R) 시스템은 사용자가 광 디스크의 각각의 섹션에 1회 기록할 수 있도록 하는 한편, 콤팩트 디스크 리라이터블(CD-RW)은 사용자가 광 디스크의 각 섹션에 다수회 기록할 수 있도록 한다. 또 다른 주목할만한 광 디스크 시스템은, 마찬가지로 재기록가능한 콤팩트 디스크 광자기(CD-MO) 디스크를 포함한다.
예를 든 이들 광 디스크 시스템으로부터의 데이터의 판독과정은, 일반적으로, PC의 프로세서 또는 호스트 프로세서가 데이터의 블록을 광 디스크로부터 주사하여 주변 버스를 거쳐 호스트 컴퓨터 또는 주 메모리로 전달되도록 요구하는 것으로 시작한다. 한 개의 데이터 블록은 일반적으로 복수의 더 작은 블록 또는 복수의 데이터 프레임을 포함한다. 이들 데이터 프레임은 일반적으로 전처리되고 광 디스크 드라이브 내부에 복수의 그룹으로 논리적으로 수집된 후, 주변 버스를 거쳐 호스트 프로세서로 전달된다. 예를 들면, PC에 사용되는 예시적인 16X CD-ROM 드라이브는 일반적으로, 검색된 데이터를 전처리하는 신호처리장치와, 단일 버스트로 프레임 그룹을 호스트 프로세서로 전송하기 전에 통상적으로 약 2 내지 약 3 킬로바이트의 길이를 갖는 복수의 데이터 프레임을 128 킬로바이트의 다이내믹 랜덤 액세스 메모리(DRAM)에 기억하는 버퍼 관리장치를 구비한다.
광 디스크 드라이브 설계자가 마주치는 문제점 중 한가지는, 광 디스크의 형태/포맷에 의존하여 서로 다른 형태의 데이터 프레임이 존재할 수 있으며, 특정한 상황에서, 이들 프레임의 전부가 호스트 컴퓨터로 전송될 필요가 없다는 것이다.
예를 들면, CD-ROM 디스크는 일반적으로 "리드인(lead-in)" 및 "리드아웃(lead-out)" 영역과 관련된 복수의 데이터 프레임을 포함한다. 이들 "리드 영역 프레임"은, 광 디스크 상에 기록된 복수의 트랙을 적절히 배치하고 판독하며 디스크 상의 허용된 경계 내에 존재하도록 하기 위해 광 디스크 드라이브 내부에서 사용되는 목록표(table of contents: TOC) 서술자를 포함한다. 또 다른 예에 있어서, CD-R, CD-RW과 다른 유사한 기록가능한 광 디스크는 일반적으로 연속적으로 기록된 복수의 데이터 블록 사이에 기록된 복수의 "연결 영역 프레임"을 사용한다. 또한, 이들 연결 영역 프레임은 트랙 상에 기록된 복수의 데이터 블록을 적절히 위치시키고 판독하기 위해 광 디스크 드라이브 내부에 사용된다.
그 결과, 광 디스크 드라이브는, 데이터 블록 내부의 어떤 프레임이 호스트 프로세서로 전달되어야 하고, 어떤 프레임이 건너뛰어지거나 다른 방식으로 무시되어 호스트 컴퓨터로 전달되지 않도록 할 수 있는지를 결정하는 능력을 포함하는 것이 바람직하다. 어떤 프레임이 호스트 프로세서로 전달되어야 하는지를 결정하는 작업은 일반적으로 버퍼 관리자 장치 내부에서 수행되는데, 이 버퍼 관리자 장치는 예를 들면 실시간 펌웨어 프로그램에 응답하는 펌웨어 기반의 프로세서를 사용하여 복수의 데이터 프레임 각각을 더 신호처리하거나 다른 방식으로 검사하도록 구성될 수 있다. 이와 같은 프레임 단위의 검사과정은, 버퍼 관리장치와, 때때로 다른 신호처리 자원에게 부담이 되는 경향이 있다. 더구나, 새로운 세대의 광 디스크 드라이브는 현존하는 광 디스크 포맷에 변화를 도입하거나, 광 디스크가 판독되는 속도 를 증가시킬 수 있다. 이와 같은 상태에서는, 종래의 펌웨어 기반의 프로세서의 신호처리 능력은 필요한 신호처리 요구사항과 미래에 필요한 시간 제약을 지원할 수 없다.
이것을 염두에 두고, 광 디스크 드라이브가 다른 광 디스크 포맷/형태와 호환되는 것이 일반적으로 바람직하다는 점을 생각하면, 광 디스크 드라이브의 신호처리 부담을 효과적으로 줄이고, 광 디스크 드라이브로부터 호스트 컴퓨터로의 프레임의 전송을 효율적으로 할 수 있는 방법과 장치가 필요하게 된다.
(발명의 요약)
본 발명에 따른 방법 및 장치는, 저장매체 상에 기록된 데이터에 대한 특정한 알려진 및/또는 결정가능한 특성을 고려하고, 각각의 데이터 프레임에 태그 데이터(tag data)를 선택적으로 부가함으로써, 저장장치로부터 외부장치로의 데이터 프레임의 전송을 합리화하여 데이터 저장장치 내부의 신호처리 부담을 상당히 줄인다. 그후, 태그 데이터는, 각각의 데이터 프레임의 특성, 예를 들면, 필요한 경우에, 저장장치 내부의 데이터 프레임을 신호처리하는데 어떠한 동작이 필요한지를 결정하는데 사용된다. 디지탈 논리로 효율적으로 구현될 수 있는 이와 같은 "태그 부가" 구성은, 상당한 부분의 데이터 프레임에 대한 프로세싱 오버헤드를 줄이기 된다. 따라서, 저장장치와 관련된 대기시간도 줄어든다.
본 발명의 특정한 일면에 따르면, 광 디스크 드라이브, 자기 드라이브/테이프 및 이와 유사한 저장장치를 포함하는 다양한 데이터 저장장치에 본 발명의 다양 한 실시예가 사용될 수 있다.
이점을 염두에 두면, 전술한 필요성 및 다른 사항은, 본 발명의 특정한 실시예에 따라 데이터 저장매체로부터 외부장치로의 데이터 전송에 사용되는 디코더에 의해 만족된다. 데이터 저장매체는 일반적으로 그 위에 기록된 적어도 한 개의 데이터 트랙을 갖는다. 각각의 데이터 트랙 내부에는, 더 작은 복수의 블록 또는 복수의 데이터 프레임이 존재한다. 상기한 디코더는, 입력장치, 프레임 관리장치와 출력장치를 구비한다. 입력장치는 적어도 한 개의 데이터 프레임을 수신하도록 구성된다. 입력장치는, 데이터 프레임에 대한 특정한 특성을 결정하여, 이들 특성 중 적어도 한 개에 근거하여 데이터 프레임에 태그 데이터를 부가할 수 있다. 데이터 프레임에 "태그"를 부가한 후에, 입력장치는 태그가 붙여진 데이터 프레임을 프레임 관리장치로 출력한다. 프레임 관리장치는, 태그가 붙여진 데이터 프레임을 수신하고, 태그가 붙여진 데이터 프레임을 기억한 다음, 태그가 붙여진 데이터 프레임을 출력장치로 출력한다. 출력장치는, 태그가 붙여진 데이터 프레임을 수신하고, 태그가 붙여진 데이터 프레임과 관련된 태그 데이터에 근거하여 태그가 붙여진 데이터 프레임을 외부장치로 출력한다.
본 발명의 특정한 또 다른 실시예에 따르면, 태그 데이터는 4가지 형태 중 한가지에 해당한다. 첫 번째 형태는, 관련된 태그가 붙여진 데이터 프레임이 예를 들면 호스트 프로세서와 같은 외부장치로 전송될 수 있다는 것을 근본적으로 의미하는 "전송(send)" 태그이다. 다음 형태의 태그 데이터는 "스킵(skip)" 태그이다. 데이터 프레임이 스킵 태그와 관련되면, 태그가 붙여진 데이터 프레임은 근본적으 로 건너뛰어져 외부장치로 전송되지 않는다. 세 번째 형태의 태그 데이터인 "휴지(pause)" 태그가 데이터 프레임과 관련되면, 태그가 붙여진 데이터 프레임은, 태그 데이터가 전송 태그, 스킵 태그 또는 "중단(stop)" 태그로 변경되어야 하는지 여부를 결정하기 위해 추가적인 신호처리를 필요로 한다. "중단" 태그는 네 번째 형태의 태그 데이터이다. 태그가 붙여진 데이터 프레임이 중단 태그와 관련된 경우에, 추가적인 신호처리를 필요로 하는 오류 조건이 존재하게 된다.
또 다른 예로서, 본 발명의 또 다른 실시예에 따르면, 데이터 프레임이 1) 한번 기록된 트랙으로부터의 주 영역 프레임, 2) 고정 길이의 패킷 기록된 트랙으로부터의 주 영역 프레임, 3) 가변 길이의 패킷 기록된 트랙으로부터의 주 영역 프레임, 또는 4) 가변 길이의 패킷 기록된 트랙으로부터의 유효한 연결 영역 프레임인 것을 특성이 확인한 경우에, 전송 태그가 데이터 프레임에 부가된다. 마찬가지로, 데이터 프레임이 고정 길이의 패킷 기록된 트랙으로부터의 연결 영역 프레임인 것을 특성이 확인한 경우에, 스킵 태그가 데이터 프레임에 부가되고, 데이터 프레임이 가변 길이의 패킷 기록된 트랙으로부터의 연결 영역 프레임인 것을 특성이 확인한 경우에, 휴지 태그가 데이터 프레임에 부가된다. 데이터 프레임이 유효한 데이터 프레임이 아닌 것을 특성이 확인한 경우에, 중단 태그가 데이터 프레임에 부가된다. 예를 들면, 데이터 프레임이 불법 어드레스 범위에 있는 경우에, 중단 태그가 부가된다. 더구나, 데이터 프레임이 판독될 수 있거나 동기 문제 또는 데이터 오류를 갖지만, 전술한 특성에 부합되지 않는 경우에, 휴지 태그가 데이터 프레임에 부가된다.
전술한 필요사항과 다른 사항은 본 발명의 특정한 실시예에 따라 컴퓨터 시스템에 사용되는 저장장치에 의해 더 만족된다. 저장장치는, 서브 조립체, 저장매체, 판독 조립체, 데이터 엔진, 입력장치, 프레임 관리장치 및 출력장치를 구비한다. 예를 들어, 광 디스크, 자기 디스크 또는 이들의 조합과 같은 저장매체는 서보 조립체에 장착되고, 저장매체로부터 데이터 트랙의 적어도 일부분을 판독하여 판독신호를 출력하기 위해 판독 조립체가 사용된다. 데이터 엔진은, 판독신호를 수신하여, 판독신호의 적어도 일부분에 근거하여 적어도 한 개의 데이터 프레임을 출력한다. 그후, 데이터 프레임은 입력장치로 공급되며, 이 입력장치는 데이터 프레임에 대한 특정한 특성을 결정하고, 데이터 프레임에 태그 데이터를 부가하여, 프레임 관리장치로 태그가 붙여진 데이터 프레임을 출력하며, 이 프레임 관리장치에서 데이터 프레임이 기억된 후 출력장치로 출력된다. 그후, 출력장치는 태그가 붙여진 데이터 프레임 내부의 태그 데이터에 근거하여 외부장치로 태그가 붙여진 데이터 프레임을 출력한다.
본 발명의 또 다른 실시예에 따르면, 데이터 저장장치로부터 외부장치로 데이터를 전송하는데 사용되는 방법이 제공된다. 이 방법은, 데이터 저장매체로부터 적어도 한 개의 데이터 프레임을 판독하는 단계와, 데이터 프레임에 대한 특정한 특성을 결정하는 단계와, 데이터 프레임에 대한 적어도 한 개의 특성에 근거하여 데이터 프레임에 태그 데이터를 부가하는 단계와, 태그가 붙여진 데이터 프레임 내부의 태그 데이터에 근거하여, 태그가 붙여진 데이터 프레임을 외부장치로 출력하는 단계를 포함한다. 본 발명의 특정한 실시예에 따르면, 태그 데이터를 데이터 프레임에 부가하는 단계는, 데이터 프레임의 특성에 근거하여 전송 태그, 스킵 태그, 휴지 태그 또는 중단 태그를 선택하는 단계를 더 포함한다. 이때, 데이터 프레임의 태그 부가는 논리적 및/또는 물리적일 수 있다. 예를 들면, 본 발명의 특정한 실시예에 따르면, 데이터 프레임에 태그 데이터를 부가하는 단계는, 버퍼된 데이터 프레임의 태그 영역 내부의 데이터를 물리적으로 변형하여(예를 들면, 데이터의 이진 비트/바이트로 이루어진 특수한 시퀀스를 부가하여) 태그 데이터를 생성하는 단계를 포함한다.
본 발명의 또 다른 국면, 이점 및 신규한 특징부는 이하의 설명내용에서 부분적으로 설명되고, 그 일부는 다음 발명내용으로부터 본 발명이 속하는 기술분야의 당업자에게 있어서 자명하거나 본 발명을 실시함으로써 파악될 수 있을 것이다. 본 발명의 이점은, 특히 첨부된 청구범위에 기재된 구성과 조합을 사용하여 실현될 수 있으며 얻어질 수 있다.
이하, 다음의 첨부도면을 참조하여 설명하는데, 이때 동일한 도면부호를 갖는 구성요소는 전체 도면에 걸쳐 동일한 구성요소를 나타낸다:
도 1은 복수의 데이터 프레임을 포함하는 데이터 블록을 버스 또는 이와 유사한 네트워크 기반의 접속부를 통해 선택적으로 전송하도록 구성된 저장장치를 갖는 일반적인 컴퓨터 시스템을 나타낸 블록도이고,
도 2는 적어도 한 개의 데이터 블록이 그 위에 기록된 저장매체와, 저장매체 로부터 데이터의 블록을 판독하도록 구성된 도 1에 도시된 것과 같은 저장장치를 나타낸 블록도로서, 예시된 저장장치는 판독/기록 조립체, 서보 조립체, 제어기, 데이터 엔진, 블록 디코더, 구동 메모리 및 버스 인터페이스를 가지며,
도 3은 데이터 블록의 선택된 부분을 저장장치로부터 호스트 컴퓨터로 전송하는 것을 용이하게 하도록 구성된 도 2에 도시된 것과 같은 블록 디코더를 나타낸 블록도로서, 예시된 블록 디코더는 데이터 엔진 인터페이스, 오류 정정기, 버퍼 관리자, 호스트 인터페이스 및 제어기 인터페이스를 갖고,
도 4는 데이터 블록의 선택된 프레임을 저장장치로부터 호스트 컴퓨터로 전송하는 것을 용이하게 하기 위해, 예를 들면 도 2에 도시된 것과 같은 블록 디코더에서 사용되는 일반적인 버퍼 관리과정을 나타낸 도면으로, 예시된 블록 디코더는 수신 및 기억된 데이터 프레임의 복수의 큐(queue) 및 스택을 논리적, 물리적 또는 다른 방식으로 관리할 수 있으며, 그후 이중에서 적어도 일부분이 호스트 컴퓨터로 전송되고,
도 5는 예를 들면 광 저장 디스크와 같이, 도 2에 도시된 것과 같은 저장매체에 기록된 예시적인 포맷화된 데이터를 나타낸 것으로, 포맷화된 데이터는 목록표(TOC) 부분을 갖는 리드인 영역과, 그 내부에 복수의 데이터 프레임(즉, 데이터의 더 작은 부분)을 갖는 적어도 한 개의 트랙과, 리드아웃 영역을 가지며,
도 6은 고정 길이를 갖거나 가변 길이를 갖는 다수의 분리된 복수의 패킷으로 기록되고 복수의 연결 블록에 의해 떨어진, 도 5에 도시된 것과 같은 트랙의 일부분을 나타낸 것이고,
도 7은 구동 메모리 내부에 기억된, 도 5에 도시된 것과 같은 예시적인 데이터 프레임에 포함된 주 데이터 영역 및 여분(미사용) 영역과 같은 서로 다른 영역을 나타낸 것이며,
도 8은 도 7에 도시된 것과 같은 예시적인 포맷화된 주 데이터 영역 내부에서 발견되는 서로 다른 데이터 필드를 나타낸 것이고,
도 9 및 도 10은, 변형된 저장장치에 사용되는 처리과정을 나타낸 흐름도로서, 이와 같은 처리과정은 본 발명의 특정한 실시예에 따라 특정한 기준에 근거하여 데이터 프레임에 옵코드(opcode) 태그를 부가하고, 옵코드 태그에 근거하여 데이터 프레임을 더 신호처리하도록 구성되며,
도 11은 본 발명의 특정한 실시예에 따라 옵코드 태그를 갖는 태그가 붙여진 데이터 프레임을 나타낸 것이다.
도 1은, 호스트 프로세서(12), 주 메모리(14), 버스(16) 및 저장장치(18)를 갖는 PC와 같은 일반적인 컴퓨터 시스템(10)의 일부분을 나타낸 블록도이다. 호스트 프로세서(12)는 일반적으로, 주 메모리(14)와 저장장치(18)로부터 데이터를 판독 및/또는 여기에 데이터를 기록하도록 구성된다. 저장장치(18)로부터 판독된 데이터는, 일반적으로 프로세서(12)에 의해 신호처리되기 전에 주 메모리(14)에 기록된다. 마찬가지로, 특정한 구성에서는, 데이터는 호스트 프로세서(12)에 의해 주 메모리(14)에서 판독되어, 버스(16)를 거쳐 저장장치(18)로 출력되며, 여기에서 이 데이터가 저장매체에 기록된다. 버스(16)는 일반적으로, 예를 들면 소형 컴퓨터 시스템 인터페이스(Small Computer System Interface: SCSI), 진보 기술 부착 패킷 인터페이스(Advanced Technology Attachment Packet Interface: ATAPI), IEEE 1394 직렬 버스 또는 이와 유사한 포맷화된 버스와 같은 주변 버스이다.
간략을 기하기 위해, 본 명세서의 나머지 부분은 판독동작에 초점을 맞추는데, 이때 호스트 프로세서(12)는, 데이터 블록이 저장장치(18)에서 판독되어, 버스(16)를 통해 호스트 프로세서(12) 및/또는 주 메모리(14)로 출력되도록 요구한다.
도 2는 도 1에 도시된 것과 같은 예시된 저장장치(18) 내부의 주된 서브시스템을 나타낸 블록도이다. 저장장치(18)는 예를 들면 CD 또는 DVD와 같은 저장매체(22)를 포함한다. 저장매체(22)는 일반적으로 저장장치(18)로부터 분리될 수 있다. 저장장치(18) 내부로 적절히 삽입되면, 저장매체(22)는 저장장치(18) 내부에 지지되어 서보 조립체(24)에 의해 회전가능하게 움직인다. 서보 조립체(24)는, 일반적으로 스핀들 모터와 장착장치를 구비한다(이들 모두 도시하지 않았다). 서보 조립체(24)는 구동 제어기(26)에 접속된다. 구동 제어기(26)는, 일반적으로 저장장치(18) 내부의 다양한 서브시스템을 제어하고, 한 개 또는 그 이상의 소프트웨어 프로그램에 따라 버스(16)를 통해 호스트 프로세서(12)와 통신하도록 구성된 마이크로프로세서이다.
판독/기록 조립체(28)에 의해 저장장치(22)로부터 데이터가 판독(저장장치에 데이터 기록)된다. 판독 동작을 위해, 판독/기록 조립체(28)는 레이저 다이오드와 레이저 픽업회로를 구비한다(이들 모두 도시하지 않았다). 판독/기록 조립체(28)는, 제어기(26)의 제어하에서 판독(또는 기록) 동작 중에 서보 조립체(24)에 의해 저장매체(22) 상에 선택적으로 놓인다. 보통, 데이터는 일정한 피트(예를 들면, 데이터 비트) 크기를 갖는 연속적인 나선형 트랙을 따라 저장매체(22)에 기억된다. 따라서, 정보 내용은 저장매체의 외부에서보다 내부에서 단위 회전당 더 크게 된다.
판독/기록 조립체(28)는 저장매체(22)에 대해 움직일 수 있어, 특정한 트랙 위에 놓이며 저장매체가 회전함에 따라 트랙을 따라가 원하는 데이터를 판독한다.
아날로그 신호가 판독/기록 조립체(28)에 의해 출력되어, 예를 들면 디지탈 신호 처리기(DSP)와 같은 데이터 엔진으로 주어진다. 데이터 엔진(30)은, 예를 들면 통상적인 아날로그 디지탈 변환기술을 사용하여, 아날로그 신호를 디지탈 데이터 스트림으로 변환한다. 저장장치의 형태에 의존하여, 데이터 엔진은 데이터 스트림에 있는 특정한 데이터를 디스크램블, 정정, 제외 및/또는 다른 방식으로 변형하도록 구성될 수 있다. 예를 들면, 특정한 CD-ROM 드라이브에 있어서, 데이터 엔진(30)은, 아날로그 신호로부터 주 데이터(MD)와 서브코드 데이터를 추출하기 위해, 통상적인 복조기술(예를 들면 데이터 슬라이싱)과 교차 인터리브 리드 솔로몬 코드(cross interleaved Reed Solomon code: CIRC) 정정기술을 사용한다. 통상적인 CD-ROM 상의 데이터는, 약 2352 바이트의 MD와 96 바이트의 서브코드 데이터 각각을 갖는 복수의 데이터 프레임으로 분리된다. 서브코드 데이터 포맷은 실제로 98 바이트를 포함하지만, 2개의 바이트 또는 슬롯은 서브코드 프레임의 시작점을 검출 하기 위해 빈 상태로 유지된다. 나머지 96개의 슬롯은 각각 1 바이트의 서브코드 데이터를 포함한다. 도시된 것과 같이, 데이터 엔진(30)은 장치 제어기(26)에도 접속되어 이것과 상호작용한다.
데이터 엔진(30)으로부터 얻어진 결과적인 디지탈 데이터는 블록 디코더(32)로 주어진다. 블록 디코더(32)는, 버스 인터페이스(35)와 버스(16)를 통해 호스트 프로세서(12)로 디지탈 데이터를 전송하는 것을 용이하게 하도록 구성된다. 판독 동작 중에, 블록 디코더(32)는 구동 메모리(34)에 데이터 프레임을 수집하여 기억한다. 그후, 블록 디코더(32)는, 버스 인터페이스(35)와 버스(16)를 통해, 단일 버스트 전송으로 구동 메모리(34)로부터 호스트 프로세서(12)로 프레임 그룹(예를 들면, 약 4∼8 프레임)을 전송한다. 블록 디코더(32)를 이하에서 더욱 상세히 설명한다. 블록 디코더(32)는 장치 제어기(26)에 접속되며 이것과 상호작용한다.
구동 메모리(34)는, 일반적으로 블록 디코더(32)에 접속되지만, 이것으로부터 다른 방식으로 분리된 통상적인 DRAM 칩이다. 구동 메모리(34)의 크기 및 동작 파라미터는, 저장장치(18)의 동작 속도, 블록 디코더(32)의 동작 및 대기 시간과, 호스트 프로세서(12)의 동작 및 대기 시간에 의존하여 변화한다. CD-ROM은, 블록 디코더가 한개의 버스트에 복수의 프레임으로 이루어진 그룹을 전송할 때, 구동 메모리(34)에 적어도 약 50개의 데이터 프레임을 기억할 수 있는 능력을 갖는 것이 일반적이다. 예를 들면, 구동 메모리(34)는 16X CD-ROM에 대해서는 약 128 킬로바이트인 것이 요구되며, 32X CD-ROM에 대해서는 약 256 킬로바이트인 것이 요구된다.
저장장치(18)는 버스(16)에 대한 접속을 제공하는 버스 인터페이스(35)를 더 구비한다. 버스 인터페이스(35)는, 버스(16)의 특정한 포맷에 대해 특별하게 설계된 통상적인 인터페이스 회로이다. 따라서, 예를 들면, 특정한 구성에 있어서 버스 인터페이스(35)는 SCSI, ATAPI, 1394 또는 이와 유사한 다른 버스 인터페이스일 수 있다. 이 버스 인터페이스(35)는 구동 제어기(26)에 더 접속되며 이것과 상호작용한다.
도 3은 도 2에 도시된 것과 같은 예시적인 블록 디코더(32)를 나타낸 블록도이다. 블록 디코더(32)는, 데이터 엔진 인터페이스 논리(36), 오류정정 논리(37), 버퍼 관리자(38), 호스트 인터페이스 논리(40)와 제어기 인터페이스 논리(42)를 구비한다. 데이터 엔진 인터페이스 논리(36)는 데이터 엔진(30)과 데이터를 교환하도록 구성되며, 제어기 인터페이스 논리(42)를 통해 오류정정 논리(37)와 구동 제어기(26)로부터의 명령에 응답한다. 호스트 인터페이스 논리(40)는, 버스 인터페이스(35)와 데이터를 교환하도록 구성되며, 제어기 인터페이스 논리(42)를 통해 버퍼 관리자(38)와 구동 제어기(26)로부터의 명령에 응답한다. 이와 마찬가지로, 제어기 인터페이스 논리(42)는, 구동 제어기(26)와 오류정정 논리(37), 버퍼 관리자(38), 데이터 엔진 인터페이스 논리(36) 및 호스트 인터페이스 논리(40) 사이에 제어정보의 교환을 용이하게 하도록 구성된다.
이름이 의미하는 것과 같이, 오류정정 논리(37)는 데이터 엔진 인터페이스 논리(36)를 통해 데이터 엔진(30)으로부터 수신된 디지탈 데이터의 오류를 정정하기 위해 제공된다. 이와 같은 과정은 일반적으로, 각각의 프레임 내부의 특정한 데 이터를 평가하고, 특정한 형태의 오류를 식별하며, 해당하는 경우에는, 예를 들어, 프레임 내부의 변조되거나 다른 방식으로 틀린 데이터를 자동적으로 변경하거나 제어기 인터페이스(42)를 통해 제어기(26)로부터 추가적인 도움을 요구함으로써, 검출된 오류를 정정하기 위해, 통상적인 데이터 정정 기술을 사용하는 과정을 포함한다.
판독 동작의 도움으로, 버퍼 관리자(38)는 오류정정 논리(37)로부터 복수의 데이터 프레임을 수신하여, 구동 메모리(34)에 복수의 데이터 프레임을 선택적으로 기억한다. 버퍼 관리자(38)는, 호스트 프로세서(12)로 전송하기 위해 특정한 프레임을 호스트 인터페이스 논리(40)로 공급하도록 더 구성된다. 이하에서 상세히 설명하는 것과 같이, 필요한 경우에는, 제어기 인터페이스(42)를 통해 제어기(26)에 동작가능하게 접속된 버퍼 관리자(38)는 제어기(26)로부터 추가적인 도움을 차단하거나 다른 방식으로 요구한다.
도 4는, 예를 들면 도 3에 도시된 것과 같은 블록 디코더(32)의 한 개 또는 그 이상의 기능/회로에 구체화되거나 다른 방식으로 사용되는 통상적인 버퍼 관리과정(50)을 나타낸 것이다. 버퍼 관리과정(50)은 호스트 프로세서(12)로의 선택된 데이터 프레임의 전송을 용이하게 한다.
버퍼 관리과정(50)은, 구동 메모리(34)에 기억될 수 있는 기억된 프레임(52)과 같이 기억된 데이터 프레임의 복수의 큐(예를 들면, 54, 58, 60 및 62)를 논리적으로, 물리적으로, 또는 다른 방식으로 관리할 수 있다. 예를 들면, 이들 큐 중에서 한 개, 즉 전송 큐(60)는 호스트 프로세서(12)로 결국 전달되는 복수의 데이 터 프레임을 포함한다. 버퍼 관리과정(50)이 특정한 큐 내부에 있는 복수의 프레임을 논리적으로, 물리적으로, 또는 다른 방식으로 조직화하거나 "배치시키는" 것을 예시하기 위해 도 4에 화살표로 나타내었다.
새로운 프레임 데이터가 도달하면, 버퍼 관리과정(50)이 새로운 프레임(58)에 있는 새로운 데이터를 공백 큐(62)로부터 헤이스택 큐(haystack queue)(54)로 위치시킨다. 헤이스택 큐(54)에 소정의 임계수의 프레임이 놓인 후에, 버퍼 관리과정(50)은 제어기(26)가 차단되도록 한다. 이것이 발생하였을 때, 제어기(26)는 헤이스택 큐(54)에 있는 각각의 프레임(52)을 평가하여 다음에 할 일을 결정한다. 제어기(26)가 프레임(52)이 호스트 프로세서(12)로 전달될 수 있는 것으로 결정하면, 프레임(52)이 호스트 프로세서(12)에 의해 요구될 때까지, 버퍼 관리과정(50)이 프레임(52)을 데이터 큐(58)에 위치시킨다. 데이터 큐(58) 내부의 한 개의 프레임 또는 복수의 프레임이 호스트 프로세서(12)에 의해 요구될 때, 버퍼 관리과정(50)은 요구된 프레임(들)을 전송 큐(60)에 위치시킨다. 일단 전송 큐(60) 내부에 존재하면, 그후 프레임은 예를 들어 호스트 인터페이스 논리(40)에 의해 호스트 프로세서(12)로 전송된다. 전송 큐(60)로부터 프레임(52)의 전송 후에, 버퍼 관리과정(50)은 공백 큐(62)에 프레임(52)을 위치시키는데, 이 공백 큐는 근본적으로 그후에 도착하는 새로운 프레임(56)을 기억하는데 사용하기 위해 관련된 메모리 자원을 완전히 비운다.
주어진 프레임(52)에 대해 제어기(26)에 의한 평가가 프레임(52)이 호스트 프로세서(12)로 전송되지 않는다고 결정하면, 프레임(52)은 공백 큐(62) 내부에 배 치된다. 이와 같이, 버퍼 관리과정(50)은, 특정한 프레임을 호스트 프로세서(12)로 전달하는 것이 적절한지 여부를 결정하기 위해 데이터 프레임을 분류할 수 있다.
통상적인 CD-ROM 드라이브에 있어서, 어떤 식으로 요구되더라도, 호스트 프로세서(12)로 전송되도록 의도되지 않은 다수의 데이터 프레임이 존재한다. 이것은 CD-ROM의 리드인 영역 또는 리드아웃 영역으로부터 판독된 프레임을 포함하지만, 이것에 한정되는 것은 아니다.
도 5는 CD-ROM에 기록된 데이터(70)를 개략적으로 나타낸 것이다. 도시된 것과 같이, 데이터(70)는, 리드인 영역(72)과, 그후의 한 개 내지 99개의 트랙(74)과, 그후의 리드아웃 영역(76)을 포함한다. 리드인 영역(72) 내부에는, 예를 들면 각 트랙에 대한 시작 및 종료 경계와 같이, 트랙(74)과 관련된 다양한 파라미터에 속하는 정보를 포함하는 목록표(TOC) 부분이 존재한다. 이와 마찬가지로, 각각의 트랙, 예를 들면 트랙 74a 내부에는, 트랙(74a)에 대한 추가 정보를 포함하는 특수한 트랙 서술자(75)가 존재한다. 트랙 서술자(75)는 일반적으로 트랙 내부의 첫 번째 150개의 프레임에 포함된다. 리드아웃 영역(76)은 데이터(70)의 끝에 기록되며, 일반적으로 판독 동작 중에 CD-ROM의 주사가 잘못하여 트랙(74)을 벗어나 통과하는 경우에, 예를 들면 서보 조립체(24)를 사용하여 판독/기록 조립체(28)를 복구 및 재배치하기 위해, 제어기(26)에 의해 사용될 수 있는 정보를 포함한다.
특정하게 두드러진 예외사항으로, 리드인 영역(72), 트랙 서술자(75) 및 리드아웃 영역(76)에 기록된 프레임은 일반적으로 호스트 프로세서(12)로 전달되지 않는다. 실제로, 이와 같은 요구 및/또는 전송은 일반적으로 오류 상태로 생각되지 않는다.
트랙 서술자 블록은 트랙에 대한 정보를 발견하기 위해 제어기(26)에 의해 사용된다. 예를 들면, 제어기(26)는, 트랙 서술자를 사용하여, 트랙이 패킷 기록된 트랙인지 여부를 결정하고, 그렇다면, 트랙 내부의 패킷이 고정 길이 또는 가변 길이를 갖는지 결정하며, 고정 길이인 경우에는, 고정 길이가 얼마인지를 결정할 수 있다. 공지된 것과 같이, 패킷 기록된 복수의 트랙 내부에, 데이터가 고정 길이를 갖거나 가변 길이를 갖는 복수의 패킷으로 광 디스크에 기록되어 한 개의 트랙을 형성한다.
2개의 패킷이 트랙(80) 내부에서 서로 연결되는 방법을 예시하기 위해, 예시적인 패킷 기록된 트랙(80)의 일부분을 도 6에 개략적으로 나타내었다. 도시된 것과 같이, 패킷 기록된 트랙(80)은, 제 1 패킷과 관련된 복수의 프레임(88)을 포함하는 제 1 데이터 영역(82)과, 제 2 패킷과 관련된 복수의 프레임(89)을 포함하는 제 2 데이터 영역(86)을 갖는다. 제 1 데이터 영역(82)과 제 2 데이터 영역(86) 사이에는 연결 영역(84)이 배치된다. 연결 영역(84)은, 프레임(88)에 바로 뒤따르는 초기 기록 동작 동안 기록되는 복수의 런아웃 블록(90)을 포함한다. 후속된 기록 동작 동안, 프레임(89)을 기록하기 전에 다수의 런인 블록(94)이 기록된다. 런아웃 블록(90)과 런인 블록(94)은, 기본적으로 한 개의 패킷으로부터 다음 패킷으로의 전이가 발생하였는지를 확인함으로써, 그후에 기록된 패킷 데이터와 동기를 맞추기 위해 저장장치(18)에 대한 필요한 정보를 제공한다.
런아웃 블록(90)과 런인 블록(94) 사이에는, 연결 블록(92)이 존재하는데, 이 블록은 초기 기록동작과 나중의 기록동작 중에 기록된 데이터를 포함할 수 있다. 따라서, 예를 들면, 연결 블록(92)은, 초기 기록동작으로부터의 일부와 나중의 기록동작으로부터의 일부를 포함하는 데이터의 중첩된 비트를 포함할 수 있다.
고정 길이 패킷에 대해서는, 런아웃 블록(90), 연결 블록(92) 및 런인 블록(94) 내부의 프레임은 보통 호스트 프로세서(12)로 전송되지 않는다. 그러나, 가변 길이 패킷에 대해서는, 런아웃 블록(90), 연결 블록(92) 및 런인 블록(94) 내부의 프레임이 호스트 프로세서(12)로 전송될 수 있다. 따라서, 저장장치(18)는, 고정 길이 및 가변 길이 패킷 기록된 트랙을 식별하는 추가적인 능력을 가질 필요가 있다. 후술하는 것과 같이, 이들과 같이 판정을 하는데 필요한 정보는, 일반적으로 저장매체(22) 상에 기록된 데이터 내부에(예를 들면, 트랙 서술자, TOC 등의 내부에) 주어진다.
따라서, 패킷 기록된 트랙을 판독하는 것을 지원하기 위해 버퍼 관리과정(50)의 복잡성이 증가된다. 이와 같은 복잡성은 저장장치(18)와 관련된 대시기간을 증가시킬 수 있다. 예를 들면, 호스트 프로세서(12)가 그것이 일부가 연결 영역(84)으로부터 발생된 다수의 프레임을 포함하는 데이터 블록의 전송을 요구할 때, 대기시간이 증가하는 경향이 있다. 호스트 프로세서(12)가 연결 영역(84)과 관련된 프레임을 요구하지 않는 경우에, 버퍼 관리과정(50)이 원하지 않는 프레임을 전송 큐(60)로부터 공백 큐(62)로 이동시킬 필요가 있다. 이와 같은 프레임의 추가적인 구문해석(parsing)은 제어기(26)가 인터럽트되도록 요구하며, 프레임의 단일의 전송보다는 다수의 전송을 발생한다. 이들 부대 효과는 저장장치(18)의 대 기시간을 증가시키는 경향이 있다.
따라서, 어떤 프레임이 호스트 프로세서(12)로 전송되어야 하는지에 대한 결정과 관련된 신호처리시의 부담을 효율적으로 줄이는 개량된 방법과 장치에 대한 필요성이 존재한다.
후술하는 것과 같이, 저장장치(18) 내부에서 행해질 필요가 있는 다양한 판정을 효율적으로 하기 위한 개량된 방법 및 장치가 본 발명의 특정한 실시예에 따라 제공된다. 본 발명의 특정한 일면에 따르면, 개량된 블록 디코더는, 제어기(26)에 인터럽트를 걸 필요성 및/또는 프레임의 전송을 다수의 전송으로 분해할 필요성을 나중에 줄이도록, 각각의 새로운 프레임(56)에 대한 특정한 속성을 확인하고, 각각의 새로운 프레임(56)을 표시하거나 다른 방식으로 확인하는, 예를 들면 디지탈 논리로 구현된 추가 기능을 포함한다. 이에 따라, 헤이스택 큐(54)로부터 데이터 큐(58)로 프레임(52)을 이동시키기 위한 판정이 단순화될 수 있으며, 및/또는 전송 큐(60)로부터 공백 큐(62)로의 연결 영역(84)과 관련된 프레임을 전송하기 위한 판정이 간단해진다.
이것을 염두에 두고, (전술한) TOC(73) 및 트랙 서술자(75)에 추가하여, 저장매체(22) 상에 기록된 데이터에 대한 추가 정보가 프레임의 형태에 무관하게 각각의 유효 프레임 내부에서 사용될 수 있다. 도 7은, 약 2.5 킬로바이트의 길이를 갖는 예시적인 일반적인 프레임(88a)을 나타낸 것이다. 도시된 것과 같이, 프레임(88a)은, 사용자 데이터가 기록되는 주 데이터 영역(100)과, 서브코드 영역(102)과, 포맷화된 Q 영역(104)과, 여분(미사용) 영역(106)을 포함한다.
도 8은 데이터 엔진(30)으로부터의 데이터 내부에서 발견되는 다양한 데이터 필드를 나타낸 것이다. 블록 디코더(32)는, 데이터 프레임을 정렬하고, 트랙의 어드레스 정보 및 모드를 찾기 위해, 동기 데이터 필드(SYNC)(110)와, 분초 프레임(minute-second-frame: MSF) 어드레스(112)와, 모드 바이트(MODE)(114)를 사용한다. 이와 같은 정보는 주 데이터 영역(100')으로 전송된다. 주 데이터(MD)(116)(즉, 사용자 데이터)의 무결성을 검사하기 위해, 오류 검출 코드(예를 들면, CRC)(118)와 (예를 들면, C3 코드를 포함하는) 오류 정정 코드(ECC)(122)가 오류 정정기(37)에 의해 사용된다. 도 7에 도시된 것과 같이, 영역 102 및 104에 기억되는 서브코드 영역을 포함하는 추가적인 데이터 스트림이 존재한다. 예들 들면, 통상적인 모드 1 포맷화된 헤더에 대해, 이들 필드는 12 바이트의 SYNC(110), MSF 어드레스(112), MODE(114), MD(116), 오류 검출 코드(EDC)(118), 여부 필드(SPARE)(120) 및 오류 정정 코드(C3)(122)를 포함한다.
전술한 정보의 일부분을 사용하여, 본 발명의 특정한 실시예에 따른 방법 및 장치는, 저장장치(18)와 관련된 대기시간을 유리하게 줄이며, 특히 전송 큐(60)로부터 호스트 프로세서(12)로 복수의 프레임의 전송시 버퍼 관리과정(50)에 의해 도입되는 대기시간을 줄인다. 하드웨어 및/또는 소프트웨어로 구현될 수 있는 이들 방법 및 장치는, 기본적으로 처리과정에서 초기에 각각의 새로운 프레임(56)에 부가될 수 있는 연산 코드(operational code: opcode) 태그(240)(예를 들면, 도 11을 참조하기 바란다)를 사용한다.
옵코드 태그(240)는, 예를 들면, 호스트 프로세서(12)로의 전송 중에 프레임 의 후속된 처리과정을 가속화하기 위해 저장장치(18) 내부에서 사용된다. 본 발명의 특정한 바람직한 실시예에 따르면, 예들 들어, 도 11에 프레임(88')으로 개략적으로 도시된 것과 같은 옵코드 태그(240)는 여분 영역(106')에 추가되거나 다른 방식으로 포함되는 이진 데이터의 형태를 취한다. 이와 같은 이진 데이터는 버퍼 관리과정(50)에서 발생할 필요가 있는 특정한 동작을 식별한다.
도 9는 저장장치(18')(즉, 도 2 및 도 3에 도시된 저장장치(18)의 변형물)에 사용되는 처리과정(200)의 흐름도를 나타낸 것이다. 처리과정 200은 저장매체(22)를 저장장치(18') 내부에 장착하는 초기 단계(202)를 포함한다. 예를 들면, 단계 202는 CD 드라이브, DVD 드라이브 등에 광 저장 디스크를 삽입하는 과정을 포함할 수 있다. 다음에, 단계 204에서, 저장매체(22) 상에 기록된 데이터(70)의 선택된 부분이 판독되고 특정한 정보가 수집된다. 예를 들면, 데이터(70)에 기록된 트랙(74)의 수와 각각의 트랙(74)에 대한 상대적인 시작 및 종료 위치에 대한 정보를 수집하기 위해 TOC(73)가 판독된다. 더구나, 트랙이 한번 기록된 트랙인지 또는 고정 길이 또는 가변 길이 패킷 기록된 트랙인지 여부에 대한 추가 정보를 수집하기 위해 각각의 트랙 내부의 트랙 서술자(75)가 판독될 수 있다. 그후, 트랙에 대한 특성을 제공하는 이와 같은 정보는, 저장장치(18)에 기억되거나 다른 방식으로 유지된 테이블 내부에 포함된다.
다음에, 단계 206에서는, 호스트 프로세서(12)로부터의 판독 요구 명령을 수신하기 위해 저장장치(18)가 대기한다. 판독 요구 명령에 응답하여, 처리과정 200은 단계 208로 진행하며, 여기에서 요구된 데이터 블록 또는 그것의 서브세트가 저장장치(22)로부터 판독된다. 이 단계에서, 하드웨어가 태그 정의를 위해 설정될 수 있다. 각각의 새로운 프레임(56)이 판독될 때, 다수의 타당성 검사가 수행된다. 예를 들면, 판독이 유효하였는지를 판정하기 위해 동기 시험이 수행된다. 프레임이 동기 시험을 통과하면, 통상적인 CRC가 수행된다. 더구나, 프레임의 어드레스가 예를 들면 판독동작에 의해 결정된 허용가능한 어드레스 범위에 있는지 확인될 수도 있다. 프레임이 어드레스 타당성 과정/검사에 실패하면, 단계 210 및 212에서 STOP 옵코드 태그가 프레임에 부가된다. STOP 옵코드 태그는 근본적으로 프레임에 문제가 있는지를 확인한다. 예를 들면, 불법 어드레스를 갖는 프레임과 같이, 알려진 불법 프레임에 대해 STOP 옵코드가 사용된다. 이것을, 예를 들면 변조된 데이터 또는 미지의 데이터에 대해 사용되는 PAUSE 옵코드 태그와 비교하기 바란다. STOP 옵코드 태그와 달리, PAUSE 옵코드 태그에 대해서, 제어기(26)는 즉시 인터럽트가 걸리며 호스트(12)에 의해 요구되기 전에 재시도 동작을 수행할 수 있다.
단계 208에서 프레임이 유효한 것으로 밝혀졌다고 가정하면, 단계 210에서, 트랙과 프레임의 형태에 의존하여 SEND, SKIP 또는 PAUSE 옵코드 태그가 부가된다.
한번 기록된 트랙(예를 들면, CD-ROM 또는 DVD-ROM)에 대해서는, 프레임이 호스트 프로세서(12)로 전달될 수 있기 때문에, 단계 214에서 SEND 옵코드 태그가 부가된다. 이 프레임은 단계 204에서 생성된 테이블에 있는 정보에 근거하여 한번 기록된 트랙 또는 패킷 기록된 트랙의 일부분인 것으로 결정된다.
고정 길이 패킷 기록된 트랙에 대해서는 단계 216에서, 프레임의 형태(즉, 연결 영역 프레임 또는 데이터 영역 프레임)에 의존하여 부가될 수 있는 2가지 옵코드 태그가 존재한다. 프레임의 형태는, 예를 들면 도 8에 개략적으로 도시된 것과 같은 프레임의 헤더에 있는 모드 필드(114)를 사용하여 결정될 수 있다. 따라서, 예를 들면, 모드 필드(114)에 있는 데이터의 바이트 내부의 첫 번째 3개(3)의 비트(115)는 프레임이 연결 영역 프레임인지 데이터 영역 프레임인지를 식별한다. 프레임이 고정 길이의 패킷 기록된 트랙의 연결 영역 프레임인 경우에, 호스트 프로세서(12)는 프레임을 수신하지 않는다. 프레임이 데이터 영역 프레임인 경우에는, 호스트 프로세서(12)가 프레임을 수신하도록 허용된다. 따라서, SEND 옵코드 태그가 데이터 영역 프레임에 부가되며, 호스트 프로세서(12)로 전송된다.
가변 길이의 패킷 기록된 트랙에 대해서는, 단계 218에서, 프레임의 형태(즉, 연결 영역 프레임 또는 데이터 영역 프레임)에 의존하여 부가될 수 있는 2개의 옵코드 태그가 존재한다. 마찬가지로, 프레임의 형태는, 예를 들어 도 8에 개략적으로 도시된 것과 같은 프레임의 헤더에 있는 모드 필드(114)를 사용하여 결정될 수 있다. 프레임이 연결 영역 프레임인 경우에, 호스트 프로세서(12)는 프레임을 수신하도록 허용된다. 그러나, 프레임이 호스트 프로세서(12)로 전송될 수 있기 전에, 프레임의 일부의 추가적인 신호처리를 수행할 필요성이 존재할 수 있다. 다시 도 6을 참조하면, 연결 영역(84) 내부에 7개의 데이터 블록이 존재한다는 것을 알 수 있다. 그러나, 연결 블록(92)에 있는 데이터의 중첩으로 인해 데이터 엔진(30)이 7개의 데이터 블록보다는 8개의 데이터 블록을 출력하는 것은 드문 일이 아니다. 그 결과, 통상적으로 "슬립(slip)" 블록으로 칭해지는 이와 같은 여분의 데이터 블록은 식별될 필요가 있으며 호스트 프로세서(12)로 전송되지 않는다, 따라서, PAUSE 옵코드 태그가 연결 영역 프레임에 부가되고, 프레임은 호스트 프로세서(12)로 전송되지 않으며, 그 대신에 추가적인 신호처리를 위해 예를 들면 제어기(26)에 의해 유지된다. 그후, 제어기(26)는 연결 블록을 갱신/정정하며 옵코드 태그 데이터를 SEND와 중첩할 수 있으며, 임의의 여분의 프레임에 SKIP 태그 데이터를 기록할 수 있다. 프레임이 데이터 영역 프레임인 경우에, 호스트 프로세서(12)는 프레임을 수신하도록 허용된다. 따라서, SEND 옵코드 태그가 데이터 영역 프레임에 부가되며, 프레임이 호스트 프로세서(12)로 전송된다.
유효 프레임이 전술한 형태 중 한가지에 맞는 것으로 결정될 수 없는 경우에는, 단계 220에서, 예를 들어 제어기(26)에 의해 추가적인 신호처리가 수행될 수 있도록 하기 위해 PAUSE 옵코드 태그가 부가된다. 또한, 검출된 오류정정 실패, 동기 슬립 등이 존재하는 경우에도 PAUSE 옵코드 태그가 부가될 수 있다. 이와 같이, 상기한 방법 및 장치는, 미래 세대의 저장장치 또는 여타의 미지의/애매모호한 저장매체 포맷을 지원하기 위한 것이다. 그러나, PAUSE 옵코드에 응답하여 필요한 추가적인 신호처리는 저장장치의 대기시간을 줄이기보다는 증가시킬 수 있는 것으로 파악된다.
본 발명의 특정한 바람직한 실시예에 따르면, 처리과정 200은 도 2 및/또는 도 3에 도시된 것과 같은 블록 디코더 내부에 디지탈 논리로 구현된다. 예를 들면, 동기, CRC, 어드레스 범위 및 모드 시험과 옵코드 태그 발생/부가는 변형된 데이터 엔진 인터페이스 논리(36) 및/또는 오류정정 논리(37) 내부에서 수행될 수 있다. 이와 같은 시험은 본 발명이 속하는 기술분야의 당업자에게 공지되어 있으며, 종래의 저장장치에서 발견된다. 더구나, 본 발명이 속한 기술분야의 당업자는, 디지탈 논리 및/또는 소프트웨어/펌웨어 논리가 본 발명의 방법 및 장치를 실시하는데 있어서 저장장치(18)의 변형물에 있는 한 개 또는 그 이상의 서브시스템에 사용될 수 있다는 것을 알 수 있다. 따라서, 예를 들면, 제어기(26)에서 실행되는 펌웨어 프로그램은 처리과정(200)의 다수의 단계를 더 지원하도록 변형될 수 있다.
도 10은 저장장치(18')에서 사용되는 추가적인 처리과정(300)을 나타낸 흐름도이다. 처리과정 300은 단계 302를 포함하는데, 여기에서는 전송 버퍼 카운터가 호스트 프로세서(12)로의 데이터의 전송을 지원하기 위해 적재된다. 전송 버퍼 카운터는, 예를 들면, 전송 큐(60) 내부에 있는 관련된 옵코드 태그(240)를 이미 갖는 프레임(88')의 수를 포함할 수 있다.
단계 304에서 결정되었을 때, 옵코드 태그 240이 PAUSE와 동일하면, 처리과정 300은 제어기(26)가 옵코드 태그를 SEND 또는 SKIP으로 변화시키도록 기다린다. 예를 들면, 프레임(88')이 가변 길이의 패킷 기록된 트랙으로부터 얻어진 연결 영역 프레임이었기 때문에 PAUSE로 표시된 경우에는, 이 프레임이 나중에 슬립 프레임인 것으로 결정되지 않는다면, 옵코드 태그(240)가 SEND로 변경된다. 옵코드 태그(240)가 SKIP과 같으면, 단계 312에서, 프레임이 단계 306에 따라 공백 큐(62) 내부에 위치한다.
단계 306에서 결정되었을 때 옵코드 태그가 SEND인 경우에, 단계 310에 따라 데이터의 프레임이 호스트 프로세서(12)로 전송되고 버퍼 계수가 줄어든다. 다음에, 단계 312에서 프레임 또는 슬롯이 공백 큐(62)로 이동한다.
단계 314에서는, 전송 계수가 0과 같은지 여부를 결정한다. 전송 계수가 0과 같으면, 처리과정 300이 종료한다. 전송 계수가 0과 같지 않으면, 신호처리될 추가적인 데이터 프레임이 존재하며, 처리과정 300은 단계 304로 되돌아간다.
다시 단계 306으로 되돌아가면, 옵코드 태그가 SEND가 아니면, 처리과정 300은 단계 308로 진행한다. 단계 308에서는, 옵코드 태그가 SKIP인지 여부를 결정한다. 옵코드 태그가 SKIP이 경우에, 처리과정 300은 전술한 것과 같이 단계 312와 그후에 단계 314로 진행한다.
단계 316에서 결정되었을 때 옵코드 태그가 SKIP이 아니고 STOP이면, 처리과정 300이 종료한다.
필요한 경우에, 특정한 구성에 대해, 프레임(88')을 호스트 프로세서(12)로 전송하기 전에 옵코드 태그(240)를 프레임(88')으로부터 제거할 수 있다는 것은 자명하다. 그러나, 대부분의 구성에 있어서, 옵코드 태그(240)에 있는 추가 정보가 호스트 프로세서(12)에 악영향을 미치지 않으므로, 이와 같은 것은 필요하지 않다.
본 발명의 특정한 바람직한 실시예에 따르면, 처리과정 300은 디지탈 논리로 구현된다. 예를 들면, 단계 302, 306 및 312는 변형된 블록 디코더(32) 및/또는 제어기(26)에서 수행될 수 있으며, 단계 304, 308 및 310은 변형된 호스트 인터페이스 논리(40) 및/또는 제어기(26)에서 수행될 수 있다. 본 발명의 방법 및 장치를 실시하기 위해, 저장장치(18)의 변형물 내부에 있는 한 개 또는 그 이상의 서브시스템에 디지탈 논리 및/또는 소프트웨어/펌웨어 논리가 사용될 수 있다는 것은 본 발명이 속한 기술분야의 당업자에게 있어서 자명할 것이다. 따라서, 예를 들면, 제 어기(26) 상에서 실행되는 펌웨어 프로그램은 처리과정 300에 있는 다수의 과정을 더 지원하도록 변형될 수 있다.
비록, 본 발명은 가장 실용적이고 바람직한 실시예인 것으로 현재 생각되는 것을 관련하여 설명하였지만, 본 발명은 이와 같은 실시예에 한정되지 않으며, 이에 반해, 첨부된 청구범위의 사상 및 범주에 속하는 다양한 변형 및 동등한 장치를 포괄한다는 것은 자명하다.

Claims (20)

  1. 데이터 저장매체(22) 상에 기록된 복수의 데이터 프레임을 포함하는 적어도 한 개의 데이터 트랙을 갖는 데이터 저장매체(22)로부터 외부장치에 데이터를 전송하기 위해 사용하는 디코더(32)에 있어서,
    적어도 한 개의 데이터 프레임을 수신하고, 상기 데이터 프레임에 대한 적어도 한 개의 특성을 결정하며, 데이터 프레임에 대한 적어도 한 개의 특성에 근거하여 데이터 프레임에 태그 데이터를 부가하여, 태그가 붙여진 데이터 프레임을 출력하도록 구성된 입력장치(36)와,
    상기 입력장치(36)에 접속되고, 상기 입력장치(36)로부터 태그가 붙여진 데이터 프레임을 수신하여, 태그가 붙여진 데이터 프레임을 기억한 후, 태그가 붙여진 데이터 프레임을 출력하도록 구성된 프레임 관리장치(38)와,
    상기 프레임 관리장치(38)에 접속되고, 상기 프레임 관리장치(38)로부터 태그가 붙여진 데이터 프레임을 수신하며, 태그가 붙여진 데이터 프레임 내부의 태그 데이터의 함수로써 외부장치로 태그가 붙여진 데이터 프레임을 공급하도록 구성된 출력장치(40)를 구비한 것을 특징으로 하는 디코더.
  2. 제 1항에 있어서,
    상기 태그 데이터는, 전송 태그, 스킵 태그, 휴지 태그 및 중단 태그를 포함하는 태그 그룹 중 적어도 한 개로부터 선택된 것을 특징으로 하는 디코더.
  3. 제 2항에 있어서,
    상기 입력장치(36)는 데이터 프레임이 한번 기록된 트랙으로부터의 주 영역 프레임, 고정 길이의 패킷 기록된 트랙으로부터의 주 영역 프레임, 가변 길이의 패킷 기록된 트랙으로부터의 주 영역 프레임과 가변 길이의 패킷 기록된 트랙으로부터의 유효 연결 영역 프레임을 포함하는 데이터 프레임 그룹 중 적어도 한 개로부터 선택된 데이터 프레임인 것을 적어도 한 개의 특성이 확인하였을 경우에 데이터 프레임에 전송 태그를 부가하도록 더 구성된 것을 특징으로 하는 디코더.
  4. 제 2항에 있어서,
    상기 입력장치(36)는 데이터 프레임이 고정 길이의 패킷 기록된 트랙으로부터의 연결 영역 프레임인 것을 적어도 한 개의 특성이 확인한 경우에 데이터 프레임에 스킵 태그를 부가하도록 더 구성된 것을 특징으로 하는 디코더.
  5. 제 2항에 있어서,
    상기 입력장치(36)는 데이터 프레임이 가변 길이의 패킷 기록된 트랙으로부터의 연결 영역 프레임인 것을 적어도 한 개의 특성이 확인한 경우에 데이터 프레임에 휴지 태그를 부가하도록 더 구성된 것을 특징으로 하는 디코더.
  6. 제 2항에 있어서,
    상기 입력장치(36)는 데이터 프레임이 유효한 데이터 프레임이 아닌 것을 적어도 한 개의 특성이 확인한 경우에 데이터 프레임에 중단 태그를 부가하도록 더 구성된 것을 특징으로 하는 디코더.
  7. 제 2항에 있어서,
    상기 입력장치(36)는 데이터 프레임이 한번 기록된 트랙으로부터의 주 영역 프레임, 고정 길이의 패킷 기록된 트랙으로부터의 주 영역 프레임, 가변 길이의 패킷 기록된 트랙으로부터의 주 영역 프레임, 고정 길이의 패킷 기록된 트랙으로부터의 연결 영역 프레임, 가변 길이의 패킷 기록된 트랙으로부터의 연결 영역 프레임을 포함하는 데이터 프레임 그룹 중 적어도 한 개로부터 선택되지 않을 것을 적어도 한 개의 특성이 확인하는 경우에 데이터 프레임에 휴지 태그를 부가하도록 더 구성된 것을 특징으로 하는 디코더.
  8. 제 2항에 있어서,
    상기 출력장치(40)는, 태그가 붙여진 프레임과 관련된 태그 데이터가 전송 태그인 경우에만, 외부장치로 태그가 붙여진 데이터 프레임을 공급하도록 더 구성된 것을 특징으로 하는 디코더.
  9. 제 1항에 있어서,
    상기 데이터 프레임은 그 내부에 데이터를 갖는 제 1 필드를 포함하는 복수의 필드를 포함하고, 상기 입력장치는 제 1 필드 내부의 데이터를 변형하여 태그 데이터를 생성하도록 더 구성된 것을 특징으로 하는 디코더.
  10. 컴퓨터 시스템에 사용되는 저장장치(18)에 있어서,
    서보 조립체(24)와,
    상기 서보 조립체(24) 상에 장착되고, 복수의 데이터 프레임을 갖는 적어도 한 개의 데이터 트랙이 기록된 저장매체(22)와,
    데이터 트랙의 적어도 일부분을 판독하여 판독신호를 출력하도록 동작가능하게 구성된 판독 조립체(28)와,
    판독 조립체(28)에 접속되고, 판독신호를 수신하여, 판독신호의 적어도 일부분에 근거하여 적어도 한 개의 데이터 프레임을 출력하도록 구성된 데이터 엔진(30)과,
    데이터 엔진(30)에 접속되며, 데이터 프레임을 수신하고, 데이터 프레임에 대한 특정한 특성을 결정하며, 데이터 프레임에 대한 적어도 한 개의 특성에 근거하여 데이터 프레임에 태그 데이터를 부가하여, 태그가 붙여진 데이터 프레임을 출력하도록 구성된 입력장치(36)와,
    입력장치(36)에 접속되고, 입력장치(36)로부터 태그가 붙여진 데이터 프레임을 수신하여, 태그가 붙여진 데이터 프레임을 기억한 후, 태그가 붙여진 데이터 프레임을 출력하도록 구성된 프레임 관리장치(38)와,
    프레임 관리장치(38)에 접속되고, 프레임 관리장치(38)로부터 태그가 붙여진 데이터 프레임을 수신하며, 태그가 붙여진 데이터 프레임 내부의 태그 데이터의 함수로써 외부장치로 태그가 붙여진 데이터 프레임을 공급하도록 구성된 출력장치(40)를 구비한 것을 특징으로 하는 저장장치.
  11. 데이터 저장매체(22)로부터 외부장치로 데이터를 전송하는데 사용되는 데이터 전송방법에 있어서,
    복수의 데이터 프레임을 포함하는 적어도 한 개의 데이터 트랙을 갖는 데이터 저장매체(22)로부터 적어도 한 개의 데이터 프레임을 판독하는 단계와,
    데이터 프레임에 대한 특정한 특성을 결정하는 단계와,
    데이터 프레임에 대한 적어도 한 개의 특성에 근거하여 데이터 프레임에 태그 데이터를 부가하는 단계와,
    태그가 붙여진 데이터 프레임을 태그가 붙여진 데이터 프레임 내부의 태그 데이터의 함수로써 외부장치로 공급하는 단계를 포함하는 것을 특징으로 하는 데이터 전송방법.
  12. 제 11항에 있어서,
    데이터 프레임에 태그 데이터를 부가하는 단계는, 전송 태그, 스킵 태그, 휴지 태그 및 중단 태그를 포함하는 태그 그룹 중 적어도 한 개로부터 태그 데이터를 선택하는 과정을 더 포함하는 것을 특징으로 하는 데이터 전송방법.
  13. 제 12항에 있어서,
    데이터 프레임에 태그 데이터를 부가하는 단계는, 데이터 프레임이 한번 기록된 트랙으로부터의 주 영역 프레임, 고정 길이의 패킷 기록된 트랙으로부터의 주 영역 프레임, 가변 길이의 패킷 기록된 트랙으로부터의 주 영역 프레임과 가변 길이의 패킷 기록된 트랙으로부터의 유효 연결 영역 프레임을 포함하는 데이터 프레임 그룹 중 적어도 한 개로부터 선택된 것을 적어도 한 개의 특성이 확인한 경우에 데이터 프레임에 전송 태그를 부가하는 과정을 더 포함하는 것을 특징으로 하는 데이터 전송방법.
  14. 제 12항에 있어서,
    데이터 프레임에 태그 데이터를 부가하는 단계는, 데이터 프레임이 고정 길이의 패킷 기록된 트랙으로부터의 연결 영역 프레임 또는 슬립 프레임인 것을 적어도 한 개의 특성이 확인한 경우에 데이터 프레임에 스킵 태그를 부가하는 과정을 더 포함하는 것을 특징으로 하는 데이터 전송방법.
  15. 제 12항에 있어서,
    데이터 프레임에 태그 데이터를 부가하는 단계는, 데이터 프레임이 가변 길이의 패킷 기록된 트랙으로부터의 연결 영역 프레임인 것을 적어도 한 개의 특성이 확인한 경우에 데이터 프레임에 휴지 태그를 부가하는 과정을 더 포함하는 것을 특징으로 하는 데이터 전송방법.
  16. 제 12항에 있어서,
    데이터 프레임에 태그 데이터를 부가하는 단계는, 데이터 프레임이 유효한 데이터 프레임이 아닌 것을 적어도 한 개의 특성이 확인한 경우에 데이터 프레임에 중단 태그를 부가하는 과정을 더 포함하는 것을 특징으로 하는 데이터 전송방법.
  17. 제 12항에 있어서,
    데이터 프레임에 태그 데이터를 부가하는 단계는, 데이터 프레임이 한번 기록된 트랙으로부터의 주 영역 프레임, 고정 길이의 패킷 기록된 트랙으로부터의 주 영역 프레임, 가변 길이의 패킷 기록된 트랙으로부터의 주 영역 프레임, 고정 길이의 패킷 기록된 트랙으로부터의 연결 영역 프레임, 가변 길이의 패킷 기록된 트랙으로부터의 연결 영역 프레임을 포함하는 데이터 프레임 그룹 중 적어도 한 개로부터 선택되지 않을 것을 적어도 한 개의 특성이 확인한 경우에 데이터 프레임에 휴지 태그를 부가하는 과정을 더 포함하는 것을 특징으로 하는 데이터 전송방법.
  18. 제 12항에 있어서,
    태그가 붙여진 데이터 프레임을 외부장치로 공급하는 단계는, 태그가 붙여진 프레임과 관련된 태그 데이터가 전송 태그인 경우에만, 외부장치로 태그가 붙여진 데이터 프레임을 공급하는 과정을 더 포함하는 것을 특징으로 하는 데이터 전송방법.
  19. 제 11항에 있어서,
    데이터 프레임에 태그 데이터를 부가하는 단계는, 데이터 프레임 내부의 데이터를 변형하여 태그 데이터를 생성하는 과정을 더 포함하는 것을 특징으로 하는 데이터 전송방법.
  20. 제 11항에 있어서,
    데이터 프레임에 대한 특정한 특성을 결정하는 단계는, 데이터 저장매체의 선택된 부분으로부터 데이터를 판독하여, 데이터 프레임이 한번 기록된 트랙으로부터의 주 영역 프레임, 고정 길이의 패킷 기록된 트랙으로부터의 주 영역 프레임, 가변 길이의 패킷 기록된 트랙으로부터의 주 영역 프레임, 고정 길이의 패킷 기록된 트랙으로부터의 연결 영역 프레임 및 가변 길이의 패킷 기록된 트랙으로부터의 연결 영역 프레임을 포함하는 데이터 프레임의 그룹 중 적어도 한 개로부터 선택되었는지 여부를 결정하는 과정을 더 포함하는 것을 특징으로 하는 데이터 전송방법.
KR1020007001050A 1998-06-02 1999-05-31 프레임의 어떤 특성에 근거하여 프레임에 태그를 부가하고 그 태그의 함수로서 그 프레임을 전송하는 시스템 KR100643669B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US9/090005 1998-06-02
US09/090,005 US6286061B1 (en) 1998-06-02 1998-06-02 System for applying a tag to a frame based on certain characteristics of the frame and transferring the frame as a function of the tag
US09/090005 1998-06-02
PCT/IB1999/000988 WO1999063526A2 (en) 1998-06-02 1999-05-31 Opcode-driven buffer manager for use in data storage devices

Publications (2)

Publication Number Publication Date
KR20010022465A KR20010022465A (ko) 2001-03-15
KR100643669B1 true KR100643669B1 (ko) 2006-11-10

Family

ID=22220660

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007001050A KR100643669B1 (ko) 1998-06-02 1999-05-31 프레임의 어떤 특성에 근거하여 프레임에 태그를 부가하고 그 태그의 함수로서 그 프레임을 전송하는 시스템

Country Status (9)

Country Link
US (1) US6286061B1 (ko)
EP (1) EP1040468B1 (ko)
JP (1) JP4256590B2 (ko)
KR (1) KR100643669B1 (ko)
CN (1) CN1230821C (ko)
AT (1) ATE394777T1 (ko)
DE (1) DE69938647D1 (ko)
TW (1) TW509923B (ko)
WO (1) WO1999063526A2 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535509B2 (en) * 1998-09-28 2003-03-18 Infolibria, Inc. Tagging for demultiplexing in a network traffic server
US6215526B1 (en) * 1998-11-06 2001-04-10 Tivo, Inc. Analog video tagging and encoding system
US6496876B1 (en) * 1998-12-21 2002-12-17 Micron Technology, Inc. System and method for storing a tag to identify a functional storage location in a memory device
US7389374B1 (en) 2000-05-17 2008-06-17 Marvell International Ltd. High latency interface between hardware components
US7281065B1 (en) * 2000-08-17 2007-10-09 Marvell International Ltd. Long latency interface protocol
US6985426B2 (en) * 2001-02-23 2006-01-10 Matsushita Electric Industrial Co., Ltd. Method and apparatus for recording optical information including dummy data, and optical disk having such data recorded thereon
US6728855B2 (en) 2001-09-27 2004-04-27 Seagate Technology Llc Method and system for data path verification
US6711659B2 (en) 2001-09-27 2004-03-23 Seagate Technology Llc Method and system for data path verification
US6725172B2 (en) * 2002-04-17 2004-04-20 Agilent Technologies, Inc. Systems and methods for tagging measurement values
US7197699B2 (en) * 2002-05-02 2007-03-27 International Business Machines Corporation Dynamic server page engines
US7792121B2 (en) * 2003-01-03 2010-09-07 Microsoft Corporation Frame protocol and scheduling system
US7181701B2 (en) * 2003-01-03 2007-02-20 Microsoft Corporation Glanceable information system and method
US7219350B2 (en) * 2003-03-19 2007-05-15 International Business Machines Corporation Dynamic server page meta-engines with data sharing for dynamic content and non-JSP segments rendered through other engines
US20040187077A1 (en) * 2003-03-19 2004-09-23 International Business Machines Corporation Dynamic server page meta-engines with data sharing for dynamic content
GB2419026B (en) * 2004-10-08 2009-05-06 Hewlett Packard Development Co Tape drive apparatus
CA2588630C (en) * 2004-11-19 2013-08-20 Tivo Inc. Method and apparatus for secure transfer of previously broadcasted content
US7962645B2 (en) * 2005-01-31 2011-06-14 International Business Machines Corporation Apparatus, system, and method for automatically mapping a tape library system
US7480747B2 (en) * 2005-06-08 2009-01-20 Intel Corporation Method and apparatus to reduce latency and improve throughput of input/output data in a processor
US7661121B2 (en) * 2006-06-22 2010-02-09 Tivo, Inc. In-band data recognition and synchronization system
US7873982B2 (en) * 2006-06-22 2011-01-18 Tivo Inc. Method and apparatus for creating and viewing customized multimedia segments
US8261300B2 (en) * 2006-06-23 2012-09-04 Tivo Inc. Method and apparatus for advertisement placement in a user dialog on a set-top box
US20080298468A1 (en) * 2007-06-04 2008-12-04 Mediaphy Corporation Error tagging for decoder
US20090138650A1 (en) * 2007-11-26 2009-05-28 Yen-Cheng Lin Method and apparatus for managing firmware of an optical storage apparatus
US8285923B2 (en) * 2008-12-08 2012-10-09 Western Digital Technologies, Inc. Disk drive and method using native command queuing tags to identify logical block size and implement protection information
US7995303B2 (en) * 2009-08-31 2011-08-09 International Business Machines Corporation Overhead calculation in writing synchronized data to magnetic tape
US8631284B2 (en) * 2010-04-30 2014-01-14 Western Digital Technologies, Inc. Method for providing asynchronous event notification in systems
US8762682B1 (en) 2010-07-02 2014-06-24 Western Digital Technologies, Inc. Data storage apparatus providing host full duplex operations using half duplex storage devices
CN111600961A (zh) * 2020-05-22 2020-08-28 山东超越数控电子股份有限公司 一种通过can口传输位图文件的方法、系统、设备及介质
KR102278321B1 (ko) * 2021-04-07 2021-07-16 김교봉 Scada 소프트웨어에서 실시간 태그 데이터를 관리하는 장치 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07169198A (ja) * 1993-09-29 1995-07-04 Nikon Corp データ記録装置及びデータ記録方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01501661A (ja) 1987-07-01 1989-06-08 ユニシス コーポレーシヨン タグ高速転送の改良
US5347642A (en) 1989-11-30 1994-09-13 Nec Electronics Inc. Cache memory management unit
JPH06124352A (ja) * 1992-10-14 1994-05-06 Sharp Corp データ駆動型情報処理装置
US5249166A (en) * 1993-02-12 1993-09-28 Hamilton Rowan T Optical disc audio reproduction device having track playback monitoring system
US5850500A (en) * 1995-06-28 1998-12-15 Kabushiki Kaisha Toshiba Recording medium comprising a plurality of different languages which are selectable independently of each other
US5584007A (en) * 1994-02-09 1996-12-10 Ballard Synergy Corporation Apparatus and method for discriminating among data to be stored in cache
US5734862A (en) * 1994-05-31 1998-03-31 Kulas; Charles J. System for selectively buffering and displaying relevant frames from interleaving frames associated with respective animation sequences stored in a medium in response to user selection
JPH08180418A (ja) * 1994-12-27 1996-07-12 Toshiba Corp 記録媒体再生装置
TW332961B (en) * 1996-02-09 1998-06-01 Sony Co Ltd Recording media
US5937161A (en) * 1996-04-12 1999-08-10 Usa.Net, Inc. Electronic message forwarding system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07169198A (ja) * 1993-09-29 1995-07-04 Nikon Corp データ記録装置及びデータ記録方法

Also Published As

Publication number Publication date
EP1040468A2 (en) 2000-10-04
CN1421035A (zh) 2003-05-28
WO1999063526A2 (en) 1999-12-09
JP2002517873A (ja) 2002-06-18
JP4256590B2 (ja) 2009-04-22
US6286061B1 (en) 2001-09-04
TW509923B (en) 2002-11-11
EP1040468B1 (en) 2008-05-07
DE69938647D1 (de) 2008-06-19
CN1230821C (zh) 2005-12-07
ATE394777T1 (de) 2008-05-15
WO1999063526A3 (en) 2000-03-16
KR20010022465A (ko) 2001-03-15

Similar Documents

Publication Publication Date Title
KR100643669B1 (ko) 프레임의 어떤 특성에 근거하여 프레임에 태그를 부가하고 그 태그의 함수로서 그 프레임을 전송하는 시스템
KR100662670B1 (ko) 디스크 형태의 기록매체 상의 파일을 즉시 기록 또는판독하는 방법
KR100261398B1 (ko) 신호 기록 장치 및 그 방법
KR100305110B1 (ko) 광디스크를언더런상태로부터보호하는장치및방법
JP3796858B2 (ja) 光ディスク読出装置
US20040090886A1 (en) Data recording device, data recording method, program and data recording medium
KR100673568B1 (ko) 데이터 저장장치용 최소 프레임 버퍼 관리자
US6708307B1 (en) Device and method for detecting synchronization patterns in CD-ROM media
US7130253B2 (en) Disk DVD-ROM drive unit with a playback speed control and disk drive method
KR20020088677A (ko) 광 구동기에 있어서 비상 사태 발생에 따른 기록 제어방법 및장치
US20030007783A1 (en) Recording/reproducingdisk control device and disc apparatus comprising the same
JP3825511B2 (ja) 情報記録再生装置
US7756399B2 (en) Safe recovery in DVD recordable/rewritable realtime recording
JP4015544B2 (ja) 情報処理装置
JP2001357601A (ja) 光ディスク装置およびそのディスクモータ制御方法
JP4196512B2 (ja) Avデータの記録再生に適した記録方法と再生方法及び、その記録ドライブと再生ドライブ及び、情報記録システムと情報再生システム及び、情報記録媒体
CN101053024A (zh) 记录介质、用于管理该记录介质的文件系统信息的方法和装置
JP2004288331A (ja) 情報記録再生装置
KR100396886B1 (ko) 호스트 컴퓨터로 광기기 디스크 드라이브의 서브코드데이터 제공 방법
JP2002184119A (ja) 追記型光ディスクの記録方法
JPH09223359A (ja) 情報記録再生制御方式
WO2008152541A1 (en) A method for operating an optical drive
KR19990018767A (ko) 디브이디-램 디스크의 고속 초기화 방법
JP2002184131A (ja) 追記型光ディスクの記録方法
JP2002015529A (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: 20121030

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 13

EXPY Expiration of term