KR100247971B1 - 호스트와광디스크드라이브사이의인터페이스방법 - Google Patents

호스트와광디스크드라이브사이의인터페이스방법 Download PDF

Info

Publication number
KR100247971B1
KR100247971B1 KR1019970033249A KR19970033249A KR100247971B1 KR 100247971 B1 KR100247971 B1 KR 100247971B1 KR 1019970033249 A KR1019970033249 A KR 1019970033249A KR 19970033249 A KR19970033249 A KR 19970033249A KR 100247971 B1 KR100247971 B1 KR 100247971B1
Authority
KR
South Korea
Prior art keywords
host
command
read
drive
optical disc
Prior art date
Application number
KR1019970033249A
Other languages
English (en)
Other versions
KR19990010453A (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 윤종용
Priority to KR1019970033249A priority Critical patent/KR100247971B1/ko
Publication of KR19990010453A publication Critical patent/KR19990010453A/ko
Application granted granted Critical
Publication of KR100247971B1 publication Critical patent/KR100247971B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0677Optical disk device, e.g. CD-ROM, DVD
    • 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
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Optical Recording Or Reproduction (AREA)

Abstract

본 발명은 호스트와 광디스크 드라이브 사이의 인터페이스 방법에 관한 것이다.
그 방법은 광디스크 드라이브가 호스트로부터의 명령을 받을 준비가 완료되면 상기 호스트로 명령 수행준비 완료를 알리기 위한 제1소정값(A0)을 광디스크 드라이브의 레지스터에 라이트하는 단계; 상기 호스트가 상기 제1소정값을 읽어 명령을 보내도 좋다는 것을 인식하여, 명령을 상기 광디스크 드라이브로 전송하는 단계; 상기 광디스크 드라이브에서 상기 명령을 해독하여 읽을 주소를 씨크하고 읽을 블록 수만큼 버퍼링이 완료된 후 데이터 리드 준비 완료를 상기 호스트로 알리기 위한 제2소정값(B0)을 상기 레지스터에 라이트하는 단계; 상기 호스트가 상기 제2소정값을 읽어 상기 광디스크 드라이브의 리드를 수행해도 좋다는 것을 인식하고, 탐색을 원하는 데이터의 리드를 수행하는 단계; 상기 호스트가 원하는 블록을 다 읽었다고 판단되면, 다음 명령 대기중임을 상기 호스트로 알리기 위한 제3소정값(C0)을 상기 레지스터에 라이트하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 의하면, 호스트가 광디스크 드라이브의 인터럽트를 처리하는 일 없이 드라이브 리드를 수행하여 CPU의 사용빈도를 줄이는 효과를 갖는다.

Description

호스트와 광디스크 드라이브사이의 인터페이스 방법{Method for interfacing between host and optical disk drive}
본 발명은 인터페이스 방법에 관한 것으로, 보다 상세하게는 호스트와 광디스크 드라이브사이의 인터페이스 방법에 관한 것이다.
일반적으로 호스트와 광디스크 드라이브, 예컨대 CD-ROM 드라이브는 다음과 같은 방법으로 인터페이스한다. 먼저, 전원을 켜면 CD-ROM 드라이브는 BUSY CLEAR 되기를 기다린다.(TOC 영역을 읽을 준비가 되는 등 드라이브 가동준비가 완료된다.) 드라이브가 BUSY CLEAR되면 호스트는 테스크 파일(TASK FILE)을 드라이브의 특정 레지스터에 라이트한다. 이 때 드라이브는 명령모드임을 나타내기 위해 호스트의 CPU로 제1인터럽트를 건다. 제1인터럽트가 걸리면 호스트의 CPU는 12 바이트로된 아타피 패킷 커맨드(ATAPI packet command)를 드라이브의 특정 레지스터에 라이트한다. 그러면 드라이브는 읽을 주소를 시크하고, 읽을 블록 수 만큼을 버퍼링한 후 리드모드임을 알리기 위한 제2인터럽트를 호스트의 CPU로 건다. 제2인터럽트가 걸리면 호스트는 원하는 블록을 모두 읽어 드라이브 리드를 수행한다. 호스트가 원하는 블록을 모두 읽었다고 판단되면, 드라이브의 현재 상태를 나타내는 상태모드(Status Mode)임을 알리기 위한 제3인터럽트를 호스트의 CPU로 건다.
이와 같은 종래의 호스트와 광디스크 드라이브 사이의 인터페이스 방법은 호스트에서 드라이브로 리드시 드라이브는 3번의 인터럽트가 필요하며 각 인터럽트 마다 호스트의 CPU는 인터럽트를 처리하는 시간이 걸려 CPU 사용빈도가 높아지는 문제점이 있다.
본 발명의 목적은, 상기와 같은 문제점을 해결하기 위해, 광디스크 드라이브의 특정 레지스터에 명령모드, 리드모드 및 상태모드를 저장해두고, 호스트가 드라이브를 리드시 호스트 CPU가 드라이브의 인터럽트를 처리하는 대신에 저장된 3개의 모드를 리드하여 데이터를 리드하는 호스트와 광디스크 드라이브사이의 인터페이스 방법을 제공하는 것이다.
도 1은 본 발명에 따른 호스트와 광디스크 드라이브사이의 인터페이스 방법의 흐름도이다.
상기의 목적을 달성하기 위하여,
호스트와 광디스크 드라이브 사이에서 인터페이스하기 위한 방법에 있어서, 상기 광디스크 드라이브는 인터페이스에 관련된 소정값들을 라이트하기 위한 레지스터를 구비하며,
상기 광디스크 드라이브가 상기 호스트로부터의 명령을 받을 준비가 완료되면 상기 호스트로 명령 수행준비 완료를 알리기 위한 제1소정값(A0)을 상기 레지스터에 라이트하는 단계; 상기 호스트가 상기 제1소정값을 읽어 명령을 보내도 좋다는 것을 인식하여, 명령을 상기 광디스크 드라이브로 전송하는 단계; 상기 광디스크 드라이브에서 상기 명령을 해독하여 읽을 주소를 씨크하고 읽을 블록 수만큼 버퍼링이 완료된 후 데이터 리드 준비 완료를 상기 호스트로 알리기 위한 제2소정값(B0)을 상기 레지스터에 라이트하는 단계; 상기 호스트가 상기 제2소정값을 읽어 상기 광디스크 드라이브의 리드를 수행해도 좋다는 것을 인식하고, 탐색을 원하는 데이터의 리드를 수행하는 단계; 상기 호스트가 원하는 블록을 다 읽었다고 판단되면, 다음 명령 대기중임을 상기 호스트로 알리기 위한 제3소정값(C0)을 상기 레지스터에 라이트하는 단계를 포함하는 것을 특징으로 하는 호스트와 광디스크 드라이브 사이의 인터페이스 방법이 제공된다.
이어서, 첨부한 도면을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.
도 1은 본 발명에 따른 호스트와 광디스크 드라이브사이의 인터페이스 방법의 흐름도이다.
도 1에서는 광디스크 드라이브 중 CD-ROM 드라이브를 예로들어 설명하기로 한다. 도 1에 도시된 흐름도는 제102단계 내지 제128단계를 포함한다.
CD-ROM 드라이브가 BUSY CLEAR 되었는지를 판단한다.(102단계) CD-ROM 드라이브를 파워온시키면 드라이브는 초기화되어 BUSY CLEAR 되기를 기다린다. 102단계에서 CD-ROM 드라이브가 BUSY CLEAR 되면, 호스트가 테스크 파일을 라이트했는지를 판단한다.(104단계) 104단계에서 테스크 파일을 라이트했다고 판단되면, CD-ROM 드라이브를 BUSY SET으로 설정한다.(106단계)
호스트로부터 패킷명령을 받을 준비를 완료했는지를 판단한다.(108단계) 108단계에서 패킷명령을 받을 준비를 완료했다고 판단되면, 제1레지스터에 명령모드와 명령모드임을 알리는 특정값 A0를 라이트한다.(110단계) 여기서 제1레지스터는 CD-ROM 드라이브 내부의 특정 레지스터를 말한다. 명령모드가 라이트된 제1레지스터에는 명령모드와 특정값(예컨대 A0)을 라이트하여 A0 값을 보면 호스트가 명령모드임을 알 수 있도록 한다. BUSY CLEAR 되었는지를 판단한다.(112단계) 이는 호스트가 110단계에서 라이트된 명령모드를 리드했는지를 판단하는 단계이며, 종래의 호스트와 드라이브 간의 인터페이스 방법에서 명령모드임을 알리기 위해 드라이브에서 호스트의 CPU로 제1인트럽트를 건 것에 대응한다.
112단계에서 BUSY CLEAR 되었으면 (호스트가 명령모드를 리드했다고 판단되면) 호스트가 패킷명령(12바이트로된 아타피 패킷 커맨드)을 라이트했는지를 판단한다.(114단계) 호스트가 패킷명령을 라이트했다고 판단되면 CD-ROM 드라이브를 BUSY SET으로 설정한다.(116단계) 읽을 데이터에 대한 버퍼링을 완료했는지를 판단한다.(118단계) 이는 호스트가 읽을 주소를 시크하고, 읽을 블록수 만큼 버퍼링을 완료했는지를 판단하는 단계이다. 118단계에서 버퍼링을 완료했다고 판단되면, 제2레지스터에 리드모드와 리드모드임을 알리는 특정값 B0를 라이트한다.(120단계) 여기서 제2레지스터는 CD-ROM 드라이브 내부의 특정 레지스터를 말한다. 리드모드가 라이트된 제2레지스터에는 리드모드와 특정값(예컨대 B0)을 라이트하여 B0 값을 보면 호스트가 리드모드임을 알 수 있도록 한다. BUSY CLEAR 되었는지를 판단한다.(122단계) 이는 호스트가 120단계에서 라이트된 리드모드를 리드했는지를 판단하는 단계이다. 이는 종래의 호스트와 드라이브 간의 인터페이스 방법에서 리드모드임을 알리기 위해 드라이브에서 호스트의 CPU로 제2인트럽트를 건 것에 대응된다.
122단계에서 BUSY CLEAR이면(호스트가 리드모드를 리드했다고 판단되면) 호스트가 원하는 블록을 모두 읽었는지를 판단한다.(124단계) 124단계에서 호스트가 원하는 블록을 모두 읽었다고 판단되면, 제3레지스터에 상태모드와 상태모드임을 알리는 C0를 라이트한다.(126단계) 여기서 제3레지스터는 CD-ROM 드라이브 내부의 특정 레지스터를 말한다. 제3레지스터에는 상태모드와 특정값(예컨대 C0 )을 라이트하여 C0 값을 보면 호스트가 상태모드임을 알 수 있도록 한다. BUSY CLEAR 되었는지를 판단한다.(128단계) 이는 호스트가 126단계에서 라이트된 상태모드를 리드했는지를 판단하는 단계이다. 이는 종래의 호스트와 드라이브 간의 인터페이스 방법에서 상태모드임을 알리기 위해 드라이브에서 호스트의 CPU로 제3인트럽트를 건 것에 대응된다.
128단계에서 BUSY CLEAR 되었다고 판단되면 흐름도를 종료한다. 102-104, 108, 112-114, 118, 122-124 및 128단계에서 "아니오" 라고 판단되면 그 단계를 반복하여 수행한다.
본 발명은 상술한 실시예에 한정되지 않으며, 본 발명의 사상내에서 당업자에 의한 변형이 가능함은 물론이다. 예컨대, 본 발명의 실시예에서는 광디스크 드라이브 중에서 CD-ROM 드라이브를 예로들어 설명하였으나 이에 한정되지 않고 광디스크 드라이브에 적용될 수 있음은 물론이다.
본 발명에 따르면, 호스트가 광디스크 드라이브로 리드시 드라이브에서 호스트의 CPU로 인터럽트가 걸리지 않기 때문에 CPU가 드라이브의 인터럽트를 처리하는 일 없이 드라이브 리드를 수행하여 CPU의 사용빈도를 줄이는 효과를 갖는다.

Claims (2)

  1. 호스트와 광디스크 드라이브 사이에서 인터페이스하기 위한 방법에 있어서,
    상기 광디스크 드라이브는 인터페이스에 관련된 소정값들을 라이트하기 위한 레지스터를 구비하며,
    상기 광디스크 드라이브가 상기 호스트로부터의 명령을 받을 준비가 완료되면 상기 호스트로 명령 수행준비 완료를 알리기 위한 제1소정값(A0)을 상기 레지스터에 라이트하는 단계;
    상기 호스트가 상기 제1소정값을 읽어 명령을 보내도 좋다는 것을 인식하여, 명령을 상기 광디스크 드라이브로 전송하는 단계;
    상기 광디스크 드라이브에서 상기 명령을 해독하여 읽을 주소를 씨크하고 읽을 블록 수만큼 버퍼링이 완료된 후 데이터 리드 준비 완료를 상기 호스트로 알리기 위한 제2소정값(B0)을 상기 레지스터에 라이트하는 단계;
    상기 호스트가 상기 제2소정값을 읽어 상기 광디스크 드라이브의 리드를 수행해도 좋다는 것을 인식하고, 탐색을 원하는 데이터의 리드를 수행하는 단계; 및
    상기 호스트가 원하는 블록을 다 읽었다고 판단되면, 다음 명령 대기중임을 상기 호스트로 알리기 위한 제3소정값(C0)을 상기 레지스터에 라이트하는 단계를 포함하는 것을 특징으로 하는 호스트와 광디스크 드라이브 사이의 인터페이스 방법.
  2. 제1항에 있어서, 상기 호스트에서 상기 광디스크 드라이브로의 명령은
    아타피 패킷 커맨드(ATAPI packet command)임을 특징으로 하는 호스트와 광디스크 드라이브 사이의 인터페이스 방법.
KR1019970033249A 1997-07-16 1997-07-16 호스트와광디스크드라이브사이의인터페이스방법 KR100247971B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970033249A KR100247971B1 (ko) 1997-07-16 1997-07-16 호스트와광디스크드라이브사이의인터페이스방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970033249A KR100247971B1 (ko) 1997-07-16 1997-07-16 호스트와광디스크드라이브사이의인터페이스방법

Publications (2)

Publication Number Publication Date
KR19990010453A KR19990010453A (ko) 1999-02-18
KR100247971B1 true KR100247971B1 (ko) 2000-03-15

Family

ID=19514747

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970033249A KR100247971B1 (ko) 1997-07-16 1997-07-16 호스트와광디스크드라이브사이의인터페이스방법

Country Status (1)

Country Link
KR (1) KR100247971B1 (ko)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
컴퓨터 시스템 구조 제3판, 11.4 전송모드, 김종상 *

Also Published As

Publication number Publication date
KR19990010453A (ko) 1999-02-18

Similar Documents

Publication Publication Date Title
KR101035225B1 (ko) 개량 데이터 전송을 위한 제어기 장치 및 방법
EP1389760B1 (en) Data transfer control system, program and data transfer control method
JP2545482B2 (ja) インタ―フェイス装置の転送パラメ―タ設定方法
EP2214103B1 (en) I/O controller and descriptor transfer method
US5717949A (en) System for reading transfer control parameters based on identification codes stored in first and second registers storing destination identification and designated control section identification data
KR100247971B1 (ko) 호스트와광디스크드라이브사이의인터페이스방법
CN1050918C (zh) 控制数据传送的接口电路
US20050138441A1 (en) Power management without interrupt latency
JP2530113B2 (ja) デ―タ転送制御用インタ―フェ―ス回路及び磁気ディスク装置
KR101109600B1 (ko) 직접 메모리 접근 제어를 이용한 데이터 전송 방법 및 그장치
JPH02186424A (ja) ディスク制御回路
KR100255846B1 (ko) 에스씨에스아이 메시지를 타겟으로서 처리하기 위한 방법
JPH1097489A (ja) 磁気ディスク装置のブロック長変換方法及びブロック長変換装置
JP2544039B2 (ja) ディスクドライブ並列操作方法
KR100259585B1 (ko) 디엠에이 콘트롤러
JPH0736806A (ja) Dma方式
KR100758989B1 (ko) 절전모드 수행에 따른 동작상태를 표시하는디지털컨버젼스디스크 플레이어 및 그 제어방법
KR930001925B1 (ko) 피씨와 씨디피간의 인터페이스회로 및 방법
JPS59161751A (ja) 命令走行アドレス記録装置
KR100792282B1 (ko) 디지털 컨버젼스 디스크에 기록되는 데이터의 기록 상황표시방법 및 디지털 컨버젼스 디스크 플레이어
CN115480703A (zh) 一种kmdf框架下读取usb数据到磁盘的方法及系统
JPH03111959A (ja) 外部デバイス制御装置
JPS62140135A (ja) デイスクメモリデバイスのアクセス制御装置
JPH02294815A (ja) 光ディスク装置用接続装置
KR20040065815A (ko) 고속 프로그래머블 입출력 인터페이스를 구비한 컴퓨터시스템

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: 20071203

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee