CN101853212B - 数据写入方法、数据读取方法和数据存储器 - Google Patents

数据写入方法、数据读取方法和数据存储器 Download PDF

Info

Publication number
CN101853212B
CN101853212B CN2009101326587A CN200910132658A CN101853212B CN 101853212 B CN101853212 B CN 101853212B CN 2009101326587 A CN2009101326587 A CN 2009101326587A CN 200910132658 A CN200910132658 A CN 200910132658A CN 101853212 B CN101853212 B CN 101853212B
Authority
CN
China
Prior art keywords
sector
data
byte
bytes
sevtor address
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
CN2009101326587A
Other languages
English (en)
Other versions
CN101853212A (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.)
Shenzhen Chipsbank Technology Co., Ltd.
Original Assignee
CHIPSBANK TECHNOLOGY (SHENZHEN) 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 CHIPSBANK TECHNOLOGY (SHENZHEN) Co Ltd filed Critical CHIPSBANK TECHNOLOGY (SHENZHEN) Co Ltd
Priority to CN2009101326587A priority Critical patent/CN101853212B/zh
Publication of CN101853212A publication Critical patent/CN101853212A/zh
Application granted granted Critical
Publication of CN101853212B publication Critical patent/CN101853212B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了数据写入方法、数据读取方法和数据存储器方法,本发明实施例采用将每一个扇区地址标识至少两个扇区;并将每一个扇区的地址按照对应的扇区数目进行分割,并将分割后的地址分片分别写入对应的至少两个扇区,每个扇区保存部分扇区地址,可以释放更多的空间为ECC码使用,使得ECC纠错的能力大大提高。

Description

数据写入方法、数据读取方法和数据存储器
技术领域
本发明涉及数据存储技术领域,具体涉及数据写入方法、数据读取方法和数据存储器。
背景技术
闪存(Flash)是我们日常生活中的常见非易失性存储器,资料储存型闪存(Nand Flash)是一种新型的Flash,,Nand Flash由多个块组成,一个块由多个页组成,一个页可分为一个或多个扇区(一般一个扇区为512个字节)。一个页的大小由数据存储空间+冗余空间组成。Nand Flash的操作是以一个块为擦除单位,以一个页为写入单位。按照磁盘驱动器在向磁盘读取和写入数据时,要以扇区为单位的特性,我们在使用以Nand Flash为存储介质时,也以扇区为单位进行操作,我们都能识别,所以需要在扇区的冗余字段中写入扇区地址,以保证数据的寻址。
扇区的冗余字段中还保存扇区保存的数据对应的错误检查和纠正(ErrorChecking and Correcting,ECC)码,以实现对数据的纠错,纠错能力(纠错位数)与ECC码的位数是成正比的。
现在一般的Nand Flash页的使用是按扇区来划分,每个扇区都有冗余,冗余存储两种数据,一是扇区的地址,二是ECC码。一般一个扇区地址需要四个字节,ECC每纠错一个位需要13位的ECC码。以一个2K字节/页的FLASH为例,一个页的所有冗余字节数为64字节,平分到每个扇区的冗余字节数据为16字节,除去扇区地址,这样冗余只有12字节给ECC码使用,按ECC每纠错一个位需要13位的ECC码,即(12*8)/13取整,从而只有7个位每扇区的ECC纠错能力。当出现错误较多的时,经常出现无法实现ECC纠错的情况。
发明内容
本发明实施例提供数据写入方法、数据读取方法和数据存储器,可以提高对数据的ECC纠错能力。
本发明实施例提供的一种数据写入方法,包括:
存储器接收待写入数据对应的扇区地址;所述每一个扇区地址标识至少两个扇区;
接收待写入数据,根据所述扇区地址将待写入数据写入对应的扇区;
将所述每一个扇区的地址按照对应的扇区数目进行分割,并将分割后的地址分片分别写入对应的至少两个扇区;
将错误检查和纠正ECC码写入所述每个扇区的冗余字段中。
本发明实施例提供的一种数据读取方法,包括:
获取待读取数据对应的扇区地址,所述每一个扇区地址标识至少两个扇区;
根据所述扇区地址读取对应的至少两个扇区内的数据;
根据扇区冗余字段存储的ECC码对数据进行错误纠正检查。
本发明实施例提供的一种数据存储器,包括:
存储控制器,用于接收读/写命令,对存储单元进行数据的读/写操作;
存储单元,用于保存所述存储控制单元写入的数据;所述存储单元内每连续的至少两个扇区用一个扇区地址标识;所述扇区地址按照扇区地址对应的扇区数目进行划分,所述至少两个扇区分别保存所述扇区地址的部分地址分片。
本发明实施例采用将每一个扇区地址标识至少两个扇区;并将每一个扇区的地址按照对应的扇区数目进行分割,并将分割后的地址分片分别写入对应的至少两个扇区,每个扇区保存部分扇区地址,可以释放更多的空间为ECC码使用,使得ECC纠错的能力大大提高。
附图说明
图1是本发明实施例一数据存储方法的流程图;
图2是本发明实施例一中扇区冗余字段的示意图;
图3是是本发明实施例二数据读取方法的流程图;
图4是本发明实施例三数据存储器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供数据写入方法、数据读取方法和数据存储器,以下分别进行详细说明。
实施例一、一种数据写入方法,流程图如图1所示,包括:
A1,存储器接收待写入数据对应的扇区地址,所述每一个扇区地址标识至少两个扇区;
可以理解,每个扇区地址标识的扇区个数可以根据具体情况进行选择,考虑的因素可以包括:空间的利用(一个扇区地址标识的扇区个数越多,在写入小数据时,浪费的空间越多),资源的占用等因素。
对于一个扇区地址标识两个扇区的情况,所述根据所述扇区地址将待写入数据写入对应的扇区的过程包括:
将数据所述扇区地址对应的数据写入所述两个扇区的第一个扇区里,将所述数据的剩余部分写入所述两个扇区的第二个扇区里。本实施例中,所述扇区地址用4个字节,当然扇区的地址的长度与存储空间大小有关系,存储空间越多,则需要更大的扇区地址的寻址范围,则扇区地址则越长。
A2,接收待写入数据,根据所述扇区地址将待写入数据写入对应的扇区;
A3,将所述每一个扇区的地址按照对应的扇区数目进行分割,并将分割后的地址分片分别写入对应的至少两个扇区;
一个扇区地址标识两个扇区的情况下,对于一个4字节的扇区地址,进行扇区地址的分割,也写入地址分片可以采用以下方式:
将扇区地址分割为高2字节和低2字节;
将高2字节写入所述第一个扇区的冗余中;将所述第二字节写入所述第二扇区的冗余中。
A4,将错误检查和纠正ECC码写入所述每个扇区的剩余冗余字段中。
可以理解,本实施例中,步骤A2~步骤A4数据的写入并无绝对顺序;具体的执行顺序可以依据应用环境进行选择。
本发明实施例中,可以在每一个扇区内存储数据存储状态标识;数据存储状态标识可以用1个字节或者1个位来表示;
当扇区内存在数据时,将扇区内的数据存储状态标识,置为有效状态;当扇区内不存在数据时,将所述扇区内的数据存储状态标识,置为无效状态。上层管理通过该存储状态标识对该扇区内数据的存储状态进行识别。
如图2所示,是本实施例中,数据写入完成后,存储器中第N个扇区和第N+1个扇区对应的16字节冗余的示意图,其中字节0和字节1存储扇区地址分片(本例中是低两字节或者高两字节),字节2为存储状态标识,字节3至字节15用于保存ECC码,由于ECC码由12字节扩充到了13字节,因此可以纠错8位。
实施例二、一种数据读取方法,流程如图3所示,包括:
B1,获取待读取数据对应的扇区地址,所述每一个扇区地址标识至少两个扇区;
B2,根据所述扇区地址读取对应的至少两个扇区内的数据;
以每一个扇区地址标识两个扇区为例,读取数据的过程可以为:
查找扇区地址对应的两个扇区;依次读取两个扇区内的数据。
依次读取两个扇区内的数据的过程包括:
获取第一个扇区内的数据存储状态标识,若所述第一个扇区内的数据存储标识被置为有效状态,则读取第一个扇区的数据;读取完成后,获取第二个扇区内数据存储标识,若所述第二个扇区内的数据存储标识被置为有效状态,则继续读取第二个扇区的数据。
B3,根据扇区冗余字段存储的ECC码对数据进行错误纠正检查。
错误纠正检查的过程可以包括:
判断数据是否有错,如果有错,则扇区冗余字段存储的ECC码对数据进行纠错。
本发明实施例二提供的数据读取方法,可以实现对实施例一中存储的数据的读取和ECC纠错,提高ECC纠错的能力。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、FLASH、磁盘或光盘等。
实施例三、一种数据存储器,结构示意图如图4所示,包括:
存储控制器410,用于接收读/写命令,对存储单元进行数据的读/写操作;
存储单元420,用于保存所述存储控制单元410写入的数据;所述存储单元420内每连续的至少两个扇区用一个扇区地址标识;所述扇区地址按照扇区地址对应的扇区数目进行划分,将划分后的扇区地址分别保存在每个扇区的冗余中。本实施例中,一个扇区地址标识两个扇区或更多的扇区,下面以一个扇区标识两个扇区为例进行说明。
在不设置数据存储状态标识的情况下:
所述存储单元内所述扇区地址标识的每一个扇区包含512字节的数据存储区,有16字节的冗余存储区;所述16字节的冗余存储区中2字节用于存储扇区地址的低/高2字节,14字节用于存储ECC码。
在设置数据存储状态标识的情况下:
所述存储单元内所述扇区地址标识的每一个扇区包含512字节的数据存储区,有16字节的冗余存储区;所述16字节的冗余存储区中2字节用于存储扇区地址的低/高2字节,13字节用于存储ECC码,1字节用于保存数据存储状态标识,所述数据存储状态标识的值用于指示数据存储区是否有数据。
以上对本发明实施例所提供的数据写入方法、数据读取方法和数据存储器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (4)

1.一种数据写入方法,其特征在于,包括:
存储器接收待写入数据对应的扇区地址;所述每一个扇区地址标识至少两个扇区;
接收待写入数据,根据所述扇区地址将待写入数据写入对应的扇区;
将所述每一个扇区的地址按照对应的扇区数目进行分割,并将分割后的地址分片分别写入对应的至少两个扇区;
将错误检查和纠正ECC码写入所述每个扇区的冗余字段中;
所述每一个扇区地址标识两个扇区;
所述根据所述扇区地址将待写入数据写入对应的扇区的过程包括:
将数据所述扇区地址对应的数据写入所述两个扇区的第一个扇区里,将所述数据的剩余部分写入所述两个扇区的第二个扇区里;
所述扇区地址用4个字节表示;
将所述每一个扇区的地址按照对应的扇区数目进行分割,并将分割后的地址分片分别写入对应的至少两个扇区的过程包括:
将扇区地址分割为高2字节和低2字节;
将高2字节写入所述第一个扇区的16字节冗余中的字节0和字节1,将所述低2字节写入所述第二扇区的16字节冗余中的字节0和字节1;
所述第一个扇区的16字节冗余由字节0、字节1、字节2和字节3至字节15组成,所述第二个扇区的16字节冗余由字节0、字节1、字节2和字节3至字节15组成;
所述第一个扇区的字节3至字节15和所述第二个扇区的字节3至字节15均用于保存ECC码。
2.如权利要求1所述的方法,其特征在于,所述每一个扇区包含数据存储状态标识;
当扇区内存在数据时,将扇区内的数据存储状态标识,置为有效状态;当扇区内不存在数据时,将所述扇区内的数据存储状态标识,置为无效状态。
3.一种数据存储器,其特征在于,包括:
存储控制器,用于接收读/写命令,对存储单元进行数据的读/写操作;
存储单元,用于保存所述存储控制单元写入的数据;所述存储单元内每连续的至少两个扇区用一个扇区地址标识;所述扇区地址按照扇区地址对应的扇区数目进行划分,将划分后的扇区地址分别保存在每个扇区的冗余中;
所述一个扇区地址标识两个扇区;
所述存储单元内所述扇区地址标识的每一个扇区包含512字节的数据存储区,有16字节的冗余存储区;所述16字节的冗余存储区中2字节用于存储扇区地址的低/高2字节,14字节用于存储ECC码。
4.一种数据存储器,其特征在于,包括:
存储控制器,用于接收读/写命令,对存储单元进行数据的读/写操作;存储单元,用于保存所述存储控制单元写入的数据;
所述存储单元内每连续的至少两个扇区用一个扇区地址标识;所述扇区地址按照扇区地址对应的扇区数目进行划分,将划分后的扇区地址分别保存在每个扇区的冗余中;
一个扇区地址标识两个扇区;
所述存储单元内所述扇区地址标识的每一个扇区包含512字节的数据存储区,16字节的冗余存储区;所述16字节的冗余存储区中2字节用于存储扇区地址的低/高2字节,13字节用于存储ECC码,1字节用于保存数据存储状态标识,所述数据存储状态标识的值用于指示数据存储区是否有数据。
CN2009101326587A 2009-03-30 2009-03-30 数据写入方法、数据读取方法和数据存储器 Expired - Fee Related CN101853212B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101326587A CN101853212B (zh) 2009-03-30 2009-03-30 数据写入方法、数据读取方法和数据存储器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101326587A CN101853212B (zh) 2009-03-30 2009-03-30 数据写入方法、数据读取方法和数据存储器

Publications (2)

Publication Number Publication Date
CN101853212A CN101853212A (zh) 2010-10-06
CN101853212B true CN101853212B (zh) 2012-11-14

Family

ID=42804715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101326587A Expired - Fee Related CN101853212B (zh) 2009-03-30 2009-03-30 数据写入方法、数据读取方法和数据存储器

Country Status (1)

Country Link
CN (1) CN101853212B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324581B (zh) * 2012-03-23 2016-02-10 群联电子股份有限公司 编程存储单元与数据读取方法、存储器控制器与储存装置
CN104599717B (zh) * 2012-12-31 2017-11-24 苏州国芯科技有限公司 具有纠错功能的闪存数据存储方法
CN103064640B (zh) * 2012-12-31 2015-11-18 苏州国芯科技有限公司 应用于nandflash存储设备的快速读写方法
CN107562655B (zh) * 2017-08-31 2019-01-25 长江存储科技有限责任公司 一种数据存储方法和装置
CN113157490B (zh) * 2021-04-01 2023-12-26 深圳市纽创信安科技开发有限公司 一种芯片内嵌的Flash存储器和存储控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000569A (zh) * 2006-12-29 2007-07-18 福昭科技(深圳)有限公司 一种对多重扇区进行错误修正编码的方法
CN101308702A (zh) * 2007-05-18 2008-11-19 瑞昱半导体股份有限公司 适用于闪存的数据结构及其数据写入方法和数据读取方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000569A (zh) * 2006-12-29 2007-07-18 福昭科技(深圳)有限公司 一种对多重扇区进行错误修正编码的方法
CN101308702A (zh) * 2007-05-18 2008-11-19 瑞昱半导体股份有限公司 适用于闪存的数据结构及其数据写入方法和数据读取方法

Also Published As

Publication number Publication date
CN101853212A (zh) 2010-10-06

Similar Documents

Publication Publication Date Title
US10445231B2 (en) Method and system for storage device metadata management and processing
CN107743617B (zh) 存储器中的带区映射
US9311006B2 (en) Table journaling in flash storage devices
US8713381B2 (en) Systems and methods of using dynamic data for wear leveling in solid-state devices
TWI527037B (zh) 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置
US8266481B2 (en) System and method of wear-leveling in flash storage
US20090222643A1 (en) Block management method for flash memory and controller and storage sysetm using the same
US9213629B2 (en) Block management method, memory controller and memory stoarge apparatus
US9141530B2 (en) Data writing method, memory controller and memory storage device
US20090248965A1 (en) Hybrid flash memory device and method of controlling the same
CN101853212B (zh) 数据写入方法、数据读取方法和数据存储器
US10509697B2 (en) Data storage device and operating method therefor
US20150113311A1 (en) Storage control apparatus, storage apparatus, information processing system, and storage control method therefor
CN112882650A (zh) 数据储存装置以及非挥发式存储器控制方法
CN105988722A (zh) 数据储存方法及嵌入式系统
CN107045423B (zh) 存储器装置及其数据存取方法
US8074012B2 (en) Flash memory apparatus and method for securing a flash memory from data damage
CN105487824A (zh) 信息处理方法、存储装置及电子设备
US20080288813A1 (en) Method for repairing a neighborhood of rows in a memory array using a patch table
CN106681664B (zh) 一种用于提高固态硬盘使用寿命的管理策略
JP2011059907A (ja) 端末装置及びそれに用いる不揮発メモリ管理方法並びにそのプログラム
US8832358B2 (en) Data writing method, memory controller and memory storage apparatus
CN101477494A (zh) 一种写入数据的方法和存储系统
US7958390B2 (en) Memory device for repairing a neighborhood of rows in a memory array using a patch table
JP2005242903A (ja) メモリ装置、メモリ制御方法、及びメモリ制御装置

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
C56 Change in the name or address of the patentee

Owner name: SHENZHEN CHIPSBANK TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: CHIPSBANK (SHENZHEN) CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 7, 12 building, 518057 Software Park, two road, Shenzhen hi tech Zone, Guangdong, Shenzhen

Patentee after: Shenzhen Chipsbank Technology Co., Ltd.

Address before: 7, 12 building, 518057 Software Park, two road, Shenzhen hi tech Zone, Guangdong, Shenzhen

Patentee before: Chipsbank Technology (Shenzhen) Co., Ltd.

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

Granted publication date: 20121114

Termination date: 20190330

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