CN101692211A - 一种Flash数据管理方法 - Google Patents

一种Flash数据管理方法 Download PDF

Info

Publication number
CN101692211A
CN101692211A CN200910034904A CN200910034904A CN101692211A CN 101692211 A CN101692211 A CN 101692211A CN 200910034904 A CN200910034904 A CN 200910034904A CN 200910034904 A CN200910034904 A CN 200910034904A CN 101692211 A CN101692211 A CN 101692211A
Authority
CN
China
Prior art keywords
block
data
flash
working area
page
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN200910034904A
Other languages
English (en)
Other versions
CN101692211B (zh
Inventor
朱小茅
丁铁英
濮国亮
吴俊辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WUXI XIANDI DEBAO ELECTRONIC CO., LTD.
Original Assignee
CHAORUI MICROELECTRONICS Co Ltd SUZHOU
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 CHAORUI MICROELECTRONICS Co Ltd SUZHOU filed Critical CHAORUI MICROELECTRONICS Co Ltd SUZHOU
Priority to CN200910034904.5A priority Critical patent/CN101692211B/zh
Publication of CN101692211A publication Critical patent/CN101692211A/zh
Application granted granted Critical
Publication of CN101692211B publication Critical patent/CN101692211B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明是一种针对Flash应用的数据管理方法,具体而言,就是通过从目标Flash空间分配出若干Block作为暂存区,对Flash做连续地址多扇区写入操作时,如果中间插入对其他扇区地址的读或写操作,并且数据缓冲区尚未写满,则放弃对当前Page的Program操作,并把数据缓冲区的数据保存到暂存区;等到对其他扇区地址的读写操作结束之后,从暂存区中重新装入数据到缓冲区,然后继续上一次的多扇区写入操作。从而,避免了Flash内部因Page未被写满而造成的空间碎片,以及由此碎片造成的Block合并和重整操作,改善了Flash数据写入效率。

Description

一种Flash数据管理方法
技术领域
本发明是一种针对Flash应用的数据管理方法。
背景技术
Flash芯片的广泛应用于诸如U盘、存储卡、MP3、MP4、数码相机、数码摄像机、手机、GPS等等。Flash芯片速度快,集成度高,Flash内部的基本单元是Block,比Block小的单元是Page,通常一个Block由64或128个Page组成,每个Page容量为2K字节。但是,Flash芯片在存取操作上有着特定的要求,写过的单元必须擦除之后才能再次写入新的内容。写入编程操作(Program)是以Page为单位,但是擦除操作(Erase)则是以Block为单位,这个特点决定了Flash中的数据写入要有一定的管理方法。
建立在Flash芯片上面的文件系统通常是FAT/FAT32(下面统称为FAT)格式。在FAT文件系统中,对文件的写入就有这样的特点,即每写入一个文件就要操作一次FAT表。每个文件的写入都是多个连续扇区的写入,当我们写入多个文件时,一般情况下,其扇区地址是连续的,但是这种连续扇区的操作会被中间对FAT表的操作所打断。对目标Flash而言,就是一次完整的连续多扇区写入操作被分成了几段。通常的算法实现中,一旦遇到地址不连续的情况,不管当前缓冲区是否写满,都会对当前Page数据进行Program,然后转到FAT表的扇区进行操作。如果当前缓冲区尚未被写满,这样就会在当前Page留下了空间碎片,也就是说,当前Block在该Page上损失了一点空间,当这个Block再次被操作并且被写满的时候,就会因为前面的Page存在空间碎片而导致最后几个扇区没有空间而无法写入,此时必须对该Block进行Page数据重整,或者先写入到一个临时Block中。如果写入到临时Block中,可能会因为其他Block的写入也要用到这个临时Block而要求原始Block和临时Block之间进行合并。不论是合并抑或是重整操作都会带来效率上一定程度的下降。
因此,针对上述不足,本发明提供了一种Flash数据管理方法,通过这个方法,从目标Flash空间分配出若干Block作为暂存区,对Flash做连续地址多扇区写入操作时,如果中间插入对其他扇区地址的读或写操作,并且数据缓冲区尚未写满,则放弃对当前Page的Program操作,并把数据缓冲区的数据保存到暂存区;等到对其他扇区地址的读写操作结束之后,从暂存区中重新装入数据到缓冲区,然后继续上一次的多扇区写入操作。从而,避免了Flash内部因Page未被写满而造成的空间碎片,以及由此碎片造成的Block合并和重整操作,改善了Flash数据写入效率。
发明内容
为了以上目的,本发明提供了一种Flash数据管理方法,该方法包括:
1、对目标Flash空间划分出若干Block组成暂存区,用于暂存数据缓冲器中的数据;对Flash做若干次连续地址多扇区写入操作时,如果扇区地址始终保持连续,则不操作暂存区;对Flash做若干次连续地址多扇区写入操作时,如果中间插入对其他扇区地址的读或写操作,并且数据缓冲区尚未写满,则放弃对当前Page的Program操作,并把数据缓冲区的数据保存到暂存区,等到对其他扇区地址的读写操作结束之后,从暂存区中重新装入数据到缓冲区,然后继续下一次的连续地址多扇区写入操作;
2、目标Flash中的暂存区可以按照Page循环使用,也可以按照Block循环使用;按照Page循环使用时,始终用同一个Block的Page直到该Block变成Bad Block,Page循环一次之后擦除该Block,该Block成为Bad Block之后,在暂存区中找一个新的Block来使用;按照Block循环使用时,则对暂存区中的多个Block的多个Page进行循环使用,某个Block变成Bad Block之后,可以在暂存区中找一个新Block来替换,或者剔除该Bad Block。
附图说明
在本发明专利申请的权利要求书中,具体地指出了本发明的主题,并清楚地对其提出了专利保护。然而参照说明和附图,可以更好的理解本发明的有关结构和实现方法以及其目的、特征和优势。
图1暂存区Block暂存操作前示意图;
图2暂存区Block暂存操作后示意图;
虽然此处说明描述了本发明的某些特征及一种实现方法,但是对于本专业的技术人员来说,将会出现许多修改、替换、变化和等效代换。因此,本发明的保护范围以所附的权利要求的范围为准。

Claims (1)

1.一种Flash数据管理方法,该方法具有如下特征:
1)、对目标Flash空间划分出若干Block组成暂存区,用于暂存数据缓冲器中的数据;对Flash做若干次连续地址多扇区写入操作时,如果扇区地址始终保持连续,则不操作暂存区;对Flash做若干次连续地址多扇区写入操作时,如果中间插入对其他扇区地址的读或写操作,并且数据缓冲区尚未写满,则放弃对当前Page的Program操作,并把数据缓冲区的数据保存到暂存区,等到对其他扇区地址的读写操作结束之后,从暂存区中重新装入数据到缓冲区,然后继续下一次的连续地址多扇区写入操作;
2)、目标Flash中的暂存区可以按照Page循环使用,也可以按照Block循环使用;按照Page循环使用时,始终用同一个Block的Page直到该Block变成Bad Block,Page循环一次之后擦除该Block,该Block成为Bad Block之后,在暂存区中找一个新的Block来使用;按照Block循环使用时,则对暂存区中的多个Block的多个Page进行循环使用,某个Block变成Bad Block之后,可以在暂存区中找一个新Block来替换,或者剔除该Bad Block。
CN200910034904.5A 2009-09-15 2009-09-15 一种Flash数据管理方法 Expired - Fee Related CN101692211B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910034904.5A CN101692211B (zh) 2009-09-15 2009-09-15 一种Flash数据管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910034904.5A CN101692211B (zh) 2009-09-15 2009-09-15 一种Flash数据管理方法

Publications (2)

Publication Number Publication Date
CN101692211A true CN101692211A (zh) 2010-04-07
CN101692211B CN101692211B (zh) 2011-08-10

Family

ID=42080902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910034904.5A Expired - Fee Related CN101692211B (zh) 2009-09-15 2009-09-15 一种Flash数据管理方法

Country Status (1)

Country Link
CN (1) CN101692211B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136071A (zh) * 2011-12-01 2013-06-05 晨星软件研发(深圳)有限公司 电子系统及其存储器管理方法
CN106126437A (zh) * 2015-05-07 2016-11-16 爱思开海力士有限公司 存储系统
CN112579004A (zh) * 2020-12-17 2021-03-30 杭州艾芯智能科技有限公司 快速删除flash数据的方法、系统、计算机设备及存储介质
CN115639971A (zh) * 2022-12-12 2023-01-24 北京集度科技有限公司 数据写入方法、装置、电子设备、存储介质及程序产品

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
CN100507873C (zh) * 2006-08-09 2009-07-01 华为技术有限公司 一种闪存中的flash文件的管理方法及系统
CN101441596B (zh) * 2007-11-21 2013-05-01 深圳市朗科科技股份有限公司 提高闪存介质读写速度的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136071A (zh) * 2011-12-01 2013-06-05 晨星软件研发(深圳)有限公司 电子系统及其存储器管理方法
CN106126437A (zh) * 2015-05-07 2016-11-16 爱思开海力士有限公司 存储系统
CN112579004A (zh) * 2020-12-17 2021-03-30 杭州艾芯智能科技有限公司 快速删除flash数据的方法、系统、计算机设备及存储介质
CN115639971A (zh) * 2022-12-12 2023-01-24 北京集度科技有限公司 数据写入方法、装置、电子设备、存储介质及程序产品

Also Published As

Publication number Publication date
CN101692211B (zh) 2011-08-10

Similar Documents

Publication Publication Date Title
CN101627373B (zh) 通过预擦除机制的存储器设备性能增强
US9645894B2 (en) Data storage device and flash memory control method
CN102713866B (zh) 减少基于闪存的存储系统中的存取争用
US8874826B2 (en) Programming method and device for a buffer cache in a solid-state disk system
US8671239B2 (en) Nonvolatile memory apparatus for performing wear-leveling and method for controlling the same
CN101625897B (zh) 用于快闪存储器的数据写入方法、储存系统与控制器
CN104298606A (zh) 固态存储装置中垃圾搜集动作的控制方法
CN101819509A (zh) 一种固态硬盘读写方法
CN102841851A (zh) 闪存管理方法和闪存设备
CN104572478A (zh) 数据存取方法和数据存取装置
US20120166709A1 (en) File system of flash memory
CN101908368A (zh) 电子存储装置及其操作方法
US20140328127A1 (en) Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same
US20120179859A1 (en) Nonvolatile memory apparatus performing ftl function and method for controlling the same
CN101661431B (zh) 用于快闪存储器的区块管理方法、快闪储存系统及控制器
CN101425342B (zh) 针对NAND Flash冗余码的存取方法
US20220066641A1 (en) Write management on flash memory
CN101692211B (zh) 一种Flash数据管理方法
US20130138910A1 (en) Information Processing Apparatus and Write Control Method
US9304906B2 (en) Memory system, controller and control method of memory
CN105630410A (zh) 使用非易失随机读写存储芯片动态管理文件存储区的方法
CN107678679B (zh) 运用于固态储存装置的超级区块的扫描方法
US11023170B2 (en) Writing method for multi-stream write solid state drive
CN105630697A (zh) 一种利用mram存储小文件的存储结构
US9092344B2 (en) Solid state drive

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: Ying Xiaoping

Inventor after: Pu Guoliang

Inventor before: Zhu Xiaomao

Inventor before: Ding Tieying

Inventor before: Pu Guoliang

Inventor before: Wu Junhui

CB03 Change of inventor or designer information
TR01 Transfer of patent right

Effective date of registration: 20170308

Address after: 214135 Jiangsu province Wuxi city Wuxi District Taihu international science and Technology Park Linghu Road No. 200 China International Innovation Park F1-A sensor network

Patentee after: WUXI XIANDI DEBAO ELECTRONIC CO., LTD.

Address before: 215011 Suzhou Province, Jiangsu New District Tower Road, No. 136, science and Technology Park A103

Patentee before: Chaorui Microelectronics Co., Ltd., Suzhou

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110810

Termination date: 20190915

CF01 Termination of patent right due to non-payment of annual fee