KR20080014303A - 고속 아이.디.이. 인터페이스 장치 및 그 방법 - Google Patents

고속 아이.디.이. 인터페이스 장치 및 그 방법 Download PDF

Info

Publication number
KR20080014303A
KR20080014303A KR1020060075809A KR20060075809A KR20080014303A KR 20080014303 A KR20080014303 A KR 20080014303A KR 1020060075809 A KR1020060075809 A KR 1020060075809A KR 20060075809 A KR20060075809 A KR 20060075809A KR 20080014303 A KR20080014303 A KR 20080014303A
Authority
KR
South Korea
Prior art keywords
host
data
controller
transmission
external storage
Prior art date
Application number
KR1020060075809A
Other languages
English (en)
Other versions
KR100843199B1 (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 KR1020060075809A priority Critical patent/KR100843199B1/ko
Priority to US11/750,139 priority patent/US7822893B2/en
Publication of KR20080014303A publication Critical patent/KR20080014303A/ko
Application granted granted Critical
Publication of KR100843199B1 publication Critical patent/KR100843199B1/ko
Priority to US12/882,661 priority patent/US8161214B2/en

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/14Handling requests for interconnection or transfer
    • 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
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

고속 아이.디.이.(IDE) 인터페이스 장치 및 그 방법이 개시된다. 본 발명은 호스트와 외부 저장장치를 연결하는 인터페이스 장치에 있어서, 외부 저장장치와 통신하는 디바이스 제어부; 및 호스트에 의해 지정된 데이터 전송 방식에 따라 디바이스 제어부와 호스트를 연결하는 디바이스 호스트를 포함하고, 디바이스 호스트는 디바이스 제어부를 통해 전송되는 데이터를 호스트에 포함된 호스트 저장부에 전송하는 디.엠.에이(DMA) 제어부를 포함함을 특징으로 한다.

Description

고속 아이.디.이. 인터페이스 장치 및 그 방법{High speed IDE interface device and method for the same}
도 1은 본 발명에 따른 IDE 인터페이스 장치를 포함하는 시스템에 대한 블록도를 도시한 것이다.
도 2는 PIODMA 커맨드(command)에 따른 동작 흐름도를 도시한 것이다.
도 3은 도 1의 디바이스 제어부와 ATA 신호 제어부 사이의 데이터 전송을 위한 신호들의 타이밍도이다.
도 4는 도 1의 DMA 제어부를 이용한 인터페이스 방법에 대한 흐름도를 도시한 것이다.
본 발명은 고속 아이.디.이.(IDE, Integrated Drive Electronics) 인터페이스 장치 및 그 방법에 관한 것으로, 특히 IDE에 널리 사용되는 ATAPI(AT Attachment Packet Interface) 인터페이스의 PIO(Programmable Input/Output) 전송방식을 개선하여 고속 데이터 전송이 가능하도록 하는 고속 IDE 인터페이스 장치 및 그 방법에 관한 것이다.
IDE는 컴퓨터 마더보드(motherboard)의 데이터 버스와 컴퓨터의 디스크 저장 장치 간에 사용되는 표준 전자 인터페이스이다. IDE 인터페이스는 IBM 호환 PC의 ISA(Industry Standard Architecture) 16 비트 버스 표준에 기반을 두었으나, 다른 버스 표준을 사용하는 컴퓨터에서도 사용된다.
 IBM 호환 PC에서 HDD 액세스(access) 용으로 만들어진 IDE 인터페이스가 기본이 되었고, 고속의 데이터 전송을 위하여 ATA(AT attachment)규격이 만들어졌다. 이후 저장매체 기술이 HDD뿐 아니라 CD, DVD와 같은 광 매체를 이용하면서 보다 고속의 데이터 전송을 위하여 기존의 PIO보다 더 빠른 방식이 개발되었다. 또한 DMA(Diret Memory Access)를 이용하는 Single-word DMA(SDMA) , Multi-word DMA(MDMA) 그리고 데이터 전송률(transfer rate)을 두 배로 높인 Ultra DMA(UDMA)가 개발되었다. ATA 프로토콜에 패킷 인터페이스를 적용하여 CD 또는 DVD와 같은 대용량 매체에 대한 다양한 사용자 명령을 적용할 수 있는 ATAPI 인터페이스도 개발되었다. 이들 인터페이스 장치들은 최근 널리 보급이 확산되고 있는 가정용 기록 및 재생기 제품(DVDP, Set-top box, PVR, DTV, PMP, MP3 등)에서 저장장치 인터페이스로 많이 적용되고 있다.
ATAPI는 컴퓨터와, CD-ROM 드라이브 및 테이프 백업 드라이브 사이의 인터페이스이다. 대부분의 PC들은 HDD를 지칭하기 위해 표준 IDE 인터페이스를 사용한다. ATAPI는 CD-ROM 플레이어나 테이프 백업을 제어하기 위해 필요한 명령어들을 제공한다.
ATAPI 전송방식은 PIO, SDMA, MDMA 그리고 UDMA의 네 가지 종류가 있다. PIO 전송방식 외 세 가지 방식은 CPU의 관여 없이 메모리에 직접 전송하는 방식으로 고속으로 데이터를 전송한다. 그러나 PIO를 제외한 SDMA, MDMA 및 UDMA을 구현하기 위해서는 기존 인터페이스에 신호 전달을 위한 핀들을 추가로 더 구비해야 하며, 이로 인해 전체 칩 크기가 커진다는 문제점이 있다.
본 발명이 이루고자 하는 과제는 추가 핀 없이 PIO 방식에 DMA를 적용하여 PIODMA를 구현함으로써 고속 데이터 전송이 가능한 고속 IDE 인터페이스 장치 및 그 방법을 제공하는 데 있다.
상기 기술적 과제를 이루기 위한, 본 발명은 호스트와 외부 저장장치를 연결하는 인터페이스 장치에 있어서, 상기 외부 저장장치와 통신하는 디바이스 제어부; 및 상기 호스트에 의해 지정된 데이터 전송 방식에 따라 상기 디바이스 제어부와 상기 호스트를 연결하는 디바이스 호스트를 포함하고, 상기 디바이스 호스트는 상기 디바이스 제어부를 통해 전송되는 데이터를 상기 호스트에 포함된 호스트 저장부에 전송하는 디.엠.에이(DMA) 제어부를 포함함을 특징으로 한다.
상기 기술적 과제를 이루기 위한, 본 발명은 호스트와 외부 저장장치를 연결하는 인터페이스 방법에 있어서, 상기 호스트가 데이터 전송 방식을 지정하고, 상기 호스트에 포함된 호스트 저장부와 상기 외부 저장장치 간의 데이터 전송 명령을 출력하는 단계; 상기 데이터 전송 명령에 따라 상기 호스트 저장부와 상기 외부 저장장치 사이에서 데이터를 전송하는 디.엠.에이(DMA) 제어부는 내장된 버퍼의 상태 를 확인하는 단계; 상기 버퍼의 상태에 따라 상기 데이터를 전송하기 위한 신호들을 출력하는 단계; 및 상기 신호들에 따라 상기 호스트 저장부와 상기 외부 저장장치 사이에서 상기 데이터 전송 방식에 따라 상기 데이터를 전송하는 단계를 포함함을 특징으로 한다.
이하에서 첨부된 도면을 참조하여 본 발명을 상세하게 설명하기로 한다.
도 1은 본 발명에 따른 IDE 인터페이스 장치를 포함하는 시스템에 대한 블록도를 도시한 것이다. 도시된 시스템은 호스트(1), 인터페이스 장치(2) 및 외부 저장 장치(3)를 포함한다. 여기서, 호스트(1)는 예를 들어 마더보드일 수 있고, 외부 저장 장치(3)는 하드 디스크, CD-ROM 또는 DVD 등일 수 있다.
호스트(1)는 CPU와 같은 시스템 제어부(101) 및 호스트 저장부(102)를 포함한다. 여기서 호스트 저장부(102)는 SDRAM, DDR RAM 또는 플래시 카드(flash card)와 같은 메모리이다.
인터페이스 장치(2)는 디바이스 호스트(12), 디바이스 제어부(13) 및 디바이스 레지스터(14) 및 외부 저장부(3)를 포함한다.
디바이스 호스트(12)는 디바이스 호스트 제어부(121), DMA 제어부(122) 및 ATA 신호 제어부(123)를 포함한다.
시스템 제어부(101) 및 호스트 저장부(102)는 시스템 버스(11)를 통해 디바이스 호스트 제어부(121) 및 DMA 제어부(122)와 통신한다.
상술한 바와 같은 구성에 따른 PIODMA의 동작은 다음과 같다.
시스템 제어부(101)는 디바이스 호스트 제어부(121)의 전송 방식과 전송 모 드에 따른 시간 파라미터를 디바이스 호스트 제어부(121)에 전송한다.
디바이스 호스트 제어부(121)는 ATA 신호 제어부(123)에 의해 설정된 PIO 전송 프로토콜에 따라 데이터 라이트(write)/리드(read) 동작 명령 또는 그 데이터를 ATA 신호 제어부(123)에 전송하거나 전송받는다.
디바이스 제어부(13)는 ATA 신호 제어부(123)와 통신하면서 외부 저장장치(3)에 데이터를 라이트하거나 외부 저장장치(3)로부터 데이터를 리드한다. 이때 디바이스 제어부(13)는 내부에 FIFO 버퍼를 포함하여 외부 저장장치(3)에서 리드한 데이터 또는 외부 저장장치(3)에 저장할 데이터를 일시 저장한다.
디바이스 레지스터(14)는 커맨드 블록 레지스터(command block register) 및 컨트롤 블록 레지스터(control block register)를 포함한다. 커맨드 블록 레지스터는 LBA(Logical Block Addressing) 레지스터, 섹터 카운트(sector count) 레지스터, 커맨드/상태(command/status) 레지스터, 에러 레지스터 및 데이터 레지스터 등을 포함한다. 컨트롤 블록 레지스터는 디바이스 컨트롤(device control) 레지스터 및 교번 상태(alternate status) 레지스터를 포함한다.
시스템 제어부(101)가 외부 저장장치(3)로부터 데이터를 리드하여 호스트 저장부(102)에 저장하는 동작은 다음과 같이 이루어진다.
먼저 시스템 제어부(101)는 디바이스 호스트 제어부(121)에 PIO 전송 방식을 지정하고 디바이스 레지스터(14)를 읽기 위한 시스템 어드레스를 디바이스 호스트 제어부(121)에 전송한다. 디바이스 호스트 제어부(121)는 시스템 제어부(101)로부터 수신한 시스템 어드레스를 디코딩하고, 그에 따라 ATA 신호 제어부(123)는 디바 이스 레지스터(14)로의 접근을 위한 CS0n, CS1n, DIORn 및 DA 신호를 디바이스 재어부(13)에 출력한다. 여기서 CS0n 및 CS1n은 데이터 리드 또는 라이트를 선택하는 신호이고, DIORn은 데이터 리드 나타내는 신호이다. DA신호는 어드레스를 나타낸다.
디바이스 제어부(13)는 디바이스 레지스터(14)에 포함된 데이터 레지스터에 저장된 데이터를 리드하여 ATA 신호 제어부(123)로 출력한다. 이때 데이터 레지스터에는 디바이스 제어부(13)가 외부 저장장치(3)로부터 새로 읽어온 데이터가 저장되어 있다. 시스템 제어부(101)는 디바이스 호스트 제어부(121)로부터 수신된 데이터를 호스트 저장부(102)에 저장한다.
시스템 제어부(101)가 호스트 저장부(102)에 저장된 데이터를 외부 저장장치(3)에 저장하는 과정은 다음과 같다.
먼저 시스템 제어부(101)는 호스트 저장부(102)에 저장된 데이터를 리드하여 디바이스 호스트 제어부(121)에서 미리 지정한 전송 방식에 따라 디바이스 호스트 제어부(121)로 전송한다.
ATA 신호 제어부(123)는 PIO 전송방식에 따라 디바이스 호스트 제어부(121)로부터 데이터를 수신하고, CS0n, CS1n, DIOWn 및 DA신호를 생성하여 디바이스 레지스터(14)에 접근하여 수신한 데이터를 디바이스 레지스터(14)에 저장한다.
디바이스 제어부(13)는 디바이스 레지스터(14)에 저장된 데이터를 리드하여 외부 저장장치(3)에 저장한다.
여기서 디바이스 제어부(13)와 ATA 신호 제어부(123) 간에 전송되는 데이터 크기는 512바이트이다. 따라서 시스템 제어부(101)가 외부 저장장치(3)로부터 혹은 외부 저장장치(3)에 512바이트보다 큰 데이터를 리드하거나 라이트하는 경우 시스템 제어부(101)는 매 512 바이트 단위마다 상술한 과정을 반복 수행하여야 한다.
따라서 이러한 PIO 전송 방식에 따른 데이터 리드/라이트 과정은 시스템 제어부(101)가 PIO 인터페이스 컨트롤러뿐만 아니라 시스템 컨트롤러 역할도 동시에 수행한다면 PIO 인터페이스를 통한 디바이스 액세스 시간 동안 다른 시스템 작업(task)를 수행할 수 없기 때문에 시스템의 전체적인 동작 성능을 저하시킬 수 있다. 따라서 PIO 인터페이스를 사용한 데이터 전송 방식은 고속 데이터 전송을 요구하는 멀티미디어 데이터 전송에는 부적합하다.
따라서 호스트(1)와 디바이스(2) 간의 데이터 전송 속도를 높이기 위해 본 발명에서는 디바이스 호스트(12)에 DMA 제어부(122)를 구비한다. 여기서 DMA 제어부(122)는 호스트 저장부(102)로부터 데이터를 직접 독출하거나 호스트 저장부(102)에 데이터를 직접 저장하기 위해 데이터를 일시 저장하는 FIFO 버퍼를 내장한다.
도 4는 도 1의 DMA 제어부(122)를 이용한 인터페이스 방법에 대한 흐름도를 도시한 것이다.
도시된 바에 따르면, 먼저 시스템 제어부(101)는 전송방식과 전송속도를 규정하는 시간 파라미터 및 DMA 전송을 위하여 호스트 저장부(102) 내의 데이터 블록 레지스터 값을 디바이스 호스트 제어부(121)에 지정한다(41단계). 디바이스 호스트 제어부(121)는 DMA 제어부(122), ATA 신호 제어부(123) 및 디바이스 제어부(13)에 지정된 전송방식을 전달하여 데이터 전송을 대기한다(42단계). 시스템 제어부(101)에서 전송 시작 명령을 내려 전송을 시작하면(43단계), 디바이스 호스트 제어부9121)는 DMA 제어부(122)에게 FIFO 버퍼의 상태를 요청하고(44단계), DMA 제어부(122)는 FIFO 버퍼가 풀(full) 상태인지의 여부를 판단하여 그 결과를 ATA 신호 제어부(123)에 전송한다. FIFO 버퍼가 풀이 아니면 ATA 신호 제어부(123)는 라이트/리드를 선택하는 선택신호 CS0n, CS1n, 디바이스 레지스터(14)의 어드레스 DA[2:0] 그리고 지정된 전송속도에 따라 데이터 스트로브 신호(strobe signal) DIORn, DIOWn을 연속적으로 생성하여 디바이스 제어부(13)에 전송한다(46단계). DIORn은 데이터를 읽기 위한 스트로브 신호이고, DIOWn은 데이터를 쓰기 위한 스트로브 신호이다.
디바이스 제어부(13)는 ATA 신호 제어부(123) 및 DMA 제어부(122)를 통해 외부 저장장치(3), 디바이스 레지스터(14) 및 호스트 저장부(102) 간의 데이터를 전송한다(47단계). 이때, 데이터 크기가 1-섹터(sector), 즉, 512바이트 이상인 데이터를 전송 경우, DMA 제어부(121)는 ATA 신호 제어부(123)를 통해 매 512바이트 단위로 디바이스 레지스터(14)로부터 직접 데이터를 리드하거나 디바이스 레지스터(14)에 라이트하여 디바이스 인터럽트를 제거함으로써 시스템 제어부(101)에 의한 디바이스 인터럽트 명령이 없이도 연속하여 데이터 전송이 이루어질 수 있다.
지정된 데이터 전송이 완료되면, DMA 제어부(122)는 데이터 전송이 완료되었음을 알리는 신호를 디바이스 호스트 제어부(121)에 출력하고, 디바이스 호스트 제어부(121)는 전송완료 인터럽트를 시스템 제어부(101)에 보내어 다음 명령을 준비 하도록 한다(48단계).
PIODMA 전송시, 디바이스(2) 측의 데이터 전송 제어(data flow control)는 디바이스 제어부(13)에 의한 IORDY 신호, 리드 또는 라이트할 때 디바이스 호스트 제어부(121)에 의한 DIORn, DIWn 신호에 의해 이루어진다. 호스트(1) 측의 데이터 전송 제어는 시스템 제어부(101)를 통해 전송중인 데이터가 일시적으로 시스템 버스(11)가 확보되지 않아 DMA 제어부(122) 내의 FIFO 버퍼가 리드 동작중 풀일 경우와 라이트 동작중 비어있는(empty) 경우, DIORn/DIOWn을 디애저트(deassert)하여 전송을 중단한다. 다시 시스템 버스(11)가 확보되면, 시스템 제어부(101)는 디애저트된 DIORn, DIOWn을 정상동작시킨다. 인터페이스 장치(2) 측에서는 데이터 리드, 즉, 외부 저장장치(3)에 저장된 데이터를 리드할 때 디바이스 제어부(13) 내의 FIFO 버퍼가 비어있거나 데이터 라이트, 즉, 외부 저장장치(3)로 데이터를 저장하는 경우 디바이스 제어부(13) 내의 FIFO 버퍼가 풀 되었을 때 전송 제어를 위하여 디바이스 호스트 제어부(121)는 IORDY 신호를 사용하며, 전송을 잠시 중단하는 경우 IORDY를 디애저트한다. IORDY가 디애저트되어 있는 동안, 시스템 제어부(101)는 IORDY가 애저트될 때까지 DIORn/DIOWn 동작을 중단한다.
PIODMA 동작은 시스템 제어부(101)가 전송할 방식을 PIODMA로 하고, 전송 모드 또는 전송 속도, 데이터의 크기, 호스트 저장부(102)에 리드/라이트 하기 위한 시작 어드레스(start address)와 전송 데이터 크기(즉, end address)를 지정하여 호스트 내부 레지스터(미도시)에 저장한다. 전송 방향, 즉 데이터 리드 또는 라이터 여부를 결정하고, 동작 명령을 한다. 동작 명령으로는 전송 시작 START, 전송 일시 멈춤 STOP, 전송 중단 ABORT, 전송 재개 CONTINUE가 있다.
도 2는 PIODMA 커맨드(command)에 따른 동작 흐름도를 도시한 것이다.
도시된 바에 따르면, PIODMA의 동작 모드는 아이들(idle) 상태(21), 전달 상태(22) 및 멈춤(pause) 상태(23)의 세 가지가 있다. 동작 모드가 아이들 상태(21)에 있을 때 시스템 제어부(101)가 시작 명령 CMD_START를 주면(211), 동작 모드는 전달 상태(22)가 되어 데이터 전송을 시작한다. 전달 상태(22)에서 시스템 제어부(101)가 중지 명령 CMD_STOP을 주거나 호스트 버퍼가 풀 상태이면(221), 동작 모드는 멈춤 상태(23)가 된다. 동작 모드가 전달 상태(22)에서 전송 중단 명령 CMD_ABORT를 주거나 데이터 전송이 완료되면(222), 동작 모드는 다시 아이들 상태(21)가 된다. 동작 모드가 멈춤 상태(23)에서 시스템 제어부(101)가 전송 재개 명령 CMD_CONTINUE를 주면(231) 동작 모드는 전달 상태(22)로 바뀌고, 멈춤 상태(23)에서 전송 중단 명령 CMD_ABORT를 주면(232) 동작 모드는 아이들 상태(21)가 된다. 전송 중에 시스템 제어부(101)가 전송 중단 명령을 내리면 그때까지 각 FIFO에 남아있는 데이터는 무시한다.
도 3은 도 1의 디바이스 제어부(13)와 ATA 신호 제어부(123) 사이의 데이터 전송을 위한 신호들의 타이밍도이다.
도시된 타이밍도에서, CS0n, CS1, DA[2:0]은 ATA 신호 제어부(123)에서 디바이스 레지스터(14)에 엑세스하기 위한 ATA 표준에 따라 발생하는 신호이다. CS와 DA 신호가 애저트된 후, 시간 31 이후에 ATA 신호 제어부(123)는 데이터  DIORn/DIOWn 신호를 디애저트하고, 시간 32 후에 애저트한다. 이때 데이터 라이트 의 최소 셋업(set-up) 시간과 홀드 시간(hold time)은 각각 시간 33 과 시간 34이다. 시간 34 동안 데이터가 라이트된다.
데이터 리드의 최소 셋업 시간과 홀드 시간은 각각 시간 35 과 시간 36이다. 시간 36 동안 데이터가 리드된다. 시간 37은 어드레스 홀드 시간(address hold time)이고, 시간 38은 DIORn/DIOWn의 최소 사이클(cycle) 이다. 데이터 리드 또는 라이트 과정에서 디바이스(2) 측 FIFO 버퍼가 비워졌거나 풀 상태가 되면, 현재의 전송 상태를 유지하기 위해서 디바이스 제어부(13)는 IORDY를 디애저트한다. 디바이스(2)와 호스트(1)간 데이터 전송을 재개하려면, 디바이스 제어부(13)는 전송 중지 상태를 FIFO 버퍼 상태에 따라 적절하게 처리한 다음 IORDY 신호를 다시 애저트한다.
IORDY 신호에서 시간 A는 셋업 시간이고 시간 B는 최대 IORDY 가 디스에이블(disable)되어 있는 시간이다. 시간 C는 데이터 리드 처리 시 IORDY의 유효 시간을 나타낸다. 이들 시간 파라메터들은 전송 속도에 따라 시스템 제어부(101)를 통해 사용자가 지정한다. ATAPI PIO 전송방식에서 가장 빠른 전송 속도는 DIOR/DIOWn의 주기, 즉 시간 38로 나타낼 수 있다. 가장 느린 전송 속도는 PIO 모드 0로서 이때의 시간 38은 600ns(1.66MHz)이다. 가장 빠른 전송 속도는 PIO 모드 5로 시간 38은 120ns(8.33MHz)이다.
본 발명은 또한 컴퓨터로 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD_ROM, 자기 테이프, 플로피 디스크 및 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브, 예를 들어 인터넷을 통한 전송의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
본 발명에 따르면, ATA 전송 방식중 PIO 전송 방식에 DMA를 적용함으로써 호스트의 CPU의 통제없이 대용량의 데이터를 연속하여 전송할 수 있다. 또한 고속 신호 전달을 위한 추가 핀이 필요하지 않으므로 전체 칩 크기가 커지지 않으면서도 고속 데이터 전송이 가능하다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서, 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (6)

  1. 호스트와 외부 저장장치를 연결하는 인터페이스 장치에 있어서,
    상기 외부 저장장치와 통신하는 디바이스 제어부; 및
    상기 호스트에 의해 지정된 데이터 전송 방식에 따라 상기 디바이스 제어부와 상기 호스트를 연결하는 디바이스 호스트를 포함하고,
    상기 디바이스 호스트는 상기 디바이스 제어부를 통해 전송되는 데이터를 상기 호스트에 포함된 호스트 저장부에 전송하는 디.엠.에이(DMA) 제어부를 포함함을 특징으로 하는 인터페이스 장치.
  2. 제1항에 있어서, 상기 DMA 제어부는
    상기 데이터를 일시 저장하는 버퍼를 포함함을 특징으로 하는 인터페이스 장치.
  3. 제2항에 있어서, 상기 디바이스 호스트는
    상기 호스트로부터 데이터 전송 명령을 수신하여 상기 DMA 제어부에 상기 버퍼가 풀 상태인지를 확인하는 명령을 주고, 상기 데이터 전송이 완료되면 상기 호스트에 데이터 전송 완료 신호를 전송하는 디바이스 호스트 제어부; 및
    상기 DMA 제어부로부터 상기 버퍼의 상태에 대한 판별결과를 수신하고, 상기 판별결과에 따라 상기 데이터 전송을 위한 신호들을 상기 디바이스 제어부에 출력 하는 에이.티.에이(ATA) 신호 제어부를 더 포함함을 특징으로 하는 인터페이스 장치.
  4. 제1항에 있어서, 상기 DMA 제어부는
    상기 데이터 전송 방식에 의해 정해진 전송 데이터의 크기보다 큰 데이터를 상기 디바이스 제어부와 상기 호스트 저장부 사이에서 전송하는 경우, 상기 호스트에서 상기 디바이스 호스트에 보내는 인터럽트 신호가 없이도 상기 전송 데이터의 크기 단위로 연속하여 상기 디바이스 제어부를 통해 전송하는 것을 특징으로 하는 인터페이스 장치.
  5. 호스트와 외부 저장장치를 연결하는 인터페이스 방법에 있어서,
    상기 호스트가 데이터 전송 방식을 지정하고, 상기 호스트에 포함된 호스트 저장부와 상기 외부 저장장치 간의 데이터 전송 명령을 출력하는 단계;
    상기 데이터 전송 명령에 따라 상기 호스트 저장부와 상기 외부 저장장치 사이에서 데이터를 전송하는 디.엠.에이(DMA) 제어부는 내장된 버퍼의 상태를 확인하는 단계;
    상기 버퍼의 상태에 따라 상기 데이터를 전송하기 위한 신호들을 출력하는 단계; 및
    상기 신호들에 따라 상기 호스트 저장부와 상기 외부 저장장치 사이에서 상기 데이터 전송 방식에 따라 상기 데이터를 전송하는 단계를 포함함을 특징으로 하 는 인터페이스 방법.
  6. 제5항에 있어서,
    상기 데이터 전송 방식에 의해 정해진 전송 데이터의 크기보다 큰 데이터를 상기 호스트 저장부와 상기 외부 저장장치 사이에 전송하는 경우, 상기 DMA 제어부는 상기 전송 데이터의 크기 단위로 연속하여 상기 데이터를 상기 데이터 전송 방식에 따라 전송하는 것을 특징으로 하는 인터페이스 방법.
KR1020060075809A 2006-08-10 2006-08-10 고속 아이.디.이. 인터페이스 장치 및 그 방법 KR100843199B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020060075809A KR100843199B1 (ko) 2006-08-10 2006-08-10 고속 아이.디.이. 인터페이스 장치 및 그 방법
US11/750,139 US7822893B2 (en) 2006-08-10 2007-05-17 System and method for data transfer using ATA interface
US12/882,661 US8161214B2 (en) 2006-08-10 2010-09-15 System and method for data transfer using ATA interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060075809A KR100843199B1 (ko) 2006-08-10 2006-08-10 고속 아이.디.이. 인터페이스 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20080014303A true KR20080014303A (ko) 2008-02-14
KR100843199B1 KR100843199B1 (ko) 2008-07-02

Family

ID=39052182

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060075809A KR100843199B1 (ko) 2006-08-10 2006-08-10 고속 아이.디.이. 인터페이스 장치 및 그 방법

Country Status (2)

Country Link
US (2) US7822893B2 (ko)
KR (1) KR100843199B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739440B2 (en) * 2007-08-16 2010-06-15 Texas Instruments Incorporated ATA HDD interface for personal media player with increased data transfer throughput
JP5790043B2 (ja) * 2011-03-14 2015-10-07 株式会社リコー データ転送システム及びデータ転送方法
US10079044B2 (en) * 2012-12-20 2018-09-18 Advanced Micro Devices, Inc. Processor with host and slave operating modes stacked with memory
US9658676B1 (en) * 2015-02-19 2017-05-23 Amazon Technologies, Inc. Sending messages in a network-on-chip and providing a low power state for processing cores
US10164829B1 (en) 2017-03-20 2018-12-25 Barefoot Networks, Inc. Incremental update of the data plane of a hardware forwarding element

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953352A (en) * 1997-06-23 1999-09-14 Micron Electronics, Inc. Method of checking data integrity for a raid 1 system
US6697885B1 (en) 1999-05-22 2004-02-24 Anthony E. B. Goodfellow Automated DMA engine for ATA control
KR100441189B1 (ko) 1999-09-22 2004-07-21 네트셀 코포레이션 Ata 에뮬레이션 호스트 인터페이스를 가진 raid제어기 시스템 및 방법
US6845409B1 (en) 2000-07-25 2005-01-18 Sun Microsystems, Inc. Data exchange methods for a switch which selectively forms a communication channel between a processing unit and multiple devices
US7136995B1 (en) * 2000-11-03 2006-11-14 Enova Technology Corporation Cryptographic device
JP4761643B2 (ja) * 2001-04-13 2011-08-31 東芝モバイルディスプレイ株式会社 シフトレジスタ、駆動回路、電極基板及び平面表示装置
US6810443B2 (en) 2002-12-31 2004-10-26 Intel Corporation Optical storage transfer performance
KR20040065815A (ko) * 2003-01-16 2004-07-23 삼성전자주식회사 고속 프로그래머블 입출력 인터페이스를 구비한 컴퓨터시스템
KR100973851B1 (ko) * 2003-10-31 2010-08-03 매그나칩 반도체 유한회사 임베디드 시스템 및 그의 내부 버스 충돌을 방지하는 방법
DE10355583A1 (de) * 2003-11-28 2005-07-07 Advanced Micro Devices, Inc., Sunnyvale Gemeinsame Nutzung eines Speichers in einer Zentralsteuerung
US20060095594A1 (en) * 2004-11-03 2006-05-04 Jaan-Huei Chen System and method of automatically executing ata/atapi commands
US7661002B2 (en) * 2005-08-04 2010-02-09 Dot Hill Systems Corporation Storage controller super capacitor dynamic voltage throttling
JP4968671B2 (ja) * 2006-11-27 2012-07-04 Nltテクノロジー株式会社 半導体回路、走査回路、及びそれを用いた表示装置

Also Published As

Publication number Publication date
US7822893B2 (en) 2010-10-26
US20110022740A1 (en) 2011-01-27
KR100843199B1 (ko) 2008-07-02
US20080040518A1 (en) 2008-02-14
US8161214B2 (en) 2012-04-17

Similar Documents

Publication Publication Date Title
KR100909119B1 (ko) 집적 dma 엔진을 사용하는 고성능 휘발성 디스크드라이브 메모리 액세스 장치 및 방법
EP2361404B1 (en) Method and system for queuing transfers of multiple non-contiguous address ranges with a single command
KR101035225B1 (ko) 개량 데이터 전송을 위한 제어기 장치 및 방법
US6487631B2 (en) Circuit and method for monitoring sector transfers to and from storage medium
JP2000148604A (ja) 記憶装置の制御方法
US20030046489A1 (en) Disk memory device
KR100843199B1 (ko) 고속 아이.디.이. 인터페이스 장치 및 그 방법
JP2770901B2 (ja) ディスク制御方法
US7587550B2 (en) Functional test method and functional test apparatus for data storage devices
US7600058B1 (en) Bypass method for efficient DMA disk I/O
US7127530B2 (en) Command issuing apparatus for high-speed serial interface
TWI451262B (zh) 橋接電路
US6430652B1 (en) Method and apparatus for streaming data in a data processing system
US20050198425A1 (en) Combined optical storage and flash card reader using single ide or sata port and method thereof
US20060277326A1 (en) Data transfer system and method
JP4664077B2 (ja) 光学ストレージの転送性能の向上
JPS6232494B2 (ko)
JP2003186818A (ja) 集積化大量記憶部を具備するシステム用集積化ドライブ制御器
JP2000155737A (ja) デ―タパケット受信装置
JP2007011659A (ja) インターフェース装置、ディスクドライブ及びインターフェース制御方法
KR20040065815A (ko) 고속 프로그래머블 입출력 인터페이스를 구비한 컴퓨터시스템
TWI736092B (zh) 通用串列匯流排裝置以及存取方法
JP2012063875A (ja) データ記憶装置、コマンド制御装置及び電子機器
KR100464788B1 (ko) 초고속 저장장치 및 방법
CN117850873A (zh) 一种管理存储器的方法及控制部件

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130531

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee