KR20000013076A - 플래시 롬의 데이터 갱신 방법 - Google Patents

플래시 롬의 데이터 갱신 방법 Download PDF

Info

Publication number
KR20000013076A
KR20000013076A KR1019980031750A KR19980031750A KR20000013076A KR 20000013076 A KR20000013076 A KR 20000013076A KR 1019980031750 A KR1019980031750 A KR 1019980031750A KR 19980031750 A KR19980031750 A KR 19980031750A KR 20000013076 A KR20000013076 A KR 20000013076A
Authority
KR
South Korea
Prior art keywords
data
logical sector
flash rom
changed
logical
Prior art date
Application number
KR1019980031750A
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 KR1019980031750A priority Critical patent/KR20000013076A/ko
Publication of KR20000013076A publication Critical patent/KR20000013076A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

플래시 롬의 데이터 갱신 방법에 대하여 개시한다. 본 방법은, 다수의 논리적 섹터로 구성되어 있으며 구성 데이터베이스를 저장하고 있는 플래시 롬에 있어서, 적어도 두 개의 논리적 섹터에 걸쳐서 저장된 구성 데이터가 논리적 섹터의 시작부분부터 저장되도록 구성 데이터를 재배치한다. 새로 변경해야 할 구성 데이터가 발생하면, 발생된 구성 데이터가 저장될 플래시 롬의 논리적 섹터를 구한다. 구해진 논리적 섹터가 이미 램에 복사되어 있는지를 확인하여, 램에 복사되어 있지 않으면 논리적 섹터를 램으로 복사하고, 램에 복사된 논리적 섹터에서 변경된 구성 데이터를 갱신한다. 해당 논리적 섹터에서 변경된 데이터의 개수가 임계치를 초과하면 램의 데이터를 해당 논리적 섹터로 복사한다. 본 방법은, 갱신 회수를 줄여 갱신에 소요되는 시간을 단축시키고, 플래시 롬에서 한번에 갱신되는 데이터의 영역을 줄인다.

Description

플래시 롬의 데이터 갱신 방법
본 발명은 플래시 롬의 데이터 갱신 방법에 관한 것으로서, 특히 고정된 섹터(sector) 크기를 가지는 플래시 롬(Flash Read Only Memory: FROM)을 이용하여 구성 데이터베이스(Configuration DataBase)를 저장하는 시스템에서 용량이 큰 데이터베이스를 갱신하는 방법에 관한 것이다.
플래시 롬은 그 특성상 원하는 크기의 데이터를 원하는 위치에 마음대로 덮어쓰기(Overwrite)할 수 있지 않고, 데이터를 쓰기 위해서는 그 영역이 항상 비어 있어야 한다. 그러나 대부분의 플래시 롬은 물리적인 섹터 단위로만 데이터의 삭제(erase)가 가능하기 때문에, 데이터를 쓰기 위해서는 해당 섹터 전체를 지우고 섹터 전체를 다시 기록(write)해야 한다.
복잡한 구조의 통신 시스템은 시스템의 구성 데이터(configuration data)를 데이터베이스화 하여, 플래시 롬에 저장한다. 통신 시스템은 운영함에 따라 구성에 많은 변화가 있을 수 있다. 이러한 경우 변화된 구성 데이터를 변경하려면, 해당 데이터가 기록된 모든 섹터를 지우고 다시 기록해야 한다. 즉, 변경된 데이터의 위치와는 무관하게 구성 데이터베이스 전체를 지우고 다시 기록한다.
도 1 은 종래 기술에 의한 플래시 롬의 데이터 갱신 방법을 나타낸 도면이다. 도 1 의 (가)에 도시된 바와 같이, 변경된 데이터가 있는 플래시 롬(110)의 구성 데이터베이스를 모두 램(Random Access Memory: RAM)(120)으로 복사한다. (나)에 도시된 바와 같이, 램(120)의 데이터베이스 중에서 변경이 필요한 데이터(섹터 2)만을 변경한다. (다)에 도시된 바와 같이, 플래시 롬(110)의 원래 데이터베이스를 모두 삭제한다. (라)에 도시된 바와 같이, 데이터가 갱신된 램(120)의 데이터베이스를 플래시 롬(110)의 원래 영역으로 복사한다. 상기된 바와 같은 과정을 통해, 플래시 롬은 갱신된 데이터베이스를 저장한다.
상기와 같은 종래 기술은 데이터베이스가 하나의 섹터 안에 포함될 정도로 크기가 작은 경우에는 적용이 가능하지만, 여러 섹터를 걸쳐 저장된 방대한 크기의 데이터베이스에 적용하는 경우 시스템의 성능을 매우 저하시킨다. 즉, 종래 기술에 의한 데이터 갱신 방법은 플래시 램에 저장되는 하나의 데이터베이스가 크면 클수록 갱신에 더 많은 시간이 필요하다는 문제점이 있었다.
본 발명은 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 것으로서, 고정된 섹터 크기를 가지는 플래시 롬에 저장된 데이터베이스 중 일부 데이터를 변경하기 위한, 플래시 롬에서 데이터 갱신 방법을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적과 장점은 하기된 발명의 상세한 설명을 읽고 첨부된 도면을 참조하면 보다 명백해질 것이다.
도 1 은 종래 기술에 의한 플래시 롬의 데이터 갱신 방법을 나타낸 도면이다.
도 2 는 본 발명에 의한 플래시 롬의 데이터 갱신 방법을 나타낸 흐름도이다.
도 3 은 본 발명에 의한 플래시 롬의 데이터 갱신 방법을 나타낸 도면이다.
도 4 는 본 발명에 의한 플래시 롬의 데이터 갱신 방법을 나타낸 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
110 : 플래시 롬
120 : 램
상기한 바와 같은 목적을 달성하기 위하여 창안된 본 발명에 따른 플래시 롬의 데이터 갱신 방법의 바람직한 실시예는, 다수의 논리적 섹터로 구성되어 있으며 구성 데이터베이스를 저장하고 있는 플래시 롬에 있어서,
구성 데이터베이스의 데이터를 배치하는 단계와;
각 논리적 섹터별로 변경된 데이터의 개수가 임계치를 초과하면 논리적 섹터를 갱신하는 단계를 포함한다.
본 발명의 실시예에 있어서, 상기 데이터를 배치하는 단계는, 적어도 두 개의 논리적 섹터에 걸쳐서 저장된 구성 데이터가 논리적 섹터의 시작부분부터 저장되도록 구성 데이터를 재배치하는 것이 바람직하며,
상기 논리적 섹터를 갱신하는 단계는, 새로 변경해야 할 구성 데이터가 발생하는 단계;
발생된 구성 데이터가 저장될 플래시 롬의 논리적 섹터를 구하는 단계;
구해진 논리적 섹터가 이미 램에 복사되어 있는지를 확인하는 단계;
램에 복사되어 있지 않으면 논리적 섹터를 램으로 복사하는 단계;
램에 복사된 논리적 섹터에서 변경된 구성 데이터를 갱신하는 단계 및
해당 논리적 섹터에서 변경된 데이터의 개수가 임계치를 초과하면 램의 데이터를 해당 논리적 섹터로 복사하는 단계를 포함하는 것이 바람직하며,
상기 방법은, 각 논리적 섹터별로 설정된 카운터를 이용하여 변경된 데이터의 개수를 감시하는 것이 바람직하다.
본 발명에 따른 플래시 롬의 데이터 갱신 방법의 바람직한 다른 실시예는, 다수의 논리적 섹터로 구성되어 있으며 구성 데이터베이스를 저장하고 있는 플래시 롬에 있어서,
적어도 두 개의 논리적 섹터에 걸쳐서 저장된 구성 데이터가 논리적 섹터의 시작부분부터 저장되도록 구성 데이터를 재배치하는 단계;
각 논리적 섹터별로 변경된 데이터의 개수를 감시하는 단계 및
변경된 데이터의 개수가 임계치를 초과하면 해당 논리적 섹터를 갱신하는 단계를 포함한다.
본 발명의 다른 실시예에 있어서, 상기 방법은, 각 논리적 섹터별로 설정된 카운터를 이용하여 변경된 데이터의 개수를 감시하는 것이 바람직하다.
하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
플래시 롬에서 섹터의 크기는 물리적인 사양에 의하여 결정된다. 그러나 여러개의 플래시 롬을 사용하는 경우 섹터의 크기는 물리적인 섹터의 크기보다 커질 수 있다. 그러므로 이러한 경우를 고려하기 위하여, 한번에 삭제/기록이 가능한 플래시 롬의 영역을 논리적 섹터(Logical Sector)라고 한다.
본 발명은 고정된 섹터 크기를 가지는 플래시 롬에서 변경된 데이터만을 변경하기 위하여 세 단계로 구성된다. 도 2 는 본 발명에 의한 플래시 롬의 데이터 갱신 방법을 나타낸 흐름도이다. 이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다.
첫 번째 논리적 섹터간에 걸치는 구성 데이터를 제거하기 위하여 구성 데이터베이스의 데이터를 재배치한다.(s110)
일반적으로 구성 데이터베이스에 저장되는 데이터는 논리적 섹터의 구분과 무관하게 연속적으로 저장된다. 그러므로 논리적 섹터와 논리적 섹터 사이에 저장되는 데이터가 발생할 수 있다. 이러한 데이터를 변경하기 위해서는 두 논리적 섹터를 모두 갱신해야 한다. 그러므로 논리적 섹터 사이에 저장되는 데이터를 뒷 섹터부터 저장되도록 재배치한다. 예를 들어 논리적 섹터A의 마지막 부분과 논리적 섹터B의 처음 부분에 걸쳐서 저장된 데이터를 섹터B의 시작에서부터 저장되도록 배치한다.
두 번째 단계는 구성 데이터베이스 영역에 해당되는 플래시 롬의 논리적 섹터별로 변경된 데이터의 개수를 확인한다.(s120)
구성 데이터베이스를 저장하고 있는 플래시 롬이 총 N개의 논리적 섹터를 가진다면, N개의 카운터를 각각의 섹터마다 두어, 각 논리적 섹터에서 변경된 데이터의 개수를 감시(Monitor)한다.
세 번째 단계는, 하나의 논리적 섹터에서 변경된 데이터의 개수가 일정 임계치를 초과하면 해당 논리적 섹터를 갱신한다.(s130)
각 논리적 섹터에서 변경된 데이터의 개수가 기 설정된 임계치에 이르면, 그 논리적 섹터를 갱신한다. 플래시 롬의 데이터베이스를 갱신하기 위하여, 데이터베이스와 동일한 크기를 가지는 버퍼 램을 이용한다.
도 3 은 본 발명에 의한 플래시 롬의 데이터 갱신 방법을 나타낸 도면이다.
도 3 의 (가)에 도시된 바와 같이, 변경된 데이터가 있는 플래시 롬(110)의 구성 데이터베이스 중에서 변경될 논리적 섹터(논리적 섹터2)를 버퍼 램(120)으로 복사한다. (나)에 도시된 바와 같이, 램(120)의 논리적 섹터(논리적 섹터 2')를 변경한다. (다)에 도시된 바와 같이, 플래시 롬(110)의 원래 논리적 섹터(논리적 섹터 2)를 삭제한다. (라)에 도시된 바와 같이, 데이터가 갱신된 램(120)의 논리적 섹터(논리적 섹터 2')를 플래시 롬(110)의 원래 영역으로 복사한다. 상기된 바와 같이 플래시 롬의 데이터를 갱신하려면 논리적 섹터의 카운터를 고려한다.
도 4 는 본 발명에 의한 플래시 롬의 데이터 갱신 방법을 나타낸 흐름도이다. 구성 데이터베이스에 새로 변경해야 할 데이터가 발생하면,(s210) 해당 데이터가 저장되어야 할 플래시 롬의 논리적 섹터를 구한다.(s220) 해당 논리적 섹터의 데이터가 이미 버퍼 램에 복사되어 있는지를 확인한다.(s230) 이때 해당 논리적 섹터의 카운터를 사용한다. 해당 논리적 섹터의 카운터가 0이면 해당 논리적 섹터에서 처음으로 데이터가 변경되었다고 판단하고, 그 논리적 섹터를 램으로 복사한다.(s240) 데이터가 이미 램에 복사되어 있으면, 또는 램에 복사를 완료하였으면, 램에 복사된 데이터를 변경한다.(s250)
램의 해당 논리적 섹터 부분에서 변경된 데이터의 개수가 임계치를 초과하는지를 확인한다.(s260) 임계치를 초과하면 램의 데이터를 원래의 논리적 섹터로 복사한다.(s270) 이때 복사가 완료되면 해당 논리적 섹터의 카운터를 0으로 설정하여, 해당 논리적 섹터의 데이터가 램에 복사되어 있지 않음을 나타낸다. 카운터가 임계치를 초과하지 않거나 복사가 완료되면 다시 변경된 데이터가 발생하였는지를 감시한다.(s210)
본 발명은 다양하게 변형될 수 있고 여러 가지 형태를 취할 수 있으며 상기 발명의 상세한 설명에서는 그에 따른 특별한 실시예에 대해서만 기술하였다. 하지만 본 발명은 상기 발명의 상세한 설명에서 언급된 특별한 형태로 한정되는 것이 아닌 것으로 이해되어야 하며, 오히려 첨부된 청구범위에 의해 정의되는 본 발명의 정신과 범위 내에 있는 모든 변형물과 균등물 및 대체물을 포함하는 것으로 이해되어야 한다.
상기한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명에 의한 데이터 갱신 방법은, 논리적 섹터별로 변경된 데이터의 개수를 고려하여 데이터를 갱신함으로써, 갱신 회수를 줄여 갱신에 소요되는 시간을 단축시킨다. 또한 변경된 데이터의 개수가 특정한 임계치를 넘으면 데이터를 갱신함으로써, 플래시 롬에서 한번에 갱신되는 데이터의 영역을 줄인다.

Claims (6)

  1. 다수의 논리적 섹터로 구성되어 있으며 구성 데이터베이스를 저장하고 있는 플래시 롬에 있어서,
    구성 데이터베이스의 데이터를 배치하는 단계와;
    각 논리적 섹터별로 변경된 데이터의 개수가 임계치를 초과하면 논리적 섹터를 갱신하는 단계를 포함하는, 플래시 롬의 데이터 갱신 방법.
  2. 제 1 항에 있어서, 상기 데이터를 배치하는 단계는,
    적어도 두 개의 논리적 섹터에 걸쳐서 저장된 구성 데이터가 논리적 섹터의 시작부분부터 저장되도록 구성 데이터를 재배치하는, 플래시 롬의 데이터 갱신 방법.
  3. 제 1 항에 있어서, 상기 논리적 섹터를 갱신하는 단계는,
    새로 변경해야 할 구성 데이터가 발생하는 단계;
    발생된 구성 데이터가 저장될 플래시 롬의 논리적 섹터를 구하는 단계;
    구해진 논리적 섹터가 이미 램에 복사되어 있는지를 확인하는 단계;
    램에 복사되어 있지 않으면 논리적 섹터를 램으로 복사하는 단계;
    램에 복사된 논리적 섹터에서 변경된 구성 데이터를 갱신하는 단계 및
    해당 논리적 섹터에서 변경된 데이터의 개수가 임계치를 초과하면 램의 데이터를 해당 논리적 섹터로 복사하는 단계를 포함하는, 플래시 롬의 데이터 갱신 방법.
  4. 제 3 항에 있어서, 상기 방법은, 각 논리적 섹터별로 설정된 카운터를 이용하여 변경된 데이터의 개수를 감시하는, 플래시 롬의 데이터 갱신 방법.
  5. 다수의 논리적 섹터로 구성되어 있으며 구성 데이터베이스를 저장하고 있는 플래시 롬에 있어서,
    적어도 두 개의 논리적 섹터에 걸쳐서 저장된 구성 데이터가 논리적 섹터의 시작부분부터 저장되도록 구성 데이터를 재배치하는 단계;
    각 논리적 섹터별로 변경된 데이터의 개수를 감시하는 단계 및
    변경된 데이터의 개수가 임계치를 초과하면 해당 논리적 섹터를 갱신하는 단계를 포함하는, 플래시 롬의 데이터 갱신 방법.
  6. 제 5 항에 있어서, 상기 방법은, 각 논리적 섹터별로 설정된 카운터를 이용하여 변경된 데이터의 개수를 감시하는, 플래시 롬의 데이터 갱신 방법.
KR1019980031750A 1998-08-04 1998-08-04 플래시 롬의 데이터 갱신 방법 KR20000013076A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980031750A KR20000013076A (ko) 1998-08-04 1998-08-04 플래시 롬의 데이터 갱신 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980031750A KR20000013076A (ko) 1998-08-04 1998-08-04 플래시 롬의 데이터 갱신 방법

Publications (1)

Publication Number Publication Date
KR20000013076A true KR20000013076A (ko) 2000-03-06

Family

ID=19546403

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980031750A KR20000013076A (ko) 1998-08-04 1998-08-04 플래시 롬의 데이터 갱신 방법

Country Status (1)

Country Link
KR (1) KR20000013076A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504799B2 (en) 2006-02-21 2013-08-06 Samsung Electronics Co., Ltd. ROM data patch circuit, embedded system including the same and method of patching ROM data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504799B2 (en) 2006-02-21 2013-08-06 Samsung Electronics Co., Ltd. ROM data patch circuit, embedded system including the same and method of patching ROM data

Similar Documents

Publication Publication Date Title
US10387316B2 (en) Method for increasing cache size
KR100389241B1 (ko) 비휘발성 메모리에서의 가변 크기 데이터의 효율적인관리를 위한 동적 할당
JP3545428B2 (ja) 動的ファイル移動方法及びシステム
KR100289628B1 (ko) 멀티태스킹 기능의 정보처리시스템을 위한 자원관리방법및 그 장치
KR100437199B1 (ko) 컴퓨터시스템및그에저장된데이터를액세싱하기위한방법
US7882300B2 (en) Apparatus and method for managing nonvolatile memory
US5802549A (en) Method and apparatus for patching pages of ROM
US7676627B2 (en) Single segment data object management
JP4374348B2 (ja) ディスクにファイルデータを記憶する方法
US20190034100A1 (en) Bloom filters in a flash memory
KR19990013369A (ko) 저장 관리 시스템의 공간 할당 실패를 감소시키는 방법 및장치
JPH10133940A (ja) メモリ装置
JPH10111837A (ja) メモリ装置
KR20020029899A (ko) 저장 매체 상에서 데이터 관리를 위한 방법, 시스템 및컴퓨터 프로그램
JPH10124401A (ja) メモリ装置
KR101336258B1 (ko) 비휘발성 메모리의 데이터 처리 장치 및 방법
JPH10333949A (ja) データ格納制御方式
KR20000013076A (ko) 플래시 롬의 데이터 갱신 방법
US10877671B2 (en) Techniques for prolonging lifespan of storage drives
JPH06338195A (ja) 電気的消去可能な不揮発性メモリの書き込み回数管理装置
JP6676791B2 (ja) 情報処理装置
JP2008191797A (ja) ファイルシステム
US11567671B2 (en) Method, electronic device, and computer program product for storage management
KR100727399B1 (ko) 데이터 입출력 속도가 증가된 메모리 카드
US20220164135A1 (en) Apparatus, method and computer program for managing memory page updates within non-volatile memory

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination