CN103995784B - 快闪存储器控制器与存储装置以及快闪存储器控制方法 - Google Patents
快闪存储器控制器与存储装置以及快闪存储器控制方法 Download PDFInfo
- Publication number
- CN103995784B CN103995784B CN201410218979.XA CN201410218979A CN103995784B CN 103995784 B CN103995784 B CN 103995784B CN 201410218979 A CN201410218979 A CN 201410218979A CN 103995784 B CN103995784 B CN 103995784B
- Authority
- CN
- China
- Prior art keywords
- data
- flash memory
- error
- volatile memory
- physical address
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000013507 mapping Methods 0.000 claims abstract description 60
- 230000008439 repair process Effects 0.000 claims abstract description 8
- 238000013500 data storage Methods 0.000 claims description 10
- 238000012937 correction Methods 0.000 claims description 8
- 239000002245 particle Substances 0.000 claims description 8
- 230000007704 transition Effects 0.000 claims description 6
- 230000003139 buffering effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 230000009471 action Effects 0.000 claims description 2
- 230000003068 static effect Effects 0.000 claims description 2
- 238000011084 recovery Methods 0.000 claims 2
- 230000004044 response Effects 0.000 claims 2
- 230000035939 shock Effects 0.000 claims 2
- 238000010304 firing Methods 0.000 claims 1
- 238000001514 detection method Methods 0.000 abstract description 5
- 230000008054 signal transmission Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种快闪存储器控制器与存储装置以及快闪存储器控制方法。所公开的快闪存储器控制器以一第一易失性存储器空间存储一主机以及一快闪存储器之间的逻辑‑物理地址映射表的数据,并且存储上述逻辑‑物理地址映射表的数据的侦错码。该快闪存储器控制器的微控制器在读取该第一易失性存储器空间时包括基于上述侦错码实施一侦错程序。当该侦错程序指示该逻辑‑物理地址映射表的数据产生错误时,该微控制器基于上述逻辑‑物理地址映射表的数据的一备份修复该第一易失性存储器空间上的上述逻辑‑物理地址映射表的数据。
Description
技术领域
本发明涉及数据存储装置,特别涉及快闪存储器(FLASH memory)控制技术。
背景技术
现今数据存储装置常以快闪存储器(FLASH memory)为存储介质,常见型式包括与非门型快闪存储器(即NAND FLASH)…等。
快闪存储器常用作存储卡(memory card)、通用串行总线闪存装置(USB flashdevice)、固态硬盘(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的错误校正码(如ECCcodes)。
一种实施方式是令该快闪存储器控制器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所暂存的逻辑-物理地址映射表相关数据。
在一种实施方式中,上述技术步骤皆可以编程方式呈固件实现;相关程序代码可内建于快闪存储器控制器中,或在数据存储装置开机时载入该快闪存储器控制器,且系由快闪存储器控制器的微控制器执行。此外,其他采用同样概念控制一快闪存储器的技术都属于本申请所欲保护的范围。本申请还涉及快闪存储器的控制方法,不限定以特定控制器架构实现。
虽然本发明已以优选实施例公开如上,然其并非用以限定本发明,本领域技术人员在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视所附权利要求书界定范围为准。
Claims (12)
1.一种快闪存储器控制器,根据一主机所下达的指令操作一快闪存储器,包括:
第一易失性存储器空间,用以存储该主机以及该快闪存储器之间的逻辑-物理地址映射表的数据,以及存储该逻辑-物理地址映射表的数据的侦错码;以及
第二易失性存储器空间,存储从该快闪存储器下载的固件代码和来自于从该快闪存储器读取的固件代码的错误校正码,其中来自于该固件代码的错误校正码响应于将固件代码写入第二易失性存储器空间的写入操作而生成;以及
微控制器,用以在读取该第一易失性存储器空间时基于上述侦错码实施侦错程序,以及当读取该第二易失性存储空间时,基于该错误校正码执行错误校正过程;
其中,当该侦错程序指示存储于该第一易失性存储器空间上的该逻辑-物理地址映射表的数据产生错误时,该微控制器基于上述逻辑-物理地址映射表的数据的备份修复该第一易失性存储器空间上的上述逻辑-物理地址映射表的数据。
2.如权利要求1所述的快闪存储器控制器,其中该微控制器以一固定时间间隔更新该备份;且
上述固定时间间隔基于该第一易失性存储器空间的工艺条件而设定,使该第一易失性存储器空间中各侦错码所负责侦错的数据在上述固定时间间隔内的宇宙粒子撞击转态发生次数不超过各侦错码的侦错能力。
3.如权利要求1所述的快闪存储器控制器,其中,该备份存储于该快闪存储器或存储于该主机的非易失性存储器上。
4.如权利要求1所述的快闪存储器控制器,其中:
该微控制器还在将上述逻辑-物理地址映射表的数据载入该第一易失性存储器空间之前对欲载入的上述逻辑-物理地址映射表的数据基于所对应的该侦错码实施该侦错程序,该侦错码由一侦错模块产生。
5.如权利要求1所述的快闪存储器控制器,还包括:
第三易失性存储器空间,用作该主机以及该快闪存储器之间的数据缓冲,以及存储缓冲于其中的数据的一错误校正码,
其中:
该微控制器还在读取该第三易失性存储器空间中的一缓冲数据时基于上述缓冲数据的错误校正码实施错误校正程序;
上述缓冲数据的错误校正码由错误校正模块产生。
6.如权利要求5所述的快闪存储器控制器,还包括:
静态随机存取存储器,提供上述第一、第二和第三易失性存储器空间。
7.一种数据存储装置,包括如权利要求1所述的快闪存储器控制器以及上述快闪存储器。
8.一种快闪存储器控制方法,根据主机所下达的指令操作快闪存储器,包括:
提供第一易失性存储器空间,用以存储该主机以及该快闪存储器之间的逻辑-物理地址映射表的数据,以及存储该逻辑-物理地址映射表的数据的侦错码;
提供第二易失性存储器空间,用以存储从该快闪存储器下载的固件代码和从读取自该快闪存储器的固件代码编码的错误校正码,其中从该固件代码编码的错误校正码响应于将固件代码写入第二易失性存储器空间的写入操作生成;以及
在读取该第一易失性存储器空间时基于上述侦错码实施侦错程序,以及当读取该第二易失性存储空间时,基于该错误校正码执行错误校正过程;
其中,当该侦错程序指示存储于该第一易失性存储器空间上的该逻辑-物理地址映射表的数据产生错误时,基于上述逻辑-物理地址映射表的数据的备份修复该第一易失性存储器空间所存储的该逻辑-物理地址映射表的数据。
9.如权利要求8所述的快闪存储器控制方法,还包括:
以固定时间间隔更新该备份;
其中,上述固定时间间隔基于该第一易失性存储器空间的工艺条件而设定,使该第一易失性存储器空间中各侦错码所负责侦错的数据在上述固定时间间隔内的宇宙粒子撞击转态发生次数不超过各侦错码的侦错能力。
10.如权利要求8所述的快闪存储器控制方法,还包括:
以该快闪存储器、或该主机内的非易失性存储器存储上述逻辑-物理地址映射表的数据的该备份。
11.如权利要求8所述的快闪存储器控制方法,还包括:
在将上述逻辑-物理地址映射表的数据载入该第一易失性存储器空间之前,对欲载入的上述逻辑-物理地址映射表的数据基于所对应的该侦错码实施该侦错程序,该侦错码由侦错模块产生。
12.如权利要求8所述的快闪存储器控制方法,还包括:
提供第三易失性存储器空间,用作该主机以及该快闪存储器之间的数据缓冲,以及存储缓冲于其中的数据的一错误校正码;以及
在读取该第三易失性存储器空间中的一缓冲数据时,基于上述缓冲数据的错误校正码实施错误校正程序;
其中,上述缓冲数据的错误校正码由一错误校正模块产生。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103114630A TWI522804B (zh) | 2014-04-23 | 2014-04-23 | 快閃記憶體控制器以及資料儲存裝置以及快閃記憶體控制方法 |
TW103114630 | 2014-04-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103995784A CN103995784A (zh) | 2014-08-20 |
CN103995784B true CN103995784B (zh) | 2017-12-01 |
Family
ID=51309956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410218979.XA Active CN103995784B (zh) | 2014-04-23 | 2014-05-22 | 快闪存储器控制器与存储装置以及快闪存储器控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9817725B2 (zh) |
CN (1) | CN103995784B (zh) |
TW (1) | TWI522804B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10379926B2 (en) * | 2014-08-05 | 2019-08-13 | Macronix International Co., Ltd. | Method and device for monitoring data error status in a memory |
CN106303708A (zh) * | 2015-06-02 | 2017-01-04 | 冠捷投资有限公司 | 内存备份的方法 |
CN105159697A (zh) * | 2015-07-09 | 2015-12-16 | 捷鼎国际股份有限公司 | 存贮装置的韧体更新结构及方法 |
US10255004B2 (en) * | 2015-11-16 | 2019-04-09 | Marvell World Trade Ltd. | Systems and methods for managing address-mapping data in memory devices |
TWI587132B (zh) * | 2016-01-21 | 2017-06-11 | 瑞昱半導體股份有限公司 | 記憶體裝置以及映射表保證方法 |
CN107015913B (zh) * | 2016-01-28 | 2020-06-05 | 合肥沛睿微电子股份有限公司 | 记忆体装置以及映射表保证方法 |
CN107765989B (zh) * | 2016-08-16 | 2020-08-11 | 上海磁宇信息科技有限公司 | 一种存储设备控制芯片、存储设备及存储设备管理方法 |
US10127103B2 (en) * | 2016-09-07 | 2018-11-13 | Sandisk Technologies Llc | System and method for detecting and correcting mapping table errors in a non-volatile memory system |
TWI592796B (zh) * | 2016-09-19 | 2017-07-21 | Univ Nat Central | 運用於雲端服務之虛擬機之封包察覺式容錯方法及系統、電腦可讀取之記錄媒體及電腦程式產品 |
CN106875977A (zh) * | 2017-02-27 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种固态硬盘调试方法及装置 |
CN108572887A (zh) * | 2017-03-14 | 2018-09-25 | 上海骐宏电驱动科技有限公司 | 数据检验校正方法 |
US10339343B2 (en) * | 2017-06-06 | 2019-07-02 | Western Digital Technologies, Inc. | Storage system and method for improved generation and storage of data protection information |
KR20190004094A (ko) * | 2017-07-03 | 2019-01-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN108228104B (zh) * | 2017-12-29 | 2021-04-20 | 深圳忆联信息***有限公司 | 数据传输方法及固态硬盘控制器 |
US10594366B2 (en) * | 2018-04-26 | 2020-03-17 | RayMX Microelectronics, Corp. | Storage device, memory controller circuit, and monitoring method thereof |
TWI668566B (zh) * | 2018-06-05 | 2019-08-11 | 和碩聯合科技股份有限公司 | 記憶體檢測系統、記憶體檢測方法以及用於記憶體檢測的錯誤映射表建立方法 |
KR102589402B1 (ko) | 2018-10-04 | 2023-10-13 | 삼성전자주식회사 | 스토리지 디바이스 및 스토리지 디바이스의 동작 방법 |
CN109446108A (zh) * | 2018-10-25 | 2019-03-08 | 江苏华存电子科技有限公司 | 一种基于静态随机存取存储器快速搜寻有效闪存页的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1573703A (zh) * | 2003-06-11 | 2005-02-02 | 国际商业机器公司 | 检测用于存储***中写错误的设备与方法 |
TW201122816A (en) * | 2009-12-28 | 2011-07-01 | Via Tech Inc | Data storage system and method |
CN102203740A (zh) * | 2011-05-27 | 2011-09-28 | 华为技术有限公司 | 数据处理方法、装置及*** |
TW201407628A (zh) * | 2012-08-08 | 2014-02-16 | Phison Electronics Corp | 記憶體儲存裝置、其記憶體控制器與資料處理方法 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6708231B1 (en) * | 1999-08-12 | 2004-03-16 | Mitsumi Electric Co., Ltd. | Method and system for performing a peripheral firmware update |
GB0123415D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
WO2006026645A2 (en) * | 2004-08-30 | 2006-03-09 | Silicon Storage Technology, Inc. | Systems and methods for providing nonvolatile memory management in wireless phones |
US8341491B2 (en) * | 2007-07-16 | 2012-12-25 | Cadence Design Systems, Inc. | System and method for providing data integrity in a non-volatile memory system |
US8656083B2 (en) * | 2007-12-21 | 2014-02-18 | Spansion Llc | Frequency distributed flash memory allocation based on free page tables |
US7941692B2 (en) * | 2007-12-31 | 2011-05-10 | Intel Corporation | NAND power fail recovery |
TWI362668B (en) * | 2008-03-28 | 2012-04-21 | Phison Electronics Corp | Method for promoting management efficiency of an non-volatile memory storage device, non-volatile memory storage device therewith, and controller therewith |
US8185778B2 (en) * | 2008-04-15 | 2012-05-22 | SMART Storage Systems, Inc. | Flash management using separate metadata storage |
US7917803B2 (en) * | 2008-06-17 | 2011-03-29 | Seagate Technology Llc | Data conflict resolution for solid-state memory devices |
JP2010152542A (ja) * | 2008-12-24 | 2010-07-08 | Toshiba Corp | メモリシステム |
US8429135B1 (en) * | 2009-06-11 | 2013-04-23 | Cisco Technology, Inc. | Processor fault tolerance through translation lookaside buffer refresh |
KR101631162B1 (ko) * | 2009-06-11 | 2016-06-17 | 삼성전자주식회사 | 플래시 메모리를 구비하는 저장 장치 및 이의 데이터 저장 방법 |
US8495423B2 (en) * | 2009-08-11 | 2013-07-23 | International Business Machines Corporation | Flash-based memory system with robust backup and restart features and removable modules |
TWI408551B (zh) * | 2009-10-28 | 2013-09-11 | Phison Electronics Corp | 快閃記憶體儲存系統及其控制器與資料處理方法 |
CN101876949B (zh) * | 2009-11-30 | 2012-04-25 | 威盛电子股份有限公司 | 数据储存***与方法 |
KR101139187B1 (ko) * | 2009-12-28 | 2012-04-26 | (주)인디링스 | 버퍼 없이 에러를 검출하고 정정하는 컨트롤러 및 그 컨트롤러의 동작 방법 |
JP4901987B1 (ja) * | 2010-09-14 | 2012-03-21 | 株式会社東芝 | 記憶装置、電子機器及び誤りデータの訂正方法 |
US8645609B2 (en) * | 2010-12-06 | 2014-02-04 | Brocade Communications Systems, Inc. | Two-port memory implemented with single-port memory blocks |
TWI447579B (zh) | 2011-05-18 | 2014-08-01 | Phison Electronics Corp | 程式碼載入與存取方法、記憶體控制器與記憶體儲存裝置 |
KR20130076430A (ko) * | 2011-12-28 | 2013-07-08 | 삼성전자주식회사 | 적응적 카피백 방법 및 이를 이용한 저장 장치 |
US9268682B2 (en) | 2012-10-05 | 2016-02-23 | Skyera, Llc | Methods, devices and systems for physical-to-logical mapping in solid state drives |
US9489296B1 (en) * | 2012-10-17 | 2016-11-08 | Western Digital Technologies, Inc. | Methods, devices and systems for hardware-based garbage collection in solid state drives |
US9251067B1 (en) * | 2012-11-01 | 2016-02-02 | Western Digital Technologies, Inc. | High speed trim command processing in a solid state drive |
US9454474B2 (en) * | 2013-03-05 | 2016-09-27 | Western Digital Technologies, Inc. | Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive |
US20140281148A1 (en) * | 2013-03-15 | 2014-09-18 | Kabushiki Kaisha Toshiba | Memory system |
US9170938B1 (en) * | 2013-05-17 | 2015-10-27 | Western Digital Technologies, Inc. | Method and system for atomically writing scattered information in a solid state storage device |
US8953365B2 (en) * | 2013-06-07 | 2015-02-10 | International Business Machines Corporation | Capacitor backup for SRAM |
US9135113B2 (en) * | 2013-10-08 | 2015-09-15 | Apple Inc. | Recovery from programming failure in non-volatile memory |
TWI502345B (zh) * | 2014-05-12 | 2015-10-01 | Via Tech Inc | 快閃記憶體控制晶片以及資料儲存裝置以及快閃記憶體控制方法 |
-
2014
- 2014-04-23 TW TW103114630A patent/TWI522804B/zh active
- 2014-05-22 CN CN201410218979.XA patent/CN103995784B/zh active Active
- 2014-10-15 US US14/514,733 patent/US9817725B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1573703A (zh) * | 2003-06-11 | 2005-02-02 | 国际商业机器公司 | 检测用于存储***中写错误的设备与方法 |
TW201122816A (en) * | 2009-12-28 | 2011-07-01 | Via Tech Inc | Data storage system and method |
CN102203740A (zh) * | 2011-05-27 | 2011-09-28 | 华为技术有限公司 | 数据处理方法、装置及*** |
TW201407628A (zh) * | 2012-08-08 | 2014-02-16 | Phison Electronics Corp | 記憶體儲存裝置、其記憶體控制器與資料處理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103995784A (zh) | 2014-08-20 |
TWI522804B (zh) | 2016-02-21 |
TW201541251A (zh) | 2015-11-01 |
US9817725B2 (en) | 2017-11-14 |
US20150309886A1 (en) | 2015-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103995784B (zh) | 快闪存储器控制器与存储装置以及快闪存储器控制方法 | |
CN108733510B (zh) | 数据储存装置及映射表重建方法 | |
TWI662410B (zh) | 資料儲存裝置與記憶體裝置之資料處理方法 | |
US8452929B2 (en) | Method and system for storage of data in non-volatile media | |
US20160239228A1 (en) | Method and system for storage of data in a non-volatile media | |
US9575844B2 (en) | Mass storage device and method of operating the same to back up data stored in volatile memory | |
TWI645404B (zh) | 資料儲存裝置以及非揮發式記憶體操作方法 | |
TW201916018A (zh) | 資料儲存裝置與將資料寫入記憶體裝置之方法 | |
CN109582216B (zh) | 数据储存装置与存储器装置的数据处理方法 | |
CN105740157A (zh) | 数据储存装置以及快闪存储器控制方法 | |
CN109976938B (zh) | 数据储存装置以及非挥发式存储器操作方法 | |
TWI554886B (zh) | 資料保護方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN103984506B (zh) | 闪存存储设备数据写的方法和*** | |
US10127099B2 (en) | Bad sector repair method and apparatus | |
CN109697170B (zh) | 存取闪存模块的方法及相关的闪存控制器与电子装置 | |
TW201131572A (en) | Solid state storage system for controlling reserved area and method of controlling the same | |
TW201913380A (zh) | 資料儲存裝置以及其操作方法 | |
CN111459708B (zh) | 坏块处理方法及装置 | |
JP2016189187A (ja) | 記録装置、および情報処理装置 | |
CN114860500A (zh) | Nvm的故障注入方法及其存储设备 | |
CN117520213A (zh) | 数据处理方法、装置、计算机设备及可读存储介质 | |
KR101467302B1 (ko) | 에러 검출 테이블을 이용한 패스트 부팅 방법 및 이를 적용한 시스템 | |
KR20140112604A (ko) | 에러 검출 테이블 생성에 의한 스토리지 관리 방법 및 이를 적용한 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |