KR100594687B1 - 휴대용단말기에서 대량의 데이타 저장 방법 - Google Patents

휴대용단말기에서 대량의 데이타 저장 방법 Download PDF

Info

Publication number
KR100594687B1
KR100594687B1 KR1019980057935A KR19980057935A KR100594687B1 KR 100594687 B1 KR100594687 B1 KR 100594687B1 KR 1019980057935 A KR1019980057935 A KR 1019980057935A KR 19980057935 A KR19980057935 A KR 19980057935A KR 100594687 B1 KR100594687 B1 KR 100594687B1
Authority
KR
South Korea
Prior art keywords
data
cache
stored
flash memory
eeprom
Prior art date
Application number
KR1019980057935A
Other languages
English (en)
Other versions
KR20000041918A (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 KR1019980057935A priority Critical patent/KR100594687B1/ko
Publication of KR20000041918A publication Critical patent/KR20000041918A/ko
Application granted granted Critical
Publication of KR100594687B1 publication Critical patent/KR100594687B1/ko

Links

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/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]
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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

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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 휴대용 단말기에서 데이타 저장에 관한 것으로, 특히 개인정보와 같이 빈번히 수정되는 데이타의 특성에 따라 EEPROM의 일부영역을 캐쉬메모리로 사용하여 수정빈도가 높은 데이타를 저장함으로서, 플래쉬 메모리의 쓰레기값 발생 빈도를 줄이도록 하는 휴대용 단말기에서 데이타 저장 방법에 관한 것이다.
종래의 휴대용 단말기내의 플래쉬메모리부에 쓰여진 데이타를 수정하기 위해서 물리적으로 나누어진 블록 단위로만 지우고 수정해야 하며, 해당 데이타를 지우는 작업이 휴대용 단말기와 같이 시간적 제약을 많이 받고, CPU의 처리능력이 모자라는 경우에 빈번하게 일어나게 되면 단말동작에 상당히 장애 요인이 될뿐만 아니라, 쓰레기 값 정리기간 동안 사용자는 대기해야 하는 문제점이 있다.
본 발명은 휴대용 단말에서 대량의 데이타를 저장하기 위한 플래쉬 메모리 사용에 있어서, 플래쉬 메모리의 쓰레기값 정리에 따른 사용자의 대기시간등의 부하를 줄이기 위해 수정빈도가 높은 데이타를 EEPROM캐쉬에 저장하여 플래쉬 메모리에 만들어지는 쓰레기값을 줄이고 궁극적으로 플래쉬 메모리의 쓰레기값 정리 시간을 단축시킴으로써 사용자의 대기시간등의 단말기의 부하를 줄일수 있다.

Description

휴대용단말기에서 대량의 데이타 저장 방법
본 발명은 휴대용 단말기에서 데이타 저장에 관한 것으로, 특히 개인정보와 같이 빈번히 수정되는 데이타의 특성에 따라 EEPROM의 일부영역을 캐쉬메모리로 사용하여 수정빈도가 높은 데이타를 저장함으로서, 플래쉬 메모리의 쓰레기값 발생 빈도를 줄이도록 하는 휴대용 단말기에서 데이타 저장 방법에 관한 것이다.
일반적으로 휴대용 단말기에서 대량의 개인 정보, 예를 들어 이름, 전화 번호등과 같은 데이타는 빈번히 수정 및 저장하기 때문에, 해당 데이타를 저장하기 위한 메모리는 비휘발성 기억장치로 RAM과 같이 바이트 내지 워드 단위의 읽기/쓰기가 가능해야 한다. 그래서, 현재 이러한 정보의 저장에 많이 쓰는 메모리는 EEPROM으로 앞서 설명한 특성을 가지고 있지만 용량대 가격면에서 플래쉬 메모리에 비해 높은 비용이다.
그러나, 플래쉬 메모리는 비휘발성, 대용량의 특성을 가지고 있으며, 자유로운 쓰기가 가능하나, 데이타 수정시에는 블록 단위로 소거해야 한다.
종래의 휴대용 단말기에서 데이타 저장 장치는 도 1에 도시한 바와 같이, 플래쉬 메모리부(10)와 CPU(20)를 구성하여, 해당 플래쉬 메모리(10)는 해당 CPU(20)의 제어에 따라 데이타를 쓰기, 읽기 및 수정하고, 제1블록에서 제N블록까지 물리적블록으로 나누어서 쓰여진 데이타를 수정하기 위한 지우기 동작의 한 단위로 사용한다.
전술한 바와 같은, 종래의 휴대 단말기에서 데이타 저장 및 지움 방법을 도 1에 도시한 바와 같이, 데이타 7과 데이타 6을 예를 들어 설명하면, CPU(20)에서 상기 플래쉬 메모리부(10)의 제1블록에 데이타 7을 쓰는 경우에, 플래쉬 메모리부(10)에서는 데이타 7의 데이타와 함께 현재 데이타의 지워짐의 여부를 나타내는 플래그등을 확보하여 기록하게 된다.
그래서, 해당 CPU(20)에서 플래쉬메모리부(10)의 제1블록에 데이타 6을 지우는 경우에, 데이타가 지워졌음을 나타내는 플래그를 '1'로 설정함으로서 현재 플래쉬메모리부(10)에 기록된 데이타가 쓰레기 값임을 나타내는 것이다.
그리고, 이미 존재하는 데이타를 수정하는 경우에도, 먼저 이미 존재하는 데이타의 지움 플래그를 '1'로 설정하여 기존에 데이타가 지워졌음을 표시하고 다른 플래쉬 메모리 영역에 데이타를 기록함으로서 플래쉬메모리부(10)의 자유로운 데이타 쓰기/읽기를 구현하였다.
그러나, 플래쉬메모리부(10)에 데이타를 쓰기와 지우기를 반복하게 되면 첨부된 도면 도 2에 도시한 (A)와 같이, 플레쉬 메모리는 결국에 더이상 데이타를 쓸수 없게 되기 때문에 메모리에 있는 지움 플래그가 설정된 데이타(2a)를 정리하게 되면, 도 2에 (B)와 같이, 플래쉬메모리부(10)는 지움 플래그가 설정된 데이타(2b)를 정리하는 과정을 거쳐서 메모리의 여유공간을 재확보하여야 한다.
이와 같이, 종래의 휴대용 단말기내의 플래쉬메모리부에 쓰여진 데이타를 수정하기 위해서 물리적으로 나누어진 블록 단위로만 지우고 수정해야 하며, 해당 데이타를 지우는 작업이 휴대용 단말기와 같이 시간적 제약을 많이 받고, CPU의 처리능력이 모자라는 경우에 빈번하게 일어나게 되면 단말동작에 상당히 장애 요인이 될뿐만 아니라, 쓰레기 값 정리기간 동안 사용자는 대기해야 하는 문제점이 있다.
본 발명은 전술한 바와 같은 문제점을 감안하여 안출한 것으로, 휴대용 단말기에서 대량의 데이타를 저장하기 위한 플래쉬 메모리 사용에 있어서, 플래쉬 메모리의 쓰레기값 정리에 따른 사용자의 대기시간등의 부하를 줄이기 위해 수정빈도가 높은 데이타를 EEPROM캐쉬에 저장하여 플래쉬 메모리에 만들어지는 쓰레기값을 줄이고 궁극적으로 플래쉬 메모리의 쓰레기값 정리 시간을 단축시킴으로써 사용자의 대기시간등의 단말기의 부하를 줄임에 그 목적이 있다.
상기와 같은 목적을 달성하기 위해 본 발명은, 단말기에 데이타를 저장하는 경우에, 캐쉬큐에 데이타의 ID가 존재하면 EEPROM캐쉬에 데이타를 저장함과 아울러해당 저장된 데이타의 ID를 캐쉬큐에 갱신하여 저장하고, 상기 캐쉬큐에 데이타의ID가 존재하지 않으면 플래쉬 메모리에 데이타를 저장하는 과정과; 상기 데이타를 판독, 변경 또는 삭제하는 경우에, 상기 판독, 변경 또는 삭제의 대상이 되는 데이타의 ID가 상기 캐쉬큐에 저장되어 있으면 상기 EEPROM캐쉬에서 데이타를 판독, 변경 또는 삭제하고, 상기 판독, 변경 또는 삭제의 대상이 되는 데이타의 ID가 상기 캐쉬큐에 저장되어 있지 않으면 상기 플래쉬메모리부에서 데이타를 판독, 변경 또는 삭제하는 과정을 포함하는 것을 특징으로 한다.
한편, 상기 데이타를 판독하는 과정은, 데이타의 판독을 위한 명령을 수신하면 상기 캐쉬큐에 판독 대상 데이타의 ID가 저장되어 있는지의 여부를 검사하는 단계와; 상기 캐쉬큐에 판독 대상 데이타의 ID가 저장되어 있으면 상기 EEPROM캐쉬로부터 판독 대상 데이타를 읽는 단계와; 상기 캐쉬큐에 판독 대상 데이타의 ID가 저장되어 있지 않으면 상기 플래쉬메모리부로부터 데이타를 읽는 단계를 포함하는 것을 특징으로 한다.
한편, 상기 데이타를 변경하는 과정은, 데이타의 변경을 위한 명령을 수신하면 상기 캐쉬큐에 변경 대상 데이타의 ID가 저장되어 있는지의 여부를 검사하는 단계와, 상기 캐쉬큐에 변경 대상 데이타의 ID가 저장되어 있으면, 상기 캐쉬큐에서 변경 대상 데이타의 ID가 위치한 이하의 데이타 ID들을 한단위씩 위로 이동시키고변경 대상 데이터의 ID를 최하위에 저장한 후, 상기 EEPROM캐쉬에 데이타를 쓰는 단계와; 상기 캐쉬큐에 변경 대상 데이타의 ID가 저장되어 있지 않으면, 상기 캐쉬큐의 이미 기록된 데이타 ID를 상위로 한단위씩 옮기고 최하위에 변경 대상 데이타의 ID를 푸쉬하여 기록한 후, 상기 캐쉬큐에서 오버플로우가 발생됨을 확인하면 상기 EEPROM캐쉬에 저장된 데이타 중에서 가장 오래된 데이타를 플래쉬메모리부에 전달하여 쓰는 단계와; 상기 플래쉬메모리부에 상기 가장 오래된 데이타를 저장한 후, 상기 캐쉬큐에 기록된 변경 대상 데이타의 ID에 해당하는 데이타를 상기 EEPROM캐쉬에 쓰는 단계를 포함하는 것을 특징으로 한다.
한편, 상기 데이타를 저장하는 경우에 상기 EEPROM캐쉬의 저장 용량을 초과하면, 상기 EEPROM캐쉬에 저장된 데이타 중에서 가장 오래된 데이타를 플레쉬메모리에 전달하여 저장함과 아울러 해당 전달되어 저장된 데이타의 ID를 상기 캐쉬큐로부터 삭제한 후, 저장 대상 데이타를 상기 EEPROM캐쉬에 저장하고 해당 저장된 데이타의 ID를 상기 캐쉬큐에 저장하는 과정을 더 포함하는 것을 특징으로 한다.
한편, 상기 데이타를 삭제하는 과정은, 데이타를 지우기 위한 명령을 수신하면 상기 캐쉬큐에 삭제 대상 데이타의 ID가 저장되어 있는지의 여부를 검사하는 단계와; 상기 캐쉬큐에 삭제 대상 데이타의 ID가 저장되어 있으면, 상기 캐쉬큐에서삭제 대상 데이타의 ID를 삭제하고 해당 삭제된 데이타의 ID가 위치한 이하의 데이타 ID를 한단위씩 위로 이동시키고, 상기 EEFROM캐쉬에 저장된 삭제 대상 데이타를 지우는 단계와; 상기 캐쉬큐에 삭제 대상 데이타의 ID가 저장되어 있지 않으면, 상기 플래쉬메모리부에 삭제 대상 데이타가 저장되어 있음을 확인하여 상기 플래쉬메모리부에서 삭제 대상 데이타를 지우는 단계를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명하면 다음과 같다.
본 발명에 실시예에 따른 휴대용 단말기에서 데이타 저장 장치는 도 3에 도시한 바와 같이, 플래쉬메모리부(10)와 CPU(20)사이에 EEFROM(30)의 메모리 일부영역을 EEPROM캐쉬(31)로 할당하여 구성하고, 해당 플래쉬메모리부(10)로 쓰여지는 데이타 중 가장 최근에 수정되거나 생성되는 것을 EEPROM캐쉬(31)에 써서 수정빈도가 높은 데이타를 EEPROM캐쉬(31)에 저장한다.
상기 CPU(20)는 상기 EEPROM캐쉬(31)를 관리하기 위해서 상기 플래쉬메모리부(10)에서 데이타를 읽거나 쓰는 실질적인 주체가 되는 요소인 응용프로그램계층(21)과, 상기 EEPROM캐쉬(31)에 데이타를 쓰고/읽기 위한 저레벨 구동기인 EEPROM캐쉬구동기(22)와, 상기 플래쉬메모리부(10)에 데이타를 바이트단위 혹은 워드 단위로 쓰고/읽기 위한 저레벨 구동기인 플래쉬메모리구동기(23)와, 상기 EEPROM(30)에 데이타를 쓰고/읽기 위한 저레벨 구동기인 EEPROM구동기(24)를 구비하여 이루어진다. 그리고, 상기 EEPROM캐쉬구동기(22)는 상기 응용프로그램계층(21)으로부터 인가되는 명령을 해석하여 전달하거나, 인가되는 데이타를 해당 응용프로그램계층(21)으로 전달하는 상위계층인터페이스부(22a)와, EEPROM캐쉬(31)의 메모리를 관리하는 EEPROM캐쉬관리부(22b)와, 상기 EEPROM캐쉬관리부(22b)로부터 인가되는 데이타가 플래쉬메모리부(10)내의 데이타를 읽거나 쓸려고 할 경우에, 플래쉬메모리구동기(23)측으로 명령을 전달하고, 해당 플래쉬메모리구동기(23)측에서 전달되는 데이타를 입력받아 상기 EEPROM캐쉬관리부(22b)로 인가하는 하위계층인터페이스부(22c)와, 상기 EEPROM캐쉬관리부(22b)로부터 인가되는 데이타가 EEPROM캐쉬(31)에 데이타를 읽거나 쓸려고 할 경우에, EEPROM구동기(24)측으로 명령을 전달하고, 해당 EEPROM구동기(24)측에서 전달되는 데이타를 입력받아 상기 EEPROM캐쉬관리부(22b)로 인가하는 EEPROM인터페이스부(22d)를 구비하여 이루어진다.
그리고, 상기 EEPROM캐쉬관리부(22b)는 상기 EEPROM캐쉬(31)에 저장되어 있는 데이타의 ID를 기록하여 해당 데이타의 이력을 관리하는 캐쉬큐(22b-1)를 구비하여 이루어진다.
전술한 바와 같이 구성되는 본 발명의 동작을 첨부된 도면에 따라 상세하게 설명하면 다음과 같다.
먼저, CPU(20)내의 상위계층인터페이스부(22a)는 응용프로그램계층(21)에서 전달되는 명령을 해석하여 EEPROM캐쉬관리부(22b)로 전달되는데, 해당 상위계층인터페이스부(22a)와 EEPROM캐쉬관리부(22b)간의 명령어는 저장된데이타읽기명령, 새로운데이타쓰기명령, 기존데이타변경명령, 기존데이타지우기명령이 있다.
그리고, 해당 EEPROM캐쉬관리부(22b)는 캐쉬큐(22b-1)를 구비하여 현재 EEPROM캐쉬(31)에 존재하는 데이타의 이력을 관리하는데, 해당 캐쉬큐(22b-1)에서 저장되는 값은 EEPROM캐쉬(31)내에 존재하는 데이타의 확인번호이며, 해당 데이타의 확인번호가 캐쉬큐(22b-1)에 저장되는 순서는 첨부된 도면 도 5의 (A)를 참고하여, 가장 최근에 바뀐 데이타의 ID가 캐쉬큐(22b-1)의 최하단에 오게 된다. 여기서, 데이타 5가 가장 최근에 바뀐 데이타이며, 새로운 데이타 3을 푸쉬할 경우에도 도 5의 (B)와 같이, 캐쉬큐(22b-1)의 최하단에 데이타 3이 기록된다.
그리고, 해당 캐쉬큐(22b-1)에 존재하지 않는 데이타의 ID는 플래쉬메모리부(10)에 저장되어 있거나 존재하지 않는 데이타임을 의미하고, EEPROM캐쉬관리부(22b)가 EEPROM캐쉬(31)에 충분한 용량을 마련하기 위해서 캐쉬큐(22b-1)의 최상단에 있는 데이타를 플래쉬메모리부(10)로 이동시키게 된다.
즉, 가장 오래전에 변경된 데이타를 가장 먼저 플래쉬메모리부(10)로 이동하게 된다. 왜냐하면, 일반적으로 오래전에 변경된 데이타 일수록 사용자가 다시 변경할 확률이 줄어들기 때문에, 해당 데이타를 플래쉬메모리부(10)로 옮겨도 이후에 데이타를 변경하거나 지움으로써 발생되는 플래쉬 메모리의 쓰레기 값이 발생될 가능성이 줄어든다.
그러면, EEPROM캐쉬관리부에서 상위계층인터페이스부로부터 저장된데이타읽기명령, 기존데이타변경명령, 새로운데이타쓰기명령 및 기존데이타지우기명령을 입력받아 데이타처리하는 과정을 예를 들어 설명하기로 한다.
첫번째, 첨부된 도면 도 6에 도시한 바와 같이, CPU(20)내의 EEPROM캐쉬관리부(22b)에서 상위계층인터페이스부(22a)로부터 저장된데이타읽기명령을 전달받게 되면(스텝 Sl), 해당 데이타의 ID가 EEPROM캐쉬관리부(22b)내의 캐쉬큐(22b-1)에 저장되어 있는지 검사하여(스텝 S2), 해당 데이타의 ID가 캐쉬큐(22b-1)에 저장되어 있을 경우에, EEPROM인터페이스부(22d)로 캐쉬데이타읽기명령을 전달하여, EEPROM캐쉬(31)에서 해당 데이타를 읽어들이게 된다(스텝 S3).
한편, 상기 스텝 S2에서, 해당 데이타의 ID가 캐쉬큐(22b-1)에 저장되어 있지 않을 경우에, 하위계층 인터페이스부(22c)로 플래쉬데이타읽기명령을 전달하여, 플래쉬메모리부(10)에서 해당 데이타를 읽어들이게 된다(스텝 S4).
둘째, 첨부된 도면 도 7에 도시한 바와 같이, EEPROM캐쉬관리부(22b)에서 상위계층인터페이스부(22a)로부터 기존데이타변경명령을 전달받게 되면(스텝 S11), 해당기존데이타의 ID가 캐쉬큐(22b-1)에 저장되어 있는지 검사하여(스텝 S12), 해당 기존데이타의 ID가 캐쉬큐(22b-1)에 저장되어 있을 경우에, 해당 캐쉬큐(22b-1)내의 데이타 ID의 위치를 변경하는데, 해당 변경할 데이타 ID가 위치한 이하의 값들은 한단위씩 위로 이동시키고, 해당 변경할 데이타 ID를 캐쉬큐(22b-1)의 최하위에 저장하게 된다(스텝 S13).
그런후에, 해당 캐쉬큐(22b-1)에서는 캐쉬데이타쓰기명령을 EEPROM인터페이스부(22d)로 전달하여, 해당 변경할 데이타를 EEPROM캐쉬(31)에 쓰게 된다(스텝 S14).
한편, 상기 스텝 S12에서, 해당 기존데이타의 ID가 캐쉬큐(22b-1)에 저장되어 있지 않을 경우에, 캐쉬큐(22b-1)의 이미 기록된 데이타 ID을 상위로 한 단위씩 옮기고 최하위에 해당 변경할 데이타 ID를 푸쉬하고(스텝 Sl5), 해당 캐쉬큐(22b-1)에 오버플로우가 발생하였는지 검사하게 된다(스텝 Sl6).
이에, 해당 캐쉬큐(22b-1)에 오버플로우가 발생되었을 경우에, 해당 오버플로우된 데이타 ID를 임의의 데이타에 할당하게 되고, EEPROM인터페이스부(22d)에 캐쉬데이타읽기명령을 전달하여(스텝 Sl7, Sl8), 해당 EEPROM인터페이스부(22d)를 통해 EEPROM캐쉬(31)에서 해당 오버플로우된 데이타의 내용을 수신하게 된다(스텝 Sl9). 그래서, 해당 EEPROM캐쉬(31)로부터 해당 오버플로우된 데이타를 읽어들인 후에, 하위계층 인터페이스부(22c)로 기존데이타변경명령을 전달하여 해당 오버플로우된 데이타를 플래쉬메모리부(10)에 저장하게 된다(스텝 S20).
그리고, EEPROM캐쉬관리부(22b)는 EEPROM인터페이스부(22d)로 캐쉬쓰기 데이타명령을 인가하여, 캐쉬큐(22b-1)의 최하위에 기록된 변경데이타의 내용을 EEPROM캐쉬(31)에 저장하게 된다(스텝 S14).
셋째, 첨부된 도면 도 7에 도시한 바와 같이, EEPROM캐쉬관리부(22b)에서 상위계층 인터페이스부(22a)로부터 새로운데이타쓰기명령을 전달받게 되면(스텝 S11), 상기 스텝 Sl5로 귀환하여 데이타 쓰기 처리를 하게 된다 이하의 과정은 상기 기존데이타가 캐쉬큐(22b-1)에 존재하지 않는 경우와 동일하므로 그 설명을 생략한다.
넷째, 첨부된 도면 도 8에 도시한 바와같이, EEPROM캐쉬관리부(22b)에서 상위계층 인터페이스부(22a)로부터 기존데이타지우기명령이 전달되면(스텝 S31), 해당 데이타의 ID가 캐쉬큐(22b-1)에 저장되어 있는지 검사하여(스텝 S32), 해당 데이타의 ID가 캐쉬큐(22b-1)에 저장되어 있을 경우에, 해당 데이타의 ID를 캐쉬큐(22b-1)에서 지우고, 해당 데이타 ID가 위치한 이하의 데이타 ID를 한단위씩 위로 이동시킨다(스텝 S33).
그런후에, EEPROM인터페이스부(22d)로 기존데이타지우기명령을 발신하여 EEPROM캐쉬(31)에 저장된 데이타를 삭제하게 된다(스텝 S34).
한편, 해당 데이타의 ID가 캐쉬큐(22b-1)에 저장되어 있지 않을 경우에, 해당 데이타가 플래쉬메모리부(10)에 저장되어 있는지 검사하여, 해당 플래쉬메모리부(10)에 존재할 경우 하위계층 인터페이스부(22c)로 플래쉬데이타지우기명령을 인가하여, 플래쉬메모리부(10)에 저장된 데이타를 삭제하게 된다(스텝 S35, S36).
이와 같이, 휴대용 단말에서 대량의 데이타를 저장하기 위한 플래쉬 메모리 사용에 있어서 플래쉬 메모리의 쓰레기값 정리에 따른 사용자의 대기시간등의 부하를 줄이기 위해 수정빈도가 높은 데이타를 EEPROM캐쉬에 저장하여 플래쉬 메모리에 만들어지는 쓰레기값을 줄이고 궁극적으로 플래쉬 메모리의 쓰레기값 정리 시간을 단축시킴으로써 사용자의 대기시간등의 단말기의 부하를 줄일수 있다.
전술한 바와 같이, 본 발명은 휴대용 단말에서 대량의 데이타를 저장하기 위한 플래쉬 메모리 사용에 있어서, 플래쉬 메모리의 쓰레기값 정리에 따른 사용자의 대기시간등의 부하를 줄이기 위해 수정빈도가 높은 데이타를 EEPROM캐쉬에 저장하여 플래쉬 메모리에 만들어지는 쓰레기값을 줄이고 궁극적으로 풀래쉬 메모리의 쓰레기값 정리 시간을 단축시킴으로써 사용자의 대기시간등의 단말기의 부하를 줄일수 있다.
도 1은 종래의 휴대용 단말기에서 데이타 저장 장치를 나타낸 구성블록도.
도 2은 도 1에 도시한 플래쉬 메모리부의 쓰레기값 정리에 따른 공간 확보에 대한 예시도.
도 3은 본 발명의 실시예에 따른 휴대용 단말기에서 데이타 저장 장치를 나타낸 구성 블록도.
도 4는 도 3에 도시한 CPU의 데이타 저장 제어 모듈을 나타낸 구성블록도.
도 5는 도 3에 도시한 캐쉬큐에 데이타 ID저장 구조.
도 6은 도 4에 도시한 EEPROM캐쉬관리부에서 데이타읽기명령 처리 과정을 나타낸 플로우 챠트.
도 7은 도 4에 도시한 EEPROM캐쉬관리부에서 기존데이타변경명령 및 새로운 데이타 쓰기 명령 처리 과정을 나타낸 플로우 챠트.
도 8은 도 4에 도시한 EEPROM캐쉬관리부에서 기존데이타지우기명령 처리방법을 나타낸 플로우 챠트.
* 도면의 주요부분에 대한 부호의 설명 *
10: 플래쉬메모리부 20: CPU
21: 응용프로그램계층 22: EEPEOM캐쉬구동기
22a: 상위계층 인터페이스부 22b: EEPROM캐쉬관리부
22b-1: 캐쉬큐 22c: 하위계층 인터페이스부
22d: EEPROM인터페이스부 23: 플래쉬메모리구동기
24: EEPROM구동기 30: EEPROM
31: EEPROM캐쉬 메모리부

Claims (5)

  1. 단말기에 데이타를 저장하는 경우에, 캐쉬큐에 데이타의 ID가 존재하면 EEPROM캐쉬에 데이타를 저장함과 아울러 해당 저장된 데이타의 ID를 캐쉬큐에 갱신하여 저장하고, 상기 캐쉬큐에 데이타의 ID가 존재하지 않으면 플래쉬 메모리에 데이타를 저장하는 과정과;
    상기 데이타를 판독, 변경 또는 삭제하는 경우에, 상기 판독, 변경 또는 삭제의 대상이 되는 데이타의 ID가 상기 캐쉬큐에 저장되어 있으면 상기 EEPROM캐쉬에서 데이타를 판독, 변경 또는 삭제하고, 상기 판독, 변경 또는 삭제의 대상이 되는 데이타의 ID가 상기 캐쉬큐에 저장되어 있지 않으면 상기 플래쉬메모리부에서 데이타를 판독, 변경 또는 삭제하는 과정을 포함하는 것을 특징으로 하는 휴대용 단말기에서 데이타 저장 방법.
  2. 상기 제1항에 있어서,
    상기 데이타를 판독하는 과정은, 데이타의 판독을 위한 명령을 수신하면 상기 캐쉬큐에 판독 대상 데이타의 ID가 저장되어 있는지의 여부를 검사하는 단계와; 상기 캐쉬큐에 판독 대상 데이타의 ID가 저장되어 있으면 상기 EEPROM캐쉬로부터 판독대상 데이타를 읽는 단계와; 상기 캐쉬큐에 판독 대상 데이타의 ID가 저장되어 있지 않으면 상기 플래쉬메모리부로부터 데이타를 읽는 단계를 포함하는 것을 특징으로 하는 휴대용 단말기에서 데이타 저장 방법.
  3. 상기 제1항에 있어서,
    상기 데이타를 변경하는 과정은, 데이타의 변경을 위한 명령을 수신하면 상기 캐쉬큐에 변경 대상 데이타의 ID가 저장되어 있는지의 여부를 검사하는 단계와; 상기 캐쉬큐에 변경 대상 데이타의 ID가 저장되어 있으면, 상기 캐쉬큐에서 변경 대상 데이타의 ID가 위치한 이하의 데이타 ID들을 한단위씩 위로 이동시키고 변경 대상 데이터의 ID를 최하위에 저장한 후, 상기 EEPROM캐쉬에 데이타를 쓰는 단계와; 상기 캐쉬큐에 변경 대상 데이타의 ID가 저장되어 있지 않으면, 상기 캐쉬큐의 이미 기록된 데이타 ID를 상위 한단위씩 옮기고 최하위에 변경 대상 데이타의 ID를 푸쉬하여 기록한 후, 상기 캐쉬큐에서 오버플로우가 발생됨을 확인하면 상기 EEPROM캐쉬에 저장된 데이타 중에서 가장 오래된 데이타를 플래쉬메모리부에 전달하여 쓰는 단계와; 상기 플래쉬메모리부에 상기 가장 오래된 데이타를 저장한 후, 상기 캐쉬큐에 기록된 변경 대상 데이타의 ID에 해당하는 데이타를 상기 EEPROM캐쉬에 쓰는 단계를 포함하는 것을 특징으로 하는 휴대용 단말기에서 데이타 저장 방법.
  4. 상기 제1항에 있어서,
    상기 데이타를 저장하는 경우에 상기 EEPROM캐쉬의 저장 용량을 초과하면, 상기 EEPROM캐쉬에 저장된 데이타 중에서 가장 오래된 데이타를 플레쉬메모리에 전달하여 저장함과 아울러 해당 전달되어 저장된 데이타의 ID를 상기 캐쉬큐로부터 삭제한 후, 저장 대상 데이타를 상기 EEPROM캐쉬에 저장하고 해당 저장된 데이타의 ID를 상기 캐쉬큐에 저장하는 과정을 더 포함하는 것을 특징으로 하는 휴대용 단말기에서 데이타 저장 방법.
  5. 상기 제1항에 있어서,
    상기 데이타를 삭제하는 과정은, 데이타를 지우기 위한 명령을 수신하면 상기 캐쉬큐에 삭제 대상 데이타의 ID가 저장되어 있는지의 여부를 검사하는 단계와; 상기 캐쉬큐에 삭제 대상 데이타의 ID가 저장되어 있으면, 상기 캐쉬큐에서 삭제 대상 데이타의 ID를 삭제하고 해당 삭제된 데이타의 ID가 위치한 이하의 데이타 ID를 한단위씩 위로 이동시키고, 상기 EEPROM캐쉬에 저장된 삭제 대상 데이타를 지우는 단계와; 상기 캐쉬큐에 삭제 대상 데이타의 ID가 저장되어 있지 않으면, 상기 플래쉬메모리부에 삭제 대상 데이타가 저장되어 있음을 확인하여 상기 플래쉬메모리부에서 삭제 대상 데이타를 지우는 단계를 포함하는 것을 특징으로 하는 휴대용 단말기에서 데이타 저장 방법.
KR1019980057935A 1998-12-24 1998-12-24 휴대용단말기에서 대량의 데이타 저장 방법 KR100594687B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980057935A KR100594687B1 (ko) 1998-12-24 1998-12-24 휴대용단말기에서 대량의 데이타 저장 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980057935A KR100594687B1 (ko) 1998-12-24 1998-12-24 휴대용단말기에서 대량의 데이타 저장 방법

Publications (2)

Publication Number Publication Date
KR20000041918A KR20000041918A (ko) 2000-07-15
KR100594687B1 true KR100594687B1 (ko) 2006-10-04

Family

ID=19565160

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980057935A KR100594687B1 (ko) 1998-12-24 1998-12-24 휴대용단말기에서 대량의 데이타 저장 방법

Country Status (1)

Country Link
KR (1) KR100594687B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10005911A1 (de) * 2000-02-10 2001-08-16 Philips Corp Intellectual Pty Steuereinheit für ein Endgerät eines digitalen schnurlosen Telekommunikationssystems sowie Verfahren für eine solche Steuereinheit
KR20020038195A (ko) * 2000-11-16 2002-05-23 최건 휴대용 정보 기기에 다중 처리 운영 체제를 탑재한 경우의메모리 관리 기법
KR100572668B1 (ko) * 2004-06-11 2006-04-24 에스케이 텔레콤주식회사 모바일 상거래 어플리케이션의 단말 메모리 분할 탑재 방법
KR100725390B1 (ko) * 2005-01-06 2007-06-07 삼성전자주식회사 수정 빈도를 고려하여 데이터를 비휘발성 캐쉬부에저장하는 장치 및 방법
KR20150106778A (ko) 2014-03-12 2015-09-22 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 제어 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970049594A (ko) * 1995-12-19 1997-07-29 김광호 반도체 메모리 캐쉬 메모리 제어장치 및 그 방법
JPH10269028A (ja) * 1997-03-28 1998-10-09 Nec Corp 外部記憶装置とキャッシュメモリの制御方法
KR19990019377A (ko) * 1997-08-29 1999-03-15 윤종용 플래시 메모리 이용 보조기억장치 및 그 방법
KR19990085643A (ko) * 1998-05-20 1999-12-15 김신덕 캐쉬 메모리 시스템 및 그의 운영 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970049594A (ko) * 1995-12-19 1997-07-29 김광호 반도체 메모리 캐쉬 메모리 제어장치 및 그 방법
JPH10269028A (ja) * 1997-03-28 1998-10-09 Nec Corp 外部記憶装置とキャッシュメモリの制御方法
KR19990019377A (ko) * 1997-08-29 1999-03-15 윤종용 플래시 메모리 이용 보조기억장치 및 그 방법
KR19990085643A (ko) * 1998-05-20 1999-12-15 김신덕 캐쉬 메모리 시스템 및 그의 운영 방법

Also Published As

Publication number Publication date
KR20000041918A (ko) 2000-07-15

Similar Documents

Publication Publication Date Title
US5682497A (en) Managing file structures for a flash memory file system in a computer
US7562202B2 (en) Systems, methods, computer readable medium and apparatus for memory management using NVRAM
KR100389241B1 (ko) 비휘발성 메모리에서의 가변 크기 데이터의 효율적인관리를 위한 동적 할당
US7676627B2 (en) Single segment data object management
US8667213B2 (en) Flash management techniques
KR100453053B1 (ko) 플래쉬 메모리용 파일 시스템
US6862604B1 (en) Removable data storage device having file usage system and method
US20060129750A1 (en) Method and apparatus for storing multimedia data in nonvolatile storage device in units of blocks
JP4287222B2 (ja) 不揮発性半導体記憶装置
US20080155301A1 (en) Memory device performance enhancement through pre-erase mechanism
US20050216687A1 (en) Data managing method and data access system for storing all management data in management bank of non-volatile memory
KR0185954B1 (ko) 휴대형 단말기기의 메모리 관리방법
US20050278480A1 (en) Method of writing data into flash memory
JP3212960B2 (ja) フラッシュメモリを利用したデータ管理方法
JP5183662B2 (ja) メモリ制御装置及びメモリ制御方法
KR100594687B1 (ko) 휴대용단말기에서 대량의 데이타 저장 방법
EP2267725A1 (en) Memory device for managing the recovery of a non volatile memory
CN112162704B (zh) 存储空间释放方法及其装置
CN103389943A (zh) 控制装置、存储装置及存储控制方法
KR100319254B1 (ko) 플레쉬 메모리를 이용한 비휘발성 데이터 영역 복구 방법
JPH08273390A (ja) フラッシュメモリの消去回数の管理方法
JP4710274B2 (ja) メモリ装置、メモリ装置の制御方法およびデータ処理システム
JP2004296014A (ja) 不揮発性メモリの消去回数平準化方法
JPH0817192A (ja) フラッシュメモリによる位置記憶方法
KR100597063B1 (ko) 플래시 메모리 및 메모리 제어 방법

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130514

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140523

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150522

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160524

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee