KR100674944B1 - 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치버퍼 영역의 크기를 동적으로 조절하는 방법 및 그 장치 - Google Patents

데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치버퍼 영역의 크기를 동적으로 조절하는 방법 및 그 장치 Download PDF

Info

Publication number
KR100674944B1
KR100674944B1 KR1020050004482A KR20050004482A KR100674944B1 KR 100674944 B1 KR100674944 B1 KR 100674944B1 KR 1020050004482 A KR1020050004482 A KR 1020050004482A KR 20050004482 A KR20050004482 A KR 20050004482A KR 100674944 B1 KR100674944 B1 KR 100674944B1
Authority
KR
South Korea
Prior art keywords
area
buffer area
scratch
data transfer
buffer
Prior art date
Application number
KR1020050004482A
Other languages
English (en)
Other versions
KR20060083604A (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 KR1020050004482A priority Critical patent/KR100674944B1/ko
Publication of KR20060083604A publication Critical patent/KR20060083604A/ko
Application granted granted Critical
Publication of KR100674944B1 publication Critical patent/KR100674944B1/ko

Links

Images

Classifications

    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F11/00Treatment of sludge; Devices therefor
    • C02F11/12Treatment of sludge; Devices therefor by de-watering, drying or thickening
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F11/00Treatment of sludge; Devices therefor
    • C02F11/02Biological treatment
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F11/00Treatment of sludge; Devices therefor
    • C02F11/10Treatment of sludge; Devices therefor by pyrolysis
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F01MACHINES OR ENGINES IN GENERAL; ENGINE PLANTS IN GENERAL; STEAM ENGINES
    • F01DNON-POSITIVE DISPLACEMENT MACHINES OR ENGINES, e.g. STEAM TURBINES
    • F01D15/00Adaptations of machines or engines for special use; Combinations of engines with devices driven thereby
    • F01D15/10Adaptations for driving, or combinations with, electric generators
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F26DRYING
    • F26BDRYING SOLID MATERIALS OR OBJECTS BY REMOVING LIQUID THEREFROM
    • F26B3/00Drying solid materials or objects by processes involving the application of heat
    • F26B3/32Drying solid materials or objects by processes involving the application of heat by development of heat within the materials or objects to be dried, e.g. by fermentation or other microbiological action
    • F26B3/34Drying solid materials or objects by processes involving the application of heat by development of heat within the materials or objects to be dried, e.g. by fermentation or other microbiological action by using electrical effects
    • F26B3/347Electromagnetic heating, e.g. induction heating or heating using microwave energy

Abstract

본 발명은 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 방법 및 그 장치를 개시한다.
본 발명에 의하면, 데이터 전송 버퍼 영역과 디펙트(defect) 정보가 저장되는 스크래치 버퍼 영역이 내장된 데이터 저장 수단에서 상기 버퍼 영역들의 크기를 동적으로 조절하는 방법에 있어서, 데이터 전송 버퍼 영역과 스크래치 버퍼 영역으로 각각 할당된 영역을 탐지하고, 스크래치 버퍼 영역에 실제로 저장된 디펙트 정보가 차지하는 영역을 탐지하며, 실제로 저장된 디펙트 정보가 차지하는 영역을 제외한 스크래치 버퍼의 사용되지 않고 있는 영역을 결정하고, 데이터 저장 수단에 연결된 소정의 호스트 장치로 데이터를 전송하는 명령을 수신하는 경우 사용되고 있지 않은 스크래치 버퍼 영역을 데이터 전송 버퍼 영역으로 할당하여, 데이터 전송 상태에 따라 한정된 크기의 버퍼 메모리를 능동적으로 사용할 수 있으며, 그 결과 데이터 전송 버퍼 영역의 크기를 최대로 확장하여 HDD와 같은 데이터 저장 수단의 전송 능력을 향상시킬 수 있으며, 그 결과 데이터 전송 버퍼 메모리를 더 추가하여 실장 면적의 문제나 추가되는 부품비용을 들이지 않고도 컴퓨터 시스템의 성능 향상을 얻을 수 있다.

Description

데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 방법 및 그 장치 {Method for dynamic allocation the size of data transfer buffer area and scratch buffer area in data storage device and apparatus thereof}
도 1은 하드디스크 드라이브에서 데이터가 기록되는 미디어를 도시한 것이다.
도 2는 본 발명에 따라 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 방법의 흐름을 도시한 것이다.
도 3은 본 발명에 따라 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 장치의 구성을 블록으로 도시한 것이다.
본 발명은 저장 장치에 관한 것으로서, 하드디스크 드라이브와 같은 저장 장치의 성능을 향상시킬 수 있는 방법 및 그 장치에 관한 것이다.
하드디스크 드라이브와 같은 저장 장치에 내장된 버퍼의 영역은 크게 데이터 전송 버퍼와 스크래치 버퍼(scratch)의 두 부분으로 나뉘어 사용된다. 스크래치 버퍼란 드라이브 관리에 필요한 여러 내부 정보들을 모아 두는 곳으로 주요한 용도는 드라이브의 디펙트(defect) 정보를 보관하는 것이다.
하드디스크 드라이브(HDD)와 같이 데이터를 기록하고 저장하는 장치는 일반 사용자가 장치를 사용하는 조건에서 기록 영역에 손상이 된 부분이 없는(defect free) 상태로 사용할 수 있게 하기 위하여 드라이브 제조 공정에서 미리 디펙트 스캔(defect scan)을 하여 디펙트 부분을 처리하는 디펙트 관리 절차를 실행한다. 이때 한 드라이브 당 최대로 허용되는 디펙트의 개수는 미리 정해져있으며 디펙트 검출을 위해 사용되는 조건도 일정하다.
도 1은 하드디스크 드라이브에서 데이터가 기록되는 미디어를 도시한 것이다. 데이터가 기록되는 미디어의 영역은 여러 개의 기록 영역으로 구분된다. 참조번호 100의 영역이 그 하나의 기록 영역이다. 디펙트 프리 방법은 여러 가지 방법이 있을 수 있다. 그 예는 다음과 같다.
제조 공정 중의 검사 과정에서 참조번호 100의 영역에서 디펙트를 찾으면 그 디펙트 바로 뒤의 섹터부터 참조번호 100 영역의 끝에 있는 스페어 실린더(spare cylinder)까지 주소가 하나씩 슬립(slip)시켜서 디펙트가 억세스 되지 않도록 한다.
혹은 일반 사용자의 사용 환경에서 추가적으로 새로운 디펙트가 발견될 경우에는 디펙트가 발생된 해당 섹터 대신에 미리 준비한 스페어 영역을 참조하도록 하여 디펙트 영역을 억세스하지 않도록 한다.
이와 같은 디펙트 영역에 관한 정보는 스크래치 버퍼에 저장되어 있으며, 디펙트에 대한 정보가 필요할 경우에는 스크래치 버퍼에 접근하여 필요한 정보를 얻어가게 된다.
종래에는 드라이브 내의 버퍼의 미리 정해진 일정 부분을 스크래치 버퍼 용도로 할당하여 사용하였다. 그러나 실제 드라이브에서 사용해야 할 스크래치 버퍼의 크기는 드라이브의 특성 및 명령 수행 상태에 따라 달라지게 된다. 즉, 드라이브의 특성이 좋아서 디펙트가 별로 없어서 디펙트 정보를 보관할 스크래치 버퍼의 크기가 작아도 되거나 혹은 드라이브의 동작을 제어하는 명령의 종류에 따라 데이터 전송 버퍼의 영역이 더 필요해서 스크래치 버퍼 용도의 영역을 사용해야 할 경우 등이 그 예이다.
그런데 종래에는 스크래치 버퍼의 영역이 상기와 같은 필요에 따라 정해지는 것이 아니라 드라이브의 모델이 정해지면 일률적으로 스크래치 버퍼의 영역, 즉 버퍼의 크기도 고정이 되므로 스크래치 버퍼의 크기가 작아도 되는 경우에도 버퍼를 낭비하게 되어 상대적으로 데이터 전송 버퍼의 크기는 작게 되어 하드디스크 드라이브의 성능이 향상될 수 있는 여지를 막는 문제가 있다.
이런 문제는 버퍼의 크기를 키우면 해결될 수 있을 것이다. 그러나 이를 위해서는 버퍼를 구성하는 메모리 소자의 개수가 늘어나거나 고집적의 메모리 소자를 사용해야 하며, 그 결과 버퍼용 메모리의 실장 면적의 한계로 인해 메모리 소자 장착의 어려움과 여러 개의 메모리 소자 혹은 고집적의 메모리 소자를 내장해야 하여 그 결과 하드디스크 드라이브의 단가 상승을 초래하게 되며, 경쟁력을 상실하게 하 는 문제가 있다.
본 발명이 이루고자 하는 기술적인 과제는, 상기의 문제점들을 해결하기 위해, 하드디스크 드라이브와 같은 기록/저장 장치에 내장되어 디펙트 정보를 저장하고 있는 스크래치 버퍼와 같은 영역의 크기를 최적화할 수 있는 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 방법 및 그 장치를 제공하는 데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 의한, 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 방법은, 데이터 전송 버퍼 영역과 디펙트(defect) 정보가 저장되는 스크래치 버퍼 영역이 내장된 데이터 저장 수단에서 상기 버퍼 영역들의 크기를 동적으로 조절하는 방법에 있어서, (a) 상기 데이터 전송 버퍼 영역과 스크래치 버퍼 영역으로 각각 할당된 영역을 탐지하는 단계; (b) 상기 스크래치 버퍼 영역에 실제로 저장된 디펙트 정보가 차지하는 영역을 탐지하는 단계; (c) 실제로 저장된 디펙트 정보가 차지하는 영역을 제외한 상기 스크래치 버퍼의 사용되지 않고 있는 영역을 결정하는 단계; 및 (d) 상기 데이터 저장 수단에 연결된 소정의 호스트 장치로 데이터를 전송하는 명령을 수신하는 경우 상기 (c) 단계에서 결정된 사용되고 있지 않은 스크래치 버퍼 영역을 데이터 전송 버퍼 영역으로 할당하는 단계;를 포함하는 것을 특징으로 한다.
이때에 상기 (a) 단계 내지 (d) 단계에서 버퍼 영역을 탐지, 결정 또는 할당하는 것은 해당되는 영역의 어드레스 값을 기준으로 실시하는 것이 바람직하다.
그리고 상기 데이터 저장 수단이 아이디이(IDE) 인터페이스를 통해 상기 호스트 장치와 연결될 때에, 상기 (d) 단계에서 상기 데이터 저장 수단이 상기 호스트 장치로 데이터를 전송하는 명령은 공지된 ATA(AT Attachment) 스펙(SPEC)에 정의되어 있는 Identify 및 SMART 명령을 포함하는 것이 바람직하며, (f) 상기 (d) 단계 후에 데이터 전송이 완료된 후 데이터 전송 버퍼 영역으로 할당되었던 사용되지 않았던 스크래치 버퍼 영역을 다시 원래의 스크래치 버퍼 영역으로 재할당하는 단계;를 더 포함하는 것이 바람직하다.
또한 상기 스크래치 버퍼 영역에서 실제 디펙트 정보가 차지하는 영역은 상기 데이터 전송 버퍼 및 스크래치 버퍼의 전체 버퍼 영역의 최상위 어드레스 혹은 최하위 어드레스로 결정되는 영역인 것이 바람직하다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 의한, 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 장치는, 데이터 전송 버퍼 영역과 디펙트(defect) 정보가 저장되는 스크래치 버퍼 영역이 내장된 데이터 저장 수단에서 상기 버퍼 영역들의 크기를 동적으로 조절하는 장치에 있어서, 상기 데이터 전송 버퍼 영역과 스크래치 버퍼 영역으로 각각 할당된 영역, 상기 스크래치 버퍼 영역에 실제로 저장된 디펙트 정보가 차지하는 영역을 탐지하여 실제로 저장된 디펙트 정보가 차지하는 영역을 제외한 상기 스크래치 버퍼의 사용하고 있지 않은 영역을 결정하는 영역결정부; 상기 데이터 저장 수단에 연결된 소정의 호스트 장치로부터의 명령을 수신하여 그 내용을 해석하는 명령어수 신부; 및 상기 명령어수신부에서 해석된 명령이 상기 호스트 장치로 데이터를 전송하는 명령인 경우 상기 영역결정부에서 결정된 실제로 저장된 디펙트 정보가 차지하는 영역을 제외한 상기 스크래치 버퍼의 사용하고 있지 않은 영역을 데이터 전송 버퍼 영역으로 할당하는 영역할당부;를 포함하는 것을 특징으로 한다.
이하에서 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예를 상세히 설명한다.
도 2는 본 발명에 따라 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 방법의 흐름을 도시한 것이다.
데이터 전송 버퍼 영역과 디펙트(defect) 정보가 저장되는 스크래치 버퍼 영역이 내장된 데이터 저장 수단에서 상기 버퍼 영역들의 크기를 동적으로 조절하는 이 방법은 다음과 같이 실행된다.
데이터 전송 버퍼 영역과 스크래치 버퍼 영역으로 각각 할당된 영역을 탐지하고(200 단계), 상기 스크래치 버퍼 영역에 실제로 저장된 디펙트 정보가 차지하는 영역을 탐지하며(210 단계), 실제로 저장된 디펙트 정보가 차지하는 영역을 제외한 상기 스크래치 버퍼의 사용되지 않고 있는 영역을 결정한다(220 단계).
그리고 데이터 저장 수단에 연결된 소정의 호스트 장치로 데이터를 전송하는 명령을 수신하는 경우 220 단계에서 결정된 사용되고 있지 않은 스크래치 버퍼 영역을 데이터 전송 버퍼 영역으로 할당한다(230 단계). 그리고 230 단계 후에 데이터 전송이 완료된 후 데이터 전송 버퍼 영역으로 할당되었던 사용되지 않았던 스크래치 버퍼 영역을 다시 원래의 스크래치 버퍼 영역으로 재할당한다(240 단계).
도 3은 본 발명에 따라 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 장치의 구성을 블록으로 도시한 것이다.
데이터 전송 버퍼 영역과 디펙트(defect) 정보가 저장되는 스크래치 버퍼 영역이 내장된 데이터 저장 수단에서 상기 버퍼 영역(300)들의 크기를 동적으로 조절하는 이 장치는, 상기 데이터 전송 버퍼 영역과 스크래치 버퍼 영역으로 각각 할당된 영역, 상기 스크래치 버퍼 영역에 실제로 저장된 디펙트 정보가 차지하는 영역을 탐지하여 실제로 저장된 디펙트 정보가 차지하는 영역을 제외한 상기 스크래치 버퍼의 사용하고 있지 않은 영역을 결정하는 영역결정부(310), 데이터 저장 수단에 연결된 소정의 호스트 장치(325)로부터의 명령을 수신하여 그 내용을 해석하는 명령어수신부(320) 및 명령어수신부(320)에서 해석된 명령이 호스트 장치(325)로 데이터를 전송하는 명령인 경우 영역결정부(310)에서 결정된 실제로 저장된 디펙트 정보가 차지하는 영역을 제외한 상기 스크래치 버퍼의 사용하고 있지 않은 영역을 데이터 전송 버퍼 영역으로 할당하는 영역할당부(330)를 포함한다.
이때에 영역할당부(330)는 데이터 전송이 완료된 후 데이터 전송 버퍼 영역으로 할당되었던 스크래치 버퍼의 사용하고 있지 않던 영역을 원래의 스크래치 버퍼 영역으로 다시 재할당한다.
이하에서는 도 3의 구성으로 도 2의 과정을 실시하는 구체적인 내용에 대해 설명한다.
요즘 많은 하드디스트 드라이브(이하 HDD)가 2M~8M Byte 정도의 SDRAM을 데 이터 전송 버퍼 및 스크래치 버퍼로 사용하고 있다. 데이터 전송 버퍼를 적절한 크기로 늘리는 경우 HDD의 전송 성능이 상당히 증가될 수 있다. 그런데 데이터 전송 버퍼를 늘리는 것에는 여러 가지 한계 요인이 있다. 그 중 하나가 버퍼 메모리를 구성하고 있는 스크래치 버퍼에도 일정한 크기를 할당해야 하기 때문이다.
한 모델의 HDD의 경우도 생산에 있어서의 수율에 따라 각 드라이브마다 디펙트의 개수가 차이가 있다.
그런데 각 드라이브마다 달라지는 디펙트 정보에 따라 각 드라이브의 데이터 전송 버퍼의 크기와 스크래치 버퍼의 크기를 조절한다면 이는 생산 과정에서 너무 큰 부담이 될 수 있다. 또한 각 드라이브의 유지 보수 면에서도 불리할 수 있다.
예를 들어 어떤 드라이브는 디펙트가 없어 모든 버퍼를 데이터 전송용으로 사용하고, 다른 드라이브는 그 드라이브 사양에서 허용하는 최대 개수의 디펙트를 포함하고 있으므로 스크래치 버퍼가 모두 기록된 경우와 같이 각 드라이브마다 다양한 크기의 명령어 전송 버퍼와 스크래치 버퍼를 가지게 되며, 이는 대량 생산의 시대에는 관리의 부담이 너무 커지게 될 것이다. 따라서 일률적으로 버퍼 메모리의 일정 영역은 데이터 전송용으로 그리고 버퍼 메모리의 다른 영역은 스크래치 버퍼용으로 미리 할당한다.
본 발명에서도 HDD에 내장된 버퍼 메모리(300)에 일정 영역은 데이터 전송용으로 그리고 버퍼 메모리의 다른 영역은 스크래치 버퍼용으로 미리 할당한다.
영역결정부(310)는 HDD의 버퍼 메모리(300)에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역으로 각각 할당된 영역을 탐지한다(200 단계). 이 경우 HDD 생산 시에 이와 같은 데이터 전송 버퍼 영역과 스크래치 버퍼 영역은 미리 정해진 것이므로 이와 같은 정보를 별도로 입력받아 확인할 수도 있다.
영역결정부(310)는 버퍼 메모리(300) 중에서 상기 스크래치 버퍼 영역에 실제로 저장된 디펙트 정보가 차지하는 영역을 탐지한다(210 단계). 상기에서 설명되어 있지만 각 HDD마다 디펙트가 발생한 정도가 다르고, 따라서 스크래치 버퍼 중에서 디펙트 영역에 대한 정보가 실제로 기록된 영역의 크기가 서로 다를 수 있다.
영역결정부(310)는 실제로 저장된 디펙트 정보가 차지하는 영역을 제외한 상기 스크래치 버퍼의 사용되지 않고 있는 영역을 결정한다(220 단계).
이와 같이 영역을 결정하는 것은 버퍼 메모리를 억세스할 수 있는 어드레스를 통해 결정하여 용이하게 실시할 수 있다.
도 3의 구성부들을 포함하는 HDD는 자신에 연결된 호스트 장치 즉 호스트 컴퓨터(325)와 연결되어 컴퓨터(325)로부터 명령을 전달받고, 그 명령에 따른 동작을 한다. 명령어수신부(320)는 컴퓨터(325)로부터 전달된 명령어를 수신하고, 이를 해석하여 HDD가 그 명령에 따른 동작을 하도록 한다.
명령어수신부(320)가 호스트 컴퓨터(325)로부터 데이터를 전송하는 명령을 수신하면 영역할당부(330)는 220 단계에서 결정된 사용되고 있지 않은 스크래치 버퍼 영역을 데이터 전송 버퍼 영역으로 할당한다(230 단계). 이는 데이터가 전송되기 전에 실행되어야 한다.
이때에 데이터 전송 버퍼로 사용되는 영역, 즉 이전에 스크래치 버퍼 영역으로 사용되던 영역을 포함한 데이터 전송 버퍼는 연속된 메모리 영역이어야 전송 효 율이 좋다. 만일 실제 정보가 기록된 스크래치 버퍼 영역이 전체 버퍼 메모리(300)의 중간 영역의 어드레스를 차지하고 있다면 데이터 전송 버퍼 영역은 연속된 영역을 사용할 수 없을 것이며, 그에 따라 HDD 전송 성능이 저하된다.
따라서 이를 방지하기 위해 상기 스크래치 버퍼 영역에서 실제 디펙트 정보가 차지하는 영역은 상기 데이터 전송 버퍼 및 스크래치 버퍼의 전체 버퍼 영역의 최상위 어드레스 혹은 최하위 어드레스로 결정되는 영역인 것이 바람직하다.
컴퓨터와 HDD가 연결되는 인터페이스는 다양한 모습이 가능하다. 데이터 저장 수단인 HDD가 표준 인터페이스인 IDE(Integrated Drive Electronics) 인터페이스를 통해 호스트 컴퓨터(325)와 연결될 때에, HDD가 호스트 장치(325)로 데이터를 전송하는 명령은 상기 ATA(AT Attachment) 스펙(SPEC)에 정의되어 있는 Identify 및 SMART 명령을 포함하는 것이 바람직하다.
컴퓨터 쪽으로 데이터를 전송하는 명령은 상기의 명령들 외에도 다양하게 존재할 수 있으며, 그 각각의 명령에 대해 본 발명에 따른 장치가 동적으로 동작한다.
영역할당부(330)는 230 단계 후에 데이터 전송이 완료된 후 데이터 전송 버퍼 영역으로 할당되었던 사용되지 않았던 스크래치 버퍼 영역을 다시 원래의 스크래치 버퍼 영역으로 재할당한다(240 단계).
HDD가 생산된 후에 일반 사용자가 사용하는 중에 디펙트가 발생할 수 있다. 이와 같은 디펙트에 대한 정보도 스크래치 버퍼에 저장될 수 있다. 따라서 스크래치 버퍼에 실제 디펙트 정보가 기록되지 않은 부분도 데이터 전송 시기가 아닐 때에는 스크래치 버퍼로 준비되어 있어야 한다. 따라서 데이터 전송 버퍼 영역으로 할당되었던 스크래치 버퍼 영역의 재할당 과정이 있는 것이 바람직하다.
상기와 같은 동작을 통해 정적으로 데이터 버퍼 전송 영역과 스크래치 버퍼 영역으로 할당을 한 후에 상황에 따라 동적으로 데이터 버퍼 전송 영역과 스크래치 버퍼 영역을 재배치하여 동적으로 영역을 할당한다. 또한 그 과정이 완료되면 최초의 배치로 재할당한다. 이를 통해 한정된 용량을 가지는 HDD 버퍼 메모리를 효율적으로 사용할 수 있게 된다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 본 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 상기의 설명에 포함된 예들은 본 발명에 대한 이해를 위해 도입된 것이며, 이 예들은 본 발명의 사상과 범위를 한정하지 않는다. 상기의 예들 외에도 본 발명에 따른 다양한 실시 태양이 가능하다는 것은, 본 발명이 속한 기술 분야에 통상의 지식을 가진 사람에게는 자명할 것이다. 본 발명의 범위는 전술한 설명이 아니라 청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
또한 본 발명에 따른 상기의 각 단계는 일반적인 프로그래밍 기법을 이용하여 소프트웨어적으로 또는 하드웨어적으로 다양하게 구현할 수 있다는 것은 이 분야에 통상의 기술을 가진 자라면 용이하게 알 수 있는 것이다.
그리고 본 발명의 일부 단계들은, 또한, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, CD-RW, 자기 테이프, 플로피디스크, HDD, 광 디스크, 광자기 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
본 발명에 의하면, 데이터 전송 버퍼 영역과 디펙트(defect) 정보가 저장되는 스크래치 버퍼 영역이 내장된 데이터 저장 수단에서 상기 버퍼 영역들의 크기를 동적으로 조절하는 방법에 있어서, 데이터 전송 버퍼 영역과 스크래치 버퍼 영역으로 각각 할당된 영역을 탐지하고, 스크래치 버퍼 영역에 실제로 저장된 디펙트 정보가 차지하는 영역을 탐지하며, 실제로 저장된 디펙트 정보가 차지하는 영역을 제외한 스크래치 버퍼의 사용되지 않고 있는 영역을 결정하고, 데이터 저장 수단에 연결된 소정의 호스트 장치로 데이터를 전송하는 명령을 수신하는 경우 사용되고 있지 않은 스크래치 버퍼 영역을 데이터 전송 버퍼 영역으로 할당하여, 데이터 전송 상태에 따라 한정된 크기의 버퍼 메모리를 능동적으로 사용할 수 있으며, 그 결과 데이터 전송 버퍼 영역의 크기를 최대로 확장하여 HDD와 같은 데이터 저장 수단의 전송 능력을 향상시킬 수 있으며, 그 결과 데이터 전송 버퍼 메모리를 더 추가하여 실장 면적의 문제나 추가되는 부품비용을 들이지 않고도 컴퓨터 시스템의 성 능 향상을 얻을 수 있다.

Claims (8)

  1. 데이터 전송 버퍼 영역과 디펙트(defect) 정보가 저장되는 스크래치 버퍼 영역이 내장된 데이터 저장 수단에서 상기 버퍼 영역들의 크기를 동적으로 조절하는 방법에 있어서,
    (a) 상기 데이터 전송 버퍼 영역과 스크래치 버퍼 영역으로 각각 할당된 영역을 탐지하는 단계;
    (b) 상기 스크래치 버퍼 영역에 실제로 저장된 디펙트 정보가 차지하는 영역을 탐지하는 단계;
    (c) 실제로 저장된 디펙트 정보가 차지하는 영역을 제외한 상기 스크래치 버퍼의 사용되지 않고 있는 영역을 결정하는 단계; 및
    (d) 상기 데이터 저장 수단에 연결된 소정의 호스트 장치로 데이터를 전송하는 명령을 수신하는 경우 상기 (c) 단계에서 결정된 사용되고 있지 않은 스크래치 버퍼 영역을 데이터 전송 버퍼 영역으로 할당하는 단계;를 포함하는 것을 특징으로 하는 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 방법.
  2. 제1항에 있어서,
    상기 (a) 단계 내지 (d) 단계에서 버퍼 영역을 탐지, 결정 또는 할당하는 것 은 해당되는 영역의 어드레스 값을 기준으로 실시하는 것을 특징으로 하는 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 방법.
  3. 제1항에 있어서,
    상기 데이터 저장 수단이 아이디이(IDE) 인터페이스를 통해 상기 호스트 장치와 연결될 때에, 상기 (d) 단계에서 상기 데이터 저장 수단이 상기 호스트 장치로 데이터를 전송하는 명령은 ATA(AT Attachment) 스펙(SPEC)에 정의되어 있는 Identify 및 SMART 명령을 포함하는 것을 특징으로 하는 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 방법.
  4. 제1항에 있어서,
    (f) 상기 (d) 단계 후에 데이터 전송이 완료된 후 데이터 전송 버퍼 영역으로 할당되었던 사용되지 않았던 스크래치 버퍼 영역을 다시 원래의 스크래치 버퍼 영역으로 재할당하는 단계;를 더 포함하는 것을 특징으로 하는 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 방법.
  5. 제1항 또는 제2항에 있어서,
    상기 스크래치 버퍼 영역에서 실제 디펙트 정보가 차지하는 영역은 상기 데 이터 전송 버퍼 및 스크래치 버퍼의 전체 버퍼 영역의 최상위 어드레스 혹은 최하위 어드레스로 결정되는 영역인 것을 특징으로 하는 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 방법.
  6. 데이터 전송 버퍼 영역과 디펙트(defect) 정보가 저장되는 스크래치 버퍼 영역이 내장된 데이터 저장 수단에서 상기 버퍼 영역들의 크기를 동적으로 조절하는 장치에 있어서,
    상기 데이터 전송 버퍼 영역과 스크래치 버퍼 영역으로 각각 할당된 영역, 상기 스크래치 버퍼 영역에 실제로 저장된 디펙트 정보가 차지하는 영역을 탐지하여 실제로 저장된 디펙트 정보가 차지하는 영역을 제외한 상기 스크래치 버퍼의 사용하고 있지 않은 영역을 결정하는 영역결정부;
    상기 데이터 저장 수단에 연결된 소정의 호스트 장치로부터의 명령을 수신하여 그 내용을 해석하는 명령어수신부; 및
    상기 명령어수신부에서 해석된 명령이 상기 호스트 장치로 데이터를 전송하는 명령인 경우 상기 영역결정부에서 결정된 실제로 저장된 디펙트 정보가 차지하는 영역을 제외한 상기 스크래치 버퍼의 사용하고 있지 않은 영역을 데이터 전송 버퍼 영역으로 할당하는 영역할당부;를 포함하는 것을 특징으로 하는 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 장치.
  7. 제6항에 있어서,
    상기 영역할당부는 데이터 전송이 완료된 후 상기 데이터 전송 버퍼 영역으로 할당되었던 스크래치 버퍼의 사용하고 있지 않던 영역을 원래의 스크래치 버퍼 영역으로 재할당하는 것을 특징으로 하는 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 장치.
  8. 제6항 또는 제7항에 있어서,
    상기 데이터 저장 수단이 아이디이(IDE) 인터페이스를 통해 상기 호스트 장치와 연결될 때에, 상기 데이터 저장 수단이 상기 호스트 장치로 데이터를 전송하는 명령은 ATA(AT Attachment) 스펙(SPEC)에 정의되어 있는 Identify 및 SMART 명령을 포함하는 것을 특징으로 하는 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치 버퍼 영역의 크기를 동적으로 조절하는 장치.
KR1020050004482A 2005-01-18 2005-01-18 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치버퍼 영역의 크기를 동적으로 조절하는 방법 및 그 장치 KR100674944B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050004482A KR100674944B1 (ko) 2005-01-18 2005-01-18 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치버퍼 영역의 크기를 동적으로 조절하는 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050004482A KR100674944B1 (ko) 2005-01-18 2005-01-18 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치버퍼 영역의 크기를 동적으로 조절하는 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20060083604A KR20060083604A (ko) 2006-07-21
KR100674944B1 true KR100674944B1 (ko) 2007-01-26

Family

ID=37173923

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050004482A KR100674944B1 (ko) 2005-01-18 2005-01-18 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치버퍼 영역의 크기를 동적으로 조절하는 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR100674944B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980020118A (ko) * 1996-09-05 1998-06-25 김광호 하드 디스크 드라이브의 신뢰성 향상을 위한 메인턴언스영역 가변방법
KR19990060321A (ko) * 1997-12-31 1999-07-26 윤종용 디지털 비디오 디스크-램 시스템에서 디펙트 섹터 데이터의처리방법
KR20000031982A (ko) * 1998-11-11 2000-06-05 구자홍 광 기록매체의 스페어 영역 할당 방법
KR20000034797A (ko) * 1998-11-10 2000-06-26 윤종용 결함 관리를 위한 여유 공간과 그 관리 정보를 갖는 디스크, 여
JP2000293948A (ja) 1999-02-01 2000-10-20 Matsushita Electric Ind Co Ltd 情報記録媒体、情報記録方法および情報記録再生システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980020118A (ko) * 1996-09-05 1998-06-25 김광호 하드 디스크 드라이브의 신뢰성 향상을 위한 메인턴언스영역 가변방법
KR19990060321A (ko) * 1997-12-31 1999-07-26 윤종용 디지털 비디오 디스크-램 시스템에서 디펙트 섹터 데이터의처리방법
KR20000034797A (ko) * 1998-11-10 2000-06-26 윤종용 결함 관리를 위한 여유 공간과 그 관리 정보를 갖는 디스크, 여
KR20000031982A (ko) * 1998-11-11 2000-06-05 구자홍 광 기록매체의 스페어 영역 할당 방법
JP2000293948A (ja) 1999-02-01 2000-10-20 Matsushita Electric Ind Co Ltd 情報記録媒体、情報記録方法および情報記録再生システム

Also Published As

Publication number Publication date
KR20060083604A (ko) 2006-07-21

Similar Documents

Publication Publication Date Title
US11048624B2 (en) Methods for multi-stream garbage collection
KR101486987B1 (ko) 불휘발성 메모리를 포함하는 반도체 메모리 장치 및 불휘발성 메모리를 위한 커맨드 스케줄링 방법
CN107885456B (zh) 减少io命令访问nvm的冲突
US8112603B2 (en) Methods, systems, and computer program products for file relocation on a data storage device
US10049040B2 (en) Just in time garbage collection
CN100378686C (zh) 用于高速缓存的磁盘装置和控制方法
US6185665B1 (en) File management apparatus, file management method, and recording medium containing file management program
TWI660346B (zh) 記憶體管理方法以及儲存控制器
US8255663B2 (en) System and method for processing read request
US20110167208A1 (en) Nonvolatile memory device, access device, nonvolatile memory system, and memory controller
CN106569732B (zh) 数据迁移方法及装置
US11385831B2 (en) Memory controller and storage device including the same
WO2006035572A1 (ja) データインタリーブ装置
US10599619B2 (en) Techniques for managing file fragmentation at a computing device
US20100235599A1 (en) Access control device, storage system, and access control method
US20110016261A1 (en) Parallel processing architecture of flash memory and method thereof
US7035994B2 (en) Storage device, information processing system having storage device, format method for storage device, data recording method, and program for implementing formatting and data recording
US8131923B2 (en) Optimizing execution of I/O requests for a disk drive in a computing system
CN112765055B (zh) 存储设备的控制部件
KR100674944B1 (ko) 데이터 저장 수단에서 데이터 전송 버퍼 영역과 스크래치버퍼 영역의 크기를 동적으로 조절하는 방법 및 그 장치
CN107885667B (zh) 降低读命令处理延迟的方法与装置
US7200771B2 (en) Relocation batch processing for disk drives
US11960724B2 (en) Device for detecting zone parallelity of a solid state drive and operating method thereof
EP3182267B1 (en) Method and device for isolating disk regions
US9058113B2 (en) Storage region providing device, storage region providing method, and recording medium

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee