本发明专利技术公开了一种提高基于NAND的固态存储器数据保持时间的方法,分为位状态表更新时间段T1和巡检时间段T2,在T1查询位映射表,如果对应位的状态为0则更新为1,否则保持原有状态,如此循环,直到T1时间达到设定的阈值;在T2进行读巡检和ECC错误检测以及位映射表清零。本发明专利技术既确保了数据巡检的完整性,又做到带来的额外操作最小,从而确保全部用户数据的安全性,又以较低的成本和代价实现。
Method for improving data retention time of solid state memory based on NAND
The invention discloses a method for improving the solid-state memory NAND data hold time based on the update time is divided into section T1 and section T2 state inspection time table, query a mapping table in the T1, if the corresponding bit state 0 is updated to 1, or to maintain the original state, so the cycle until the time to reach T1 set the threshold; read inspection and ECC error detection and bit map table cleared in T2. The invention not only ensures the integrity of the data polling, but also achieves the least additional operation, thereby ensuring the security of all user data, and realizing at a lower cost and cost.
【技术实现步骤摘要】
一种提高基于NAND的固态存储器数据保持时间的方法
本专利技术涉及一种基于非易失介质的固态存储器,尤其涉及一种提高基于NAND的固态存储器数据保持时间的方法。
技术介绍
固态存储器就是指使用固态电子存储芯片阵列组成的存储器件,其中最典型的是使用NAND(NOTAND)Flash作为存储介质的固态硬盘(SolidStateDrive),和传统硬盘相比,固态硬盘具有低功耗、无噪音、抗震动的特点。这些特点不仅使得数据能更加安全地得到保存,而且也延长了靠电池供电的设备的连续运转时间。作为存储介质最重要的特质之一就是数据的可靠性,但是因为NAND本身的特质,如果数据写入NAND后,长时间没有被更新,可能出现数据位存储的状态翻转的情况,从而导致数据在被读取时与被存入其中时不一致,导致严重的数据可靠性问题,造成用户数据的损失。随着NAND制程工艺的发展,器件本身的可靠性也越来越低,数据保持时间问题即Dataretention问题,已经成为使用NAND为介质的固态存储行业越来越关心的问题。解决数据保持时间的问题本质,就是希望及早发现出错的数据,利用ECC纠错功能进行纠错,或者是尽可能保持数据的新鲜程度。基于上述问题本质,通常有这样几种针对措施。一种是存储器并不做任何主动的行为,完全依靠主机数据更新行为保持数据的新鲜程度,这种方式适合于全部数据都是被频繁更新的应用,否则,存储的“冷”数据在同一个存储单元保持较长时间后就可能出现ECC无法纠正的错误,导致数据失效;另一种措施是主动在存储器后端巡检读(backgroundpatrolread),分为随机读取和全部空间遍历读取两种,目的都是为了及早发现已经出错的数据,或者出错程度已经接近ECC纠错能力阈值的数据,进行纠错后写入新的存储单元。其中前者随机的目的是为了减小后台操作的代价,缺点是只能一定程度上发现问题,并不一定能够覆盖存储器上所有数据;后者可以无遗漏的覆盖所有数据,但是后台操作的代价较大,并且主机本身就有大量数据更新的情况下,这样全部遍历产生的操作更是多余和无用的,例如主机刚刚更新了逻辑数据段X,这时候数据的新鲜度是很好的,而遍历巡检也可能刚刚遍历到数据段X,这时候对X的巡检就是多余和无用的。综上看来,在现有的技术中,依赖主机的行为来保持数据新鲜度的方法过于依赖主机的I/O模型;额外开销代价小的随机巡检方式不能确保巡检的数据完整性;能够确保用户数据完整性的全遍历方式会产生大量的多余的操作开销,对NAND的颗粒磨损和I/O性能带来负面影响。这些问题的根本原因就是存储器无法识别用户数据的“冷”“热”程度,热数据指的是主机频繁更新的逻辑数据段,因为频繁更新,数据本身就具备很好的新鲜度,不用考虑其数据保持时间问题;冷数据则与之相反,是数据巡检需要重点关注的对象。申请号为“200610059788”,专利技术名称为“半导体存储装置”的中国专利申请公开了一种能够适当进行数据保持时间不同的存储器单元的更新的装置,但是该装置无法识别用户数据的冷热程度,无法实现高效的数据保持问题。申请号为:US2005232012,专利技术名称为:“NANDflashmemorydeviceandmethodofprogrammingthesame”的美国专利申请公开了一种NAND存储器及其编程的方法,其可以减少NAND存储器的干扰,从而减少能源浪费,但是该方案并没有针对现有技术中存在的数据新鲜度保持问题和数据更新问题提出有效的解决方案。因此,基于上述问题,需要提供一种简单易行的方式区分出了用户数据的冷/热程度,基于这个信息,主动地且有针对性地只对冷数据执行巡检操作,从而可以付出最小的成本以实现用户数据的安全性。
技术实现思路
本专利技术的一个目的是识别出存储器的冷数据,仅针对冷数据进行巡检,这样既确保了数据巡检的完整性,又做到带来的额外操作最小。本专利技术的另一个目的在于针对数据保持时间问题,提出一种易于实现的低代价的数据巡检方式,目的是即确保全部用户数据的安全性,又以较低的开销和代价实现。本专利技术的技术方案如下:一种提高基于NAND的固态存储器数据保持时间的方法,其特征在于包括以下步骤:在位状态表更新时间段T1,根据操作的逻辑地址,查询位映射表,如果对应位的状态为0则更新为1,否则保持原有状态,如此循环,直到该T1过程时间达到设定的阈值;在巡检时间段T2,从逻辑地址起始位置对应的位状态表开始巡检,首先读取该段逻辑地址对应的数据内容,在读巡检模式下,读取过程中会经过ECC错误检测,如果出错数据的位数超过了设定的阈值,则将数据纠错后,重新写入一个新的存储单元;否则,仅读取数据,不做其它操作;进行位映射表清除,将位映射表整体清零。进一步地,将位映射表整体清零进一步包括在巡检过程中,每处理完一个就立刻清零,即如果位状态表为1则立刻清零,如果位状态表为0则处理后再清零。进一步地,在所述T2时间段内,所述T1过程中的位映射表更新操作继续进行。进一步地,在读巡检模式下,NAND的读操作和编程操作都触发位映射表的检查更新。进一步地,在保持数据新鲜度模式下,仅编程操作触发位映射表的检查更新。进一步地,其中所述保持数据新鲜度模式下,将每次判断到的冷数据读出后都重新编程到一个新的存储单元。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见,下面描述中的附图仅仅是本专利技术的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。图1示出了一种固态存储器位映射关系示意图;图2示出了在保持数据新鲜度模式下固态存储器中数据冷热转换流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。现有的高性能的基于NAND的固态存储器通常采用基于页映射(page-mapping)的闪存转化层(FTL,flash-translation-layer)设计,随着page大小由4KB扩大了8KB到16KB,也存在采用小于page大小的映射管理设计。本方案不受限于NAND的物理page大小和控制器设计的管理映射粒度大小的限制。这里以目前常见的4KBpage大小,页映射管理为例描述。文中按照管理粒度为单位,将全部的数据空间在逻辑上划分进行映射,每个粒度单位映射到1位(bit),这样就得到的总空间/管理粒度bit数的位映射表,根据设计中的资源的实际情况,也可以将多个连续的管理粒度大小映射到1bit,从而缩小位映射表,位映射表的每一位只会存在“0”或“1”两种状态,如图1所示。这个位映射表就是文中用来监控数据热度或新鲜度的主要方式。初始时刻开始,位映射表全部位为0,其后,存储器每次收到主机的读/写操作,就根据写操作的逻辑地址找到对应的位映射表位置,将其中存储的0改写为1,如果存储的值已经是1,表示之前主机已经操作过这段地址的数据,则不再修改,保持1即可。这样持续一段时间T1后,位映射表通常会变成0和1的某种组合,其中为1的位置表示这段时间内主机本文档来自技高网...
【技术保护点】
一种提高基于NAND 的固态存储器数据保持时间的方法,其特征在于包括以下步骤:在位状态表更新时间段T1,根据操作的逻辑地址,查询位映射表,如果对应位的状态为0 则更新为1,否则保持原有状态,如此循环,直到该T1 过程时间达到设定的阈值;在巡检时间段T2,根据对应的位映射表状态进行数据巡检,如果是1则跳过,如果是0则进行巡检,从逻辑地址起始位置对应的位状态表开始巡检,首先读取该段逻辑地址对应的数据内容,在读巡检模式下,读取过程中会经过ECC 功能模块进行错误检测,如果出错数据的位数超过了设定的阈值,则将数据纠错后,重新写入一个新的存储单元;否则,仅读取数据,不对数据做其它操作;然后进行位映射表清除,将位映射表整体清零。
【技术特征摘要】
1.一种提高基于NAND的固态存储器数据保持时间的方法,其特征在于包括以下步骤:在位状态表更新时间段T1,根据操作的逻辑地址,查询位映射表,如果对应位的状态为0则更新为1,否则保持原有状态,如此循环,直到该T1过程时间达到设定的阈值;在巡检时间段T2,根据对应的位映射表状态进行数据巡检,如果是1则跳过,如果是0则进行巡检,从逻辑地址起始位置对应的位状态表开始巡检,首先读取该段逻辑地址对应的数据内容,在读巡检模式下,读取过程中会经过ECC功能模块进行错误检测,如果出错数据的位数超过了设定的阈值,则将数据纠错后,重新写入一个新的存储单元;否则,仅读取数据,不对数据做其它操作;然后进行位映射表清除,将位映射表整体清零。2.根据权利要求1所述的方法,其中将位映射表整体...
【专利技术属性】
技术研发人员:李欣,李程,杨继涛,张琴,黎智,向志华,王灿,
申请(专利权)人:广东华晟数据固态存储有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。