CN1937077B - 闪存介质中的数据多状态管理方法 - Google Patents

闪存介质中的数据多状态管理方法 Download PDF

Info

Publication number
CN1937077B
CN1937077B CN2005100375357A CN200510037535A CN1937077B CN 1937077 B CN1937077 B CN 1937077B CN 2005100375357 A CN2005100375357 A CN 2005100375357A CN 200510037535 A CN200510037535 A CN 200510037535A CN 1937077 B CN1937077 B CN 1937077B
Authority
CN
China
Prior art keywords
data
status indication
data block
flash
state
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.)
Expired - Fee Related
Application number
CN2005100375357A
Other languages
English (en)
Other versions
CN1937077A (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.)
Konka Group Co Ltd
Original Assignee
Konka Group Co Ltd
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 Konka Group Co Ltd filed Critical Konka Group Co Ltd
Priority to CN2005100375357A priority Critical patent/CN1937077B/zh
Publication of CN1937077A publication Critical patent/CN1937077A/zh
Application granted granted Critical
Publication of CN1937077B publication Critical patent/CN1937077B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种闪存介质中的数据多状态管理方法,所述闪存介质中的数据块设置有状态标记,该状态标记由字节变量来表示,该状态标记的位数根据数据的状态多少来确定,将数据块的起始状态标记设置为位1最多的数字,以后每次状态改变,则减少标记中的位“1”。本发明的闪存介质中的数据多状态管理方法使得闪存数据在多状态变换时,可以在原地改写标记,不需要搬动数据块,从而提高了闪存数据的存储效率。

Description

闪存介质中的数据多状态管理方法
技术领域
本发明涉及半导体存储领域,尤其涉及一种闪存介质中的数据多状态管理方法。
背景技术
闪存(Flash Memory),就其本质而言,属于EEPROM(电擦除可编程只读存储器)类型。常用的闪存介质有nand flash和nor flash两种,他们都将存储空间划分为多个特定大小的擦除块,如16KB、64KB等;执行擦除操作时一次性将一个擦除块的位全部置为“1”,执行写操作时可以将单个位的“1”写为“0”,但不可以将“0”写成“1”;所以通常的写闪存动作要先擦除整个擦除块原来的内容,再写入新的数据;闪存介质的擦除次数是有限的,同一个块的最大擦除次数在10万次到100万次左右。
在写数据操作上,nand flash与nor flash有所不同的是,nand flash将擦除块划分为多个固定大小的页,一个典型的例子是将大小为16KB的擦除块划分为32个页,每页有512B YTE的数据存储区,而且每页附加一个16字节的冗余区,由于nandflash在读写过程中存在“位翻转”的情况,所以nand flash每次在写一整页数据的时候同时生成ECC校验码存放在冗余区,读取数据时同时利用这个校验码进行校验。
***在使用闪存介质存储数据时,为了实现掉电恢复、逻辑扇区映射等功能,通常会对逻辑划分的数据块添加一个状态标记,当数据块状态改变时,改写此标记。
标记内容如果随意设置的话,由于闪存介质对局部数据的写操作只能由位“1”写到位“0”,改写标记可能会使当前数据块无效,甚至整块的擦除,使得整个***的效率下降。
***在使用闪存介质存储数据时,通常会将数据划分为较小的数据块,在管理数据块的修改、删除时,会改变数据块的状态,如有效、无效、空闲、正在修改、正在删除等;例如要删除一个数据块,就要将该数据块的状态标记从有效改写为无效。如果状态标记设置的不当,又从“0”写到“1”,按照闪存的读写特点,不能在原地改写,要么将整个数据块改写到其它空白位置,要么擦除整个块之后再写入新的状态标记,这两种方法都执行了多余的擦除操作,降低了***的速度,也降低了闪存的使用寿命。
发明内容
本发明所要解决的技术问题在于提供一种闪存介质中的数据多状态管理方法,其使得闪存数据在多状态变换时,可以在原地改写标记,不需要搬动数据块,提高了闪存数据的存储效率。
为解决上述技术问题,本发明所采用的技术方案是:提供一种闪存介质中的数据多状态管理方法,所述闪存介质中的数据块设置有状态标记,该状态标记由字节变量来表示,该状态标记的位数根据数据的状态多少来确定,将数据块的起始状态标记设置为位1最多的数字,以后每次状态改变,则减少标记中的位“1”,直到状态标记为0;对于用二进制数字表示状态标记的具体表现为:将状态标记11111111改为11111110,当数据块空闲时,则将状态标记11111110改为11111100,当数据块正在修改时,则将状态标记11111100改为11111000,当数据块正在删除时,则将状态标记11111000改为11110000,以此类推,直到状态标记为0。
本发明的有益效果是:由于本发明的闪存介质中的数据多状态管理方法将数据块的起始状态标记设置为位1最多的数字,以后每次状态改变,则减少标记中的位“1”,从而使得闪存数据在多状态变换时,可以在原地改写标记,不需要搬动数据块,从而提高了闪存数据的存储效率。
附图说明
图1是nor flash上数据块的状态标记的示意图。
图2是nand flash上数据块的状态标记的示意图。
图3是状态标记转换的示意图。
具体实施方式
本发明闪存介质中的数据多状态管理方法包括:根据数据的状态多少确定状态标记的位数,一个字节最多可标记9种状态;将不同状态的标记内容从全位“1”开始,每次转换减少一位“1”,直到全为“0”。从而使得闪存数据在多状态变换时,可以在原地改写标记,不需要搬动数据块,因此提高了闪存数据的存储效率。
对于nor flash,它在数据块擦除以后,在数据块内任意位置可以进行写操作,由“1”写到“0”,所以它的数据块标记可以放在任意位置,通常会在逻辑上划分出“扇区”的概念,如每个扇区大小512字节,扇区状态标记紧随在扇区数据之后。图1是nor flash上数据块的状态标记的示意图,flag就是状态标记,长度可以任意定义。
对于nand flash,由于要使用ECC校验,一个页要一次性写完,所以数据块状态标记要放在冗余区的保留位置上,通常冗余区大小为16字节,前8字节用做ECC校验、坏块标记等用途,后8字节保留,可以自定义使用,我们就将状态标记放在这里。图2是nand flash上数据块的状态标记的示意图,flag是状态标记,长度不超过8字节。
由于闪存的写操作只能从“1”写到“0”,所以我们可以将数据块的起始状态设置为位1最多的数字,以后每次状态改变,减少一位标记中的“1”,直到全为“0”。这样,每次改写标记时就可以在原地改写,不需要额外的擦除操作,提高了***的整体效率。
举例说明,状态标记用单字节变量表示,初始状态为0xff,后续状态分别用0xfe、0xfc、0xf8、0xf0、0xe0、0xc0、0x80、0x00表示,这样改写状态标记时,全都是从“1”写到“0”,就可以在原地改写。改写过程示意图如图3,图中是以二进制数字表示状态标记的。
当然,如果数据状态过多,也可以用多字节变量表示状态标记,这样就可以表示更多的状态;也可以在状态较少时,状态标记不使用字节变量中间的一些数值,如只使用0x0f、0x0c、0x00表示3种状态;更或者,每次状态改写减少的“1”的位置不同,如从0xff减少一位“1”,就可以用以下数值替代0xfe:0xfd、0xfb、0xf7、0xef、0xdf、0xbf、0x7f。

Claims (8)

1.一种闪存介质中的数据多状态管理方法,所述闪存介质中的数据块设置有状态标记,其特征在于:该状态标记由字节变量来表示,该状态标记的位数根据数据的状态多少来确定,将数据块的起始状态标记设置为位1最多的数字,以后每次状态改变,则减少标记中的位“1”,直到状态标记为0;对于用二进制数字表示状态标记的具体表现为:将状态标记11111111改为11111110,当数据块空闲时,则将状态标记11111110改为11111100,当数据块正在修改时,则将状态标记11111100改为11111000,当数据块正在删除时,则将状态标记11111000改为11110000,以此类推,直到状态标记为0。
2.如权利要求1所述的闪存介质中的数据多状态管理方法,其特征在于:对于nand flash,数据块状态标记放在冗余区上。
3.如权利要求2所述的闪存介质中的数据多状态管理方法,其特征在于:该冗余区大小为16字节,前8字节用作ECC校验、坏块标记,后8字节用作数据块的状态标记。
4.如权利要求1所述的闪存介质中的数据多状态管理方法,其特征在于:对于nor flash,数据块状态标记可以放在任意位置。
5.如权利要求4所述的闪存介质中的数据多状态管理方法,其特征在于:对于nor flash上数据块的状态标记的长度可以任意定义。
6.如权利要求1所述的闪存介质中的数据多状态管理方法,其特征在于:如果数据的状态不超过9种,则状态标记可用单字节变量表示,如果数据的状态超过9种,则用多字节变量表示状态标记。
7.如权利要求6所述的闪存介质中的数据多状态管理方法,其特征在于:如果数据的状态较少,则状态标记不使用字节变量中间的一些数值。
8.如权利要求6所述的闪存介质中的数据多状态管理方法,其特征在于:每次状态改写时减少的标记中的“1”的位置不同。
CN2005100375357A 2005-09-22 2005-09-22 闪存介质中的数据多状态管理方法 Expired - Fee Related CN1937077B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2005100375357A CN1937077B (zh) 2005-09-22 2005-09-22 闪存介质中的数据多状态管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2005100375357A CN1937077B (zh) 2005-09-22 2005-09-22 闪存介质中的数据多状态管理方法

Publications (2)

Publication Number Publication Date
CN1937077A CN1937077A (zh) 2007-03-28
CN1937077B true CN1937077B (zh) 2011-03-23

Family

ID=37954520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100375357A Expired - Fee Related CN1937077B (zh) 2005-09-22 2005-09-22 闪存介质中的数据多状态管理方法

Country Status (1)

Country Link
CN (1) CN1937077B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625889B (zh) * 2009-07-29 2013-09-18 深圳国微技术有限公司 管脚可重定义的存储器及其保护方法
WO2013078676A1 (zh) * 2011-12-02 2013-06-06 华为技术有限公司 一种Nand Flash页的检测方法和装置
CN112347002B (zh) * 2020-11-13 2023-07-28 杭州芯炬视人工智能科技有限公司 flash数据的保存方法、***、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966720A (en) * 1992-02-20 1999-10-12 Fujitsu Limited Flash memory accessed using only the logical address
CN1645516A (zh) * 2004-01-19 2005-07-27 三星电子株式会社 用于闪速存储器的数据恢复设备和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966720A (en) * 1992-02-20 1999-10-12 Fujitsu Limited Flash memory accessed using only the logical address
CN1645516A (zh) * 2004-01-19 2005-07-27 三星电子株式会社 用于闪速存储器的数据恢复设备和方法

Also Published As

Publication number Publication date
CN1937077A (zh) 2007-03-28

Similar Documents

Publication Publication Date Title
CN102043727B (zh) 恢复固态硬盘映射表的方法及其装置
CN101493794B (zh) 一种闪存数据处理方法及装置
CN100356347C (zh) 闪存的安全写入方法
CN100527097C (zh) 存储器***以及写入非易失性半导体存储器中的方法
CN101320594B (zh) 一种闪存芯片的物理操作方法
US8214578B2 (en) Method of storing data into flash memory according to usage patterns of addresses and data storage system using the same
CN100580811C (zh) 一种闪存装置的脏块回收方法
CN101634967B (zh) 用于闪存的区块管理方法、储存***与控制器
US20100082878A1 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method
CN104063186A (zh) 一种电子设备的数据访问方法
CN109558335B (zh) 一种基于Nor Flash存储器的嵌入式***的文件存储格式
CN101436158A (zh) 一种基于嵌入式设备闪存的参数管理方法和***
CN104317671A (zh) 一种提升非易失存储使用寿命的掉电数据保存恢复算法
CN1937077B (zh) 闪存介质中的数据多状态管理方法
CN100465910C (zh) 对产品中闪存数据的防错、纠错方法
CN103885889A (zh) 一种基于nor flash的数据存储方法及***
TWI435216B (zh) 用來進行超區塊管理之方法以及記憶裝置及控制器
CN100456263C (zh) 在税控收款机中使用闪存时处理坏块的方法
CN113778907A (zh) 存储设备
CN101425334A (zh) 一种实现nor flash坏块管理的方法及其控制电路
CN102521146A (zh) 一种flash存储器块细分的数据寻址存储方法
CN101526922A (zh) 一种闪存的数据存取方法及装置
CN201156432Y (zh) 一种实现nor flash坏块管理的控制电路
CN101887750A (zh) 一种利用Flash存储器进行动态数据存储的方法
CN105677244A (zh) 一种降低tlc闪存的固态硬盘写放大的方法

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110323

Termination date: 20180922

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