[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN104021089A - 快闪存储器控制芯片与存储装置以及快闪存储器控制方法 - Google Patents

快闪存储器控制芯片与存储装置以及快闪存储器控制方法 Download PDF

Info

Publication number
CN104021089A
CN104021089A CN201410224752.6A CN201410224752A CN104021089A CN 104021089 A CN104021089 A CN 104021089A CN 201410224752 A CN201410224752 A CN 201410224752A CN 104021089 A CN104021089 A CN 104021089A
Authority
CN
China
Prior art keywords
flash memory
storage space
root form
nonvolatile storage
pointer
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
CN201410224752.6A
Other languages
English (en)
Other versions
CN104021089B (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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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 Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN104021089A publication Critical patent/CN104021089A/zh
Application granted granted Critical
Publication of CN104021089B publication Critical patent/CN104021089B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

快闪存储器控制芯片与存储装置以及快闪存储器控制方法。所公开的快闪存储器控制技术是:使一主机与一快闪存储器之间的逻辑-物理地址映射关系记录于该快闪存储器上;使该快闪存储器记录一根表格,载有一映射关系指针指向上述逻辑-物理地址映射关系;且,提供一第一非易失性存储空间记录一根表格指针指向该根表格。关于主机下达的一复电命令,所公开的技术基于上述根表格指针访问该快闪存储器,以收集上述逻辑-物理地址映射关系。

Description

快闪存储器控制芯片与存储装置以及快闪存储器控制方法
技术领域
本发明涉及数据存储装置,特别涉及快闪存储器(FLASH memory)控制技术。
背景技术
现今数据存储装置常以快闪存储器(FLASH memory)为存储介质,常见型式包括与非门型快闪存储器(即NAND FLASH)。
快闪存储器常用作存储卡(memory card)、通用串行总线闪存装置(USBflash device)、固态硬盘(SSD)…等产品。另外有一种应用是采多芯片封装、将快闪存储器与其控制芯片包装在一起─称为嵌入式快闪存储器模块(eMMC)。
快闪存储器的物理空间通常包括多个区块(blocks)。各区块包括多页(pages)。一区块需要完整抹除(erase)后方能被重新配置。快闪存储器的数据更新并非对同样存储空间作复写,而是将更新数据存储在闲置空间,旧存储内容则可视为无效。快闪存储器如此操作特性使得其存储空间的管理明显复杂、且不同于其他类型的存储记忆元件。为了要管理快闪存储器,通常会在存储空间中记录主机与快闪存储器之间的逻辑-物理地址映射关系。伴随着主机存取快闪存储器时,此逻辑-物理地址映射关系通常需要随之更新。然而当在更新过程被掉电事件中断,且随后的复电发生时,快闪存储器需大量时间扫描其存储空间的全部区块,以取得正确的逻辑-物理地址映射关系。
发明内容
根据本发明一种实施方式所实现的一快闪存储器控制芯片根据一主机所下达的指令操作一快闪存储器、且包括一第一非易失性存储空间以及一微处理器。该微处理器使该主机与该快闪存储器之间的逻辑-物理地址映射关系记录于该快闪存储器上,并使该快闪存储器记录一根表格。该根表格载有一映射关系指针,指示上述逻辑-物理地址映射关系载于该快闪存储器何处。此外,该微处理器更令该第一非易失性存储空间记录一根表格指针指向该快闪存储器所载的该根表格,以于处理主机下达的一复电命令时基于该根表格指针自该快闪存储器收集上述逻辑-物理地址映射关系。如此一来,相较于传统技术,本申请技术无须耗费时间逐空间扫描该快闪存储器,即可迅速收集到该主机与该快闪存储器之间的逻辑-物理地址映射关系。
另有一实施方式是将上述快闪存储器控制芯片以及快闪存储器结合制作成一数据存储装置。
另一种实施方式则是公开一种快闪存储器控制方法,包括以下步骤:提供一第一非易失性存储空间;使一主机与一快闪存储器之间的逻辑-物理地址映射关系记录于该快闪存储器上;使该快闪存储器记录一根表格,载有一映射关系指针指向上述逻辑-物理地址映射关系;且以该第一非易失性存储空间记录一根表格指针指向该根表格,以随主机下达的一复电命令基于该根表格指针自该快闪存储器收集上述逻辑-物理地址映射关系。
基于上述,本发明提供一种快闪存储器控制芯片与存储装置以及快闪存储器控制方法,在回应掉电事件后的一复电命令时,可藉由根表格指针快寻得快闪存储器所载的逻辑-物理地址映射关系。
下文特举实施例,并配合所附图示,详细说明本发明内容。
附图说明
图1根据本发明一种实施方式图解一数据存储装置100,更图解其中所使用的一快闪存储器控制芯片102;
图2为流程图,根据本发明一种实施方式图解一快闪存储器的操作程序;
图3A为流程图,其基于图1所示架构详述图2步骤S202内容;
图3B为流程图,其基于图1所示架构详述图2步骤S206内容;且
图4示意第一与第二非易失性存储空间NVM1与NVM2的更新先后如何分辨。
【符号说明】
100~数据存储装置;     102~快闪存储器控制芯片;
104~快闪存储器;       106~主机;
108、110~信号传输接口;
BLK1、BLK2~区块;
CIS~卡信息结构指针;  CIS_Data~卡信息结构数据;
ECC1、ECC2~纠错码;
FIFO~缓冲单元;
FW~固件程序代码指针;  FW_Codes~固件程序代码;
FW_RAM~随机存取存储空间,用以存储固件程序代码;
H2F~映射关系指针;
H2F_Table1、H2F_Table2~逻辑-物理地址映射关系;
MCU~微处理器;
NVM1、NVM2~第一、第二非易失性存储空间;
NVMR1、NVMR2~分别指向根表格Root_Table1、Root_Table2的根表格指针;
Page1…Page3~页;
ROM~只读存储器;
Root_Table1、Root_Table2~根表格;
S202…S206、S302、S304、S312…S330~步骤;
Table_RAM~随机存取存储空间,用以存储逻辑-物理地址映射表。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照权利要求书界定。
图1根据本发明一种实施方式图解一数据存储装置100。数据存储装置100包括一快闪存储器控制芯片102以及一快闪存储器(FLASH memory)104。快闪存储器控制芯片102根据一主机106所下达的指令操作该快闪存储器104。
参考图1所示的快闪存储器控制芯片102架构,快闪存储器控制芯片102可通过信号传输接口108与主机106沟通、并通过信号传输接口110与快闪存储器104沟通。信号传输接口108与110之间设置有缓冲单元FIFO。此外,快闪存储器控制芯片102尚设置了其他存储空间作各种功用。缓冲单元FIFO以及上述的存储空间皆由快闪存储器控制芯片102的微处理器MCU操作。上述的存储空间可为易失性存储空间以及非易失性存储空间。在本实施例中,易失性存储空间可为随机存取空间Table_RAM以及随机存取空间FW_RAM,而非易失性存储空间可为只读存储器ROM、第一非易失性存储空间NVM1以及第二非易失性存储空间NVM2。随机存取空间Table_RAM用来实时记录主机106与快闪存储器104之间的逻辑-物理地址映射关系。随机存取空间FW_RAM用来暂存载自该快闪存储器104的固件程序。只读存储器ROM则存储只读程序代码(ROM codes)交由该微处理器MCU执行。第一非易失性存储空间NVM1以及一第二非易失性存储空间NVM2(可以MRAM、RRAM、或任何非易失性存储器实现),所存储信息便于该微处理器MCU收集该主机106与该快闪存储器104之间的逻辑-物理地址映射关系。
在微处理器MCU运算下,主机106与快闪存储器104之间的逻辑-物理地址映射关系会记录于快闪存储器104上。上述逻辑-物理地址映射关系可以阶层(hierarchy)方式、或任何其他方式记载在该快闪存储器104。此外,微处理器MCU会使该快闪存储器104记录一根表格(root table),此根表格载有一「映射关系指针」用以指向快闪存储器104所记载的逻辑-物理地址映射关系。基于快闪存储器104的数据更新特性(数据更新并非对同样存储空间作复写,而是将更新数据存储在闲置空间),逻辑-物理地址映射关系若有更新(如,由H2F_Table1变动为H2F_Table2),其于快闪存储器104上的存储位置会有变动。对应地,微处理器MCU在快闪存储器104不同位置记录根表格Root_Table1与Root_Table2。根表格Root_Table1所载的映射关系指针H2F指示逻辑-物理地址映射关系H2F_Table1载于快闪存储器104何处(例如为逻辑-物理地址映射关系H2F_Table1在快闪存储器104的地址)。根表格Root_Table2所载的映射关系指针H2F指示逻辑-物理地址映射关系H2F_Table2载于快闪存储器104何处(例如为逻辑-物理地址映射关系H2F_Table2在快闪存储器104的地址)。至于根表格Root_Table1与Root_Table2位置,微处理器MCU则是在该第一与该第二非易失性存储空间NVM1与NVM2分别存储根表格指针NVMR1与NVMR2指示。第一非易失性存储空间NVM1所记录的根表格指针NVMR1指向该快闪存储器104所载的根表格Root_Table1的地址。第二非易失性存储空间NVM2所记录的根表格指针NVMR2指向该快闪存储器104所载的根表格Root_Table2的地址。该第一与该第二非易失性存储空间NVM1与NVM2随「根表格」每次更新轮替记录「根表格指针」;所指示的根表格(参考Root_Table1与Root_Table2)对应该快闪存储器104上、逻辑-物理地址映射关系的最末两个版本(参考H2F_Table1与H2F_Table2,可互为备份),可用于回应掉电事件后的一复电命令。
例如,回应主机106下达的复电命令,微处理器MCU可以该第一或该第二非易失性存储空间NVM1或NVM2所载的「根表格指针」访问该快闪存储器104,寻得对应的「根表格」,继而根据「根表格」所载的映射关系指针H2F寻得快闪存储器104所载的一逻辑-物理地址映射关系。本申请所公开技术无须耗费时间逐空间扫描该快闪存储器104即可快速获得该主机106与该快闪存储器104之间的逻辑-物理地址映射关系。
在一种实施方式中,微处理器MCU更使该第一与该第二非易失性存储空间NVM1与NVM2皆为所载的「根表格指针」载有纠错码,分别为ECC1与ECC2。于处理一复电命令时,微处理器MCU基于纠错码ECC1与ECC2判断该第一或该第二非易失性存储空间NVM1与NVM2的数据更新是否曾被掉电事件中断。未通过纠错的空间代表其数据更新当下可能有掉电事件发生。藉由如此纠错程序,互为备份用的两套非易失性存储空间NVM1与NVM2中未被掉电中断者可优先考虑。也就是说,优先以未被掉电中断者的根表格指针来收集快闪存储器104中的逻辑-物理地址映射关系。
在某些实施方式中,微处理器MCU也可使「根表格」内容搭配纠错码(如,也可采ECC技术)记录于快闪存储器104上,以于处理一复电命令时判断「根表格」于该快闪存储器104上的更新是否曾被掉电事件中断。不可信赖的「根表格」内容可藉此筛选出。
特别是,以上两套根表格指针NVMR1与NVMR2是为了在最优先根表格指针(或其所指示的根表格)不可用时,尚有备份可取代。
请注意,虽然上述实施例中,快闪存储器控制芯片102以多个根表格指针取得正确的逻辑-物理地址映射关系。但本发明并不限于以多个根表格指针取得正确的逻辑-物理地址映射关系。在一实施例中,本发明仅记录单一根表格指针,此技术亦属于本申请所公开的内容。在单一个根表格指针的实施例中,快闪存储器控制芯片102仅需提供一个非易失性存储空间(例如为第一NVM1)。当快闪存储器控制芯片102处理主机106的复电命令时,可由上述的非易失性存储空间(例如为第一NVM1)的根表格指针(例如为根表格指针NVMR1)收集快闪存储器收集上述逻辑-物理地址映射关系。
此外,快闪存储器104所载的卡信息结构(Card Information Structure,简称CIS)数据和/或固件程序代码也可由「根表格」所记载的指针标示。如图所示,根表格Root_Table1与Root_Table2皆载有一卡信息结构数据指针CIS,其指示卡信息结构数据CIS_Data载于快闪存储器104何处(例如为卡信息结构数据CIS_Data的地址);且根表格Root_Table1与Root_Table2皆载有一固件程序代码指针FW,指示固件程序代码FW_Codes载于该快闪存储器104何处(例如为固件程序代码FW_Codes的地址)。如此一来,复电操作时所需的卡信息结构数据CIS_Data以及固件程序代码FW_Codes也可基于快闪存储器控制芯片102所提供的非易失性存储空间(NVM1或NVM2)所载的根表格指针(NVMR1或NVMR2)快速自快闪存储器104寻得。
除了以上所述的映射关系指针H2F、卡信息结构数据指针CIS与固件程序代码指针FW,所公开的根表格更可记载或标示其他于复电操作中所需的数据内容或数据位置。
图2为流程图,根据本发明一种实施方式图解一快闪存储器的操作程序。步骤S202对一快闪存储器所载的「根表格」以及一快闪存储器控制芯片的非易失性存储空间所载的「根表格指针」作动态更新,使之与该快闪存储器内所存储的逻辑-物理地址映射关系的更新同步。步骤S204若辨识出一掉电事件后有复电命令发生,流程进入步骤S206,根据快闪存储器控制芯片的非易失性存储空间所载的「根表格指针」找到快闪存储器所载的「根表格」,继而寻得复电所需的信息(包括逻辑-物理地址映射关系、甚至卡信息结构数据与固件程序代码…等)。
图3A是基于图1所示架构详述图2步骤S202内容。步骤S302负责监控「根表格(root table)」是否有更新需求。倘若快闪存储器104所载的逻辑-物理地址映射关系发生更新,则「根表格」需要更新,流程进行步骤S304。步骤S304以快闪存储器104的闲置空间记录更新的「根表格」、并以该快闪存储器控制芯片102的第一与第二非易失性存储空间NVM1以及NVM2中数据内容较旧者作「根表格指针」的更新。步骤S304后回到步骤S302继续监控「根表格(root table)」是否有更新需求。如此一来,该第一与该第二非易失性存储空间NVM1与NVM2随「根表格」每次更新轮替记录「根表格指针」。
图3B是基于图1所示架构详述图2步骤S206内容。步骤S312基于纠错码ECC1与ECC2对该第一以及该第二非易失性存储空间NVM1与NVM2所载的根表格指针NVMR1与NVMR2分别作纠错。若判定该第一以及该第二非易失性存储空间NVM1与NVM2仅其一所载数据通过纠错,流程进行步骤S314,采用通过纠错者所载的「根表格指针」。步骤S316根据步骤S314所采用的「根表格指针」访问该快闪存储器104读出对应的「根表格」,继而自快闪存储器104寻得复电所需的信息(例如为逻辑-物理地址映射关系、固件程序代码FW_Codes或卡信息结构数据CIS_Data)。若判定该第一以及该第二非易失性存储空间NVM1与NVM2所载数据无一通过纠错,流程进行步骤S318,逐空间扫描该快闪存储器104以收集复电所需的信息。若判定该第一以及该第二非易失性存储空间NVM1与NVM2所载数据皆通过纠错,流程进行步骤S320,采用该第一以及该第二非易失性存储空间NVM1与NVM2中较后更新者所载的「根表格指针」。步骤S322根据步骤S320所采用的「根表格指针」访问快闪存储器104寻得对应的「根表格」。倘若步骤S324判断出目前寻得的「根表格」通过纠错,流程进入步骤S326,根据通过纠错的「根表格」自快闪存储器104寻得复电所需的信息。倘若步骤S324判断出目前寻得的「根表格」不通过纠错,流程进入步骤S328,判断第一与第二非挥发存储空间NVM1以及NVM2中另一个所供应的「根表格指针」指向的「根表格」是否作过纠错程序。倘若尚有备份的「根表格」,则流程进行步骤S330,切换采用该第一以及该第二非易失性存储空间NVM1与NVM2中另一个所载的「根表格指针」,再次执行步骤S322、S324。倘若步骤S328判定该第一以及该第二非易失性存储空间NVM1与NVM2中所载的根表格指针NVMR1与NVMR2皆已执行过纠错程序,则流程进行步骤S318,逐空间扫描该快闪存储器104以收集复电所需的信息。在此要说明的是,当进行到步骤S324时,即表示根表格指针NVMR1与NVMR2皆通过纠错。也就是说,微处理器MCU是正常写入第一以及该第二非易失性存储空间NVM1与NVM2的数据而无发生掉电事件。但这并不表示微处理器MCU也是正常写入根表格指针NVMR1或NVMR2所指向的根表格(例如根表格写入时被掉电事件中断)。因此本发明特别以步骤S324来确认根表格是否也正常写入而未被中断。当步骤S324的纠错不通过时,即表示微处理器MCU未正常写入根表格,因此可向上一次正常写入的根表格所指向的地址开始扫描,以取得正确的逻辑-物理地址映射关系(步骤S324)。然而当上一次的根表格也未通过纠错时,则必需花费较多的时间逐空间扫描该快闪存储器104。
图4示意第一与第二非易失性存储空间NVM1与NVM2的更新先后如何分辨。该第一以及该第二非易失性存储空间NVM1与NVM2所载的根表格指针NVMR1与NVMR2指向该快闪存储器104同一区块BLK1时(如,根表格指针NVMR1指向页Page1、且根表格指针NVMR2指向页Page2),该微处理器MCU判定其中「根表格指针」指示地址较高者(即NVMR2,所指向的Page2地址高于NVMR1所指向的Page1)为较后更新。该第一以及该第二非易失性存储空间NVM1与NVM2所载的根表格指针NVMR1与NVMR2指向该快闪存储器104不同区块BLK1与BLK2时(如,根表格指针NVMR1指向页Page2、且根表格指针NVMR2指向页Page3),该微处理器MCU判定其中「根表格指针」指示地址较低者(即NVMR2,所指向的Page3地址低于NVMR1所指向的Page2)为较后更新。
在一种实施方式中,上述技术步骤皆可以编程方式呈固件实现;相关程序代码载于只读存储器ROM中,由微处理器MCU执行。此外,其他采用同样概念控制一快闪存储器的技术都属于本申请所欲保护的范围。本申请更涉及快闪存储器的控制方法,不限定以特定架构的控制芯片实现。
虽然本发明已以优选实施例公开如上,然其并非用以限定本发明,本领域技术人员在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视所附权利要求书界定范围为准。

Claims (19)

1.一种快闪存储器控制芯片,根据主机所下达的指令操作快闪存储器,包括:
第一非易失性存储空间;以及
微处理器,使该主机与该快闪存储器之间的逻辑-物理地址映射关系记录于该快闪存储器上,并使该快闪存储器记录根表格,该根表格载有一映射关系指针指示上述逻辑-物理地址映射关系载于该快闪存储器何处,且该微处理器还令该第一非易失性存储空间记录根表格指针指向该快闪存储器所载的该根表格,
其中,当处理该主机的复电命令时,该微处理器基于该根表格指针自该快闪存储器收集上述逻辑-物理地址映射关系。
2.如权利要求1所述的快闪存储器控制芯片,还提供第二非易失性存储空间,用以随该根表格每次更新时与该第一非易失性存储空间轮替记录该根表格指针。
3.如权利要求2所述的快闪存储器控制芯片,其中:
该微处理器还使该第一与该第二非易失性存储空间皆为所载的根表格指针载有纠错码,据以于处理该复电命令时判断该第一或该第二非易失性存储空间的数据更新是否被一掉电事件中断。
4.如权利要求2所述的快闪存储器控制芯片,其中:
该微处理器还使该第一与该第二非易失性存储空间所载的上述根表格指针皆载有纠错码;
该微处理器在处理该复电命令时,该微处理器根据该第一与该第二非易失性存储空间的上述根表格指针的纠错码判定该第一以及该第二非易失性存储空间的根表格指针是否通过纠错,当判定该第一以及该第二非易失性存储空间仅其一所载的根表格指针通过纠错,采用通过纠错的上述根表格指针访问该快闪存储器。
5.如权利要求2所述的快闪存储器控制芯片,其中:
该微处理器更使该第一与该第二非易失性存储空间所载的上述根表格指针皆载有纠错码;
该微处理器在处理该复电命令时,该微处理器根据该第一与该第二非易失性存储空间的根表格指针的纠错码判定上述第一以及该第二非易失性存储空间的根表格指针是否通过纠错,当判定该第一以及该第二非易失性存储空间所载的根表格指针皆通过纠错,采用该第一以及该第二非易失性存储空间中较后更新者所载的上述根表格指针访问该快闪存储器。
6.如权利要求5所述的快闪存储器控制芯片,其中:
该第一以及该第二非易失性存储空间所载的根表格指针指向该快闪存储器同一区块时,该微处理器判定其中根表格指针指示地址较高者为较后更新;且
该第一以及该第二非易失性存储空间所载的根表格指针指向该快闪存储器不同区块时,该微处理器判定其中根表格指针指示地址较低者为较后更新。
7.如权利要求2所述的快闪存储器控制芯片,其中:
该微处理器搭配纠错码将该根表格记录于该快闪存储器上,以于处理该复电命令时判断该根表格于该快闪存储器上的更新是否被一掉电事件中断。
8.如权利要求7所述的快闪存储器控制芯片,其中:
该微处理器于判定该第一与该第二非易失性存储空间其一所载的根表格指针所指向的数据不通过纠错时,切换以该第一与该第二非易失性存储空间中另一空间所载的根表格指针访问该快闪存储器。
9.如权利要求1所述的快闪存储器控制芯片,其中:
该快闪存储器上更存储卡信息结构数据,且该微处理器更令该根表格载有卡信息结构数据指针指示上述卡信息结构数据载于该快闪存储器何处;以及
该快闪存储器更存储一固件程序代码,且该微处理器更令该根表格载有一固件程序代码指针指示上述固件程序代码系载于该快闪存储器何处。
10.一种数据存储装置,包括如权利要求1所述的快闪存储器控制芯片以及快闪存储器。
11.一种快闪存储器控制方法,根据主机所下达的指令操作快闪存储器,包括:
提供第一非易失性存储空间;
使该主机与该快闪存储器之间的逻辑-物理地址映射关系记录于该快闪存储器上;
使该快闪存储器记录根表格,该根表格载有映射关系指针指示上述逻辑-物理地址映射关系载于该快闪存储器何处;以及
令该第一非易失性存储空间记录根表格指针指向该快闪存储器所载的该根表格,以随该主机的复电命令基于该根表格指针自该快闪存储器收集上述逻辑-物理地址映射关系。
12.如权利要求11所述的快闪存储器控制方法,还包括:
提供第二非易失性存储空间,用以随该根表格每次更新时与该第一非易失性存储空间轮替记录该根表格指针。
13.如权利要求12所述的快闪存储器控制方法,还包括:
使该第一与该第二非易失性存储空间皆为所载的根表格指针载有纠错码,据以随该复电命令判断该第一或该第二非易失性存储空间的数据更新是否被一掉电事件中断。
14.如权利要求12所述的快闪存储器控制方法,还包括:
使该第一与该第二非易失性存储空间皆为所载的根表格指针载有纠错码;以及
在随该复电命令判定该第一以及该第二非易失性存储空间仅其一所载的根表格指针通过纠错时,采用通过纠错者所载的上述根表格指针访问该快闪存储器。
15.如权利要求12所述的快闪存储器控制方法,还包括:
使该第一与该第二非易失性存储空间皆为所载的根表格指针载有纠错码;以及
在随该复电命令判定该第一以及该第二非易失性存储空间所载的根表格指针皆通过纠错时,采用该第一以及该第二非易失性存储空间中较后更新者所载的上述根表格指针访问该快闪存储器。
16.如权利要求15所述的快闪存储器控制方法,还包括:
在该第一以及该第二非易失性存储空间所载的根表格指针指向该快闪存储器同一区块时,判定其中根表格指针指示地址较高者为较后更新;以及
在该第一以及该第二非易失性存储空间所载的根表格指针指向该快闪存储器不同区块时,判定其中根表格指针指示地址较低者为较后更新。
17.如权利要求12所述的快闪存储器控制方法,还包括:
搭配纠错码将该根表格记录于该快闪存储器上,以随该复电命令判断该根表格于该快闪存储器上的更新是否被一掉电事件中断。
18.如权利要求17所述的快闪存储器控制方法,还包括:
于判定该第一与该第二非易失性存储空间其一所载的根表格指针所指向的数据不通过纠错时,切换以该第一与该第二非易失性存储空间中另一空间所载的根表格指针访问该快闪存储器。
19.如权利要求11所述的快闪存储器控制方法,还包括:
令该根表格载有卡信息结构数据指针指示一卡信息结构数据载于该快闪存储器何处;以及
令该根表格载有固件程序代码指针指示固件程序代码载于该快闪存储器何处。
CN201410224752.6A 2014-05-12 2014-05-26 快闪存储器控制芯片与存储装置以及快闪存储器控制方法 Active CN104021089B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW103116671A TWI502345B (zh) 2014-05-12 2014-05-12 快閃記憶體控制晶片以及資料儲存裝置以及快閃記憶體控制方法
TW103116671 2014-05-12

Publications (2)

Publication Number Publication Date
CN104021089A true CN104021089A (zh) 2014-09-03
CN104021089B CN104021089B (zh) 2018-03-23

Family

ID=51437854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410224752.6A Active CN104021089B (zh) 2014-05-12 2014-05-26 快闪存储器控制芯片与存储装置以及快闪存储器控制方法

Country Status (3)

Country Link
US (1) US9465538B2 (zh)
CN (1) CN104021089B (zh)
TW (1) TWI502345B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI688863B (zh) * 2018-11-06 2020-03-21 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
CN111149096A (zh) * 2017-11-09 2020-05-12 西部数据技术公司 借助于主机内存缓冲区范围的自适应装置服务质量

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI522804B (zh) * 2014-04-23 2016-02-21 威盛電子股份有限公司 快閃記憶體控制器以及資料儲存裝置以及快閃記憶體控制方法
JP7023103B2 (ja) * 2017-12-22 2022-02-21 キオクシア株式会社 メモリシステム及び制御方法
US11086852B2 (en) 2018-09-28 2021-08-10 Western Digital Technologies, Inc. Hardware-assisted multi-table database with shared memory footprint
US10996893B2 (en) * 2019-06-10 2021-05-04 Microsoft Technology Licensing, Llc Non-volatile storage partition identifier
US11809331B1 (en) * 2022-05-25 2023-11-07 Western Digital Technologies, Inc. Storage system and method for avoiding header to improve parity

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060282644A1 (en) * 2005-06-08 2006-12-14 Micron Technology, Inc. Robust index storage for non-volatile memory
CN101346704A (zh) * 2005-12-22 2009-01-14 Nxp股份有限公司 具有可擦除块单元的存储器和定位具有指针信息地块的联结指针链
CN101727398A (zh) * 2008-10-31 2010-06-09 西安奇维测控科技有限公司 经信息序列化实现闪存控制器管理数据存储与还原的方法
US20110022819A1 (en) * 2009-07-24 2011-01-27 Daniel Jeffrey Post Index cache tree
WO2012014140A2 (en) * 2010-07-27 2012-02-02 International Business Machines Corporation Logical to physical address mapping in storage systems comprising solid state memory devices
US20120284587A1 (en) * 2008-06-18 2012-11-08 Super Talent Electronics, Inc. Super-Endurance Solid-State Drive with Endurance Translation Layer (ETL) and Diversion of Temp Files for Reduced Flash Wear

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0123415D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
KR100457812B1 (ko) * 2002-11-14 2004-11-18 삼성전자주식회사 플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법
KR100622349B1 (ko) * 2004-08-04 2006-09-14 삼성전자주식회사 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
DE102005001038B3 (de) * 2005-01-07 2006-05-04 Hyperstone Ag Verfahren zur Umsetzung von logischen in reale Blockadressen in Flashspeichern
TWI317525B (en) * 2006-10-17 2009-11-21 Efortune Technology Corp The method of index for logical to physical blocks translation in flash storage device
TW200823923A (en) * 2006-11-23 2008-06-01 Genesys Logic Inc Caching method for address translation layer of flash memory
TW200832440A (en) * 2007-01-25 2008-08-01 Genesys Logic Inc Flash memory translation layer system
US7917479B2 (en) * 2007-03-20 2011-03-29 Micron Technology, Inc. Non-volatile memory devices, systems including same and associated methods
TWI551987B (zh) * 2012-03-15 2016-10-01 點序科技股份有限公司 快閃記憶體模組的位址對應方法
US8966205B1 (en) * 2012-05-10 2015-02-24 Western Digital Technologies, Inc. System data management using garbage collection and hybrid self mapping

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060282644A1 (en) * 2005-06-08 2006-12-14 Micron Technology, Inc. Robust index storage for non-volatile memory
CN101346704A (zh) * 2005-12-22 2009-01-14 Nxp股份有限公司 具有可擦除块单元的存储器和定位具有指针信息地块的联结指针链
US20120284587A1 (en) * 2008-06-18 2012-11-08 Super Talent Electronics, Inc. Super-Endurance Solid-State Drive with Endurance Translation Layer (ETL) and Diversion of Temp Files for Reduced Flash Wear
CN101727398A (zh) * 2008-10-31 2010-06-09 西安奇维测控科技有限公司 经信息序列化实现闪存控制器管理数据存储与还原的方法
US20110022819A1 (en) * 2009-07-24 2011-01-27 Daniel Jeffrey Post Index cache tree
WO2012014140A2 (en) * 2010-07-27 2012-02-02 International Business Machines Corporation Logical to physical address mapping in storage systems comprising solid state memory devices

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111149096A (zh) * 2017-11-09 2020-05-12 西部数据技术公司 借助于主机内存缓冲区范围的自适应装置服务质量
TWI688863B (zh) * 2018-11-06 2020-03-21 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
US11068177B2 (en) 2018-11-06 2021-07-20 Silicon Motion, Inc. Data storage devices and data processing methods for shortening time required for a host device to wait for initialization of the data storage device

Also Published As

Publication number Publication date
US9465538B2 (en) 2016-10-11
TW201543215A (zh) 2015-11-16
US20150324283A1 (en) 2015-11-12
CN104021089B (zh) 2018-03-23
TWI502345B (zh) 2015-10-01

Similar Documents

Publication Publication Date Title
US8010770B2 (en) Caching device for NAND flash translation layer
CN110908925B (zh) 高效能垃圾收集方法以及数据存储装置及其控制器
CN104021089A (zh) 快闪存储器控制芯片与存储装置以及快闪存储器控制方法
USRE44052E1 (en) Flash memory management method
CN109240942B (zh) 固态驱动器中的原子写入命令支持
US10372619B2 (en) Data backup method, data recovery method and storage controller
US9146854B2 (en) Restoring storage devices based on flash memories and related circuit, system, and method
US8756458B2 (en) Mount-time reconciliation of data availability
EP1898312A1 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method
US8838877B2 (en) File system derived metadata for management of non-volatile memory
US10990325B2 (en) Write control method, associated data storage device and controller thereof
CN103995784A (zh) 快闪存储器控制器与存储装置以及快闪存储器控制方法
KR20100091227A (ko) 비휘발성 매체에 데이터를 저장하기 위한 방법 및 시스템
WO2006098212A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
CN103577574A (zh) 一种基于nand flash的高可靠线性文件系统
US10061696B2 (en) Partial garbage collection for fast error handling and optimized garbage collection for the invisible band
US20170010810A1 (en) Method and Apparatus for Providing Wear Leveling to Non-Volatile Memory with Limited Program Cycles Using Flash Translation Layer
CN109521944A (zh) 数据储存装置以及数据储存方法
JP4242245B2 (ja) フラッシュrom制御装置
CN107943710B (zh) 存储器管理方法及使用所述方法的存储控制器
CN110865945B (zh) 存储设备的扩展地址空间
CN108509295B (zh) 存储器系统的操作方法
JP6864228B2 (ja) 記憶装置および記憶装置のデータ管理方法
TWI669610B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
CN118092810A (zh) 固态硬盘快照实现方法、装置、计算机设备及存储介质

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