KR20080083526A - 인터페이스 변환 장치 및 이를 이용한 데이터 저장 장치 - Google Patents
인터페이스 변환 장치 및 이를 이용한 데이터 저장 장치 Download PDFInfo
- Publication number
- KR20080083526A KR20080083526A KR1020070024198A KR20070024198A KR20080083526A KR 20080083526 A KR20080083526 A KR 20080083526A KR 1020070024198 A KR1020070024198 A KR 1020070024198A KR 20070024198 A KR20070024198 A KR 20070024198A KR 20080083526 A KR20080083526 A KR 20080083526A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- command
- storage device
- bus width
- block size
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
본 발명은 호스트 기기와 데이터 저장 장치간의 인터페이스를 실행하는 장치에 관한 것으로서, 서로 다른 인터페이스 규격을 갖는 호스트 기기와 데이터 저장 장치간의 인터페이스 규격을 변환시키는 장치에 관한 것이다.
본 발명의 일 실시 예에 따른 인터페이스 변환 장치는 제1접속 단자, 제2접속 단자, 상기 제1접속 단자에 접속된 호스트 기기와 상기 제2접속 단자에 접속된 저장 장치간의 전송되는 데이터를 임시로 저장하는 버퍼 메모리 및 상기 호스트 기기로부터 초기화 커맨드가 수신되면 상기 저장 장치의 고유 사양 정보를 읽어 내부 레지스터에 저장하고, 리드 커맨드 또는 라이트 커맨드 실행 중에 상기 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈에 따라 상기 저장 장치의 데이터 블록 사이즈 및 버스 폭을 가변시키도록 제어하는 컨버터 컨트롤러를 포함함을 특징으로 한다.
인터페이스, 컨버터, 변환, PCMCIA, CE-ATA
Description
도 1은 본 발명의 일실시 예에 따른 인터페이스 변환 장치를 설명하기 위한 개념도이다.
도 2는 본 발명의 일실시 예에 따른 데이터 저장 장치의 블록 결합 구성도이다.
도 3은 본 발명의 일실시 예에 따른 인터페이스 변환 장치의 블록 구성도이다.
도 4는 본 발명이 적용되는 저장 장치의 일예인 하드 디스크 드라이브의 헤드 디스크 어셈블리의 평면도이다.
도 5는 본 발명에 적용되는 저장 장치의 일예인 하드 디스크 드라이브의 전기적인 회로 구성도이다.
도 6은 본 발명의 일실시 예에 따른 인터페이스 변환 장치의 제어 흐름도이다.
도 7은 본 발명의 일실시 예에 따른 인터페이스 변환 장치의 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈를 산출하는 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 일실시 예에 따른 인터페이스 변환 장치의 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈에 따라서 데이터 블록 사이즈 및 버스 폭을 가변시키는 동작을 설명하기 위한 도면이다.
본 발명은 호스트 기기와 데이터 저장 장치간의 인터페이스를 실행하는 장치에 관한 것으로서, 서로 다른 인터페이스 규격을 갖는 호스트 기기와 데이터 저장 장치간의 인터페이스 규격을 변환시키는 장치에 관한 것이다.
일반적으로, 데이터 저장 장치의 하나인 하드 디스크 드라이브는 변환기(일명 헤드라고도 칭함)에 의해 디스크에 기록된 데이터를 재생하거나, 디스크에 사용자 데이터를 기록함으로써 컴퓨터 시스템 운영에 기여하게 된다. 이와 같은 하드 디스크 드라이브는 점차 고용량화, 고밀도화 및 소형화되면서 퍼스널 컴퓨터의 저장 장치로 이용될 뿐만 아니라 모바일 기기용 저장 장치로도 이용이 확대되고 있는 추세이다.
하드 디스크 드라이브가 소형화됨에 따라 많은 모바일 기기(MP3P, PMP, 등)에 저장 장치로 채택되고 있다. 하지만, 많은 모바일 기기들은 기존의 플래시 타입(Flash Type) 저장 장치들을 위한 인터페이스를 채택하고 있어 하드 디스크 드라이브 적용에 어려움이 있었다. 최근에 이러한 문제를 개선하기 위한 프로토콜(Protocol)들이 개발되고 있다.
이중 새롭게 부각되어 있는 인터페이스 프로토콜이 MMC(Multi Media Card)를 기반으로 하는 CE-ATA 인터페이스이다. 이에 맞추어 많은 모바일 제조업자들이 모바일용 하드 디스크 드라이브의 인터페이스로 CE-ATA 인터페이스를 채택하고 있다.
그런데, 현재 노트북 PC 등과 같은 모바일 기기에서는 PCMCIA 인터페이스가 채택되어 사용되고 있기 때문에, CE-ATA 인터페이스를 채택하고 있는 모바일용 하드 디스크 드라이브와는 인터페이스 방식이 상이하다.
이에 따라서, 모바일용 하드 디스크 드라이브를 직접 연결하여 노트북 PC와 같은 모바일 기기의 저장 공간을 확장할 수 없는 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 상술한 문제점을 해결하기 위하여 서로 다른 인터페이스 방식을 채용하는 기기들 간의 인터페이스 규격을 변환시키기 위한 인터페이스 변환 장치 및 이를 이용한 데이터 저장 장치를 제공하는데 있다.
상기 기술적 과제를 달성하기 위하여 본 발명의 일 실시 예에 따른 인터페이스 변환 장치는 제1접속 단자, 제2접속 단자, 상기 제1접속 단자에 접속된 호스트 기기와 상기 제2접속 단자에 접속된 저장 장치간의 전송되는 데이터를 임시로 저장하는 버퍼 메모리 및 상기 호스트 기기로부터 초기화 커맨드가 수신되면 상기 저장 장치의 고유 사양 정보를 읽어 내부 레지스터에 저장하고, 리드 커맨드 또는 라이트 커맨드 실행 중에 상기 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈에 따라 상기 저장 장치의 데이터 블록 사이즈 및 버스 폭을 가변시키 도록 제어하는 컨버터 컨트롤러를 포함함을 특징으로 한다.
본 발명의 바람직한 일 실시 예에 따르면, 상기 제1접속 단자는 PCMCIA 단자이고, 상기 제2접속 단자는 CE-ATA 단자임을 특징으로 한다.
본 발명의 바람직한 일 실시 예에 따르면, 상기 저장 장치는 CE-ATA 인터페이스가 장착된 하드 디스크 드라이브가 될 수 있으며, 상기 저장 장치의 고유 사양 정보는 데이터 블록 사이즈 정보 및 버스 폭 정보가 포함된다.
본 발명의 바람직한 일 실시 예에 따르면, 상기 컨버터 컨트롤러는 리드 커맨드 실행 중에 상기 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈가 제1임계값보다 작은 경우에는 데이터 전송 속도를 높이도록 상기 데이터 블록 사이즈 및 버스 폭을 변경시키는 명령을 생성시켜 상기 저장 장치로 전송하고, 상기 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈가 제2임계값보다 큰 경우에는 데이터 전송 속도를 낮추도록 상기 데이터 블록 사이즈 및 버스 폭을 변경시키는 명령을 생성시켜 상기 저장 장치로 전송한다.
본 발명의 바람직한 일 실시 예에 따르면, 상기 컨버터 컨트롤러는 라이트 커맨드 실행 중에 상기 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈가 제2임계값보다 큰 경우에는 데이터 전송 속도를 높이도록 상기 데이터 블록 사이즈 및 버스 폭을 변경시키는 명령을 생성시켜 상기 저장 장치로 전송하고, 상기 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈가 제1임계값보다 작은 경우에는 데이터 전송 속도를 낮추도록 상기 데이터 블록 사이즈 및 버스 폭을 변경시키는 명령을 생성시켜 상기 저장 장치로 전송한다.
상기 다른 기술적 과제를 달성하기 위하여 본 발명의 일실시 예에 따른 데이터 저장 장치는 제1접속 단자, 상기 제1접속 단자에 연결되어 제1인터페이스 규격에 따른 커맨드를 제2인터페이스 규격의 커맨드로 변환시키고, 리드/라이트 커맨드 실행 중에 상기 제1접속 단자에 접속된 호스트 기기의 데이터 전송 속도에 근거하여 데이터 블록 사이즈 및 버스 폭을 가변시키는 명령을 생성시키는 컨버터, 상기 컨버터에 연결되어 제2인터페이스 규격에 따라 데이터 송/수신 처리를 실행하는 인터페이스 회로, 정보를 저장하는 저장 매체 및 상기 컨버터에서 생성된 데이터 블록 사이즈 및 버스 폭을 가변시키는 명령에 따라 데이터 블록 사이즈 및 버스 폭을 가변시키고, 상기 인터페이스 회로를 통하여 수신되는 데이터를 상기 저장 매체에 저장시키거나 상기 저장 매체에서 읽어낸 데이터를 상기 인터페이스 회로 및 컨버터를 통하여 상기 호스트 기기로 전송하도록 제어하는 저장 장치 컨트롤러를 포함함을 특징으로 한다.
본 발명의 바람직한 일 실시 예에 따르면, 상기 제1접속 단자는 PCMCIA 단자이고, 상기 제1인터페이스 규격은 PCMCIA 인터페이스 규격이며, 상기 제2인터페이스 규격은 CE-ATA 인터페이스 규격임을 특징으로 한다.
본 발명의 바람직한 일 실시 예에 따르면, 상기 컨버터는 상기 PCMCIA 단자에 접속된 호스트 기기에서 전송된 데이터 또는 전송할 데이터를 임시로 저장하는 버퍼 메모리 및 상기 호스트 기기로부터 초기화 커맨드가 수신되면 상기 데이터 저장 장치의 고유 사양 정보를 읽어 내부 레지스터에 저장하고, 리드 커맨드 또는 라이트 커맨드 실행 중에 상기 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈에 따라 상기 데이터 저장 장치의 데이터 블록 사이즈 및 버스 폭을 가변시키는 명령을 생성시키는 컨버터 컨트롤러를 포함함을 특징으로 한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세히 설명하기로 한다.
우선, 도 1에 도시된 개념도를 참조하여 본 발명의 기본적인 원리를 설명하기로 한다.
도 1에 도시된 바와 같이, 본 발명에 따른 데이터 저장 장치는 하드 디스크 드라이브(110), CE-ATA 커넥터(120), 컨버터(130) 및 PCMCIA 커넥터(140)로 구성된다.
여기에서, 하드 디스크 드라이브(110)는 CE-ATA 인터페이스 회로가 내장되어 있어, CE-ATA 인터페이스 규격에 따라 데이터 송/수신 처리를 실행한다.
그리고, PCMCIA 커넥터(140)에는 PCMCIA 인터페이스 회로가 내장된 호스트 기기(도면에 미도시)가 접속되며, PCMCIA 인터페이스 규격에 따라 데이터 송/수신 처리를 실행한다.
컨버터(130)는 서로 다른 규격의 인터페이스 회로 채용하고 있는 호스트 기기와 하드 디스크 드라이브간의 데이터 전송이 가능하도록 PCMCIA 인터페이스 규격에 따른 커맨드를 CE-ATA 인터페이스 규격의 커맨드로 변환시키는 역할을 한다. 컨 버터(130)의 세부적인 동작은 도 3에서 상세히 설명되어질 것이다.
즉, CE-ATA 커넥터(120)에 접속되어 있는 하드 디스크 드라이브(110)를 PCMCIA 인터페이스 회로가 내장된 호스트 기기의 데이터 저장 장치로 이용하기 위하여 컨버터(130)에서 호스트 기기에서 전송되는 PCMCIA 인터페이스 규격에 따른 커맨드를 CE-ATA 인터페이스 규격의 커맨드로 변환하여 하드 디스크 드라이브(110)로 전송함으로써, 서로 다른 규격의 인터페이스 방식을 채용하고 있는 호스트 기기와 하드 디스크 드라이브간의 데이터 전송이 가능하게 된다.
본 발명에 따른 데이터 저장 장치의 블록 결합 구성은 일 예로서, 도 2에 도시된 바와 같이 구현할 수 있다. 도 2에 따르면, PCMCIA 커넥터에 호스트 기기인 모바일 기기를 연결하면, 호스트 기기는 CE-ATA 인터페이스 규격을 채용하는 하드 디스크 드라이브를 저장 장치로 이용할 수 있게 된다.
그러면, 본 발명에 따른 인터페이스 변환 장치에서 실행되는 동작을 상세히 설명하기로 한다.
도 3에 도시된 바와 같이, 본 발명의 일실시 예에 따른 인터페이스 변환 장치는 PCMCIA 단자(310), 컨버터(320) 및 CE-ATA 단자(330)를 구비한다.
PCMCIA 단자(310) 및 CE-ATA 단자(330)의 핀(PIN) 사양은 각각의 인터페이스 규격에 따라 설정되어 있으며, PCMCIA 단자(310)와 CE-ATA 단자(330)는 서로 호환성이 없으며, 각각 상이한 규격의 핀 사양을 갖는다.
참고적으로, CE-ATA 인터페이스는 최소 섹터 사이즈가 4Kbyte, 데이터 버스 폭이 1bit, 4bits, 8bits의 선택을 할 수 있으며, 데이터 전송 블록 사이즈가 512byte, 1Kbyte, 4Kbyte 등으로 다양하다. 이에 비하여, 노트북 PC 등과 같은 모바일 기기에서 사용되고 있는 PCMCIA 인터페이스는 기존의 저장 장치들과 같이 섹터 사이즈는 512Kbyte, 데이터 전송 블록 사이즈는 512byte로 고정되어 있으며, 또한 데이터 버스 폭도 고정되어 있다.
컨버터(320)는 세부적으로 내부 레지스터들을 포함하는 컨버터 컨트롤러(320-1) 및 버퍼 메모리(320-2)로 구성된다.
버퍼 메모리(320-2)에는 PCMCIA 단자(310)에 접속된 호스트 기기에서 전송된 데이터 또는 호스트 기기로 전송할 데이터가 임시로 저장된다.
그리고, 컨버터 컨트롤러(320-1)는 초기화 커맨드가 수신되면 CE-ATA 단자(330)에 연결된 데이터 저장 장치인 하드 디스크 드라이브의 고유 사양 정보를 읽어 내부 레지스터에 저장하고, 리드 커맨드 또는 라이트 커맨드 실행 중에 버퍼 메모리(320-2)에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈에 따라 하드 디스크 드라이브의 데이터 블록 사이즈 및 버스 폭을 가변시키는 명령을 생성시키는 제어 프로세스를 실행한다.
세부적으로, 컨버터(320)에 의하여 실행되는 제어 동작을 도 6의 흐름도를 참조하여 시계열적으로 설명하기로 한다.
PCMCIA 단자(310)에 연결된 호스트 기기로부터 컨버터 컨트롤러(320-1)로 초기화 커맨드가 수신되는지를 판단한다(S601). 초기화 커맨드는 호스트 기기가 파워 오프(power off) 상태에서 파워 온(power on) 상태로 천이되는 경우에 호스트 기기에서 발생된다.
컨버터 컨트롤러(320-1)로 초기화 커맨드가 수신되면, CE-ATA 단자(330)에 접속된 저장 장치인 하드 디스크 드라이브로 고유 사양 정보를 요청하는 커맨드를 전송하고, 이에 응답하여 하드 디스크 드라이브에서 보내온 하드 디스크 드라이브의 고유 사양 정보를 컨버터 컨트롤러(320-1)의 내부 레지스터에 저장한다(S602). 여기에서, 고유 사양 정보에는 하드 디스크 드라이브의 섹터 사이즈(SS), 데이터 블록 사이즈(DBS) 및 버스 폭(BW) 정보가 포함된다.
초기화 커맨드를 실행시키고 나서, 호스트 기기로부터 컨버터 컨트롤러(320-1)로 리드(Read) 커맨드 또는 라이트(Write) 커맨드가 수신되는지를 판단한다(S603).
단계603(S603)의 판단 결과 리드 커맨드 또는 라이트 커맨드가 수신되면, CE-ATA 규격에 상응하는 리드 커맨드 또는 라이트 커맨드로 컨버팅하여 CE-ATA 단자에 연결된 하드 디스크 드라이브로 전달하고, 하드 디스크 드라이브에서는 디폴트 값으로 설정된 버스 폭 및 데이터 블록 사이즈로 리드 또는 라이트 커맨드에 따른 데이터를 처리를 시작한다(S604).
이와 같은 데이터를 처리를 실행하면서, 컨버터 컨트롤러(320-1)는 일정 주기로 버퍼 메모리(320-2)에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈(C)를 산출한다(S605). 도 7에 도시된 바와 같이, 호스트 기기에서 전송되거나 호스트 기기로 전송되는 데이터의 위치를 지시하는 버퍼 메모리의 포인터 값(A)과 하드 디스크 드라이브에서 전송되거나 하드 디스크 드라이브로 전송되는 데이터의 위치를 지시하는 버퍼 메모리의 포인터 값(B)의 차(C)가 버퍼 메모리(320-2)에서 처리되지 않은 데이터 사이즈가 된다.
다음으로, 단계605(S605)에서 산출된 버퍼 메모리(320-2)에서 처리되지 않은 데이터 사이즈(C) 값과 제1임계값(TH1) 및 제2임계값(TH2)을 비교한다(S606). 여기에서, 제1임계값(TH1) 및 제2임계값(TH2)은 버스 폭 및 데이터 블록 사이즈를 변경시키는 데이터 버퍼(320-2)에서 처리되지 않은 잔여 데이터의 임계 사이즈를 결정하는 값으로 제품 설계 단계에서 결정한다.
단계606(S606)의 판단 결과 버퍼 메모리(320-2)에서 처리되지 않은 데이터 사이즈(C) 값이 제1임계값(TH1)보다 작거나 제2임계값(TH2)보다 큰 경우에, 컨버터 컨트롤러(320-1)는 하드 디스크 드라이브의 버스 폭(BW) 및 데이터 블록 사이즈(DBS)를 변경하는 커맨드를 생성시켜 CE-ATA 단자(330)에 연결된 하드 디스크 드라이브로 전송한다(S607).
즉, 컨버터 컨트롤러(320-1)는 리드 커맨드 실행 중에 버퍼 메모리(320-2)에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈가 제1임계값(TH1)보다 작은 경우에는 데이터 전송 속도를 높이도록 데이터 블록 사이즈 및 버스 폭을 변경시키는 명령을 생성시켜 하드 디스크 드라이브로 전송하고, 버퍼 메모리(320-2)에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈가 제2임계값(TH2)보다 큰 경우에는 데이터 전송 속도를 낮추도록 상기 데이터 블록 사이즈 및 버스 폭을 변경시키는 명령을 생성시켜 하드 디스크 드라이브로 전송한다.
또한, 컨버터 컨트롤러(320-1)는 라이트 커맨드 실행 중에 버퍼 메모리(320-2)에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈가 제2임계값(TH2)보다 큰 경우에는 데이터 전송 속도를 높이도록 데이터 블록 사이즈 및 버스 폭을 변경시키는 명령을 생성시켜 하드 디스크 드라이브로 전송하고, 버퍼 메모리(320-2)에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈가 제1임계값(TH1)보다 작은 경우에는 데이터 전송 속도를 낮추도록 데이터 블록 사이즈 및 버스 폭을 변경시키는 명령을 생성시켜 하드 디스크 드라이브로 전송한다.
일 예로, 라이트 커맨드를 수행하는 경우에 도 8을 참조하여 버스 폭 및 블록 사이즈를 변경시키는 동작에 대하여 설명하기로 한다.
라이트 커맨드 실행 초기에 디폴트 버스 폭 및 데이터 블록 사이즈로 하드 디스크 드라이브에서 데이터 처리를 실행하면, 도 8(a)과 같이 포인터 값(A)과 포인터 값(B)의 차이 값(C)이 발생된다. 일 예로서, 디폴트 버스 폭 및 데이터 블록 사이즈는 최소 전송 모드에 대응되는 사이즈로 설정할 수 있다.
시간이 경과함에 따라 호스트 기기에서 전송되는 데이터양이 증가하게 되면, 도 8(b)과 같이 포인터 값(A)과 포인터 값(B)의 차이인 C 값이 증가하게 된다. 만일, C 값이 제2임계값보다 큰 경우에는 하드 디스크 드라이브의 데이터 전송 속도를 높이기 위하여 버스 폭 및 블록 사이즈를 증가시키도록 제어한다.
그리고 나서, 증가된 버스 폭 및 블록 사이즈로 하드 디스크 드라이브에서 데이터를 처리하면, C 값은 감소하게 된다. 이에 따라서, 도 8(c)과 같이 C 값이 감소되어 제1임계값(TH1)보다 작아진 경우에는 하드 디스크 드라이브의 데이터 전송 속도를 낮추기 위하여 버스 폭 및 블록 사이즈를 감소시키도록 제어한다.
리드 커맨드를 실행하는 경우에는 라이트 모드와는 반대의 양상으로 버스 폭 및 블록 사이즈를 제어한다.
단계607(S607)을 실행하고 나서 또는 단계606(S606)의 판단 결과 버퍼 메모리(320-2)에서 처리되지 않은 데이터 사이즈(C) 값이 제1임계값(TH1)보다 같거나 크고 제2임계값(TH2)보다 작거나 같은 경우에는 수신된 커맨드의 실행이 완료되었는지를 판단하여 완료된 경우에는 단계를 종료하고, 그렇지 않은 경우에는 단계605(S605)로 피드백시켜 위의 단계들을 반복 실행한다.
참고적으로, CE-ATA 인터페이스 방식을 채용하는 하드 디스크 드라이브의 버스 폭 및 데이터 블록 사이즈를 변경하는 전송 모드 전환을 위하여 이미 초기화 과정에서 하드 디스크 드라이브에 대한 고유 사양 정보를 가지고 있으므로 전송 모드 전환에 필요한 시퀀스 실행 시간을 줄일 수 있게 된다.
이와 같은 방법으로, 컨버터(320)는 PCMCIA 인터페이스 규격에 따른 커맨드를 CE-ATA 인터페이스 규격의 커맨드로 변환시키고, 리드/라이트 커맨드 실행 중에 PCMCIA 단자(310)에 접속된 호스트 기기의 데이터 전송 속도에 근거하여 하드 디스크 드라이브의 데이터 블록 사이즈 및 버스 폭을 가변시키도록 제어한다.
다음으로, 본 발명에 따른 데이터 저장 장치인 하드 디스크 드라이브는 기구적인 부품들로 구성된 HDA(Head Disk Assembly)와 전기 회로의 결합으로 이루어진다.
도 1은 본 발명이 적용되는 하드 디스크 드라이브의 HDA(Head Disk Assembly; 10)의 구성을 보여준다.
헤드 디스크 어셈블리(10)는 스핀들 모터(14)에 의하여 회전되는 적어도 하 나의 자기 디스크(12)를 포함하고 있다. 디스크 드라이브는 디스크(12) 표면에 인접되게 위치한 변환기(16)를 또한 포함하고 있다.
변환기(16)는 각각의 디스크(12)의 자계를 감지하고 자화시킴으로써 회전하는 디스크(12)에서 정보를 읽거나 기록할 수 있다. 전형적으로 변환기(16)는 각 디스크(12) 표면에 대면되어 있다. 비록 단일의 변환기(16)로 도시되어 설명되어 있지만, 이는 디스크(12)를 자화시키기 위한 기록용 변환기와 디스크(12)의 자계를 감지하기 위한 분리된 읽기용 변환기로 이루어져 있다고 이해되어야 한다. 읽기용 변환기는 자기 저항(MR : Magneto-Resistive) 소자로부터 구성되어 진다. 변환기(16)는 통상적으로 헤드(Head)라 칭해지기도 한다.
변환기(16)는 슬라이더(20)에 통합되어 질 수 있다. 슬라이더(20)는 변환기(16)와 디스크(12) 표면사이에 공기 베어링(air bearing)을 생성시키는 구조로 되어 있다. 슬라이더(20)는 헤드 짐벌 어셈블리(22)에 결합되어 있다. 헤드 짐벌 어셈블리(22)는 보이스 코일(26)을 갖는 액츄에이터 암(24)에 부착되어 있다. 보이스 코일(26)은 보이스 코일 모터(VCM : Voice Coil Motor 30)를 특정하는 마그네틱 어셈블리(28)에 인접되게 위치하고 있다. 보이스 코일(26)에 공급되는 전류는 베어링 어셈블리(32)에 대하여 액츄에이터 암(24)을 회전시키는 토오크를 발생시킨다. 액츄에이터 암(24)의 회전은 디스크(12) 표면을 가로질러 변환기(16)를 이동시킬 것이다.
정보는 전형적으로 디스크(12)의 데이터 존의 환상 트랙 내에 저장된다. 각 트랙(34)은 일반적으로 복수의 섹터를 포함하고 있다. 각 섹터는 데이터 필드(data field)와 식별 필드(identification field)를 포함하고 있다. 식별 필드는 섹터 및 트랙(실린더)을 식별하는 그레이 코드(Gray code)로 구성되어 있다. 변환기(16)는 다른 트랙에 있는 정보를 읽거나 기록하기 위하여 디스크(12) 표면을 가로질러 이동된다.
도 2는 본 발명에 따른 데이터 저장 장치인 CE-ATA 인터페이스 방식을 채용하는 하드 디스크 드라이브를 제어할 수 있는 전기 시스템(40)을 보여준다. 전기 시스템(40)은 프리 앰프(46), 리드/라이트(R/W) 채널 회로(44), HDD(Hard Disk Drive) 컨트롤러(42), VCM 구동부(48), ROM(50), RAM(52) 및 CE-ATA 인터페이스 회로(54)를 포함하고 있다.
HDD 컨트롤러(42)는 디지털 신호 프로세서(DSP : Digital Signal Processor), 마이크로프로세서, 마이크로컨트롤러 등이 될 수 있다. HDD 컨트롤러(42)는 CE-ATA 인터페이스 회로(54)를 통하여 수신되는 커맨드(command)에 따라서 디스크(12)로부터 정보를 읽거나 또는 디스크(12)에 정보를 기록하기 위하여 리드/라이트 채널 회로(44)를 제어한다.
CE-ATA 인터페이스 회로(54)는 PCMCIA 인터페이스 규격에 따른 커맨드를 CE-ATA 커맨드로 변환시키는 컨버터에 연결되어, CE-ATA 인터페이스 규격에 따라 데이터 송/수신 처리를 실행한다.
그리고, HDD 컨트롤러(42)는 보이스 코일(26)에 구동 전류를 공급하는 VCM(Voice Coil Motor) 구동부(48)에 또한 결합되어 있다. 컨트롤러(42)는 변환기(16)의 움직임을 제어하기 위하여 VCM 구동부(48)로 제어신호를 공급한다.
ROM(50)에는 디스크 드라이브를 제어하는 펌웨어 및 각종 제어 데이터들이 저장되어 있다.
RAM(52)에는 디스크 드라이브에 전원이 공급되면 디스크(12)의 메인터넌스 실린더(Maintenance Cylinder) 위치에서 읽어낸 디스크 드라이브의 고유 정보들이 로딩된다. 디스크 드라이브의 고유 사양 정보에는 하드 디스크 드라이브의 섹터 사이즈(SS), 데이터 블록 사이즈(DBS) 및 버스 폭(BW) 정보가 포함된다. 물론, 디스크 드라이브의 고유 사양 정보는 메인터넌스 실린더(Maintenance Cylinder) 영역 대신에 ROM(50)에 저장할 수도 있다.
HDD 컨트롤러(42)는 컨버터(320)로부터 하드 디스크 드라이브의 고유 사양 정보를 요청하는 커맨드가 수신되면, RAM(52)에 로딩된 데이터 블록 사이즈 정보 및 버스 폭 정보를 포함하는 고유 사양 정보를 읽어내어 컨버터(320)로 전송한다.
다음으로, 일반적인 디스크 드라이브의 동작을 설명하면 다음과 같다.
리드(Read) 모드에서, 디스크 드라이브는 디스크(12)로부터 변환기(16)에 의하여 감지된 전기적인 신호를 프리 앰프(46)에서 고정된 이득 값에 의하여 증폭시킨다. 그리고 나서, 리드/라이트 채널 회로(44)에서는 컨트롤러(42)에서 생성되는 섹터 펄스에 따라서 디스크(12)로부터 읽어낸 신호를 디지털 신호로 변환시킨 후에 RLL 복호 처리한다. RLL 복호 처리된 데이터는 컨트롤러(42)에서 일 예로서 에러 정정 처리를 실행한 후에, 스트림 데이터로 변환하여 다중 인터페이스 회로(54)에서 선택된 하나의 인터페이스를 통하여 호스트 기기로 전송된다.
다음으로 라이트(Write) 모드에서, 디스크 드라이브는 다중 인터페이스 회 로(54)에서 선택된 하나의 인터페이스를 통하여 호스트 기기로부터 데이터를 입력받아, 컨트롤러(42)에서 에러 정정용 패리티 심볼을 부가하고, 리드/라이트 채널 회로(44)에 의하여 기록 채널에 적합하도록 RLL 부호화 처리한 후에 섹터 펄스가 발생되는 시점에 프리 앰프(46)에 의하여 증폭된 기록 전류로 변환기(16)를 통하여 디스크(12)에 기록시킨다.
HDD 컨트롤러(42)는 위와 같은 리드 또는 라이트 실행 시 초기에는 디폴트 값으로 설정된 버스 폭 및 데이터 블록 사이즈를 적용하여 데이터를 처리하도록 제어한다. 만일 컨버터(320)로부터 데이터 블록 사이즈 및 버스 폭을 가변시키는 커맨드가 수신되는 경우에는, HDD 컨트롤러(42)는 컨버터(320)로부터 수신된 커맨드에 따라 데이터 블록 사이즈 및 버스 폭을 변경시켜 데이터 전송 속도를 가변시키도록 제어한다.
본 발명은 방법, 장치, 시스템 등으로서 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필연적으로 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되어 질 수 있으며 또는 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다. 프로세서 판독 가능 매체는 정보를 저장 또는 전송할 수 있는 어떠한 매체도 포함한다. 프로세서 판독 가능 매체의 예로는 전자 회로, 반도체 메모리 소자, ROM, 플레쉬 메모리, 이레이져블 ROM(EROM : Erasable ROM), 플로피 디스크, 광 디스크, 하드 디스크, 광 섬유 매체, 무선 주파수(RF) 망, 등이 있다. 컴퓨터 데이터 신호는 전자 망 채널, 광 섬유, 공기, 전자계, RF 망, 등과 같은 전송 매체 위로 전파될 수 있는 어떠한 신호도 포함된다.
첨부된 도면에 도시되어 설명된 특정의 실시 예들은 단지 본 발명의 예로서 이해되어 지고, 본 발명의 범위를 한정하는 것이 아니며, 본 발명이 속하는 기술 분야에서 본 발명에 기술된 기술적 사상의 범위에서도 다양한 다른 변경이 발생될 수 있으므로, 본 발명은 보여지거나 기술된 특정의 구성 및 배열로 제한되지 않는 것은 자명하다. 즉, 본 발명은 하드 디스크 드라이브를 포함하는 각종 디스크 드라이브에 적용될 수 있을 뿐만 아니라, 다양한 종류의 데이터 저장 장치에 적용될 수 있음은 당연한 사실이다.
상술한 바와 같이, 본 발명에 의하면 PCMCIA 인터페이스 규격의 커맨드를 CE-ATA 인터페이스 규격의 커맨드로 변환시킴으로써, CE-ATA 인터페이스를 채용하는 하드 디스크 드라이브를 PCMCIA 인터페이스를 채용하는 모바일 기기의 저장 장치로 이용할 수 있는 효과가 발생된다. 또한 처리해야 할 데이터 전송 량에 따라서 최적의 데이터 블록 사이즈 및 버스 폭을 결정하여 데이터를 처리함으로써 최적의 전송 속도로 데이터를 처리할 수 있는 효과가 발생되며, 이로 인하여 소비 전력을 줄일 수 있는 효과도 발생된다.
Claims (12)
- 제1접속 단자;제2접속 단자;상기 제1접속 단자에 접속된 호스트 기기와 상기 제2접속 단자에 접속된 저장 장치간의 전송되는 데이터를 임시로 저장하는 버퍼 메모리; 및상기 호스트 기기로부터 초기화 커맨드가 수신되면 상기 저장 장치의 고유 사양 정보를 읽어 내부 레지스터에 저장하고, 리드 커맨드 또는 라이트 커맨드 실행 중에 상기 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈에 따라 상기 저장 장치의 데이터 블록 사이즈 및 버스 폭을 가변시키도록 제어하는 컨버터 컨트롤러를 포함함을 특징으로 하는 인터페이스 변환 장치.
- 제1항에 있어서, 상기 제1접속 단자는 PCMCIA 단자이고, 상기 제2접속 단자는 CE-ATA 단자임을 특징으로 하는 인터페이스 변환 장치.
- 제1항에 있어서, 상기 저장 장치는 CE-ATA 인터페이스가 장착된 하드 디스크 드라이브를 포함함을 특징으로 하는 인터페이스 변환 장치.
- 제1항에 있어서, 상기 저장 장치의 고유 사양 정보는 데이터 블록 사이즈 정보 및 버스 폭 정보를 포함함을 특징으로 하는 인터페이스 변환 장치.
- 제1항에 있어서, 상기 컨버터 컨트롤러는 리드 커맨드 실행 중에 상기 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈가 제1임계값보다 작은 경우에는 데이터 전송 속도를 높이도록 상기 데이터 블록 사이즈 및 버스 폭을 변경시키는 명령을 생성시켜 상기 저장 장치로 전송하고, 상기 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈가 제2임계값보다 큰 경우에는 데이터 전송 속도를 낮추도록 상기 데이터 블록 사이즈 및 버스 폭을 변경시키는 명령을 생성시켜 상기 저장 장치로 전송함을 특징으로 하는 인터페이스 변환 장치.
- 제1항에 있어서, 상기 컨버터 컨트롤러는 라이트 커맨드 실행 중에 상기 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈가 제2임계값보다 큰 경우에는 데이터 전송 속도를 높이도록 상기 데이터 블록 사이즈 및 버스 폭을 변경시키는 명령을 생성시켜 상기 저장 장치로 전송하고, 상기 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈가 제1임계값보다 작은 경우에는 데이터 전송 속도를 낮추도록 상기 데이터 블록 사이즈 및 버스 폭을 변경시키는 명령을 생성시켜 상기 저장 장치로 전송함을 특징으로 하는 인터페이스 변환 장치.
- 제1접속 단자;상기 제1접속 단자에 연결되어 제1인터페이스 규격에 따른 커맨드를 제2인터페이스 규격의 커맨드로 변환시키고, 리드/라이트 커맨드 실행 중에 상기 제1접속 단자에 접속된 호스트 기기의 데이터 전송 속도에 근거하여 데이터 블록 사이즈 및 버스 폭을 가변시키는 명령을 생성시키는 컨버터;상기 컨버터에 연결되어 제2인터페이스 규격에 따라 데이터 송/수신 처리를 실행하는 인터페이스 회로;정보를 저장하는 저장 매체; 및상기 컨버터에서 생성된 데이터 블록 사이즈 및 버스 폭을 가변시키는 명령에 따라 데이터 블록 사이즈 및 버스 폭을 가변시키고, 상기 인터페이스 회로를 통하여 수신되는 데이터를 상기 저장 매체에 저장시키거나 상기 저장 매체에서 읽어낸 데이터를 상기 인터페이스 회로 및 컨버터를 통하여 상기 호스트 기기로 전송하도록 제어하는 저장 장치 컨트롤러를 포함함을 특징으로 하는 데이터 저장 장치.
- 제7항에 있어서, 상기 제1접속 단자는 PCMCIA 단자이고, 상기 제1인터페이스 규격은 PCMCIA 인터페이스 규격이며, 상기 제2인터페이스 규격은 CE-ATA 인터페이스 규격임을 특징으로 하는 데이터 저장 장치.
- 제7항에 있어서, 상기 컨버터는상기 제1접속 단자에 접속된 호스트 기기에서 전송된 데이터 또는 전송할 데이터를 임시로 저장하는 버퍼 메모리; 및상기 호스트 기기로부터 초기화 커맨드가 수신되면 상기 데이터 저장 장치의 고유 사양 정보를 읽어 내부 레지스터에 저장하고, 리드 커맨드 또는 라이트 커맨 드 실행 중에 상기 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈에 따라 상기 데이터 저장 장치의 데이터 블록 사이즈 및 버스 폭을 가변시키는 명령을 생성시키는 컨버터 컨트롤러를 포함함을 특징으로 하는 데이터 저장 장치.
- 제9항에 있어서, 상기 데이터 저장 장치의 고유 사양 정보는 데이터 블록 사이즈 정보 및 버스 폭 정보를 포함함을 특징으로 하는 데이터 저장 장치.
- 제9항에 있어서, 상기 컨버터 컨트롤러는 리드 커맨드 실행 중에 상기 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈가 제1임계값보다 작은 경우에는 데이터 전송 속도를 높이도록 상기 데이터 블록 사이즈 및 버스 폭을 변경시키는 명령을 생성시키고, 상기 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈가 제2임계값보다 큰 경우에는 데이터 전송 속도를 낮추도록 상기 데이터 블록 사이즈 및 버스 폭을 변경시키는 명령을 생성시킴을 특징으로 하는 데이터 저장 장치.
- 제9항에 있어서, 상기 컨버터 컨트롤러는 라이트 커맨드 실행 중에 상기 버퍼 메모리에 저장된 데이터 중에서 처리되지 않은 데이터 사이즈가 제2임계값보다 큰 경우에는 데이터 전송 속도를 높이도록 상기 데이터 블록 사이즈 및 버스 폭을 변경시키는 명령을 생성시키고, 상기 버퍼 메모리에 저장된 데이터 중에서 처리되 지 않은 데이터 사이즈가 제1임계값보다 작은 경우에는 데이터 전송 속도를 낮추도록 상기 데이터 블록 사이즈 및 버스 폭을 변경시키는 명령을 생성시킴을 특징으로 하는 데이터 저장 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070024198A KR20080083526A (ko) | 2007-03-12 | 2007-03-12 | 인터페이스 변환 장치 및 이를 이용한 데이터 저장 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070024198A KR20080083526A (ko) | 2007-03-12 | 2007-03-12 | 인터페이스 변환 장치 및 이를 이용한 데이터 저장 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080083526A true KR20080083526A (ko) | 2008-09-18 |
Family
ID=40024177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070024198A KR20080083526A (ko) | 2007-03-12 | 2007-03-12 | 인터페이스 변환 장치 및 이를 이용한 데이터 저장 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20080083526A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110021184A (ko) * | 2009-08-25 | 2011-03-04 | 삼성전자주식회사 | 컴퓨터시스템, 디스크저장장치 및 그 제어방법 |
-
2007
- 2007-03-12 KR KR1020070024198A patent/KR20080083526A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110021184A (ko) * | 2009-08-25 | 2011-03-04 | 삼성전자주식회사 | 컴퓨터시스템, 디스크저장장치 및 그 제어방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7466509B1 (en) | Disk drive operable with first and second servo patterns in a perpendicular media recording environment | |
US7558016B1 (en) | Disk drive servo control techniques for predicting an off-track condition utilizing an estimation filter | |
US7388728B1 (en) | System and method for writing servo sectors in a perpendicular media recording environment | |
US7212374B1 (en) | Disk drive to characterize misaligned servo wedges | |
JP5325683B2 (ja) | キャッシュフラッシュ制御方法及び装置並びにこれを利用したデータ保存システム | |
US7631117B2 (en) | Method for communicating between host and storage device, storage device, host, and system comprising storage device and host | |
JP2006099665A (ja) | データ記憶装置及びそのシリアル・インターフェース部のパワー・セーブ・モードの制御方法 | |
JP2006139902A (ja) | データ記録媒体の記録密度可変方法,それを利用したディスクドライブ,記録密度の設定方法,およびデータ記録方法 | |
KR101832345B1 (ko) | 리드 헤드와 라이트 헤드간의 스큐 튜닝 방법 및 이 방법을 수행할 수 있는 저장 장치 | |
US7525747B2 (en) | Data storage device, data storage control circuit, and control method for magnetic disk drive | |
US7193799B2 (en) | Apparatus and method of removing resonance frequency in system | |
CN1988000A (zh) | 磁盘驱动器以及磁盘驱动中的控制方法 | |
US7898757B2 (en) | Hard disk drive with divided data sectors and hard disk drive controller for controlling the same | |
US7580210B2 (en) | Method, apparatus, and medium for determining read and write frequencies in data storing systems and a disk drive using the same | |
US20110113284A1 (en) | Read retry method and apparatuses capable of performing the read retry method | |
KR20050054558A (ko) | 데이터 저장 시스템에서의 적응적 리트라이 제어 방법 및이를 이용한 디스크 드라이브 | |
KR20080083526A (ko) | 인터페이스 변환 장치 및 이를 이용한 데이터 저장 장치 | |
US8279547B2 (en) | Method of setting zone layout of recording medium, and apparatus using method | |
JP2009223955A (ja) | 電源電圧供給回路及びディスク装置 | |
KR100524989B1 (ko) | 데이터 저장 시스템에서의 리트라이 개선 방법 및 이를이용한 디스크 드라이브 | |
KR100585098B1 (ko) | 적응적 리트라이 제어 방법 및 이를 이용한 디스크 드라이브 | |
KR100734312B1 (ko) | 다중 인터페이스를 지원하는 데이터 저장 장치 및 그 제어방법 | |
JP4971907B2 (ja) | ディスクの回転スリップによるデータセクターの位相補正方法およびディスクドライブ装置 | |
JP2008276818A (ja) | ディスク・ドライブ装置及びそのディスクへのアクセス方法 | |
JP4154382B2 (ja) | ディスクドライブのトラックゼロ決定/適用方法及びそれを利用したディスクドライブ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |