CN109408406A - 闪存的数据存储方法及存储介质 - Google Patents
闪存的数据存储方法及存储介质 Download PDFInfo
- Publication number
- CN109408406A CN109408406A CN201811219021.7A CN201811219021A CN109408406A CN 109408406 A CN109408406 A CN 109408406A CN 201811219021 A CN201811219021 A CN 201811219021A CN 109408406 A CN109408406 A CN 109408406A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- data
- stored
- verification data
- read out
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Abstract
本发明公开了一种闪存的数据存储方法及存储介质,该方法包括:闪存上电时,读取所述闪存中预先存储的校验数据,所述校验数据包含有所述闪存的正常列信息的分布规律;将从所述闪存中读取出来的校验数据与预设的多个数据存储规律模板进行匹配;确定出与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板,并根据与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板对所述闪存进行数据存储。本发明避免了数据存储后丢失或者损坏。
Description
技术领域
本发明涉及闪存技术领域,尤其涉及一种闪存的数据存储方法及存储介质。
背景技术
现有的闪存中基本都存在有坏列(Bad column),每颗闪存的坏列分布不同,每颗闪存的坏列的多少也不同,当需要存储数据时,不能识别哪些区是坏的,这样把数据直接存储进去,就有可能导致数据存储在坏区而丢失或者损坏。
目前,我们可以闪存上电后通过软件分析闪存的坏列分布情况,然后将这个坏列信息保存到闪存内。但关键问题是在每次闪存上电开始时不知道坏列的分布,也就无法将这个坏列信息读出来。现有的处理方法是,按照保存数据的最小单位(比如512字节)将闪存一个PAGE(闪存的读写单元)分为多个单元,寻址一块连续没有坏列的单元存放这个坏列表。如果找不到,那么这颗闪存将无法使用。
发明内容
本发明的主要目的在于提供一种闪存的数据存储方法,旨在避免数据存储在坏区丢失或者损坏。
为实现上述目的,本发明提供一种闪存的数据存储方法,所述闪存的数据存储方法包括以下步骤:
闪存上电时,读取所述闪存中预先存储的校验数据,所述校验数据包含有所述闪存的正常列信息的分布规律;
将从所述闪存中读取出来的校验数据与预设的多个数据存储规律模板进行匹配;
确定出与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板,并根据与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板对所述闪存进行数据存储。
可选地,所述数据存储规律模板为(X1…Xn)(Y1…Ym)…(X1…Xn)(Y1…Ym),其中,所述X表示用于存储数据的地址位,n为地址位长度,所述Y表示空地址位,m为空地址位长度。
可选地,在执行所述闪存上电时,读取所述闪存中存储的校验数据,所述校验数据预先存储于闪存的正常地址中之前还包括:
测试获得闪存的正常列信息;
分析出所述正常列信息的分布规律;
将校验数据按照所述正常列信息的分布规律存入所述闪存中。
可选地,所述闪存预先划分为多个存储单元;
所述闪存上电时,读取所述闪存中存储的校验数据,所述校验数据预先存储于闪存的正常地址中具体为:闪存上电时,读取所述闪存的各预设存储单元中存储的校验数据,所述校验数据预先存储于闪存中各预设存储单元的正常地址中;
所述将从所述闪存中读取出来的校验数据与预设的多个数据存储规律模板进行匹配具体为:将从所述闪存的各预设存储单元中读取出来的校验数据与预设的多个数据存储规律模板进行匹配;
所述确定出与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板,并根据与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板对所述闪存进行数据存储具体为:确定出与所述闪存每一预设存储单元中读取出来的校验数据匹配成功的数据存储规律模板,并根据与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板对所述闪存进行数据存储。
为实现上述目的,本发明提供一种存储介质,所述存储介质上设置有处理器以及存储有闪存的数据存储程序,所述闪存的数据存储程序被所述处理器执行时实现如上述的闪存的数据存储方法的步骤。
本申请技术方案中,通过将包含有闪存的正常列信息的分布规律的校验数据预先存储于闪存的正常列中,保证数据不会损坏或者丢失,然后在闪存上电时,读取所述闪存中存储的校验数据,并将从所述闪存中读取出来的校验数据与预设的多个数据存储规律模板进行匹配,再确定出与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板,这样就找到了整个闪存的存储规律,确定按照当前数据存储规律模板的数据存储规律模板存储数据是比较理想的,数据是安全的,不容易造成数据损失,然后根据这个规律去存储数据,从而避免了数据存储后丢失或者损坏。
附图说明
图1为本发明闪存的数据存储方法一实施例的流程示意图;
图2为本发明闪存的数据存储方法另一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种闪存的数据存储方法,请参阅图1,在一实施例中,所述闪存的数据存储方法包括以下步骤:
步骤S10、闪存上电时,读取所述闪存中存储的校验数据,,所述校验数据包含有所述闪存的正常列信息的分布规律;
步骤S20、将从所述闪存中读取出来的校验数据与预设的多个数据存储规律模板进行匹配;
步骤S30、确定出与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板,并根据与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板对所述闪存进行数据存储。
本实施例中,需要说明的是,闪存基本都存在有坏列,但是一般坏列呈一定规律分布,然而闪存在不上电时,并不能记忆其坏列规律,故闪存在重新上电存储数据时,不能识别哪些是坏列,这样把数据直接存储进去,就有可能导致数据存储在坏列而丢失或者损坏。本实施例中,利用这一点,在每次上电时,查找出数据能够安全存储的规律,然后根据这个规律去存储数据,则可以避免存储后的数据损失。
本实施例中,预先测得的闪存的正常列规律,然后将校验数据预先存储于闪存的正常列中,这样能够保证数据不损坏或者不丢失,这段校验数据很小,只占用一段存储地址,不占用太多的存储空间,即用一小段地址规律表征整个闪存的存储规律。这样校验数据读取出来时,就可以与数据存储规律模板匹配,匹配成功的则可以认为按照这一规律存储是正确的。
本实施例中,每一所述闪存中预先存储有多个数据存储规律模板,多个数据存储规律模板的数据存储规律模板不同,可以根据测得的一批次或者多批次闪存的正常列信息进行数据存储规律模板的配置,当然也可以是直接按照闪存的存储空间大小配置多个可能的数据存储规律模板。具体地,数据存储规律模板为按照预设的地址大小间隔一定长度存储数据,形成多组数据存储规律模板,可以是数据阵列或者是数据表的形式,例如AA--AA--AA,或者AAAA---AAAA---AAAA等形式,其中A表示一个字节,-表示间隔地址位数量。在一实施例中,所述数据存储规律模板为(X1…Xn)(Y1…Ym)…(X1…Xn)(Y1…Ym),其中,所述X表示用于存储数据的地址位,n为地址位长度,所述Y表示空地址位,m为空地址位长度。
可以理解的是,本实施例中,由于闪存的正常列和坏列都呈一定规律排布,通过将校验数据预先存储于闪存的正常列中,数据不会损坏或者丢失,然后在闪存上电时,读取所述闪存中存储的校验数据,然后将从所述闪存中读取出来的校验数据与预设的多个数据存储规律模板进行匹配,再确定出与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板,这样就找到了整个闪存的存储规律,确定按照当前数据存储规律模板的数据存储规律模板存储数据是比较理想的,数据是安全的,不容易造成数据损失,然后根据这个规律去存储数据,从而避免了数据存储后丢失或者损坏。
在一实施例中,根据预先测得的正常列信息预先存储校验数据,请参阅图2,在执行所述闪存上电时,读取所述闪存中存储的校验数据,所述校验数据预先存储于闪存的正常地址中之前还包括:
步骤S40、测试获得闪存的正常列信息;
步骤S50、分析出所述正常列信息的分布规律;
步骤S60、将校验数据按照所述正常列信息的分布规律存入所述闪存中。
闪存生产完毕后,其存储空间的正常列和坏列均呈一定规律分布,可以通过测试可以获得其存储空间的正常列信息和坏列信息,然后分析出正常列信息的分布规律,然后按照正常列信息的分布规律对应存入一组校验数据在闪存的正常列中,使其带有该闪存的正常列信息的分布规律。需要说明的是,在其他实施例中,还可以采用规律数据写入闪存和读出之后比对的方式一个个试出其正常列信息的分布规律,但这种方式比较麻烦,效率较低。而采用测试获得闪存正常列信息的方式比较准确,而且效率很高。
在一实施例中,所述闪存预先划分为多个存储单元;
所述闪存上电时,读取所述闪存中存储的校验数据,所述校验数据预先存储于闪存的正常地址中具体为:闪存上电时,读取所述闪存的各预设存储单元中存储的校验数据,所述校验数据预先存储于闪存中各预设存储单元的正常地址中;
所述将从所述闪存中读取出来的校验数据与预设的多个数据存储规律模板进行匹配具体为:将从所述闪存的各预设存储单元中读取出来的校验数据与预设的多个数据存储规律模板进行匹配;
所述确定出与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板,并根据与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板对所述闪存进行数据存储具体为:确定出与所述闪存每一预设存储单元中读取出来的校验数据匹配成功的数据存储规律模板,并根据与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板对所述闪存进行数据存储。
需要说明的是,本实施例与上述实施例的基本原理相同,相同的部分不再赘述,不同的是,上述实施例中是先针对整个闪存的空间进行数据规律查找,而本实施例中,则是先对闪存的存储空间进行区域划分,分成多个存储单元。如此,再针对每个存储单元进行数据规律查找,然后相应存储数据,同样能够解决相同的技术问题,并达到相同的技术效果。此外,本实施例中分区域的目的是针对不同的闪存中,一定区域内,坏区更容易形成规律性,因此更容易找到坏区的规律,这样能够进一步地提高匹配效率,同时提高空间利用率。
此外,本发明还提出一种存储介质,所述存储介质上设置有处理器以及存储有闪存的数据存储程序,所述闪存的数据存储程序被所述处理器执行时可以实现上述任一实施例的闪存的数据存储方法,因此,具有与上述方法相同的实施方式和实施效果,此处也不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (5)
1.一种闪存的数据存储方法,其特征在于,所述闪存的数据存储方法包括以下步骤:
闪存上电时,读取所述闪存中预先存储的校验数据,所述校验数据包含有所述闪存的正常列信息的分布规律;
将从所述闪存中读取出来的校验数据与预设的多个数据存储规律模板进行匹配;
确定出与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板,并根据与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板对所述闪存进行数据存储。
2.如权利要求1所述的闪存的数据存储方法,其特征在于,所述数据存储规律模板为(X1…Xn)(Y1…Ym)…(X1…Xn)(Y1…Ym),其中,所述X表示用于存储数据的地址位,n为地址位长度,所述Y表示空地址位,m为空地址位长度。
3.如权利要求1所述的闪存的数据存储方法,其特征在于,在执行所述闪存上电时,读取所述闪存中存储的校验数据,所述校验数据预先存储于闪存的正常地址中之前还包括:
测试获得闪存的正常列信息;
分析出所述正常列信息的分布规律;
将校验数据按照所述正常列信息的分布规律存入所述闪存中。
4.如权利要求1所述的闪存的数据存储方法,其特征在于,所述闪存预先划分为多个存储单元;
所述闪存上电时,读取所述闪存中存储的校验数据,所述校验数据预先存储于闪存的正常地址中具体为:闪存上电时,读取所述闪存的各预设存储单元中存储的校验数据,所述校验数据预先存储于闪存中各预设存储单元的正常地址中;
所述将从所述闪存中读取出来的校验数据与预设的多个数据存储规律模板进行匹配具体为:将从所述闪存的各预设存储单元中读取出来的校验数据与预设的多个数据存储规律模板进行匹配;
所述确定出与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板,并根据与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板对所述闪存进行数据存储具体为:确定出与所述闪存每一预设存储单元中读取出来的校验数据匹配成功的数据存储规律模板,并根据与所述闪存中读取出来的校验数据匹配成功的数据存储规律模板对所述闪存进行数据存储。
5.一种存储介质,其特征在于,所述存储介质上设置有处理器以及存储有闪存的数据存储程序,所述闪存的数据存储程序被所述处理器执行时实现如权利要求1至4中任一项所述的闪存的数据存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811219021.7A CN109408406B (zh) | 2018-10-18 | 2018-10-18 | 闪存的数据存储方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811219021.7A CN109408406B (zh) | 2018-10-18 | 2018-10-18 | 闪存的数据存储方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109408406A true CN109408406A (zh) | 2019-03-01 |
CN109408406B CN109408406B (zh) | 2023-02-14 |
Family
ID=65467795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811219021.7A Active CN109408406B (zh) | 2018-10-18 | 2018-10-18 | 闪存的数据存储方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408406B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090313425A1 (en) * | 2008-06-17 | 2009-12-17 | Yuichi Futa | Memory control apparatus, content playback apparatus, control method and recording medium |
US20100241914A1 (en) * | 2009-03-20 | 2010-09-23 | Phison Electronics Corp. | Controller having flash memory testing functions, and storage system and testing method thereof |
US9009565B1 (en) * | 2013-03-15 | 2015-04-14 | Pmc-Sierra, Inc. | Systems and methods for mapping for solid-state memory |
CN104699765A (zh) * | 2015-02-12 | 2015-06-10 | 广东欧珀移动通信有限公司 | 一种数据存储方法及移动终端 |
CN104965676A (zh) * | 2015-06-17 | 2015-10-07 | 深圳市中兴微电子技术有限公司 | 一种随机存取存储器的访问方法、装置及控制芯片 |
-
2018
- 2018-10-18 CN CN201811219021.7A patent/CN109408406B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090313425A1 (en) * | 2008-06-17 | 2009-12-17 | Yuichi Futa | Memory control apparatus, content playback apparatus, control method and recording medium |
US20100241914A1 (en) * | 2009-03-20 | 2010-09-23 | Phison Electronics Corp. | Controller having flash memory testing functions, and storage system and testing method thereof |
US9009565B1 (en) * | 2013-03-15 | 2015-04-14 | Pmc-Sierra, Inc. | Systems and methods for mapping for solid-state memory |
CN104699765A (zh) * | 2015-02-12 | 2015-06-10 | 广东欧珀移动通信有限公司 | 一种数据存储方法及移动终端 |
CN104965676A (zh) * | 2015-06-17 | 2015-10-07 | 深圳市中兴微电子技术有限公司 | 一种随机存取存储器的访问方法、装置及控制芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN109408406B (zh) | 2023-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8234423B2 (en) | Multi-reader multi-writer circular buffer memory | |
CN104317618B (zh) | 一种固件分区处理方法和装置 | |
CN109062802A (zh) | 一种软件测试方法、计算机可读存储介质及终端设备 | |
US11145386B2 (en) | Chip testing method, device, electronic apparatus and computer readable medium | |
CN101785014B (zh) | 认证信息管理装置及其方法、认证装置及其方法 | |
CN105260404A (zh) | 存储时间序列数据的方法和装置 | |
EP3812908A3 (en) | Method and apparatus for testing artificial intelligence chip, device and storage medium | |
CN113035259A (zh) | Dram测试方法、装置、可读存储介质及电子设备 | |
CN107797821A (zh) | 重试读取方法以及使用该方法的装置 | |
US8135932B2 (en) | Initializing of a memory area | |
CN111739575B (zh) | 存储芯片品质检测方法、装置、设备及可读存储介质 | |
US9304686B2 (en) | Data storage device and data trimming method | |
CN107329966B (zh) | 机器数据存储方法及系统 | |
CN109408406A (zh) | 闪存的数据存储方法及存储介质 | |
US7783926B2 (en) | Method for memory testing | |
CN113160876A (zh) | Dram测试方法、装置、计算机可读存储介质及电子设备 | |
CN111540400B (zh) | 一种写放大系数测试方法、装置及电子设备和存储介质 | |
CN102567243B (zh) | 存储设备的刷新处理方法和存储设备 | |
CN109669830B (zh) | 一种用于内存的物理检测方法及终端设备 | |
CN109087676B (zh) | 一种非易失性存储器的编程方法及装置 | |
CN110727399A (zh) | 存储阵列管理方法及装置 | |
CN113470725B (zh) | 一种动态随机存储器的测试方法及装置 | |
CN113988007A (zh) | 一种文本显示方法、装置、电子设备及存储介质 | |
CN111367750B (zh) | 一种异常处理方法、装置及其设备 | |
CN110765493B (zh) | 一种基于Linux预链接的文件基线防御方法、装置及存储设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 518000 402-406, floor 4, building 4, Tianan Yungu Industrial Park, Gangtou community, Bantian street, Longgang District, Shenzhen, Guangdong Province Patentee after: Shenzhen Sandi Yixin Electronics Co.,Ltd. Address before: 518000 room 508, building D, Bantian International Center, No. 5, Huancheng South Road, Bantian street, Longgang District, Shenzhen, Guangdong Province Patentee before: SHENZHEN SANDIYIXIN ELECTRONIC Co.,Ltd. |
|
CP03 | Change of name, title or address |