KR19990080816A - 듀얼 헤드유니트를 가지는 하드 디스크 드라이브의 운용방법 - Google Patents

듀얼 헤드유니트를 가지는 하드 디스크 드라이브의 운용방법 Download PDF

Info

Publication number
KR19990080816A
KR19990080816A KR1019980014340A KR19980014340A KR19990080816A KR 19990080816 A KR19990080816 A KR 19990080816A KR 1019980014340 A KR1019980014340 A KR 1019980014340A KR 19980014340 A KR19980014340 A KR 19980014340A KR 19990080816 A KR19990080816 A KR 19990080816A
Authority
KR
South Korea
Prior art keywords
cluster
file
head unit
access
disk
Prior art date
Application number
KR1019980014340A
Other languages
English (en)
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 KR1019980014340A priority Critical patent/KR19990080816A/ko
Publication of KR19990080816A publication Critical patent/KR19990080816A/ko

Links

Landscapes

  • Moving Of Head For Track Selection And Changing (AREA)

Abstract

본 발명은 디스크형 저장장치의 액세스 속도를 향상시키기 위해서 멀티헤드 유니트 구조를 가져가며, 전략액세스모드, 연속액세스모드, 일반액세스모드 등으로 하나의 타스크에서 빠르게 액세스할 수 있도록 하는 싱글타스크 액세스동작을 수행하며, 여러개의 타스크에서 동시에 액세스할 수 있도록 하는 멀티타스크 액세스동작을 수행한다.

Description

듀얼 헤드유니트를 가지는 하드 디스크 드라이브의 운용방법
본 발명은 디스크형 저장장치에 관한 것으로, 특히 데이터액세스 속도 개선 및 다중처리(multi-tasking)에 보다 적합한 구조를 가지는 듀얼 헤드유니트 하드 디스크 드라이브의 운용방법에 관한 것이다.
일반적으로, 하드 디스크 드라이브는 컴퓨터의 보조기억장치로서 정보의 저장을 위해 사용되는 자기 기록 장치를 말한다. 정보는 하나 이상의 자기기록 디스크의 어느 한 표면 상에 형성된 동심 트랙상에 기록된다. 이들 디스크는 스핀들 모터에 회전가능하게 장착되고, 보이스코일모터(voice coil moter)에 의해 회전되는 액츄에이터 암에 장착된 독출/기록헤드에 의해 정보가 액세스된다. 상기 보이스 코일모터는 전류에 의해 여기되어 액츄에이터를 선회시켜 헤드를 이동시킨다. 상기 독출/기록 헤드는 정보의 적절한 독출 및 기록동작을 보장하기 위해 디스크 상의 저장 트랙과 정확히 정렬된다. 디스크상에 데이터를 정확히 기록 및 독출하기 위해서는 헤드를 트랙의 중심에 유지하는 것이 바람직하다. 헤드 위치의 제어를 돕기 위해, 디스크의 각 섹터는 일반적으로 트랙의 중심선에 대해 정확히 위치하는 다수의 서보비트를 포함한다. 상기 서보비트에 의해 발생되는 신호들은 통상적으로 트랙에 대해 헤드의 위치를 결정하고, 헤드가 트랙 중심선 상에 위치하지 않는 경우 액츄에이터 암을 이동시키는데 이용되는 위치 오프셋 신호로 복조된다.
현재의 자기디스크들은 용량 및 데이터 액세스시간을 개선하기 위해 한장의 디스크의 양면에 데이터를 기록할 수 있도록 되어 있고, 이러한 디스크들을 여러장 겹친 구조를 가지고 있다. 각 디스크의 한쪽면에는 데이터 기록 및 독출하기 위한 기록독출헤드가 하나씩 구비되어 있다. 각 디스크는 수천 RPM(Revolution Per Minute)으로 정속회전하는데, 하드디스크드라이브의 서보부에서는 상기 복조된 위치 오프셋신호 등을 이용해 헤드를 데이터 기록 및 독출할 디스크의 소정 위치로 이동시킨다.
각 디스크는 물리적으로는 도 1에 도시된 바와 같이, 트랙 및 섹터로 관리된다. 즉, 각 디스크는 여러개의 트랙(실린더)들로 구성되며, 각 트랙은 특정 데이터 크기의 섹터(sector)로 구분되어 관리된다. 이는 데이터의 관리를 용이하게 하기 위한 하드디스크의 물리적인 데이터 구조이다.
또한 각 디스크는 도 1의 도시예와 같은 물리적 데이터 구조뿐만 아니라 도 2에 도시된 바와 같은 논리적인 구조로도 관리된다. 시스템운용 소프트웨어(Operating System: OS)는 데이터의 효율적인 관리를 위하여 단위블록 크기로 관리한다. 이러한 가상의 단위블록은 클러스터(cluster)라고 하는데, 자신의 시스템에 적당한 크기로 구성되며 각 클러스터는 통상 여러개의 섹터로 구성된다. 각 클러스터는 추가 데이터가 다른 클러스터가 있는 경우에는 자신과 연결된 다음 클러스터의 위치를 알리는 정보를 해당 클러스터의 맨 마지막에 가지고 있다. 자신이 파일의 마지막 클러스터인 경우에는 마지막 데이터의 다음의 EOF(End Of File)코드를 넣어 파일의 마지막임을 알린다. 그러나 이진파일(binary file)의 경우에는 미리 알고 있는 파일크기에 의거하여 지정된 양의 데이터를 읽고 액세스를 종료한다.
도 3a에서는 파일제어방식에서 파일의 체인구조를 보여주고 있다. 데이터의 상위 관리단위인 파일(file)은 한개 이상의 클러스터로 구성되며 디스크에 기록되어 있는 파일의 ID(파일 이름) 및 각 파일의 첫 클러스터의 위치는 도 3a에 도시된 바와 같이, "FAT"라고 불리우는 지정된 위치에 기록되어 있다. 상기 도 3a의 일예와 같이, 하나의 파일 'XX'가 한개 이상의 클러스터로 구성되어 있는 경우 각 클러스터의 마지막에는 자신의 다음 데이터가 들어있는 클러스터의 위치를 알리는 포인터가 들어가 있다. 도 3b에서는 도 3a에 도시한 파일 'XX'의 중간 클러스터들 즉, 클러스터 16과 6의 데이터 구조를 보여주고 있는데, 각 클러스터의 마지막에는 자신의 다음데이터가 들어있는 클러스터의 위치를 알리는 포인터가 있음을 알 수 있다. 따라서 하드 디스크 드라이브는 각 클러스터를 읽어가면서 파일체인(file chain)을 찾아간다. 파일의 마지막 클러스터에서 데이터의 마지막 바로 뒤에는 파일의 끝을 알리는 EOF(End Of File) ID가 기록되어 있는데, 이는 데이터의 마지막을 알려준다. 도 3c에서는 도 3a에 도시한 파일 'XX'의 마지막 클러스터의 데이터 구조를 보여주고 있다.
이러한 구조의 하드 디스크 드라이브는 하기와 같은 문제점이 있다. 하드 디스크 드라이브는 저렴하고 용량이 크며 데이터 액세스 속도도 우수하여 컴퓨터의 보조기억장치로 널리 이용되고 있다. 그러나 시스템의 동작속도가 급속히 빨라지고 프로그램 크기가 커지며 멀티타스킹(multi-tasking)화에 따른 시스템의 요구 속도를 만족시키지 못하고 있다. 이러한 문제를 해결하기 위하여 시스템 메모리의 증설, 하드 디스크 캐쉬메모리(cash memory)의 사용 등으로 많은 속도 개선이 이루어 졌으나 아직도 하드디스크의 기계적인 제약이 따른 액세스 시간은 시스템의 성능제약의 큰 부분을 차지하고 있다. 현재의 기술은 디스크의 저장밀도를 높이는 데는 상당한 진전을 보이고 있으나, 하드 디스크 드라이브의 구조적 취약점에 의한 데이터 입출력속도의 개선에는 현계를 보이고 있다. 기존 하드 디스크 드라이브의 구조에 의한 데이터 액세스 파라미터는 다음과 같은 것이 있다. (1) 디스크 대기시간(latency time: 헤드의 읽기/쓰기 속도 및 디스크 스핀들 메카니즘에 의한 회전시간), (2) 트랙 서치 시간(헤드가 트랙을 이동하는 시간), (3) 헤드 스위칭시간(헤드와 헤드간 스위칭 천이 시간).
따라서 하드 디스크 드라이브의 속도개선을 위해서는 상기 파라미터를 최소화할 수 있는 방안이 강구되어야 한다.
또한 기존 구조에서는 한번에 하나의 파일에 대한 디스크 액세스만이 가능하므로 멀티타스킹(muti-tasking)시 두개 이상의 프로그램이 하드 디스크 드라이브를 액세스하고자 할 때는 현재 디스크를 액세스중인 타스크외의 나머지 타스크들은 현 타스크의 디스크 액세스가 종료될 때까지 대기하여야 한다. 그러므로 서버 어플리케이션(server application) 등의 하드 디스크 액세스가 빈번한 어플리케이션의 경우 하드 디스크를 확장하거나, 하드 디스크 드라이브의 수를 늘려 고객의 데이터/프로그램 액세스가 용이하도록 할 수 있으나, 이 경우 데이터 일관성 관리가 필요한다. 따라서 한개의 디스크내의 데이터를 동시에 호출할 수 있는 기능이 필요하다.
따라서 본 발명의 목적은 디스크의 액세스속도를 높이기 위한 하드 디스크 드라이브의 운용방법을 제공하는데 있다.
본 발명의 다른 목적은 멀티 헤드 유니트를 가지는 하드 디스크 드라이브의 운용방법을 제공하는데 있다.
본 발명의 또 다른 목적은 한개의 디스크내의 데이터를 동시에 호출할 수 있는 하드 디스크 드라이브의 운용방법을 제공하는데 있다.
상기한 목적에 따라, 본 발명은, 하나의 디스크에 대해 듀얼 헤드유니트를 가지는 하드 디스크 드라이브의 운용방법에 있어서: 파일을 저장하는데 필요한 클러스터의 수를 계산하는 단계와, 빈 클러스터를 서치하고 첫번째 빈 클러스터의 시작부분에 계산된 수의 클러스터포인터 공간을 확보하는 단계와, 미 사용중인 클러스터 정보가 있는 "FAT"영역으로부터 미 사용된 클러스터들을 파일 저장에 필요한 만큼 확보하고, 확보된 클러스터들의 포인터들을 이용하여 상기 듀얼 헤드유니트를 이용한 최적의 쓰기 순서를 정한 후 이를 파일의 첫부분에 기록하는 단계와, 상기 클러스터의 포인터를 기준으로 상기 듀얼 헤드유니트를 가장 효율적으로 사용할 수 있는 헤드유니트 사용순서를 지정하여 상기 순서에 의거한 파일 쓰기를 수행하는 단계로 이루어지는 파일쓰기과정과; 해당 파일의 첫부분에 기록되어 있는 클러스터의 포인터들을 읽어 클러스터의 위치를 알아내는 단계와, 상기 파일 쓰기 시 사용된 시퀀스를 사용하거나 디스크의 기구적, 전기적 특성을 감안한 듀얼헤 드유니트를 이용한 최적의 디스크 액세스 순서를 산출하는 단계와, 상기 산출한 디스크 액세스 순서에 의거하여 디스크 읽기를 수행하는 단계로 이루어진 파일읽기과정;으로 이루어짐을 특징으로 한다.
또한 본 발명은, 하나의 디스크에 대해 듀얼 헤드유니트를 가지는 하드 디스크 드라이브의 운용방법에 있어서: 다음 쓰기를 하려는 클러스터에 근접한 헤드유니트로부터 쓰기를 시작하고, 각 헤드유니트를 이용해 자신이 쓰려고 하는 다음 클러스터의 위치정보 및 헤드유니트 선택정보)를 현 클러스터의 첫부분에 기록하는 단계와, 마지막 클러스터에 데이터 쓰기를 한 헤드유니트는 클러스터의 첫부분에 EOC(End Of Cluster)코드를 수록하고 데이터 쓰기를 끝내는 단계로 이루어지는 파일쓰기과정과; 읽으려는 클러스터의 첫위치에 저장되어 있는 다음 연결 클러스터의 위치정보와 헤드유니트선택정보를 읽어 다음 클러스터의 읽기가 다른 헤드유니트로 되어 있으면 해당유니트에 통보하여 해당유니트가 액세스를 시작하도록 하고, 자신은 현 클러스터의 읽기를 시작하는 단계와, EOF(End Of File)플래그가 검출되면 더 이상의 연속된 클러스터가 없는 것으로 판단하고 데이터를 읽고 난후 파일읽기를 종료하는 단계로 이루어지는 파일읽기과정;으로 이루어짐을 특징으로 한다.
또한 본 발명은, 하나의 디스크에 대해 두개의 헤드유니트를 가지는 하드 디스크 드라이브의 운용방법에 있어서, 두개의 헤드유니트가 동시에 액세스할 수 있도록 마주보는 2개의 블록을 하나의 섹터가 되도록 할당하는 과정과, 두개의 헤드유니트가 하나의 섹터를 동시에 액세스하도록 제어하는 과정으로 이루어짐을 특징으로 한다.
도 1은 하드 디스크의 물리적 데이터 구조도,
도 2는 하드 디스크의 논리적 데이터 구조도,
도 3a는 파일제어방식에서 파일의 체인구조를 보여주는 도면,
도 3b는 도 3a에 도시한 파일 'XX'의 중간 클러스터들의 데이터 구조도,
도 3c는 도 3a에 도시한 파일 'XX'의 마지막 클러스터의 데이터 구조도,
도 4는 싱글 타스크 액세스 구조의 듀얼 헤드유니트 하드 디스크 드라이브 구성도,
도 5a는 전략액세스모드에서의 파일 체인구조를 보여주는 도면,
도 5b는 도 5a에 도시한 파일 'XX'의 첫 클럭스터의 데이터 구조도,
도 5c는 도 5a에 도시한 파일 'XX'의 중간 클러스터의 데이터 구조도,
도 5d는 도 5a에 도시한 파일 'XX'의 마지막 클러스터의 데이터 구조도,
도 6은 전략액세스모드에서의 쓰기 제어 흐름도,
도 7은 전략액세스모드에서의 읽기 제어 흐름도,
도 8a는 연속액세스모드에서의 파일 체인구조를 보여주는 도면,
도 8b는 도 8a에 도시한 파일 'XX'의 중간클럭스터들의 데이터 구조도,
도 8c는 도 8a에 도시한 파일 'XX'의 마지막 클러스터의 데이터 구조도,
도 9는 연속액세스모드에서의 쓰기 제어 흐름도,
도 10은 연속액세스모드에서의 읽기 제어 흐름도,
도 11은 일반액세스모드에서의 디스크 대기시간 속도향상을 위한 섹터할당 구성을 설명하기 위한 도면,
도 12는 멀티 타스크 액세스 구조의 듀얼 헤드유니트 하드 디스크 드라이브 구성도,
도 13은 전략액세스모드 및 연속액세스모드시 디스크 동시 액세스하는 일예시도,
도 14는 통상적인 하드 디스크 드라이브의 일예 구성도.
이하 본 발명의 바람직한 실시예들을 첨부한 도면을 참조하여 상세히 설명한다.
본 발명의 실시예에서는 디스크의 액세스속도를 높이기 위해 하드 디스크 드라이브에 멀티 헤드유니트를 장착시키는 구조를 가져간다. 도 4 및 도 12는 본 발명의 실시예에 따른 듀얼 헤드유니트 하드 디스크 드라이브의 구조를 보여주고 있다.
도 4는 싱글 타스크 액세스 구조의 듀얼 헤드유니트 하드 디스크 드라이브 구성도이고, 도 12는 멀티 타스크 액세스 구조의 듀얼 헤드유니트 하드 디스크 드라이브 구성도이다.
도 4 및 도 12를 참조하면, 하나의 디스크 2에는 두개의 헤드유니트 즉, 제1 헤드유니트 60과 제2 헤드유니트 62가 구비되어 있으며, 디스크 2는 스핀들모터 52에 의해서 회전한다. 헤드유니트들 60,62는 적층된 디스크들에 대응된 다수의 헤드들이 E블럭 어셈블리에 장착되어 있는 구조를 하고 있다. 도 4의 싱글 타스크 액세스 구조의 하드 디스크 드라이브는 제1헤드유니트 60의 위치제어 서보부, 제2 헤드유니트 62의 위치제어 서보부, 제1캐쉬메모리, 제2캐쉬메모리가 별도로 구비되어 있으나, 레지스터들과 호스트인터페이스는 공통으로 사용된다. 그러므로 도 4와 같은 구조의 하드 디스크 드라이브는 디스크의 액세스 속도를 개선할 수 있는 구조이지만, 한번에 하나의 타스크만이 파일 액세스가 가능하다는 특징을 가진다.
그러나 헤드유니트의 수가 증가하면서 이의 효율을 최대화하기 위한 새로운 관리방안이 필요하다. 도 12의 도 4의 멀티 타스크 액세스 구조의 하드 디스크 드라이브는 제1헤드유니트 60의 위치제어 서보부, 제2 헤드유니트 62의 위치제어 서보부, 제1캐쉬메모리, 제2캐쉬메모리 뿐만 아니라 레지스터들 및 호스트인터페이스도 별도로 구비되어 있다. 즉 레지스터들은 제1헤드유니트용과 제2헤드유니트용이 있으며, 호스트인터페이스도 제1호스트인터페이스와 제2호스트인터페이스가 있다. 그러므로 도 12는 2개의 타스크가 동시에 같은 디스크를 액세스할 수 있는 구조의 일예이다. 헤드 유니트의 수와 같은 수의 타스크가 동시에 같은 디스크를 액세스할 수 있다. 도 12와 같은 구조도 내부 제어 구성을 조정하면 도 4와 같은 구조로도 사용할 수 있다.
도 4 및 도 12에 도시된 하드 디스크 드라이브의 내부 구체 블록에 대한 이해를 돕기 위해 통상적인 하드 디스크 드라이브의 구조를 도시한 도 14를 참조하여 보다 상세히 설명한다. 도 14에 도시된 통상적인 하드 디스크 드라이브는 일예로 2장의 디스크를 장착한 구조이다. 도 14에서, 디스크 2는 스핀들 모터 52에 의해서 회전한다. 헤드 4는 디스크 2의 표면상에 위치하며 액츄에이터 6의 암 어셈블리(arm assembly) 7의 수직으로 신장된 암의 전단에 설치된다. 전치증폭기 22는 데이터 독출시 헤드 2에 의해 픽업된 신호를 전치증폭하며, 데이터기록시에는 헤드 4를 구동시켜 리드/라이트 채널회로 24로부터 인가되는 부호화된 기록데이터(Encoded Write Data)를 디스크 2에 기록토록 한다. 리드/라이트 채널회로(Read/Write Channel) 24는 전치증폭기 22로부터 인가되는 리드신호로부터 데이터 펄스를 검출하고 디코딩하여 DDC(Disk Data Controller) 54에 인가하며, DDC 54로부터 인가되는 라이트 데이터를 코딩하여 전치증폭기 22에 인가한다. DDC 54는 호스트 컴퓨터와 마이크로 콘트롤러 40간과, 호스트 컴퓨터와 리드/라이트 채널회로 24 간의 통신을 인터페이스한다. 마이크로 콘트롤러 40은 호스트 컴퓨터로부터 수신되는 리드 또는 라이트 명령에 응답하여 트랙탐색 및 트랙추종을 제어한다. VCM(Voice Coil Motor) 구동부 44는 마이크로 콘트롤러 124의 서보제어(헤드의 위치제어)에 대한 값을 D/A컨버터 42를 통해 받아 액츄에이터 6을 구동하기 위한 구동전류를 발생하여 액츄에이터 6의 VCM에 인가한다. 액츄에이터 6은 VCM구동부 44로부터 인가되는 구동전류의 방향 및 레벨에 대응하여 헤드 4들을 디스크 2 상의 방사선 방향으로 이동시킨다. 모터 제어부 48은 마이크로 콘트롤러 40의 제어 하에 디스크 2의 회전제어를 위한 제어값을 스핀들 모터 구동부 50으로 인가하고, 스핀들 모터 구동부 50은 상기 제어값에 따라 스핀들 모터 52를 구동하여 디스크 2들을 회전시킨다. A/D컨버터 36은 리드/라이트 채널회로 24를 통하여 인가되는 서보정보 중 버스트신호에 의거한 위치에러신호(Position Error Signal) PES를 디지탈 변환하여 마이크로 콘트롤러 40으로 출력한다. 게이트 어레이 38은 리드/라이트에 필요한 각종 타이밍신호들을 발생하며 서보정보를 디코딩하여 마이크로 콘트롤러 40에 인가한다. 상기 도 14에서 DDC 54는 도 4 및 도 12에 호스트인터페이스에 해당한다.
이하 도 4에 도시된 싱글타스크 액세스 구조의 듀얼 헤드유니트 하드 디스크 드라이브 및 도 12의 멀티타스크 액세스 구조의 듀얼 헤드유니트 하드 디스크 드라이브의 운용방안을 설명한다.
먼저 싱글타스크 액세스 구조의 듀얼 헤드유니트 하드 디스크 드라이브에 대한 운용방안을 설명한다.
싱글 타스크 액세스 구조의 듀얼 헤드유니트 하드 디스크 드라이브의 동작은 전략 액세스모드(strategical access mode), 연속 액세스모드(sequential access mode) 및 일반 액세스모드의 동작으로 구분된다. 상기 모드들의 동작은 하기에서 더욱 상세히 설명될 것이다.
1. 전략 액세스모드(strategical access mode)
먼저 전략 액세스모드를 도 5a∼d 내지 도 7을 참조하여 설명한다. 전략액세스모드는 파일의 읽기 또는 쓰기 동작 전에 파일이 쓰여질 클러스터의 위치정보 및 디스크의 기구적, 전기적 특성을 감안한 최적의 디스크 액세스 순서를 정한 다음 디스크를 액세스하는 모드로서, 디스크의 액세스의 99%의 시간을 차지하는 탐색시간을 급격히 감소시킬 수 있다.
도 5a에서는 전략액세스모드에서의 파일 체인구조를 보여주는 도면이고, 도 5b는 도 5a에 도시한 파일 'XX'의 첫 클럭스터(클러스터8)의 데이터 구조도이며, 도 5c는 도 5a에 도시한 파일 'XX'의 중간 클러스터(클러스터16)의 데이터 구조도이다. 그리고, 도 5d는 도 5a에 도시한 파일 'XX'의 마지막 클러스터(클러스터6)의 데이터 구조도이다. 또한 도 6에서는 전략액세스모드에서의 쓰기 제어 흐름도를 보여주고 있고, 도 7에서는 전략액세스모드에서의 읽기 제어 흐름도를 보여주고 있다.
상기 전략액세스모드는 파일의 첫 부분에 파일을 구성하는 클러스터의 위치(pointer) 등을 미리 기록하는 방식이다. 이러한 파일 구조를 만들기 위하여는 파일쓰기 동작시 도 6에 도시한 바와 같은 과정을 수행한다. 도 6을 참조하면, 100단계에서는 파일을 저장하는데 필요한 클러스터의 수를 계산(=n개)하고, 102단계에서는 빈 클러스터를 서치하고, 첫번째 빈 클러스터(도 5a의 일예서는 클러스터8)의 시작부분에 n개의 클러스터포인터 공간을 확보한다. 도 5b를 참조하면, 첫번째 클럭스터(클러스터8)의 시작부분에 두번째 클러스터(클러스터16)에 대한 포인터 공간 및 세번째 클러스터(클러스터6)에 대한 포인터 공간이 확보되어 있음을 볼 수 있다. 102단계후 104단계에서는 "FAT"로부터 미 사용된 클러스터들을 파일 저장에 필요한 만큼 확보하고("FAT"에는 미 사용중인 클러스터 정보가 있음), 확보된 클러스터들의 포인터들을 이용하여 여러개의 헤드유니트(도 4의 일예에서는 두개의 헤드유니트임)를 이용한 최적의 쓰기 순서를 정한후 이를 파일의 첫부분에 기록한다. 그후 106단계로 진행하여 하드 디스크 드라이브의 컨트롤러는 클러스터의 위치정보(포인터)를 기준으로 두개 이상의 헤드유니트를 가장 효율적으로 사용할 수 있는 헤드유니트 사용순서를 지정하여 이 순서에 의거하여 파일 쓰기를 한다.
전략액세스모드의 읽기 시에는 도 7과 같은 제어동작을 수행한다. 도 7을 참조하면, 150단계에서는 해당 파일의 첫부분에 기록되어 있는 클러스터의 포인터들을 읽어 클러스터의 위치를 알아낸다. 그후 152단계에는 파일 쓰기 시 사용된 시퀀스를 사용하거나 디스크의 기구적, 전기적 특성을 감안한 멀티헤드유니트를 이용한 최적의 디스크 액세스 순서를 산출하고, 154단계에서는 산출한 디스크 액세스 순서에 의거하여 디스크 읽기를 수행한다. 만약 시스템 내부 또는 외부 메모리에 읽으려는 파일크기만큼의 메모리가 할당되어 있다면, 읽기 시퀀스는 파일을 데이터의 순서보다는 하드 디스크의 액세스가 용이한 순서로 읽어 들인다면 보다 효율적인 데이터 액세스를 할 수 있다.
2. 연속액세스모드(sequential access mode)
다음으로 연속액세스모드를 도 8a∼c 내지 도 10을 참조하여 설명한다. 상기 연속액세스모드는 싱글 헤드유니트의 디스크와 유사한 관리방식을 사용하는 것이다. 차이점은 각 클러스터에 있는 다음 클러스터의 위치를 각 클러스터의 첫 부분에 기록하는 것으로서, 이렇게 하면 여러 개의 헤드유니트들이 최적의 동작을 할 수 있도록 한다.
도 8a는 연속액세스모드에서의 파일 체인구조를 보여주는 도면이고, 도 8b는 도 8a에 도시한 파일 'XX'의 중간클럭스터(클러스터8, 클러스터16)의 데이터 구조도이며, 도 8c는 도 8a에 도시한 파일 'XX'의 마지막 클러스터(클러스터6)의 데이터 구조도이다. 그리고, 도 9는 연속액세스모드에서의 쓰기 제어 흐름도이고, 도 10은 연속액세스모드에서의 읽기 제어 흐름도이다.
연속액세스모드에서의 쓰기 시에는 "FAT"에서 할당된 현재 쓰려는 파일의 클러스터 순서에 의거하여 각 클러스터에 대한 헤드유니트 할당을 하고, 이를 사용하여 최적의 디스크 액세스가 가능하도록 한다. 이때 각 클러스터의 첫 부분에는 다음 클러스터의 포인터와 사용할 헤드유니트의 순서를 기록하여 읽기 시 이 순서에 의하여 읽기가 가능하도록 한다. 그러나 기구적인 특성에 따라서는 다음 클러스터 액세스에 사용할 헤드유니트를 연산에 의하여 결정할 수도 있다.
연속액세스모드에서의 쓰기 시의 제어동작을 도 9를 참조하여 더욱 상세히 설명한다. 먼저 200단계에서는 다음 쓰기를 하려는 클러스터에 근접한 헤드유니트로부터 쓰기를 시작한다. 각 헤드유니트는 자신이 쓰려고 하는 다음 클러스터의 포인터를 현 클러스터의 첫부분에 기록한다. 이때 쓰기에 관련된 헤드유니트 정보(헤드유니트 선택정보)도 함께 저장한다. 그후 202단계에서, 마지막 클러스터에 데이터 쓰기를 한 헤드유니트는 클러스터의 첫부분에 EOC(End Of Cluster)코드를 수록하고 데이터 쓰기를 끝낸다.
연속액세스모드에서의 읽기 시의 제어동작을 도 10을 참조하여 설명한다. 먼저 250단계에서는 읽으려는 클러스터의 첫위치에 저장되어 있는 다음 연결 클러스터의 위치정보와 헤드유니트선택정보(쓰기시 저장되었음)를 읽어 만약 다음 클러스터의 읽기가 다른 헤드유니트로 되어 있으면 해당유니트에 통보하여 그 해당유니트가 액세스를 시작하도록 하고, 자신은 현 클러스터의 읽기를 시작한다. 그후 252단계에서 EOF플래그가 검출되면 더 이상의 연속된 클러스터가 없는 것으로 판단하고 데이터를 읽고 난후 파일읽기를 종료한다.
3. 일반액세스모드
전술한 전략액세스모드 및 연속액세스모드는 하드 디스크 드라이브의 기구적 구조 뿐만 아니라 운용방식을 변경하여야 한다. 만약 운용방식을 일반적인 싱글 헤드유니트방식으로 사용하고 싶을 경우에는 도 4 또는 도 12의 구조에서 1개의 섹터의 할당을 여러개의 헤드유니트이 동시에 액세스할 수 있는 구조로 할당하면 된다. 이렇게 하면 두개의 헤드유니트가 1개의 섹터를 동시에 액세스하게 되므로 디스크의 읽기/쓰기 시간 및 대기시간을 기존 구조의 1/2로 줄일 수 있다. 그러나 트랙에서 트랙으로의 탐색시간(track to track seek time), 헤드천이시간 등은 싱글 헤드유니트의 하드 디스크 드라이브와 같게 된다.
도 11에서는 일반액세스모드에서의 디스크 대기시간 속도향상을 위한 섹터할당 구성도를 보여주고 있다. 도 11a에 도시된 바와 같은, 통상 512바이트로 할당되는 하나의 섹터를 연속된 블록으로 하고 있는 일반구조)를, 본 발명의 실시예에 따른 일반액세스모드에서는 도 11b와 같이 구조로 구성한다. 도 11b를 참조하면, 2개의 헤드유니트가 512바이트를 동시에 액세스할 수 있도록 하는 마주보는 2개의 256바이트 블록을 하나의 섹터로 관리한다. 이 경우 디스크 대기시간을 줄이기 위하여는 쓰기동작시 2개의 256바이트 블록중 어느 블록이 512바이트중 상위블록인지를 알리는 플래그 비트가 각 블록마다 1비트씩 기록되어 재생시 올바른 순서로 데이터가 재생되도록 하여야 한다.
도 13에서는 전술한 전략액세스모드 및 연속액세스모드시 디스크 동시 액세스하는 일예시도를 보여주고 있다. 도 13을 참조하면, 제1헤드유니트 60의 소정 헤드는 "섹터25"에 대한 읽기/쓰기를 할 때 제1헤드유니트 62의 소정 헤드는 "섹터198"에 대한 읽기/쓰기를 하고 있음을 알 수 있다.
전기한 싱글타스크 액세스구조의 하드 디스크 드라이브의 동작 설명에 이에 하기에서는 멀티 타스크 액세스구조의 하드 디스크 드라이브의 동작을 설명한다.
멀티 타스크 액세스 구조의 듀얼 헤드유니트 하드 디스크 드라이브 구성도는 도 12와 같다. 멀티타스크 액세스 구조는 하나의 디스크 2에 두개 이상의 헤드 유니트 60,62와 각 헤드유니트 60,62에 할당한 제1, 제2 헤드유니트 위치제어, 제1, 제2 헤드유니트용 내부레지스터들, 제1,제2 캐쉬메모리 및 제1,제2 호스트 인터페이스를 장착하여 하나의 디스크를 호스트에서는 마치 여러개의 디스크가 장착된 상태로 보이도록 하면서 하나의 디스크를 여러개의 타스크들이 동시에 액세스할 수 있도록 한 구조이다. 동시에 액세스할 수 있는 타스크의 수는 장착되는 헤드유니트의 수와 같다. 멀티타스크 액세스 구조에서 유의하여야 할 사항은 여러개의 타스크가 동시에 하나의 파일을 액세스하지 않도록 하여야 한다는 것이다. 특히 파일 쓰기 시에는 현재 파일을 액세스하고 있는 타스크 이외에는 파일 업데이트가 불가능하도록 파일 락킹(locking)을 하여야 한다. 그리고 안전한 사용을 위하여는 여러개의 헤드유니트들이 있어도 파일쓰기는 하나의 헤드유니트를 통하여만 할 수 있도록 하여 데이터의 일관성 관리가 용이하도록 하는 것이 바람직하다.
본 발명의 실시예에 따른 구조를 적용하면, 디스크 쓰기 및 검증, 또는 디스크 백업의 속도를 향상시킬 수 있는 장점이 생긴다. 즉, 디스크 쓰기 및 검증시에는 하나의 헤드유니트가 쓰기를 하고 다른 헤드유니트가 검증하므로 검증동작이 쓰기와 거의 동시에 종료될 수 있으며, 디스크 백업시에는 하나의 헤드 유니트를 백업용 읽기유니트로 사용하면 사용자가 디스크 백업시 시스템 사용이 어럽거나, 불가능해지는 것을 막을 수 있다.
본 발명의 효과는 하기와 같이 정리할 수 있다.
(1) 디스크 액세스 속도 개선 (2) 멀티 타스킹시 동일 디스크의 동시 액세스 가능 (3) 디스크 쓰기 및 검증과, 백업시의 속도개선 및 시스템 락 방지
상기 효과들 중 가장 큰 효과인 디스크 액세스 속도개선은 다음과 같이 구체 사항의 효과로 설명할 수 있다.
(1) 디스크 대기시간 개선:
기존 대기시간의 1/n(여기서 n은 헤드 유니트의 수)
(2) 트랙 탐색시간 개선:
(n-1)/n×tr(여기서, tr은 1개의 클러스터를 읽는데 소요되는 시간)
멀티 헤드유니트를 사용시의 속도 개선효과는 하기 표 1과 같이 정리할 수 있다.
구조 비교항목 싱글헤드유니트 듀얼헤드유니트 쿼드헤드유니트
싱글타스크 액세스 구조 평균잠복시간 7.14ms 3.62ms 2.38ms
트랙탐색시간 3ms 2.5ms 2.34ms
총 시 간 10.1ms 6.12ms 4.72ms
액세스 속도개선 1 1.6 2.1
멀티타스크 액세스 구조 동시 액세스타스크 수 1 2 4
여기서, 디스크의 회전속도는 4,200rpm, tr은 1ms(1클러스터=8섹터)로 가정.
상기 표 1의 비교검토 결과를 본다면 싱글 타스크 액세스구조에서, 싱글 헤드유니트(sigle head unit) 대비 듀얼 헤드유니트(dual head unit)의 경우에는 디스크 탐색시간이 약 1.6배 개선, 쿼드 헤드 유니트(quad head unit)의 경우에는 약 2.1배 개선된다. 실제로 전략액세스 모드(stratigical access mode) 사용시는 상기 표 1에 나타난 결과보다 개선된 성능을 얻을 수 있다.
상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 따라서 본 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 특허청구범위와 특허청구범위의 균등한 것에 의해 정해 져야 한다.

Claims (4)

  1. 하나의 디스크에 대해 듀얼 헤드유니트를 가지는 하드 디스크 드라이브의 운용방법에 있어서:
    파일을 저장하는데 필요한 클러스터의 수를계산하는 단계와, 빈 클러스터를 서치하고 첫번째 빈 클러스터의 시작부분에 계산된 수의 클러스터포인터 공간을 확보하는 단계와, 미 사용중인 클러스터 정보가 있는 "FAT"영역으로부터 미 사용된 클러스터들을 파일 저장에 필요한 만큼 확보하고, 확보된 클러스터들의 포인터들을 이용하여 상기 듀얼 헤드유니트를 이용한 최적의 쓰기 순서를 정한후 이를 파일의 첫부분에 기록하는 단계와, 상기 클러스터의 포인터를 기준으로 상기 듀얼 헤드유니트를 가장 효율적으로 사용할 수 있는 헤드유니트 사용순서를 지정하여 상기 순서에 의거한 파일 쓰기를 수행하는 단계로 이루어지는 파일쓰기과정과;
    해당 파일의 첫부분에 기록되어 있는 클러스터의 포인터들을 읽어 클러스터의 위치를 알아내는 단계와, 상기 파일 쓰기시 사용된 시퀀스를 사용하거나 디스크의 기구적, 전기적 특성을 감안한 듀얼헤 드유니트를 이용한 최적의 디스크 액세스 순서를 산출하는 단계와, 상기 산출한 디스크 액세스 순서에 의거하여 디스크 읽기를 수행하는 단계로 이루어진 파일읽기과정;으로 이루어짐을 특징으로하는 운용방법.
  2. 하나의 디스크에 대해 듀얼 헤드유니트를 가지는 하드 디스크 드라이브의 운용방법에 있어서:
    다음 쓰기를 하려는 클러스터에 근접한 헤드유니트로부터 쓰기를 시작하고, 각 헤드유니트를 이용해 자신이 쓰려고 하는 다음 클러스터의 위치정보 및 헤드유니트 선택정보)를 현 클러스터의 첫부분에 기록하는 단계와, 마지막 클러스터에 데이터 쓰기를 한 헤드유니트는 클러스터의 첫부분에 EOC(End Of Cluster)코드를 수록하고 데이터 쓰기를 끝내는 단계로 이루어지는 파일쓰기과정과;
    읽으려는 클러스터의 첫위치에 저장되어 있는 다음 연결 클러스터의 위치정보와 헤드유니트선택정보를 읽어 다음 클러스터의 읽기가 다른 헤드유니트로 되어 있으면 해당유니트에 통보하여 해당유니트가 액세스를 시작하도록 하고, 자신은 현 클러스터의 읽기를 시작하는 단계와, EOF(End Of File)플래그가 검출되면 더 이상의 연속된 클러스터가 없는 것으로 판단하고 데이터를 읽고 난후 파일읽기를 종료하는 단계로 이루어지는 파일읽기과정;으로 이루어짐을 특징으로 하는 운용방법.
  3. 하나의 디스크에 대해 두개의 헤드유니트를 가지는 하드 디스크 드라이브의 운용방법에 있어서,
    두개의 헤드유니트가 동시에 액세스할 수 있도록 마주보는 2개의 블록을 하나의 섹터가 되도록 할당하는 과정과,
    두개의 헤드유니트가 하나의 섹터를 동시에 액세스하도록 제어하는 과정으로 이루어짐을 특징으로 하는 운용방법.
  4. 제3항에 있어서, 상기 2개의 블록에는 각각 상위블록인지를 알리는 플래그 비트가 기록되어 있음을 특징으로 하는 운용방법.
KR1019980014340A 1998-04-22 1998-04-22 듀얼 헤드유니트를 가지는 하드 디스크 드라이브의 운용방법 KR19990080816A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980014340A KR19990080816A (ko) 1998-04-22 1998-04-22 듀얼 헤드유니트를 가지는 하드 디스크 드라이브의 운용방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980014340A KR19990080816A (ko) 1998-04-22 1998-04-22 듀얼 헤드유니트를 가지는 하드 디스크 드라이브의 운용방법

Publications (1)

Publication Number Publication Date
KR19990080816A true KR19990080816A (ko) 1999-11-15

Family

ID=65890650

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980014340A KR19990080816A (ko) 1998-04-22 1998-04-22 듀얼 헤드유니트를 가지는 하드 디스크 드라이브의 운용방법

Country Status (1)

Country Link
KR (1) KR19990080816A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100532842B1 (ko) * 2002-08-17 2005-12-05 삼성전자주식회사 하드디스크 드라이브의 공간낭비를 줄일 수 있는 영상기록/재생장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05234326A (ja) * 1992-02-14 1993-09-10 Nec Corp ハードディスク装置
JPH05257613A (ja) * 1992-03-13 1993-10-08 Toshiba Corp マルチヘッド搭載ハードディスク装置
JPH07262722A (ja) * 1994-03-25 1995-10-13 Sony Corp ディスク装置及び情報信号送受装置
JPH08195030A (ja) * 1995-01-11 1996-07-30 Oki Electric Ind Co Ltd ディスク装置のデータ転送方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05234326A (ja) * 1992-02-14 1993-09-10 Nec Corp ハードディスク装置
JPH05257613A (ja) * 1992-03-13 1993-10-08 Toshiba Corp マルチヘッド搭載ハードディスク装置
JPH07262722A (ja) * 1994-03-25 1995-10-13 Sony Corp ディスク装置及び情報信号送受装置
JPH08195030A (ja) * 1995-01-11 1996-07-30 Oki Electric Ind Co Ltd ディスク装置のデータ転送方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100532842B1 (ko) * 2002-08-17 2005-12-05 삼성전자주식회사 하드디스크 드라이브의 공간낭비를 줄일 수 있는 영상기록/재생장치

Similar Documents

Publication Publication Date Title
US6462896B1 (en) Method for minimizing adjacent track data loss during a write operation in a disk drive
US9607631B2 (en) Enhanced capacity recording
JP5392788B2 (ja) 可変媒体特性を有する記憶媒体付オブジェクトベース記憶装置
US7099993B2 (en) Multi-level caching in data storage devices
US5603002A (en) Hard disk drive having buffer memory employing directory based cache controller with data replacement scheme
US6938123B2 (en) System and method for raid striping
KR100228795B1 (ko) 재할당 섹터가 있는 트랙에서의 억세스성능 향상방법
US7930480B2 (en) Data storage device, control method thereof, and magnetic disk storage device
US6789163B2 (en) Optimizing data transfer performance through partial write command purging in a disc drive
US20020129200A1 (en) Apparatus and method for defragmentation in disk storage system
US7590799B2 (en) OSD deterministic object fragmentation optimization in a disc drive
JPH0642302B2 (ja) デ−タ記憶装置
US5983319A (en) Information recording and reproduction apparatus and a method of data caching including read-ahead capability
KR100242761B1 (ko) 데이터 저장 시스템 및 이를 포맷하기 위한 방법
US20020029354A1 (en) Non-volatile write cache, in a disc drive, using an alternate power source
JPWO2003071534A1 (ja) データ・アクセス制御装置及びデータ・アクセス制御方法、コントローラ、並びにコンピュータ・プログラム
US20030074526A1 (en) Data storage apparatus, computer apparatus, data processing apparatus, and data processing method
US20060218361A1 (en) Electronic storage device with rapid data availability
KR100242290B1 (ko) 트랙제로 위치결정방법 및 그에 따른 트랙맵핑(Mapping)방법
US20040165304A1 (en) Method, system, and program for maintaining a directory for data written to a storage medium
JPH0261863A (ja) 記憶制御システムの制御方法および記憶制御システムならびに記憶制御装置
KR19990080816A (ko) 듀얼 헤드유니트를 가지는 하드 디스크 드라이브의 운용방법
EP0459726A2 (en) Magnetic disk apparatus
JPH03104056A (ja) 回転型情報記録再生装置の情報記録再生方法
KR100899826B1 (ko) 기억 장치, 기억 장치 제어 방법 및 제어 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application