KR100459729B1 - 펌웨어 다운로드 방법 - Google Patents

펌웨어 다운로드 방법 Download PDF

Info

Publication number
KR100459729B1
KR100459729B1 KR10-2002-0072406A KR20020072406A KR100459729B1 KR 100459729 B1 KR100459729 B1 KR 100459729B1 KR 20020072406 A KR20020072406 A KR 20020072406A KR 100459729 B1 KR100459729 B1 KR 100459729B1
Authority
KR
South Korea
Prior art keywords
firmware
host
atapi
download
drive
Prior art date
Application number
KR10-2002-0072406A
Other languages
English (en)
Other versions
KR20040043940A (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 KR10-2002-0072406A priority Critical patent/KR100459729B1/ko
Publication of KR20040043940A publication Critical patent/KR20040043940A/ko
Application granted granted Critical
Publication of KR100459729B1 publication Critical patent/KR100459729B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 정보 다운로드 방법에 관한 것으로, 보다 상세하게는 ATAPI(AT Attachment Packet Interface) 명령 프로토콜을 사용하는 호스트와 ATAPI 드라이브 사이에 펌웨어를 다운로드 할 수 있는 펌웨어 다운로드 방법에 관한 것이다. 펌웨어 다운로드 방법은 ATAPI 프로토콜을 통하여 통신하는 호스트와 ATAPI 드라이브 사이의 펌웨어 다운로드 방법으로서, (a) 상기 호스트로부터 전송되는 특정 명령에 의해 상기 펌웨어를 버퍼링 하는 단계, (b) 상기 호스트의 요청에 의해 상기 버퍼링된 펌웨어가 내부 메모리에 저장 완료될 때까지의 저장 상태 정보를 상기 호스트로 전송하는 단계, (c) 저장완료 정보를 수신한 상기 호스트가 펌웨어 다운로드 종료 시점을 확인하는 단계를 포함한다. 본 발명에 따르면, 호스트와 ATAPI 드라이브 사이의 펌웨어 다운로드를 위한 상호 표준화된 규격을 사용하여 보다 효율적으로 펌웨어를 다운로드할 수 있고, 고객에게 ATAPI 드라이브의 펌웨어 저장 상태 정보를 정확히 알려주는 효과를 창출한다.

Description

펌웨어 다운로드 방법{Method for download firmware}
본 발명은 정보 다운로드 방법에 관한 것으로, 보다 상세하게는 ATAPI(AT Attachment Packet Interface) 명령 프로토콜을 사용하는 호스트와 ATAPI 드라이브 사이에 펌웨어를 다운로드 할 수 있는 펌웨어 다운로드 방법에 관한 것이다.
ATAPI는 컴퓨터와 CD-ROM 드라이브 및 테이프 백업 드라이브 사이의 인터페이스이다. ATAPI 드라이브들은 전용 드라이버를 사용하여 통신하기 때문에 하드디스크와는 달리 OS가 부팅 할 때 이 드라이버를 메모리에 미리 올려두어야 사용할 수 있게 된다.
도 1은 종래의 펌웨어 다운로드 방법의 동작을 보이는 흐름도로서, PC(호스트, 미도시)와 ATAPI 드라이브(예를 들어 CD-ROM 드라이브, 미도시) 사이의 펌웨어다운로드 방법을 설명한다.
PC는 ATAPI 드라이브에 펌웨어 다운로드 시작을 알리는 명령(START Command)을 다운로드 한다(100단계).
그리고 PC는 ATAPI 드라이브에 펌웨어 및 펌웨어 다운로드의 계속 진행을 알리는 명령(CONTINUE Command)을 다운로드 한다(101단계). PC에서 전송되는 펌웨어는 ATAPI 드라이브의 RAMA(미도시)에 저장된다.
펌웨어 다운로드가 완료되면, PC는 ATAPI 드라이브에 펌웨어 다운로드 종료를 알리는 명령(END Command)을 다운로드 한다(102단계).
ATAPI 드라이브의 RAM에 펌웨어 다운로드가 완료되면, ATAPI 드라이브는 RAM에 저장된 펌웨어를 플래시 메모리(미도시)로 전송한다(103단계).
이때 PC는 ATAPI 드라이브의 RAM에 저장된 펌웨어가 플래시 메모리에 모두 전송될 때까지 대기하게 된다(104, 105단계).
이처럼 종래에는 ATAPI 드라이브의 RAM에 저장된 펌웨어가 플래시 메모리에 저장되는 상태 정보가 없어 PC용 어플리케이션에서는 종료 시점을 알 수 없으며, 다운로드 유틸리티를 사용하는 고객은 다운로드가 얼마만큼 진행되고 있는지에 대해 알 수 없으므로, 이러한 상태 정보를 알 수 없는 PC 또는 고객은 ATAPI 드라이브의 RAM에 저장된 펌웨어가 플래시 메모리에 모두 전송될 때까지 기다려야 하는 문제점이 발생한다.
본 발명이 이루고자 하는 기술적인 과제는 호스트와 ATAPI 드라이브 사이의펌웨어 다운로드를 위한 상호 표준화된 규격을 사용하여 보다 효율적으로 펌웨어를 다운로드하고, ATAPI 드라이브의 펌웨어 저장 상태 정보를 PC로 전송하는 펌웨어 다운로드 방법을 제공하는데 있다.
도 1은 종래의 펌웨어 다운로드 방법의 동작을 보이는 흐름도 이다.
도 2는 펌웨어 다운로드 장치의 구성을 보이는 블록도 이다.
도 3은 본 발명에 따른 펌웨어 다운로드 방법의 동작을 보이는 흐름도 이다.
도 4는 도 3을 설명하기 위한 명령 스팩이다.
본 발명이 이루고자 하는 기술적인 과제를 해결하기 위한 펌웨어 다운로드 방법은 ATAPI 프로토콜을 통하여 통신하는 호스트와 ATAPI 드라이브 사이의 펌웨어 다운로드 방법으로서, (a) 상기 호스트로부터 전송되는 특정 명령에 의해 상기 펌웨어를 버퍼링 하는 단계; (b) 상기 호스트의 요청에 의해 상기 버퍼링된 펌웨어가 내부 메모리에 저장 완료될 때까지의 저장 상태 정보를 상기 호스트로 전송하는 단계; 및 (c) 저장완료 정보를 수신한 상기 호스트가 펌웨어 다운로드 종료 시점을 확인하는 단계를 포함하는 것이 바람직하다.
본 발명에 있어서, 상기 (a)단계의 특정 명령은 펌웨어 다운로드 시작을 알리는 특정 명령(Start), 펌웨어 다운로드의 계속 진행을 알리는 특정 명령(Continue), 펌웨어 다운로드의 종료를 알리는 특정 명령(End)인 것을 특징으로 한다.
본 발명에 있어서, 상기 (b)단계에서 상기 버퍼링된 펌웨어가 내부 메모리에 저장 중인 경우, 상기 저장 상태 정보를 퍼센트 단위(0%∼100%)로 전송하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
도 2는 펌웨어 다운로드 장치의 구성을 보이는 블록도로서, PC(200) 및ATAPI 드라이브(201)로 구성된다. 본 발명에서 ATAPI 드라이브(201)는 제어부(201-1), RAM(201-2), 플래시 메모리(201-3)로 구성된다. 본 발명에서 PC(200) 및 ATAPI 드라이브(201)는 ATAPI 프로토콜을 사용하여 통신한다.
도 3은 본 발명에 따른 펌웨어 다운로드 방법의 동작을 보이는 흐름도로서, PC는 ATAPI 드라이브에 펌웨어 다운로드를 시작 명령(START)을 전송하는 단계(300), PC는 ATAPI 드라이브에 펌웨어 및 펌웨어 다운로드 진행을 알리는 명령(CONTINUE)을 전송하는 단계(301), PC는 ATAPI 드라이브에 펌웨어 다운로드를 종료 명령(END)을 전송하는 단계(302), ATAPI 드라이브의 RAM에 저장된 펌웨어를 플래시 메모리에 저장하는 단계(303), 플래시 메모리에 펌웨어 저장이 완료되었는지 판단하는 단계(304), PC의 요청에 의해 플래시 메모리의 펌웨어 저장 상태 정보를 % 단위로 전송하는(305), PC는 ATAPI 드라이브로부터 플래시 메모리의 저장 상태 정보로서 FFFFh를 수신하였는지 판단하는 단계(306)로 구성된다.
도 4는 도 3을 설명하기 위한 명령 스팩이다.
이어서, 도 2∼도 4를 참조하여 본 발명을 상세히 설명한다.
ATAPI 프로토콜을 사용하여 통신하는 PC(200) 및 ATAPI 드라이브(201) 사이에 펌웨어 다운로드 방법을 설명하면, PC(200)는 ATAPI 드라이브(201)의 제어부(201-1)에 펌웨어 다운로드를 시작 명령(START)을 전송하는 단계(300단계).
PC(200) 다운로드 시작 명령(START)이 ATAPI 드라이브(201)로 전송되면, 제어부(201-1)는 펌웨어 버퍼링을 위한 RAM(201-2)을 할당한다. 이때 펌웨어가 전송될 RAM(201-2)은 어떤 경우에도 변경되지 않는다.
ATAPI 드라이브(201)의 다운로드를 시작 명령(START)을 감지한 PC(200)는 ATAPI 드라이브(201)에 펌웨어 및 펌웨어 다운로드 진행을 알리는 명령(C12ONTINUE)을 전송한다(301단계).
PC로부터 다운로드 되는 펌웨어는 ATAPI 드라이브(201)의 RAM(201-2)에 저장되고, 펌웨어 다운로드 진행을 알리는 명령(CONTINUE)은 제어부(201-1)가 수신한다. PC(200)에서 전송되는 펌웨어 다운로드 진행을 알리는 명령(CONTINUE)은 플래시 메모리(201-3)의 사이즈에 따라 그 횟수가 결정된다.
펌웨어 전송이 완료되면, PC(200)는 ATAPI 드라이브(201)에 펌웨어 다운로드를 종료 명령(END)을 전송한다(302단계).
PC(200)가 ATAPI 드라이브(201)로 펌웨어 다운로드 시에 사용하는 상호 전송 규약이 도 4(a)에 도시되어 있다. 도 4a에서 Sub Command가 01h인 경우, PC(200)가 펌웨어를 ATAPI 드라이브(201)로 다운로드 하는 명령임을 나타낸다. 도 4(a)에 도시된 Download Code에 의해 펌웨어가 PC(200)에서 ATAPI 드라이브(201)로 다운로드 된다. Download Code가 00h인 경우(00h가 PC(200)에서 ATAPI 드라이브(201)로 전송되는 경우), 펌웨어 다운로드 시작을 의미한다. Download Code가 FFh인 경우, 펌웨어 다운로드 진행을 의미한다. Download Code가 XXh인 경우, 펌웨어 다운로드 종료를 의미한다.
ATAPI 드라이브(201)의 제어부(201-1)가 PC(200)로부터 펌웨어 다운로드를 종료 명령(END)을 수신하면, RAM(201-2)에 저장된 펌웨어를 플래시 메모리(201-3)에 저장한다(303단계). 제어부(201-1)는 펌웨어 다운로드 진행을 알리는명령(CONTINUE) 횟수만큼 RAM(201-2)에 저장되는 펌웨어를 플래시 메모리(201-3)에 저장한다.
ATAPI 드라이브(201)의 제어부(201-1)는 RAM(201-2)에 저장된 펌웨어가 플래시 메모리(201-3)로 저장이 완료되었는지 판단한다(304단계).
RAM(201-2)에 저장된 펌웨어가 플래시 메모리(201-3)로 저장되는 중에, 제어부(201-1)가 PC(200)로부터 출력되는 저장 상태 정보 요청 신호를 수신한 경우, 플래시 메모리(201-3)의 펌웨어 저장 상태 정보를 % 단위로 PC(200)에 전송한다(305단계).
ATAPI 드라이브(201)가 PC(200)로 전송하는 펌웨어 저장 상태 정보에 대한 상호 전송 규약이 도 4(b)에 도시되어 있다. 도 4b에서 Sub Command가 10h인 경우, ATAPI 드라이브(201)가 펌웨어 저장 상태를 PC(200)로 전송하는 것임을 나타낸다. RAM(201-2)에 저장된 펌웨어가 플래시 메모리(201-3)로 전송 중인 경우, 제어부(201-1)는 플래시 메모리(201-3)에 펌웨어 저장 상황을 전송 퍼센트(0∼100%)로 PC(200)에 전송한다. 이때 제어부(201-1)는 2 바이트 단위로 저장 상태 정보를 PC(200)로 전송한다. PC(200)를 사용 중인 고객은 ATAPI 드라이브(201)로부터 퍼센트로 전송되는 저장 상태 정보를 확인하여 펌웨어 저장 진행 상태를 확인할 수 있게 된다.
RAM(201-2)에 저장된 펌웨어가 플래시 메모리(201-3)로 모두 저장된 경우, ATAPI 드라이브(201)의 제어부(201-1)는 저장 완료 정보로서 FFFFh를 PC(200)로 전송하고, PC(200)는 ATAPI 드라이브(201)로부터 FFFFh를 수신하여 펌웨어가 저장 완료되었음을 확인한다(306단계).
본 발명은 상술한 실시 예에 한정되지 않으며 본 발명의 사상 내에서 당업자에 의한 변형이 가능함은 물론이다.
상술한 바와 같이 본 발명에 따르면, 호스트와 ATAPI 드라이브 사이의 펌웨어 다운로드를 위한 상호 표준화된 규격을 사용하여 보다 효율적으로 펌웨어를 다운로드할 수 있고, 고객에게 ATAPI 드라이브의 펌웨어 저장 상태 정보를 정확히 알려주는 효과를 창출한다.

Claims (3)

  1. ATAPI 프로토콜을 통하여 통신하는 호스트와 ATAPI 드라이브 사이의 펌웨어 다운로드 방법으로서,
    (a) 상기 호스트로부터 전송되는 특정 명령에 의해 상기 펌웨어를 버퍼링 하는 단계;
    (b) 상기 호스트의 요청에 의해 상기 버퍼링된 펌웨어가 내부 메모리에 저장 완료될 때까지의 저장 상태 정보를 상기 호스트로 전송하는 단계; 및
    (c) 저장완료 정보를 수신한 상기 호스트가 펌웨어 다운로드 종료 시점을 확인하는 단계를 포함하는 펌웨어 다운로드 방법.
  2. 제 1항에 있어서, 상기 (a)단계의 특정 전송 규약은 펌웨어 다운로드 시작을알리는 특정 명령(Start), 펌웨어 다운로드의 계속 진행을 알리는 특정 명령(Continue), 펌웨어 다운로드의 종료를 알리는 특정 명령(End)인 것을 특징으로 하는 펌웨어 다운로드 방법.
  3. 제 1항에 있어서, 상기 (b)단계에서 상기 버퍼링된 펌웨어가 내부 메모리에 저장 중인 경우, 상기 저장 상태 정보를 퍼센트 단위(0%∼100%)로 전송하는 것을 특징으로 하는 펌웨어 다운로드 방법.
KR10-2002-0072406A 2002-11-20 2002-11-20 펌웨어 다운로드 방법 KR100459729B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0072406A KR100459729B1 (ko) 2002-11-20 2002-11-20 펌웨어 다운로드 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0072406A KR100459729B1 (ko) 2002-11-20 2002-11-20 펌웨어 다운로드 방법

Publications (2)

Publication Number Publication Date
KR20040043940A KR20040043940A (ko) 2004-05-27
KR100459729B1 true KR100459729B1 (ko) 2004-12-03

Family

ID=37340340

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0072406A KR100459729B1 (ko) 2002-11-20 2002-11-20 펌웨어 다운로드 방법

Country Status (1)

Country Link
KR (1) KR100459729B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
KR19990025017A (ko) * 1997-09-09 1999-04-06 딩 얀 양 Ata / ide 인터페이스를 통한 광학디스크드라이브용 펌웨어 코드의 업그래이드 방법 및 장치
JP2000030366A (ja) * 1998-07-15 2000-01-28 Sony Corp 情報受信装置、及びダウンロード進捗状況表示方法
KR20000050874A (ko) * 1999-01-15 2000-08-05 윤종용 플래시 롬을 이용한 에뮬레이터를 포함한 마이콤 개발 시스템 및 펌웨어 업그레이드 방법
KR20020078371A (ko) * 2001-04-09 2002-10-18 주식회사 팬택앤큐리텔 이동통신단말기의 펌웨어 멀티 다운로딩 방법
KR20030070717A (ko) * 2002-02-26 2003-09-02 주식회사 레인콤 기록 매체 재생 장치를 이용한 주변 기기 펌웨어업그레이드 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
KR19990025017A (ko) * 1997-09-09 1999-04-06 딩 얀 양 Ata / ide 인터페이스를 통한 광학디스크드라이브용 펌웨어 코드의 업그래이드 방법 및 장치
JP2000030366A (ja) * 1998-07-15 2000-01-28 Sony Corp 情報受信装置、及びダウンロード進捗状況表示方法
KR20000050874A (ko) * 1999-01-15 2000-08-05 윤종용 플래시 롬을 이용한 에뮬레이터를 포함한 마이콤 개발 시스템 및 펌웨어 업그레이드 방법
KR20020078371A (ko) * 2001-04-09 2002-10-18 주식회사 팬택앤큐리텔 이동통신단말기의 펌웨어 멀티 다운로딩 방법
KR20030070717A (ko) * 2002-02-26 2003-09-02 주식회사 레인콤 기록 매체 재생 장치를 이용한 주변 기기 펌웨어업그레이드 방법 및 장치

Also Published As

Publication number Publication date
KR20040043940A (ko) 2004-05-27

Similar Documents

Publication Publication Date Title
KR101130474B1 (ko) 총칭 usb 드라이버
JP6336498B2 (ja) マルチプロセッサシステムにおけるプロセッサ間プロトコル
US7562360B2 (en) Method and system for firmware downloads
KR100781926B1 (ko) 컴퓨터 시스템 및 그 제어 방법
KR101640207B1 (ko) 부트로더 및 임베디드 시스템 업그레이드 방법
US7904606B2 (en) Transport control channel program chain linked branching
EP1310908A3 (en) Portable storage medium based on universal serial bus standard
KR20040035723A (ko) 컴퓨터 네트워크 내의 블록 데이터 저장
US9336022B2 (en) Universal serial bus (USB) device and a USB system including the same
CN101276316A (zh) 用于控制主机设备与usb设备之间的通信的装置、方法及系统
US20060200612A1 (en) Method and protocol for transmitting extended commands to USB devices
US8078805B1 (en) Method and system for communicating with a universal serial bus device
US6445718B1 (en) Serial interface circuit
KR100459729B1 (ko) 펌웨어 다운로드 방법
US20070198753A1 (en) Method and protocol for transmitting extended commands to USB devices
KR100604825B1 (ko) 펌웨어 다운로드 방법
EP1394682B1 (en) Data transfer control device, program and method of fabricating an electronic instrument
CN101561760B (zh) 接口卡固件升级方法
CN109254936B (zh) 插入数据传输队列结构体的方法和装置
EP2307974A1 (en) Method for transferring or erasing data in a master-slave environment
US7721007B2 (en) Methods of transmitting non-SCSI commands involving loading opcode in command descriptor block (CDB) bytes and non-SCSI commands into remaining CDB bytes
KR100496506B1 (ko) 표준 ums 통신을 이용한 usb 장치의 확장기능제공방법
US11435934B2 (en) Recording system
JP2002208912A (ja) データ通信装置およびデータ受信側機器のファームウェア書き換え装置
KR20070016932A (ko) 네트워크 카드를 구비하는 주변기기의 펌웨어 업그레이드방법

Legal Events

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

Payment date: 20091113

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee