KR20000000888A - 메모리의 프로그램 변경 및 독출 방법 - Google Patents

메모리의 프로그램 변경 및 독출 방법 Download PDF

Info

Publication number
KR20000000888A
KR20000000888A KR1019980020807A KR19980020807A KR20000000888A KR 20000000888 A KR20000000888 A KR 20000000888A KR 1019980020807 A KR1019980020807 A KR 1019980020807A KR 19980020807 A KR19980020807 A KR 19980020807A KR 20000000888 A KR20000000888 A KR 20000000888A
Authority
KR
South Korea
Prior art keywords
program
memory
upgrade
command
input
Prior art date
Application number
KR1019980020807A
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 KR1019980020807A priority Critical patent/KR20000000888A/ko
Publication of KR20000000888A publication Critical patent/KR20000000888A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Abstract

플래시(flash) 메모리에서 최초 어드레스에 해당되는 영역을 업그레이드 감시용 프로그램으로 설정하고 그 다음 어드레스 영역에 시스템 동작 프로그램으로 설정하여, 전원을 온시키는 명령이 입력되었는가를 판단하는 단계와, 상기 전원을 온시키는 명령이 입력되면, 메모리의 첫 번째 어드레스 영역에 기록된 업그레이드 감시용 프로그램을 독출하여 동작시키는 단계와, 상기 업그레이드 감시 프로그램이 동작되는 도중, 프로그램을 업그레이드시키는 명령이 입력되었는지를 감시하고 판단하는 단계와, 상기에서 프로그램 업그레이드 신호가 입력되면, 외부 포트로부터 업그레이드 프로그램을 로딩받아 메모리의 시스템 동작 프로그램 영역에 기록하는 단계, 및 상기 프로그램 업그레이드의 여부를 판단하는 단계에서 업그레이드할 명령이 입력되지 않으면, 시스템 동작 프로그램이 저장된 특정 어드레스를 이용하여 메모리로부터 시스템 동작 프로그램을 독출하고, 그 프로그램에 따라 시스템을 정상 동작시키는 단계를 구비함으로써, 메모리에 기록된 동작 프로그램을 업그레이드(upgrade)할 때 메모리를 보드에 장착시킨 상태로 프로그램을 안정하게 업데이트시킬 수 있는 메모리 프로그램의 변경 및 독출 방법을 제공한다.

Description

메모리의 프로그램 변경 및 독출 방법
본 발명은 디지털 기기의 메모리 장치에 관한 것으로서, 특히 전기적인 소거와 프로그래밍이 가능한 플래시(flash) 메모리에 프로그램을 업그레이드(upgrade)시킬 때 메모리를 보드에 장착시킨 상태로 데이터를 변경할 수 있는 메모리의 프로그램 변경 및 독출 방법에 관한 것이다.
각종 중앙처리장치(CPU)나 시스템 콘트롤러로 제어되는 디지털 기기에서 최초 동작에 필요한 시스템 작동 프로그램은 롬(ROM) 영역에 자리잡게 되고, 전원을 턴-온 시킴과 동시에 시스템 콘트롤러에 저장된 어드레스에 따라 상기 롬에 기록된 시스템 프로그램을 이용하여 시스템을 부팅시키게 된다.
이외에도, 롬에는 주변 하드웨어 장치를 제어하고 관리하는 루틴 등 시스템 작동에 있어 주체적인 역할을 하는 각종 시스템 프로그램들이 기록되어 있다.
상기와 같은 기능을 하는 롬은 일반적으로 EPROM(Erasable and Programmable ROM)을 사용했었고, 롬에 기록된 프로그램을 업그레이드시키기 위해서는 새로운 프로그램이 담긴 롬으로 교체하여야 했다.
하지만, 최근 플래시 메모리의 등장으로 플래시 메모리를 EPROM이나 Mask ROM을 대체하여 사용할 경우 메모리의 교체 없이 플래시 메모리를 디지털 기기에 장착한 채로 시스템 프로그램을 업그레이드할 수 있게 되었다.
그러나, 도 1과 같이 시스템 작동 프로그램이 메모리의 최초 어드레스에 기록되어 있으므로, 프로그램을 업그레이드하는 동안에는 시스템으로 전원이 공급되어야 하며, 시스템 콘트롤러도 안정하게 동작하고 있어야 한다.
디지털 기기로 전원이 인가되기 시작하면, 시스템 콘트롤러의 명령 지시기(IP; Instruction Pointer)가 메모리의 최초 어드레스를 가리키게 되고, 메모리의 최초 어드레스에 기록된 프로그램(OR; Operation Register)을 독출하고 그것을 바탕으로 각종 주변기기를 동작시키며 자신의 일을 수행하게 된다.
상기와 같이 메모리의 최초 어드레스에 시스템 동작 프로그램이 위치하고 있으므로, 메모리의 프로그램을 업그레이드하는 도중 정전이나 기타 여러 가지 오류 요인에 의해, 시스템 콘트롤러의 동작이 정지되거나 시스템의 작동이 정지되는 경우 프로그램은 완전히 업그레이드되지 않은 상태로 존재하게 된다.
따라서, 메모리에 들어 있는 프로그램은 시스템이 동작하기 위한 최초의 프로그램이 기록되어 있으므로, 그 프로그램이 완전하지 않으면 시스템이 작동하지 못하고, 롬을 다른 것으로 교체하기 전에는 동작하지 않는 문제점이 발생되었다.
본 발명의 목적은, 플래시(flash) 메모리에서 최초 어드레스에 해당되는 영역을 업그레이드 감시용 프로그램으로 설정하고 그 다음 어드레스 영역에 시스템 동작 프로그램으로 설정함으로써, 메모리에 기록된 동작 프로그램을 업그레이드(upgrade)할 때 메모리를 보드에 장착시킨 상태로 프로그램을 안정하게 업데이트시킬 수 있는 메모리의 프로그램 변경 및 독출 방법을 제공하는 데 있다.
상기 목적을 달성하기 위하여 본 발명의 작동 방법은, 전원을 온시키는 명령이 입력되었는가를 판단하는 단계; 상기 전원을 온시키는 명령이 입력되면, 메모리의 첫 번째 어드레스 영역에 기록된 업그레이드 감시용 프로그램을 독출하여 동작시키는 단계; 상기 업그레이드 감시 프로그램이 동작되는 도중, 프로그램을 업그레이드시키는 명령이 입력되었는지를 감시하고 판단하는 단계; 상기에서 프로그램 업그레이드 신호가 입력되면, 외부 포트로부터 업그레이드 프로그램을 로딩받아 메모리의 시스템 동작 프로그램 영역에 기록하는 단계; 및 상기 프로그램 업그레이드의 여부를 판단하는 단계에서 업그레이드할 명령이 입력되지 않으면, 시스템 동작 프로그램이 저장된 특정 어드레스를 이용하여 메모리로부터 시스템 동작 프로그램을 독출하고, 그 프로그램에 따라 시스템을 정상 동작시키는 단계를 수행한다.
도 1은 종래기술에 의한 메모리의 데이터 영역을 나타낸 도면이고,
도 2는 일반적인 프로그램 독출 및 업그레이드 장치를 나타낸 블록도이고,
도 3은 본 발명의 일실시예에 의한 메모리의 데이터 영역을 도시한 도면이고,
도 4는 도 2 및 도 3의 작동 방법을 나타낸 본 발명의 동작 순서도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
10 : 전원스위치 12 : 입력수단 14 : 인터페이스
16 ; 플래시 메모리(Flash Memory) 18 : 시스템 콘트롤러
20 : 메모리관리 유닛(Memory Management Unit)
MR : 업그레이드 감시용 프로그램이 기록된 어드레스 영역
OR : 시스템 동작 프로그램이 기록된 어드레스 영역
이하, 첨부한 도면을 참조하여 본 발명을 보다 상세하게 살펴보고자 한다.
도 2에 도시된 바와 같이 일반적으로 프로그램을 업그레이드시키기 위해서는 전원스위치(10), 입력수단(12), 인터페이스(14), 시스템 콘트롤러(16) 및 메모리(20) 등의 장치가 필요하다.
상기 전원스위치(10)는 외부로부터 인가되는 전원전압을 사용자의 선택에 의해 시스템으로 공급시키기 위한 스위치 개폐수단으로 구성되어 있고, 입력수단(12)은 메모리(20) 내의 프로그램을 업그레이드시키기 위한 모드선택 및 명령을 입력하고, 인터페이스(14)는 상기 입력수단(12) 및 주변장치로부터 출력되는 신호를 제공받아 신호 처리한 후 출력하는 양방향 통신 포트이고, 플래시 메모리(16)는 시스템 부팅 프로그램 및 주변 하드웨어 제어 프로그램을 소정 어드레스에 해당하는 영역에 기록하고 있고, 시스템 콘트롤러(18)는 상기 인터페이스(14)로부터 공급되는 동작 전원을 제공받아 작동하기 시작하고 내부 메모리관리 유닛(Unit;20)에 저장된 부팅 어드레스를 참조하여 상기 메모리(16)의 해당 어드레스에 있는 시스템의 작동 프로그램을 독출하여 시스템의 제반 작동을 제어한다.
즉, 메모리(16)에 저장된 시스템 동작 프로그램으로 구동되는 디지털 기기는 전원이 기기에 공급되면, 시스템 콘트롤러(18)의 메모리관리 유닛(20)에 저장되어 있는 명령 지시기(IP; Instruction Pointer)가 메모리(16)의 시작 어드레스를 가리키게 되고, 메모리(16)의 시작 어드레스로부터 일정 영역까지 시스템 콘트롤러(18)와 기기가 작동할 수 있는 최초의 프로그램이 기록되어 있어, 이 프로그램을 바탕으로 각종 주변기기를 동작시키며 자신의 일을 수행하게 된다.
도 3은 본 발명에 의한 상기 도 2의 플래시 메모리(16)에 데이터가 기록되는 영역을 나타낸 도면으로서, 프로그램 업그레이드 여부를 감시하는 프로그램이 기록된 영역(MR; Monitor Register)과, 시스템 동작 프로그램이 기록된 영역(OR; Operation Register) 등으로 나누어져 있다.
도 3a, 3b와 같이 시스템 콘트롤러(18)의 명령 지시기(IP1)가 가리키는 메모리(16)의 최초 어드레스 영역(MR)에 외부에서 프로그램 업그레이드를 하려는 의도 및 시도를 감시할 수 있는 프로그램을 기록하고, 실제적인 시스템 콘트롤러(18)가 동작하기 위한 동작 프로그램은 최초 어드레스 영역(MR)에서 적당히 떨어진 다음 어드레스 영역(OR)에 기록해 놓는다.
즉, 전원이 인가되면, 시스템 콘트롤러(18)는 명령 지시기(IP1)에 따라 도 3a와 같이 메모리(16)의 시작 어드레스 영역(MR)에 기록된 감시 프로그램을 우선적으로 독출하여 작동시켜 메모리(16)의 업그레이드 여부를 체크하게 되고, 그 후 도 3b와 같이 명령 지시기의 위치를 변경(IP1→IP2)하여 메모리(16)로부터 시스템 작동 프로그램을 독출하여 시스템을 작동시키게 된다.
상기와 같은 개념으로 구성된 본 발명의 작동 과정을 도 2 내지 도 4를 기준으로 살펴보면 다음과 같다.
먼저, 전원을 인가하면(S1), 시스템 콘트롤러(18)는 외부로부터 전원을 공급받아 작동되어 시스템 콘트롤러(18)의 내부 메모리관리 유닛(20)에 기록된 명령 지시기(IP1)에 의해 해당 메모리(16)의 최초 어드레스 영역(MR)에 저장된 업그레이드 감시용 프로그램을 독출한다(S2).
시스템 콘트롤러(18)는 상기에서 독출한 업그레이드 감시용 프로그램을 작동시키고(S3), 외부 입력수단(12)으로부터 프로그램을 업그레이드시키는 명령이 입력되었는가를 판단한다(S4).
상기 입력수단(12)으로부터 시스템 동작 프로그램을 업그레이드시키는 명령이 입력되면(S4), 시스템 콘트롤러(18)는 인터페이스(14)로부터 업그레이드용 프로그램을 전송받아 로딩하고, 내부 메모리관리 유닛(20)에 기록된 명령 지시기(IP2)에 의해 해당 메모리(16)의 두 번째 어드레스에 해당하는 영역(OR)으로 업그레이드용 시스템 동작 프로그램을 전송하여 기록한다(S5).
만약, 시스템 콘트롤러(18)는 상기 프로그램을 업그레이드하는 도중 전원이 꺼지거나 데이터에 에러가 발생되는 등의 데이터 처리 오류가 발생되었는지의 여부를 판단하여 오류가 발생되었으면(S6), 상기 전원을 온 시키는 과정(S1)부터 재수행하면 된다.
상기 외부 입력수단(12)으로부터 프로그램을 업그레이드시키는 명령이 입력되었는가를 판단하는 과정(S4)에서 업그레이드시키는 명령이 입력되지 않으면, 기설정한 일정 시간이 경과되었는지를 판단하여 일정시간이 경과되었으면(S7), 시스템 콘트롤러(18)는 내부 메모리관리 유닛(20)에 기록된 명령 지시기(IP)의 포인터를 옮겨(IP1→IP2) 해당 메모리의 두 번째 어드레스 영역(OR)에 해당하는 시스템 동작 프로그램을 메모리(16)로부터 독출한다(S8).
시스템 콘트롤러(18)는 상기에서 독출한 시스템 동작 프로그램을 바탕으로 각종 주변기기를 동작시키며 자신의 일을 수행하게 된다(S9).
본 발명은 일실시예에 제한되지 않고, 사용자의 필요에 따라 소프트웨어적으로 제어하여 전원 인가시에 상기 메모리의 첫 번째 어드레스 영역에 기록된 감시 프로그램을 수행하지 않고, 곧바로 메모리의 두 번째 어드레스 영역에 있는 시스템 동작 프로그램을 수행하여 시스템의 부팅 시간을 단축시킬 수 있도록 응용 구성할 수도 있다.
상술한 바와 같이 본 발명에서는, 플래시 메모리에 프로그램을 업그레이드시키는 도중 전원이 턴-오프되거나 외부 오류 요인에 의해 프로그램이 완전히 기록되지 않은 상태로 시스템이 정지하여도 플래시 메모리에 기본 감시 프로그램은 그대로 기록되어 있으므로, 다시 시스템을 켠 후 외부로부터 업그레이드용 프로그램을 로딩받아 메모리를 다시 업데이트시킬 수 있다.

Claims (3)

  1. 전원을 온시키는 명령이 입력되었는가를 판단하는 단계;
    상기 전원을 온시키는 명령이 입력되면, 메모리의 첫 번째 어드레스 영역에 기록된 업그레이드 감시용 프로그램을 독출하여 동작시키는 단계;
    상기 업그레이드 감시 프로그램이 동작되는 도중, 프로그램을 업그레이드시키는 명령이 입력되었는지를 감시하고 판단하는 단계;
    상기에서 프로그램 업그레이드 신호가 입력되면, 외부 포트로부터 업그레이드 프로그램을 로딩받아 메모리의 시스템 동작 프로그램 영역에 기록하는 단계; 및
    상기 프로그램 업그레이드의 여부를 판단하는 단계에서 업그레이드할 명령이 입력되지 않으면, 시스템 동작 프로그램이 저장된 특정 어드레스를 이용하여 메모리로부터 시스템 동작 프로그램을 독출하고, 그 프로그램에 따라 시스템을 정상 동작시키는 단계를 수행하는 것을 특징으로 하는 메모리의 프로그램 변경 및 독출 방법.
  2. 제 1 항에 있어서, 상기 프로그램을 업그레이드하는 도중 전원이 꺼지거나 데이터에 에러가 발생되는 등의 데이터처리 오류발생 여부를 판단하여 오류가 발생되었으면, 상기 전원을 온 시키는 명령이 입력되었는지 판단하는 과정부터 재수행하는 단계를 더 구비하는 메모리의 프로그램 변경 및 독출 방법.
  3. 제 1 항에 있어서, 상기 프로그램을 업그레이드시키는 명령이 입력되었는지를 판단하는 과정에서 업그레이드시키는 명령이 입력되지 않으면,
    기설정한 일정 시간이 경과되었는지를 판단하는 단계;
    기설정한 일정시간이 경과되었으면, 메모리의 첫 번째 어드레스에서 명령 지시기의 포인터를 옮겨 상기 메모리의 두 번째 어드레스 영역에 해당하는 시스템 동작 프로그램을 메모리로부터 독출하는 단계를 더 구비하는 메모리의 프로그램 변경 및 독출 방법.
KR1019980020807A 1998-06-05 1998-06-05 메모리의 프로그램 변경 및 독출 방법 KR20000000888A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980020807A KR20000000888A (ko) 1998-06-05 1998-06-05 메모리의 프로그램 변경 및 독출 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980020807A KR20000000888A (ko) 1998-06-05 1998-06-05 메모리의 프로그램 변경 및 독출 방법

Publications (1)

Publication Number Publication Date
KR20000000888A true KR20000000888A (ko) 2000-01-15

Family

ID=19538423

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980020807A KR20000000888A (ko) 1998-06-05 1998-06-05 메모리의 프로그램 변경 및 독출 방법

Country Status (1)

Country Link
KR (1) KR20000000888A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100440950B1 (ko) * 2001-06-30 2004-07-21 삼성전자주식회사 네트워크 환경에 있어서 소프트웨어 업그레이드 방법 및그에 따른 네트워크 디바이스
KR100473267B1 (ko) * 2000-12-28 2005-03-07 엘지전자 주식회사 전송장비에서 소프트웨어 버젼 관리장치 및 그 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328845A (ja) * 1995-06-02 1996-12-13 Hioki Ee Corp Romの制御プログラム書替え方法
JPH09152969A (ja) * 1995-11-30 1997-06-10 Kenwood Corp 電子機器のソフトウェア更新装置
KR970049486A (ko) * 1995-12-28 1997-07-29 배순훈 가전제품의 업그레이드 장치
JPH1011277A (ja) * 1996-06-20 1998-01-16 Sharp Corp 電気的書換え可能な不揮発性メモリを備えるコンピュータ装置および不揮発性半導体メモリ
JPH1063497A (ja) * 1996-08-16 1998-03-06 Fuji Electric Co Ltd プログラム更新方法
KR19990068862A (ko) * 1998-01-22 1999-09-06 양 딩유안 프로그램 가능한 플래시 메모리를 내장하는 마이크로콘트롤러

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328845A (ja) * 1995-06-02 1996-12-13 Hioki Ee Corp Romの制御プログラム書替え方法
JPH09152969A (ja) * 1995-11-30 1997-06-10 Kenwood Corp 電子機器のソフトウェア更新装置
KR970049486A (ko) * 1995-12-28 1997-07-29 배순훈 가전제품의 업그레이드 장치
JPH1011277A (ja) * 1996-06-20 1998-01-16 Sharp Corp 電気的書換え可能な不揮発性メモリを備えるコンピュータ装置および不揮発性半導体メモリ
JPH1063497A (ja) * 1996-08-16 1998-03-06 Fuji Electric Co Ltd プログラム更新方法
KR19990068862A (ko) * 1998-01-22 1999-09-06 양 딩유안 프로그램 가능한 플래시 메모리를 내장하는 마이크로콘트롤러

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100473267B1 (ko) * 2000-12-28 2005-03-07 엘지전자 주식회사 전송장비에서 소프트웨어 버젼 관리장치 및 그 방법
KR100440950B1 (ko) * 2001-06-30 2004-07-21 삼성전자주식회사 네트워크 환경에 있어서 소프트웨어 업그레이드 방법 및그에 따른 네트워크 디바이스

Similar Documents

Publication Publication Date Title
US4663707A (en) Multilevel bootstrap apparatus
US5974528A (en) Microcomputer with embedded flash memory having on-chip programming capability and method of programming data into the embedded flash memory
KR100324834B1 (ko) 전자장치
KR100415371B1 (ko) 컴퓨터
US6115814A (en) Memory paging scheme for 8051 class microcontrollers
KR100317593B1 (ko) 차량용제어장치
EP1008928A4 (en) DISK UNIT AND CALCULATOR
KR100265266B1 (ko) 플래쉬 eeprom 을 구비하는 마이크로컴퓨터및 플래쉬 eeprom 의 소거방법
KR19990041698A (ko) 고정된 플래시 롬의 데이터 갱신이 가능한 컴퓨터 시스템 및 그 제어 방법
US20010054128A1 (en) Microcomputer with built-in flash memory
GB2315887A (en) Re-programming a memory device whilst preserving a real time clock
KR0172001B1 (ko) 바이오스 메모리의 재프로그램 장치 및 그 방법
KR19980071069A (ko) 플래시 이이피롬을 내부에 포함한 마이크로컴퓨터
KR20000000888A (ko) 메모리의 프로그램 변경 및 독출 방법
KR100310486B1 (ko) 마이크로컴퓨터
EP1001341B1 (en) Method and apparatus for controlling rewrite of a flash EEPROM in a microcomputer
KR19980054349A (ko) 옵션 자동 설정 회로
KR100465610B1 (ko) 온-칩 프로그래밍 능력을 가지는 내장된 플래시 메모리를 구비한 마이크로컴퓨터 및 상기 내장된 플래시 메모리에 데이터를프로그램하는 방법
JPH08305561A (ja) ファームウエアダウンロード方法とその装置
KR100585529B1 (ko) 시피엘디 다운로드 및 버젼관리 방법, 및 시피엘디 제어관리 시스템
JPH10283171A (ja) 情報処理装置およびその制御方法
JP2004013338A (ja) データ処理装置および方法
JPH06314190A (ja) 電子装置
KR20020061195A (ko) 플래시 메모리의 프로그램 업데이트 시스템 및 그 제어방법
JPH1050086A (ja) Eepromを有するマイクロコンピュータ及びその書換方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
SUBM Submission of document of abandonment before or after decision of registration