Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR IMPROVING RELIABILITY OF NAND FLASH MEMORY
Document Type and Number:
WIPO Patent Application WO/2018/040969
Kind Code:
A1
Abstract:
The present invention relates to the technical field of flash memory, and provides a method and device for improving reliability of a NAND flash memory. The method comprises the following steps: upon receiving an interrupt signal, a NAND controller (13) determining a type of a current operation of a NAND flash memory; if the type indicates a programming operation, then completing the programming operation by employing a capacitor (12), and resetting, by means of the NAND controller (13), the NAND flash memory to terminate the current operation; and if the type indicates a non-programming operation, then resetting, by means of the NAND controller (13), the NAND flash memory to terminate the current operation. The advantageous effect of the method of the present invention is achieving effective prevention of NAND flash data damage caused by a power failure by means of capturing critical operations to be protected, i.e., programming operations, at a power failure, and ensuring completion of the critical operations upon a power failure, thus ensuring data reliability of a terminal employing a NAND flash memory.

Inventors:
WU, Xuan (Building 17, Section A Software Park,No. 89 Software Road, Gulo, Fuzhou Fujian 0, 350000, CN)
Application Number:
CN2017/098239
Publication Date:
March 08, 2018
Filing Date:
August 21, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FUJIAN LANDI COMMERCIAL EQUIPMENT CO., LTD (Building 17, Section A Software Park,No. 89 Software Road, Gulo, Fuzhou Fujian 0, 350000, CN)
International Classes:
G11C5/14
Attorney, Agent or Firm:
BORSAM INTELLECTUAL PROPERTY (FUZHOU) (5/F Fujian Commercial Building, 23 Zhongshan Road Gulou Distric, Fuzhou Fujian 3, 350003, CN)
Download PDF:
Claims:
权利要求书

[权利要求 1] 一种提高 NAND FLASH可靠性的方法, 其特征在于, 包括如下步骤 在使用过程中, NAND FLASH进行读取、 擦除或编程的操作; NAND控制器接收到中断信号后, 判断 NAND FLASH当前的操作的 类型; 所述 NAND FLASH包括支持完成一次 NAND的编程操作的电 容;

若为编程操作, 利用所述电容完成编程操作, 通过 NAND FLASH控 制器复位 NAND FLASH, 结束当前正在进行的操作;

若不为编程操作, 通过 NAND FLASH控制器复位 NAND FLASH, 结 束当前正在进行的操作。

[权利要求 2] 根据权利要求 1所述的提高 NAND FLASH可靠性的方法, 其特征在于

, 所述 NAND

FLASH包括 10口线, 用于触发电平发送中断信号至 NAND FLASH控 制器。

[权利要求 3] —种提高 NAND FLASH可靠性的装置, 其特征在于, 包括:

10口线, 用于触发电平发送中断信号至 NAND FLASH控制器; 电容, 用于支持完成一次 NAND的编程操作的电容;

NAND控制器, 用于接收到中断信号后, 判断 NAND FLASH当前的 操作的类型; 若为编程操作, 利用所述电容完成编程操作, 复位 NA

ND

FLASH, 结束当前正在进行的操作; 若不为编程操作, 复位 NAND FLASH, 结束当前正在进行的操作。

Description:
一种提高 NAND FLASH可靠性的方法及装置 技术领域

[0001] 本发明涉及闪存技术领域, 具体涉及一种提高 NAND FLASH可靠性的方法及 装置。

背景技术

[0002] 由于 NAND FLASH具有容量大、 成本低、 改写速度快的优点, 已经逐渐在支 付终端、 车载导航、 工控设备、 机顶盒等嵌入式设备上得到了使用, 替代了原 来 NOR FLASH等存储设备的地位。 但 NAND FLASH的可靠性却不如以往的存储 设备, 而且随着工艺的提高, 可靠性不断下降。

[0003] NANDFLASH的较低可靠性特别表现在终端掉电的吋 候。 在擦除或编程过程中 掉电, 会导致相应区域的数据处于不稳定状态, 这使得终端中存储的数据发生 错误, 甚至导致终端无法使用。

[0004] 目前, 由于 NAND FLASH具备众多不可靠性, 通常使用在带电池的终端产品

(或使用备份电池) 上, 这样产品有电池供电, 很少出现突然掉电导致的问题 。 而一些有高可靠性要求的工控类设备, 则还是使用原来的 NOR FLASH等存储 设备, 以避免可靠性问题。

[0005] 在一个使用 NANDFLASH作为存储器的终端上, NANDFLASH划分为多个分区 , 有的分区存放整体镜像 (比如 Linux内核 /UBOOT) , 除非是更新, 否则都是 读取; 有的分区则是基于文件系统, 可以以读写文件或目录。 所以掉电过程中 可能在编程和擦除的区域基本都是属于文件系 统分区。 对于 NANDFLASH, 常 用的文件系统有 JFFS2和 UBIFS , 目前基本都是使用 UBIFS。 UBIFS还需要通过 一个存储设备管理层 UBI实现基于 NAND的文件系统操作。

[0006] NANDFLASH在编程和擦除过程中, 如果遇到掉电, 会产生不稳定的位 (unsta ble bits) 。 由于编程或擦除没有完成, 所以正在进行编程或擦除区域的位的电荷 不稳定, 存在着一些位的值有吋为 0, 有吋为 1的情况, 即不稳定位。 不稳定位 对文件系统或者其保存的数据会造成致命影响 。 比如: 正在编程过程中掉电, 重新启动后, 不稳定位都是正确值; 这样, 启动过程中文件系统驱动进行的恢 复操作就认为该页内容正确, 并按相应内容进行了恢复操作。 可是, 后续重新 上电或重启后, 该页内的不稳定位突然跳变, 而且超过 ECC纠错能力, 这样使得 该页数据非法。 文件系统分区中如果一个有效数据页内容非法 , 可能造成某个 文件数据异常导致数据丢失, 或者文件系统的原数据异常导致分区无法正常 挂 载文件系统从而导致整个分区无法访问。 所以, 掉电吋需要对编程操作进行保 护。

技术问题

[0007] 本发明所要解决的技术问题是: 提高一种提高 NAND FLASH可靠性的方法及 装置。

问题的解决方案

技术解决方案

[0008] 为了解决上述技术问题, 本发明采用的技术方案为: 提供一种提高 NAND

FLASH可靠性的方法, 包括如下步骤:

[0009] 在使用过程中, NAND FLASH进行读取、 擦除或编程的操作;

[0010] NAND控制器接收到中断信号后, 判断 NAND

FLASH当前的操作的类型; 所述 NAND FLASH包括支持完成一次 NAND的编程 操作的电容;

[0011] 若为编程操作, 利用所述电容完成编程操作, 通过 NAND

FLASH控制器复位 NAND FLASH, 结束当前正在进行的操作;

[0012] 若不为编程操作, 通过 NAND FLASH控制器复位 NAND FLASH, 结束当前正 在进行的操作。

[0013] 优选的, 上述的提高 NAND FLASH可靠性的方法中, 所述 NAND

FLASH包括 10口线, 用于触发电平发送中断信号至 NAND FLASH控制器。

[0014] 本发明的另一技术方案为提供一种提高 NAND FLASH可靠性的装置, 包括: [0015] 10口线, 用于触发电平发送中断信号至 NAND FLASH控制器;

[0016] 电容, 用于支持完成一次 NAND的编程操作的电容;

[0017] NAND控制器, 用于接收到中断信号后, 判断 NAND FLASH当前的操作的类型 ; 若为编程操作, 利用所述电容完成编程操作, 复位 NAND FLASH, 结束当前 正在进行的操作; 若不为编程操作, 复位 NAND FLASH , 结束当前正在进行的 操作。

发明的有益效果

有益效果

[0018] 本发明的有益效果在于: 与现有技术相比, 本发明抓住了掉电需要保护的关键 操作 -编程操作, 通过保证掉电吋完成整个编程操作, 有效避免了掉电对 NANDF LASH数据的损坏, 保证了使用 NANDFLASH终端的数据可靠性。 此外, 本发明 技术方案实现难度不大, 且增加的成本有限, 可用于产业化生产产品。

对附图的简要说明

附图说明

[0019] 图 1为本发明具体实施方式的提高 NAND FLASH可靠性的装置的结构框图: [0020] 1、 提高 NAND FLASH可靠性的装置; 11、 10口线; 12、 电容; 13、 NAND控 制器。

具体实施方式

[0021] NAND FLASH: 一种非易失闪存技术, 内部采用非线性宏单元模式, 为固态 大容量内存的实现提供了廉价有效的解决方案 。 具有容量较大, 改写速度快等 优点, 适用于大量数据的存储。

[0022] NOR FLASH: 一种非易失闪存技术, 读速度快, 改写速度慢, 容量较小。

[0023] 擦除: 将 FLASH中一个块 /扇区的所有数据位都变为 1, NANDFLASH擦除以块 为单位, 一个块包含多个页。

[0024] 编程: 将 FLASH中一个页 /字节的某些数据位变为 0, NANDFLASH编程以页为 单位。

[0025] UBL FLASH的逻辑卷管理层, 实现磨损平衡、 逻辑块管理、 卷管理和坏块管 理。

[0026] UBIFS: 一种用于 FLASH的日志文件系统, 基于 UBI实现。 [0027] NAND FLASH的一个块需要擦除后才能重新编程, 而编程是以页为单位, 所 以编程单位小于擦除单位。 这样, UBIFS等用于 NAND的文件系统, 如果需要擦 除一个块吋, 这个块中内容已经是标记为无效数据; 也就是说, 擦除的块中数 据都是无效的。 所以, 文件系统分区如果在擦除过程中掉电, 且出现了不稳定 位, 也不会影响这个分区文件系统的有效性和包含 数据的有效性。 由此, 对于 文件系统分区, 掉电吋只需要对编程操作进行保护, 而不需要对擦除操作进行 保护。 而且, 擦除操作吋间长达几毫秒, 也难以保证完成。 基于上面的原理, 我们只需要实现在掉电吋保证一个页的擦除操 作完成即可。

[0028] 本发明最关键的构思在于: 本发明通过保证编程过程不受掉电干扰, 从而有效 避免了掉电对 NAND FLASH数据的损坏, 保证了使用 NANDFLASH终端的数据 可靠性。

[0029]

[0030] 请参照图 1, 本发明提供一种提高 NAND FLASH可靠性的方法, 包括如下步骤

[0031] 在使用过程中, NAND FLASH进行读取、 擦除或编程的操作;

[0032] NAND控制器接收到中断信号后, 判断 NAND

FLASH当前的操作的类型; 所述 NAND FLASH包括支持完成一次 NAND的编程 操作的电容; 所述 NAND

FLASH包括 10口线, 用于触发电平发送中断信号至 NAND FLASH控制器。

[0033] 若为编程操作, 利用所述电容完成编程操作, 通过 NAND

FLASH控制器复位 NAND FLASH, 结束当前正在进行的操作;

[0034] 若不为编程操作, 通过 NAND FLASH控制器复位 NAND FLASH, 结束当前正 在进行的操作。

[0035] 使处理器一直在上述步骤"判断 NAND FLASH当前的操作的类型"后至步骤结束 中循环而不返回, 避免中断处理程序返回后进行其他操作, 等待系统掉电关机

[0036]

[0037] 本发明还提供一种提高 NAND FLASH可靠性的装置 1, 包括: [0038] 10口线 11, 用于触发电平发送中断信号至 NAND FLASH控制器;

[0039] 电容 12, 用于支持完成一次 NAND的编程操作的电容;

[0040] NAND控制器 13, 用于接收到中断信号后, 判断 NAND FLASH当前的操作的类 型; 若为编程操作, 利用所述电容完成编程操作, 复位 NAND FLASH , 结束当 前正在进行的操作; 若不为编程操作, 复位 NAND FLASH , 结束当前正在进行 的操作。

[0041]

[0042] 本发明上述提高 NAND FLASH可靠性的方法及装置中:

[0043] 硬件上实现了下面特性:

[0044] 1)、 掉电中断: 在掉电吋, 10口线触发电平, 并产生中断信号; 2)、 在掉电吋 , 电容可支持完成一次 NAND的编程操作。 对于页大小 2KB的 NAND, 一页编程 操作最大吋间大约 700微秒, 典型值 200微秒。

[0045] 软件上的实现具体如下 (NAND控制器接收中断信号后) :

[0046] 1) 检査 NAND控制器, 确定是否有操作正在进行中, 如果有, 确定操作类型

(编程 /擦除 /读取) ;

[0047] 2) 如果是编程操作, 等待编程操作完成, 通过控制器复位 NAND, 结束当前 正在进行的操作; 如果不是编程操作, 通过控制器复位 NAND, 结束当前正在进 行的操作;

[0048] 3) 用 while(l); 等语句让处理器一直在上述 1) 和步骤 2) 中循环而不返回, 避 免中断处理程序返回后进行其他操作, 等待系统掉电关机。

[0049] 通过上面的软硬件结合措施, 保证了掉电吋编程操作完成, 从而有效避免了因 为掉电导致文件系统分区数据损坏甚至整个分 区损坏, 提高了终端可靠性。

[0050] 综上所述, 本发明提供的提高 NAND FLASH可靠性的方法及装置抓住了掉电 需要保护的关键操作 -编程操作, 通过保证掉电吋完成整个编程操作, 有效避免 了掉电对 NANDFLASH数据的损坏, 保证了使用 NANDFLASH终端的数据可靠 性。 此外, 本发明技术方案实现难度不大, 且增加的成本有限, 可用于产业化 生产产品。

[]