[发明专利]一种写入和检测数据的方法及装置在审
申请号: | 201410283450.6 | 申请日: | 2014-06-23 |
公开(公告)号: | CN104035883A | 公开(公告)日: | 2014-09-10 |
发明(设计)人: | 邱东升 | 申请(专利权)人: | 北京君正集成电路股份有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京众合诚成知识产权代理有限公司 11246 | 代理人: | 龚燮英 |
地址: | 100193 北京市海淀区东北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 写入 检测 数据 方法 装置 | ||
技术领域
本发明涉及通信电子技术领域,尤其涉及一种写入和检测数据的方法及装置。
背景技术
目前NandFlash存储技术已经被广泛的应用在智能设备中,其以方便、快捷以及大容量的存储量占据了一定市场优势。NandFlash包括四种类型,其中三种类型如下:
第一种,多层单元闪存(MLC NandFlash),其特点是每个硬件单元中存储2位数据;
第二种,TLC NandFlash,其特点是每个硬件单元存储3位数据;
第三种,QLC NandFlash,其特点是每个硬件单元存储4位数据。
NandFlash中包括多个块(Block),每个Block中存储了一组页(Page),数据通过SharedPage方式存储于NandFLash中,以MLC NandFlash为例数据存储方式如下,参考图1:
由于MLC的每个硬件单元可存储两位数据,其中存储低位数据的被称为LSBPage,存储高位数据的被称为MSBPage,假设图1中Page0用于存储LSBPage所对应的数据,Page6中用于存储MSBpage所对应的数据,则Page0和Page6共用NandFlash中的一组硬件单元,当Page6中的数据损坏后则会直接影响Page0中的数据,即为SharedPage方式。用户可通过文件系统向NandFlash中的Page按顺序写入数据。
但本发明人发现由于SharedPage方式中存在了对应的Page之间的关联方式,导致如果在进行某些原子写操作时,遇到突然断电的情况时会导致当前正在写的Page数据丢失,并直接影响与该Page对应的Page的数据丢失或者错误,而原子写操作是不可被打断也不可出现错误的。如图2所示,例如当文件系统正在连续进行两个原子写操作时,第一个原子写操作已经写完,且写到了Page0 ~Page5中,第二个原子写操作需要写到Page6 ~ Page11,但在写到Page8的时候,出现了异常断电的情况,Page8损坏,根据SharedPage的特性,Page3也可能被损坏。当再次开机时,若在文件系统运行中需读取Page3的数据时,如果Page3数据已损坏,则文件系统将会拿到错误的数据。这种问题轻则导致已写入的文件损坏,重则导致文件系统无法正常运行。
发明内容
本发明提供一种写入和检测数据的方法及装置,用于解决在断电或者系统出错的情况下避免使用之前写入错误的数据而导致文件损坏系统不能正常运行的情况出现。
一种写入数据的方法,所述方法包括:
判断是否为第一次写操作,如果是,则在当前存储单元中的起始页中写入下一存储单元的起始地址信息;如果不是,在所述起始页中写入下一存储单元的起始地址信息以及上一存储单元的起始地址信息;所述当前存储单元与所述下一存储单元中的数据相对应。
一种检测数据的方法,所述方法包括:
步骤A,判断当前存储单元中的数据是否正确,如果不正确,找到当前页所在的当前存储单元的起始页,从该起始页中提取上一存储单元的起始地址信息,并丢弃当前存储单元中的数据;
步骤B,判断上一存储单元的起始地址信息所指向的数据是否正确,如果不正确,将所述上一存储单元中的数据丢弃,并将所述上一存储单元的上一级存储单元作为当前存储单元并执行步骤A。
一种写入数据的装置,所述装置包括:
写入判断单元,用于判断是否为第一次写操作;
操作单元,用于当所述写入判断单元确定是第一次写操作时,则在当前存储单元中的起始页中写入下一存储单元的起始地址信息;当所述写入判断单元确定不是第一次写操作时,在所述起始页中写入下一存储单元的起始地址信息以及上一存储单元的起始地址信息。
一种检测数据的装置,所述装置包括:
检测判断单元,用于判断当前存储单元中的数据是否正确;以及,判断上一存储单元的起始地址信息所指向的数据是否正确;
处理单元,用于当所述检测判断单元确定所述当前存储单元中的数据正确时,找到当前页所在的当前存储单元的起始页,从该起始页中提取上一存储单元的起始地址信息,并丢弃当前存储单元中的数据;当所述检测判断单元确定上一存储单元的起始地址信息所指向的数据不正确时,将所述上一存储单元中的数据丢弃,并将所述上一存储单元的上一级存储单元作为当前存储单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京君正集成电路股份有限公司,未经北京君正集成电路股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410283450.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置