KR100564573B1 - 데이터 저장 시스템에서의 데이터 보호 방법 및 이를이용한 디스크 드라이브 - Google Patents

데이터 저장 시스템에서의 데이터 보호 방법 및 이를이용한 디스크 드라이브 Download PDF

Info

Publication number
KR100564573B1
KR100564573B1 KR1020030060206A KR20030060206A KR100564573B1 KR 100564573 B1 KR100564573 B1 KR 100564573B1 KR 1020030060206 A KR1020030060206 A KR 1020030060206A KR 20030060206 A KR20030060206 A KR 20030060206A KR 100564573 B1 KR100564573 B1 KR 100564573B1
Authority
KR
South Korea
Prior art keywords
data
area
security
password
disk
Prior art date
Application number
KR1020030060206A
Other languages
English (en)
Other versions
KR20050022625A (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 KR1020030060206A priority Critical patent/KR100564573B1/ko
Priority to US10/909,686 priority patent/US7490357B2/en
Priority to JP2004249061A priority patent/JP4005066B2/ja
Publication of KR20050022625A publication Critical patent/KR20050022625A/ko
Application granted granted Critical
Publication of KR100564573B1 publication Critical patent/KR100564573B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 데이터 저장 장치 및 그 제어 방법에 관한 것으로서, 특히 데이터 저장 장치에 데이터를 암호화하는 기능을 수행하는 일부 부품이 교체되더라도 저장 장치 내부의 데이터가 외부로 유출되는 것을 방지하기 위한 데이터 저장 시스템에서의 데이터 보호 방법 및 이를 이용한 디스크 드라이브에 관한 것이다.
본 발명에 의한 데이터 저장 시스템에서의 데이터 보호 방법에 따른 시큐리티 인에이블 방법은 데이터 저장 시스템의 데이터 보호 방법에 있어서, (a) 호스트 컴퓨터로부터 시큐리티 인에이블 코멘드가 입력되는지를 판단하는 단계, (b) 상기 시큐리티 인에이블 코멘드가 입력되는 경우에, 디스크의 초기 설정된 제1영역에 저장된 하드디스크 드라이브 동작에 필요한 초기화 데이터를 랜덤한 제2영역으로 이동시키고 제1영역에 저장된 데이터를 지우는 단계, (c) 상기 디스크의 제2영역의 위치 정보를 메모리에 저장하는 단계 및 (d) 펌웨어 코드 내의 암호와 디스크의 소정의 영역에 저장된 암호를 랜덤한 값으로 변경시키고, 시큐리티 플래그를 시큐리티 모드를 표현하는 값으로 세팅하는 단계를 포함함을 특징으로 한다.

Description

데이터 저장 시스템에서의 데이터 보호 방법 및 이를 이용한 디스크 드라이브{Method for protecting data in data storage system and disc drive using the same}
도 1은 본 발명이 적용되는 디스크 드라이브의 구성의 평면도이다.
도 2는 본 발명에 의한 데이터 보호 방법이 적용되는 디스크 드라이브의 전기적인 회로 구성도이다.
도 3은 본 발명에 의한 데이터 보호 방법에서의 노말 모드에서 시큐리티 모드로의 전환 프로세스의 흐름도이다.
도 4는 본 발명에 의한 데이터 보호 방법에서의 시큐리티 모드에서 노말 모드로의 전환 프로세스의 흐름도이다.
도 5는 본 발명의 제1실시 예에 의한 데이터 보호를 위한 초기화 프로세스의 흐름도이다.
도 6은 본 발명의 제2실시 예에 의한 데이터 보호를 위한 초기화 프로세스의 흐름도이다.
본 발명은 데이터 저장 장치 및 그 제어 방법에 관한 것으로서, 특히 데이터 저장 장치에 데이터를 암호화하는 기능을 수행하는 일부 부품이 교체되더라도 저장 장치 내부의 데이터가 외부로 유출되는 것을 방지하기 위한 데이터 저장 시스템에서의 데이터 보호 방법 및 이를 이용한 디스크 드라이브에 관한 것이다.
데이터 저장 장치 중의 하나인 하드디스크 드라이브는 전원이 공급되면 초기화 프로세스가 시작되어 스핀들 모터 및 헤드 위치가 정해진 초기 위치로 이동되고, MC 데이터를 디스크의 특정 영역으로부터 독출하여 버퍼에 저장시킨다. MC 데이터가 저장된 디스크의 특정 영역은 사용자는 접근이 불가능하고, 하드디스크 드라이브 내부적으로만 접근이 가능하며 하드디스크 드라이브를 초기화시키는데 필요한 정보(serial number, defect list, smart 정보, zone 정보 등)들이 포함되어 있는 공간이다. 이와 같이 버퍼에 로딩된 MC 데이터에는 하드디스크 드라이브의 동작에 필수적인 정보들을 포함하고 있고 이를 이용하여 하드디스크 드라이브는 리드/라이트 등의 동작을 실행시킨다. 따라서, 이러한 MC 데이터들이 없으면 하드디스크 드라이브는 정상적인 동작을 실행할 수 없게 된다.
MC 데이터들은 하드디스크 드라이브에 전원이 공급될 때마다 초기화하는 과정에서 버퍼에 로딩되며, 버퍼에 로딩된 MC 데이터들은 전원이 차단되면 사라지게 된다.
일반적으로, 하드디스크 드라이브 내부의 정보를 보호하고자 하는 경우에 펌웨어(Firmware)에 데이터 보호에 필요한 락(lock)을 걸기 위한 수단을 마련하여 놓는다. 따라서, 종래의 기술에 의하면 펌웨어가 로딩된 인쇄회로기판(PCB)을 락이 걸리지 않은 PCB로 교체하는 경우에 하드디스크 드라이브 내부 정보는 락이 걸리지 않은 일반 하드디스크 드라이브에서와 같이 용이하게 유출될 수 있게 되는 문제점이 있었다.
본 발명이 이루고자하는 기술적 과제는 상술한 문제점을 해결하기 위하여 데이터 저장 장치에서 펌웨어가 교체되더라도 내부 정보가 외부로 유출되는 것을 방지하기 위한 데이터 저장 시스템에서의 데이터 보호 방법 및 이를 이용한 디스크 드라이브를 제공하는데 있다.
상기 기술적 과제를 달성하기 위하여 본 발명에 의한 데이터 저장 시스템에서의 데이터 보호 방법에 따른 시큐리티 인에이블 방법은 데이터 저장 시스템의 데이터 보호 방법에 있어서, (a) 호스트 컴퓨터로부터 시큐리티 인에이블 코멘드가 입력되는지를 판단하는 단계, (b) 상기 시큐리티 인에이블 코멘드가 입력되는 경우에, 디스크의 초기 설정된 제1영역에 저장된 하드디스크 드라이브 동작에 필요한 초기화 데이터를 랜덤한 제2영역으로 이동시키고 제1영역에 저장된 데이터를 지우는 단계, (c) 상기 디스크의 제2영역의 위치 정보를 메모리에 저장하는 단계 및 (d) 펌웨어 코드 내의 암호와 디스크의 소정의 영역에 저장된 암호를 랜덤한 값으로 변경시키고, 시큐리티 플래그를 시큐리티 모드를 표현하는 값으로 세팅하는 단계를 포함함을 특징으로 한다.
상기 기술적 과제를 달성하기 위하여 본 발명의 제1실시 예에 의한 데이터 저장 시스템에서의 데이터 보호 방법에 따른 디스크 드라이브의 초기화 제어 방법은 데이터 저장 시스템 제어 방법에 있어서, (a) 초기화 모드에 진입된 경우에, 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있는지를 판단하는 단계, (b) 상기 단계(a)의 판단 결과 상기 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있지 않은 경우에는 초기 설정된 디스크의 제1영역으로부터 하드디스크 드라이브 동작에 필요한 초기화 데이터를 읽어내어 버퍼에 저장하는 단계, (c) 상기 단계(a)의 판단 결과 상기 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있는 경우에, 펌웨어 코드 내의 암호와 디스크의 소정의 영역에 저장된 암호를 비교하는 단계 및 (d) 상기 단계(c)의 비교 결과 펌웨어 코드 내의 암호와 디스크의 소정의 영역에 저장된 암호가 동일한 경우에, 시큐리티 인에이블 코멘드에 의하여 디스크의 랜덤한 제2영역에 이동 저장된 상기 초기화 데이터를 읽어내어 버퍼에 저장하는 단계를 포함함을 특징으로 한다.
상기 기술적 과제를 달성하기 위하여 본 발명의 제2실시 예에 의한 데이터 저장 시스템에서의 데이터 보호 방법에 따른 디스크 드라이브의 초기화 제어 방법은 데이터 저장 시스템 제어 방법에 있어서, (a) 초기화 모드에 진입된 경우에, 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있는지를 판단하는 단계, (b) 상기 단계(a)의 판단 결과 상기 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있지 않은 경우에는 초기 설정된 디스크의 제1영역으로부터 하드디스크 드라이브 동작에 필요한 초기화 데이터를 읽어내어 버퍼에 저장하는 단계, (c) 상기 단계(a)의 판단 결과 상기 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있는 경우에, 호스트 컴퓨터로부터 사용자 암호를 입력받는 단계, (d) 상기 사용자 암호와 펌웨어 코드 내의 암호와 디스크의 소정의 영역에 저장된 암호를 비교하는 단계 및 (e) 상기 단계(d)의 비교 결과 상기 사용자 암호와 펌웨어 코드 내의 암호와 디스크의 소정의 영역에 저장된 암호가 동일한 경우에, 시큐리티 인에이블 코멘드에 의하여 디스크의 랜덤한 제2영역에 이동 저장된 상기 초기화 데이터를 읽어내어 버퍼에 저장하는 단계를 포함함을 특징으로 한다.
상기 다른 기술적 과제를 달성하기 위하여 본 발명에 의한 디스크 드라이브는 데이터 저장 장치에 있어서, 호스트 기기와의 데이터 송/수신 처리를 실행하는 호스트 인터페이스, 디스크 드라이브를 제어하는 펌웨어 및 제어 정보를 내장하는 메모리, 하드디스크 드라이브 동작에 필요한 초기화 데이터를 저장하는 버퍼, 시큐리티 인에이블 코멘드에 상응하여 디스크의 초기 설정된 제1영역에 저장된 하드디스크 드라이브 동작에 필요한 초기화 데이터를 랜덤한 제2영역으로 이동시키고 상기 디스크의 제2영역의 위치 정보를 상기 메모리에 저장시키며, 상기 펌웨어 코드 내의 암호와 상기 디스크의 소정의 영역에 저장된 암호를 랜덤한 값으로 변경시키고, 시큐리티 플래그를 시큐리티 모드를 표현하는 값으로 세팅하는 제1프로세스를 실행시키고, 초기화 모드에서는 상기 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있지 않은 경우에는 상기 디스크의 제1영역으로부터 상기 초기화 데이터를 읽어내어 상기 버퍼에 저장시키고, 상기 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있는 경우에 상기 펌웨어 코드 내의 암호와 디스크의 소정의 영역에 저장된 암호를 비교한 후에 일치하면 상기 제2영역으로부터 상기 초기화 데이터를 읽어내어 상기 버퍼에 저장하는 제2프로세스를 실행시키기 위한 콘트롤러 및 상기 호스트 인터페이스를 통하여 수신되는 데이터를 디스크에 기록하거나, 또는 상기 디스크로부터 데이터를 읽어내기 위한 데이터 처리를 실행하는 기록/판독 회로를 포함함을 특징으로 한다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세히 설명하기로 한다.
도 1은 본 발명이 적용되는 디스크 드라이브(10)의 구성을 보여준다. 드라이브(10)는 스핀들 모터(14)에 의하여 회전되는 적어도 하나의 자기 디스크(12)를 포함하고 있다. 디스크 드라이브(10)는 디스크 표면(18)에 인접되게 위치한 변환기(16)를 또한 포함하고 있다.
변환기(16)는 각각의 디스크(12)의 자계를 감지하고 자화시킴으로써 회전하는 디스크(12)에서 정보를 읽거나 기록할 수 있다. 전형적으로 변환기(16)는 각 디스크 표면(18)에 결합되어 있다. 비록 단일의 변환기(16)로 도시되어 설명되어 있지만, 이는 디스크(12)를 자화시키기 위한 기록용 변환기와 디스크(12)의 자계를 감지하기 위한 분리된 읽기용 변환기로 이루어져 있다고 이해되어야 한다. 읽기용 변환기는 자기 저항(MR : Magneto-Resistive) 소자로부터 구성되어 진다.
변환기(16)는 슬라이더(20)에 통합되어 질 수 있다. 슬라이더(20)는 변환기(16)와 디스크 표면(18)사이에 공기 베어링(air bearing)을 생성시키는 구조로 되어 있다. 슬라이더(20)는 헤드 짐벌 어셈블리(22)에 결합되어 있다. 헤드 짐 벌 어셈블리(22)는 보이스 코일(26)을 갖는 엑츄에이터 암(24)에 부착되어 있다. 보이스 코일(26)은 보이스 코일 모터(VCM : Voice Coil Motor 30)를 특정하는 마그네틱 어셈블리(28)에 인접되게 위치하고 있다. 보이스 코일(26)에 공급되는 전류는 베어링 어셈블리(32)에 대하여 엑츄에이터 암(24)을 회전시키는 토오크를 발생시킨다. 엑츄에이터 암(24)의 회전은 디스크 표면(18)을 가로질러 변환기(16)를 이동시킬 것이다.
정보는 전형적으로 디스크(12)의 환상 트랙내에 저장된다. 각 트랙(34)은 일반적으로 복수의 섹터를 포함하고 있다. 각 섹터는 데이터 필드(data field)와 식별 필드(identification field)를 포함하고 있다. 식별 필드는 섹터 및 트랙(실린더)을 식별하는 그레이 코드(Gray code)로 구성되어 있다. 변환기(16)는 다른 트랙에 있는 정보를 읽거나 기록하기 위하여 디스크 표면(18)을 가로질러 이동된다.
도 2는 본 발명이 적용되는 디스크 드라이브의 전기적인 회로를 보여준다.
도 2에 도시된 바와 같이, 본 발명에 의한 디스크 드라이브는 디스크(12), 변환기(16), 프리 앰프(210), 기록/판독 채널(220), 호스트 인터페이스(230), 콘트롤러(240), 메모리(250) 및 버퍼(260)를 구비한다.
위의 프리 앰프(210) 및 기록/판독 채널(220)을 포함하는 회로 구성을 기록/판독 회로라 칭하기로 한다.
메모리(250)에는 디스크 드라이브를 제어하기 위한 각종 프로그램 및 데이터들이 저장되어 있으며, 특히 본 발명에 의한 하드디스크 드라이브에서의 데이터 보호 방법을 실행시키기 위한 도 3∼ 도 6의 흐름도를 실행시키기 위한 프로그램 및 데이터들이 저장되어 있다. 이때 메모리(250)는 비휘발성 메모리로 설계한다.
버퍼(260)에는 콘트롤러(240)의 제어에 의하여 디스크로부터 읽어낸 하드디스크 드라이브 동작에 필요한 초기화 데이터들이 저장된다. 위의 하드디스크 드라이브 동작에 필요한 초기화 데이터에는 디스크의 메인터넌스 실린더 데이터(Maintenance Cylinder data; 이하 MC 데이터라 칭함)가 포함된다.
콘트롤러(240)는 디스크 드라이브를 총괄적으로 제어하며, 특히 본 발명에 의한 디스크의 데이터 보호를 위하여 도 3 ∼ 도 6과 같은 프로세스를 실행시키도록 제어한다.
우선, 일반적인 디스크 드라이브의 동작을 설명하면 다음과 같다.
데이터 판독(Read) 모드에서, 디스크 드라이브는 디스크(12)로부터 변환기(16 ; 자기 헤드 또는 자기 저항 헤드)에 의하여 감지된 전기적인 신호를 프리 앰프(210)에서 신호 처리에 용이하도록 증폭시킨다. 그리고 나서, 기록/판독 채널(220)에서는 증폭된 아날로그 신호를 호스트 기기(도면에 미도시)가 판독할 수 있는 디지털 신호로 부호화시키고, 스트림 데이터로 변환하여 호스트 인터페이스(230)를 통하여 호스트 기기로 전송한다.
반대로 데이터의 기록(Write) 모드에서, 디스크 드라이브는 호스트 인터페이스(230)를 통하여 호스트 기기로부터 사용자 데이터를 입력받아 기록/판독 채널(220)에서 기록 채널에 적합한 바이너리 데이터 스트림으로 변환시킨 후에 프리 앰프(210)에 의하여 증폭된 기록 전류를 변환기(16 ; 자기 헤드)를 통하여 디스크(12)에 기록시킨다.
그러면, 위의 같은 디스크 드라이브에서의 본 발명에 의한 데이터 보호 방법에 대하여 도 3∼6의 흐름도를 참조하여 설명하기로 한다.
우선, 도 3의 흐름도를 참조하여 하드디스크 드라이브를 노말(Normal) 모드에서 시큐리티 인에이블(security enable) 모드로 전환시키는 방법에 대하여 설명하기로 한다.
하드디스크 드라이브에 전원이 공급되면, 콘트롤러(240)는 하드디스크 드라이브의 초기화 모드를 시작한다(S301, S302). 노말 모드에서의 초기화 제어 프로세는 우선, 스핀들 모터를 정속도로 회전시키고, 변환기(16)를 MC 데이터가 저장되어 있는 디스크의 초기 설정된 제1영역의 위치로 이동시키도록 제어한다. MC 데이터에는 하드디스크 드라이브의 동작에 필요한 정보(Serial number, Detect list, Smart 정보, Zone 정보 등)들이 포함되어 있다.
그리고 나서, 변환기(16)에 의하여 디스크의 제1영역으로부터 MC 데이터를 읽어들여 버퍼(260)에 저장한다(S303). 이와 같은 프로세스를 실행하고 나면, 하드디스크 드라이브의 초기화 모드의 실행이 종료되고, 다음 코멘드가 입력될 때까지 대기한다(S304).
호스트 컴퓨터(도면에 미도시)로부터 호스트 인터페이스(230)를 통하여 하드디스크 드라이브의 콘트롤러(240)로 시큐리티 인에이블 코멘드(Security Enable Command)가 입력되는 경우에, 디스크의 제1영역에 저장되어 있는 MC 데이터를 랜덤하게 생성된 제2영역으로 이동시켜 저장한다. 물론 제1영역에 저장되어 있는 데이터는 지운다(S305, S306).
그리고 나서, 콘트롤러(240)는 랜덤하게 생성된 제2영역의 위치 정보를 메모리(250)에 저장시킨다(S307).
다음으로, 콘트롤러(240)는 메모리(250)에 내장된 펌웨어 코드 내의 암호(Uniq_C)와 디스크에 저장된 암호(Uniq_M)를 랜덤한 값으로 변경시키고(S308), 시큐리티 플래그(Security Flag)를 시큐리티 모드를 표현하는 값('1')으로 세팅한다(S309).
이와 같이, 시큐리티 인에이블 모드에서 하드디스크 드라이브는 디스크의 초기 설정된 제1영역에 저장된 MC 데이터를 랜덤하게 생성시킨 제2영역으로 이동시키게 된다. 그리고, 펌웨어 코드 내의 암호(Uniq_C)와 디스크에 저장된 암호(Uniq_M)를 랜덤한 값으로 변경시키고, 시큐리티 플래그(Security Flag)를 '1'로 세팅시킨다.
다음으로, 도 4의 흐름도를 참조하여 하드디스크 드라이브를 시큐리티 인에이블(security enable) 모드에서 노말(Normal) 모드로 전환시키는 방법에 대하여 설명하기로 한다.
하드디스크 드라이브에 전원이 공급되면, 콘트롤러(240)는 하드디스크 드라이브의 초기화 모드를 시작한다(S401, S402). 시큐리티 모드에서의 초기화 제어 프로세는 우선, 스핀들 모터를 정속도로 회전시키고, 변환기(16)를 MC 데이터가 저장되어 있는 디스크의 제2영역의 위치로 이동시키도록 제어한다.
그리고 나서, 변환기(16)에 의하여 디스크의 제2영역으로부터 MC 데이터를 읽어들여 버퍼(260)에 저장한다(S403). 이와 같은 프로세스를 실행하고 나면, 하드 디스크 드라이브의 초기화 모드의 실행이 종료되고, 다음 코멘드가 입력될 때까지 대기한다(S404).
호스트 컴퓨터(도면에 미도시)로부터 호스트 인터페이스(230)를 통하여 하드디스크 드라이브의 콘트롤러(240)로 시큐리티 디스에이블 코멘드(Security Disable Command)가 입력되는 경우에, 디스크의 제2영역에 저장되어 있는 MC 데이터를 초기 설정된 제1영역으로 이동시켜 저장한다. 물론 제2영역에 저장되어 있는 데이터는 지운다(S405, S406).
그리고 나서, 시큐리티 플래그(Security Flag)를 노말 모드를 표현하는 값('0')으로 세팅한다(S407).
이와 같이, 시큐리티 디스에이블 모드에서 하드디스크 드라이브는 랜덤하게 생성시킨 제2영역으로 이동 저장된 MC 데이터를 다시 디스크의 초기 설정된 제1영역으로 이동시켜 저장하고, 시큐리티 플래그(Security Flag)를 '0'으로 세팅한다.
다음으로, 도 3 및 도 4에 도시된 바와 같이 설정되는 시큐리티 모드 및 노말 모드에서 본 발명의 제1실시 예에 의한 데이터 보호를 위한 초기화 모드 실행 방법에 대하여 도 5의 흐름도를 참조하여 설명하기로 한다.
하드디스크 드라이브에 전원이 공급되면, 콘트롤러(240)는 하드디스크 드라이브의 초기화 모드를 시작한다(S501, S502).
그러면, 콘트롤러(240)는 시큐리티 플래그 값을 확인하여 시큐리티 모드를 나타내는 '1'로 세팅되어 있으면, 메모리(250)에 내장된 펌웨어 코드 내의 암호(Uniq_C)와 디스크에 저장된 암호(Uniq_M)의 일치 여부를 판단한다(S503, 504).
단계504(S504)의 판단 결과 펌웨어 코드 내의 암호(Uniq_C)와 디스크에 저장된 암호(Uniq_M)가 일치하는 경우에는 디스크의 제2영역으로부터 MC 데이터를 읽어들여 버퍼(260)에 저장한 후에, 초기화 모드의 실행을 종료한다(S505, S506).
그러나, 단계504(S504)의 판단 결과 펌웨어 코드 내의 암호(Uniq_C)와 디스크에 저장된 암호(Uniq_M)가 일치하지 않는 경우에는 초기화 실행을 중단시킨다(S508).
만일 단계503(S503)의 판단 결과 시큐리티 플래그 값이 '1'이 아닌 경우에는, 노말 모드에 해당되므로 디스크의 제1영역으로부터 MC 데이터를 읽어내어 버퍼(260)에 저장한 후에 초기화 실행을 종료한다(S507, S506).
다음으로, 도 3 및 도 4에 도시된 바와 같이 설정되는 시큐리티 모드 및 노말 모드에서 본 발명의 제2실시 예에 의한 데이터 보호를 위한 초기화 모드 실행 방법에 대하여 도 6의 흐름도를 참조하여 설명하기로 한다.
하드디스크 드라이브에 전원이 공급되면, 콘트롤러(240)는 하드디스크 드라이브의 초기화 모드를 시작한다(S601, S602).
그러면, 콘트롤러(240)는 시큐리티 플래그 값을 확인하여 시큐리티 모드를 나타내는 '1'로 세팅되어 있으면, 호스트 컴퓨터(도면에 미도시)로부터 호스트 인터페이스(230)를 통하여 사용자 암호(Password)를 입력받는다(S604).
그리고 나서, 호스트 컴퓨터로부터 입력되는 사용자 암호(Password)와 메모리(250)에 내장된 펌웨어 코드 내의 암호(Uniq_C)와 디스크에 저장된 암호(Uniq_M) 의 일치 여부를 판단한다(S605).
단계605(S605)의 판단 결과 사용자 암호(Password)와 펌웨어 코드 내의 암호(Uniq_C)와 디스크에 저장된 암호(Uniq_M)가 일치하는 경우에는 디스크의 제2영역으로부터 MC 데이터를 읽어들여 버퍼(260)에 저장한 후에, 초기화 모드의 실행을 종료한다(S606, S607).
그러나, 단계605(S605)의 판단 결과 사용자 암호(Password)와 펌웨어 코드 내의 암호(Uniq_C)와 디스크에 저장된 암호(Uniq_M)가 일치하지 않는 경우에는 초기화 실행을 중단시킨다(S609).
만일 단계603(S603)의 판단 결과 시큐리티 플래그 값이 '1'이 아닌 경우에는, 노말 모드에 해당되므로 디스크의 제1영역으로부터 MC 데이터를 읽어내어 버퍼(260)에 저장한 후에 초기화 실행을 종료한다(S608, S607).
위에서 언급한 바와 같이, 시큐리티 모드에서 펌웨어를 통하여 데이터를 암호화하는 것뿐만 아니라 MC 데이터를 랜덤한 위치로 이동시켜 저장하여 하드디스크 드라이브의 펌웨어를 포함하는 전기 회로 기판과 하드디스크 어셈블리의 매칭 여부를 판단함으로써, 단순히 펌웨어를 교체하는 것만으로는 하드디스크 드라이브 내부 정보를 임의로 접근할 수 없게 되었다.
더 나아가 시큐리티 모드를 디스에이블시킬 때 하드디스크 드라이브 내부의 데이터를 모두 지우도록 프로그램하면 해당 데이터는 사용자가 시큐리티 모드로 하드디스크 드라이브를 동작시킬 때 이외에는 아무도 접근할 수 없게 된다.
본 발명은 방법, 장치, 시스템 등으로서 실행될 수 있다. 소프트웨어로 실행 될 때, 본 발명의 구성 수단들은 필연적으로 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되어 질 수 있으며 또는 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다. 프로세서 판독 가능 매체는 정보를 저장 또는 전송할 수 있는 어떠한 매체도 포함한다. 프로세서 판독 가능 매체의 예로는 전자 회로, 반도체 메모리 소자, ROM, 플레쉬 메모리, 이레이져블 ROM(EROM : Erasable ROM), 플로피 디스크, 광 디스크, 하드디스크, 광 섬유 매체, 무선 주파수(RF) 망, 등이 있다. 컴퓨터 데이터 신호는 전자 망 채널, 광 섬유, 공기, 전자계, RF 망, 등과 같은 전송 매체 위로 전파될 수 있는 어떠한 신호도 포함된다.
첨부된 도면에 도시되어 설명된 특정의 실시 예들은 단지 본 발명의 예로서 이해되어 지고, 본 발명의 범위를 한정하는 것이 아니며, 본 발명이 속하는 기술 분야에서 본 발명에 기술된 기술적 사상의 범위에서도 다양한 다른 변경이 발생될 수 있으므로, 본 발명은 보여지거나 기술된 특정의 구성 및 배열로 제한되지 않는 것은 자명하다.
상술한 바와 같이, 본 발명에 의하면 시큐리티 모드에서 펌웨어의 데이터 암호화뿐만 아니라 MC 데이터를 랜덤한 위치로 옮겨 적고 전기적인 회로와 하드디스크와의 매칭 여부를 판단함으로써, 하드디스크 드라이브의 펌웨어를 포함하는 전기회로 부품의 일부 또는 모두를 교체하더라도 하드디스크에 저장된 데이터를 임의로 접근할 수 없도록 보호할 수 있는 효과가 발생된다.

Claims (11)

  1. 데이터 저장 시스템의 데이터 보호 방법에 있어서,
    (a) 호스트 컴퓨터로부터 시큐리티 인에이블 코멘드가 입력되는지를 판단하는 단계;
    (b) 상기 시큐리티 인에이블 코멘드가 입력되는 경우에, 디스크의 초기 설정된 제1영역에서 하드디스크 드라이브 동작에 필요한 초기화 데이터를 읽어들여 랜덤한 제2영역으로 이동시키고 상기 제1영역에 저장된 초기화 데이터를 지우는 단계;
    (c) 상기 디스크의 제2영역의 위치 정보를 메모리에 저장하는 단계; 및
    (d) 펌웨어 코드 내의 암호와 디스크의 소정의 영역에 저장된 암호를 랜덤한 값으로 변경시키고, 시큐리티 플래그를 시큐리티 모드를 표현하는 값으로 세팅하는 단계를 포함함을 특징으로 하는 시큐리티 인에이블 방법.
  2. 제1항에 있어서, 상기 단계(d)의 수행 후에,
    상기 시큐리티 모드에서 시큐리티 디스에이블 코멘드가 입력되는 경우, 상기 제2영역의 초기화 데이터를 상기 제1영역으로 이동시키고 상기 제2영역에 저장된 초기화 데이터를 지우며, 상기 시큐리티 플래그를 노말 모드를 표현하는 값으로 세팅하는 단계를 더 포함함을 특징으로 하는 시큐리티 인에이블 방법.
  3. 제1항에 있어서, 상기 메모리는 비휘발성 메모리를 포함함을 특징으로 하는 시큐리티 인에이블 방법.
  4. 제1항에 있어서, 상기 초기화 데이터는 메인터넌스 실린더(MC) 데이터를 포함함을 특징으로 하는 시큐리티 인에이블 방법.
  5. 데이터 저장 시스템 제어 방법에 있어서,
    (a) 초기화 모드에 진입된 경우에, 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있는지를 판단하는 단계;
    (b) 상기 단계(a)의 판단 결과 상기 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있지 않은 경우에는 초기 설정된 디스크의 제1영역으로부터 하드디스크 드라이브 동작에 필요한 초기화 데이터를 읽어내어 버퍼에 저장하는 단계;
    (c) 상기 단계(a)의 판단 결과 상기 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있는 경우에, 펌웨어 코드 내의 암호와 디스크의 소정의 영역에 저장된 암호를 비교하는 단계; 및
    (d) 상기 단계(c)의 비교 결과 펌웨어 코드 내의 암호와 디스크의 소정의 영역에 저장된 암호가 동일한 경우에, 시큐리티 인에이블 코멘드에 의하여 디스크의 랜덤한 제2영역에 이동 저장된 상기 초기화 데이터를 읽어내어 버퍼에 저장하는 단계를 포함함을 특징으로 하는 디스크 드라이브의 초기화 제어 방법.
  6. 제5항에 있어서, 상기 초기화 데이터는 메인터넌스 실린더(MC) 데이터를 포 함함을 특징으로 하는 디스크 드라이브의 초기화 제어 방법.
  7. 데이터 저장 시스템 제어 방법에 있어서,
    (a) 초기화 모드에 진입된 경우에, 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있는지를 판단하는 단계;
    (b) 상기 단계(a)의 판단 결과 상기 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있지 않은 경우에는 초기 설정된 디스크의 제1영역으로부터 하드디스크 드라이브 동작에 필요한 초기화 데이터를 읽어내어 버퍼에 저장하는 단계;
    (c) 상기 단계(a)의 판단 결과 상기 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있는 경우에, 호스트 컴퓨터로부터 사용자 암호를 입력받는 단계;
    (d) 상기 사용자 암호와 펌웨어 코드 내의 암호와 디스크의 소정의 영역에 저장된 암호를 비교하는 단계; 및
    (e) 상기 단계(d)의 비교 결과 상기 사용자 암호와 펌웨어 코드 내의 암호와 디스크의 소정의 영역에 저장된 암호가 동일한 경우에, 시큐리티 인에이블 코멘드에 의하여 디스크의 랜덤한 제2영역에 이동 저장된 상기 초기화 데이터를 읽어내어 버퍼에 저장하는 단계를 포함함을 특징으로 하는 디스크 드라이브의 초기화 제어 방법.
  8. 제7항에 있어서, 상기 초기화 데이터는 메인터넌스 실린더(MC) 데이터를 포함함을 특징으로 하는 디스크 드라이브의 초기화 제어 방법.
  9. 데이터 저장 장치에 있어서,
    호스트 기기와의 데이터 송/수신 처리를 실행하는 호스트 인터페이스;
    디스크 드라이브를 제어하는 펌웨어 및 제어 정보를 내장하는 메모리;
    하드디스크 드라이브 동작에 필요한 초기화 데이터를 저장하는 버퍼;
    시큐리티 인에이블 코멘드에 상응하여 디스크의 초기 설정된 제1영역에서 하드디스크 드라이브 동작에 필요한 초기화 데이터를 읽어들여 랜덤한 제2영역으로 이동시키고, 상기 제1영역에 저장된 초기화 데이터를 지우고, 상기 디스크의 제2영역의 위치 정보를 상기 메모리에 저장시키며, 상기 펌웨어 코드 내의 암호와 상기 디스크의 소정의 영역에 저장된 암호를 랜덤한 값으로 변경시키고, 시큐리티 플래그를 시큐리티 모드를 표현하는 값으로 세팅하는 제1프로세스를 실행시키고, 초기화 모드에서는 상기 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있지 않은 경우에는 상기 디스크의 제1영역으로부터 상기 초기화 데이터를 읽어내어 상기 버퍼에 저장시키고, 상기 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있는 경우에 상기 펌웨어 코드 내의 암호와 디스크의 소정의 영역에 저장된 암호를 비교한 후에 일치하면 상기 제2영역으로부터 상기 초기화 데이터를 읽어내어 상기 버퍼에 저장하는 제2프로세스를 실행시키기 위한 콘트롤러; 및
    상기 호스트 인터페이스를 통하여 수신되는 데이터를 디스크에 기록하거나, 또는 상기 디스크로부터 데이터를 읽어내기 위한 데이터 처리를 실행하는 기록/판독 회로를 포함함을 특징으로 하는 디스크 드라이브.
  10. 제9항에 있어서, 상기 초기화 데이터는 메인터넌스 실린더(MC) 데이터를 포함함을 특징으로 하는 디스크 드라이브.
  11. 제9항에 있어서, 상기 제2프로세스는 상기 시큐리티 플래그 값이 시큐리티 모드를 표현하는 값으로 세팅되어 있는 경우에, 호스트 컴퓨터로부터 사용자 암호를 입력받고, 상기 사용자 암호와 펌웨어 코드 내의 암호와 디스크의 소정의 영역에 저장된 암호를 비교하는 단계를 더 포함하여 상기 사용자 암호와 펌웨어 코드 내의 암호와 디스크의 소정의 영역에 저장된 암호가 일치하는 경우에만 상기 디스크의 제2영역으로부터 상기 초기화 데이터를 읽어내어 상기 버퍼에 저장함을 특징으로 하는 디스크 드라이브.
KR1020030060206A 2003-08-29 2003-08-29 데이터 저장 시스템에서의 데이터 보호 방법 및 이를이용한 디스크 드라이브 KR100564573B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020030060206A KR100564573B1 (ko) 2003-08-29 2003-08-29 데이터 저장 시스템에서의 데이터 보호 방법 및 이를이용한 디스크 드라이브
US10/909,686 US7490357B2 (en) 2003-08-29 2004-08-02 Data protection in data storage system
JP2004249061A JP4005066B2 (ja) 2003-08-29 2004-08-27 データ保存システムでのデータ保護方法,データ保存システム制御方法及びそれを利用したハードディスクドライブ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030060206A KR100564573B1 (ko) 2003-08-29 2003-08-29 데이터 저장 시스템에서의 데이터 보호 방법 및 이를이용한 디스크 드라이브

Publications (2)

Publication Number Publication Date
KR20050022625A KR20050022625A (ko) 2005-03-08
KR100564573B1 true KR100564573B1 (ko) 2006-03-29

Family

ID=34214746

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030060206A KR100564573B1 (ko) 2003-08-29 2003-08-29 데이터 저장 시스템에서의 데이터 보호 방법 및 이를이용한 디스크 드라이브

Country Status (3)

Country Link
US (1) US7490357B2 (ko)
JP (1) JP4005066B2 (ko)
KR (1) KR100564573B1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006103679A2 (en) 2005-04-01 2006-10-05 Ged-I Ltd. A method for data storage protection and encryption
JP4754903B2 (ja) * 2005-08-19 2011-08-24 富士通株式会社 半導体装置、及び半導体装置における制御方法
CN1949193A (zh) * 2005-10-14 2007-04-18 鸿富锦精密工业(深圳)有限公司 硬盘保护系统及方法
IL171963A0 (en) * 2005-11-14 2006-04-10 Nds Ltd Secure read-write storage device
CN100383881C (zh) * 2005-12-08 2008-04-23 杭州海康威视数字技术有限公司 一种嵌入式设备中硬盘关键信息区的保护方法
JP2007310609A (ja) * 2006-05-18 2007-11-29 Fuji Xerox Co Ltd データ処理装置、データ処理方法およびデータ処理プログラム
US8286093B2 (en) * 2008-01-09 2012-10-09 Dell Products L.P. Replacement motherboard configuration
US9530436B1 (en) 2010-08-12 2016-12-27 Western Digital Technologies, Inc. Methods and systems for providing data security in data storage devices
KR102147916B1 (ko) * 2014-04-14 2020-08-26 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
KR102536637B1 (ko) * 2018-03-29 2023-05-26 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5016121A (en) * 1988-02-25 1991-05-14 Tandon Corporation Disk drive controller system
US5535355A (en) * 1989-04-06 1996-07-09 Kabushiki Kaisha Toshiba Controller for a storage device which allows either prestored or user defined firmware to be executed
JPH0476749A (ja) * 1990-07-19 1992-03-11 Toshiba Corp セキュリティ回路
GB9323453D0 (en) * 1993-11-13 1994-01-05 Calluna Tech Ltd Security system for portable hard disk drive
JP3653709B2 (ja) * 1994-02-28 2005-06-02 株式会社セガ データセキュリティ装置
JP3219988B2 (ja) * 1995-12-25 2001-10-15 株式会社東芝 セキュリティ機能を有するディスク装置及び同装置におけるパスワード管理方法

Also Published As

Publication number Publication date
JP2005078643A (ja) 2005-03-24
JP4005066B2 (ja) 2007-11-07
US7490357B2 (en) 2009-02-10
KR20050022625A (ko) 2005-03-08
US20050047594A1 (en) 2005-03-03

Similar Documents

Publication Publication Date Title
KR100604833B1 (ko) 기록 매체의 데이터 보안 소거 방법 및 이를 이용한디스크 드라이브
KR100744122B1 (ko) 하이브리드 하드디스크 드라이브의 제어 방법, 이에 적합한기록 매체 그리고 이에 적합한 장치
US7337263B2 (en) Method of varying recording density of data storage medium and disk drive using the method
JP4733400B2 (ja) データ保存システムでの自動データアップデート方法及びそれを利用したディスクドライブ
KR100464440B1 (ko) 디스크 드라이브의 디펙트 처리 방법, 이에 적합한 기록매체 및 디스크 드라이브
KR100564573B1 (ko) 데이터 저장 시스템에서의 데이터 보호 방법 및 이를이용한 디스크 드라이브
US7487388B2 (en) Method of recovering reallocation sectors in data storage system and disc drive using the same
JP4317527B2 (ja) データ保存装置におけるヘッド動作制御方法,及びそれを利用したディスクドライブ,及びディスクドライブの設計方法
KR100524989B1 (ko) 데이터 저장 시스템에서의 리트라이 개선 방법 및 이를이용한 디스크 드라이브
KR100618880B1 (ko) 하드디스크 드라이브의 인증 방법 이에 적합한 기록 매체
KR100564624B1 (ko) 데이터 저장 시스템에서의 기록 및 재생 주파수 설계 방법및 이를 이용한 디스크 드라이브
KR100699880B1 (ko) 데이터 저장 시스템에서의 메인터넌스 실린더의 트랙 디펙관리 방법 및 이를 이용한 디스크 드라이브
KR100594264B1 (ko) 데이터 저장 시스템에서의 리트라이 제어 방법 및 이를이용한 디스크 드라이브
KR100699877B1 (ko) 데이터 저장 시스템에서의 디펙 섹터의 데이터 보존 방법및 이를 이용한 디스크 드라이브
KR100585165B1 (ko) 데이터 저장 장치 및 데이터 보호 방법
KR100604832B1 (ko) 데이터 저장 장치에서의 마스터/슬레이브 설정 방법 및이를 이용한 디스크 드라이브
KR100734312B1 (ko) 다중 인터페이스를 지원하는 데이터 저장 장치 및 그 제어방법
KR100640666B1 (ko) 데이터 저장 시스템에서의 트랙 디펙 관리 방법 및 이를이용한 디스크 드라이브
KR100189927B1 (ko) 하드 디스크 드라이브 제어장치 및 그 방법
US7663826B2 (en) Method and apparatus for copying data from one disc drive to another disc drive
KR100594247B1 (ko) 하드디스크 드라이브의 헤드 위치 판단 방법, 이를 이용한서보 데이터 기록 방법 및 트랙 어드레스 독출 방법
KR20050024935A (ko) 데이터 저장 시스템에서의 데이터 전송 속도 향상 방법 및이를 이용한 디스크 드라이브

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140311

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee