KR100186604B1 - 데이터통신시스템의 중단없는 기능수행을 위한 프로그래밍 방법 - Google Patents

데이터통신시스템의 중단없는 기능수행을 위한 프로그래밍 방법 Download PDF

Info

Publication number
KR100186604B1
KR100186604B1 KR1019960060896A KR19960060896A KR100186604B1 KR 100186604 B1 KR100186604 B1 KR 100186604B1 KR 1019960060896 A KR1019960060896 A KR 1019960060896A KR 19960060896 A KR19960060896 A KR 19960060896A KR 100186604 B1 KR100186604 B1 KR 100186604B1
Authority
KR
South Korea
Prior art keywords
program
memory
dedicated memory
flash memory
upgrade
Prior art date
Application number
KR1019960060896A
Other languages
English (en)
Other versions
KR19980041592A (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 KR1019960060896A priority Critical patent/KR100186604B1/ko
Publication of KR19980041592A publication Critical patent/KR19980041592A/ko
Application granted granted Critical
Publication of KR100186604B1 publication Critical patent/KR100186604B1/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
    • 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

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

본 발명은 데이터 통신시스템에서 요구되는 업그레이드를 위한 프로그램을 프로그래밍하는 방법을 개선시키기 위한 것이다. 이러한 본 발명은 소프트웨어적인 제어가 가능한 플레쉬메모리를 프로그램 탑재영역의 소자로 이용하여 원격 다운로드 방식으로 프로그램 업그레이드가 가능하도록 하였다. 또한 업그레이드 도중에 장비제어기능에 공백이 생기는 것을 방지하기 위해 프로그램 업그레이드를 위한 별도의 전용메모리를 사용하는 구조를 채택하였다. 이 업그레이드를 위한 전용메모리는 업그레이드 이후에는 시스템의 성능향상을 위한 메모리로 기능전환을 가능케하여 활용도를 높였다.

Description

데이터통신시스템의 중단없는 기능수행을 위한 프로그래밍 방법
본 발명은 데이터 통신시스템에 관한 것으로, 특히 통신시스템에서 요구되는 업그레이드를 위한 프로그램을 통신시스템의 기능이 중단됨이 없도록 하면서 프로그래밍하는 방법에 관한 것이다.
데이터통신망은 장비의 특성에 따라 다양하게 구성될 수 있으나, 일반적으로 도 1에 도시된 바와 같은 형태로 나타낼 수 있다. 즉, 망의 마스터(Master)역할을 하는 중앙제어국(Central Office) 101과, 망의 슬레이브(Slave)역할을 하는 원격국사(Remote Office)들 102∼104가 데이터통신망을 형성한다.
상기 중앙제어국 101과 원격국사들 102∼104를 형성하는 통신시스템은 도 2에 도시된 바와 같이 시스템 전체의 제어기능을 담당하는 제어기능블럭 200과, 통신장비의 서비스를 가능케 하는 다른 기능블럭들로 이루어진다. 상기 제어기능블럭 200은 제어기능의 중심이 되는 마이크로프로세서 202와, 장비운용에 필요한 응용프로그램이 탑재되어 있는 롬(ROM: Read Only Memory) 204와, 응용프로그램 실행중에 처리되는 데이터를 가공 및 보존하는 역할을 하는 램(RAM: Random Access Memory) 206과, 각종 주변소자 및 기타 기능블럭들과의 인터페이스를 위한 입/출력부(Input/Output) 208 등으로 구성된다.
한편 상기와 같은 제어기능블럭을 포함하는 통신시스템을 설치한 후 운용하다가 보면 성능개선, 기능추가 등의 상황에 종종 직면함에 따라 기존의 프로그램을 새로운 프로그램으로 교체(업그레이드: upgrade)할 필요가 발생하게 된다. 그런데 기존의 통신시스템은 응용프로그램이 PROM(Programmable Read Only Memory) 또는 EPROM(Erasable and Programmable Read Only Memory)에 탑재되어 있어 새로운 프로그램으로 교체하기 위해서는 PROM, EPROM에 프로그래밍한 후 시스템이 설치된 장소를 방문하여 제어기능블럭이 설치된 유니트를 탈장하고 교체작업을 하여야 하는 불편함을 야기시킨다. 특히 새로이 프로그래밍하여야 할 통신시스템이 원격에 설치된 경우에 그 번거로움은 더 심하게 될 것이다. 또한 이러한 프로그래밍작업은 시간적으로 인적으로 많은 손실을 유발할 뿐만 아니라 교체하는 시간동안에 장비를 제어하는 기능에 공백이 생기는 문제점이 있게 된다.
따라서 본 발명의 목적은 통신시스템에서 업그레이드를 위한 프로그램을 보다 편리하게 프로그래밍하는 방법을 제공함에 있다.
본 발명의 다른 목적은 통신시스템의 프로그램을 새로이 교체하는 경우에 유발되는 시간적, 인적손실을 줄이는 방법을 제공함에 있다.
본 발명의 또다른 목적은 통신시스템에서 프로그램을 새로이 교체하는 경우에 장비제어기능에 공백이 생기는 문제점을 제거하는 방법을 제공함에 있다.
이러한 목적들을 달성하기 위한 본 발명은 종래 기술의 문제점인 프로그램 교체에 따른 시간적, 인적 손실과 장비제어의 공백상태가 소프트웨어적인 제어로 프로그램 탑재영역의 소자의 소거(erase) 및 프로그램 업그레이드(upgrade)가 불가능하다는 데 착안한 것이다. 이러한 본 발명은 소프트웨어적인 제어가 가능한 플레쉬메모리(flash memory)를 프로그램 탑재영역의 소자로 이용하여 원격 다운로드 방식으로 프로그램 업그레이드가 가능하도록 하였다. 또한 업그레이드 도중에 장비제어기능에 공백이 생기는 것을 방지하기 위해 프로그램 업그레이드를 위한 별도의 전용메모리를 사용하는 구조를 채택하였다. 이 업그레이드를 위한 전용메모리는 업그레이드 이후에는 시스템의 성능향상을 위한 메모리로 기능전환을 가능케하여 활용도를 높였다.
본 발명에 따른 소정의 플레쉬메모리와 전용메모리를 적어도 포함하는 데이터통신시스템에서 업그레이드를 위한 프로그램을 프로그래밍하는 방법은 상기 플레쉬메모리를 통해 상기 전용메모리에 복사된 이전의 프로그램을 수행하다가 업그레이드 상황 발생시 상기 플레쉬메모리를 통해 프로그램이 수행되도록 조치한 후 새로운 프로그램을 다운로드받아 상기 전용메모리에 보관한 후 상기 전용메모리에 보관된 프로그램을 상기 플래쉬메모리로 복사하는 것을 특징으로 한다.
상기 프로그래밍 방법은 상기 전용메모리에 탑재되어 있는 프로그램을 수행하는 제1과정과, 다운로드명령이 있는 경우 프로그램 수행영역을 상기 전용메모리에서 상기 플래쉬메모리로 전환하여 프로그램을 수행하는 제2과정과, 새로운 프로그램을 다운로드받아 상기 전용메모리에 보관하는 제3과정과, 다운로드 동작이 완료된 경우 상기 전용메모리에 보관된 프로그램을 수행하고, 이와 동시에 상기 전용메모리에 보관된 프로그램을 상기 플래쉬메모리로 복사는 제4과정으로 이루어진다.
도 1은 일반적인 데이터통신망의 구성을 보여주는 도면.
도 2는 종래 기술에 따른 통신시스템의 구성을 상세하게 보여주는 도면.
도 3은 본 발명에 따른 통신시스템의 제어기능블럭의 구성을 보여주는 도면.
도 4는 본 발명에 따라 업그레이드를 위한 프로그램을 다운로드하는 처리흐름을 보여주는 도면.
도 5는 본 발명에 따라 다운로드한 프로그램을 업그레이드하는 처리흐름을 보여주는 도면.
이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의내려진 용어들로서 이는 사용자 또는 칩설계자의 의도 또는 관례 등에 따라 달라질 수 있으므로, 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 3을 참조하면, 본 발명에 따른 통신시스템의 제어기능블럭은 종래 기술에 따른 제어기능블럭과 동일하게 마이크로프로세서 202, RAM 206, I/O 208을 포함하여 이루어진다. 한편 본 발명에 따른 특징적인 요소는 플레쉬메모리 210, 전용메모리 212, 제1통신포트 214 및 제2통신포트 216이 포함된다는 것이다.
상기 플레쉬메모리 210은 종래 기술에 따른 ROM 204를 대신한 것이고, 이 플레쉬메모리 210의 용량만큼 액세스타임(access time)이 빠른 RAM이 시스템의 성능향상 및 업그레이드를 위한 전용메모리 212로서 연결된다. 또한 본 발명은 새로운 교체(업그레이드)를 위한 프로그램의 다운로드(down)를 위한 제1통신포트 214 및 제2통신포트 216을 포함한다. 상기 제1통신포트 214는 PC로부터 프로그램을 직접 다운로드하기 위한 포트로 도 1에 도시된 중앙제어국 101의 제어기능블럭에 유용하며, 제2통신포트 216은 원격프로그래밍을 가능하게 하는 포트로 도 1에 도시된 원격국사 102∼104의 제어기능블럭에 유용하다. 즉, 중앙제어국 101에 프로그램을 교체하고자 하는 경우에는 제1통신포트 214를 이용하고 PC로부터 프로그램을 다운로드받아 처리하고, 원격국사 102∼104에 프로그램을 교체하고자 하는 경우에는 제2통신포트 216을 이용하여 중앙제어국 101로부터 프로그램을 다운로드받아 처리한다.
도 4는 상기 제1통신포트 214 또는 제2통신포트 216을 통해 프로그램을 다운로드받는 경우의 처리흐름을 보여주는 도면이고, 도 5는 다운로드된 프로그램을 전용메모리에 보관 및 실행하였다가 플레쉬메모리에 업그레이드하는 경우의 처리흐름을 보여주는 도면이다.
최초 시스템을 설치할 시 플래쉬메모리 210에 탑재되어 있는 시스템 운용 프로그램은 파워온이후 기본적인 초기화 동작을 마친 후 액세스타임이 빠른 업그레이용 전용메모리 212에 복사(copy)되어 실행되게 된다. 이는 업그레이드를 위해 추가한 전용메모리 212를 평상시에도 활용하여 성능향상을 기하기 위함이다. 시스템 운용중에 새로운 프로그램의 업그레이드를 필요로 하는 경우에는 하기와 같은 순서에 따라 작업을 수행하게 된다. 여기서 유의할 점은 하기의 동작은 중앙제어국 101에 새로운 프로그램을 교체하는 경우를 예로 하여 설명할 것이다. 그러나 원격국사 102∼104에서 새로운 프로그램을 교체하는 경우에도 동일한 동작이 수행된다는 사실에 유의하여야 한다. 다만, 그 동작상의 차이점은 중앙제어국 101의 경우는 제1통신포트 214를 통해 PC로부터의 프로그램을 다운로드받게 되며, 원격국사 102∼104의 경우는 제2통신포트 216을 통해 중앙제어국 101로부터의 프로그램을 다운로드받는다데 있다.
지금, 운용자가 중앙제어국 101내의 제어기능블럭에 연결된 PC용 통신포트 214로 다운로드 명령을 전달하면, 마이크로프로세서 202는 401단계에서 전용메모리 212에 탑재되어 있는 프로그램을 수행하다가 402단계에서 다운로드 명령이 전달되었음을 확인한다. 다운로드 명령을 받은 마이크로프로세서 202는 다운로드 전용메모리 212에 새로운 프로그램데이터를 수신하기 위해 전용메모리 212에서 수행중인 프로그램을 플래쉬메모리 210에서 대신 수행하도록 조치한다. 즉, 404단계에서 프로그램 수행영역을 플래쉬메모리 210으로 전환한다. 플래쉬메모리 210으로 프로그램 수행영역 바뀌면 마이크로프로세서 202는 405단계에서 다운로드가 가능하다는 메시지(다운로드 준비완료 메시지)를 PC로 송신하고, 406단계에서 다운로드 동작을 수행한다. 이때 다운로드된 데이터는 전용메모리 212에 보관되게 되며, 407단계에서 다운로드 완료 메시지가 수신되는 경우 다운로드의 동작을 완료한다.
도 5의 502단계에서 다운로드의 동작이 완료된 것으로 확인되면 마이크로프로세서 202는 503단계에서 프로그램 수행영역을 다시 전용메모리 212로 전환한다. 다음에는 504단계에서 전용메모리 212에 탑재되어 있는 프로그램에 따라 프로그램을 수행을 시작하고, 505단계에서 전용메모리 212에 탑재된 업그레이드된 프로그램을 플래쉬메모리 210으로 복사한다. 이로써 중앙제어국 101내의 제어기능블럭의 프로그램의 업그레이드가 완료된다.
상기와 같이 프로그램의 업그레이드가 완료된 이후에 중앙제어국 101내의 제어기능블럭은 제2통신포트 216을 통해 각 원격국사 102∼104내 제어기능블럭에 다운로드 명령을 전달하고, 각 원격국사 102∼104내 제어기능블럭은 중앙제어국 101내의 제어기능블럭이 PC로부터 데이터를 전송받고 업그레이드하는 방식과 동일한 형태로 중앙제어국 101내의 제어기능블럭으로부터 데이터를 전송받고 업그레이드한다. 이때 업그레이드를 위해 추가되는 모든 프로그램은 기본 운용프로그램 수행과 병행하여 수행되므로 프로그램 교체에 따른 누적데이터 손실이 방지된다. 업그레이드된 프로그램도 성능정보 및 경보에 관계된 누적데이터를 구프로그램이 사용하는 전용메모리 303의 동일한 영역에 고정하여 사용되므로 누적데이터의 손실이 방지된다.
상술한 바와 같이 본 발명은 소프트웨어적인 제어가 가능한 플레쉬메모리를 프로그램 탑재영역의 소자로 이용하고 프로그램 업그레이드를 위한 별도의 전용메모리를 사용하는 구조를 사용한다. 이에 따라 프로그램을 새로이 교체하는 경우에 유발되는 시간적, 인적손실을 줄일 수 있는 이점이 있으며, 또한 프로그램을 새로이 교체하는 경우에 장비제어기능에 공백이 생기는 문제점을 제거하는 이점이 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 않되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (3)

  1. 소정의 플레쉬메모리와 전용메모리를 적어도 포함하는 데이터통신시스템에서 업그레이드를 위한 프로그램을 프로그래밍하는 방법에 있어서,
    상기 플레쉬메모리를 통해 상기 전용메모리에 복사된 이전의 프로그램을 수행하다가 업그레이드 상황 발생시 상기 플레쉬메모리를 통해 프로그램이 수행되도록 조치한 후 새로운 프로그램을 다운로드받아 상기 전용메모리에 보관한 후 상기 전용메모리에 보관된 프로그램을 수행하면서 상기 플래쉬메모리로 복사하는 것을 특징으로 하는 프로그래밍 방법.
  2. 제1항에 있어서, 상기 프로그래밍 방법은,
    상기 전용메모리에 탑재되어 있는 프로그램을 수행하는 제1과정과,
    다운로드명령이 있는 경우 프로그램 수행영역을 상기 전용메모리에서 상기 플래쉬메모리로 전환하여 프로그램을 수행하는 제2과정과,
    새로운 프로그램을 다운로드받아 상기 전용메모리에 보관하는 제3과정과,
    다운로드 동작이 완료된 경우 상기 전용메모리에 보관된 프로그램을 수행하고, 이와 동시에 상기 전용메모리에 보관된 프로그램을 상기 플래쉬메모리로 복사는 제4과정으로 이루어짐을 특징으로 하는 프로그래밍 방법.
  3. 데이터통신시스템의 업그레이드를 위한 프로그램을 프로그래밍하는 장치에 있어서,
    소정 업그레이드를 위한 프로그램의 다운로드를 위한 통신포트와,
    이전의 프로그램을 탑재하고 있으며 상기 통신포트를 통해 다운로드된 프로그램을 보관하는 전용메모리와,
    상기 전용메모리에 대응하여 연결되는 플래쉬메모리와,
    다운로드명령이 발생하는 경우에는 프로그램 수행영역을 상기 전용메모리에서 상기 플래쉬메모리로 전환하여 수행시키고 이와 동시에 상기 통신포트를 통해 다운로드되는 프로그램을 상기 전용메모리에 보관하고, 다운로드가 완료된 경우에는 상기 전용메모리에 보관된 프로그램을 수행시키고 이와 동시에 이 다운로드된 프로그램을 상기 플래쉬메모리로 복사하는 동작을 제어하는 마이크로프로세서로 이루어짐을 특징으로 하는 프로그래밍 장치.
KR1019960060896A 1996-11-30 1996-11-30 데이터통신시스템의 중단없는 기능수행을 위한 프로그래밍 방법 KR100186604B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960060896A KR100186604B1 (ko) 1996-11-30 1996-11-30 데이터통신시스템의 중단없는 기능수행을 위한 프로그래밍 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960060896A KR100186604B1 (ko) 1996-11-30 1996-11-30 데이터통신시스템의 중단없는 기능수행을 위한 프로그래밍 방법

Publications (2)

Publication Number Publication Date
KR19980041592A KR19980041592A (ko) 1998-08-17
KR100186604B1 true KR100186604B1 (ko) 1999-05-15

Family

ID=19485359

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960060896A KR100186604B1 (ko) 1996-11-30 1996-11-30 데이터통신시스템의 중단없는 기능수행을 위한 프로그래밍 방법

Country Status (1)

Country Link
KR (1) KR100186604B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100640436B1 (ko) * 1999-07-15 2006-10-31 삼성전자주식회사 듀얼 플래쉬 메모리를 구비한 옥내 수신장치와 운용체제 수정방법

Also Published As

Publication number Publication date
KR19980041592A (ko) 1998-08-17

Similar Documents

Publication Publication Date Title
KR101426710B1 (ko) 휴대단말기의 버전정보 갱신 장치 및 방법
US5937198A (en) Field configurable embedded computer system
US5778234A (en) Method for downloading programs
US6684324B2 (en) Method for installing two or more operating systems/user interfaces into an electronic device and an electronic device
CN101288055B (zh) 数据处理控制方法,信息处理设备和数据处理控制系统
AU9772298A (en) Remote software download with automatic adjustment for data access compatibility
CN101211265A (zh) 一种终端嵌入式系统的软件更新方法和装置
CN101639785A (zh) 软件升级方法及装置
US6167482A (en) Method and apparatus utilizing a flash memory device to maintain accurate unit timing
KR100413227B1 (ko) 비휘발성 메모리가 내장된 마이크로컴퓨터
WO2007020083A2 (en) Feedback linker for increased delta performance
CN101194494B (zh) 处理器控制的设备,尤其是具有不同操作模式的电子通信和/或多媒体设备
EP0934563A1 (en) Failsafe method for upgrading set-top system software from a network server
CN101751277B (zh) 用于电子装置的数据处理与寻址方法及其电子装置
KR100186604B1 (ko) 데이터통신시스템의 중단없는 기능수행을 위한 프로그래밍 방법
WO2002001319A2 (en) Method and apparatus for autonomous memory usage optimization and downloading of software features
EP3584697B1 (en) Information processing device
JP2000181719A (ja) 通信機器へのプログラムのダウンロード方法
KR100538627B1 (ko) 무선통신단말기의 소프트웨어 부분 업그레이드 방법
KR100409119B1 (ko) 이동 통신용 단말기의 소프트웨어 유지 및 보수 방법
JP2972742B1 (ja) 制御プログラム更新方式
KR20020056610A (ko) 휴대장치에서의 모듈 프로그램 구현 방법
KR20000074918A (ko) 이동통신 시스템에서 부트-롬 코드 업그레이드 장치 및 방법
CN113703682A (zh) 文件挂载方法、装置、存储介质及电子装置
CN114661291A (zh) 控制系统及控制方法

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

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee