KR100571915B1 - 갱신할 데이터에 따라 전체 지우기와 부분 지우기를선택하여 프로그램을 갱신하는 방법 및 그 장치 - Google Patents

갱신할 데이터에 따라 전체 지우기와 부분 지우기를선택하여 프로그램을 갱신하는 방법 및 그 장치 Download PDF

Info

Publication number
KR100571915B1
KR100571915B1 KR1020030086507A KR20030086507A KR100571915B1 KR 100571915 B1 KR100571915 B1 KR 100571915B1 KR 1020030086507 A KR1020030086507 A KR 1020030086507A KR 20030086507 A KR20030086507 A KR 20030086507A KR 100571915 B1 KR100571915 B1 KR 100571915B1
Authority
KR
South Korea
Prior art keywords
data
updated
updating
flash memory
erase
Prior art date
Application number
KR1020030086507A
Other languages
English (en)
Other versions
KR20050052924A (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 KR1020030086507A priority Critical patent/KR100571915B1/ko
Publication of KR20050052924A publication Critical patent/KR20050052924A/ko
Application granted granted Critical
Publication of KR100571915B1 publication Critical patent/KR100571915B1/ko

Links

Images

Classifications

    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

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

Abstract

본 발명은 갱신할 데이터에 따라 전체 지우기와 부분 지우기를 선택하여 프로그램을 갱신하는 방법 및 그 장치를 개시한다.
본 발명에 의하면, 플래시 메모리 소자에 저장된 프로그램을 갱신하는 방법에 있어서, 갱신할 데이터를 포함하는 데이터를 수신하여, 갱신할 데이터가 플래시 메모리 소자의 전체 영역을 갱신하는 데이터인가 판단하여, 갱신할 데이터가 전체 영역을 갱신하는 데이터인 경우 플래시 메모리를 전체 지우기로 지우고, 수신한 갱신할 데이터가 일부 영역을 갱신하는 데이터인 경우에는 플래시 메모리의 대응되는 일부 영역을 부분 지우기로 지우고, 플래시 메모리 소자의 해당되는 영역에 갱신할 데이터를 복사하여 프로그램을 갱신하여, 부분 지우기만으로 플래시 메모리의 전체 영역에 기록되어 있던 데이터를 지우는 경우보다 지우는 시간이 대폭 줄어들게 되어, 그 결과 제품 생산 시간을 단축할 수 있고, 사용자가 장치 사용 중에 사용자가 직접 펌웨어를 갱신하는 경우에도 갱신 시간을 단축할 수 있어 플래시 메모리를 포함하여 펌웨어 갱신을 할 수 있는 장치 사용을 하는 환경이 사용자의 입장에서 간편해지는 효과를 제공한다.

Description

갱신할 데이터에 따라 전체 지우기와 부분 지우기를 선택하여 프로그램을 갱신하는 방법 및 그 장치{Method for updating a program with selecting of erase-all or erase-section command according to the updating data and apparatus thereof}
도 1은 종래의 펌웨어를 갱신하는 과정을 도시한 것이다.
도 2는 갱신할 데이터에 따라 전체 지우기와 부분 지우기를 선택하여 프로그램을 갱신하는 본 발명에 따른 방법의 흐름을 도시한 것이다.
도 3은 본 발명에 따른 갱신할 데이터에 따라 전체 지우기와 부분 지우기를 선택하여 프로그램을 갱신하는 장치의 구성을 블록으로 도시한 것이다.
도 4는 플래시 메모리 소자의 내용을 갱신할 데이터를 포함하는 데이터의 구조의 일 예를 도시한 것이다.
본 발명은 컴퓨터와 같은 장치 내의 프로그램을 갱신하는 분야에 관한 것으로서, 더 자세히는 플래시 롬과 같은 소자 내부에 저장되는 프로그램을 갱신하는 하는 방법 및 그 장치에 관한 것이다.
종래에 컴퓨터나 프린터와 같은 장치의 내부 제어를 위해 동작하는 CPU가 사용하는 프로그램인 펌웨어(firmware)를 갱신(update)하기 위해서는 펌웨어 코드가 기록되어 있는 ROM과 같은 메모리 소자를 컴퓨터나 프린터 장치에서 탈착하여 UV 광을 이용해서 그 내용을 삭제하고, ROM writer와 같은 장치에 넣어 새로운 내용을 기록한 후에 다시 장착하는 방법을 사용했다.
근래에는 펌웨어 코드를 저장하고 인출하기 위한 메모리 소자로 플래시 메모리(flash memory)를 사용하여 메모리 소자가 장치 내에 장착되어 있는 상태에서 메모리 소자내의 내용을 삭제하고 필요한 내용을 다시 기록하여 메모리 소자에 저장된 내용을 갱신한다.
도 1은 종래의 펌웨어를 갱신하는 과정을 도시한 것이다.
예를 들어 컴퓨터나 프린터와 같은 장치 내부에서 새로운 내용으로 갱신될 펌웨어 데이터를 수신하고 이를 일시 저장한다(100 단계). 그리고 펌웨어가 현재 기록되어 있는 플래시 메모리의 데이터를 일부 영역만을 지우는 방법인 부분 지우기를 이용해서 섹터 단위로 전체 혹은 부분적으로 플래시 메모리에 저장되어 있는 내용을 지운다(110 단계). 내용이 지워진 플래시 메모리에 100 단계에서 수신하여 일시 저장한 데이터를 플래시 메모리에 복사 혹은 기록하여 플래시 메모리의 데이터인 펌웨어를 갱신한다(120 단계).
플래시 메모리에 기록될 데이터는 플래시 메모리 전체에 다시 기록될 내용일 수도 있고 혹은 플래시 롬의 일부 영역만에 기록될 데이터일 수도 있다. 즉 갱신될 데이터의 종류마다 플래시 메모리 내에 기록된 데이터를 지워야 할 부분이 달라질 수 있는 것이다. 이와 같은 경우들에 대응하기 위해 110 단계에서 플래시 메모리의 데이터를 지울 때에 데이터가 기록되는 섹터(sector) 단위로 지우는 부분 지우기 기능을 이용해서 지우는 것이 통상적인 방법이다.
그런데 예를 들어 플래시 메모리의 저장 용량이 512 킬로 바이트(KByte)이고, 섹터 크기가 1024 바이트이면 섹터는 512개가 된다. 섹터 단위로 지우는 경우에는 지우기를 512번 해야 하며, 이런 과정에서 소모되는 시간이 상당히 크다. 특히 플래시 메모리와 같은 소자는 접근 시간이 상당히 큰 편이며, 그에 따라 플래시 메모리의 내용을 지우는 시간이 많이 걸린다.
그 결과 컴퓨터나 프린터를 생산하는 측에서도 펌웨어를 갱신하는 과정에 시간이 많이 걸려 생산성이 악화될 수 있으며, 컴퓨터나 프린터를 사용하는 사용자가 직접 펌웨어를 갱신하는 경우에는 그 갱신하는 시간이 많이 걸려, 장치가 고장인 것으로 생각한 사용자가 펌웨어를 다 갱신하지 않은 상태에서 장치의 전원을 끄고 다시 시작하는 경우가 생겨 장치를 아예 사용할 수 없게 되는 더 심각한 상태로 초래하는 문제를 발생시키기도 한다.
본 발명이 이루고자 하는 기술적인 과제는, 상기의 문제점들을 해결하기 위해, 펌웨어와 같은 프로그램을 갱신할 때에 항상 부분 지우기를 이용해서 기록되어 있던 내용을 지우는 것이 아니라 갱신할 데이터에 따라 전체 지우기와 부분 지우기를 선택하여 프로그램을 갱신하는 방법 및 그 장치를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 의한, 갱신할 데이터에 따라 전체 지우기와 부분 지우기를 선택하여 프로그램을 갱신하는 방법은, 플래시 메모리 소자에 저장된 프로그램을 갱신하는 방법에 있어서, (a) 갱신할 데이터를 포함하는 데이터를 수신하는 단계; (b) 상기 수신한 데이터의 갱신할 데이터가 상기 플래시 메모리 소자의 전체 영역을 갱신하는 데이터인가 판단하는 단계; (c) 상기 수신한 갱신할 데이터가 전체 영역을 갱신하는 데이터인 경우 상기 플래시 메모리를 전체 지우기로 지우고, 상기 수신한 갱신할 데이터가 일부 영역을 갱신하는 데이터인 경우에는 상기 플래시 메모리의 대응되는 일부 영역을 부분 지우기로 지우는 단계; 및 (d) 상기 플래시 메모리 소자의 해당되는 영역에 상기 수신한 갱신할 데이터를 복사하여 프로그램을 갱신하는 단계;를 포함하는 것을 특징으로 한다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 의한, 갱신할 데이터에 따라 전체 지우기와 부분 지우기를 선택하여 프로그램을 갱신하는 장치는, 플래시 메모리 소자에 저장된 프로그램을 갱신하는 장치에 있어서, 갱신할 데이터를 포함하는 데이터를 수신하는 데이터수신부; 상기 수신한 데이터의 갱신할 데이터가 상기 플래시 메모리 소자의 전체 영역을 갱신하는 데이터인가를 상기 데이터수신부에서 수신한 데이터에 포함된 시작 어드레스 및 갱신할 내용의 크기에 따라 판단하는 판단부; 상기 갱신할 데이터가 전체 영역을 갱신하는 데이터인 경우에는 상기 플래시 메모리를 전체 지우기로 지우고, 상기 갱신할 데이터가 일부 영역을 갱신하는 데이터인 경우에는 상기 플래시 메모리의 대응되는 일부 영역을 부분 지우기로 지우는 지우기부; 및 상기 플래시 메모리 소자의 해당되는 영역에 상기 수신한 갱신 할 데이터를 복사하여 갱신하는 갱신부;를 포함하는 것을 특징으로 한다.
이하에서 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예의 동작을 상세히 설명한다.
도 2는 갱신할 데이터에 따라 전체 지우기와 부분 지우기를 선택하여 프로그램을 갱신하는 본 발명에 따른 방법의 흐름을 도시한 것이다.
플래시 메모리 소자에 저장된 프로그램을 갱신할 때에 갱신할 데이터를 포함하는 데이터를 수신한다(100 단계). 갱신할 데이터가 플래시 메모리 소자의 전체 영역을 갱신하는 데이터인가 판단하여(210 단계), 전체 영역을 갱신하는 데이터인 경우 플래시 메모리를 전체 지우기로 지우고, 일부 영역을 갱신하는 데이터인 경우에는 대응되는 일부 영역을 부분 지우기로 지우며(220 단계), 플래시 메모리 소자의 해당되는 영역에 갱신할 데이터를 복사하여 프로그램을 갱신한다(230 단계).
도 3은 본 발명에 따른 갱신할 데이터에 따라 전체 지우기와 부분 지우기를 선택하여 프로그램을 갱신하는 장치의 구성을 블록으로 도시한 것이다.
플래시 메모리 소자(340)에 저장된 프로그램을 갱신하는 이 장치는, 갱신할 데이터를 포함하는 데이터를 수신하는 데이터수신부(300), 갱신할 데이터가 플래시 메모리 소자(340)의 전체 영역을 갱신하는 데이터인가를 판단하는 판단부(310), 전체 영역을 갱신하는 데이터인 경우에는 플래시 메모리(340)를 전체 지우기로 지우고, 갱신할 데이터가 일부 영역을 갱신하는 데이터인 경우에는 대응되는 일부 영역을 부분 지우기로 지우는 지우기부(320) 및 플래시 메모리 소자(340)의 해당되는 영역에 갱신할 데이터를 복사하여 갱신하는 갱신부(330)를 포함한다.
펌웨어와 같은 프로그램이 저장된 플래시 메모리 소자(이하 플래시 메모리라 한다)에 기록된 내용을 갱신하는 경우 컴퓨터와 같은 장치는 인터넷, 혹은 디스켓과 같은 다른 저장 매체를 통해 갱신 데이터를 받아 장치 내에 장착된 플래시 메모리의 내용을 갱신한다. 프린터와 같은 장치의 경우 프린터와 연결된 컴퓨터를 통해 갱신 데이터를 내려받아 프린터에 장착된 플래시 메모리에 저장되어 있던 펌웨어를 새로운 내용으로 갱신한다.
데이터수신부(300)는 상기와 같은 방법으로 제공되는 갱신할 데이터를 포함하는 데이터를 수신한다(200 단계).
판단부(310)는 데이터수신부(300)를 통해 수신한 갱신할 데이터가 플래시 메모리 소자의 전체 영역을 갱신하는 데이터인가 혹은 일부의 영역에 기록된 프로그램 혹은 데이터를 갱신하는 데이터인가를 판단한다(210 단계).
이때에 플래시 메모리 소자의 전체 영역 갱신인가를 판단하는 것은 200 단계에서 수신한 데이터에 포함된 플래시 메모리 소자에 기록될 시작 어드레스 및 갱신할 데이터의 크기에 대한 정보를 이용하는 것이 바람직하다.
도 4는 플래시 메모리 소자의 내용을 갱신할 데이터를 포함하는 데이터의 구조의 일 예를 도시한 것이다.
수신되는 데이터는 헤더부분에 갱신될 데이터(420)가 기록될 영역의 시작 어드레스(400) 및 갱신될 데이터 크기(410)를 나타내는 필드를 포함한다. 판단부(310)는 수신된 데이터의 헤더 부분의 시작 어드레스 필드(400)의 값에 갱신 될 데이터 크기 필드(410)의 값을 더해 끝나는 어드레스를 계산하는 것이 바람직하다. 컴퓨터와 같은 디지털 장치들은 내부의 자원에 접근하기 위해 각 자원마다 일정한 영역을 할당하고, CPU와 중앙처리장치가 자원에 접근할 때에는 그 자원에 할당된 영역의 어드레스를 지정하여 필요한 데이터를 그 자원으로부터 읽거나 혹은 그 자원에 쓰게 된다.
컴퓨터 혹은 프린터와 같은 장치의 소자들은 각각 그 소자들에 대응하는 어드레스에 따라 접근할 수 있다. 예를 들면 CPU가 플래시 메모리에 쓰거나 혹은 읽기 위해 플래시 메모리의 시작 주소 16진수 0000번지에서 마지막 주소인 16진수 ffff번지까지의 영역을 어드레스를 지정하여 접근할 수 있다.
플래시 메모리에 할당된 영역은 전 영역에 펌웨어 프로그램이 기록될 수도 있고 혹은 할당된 영역 중에서도 일정한 영역만이 펌웨어 프로그램이 기록되는 부분일 수 있다. 이와 같이 펌웨어 프로그램이 기록되는 영역은 장치 설계 시에 미리 결정되는 기본 사양인 것이며, 따라서 펌웨어 프로그램을 갱신하려는 도 4와 같은 데이터 구조의 시작 어드레스(400)와 데이터 크기(410)는 이런 기본적인 사양에 따라 결정된 것이다.
따라서 시작 어드레스 필드(400)에 기재된 값과 데이터 크기 필드(410)에 기재된 값을 참조하면 갱신될 데이터(420)가 복사될 혹은 써질 영역이 플래시 메모리(340)의 펌웨어 프로그램이 기록될 전체 영역인가 혹은 전체 영역 중의 일부의 영역인가를 판단할 수 있다.
갱신될 때에 갱신될 데이터(420)의 첫 부분(A)은 시작 어드레스에 기록될 것 이고, 마지막 부분(B)은 시작 어드레스와 데이터 크기에 따라 정해지는 마지막 어드레스에 기록될 것이다.
도 4의 데이터 구조와 같이 헤더 부분이 시작 어드레스와 데이터 크기에 대한 정보를 포함할 수도 있고, 구현 예에 따라서는 시작 어드레스와 끝나는 어드레스에 대한 정보를 포함할 수도 있을 것이다.
지우기부(320)는 판단부(310)에서 판단한 결과에 따라 플래시 메모리(340)의 해당 영역을 지운다. 즉, 갱신할 데이터가 전체 영역을 갱신하는 데이터인 경우에는 플래시 메모리(340)를 전체 지우기로 지우고, 상기 갱신할 데이터가 일부 영역을 갱신하는 데이터인 경우에는 플래시 메모리(340)의 대응되는 일부 영역을 부분 지우기로 지운다. 이때에 플래시 메모리 내의 데이터를 부분적으로 지울 때에는 섹터 단위로 지우는 것이 바람직하다.
갱신할 데이터가 플래시 메모리 전체에 대한 갱신인 경우에는 전체 지우기이며, 예를 들면 chip erase와 같은 명령을 사용하여 플래시 메모리 내의 전 영역에 기록된 데이터를 지운다.
갱신할 데이터가 플래시 메모리의 일부 영역에 대응하는 경우에는 지우기부(320)는 플래시 메모리 내의 해당되는 어드레스 영역만을 갱신하게 된다. 따라서 이 경우는 sector erase와 같은 부분 지우기 명령을 사용하여 해당되는 영역만을 지운다.
플래시 메모리의 용량이나 사양에 따라 달라질 수 있겠지만 512 KByte의 플래시 메모리의 경우 전체 지우기 기능을 이용하는 경우 1초 정도의 시간 내에 메모 리 전체의 내용을 지울 수 있다. 만일 종래와 같이 전체 지우기와 부분 지우기를 구별하지 않고 부분 지우기로 플래시 메모리의 전체 내용을 지우려면 상기에 예를 든 용량 512 KByte이며, 섹터 크기가 1024 바이트이며 섹터의 수는 512개인 플래시 메모리의 경우 섹터 단위로 512회의 섹터 지우기를 하면 대략적으로 24초 정도의 시간이 걸린다. 따라서 플래시 메모리 전체 지우기를 하는 경우에는 종래에 비해 지우는 시간이 대폭 줄어든 것을 알 수 있다.
갱신부(330)는 플래시 메모리(340)가 전체 지우기로 지워진 경우에는 플래시 메모리 전체 영역을 대상으로 상기에 설명된 시작 어드레스부터 끝나는 어드레스까지 갱신될 데이터를 복사하여 플래시 메모리의 내용을 갱신한다(230 단계). 혹은 플래시 메모리(340)의 일부 영역이 부분 지우기로 지워진 경우에는 해당되는 시작 어드레스부터 갱신될 데이터를 복사하여 부분적으로 내용을 갱신한다(230 단계).
만일 210 단계에서 갱신될 데이터의 시작 어드레스와 데이터 크기를 참조로 하여 판단한 결과 플래시 메모리에 할당된 어드레스 영역을 넘어서는 갱신될 데이터임으로 판단된다면 이는 원하는 경우가 아닌 잘못된 경우이므로 판단부(310)는 적절한 에러 메시지를 출력하여 사용자에게 알리는 것이 바람직하다.
그리고 그 다음의 지우는 단계(220 단계)를 진행하지 않고 펌웨어 갱신 동작을 중지해야 한다. 제대로 작성되지 않은 갱신될 데이터를 사용하여 펌웨어를 갱신한다면 그 장치는 제대로 동작하지 않을 것이기 때문에 이와 같이 잘못된 데이터로 펌웨어를 갱신하는 것은 절대적으로 피해야 한다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발 명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 본 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 상기의 설명에 포함된 예들은 본 발명에 대한 이해를 위해 도입된 것이며, 이 예들은 본 발명의 사상과 범위를 한정하지 않는다. 상기의 예들 외에도 본 발명에 따른 다양한 실시 태양이 가능하다는 것은, 본 발명이 속한 기술 분야에 통상의 지식을 가진 사람에게는 자명할 것이다. 본 발명의 범위는 전술한 설명이 아니라 청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
또한 본 발명에 따른 상기의 각 단계는 일반적인 프로그래밍 기법을 이용하여 소프트웨어적으로 또는 하드웨어적으로 다양하게 구현할 수 있다는 것은 이 분야에 통상의 기술을 가진 자라면 용이하게 알 수 있는 것이다.
그리고 본 발명의 일부 또는 전 단계들은, 또한, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, CD-RW, 자기 테이프, 플로피디스크, HDD, 광 디스크, 광자기 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
본 발명에 의하면, 플래시 메모리 소자에 저장된 프로그램을 갱신하는 방법에 있어서, 갱신할 데이터를 포함하는 데이터를 수신하여, 갱신할 데이터가 플래시 메모리 소자의 전체 영역을 갱신하는 데이터인가 판단하여, 갱신할 데이터가 전체 영역을 갱신하는 데이터인 경우 플래시 메모리를 전체 지우기로 지우고, 수신한 갱신할 데이터가 일부 영역을 갱신하는 데이터인 경우에는 플래시 메모리의 대응되는 일부 영역을 부분 지우기로 지우고, 플래시 메모리 소자의 해당되는 영역에 갱신할 데이터를 복사하여 프로그램을 갱신하여, 부분 지우기만으로 플래시 메모리의 전체 영역에 기록되어 있던 데이터를 지우는 경우보다 지우는 시간이 대폭 줄어들게 되어, 그 결과 제품 생산 시간을 단축할 수 있고, 사용자가 장치 사용 중에 사용자가 직접 펌웨어를 갱신하는 경우에도 갱신 시간을 단축할 수 있어 플래시 메모리를 포함하여 펌웨어 갱신을 할 수 있는 장치 사용을 하는 환경이 사용자의 입장에서 간편해지는 효과를 제공한다.

Claims (6)

  1. 플래시 메모리 소자에 저장된 프로그램을 갱신하는 방법에 있어서,
    (a) 갱신할 데이터를 포함하는 데이터를 수신하는 단계;
    (b) 상기 수신한 데이터의 갱신할 데이터가 상기 플래시 메모리 소자의 전체 영역을 갱신하는 데이터인가 판단하는 단계;
    (c) 상기 수신한 갱신할 데이터가 전체 영역을 갱신하는 데이터인 경우 상기 플래시 메모리를 전체 지우기로 지우고, 상기 수신한 갱신할 데이터가 일부 영역을 갱신하는 데이터인 경우에는 상기 플래시 메모리의 대응되는 일부 영역을 부분 지우기로 지우는 단계; 및
    (d) 상기 플래시 메모리 소자의 해당되는 영역에 상기 수신한 갱신할 데이터를 복사하여 프로그램을 갱신하는 단계;를 포함하는 것을 특징으로 하는 갱신할 데이터에 따라 전체 지우기와 부분 지우기를 선택하여 프로그램을 갱신하는 방법.
  2. 제1항에 있어서,
    상기 (b) 단계에서 플래시 메모리 소자의 전체 영역 갱신인가를 판단하는 것은 상기 (a) 단계에서 수신한 데이터에 포함된 상기 플래시 메모리 소자에 기록될 시작 어드레스 및 갱신할 데이터의 크기에 대한 정보를 이용하는 것임을 특징으로 하는 갱신할 데이터에 따라 전체 지우기와 부분 지우기를 선택하여 프로그램을 갱신하는 방법.
  3. 제2항에 있어서,
    상기 시작 어드레스에 갱신할 데이터의 크기를 더하여 끝나는 어드레스를 계산하여 플래시 메모리 소자의 전체 영역 갱신인가를 판단하는 것을 특징으로 하는 갱신할 데이터에 따라 전체 지우기와 부분 지우기를 선택하여 프로그램을 갱신하는 방법.
  4. 제2항 또는 제3항에 있어서,
    상기 (b) 단계에서 시작 어드레스 및 갱신할 데이터의 크기에 대한 정보를 이용하여 갱신할 데이터가 기록될 영역이 상기 플래시 메모리 소자에 대응하는 어드레스 영역 이내가 아닌 경우에는 사용자에게 이를 알리고 다음 단계인 (c) 단계 및 (d) 단계로 진행하지 않고 갱신을 중단하는 것을 특징으로 하는 갱신할 데이터에 따라 전체 지우기와 부분 지우기를 선택하여 프로그램을 갱신하는 방법.
  5. 제1항 내지 제3항 중의 어느 한 항에 있어서,
    상기 (c) 단계의 부분 지우기는 섹터 단위로 지우기임을 특징으로 하는 갱신할 데이터에 따라 전체 지우기와 부분 지우기를 선택하여 프로그램을 갱신하는 방법.
  6. 플래시 메모리 소자에 저장된 프로그램을 갱신하는 장치에 있어서,
    갱신할 데이터를 포함하는 데이터를 수신하는 데이터수신부;
    상기 수신한 데이터의 갱신할 데이터가 상기 플래시 메모리 소자의 전체 영역을 갱신하는 데이터인가를 상기 데이터수신부에서 수신한 데이터에 포함된 시작 어드레스 및 갱신할 내용의 크기에 따라 판단하는 판단부;
    상기 갱신할 데이터가 전체 영역을 갱신하는 데이터인 경우에는 상기 플래시 메모리를 전체 지우기로 지우고, 상기 갱신할 데이터가 일부 영역을 갱신하는 데이터인 경우에는 상기 플래시 메모리의 대응되는 일부 영역을 부분 지우기로 지우는 지우기부; 및
    상기 플래시 메모리 소자의 해당되는 영역에 상기 수신한 갱신할 데이터를 복사하여 갱신하는 갱신부;를 포함하는 것을 특징으로 하는 갱신할 데이터에 따라 전체 지우기와 부분 지우기를 선택하여 프로그램을 갱신하는 장치.
KR1020030086507A 2003-12-01 2003-12-01 갱신할 데이터에 따라 전체 지우기와 부분 지우기를선택하여 프로그램을 갱신하는 방법 및 그 장치 KR100571915B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030086507A KR100571915B1 (ko) 2003-12-01 2003-12-01 갱신할 데이터에 따라 전체 지우기와 부분 지우기를선택하여 프로그램을 갱신하는 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030086507A KR100571915B1 (ko) 2003-12-01 2003-12-01 갱신할 데이터에 따라 전체 지우기와 부분 지우기를선택하여 프로그램을 갱신하는 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20050052924A KR20050052924A (ko) 2005-06-07
KR100571915B1 true KR100571915B1 (ko) 2006-04-17

Family

ID=37248739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030086507A KR100571915B1 (ko) 2003-12-01 2003-12-01 갱신할 데이터에 따라 전체 지우기와 부분 지우기를선택하여 프로그램을 갱신하는 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR100571915B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100953081B1 (ko) * 2008-06-10 2010-04-19 팅크웨어(주) 데이터 캐쉬 방법 및 장치
US9933974B2 (en) 2014-02-28 2018-04-03 Samsung Electronics Co., Ltd. Method of operating data storage device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100953081B1 (ko) * 2008-06-10 2010-04-19 팅크웨어(주) 데이터 캐쉬 방법 및 장치
US9933974B2 (en) 2014-02-28 2018-04-03 Samsung Electronics Co., Ltd. Method of operating data storage device
US10552084B2 (en) 2014-02-28 2020-02-04 Samsung Electronics Co., Ltd. Method of operating data storage device
US11216206B2 (en) 2014-02-28 2022-01-04 Samsung Electronics Co., Ltd. Method of operating data storage device

Also Published As

Publication number Publication date
KR20050052924A (ko) 2005-06-07

Similar Documents

Publication Publication Date Title
KR100644602B1 (ko) 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
US6625096B1 (en) Optical disk recording and reproduction method and apparatus as well as medium on which optical disk recording and reproduction program is recorded
US7984231B2 (en) Information recording medium access device, and data recording method
US6789158B2 (en) Method of rewriting program in a flash microcomputer
CN100419894C (zh) 信息记录装置和信息记录方法
US6571312B1 (en) Data storage method and data processing device using an erasure block buffer and write buffer for writing and erasing data in memory
JP4268396B2 (ja) 1回プログラム可能な不揮発性メモリデバイスのファイル管理
JP4215746B2 (ja) 情報処理装置および寿命監視方法
KR20000048766A (ko) 비휘발성 메모리에서 파일의 연속 중복기재를 수행하는 방법
JP2009199625A (ja) メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法
JP2006040264A (ja) メモリカードの制御方法および不揮発性半導体メモリの制御方法
US7145840B2 (en) Methods for optical disc sector verification
WO2005066787A1 (ja) 情報記録媒体
JP2003532222A (ja) 記憶媒体上のデータ管理のための方法、システム、及びコンピュータプログラム
KR100703680B1 (ko) 플래시 파일 시스템
JP4130808B2 (ja) フォーマット方法
JP4731325B2 (ja) 記録媒体、データ処理装置及びデータ処理方法
JPH10326227A (ja) フラッシュメモリを記憶媒体とする記憶装置の管理方式
KR100571915B1 (ko) 갱신할 데이터에 따라 전체 지우기와 부분 지우기를선택하여 프로그램을 갱신하는 방법 및 그 장치
US7062682B2 (en) Data recorder and data recording method avoiding data loss due to data transfer error
US20050149493A1 (en) Data recording apparatus and data recording method
EP0338839A2 (en) Optical recording medium recording and reproducing device
JPH1031611A (ja) 不揮発性メモリ記憶媒体用ファイルシステム
US7821894B2 (en) Method and apparatus for recording information onto and reproducing information from a recording medium and managing a defective area in a recording medium
JP3927192B2 (ja) メモリカード及びメモリカードドライブ

Legal Events

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