KR19990003647A - 데이타 저장장치의 버퍼 룸 로직과 그 제어방법 - Google Patents

데이타 저장장치의 버퍼 룸 로직과 그 제어방법 Download PDF

Info

Publication number
KR19990003647A
KR19990003647A KR1019970027550A KR19970027550A KR19990003647A KR 19990003647 A KR19990003647 A KR 19990003647A KR 1019970027550 A KR1019970027550 A KR 1019970027550A KR 19970027550 A KR19970027550 A KR 19970027550A KR 19990003647 A KR19990003647 A KR 19990003647A
Authority
KR
South Korea
Prior art keywords
data
buffer
host
counter
buffer counter
Prior art date
Application number
KR1019970027550A
Other languages
English (en)
Other versions
KR100251950B1 (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 KR1019970027550A priority Critical patent/KR100251950B1/ko
Priority to US09/105,180 priority patent/US6134610A/en
Publication of KR19990003647A publication Critical patent/KR19990003647A/ko
Application granted granted Critical
Publication of KR100251950B1 publication Critical patent/KR100251950B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0676Magnetic disk 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)
  • Computer Security & Cryptography (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

가. 청구범위에 기재된 발명이 속한 기술분야
하드 디스크 드라이브와 같은 데이타 저장장치의 버퍼 룸 로직에 관한 것이다.
나. 발명이 해결하려고 하는 기술적 과제
데이타 기록 검증시 호스트로부터 계속적으로 전송되는 데이타에 의해 기록 패일된 데이타가 버퍼 메모리내에서 손실되는 것을 방지할 수 있는 버퍼 룸 로직과 그 제어방법을 제공함에 있다.
다. 그 발명의 해결방법의 요지
데이타 기록 검증기능을 갖으며 소정의 기록매체에 데이타를 저장하는 데이타 저장장치와 호스트 사이에 전송되는 데이타를 버퍼링하는 버퍼 룸 로직에 있어서, 호스트 인터페이스부로부터의 데이타섹터 전송시와 데이타 기록완료시에 발생되는 펄스를 카운팅하는 제1,제2버퍼 카운터와, 버퍼 메모리의 최대 크기를 지시하는 최대 버퍼 카운터의 값을 상기 제1버퍼 카운터의 값과 비교하여 호스트 노 룸이 판명되면 호스트로부터의 데이타 전송을 정지시키기 위한 펄스를 상기 호스트 인터페이스부로 출력하는 제1비교부와, 상기 제2버퍼 카운터와 최대 버퍼 카운터의 값을 비교하여 기록매체 노 룸이 판명되면 기록매체로부터 리드된 데이타의 전송을 정지시키기 위한 펄스를 발생하여 출력하는 제2비교부와, 상기 제1,제2버퍼 카운터 각각과 기록매체 인터페이스부 사이에 접속되어 소정의 제어신호에 의해 스위칭 온-오프 동작되는 스위칭부들과, 데이타 기록완료시마다 발생되는 펄스가 상기 제1버퍼 카운터로 입력되도록 상기 스위칭부들을 각각 스위칭 온-오프 제어하는 제어신호를 출력하는 제어부로 구성함을 특징으로 한다.
라. 발명의 중요한 용도
하드 디스크 드라이브와 같은 데이타 저장장치의 버퍼 룸 로직에 사용할 수 있다.

Description

데이타 저장장치의 버퍼 룸 로직과 그 제어방법
본 발명은 데이타 저장장치와 호스트사이에 전송되는 데이타를 버퍼링하는 버퍼 룸 로직에 관한 것으로, 특히 데이타 기록 검증(Data Write Verify)시 패일(Fail)된 기록데이타가 버퍼 메모리내에서 손실되는 것을 방지하기 위한 버퍼 룸 로직과 그 제어방법에 관한 것이다.
정보화시대에 발맞추어 다양한 데이타 저장장치가 선보이고 있다. 자기 디스크를 기록매체로 사용하는 데이타 저장장치로서는 하드 디스크 드라이브(Hard Disk Drive)와 플로피 디스크 드라이브가 있으며, 광 디스크를 기록매체로 사용하는 데이타 저장장치로서는 CD-R(Compact Disc-Recordable), CD-R/W(Compact Disc-ReWritable) 드라이브 등이 있다. 이러한 데이타 저장장치는 호스트로부터 데이타를 전송받아 이를 각각의 기록매체에 기록한후 반복 재생하여 사용할 수 있다는 장점을 가지고 있다. 이러한 데이타 저장장치중에서 가장 보편화된 데이타 저장장치는 컴퓨터시스템의 보조기억장치로 사용되고 있는 하드 디스크 드라이브일 것이다. 하드 디스크 드라이브(Hard Disk Drive)는 호스트로부터 데이타 기록명령을 받으면 호스트로부터 데이타를 전송받아 이를 1차적으로 내부의 버퍼 메모리에 저장한다. 이후 헤드가 디스크면의 원하는 위치 즉, 목표트랙의 목표섹터에 이르면 버퍼 메모리에 저장된 데이타를 디스크면에 기록한다. 하드 디스크 드라이브는 호스트로부터의 데이타전송과 디스크로의 데이타전송상의 비동기를 감소시키기 위해 적절한 크기의 버퍼 메모리를 가지고 있고, 버퍼 메모리에 어느 정도의 데이타가 남아 있는가를 나타내기 위해 통상적으로 버퍼 카운터(Buffer Counter)라고 불리우는 레지스터를 가지고 있다. 그리고 하드 디스크 드라이브에는 상기 버퍼 카운터의 값에 따라 버퍼 메모리내에 호스트로부터 데이타를 받을 공간이 남아 있는지 또는 디스크에 기록할 데이타가 남아 있는지를 검출하는 로직이 구비되어 있으며, 상기 로직의 상태에 따라 호스트전송과 데이타전송의 단속이 이루어진다. 통상적으로 이와 같은 로직을 버퍼 룸 로직이라고 칭하며, 상기 버퍼 룸 로직은 호스트 룸 로직과 디스크 룸 로직으로 구성된다.
도 1은 하드 디스크 드라이브를 구성하는 하드 디스크 컨트롤러(Hard Disk Controller)의 일반적인 버퍼 룸 로직(10) 구성도를 도시한 것이다. 도 1에서, 버퍼 카운터(14)는 호스트 인터페이스부(12)와 디스크 인터페이스부(16)간의 데이타전송시에 사용 가능한 버퍼 메모리의 공간 크기를 나타내는 레지스터이다. 상기 사용 가능한 버퍼 메모리의 공간 크기라함은 버퍼 메모리내에 남아 있는 섹터단위 공간의 크기를 말한다. 하기 설명에서는 상기 버퍼 카운터(14)의 값을 BCTR로 표기하기로 한다. 한편 상기 버퍼 카운터(14)의 BCTR은 호스트 인터페이스부(12)로부터 입력되는 데이타 전송완료펄스에 의해 1씩 감소(DECrement)하는 반면 디스크 인터페이스부(16)로부터 입력되는 데이타 기록완료펄스에 의해 1씩 증가(INCrement)한다. 그리고 호스트 인터페이스부(12)와 디스크 인터페이스부(16)는 비교부(18)로부터 데이타 전송정지펄스인 HTSP(Host Transfer Stop Pulse)와 DTSP(Disk Transfer Stop Pulse)가 각각 입력되는 경우 데이타전송을 정지한다. 최대 버퍼 카운터(Maximum Buffer Counter)(20)는 버퍼 메모리 세그먼트(Segment)(이하 버퍼 세그먼트라함)의 전체 크기를 나타내는 레지스터로서 하기 설명에서는 상기 최대 버퍼 카운터(20)의 값을 BMAX로 표기하기로 한다. 그리고 비교부(18)는 상기 버퍼 카운터(14)의 BCTR과 최대 버퍼 카운터(20)의 BMAX를 비교한다. 비교결과 호스트 노 룸(Host No Room)임이 판명되면 상기 비교부(18)는 HTSP를 호스트 인터페이스부(12)로 출력하고 디스크 노 룸(Disk No Room)임이 판명되면 DTSP를 디스크 인터페이스부(16)로 출력한다. 도 1에 도시된 비교부(18)는 호스트 룸 로직을 구성하는 제1비교부와 디스크 룸 로직을 구성하는 제2비교부를 포함하는 것으로서, 상기 제1비교부는 BCTR과 BMAX의 비교결과에 따라 HTSP를 출력하며 상기 제2비교부는 BCTR과 BMAX의 비교결과에 따라 DTSP를 출력한다.
이하 상술한 구성을 갖는 버퍼 룸 로직의 동작을 설명하면, 우선 데이타 기록시 버퍼 세그먼트 전체가 호스트 전송에 이용가능하므로 상기 BCTR의 초기값은 최대 버퍼 카운터(20)의 BMAX와 같게 설정된다. 그리고 호스트 인터페이스부(12)로부터 매 데이타섹터 전송시마다 상기 BCTR의 값은 1씩 감소되고, 디스크 인터페이스부(16)로 데이타가 전송된 경우에는 매 섹터마다 BCTR이 1씩 증가된다. 한편 데이타 리드시에는 초기에 호스트 인터페이스부(12)로 전송할 데이타가 없으므로 BCTR의 초기값은 0가 된다. BCTR이 0인 경우에는 데이타 리드 또는 데이타 라이트의 경우 모두 호스트 인터페이스부(12)와 데이타를 주고 받을 수 없는 경우이고, 이러한 상태를 호스트 노 룸(Host No Room)이라고 부른다. 반대로 BCTR이 최대 버퍼 카운터(20)의 값 BMAX와 같을 경우에는 디스크 인터페이스부(16)와 데이타를 주고 받을 수 없는 경우이므로 디스크 노 룸(Disk No Room)이라고 칭한다. 이때는 디스크 시퀀서(Disk Sequencer)를 정지시키는 방법으로 디스크로의 데이타 전송을 중단시킨다. 상술한 버퍼 룸 로직(10)은 필요에 따라서 인에이블(Enable) 또는 디스에이블(Disable)될 수 있다. 만약 호스트 인터페이스부(12)에서 버퍼 룸 로직(10)을 디스에이블하면 BCTR의 조건에 관계없이 호스트와의 데이타 전송이 수행된다. 이러한 경우 BCTR은 변경되지 않는다. 반대로 디스크 인터페이스부(16)에서 버퍼 룸 로직(10)을 디스에이블하면 BCTR의 조건에 관계없이 디스크와의 데이타 전송이 수행된다. 이러하 경우에도 BCTR은 변경되지 않는다. 이러한 버퍼 룸 로직(10)은 호스트 인터페이스부(12)와 디스크 인터페이스부(16)에 의해 각각 인에이블 또는 디스에이블 될 수 있다. 만약 호스트로부터 데이타 기록명령이 수신되면 호스트 인터페이스부(12)와 디스크 인터페이스부(16)는 모두 버퍼 룸 로직(10)을 인에이블시킨다. 그리고 목표 실린더, 헤드, 섹터를 찾아 호스트 인터페이스부(12)와 디스크 인터페이스부(16)를 통해 전송된 데이타를 즉시 기록한다. 따라서 버퍼 카운터(14)의 BCTR은 매우 다이내믹하게 변경되며 호스트로부터 전송된 모든 데이타가 디스크에 기록되면 BCTR은 원래의 초기값인 BMAX와 같은 값을 가지게 된다.
만약 데이타 기록시에 디스크 인터페이스부(16)가 기록동작만을 수행한다면 버퍼 룸 로직(10)을 항상 인에이블시키는 것이 편리하다. 그러나 데이타 기록 검증기능(기록된 데이타를 재리드하여 패일여부를 판단하는 기능)을 구현하고자 한다면 버퍼 룸 로직(10)을 항상 인에이블시킬 수는 없다. 왜냐하면 많은 양의 데이타를 호스트로부터 전송받아 디스크면에 기록하기 위해서는 버퍼 메모리내의 데이타가 순환될 수 밖에 없으며, 이때 기록된 데이타는 호스트로부터 계속 전송되는 데이타에 의해 오버라이트(Overwrite)될 수 있기 때문이다. 따라서 데이타 기록 검증결과 패일된 데이타는 다시 라이트되어야 하기 때문에 버퍼 메모리에 남아 있어야 한다. 이를 해결하기 위해 종래에는 버퍼 메모리의 크기(Size) 보다 작은 값을 BMAX로 설정한후 버퍼 메모리 크기에서 상기 BMAX를 감산한 크기(즉 버퍼 메모리의 여유 크기)만큼의 데이타를 기록하고 다시 리드해 보아 정상적으로 기록된 경우에만 다음 데이타를 기록하였고, 기록이 패일되었다면 버퍼 메모리에 보존된 데이타를 다시 기록하는 방법을 사용하였다. 그러나 상술한 종래의 방법은 버퍼 메모리 크기 보다 작은 값을 BMAX에 설정하므로 버퍼 메모리의 크기가 작아지는 결과를 가져온다. 또한 디스크 시퀀서(Disk Sequencer)를 동작시켜 버퍼 메모리내의 데이타를 기록하는 경우에도 버퍼 메모리 크기와 BMAX의 차(즉, 여유 크기만큼)만큼만 디스크면에 기록할 수 있기 때문에 성능의 현격한 저하가 나타난다.
데이타 기록 검증기능의 특징은 기록된 데이타를 리드하여 패일되지 않은 경우에만 다음 데이타를 기록할 수 있다는 것이므로, 데이타 기록시 보다는 리드시에 BCTR이 변경되도록 하면 상술한 문제를 해결할 수 있다. 다만 데이타 기록시 BCTR의 변경을 막기 위해서는 디스크 인터페이스부(16)의 버퍼 룸 로직을 디스에이블시켜야 한다. 그리고 호스트로부터 데이타가 아직 전송되지 않은 상태에서 버퍼 메모리에 남아 있는 데이타가 그대로 기록될 수도 있으므로 버퍼 룸 로직을 인에이블 또는 디스에이블시켜 데이타 전송을 단속하는 기능과 데이타 전송시 BCTR을 변경시키는 기능이 서로 독립되어야 할 필요가 있다.
따라서 본 발명의 목적은 데이타 기록 검증시 호스트로부터 계속적으로 전송되는 데이타에 의해 기록 패일된 데이타가 버퍼 메모리내에서 손실되는 것을 방지할 수 있는 버퍼 룸 로직과 그 제어방법을 제공함에 있다.
본 발명의 또 다른 목적은 버퍼 메모리의 허용범위내에서 데이타 기록 검증기능을 갖는 데이타 저장장치로의 고속 데이타 전송을 수행할 수 있는 버퍼 룸 로직 및 그 제어방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명은 데이타 기록 검증기능을 갖으며 소정의 기록매체에 데이타를 저장하는 데이타 저장장치와 호스트 사이에 전송되는 데이타를 버퍼링하는 버퍼 룸 로직에 있어서, 호스트 인터페이스부로부터의 데이타섹터 전송시와 데이타 기록완료시에 발생되는 펄스를 카운팅하는 제1,제2버퍼 카운터와, 버퍼 메모리의 최대 크기를 지시하는 최대 버퍼 카운터의 값을 상기 제1버퍼 카운터의 값과 비교하여 호스트 노 룸이 판명되면 호스트로부터의 데이타 전송을 정지시키기 위한 펄스를 상기 호스트 인터페이스부로 출력하는 제1비교부와, 상기 제2버퍼 카운터와 최대 버퍼 카운터의 값을 비교하여 기록매체 노 룸이 판명되면 기록매체로부터 리드된 데이타의 전송을 정지시키기 위한 펄스를 발생하여 출력하는 제2비교부와, 상기 제1,제2버퍼 카운터 각각과 기록매체 인터페이스부 사이에 접속되어 소정의 제어신호에 의해 스위칭 온-오프 동작되는 스위칭부들과, 데이타 기록완료시마다 발생되는 펄스가 상기 제1버퍼 카운터로 입력되도록 상기 스위칭부들을 각각 스위칭 온-오프 제어하는 제어신호를 출력하는 제어부로 구성함을 특징으로 한다.
그리고 데이타 전송완료펄스와 데이타 기록완료펄스에 의해 카운팅값이 변화되는 제1,제2버퍼 카운터들과, 호스트와 디스크로부터의 데이타 전송을 정지시키기 위한 펄스를 각각 출력하는 제1,제2비교부들과, 상기 버퍼 카운터들 각각과 디스크 인터페이스부 사이에 접속된 스위칭수단들을 포함하는 버퍼 룸 로직 제어방법에 있어서, 데이타 기록명령시 데이타 기록완료펄스가 상기 제2버퍼 카운터만으로 입력되도록 그와 접속된 스위칭수단을 스위칭 온시키는 과정과, 매 데이타섹터 기록시마다 기록된 데이타를 리드하여 패일여부를 검사하는 과정과, 검사결과 기록데이타가 패일되지 않은 경우 상기 제1버퍼 카운터에 접속된 스위칭수단만을 스위칭 온시킴으로서 호스트로부터의 데이타 전송을 제어하는 과정으로 이루어짐을 특징으로 한다.
도 1은 하드 디스크 드라이브를 구성하는 하드 디스크 컨트롤러의 버퍼 룸 로직(Buffer Room Logic)(10) 구성도.
도 2는 본 발명의 일실시예에 따른 버퍼 룸 로직(10) 구성도.
도 3은 본 발명의 일실시예에 따른 데이타 기록 검증과정 흐름도.
이하 첨부한 도면을 참조하여 본 발명의 일 실시예에 따른 동작을 상세히 설명하기로 한다.
도 2는 본 발명의 일실시예에 따른 버퍼 룸 로직(10) 구성도를 도시한 것이며, 도 3은 본 발명의 일실시예에 따른 데이타 기록 검증시의 버퍼 룸 로직 제어과정 흐름도를 각각 도시한 것이다. 우선 본 발명의 일실시예에 따른 버퍼 룸 로직(10)은 도 2에 도시된 바와 같이 두개의 버퍼 카운터(14,24)와, 두개의 비교부(18,22), 그리고 두개의 스위치(SW1,SW2)와 한개의 최대 버퍼 카운터(20)로 구성된다. 상기 버퍼 카운터들(14,24)의 BCTR1,BCTR2는 호스트 인터페이스부(12)로부터 입력되는 데이타 전송완료펄스에 의해 1씩 감소(DECrement)하는 반면 디스크 인터페이스부(16)로부터 입력되는 데이타 기록완료펄스에 의해 1씩 증가(INCrement)한다. 그리고 호스트 인터페이스부(12)와 디스크 인터페이스부(16)는 비교부들(18,22)로부터 데이타 전송정지펄스인 HTSP1,2(Host Transfer Stop Pulse)와 DTSP1,2(Disk Transfer Stop Pulse)가 각각 입력되는 경우 데이타전송을 정지한다. 그리고 상기 비교부들(18,22) 각각은 도 1에서 언급한 바와 같이 호스트 룸 로직과 디스크 룸 로직을 구성하는 두개의 비교부들로 구성된다. 최대 버퍼 카운터(20)는 버퍼 메모리 세그먼트 레지스터로서, BMAX의 값은 버퍼 메모리 크기에 따라 설정되어진다. 그리고 비교부(18,22) 각각은 상기 버퍼 카운터(14,24)의 BCTR과 최대 버퍼 카운터(20)의 BMAX를 비교하고 그 비교결과에 따라 DTSP1,HTSP1 혹은 DTSP2, HTSP2를 인터페이스부(12,16)로 출력한다. 버퍼 카운터(14,24) 각각과 디스크 인터페이스부(16) 사이에 접속되는 스위치들은(SW1,SW2) 본 발명의 일실시예에 따른 제어프로그램이 저장된 메모리를 구비하는 마이크로 컨트롤러(30)의 제어신호(Control Signal:CS라함)에 의해 스위칭 온-오프 동작한다.
이하 도 3을 참조하여 데이타 기록 검증시의 버퍼 룸 로직(10) 제어과정을 설명하면 다음과 같다.
우선 호스트로부터 데이타 기록명령이 수신되면 마이크로 컨트롤러(30)는 40단계에서 버퍼 카운터(14,24)의 BCTR을 최대 버퍼 카운터(20)의 값(BMAX)과 동일하게 설정한후 42단계로 진행한다. 이때 상기 BMAX는 버퍼 메모리 사이즈 값이 된다. 이후 마이크로 콘트롤러(30)는 42단계에서 스위치 SW2만을 스위칭 온시킨후 44단계로 진행한다. 상기 스위치 SW2가 스위칭 온되면 데이타 전송완료펄스에 의해 BCTR1과 BCTR2의 값은 1씩 감소하게 되며, 디스크 인터페이스부(16)로의 데이타 전송시 데이타 기록완료펄스에 의해 BCTR2만이 증가하게 된다. 따라서 BCTR1의 값이 데이타 기록완료펄스에 의해 증가하지 않는 한 호스트로부터의 계속적인 데이타 전송은 이루어지지 않는다. 그 이유는 호스트 노 룸 판명시 비교부 18로부터 HTSP1이 호스트 인터페이스부(12)로 출력되기 때문이다. 따라서 데이타 기록 검증결과 기록 패일된 데이타는 새로이 전송된 데이타에 의해 오버라이트되지 않는다. 한편 비교부 22는 BCTR2와 BMAX를 비교하여 디스크 노 룸이 판명되면 DTSP2만을 디스크 인터페이스부(16)로 출력한다. 즉, 호스트 인터페이스부(12)는 상기 HTSP1에 따라 데이타의 호스트전송을 단속하게 되며, 디스크 인터페이스부(16)는 DTSP2에 따라 디스크 시퀀서를 단속하게 된다. 이후 마이크로 컨트롤러(30)는 44단계에서 헤드를 목표트랙 및 섹터로 이동시키기 위한 트랙탐색 및 추종을 완료한후 디스크 시퀀서를 실행(Run)하여 데이타를 기록한다. 데이타 기록시 마이크로 컨트롤러(30)는 46단계에서 한 섹터 이상 기록했는가를 검사한다. 검사결과 한 섹터 이상 데이타가 기록되지 않았다면 48단계로 진행하여 재시도 가능한가를 판단하여 재시도 불가능인 경우 데이타 기록 에러를 호스트로 보고한다. 만약 데이타 기록의 재시도가 가능하면 44단계로 되돌아가 상술한 44,46단계를 반복 수행한다. 그리고 46단계의 검사결과 한 섹터 이상의 데이타가 기록되었다면 마이크로 컨트롤러(30)는 50단계로 진행하여 데이타 기록완료펄스에 의해 BCTR1만이 증가될 수 있도록 스위치 SW1만을 스위칭 온시킨후 기록된 데이타를 리드한다. 즉, 마이크로 컨트롤러(30)는 디스크 룸 로직을 디스에이블시켜 DTSP1,DTSP2에 관계없이 디스크 시퀀서가 실행되도록 하여 데이타를 리드하는 것이다. 그리고 데이타섹터 기록완료시마다 발생되는 데이타 기록완료펄스는 상기 스위치 SW1을 통해 BCTR1의 값을 증가시킴에 따라 BCTR1과 BCTR2의 값은 동일하게 된다. 이후 마이크로 컨트롤러(30)는 52단계에서 기록된 데이타가 모두 정상적으로 리드되었는가를 검사하여 모두 리드되었다면 54단계로 진행하여 버퍼 메모리내 라이트 데이타가 존재하는가를 검사한다. 버퍼 메모리내 기록데이타가 존재한다면 마이크로 컨트롤러(30)는 42단계로 진행하여 상술한 일련의 단계들을 순차적으로 수행하여 호스트로부터 전송받은 모든 데이타를 디스크면에 기록하고 재차 리드하여 데이타 기록 검증을 수행한다.
상술한 데이타 기록 검증시의 버퍼 룸 로직(10) 제어과정을 정리해 보면, 호스트로부터 매 데이타섹터 전송시 발생되는 데이타 전송완료펄스에 의해 버퍼 카운터(14,22)들의 값이 감소되고 디스크로의 데이타 기록완료후 BCTR2만의 값이 증가된다. 그리고 데이타 기록 검증후 데이타섹터 기록시 발생되는 데이타 기록완료펄스에 의해 BCTR1만의 값이 증가됨으로서 데이타 기록 검증결과 패일된 기록데이타가 호스트로부터 계속적으로 전송되는 데이타에 의해 오버라이트되는 것을 막을 수 있게 된다.
한편 본 발명의 일실시예에서는 데이타 저장장치로서 하드 디스크 드라이브를 예시하였으나, 별다른 변형없이 CD-R 드라이브, CD-R/W 드라이브와 같이 호스트와 데이타를 주고 받는 데이타 저장장치의 버퍼 룸 로직에 적용할 수도 있다. 따라서 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 특허청구의 범위나 특허청구범위의 균등한 것에 의해 정하여져야 한다.
상술한 바와 같이 본 발명은 데이타 저장장치와 호스트 사이에 전송되는 데이타를 버퍼링하는 버퍼 룸 로직에 있어서, 데이타 기록 검증시 호스트로부터 계속적으로 전송되는 데이타에 의해 기록 패일된 데이타가 손실되는 것을 방지할 수 있는 잇점이 있다. 또한 버퍼 메모리가 허용하는 범위안에서 데이타 기록을 신속히 수행할 수 있기 때문에 드라이브의 성능을 향상시킬 수 있는 잇점이 있다.

Claims (2)

  1. 데이타 기록 검증기능을 갖으며 소정의 기록매체에 데이타를 저장하는 데이타 저장장치와 호스트 사이에 전송되는 데이타를 버퍼링하는 버퍼 룸 로직에 있어서, 호스트 인터페이스부로부터의 데이타섹터 전송시와 데이타 기록완료시에 발생되는 펄스를 카운팅하는 제1,제2버퍼 카운터와, 버퍼 메모리의 최대 크기를 지시하는 최대 버퍼 카운터의 값을 상기 제1버퍼 카운터의 값과 비교하여 호스트 노 룸이 판명되면 호스트로부터의 데이타 전송을 정지시키기 위한 펄스를 상기 호스트 인터페이스부로 출력하는 제1비교부와, 상기 제2버퍼 카운터와 최대 버퍼 카운터의 값을 비교하여 기록매체 노 룸이 판명되면 기록매체로부터 리드된 데이타의 전송을 정지시키기 위한 펄스를 발생하여 출력하는 제2비교부와, 상기 제1,제2버퍼 카운터 각각과 기록매체 인터페이스부 사이에 접속되어 소정의 제어신호에 의해 스위칭 온-오프 동작되는 스위칭부들과, 데이타 기록완료시마다 발생되는 펄스가 상기 제1버퍼 카운터로 입력되도록 상기 스위칭부들을 각각 스위칭 온-오프 제어하는 제어신호를 출력하는 제어부로 구성함을 특징으로 하는 버퍼 룸 로직.
  2. 데이타 전송완료펄스와 데이타 기록완료펄스에 의해 카운팅값이 변화되는 제1,제2버퍼 카운터들과, 호스트와 디스크로부터의 데이타 전송을 정지시키기 위한 펄스를 각각 출력하는 제1,제2비교부들과, 상기 버퍼 카운터들 각각과 디스크 인터페이스부 사이에 접속된 스위칭수단들을 포함하는 버퍼 룸 로직 제어방법에 있어서, 데이타 기록명령시 데이타 기록완료펄스가 상기 제2버퍼 카운터만으로 입력되도록 그와 접속된 스위칭수단을 스위칭 온시키는 과정과, 매 데이타섹터 기록시마다 기록된 데이타를 리드하여 패일여부를 검사하는 과정과, 검사결과 기록데이타가 패일되지 않은 경우 상기 제1버퍼 카운터에 접속된 스위칭수단만을 스위칭 온시킴으로서 호스트로부터의 데이타 전송을 제어하는 과정으로 이루어짐을 특징으로 하는 버퍼 룸 로직 제어방법.
KR1019970027550A 1997-06-26 1997-06-26 데이타 저장장치의 버퍼 룸 로직과 그 제어방법 KR100251950B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019970027550A KR100251950B1 (ko) 1997-06-26 1997-06-26 데이타 저장장치의 버퍼 룸 로직과 그 제어방법
US09/105,180 US6134610A (en) 1997-06-26 1998-06-26 Buffer room logic in data storage device and method for controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970027550A KR100251950B1 (ko) 1997-06-26 1997-06-26 데이타 저장장치의 버퍼 룸 로직과 그 제어방법

Publications (2)

Publication Number Publication Date
KR19990003647A true KR19990003647A (ko) 1999-01-15
KR100251950B1 KR100251950B1 (ko) 2000-04-15

Family

ID=19511331

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970027550A KR100251950B1 (ko) 1997-06-26 1997-06-26 데이타 저장장치의 버퍼 룸 로직과 그 제어방법

Country Status (2)

Country Link
US (1) US6134610A (ko)
KR (1) KR100251950B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6621652B2 (en) * 2000-07-26 2003-09-16 Seagate Technology Llc Drive with streaming-optimized write validation
DE60022186T2 (de) * 2000-08-17 2006-06-08 Texas Instruments Inc., Dallas Unterhaltung einer entfernten Warteschlange unter Benutzung von zwei Zählern in der Verschiebesteuerung mit Hubs und Ports
US20040267489A1 (en) * 2003-06-24 2004-12-30 Frederic Reblewski Data compaction and pin assignment
US7421535B2 (en) * 2004-05-10 2008-09-02 International Business Machines Corporation Method for demoting tracks from cache
US8122193B2 (en) * 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
KR100578143B1 (ko) 2004-12-21 2006-05-10 삼성전자주식회사 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템
US8922931B1 (en) 2013-05-13 2014-12-30 Western Digital Technologies, Inc. Disk drive releasing variable amount of buffered write data based on sliding window of predicted servo quality
KR20150015621A (ko) * 2013-07-31 2015-02-11 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0206743A3 (en) * 1985-06-20 1990-04-25 Texas Instruments Incorporated Zero fall-through time asynchronous fifo buffer with nonambiguous empty/full resolution
US5084841A (en) * 1989-08-14 1992-01-28 Texas Instruments Incorporated Programmable status flag generator FIFO using gray code
US5664094A (en) * 1990-04-03 1997-09-02 Canon Kk Method and apparatus for read-write-verification of data stored on an optical disc and stored in a buffer of an optical disk drive
US5249271A (en) * 1990-06-04 1993-09-28 Emulex Corporation Buffer memory data flow controller
US5289478A (en) * 1991-03-11 1994-02-22 Fujitsu Limited Method and means for verification of write data
US5450546A (en) * 1992-01-31 1995-09-12 Adaptec, Inc. Intelligent hardware for automatically controlling buffer memory storage space in a disk drive
US5471351A (en) * 1993-07-09 1995-11-28 Fujitsu Limited Method and apparatus of verifying accurate writing through comparisons of written and read data
US5455954A (en) * 1993-12-22 1995-10-03 Adaptec, Inc. Host interrupt signal generation circuit for controlling an auto read operation in a disk drive controller
US5909334A (en) * 1996-05-10 1999-06-01 Western Digital Corporation Verifying write operations in a magnetic disk drive
US5941998A (en) * 1997-07-25 1999-08-24 Samsung Electronics Co., Ltd. Disk drive incorporating read-verify after write method

Also Published As

Publication number Publication date
US6134610A (en) 2000-10-17
KR100251950B1 (ko) 2000-04-15

Similar Documents

Publication Publication Date Title
KR100345632B1 (ko) 기억 장치 및 그 제어 방법
US7325112B2 (en) High-speed snapshot method
JP2855019B2 (ja) 外部記憶装置のデータ保証方法及び外部記憶装置
US4914529A (en) Data disk defect handling using relocation ID fields
US20020138694A1 (en) Magnetic disc drive, method for recording data, and method for reproducing data
KR100251950B1 (ko) 데이타 저장장치의 버퍼 룸 로직과 그 제어방법
US8023217B1 (en) Method and system for read gate timing control for storage controllers
KR950004214B1 (ko) 비동기 직접 액세스 기억장치 제어방법 및 그 시스템
KR970005742B1 (ko) 데이타 전송 제어용 인터페이스 회로
US5469546A (en) Method for retrying recording information into a next logical block by sending sense data including address information to host computer and responding to command therefrom
US5889939A (en) Disk drive with a PFA function and monitor value saving control method in the same
US6710963B2 (en) Disk controller for detecting hang-up of disk storage system
US5267097A (en) Information transfer control system having rotary storage unit which uses a pseudo address mark
EP0539966B1 (en) A magneto-optical disc control system and method
JP3794322B2 (ja) データコピーシステム
KR100403043B1 (ko) 하드디스크드라이브의데이터라이트개선장치
KR100305309B1 (ko) 데이터 판독방법 및 데이터 기억장치
JPH0562360A (ja) 回転型記憶装置の欠陥セクタ処理方式
JPH04360074A (ja) 光ディスク装置の制御方法
JP2854438B2 (ja) 光ディスク装置のアクセス制御方式
JPH04254969A (ja) 追記型記録方式の記録データ保護手段
JPH0341668A (ja) 磁気ディスク装置のインデックス信号制御回路
KR100189927B1 (ko) 하드 디스크 드라이브 제어장치 및 그 방법
KR100365345B1 (ko) 하드 디스크 드라이브의 인터페이스회로
JPH0384767A (ja) ディスク制御装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20061221

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee