CN103336727A - Nand闪存存储设备及对其进行数据操作的方法 - Google Patents

Nand闪存存储设备及对其进行数据操作的方法 Download PDF

Info

Publication number
CN103336727A
CN103336727A CN2013102475392A CN201310247539A CN103336727A CN 103336727 A CN103336727 A CN 103336727A CN 2013102475392 A CN2013102475392 A CN 2013102475392A CN 201310247539 A CN201310247539 A CN 201310247539A CN 103336727 A CN103336727 A CN 103336727A
Authority
CN
China
Prior art keywords
nand flash
flash memory
data
parity check
check code
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
CN2013102475392A
Other languages
English (en)
Other versions
CN103336727B (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.)
Cool Fung Industrial (shanghai) Ltd
Original Assignee
Cool Fung Industrial (shanghai) 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 Cool Fung Industrial (shanghai) Ltd filed Critical Cool Fung Industrial (shanghai) Ltd
Priority to CN201310247539.2A priority Critical patent/CN103336727B/zh
Publication of CN103336727A publication Critical patent/CN103336727A/zh
Application granted granted Critical
Publication of CN103336727B publication Critical patent/CN103336727B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明适用于数据存储技术领域,提供了一种NAND闪存存储设备及对其进行数据操作的方法。所述NAND闪存存储设备具有多个通道,每个通道包含若干NAND闪存;各个通道内相同次序的NAND闪存构成一组NAND闪存单元,每个NAND闪存单元组内均有一个NAND闪存用于存储奇偶校验码,且各个NAND闪存单元组内的用于存储奇偶校验码的NAND闪存分属于不同的通道。本发明借鉴了RAID3和RAID5的优点,并针对NAND闪存的特点做了进一步改进。NAND闪存存储设备同时具备数据检测/数据更正,奇偶校验双重校验机制,数据的可靠性大大提高。

Description

NAND闪存存储设备及对其进行数据操作的方法
技术领域
本发明属于数据存储技术领域,尤其涉及一种NAND闪存存储设备及对其进行数据操作的方法。
背景技术
近些年来,随着NAND闪存存储密度的提高和成本的降低,大容量的NAND闪存存储设备的应用越来越广泛。NAND闪存存储设备比基于磁盘的存储设备有很多优点,如较少的功耗、更好的抗物理撞击性和电磁兼容性、更小的物理尺寸、以及更轻的重量。NAND闪存广泛应用于手持设备,比如:媒体播放器,移动电话,平板电脑,便携音乐播放器等。最近几年,NAND闪存的应用扩展到个人电脑,笔记本电脑,数据中心等。并且随着半导体工艺特征尺寸的进步和单位存储单元价格的降低,NAND闪存存储单元有可能取代硬盘驱动器(HDD),从根本上改变电脑系统的存储方式。
NAND闪存的存储单元在结构上是由浮栅晶体管组成,浮栅晶体管以类似于与非门的形式串连在一起。NAND闪存可以分为单阶存储单元(Single-levelcell,SLC)和多阶存储单元(Multi-level cell,MLC),前者每个浮栅晶体管存储1比特的数据,而后者每个浮栅晶体管存储多比特数据。相对于SLC,MLC有以下缺点:1,寿命短。某些情况下,寿命只有SLC的1/10;2,访问速度慢。读取和写入的速度要比SLC慢很多;3,MLC一个存储单元可以存储多个有效数据位,导致可靠性大大降低。但是另一方面MLC具备存储密度高和成本低的特点,这使得MLC的应用远比SLC要广泛。
一个NAND闪存中包括一定数目的块(block),一个块可以进一步分为一定数目的页(page),一个块可以包含32、64、128、……个页,一个页中的数据大小可以是512Byte、1K Byte、2K Byte等。NAND闪存存储单元有三种基本操作:读、写、擦除,其中“读”和“写”以页为单位,“擦除”以块为单位。另外NAND闪存寿命有限,存储单元在一定次数地擦除循环之后便会损坏。通常,SLC的擦除循环次数是100000,MLC的擦除循环次数是3000到10000。
另外,所有NAND闪存都受位交换现象的困扰。即便在擦除次数还没有达到寿命极限的时候,在某些情况下一个比特位也可能会发生错误,从这个比特位读出的数据与之前写入的数据不同,此种情况MLC发生的次数要比SLC为多。
一个比特位的变化可能不很明显,但是如果发生在一个关键文件(比如操作系统、配置文件或者其它敏感信息)上,这个小小的故障可能导致严重的后果。因此在NAND闪存存储设备中必须采用错误检测/错误更正(Error CorrectingCode,ECC)算法。但是,当NAND闪存中错误的数据超出错误检测/错误更正的能力的时候,就会导致严重的后果。怎样进一步保证NAND闪存的可靠性仍然是一个值得进一步研究的问题。
发明内容
本发明所要解决的技术问题在于提供一种NAND闪存存储设备,旨在提高存储数据的可靠性。
本发明是这样实现的,一种NAND闪存存储设备,所述NAND闪存存储设备具有多个通道,每个通道包含若干NAND闪存;各个通道内相同次序的NAND闪存构成一组NAND闪存单元,每个NAND闪存单元组内均有一个NAND闪存用于存储奇偶校验码,且各个NAND闪存单元组内的用于存储奇偶校验码的NAND闪存分属于不同的通道。
本发明还提供了对如上所述的NAND闪存存储设备进行数据操作的方法,所述方法包括下述步骤:
步骤A,若从某一NAND闪存读出的出错数据采用数据检测/数据更正的校验机制无法修复时,则采用奇偶校验机制对该出错数据进行修复。
进一步地,所述步骤A具体将该出错数据所在的NAND闪存单元组内的其他数据进行异或运算,将运算得到的数据作为修复后的数据。
进一步地,所述方法还包括下述步骤:
步骤B,对某一NAND闪存进行擦除操作时,将预擦除的NAND闪存内的数据与其所在的闪存单元组的原奇偶校验码进行异或运算,然后擦除原奇偶校验码并将运算结果作为更新后的奇偶校验码写入,再将预擦除的NAND闪存内的数据擦除;
步骤C,对某一NAND闪存进行写操作时,将其所在的闪存单元组的原奇偶校验码与预写入的数据进行异或运算,然后擦除原奇偶校验码并将运算结果作为更新后的奇偶校验码写入,再在预写入的NAND闪存内写入数据。
进一步地,所述用于存储奇偶校验码的NAND闪存为单阶存储单元,且其寿命高于其他NAND闪存的寿命。
进一步地,对于每个NAND闪存单元组,其中的各个NAND闪存均可用于存储奇偶校验码,且当预设的时间间隔或擦除次数到达时,调整奇偶校验码的存储位置。
本发明借鉴了RAID3和RAID5的优点,并针对NAND闪存的特点做了进一步改进。NAND闪存存储设备同时具备数据检测/数据更正,奇偶校验双重校验机制,数据的可靠性大大提高。
附图说明
图1是本发明实施例提供的RAID3的结构图;
图2是本发明实施例提供的RAID5的结构图;
图3是本发明实施例提供的NAND闪存存储设备的架构图;
图4是本发明实施例提供的将奇偶校验码在同组的NAND闪存内动态调整的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks,RAID),简称磁盘阵列,其基本思想就是把多个硬盘组合起来,成为一个硬盘阵列组,变成一个容量巨大并且价格昂贵的硬盘。磁盘阵列可分为不同的等级,如RAID0、RAID1、RAID0+1、RAID2、RAID3、RAID4、RAID5、RAID6、RAID7等,每种等级都有其理论上的优缺点,不同的等级在增加数据可靠性以及增加存储器(群)读写性能这两个目标间取得平衡。
RAID3是把数据分成多个“块”,按照一定的容错算法,存放在N+1个硬盘上,实际数据占用的有效空间为N个硬盘的空间总和,而第N+1个硬盘上存储的数据是校验容错信息,图1以N为3为例示出了RAID3的结构,其中硬盘0存储有数据A1、A4、B1、B4,硬盘1存储有数据A2、A5、B2、B5,硬盘2存储有数据A3、A6、B3、B6,而硬盘3存储有校验容错数据Ap(1-3)、Ap(4-6)、Bp(1-3)、Bp(4-6)。当这N+1个硬盘中的任意一个硬盘出现故障时,从其它N个硬盘中的数据也可以恢复原始数据。这样,仅使用这N个硬盘也可以继续工作,当更换一个新硬盘后,系统可以重新恢复完整的校验容错信息。由于在一个硬盘阵列中,多于一个硬盘同时出现故障的几率很小,所以一般情况下,使用RAID3安全性是可以得到保障的。使用的容错算法和分块大小决定RAID使用的应用场合,在通常情况下,RAID3比较适合大文件类型且安全性要求较高的应用,如视频编辑、硬盘播出机、大型数据库等。
RAID4和RAID3相类似,不同的是RAID3是把一个数据分成多个块分散在不同硬盘里,而RAID4是把不同的数据分别放在多个硬盘里。
RAID5和RAID3相比,不同之处在于:(1)RAID5采用容错算法为奇偶检验;(2)RAID5校验容错信息分布在不同的磁盘上,如图2所示,校验容错数据P3、P2、P1、P0分别位于磁盘0、磁盘1、磁盘2、磁盘3上,其余A-L表示存储数据。
如上文所述的RAID3、RAID5等固态硬盘(Solid State Disk,SSD)、PCIE接口SSD等典型NAND闪存存储设备相对于传统的硬盘驱动器在性能上拥有无可比拟的优势。但由于NAND闪存的固有缺陷,在存储数据的可靠性上尚有不足,本发明主要是利用磁盘阵列中增加数据可靠性的方法,来增加NAND闪存存储设备的可靠性。
为了提高NAND闪存存储设备的容量和速度,本发明提供的NAND闪存存储设备具有多个通道,每个通道内包含若干个NAND闪存,这里每个NAND闪存称为bank。如图3所示,该NAND闪存存储设备有通道1、通道2、……、通道n、通道n+1,每个通道内的NAND闪存,标记为A,B,……,X,Y,例如通道1内的NAND闪存标记为A1、B1、X1等,通道2内的AND闪存标记为A2、B2、Y1等。上述的n、n+1、X、Y的具体取值可以根据不同NAND闪存存储设备的需求进行调整。各个通道内相同次序的NAND闪存构成一组NAND闪存单元,每一组都有n+1个NAND闪存,例如图3中的A1、A2、An、Pn即为一组。每个NAND闪存单元组内均有一个NAND闪存用于存储奇偶校验码,且各个NAND闪存单元组内的用于存储奇偶校验码的NAND闪存分属于不同的通道,如图3中的PY、PX、PB、PA均用于存储奇偶校验码,但分属于通道1、通道2、通道n、通道n+1。上述PA、PB、PC、PD和其他NAND闪存的区别是用于存储奇偶检验码,而其他NAND闪存则用于存储普通的数据。
本发明中,奇偶校验码的计算如下(⊕为异或操作符号,在本文中大写的A1、A2、……An+1代表对应的NAND闪存标号,小写的a1、a2、……a1+1代表对应NAND闪存中的数据):
pa=a1⊕a2⊕……⊕an
pb=b1⊕b2⊕……⊕bn
......
px=x1⊕x2⊕……⊕xn
py=y1⊕y2⊕……⊕yn
前面说过,NAND闪存基本的三种数据操作为读、写、擦除,而在写操作之前又要先进行擦除操作。下面以NAND闪存A1为例说明NAND闪存进行操作时候奇偶校验码的操作过程。
首先对于“读”操作。此时数据操作方法包括下述步骤:步骤A,直接从某一NAND闪存读出数据后,若数据出错且采用数据检测/数据更正的校验机制无法修复时,则采用奇偶校验机制对该出错数据进行修复。
本发明中,步骤A具体将该出错数据所在的NAND闪存单元组内的其他数据进行异或运算,将运算得到的数据作为修复后的数据。需要将a2,……an,pa从相应NAND闪存中读出,则有a1=a2⊕……⊕an⊕pa。这样,保存在NAND闪存中的数据同时具备数据检测/数据更正、奇偶校验两种校验机制,可靠性大大提高。在极端的情况,哪怕整个NAND闪存中的数据全部损毁,也是可以通过奇偶检验的方法恢复过来。
其次对于“擦除”操作。此时数据操作方法包括下述步骤:步骤B,对某一NAND闪存进行擦除操作时,将预擦除的NAND闪存内的数据与其所在的闪存单元组的原奇偶校验码进行异或运算,然后擦除原奇偶校验码并将运算结果作为更新后的奇偶校验码写入,再将预擦除的NAND闪存内的数据擦除。具体到NAND闪存A1,同时将A1、PA的数据读出,把pa⊕a1的结果写入PA,然后将A1中的数据擦除。
最后对于“写”操作。此时数据操作方法包括下述步骤:步骤C,对某一NAND闪存进行写操作时,将其所在的闪存单元组的原奇偶校验码与预写入的数据进行异或运算,然后擦除原奇偶校验码并将运算结果作为更新后的奇偶校验码写入,再在预写入的NAND闪存内写入数据。具体到NAND闪存A1,将PA中的数据读出,把pa⊕a1的结果写入PA,这里a1是要写入A1的新数据,同时将a1写入A1。
如上文所述,A1、A2、……、An每一组中的任何数据进行擦除和写入的时候,都需要将PA中对应的数据进行擦除操作,根据NAND闪存具有有限擦除寿命的特点,可知要经历更多擦除操作的PA的寿命要远远短于A1、A2、……、An。这里我们重新设计了两种方案来解决这个问题:(1)存储奇偶校验码的的NAND闪存采用寿命更高的SLC;(2)对于每个NAND闪存单元组,其中的各个NAND闪存均可用于存储奇偶校验码,且当预设的时间间隔或擦除次数到达时,调整奇偶校验码的存储位置。如图4所示动态的将奇偶校验码放在A1、A2、……、An、PA中,其它的NAND闪存单元组也采用该方法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种NAND闪存存储设备,其特征在于,所述NAND闪存存储设备具有多个通道,每个通道包含若干NAND闪存;各个通道内相同次序的NAND闪存构成一组NAND闪存单元,每个NAND闪存单元组内均有一个NAND闪存用于存储奇偶校验码,且各个NAND闪存单元组内的用于存储奇偶校验码的NAND闪存分属于不同的通道。
2.对如权利要求1所述的NAND闪存存储设备进行数据操作的方法,其特征在于,所述方法包括下述步骤:
步骤A,若从某一NAND闪存读出的出错数据采用数据检测/数据更正的校验机制无法修复时,则采用奇偶校验机制对该出错数据进行修复。
3.如权利要求2所述的方法,其特征在于,所述步骤A具体将该出错数据所在的NAND闪存单元组内的其他数据进行异或运算,将运算得到的数据作为修复后的数据。
4.如权利要求2所述的方法,其特征在于,所述方法还包括下述步骤:
步骤B,对某一NAND闪存进行擦除操作时,将预擦除的NAND闪存内的数据与其所在的闪存单元组的原奇偶校验码进行异或运算,然后擦除原奇偶校验码并将运算结果作为更新后的奇偶校验码写入,再将预擦除的NAND闪存内的数据擦除;
步骤C,对某一NAND闪存进行写操作时,将其所在的闪存单元组的原奇偶校验码与预写入的数据进行异或运算,然后擦除原奇偶校验码并将运算结果作为更新后的奇偶校验码写入,再在预写入的NAND闪存内写入数据。
5.如权利要求4所述的方法,其特征在于,所述用于存储奇偶校验码的NAND闪存为单阶存储单元,且其寿命高于其他NAND闪存的寿命。
6.如权利要求4所述的方法,其特征在于,对于每个NAND闪存单元组,其中的各个NAND闪存均可用于存储奇偶校验码,且当预设的时间间隔或擦除次数到达时,调整奇偶校验码的存储位置。
CN201310247539.2A 2013-06-20 2013-06-20 对nand闪存存储设备进行数据操作的方法 Active CN103336727B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310247539.2A CN103336727B (zh) 2013-06-20 2013-06-20 对nand闪存存储设备进行数据操作的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310247539.2A CN103336727B (zh) 2013-06-20 2013-06-20 对nand闪存存储设备进行数据操作的方法

Publications (2)

Publication Number Publication Date
CN103336727A true CN103336727A (zh) 2013-10-02
CN103336727B CN103336727B (zh) 2016-06-22

Family

ID=49244900

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310247539.2A Active CN103336727B (zh) 2013-06-20 2013-06-20 对nand闪存存储设备进行数据操作的方法

Country Status (1)

Country Link
CN (1) CN103336727B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631676A (zh) * 2013-11-06 2014-03-12 华为技术有限公司 一种只读快照的快照数据生成方法及装置
CN107705817A (zh) * 2017-09-22 2018-02-16 山东存储之翼电子科技有限公司 利用闪存通道特性的解码方法、装置及数据存储系统
WO2019007315A1 (zh) * 2017-07-07 2019-01-10 华为技术有限公司 闪存设备中数据写入的方法及设备
CN109521961A (zh) * 2018-11-13 2019-03-26 深圳忆联信息系统有限公司 一种提升固态硬盘读写性能的方法及其系统
CN110837434A (zh) * 2018-08-15 2020-02-25 杭州海康慧影科技有限公司 一种修复数据的方法及装置
WO2020087930A1 (zh) * 2018-10-31 2020-05-07 华为技术有限公司 一种数据保护方法、装置及系统
CN112256203A (zh) * 2020-10-26 2021-01-22 山东盖特航空科技有限公司 Flash存储器的写入方法、装置、设备、介质及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11234235B2 (en) 2019-04-30 2022-01-25 Bank Of America Corporation Resource distribution hub generation on a mobile device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101118477A (zh) * 2007-08-24 2008-02-06 成都索贝数码科技股份有限公司 一种提高磁盘数据访问效率的方法
CN101504625A (zh) * 2009-03-04 2009-08-12 成都市华为赛门铁克科技有限公司 实现独立磁盘冗余阵列的方法、固态硬盘和电子设备
CN101681305A (zh) * 2007-03-29 2010-03-24 提琴存储器公司 存储管理系统和方法
US20110138113A1 (en) * 2009-12-08 2011-06-09 Ocz Technology Group, Inc. Raid storage systems having arrays of solid-state drives and methods of operation
CN102298555A (zh) * 2011-08-22 2011-12-28 宜兴市华星特种陶瓷科技有限公司 基于nand技术的模块化闪存管理系统
CN102549554A (zh) * 2009-09-29 2012-07-04 美光科技公司 基于条带的存储器操作

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101681305A (zh) * 2007-03-29 2010-03-24 提琴存储器公司 存储管理系统和方法
CN101118477A (zh) * 2007-08-24 2008-02-06 成都索贝数码科技股份有限公司 一种提高磁盘数据访问效率的方法
CN101504625A (zh) * 2009-03-04 2009-08-12 成都市华为赛门铁克科技有限公司 实现独立磁盘冗余阵列的方法、固态硬盘和电子设备
CN102549554A (zh) * 2009-09-29 2012-07-04 美光科技公司 基于条带的存储器操作
US20110138113A1 (en) * 2009-12-08 2011-06-09 Ocz Technology Group, Inc. Raid storage systems having arrays of solid-state drives and methods of operation
CN102298555A (zh) * 2011-08-22 2011-12-28 宜兴市华星特种陶瓷科技有限公司 基于nand技术的模块化闪存管理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
鲁恩铭等: "RAID5结构剖析及其数据恢复策略研究", 《RAID5结构剖析及其数据恢复策略研究 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631676A (zh) * 2013-11-06 2014-03-12 华为技术有限公司 一种只读快照的快照数据生成方法及装置
CN103631676B (zh) * 2013-11-06 2016-08-24 华为技术有限公司 一种只读快照的快照数据生成方法及装置
WO2019007315A1 (zh) * 2017-07-07 2019-01-10 华为技术有限公司 闪存设备中数据写入的方法及设备
CN107705817A (zh) * 2017-09-22 2018-02-16 山东存储之翼电子科技有限公司 利用闪存通道特性的解码方法、装置及数据存储系统
CN107705817B (zh) * 2017-09-22 2020-09-08 山东存储之翼电子科技有限公司 利用闪存通道特性的解码方法、装置及数据存储系统
CN110837434A (zh) * 2018-08-15 2020-02-25 杭州海康慧影科技有限公司 一种修复数据的方法及装置
WO2020087930A1 (zh) * 2018-10-31 2020-05-07 华为技术有限公司 一种数据保护方法、装置及系统
CN109521961A (zh) * 2018-11-13 2019-03-26 深圳忆联信息系统有限公司 一种提升固态硬盘读写性能的方法及其系统
CN109521961B (zh) * 2018-11-13 2021-10-26 深圳忆联信息系统有限公司 一种提升固态硬盘读写性能的方法及其系统
CN112256203A (zh) * 2020-10-26 2021-01-22 山东盖特航空科技有限公司 Flash存储器的写入方法、装置、设备、介质及系统

Also Published As

Publication number Publication date
CN103336727B (zh) 2016-06-22

Similar Documents

Publication Publication Date Title
US11941257B2 (en) Method and apparatus for flexible RAID in SSD
US11042441B2 (en) Stripe mapping in memory
CN103336727B (zh) 对nand闪存存储设备进行数据操作的方法
US8788876B2 (en) Stripe-based memory operation
US10353614B2 (en) Raid system and method based on solid-state storage medium
US8589761B2 (en) Apparatus and methods for providing data integrity
US9086983B2 (en) Apparatus and methods for providing data integrity
CN103365739B (zh) 一种nand闪存存储设备及其数据恢复方法
CN104156174A (zh) 基于条带的固态硬盘raid实现方法及装置
CN102981969A (zh) 重复数据删除的方法及其固态硬盘
CN115237342A (zh) 一种由阵列磁盘进行数据校验的raid5校验方法
JP5908106B2 (ja) 妥当性マスクを記憶する装置および方法ならびに操作装置
CN113420341B (zh) 一种数据保护方法、数据保护设备及计算机系统
WO2013023564A9 (en) Method and apparatus for flexible raid in ssd

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