首页> 中国专利> 快闪存储器控制器与存储装置以及快闪存储器控制方法

快闪存储器控制器与存储装置以及快闪存储器控制方法

摘要

一种快闪存储器控制器与存储装置以及快闪存储器控制方法。所公开的快闪存储器控制器以一第一易失性存储器空间存储一主机以及一快闪存储器之间的逻辑-物理地址映射表的数据,并且存储上述逻辑-物理地址映射表的数据的侦错码。该快闪存储器控制器的微控制器在读取该第一易失性存储器空间时包括基于上述侦错码实施一侦错程序。当该侦错程序指示该逻辑-物理地址映射表的数据产生错误时,该微控制器基于上述逻辑-物理地址映射表的数据的一备份修复该第一易失性存储器空间上的上述逻辑-物理地址映射表的数据。

著录项

  • 公开/公告号CN103995784A

    专利类型发明专利

  • 公开/公告日2014-08-20

    原文格式PDF

  • 申请/专利权人 威盛电子股份有限公司;

    申请/专利号CN201410218979.X

  • 发明设计人 蔡金印;赖义麟;

    申请日2014-05-22

  • 分类号G06F12/06(20060101);G11C29/44(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人史新宏

  • 地址 中国台湾新北市

  • 入库时间 2023-12-17 00:50:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-01

    授权

    授权

  • 2014-09-17

    实质审查的生效 IPC(主分类):G06F12/06 申请日:20140522

    实质审查的生效

  • 2014-08-20

    公开

    公开

说明书

技术领域

本发明涉及数据存储装置,特别涉及快闪存储器(FLASH memory)控制技 术。

背景技术

现今数据存储装置常以快闪存储器(FLASH memory)为存储介质,常见型 式包括与非门型快闪存储器(即NAND FLASH)…等。

快闪存储器常用作存储卡(memory card)、通用串行总线闪存装置(USB  flash device)、固态硬盘(SSD)…等产品。另外有一种应用是采多芯片封装、 将快闪存储器与其控制器包装在一起─称为嵌入式快闪存储器模块(eMMC)。

快闪存储器的实体空间通常包括多个区块(blocks)。各区块包括多页 (pages)。一区块需要完整抹除(erase)后方能被重新配置。快闪存储器的数据更 新并非对同样存储空间作复写,而是将更新数据存储在闲置空间,至于旧存 储内容则转为无效。快闪存储器如此操作特性使得其存储空间的管理明显复 杂、且不同于其他类型的存储记忆元件。针对快闪存储器而特别设计的快闪 存储器控制器相应产生。

随着制成尺寸精化,快闪存储器控制器的可靠度也遭受考验。特别是, 宇宙粒子对精细工艺的半导体产品会有一定的损害,例如,粒子撞击现象 (Neutron Strike)。当这些粒子撞击到快闪存储器控制器中存储空间时,存储空 间中的数据可能会产生错误。

发明内容

本说明书公开多种实施方式提供高可靠度的快闪存储器控制技术。

在本发明一种实施方式中,所公开的一快闪存储器控制器以一第一易失 性存储器空间(memory space,又称为“记忆空间”)存储一主机以及 一快闪存储器之间的逻辑-物理地址映射表的数据,并且,该快闪存储器控制 器的微控制器使该第一易失性存储器空间更存储上述逻辑-物理地址映射表 的数据的侦错码。该微控制器在读取该第一易失性存储器空间时包括基于上 述侦错码实施一侦错程序。当该侦错程序指示该逻辑-物理地址映射表的数据 产生错误时,该微控制器基于上述逻辑-物理地址映射表的一备份修复该第一 易失性存储器空间上的上述逻辑-物理地址映射表的数据。

另有一实施方式是将上述快闪存储器控制器以及快闪存储器结合制作成 一数据存储装置。

另一种实施方式则是公开一种快闪存储器控制方法,包括以下步骤:提 供一第一易失性存储器空间,用作存储该主机以及该快闪存储器之间的逻辑- 物理地址映射表的数据,并存储上述逻辑-物理地址映射表的暂存数据的侦错 码;且在读取该第一易失性存储器空间时基于上述侦错码实施一侦错程序, 并且,当该侦错程序指示该逻辑-物理地址映射表的数据产生错误时,基于上 述逻辑-物理地址映射表的数据的一备份修复该第一易失性存储器空间所存 储的该逻辑-物理地址映射表的数据。

基于上述,本发明提供一种快闪存储器控制器以及数据存储装置以及快 闪存储器控制方法,可在快闪存储器控制器的易失性存储器中的数据因不预 期的因素产生错误(如受宇宙粒子撞击转态)时,得以察觉并修复错误。

下文特举实施例,并配合所附图示,详细说明本发明内容。

附图说明

图1根据本发明一种实施方式图解一数据存储装置100,更图解其中所 使用的一快闪存储器控制器104;

图2为流程图,根据本发明一种实施方式图解一快闪存储器控制器的易 失性存储器空间的写入操作;

图3为流程图,根据本发明一种实施方式图解一快闪存储器控制器的易 失性存储器空间的读取操作;

图4为流程图,根据本发明一种实施方式图解一快闪存储器控制器的易 失性存储器空间所暂存的映射表的修复操作。

【符号说明】

100~数据存储装置;      102~快闪存储器;

104~快闪存储器控制器;  106~主机;

108~非易失性存储器;

122~侦错(EDC)模块;  124~错误校正(ECC)模块;

BLK~区块;  Codes~固件程序代码;

Codes_with_ECC、FIFO_with_ECC~易失性存储器空间;

DataBlks~数据区块;

MCU~微控制器;

S202…S206、S302…S312、S402…S406~步骤;

Table_Backup~逻辑-物理地址映射表备份;

Table_with_EDC~易失性存储器空间。

具体实施方式

以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念, 且并非意图限制本发明内容。实际发明范围应依照权利要求书界定。

图1根据本发明一种实施方式图解一数据存储装置100。数据存储装置 100包括一快闪存储器(FLASH memory)102以及一快闪存储器控制器104。 快闪存储器控制器104系根据一主机106所下达的指令操作该快闪存储器 102。

快闪存储器102的存储空间被划分为多个区块(blocks,图示符号为BLK), 各区块BLK的空间更划分为多页(pages)。快闪存储器102的物理空间规划与 主机106端的逻辑地址有对应关系,此对应关系为主机106以及快闪存储器 102之间的一逻辑-物理地址映射表(logical-to-physical address mapping table)。 快闪存储器102除了有多个区块配置成的数据区块DataBlks,更可存储上述 逻辑-物理地址映射表的备份Table_Backup、以及固件程序代码Codes。在一 实施例中,此固件程序代码Codes为该主机106执行开机程序的一开机程序 代码(Booting Code)。

参考图1所示的快闪存储器控制器104架构,通过信号传输接口,快闪 存储器控制器104可执行快闪存储器102以及主机106之间的数据存取。快 闪存储器控制器104提供有一微控制器(microcontroller)MCU、侦错模块(error  detection module)EDC模块122、错误校正模块(error correction module)ECC模 块124以及易失性存储器空间Table_with_EDC、FIFO_with_ECC、以及 Codes_with_ECC。在微控制器MCU控制下,侦错模块EDC模块122可对传 输于两个信号传输接口之间的数据实施一侦错程序,并产生对应于该数据的 侦错码(error detection code)。相似的,在微控制器MCU控制下,错误校正模 块ECC模块124可对传输于两个信号传输接口之间的数据实施一错误校正程 序,并产生对应于该数据的错误校正码(error correction code)。在微控制器 MCU控制下,易失性存储器空间Table_with_EDC用暂存主机106以及快闪 存储器102之间的逻辑-物理地址映射表的数据,以及上述逻辑-物理地址映射 表的数据的侦错码。在一实施例中,侦错模块EDC模块是以总和检查运算 (check sum)的方式对侦错码侦错。易失性存储器空间FIFO_with_ECC用作主 机106以及快闪存储器102之间的数据缓冲(如,采先进先出(FIFO)技术),以 及存储缓冲于其中缓冲的数据的错误校正码(如ECC codes)。易失性存储器空 间Codes_with_ECC则用以存储由快闪存储器102载出的固件程序代码 Codes,以及存储固件程序代码Codes的错误校正码(如ECC codes)。

一种实施方式是令该快闪存储器控制器104以一静态随机存取存储器 (SRAM)提供上述第一、第二与第三易失性存储器空间。

藉由以上易失性存储器空间Table_with_EDC、FIFO_with_ECC、以及 Codes_with_ECC的规划,快闪存储器控制器104可靠度大幅提升。

以搭配侦错码与错误校正码技术的易失性存储器空间FIFO_with_ECC、 Codes_with_ECC而言,错误可基于其侦错码与错误校正码简单检测或校正。 一种实施方式中,易失性存储器空间FIFO_with_ECC、或Codes_with_ECC 的数据所搭配的错误校正码对512字节数据有1位校错的能力。

至于易失性存储器空间Table_with_EDC,考虑逻辑-物理地址映射表庞大 的数据量,仅搭配侦错码(如,运用低运算量的总和检查运算)。一种实施方式 中,易失性存储器空间Table_with_EDC对512字节的映射数据搭配1位的侦 错码。

如前所述,易失性存储器空间Table_with_EDC可用以存储主机106以及 快闪存储器102之间的逻辑-物理地址映射表的数据,以及暂存逻辑-物理地址 映射表的数据的侦错码。微控制器MCU在读取易失性存储器空间 Table_with_EDC时基于上述侦错码实施一侦错程序,以判断暂存逻辑-物理地 址映射表的数据是否产生错误。一旦检测到错误,微控制器MCU可基于逻 辑-物理地址映射表的备份Table_Backup修复该易失性存储器空间 Table_with_EDC中的逻辑-物理地址映射表的备份。在一实施方式中,逻辑- 物理地址映射表可以是备份在主机106的一非易失性存储器108中或快闪存 储器102中的一非易失性存储器(如备份Table_Backup)。

在此要特别说明的是,现有技术中快闪存储器控制器通常不具有易失性 存储器的数据侦错或校正功能。因此当现有技术的快闪存储器控制器的易失 性存储器中的数据因不预期的因素产生错误时,通常无法复原。基于本发明 以上技术,即便易失性存储器空间Table_with_EDC、FIFO_with_ECC、以及 Codes_with_ECC的数据因不预期的因素产生错误(如受宇宙粒子撞击转态) 时,微控制器MCU也得以察觉并修复。

本发明的一种实施方式特别以定周期方式(固定时间间隔T)对主机106与 快闪存储器102之间的逻辑-物理地址映射表作备份。该固定时间间隔T可基 于快闪存储器控制器104这些易失性存储器空间Table_with_EDC、 FIFO_with_ECC、以及Codes_with_ECC的工艺条件而设定,使各侦错码所负 责侦错的数据在固定时间间隔T内的宇宙粒子撞击转态的发生次数不超过各 侦错码的侦错能力。例如,以总和检查运算(check sum)为例,特定工艺条件 的半导体在固定时间间隔T中至多只能发生一次宇宙粒子撞击转态。固定时 间间隔T可以实验平均估算获得。

此外,以上易失性存储器空间Table_with_EDC、FIFO_with_ECC、以及 Codes_with_ECC的侦错与修复可在多种时间点执行。以下特别以易失性存储 器空间Table_with_EDC为例,凡是有需要读取或修改易失性存储器空间 Table_with_EDC的数据,都可执行上述侦错与修复。例如,主机106要求读 取快闪存储器102数据区块DataBlks时,微处理器MCU即需要自易失性存 储器空间Table_with_EDC读取逻辑-物理地址映射表,此时即可进行上述侦 错与修复。此外,在基于易失性存储器空间Table_with_EDC的内容作逻辑- 物理地址映射表的备份时(备份至快闪存储器102的备份Table_Backup、或备 份至主机106的非易失性存储器108),易失性存储器空间Table_with_EDC也 会被读取,此时机点也可进行上述侦错与修复,以确保系对正确数据作备份。 另外,微控制器MCU在将上述逻辑-物理地址映射表的数据载入易失性存储 器空间Table_with_EDC之前也可对欲载入的逻辑-物理地址映射表数据基于 所对应的侦错码进行侦错程序。易失性存储器空间FIFO_with_ECC以及 Codes_with_ECC的数据的错误校正程序也可类似以上时间点进行。

图2为流程图,根据本发明一种实施方式图解一快闪存储器控制器的易 失性存储器空间的写入操作。步骤S202作数据类型判断。倘若数据为逻辑- 物理地址映射表,写入动作是采步骤S204,执行侦错码(如,EDC codes)编码, 并使逻辑-物理地址映射表的存储数据搭配其侦错码写入如图1所示的易失性 存储器空间Table_with_EDC。倘若数据为沟通于主机106与快闪存储器102 间的缓冲数据、或数据为载自快闪存储器102的固件程序代码Codes,写入 动作是采步骤S206,执行错误校正码(如,ECC codes)编码,并使缓冲数据、 或固件程序代码搭配错误校正码写入如图1所示的易失性存储器空间 FIFO_with_ECC或Codes_with_ECC。

图3为流程图,根据本发明一种实施方式图解一快闪存储器控制器的易 失性存储器空间的读取操作。步骤S302作数据类型判断。倘若数据为逻辑- 物理地址映射表,读取动作是采步骤S304,基于所读取数据对应的侦错码进 行侦错。倘若步骤S306判定无错误,流程进行步骤S308,以正确的逻辑物 理地址映射表作为读出数据。倘若步骤S306判定有错误,流程进行步骤S310, 修复映射表后再作步骤S308,以正确的逻辑物理地址映射表作为读出数据。 倘若数据为缓冲数据、或固件程序代码,读取动作是采步骤S312,基于错误 校正码校错,以正确的缓冲数据、或固件程序代码作为读出数据。

图4为流程图,根据本发明一种实施方式图解快闪存储器控制器104的 易失性存储器空间Table_with_EDC所暂存的逻辑-物理地址映射表数据的修 复操作。步骤S402负责取得最近一次更新的逻辑-物理地址映射表的备份, 可取自快闪存储器102内的Table_Backup或主机106的非易失性存储器108。 步骤S404负责扫描快闪存储器102,寻得逻辑-物理地址映射表的备份中来不 及更新的信息。步骤S406则是基于步骤S402所取得最近一次更新的逻辑- 物理地址映射表的备份、以及步骤S404自备份中来不及更新的信息,修复快 闪存储器控制器104的易失性存储器空间Table_with_EDC所暂存的逻辑-物 理地址映射表相关数据。

在一种实施方式中,上述技术步骤皆可以编程方式呈固件实现;相关程 序代码可内建于快闪存储器控制器中,或在数据存储装置开机时载入该快闪 存储器控制器,且系由快闪存储器控制器的微控制器执行。此外,其他采用 同样概念控制一快闪存储器的技术都属于本申请所欲保护的范围。本申请还 涉及快闪存储器的控制方法,不限定以特定控制器架构实现。

虽然本发明已以优选实施例公开如上,然其并非用以限定本发明,本领 域技术人员在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此 本发明的保护范围当视所附权利要求书界定范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号