[go: up one dir, main page]

KR100801014B1 - Dos 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브와 그를 포함하는 컴퓨터 시스템, 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법 및 그를 포함하는 기록 매체 - Google Patents

Dos 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브와 그를 포함하는 컴퓨터 시스템, 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법 및 그를 포함하는 기록 매체 Download PDF

Info

Publication number
KR100801014B1
KR100801014B1 KR1020060078695A KR20060078695A KR100801014B1 KR 100801014 B1 KR100801014 B1 KR 100801014B1 KR 1020060078695 A KR1020060078695 A KR 1020060078695A KR 20060078695 A KR20060078695 A KR 20060078695A KR 100801014 B1 KR100801014 B1 KR 100801014B1
Authority
KR
South Korea
Prior art keywords
download
hard disk
disk drive
firmware
area
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020060078695A
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 KR1020060078695A priority Critical patent/KR100801014B1/ko
Priority to US11/842,218 priority patent/US8266611B2/en
Application granted granted Critical
Publication of KR100801014B1 publication Critical patent/KR100801014B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • 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/0638Organizing or formatting or addressing of data
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

DOS 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브가 개시된다. 호스트가 상기 DOS 부트 프로그램을 이용하여 부팅 과정을 종료한 후, 상기 하드 디스크 드라이브는 넌-유저 데이터 영역의 소정의 영역에 저장된 하드 디스크 드라이브의 펌웨어를 상기 넌-유저 데이터 영역의 다른 영역 또는 비휘발성 메모리 장치 중에서 적어도 하나로 다운로드하는 것을 제어하는 마이크로 프로세서를 구비한다. 따라서 상기 하드 디스크 드라이브는 FDD나 ODD와 같은 외부 저장 매체 없이도 자체적으로 하드 디스크 드라이브의 펌웨어를 다운로드할 수 있다.
하드 디스크 드라이브, 펌웨어 다운로드

Description

DOS 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브와 그를 포함하는 컴퓨터 시스템, 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법 및 그를 포함하는 기록 매체{Hard disk drive having a disk embedded DOS boot program and computer system using the same, a firmware download method of the hard disc drive and a record media using the same}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시예에 따른 디스크를 개념적으로 나타낸다.
도 2는 본 발명에 따른 DOS 부트 프로그램을 내장한 디스크를 포함하는 하드 디스크 드라이브와 호스트를 구비하는 컴퓨터 시스템의 기능 블락도를 나타낸다.
도 3은 본 발명에 따른 하드 디스크 드라이브의 펌웨어 다운로드 방법의 흐름을 나타내는 플로우 챠트이다.
도 4는 본 발명에 따른 하드 디스크 드라이브의 펌웨어 다운로드 방법을 이용하여 벤더-유니크 명령을 수행하기 위해 펌웨어에 포함되는 데이터 섹터의 구조를 나타낸다.
본 발명은 하드 디스크 드라이브에 관한 것으로, 보다 상세하게는 DOS 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브와 그를 포함하는 컴퓨터 시스템, 및 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법 및 그를 포함하는 기록 매체에 관한 것이다.
일반적인 하드 디스크 드라이브는 ATA-사양(specification)에서 정의되어 있는 다운로드 마이크로코드(download microcode (92h))를 이용하여 PIO 데이터 전송 (PIO data transfer)으로 호스트의 캐시 메모리(cache memory)에 다운로드된 펌웨어를 다운로드한다.
상기 펌웨어를 다운로드한 후에 상기 하드 디스크 드라이브는 마이크로 프로세서의 플레쉬 롬에 저장된 기존의 데이터를 삭제하고 다운로드된 펌웨어를 새로운 데이터로서 상기 플레쉬 롬에 라이트하고 검증하는 과정과 상기 다운로드된 펌웨어를 넌-유저 데이터 영역(예컨대, 디스크의 메인터넌스 영역)에 라이트하는 과정을 수행한다.
그리고, 상술한 데이터를 라이트하고 검증하는 과정이 끝나면, 상기 하드 디스크 드라이브와 호스트는 상태 초기화와 기존의 넌-유저 데이터 영역에 저장된 셋팅(setting) 정보를 읽어들이기 위한 파워 사이클(예컨대, 파워를 오프(off)한 후 다시 온(on)하는 과정)을 필요로 한다.
또한, 상기 파워 사이클이 종료되기 전에는 상기 하드 디스크 드라이브는 상기 호스트 (예컨대, PC)의 명령 수행 요청에 응답할 수 없는 상태를 유지한다.
그러나, OS(예컨대, 마이크로소프트(Microsoft)사의 윈도우즈(WindowsTM))가 로딩되어 동작하는 동안에 다운로드 마이크로코드가 수행된 후 파워 사이클을 수행하려면 동작 중인 상기 OS를 정상적으로 종료시키는 과정이 필요하다. 동작 중인 상기 OS를 정상적으로 종료시키기 위해서는 상기 하드 디스크 드라이브에 저장되어 있는 시스템 파일의 리드/라이트 및 스왑 파일 덤프(swap file dump) 등의 동작이 필요하므로, 펌웨어의 다운로드가 불가능해 질 수도 있다.
따라서 기존에는 다운로드 유틸리티를 제작하여 이를 플로피 디스크에 저장한 후 DOS 모드로 부팅한 후 상기 플로피 디스크로부터 상기 다운로드 유틸리티의 다운로드를 수행해 왔으나, 최근의 PC 시스템은 플로피 디스크 드라이브를 기본적으로 장착하지 않는 추세이다. 따라서 최종 사용자는 하드 디스크 드라이브로 새로운 펌웨어를 다운로드할 수 없는 경우가 발생 될 수 있고, 상기 다운로드가 가능하다 하더라도 상기 최종 사용자는 DOS 명령에 어느 정도 익숙해야 하는 한계가 있다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 펌웨어를 용이하게 다운로드할 수 있도록 DOS 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브와 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법을 제공하는 것이다.
또한, 본 발명이 이루고자 하는 다른 기술적인 과제는 상기 DOS 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브를 이용하여 상기 하드 디스크 드라이브의 펌웨어 다운로드 이외의 다른 벤더-유니크 (vendor-unique)명령을 수행하는 방법을 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 하드 디스크 드라이브의 디스크는 사용자가 사용하는 데이터를 저장하기 위한 유저 데이터 영역; 및 하드 디스크 드라이브의 물리적 정보, 및 DOS 부트 프로그램을 저장하기 위한 넌-유저 데이터 영역을 구비한다.
상기 기술적 과제를 달성하기 위한 하드 디스크 드라이브는 상기 디스크와 마이크로프로세서를 구비한다. 상기 마이크로 프로세서는 다운로드 명령에 기초하여 호스트로부터 전송된 펌웨어를 수신하고, 수신된 펌웨어를 상기 넌-유저 데이터 영역의 제1영역에 저장하는 것을 제어하고, 상기 저장이 완료되면 다운로드 플래그를 소정의 값으로 설정하고, 전원이 꺼졌다 다시 켜지면 상기 다운로드 플래그에 설정된 상기 소정의 값에 기초하여 LBA 매핑을 상기 DOS 부트 프로그램이 저장된 제2영역으로 다시 설정하고, 상기 호스트가 상기 DOS 부트 프로그램을 이용하여 부팅 과정을 종료한 후 상기 제1영역에 저장된 상기 펌웨어를 상기 넌-유저 데이터 영역의 제3영역 또는 비휘발성 메모리 장치 중에서 적어도 하나로 다운로드하는 것을 제어한다.
상기 펌웨어는 벤더-유니크 명령을 수행하기 위한 데이터를 포함하는 적어도 하나의 데이터 섹터를 포함할 수 있으며, 상기 마이크로프로세서는 상기 데이터에 기초하여 상기 벤더-유니크 명령을 수행하도록 더 제어할 수 있다.
상기 벤더-유니크 명령은 상기 넌-유저 데이터 영역에 저장된 적어도 하나의 파라미터 값을 설정하는 명령일 수 있다.
상기 기술적 과제를 달성하기 위한 컴퓨터 시스템은 상기 하드 디스크 드라이브; 및 호스트를 구비한다. 상기 마이크로프로세서는 다운로드 명령에 기초하여 상기 호스트로부터 전송된 펌웨어를 수신하고, 수신된 펌웨어를 상기 디스크의 상기 넌-유저 데이터 영역의 제1영역에 저장하는 것을 제어하고, 상기 저장이 완료되면 다운로드 플래그를 소정의 값으로 설정하고, 상기 컴퓨터 시스템의 전원이 꺼졌다 다시 켜지면 상기 다운로드 플래그에 설정된 상기 소정의 값에 기초하여 LBA 매핑을 상기 DOS 부트 프로그램이 저장된 제2영역으로 다시 설정하고, 부팅시 상기 호스트가 상기 DOS 부트 프로그램의 첫 번째 LBA에 저장되어 있는 마스터 부트 레코드를 실행시켜 부팅 과정을 종료시키면, 상기 마이크로프로세서는 상기 제1영역에 저장된 상기 펌웨어를 상기 넌-유저 데이터 영역의 제3영역 또는 비휘발성 메모리 장치 중에서 적어도 하나로 다운로드하는 것을 제어한다.
삭제
상기 마이크로 프로세서는 상기 다운로드가 진행되는 동안 상기 다운로드의 진행 중임을 알리는 메시지 또는 상기 다운로드가 종료된 경우 상기 컴퓨터 시스템으로 공급되는 상기 전원의 오프를 지시하는 메시지를 상기 호스트로 출력한다.
상기 기술적 과제를 달성하기 위한 하드 디스크 드라이브와 호스트를 구비하는 컴퓨터 시스템에서 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법은 상기 하드 디스크 드라이브가 다운로드 명령에 기초하여 상기 호스트로부터 전송된 펌웨어를 수신하고, 수신된 펌웨어를 디스크의 제1영역에 저장하는 단계; 상기 저장이 완료된 후 상기 하드디스크 드라이브는 다운로드 플래그를 소정의 값으로 설정하는 단계; 상기 컴퓨터 시스템의 전원이 꺼졌다 다시 켜지는 경우, 상기 하드 디스크 드라이브는 상기 다운로드 플래그에 설정된 상기 소정의 값을 검사하고, 검사결과 에 기초하여 LBA 매핑을 DOS 부트 프로그램이 저장된 제2영역으로 변경하는 단계; 및 상기 호스트가 상기 DOS 부트 프로그램을 이용하여 부팅 과정을 종료한 후, 상기 하드 디스크 드라이브는 상기 제1영역에 저장된 상기 펌웨어를 상기 디스크의 제3영역으로 또는 비휘발성 메모리 장치 중에서 적어도 하나로 다운로드를 시작하는 단계를 구비한다. 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법은 기록 매체에 저장될 수 있다.
상기 펌웨어는 벤더-유니크 명령을 수행하기 위한 데이터를 포함하는 적어도 하나의 데이터 섹터를 포함할 수 있으며, 상기 하드디스크는 상기 데이터에 기초하여 상기 벤더-유니크 명령을 수행하는 단계를 더 구비할 수 있다.
상기 벤더-유니크 명령은 상기 넌-유저 데이터 영역에 저장된 적어도 하나의 파라미터 값을 설정하는 명령일 수 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 실시예에 따른 디스크를 개념적으로 나타낸다. 도 1을 참조하면, 데이터 저장 매체로서 사용되는 디스크(10)는 동심원의 다수의 트랙들을 구비하며, 최종 사용자(end-user)가 사용하는 데이터를 저장하기 위한 유저 데이터 영역(user data region; 12), 및 하드 디스크 드라이브의 물리적 정보(physical information) 및 DOS 부트 프로그램(또는 "DOS 부트 이미지"라고도 한다.)을 저장하기 위한 넌-유저 데이터 영역 (non-user data region; 14)를 구비한다. 넌-유저 데이터 영역(14)은 메인터넌스 실린더(maintenance cylinder) 일 수 있다.
도 2는 본 발명에 따른 DOS 부트 프로그램을 내장한 디스크를 포함하는 하드 디스크 드라이브와 호스트를 구비하는 컴퓨터 시스템의 기능 블락도를 나타낸다.
도 1과 도 2를 참조하면, 최종 사용자가 인터넷을 통하여 하드 디스크 드라이브(110)의 새로운 펌웨어를 다운로드받은 경우, 상기 다운로드된 펨웨어는 호스트(101)에 구현된 캐시 메모리(미도시)에 저장된다. 상기 사용자가 상기 펌웨어 (또는 상기 펌웨어의 다운로드 툴) 실행시킨 경우, 상기 펌웨어 (또는 상기 펌웨어의 다운로드 툴)는 다운로드 명령, 예컨대 ATA-사양에서 정의된 다운로드 마이크로코드 명령을 이용하여 상기 펌웨어를 하드 디스크 드라이브(110)로 전송한다.
하드 디스크 컨트롤러(111)를 통하여 수신된 상기 펌웨어는 버퍼(113)에 임시적으로 저장된 후, 상기 버퍼(113)에 저장된 상기 펌웨어는 마이크로프로세서(115)의 제어하에 상기 하드 디스크 컨트롤러(111), R/W 채널회로(117), 전치 증폭기(119), 및 자기 헤드(121)를 통하여 디스크(10)의 넌-유저 데이터 영역(14)의 제1영역에 저장된다. 상기 제1영역에 상기 펌웨어의 저장이 완료된 후, 마이크로프로세서(115)는 다운로드에 관련된 다운로드 플래그를 소정의 값(예컨대, "1")으로 설정한다. 이후, 운영 체계(OS)는 호스트(101)로부터 출력된 소정의 명령(예컨대, 라이트 명령 또는 리드 명령)에 응답하여 상기 소정의 명령을 수행할 수 있다. 실시예에 따라 호스트(101)로부터 전송된 펌웨어는 유저 데이터 영역(12)의 소정의 영역에 저장될 수도 있다.
호스트(101)는 상기 디스크(10)에 저장된 펌웨어로부터 또는 마이크로프로세서(115)로부터 출력된 소정의 메시지, 즉 컴퓨터 시스템(100)의 전원을 껐다가 다시 키면 하드 디스크 드라이브(110)의 디스크(10)의 제1영역에 저장된 펌웨어의 업그레이드가 시작된다는 것을 알리는 메시지를 수신한다. 사용자는 호스트(101)에 접속된 디스플레이 장치를 통하여 디스플레이되는 메시지에 응답하여 컴퓨터 시스템(100)의 전원을 껐다가 다시 킬 수 있다. 상기 사용자가 컴퓨터 시스템(100)의 전원을 껐다가 다시 켜면, 일련의 부팅 과정이 수행된다.
파워 사이클에 의하여, 컴퓨터 시스템(100)의 전원이 켜지자마자, 마이크로프로세서(115)는 다운로드 플래그에 설정된 소정의 값을 검사하고, 상기 다운로드 플래그가 셋 (set, "1") 되어 있으면 LBA(logical block address) 매핑 (mapping)을 유저 데이터 영역(12)이 아닌 넌-유저 데이터 영역(14)의 DOS 부트 프로그램이 저장된 제2영역(16)으로 다시 설정한다. 이는 부팅시 DOS 부트 프로그램을 이용하여 컴퓨터 시스템(100)을 부팅시키기 위함이다.
또한, 컴퓨터 시스템(100)의 전원이 켜지자마자, 호스트(101)의 바이오스 롬(BIOS ROM)에 저장된 BIOS가 기동된다(run). 상기 BIOS는 컴퓨터 시스템(100)의 하드웨어들이 동작될 수 있는 상태에 있는지의 여부를 확인하기 위하여 포스트 (Power-On Self Test)를 수행할 수 있다. 그런 다음, 상기 BIOS의 부트 프로그램은 운영 체계 부트 파일이 위치하고 있는 드라이브(예컨대, BIOS 셋업에 따라 하드 디스크 드라이브)를 찾는다. 만일, 운영체계가 DOS인 경우 상기 BIOS는 IO.SYS와 MSDOS.SYS라고 이름 붙여진 두 개의 파일들을 찾는다.
본 발명에 따른 컴퓨터 시스템(100)에서, 상기 BIOS가 LBA 매핑에 따라 DOS 부트 프로그램이 저장된 제2영역(16)을 새로운 장치로 인식하고 나면, 상기 BIOS는 DOS 부트 프로그램이 저장된 제2영역(16)의 첫 번째 섹터(예컨대, LBA 0)에 있는 정보, 즉 마스터 부트 레코드(Master Boot Record) 또는 부트 섹터(boot sector)를 찾아 이를 메인 메모리(미도시)로 로드(load)한다.
상기 마스터 부트 레코드는 초기 시스템 파일(예컨대, IO.SYS)을 제2영역(16)에 저장된 DOS 부트 프로그램으로부터 읽어 이를 상기 메인 메모리로 로드한다. 그 후 SYSINIT라고 불리는 초기 파일은 시스템 파일(MSDOS.SYS)을 로드한다.
즉, 넌-유저 데이터 영역(14)의 제2영역(16)에 저장된 DOS 부트 프로그램이 호스트(101)에 의하여 메인 메모리로 로드되어, 즉 DOS 운영 체계를 시작시키기 충분한 소프트웨어가 로드되어 일련의 부팅 과정(booting process)이 끝나면, 하드 디스크 드라이브(110)의 마이크로프로세서(115)는 제1영역에 저장된 펌웨어를 넌-유저 데이터 영역(14)의 제3영역 또는 마이크로프로세서(115) 내부에 구현된 비휘발성 메모리 장치(예컨대, 플레쉬 롬) 중에서 적어도 하나로 다운로드를 시작한다.
마이크로프로세서(115)는 제1영역에 저장된 펌웨어를 넌-유저 데이터 영역(14)의 제3영역 또는 마이크로프로세서(115) 외부에 구현된 비휘발성 메모리 장치(예컨대, 하이브리드(hybrid) 하드 디스크 드라이브의 플레쉬 메모리 장치) 중에서 적어도 하나로 다운로드를 시작할 수도 있다.
상기 제1영역에 저장된 펌웨어가 넌-유저 데이터 영역(14)의 제3영역 또는 마이크로프로세서(115) 내부 또는 외부에 구현된 비휘발성 메모리 장치로 다운로드가 완료되면, 상기 펌웨어를 사용할 수 있는 셋업 (set-up)이 완료되어 상기 펌웨어에 의하여 상기 하드 디스크 드라이브(110)를 구동할 수 있는 것이다.
또한, 상기 펌웨어는 벤더-유니크 명령을 수행하기 위한 데이터를 포함하는 적어도 하나의 데이터 섹터를 포함할 수 있으며, 상기 마이크로프로세서(115)는 상기 데이터에 기초하여 상기 벤더-유니크 명령을 수행하도록 더 제어할 수 있다.
즉, 상술한 펌웨어 다운로드를 수행하면서도 추가적인 벤더-유니크 명령을 수행할 수 있다.
도 4는 본 발명에 따른 하드 디스크 드라이브의 펌웨어 다운로드 방법을 이용하여 벤더-유니크 명령을 수행하기 위해 펌웨어에 포함되는 데이터 섹터의 구조를 나타낸다.
도 2와 도 4를 참조하면, 상기 마이크로프로세서(115)는 상기 펌웨어의 소정의 위치(예컨대, 상기 펌웨어의 첫 번째 섹터)에 포함된 벤더-유니크 명령을 수행하기 위한 적어도 하나의 데이터 섹터(예컨대, 도 4에 도시된 바와 같은)를 검색하고, 상기 데이터 섹터에 기초하여 상기 벤더-유니크 명령을 수행하도록 제어할 수 있다.
예컨대, 펌웨어의 첫 번째 섹터를 벤더-유니크 명령을 수행하기 위한 섹터로 설정하였다면, 상기 마이크로프로세서(115)는 상기 펌웨어의 첫 번째 섹터를 이용하여 상기 벤더-유니크 명령을 수행하고, 상기 펌웨어의 두 번째 섹터부터 실제의 펌웨어로 인식하도록 할 수 있다.
상기 벤더-유니크 명령은 구현예에 따라 다양해 질 수 있으며, 상기 벤더-유니크 명령의 종류에 따라 상기 데이터 섹터의 구조는 다양해질 수 있다. 즉, 도 4는 메인터넌스 영역에 저장된 적어도 하나의 파라미터 값(예컨대, 습도, 온도, 또는 고도의 변화에 따른 플라잉 하이트(flying height) 값)을 설정하기 위한 벤더-유니크 명령을 수행하기 위해 설정된 데이터 섹터의 구조를 나타내지만, 본 발명의 권리범위가 이에 한정되지는 않으며, 상기 펌웨어에 포함될 수 있는 데이터 섹터의 구조는 다양해 질 수 있다.
도 4를 참조하면, 상기 데이터 섹터의 0번째 바이트는 상기 펌웨어의 상기 하드 디스크 드라이브로의 다운로드(예컨대, 펌웨어의 셋 업) 여부를 나타내기 위한 다운로드 플래그(flag)로 사용될 수 있다.
상기 데이터 섹터의 1번째 바이트부터 10번째 바이트는 설정 또는 변경하고자 하는 파라미터 값이 저장되어 있는 섹터의 물리적 (CHS : cylinder head sector) 주소를 나타낼 수 있고, 상기 11번째 바이트는 상기 물리적 주소가 가리키는 섹터 내에서의 실제 파라미터를 나타내는 바이트의 위치를 나타내는데 사용할 수 있다. 그리고, 상기 데이터 섹터의 12번째 바이트 내지 13번째 바이트는 실제로 새롭게 설정될 파라미터 값을 포함하는데 사용할 수 있다.
즉, 1번째 바이트부터 13번째 바이트로 하나의 파라미터 값을 설정 또는 변경할 수 있으며, 그 다음 14번째 바이트부터 26번째 바이트는 다른 파라미터 값을 설정 또는 변경하는데 이용할 수 있다. 마찬가지로 27번째 바이트 내지 39번째 바이트는 또 다른 파라미터 값을 설정 또는 변경하는데 이용할 수 있다. 도 4에 도시 된 바와 같은 데이터 구조를 가지는 하나의 데이터 섹터의 수는 필요에 따라 하나 또는 그 이상일 수 있다.
또한, 상기 펌웨어는 상기 데이터 섹터만을 포함할 수 도 있다. 즉, 별도의 펌웨어 업데이트는 필요하지 않고, 펌웨어 업데이트 외의 벤더-유니크 명령만을 수행하고자 하는 경우에는, 상기 데이터 섹터만을 포함하는 펌웨어를 상술한 펌웨어 다운로드 방법으로 수행하여 벤더-유니크 명령을 수행할 수도 있는 것이다.
다시 도 1을 참조하면, 상기 펌웨어의 다운로드가 진행되는 동안, 마이크로프로세서(115)는 상기 다운로드가 진행 중임을 알리는 메시지를 호스트(101)로 출력할 수 있다. 또한, 상기 다운로드가 모두 종료된 경우, 마이크로 프로세서(115)는 하드 디스크 드라이브(110)로 공급되는 전원의 오프를 지시하는 메시지를 호스트(101)로 출력할 수 있다. 따라서 사용자 또는 자동으로 상태 초기화와 넌-유저 데이터 영역에 저장되어 있는 세팅 정보를 읽어들이기 위한 파워 사이클이 수행될 수 있다.
본 발명에 따른 하드 디스크 드라이브의 펌웨어 다운로드 방법을 도 2와 도 3을 참조하여 설명하면 다음과 같다.
도 3은 본 발명의 실시예에 따른 하드디스크 드라이브의 펌웨어 다운로드 방법의 흐름을 나타내는 플로우 챠트이다. 도 3에 도시된 플로우 챠트는 펌웨어가 넌-유저 데이터 영역(14)의 제1영역에 저장된 이후의 데이터 처리 흐름을 나타낸다.
컴퓨터 시스템(100)의 전원이 켜지면(S100), 상기 호스트(101)는 넌-유저 데이터 영역(14)의 제2영역(16)에 저장된 DOS 부트 프로그램을 이용하여 부트를 실행 한다(S200).
제1영역에 다운로드된 펌웨어에 벤더-유니크 명령을 수행하기 위한 데이터 섹터가 포함되어 있는 경우에는, 마이크로프로세서(115)는 상기 데이터 섹터에 상응하는 상기 벤더-유니크 명령을 수행할 수 있다(S300).
또한, 상기 마이크로프로세서(115)는 제1영역에 저장된 펌웨어를 넌-유저 데이터 영역(14)의 제3영역 또는 마이크로프로세서(115) 내에 구현된 비휘발성 메모리 장치(예컨대, 플레쉬 롬) 중에서 적어도 하나로 다운로드를 시작한다(S400).
또한, 상기 마이크로프로세서(115)는 상기 다운로드가 수행중 인지를 판단하고(S500), 상기 다운로드가 모두 종료된 경우 하드 디스크 드라이브(110)로 공급되는 전원의 오프를 지시하는 메시지를 호스트(101)로 출력할 수 있다(S600). 이에 따라 사용자가 컴퓨터 시스템(100)을 파워 오프하면(S700), 상기 하드 디스크 드라이브(110)의 펌웨어 다운로드는 완료되게 되고, 다시 파워가 온(on)되는 경우에 새로운 펌웨어에 의해 상기 하드 디스크 드라이브(110)가 구동되게 되는 것이다.
컴퓨터로 읽을 수 있는 기록 매체는 본 발명에 따른 하드 디스크 드라이브의 펌웨어 다운로드 방법, 즉 다운로드 명령에 기초하여 호스트(101)로부터 전송된 펌웨어를 수신하고, 수신된 펌웨어를 디스크의 제1영역에 저장하는 단계를 수행하기 위한 프로그램 코드; 상기 저장이 완료된 후 다운로드 플래그를 소정의 값으로 설정하는 단계를 수행하기 위한 프로그램 코드; 컴퓨터 시스템의 전원이 꺼졌다 다시 켜지는 경우, 상기 다운로드 플래그에 설정된 상기 소정의 값을 검사하고, 검사결과에 기초하여 LBA 매핑을 DOS 부트 프로그램이 저장된 제2영역으로 변경하는 단계를 수행하기 위한 프로그램 코드; 및 호스트(101)가 상기 DOS 부트 프로그램을 이용하여 부팅을 종료한 후, 상기 제1영역에 저장된 상기 펌웨어를 상기 디스크의 제3영역 또는 비휘발성 메모리 장치 중에서 적어도 하나로 다운로드를 시작하는 단계를 수행하기 위한 프로그램 코드를 저장할 수 있다.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치(예컨대, ROM 또는 플레쉬 메모리 장치와 같은 비휘발성 메모리 장치, 마이크로프로세서, CPU, 디스크, 등)를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 넌-유저 데이터 영역에 DOS 부트 프로그램을 내장하는 디스크를 구비하는 하드 디스크 드라이브는 FDD(floppy disk drive)나 ODD(optical disk drive)와 같은 외부 저장 매체가 없는 경우라도 하드 디스크 드라이브의 펌웨어를 다운로드할 수 있는 효과가 있다.
또한, 펌웨어의 다운로드 이외의 벤더-유니크 명령도 간편하게 수행할 수 있는 효과가 있다.

Claims (15)

  1. 사용자가 사용하는 데이터를 저장하기 위한 유저 데이터 영역; 및
    하드 디스크 드라이브의 물리적 정보 및 DOS 부트 프로그램을 저장하기 위한 넌-유저 데이터 영역을 구비하는 디스크.
  2. 사용자가 사용하는 데이터를 저장하기 위한 유저 데이터 영역과 하드 디스크 드라이브의 물리적 정보 및 DOS 부트 프로그램을 저장하기 위한 넌-유저 데이터 영역을 구비하는 디스크; 및
    다운로드 명령에 기초하여 호스트로부터 전송된 펌웨어를 수신하고, 수신된 펌웨어를 상기 넌-유저 데이터 영역의 제1영역에 저장하는 것을 제어하고, 상기 저장이 완료되면 다운로드 플래그를 소정의 값으로 설정하고, 전원이 꺼졌다 다시 켜지면 상기 다운로드 플래그에 설정된 상기 소정의 값에 기초하여 LBA(Logical Block Address) 매핑을 상기 DOS 부트 프로그램이 저장된 제2영역으로 다시 설정하고, 상기 호스트가 상기 DOS 부트 프로그램을 이용하여 부팅 과정을 종료한 후 상기 제1영역에 저장된 상기 펌웨어를 상기 넌-유저 데이터 영역의 제3영역 또는 비휘발성 메모리 장치 중에서 적어도 하나로 다운로드하는 것을 제어하는 마이크로 프로세로를 구비하는 하드 디스크 드라이브.
  3. 제2항에 있어서, 상기 펌웨어는 벤더-유니크 명령을 수행하기 위한 데이터를 포함하는 적어도 하나의 데이터 섹터를 포함할 수 있으며,
    상기 마이크로프로세서는 상기 데이터에 기초하여 상기 벤더-유니크 명령을 수행하도록 더 제어하는 하드 디스크 드라이브.
  4. 제3항에 있어서, 상기 벤더-유니크 명령은 상기 넌-유저 데이터 영역에 저장된 적어도 하나의 파라미터 값을 설정하는 명령인 하드 디스크 드라이브.
  5. 제2항에 있어서, 상기 마이크로 프로세서는,
    상기 다운로드가 진행되는 동안 상기 다운로드의 진행 중임을 알리는 메시지를 상기 호스트로 더 출력하는 하드 디스크 드라이브.
  6. 제2항에 있어서, 상기 마이크로 프로세서는,
    상기 다운로드가 종료된 경우 상기 하드 디스크 드라이브로 공급되는 상기 전원의 오프(off)를 지시하는 메시지를 상기 호스트로 더 출력하는 하드 디스크 드라이브.
  7. 컴퓨터 시스템에 있어서,
    마이크로프로세서 및 제1항에 기재된 디스크를 구비하는 하드 디스크 드라이브; 및
    호스트를 구비하며,
    상기 마이크로프로세서는 다운로드 명령에 기초하여 상기 호스트로부터 전송된 펌웨어를 수신하고, 수신된 펌웨어를 상기 디스크의 상기 넌-유저 데이터 영역의 제1영역에 저장하는 것을 제어하고, 상기 저장이 완료되면 다운로드 플래그를 소정의 값으로 설정하고, 상기 컴퓨터 시스템의 전원이 꺼졌다 다시 켜지면 상기 다운로드 플래그에 설정된 상기 소정의 값에 기초하여 LBA(Logical Block Address) 매핑을 상기 DOS 부트 프로그램이 저장된 제2영역으로 다시 설정하고,
    부팅시 상기 호스트가 상기 DOS 부트 프로그램의 첫 번째 LBA(Logical Block Address)에 저장되어 있는 마스터 부트 레코드를 실행시켜 부팅 과정을 종료시키면, 상기 마이크로프로세서는 상기 제1영역에 저장된 상기 펌웨어를 상기 넌-유저 데이터 영역의 제3영역 또는 비휘발성 메모리 장치 중에서 적어도 하나로 다운로드하는 것을 제어하는 컴퓨터 시스템.
  8. 제7항에 있어서, 상기 마이크로 프로세서는,
    상기 다운로드가 진행되는 동안 상기 다운로드의 진행 중임을 알리는 메시지를 상기 호스트로 더 출력하는 컴퓨터 시스템.
  9. 제7항에 있어서, 상기 마이크로 프로세서는,
    상기 다운로드가 종료된 경우 상기 컴퓨터 시스템으로 공급되는 상기 전원의 오프를 지시하는 메시지를 상기 호스트로 더 출력하는 컴퓨터 시스템.
  10. 하드 디스크 드라이브와 호스트를 구비하는 컴퓨터 시스템에서, 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법에 있어서,
    상기 하드 디스크 드라이브가 다운로드 명령에 기초하여 상기 호스트로부터 전송된 펌웨어를 수신하고, 수신된 펌웨어를 디스크의 제1영역에 저장하는 단계;
    상기 저장이 완료된 후 상기 하드디스크 드라이브는 다운로드 플래그를 소정의 값으로 설정하는 단계;
    상기 컴퓨터 시스템의 전원이 꺼졌다 다시 켜지는 경우, 상기 하드 디스크 드라이브는 상기 다운로드 플래그에 설정된 상기 소정의 값을 검사하고, 검사결과에 기초하여 LBA(Logical Block Address) 매핑을 DOS 부트 프로그램이 저장된 제2영역으로 변경하는 단계; 및
    상기 호스트가 상기 DOS 부트 프로그램을 이용하여 부팅 과정을 종료한 후, 상기 하드 디스크 드라이브는 상기 제1영역에 저장된 상기 펌웨어를 상기 디스크의 제3영역 또는 비휘발성 메모리 장치 중에서 적어도 하나로 다운로드를 시작하는 단계를 구비하는 하드 디스크 드라이브의 펌웨어 다운로드 방법.
  11. 제10항에 있어서, 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법은,
    상기 하드 디스크 드라이브는 상기 다운로드가 진행되는 동안 상기 다운로드가 진행 중임을 알리는 메시지를 상기 호스트로 전송하는 단계를 더 구비하는 하드 디스크 드라이브의 펌웨어 다운로드 방법.
  12. 제10항에 있어서, 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법은,
    상기 다운로드가 종료되면 상기 하드 디스크 드라이브는 상기 전원의 오프를 지시하는 메시지를 상기 호스트로 전송하는 단계를 더 구비하는 하드 디스크 드라이브의 펌웨어 다운로드 방법.
  13. 제 10항에 있어서, 상기 펌웨어는 벤더-유니크 명령을 수행하기 위한 데이터를 포함하는 적어도 하나의 데이터 섹터를 포함하며,
    상기 하드디스크는 상기 데이터에 기초하여 상기 벤더-유니크 명령을 수행하는 단계를 더 구비하는 하드 디스크 드라이브의 펌웨어 다운로드 방법.
  14. 제 13항에 있어서, 상기 벤더-유니크 명령은 상기 넌-유저 데이터 영역에 저장된 적어도 하나의 파라미터 값을 설정하는 명령인 하드 디스크 드라이브의 펌웨어 다운로드 방법.
  15. 다운로드 명령에 기초하여 호스트로부터 전송된 펌웨어를 수신하고, 수신된 펌웨어를 디스크의 넌-유저 데이터 영역의 제1영역에 저장하는 단계;
    상기 저장이 완료된 후 다운로드 플래그를 소정의 값으로 설정하는 단계;
    컴퓨터 시스템의 전원이 꺼졌다 다시 켜지는 경우, 상기 다운로드 플래그에 설정된 상기 소정의 값을 검사하고, 검사결과에 기초하여 LBA(Logical Block Address) 매핑을 DOS 부트 프로그램이 저장된 상기 넌-유저 데이터 영역의 제2영역으로 변경하는 단계; 및
    호스트가 상기 DOS 부트 프로그램을 이용하여 부팅 과정을 종료한 후, 상기 제1영역에 저장된 상기 펌웨어를 상기 넌-유저 데이터 영역의 제3영역 또는 비휘발성 메모리 장치 중에서 적어도 하나로 다운로드를 시작하는 단계를 실행시키기 위한 컴퓨터 프로그램을 기록한 기록매체.
KR1020060078695A 2006-08-21 2006-08-21 Dos 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브와 그를 포함하는 컴퓨터 시스템, 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법 및 그를 포함하는 기록 매체 Expired - Fee Related KR100801014B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060078695A KR100801014B1 (ko) 2006-08-21 2006-08-21 Dos 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브와 그를 포함하는 컴퓨터 시스템, 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법 및 그를 포함하는 기록 매체
US11/842,218 US8266611B2 (en) 2006-08-21 2007-08-21 Hard disk drive with disk embedded DOS boot image and firmware download method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060078695A KR100801014B1 (ko) 2006-08-21 2006-08-21 Dos 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브와 그를 포함하는 컴퓨터 시스템, 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법 및 그를 포함하는 기록 매체

Publications (1)

Publication Number Publication Date
KR100801014B1 true KR100801014B1 (ko) 2008-02-04

Family

ID=39304386

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060078695A Expired - Fee Related KR100801014B1 (ko) 2006-08-21 2006-08-21 Dos 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브와 그를 포함하는 컴퓨터 시스템, 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법 및 그를 포함하는 기록 매체

Country Status (2)

Country Link
US (1) US8266611B2 (ko)
KR (1) KR100801014B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113031863A (zh) * 2021-03-19 2021-06-25 深圳忆联信息系统有限公司 Ssd命令相关性管理方法、装置、计算机设备及存储介质

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101663545B1 (ko) * 2009-04-06 2016-10-07 시게이트 테크놀로지 엘엘씨 코드의 동적 재배치 방법 및 이를 이용한 디스크 드라이브
US9113499B2 (en) 2010-10-01 2015-08-18 Viasat, Inc. Multiple domain smartphone
US8204480B1 (en) * 2010-10-01 2012-06-19 Viasat, Inc. Method and apparatus for secured access
KR101524096B1 (ko) * 2011-06-07 2015-06-01 엘에스아이 코포레이션 호스트가 볼 때 디바이스 펌웨어 업데이트 효과들의 관리
WO2013048483A1 (en) * 2011-09-30 2013-04-04 Intel Corporation Platform storage hierarchy with non-volatile random access memory having configurable partitions
US9329931B2 (en) * 2013-07-24 2016-05-03 Seagate Technology Llc Solid state drive emergency pre-boot application providing expanded data recovery function
ES2913120T3 (es) 2015-08-04 2022-05-31 Isp Investments Llc Polímeros derivados de éteres de alcohol vinílico aminofuncionales y aplicaciones de los mismos
JP6752651B2 (ja) * 2016-08-02 2020-09-09 キヤノン株式会社 情報処理システム、情報処理システムにおける方法、及びプログラム
US10037213B2 (en) 2016-09-19 2018-07-31 Nxp Usa, Inc. System and method for adjusting boot interface frequency
US20200012489A1 (en) * 2018-07-06 2020-01-09 Seagate Technology Llc Combined file firmware upgrade
CN110851162A (zh) * 2019-11-11 2020-02-28 深圳忆联信息系统有限公司 兼容raid与非raid的ssd固件升级方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940000988A (ko) * 1992-06-26 1994-01-10 사또오 후미오 컴퓨터를 사용한 메뉴 선택 기능을 구비한 휴대형 컴퓨터
KR19990070535A (ko) * 1998-02-20 1999-09-15 윤종용 플래쉬롬과 램을 이용한 펌웨어 구현 방법
KR20000002384A (ko) * 1998-06-19 2000-01-15 윤종용 펌웨어 자동 교체방법
US6052781A (en) * 1997-02-21 2000-04-18 Savvy Frontiers Property Trust Multiple user computer including anti-concurrent user-class based disjunctive separation of plural hard drive operation
JP2004287979A (ja) 2003-03-24 2004-10-14 Toshiba Corp ディスク制御装置及びディスク装置用制御プログラムの更新方法

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4138718A (en) * 1977-11-14 1979-02-06 Allen-Bradley Company Numerical control system with downloading capability
US5925140A (en) * 1993-04-30 1999-07-20 Intel Corporation Apparatus and method for error free loading of a programmable non-volatile memory over a datalink
US5778167A (en) * 1994-06-14 1998-07-07 Emc Corporation System and method for reassigning a storage location for reconstructed data on a persistent medium storage system
GB2290890B (en) * 1994-06-29 1999-03-24 Mitsubishi Electric Corp Information processing system
US6282700B1 (en) * 1998-05-21 2001-08-28 Hewlett Packard Company Mechanism for maintaining revisions of objects in flash memory
US6631520B1 (en) * 1999-05-14 2003-10-07 Xilinx, Inc. Method and apparatus for changing execution code for a microcontroller on an FPGA interface device
JP2000336861A (ja) * 1999-05-25 2000-12-05 Rivall:Kk 防水工法
KR100322006B1 (ko) * 1999-06-09 2002-02-06 윤종용 펌웨어 보드의 프로그램을 변경하기 위한 장치 및 방법
US6996819B1 (en) * 1999-09-10 2006-02-07 Unisys Corporation Method for efficiently downloading SCSI and SERVO firmware to SCSI target controllers
US6763458B1 (en) * 1999-09-27 2004-07-13 Captaris, Inc. System and method for installing and servicing an operating system in a computer or information appliance
JP3330569B2 (ja) * 1999-09-28 2002-09-30 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータの制御方法、コンピュータ及び記録媒体
US7055148B2 (en) * 2000-12-07 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for updating firmware
JP2002244874A (ja) * 2001-02-15 2002-08-30 Toshiba Corp 情報処理装置およびファームウェア更新方法
US7146412B2 (en) * 2001-08-27 2006-12-05 Hewlett-Packard Development Company, L.P. System and methods for the automatic discovery, notification and installation of firmware upgrades
US20030204711A1 (en) * 2002-04-29 2003-10-30 Guess Alan J. Method and system for restoring custom user configuration settings across a host application download
JP4408033B2 (ja) * 2002-09-24 2010-02-03 株式会社リコー 遠隔管理システム
US20040083469A1 (en) * 2002-10-23 2004-04-29 Ping-Sheng Chen Method for updating firmware of optical disk system
KR100498459B1 (ko) * 2002-11-19 2005-07-01 삼성전자주식회사 하드디스크 드라이브의 디펙트 리스트 탐색 방법
US6996818B2 (en) * 2002-11-22 2006-02-07 Bitfone Corporation Update system for facilitating software update and data conversion in an electronic device
US7480907B1 (en) * 2003-01-09 2009-01-20 Hewlett-Packard Development Company, L.P. Mobile services network for update of firmware/software in mobile handsets
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7191437B1 (en) * 2003-04-23 2007-03-13 Network Appliance, Inc. System and method for reliable disk firmware update within a networked storage fabric
US7296151B2 (en) * 2003-11-20 2007-11-13 International Business Machines Corporation Apparatus, system, and method for sharing a cached security profile in a database environment
US7376943B2 (en) * 2003-12-18 2008-05-20 Lsi Corporation Safe method for upgrading firmware of optical disk product
US7197634B2 (en) * 2004-01-16 2007-03-27 Dell Products L.P. System and method for updating device firmware
KR100564613B1 (ko) * 2004-02-25 2006-03-29 삼성전자주식회사 플래시 메모리 및 광 드라이브의 펌웨어 모듈 동적 로딩동작 방법
EP1756711A1 (en) * 2004-05-31 2007-02-28 STMicroelectronics Pvl. Ltd. A method for remotely upgrading the firmware of a target device using wireless technology
KR100618848B1 (ko) * 2004-07-22 2006-09-01 삼성전자주식회사 하드디스크 드라이브의 소오스 데이터 복구 방법 및 이를이용한 시스템 정보 독출 방법
US7427027B2 (en) * 2004-07-28 2008-09-23 Sandisk Corporation Optimized non-volatile storage systems
US20060095583A1 (en) * 2004-11-12 2006-05-04 Eric Owhadi Uniform disk image for performing computer diagnostics
US7426633B2 (en) * 2005-05-12 2008-09-16 Hewlett-Packard Development Company, L.P. System and method for reflashing disk drive firmware
JP2007025933A (ja) * 2005-07-14 2007-02-01 Hitachi Ltd ストレージシステム及びそのファームウェア自動更新方法
US20070288986A1 (en) * 2006-06-13 2007-12-13 Candelore Brant L Method and system for downloading content to a target device
US20070113062A1 (en) * 2005-11-15 2007-05-17 Colin Osburn Bootable computer system circumventing compromised instructions
US8707290B2 (en) * 2006-02-22 2014-04-22 Dell Products L.P. Firmware update in an information handling system employing redundant management modules
US7464228B2 (en) * 2006-05-31 2008-12-09 Dell Products L.P. System and method to conserve conventional memory required to implement serial ATA advanced host controller interface
US7441113B2 (en) * 2006-07-10 2008-10-21 Devicevm, Inc. Method and apparatus for virtualization of appliances
JP2008084291A (ja) * 2006-08-28 2008-04-10 Fujitsu Ltd 記憶装置、制御方法及び制御装置
US8046776B1 (en) * 2006-11-30 2011-10-25 Marvell International Ltd. Method and apparatus for transferring firmware between an operating system device in a host
JP5102918B2 (ja) * 2008-09-02 2012-12-19 株式会社日立製作所 ストレージ装置及びファームウェア更新指示方法
US8566571B2 (en) * 2008-12-12 2013-10-22 Novell, Inc. Pre-boot securing of operating system (OS) for endpoint evaluation
JP5342302B2 (ja) * 2009-03-30 2013-11-13 株式会社日立ソリューションズ ファームウェア更新システム、ファームウェア配信サーバ、及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940000988A (ko) * 1992-06-26 1994-01-10 사또오 후미오 컴퓨터를 사용한 메뉴 선택 기능을 구비한 휴대형 컴퓨터
US6052781A (en) * 1997-02-21 2000-04-18 Savvy Frontiers Property Trust Multiple user computer including anti-concurrent user-class based disjunctive separation of plural hard drive operation
KR19990070535A (ko) * 1998-02-20 1999-09-15 윤종용 플래쉬롬과 램을 이용한 펌웨어 구현 방법
KR20000002384A (ko) * 1998-06-19 2000-01-15 윤종용 펌웨어 자동 교체방법
JP2004287979A (ja) 2003-03-24 2004-10-14 Toshiba Corp ディスク制御装置及びディスク装置用制御プログラムの更新方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113031863A (zh) * 2021-03-19 2021-06-25 深圳忆联信息系统有限公司 Ssd命令相关性管理方法、装置、计算机设备及存储介质
CN113031863B (zh) * 2021-03-19 2023-08-29 深圳忆联信息系统有限公司 Ssd命令相关性管理方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
US8266611B2 (en) 2012-09-11
US20080091935A1 (en) 2008-04-17

Similar Documents

Publication Publication Date Title
KR100801014B1 (ko) Dos 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브와 그를 포함하는 컴퓨터 시스템, 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법 및 그를 포함하는 기록 매체
TWI515660B (zh) 韌體變量更新方法
JP5889933B2 (ja) コンピュータの動作不良を防止する方法、コンピュータ・プログラムおよびコンピュータ
KR101427755B1 (ko) Usb를 이용한 펌웨어 업그레이드 장치 및 방법
KR101121641B1 (ko) 시스템 동작 제어 장치 및 방법
US7421573B2 (en) Apparatus and method for updating firmware
WO2020062887A1 (zh) 基于闪存微控制器的固件升级方法和系统及闪存微控制器
US20080270685A1 (en) Information processing apparatus and firmware updating method
JP4527348B2 (ja) インタフェース装置、インタフェース装置におけるファームウェアの更新方法、及びそのプログラム
US20150143098A1 (en) Method for updating firmware of an electronic device within a computer
TWI450194B (zh) 作業系統處理方法以及系統、以及儲存其之電腦可讀取記錄媒體
KR102226558B1 (ko) 맞춤형 통합 확장 펌웨어 인터페이스 드라이버를 설치한 컴퓨터-읽기가능 레코딩 매체 및 그것의 방법
KR100864814B1 (ko) 광 저장 장치 또는/및 이동식 디스크로 구현된 컴퓨터 확장장치 및 그 구현 방법
TW202137002A (zh) 資料儲存裝置及維持資料儲存裝置正常開機運作的方法
CN111522690A (zh) 数据储存装置及维持数据储存装置正常开机运作的方法
KR200258404Y1 (ko) 컴퓨터용하드디스크내자료보호및복원장치
KR20060131296A (ko) 다중 운영체제 지원이 가능한 컴퓨터 시스템 및 그러한시스템에서의 다중 운영체제 지원 방법
CN111338771B (zh) 引导程序切换处理方法及装置、计算机设备、介质
CN102346676B (zh) 计算器多重开机管理方法
JP3951808B2 (ja) ハードディスクドライブサブシステム
JP4616763B2 (ja) デバイス・コントローラの設定方法およびコンピュータ・システム
JP5723554B2 (ja) マルチブートマネージャーの方法
KR101271784B1 (ko) 다중 부트 매니저를 실행시키는 방법
JP2008003668A (ja) 制御プログラム書換システム、書換プログラム及び制御プログラム書換方法、並びに情報処理装置、情報処理装置制御プログラム及び情報処理装置制御方法
CN100511144C (zh) 禁止制作启动盘的移动存储装置及方法

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20060821

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20070625

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20071127

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20080129

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20080130

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
G170 Re-publication after modification of scope of protection [patent]
PG1701 Publication of correction
PR1001 Payment of annual fee

Payment date: 20110103

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20120203

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20120203

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20130110

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20130110

Start annual number: 6

End annual number: 6

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee