CN106814968B - 存储器管理方法与系统及其存储器存储装置 - Google Patents

存储器管理方法与系统及其存储器存储装置 Download PDF

Info

Publication number
CN106814968B
CN106814968B CN201510847627.5A CN201510847627A CN106814968B CN 106814968 B CN106814968 B CN 106814968B CN 201510847627 A CN201510847627 A CN 201510847627A CN 106814968 B CN106814968 B CN 106814968B
Authority
CN
China
Prior art keywords
memory
unit
control circuit
rewritable nonvolatile
storage device
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
Application number
CN201510847627.5A
Other languages
English (en)
Other versions
CN106814968A (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.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
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 Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CN201510847627.5A priority Critical patent/CN106814968B/zh
Publication of CN106814968A publication Critical patent/CN106814968A/zh
Application granted granted Critical
Publication of CN106814968B publication Critical patent/CN106814968B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

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

Abstract

一种存储器管理方法与系统及其存储器存储装置,其中此存储器存储装置具有可复写式非易失性存储器模块。此方法包括:从主机系统接收指令;根据指令从可复写式非易失性存储器模块中读取使用信息;将使用信息写入可复写式非易失性存储器模块中的第一实体抹除单元中,并为第一实体抹除单元标记辨识标记。此方法还包括:根据辨识标记抹除可复写式非易失性存储器模块中除了第一实体抹除单元以外的至少部分的实体抹除单元的数据;并且根据存储在第一实体抹除单元中的使用信息建立存储器管理表以操作该存储器存储装置。从而达到利用既有的使用信息对存储器存储装置的可复写式非易失性存储器进行管理的效果。

Description

存储器管理方法与系统及其存储器存储装置
技术领域
本发明是有关于一种存储器管理方法,且特别是有关于一种可保留既有的使用信息的存储器管理方法与系统及其存储器存储装置。
背景技术
数码相机、手机与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,利用可复写式非易失性存储器模块作为存储媒体的存储器存储装置被制造完成后,会进行开卡操作(initialization operation)。一般的开卡操作是将相关数据,如主开机记录(master boot record,简称MBR)、分割表区(Partition table,简称PT)、分割开机区(Partition boot sector,简称PBS)、系统信息等,写入可复写式非易失性存储器模块中。然而,存储器存储装置在经过一段时间的使用之后,可能因人为因素或其他原因而发生异常状况。在此种状况下,便需要对存储器存储装置的可复写式非易失性存储器模块重新执行开卡操作,以对可复写式非易失性存储器模块执行格式化操作,以将存储器存储装置恢复至原厂状态。但实际上,存储器存储装置经过使用后,会记录对应于可复写式非易失性存储器模块的使用信息,例如坏块信息、抹除次数、使用时间等。而执行格式化操作后,可复写式非易失性存储器模块所存储的信息会被抹除,此些既有的使用信息也就因此而无法被保留。如此一来,将无法得知可复写式非易失性存储器模块的实际使用状况,可能导致使用上的问题,例如较容易使用到坏块,或无法根据实际使用状况来正确估算可复写式非易失性存储器模块的寿命等。因此,如何在重新执行开卡操作后仍保留既有的使用信息,为此领域技术人员所关心的议题。
发明内容
本发明提供一种存储器管理方法与系统及其存储器存储装置,可在重置存储器存储装置时,保留既有的使用信息,并依据既有的使用信息建立所需数据。
本发明的一范例实施例提出一种存储器管理方法,用于存储器存储装置。此存储器存储装置具有可复写式非易失性存储器模块,且此可复写式非易失性存储器模块具有多个实体抹除单元。本存储器管理方法包括从主机系统接收指令。本存储器管理方法也包括,根据指令从可复写式非易失性存储器模块中读取对应于此些实体抹除单元的使用信息,将使用信息写入至此些实体抹除单元之中的第一实体抹除单元中,并为第一实体抹除单元标记辨识标记。本存储器管理方法还包括根据辨识标记抹除此些实体抹除单元中除了第一实体抹除单元以外的至少部分的实体抹除单元的数据,并根据存储在第一实体抹除单元中的使用信息建立存储器管理表,并根据存储器管理表来操作存储器存储装置。
在本发明的一范例实施例中,上述的根据存储在第一实体抹除单元中的使用信息建立存储器管理表的步骤是在抹除此些实体抹除单元中除了第一实体抹除单元以外的至少部分的实体抹除单元的数据的步骤之后执行。
在本发明的一范例实施例中,上述的存储器管理方法还包括在此些实体抹除单元中搜寻未编程数据的实体抹除单元以作为第一实体抹除单元。倘若此些实体抹除单元中不存在未编程数据的实体抹除单元,将存储器存储装置宣告为写入保护状态。
在本发明的一范例实施例中,上述的存储器管理方法还包括将来自于主机系统的固件码写入至可复写式非易失性存储器模块中。
在本发明的一范例实施例中,上述的指令为开卡指令,并且开卡指令指示对存储器存储装置执行开卡操作。上述根据存储在第一实体抹除单元中的使用信息建立存储器管理表的步骤包括根据存储在第一实体抹除单元中的使用信息建立逻辑地址-实体地址映射表以回应于开卡指令。
在本发明的一范例实施例中,上述根据存储在第一实体抹除单元中的使用信息建立存储器管理表的步骤包括倘若判断要使用存储在第一实体抹除单元中的使用信息,则根据存储在第一实体抹除单元中的使用信息建立存储器管理表。倘若判断不使用存储在第一实体抹除单元中的使用信息,则建立新的存储器管理表。
在本发明的一范例实施例中,上述使用信息包括坏区块信息。上述的存储器管理方法还包括根据坏区块信息建立坏区块管理表用以避免存取已损坏的实体抹除单元。
在本发明的一范例实施例中,上述使用信息包括抹除次数信息。上述的存储器管理方法还包括根据抹除次数信息计算可复写式非易失性存储器模块的使用寿命并根据使用寿命决定是否发出警告信息,或根据抹除次数信息执行可复写式非易失性存储器模块的平均抹损操作。
在本发明的一范例实施例中,上述使用信息包括使用时间信息。上述的存储器管理方法还包括根据使用时间信息计算可复写式非易失性存储器模块的使用寿命,或根据使用时间信息执行该可复写式非易失性存储器模块的数据更新操作。
在本发明的一范例实施例中,上述使用信息包括读取次数信息。上述的存储器管理方法还包括根据读取次数信息判断至少一实体编程单元的被读取次数,并且倘若此至少一实体编程单元的被读取次数达到读取次数门槛值,对此至少一实体编程单元所属的实体抹除单元执行数据更新操作。
在本发明的一范例实施例中,上述存储器管理表包括逻辑地址-实体地址映射表、抹除次数管理表、使用时间管理表及读取次数管理表。其中上述根据存储器管理表来操作存储器存储装置的步骤包括根据逻辑地址-实体地址映射表存取此些实体抹除单元,并根据抹除次数管理表及使用时间管理表计算可复写式非易失性存储器模块的使用寿命及执行可复写式非易失性存储器模块的平均抹损操作,以及根据使用时间管理表及读取次数管理表执行可复写式非易失性存储器模块的数据更新操作。
本发明一范例实施例提出一种存储器存储装置,包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。连接接口单元电性连接至主机系统。可复写式非易失性存储器模块具有多个实体抹除单元。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块,并从主机系统接收指令。再者,存储器控制电路单元也根据指令从可复写式非易失性存储器模块中读取对应于此些实体抹除单元的使用信息,并将使用信息写入至此些实体抹除单元之中的第一实体抹除单元中,并为第一实体抹除单元标示辨识标记。此外,存储器控制电路单元还根据辨识标记抹除此些实体抹除单元中除了第一实体抹除单元以外的至少部分的实体抹除单元的数据。并且,存储器控制电路单元根据存储在第一实体抹除单元中的使用信息建立存储器管理表,并根据存储器管理表来操作存储器存储装置。
在本发明的一范例实施例中,上述存储器控制电路单元是在抹除此些实体抹除单元中除了第一实体抹除单元以外的至少部分的实体抹除单元的数据之后,根据存储在第一实体抹除单元中的使用信息建立存储器管理表。
在本发明的一范例实施例中,上述存储器控制电路单元还在此些实体抹除单元中搜寻未编程数据的实体抹除单元以作为第一实体抹除单元。倘若此些实体抹除单元中不存在未编程数据的实体抹除单元,存储器控制电路单元将存储器存储装置宣告为写入保护状态。
在本发明的一范例实施例中,上述存储器控制电路单元更将来自于主机系统的固件码写入至可复写式非易失性存储器模块中。
在本发明的一范例实施例中,上述的指令为开卡指令,并且开卡指令指示对存储器存储装置执行开卡操作。上述的存储器控制电路单元根据存储在第一实体抹除单元中的使用信息建立逻辑地址-实体地址映射表以回应于开卡指令。
在本发明的一范例实施例中,倘若判断要使用存储在第一实体抹除单元中的使用信息,上述存储器控制电路单元还根据存储在第一实体抹除单元中的使用信息建立存储器管理表。倘若判断不使用存储在第一实体抹除单元中的使用信息,上述存储器控制电路单元建立新的存储器管理表。
在本发明的一范例实施例中,上述使用信息包括坏区块信息。上述存储器控制电路单元根据坏区块信息建立坏区块管理表。
在本发明的一范例实施例中,上述使用信息包括抹除次数信息。上述的存储器控制电路单元根据抹除次数信息计算可复写式非易失性存储器模块的使用寿命并根据使用寿命决定是否发出警告信息,或根据抹除次数信息执行可复写式非易失性存储器模块的平均抹损操作。
在本发明的一范例实施例中,上述使用信息包括使用时间信息。上述的存储器控制电路单元还包括根据使用时间信息计算可复写式非易失性存储器模块的使用寿命,或根据使用时间信息执行该可复写式非易失性存储器模块的数据更新操作。
在本发明的一范例实施例中,上述使用信息包括读取次数信息。上述的存储器控制电路单元根据读取次数信息判断至少一实体编程单元的被读取次数,并且倘若此至少一实体编程单元的被读取次数达到读取次数门槛值,对此至少一实体编程单元所属的实体抹除单元执行数据更新操作。
在本发明的一范例实施例中,上述存储器管理表包括逻辑地址-实体地址映射表、抹除次数管理表、使用时间管理表及读取次数管理表。上述存储器控制电路单元根据逻辑地址-实体地址映射表存取此些实体抹除单元。再者,上述存储器控制电路单元还根据抹除次数管理表及使用时间管理表计算可复写式非易失性存储器模块的使用寿命及执行可复写式非易失性存储器模块的平均抹损操作。此外,上述存储器控制电路单元也根据使用时间管理表及读取次数管理表执行可复写式非易失性存储器模块的数据更新操作。
本发明的一范例实施例提出一种存储器管理系统,包括主机系统及存储器存储装置。主机系统具有存储器管理单元。存储器存储装置包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。连接接口单元电性连接至主机系统。可复写式非易失性存储器模块具有多个实体抹除单元。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块。存储器管理单元传送读取指令至存储器存储装置,并且存储器控制电路单元根据读取指令从可复写式非易失性存储器模块中读取对应于此些实体抹除单元的使用信息以回应于读取指令。再者,存储器管理单元更传送写入指令至存储器存储装置,并且存储器控制电路单元还根据写入指令写入使用信息至此些实体抹除单元中的第一实体抹除单元中以及为第一实体抹除单元标记辨识标记以回应于写入指令。此外,存储器管理单元更传送抹除指令至存储器存储装置,并且存储器控制电路单元根据抹除指令依据辨识标记抹除此些实体抹除单元中除了第一实体抹除单元以外的至少部分的实体抹除单元的数据。并且,存储器管理单元更传送建立表格指令至存储器存储装置,而存储器控制电路单元还根据建立表格指令依据存储在第一实体抹除单元中的使用信息建立存储器管理表,并根据该存储器管理表来操作该存储器存储装置。
在本发明的一范例实施例中,上述存储器管理单元是在存储器控制电路单元抹除此些实体抹除单元中除了第一实体抹除单元以外的至少部分的实体抹除单元的数据之后,传送建立表格指令至存储器存储装置。
在本发明的一范例实施例中,上述存储器控制电路单元还根据写入指令在此些实体抹除单元中搜寻未编程数据的实体抹除单元以作为第一实体抹除单元。倘若此些实体抹除单元中不存在未编程数据的实体抹除单元,存储器控制电路单元更回传第一错误信息至主机系统以回应于写入指令。而存储器管理单元根据第一错误信息传送写入保护指令至存储器存储装置,存储器控制电路单元还根据写入保护指令将存储器存储装置宣告为写入保护状态以回应于写入保护指令。
在本发明的一范例实施例中,上述存储器管理单元更传送更新固件码指令至存储器存储装置,并且存储器控制电路单元根据更新固件码指令将来自于主机系统的固件码写入至可复写式非易失性存储器模块中。
在本发明的一范例实施例中,上述存储器控制电路单元更判断从主机系统接收的建立表格指令是否指示要使用存储在第一实体抹除单元中的使用信息。倘若判断建立表格指令指示使用存储在第一实体抹除单元中的使用信息,存储器控制电路单元会依据存储在第一实体抹除单元中的使用信息建立存储器管理表。倘若判断建立表格指令指示不使用存储在第一实体抹除单元中的使用信息,存储器控制电路单元会建立新的存储器管理表。
在本发明的一范例实施例中,上述使用信息包括坏区块信息。上述存储器控制电路单元根据坏区块信息建立坏区块管理表。
在本发明的一范例实施例中,上述使用信息包括抹除次数信息。上述的存储器控制电路单元根据抹除次数信息计算可复写式非易失性存储器模块的使用寿命并根据使用寿命决定是否发出警告信息,或根据抹除次数信息执行可复写式非易失性存储器模块的平均抹损操作。
在本发明的一范例实施例中,上述使用信息包括使用时间信息。上述的存储器控制电路单元还包括根据使用时间信息计算可复写式非易失性存储器模块的使用寿命,或根据使用时间信息执行该可复写式非易失性存储器模块的数据更新操作。
在本发明的一范例实施例中,上述使用信息包括读取次数信息。上述的存储器控制电路单元根据读取次数信息判断至少一实体编程单元的被读取次数,并且倘若此至少一实体编程单元的被读取次数达到读取次数门槛值,对此至少一实体编程单元所属的实体抹除单元执行数据更新操作。
在本发明的一范例实施例中,上述存储器管理表包括逻辑地址-实体地址映射表、抹除次数管理表、使用时间管理表及读取次数管理表。上述存储器控制电路单元根据逻辑地址-实体地址映射表存取此些实体抹除单元,并根据抹除次数管理表及使用时间管理表计算可复写式非易失性存储器模块的使用寿命及执行可复写式非易失性存储器模块的平均抹损操作。另外,上述存储器控制电路单元也根据使用时间管理表及读取次数管理表执行可复写式非易失性存储器模块的数据更新操作。
基于上述,本发明范例实施例所提出的存储器管理方法与系统及其存储器存储装置,能够在对存储器存储装置执行格式化操作后,保留既有的使用信息,并根据既有的使用信息建立所需数据,达到利用既有的使用信息对存储器存储装置的可复写式非易失性存储器进行管理的效果。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图3是根据本发明范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据一范例实施例所示出的主机系统与存储器存储装置的概要方块图;
图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图;
图6与图7是根据一范例实施例所示出的管理实体抹除单元的范例示意图;
图8A及8B是根据一范例实施例所示出的记录目前的使用信息的示意图;
图9是根据一范例实施例所示出的抹除实体抹除单元中的数据的示意图;
图10是根据一范例实施例所示出的存储器管理方法的流程图;
图11是根据另一范例实施例所示出的存储器管理方法的流程图。
附图标记说明:
10:存储器存储装置;
11:主机系统;
12:输入/输出(I/O)装置;
110:系统总线;
111:处理器;
112:随机存取存储器(RAM);
113:只读存储器(ROM);
114:数据传输接口;
20:主机板;
204:无线存储器存储装置;
205:全球定位系统模块;
206:网路接口卡;
207:无线传输装置;
208:键盘;
209:荧幕;
210:喇叭;
30:存储器存储装置;
31:主机系统;
32:SD卡;
33:CF卡;
34:嵌入式存储装置;
341:嵌入式多媒体卡;
342:嵌入式多芯片封装存储装置;
402:连接接口单元;
404:存储器控制电路单元;
406:可复写式非易失性存储器模块;
408:存储器管理单元;
410(0)~410(N):实体抹除单元;
502:存储器管理电路;
504:主机接口;
506:存储器接口;
508:缓冲存储器;
510:电源管理电路;
512:错误检查与校正电路;
602:数据区;
604:闲置区;
606:系统区;
608:取代区;
LBA(0)~LBA(H):逻辑单元;
LZ(0)~LZ(M):逻辑区域;
D1:使用信息;
F1:辨识标记;
S1001:接收指令的步骤;
S1003:读取对应于可复写式非易失性存储器模块的实体抹除单元的使用信息的步骤;
S1005:将使用信息写入至可复写式非易失性存储器模块的第一实体抹除单元中并为第一实体抹除单元标记辨识标记的步骤;
S1007:抹除不具辨识标记的实体抹除单元的步骤;
S1009:将来自于主机系统的固件码编程至可复写式非易失性存储器模块中的步骤;
S1011:根据写入至第一实体抹除单元的使用信息来建立存储器管理表的步骤;
S1101:判断是否使用存储在第一实体抹除单元中的使用信息的步骤;
S1103:根据存储在第一实体抹除单元中的使用信息建立存储器管理表的步骤;
S1105:建立新的存储器管理表的步骤。
具体实施方式
一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(亦称,控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。且图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,简称RAM)112、只读存储器(read only memory,简称ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114都电性连接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10电性连接。例如,主机系统11可通过数据传输接口114将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12电性连接。例如,主机系统11可通过系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114是可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以通过有线或无线方式电性连接至存储器存储装置10。存储器存储装置10可例如是随身碟201、存储卡202、固态硬盘(Solid State Drive,简称SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通讯(Near Field Communication Storage,简称NFC)存储器存储装置、无线保真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110电性连接至全球定位系统(Global Positioning System,简称GPS)模块205、网路接口卡206、无线传输装置207、键盘208、荧幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的SD卡32、CF卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embeddedMMC,简称eMMC)341及/或嵌入式多芯片封装存储装置(embedded Multi Chip Package,简称eMCP)342等各类型将存储器模块直接电性连接于主机系统的基板上的嵌入式存储装置。
图4是根据一范例实施例所示出的主机系统与存储器存储装置的概要方块图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是相容于串行高级技术附件(SerialAdvanced Technology Attachment,简称SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并行高级技术附件(Parallel Advanced TechnologyAttachment,简称PATA)标准、电气和电子工程师协会(Institute of Electrical andElectronic Engineers,简称IEEE)1394标准、外设部件互连(Peripheral ComponentInterconnect Express,简称PCI Express)标准、通用串行总线(Universal Serial Bus,简称USB)标准、超高速一代(Ultra High Speed-I,简称UHS-I)接口标准、超高速二代(Ultra High Speed-II,简称UHS-II)接口标准、安全数位(Secure Digital,简称SD)接口标准、记忆棒(Memory Stick,简称MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(Multi Media Card,简称MMC)接口标准、嵌入式多媒体存储卡(EmbeddedMultimedia Card,简称eMMC)接口标准、通用快闪存储器(Universal Flash Storage,简称UFS)接口标准、嵌入式多芯片封装(embedded Multi Chip Package,简称eMCP)接口标准、小型快闪(Compact Flash,简称CF)接口标准、集成设备电路(Integrated DeviceElectronics,简称IDE)标准或其他适合的标准。在本范例实施例中,连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元的芯片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑闸或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404,并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406具有实体抹除单元410(0)~410(N)。例如,实体抹除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有复数个实体编程单元,其中属于同一个实体抹除单元的实体编程单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体编程单元、256个实体编程单元或其他任意个实体编程单元所组成。
更详细来说,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目的一被抹除的存储单元。实体编程单元为编程的最小单元。即,实体编程单元为写入数据的最小单元。每一实体编程单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体存取地址用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个实体编程单元的数据比特区中会包含8个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据比特区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块,并且实体编程单元为实体页面或实体扇区,但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块406为多层单元(Multi LevelCell,简称MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个数据比特的快闪存储器模块)。然而,本发明不限于此,可复写式非易失性存储器模块406也可是单层单元(Single Level Cell,简称SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个数据比特的快闪存储器模块)、三层单元(Trinary Level Cell,简称TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个数据比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
在本范例实施例中,主机系统11通过存储器管理单元408来传送关于开卡操作的指令至存储器存储装置10,而存储器控制电路单元404会执行对应操作以回应于从主机系统所接收的指令。例如,存储器管理单元408包括以软件程序码所实作的开卡应用程序,其可于主机系统11的操作系统(operation system,简称OS)中运行。在本范例实施例中,主机系统11的作业系统为微软(Microsoft)公司的视窗(Windows)作业系统。然而,必须了解的是,本发明不限于此,本发明也可应用于Linux、Mac或其他作业系统中。
图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506、缓冲存储器508、电源管理电路510与错误检查与校正电路512。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
图6与图7是根据一范例实施例所示出的管理实体抹除单元的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块406的实体抹除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的实体抹除单元进行操作。
请参照图6,存储器控制电路单元404(或存储器管理电路502)会将实体抹除单元410(0)~410(N)逻辑地分组为数据区602、闲置区604、系统区606与取代区608。
逻辑上属于数据区602与闲置区604的实体抹除单元是用以存储来自于主机系统11的数据。具体来说,数据区602的实体抹除单元是被视为已存储数据的实体抹除单元,而闲置区604的实体抹除单元是用以替换数据区602的实体抹除单元。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器管理电路502会从闲置区604中提取实体抹除单元,并且将数据写入至所提取的实体抹除单元中,以替换数据区602的实体抹除单元。
逻辑上属于系统区606的实体抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的实体抹除单元数、每一实体抹除单元的实体编程单元数等。
逻辑上属于取代区608中的实体抹除单元是用于坏实体抹除单元取代程序,以取代损坏的实体抹除单元。具体来说,倘若取代区608中仍存有正常的实体抹除单元并且数据区602的实体抹除单元损坏时,存储器管理电路502会从取代区608中提取正常的实体抹除单元来更换损坏的实体抹除单元。
特别是,数据区602、闲置区604、系统区606与取代区608的实体抹除单元的数量会根据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置10的运作中,实体抹除单元关联至数据区602、闲置区604、系统区606与取代区608的分组关系会动态地变动。例如,当闲置区604中的实体抹除单元损坏而被取代区608的实体抹除单元取代时,则原本取代区608的实体抹除单元会被关联至闲置区604。
请参照图7,存储器控制电路单元404(或存储器管理电路502)会配置逻辑单元LBA(0)~LBA(H)以映射数据区602的实体抹除单元,其中每一逻辑单元具有多个逻辑子单元以映射对应的实体抹除单元的实体编程单元。并且,当主机系统11欲写入数据至逻辑单元或更新存储于逻辑单元中的数据时,存储器控制电路单元404(或存储器管理电路502)会从闲置区604中提取一个实体抹除单元来写入数据,以轮替数据区602的实体抹除单元。在本范例实施例中,逻辑子单元可以是逻辑页面或逻辑扇区。
为了识别每个逻辑单元的数据被存储在哪个实体抹除单元,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会记录逻辑单元与实体抹除单元之间的映射。并且,当主机系统11欲在逻辑子单元中存取数据时,存储器控制电路单元404(或存储器管理电路502)会确认此逻辑子单元所属的逻辑单元,并且在此逻辑单元所映射的实体抹除单元中来存取数据。例如,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会在可复写式非易失性存储器模块406中存储逻辑地址-实体地址映射表来记录每一逻辑单元所映射的实体抹除单元,并且当欲存取数据时存储器控制电路单元404(或存储器管理电路502)会将逻辑地址-实体地址映射表载入至缓冲存储器508来维护。
值得一提的是,由于缓冲存储器508的容量有限无法存储记录所有逻辑单元之映射关系的映射表,因此,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会将逻辑单元LBA(0)~LBA(H)分组为多个逻辑区域LZ(0)~LZ(M),并且为每一逻辑区域配置一个逻辑地址-实体地址映射表。特别是,当存储器控制电路单元404(或存储器管理电路502)欲更新某个逻辑单元的映射时,对应此逻辑单元所属的逻辑区域的逻辑地址-实体地址映射表会被载入至缓冲存储器508来被更新。
在本发明另一范例实施例中,存储器管理电路502的控制指令也可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路502的控制指令也可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块406的实体抹除单元;存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令以将数据写入至可复写式非易失性存储器模块406中;存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令以从可复写式非易失性存储器模块406中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令以将数据从可复写式非易失性存储器模块406中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。
请再参照图5,主机接口504是电性连接至存储器管理电路502并且用以电性连接至连接接口单元402,以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504也可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会通过存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。
缓冲存储器508是电性连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。
电源管理电路510是电性连接至存储器管理电路502并且用以控制存储器存储装置10的电源。
错误检查与校正电路512是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,简称ECC Code),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会根据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
当存储器管理电路502根据主机系统11的开卡指令执行开卡操作时,存储器管理电路502会对实体抹除单元410(0)~410(N)进行初始化动作,并识别出可复写式非易失性存储器模块406的实体抹除单元410(0)~410(N)中的好实体抹除单元,将此些好实体抹除单元分组为数据区602、闲置区604与系统区606并且将剩余的好实体抹除单元分组至取代区608。举例而言,在存储器存储装置10被制造完成所进行的开卡(即第一次编程)过程中,存储器管理电路502会将实体抹除单元410(0)~410(N)中每一页面地址的数据抹除为0×FF数据,并进行磁盘扫描(例如,做读写测试)以识别出正常的实体抹除单元与损毁的实体抹除单元。此外,存储器管理电路502还会建立逻辑地址-实体地址映射表来记录逻辑单元与实体抹除单元之间的映射关系。在完成开卡操作之后,存储器管理电路502会传送确认信息至主机系统11,以回应于开卡指令。例如,存储器管理电路502会在建立逻辑地址-实体地址映射表之后回应于主机系统。
当开卡操作完成后,在存储器存储装置10的使用过程中,存储器管理电路502也会将对应于可复写式非易失性存储器模块406的实体抹除单元410(0)~410(N)的使用信息记录在可复写式非易失性存储器模块406中。
在本范例实施例中,当要对存储器存储装置10再次执行开卡操作时,存储器控制电路单元404(或存储器管理电路502)会先记录对应于可复写式非易失性存储器模块406的实体抹除单元410(0)~410(N)的目前的使用信息。使用信息可包括存储器控制电路单元404(或存储器管理电路502)在管理可复写式非易失性存储器模块406时会使用的各种信息,例如,坏区块信息、抹除次数信息、使用时间信息或读取次数信息等。
更详细地说,存储器控制电路单元404(或存储器管理电路502)可根据坏区块信息来建立坏区块管理表,以记录可复写式非易失性存储器模块中的坏实体抹除单元,由此避免存储器控制电路单元404(或存储器管理电路502)存取已损坏的实体抹除单元。例如,在建立逻辑地址-实体地址映射表时可根据坏区块管理表来避免将逻辑单元映射至已损坏的实体抹除单元。
抹除次数信息是记录可复写式非易失性存储器模块406的实体抹除单元的抹除次数。具体而言,存储器控制电路单元404(或存储器管理电路502)可根据抹除次数信息计算可复写式非易失性存储器模块406的使用寿命以评估可复写式非易失性存储器模块406的耗损程度,并且根据所计算的使用寿命来适时地提醒或警告使用者。例如,在使用寿命符合预设值时,发出警告信息。再者,存储器控制电路单元404(或存储器管理电路502)也可根据抹除次数信息来执行可复写式非易失性存储器模块406的平均抹损(wear leveling)操作,以平均使用可复写式非易失性存储器模块中的每个实体抹除单元,避免某些“特定”实体抹除单元因过度使用,导致抹除次数过大而造成存储于其上的数据错误发生率提高以及老化速率增加。并且,也可避免某些“特定”实体抹除单元因抹除次数到达制造厂商保证的极限值,被标记成坏实体抹除单元,而不能继续使用。此外,由于在编程过程中,可复写式非易失性存储器模块的存储单元会随着电子的多次的注入与移除而造成老化,导致电子写入速度增加并造成临界电压分布变宽。因此,在多次编程后,存储单元可能无法被正确地识别其存储状态,而产生错误比特。而存储器控制电路单元404(或存储器管理电路502)也可根据抹除次数信息来调整可复写式非易失性存储器模块的存储单元的读取电压,以减少错误比特产生的机率。
使用时间信息可记录存储器存储装置10的总使用时间。例如,使用时间信息可记录存储器存储装置10每次从上电到断电的经过时间,经过时间的总和即为总使用时间。此外,使用时间信息也可记录存储器存储装置10从第一次上电后的经过时间以表示总使用时间。由于存储在可复写式非易失性存储器模块406中各实体抹除单元的数据,若长期不被搬移或更新,将会因电荷泄漏的现象,而改变原存储的数据。存储器控制电路单元404(或存储器管理电路502)可根据使用时间信息了解可复写式非易失性存储器模块406中各实体抹除单元在这段时间内被使用的状态,并且根据被使用的状态来适时地提醒或警告使用者进行数据的搬移或更新,以防止数据的遗失。
另外,在对同一个实体编程单元所存储的数据进行多次读取时,例如十万至百万次间的读取次数,很有可能会对此实体编程单元邻近的实体编程单元所存储的数据造成影响,因此改变了邻近的实体编程单元所存储的数据。而此类现象以本发明领域具有通常知识者惯称为“读取干扰”(read-disturb)。而在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)还可根据读取次数信息来执行可复写式非易失性存储器模块406的数据更新操作,以防止上述的读取干扰现象。
存储器控制电路单元404(或存储器管理电路502)可根据读取次数信息,判断每一个实体编程单元被读取的次数。并且,当某个实体编程单元被读取的次数达到一定次数时,存储器控制电路单元404(或存储器管理电路502)会对此实体编程单元所属的实体抹除单元执行数据更新操作,以对此实体抹除单元进行数据搬移与抹除。
具体而言,使用信息可被存储在可复写式非易失性存储器模块406的至少其中一个实体抹除单元中,例如系统区的实体抹除单元。而存储器控制电路单元404(或存储器管理电路502)会从可复写式非易失性存储器模块406中读取使用信息,并将所读取的使用信息写入至可复写式非易失性存储器模块406中至少一个未写入数据的实体抹除单元(以下也参考为第一实体抹除单元)中。在将使用信息存储至第一实体抹除单元之后,存储器控制电路单元404(或存储器管理电路502)会对第一实体抹除单元之外的至少部分的实体抹除单元进行初始化动作。例如,存储器控制电路单元404(或存储器管理电路502)可将实体抹除单元410(0)~410(N)中第一实体抹除单元之外的每一实体编程单元地址的数据抹除为0×FF数据,并将固件码(firmware code)写入至可复写式非易失性存储器模块406中。此外,存储器控制电路单元404(或存储器管理电路502)也会依据存储在第一实体抹除单元中的使用信息建立固件码运行时所需的存储器管理表,并根据所建立的存储器管理表来操作该存储器存储装置10。
存储器管理表可包括用以存取可复写式非易失性存储器模块406的实体抹除单元的逻辑地址-实体地址映射表。例如,存储器控制电路单元404(或存储器管理电路502)会依据坏区块信息,将未损坏的实体抹除单元关联至使用区或闲置区,或以其他管理方式来管理实体抹除单元,本发明并不加以限制。再者,存储器管理表也可包括根据抹除次数信息所建立的抹除次数管理表、根据使用时间信息所建立的使用时间管理表、以及根据读取次数信息所建立的读取次数管理表等。抹除次数管理表及使用时间管理表可用以执行可复写式非易失性存储器模块406的使用寿命计算、平均抹损操作或数据更新操作等管理。读取次数管理表可用以执行可复写式非易失性存储器模块406的数据更新操作。
图8A及8B是根据一范例实施例所示出的存储器管理方法中将使用信息写入至可复写式非易失性存储器模块中的示意图。
请参考图8A及8B,对应于可复写式非易失性存储器模块406中的实体抹除单元410(0)~410(N)的使用信息D1是存储在实体抹除单元410(S)中。因此,存储器控制电路单元404(或存储器管理电路502)会先读取存储在实体抹除单元410(S)的使用信息D1。并且,存储器控制电路单元404(或存储器管理电路502)会提取一个尚未写入数据的实体抹除单元410(K)来将使用信息D1写入至实体抹除单元410(K)中,并为实体抹除单元410(K)标记辨识标记F1,以记录目前的使用信息D1。
图9是根据一范例实施例所示出的存储器管理方法中抹除实体抹除单元中的数据的示意图。
请参考图9,当要对可复写式非易失性存储器模块406中的实体抹除单元执行抹除操作时,存储器控制电路单元404(或存储器管理电路502)会判断每一个实体抹除单元是否已被标记辨识标记F1以决定是否对其执行抹除操作。如图9所示,存储器控制电路单元404(或存储器管理电路502)会判断实体抹除单元410(K)被标记辨识标记F1而不抹除存储在实体抹除单元410(K)的数据(即使用信息D1)。并且,存储器控制电路单元404(或存储器管理电路502)会判断可复写式非易失性存储器模块406中的其他实体抹除单元皆未被标记辨识标记F1而抹除存储在此些实体抹除单元的数据。
在本范例实施例中,当存储器存储装置10接收到来自于主机系统的指令时,是通过本身的固件码以进行本发明所提出的存储器管理方法。而在另一范例实施例中,则可由主机系统11的存储器管理单元408来指示存储器控制电路单元404(或存储器管理电路502)执行对应操作。例如,存储器存储装置10需重新执行开卡操作并将存储器存储装置10电性连接至主机系统11时,主机系统11的存储器管理单元408会传送指令至存储器存储装置10,使存储器控制电路单元404(或存储器管理电路502)根据存储器管理单元408的指令执行对应操作并回应于主机系统11。在此另一范例实施例中,存储器管理单元408会先传送指示读取使用信息的读取指令至存储器存储装置10,而存储器存储装置10的存储器控制电路单元404(或存储器管理电路502)会根据所接收的读取指令从可复写式非易失性存储器模块406中读取使用信息并回应于主机系统11。更进一步地,存储器管理单元408会根据存储器控制电路单元404(或存储器管理电路502)的回应信息下达其他指令,例如,主机系统11接收到存储器控制电路单元404(或存储器管理电路502)所传送的读取完成的回应信息时,存储器管理单元408会传送指示将使用信息写入至可复写式非易失性存储器模块406中的写入指令至存储器存储装置10,而存储器存储装置10的存储器控制电路单元404(或存储器管理电路502)则根据所接收到的写入指令将使用信息写入至可复写式非易失性存储器模块406中尚未写入数据的一个实体抹除单元中,且为写入使用信息的此实体抹除单元标记辨识标记并回应于主机系统11。再者,当主机系统11接收到存储器控制电路单元404(或存储器管理电路502)所传送的写入完成的回应信息时,存储器管理单元408会传送指示抹除不具辨识标记的实体抹除单元的数据的抹除指令至存储器存储装置10,而存储器存储装置10的存储器控制电路单元404(或存储器管理电路502)则根据所接收到的抹除指令对可复写式非易失性存储器模块406中不具辨识标记的实体抹除单元执行抹除操作。除此之外,存储器控制电路单元404(或存储器管理电路502)也会根据存储器管理单元408所传送的更新固件码指令,将来自于主机系统11的更新固件码写入至可复写式非易失性存储器模块406中,以及根据所存储的使用信息建立存储器管理表。并且,存储器控制电路单元404(或存储器管理电路502)会在完成相关操作后,传送确认信息以回应主机系统11。
图10是根据一范例实施例所示出的存储器管理方法的流程图。
请参考图10,在步骤S1001中,存储器控制电路单元404(或存储器管理电路502)从主机系统11接收指令。
在步骤S1003中,存储器控制电路单元404(或存储器管理电路502)读取对应于可复写式非易失性存储器模块的实体抹除单元的使用信息。使用信息可包括存储器控制电路单元404(或存储器管理电路502)在管理可复写式非易失性存储器模块406时会使用的各种信息,例如,坏区块信息、抹除次数信息、使用时间信息或读取次数信息等。使用信息已于前述内容中进行说明,在此不再赘述。
在步骤S1005中,存储器控制电路单元404(或存储器管理电路502)将使用信息写入至可复写式非易失性存储器模块的至少一个实体抹除单元(以下亦参考为第一实体抹除单元)中,并为第一实体抹除单元标记辨识标记。具体而言,存储器控制电路单元404(或存储器管理电路502)会搜寻可复写式非易失性存储器模块中未编程数据的实体抹除单元来写入所读取的使用信息。在本范例实施例中,用来写入使用信息的实体抹除单元可为闲置区中未编程数据的实体抹除单元。然而,在其他范例实施例中,用来写入使用信息的实体抹除单元也可为取代区或系统区中未编程数据的实体抹除单元,本发明并不加以限制。另外,存储器控制电路单元404(或存储器管理电路502)会为第一实体抹除单元标记辨识标记,例如,将辨识标记标记为1来表示第一实体抹除单元是用来写入使用信息的实体抹除单元或为一防止被抹除或防止被写入的实体抹除单元。然而,辨识标记也可标记为0或用更多的比特来表示,本发明并不加以限制。
在步骤S1007中,存储器控制电路单元404(或存储器管理电路502)会抹除不具辨识标记的实体抹除单元,例如可复写式非易失性存储器模块中第一实体抹除单元之外的实体抹除单元的数据。举例而言,除了用来写入使用信息的第一实体抹除单元之外,存储器控制电路单元404(或存储器管理电路502)会对可复写式非易失性存储器模块中的至少部分或所有其他实体抹除单元执行抹除操作,以抹除存储在此些实体抹除单元中的数据。也就是说,写入使用信息的第一实体抹除单元在执行抹除操作的过程中会受到保护,必须下达特殊指令才可抹除第一实体抹除单元中所存储的数据。更详细地说,存储器控制电路单元404(或存储器管理电路502)会根据辨识标记来判断要执行抹除操作的实体抹除单元。例如,倘若辨识标记被标记为1表示为用来写入使用信息的实体抹除单元,则存储器控制电路单元404(或存储器管理电路502)不会根据一般操作指令对辨识标记被标记为1的实体抹除单元执行抹除操作。
在步骤S1009中,存储器控制电路单元404(或存储器管理电路502)会将来自于主机系统的固件码编程至可复写式非易失性存储器模块中。此固件码可为制造商提供的更新固件码。
在步骤S1011中,存储器控制电路单元404(或存储器管理电路502)会根据写入至第一实体抹除单元的使用信息来建立存储器管理表。具体而言,存储器控制电路单元404(或存储器管理电路502)会从第一实体抹除单元读取使用信息来建立存储器管理表,并根据存储器管理表来操作存储器存储装置。也就是说,存储器控制电路单元404(或存储器管理电路502)会以第一实体抹除单元中所存储的使用信息作为目前的使用信息来建立存储器管理表以管理可复写式非易失性存储器模块,例如,将存储器管理表载入至缓冲存储器以进行数据存取及维护。
此外,在执行抹除操作之后,存储器控制电路单元404(或存储器管理电路502)也会将与其它与存储器存储装置的运作有关的数据(例如,系统信息等)存储至可复写式非易失性存储器模块中。
图11是根据另一范例实施例所示出的存储器管理方法的流程图。图11中的步骤S1001~S1009与图10中相同标号的步骤相同,因此在图11中将不再赘述。以下仅针对图11与图10不同之处进行说明。
请参考图11,存储器控制电路单元404(或存储器管理电路502)将固件码编程至可复写式非易失性存储器模块中之后,在步骤S1101中,存储器控制电路单元404(或存储器管理电路502)会判断是否使用存储在第一实体抹除单元中的使用信息。存储器控制电路单元404(或存储器管理电路502)可根据来自于主机系统的指令来决定是否使用存储在第一实体抹除单元中的使用信息。例如,在主机系统所下达的指令中会指示使用存储在第一实体抹除单元中的使用信息。
倘若判断要使用存储在第一实体抹除单元中的使用信息,在步骤S1103中,存储器控制电路单元404(或存储器管理电路502)会根据存储在第一实体抹除单元中的使用信息建立存储器管理表。换句话说,存储器控制电路单元404(或存储器管理电路502)会以存储在第一实体抹除单元中的使用信息作为目前的使用信息。
倘若判断不使用存储在第一实体抹除单元中的使用信息,在步骤S1105中,存储器控制电路单元404(或存储器管理电路502)会建立新的存储器管理表。
综上所述,本发明的存储器管理方法与系统及使用此方法的存储器存储装置能够在对可复写式非易失性存储器模块执行格式化操作时,保留既有的使用信息,再利用既有的使用信息对存储器存储装置的可复写式非易失性存储器模块进行管理的,由此避免因遗失既有的使用信息所造成的管理问题。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (32)

1.一种存储器管理方法,用于存储器存储装置,其特征在于,所述存储器存储装置具有一可复写式非易失性存储器模块,所述可复写式非易失性存储器模块具有多个实体抹除单元,所述存储器管理方法包括:
从主机系统接收读取指令;
根据所述读取指令从所述可复写式非易失性存储器模块中读取对应于该些实体抹除单元的使用信息;
根据所接收的写入指令将所读取的使用信息写入至该些实体抹除单元之中的第一实体抹除单元中,并为所述第一实体抹除单元标记辨识标记,其中所述写入指令是反应于已完成所述可复写式非易失性存储器模块中读取对应于该些实体抹除单元的所述使用信息而从所述主机系统所传送的;
根据所接收的抹除指令抹除该些实体抹除单元中除了具有所述辨识标记的所述第一实体抹除单元以外的至少部分的实体抹除单元的数据,其中所述抹除指令是反应于已完成将所述使用信息写入至所述第一实体抹除单元而从所述主机系统所传送的;以及
根据存储在所述第一实体抹除单元中的所述使用信息建立存储器管理表,并根据所述存储器管理表来操作所述存储器存储装置。
2.根据权利要求1所述的存储器管理方法,其特征在于,根据存储在所述第一实体抹除单元中的所述使用信息建立所述存储器管理表的步骤是在抹除该些实体抹除单元中除了所述第一实体抹除单元以外的所述至少部分的实体抹除单元的数据的步骤之后执行。
3.根据权利要求2所述的存储器管理方法,其特征在于,还包括:
在该些实体抹除单元中搜寻未编程数据的实体抹除单元以作为所述第一实体抹除单元;以及
倘若该些实体抹除单元中不存在所述未编程数据的实体抹除单元,将所述存储器存储装置宣告为写入保护状态。
4.根据权利要求2所述的存储器管理方法,其特征在于,还包括:
将来自于所述主机系统的固件码写入至所述可复写式非易失性存储器模块中。
5.根据权利要求1所述的存储器管理方法,其特征在于,其中根据存储在所述第一实体抹除单元中的所述使用信息建立所述存储器管理表的步骤包括:
根据存储在所述第一实体抹除单元中的所述使用信息建立逻辑地址-实体地址映射表以回应于从所述主机系统所接收的开卡指令。
6.根据权利要求1所述的存储器管理方法,其特征在于,根据存储在所述第一实体抹除单元中的所述使用信息建立所述存储器管理表的步骤包括:
倘若判断要使用存储在所述第一实体抹除单元中的所述使用信息,根据存储在所述第一实体抹除单元中的所述使用信息建立所述存储器管理表;以及
倘若判断不使用存储在所述第一实体抹除单元中的所述使用信息,建立新的存储器管理表。
7.根据权利要求1所述的存储器管理方法,其特征在于,所述使用信息包括坏区块信息,其中所述存储器管理方法还包括:
根据所述坏区块信息建立坏区块管理表用以避免存取已损坏的实体抹除单元。
8.根据权利要求1所述的存储器管理方法,其特征在于,所述使用信息包括抹除次数信息,其中所述存储器管理方法还包括:
根据所述抹除次数信息计算所述可复写式非易失性存储器模块的使用寿命并根据所述使用寿命决定是否发出警告信息,或根据所述抹除次数信息执行所述可复写式非易失性存储器模块的平均抹损操作。
9.根据权利要求1所述的存储器管理方法,其特征在于,所述使用信息包括使用时间信息,其中所述存储器管理方法还包括:
根据所述使用时间信息计算所述可复写式非易失性存储器模块的使用寿命,或根据所述使用时间信息执行所述可复写式非易失性存储器模块的数据更新操作。
10.根据权利要求1所述的存储器管理方法,其特征在于,所述使用信息包括读取次数信息,其中所述存储器管理方法还包括:
根据所述读取次数信息判断至少一实体编程单元的被读取次数,并且倘若所述至少一实体编程单元的所述被读取次数达到读取次数门槛值,对所述至少一实体编程单元所属的实体抹除单元执行数据更新操作。
11.根据权利要求1所述的存储器管理方法,其特征在于,所述存储器管理表包括逻辑地址-实体地址映射表、抹除次数管理表、使用时间管理表及读取次数管理表,其中根据所述存储器管理表来操作所述存储器存储装置的步骤包括:
根据所述逻辑地址-实体地址映射表存取该些实体抹除单元,并根据所述抹除次数管理表及所述使用时间管理表计算所述可复写式非易失性存储器模块的使用寿命及执行所述可复写式非易失性存储器模块的平均抹损操作,以及根据所述使用时间管理表及所述读取次数管理表执行所述可复写式非易失性存储器模块的数据更新操作。
12.一种存储器存储装置,其特征在于,包括:
连接接口单元,电性连接至主机系统;
可复写式非易失性存储器模块,具有多个实体抹除单元;以及
存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,并从所述主机系统接收读取指令,
其中,所述存储器控制电路单元根据所述读取指令从所述可复写式非易失性存储器模块中读取对应于该些实体抹除单元的使用信息,
其中,所述存储器控制电路单元根据所接收的写入指令将所读取的使用信息写入至该些实体抹除单元之中的第一实体抹除单元中,并为所述第一实体抹除单元标示辨识标记,其中所述写入指令是反应于已完成所述可复写式非易失性存储器模块中读取对应于该些实体抹除单元的所述使用信息而从所述主机系统所传送的,
其中,所述存储器控制电路单元根据所接收的抹除指令抹除该些实体抹除单元中除了具有所述辨识标记的所述第一实体抹除单元以外的至少部分的实体抹除单元的数据,其中所述抹除指令是反应于已完成将所述使用信息写入至所述第一实体抹除单元而从所述主机系统所传送的,
其中,所述存储器控制电路单元根据存储在所述第一实体抹除单元中的所述使用信息建立存储器管理表,并根据所述存储器管理表来操作所述存储器存储装置。
13.根据权利要求12所述的存储器存储装置,其特征在于,所述存储器控制电路单元是在抹除该些实体抹除单元中除了所述第一实体抹除单元以外的所述至少部分的实体抹除单元的数据之后,根据存储在所述第一实体抹除单元中的所述使用信息建立所述存储器管理表。
14.根据权利要求13所述的存储器存储装置,其特征在于,所述存储器控制电路单元还在该些实体抹除单元中搜寻未编程数据的实体抹除单元以作为所述第一实体抹除单元,
其中,倘若该些实体抹除单元中不存在所述未编程数据的实体抹除单元,所述存储器控制电路单元将所述存储器存储装置宣告为一写入保护状态。
15.根据权利要求13所述的存储器存储装置,其特征在于,所述存储器控制电路单元将来自于所述主机系统的固件码写入至所述可复写式非易失性存储器模块中。
16.根据权利要求12所述的存储器存储装置,其特征在于,其中,所述存储器控制电路单元根据存储在所述第一实体抹除单元中的所述使用信息建立逻辑地址-实体地址映射表以回应于从所述主机系统所接收的开卡指令。
17.根据权利要求12所述的存储器存储装置,其特征在于,倘若所述存储器控制电路单元判断要使用存储在所述第一实体抹除单元中的所述使用信息,所述存储器控制电路单元根据存储在所述第一实体抹除单元中的所述使用信息建立所述存储器管理表,
其中倘若所述存储器控制电路单元判断不使用存储在所述第一实体抹除单元中的所述使用信息,所述存储器控制电路单元建立新的存储器管理表。
18.根据权利要求12所述的存储器存储装置,其特征在于,所述使用信息包括坏区块信息,
其中所述存储器控制电路单元根据所述坏区块信息建立坏区块管理表。
19.根据权利要求12所述的存储器存储装置,其特征在于,所述使用信息包括抹除次数信息,
其中所述存储器控制电路单元根据所述抹除次数信息计算所述可复写式非易失性存储器模块的使用寿命并根据所述使用寿命决定是否发出警告信息,或根据所述抹除次数信息执行所述可复写式非易失性存储器模块的平均抹损操作。
20.根据权利要求12所述的存储器存储装置,其特征在于,所述使用信息包括使用时间信息,
其中所述存储器控制电路单元根据所述使用时间信息计算所述可复写式非易失性存储器模块的使用寿命,或根据所述使用时间信息执行所述可复写式非易失性存储器模块的数据更新操作。
21.根据权利要求12所述的存储器存储装置,其特征在于,所述使用信息包括读取次数信息,
其中所述存储器控制电路单元根据所述读取次数信息判断至少一实体编程单元的被读取次数,并且倘若所述至少一实体编程单元的所述被读取次数达到读取次数门槛值,对所述至少一实体编程单元所属的实体抹除单元执行数据更新操作。
22.根据权利要求12所述的存储器存储装置,其特征在于,所述存储器管理表包括逻辑地址-实体地址映射表、抹除次数管理表、使用时间管理表及读取次数管理表,其中所述存储器控制电路单元根据所述逻辑地址-实体地址映射表存取该些实体抹除单元,并根据所述抹除次数管理表及所述使用时间管理表计算所述可复写式非易失性存储器模块的使用寿命及执行所述可复写式非易失性存储器模块的平均抹损操作,以及根据所述使用时间管理表及所述读取次数管理表执行所述可复写式非易失性存储器模块的数据更新操作。
23.一种存储器管理系统,其特征在于,包括:
主机系统,具有存储器管理单元;
存储器存储装置,包括:
连接接口单元,电性连接至所述主机系统;
可复写式非易失性存储器模块,具有多个实体抹除单元;以及
存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中,所述存储器管理单元传送读取指令至所述存储器存储装置,并且所述存储器控制电路单元根据所述读取指令从所述可复写式非易失性存储器模块中读取对应于该些实体抹除单元的使用信息以回应于所述读取指令,
其中,反应于已完成所述可复写式非易失性存储器模块中读取对应于该些实体抹除单元的所述使用信息,所述存储器管理单元传送写入指令至所述存储器存储装置,并且所述存储器控制电路单元还根据所述写入指令写入所读取的使用信息至该些实体抹除单元中的第一实体抹除单元中以及为所述第一实体抹除单元标记辨识标记以回应于所述写入指令,
其中,反应于已完成将所述使用信息写入至所述第一实体抹除单元,所述存储器管理单元传送抹除指令至所述存储器存储装置,并且所述存储器控制电路单元根据所接收所述抹除指令抹除该些实体抹除单元中除了具有所述辨识标记的所述第一实体抹除单元以外的至少部分的实体抹除单元的数据,
其中,所述存储器管理单元传送建立表格指令至所述存储器存储装置,并且所述存储器控制电路单元根据所述建立表格指令依据存储在所述第一实体抹除单元中的所述使用信息建立存储器管理表,并根据所述存储器管理表来操作所述存储器存储装置。
24.根据权利要求23所述的存储器管理系统,其特征在于,所述存储器管理单元是在所述存储器控制电路单元抹除该些实体抹除单元中除了所述第一实体抹除单元以外的所述至少部分的实体抹除单元的数据之后,传送所述建立表格指令至所述存储器存储装置。
25.根据权利要求24所述的存储器管理系统,其特征在于,所述存储器控制电路单元还根据所述写入指令在该些实体抹除单元中搜寻未编程数据的实体抹除单元以作为所述第一实体抹除单元,
其中,倘若该些实体抹除单元中不存在所述未编程数据的实体抹除单元,所述存储器控制电路单元回传第一错误信息至所述主机系统以回应于所述写入指令,
其中,所述存储器管理单元根据所述第一错误信息传送写入保护指令至所述存储器存储装置,所述存储器控制电路单元根据所述写入保护指令将所述存储器存储装置宣告为写入保护状态以回应于所述写入保护指令。
26.根据权利要求24所述的存储器管理系统,其特征在于,所述存储器管理单元传送更新固件码指令至所述存储器存储装置,并且所述存储器控制电路单元根据所述更新固件码指令将来自于所述主机系统的固件码写入至所述可复写式非易失性存储器模块中。
27.根据权利要求23所述的存储器管理系统,其特征在于,所述存储器控制电路单元判断从所述主机系统接收的所述建立表格指令是否指示要使用存储在所述第一实体抹除单元中的所述使用信息,
其中,倘若所述存储器控制电路单元判断所述建立表格指令指示使用存储在所述第一实体抹除单元中的所述使用信息,所述存储器控制电路单元依据存储在所述第一实体抹除单元中的所述使用信息建立所述存储器管理表,
其中,倘若所述存储器控制电路单元判断所述建立表格指令指示不使用存储在所述第一实体抹除单元中的所述使用信息,所述存储器控制电路单元建立新的存储器管理表。
28.根据权利要求23所述的存储器管理系统,其特征在于,所述使用信息包括坏区块信息,
其中所述存储器控制电路单元根据所述坏区块信息建立坏区块管理表。
29.根据权利要求23所述的存储器管理系统,其特征在于,所述使用信息包括抹除次数信息,
其中所述存储器控制电路单元根据所述抹除次数信息计算所述可复写式非易失性存储器模块的使用寿命并根据所述使用寿命决定是否发出警告信息,或根据所述抹除次数信息执行所述可复写式非易失性存储器模块的平均抹损操作。
30.根据权利要求23所述的存储器管理系统,其特征在于,所述使用信息包括使用时间信息,
其中所述存储器控制电路单元根据所述使用时间信息计算所述可复写式非易失性存储器模块的使用寿命,或根据所述使用时间信息执行所述可复写式非易失性存储器模块的数据更新操作。
31.根据权利要求23所述的存储器管理系统,其特征在于,所述使用信息包括读取次数信息,
其中所述存储器控制电路单元根据所述读取次数信息判断至少一实体编程单元的被读取次数,并且倘若所述至少一实体编程单元的所述被读取次数达到读取次数门槛值,对所述至少一实体编程单元所属的实体抹除单元执行数据更新操作。
32.根据权利要求23所述的存储器管理系统,其特征在于,所述存储器管理表包括逻辑地址-实体地址映射表、抹除次数管理表、使用时间管理表及读取次数管理表,其中所述存储器控制电路单元根据所述逻辑地址-实体地址映射表存取该些实体抹除单元,并根据所述抹除次数管理表及所述使用时间管理表计算所述可复写式非易失性存储器模块的使用寿命及执行所述可复写式非易失性存储器模块的平均抹损操作,以及根据所述使用时间管理表及所述读取次数管理表执行所述可复写式非易失性存储器模块的数据更新操作。
CN201510847627.5A 2015-11-27 2015-11-27 存储器管理方法与系统及其存储器存储装置 Active CN106814968B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510847627.5A CN106814968B (zh) 2015-11-27 2015-11-27 存储器管理方法与系统及其存储器存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510847627.5A CN106814968B (zh) 2015-11-27 2015-11-27 存储器管理方法与系统及其存储器存储装置

Publications (2)

Publication Number Publication Date
CN106814968A CN106814968A (zh) 2017-06-09
CN106814968B true CN106814968B (zh) 2020-03-17

Family

ID=59103059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510847627.5A Active CN106814968B (zh) 2015-11-27 2015-11-27 存储器管理方法与系统及其存储器存储装置

Country Status (1)

Country Link
CN (1) CN106814968B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445088B2 (en) * 2018-01-11 2019-10-15 Macronix International Co., Ltd. System boot code clone
US10395038B2 (en) * 2018-02-01 2019-08-27 Quanta Computer Inc. System and method for automatic recovery of firmware image
CN111880749B (zh) * 2020-08-04 2023-06-13 群联电子股份有限公司 数据读取方法、存储器存储装置及存储器控制电路单元
CN114356806B (zh) * 2021-12-31 2024-04-16 深圳宏芯宇电子股份有限公司 快速开卡方法、设备及计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840307A (zh) * 2009-03-17 2010-09-22 株式会社东芝 控制器和存储器系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9547589B2 (en) * 2008-06-18 2017-01-17 Super Talent Technology, Corp. Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive
US8612718B2 (en) * 2009-08-19 2013-12-17 Seagate Technology Llc Mapping alignment
US9311229B2 (en) * 2011-03-29 2016-04-12 Blackberry Limited System and method for managing flash memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840307A (zh) * 2009-03-17 2010-09-22 株式会社东芝 控制器和存储器系统

Also Published As

Publication number Publication date
CN106814968A (zh) 2017-06-09

Similar Documents

Publication Publication Date Title
US9940021B2 (en) Method and system for memory management and memory storage device thereof
US9940189B2 (en) Method and system for data rebuilding and memory control circuit unit thereof
US10635358B2 (en) Memory management method and storage controller
US10437484B2 (en) Data protecting method, memory control circuit unit and memory storage device
US10235094B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US20200042441A1 (en) Memory management method and storage controller
CN106814968B (zh) 存储器管理方法与系统及其存储器存储装置
CN111078146B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN107045890B (zh) 数据保护方法、存储器控制电路单元及存储器存储装置
US10509583B1 (en) Memory management method and storage controller
CN106959818B (zh) 数据写入方法、存储器控制电路单元与存储器储存装置
CN113867640A (zh) 存储器轮询方法、存储器存储装置及存储器控制电路单元
CN107204205B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN107103930B (zh) 数据写入方法、存储器控制电路单元与存储器存储装置
US9760456B2 (en) Memory management method, memory storage device and memory control circuit unit
US10635583B2 (en) Memory management method and storage controller
CN110442299B (zh) 数据写入方法、存储器控制电路单元以及存储器储存装置
US10824368B2 (en) Data storing method, memory control circuit unit and memory storage device
CN107132989B (zh) 数据程序化方法、存储器控制电路单元及存储器存储装置
CN108108118B (zh) 数据写入方法以及存储控制器
US20220164133A1 (en) Memory control method, memory storage device and memory control circuit unit
CN111831210B (zh) 存储器管理方法、存储器控制电路单元及存储器存储装置
US10579306B1 (en) Memory management method and storage controller
US10884660B2 (en) Memory management method, memory storage device and memory control circuit unit
CN111610937A (zh) 数据写入方法、存储器存储装置及存储器控制电路单元

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant