KR20010086352A - 플래시 마이크로컴퓨터의 프로그램 재기록 방법 - Google Patents

플래시 마이크로컴퓨터의 프로그램 재기록 방법 Download PDF

Info

Publication number
KR20010086352A
KR20010086352A KR1020010003902A KR20010003902A KR20010086352A KR 20010086352 A KR20010086352 A KR 20010086352A KR 1020010003902 A KR1020010003902 A KR 1020010003902A KR 20010003902 A KR20010003902 A KR 20010003902A KR 20010086352 A KR20010086352 A KR 20010086352A
Authority
KR
South Korea
Prior art keywords
boot program
block
memory
memory block
program
Prior art date
Application number
KR1020010003902A
Other languages
English (en)
Other versions
KR100408872B1 (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 니시가키 코지
Publication of KR20010086352A publication Critical patent/KR20010086352A/ko
Application granted granted Critical
Publication of KR100408872B1 publication Critical patent/KR100408872B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 메모리장치에 기억되어 있는 부트 프로그램을 새로운 부트 프로그램으로 재기록하는 방법, 상기 방법을 실행하는 장치 및 상기 방법을 실행하거나 상기 장치로서 기능하게 하는 프로그램을 저장한 기록매체를 제공함을 목적으로 하는 것으로서, 부트 프로그램이 전기적으로 기록되거나 소거될 수 있는 제1 및 제2 메모리 블록을 적어도 포함하는 메모리장치에 부트 프로그램을 재기록 하는 방법은 새로운 부트 프로그램이 기록되는 제1 메모리 블록(28)에 기억된 데이터를 소거하는 단계(a)와, 제1 메모리 블록(28)에 새로운 부트 프로그램이 기록되는 단계(b)와, 제1 메모리 블록이 부트블록으로서 인식될 수 있도록 제1 메모리 블록(28)의 어드레스를 변경하는 단계(c)와, 제2 메모리 블록(26)의 부트 프로그램을 소거하는 단계(d)를 포함한다.

Description

플래시 마이크로컴퓨터의 프로그램 재기록 방법{METHOD OF REWRITING PROGRAM IN FLASH MICROCOMPUTER}
본 발명은 메모리장치에 기억되어 있는 부트 프로그램을 새로운 부트 프로그램으로 재기록하는 방법, 상기 방법을 실행하는 장치 및 상기 방법을 실행하거나 상기 장치로서 기능하도록 하는 프로그램을 저장한 기록매체에 관한 것이다.
메모리장치, 특히 플래시형 메모리장치에서 프로그램을 재기록하는 많은 방법이 제안되어 왔다.
예컨대, 일본국 특개평 11-96779호 공보는 플래시형 메모리장치에서 프로그램의 재기록 회수를 감소시킬 수 있는 프로그램 재기록 방법을 개시하고 있다.
상기 방법에서 플래시형 메모리장치와 관련된 물리적 어드레스에서는 각 블록마다 헤더 영역 및 프로그램 데이터 영역이 배치되고 프로세서와 관련된 논리 어드레스에서는 각 블록의 헤더 영역 및 프로그램 데이터 영역이 연속하여 배치된다. 프로그램 데이터 영역(N)에 기록된 데이터가 재기록되는 경우에 프로그램 데이터 영역(N)의 블록과 그것에 대응하는 헤더 영역의 블록을 재기록할 필요성이 있다. 그러나, 플래시형 메모리의 물리적 어드레스에서는 프로그램 데이터 영역(N) 및 그것에 대응하는 헤더 영역은 동일 블록 내에 위치한다. 따라서, 단지 그 블록만이 재기록된다.
미국 특허출원 제019178호(1999년 2월 5일 출원, Compaq ComputerCorporation)에 기초한 일본국 특개평 11-316687호 공보는 기동(start-up) 프로세스중에 발생하는 시스템 에러를 보상하는 장치를 개시하고 있다.
상기 장치는 ROM, 불휘발성 RAM 및 CPU를 구비하고 있다. ROM은 복수의 부트가 가능한 플래시 이미지를 기억함과 동시에 프로그램 불가능한 부트블록을 포함하고 있다. 불휘발성 RAM은 어떤 플래시 이미지가 선택되었는가를 나타내는 상태 데이터를 기억하고 있다. CPU는 선택된 플래시 이미지의 완전성 여부를 테스트하고 완전한 경우에는 그 플래시 이미지를 실행하고 불완전한 경우에는 다른 플래시 이미지를 새롭게 선택한다. CPU는 상기 새롭게 선택된 플래시 이미지에 대해서도 완전성 여부를 테스트하고 완전한 경우에만 그 플래시 이미지를 실행한다. 이와 같이 불완전한 플래시 이미지는 실행되지 않기 때문에 시스템을 자동적으로 회복시키는 것이 가능하게 된다.
미국 특허출원 제695952호(1992년 5월 6일 출원, Intel Corporation)에 기초한 일본국 특개평 6-266552호 공보는 불휘발성 메모리장치에 기억되어 있는 코드 또는 데이터의 일부를 컴퓨터 시스템으로부터 커버와 같은 부품을 분리시키지 않고 동적으로 수정 또는 갱신하는 것이 가능한 컴퓨터 시스템를 개시하고 있다.
구체적으로는 상기 컴퓨터 시스템은 프로세스 논리를 실행하는 프로세서와, 상기 프로세서에 결합되고 오퍼레이팅 시스템 프로세스 논리 및 데이터를 기억하는 불휘발성 메모리장치와, 프로세서에 결합되고 불휘발성 메모리장치의 내용을 읽어내는 수단과, 프로세서에 결합되고 불휘발성 메모리장치의 내용을 소거하는 수단과, 프로세서에 결합되고 불휘발성 메모리를 프로그래밍하는 수단과, 오퍼레이팅시스템 프로세스 논리의 실행 중에 오퍼레이팅 시스템 논리를 갱신하는 수단을 구비하고 있다.
일본국 특개평 10-177527호 공보는 데이터 갱신 중에 전원이 끊겨도 데이터를 잃거나 원래의 데이터와 다른 내용이 되지 않도록 하는 플래시 메모리에서의 데이터 갱신방법을 개시하고 있다.
구체적으로 설명하면, 상기 방법은 블록마다 데이터가 소거될 수 있고 바이트마다 기록될 수 있는 플래시 메모리에 기억된 데이터를 갱신하는 방법이다. 상기 방법에서, 플래시 메모리는 2개의 블록으로 분할된다. 데이터의 단위는 2개의 블록에 교대로 기록된다. 데이터가 2개의 블록에서 판독될 때에 상기 2개의 블록에 정상적으로 기억된 데이터 단위 중에서 최신의 데이터 단위가 판독된다.
일본국 특개평 8-280679호 공보는 프로그램의 재기록을 용이하게 실행할 수 있는 프로그램 메모리장치를 개시하고 있다.
상기 프로그램 메모리장치는 동작이나 연산의 각종 프로그램을 기억하고 전기적으로 기록 및 소거가 가능한 복수의 영역을 갖는 플래시 메모리와, 프로그램에 의해 동작하는 장치 본체의 외부에 마련되고 재기록용의 프로그램을 기억하는 재기록용 메모리와 장치 본체를 전기적으로 접속하는 접속수단과, 플래시 메모리의 프로그램과 재기록용 메모리의 프로그램을 선택하여 전환하는 전환수단과, 재기록용 프로그램을 플래시 메모리의 미사용의 영역에 기억하고 상기 재기록용 프로그램에 실행 가능한 어드레스를 부여하는 프로그램 실행수단과, 상기 프로그램 실행수단으로 실행하기 위한 어드레스를 플래시 메모리의 프로그램 어드레스로 변경하는 데이터, 플래시 메모리의 사용 상황 데이터 및 플래시 메모리의 재기록 누적 회수 데이터를 기억하는 관리용 메모리를 구비하고 있다.
컴퓨터에 기억되어 있는 부트 프로그램을 재기록할 때, 재기록 작업중에 컴퓨터에 전원이 끊긴다면 재차 그 컴퓨터에서의 부트 프로그램을 재기동시킬 수 없게 된다.
미국 특허출원 제375095호(1995년 1월 18일 출원, Hewlett Packard Company)에 기초하여 상기와 같은 상태를 회피하는 방법이 일본국 특개평 제8-255084호 공보에 개시되어 있다.
도 1 및 도 2는 상기 일본국 특개평 제8-255084호 공보에 기재 되어 있는 방법의 플로우차트이다.
이하, 주(primary) 부트블록(0)에 기억되어 있는 부트 프로그램을 새로운 부트 프로그램으로 재기록하는 경우를 예로 하여 상기 공보에 기재되어 있는 방법을 설명한다.
초기의 상태로서 도 2의 (A)에 도시된 바와 같이 주 부트블록(0)에는 부트 프로그램이 기억되고, 대체블록(1)에는 데이터를 기억하고 있다.
우선, 도 2의 (B)에 도시된 바와 같이 대체블록(1)에 기억되어 있는 데이터를 소거한다(도 1의 단계(300)).
이어서, 도 2의 (C)에 도시된 바와 같이 주 부트블록(0)에 기록되어 있는 부트 프로그램을 대체블록(1)에 카피한다(도 1의 단계(310)).
이어서, 대체블록(1)이 부트블록으로서 인식되도록 불휘발성 메모리 블록회로(도시되지 않음)에 의해 대체블록(1)의 어드레스를 변경한다(도 1의 단계(320)).
그 후, 도 2의 (D)에 도시된 바와 같이 주 부트블록(0)에 기억되어 있던 부트 프로그램을 소거한다(도 1의 단계(330)).
이어서, 도 2의 (E)에 도시된 바와 같이 주 부트블록(0)에 새로운 부트 프로그램을 기록한다(도 1의 단계(340)).
이어서, 새로운 부트 프로그램을 기억한 주 부트블록(0)이 부트블록으로서 인식되도록 불휘발성 메모리 블록회로에 의해 주 부트블록(0)의 어드레스를 변경한다(도 1의 단계(350)).
이어서, 도 2의 (F)에 도시된 바와 같이 원래의 부트 프로그램을 카피해 둔 대체블록(1)으로부터 부트 프로그램을 소거한다(도 1의 단계(360)).
이어서, 도 2의 (G)에 도시된 바와 같이 비어있는 대체블록(1)은 데이터영역으로서 사용된다. 즉, 대체블록(1)에 데이터가 기억된다.
정상적으로 부트 프로그램의 재기록 작업이 종료하면 도 2의 (F)에 도시된 바와 같이 주 부트블록(0)은 반드시 부트영역이 된다. 그 때문에 정상적으로 부트 프로그램의 재기록 작업이 종료하였는지의 여부에 관한 판단은 주 부트블록(0)이 부트영역으로 되었는가를 검출함으로서 판정이 이루어진다. 그 때문에 상기의 순서와 같이 원래의 부트 프로그램을 주 부트블록(0)으로부터 대체블록(1)에 카피해야 하므로 대체블록(1)의 플래시 메모리에 대하여 과도한 스트레스가 가해진다.
또한, 도 1 및 도 2에 도시하는 종래의 방법에서는 주 부트블록(0)에 기록되어 있는 원래의 부트 프로그램을 대체블록(1)에 카피할 필요성이 있으며대체블록(1)에 카피한 부트 프로그램을 재차 소거하고 대체블록(1)을 데이터영역으로서 사용하기 위해 대체블록(1)에 대한 소거/기록의 동작을 2회 행할 필요가 있다.
즉, 도 2의 (B)에 도시하는 상태로부터 도 2의 (C)에 도시하는 상태로 이행할 때에 제1 번째의 재기록이 행하여지고 도 2의 (F)에 도시하는 상태로부터 도 2의 (G)에 도시하는 상태로 이행할 때에 제2 번째의 재기록이 행해진다.
또한, 상기의 일본국 특개평 제11-96779호 공보, 일본국 특개평 제11-316687호 공보, 일본국 특개평 제6-266552호 공보, 일본국 특개평 제10-177527호 공보 및 일본국 특개평 제280679호 공보에 기재되어 있는 방법 또는 장치에 있어서도 대체블록이 되는 메모리 블록에 프로그램을 카피하는 단계를 구비하고 있어서 대체블록이 되는 메모리 블록의 플래시 메모리에 대하여 과도한 스트레스를 주는 원인이 되었다.
본 발명은 전술한 종래의 메모리장치에서의 문제점을 고려하여 이루어진 것으로서, 메모리장치에 기억되어 있는 부트 프로그램을 재기록할 때에 하나의 메모리 블록으로부터 다른 메모리 블록에 부트 프로그램을 재기록할 필요성을 없게 한 부트 프로그램 재기록 방법을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은 상기와 같은 방법을 실행할 수 있는 컴퓨터를 제공함을 목적으로 한다.
본 발명의 일 특징에 따르면, 부트 프로그램이 전기적으로 기록 또는 소거가가능한 적어도 제1 및 제2 메모리 블록을 포함하는 메모리장치에 부트 프로그램을 재기록하는 방법에 있어서, 새로운 부트 프로그램이 기록되는 상기 제1 메모리 블록(28)에 기억되어 있는 데이터를 소거하는 단계(a)와, 상기 제1 메모리 블록(28)에 새로운 부트 프로그램을 기록하는 단계(b)와, 상기 제1 메모리 블록(28)이 부트블록으로서 인식될 수 있도록 상기 제1 메모리 블록(28)의 어드레스를 변경하는 단계(c)와, 제2 메모리 블록(26)으로부터 부트 프로그램을 소거하는 단계(d)를 포함하는 것을 특징으로 하는 부트 프로그램 재기록 방법이 제공된다.
본 발명에 따른 부트 프로그램 재기록 방법, 컴퓨터장치 또는 부트 프로그램을 기억한 기억매체에 의하면 종래의 프로그램 재기록 방법과는 달리 하나의 메모리 블록(제2 메모리 블록에 상응하는 메모리 블록)에 기록되어 있는 원래의 부트 프로그램을 대체블록이 되는 다른 하나의 메모리 블록(제1 메모리 블록에 상응하는 메모리 블록)에 카피시킬 필요성이 없다. 대체블록이 되는 제1 메모리 블록에 새로운 부트 프로그램이 직접적으로 기록되는 것이 가능하다. 이 때문에 대체블록으로서의 제1 메모리 블록에 대한 부트 프로그램의 소거 및 기록 동작은 1회로 끝난다. 이와 같이 본 발명에 의하면, 대체블록으로서의 제1 메모리 블록에 대한 부트 프로그램의 소거/기록의 회수를 감할 수 있기 때문에 대체블록으로 기능하는 제1 메모리 블록의 플래시 메모리에 대한 스트레스를 반감시킬 수 있고 나아가서는 플래시 메모리의 수명 또한 늘릴 수 있다.
상기 방법에 있어서, 상기 제1 메모리 블록(28)에 대응하는 기억영역(29)에 새로운 부트 프로그램에 관한 데이터를 기록하는 단계를 더 포함하는 것을 특징으로 하는 부트 프로그램 재기록 방법이 제공된다.
상기 추가적인 단계는 메모리 블록이 부트블록 영역으로서 인식되는 것을 보장해 준다.
상기 방법에 있어서, 부트 프로그램이 상기 제1 및 제2 메모리 블록(28, 26)의 쌍방에 기록되면 부트 프로그램은 정상적으로 재기록되지 않았다라고 판단하는 단계를 더 포함하는 것을 특징으로 하는 부트 프로그램 재기록 방법이 제공된다.
상기 방법에 있어서, 상기 제1 및 제2 메모리 블록(28, 26)의 쌍방에 대응하는 기억영역(29, 27)에 새로운 부트 프로그램에 관한 데이터가 기록되면 부트 프로그램은 정상적으로 재기록되지 않았다라고 판단하는 단계를 더 포함하는 것을 특징으로 하는 부트 프로그램 재기록 방법이 제공된다.
상기 방법에 있어서, 상기 메모리장치는 3개 이상의 메모리 블록을 포함하고 상기 메모리 블록 중에서 2개의 메모리 블록이 사용되는 것을 특징으로 하는 부트 프로그램 재기록 방법이 제공된다.
본 발명의 다른 특징에 따르면, 적어도 2개의 메모리 블록(26, 28, 30, 32)을 포함하는 메모리장치(20)와, 상기 메모리 블록(26, 28, 30, 32)으로의 부트 프로그램의 기록 및 상기 메모리 블록(26, 28, 30, 32)으로부터의 부트 프로그램의 소거를 제어하는 제어회로와(23), 상기 메모리 블록(26, 28, 30, 32)의 어드레스를 변경하는 어드레스 변경회로(24)를 포함하는 컴퓨터에 있어서, 상기 제어회로(23)는 상기 메모리 블록 중의 상기 제1 메모리 블록(28)에 기억된 데이터를 소거하고, 상기 제1 메모리 블록(28)에 새로운 부트 프로그램을 기록하고, 상기 메모리 블록중의 제2 메모리 블록(26)에 기억된 부트 프로그램을 소거하고, 상기 어드레스 변경회로(24)는 상기 제1 메모리 블록(28)이 부트블록으로서 인식될 수 있도록 상기 제1 메모리 블록(28)의 어드레스를 변경하는 것을 특징으로 하는 컴퓨터가 제공된다.
본 발명에 따른 부트 프로그램 재기록 방법, 컴퓨터장치 또는 부트 프로그램을 기억한 기억매체에 의하면 종래의 프로그램 재기록 방법과는 달리 하나의 메모리 블록(제2 메모리 블록에 상응하는 메모리 블록)에 기록되어 있는 원래의 부트 프로그램을 대체블록이 되는 다른 하나의 메모리 블록(제1 메모리 블록에 상응하는 메모리 블록)에 카피시킬 필요성이 없다. 대체블록이 되는 제1 메모리 블록에 새로운 부트 프로그램이 직접적으로 기록되는 것이 가능하다. 이 때문에 대체블록으로서의 제1 메모리 블록에 대한 부트 프로그램의 소거 및 기록 동작은 1회로 끝난다. 이와 같이 본 발명에 의하면, 대체블록으로서의 제1 메모리 블록에 대한 부트 프로그램의 소거/기록의 회수를 감할 수 있기 때문에 대체블록으로 기능하는 제1 메모리 블록의 플래시 메모리에 대한 스트레스를 반감시킬 수 있고 나아가서는 플래시 메모리의 수명 또한 늘릴 수 있다.
상기 컴퓨터에 있어서, 상기 제어회로(23)는 상기 제1 메모리 블록(28)에 대응하는 기억영역(29)에 새로운 부트 프로그램에 관한 데이터를 기록하는 것을 특징으로 하는 컴퓨터가 제공된다.
상기 컴퓨터에 있어서, 상기 제어회로(23)는 부트 프로그램이 상기 제1 및 제2 메모리 블록(28, 26)의 쌍방에 기억되면 부트 프로그램은 정상적으로 재기록되지 않았다라고 판단하는 것을 특징으로 하는 컴퓨터가 제공된다.
상기 컴퓨터에 있어서, 상기 제어회로(23)는 상기 제1 및 제2 메모리 블록(28, 26)의 쌍방에 대응하는 기억영역에 새로운 부트 프로그램에 관한 데이터가 기억되면 부트 프로그램은 정상적으로 재기록되지 않았다라고 판단하는 것을 특징으로 한는 컴퓨터가 제공된다.
상기 컴퓨터에 있어서, 상기 메모리장치(20)는 플래시 메모리인 것을 특징으로 하는 컴퓨터가 제공된다.
상기 컴퓨터에 있어서, 상기 메모리장치(20)는 ROM인 것을 특징으로 하는 컴퓨터장치가 제공된다.
본 발명의 다른 특징에 따르면, 컴퓨터가 제1 내지 제 5항의 어는 한 항에서 정의된 하나의 방법을 실행하도록 하는 프로그램을 기억하고 있는 컴퓨터 판독이 가능한 기록매체가 제공된다.
본 발명의 또 다른 특징에 따르면, 컴퓨터가 제 6항 내지 제 11항의 어느 한 항에서 정의된 컴퓨터로서 기능하도록 하는 프로그램을 기억하고 있는 컴퓨터 판독이 가능한 기록매체가 제공된다.
도 1은 종래의 프로그램 재기록 방법의 각 단계를 도시하는 플로우차트.
도 2는 도 1에 도시된 종래의 프로그램 재기록 방법에서의 주 부트블록과 대체블록이 어떻게 기록되는가를 도시하는 플로우차트.
도 3은 본 발명의 일 실시예에 따른 프로그램 재기록 방법이 단축되어 실시되는 플래시 마이크로컴퓨터의 블록도.
도 4는 도 3에 도시된 플래시 마이크로컴퓨터의 동작을 도시하는 플로우차트.
도 5는 도 3에 도시된 플래시 마이크로컴퓨터의 일 부분을 구성하는 플래시 메모리의 2개의 플래시 메모리 블록이 어떻게 기록되는가를 도시하는 플로우차트.
도 6은 프로그램이 재기록되는 도중에 제1 및 제2 플래시 메모리 블록의 상태를 도시하는 블록도.
도 7은 프로그램이 재기록되는 도중에 제1 및 제2 플래시 메모리 블록의 상태를 도시하는 블록도.
도 8은 프로그램이 재기록되는 도중에 제1 및 제2 플래시 메모리 블록의 상태를 도시하는 블록도.
도 9는 프로그램이 재기록되는 도중에 제1 및 제2 플래시 메모리 블록의 상태를 도시하는 블록도.
도 10은 프로그램이 재기록되는 도중에 제1 및 제2 플래시 메모리 블록의 상태를 도시하는 블록도.
도 11은 도 3에 도시된 플래시 마이크로컴퓨터에서 어드레스 변경회로의 일 예에 관한 블록도.
도 12는 도 3에 도시된 플래시 마이크로컴퓨터에서 어드레스 변경회로의 일 예에 관한 블록도.
도 13은 프로그램을 플래시 마이크로컴퓨터에 재기록하는 프로그램이 기억되는 기록매체의 일 예를 도시하는 도면.
<도면의 주요부분에 대한 간단한 설명>
1: 플래시 마이크로컴퓨터 20 : 플래시 메모리
21 : CPU 22 : 메모리
23 : 플래시 메모리 제어회로 24 : 어드레스 변경회로
25 : RAM
26, 28, 30, 32 : 제1 내지 제4 플래시 메모리 블록
27, 29, 31, 33 : 부트 프로그램 데이터 기억영역
40 : 메모리 41 : 하위 어드레스 비트 라인
42 : XOR 게이트 43 : 상위 어드레스 비트 라인
44 : 부트블록 지정 레지스터
본 발명에 따른 양호한 실시예가 첨부된 도면을 참조하여 이하에서 상세히 기술될 것이다.
도 3은 본 발명의 일 실시예에 따른 프로그램을 재기록 방법이 단축되어 실시되는 플래시 마이크로컴퓨터의 블록도이다.
상기 실시예에 따른 상기 플래시 마이크로컴퓨터(10)는 플래시 메모리(20)를 포함한다.
상기 플래시 메모리(20)는 제1 플래시 메모리 블록((0)26), 제2 플래시 메모리 블록((1)28), 제3 플래시 메모리 블록((2)30), 제4 플래시 메모시 블록((n)32)을 포함한다. 부트 프로그램은 제1 내지 제4 플래시 메모리 블록(26 내지 32)에 전기적으로 기록될 수 있고, 부트 프로그램은 제1 내지 제4 플래시 메모리 블록(26 내지 32)으로부터 전기적으로 소거될 수 있다
상기 플래시 메모리(20)는 상기 제1 플래시 메모리 블록((0)26)에 대응하는 제1 기억영역((027)과, 상기 제2 플래시 메모리 블록((1)28)에 대응하는 제2 기억영역((1)29)과, 상기 제3 플래시 메모리 블록((2)30)에 대응하는 제3 기억영역((2)47)과, 상기 제4 플래시 메모리 블록((n)32)에 대응하는 제4 기억영역((n)33)을 포함한다. 상기 제1 내지 제4 기억영역(27 내지 33)은 상기 플래시 메모리 블록(26 내지 32)에 기억된 부트 프로그램에 관한 데이터를 기억한다.
상기 플래시 마이크로컴퓨터(10)는 플래시 메모리(20)로의 부트 프로그램의 기록 및 플래시 메모리(20)로부터의 부트 프로그램의 소거를 제어하는데 사용되는 프로그램을 기억하는 메모리(22)와, 메모리(22)에 기억된 프로그램에 따라서 플래시 메모리(20)로의 부트 프로그램의 기록 및 플래시 메모리(20)로부터의 부트 프로그램의 소거를 실행하는 플래시 메모리 제어회로(23)와, 제1 내지 제4 플래시 메모리 블록((0)26 내지 (n)32)의 어드레스를 변경하는 어드레스 변경회로(24)와,RAM(25)과, 메모리(22)에 기억된 프로그램에 따라서 RAM(25) 및 어드레스 변경회로(24)를 제어하는 CPU(21)를 더 포함한다.
도 4 및 도 5는 도 3에 도시된 플래시 마이크로컴퓨터(10)의 동작을 도시하는 플로우차트이다. 이하, 도 4 및 도 5을 참조하여 플래시 마이크로컴퓨터(10)의 동작이 설명될 것이다.
본 실시예에서 새로운 부트 프로그램이 기록되는 대체블록으로서 제2 플래시 메모리 블록((1)28)이 사용되고 제1 플래시 메모리 블록((0)26)에 기억된 부트 프로그램이 새로운 부트 프로그램에 재기록된다고 가정한다.
부트 프로그램을 재기록하기 이전에 도 5의 (A)에 도시된 바와 같이 제1 플래시 메모리블록((0)26)은 부트 프로그램을 기억하고 제2 플래시 메모리 블록((1)28)은 데이터를 기억한다.
우선, 도 5의 (B)에 도시된 바와 같이 새로운 부트 프로그램이 기록되는 대체블록으로서 기능하는 제2 플래시 메모리블록((1)28)에 기억되어 있는 데이터를 소거한다(도2의 단계(100)).
도 6은 상기 시점에서 제1 플래시 메모리 블록((0)26) 및 제2 플래시 메모리 블록((1)28)의 양쪽 상태를 도시하고 있다. 제1 플래시 메모리 블록((0)26)은 아직까지 원래의 부트 프로그램을 기억하고 있고 제2 플래시 메모리 블록((1)28)은 비어있는 상태이다.
제1 플래시 메모리 블록((0)26)에 대응하는 기억영역((0)27)은 그 대응하는 플래시 메모리 블록에 부트 프로그램을 기억하고 있다는 것을 나타내는 프로그램데이터(00h)를 기억하고 있고 제2 플래시 메모리 블록((1)28)에 대응하는 기억영역((1)29)은 그 대응하는 플래시 메모리 블록이 비어 있다는 것을 나타내는 프로그램 데이터(FFh)를 기억하고 있다.
이어서, 도 5의 (C)에 도시된 바와 같이 대체블록으로서 기능하는 제2 플래시 메모리 블록((1)28)에 새로운 부트 프로그램이 기록된다(도 4의 단계(110)).
도 7은 상기 시점에서 제1 플래시 메모리 블록((0)26) 및 제2 플래시 메모리 블록((1)28) 양쪽의 상태를 나타내고 있다. 제1 플래시 메모리 블록((0)26)은 원래의 부트 프로그램을 그대로 기록하고 있고 제2 플래시 메모리 블록((1)28)는 새로운 부트 프로그램을 기억하고 있다.
제1 플래시 메모리 블록((0)26)에 대응하는 기억영역((0)27)은 그 대응하는 플래시 메모리 블록에 부트 프로그램을 기억하고 있다는 것을 나타내는 프로그램 데이터(00h)가 기억되고, 제2 플래시 메모리 블록((1)28)에 대응하는 기억영역((1)29)은 대응하는 플래시 메모리 블록이 아무것도 기억하고 있지 않다는 것을 나태내는 프로그램 데이터(FFh)를 아직 기억하고 있다.
이어서, 새로운 부트 프로그램은 새로운 부트 프로그램이 기록되는 제2 플래시 메모리 블록((1)28)에 대응하는 제2 기억영역((1)29)에 기억된다(도 4의 단계(120)).
도 8은 상기 시점에서의 제1 플래시 메모리 블록((0)26) 및 제2 플래시 메모리 블록((1)28) 양쪽의 상태를 나타내고 있다. 제1 플래시 메모리 블록((0)26)은 부트 프로그램을 그대로 기억하고 있고 제2 플래시 메모리 블록((1)28)은 새로운부트 프로그램을 기억하고 있다.
제1 플래시 메모리 블록((0)26)에 대응하는 제1 기억영역((0)27)은 그 대응하는 플래시 메모리블록에 부트 프로그램을 기억하고 있다는 것을 나타내는 프로그램 데이터(00h)가 기억되고 제2 플래시 메모리 블록((1)28)에 대응하는 제2 기억영역((1)29)은 그 대응하는 플래시 메모리 블록에 다른 부트 프로그램을 기억하고 있다는 것을 나타내는 부트 프로그램 데이터(01h)를 기억하고 있다.
이어서, CPU(21)는 새로운 부트 프로그램이 기록되는 제2 플래시 메모리 블록((1)28)이 부트블록으로서 인식되도록 어드레스 변경회로(24)가 제2 플래시 메모리 블록((1)28)의 어드레스를 변경하도록 한다(도 4의 단계(130)).
도 9는 상기 시점에서 제1 플래시 메모리 블록((0)26) 및 제2 플래시 메모리 블록((1)28)의 양쪽 상태를 도시하고 있다. 도 8과 같이 제1 플래시 메모리 블록((0)26)은 부트 프로그램을 그대로 기억하고 있고 제2 플래시 메모리 블록((1)28)는 새로운 부트 프로그램을 기억하고 있다.
그러나, 도 9에 도시하는 상태에서, 도 8에 도시된 상태에서 제2 플래시 메모리 블록((1)28)의 어드레스와는 다르게 새로운 부트 프로그램이 기록디는 제2 플래시 메모리 블록((12)28)의 어드레스는 "40000h-7FFFFh"에서 "00000h-3FFFh"로 변경된다. 상기와 같은 변경에 의해 새로운 부트 프로그램이 기록되는 제2 플래시 메모리 블록((1)28)은 CPU(21)에 의해 부트블록으로서 인식된다. 반대로, 원래의 부트 프로그램을 그대로 기록하는 제1 플래시 메모리 블록((0)26)의 어드레스는 "00000h-3FFFh"에서 "40000h-7FFFFh"로 변경되게 된다. 상기와 같은 어드레스의 변경에 의해 제1 플래시 메모리 블록((0)26)은 CPU(21)에 의해 부트블록으로서 인식되지 않는다.
이어서, 도 5의 (D)에 도시된 바와 같이 제1 플래시 메모리 블록((0)26)에 기록되어 있는 원래의 부트 프로그램은 소거된다(도 4의 단계(140)).
도 10은 상기 시점에서의 제1 플래시 메모리 블록((0)26) 및 제2 플래시 메모리 블록((1)28)의 양쪽 상태를 도시하고 있다. 제1 플래시 메모리 블록((0)26)은 비어있는 상태이며 제2 플래시 메모리 블록((1)28)은 새로운 부트 프로그램을 기록하고 있다.
제1 플래시 메모리 블록((0)26)에 대응하는 제1 기억영역((0)27)은 대응하는 플래시 메모리는 아무것도 기억하고 있지 않다는 것을 나타내는 프로그램 데이터(FFh)를 기억하고 제2 플래시 메모리 블록((1)28)에 대응하는 제2 기억영역((1)29)은 대응하는 플래시 메모리 블록은 부트 프로그램을 기억하고 있다는 것을 나타내는 프로그램 데이터(01h)를 기억하고 있다.
이어서, 도 5의 (E)에 도시된 바와 같이 비어있는 상태의 제1 플래시 메모리 블록((0)26)에 데이터가 기억된다.
이에 의해, 플래시 마이크로컴퓨터(10)의 부트 프로그램의 재기록 동작이 완료된다.
여기서, 가령, 도 8에 도시된 상태, 즉, 제1 플래시 메모리 블록((0)26)은 원래의 부트 프로그램을 그래도 기억하고 제2 플래시 메모리 블록((1)28)은 새로운 부트 프로그램을 기억하고 있는 경우에 전원이 끊긴다는 것을 가정하였다.
따라서, 플래시 마이크로컴퓨터(10)가 재기동하는 경우에 플래시 마이크로컴퓨터는 2개의 부트 프로그램을 포함한다. 즉, 제1 기억영역((1)29)과 제2 기억영역((0)27) 양쪽은 부트 프로그램이 대응하는 플래시 메모리 블록에 기억되어 있다는 것을 나타내는 프로그렘 데이터를 기억하고 있다. 상기와 같은 제1 기억영역((027)과 제2 기억영역((1)29)에 기억된 프로그램 데이터에 기초하여 프로그램의 재기록 동작이 정상적으로 완료하지 않았다는 것을 판단할 수 있다. 이와 같이 플래시 마이크로컴퓨터(10)는 리커버리 처리가 필요하다는 판단을 행할 수 있다.
도 11 및 도 12는 어드레스 변경회로(24)에 의해 부트블록 메모리 어드레스가 변경된 시스템의 예를 도시하고 있다.
도 11에서, 제1 플래시 메모리 블록((0)26)에 부팅을 하기 위해 보통의 메모리 어드레스가 먼저 지정된다. 도 12에서, 제2 플래시 메모리 블록((1)28)에 부팅을 하기 위해 메모리 어드레스가 먼저 지정된다.
부트블록을 지정하는 레지스터(44)는 비트 단위로 세트 및 리셋을 행할 수 있다.
도 11은 상기 레지스터(44)가 리셋의 상태에 있는 경우를 도시하고 있다. XOR 게이트(42)로의 입력은 상위 어드레스 비트 라인(43)이 반전되지 않도록 결정된다. 하위 어드레스 비트 라인(41)은 종래의 방식으로 메모리(40)을 지정한다.
도 12는 상기 레지스터(44)가 세트의 상태에 있는 경우를 도시하고 있다. XOR 게이트(42)로의 입력은 상위 어드레스 비트 라인(43)이 반전되도록 결정된다. 따라서, 제2 플래시 메모리 블록((1)28)은 부트블록이라고 인식된다.
도 1 및 도 2와 관련하여 설명된 종래의 방법에서 도 2의 (C)에 도시된 바와 같이 주 부트블록(0)에 기록되어 있는 원래의 부트 프로그램을 대체블록(1)에 카피할 필요성이 있고 또한 도 2의 (F) 및 도 2의 (G)에 도시된 바와 같이 데이터를 기억하기 위한 영역으로서 대체블록을 사용하고 대체블록(1)에 카피된 부트 프로그램을 소거하기 위해 대체블록(1)에 소거/기록 동작을 2회 행할 필요성이 있다.
전술한 방법에 따르면, 전술한 방법과는 달리 주 부트블록(0)(제1 플래시 메모리 블록((0)26))에 기록되어 있는 원래의 부트 프로그램을 대체블록으로서 기능하는 제2 플래시 메모리 블록((1)28)에 카피할 필요성이 없다. 본 실시예에서는 부트 프로그램을 제2 플래시 메모리 블록((1)28)에 대해 카피하는 대신 직접 대체블록으로서 기능하는 제2 플래시 메모리 블록((1)28)에 새로운 부트 프로그램을 기록할 수 있다. 따라서, 대체블록으로서 기능하는 제2 플래시 메모리 블록((1)28)에 대한 프로그램의 소거/기록 동작은 도 5의 (C)에 도시된 바와 같이 단지 한번으로 실행되는데 반해 종래의 방법에서는 상기와 같은 동일한 동작이 2회에 걸쳐 시행되어야 한다.
전술한 바와 같이, 본 실시예에 따른 방법은 대체블록으로서 기능하는 제2 플래시 메모리 블록((1)28)에 대한 부트 프로그램의 소거/기록의 회수를 줄어들게 해서 제2 플래시 메모리 블록((1)28)의 플래시 메모리상에 가해지는 스트레스를 줄일 수 있어 플래시 메모리의 수명을 증가시킬 수 있다.
전술한 실시예에서 2개의 플래시 메모리 블록을 사용한 프로그램 재기록 동작을 설명하였지만 본 발명에 따른 방법은 3개 이상의 플래시 메모리 블록를 갖는플래시 메모리에서도 적용될 수 있다. 플래시 메모리 블록의 개수가 많을수록 플래시 메모리의 수명은 늘어날 것이다.
전술한 실시예에서 플래시 메모리와 관련하여 부트 프로그램의 재기록 방법이 설명되었다. 그러나, 본 발명의 적용범위는 플래시 메모리에 한정되는 것이 아니고 본 발명은 프로그램을 재기록할 필요가 있는 다른 모든 용도에 대해서도 적용할 수 있다.
예컨대, 플래시 메모리 뿐만 아니라 EEPROM과 같은 다른 ROM으로 사용하는 것도 가능하다.
전술한 실시예에 따른 마이크로컴퓨터는 상기 기억영역(27, 29, 31, 33)들이 유저영역과 분리되어 있는 플래시 메모리(20)에서 부트 프로그램 데이터를 기억하는 제 1 내지 제4 기억영역(27, 29, 31, 33)을 포함하도록 설계된다. 그러나, 상기 제1 내지 제4 기억영역(27, 29, 31, 33)은 유저영역 내에 배치되는 것도 가능하다. 제1 내지 제4 기억영역(27, 29, 31, 33)은 반드시 유저영역과는 별도로 분비할 필요는 없다.
제1 내지 제4 기억영역(27, 29, 31, 33)은 다른 데이터를 기억하도록 보다 큰 용량를 갖도록 설계될 수 있다. 예컨대, 제1 내지 제4 기억영역(27, 29, 31, 33)은 프로그램을 재기록하는 횟수를 제어하도록 제1 내지 제4 플래시 메모리 블록(26 내지 32)에 대응하는 영역으로서 사용될 수 있다.
지금까지 상술된 재기록 방법은 다양한 명령을 포함하는 프로그램으로서 완성될 수 있고 컴퓨터에 의해 판독가능한 기록매체를 통해 실현될 수 있다.
명세서에서, "기록매체"라는 용어는 데이터를 기록할 수 있는 매체 어느것이라도 무방하다. 기록매체의 예는 도 13에 도시되어 있다.
상기 용어 "기록매체"는 예컨대, CD-ROM 또는 PD, 자기 테이프, MO(자기 광 디스크), DVD-ROM, DVD-RAM과 같은 디스크형 기록매체(401)와, 플로피디스크(402)와, RAM 또는 ROM, EPROM, EEPROM, 스마트 미디어(등록상표), 플러시 메모리와 같은 메모리 칩(404)와, 컴팩트 플러시 카드와 같은 재기록가능한 카드형 ROM(405)와, 하드디스크(403)와, 다른 프로그램을 기억하는 다른 적당한 기록수단을 포함한다.
전술한 장치를 완성하는 프로그램을 기억하는 기록매체는 컴퓨터에 의해 판독가능한 프로그래밍 언어로 전술한 장치의 기능을 프로그램하며 전술한 바와 같은 기록 매체에서 프로그램을 기록함에 의해 달성할 수 있다.
서버에 설치된 하드 디스크는 기록 매체로서 채택될 수 있다. 또한, 전술한 바와 같은 기록매체에서 전술한 컴퓨터 프로그램을 기억시키고 네트워크를 통해 다른 컴퓨터에 의해 컴퓨터 프로그램을 판독함으로써 본 발명에 따른 기록 매체를 완성하는 것이 가능하다.
본 발명에 따른 부트 프로그램 재기록 방법, 컴퓨터장치 또는 부트 프로그램을 기억한 기억매체에 의하면 종래의 프로그램 재기록 방법과는 달리 하나의 메모리 블록(제2 메모리 블록에 상응하는 메모리 블록)에 기록되어 있는 원래의 부트프로그램을 대체블록이 되는 다른 하나의 메모리 블록(제1 메모리 블록에 상응하는 메모리 블록)에 카피시킬 필요성이 없다. 대체블록이 되는 제1 메모리 블록에 새로운 부트 프로그램이 직접적으로 기록되는 것이 가능하다. 이 때문에 대체블록으로서의 제1 메모리 블록에 대한 부트 프로그램의 소거 및 기록 동작은 1회로 끝난다. 이와 같이 본 발명에 의하면, 대체블록으로서의 제1 메모리 블록에 대한 부트 프로그램의 소거/기록의 회수를 감할 수 있기 때문에 대체블록으로 기능하는 제1 메모리 블록의 플래시 메모리에 대한 스트레스를 반감시킬 수 있고 나아가서는 플래시 메모리의 수명 또한 늘릴 수 있다.

Claims (13)

  1. 부트 프로그램이 전기적으로 기록 또는 소거가 가능한 적어도 제1 및 제2 메모리 블록을 포함하는 메모리장치에 부트 프로그램을 재기록하는 방법에 있어서,
    새로운 부트 프로그램이 기록되는 상기 제1 메모리 블록(28)에 기억되어 있는 데이터를 소거하는 단계(a)와,
    상기 제1 메모리 블록(28)에 새로운 부트 프로그램을 기록하는 단계(b)와,
    상기 제1 메모리 블록(28)이 부트블록으로서 인식될 수 있도록 상기 제1 메모리 블록(28)의 어드레스를 변경하는 단계(c)와,
    제2 메모리 블록(26)으로부터 부트 프로그램을 소거하는 단계(d)를 포함하는 것을 특징으로 하는 부트 프로그램 재기록 방법.
  2. 제 1항에 있어서,
    상기 제1 메모리 블록(28)에 대응하는 기억영역(29)에 새로운 부트 프로그램에 관한 데이터를 기록하는 단계를 더 포함하는 것을 특징으로 하는 부트 프로그램 재기록 방법.
  3. 제 1항 또는 제 2항에 있어서,
    부트 프로그램이 상기 제1 및 제2 메모리 블록(28, 26)의 쌍방에 기록되면 부트 프로그램은 정상적으로 재기록되지 않았다라고 판단하는 단계를 더 포함하는것을 특징으로 하는 부트 프로그램 재기록 방법.
  4. 제 1항 또는 제 2항에 있어서,
    상기 제1 및 제2 메모리 블록(28, 26)의 쌍방에 대응하는 기억영역(29, 27)에 새로운 부트 프로그램에 관한 데이터가 기록되면 부트 프로그램은 정상적으로 재기록되지 않았다라고 판단하는 단계를 더 포함하는 것을 특징으로 하는 부트 프로그램 재기록 방법.
  5. 제 1항 또는 제2항에 있어서,
    상기 메모리장치는 3개 이상의 메모리 블록을 포함하고 상기 메모리 블록 중에서 2개의 메모리 블록이 사용되는 것을 특징으로 하는 부트 프로그램 재기록 방법.
  6. 적어도 2개의 메모리 블록(26, 28, 30, 32)을 포함하는 메모리장치(20)와,
    상기 메모리 블록(26, 28, 30, 32)으로의 부트 프로그램의 기록 및 상기 메모리 블록(26, 28, 30, 32)으로부터의 부트 프로그램의 소거를 제어하는 제어회로와(23),
    상기 메모리 블록(26, 28, 30, 32)의 어드레스를 변경하는 어드레스 변경회로(24)를 포함하는 컴퓨터에 있어서,
    상기 제어회로(23)는 상기 메모리 블록 중의 상기 제1 메모리 블록(28)에 기억된 데이터를 소거하고, 상기 제1 메모리 블록(28)에 새로운 부트 프로그램을 기록하고, 상기 메모리 블록 중의 제2 메모리 블록(26)에 기억된 부트 프로그램을 소거하고,
    상기 어드레스 변경회로(24)는 상기 제1 메모리 블록(28)이 부트블록으로서 인식될 수 있도록 상기 제1 메모리 블록(28)의 어드레스를 변경하는 것을 특징으로 하는 컴퓨터.
  7. 제 6항에 있어서,
    상기 제어회로(23)는 상기 제1 메모리 블록(28)에 대응하는 기억영역(29)에 새로운 부트 프로그램에 관한 데이터를 기록하는 것을 특징으로 하는 컴퓨터.
  8. 제 6항 또는 7항에 있어서,
    상기 제어회로(23)는 부트 프로그램이 상기 제1 및 제2 메모리 블록(28, 26)의 쌍방에 기억되면 부트 프로그램은 정상적으로 재기록되지 않았다라고 판단하는 것을 특징으로 하는 컴퓨터.
  9. 제 6항 또는 7항에 있어서,
    상기 제어회로(23)는 상기 제1 및 제2 메모리 블록(28, 26)의 쌍방에 대응하는 기억영역에 새로운 부트 프로그램에 관한 데이터가 기억되면 부트 프로그램은 정상적으로 재기록되지 않았다라고 판단하는 것을 특징으로 한는 컴퓨터.
  10. 제 6 또는 7항에 있어서,
    상기 메모리장치(20)는 플래시 메모리인 것을 특징으로 하는 컴퓨터.
  11. 제 6 또는 제 7항에 있어서,
    상기 메모리장치(20)는 ROM인 것을 특징으로 하는 컴퓨터장치.
  12. 컴퓨터가 제1 내지 제 5항의 어는 한 항에서 정의된 하나의 방법을 실행하도록 하는 프로그램을 기억하고 있는 컴퓨터 판독이 가능한 기록매체.
  13. 컴퓨터가 제 6항 내지 제 11항의 어느 한 항에서 정의된 컴퓨터로서 기능하도록 하는 프로그램을 기억하고 있는 컴퓨터 판독이 가능한 기록매체.
KR10-2001-0003902A 2000-01-28 2001-01-27 플래시 마이크로컴퓨터의 프로그램 재기록 방법 KR100408872B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP??2000-019997? 2000-01-28
JP2000019997A JP2001209543A (ja) 2000-01-28 2000-01-28 フラッシュ・マイコンにおけるプログラム書き換え方法

Publications (2)

Publication Number Publication Date
KR20010086352A true KR20010086352A (ko) 2001-09-10
KR100408872B1 KR100408872B1 (ko) 2003-12-11

Family

ID=18546623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0003902A KR100408872B1 (ko) 2000-01-28 2001-01-27 플래시 마이크로컴퓨터의 프로그램 재기록 방법

Country Status (4)

Country Link
US (1) US6789158B2 (ko)
EP (1) EP1120709A2 (ko)
JP (1) JP2001209543A (ko)
KR (1) KR100408872B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101305562B1 (ko) * 2010-11-30 2013-09-09 주식회사 현대케피코 이이피롬의 데이터 기록 방법 및 이를 이용한 반도체 메모리 장치
KR20170036421A (ko) * 2015-09-24 2017-04-03 한화테크윈 주식회사 부트 프로그램을 실행 및 갱신하는 방법

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209543A (ja) * 2000-01-28 2001-08-03 Nec Ic Microcomput Syst Ltd フラッシュ・マイコンにおけるプログラム書き換え方法
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
KR100440950B1 (ko) * 2001-06-30 2004-07-21 삼성전자주식회사 네트워크 환경에 있어서 소프트웨어 업그레이드 방법 및그에 따른 네트워크 디바이스
JP2003022191A (ja) * 2001-07-09 2003-01-24 Topcon Corp 測定装置
EP1372068A3 (en) 2002-06-11 2006-02-08 Seiko Epson Corporation System, method and program for rewriting a flash memory
US7143275B2 (en) * 2002-08-01 2006-11-28 Hewlett-Packard Development Company, L.P. System firmware back-up using a BIOS-accessible pre-boot partition
DE60314979T2 (de) * 2003-04-11 2008-04-10 Em Microelectronic-Marin S.A. Verfahren zur Aktualisierung eines nichtflüchtigen Speichers
JP2007507020A (ja) * 2003-06-24 2007-03-22 バイエリッシェ モートーレン ウエルケ アクチエンゲゼルシャフト プログラミング可能な読出し専用メモリのブートセクタ内にソフトウェアをリロードするための方法
JP2007507016A (ja) * 2003-06-24 2007-03-22 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング シリアルインターフェイスを介したフラッシュプログラミングによる電子制御装置のソフトウェアアップデート方法およびこれに対応する状態自動装置
US7797693B1 (en) * 2003-12-12 2010-09-14 Hewlett-Packard Development Company, L.P. NAND mobile devices capable of updating firmware or software in a manner analogous to NOR mobile devices
JP2005250882A (ja) * 2004-03-04 2005-09-15 Fuji Xerox Co Ltd 情報処理装置およびプログラムの書き換え方法
KR101130875B1 (ko) * 2004-03-10 2012-03-28 소니 에릭슨 모빌 커뮤니케이션즈 에이비 펌웨어 업그레이드 경우의 자동 백업 저장
ATE392661T1 (de) * 2004-03-10 2008-05-15 Sony Ericsson Mobile Comm Ab Automatisierter datensicherungsspeicher in firmware-aufwertungen
WO2005088448A1 (en) * 2004-03-15 2005-09-22 Red Bend Ltd. Method and apparatus for reliable in-place update
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US7398381B2 (en) * 2004-12-10 2008-07-08 Intel Corporation Utilizing paging to support dynamic code updates
ATE381061T1 (de) * 2005-03-08 2007-12-15 Bosch Gmbh Robert Verfahren und vorrichtung zum wiederbeschreiben eines sektors mit bootloader-software in einem sektor-löschbaren nichtflüchtigen halbleiterspeicher
JP2007025821A (ja) * 2005-07-12 2007-02-01 Seiko Epson Corp 情報処理装置及び情報処理装置の制御方法
JP4868216B2 (ja) * 2006-01-19 2012-02-01 日本電気株式会社 ファームウェア更新回路およびファームウェア更新方法
CN100470504C (zh) * 2006-03-30 2009-03-18 亚洲光学股份有限公司 存储器存取方法
WO2007146710A2 (en) 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
JP2008009919A (ja) * 2006-06-30 2008-01-17 Toshiba Corp カードコントローラ
US8752044B2 (en) 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
TW200825915A (en) * 2006-12-07 2008-06-16 Wistron Corp Computer system and related method for preventing from failing to update BIOS program
WO2010005803A2 (en) * 2008-07-11 2010-01-14 Hewlett-Packard Development Company, L.P. System and method for safely updating thin client operating system over a network
US8386757B1 (en) * 2009-02-13 2013-02-26 Unidesk Corporation Managed desktop system
US20100318720A1 (en) * 2009-06-16 2010-12-16 Saranyan Rajagopalan Multi-Bank Non-Volatile Memory System with Satellite File System
JP5383516B2 (ja) * 2010-01-06 2014-01-08 キヤノン株式会社 画像形成装置及びそのファームウェア更新方法、並びにプログラム
WO2011114476A1 (ja) * 2010-03-17 2011-09-22 富士通株式会社 マルチコアプロセッサシステム、通知プログラム、および通知方法
JP2012203443A (ja) * 2011-03-23 2012-10-22 Toshiba Corp メモリシステムおよびメモリシステムの制御方法
US8595716B2 (en) 2011-04-06 2013-11-26 Robert Bosch Gmbh Failsafe firmware updates
JP2012008575A (ja) * 2011-07-08 2012-01-12 Seiko Epson Corp 画像表示装置、画像表示装置の起動制御方法、起動制御プログラム、および、当該起動制御プログラムをコンピュータ読取可能に記録した記録媒体
JP2013045285A (ja) * 2011-08-24 2013-03-04 Fuji Xerox Co Ltd 情報処理装置、画像形成装置およびプログラム
DE102011122344A1 (de) * 2011-12-23 2013-06-27 Valeo Schalter Und Sensoren Gmbh Verfahren zum Verwalten von Daten in einem Flash-Speicher, Fahrerassistenzeinrichtung und Kraftfahrzeug
CN105122261B (zh) * 2013-04-23 2020-04-24 惠普发展公司,有限责任合伙企业 从遭到破坏的系统启动代码中恢复的方法以及计算装置
WO2014175867A1 (en) 2013-04-23 2014-10-30 Hewlett-Packard Development Company, L.P. Verifying controller code and system boot code
CN105122214B (zh) 2013-04-23 2019-03-01 惠普发展公司,有限责任合伙企业 对非易失性存储器中损坏的系统数据的修复
KR101886176B1 (ko) * 2016-10-25 2018-08-08 시큐리티플랫폼 주식회사 소유자만 기록 가능한 부트영역을 포함하는 저장장치
WO2020159533A1 (en) 2019-02-01 2020-08-06 Hewlett-Packard Development Company, L.P. Security credential derivation
WO2020167283A1 (en) 2019-02-11 2020-08-20 Hewlett-Packard Development Company, L.P. Recovery from corruption
JP7128763B2 (ja) * 2019-03-18 2022-08-31 日立Astemo株式会社 電子制御装置及び制御データの設定方法
US11281454B2 (en) * 2020-01-31 2022-03-22 Dell Products L.P. Microcode update system

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1254937B (it) * 1991-05-06 1995-10-11 Aggiornamento dinamico di memoria non volatile in un sistema informatico
JPH0869376A (ja) 1994-08-31 1996-03-12 Hitachi Ltd Biosの書き換え制御回路
JPH08227359A (ja) 1994-12-09 1996-09-03 Olympus Optical Co Ltd ワンチップマイコンが組み込まれた電子システム装置
US5568641A (en) * 1995-01-18 1996-10-22 Hewlett-Packard Company Powerfail durable flash EEPROM upgrade
JPH08280679A (ja) 1995-04-20 1996-10-29 Hitachi Medical Corp プログラムメモリ装置及びこれを備えた超音波診断装置
JPH08328845A (ja) * 1995-06-02 1996-12-13 Hioki Ee Corp Romの制御プログラム書替え方法
KR100198382B1 (ko) * 1996-05-07 1999-06-15 윤종용 멀티-부팅 기능을 갖는 컴퓨터 장치
JPH1097427A (ja) 1996-09-20 1998-04-14 Fujitsu Ltd プログラム転送システム
JP3497066B2 (ja) 1996-10-16 2004-02-16 富士通株式会社 フラッシュメモリにおけるデータ書き込み/読み出し方法およびフラッシュメモリを用いた記憶装置
JPH10149282A (ja) * 1996-11-20 1998-06-02 Denso Corp 電子装置のメモリ書換システム
JP3552490B2 (ja) 1997-09-17 2004-08-11 日本ビクター株式会社 フラッシュ型メモリを備えた記憶装置,フラッシュ型メモリの管理方法
JP2914360B2 (ja) * 1997-09-30 1999-06-28 ソニー株式会社 外部記憶装置及びデータ処理方法
JP3667958B2 (ja) * 1997-10-09 2005-07-06 東芝テック株式会社 情報処理装置
JPH11175330A (ja) 1997-12-17 1999-07-02 Canon Inc カメラのメモリ改変システム
US6167532A (en) 1998-02-05 2000-12-26 Compaq Computer Corporation Automatic system recovery
JPH11306007A (ja) * 1998-04-24 1999-11-05 Nec Corp Bios書き換え方法及び方式
US6275931B1 (en) * 1998-06-22 2001-08-14 Elsag International N.V. Method and apparatus for upgrading firmware boot and main codes in a programmable memory
US6205548B1 (en) * 1998-07-31 2001-03-20 Intel Corporation Methods and apparatus for updating a nonvolatile memory
US6308265B1 (en) * 1998-09-30 2001-10-23 Phoenix Technologies Ltd. Protection of boot block code while allowing write accesses to the boot block
JP2001209543A (ja) * 2000-01-28 2001-08-03 Nec Ic Microcomput Syst Ltd フラッシュ・マイコンにおけるプログラム書き換え方法
US20020178352A1 (en) * 2001-05-22 2002-11-28 Lambino John P. Firmware upgrade using address conversion

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101305562B1 (ko) * 2010-11-30 2013-09-09 주식회사 현대케피코 이이피롬의 데이터 기록 방법 및 이를 이용한 반도체 메모리 장치
KR20170036421A (ko) * 2015-09-24 2017-04-03 한화테크윈 주식회사 부트 프로그램을 실행 및 갱신하는 방법

Also Published As

Publication number Publication date
JP2001209543A (ja) 2001-08-03
EP1120709A2 (en) 2001-08-01
US6789158B2 (en) 2004-09-07
US20020002652A1 (en) 2002-01-03
KR100408872B1 (ko) 2003-12-11

Similar Documents

Publication Publication Date Title
KR100408872B1 (ko) 플래시 마이크로컴퓨터의 프로그램 재기록 방법
US6601132B2 (en) Nonvolatile memory and method of writing data thereto
JP5336060B2 (ja) 不揮発性メモリ装置およびそれを動作させる方法
JP3906825B2 (ja) 計算機システム、計算機システム起動方法およびプログラム
JP4268396B2 (ja) 1回プログラム可能な不揮発性メモリデバイスのファイル管理
US6591328B1 (en) Non-volatile memory storing address control table data formed of logical addresses and physical addresses
JP3372964B2 (ja) コンピュータシステム
KR20040080928A (ko) 정보 처리 장치, 메모리 관리 장치, 메모리 관리 방법, 및정보 처리 방법
KR100415371B1 (ko) 컴퓨터
US7558904B2 (en) Controller, data memory system, data rewriting method, and computer program product
CN101763309B (zh) 非易失性存储装置、信息记录系统及信息记录方法
KR100507884B1 (ko) 플래시 메모리의 메모리 재기록 제어 시스템, 메모리 재기록 제어 방법, 메모리 재기록 제어 방법의 각 공정을 실행시키는 프로그램을 기록한 정보 기록 매체
US8185705B2 (en) Information recording medium, information recording medium accessing apparatus and accessing method
GB2384072A (en) Controller for non-volatile memory system with a volatile memory that contains lists of erased data blocks
KR20040038712A (ko) 비휘발성 메모리 시스템에서 사용하기 위한 전원 관리 블럭
KR100370893B1 (ko) 일괄 소거형 비휘발성 메모리 장치
JP3268130B2 (ja) フラッシュeepromを用いたデータ処理装置
JP2010020586A (ja) データ処理装置
JP2003532222A (ja) 記憶媒体上のデータ管理のための方法、システム、及びコンピュータプログラム
US7096351B2 (en) Single-chip microcomputer and boot region switching method thereof
KR100425229B1 (ko) 마이크로컴퓨터 및 플래시 메모리 상에 데이터를재기록하는 방법
US5657301A (en) Automatic changer system capable of rewriting a control program for controlling the system
KR20080066381A (ko) 소프트웨어의 업그레이드 방법
US20050149493A1 (en) Data recording apparatus and data recording method
JP2002007152A (ja) ダウンロード方法および装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee