KR20050065715A - 플래쉬 메모리를 파일 시스템으로 라이트하기 위한캐쉬처리 방법 - Google Patents

플래쉬 메모리를 파일 시스템으로 라이트하기 위한캐쉬처리 방법 Download PDF

Info

Publication number
KR20050065715A
KR20050065715A KR1020030095528A KR20030095528A KR20050065715A KR 20050065715 A KR20050065715 A KR 20050065715A KR 1020030095528 A KR1020030095528 A KR 1020030095528A KR 20030095528 A KR20030095528 A KR 20030095528A KR 20050065715 A KR20050065715 A KR 20050065715A
Authority
KR
South Korea
Prior art keywords
cache
flash memory
dynamic
data
sector
Prior art date
Application number
KR1020030095528A
Other languages
English (en)
Other versions
KR100514756B1 (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 KR10-2003-0095528A priority Critical patent/KR100514756B1/ko
Publication of KR20050065715A publication Critical patent/KR20050065715A/ko
Application granted granted Critical
Publication of KR100514756B1 publication Critical patent/KR100514756B1/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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명에 의한 플래쉬 메모리를 파일 시스템으로 라이트하기 위한 캐쉬처리 방법은, 복수의 캐쉬블록을 플래쉬 메모리의 변경할 섹터 데이터 부분을 저장하기 위한 복수의 동적 캐쉬블록과 FAT 부분을 저장하기 위한 복수의 고정캐쉬블록으로 할당하여 각각 상기 캐쉬블록에 복사하는 제1과정; 특정 캐쉬교환정책에 따라 상기 동적캐쉬블록 중 데이터 변경 처리가 완료된 캐쉬 블록을 교환하는 제 2과정; 및 소정 주기로 상기 모든 동적 및 고정캐쉬블록을 상기 플래쉬 메모리의 대응되는 섹터에 저장하는 제3과정을 포함함을 특징으로 한다.
본 발명에 의하면, 플래쉬메모리의 섹터에 저장된 FAT를 고정캐쉬블록에 할당하여 동적캐쉬교환 정책에서 처리되지 않도록 함으로써 FAT가 저장된 섹터가 불필요하게 빈번히 액세스되어 저장 및 소거되는 횟수를 감소시켜 플래쉬 메모리의 수명 연장을 꾀할 수 있고, 플래쉬 메모리에 데이터를 라이트시 처리속도를 향상시킬 수 있다.

Description

플래쉬 메모리를 파일 시스템으로 라이트하기 위한 캐쉬처리 방법{Cash processing method for writing in flash memory using file system}
본 발명은 플래쉬 메모리를 라이트하기 위한 캐쉬 처리 방법에 관한 것으로, 플래쉬 메모리의 사용 수명을 연장시키며 데이터 변경하기 위해 라이트시 플래쉬 메모리의 섹터를 소거해야 하는 횟수를 줄여 처리 속도를 향상시킨 플래쉬 메모리를 파일 시스템으로 라이트하기 위한 캐쉬 처리 방법에 관한 것이다.
플래쉬 메모리는 비휘발성 기억장치로서 소비전력이 작고, 구동전원이 차단되더라도 HDD와 같이 저장된 자료나 프로그램 등이 사라지지 않고 유지되도록 설계된 ROM과 리드, 라이트의 액세스가 용이한 RAM의 장점만을 가진 차세대 반도체 메모리라 할 수 있다.
또한, EEPROM(Electrically Erasable Programmable Read-Only Memory)보다 가격이 저렴한 반면에 데이터 저장밀도가 더 높고 데이터의 입출력 제어가 용이하여 디지털텔레비전, 디지털캠코더, 휴대전화, 디지털카메라, 개인휴대단말기(PDA), 게임기, MP3플레이어 등의 메모리에 널리 이용되고 있다.
EEPROM은 바이트 단위로 데이터를 지우거나 라이트하지만, 플래시 메모리는 다수개의 섹터 단위로 구성되어 관리되어, 섹터 내에 있는 작은 양의 데이터 하나만 수정하더라도 섹터 전체의 데이터를 소거시켜야 하는 단점이 있다.
이러한 플래쉬 메모리에 종래의 동적캐쉬블록만을 이용한 파일 시스템을 적용하여 용량이 작은 데이터를 플래쉬 메모리에 라이트하는 경우에는 빈번히 섹터에 저장된 FAT를 소거시켜야 하기 때문에 플래쉬 메모리의 수명을 단축시키며, 라이트 처리 속도가 지연되는 문제점이 있었다.
본 발명에서 이루고자 하는 기술적 과제는 파일 시스템에서 액세스가 가장 빈번히 이루어지는 플래쉬 메모리의 FAT(File Allocation Table)가 있는 섹터 부분은 고정시켜 불필요한 캐쉬 교환이 이루어지지 않도록 하여 라이트 처리 속도를 향상시키는 플래쉬 메모리를 파일 시스템으로 라이트하기 위한 캐쉬 처리 방법을 제공하는 데 있다.
상기한 기술적 과제를 달성하기 위한 플래쉬 메모리를 파일 시스템으로 라이트하기 위한 캐쉬 처리 방법은,
복수의 캐쉬블록을 플래쉬 메모리의 변경할 섹터 데이터 부분을 저장하기 위한 복수의 동적 캐쉬블록과 FAT 부분을 저장하기 위한 복수의 고정캐쉬블록으로 할당하여 각각 상기 캐쉬블록에 복사하는 제1과정;
상기 복사된 복수의 동적캐쉬블록 중 비어 있는 캐쉬블록이 없는 경우 특정 캐쉬교환정책에 따라 상기 동적캐쉬블록 중 데이터 변경 처리가 완료된 캐쉬 블록을 교환하는 제 2과정; 및
소정 주기로 상기 모든 동적 및 고정캐쉬블록을 상기 플래쉬 메모리의 대응되는 섹터에 저장하는 제3과정을 포함함을 특징으로 한다.
상기 제3과정에서 상기 동적캐쉬블록의 데이터를 상기 플래쉬 메모리에 저장시킨 후 해당 동적캐쉬블록에 저장된 데이터를 클리어시킴을 특징으로 한다.
상기 제2과정의 특정 캐쉬교환정책은 상기 동적캐쉬 블록의 업데이트된 데이터를 상기 플래쉬 메모리의 해당 섹터에 저장하고, 변경하고자 하는 플래쉬 메모리의 섹터 데이터를 해당 동적 캐쉬블록에 복사하는 과정임을 특징으로 한다.
이하 첨부 도면을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 캐쉬처리 방법을 설명하기 위한 캐쉬제어장치의 블록도이다.
도 1에서, 미도시된 플래쉬 메모리 섹터의 데이터를 할당하여 저장하기 위한 n개의 동적캐쉬블록(101)으로 구성된 동적캐쉬블록부(10)와, 상기 플래쉬 메모리 섹터의 FAT를 저장하기 위한 m개의 고정캐쉬블록(121)으로 구성된 고정캐쉬블록부(12)와, 캐쉬교환 정책부(14)와 캐쉬제어부(16)를 포함한다.
캐쉬교환 정책부(14)는 현재 동적캐쉬블록부(10)내의 모든 동적캐쉬블록(101)에 플래쉬메모리의 섹터데이터가 저장되어 있을 때 업데이트된 동적캐쉬블록(101)의 데이터를 해당 플래쉬메모리의 섹터에 저장한 후, 해당 동적캐쉬블록(101)을 클리어한다. 또한, 변경이 요구되는 플래쉬메모리의 섹터 데이터를 해당 동적캐쉬블록(101)에 복사하여 캐쉬교환이 이루어지도록 한다.
또한, 캐쉬제어부(16)는 소정 주기로 동적 및 고정캐쉬블록부(12)에 있는 모든 캐쉬블록들의 데이터와 FAT를 플래쉬메모리에 저장하여 섹터 데이터와 FAT를 업데이트시키고, 동적캐쉬블록부(10)에 있는 모든 데이터를 클리어하여 변경하고자하는 플래쉬메모리의 섹터 데이터를 빈 동적캐쉬블록(101)에 저장할 수 있도록 한다.
도 2는 도 1의 캐쉬제어장치에서 각 캐쉬블록을 할당하여 플래쉬 메모리의 섹터 데이터와 FAT를 저장하는 루틴을 설명하기 위한 흐름도이다.
캐쉬블록을 플래쉬 메모리의 섹터 데이터와 FAT가 저장될 수 있는 고정캐쉬블록(121)과 동적캐쉬블록(101)으로 할당하고, 캐쉬운영 구조체를 초기화한다(20 및 22단계). 캐쉬운영 구조체를 초기화한 후 플래쉬 메모리의 섹터에 저장된 FAT를 고정캐쉬블록부(12)의 할당된 캐쉬블록에 저장하고 변경하고자하는 플래쉬 메모리의 섹터 데이터를 동적캐쉬블록부(10)에 복사한다(24 단계).
도 3은 도 1의 캐쉬제어장치에서 캐쉬교환정책을 설명하기 위한 흐름도이다.
플래쉬 메모리의 섹터 데이터를 저장하는 동적캐쉬블록부(10)내에 비어 있는 동적캐쉬블록(101)이 있는지를 체크하고, 빈 동적캐쉬블록(101)이 존재하는 경우에는 38 단계로 진행하여 해당 빈 동적캐쉬블록(101)에 변경하고자 하는 플래쉬 메모리의 섹터 데이터를 복사한다.
한편, 한정된 동적캐쉬블록(101)이 모두 라이트되어 있는 경우에는 캐쉬교환정책에 의해 동적캐쉬블록부(10)에서 데이터의 업데이트가 완료되어 교환 가능한 동적캐쉬블록(101)가 있는지 체크한다(34 단계). 교환이 가능한 동적캐쉬블록(101)의 데이터를 캐쉬교환알고리즘을 이용하여 해당 플래쉬메모리의 섹터에 저장하고, 해당 동적캐쉬블록(101)을 클리어한다(30 내지 36 단계).
또한, 데이터가 섹터에 저장된 동적캐쉬블록(101)에는 플래시 메모리의 변경하고자 하는 섹터 데이터를 복사하여 플래쉬 메모리의 섹터 데이터를 처리할 수 있도록 한다(38 단계).
도 4는 도 1의 캐쉬제어장치에서의 캐쉬플러쉬를 설명하기 위한 흐름도이다.
고정 및 동적 캐쉬블록을 체크하여 더티(dirty) 즉 라이트되어져 있으면 고정 및 동적 캐쉬블록에 저장된 데이터와 FAT를 플래쉬 메모리의 섹터에 저장한다(40, 42단계). 이때, 캐쉬블록에 데이터가 라이트되어 있지 않은 경우에는 다음 캐쉬블록이 라이트되어 있는지 순차적으로 체크한다.
플래쉬 메모리 섹터에 저장한 캐쉬블록이 고정캐쉬블록(201)인지를 확인하여(44 단계), 고정캐쉬블록(201)이 아닌 경우에는 동적캐쉬블록(101)을 클리어하고(46 단계) 이를 고정캐쉬와 동적캐쉬블록수를 합한 개수만큼 40단계 내지 46단계를 반복수행하여(48 단계) 순차적으로 각각의 동적캐쉬블록(101)에 저장되어 있는 모든 데이터를 플래쉬메모리의 섹터에 저장하고, 소정의 주기로 고정캐쉬블록(201)에 저장되어 업데이트된 FAT를 플래쉬메모리의 섹터에 저장함으로써 불필요하게 빈번히 캐쉬교환되는 것을 방지할 수 있다.
상술한 바와 같이, 본 발명에 의한 플래쉬 메모리를 파일 시스템으로 라이트하기 위한 캐쉬처리 방법은, 플래쉬메모리의 섹터에 저장된 FAT를 고정캐쉬블록에 할당하여 동적캐쉬교환 정책에서 처리되지 않도록 함으로써 FAT가 저장된 섹터가 불필요하게 빈번히 액세스되어 저장 및 소거되는 횟수를 감소시켜 플래쉬 메모리의 수명 연장을 꾀할 수 있고, 플래쉬 메모리에 데이터를 라이트시 처리속도를 향상시킬 수 있다.
도 1은 본 발명의 캐쉬처리 방법을 설명하기 위한 캐쉬제어장치의 블록도이다.
도 2는 도 1의 캐쉬제어장치에서 각 캐쉬블록을 할당하여 플래쉬 메모리의 섹터 데이터를 저장하는 루틴을 설명하기 위한 흐름도이다.
도 3은 도 1의 캐쉬제어장치에서 캐쉬교환정책을 설명하기 위한 흐름도이다.
도 4는 도 1의 캐쉬제어장치에서의 캐쉬플러쉬를 설명하기 위한 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
10 ... 동적캐쉬블록부, 12 ... 고정캐쉬블록부
14 ... 캐쉬교환정책부, 16 ... 캐쉬제어부
101 ... 동적캐쉬블록, 121 ... 고정캐쉬블록

Claims (3)

  1. 복수의 캐쉬블록을 플래쉬 메모리의 변경할 섹터 데이터 부분을 저장하기 위한 복수의 동적 캐쉬블록과 FAT 부분을 저장하기 위한 복수의 고정캐쉬블록으로 할당하여 각각 상기 캐쉬블록에 복사하는 제1과정;
    상기 복사된 복수의 동적캐쉬블록 중 비어 있는 캐쉬블록이 없는 경우 특정 교환정책에 따라 상기 동적캐쉬블록 중 데이터 변경 처리가 완료된 캐쉬 블록을 교환하는 제 2과정; 및
    소정 주기로 상기 모든 동적 및 고정캐쉬블록을 상기 플래쉬 메모리의 대응되는 섹터에 저장하는 제3과정을 포함함을 특징으로 하는 플래쉬 메모리를 파일 시스템으로 라이트하기 위한 캐쉬처리 방법.
  2. 제 1항에 있어서, 상기 제3과정에서 상기 동적캐쉬블록의 데이터는 상기 플래쉬 메모리에 저장시킨 후 해당 동적캐쉬블록의 데이터를 클리어시킴을 특징으로 하는 플래쉬 메모리를 파일 시스템으로 라이트하기 위한 캐쉬처리 방법.
  3. 제 1항에 있어서, 상기 제2과정의 특정 교환정책은 상기 동적캐쉬 블록의 업데이트된 데이터를 상기 플래쉬 메모리의 해당 섹터에 저장하고, 변경하고자 하는 플래쉬 메모리의 섹터 데이터를 해당 동적 캐쉬블록에 복사하는 과정임을 특징으로 하는 플래쉬 메모리를 파일 시스템으로 라이트하기 위한 캐쉬처리 방법.
KR10-2003-0095528A 2003-12-23 2003-12-23 플래쉬 메모리를 파일 시스템으로 라이트하기 위한캐쉬처리 방법 KR100514756B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0095528A KR100514756B1 (ko) 2003-12-23 2003-12-23 플래쉬 메모리를 파일 시스템으로 라이트하기 위한캐쉬처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0095528A KR100514756B1 (ko) 2003-12-23 2003-12-23 플래쉬 메모리를 파일 시스템으로 라이트하기 위한캐쉬처리 방법

Publications (2)

Publication Number Publication Date
KR20050065715A true KR20050065715A (ko) 2005-06-30
KR100514756B1 KR100514756B1 (ko) 2005-09-14

Family

ID=37256872

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0095528A KR100514756B1 (ko) 2003-12-23 2003-12-23 플래쉬 메모리를 파일 시스템으로 라이트하기 위한캐쉬처리 방법

Country Status (1)

Country Link
KR (1) KR100514756B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100755702B1 (ko) * 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 동작방법
KR100755700B1 (ko) * 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법
KR100816120B1 (ko) * 2006-12-27 2008-03-21 주식회사 하이닉스반도체 불휘발성 메모리 장치의 블록간 데이터 교환 방법
KR100988388B1 (ko) * 2009-04-20 2010-10-18 성균관대학교산학협력단 플래시 메모리 장치의 성능 향상 방법 및 이를 수행하는 플래시 메모리 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101072528B1 (ko) 2009-08-14 2011-10-11 주식회사 휴원 플래시 메모리의 블록정보 관리방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100755702B1 (ko) * 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 동작방법
KR100755700B1 (ko) * 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법
US7716422B2 (en) 2005-12-27 2010-05-11 Samsung Electronics Co., Ltd. Storage apparatus and method for using a non-volatile cache memory organized into stationary and non-stationary circular regions
US7774541B2 (en) 2005-12-27 2010-08-10 Samsung Electronics Co., Ltd. Storage apparatus using non-volatile memory as cache and method of managing the same
KR100816120B1 (ko) * 2006-12-27 2008-03-21 주식회사 하이닉스반도체 불휘발성 메모리 장치의 블록간 데이터 교환 방법
KR100988388B1 (ko) * 2009-04-20 2010-10-18 성균관대학교산학협력단 플래시 메모리 장치의 성능 향상 방법 및 이를 수행하는 플래시 메모리 장치

Also Published As

Publication number Publication date
KR100514756B1 (ko) 2005-09-14

Similar Documents

Publication Publication Date Title
JP5031849B2 (ja) フラッシュメモリのブロック管理方法
JP4518951B2 (ja) 不揮発性記憶システムにおける自動損耗均等化
KR100914089B1 (ko) 비휘발성 저장 시스템의 소거 카운트 유지 방법 및 장치
KR101110901B1 (ko) 비-휘발성 저장 시스템의 소모 레벨링
EP1561168B1 (en) Method and apparatus for splitting a logical block
US6871259B2 (en) File system including non-volatile semiconductor memory device having a plurality of banks
KR100910680B1 (ko) 소거 카운트 블록을 유지하는 방법 및 장치
US7529882B2 (en) Dynamic volume management for flash memories
US7174440B2 (en) Method and apparatus for performing block caching in a non-volatile memory system
KR100849221B1 (ko) 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치
US8386713B2 (en) Memory apparatus, memory control method, and program
KR20050059314A (ko) 비휘발성 저장 시스템들에서 가장 자주 소거되는 블록들의추적
KR20060090087A (ko) 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템
KR20050067203A (ko) 비휘발성 저장 시스템의 평균 소거 카운트 유지 방법 및장치
WO2011068109A1 (ja) 記憶装置、およびメモリコントローラ
US20190095100A1 (en) Block Clearing Method
KR100787856B1 (ko) 플래시 메모리 저장장치의 페이지 교체 방법
TWI450271B (zh) 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
JP2010538385A (ja) セクタの集合を利用したキャッシュ運用方法及びキャッシュ装置
US20060206668A1 (en) Data processing system and data decompression method
JP5687649B2 (ja) 半導体記憶装置の制御方法
US20130138910A1 (en) Information Processing Apparatus and Write Control Method
KR100514756B1 (ko) 플래쉬 메모리를 파일 시스템으로 라이트하기 위한캐쉬처리 방법
JP4235646B2 (ja) メモリコントローラおよびフラッシュメモリシステム
JP4558054B2 (ja) メモリシステム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee