CN112925481A - 存储器管理方法、存储器存储装置及存储器控制电路单元 - Google Patents

存储器管理方法、存储器存储装置及存储器控制电路单元 Download PDF

Info

Publication number
CN112925481A
CN112925481A CN202110254803.XA CN202110254803A CN112925481A CN 112925481 A CN112925481 A CN 112925481A CN 202110254803 A CN202110254803 A CN 202110254803A CN 112925481 A CN112925481 A CN 112925481A
Authority
CN
China
Prior art keywords
data
unit
memory
management information
physical
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
CN202110254803.XA
Other languages
English (en)
Other versions
CN112925481B (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.)
Hefei Core Storage Electronic Ltd
Original Assignee
Hefei Core Storage Electronic Ltd
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 Hefei Core Storage Electronic Ltd filed Critical Hefei Core Storage Electronic Ltd
Priority to CN202110254803.XA priority Critical patent/CN112925481B/zh
Priority to TW110109102A priority patent/TWI768764B/zh
Priority to US17/207,737 priority patent/US11442657B1/en
Publication of CN112925481A publication Critical patent/CN112925481A/zh
Application granted granted Critical
Publication of CN112925481B publication Critical patent/CN112925481B/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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors

Landscapes

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

Abstract

本发明提供一种存储器管理方法、存储器存储装置及存储器控制电路单元。所述方法包括:将第一管理信息存储于可复写式非易失性存储器模块中,其中第一管理信息反映可复写式非易失性存储器模块中的第一实体单元中的异常数据的存储状况;从主机系统接收读取指令,其指示读取存储于逻辑单元的数据,且逻辑单元对应于第一实体单元中的实体节点;根据读取指令查询第一管理信息;若查询结果反映实体节点未存储异常数据,将从实体节点读取的数据传送给主机系统;以及若查询结果反映实体节点有存储异常数据,将错误信息传送给主机系统。藉此,可提高存储器存储装置的数据存取质量。

Description

存储器管理方法、存储器存储装置及存储器控制电路单元
技术领域
本发明涉及一种存储器管理技术,且尤其涉及一种存储器管理方法、存储器存储装置及存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(rewritable non-volatilememory module)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,存储器存储装置可通过数据整并操作(例如垃圾回收程序)来将可复写式非易失性存储器模块中的旧数据集中存储并释放出新的闲置实体单元。新的闲置实体单元可用以存储来自主机系统的新数据。但是,在数据整并操作中,若所搬移的某一旧数据是属于无法更正(Uncorrectable)的数据(例如因数据包含太多错误位元而无法被更正),则此数据将被视为正常数据而存储至目标实体单元。尔后,当主机系统指示读取此数据(实际上为无法更正数据)时,存储器存储装置会将此数据视为正常数据从所述目标实体单元读取出来并传送给主机系统,从而降低读取数据的数据质量。
发明内容
本发明提供一种存储器管理方法、存储器存储装置及存储器控制电路单元,可提高存储器存储装置的数据存取质量。
本发明的范例实施例提供一种存储器管理方法,其用于可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个实体单元。所述存储器管理方法包括:将第一管理信息存储于所述可复写式非易失性存储器模块中,其中所述第一管理信息反映所述多个实体单元中的第一实体单元中的异常数据的存储状况;从主机系统接收读取指令,其中所述读取指令指示读取存储于至少一逻辑单元的数据,且所述至少一逻辑单元对应于所述第一实体单元中的至少一实体节点;根据所述读取指令查询所述第一管理信息;若查询结果反映所述至少一实体节点未存储所述异常数据,将从所述至少一实体节点读取的数据传送给所述主机系统;以及若所述查询结果反映所述至少一实体节点有存储所述异常数据,将错误信息传送给所述主机系统。
在本发明的一范例实施例中,根据所述读取指令查询所述第一管理信息的步骤包括:根据所述单元管理信息获得所述节点管理信息在所述可复写式非易失性存储器模块中的存储地址;以及从所述存储地址读取所述节点管理信息。
在本发明的一范例实施例中,所述的存储器管理方法还包括:在从所述主机系统接收所述读取指令之前,执行数据整并操作,以将所述数据从所述多个实体单元中的第二实体单元复制到所述第一实体单元中;以及根据第二管理信息更新所述第一管理信息,其中所述第二管理信息反映所述第二实体单元中的所述异常数据的存储状况。
在本发明的一范例实施例中,所述的存储器管理方法还包括:在将所述数据从所述第二实体单元复制到所述第一实体单元之后,重置所述第二管理信息。
本发明的范例实施例另提供一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。所述连接接口单元用以连接至主机系统。所述可复写式非易失性存储器模块包括多个实体单元。所述存储器控制电路单元连接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元用以将第一管理信息存储于所述可复写式非易失性存储器模块中。所述第一管理信息反映所述多个实体单元中的第一实体单元中的异常数据的存储状况。所述存储器控制电路单元还用以从所述主机系统接收读取指令。所述读取指令指示读取存储于至少一逻辑单元的数据。所述至少一逻辑单元对应于所述第一实体单元中的至少一实体节点。所述存储器控制电路单元还用以根据所述读取指令查询所述第一管理信息。若查询结果反映所述至少一实体节点未存储所述异常数据,所述存储器控制电路单元还用以将从所述至少一实体节点读取的数据传送给所述主机系统。若所述查询结果反映所述至少一实体节点有存储所述异常数据,所述存储器控制电路单元还用以将错误信息传送给所述主机系统。
在本发明的一范例实施例中,在从所述主机系统接收所述读取指令之前,所述存储器控制电路单元还用以执行数据整并操作,以将所述数据从所述多个实体单元中的第二实体单元复制到所述第一实体单元中。所述存储器控制电路单元还用以根据第二管理信息更新所述第一管理信息。所述第二管理信息反映所述第二实体单元中的所述异常数据的存储状况。
在本发明的一范例实施例中,在将所述数据从所述第二实体单元复制到所述第一实体单元之后,所述存储器控制电路单元还用以重置所述第二管理信息。
本发明的范例实施例另一种存储器控制电路单元,其用以控制可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个实体单元。所述存储器控制电路单元包括主机接口、存储器接口及存储器管理电路。所述主机接口用以连接至主机系统。所述存储器接口用以连接至所述可复写式非易失性存储器模块。所述存储器管理电路连接至所述主机接口与所述存储器接口。所述存储器管理电路用以将第一管理信息存储于所述可复写式非易失性存储器模块中。所述第一管理信息反映所述多个实体单元中的第一实体单元中的异常数据的存储状况。所述存储器管理电路还用以从所述主机系统接收读取指令。所述读取指令指示读取存储于至少一逻辑单元的数据。所述至少一逻辑单元对应于所述第一实体单元中的至少一实体节点。所述存储器管理电路还用以根据所述读取指令查询所述第一管理信息。若查询结果反映所述至少一实体节点未存储所述异常数据,所述存储器管理电路还用以将从所述至少一实体节点读取的数据传送给所述主机系统。若所述查询结果反映所述至少一实体节点有存储所述异常数据,所述存储器管理电路还用以将错误信息传送给所述主机系统。
在本发明的一范例实施例中,所述异常数据包括毁损数据与无法更正数据的至少其中之一。
在本发明的一范例实施例中,所述第一管理信息包括一单元管理信息,其反映所述第一实体单元中是否有存储所述异常数据。
在本发明的一范例实施例中,所述第一管理信息还包括节点管理信息,其反映所述至少一实体节点是否有存储所述异常数据。
在本发明的一范例实施例中,根据所述读取指令查询所述第一管理信息的操作包括:根据所述单元管理信息获得所述节点管理信息在所述可复写式非易失性存储器模块中的存储地址;以及从所述存储地址读取所述节点管理信息。
在本发明的一范例实施例中,在从所述主机系统接收所述读取指令之前,所述存储器管理电路还用以执行数据整并操作,以将所述数据从所述多个实体单元中的第二实体单元复制到所述第一实体单元中。所述存储器管理电路还用以根据第二管理信息更新所述第一管理信息,其中所述第二管理信息反映所述第二实体单元中的所述异常数据的存储状况。
在本发明的一范例实施例中,在将所述数据从所述第二实体单元复制到所述第一实体单元之后,所述存储器管理电路还用以重置所述第二管理信息。
基于上述,第一管理信息可被存储于可复写式非易失性存储器模块中,以反映第一实体单元中的异常数据的存储状况。在从主机系统接收读取指令后,所述第一管理信息可被查询。根据查询结果,从第一实体单元中的至少部分实体节点读取的数据或者错误信息可被选择性地传送给所述主机系统。藉此,可提高存储器存储装置的数据存取质量。
附图说明
图1是根据本发明的范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图;
图3是根据本发明的范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据本发明的范例实施例所示出的存储器存储装置的概要方块图;
图5是根据本发明的范例实施例所示出的存储器控制电路单元的概要方块图;
图6是根据本发明的范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图7是根据本发明的范例实施例所示出的第一实体单元与第一管理信息的示意图;
图8是根据本发明的范例实施例所示出的存储于系统区的节点管理信息的示意图;
图9是根据本发明的范例实施例所示出的响应于数据整并操作更新第一管理信息的示意图;
图10是根据本发明的范例实施例所示出的存储器管理方法的流程图。
具体实施方式
一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与控制器(亦称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图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可例如是U盘201、存储卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近场通信(Near FieldCommunication,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可为其所使用的安全数字(Secure Digital,SD)卡32、小型快闪(Compact Flash,CF)卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded MultiMedia Card,eMMC)341和/或嵌入式多晶片封装(embedded Multi Chip Package,eMCP)存储装置342等各类型将存储器模块直接连接于主机系统的基板上的嵌入式存储装置。
图4是根据本发明的范例实施例所示出的存储器存储装置的概要方块图。请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
连接接口单元402用以将存储器存储装置10连接至主机系统11。存储器存储装置10可通过连接接口单元402与主机系统11通信。在本范例实施例中,连接接口单元402是相容于串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402亦可以是符合并行高级技术附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、SD接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(MemoryStick,MS)接口标准、MCP接口标准、MMC接口标准、eMMC接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、eMCP接口标准、CF接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元404的芯片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块406是连接至存储器控制电路单元404并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个位元的快闪存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个位元的快闪存储器模块)、三阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个位元的快闪存储器模块)、四阶存储单元(Quad Level Cell,QLC)NAND型快闪存储器模块(即,一个存储单元中可存储4个位元的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块406中的每一个存储单元是以电压(以下亦称为阈值电压)的改变来存储一或多个位元。具体来说,每一个存储单元的控制门极(controlgate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制门极,可以改变电荷补捉层的电子量,进而改变存储单元的阈值电压。此改变存储单元的阈值电压的操作亦称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着阈值电压的改变,可复写式非易失性存储器模块406中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个存储单元是属于哪一个存储状态,藉此取得此存储单元所存储的一或多个位元。
在本范例实施例中,可复写式非易失性存储器模块406的存储单元可构成多个实体程序化单元,并且此些实体程序化单元可构成多个实体抹除单元。具体来说,同一条字线上的存储单元可组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的位元,则同一条字线上的实体程序化单元可至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效位元(Least Significant Bit,LSB)是属于下实体程序化单元,并且一存储单元的最高有效位元(Most Significant Bit,MSB)是属于上实体程序化单元。一般来说,在MLC NAND型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。
在本范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元可为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元可包括数据位元区与冗余(redundancy)位元区。数据位元区包含多个实体扇,用以存储使用者数据,而冗余位元区用以存储系统数据(例如,纠错码等管理数据)。在本范例实施例中,数据位元区包含32个实体扇,且一个实体扇的大小为512位元组(byte,B)。然而,在其他范例实施例中,数据位元区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目的一并被抹除的存储单元。例如,实体抹除单元为实体块(block)。
图5是根据本发明的范例实施例所示出的存储器控制电路单元的概要方块图。请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504及存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一范例实施例中,存储器管理电路502的控制指令亦可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在另一范例实施例中,存储器管理电路502的控制指令亦可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是连接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或存储单元群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路502还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。
主机接口504是连接至存储器管理电路502。存储器管理电路502可通过主机接口504与主机系统11通信。主机接口504可用以接收与识别主机系统11所传送的指令与数据。例如,主机系统11所传送的指令与数据可通过主机接口504来传送至存储器管理电路502。此外,存储器管理电路502可通过主机接口504将数据传送至主机系统11。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会通过存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路502产生并且通过存储器接口506传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
在一范例实施例中,存储器控制电路单元404还包括错误检查与校正电路508、缓冲存储器510与电源管理电路512。错误检查与校正电路508是连接至存储器管理电路502并且用以执行错误检查与校正操作以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路508会为对应此写入指令的数据产生对应的纠错码(error correcting code,ECC)和/或检错码(error detecting code,EDC),并且存储器管理电路502会将对应此写入指令的数据与对应的纠错码和/或检错码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的纠错码和/或检错码,并且错误检查与校正电路508会依据此纠错码和/或检错码对所读取的数据执行错误检查与校正操作。
缓冲存储器510是连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路512是连接至存储器管理电路502并且用以控制存储器存储装置10的电源。
在一范例实施例中,图4的可复写式非易失性存储器模块406亦称为快闪(flash)存储器模块,存储器控制电路单元404亦称为用于控制快闪存储器模块的快闪存储器控制器,和/或图5的存储器管理电路502亦称为快闪存储器管理电路。
图6是根据本发明的范例实施例所示出的管理可复写式非易失性存储器模块的示意图。请参照图6,存储器管理电路502可将可复写式非易失性存储器模块406的实体单元610(0)~610(C)逻辑地分组至存储区601、闲置(spare)区602及系统区603。存储区601中的实体单元610(0)~610(A)存储有数据。例如,存储区601中的实体单元610(0)~610(A)可存储有效(valid)数据与无效(invalid)数据。闲置区602中的实体单元610(A+1)~610(B)尚未用来存储数据(例如有效数据)。系统区603中的实体单元610(B+1)~610(C)用以存储系统数据,例如逻辑至实体映射表、坏块管理表、装置型号或其他类型的管理数据。
在一范例实施例中,一个实体单元亦称为一个虚拟块(Virtual Block,VB)。一个实体单元可包含一或多个实体块。当欲存储数据时,存储器管理电路502可从闲置区602的实体单元610(A+1)~610(B)中选择至少一个实体单元并且将来自主机系统11或来自存储区601中至少一实体单元的数据存储至所选的实体单元中。同时,所选的实体单元会被关联至存储区601。此外,被抹除的实体单元可被重新关联至闲置区602。
在一范例实施例中,存储器管理电路502可配置逻辑单元612(0)~612(D)以映射存储区601中的实体单元610(0)~610(A)。一个逻辑单元可包含一或多个逻辑地址。例如,所述逻辑地址可为逻辑块地址(Logical Block Address,LBA)。逻辑单元612(0)~612(D)中的每一者可被映射至一或多个实体单元。须注意的是,存储器管理电路502可不配置映射至系统区603的逻辑单元,以防止存储于系统区603的管理数据被使用者修改。
在一范例实施例中,存储器管理电路502可将逻辑单元与实体单元之间的映射关系(亦称为逻辑至实体映射信息或映射信息)记录于至少一逻辑至实体映射表。逻辑至实体映射表是存储于系统区603的实体单元610(B+1)~610(C)中。当主机系统11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路502可根据此逻辑至实体映射表来执行对于存储器存储装置10的数据存取操作。
须注意的是,有效数据是属于某一个逻辑单元的最新数据,而无效数据则不是属于任一个逻辑单元的最新数据。例如,若主机系统11将一笔新数据存储至某一逻辑单元而覆盖掉此逻辑单元原先存储的旧数据(即,更新属于此逻辑单元的数据),则存储至存储区601中的此笔新数据即为属于此逻辑单元的最新数据并且会被标记为有效,而被覆盖掉的旧数据可能仍然存储在存储区601中但被标记为无效。
在一范例实施例中,若属于某一逻辑单元的数据被更新,则此逻辑单元与存储有属于此逻辑单元的旧数据的实体单元之间的映射关系会被移除,并且此逻辑单元与存储有属于此逻辑单元的最新数据的实体单元之间的映射关系会被建立。然而,在另一范例实施例中,若属于某一逻辑单元的数据被更新,则此逻辑单元与存储有属于此逻辑地址的旧数据的实体单元之间的映射关系仍可被维持。
在一范例实施例中,当存储器存储装置10出厂时,属于闲置区602的实体单元的总数会是一个预设数目(例如,30)。在存储器存储装置10的运作中,越来越多的实体单元会被从闲置区602选择并且被关联至存储区601以存储数据(例如,来自主机系统11的使用者数据)。因此,属于闲置区602的实体单元的总数会随着存储器存储装置10的使用而逐渐减少。
在一范例实施例中,在存储器存储装置10的运作中,存储器管理电路502可持续更新属于闲置区602的实体单元的总数。存储器管理电路502可根据闲置区602中的实体单元的数目(即,闲置管理单元的总数)执行数据整并操作。例如,存储器管理电路502可判断属于闲置区602的实体单元的总数是否小于或等于一个门槛值(亦称为第一门槛值)。此第一门槛值例如是2或者更大的值(例如,10),本发明不加以限制。若属于闲置区602的实体单元的总数小于或等于第一门槛值,存储器管理电路502可执行数据整并操作。在一范例实施例中,数据整并操作亦称为垃圾收集操作。
在一范例实施例中,在数据整并操作中,存储器管理电路502可从存储区601中选择至少一个实体单元作为来源实体单元并且从闲置区602中选择至少一个实体单元作为目标实体单元。存储器管理电路502可发送至少一指令序列以指示可复写式非易失性存储器模块406将有效数据从作为来源实体单元的实体单元复制到作为目标实体单元的实体单元中。作为目标实体单元而被有效数据写满的实体单元可被关联至存储区601。若某一个管理单元所存储的有效数据皆已被复制至目标实体单元,则此实体单元可被抹除并且被关联至闲置区602。
在一范例实施例中,将某一个实体单元从存储区601重新关联回闲置区602的操作(或抹除某一个实体单元的操作)亦称为释放一个闲置管理单元。通过执行数据整并操作,一或多个闲置实体单元会被释放并且使得属于闲置区602的实体单元的总数逐渐增加。
在一范例实施例中,在开始执行数据整并操作后,若属于闲置区602的实体单元符合一特定条件,数据整并操作可被停止。例如,存储器管理电路502可判断属于闲置区602的实体单元的总数是否大于或等于一个门槛值(以下亦称为第二门槛值)。例如,第二门槛值可以大于或等于第一门槛值。若属于闲置区602的实体单元的总数大于或等于第二门槛值,存储器管理电路502可停止数据整并操作。须注意的是,停止数据整并操作是指结束当前执行中的数据整并操作。在停止一个数据整并操作之后,若属于闲置区602的实体单元的总数再次小于或等于第一门槛值,则下一个数据整并操作可再次被执行,以尝试释放新的闲置实体单元。
在一范例实施例中,存储器管理电路502可将特定的管理信息(亦称为第一管理信息)存储于可复写式非易失性存储器模块406中。例如,此第一管理信息可存储于系统区603中的一或多个实体单元中。特别是,此第一管理信息可反映存储区601中的某一实体单元(亦称为第一实体单元)中的异常数据的存储状况。例如,此第一管理信息可反映异常数据是否存在于第一实体单元中和/或异常数据在第一实体单元中的分布状况。
在一范例实施例中,所述异常数据可包括毁损数据和/或无法更正数据。例如,在读取某一数据之前,若已知此数据的数据内容毁损和/或无法被成功解码,则此数据可被视为毁损数据。此外,在读取某一数据之前,若未知此数据的数据内容是否毁损,直到将此数据读取出来解码之后才发现此数据无法被成功解码,则此无法成功解码的数据可被视为无法更正数据。
在一范例实施例中,存储器管理电路502可从主机系统11接收读取指令。此读取指令可指示读取存储于至少一逻辑单元的数据。此至少一逻辑单元对应于第一实体单元中的至少一实体节点。在一范例实施例中,可视为所述第一实体单元中的至少一实体节点是被所述至少一逻辑单元映射。
在一范例实施例中,存储器管理电路502可根据此读取指令查询第一管理信息。若查询结果反映所述至少一实体节点未存储任何异常数据,存储器管理电路502可指示可复写式非易失性存储器模块406从所述至少一实体节点读取主机系统11所需的数据并将从所述至少一实体节点读取的数据传送给主机系统11,以回应所述读取指令。须注意的是,将主机系统11所需的数据从所述至少一实体节点读取出来的操作可包括解码此数据,以更正其中的错误。另一方面,若查询结果反映所述至少一实体节点有存储所述异常数据,则存储器管理电路502可将错误信息传送给主机系统11。此错误信息可通知主机系统11其所要求的数据属于异常数据(或所述无法更正数据)。
在一范例实施例中,若所述读取指令所指示读取的数据在存储器存储装置10中经过搬移(例如通过数据整并操作搬移到所述第一实体单元中),则无论此数据是否属于所述异常数据,此数据可能统一被视为正常数据而存储至第一实体单元中。尔后,当主机系统11通过所述读取指令尝试读取此数据(实际上为异常数据)时,存储器管理电路502可能会将此数据视为正常数据而从第一实体单元中读取出来并传送给主机系统11。此时,主机系统11或其使用者可能会发现来自存储器存储装置10的数据的数据质量有问题,从而降低使用者体验。
在一范例实施例中,无论所述读取指令所指示读取的数据是否经过搬移,通过查询所述第一管理信息,所述读取指令所指示读取的数据是否包含异常数据的相关信息可被获得。一旦所述读取指令所指示读取的数据包含所述异常数据,所述错误信息可被作为替代而传送给主机系统11。藉此,可有效降低意外的将所述异常数据传送给主机系统11的机率,从而提高数据存取质量。
在一范例实施例中,所述第一管理信息包括单元管理信息。此单元管理信息可反映第一实体单元中是否有存储所述异常数据。也就是说,在查询此单元管理信息后,存储器管理电路502可获得第一实体单元中是否有存储所述异常数据的相关信息。
在一范例实施例中,所述第一管理信息还包括节点管理信息。此节点管理信息可反映所述至少一实体节点是否有存储所述异常数据。也就是说,在查询此节点管理信息后,存储器管理电路502可获得第一实体单元中的所述至少一实体节点是否有存储所述异常数据的相关信息。
在一范例实施例中,所述单元管理信息还可反映所述第一管理信息中的节点管理信息在可复写式非易失性存储器模块406中的存储地址。藉此,在一范例实施例中,在查询所述单元管理信息后,存储器管理电路502还可获得所述第一管理信息中的节点管理信息在可复写式非易失性存储器模块406中的存储地址并从此存储地址读取所需的节点管理信息。
图7是根据本发明的范例实施例所示出的第一实体单元与第一管理信息的示意图。请参照图7,在一范例实施例中,是以实体单元610(0)作为第一实体单元的范例。然而,在另一范例实施例中,第一实体单元还可以是指可复写式非易失性存储器模块406中的其他实体单元,本发明不加以限制。
在一范例实施例中,假设实体单元610(0)(即第一实体单元)包含实体节点P(0)~P(15)。实体节点P(0)~P(15)可用以存储数据。例如,实体节点P(0)~P(15)中的每一者可用以存储4KB或者其他大小的数据。
在一范例实施例中,在接收到所述读取指令后,响应于所述读取指令所指示读取的数据存储于实体单元610(0)中,存储器管理电路502可查询第一管理信息以得知实体单元610(0)中是否存储有所述异常数据和/或所述异常数据在实体单元610(0)中的分布状态。
在一范例实施例中,所述第一管理信息包括单元管理信息710与节点管理信息720。单元管理信息710可包括一个位元映射表,如图7所示。例如,此位元映射表中的每一个存储栏位中的信息可反映相应的某一个实体单元中是否存储有所述异常数据。或者,此位元映射表也可反映所述异常数据在多个实体单元中的分布状态。例如,若单元管理信息710中的某一个存储栏位中的信息为数值“0”(或者某一预设值),表示此存储栏位所对应的实体单元中没有存储所述异常数据。反之,若单元管理信息710中的某一个存储栏位中的信息非数值“0”(或者某一预设值),则表示此存储栏位所对应的实体单元中有存储所述异常数据。
以图7为例,在一范例实施例中,是假设单元管理信息710中(只有)对应于实体单元610(0)的存储栏位中的信息非数值“0”(或者其他无意义的数值)。因此,存储器管理电路502可根据单元管理信息710中的信息判定(只有)实体单元610(0)中有存储所述异常数据。
在一范例实施例中,单元管理信息710中的对应于实体单元610(0)的存储栏位中的信息可包括地址信息PA(0)。地址信息PA(0)可反映对应于实体单元610(0)的节点管理信息720在图6的系统区603中的存储地址。因此,在一范例实施例中,在查询单元管理信息710后,存储器管理电路502还可指示可复写式非易失性存储器模块406从地址信息PA(0)所反映的存储地址读取节点管理信息720。
图8是根据本发明的一范例实施例所示出的存储于系统区的节点管理信息的示意图。请参照图8,在一范例实施例中,假设节点管理信息720存储于图6的系统区603中的实体单元610(B+1)中。存储器管理电路502可从地址信息PA(0)所反映的存储地址读取节点管理信息720。尔后,存储器管理电路502可根据节点管理信息720得知所述异常数据在实体单元610(0)中的分布状态。
回到图7,在一范例实施例中,节点管理信息720也可包括一个位元映射表,如图7所示。此位元映射表可反映所述异常数据在实体单元610(0)的实体节点P(0)~P(15)中的分布状态。例如,此位元映射表中的每一个存储栏位中的信息可反映相应的某一个实体节点中是否存储有所述异常数据。例如,若节点管理信息720中的某一个存储栏位中的信息为数值“0”(或者某一预设值),表示此存储栏位所对应的实体节点中没有存储所述异常数据。反之,若节点管理信息720中的某一个存储栏位中的信息为数值“1”(或者另一预设值),则表示此存储栏位所对应的实体节点中有存储所述异常数据。
以图7为例,在一范例实施例中,是假设节点管理信息720中(只有)对应于实体节点P(4)与P(10)的存储栏位中的信息为数值“1”。因此,存储器管理电路502可根据节点管理信息720中的信息判定在实体单元610(0)中,(只有)实体节点P(4)与P(10)中有存储所述异常数据。
在一范例实施例中,假设所述读取指令是指示读取存储于实体节点P(4)和/或P(10)中的数据。根据单元管理信息710与节点管理信息720,存储器管理电路502可不从实体节点P(4)和/或P(10)中读取数据以回应所述读取指令。相反的,存储器管理电路502可传送所述错误信息给主机系统11,以通知主机系统11存储于实体节点P(4)和/或P(10)中的数据是属于所述异常数据。尔后,主机系统11可自行决定是否要更新对应于实体节点P(4)和/或P(10)的逻辑单元的数据或者执行其他错误处理操作。
在一范例实施例中,假设所述读取指令是指示读取存储于实体单元610(0)中的其余实体节点P(1)~P(3)、P(5)~P(9)和/或P(11)~P(15)中的数据。存储器管理电路502可根据单元管理信息710与节点管理信息720而指示可复写式非易失性存储器模块406正常从此些实体节点中读取数据并将所读取的数据传送给主机系统11,以回应所述读取指令。
在一范例实施例中,在接收所述读取指令之前,存储器管理电路502可执行所述数据整并操作,以将特定数据(即有效数据)从图6的存储区601中的另一实体单元(亦称为第二实体单元)复制到所述第一实体单元中。另一方面,响应于此数据整并操作,存储器管理电路502可根据另一管理信息(亦称为第二管理信息)更新所述第一管理信息。特别是,所述第二管理信息可反映所述第二实体单元中的所述异常数据的存储状况。例如,所述第二管理信息可反映所述异常数据是否存在于第二实体单元中和/或所述异常数据在第二实体单元中的分布状况。
图9是根据本发明的一范例实施例所示出的响应于数据整并操作更新第一管理信息的示意图。请参照图9,在一范例实施例中,是以实体单元610(6)作为第一实体单元的范例,并以实体单元610(1)与610(3)作为第二实体单元的范例。
在一范例实施例中,是假设节点管理信息910对应于实体单元610(1)且节点管理信息920对应于实体单元610(3)。节点管理信息910可反映所述异常数据在实体单元610(1)中的分布状态。节点管理信息920可反映所述异常数据在实体单元610(3)中的分布状态。此外,单元管理信息710可反映所述异常数据存储于实体单元610(1)中,且单元管理信息710中的地址信息PA(1)可反映节点管理信息910在可复写式非易失性存储器模块406中的存储地址。
须注意的是,在图9的范例实施例中,是假设在所述数据整并操作开始之前,存储于实体单元610(1)的实体节点P(3)中的数据是已知的无法更正的数据(即损毁数据),且存储于实体单元610(3)的实体节点P(8)~P(11)中的数据是未知的无法更正的数据。因此,在所述数据整并操作开始之前,节点管理信息910可反映所述异常数据存储于实体单元610(1)的实体节点P(3)中。但是,节点管理信息920(及单元管理信息710)未反映任何异常数据存储于实体单元610(3)中。
在一范例实施例中,在数据整并操作中,存储器管理电路502可选择实体单元610(1)与610(3)作为来源实体单元并选择实体单元610(6)作为目标实体单元。存储器管理电路502可从实体单元610(1)与610(3)中收集有效数据并将所收集的有效数据复制到实体单元610(6)中。响应于此数据整并操作,存储器管理电路502可更新单元管理信息710以及对应于实体单元610(6)的节点管理信息930。例如,经更新的单元管理信息710可反映实体单元610(6)中有存储所述异常数据。例如,经更新的单元管理信息710可通过地址信息PA(6)反映节点管理信息930在可复写式非易失性存储器模块406中的存储地址。此外,节点管理信息930可反映实体单元610(6)的实体节点P(2)与P(12)~P(15)中的数据属于所述异常数据。
在一范例实施例中,若在数据整并操作中所搬移的有效数据包含原先存储于实体单元610(1)的实体节点P(3)中的异常数据,则存储器管理电路502可根据节点管理信息910中反映异常数据的分布的信息来更新节点管理信息930。
以图9为例,假设原先存储于实体单元610(1)的实体节点P(3)中的数据通过数据整并操作而被存储至实体单元610(6)的实体节点P(2)中。在此范例中,经更新的节点管理信息930可反映实体单元610(6)的实体节点P(2)中的数据(即原先存储于实体单元610(1)的实体节点P(3)中的数据)为所述异常数据。
在一范例实施例中,在所述数据整并操作中,从实体单元610(3)的实体节点P(8)~P(11)读取的数据(即有效数据)可被尝试解码(例如由错误检查与校正电路508解码)但无法被成功解码。因此,在所述数据整并操作中,存储器管理电路502可判定从实体单元610(3)的实体节点P(8)~P(11)读取的数据为所述异常数据。尔后,假设从实体单元610(3)的实体节点P(8)~P(11)读取的数据被存储于实体单元610(6)的实体节点P(12)~P(15)中,则存储器管理电路502可对应更新节点管理信息930。经更新的节点管理信息93可反映通过数据整并操作而存储于实体单元610(6)的实体节点P(12)~P(15)中的数据属于所述异常数据。
在一范例实施例中,在将有效数据从所述第二实体单元复制到所述第一实体单元之后,对应于所述第二实体单元的第二管理信息可被重置(reset)。以图9为例,在将有效数据完全从实体单元610(1)与610(3)搬移或复制到实体单元610(6)之后,实体单元610(1)与610(3)中的所有数据都可被标记为无效。响应于实体单元610(1)与610(3)中的所有数据都被标记为无效,节点管理信息910与920可被重置(例如清空)。同时,经更新的单元管理信息710中先前与实体单元610(1)与610(3)有关的标记信息(或描述信息)也可被重置(例如清除)。
图10是根据本发明的一范例实施例所示出的存储器管理方法的流程图。请参照图10,在步骤S1001中,将第一管理信息存储于可复写式非易失性存储器模块中。所述第一管理信息反映可复写式非易失性存储器模块中的第一实体单元中的异常数据的存储状况。在步骤S1002中,从主机系统接收读取指令。所述读取指令指示读取存储于至少一逻辑单元的数据。所述至少一逻辑单元对应于所述第一实体单元中的至少一实体节点。在步骤S1003中,根据所述读取指令查询所述第一管理信息。在步骤S1004中,根据查询结果判断所述至少一实体节点是否有存储异常数据。
若所述查询结果反映所述至少一实体节点未存储所述异常数据,在步骤S1005中,将从所述至少一实体节点读取的数据传送给所述主机系统。然而,若所述查询结果反映所述至少一实体节点有存储所述异常数据,在步骤S1006中,将错误信息传送给所述主机系统。此错误信息可反映所述读取指令所指示读取的数据为异常数据。
然而,图10中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图10中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图10的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,所述第一管理信息可用以持续管理可复写式非易失性存储器模块中的至少一实体单元中的异常数据的存储状态(和/或分布状态)。此外,通过持续性地更新所述第一管理信息,即便某一异常数据经过至少一次的数据整并操作的搬移,更新后的所述第一管理信息也可持续定位或锁定此异常数据的最终存储地址。当主机系统所指示读取的数据属于异常数据时,错误信息可替代此异常数据而传送至主机系统,从而减少主机系统读取到损毁数据或无法更正数据的机率。藉此,可有效提高存储器存储装置的数据存取质量。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (21)

1.一种存储器管理方法,其特征在于,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元,且所述存储器管理方法包括:
将第一管理信息存储于所述可复写式非易失性存储器模块中,其中所述第一管理信息反映所述多个实体单元中的第一实体单元中的异常数据的存储状况;
从主机系统接收读取指令,其中所述读取指令指示读取存储于至少一逻辑单元的数据,且所述至少一逻辑单元对应于所述第一实体单元中的至少一实体节点;
根据所述读取指令查询所述第一管理信息;
若查询结果反映所述至少一实体节点未存储所述异常数据,将从所述至少一实体节点读取的数据传送给所述主机系统;以及
若所述查询结果反映所述至少一实体节点有存储所述异常数据,将错误信息传送给所述主机系统。
2.根据权利要求1所述的存储器管理方法,其中所述异常数据包括毁损数据与无法更正数据的至少其中之一。
3.根据权利要求1所述的存储器管理方法,其中所述第一管理信息包括单元管理信息,其反映所述第一实体单元中是否有存储所述异常数据。
4.根据权利要求3所述的存储器管理方法,其中所述第一管理信息还包括节点管理信息,其反映所述至少一实体节点是否有存储所述异常数据。
5.根据权利要求4所述的存储器管理方法,其中根据所述读取指令查询所述第一管理信息的步骤包括:
根据所述单元管理信息获得所述节点管理信息在所述可复写式非易失性存储器模块中的存储地址;以及
从所述存储地址读取所述节点管理信息。
6.根据权利要求1所述的存储器管理方法,还包括:
在从所述主机系统接收所述读取指令之前,执行数据整并操作,以将所述数据从所述多个实体单元中的第二实体单元复制到所述第一实体单元中;以及
根据第二管理信息更新所述第一管理信息,其中所述第二管理信息反映所述第二实体单元中的所述异常数据的存储状况。
7.根据权利要求6所述的存储器管理方法,还包括:
在将所述数据从所述第二实体单元复制到所述第一实体单元之后,重置所述第二管理信息。
8.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以连接至主机系统;
可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元;以及
存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以将第一管理信息存储于所述可复写式非易失性存储器模块中,其中所述第一管理信息反映所述多个实体单元中的第一实体单元中的异常数据的存储状况,
所述存储器控制电路单元还用以从所述主机系统接收读取指令,其中所述读取指令指示读取存储于至少一逻辑单元的数据,且所述至少一逻辑单元对应于所述第一实体单元中的至少一实体节点,
所述存储器控制电路单元还用以根据所述读取指令查询所述第一管理信息,
若查询结果反映所述至少一实体节点未存储所述异常数据,所述存储器控制电路单元还用以将从所述至少一实体节点读取的数据传送给所述主机系统,并且
若所述查询结果反映所述至少一实体节点有存储所述异常数据,所述存储器控制电路单元还用以将错误信息传送给所述主机系统。
9.根据权利要求8所述的存储器存储装置,其中所述异常数据包括毁损数据与无法更正数据的至少其中之一。
10.根据权利要求8所述的存储器存储装置,其中所述第一管理信息包括单元管理信息,其反映所述第一实体单元中是否有存储所述异常数据。
11.根据权利要求10所述的存储器存储装置,其中所述第一管理信息还包括节点管理信息,其反映所述至少一实体节点是否有存储所述异常数据。
12.根据权利要求11所述的存储器存储装置,其中根据所述读取指令查询所述第一管理信息的操作包括:
根据所述单元管理信息获得所述节点管理信息在所述可复写式非易失性存储器模块中的存储地址;以及
从所述存储地址读取所述节点管理信息。
13.根据权利要求8所述的存储器存储装置,其中在从所述主机系统接收所述读取指令之前,所述存储器控制电路单元还用以执行数据整并操作,以将所述数据从所述多个实体单元中的第二实体单元复制到所述第一实体单元中,并且
所述存储器控制电路单元还用以根据第二管理信息更新所述第一管理信息,其中所述第二管理信息反映所述第二实体单元中的所述异常数据的存储状况。
14.根据权利要求13所述的存储器存储装置,其中在将所述数据从所述第二实体单元复制到所述第一实体单元之后,所述存储器控制电路单元还用以重置所述第二管理信息。
15.一种存储器控制电路单元,其特征在于,用以控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元,且所述存储器控制电路单元包括:
主机接口,用以连接至主机系统;
存储器接口,用以连接至所述可复写式非易失性存储器模块;以及
存储器管理电路,连接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以将第一管理信息存储于所述可复写式非易失性存储器模块中,其中所述第一管理信息反映所述多个实体单元中的第一实体单元中的异常数据的存储状况,
所述存储器管理电路还用以从所述主机系统接收读取指令,其中所述读取指令指示读取存储于至少一逻辑单元的数据,且所述至少一逻辑单元对应于所述第一实体单元中的至少一实体节点,
所述存储器管理电路还用以根据所述读取指令查询所述第一管理信息,
若查询结果反映所述至少一实体节点未存储所述异常数据,所述存储器管理电路还用以将从所述至少一实体节点读取的数据传送给所述主机系统,并且
若所述查询结果反映所述至少一实体节点有存储所述异常数据,所述存储器管理电路还用以将错误信息传送给所述主机系统。
16.根据权利要求15所述的存储器控制电路单元,其中所述异常数据包括毁损数据与无法更正数据的至少其中之一。
17.根据权利要求15所述的存储器控制电路单元,其中所述第一管理信息包括单元管理信息,其反映所述第一实体单元中是否有存储所述异常数据。
18.根据权利要求17所述的存储器控制电路单元,其中所述第一管理信息还包括节点管理信息,其反映所述至少一实体节点是否有存储所述异常数据。
19.根据权利要求18所述的存储器控制电路单元,其中根据所述读取指令查询所述第一管理信息的操作包括:
根据所述单元管理信息获得所述节点管理信息在所述可复写式非易失性存储器模块中的存储地址;以及
从所述存储地址读取所述节点管理信息。
20.根据权利要求15所述的存储器控制电路单元,其中在从所述主机系统接收所述读取指令之前,所述存储器管理电路还用以执行数据整并操作,以将所述数据从所述多个实体单元中的第二实体单元复制到所述第一实体单元中,并且
所述存储器管理电路还用以根据第二管理信息更新所述第一管理信息,其中所述第二管理信息反映所述第二实体单元中的所述异常数据的存储状况。
21.根据权利要求20所述的存储器控制电路单元,其中在将所述数据从所述第二实体单元复制到所述第一实体单元之后,所述存储器管理电路还用以重置所述第二管理信息。
CN202110254803.XA 2021-03-09 2021-03-09 存储器管理方法、存储器存储装置及存储器控制电路单元 Active CN112925481B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110254803.XA CN112925481B (zh) 2021-03-09 2021-03-09 存储器管理方法、存储器存储装置及存储器控制电路单元
TW110109102A TWI768764B (zh) 2021-03-09 2021-03-15 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
US17/207,737 US11442657B1 (en) 2021-03-09 2021-03-21 Abnormal data management method, memory storage device, and memory control circuit unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110254803.XA CN112925481B (zh) 2021-03-09 2021-03-09 存储器管理方法、存储器存储装置及存储器控制电路单元

Publications (2)

Publication Number Publication Date
CN112925481A true CN112925481A (zh) 2021-06-08
CN112925481B CN112925481B (zh) 2024-04-05

Family

ID=76172036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110254803.XA Active CN112925481B (zh) 2021-03-09 2021-03-09 存储器管理方法、存储器存储装置及存储器控制电路单元

Country Status (3)

Country Link
US (1) US11442657B1 (zh)
CN (1) CN112925481B (zh)
TW (1) TWI768764B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419683A (zh) * 2021-07-01 2021-09-21 群联电子股份有限公司 存储器存取方法、存储器存储装置及存储器控制电路单元
CN114822664A (zh) * 2022-05-12 2022-07-29 合肥兆芯电子有限公司 基于数据优先级的风险评估方法、存储装置及控制电路

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI813362B (zh) * 2022-06-30 2023-08-21 群聯電子股份有限公司 部分抹除管理方法、記憶體儲存裝置及記憶體控制電路單元

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944386A (zh) * 2009-07-03 2011-01-12 群联电子股份有限公司 识别闪速存储器中错误数据的控制电路及存储系统与方法
CN102737716A (zh) * 2011-04-11 2012-10-17 群联电子股份有限公司 存储器储存装置、存储器控制器与数据写入方法
US8661193B1 (en) * 2010-10-29 2014-02-25 Western Digital Technologies, Inc. Disk drive with partial sector management
US9524236B1 (en) * 2014-01-09 2016-12-20 Marvell International Ltd. Systems and methods for performing memory management based on data access properties
CN106708416A (zh) * 2015-11-13 2017-05-24 群联电子股份有限公司 数据重建方法与系统及其存储器控制电路单元
CN107092536A (zh) * 2017-04-14 2017-08-25 合肥兆芯电子有限公司 解码方法、存储器存储装置及存储器控制电路单元
US20200168289A1 (en) * 2018-11-23 2020-05-28 Phison Electronics Corp. Memory control method, memory storage device and memory control circuit unit
CN111414311A (zh) * 2019-01-07 2020-07-14 爱思开海力士有限公司 数据存储装置、其操作方法及其控制器
CN111666175A (zh) * 2019-03-05 2020-09-15 东芝存储器株式会社 存储装置及数据读取方法
CN111737165A (zh) * 2020-07-02 2020-10-02 群联电子股份有限公司 存储器控制方法、存储器存储装置及存储器控制电路单元
CN111767005A (zh) * 2019-04-01 2020-10-13 群联电子股份有限公司 存储器控制方法、存储器存储装置及存储器控制电路单元
CN111880749A (zh) * 2020-08-04 2020-11-03 群联电子股份有限公司 数据读取方法、存储器存储装置及存储器控制电路单元
TW202044039A (zh) * 2019-05-30 2020-12-01 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
CN112051971A (zh) * 2020-09-10 2020-12-08 群联电子股份有限公司 数据整并方法、存储器存储装置及存储器控制电路单元
CN112445417A (zh) * 2019-09-05 2021-03-05 群联电子股份有限公司 存储器控制方法、存储器存储装置及存储器控制电路单元

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200931425A (en) * 2008-01-11 2009-07-16 Phison Electronics Corp Method for managing flash memory blocks and controller using the same
KR101739556B1 (ko) * 2010-11-15 2017-05-24 삼성전자주식회사 데이터 저장 장치, 사용자 장치 및 그것의 주소 맵핑 방법
EP3296836B1 (en) * 2015-07-22 2019-09-11 Huawei Technologies Co., Ltd. Computer device and data read-write method for computer device
KR20180091296A (ko) * 2017-02-06 2018-08-16 삼성전자주식회사 손상된 메타 데이터를 처리하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US10402094B2 (en) * 2017-10-17 2019-09-03 Seagate Technology Llc Mapping system for data storage devices
TWI658463B (zh) * 2018-08-23 2019-05-01 群聯電子股份有限公司 資料存取方法、記憶體控制電路單元與記憶體儲存裝置
TWI720400B (zh) * 2019-01-04 2021-03-01 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
TWI701552B (zh) * 2019-03-22 2020-08-11 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
TWI688956B (zh) * 2019-08-28 2020-03-21 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944386A (zh) * 2009-07-03 2011-01-12 群联电子股份有限公司 识别闪速存储器中错误数据的控制电路及存储系统与方法
US8661193B1 (en) * 2010-10-29 2014-02-25 Western Digital Technologies, Inc. Disk drive with partial sector management
CN102737716A (zh) * 2011-04-11 2012-10-17 群联电子股份有限公司 存储器储存装置、存储器控制器与数据写入方法
US9524236B1 (en) * 2014-01-09 2016-12-20 Marvell International Ltd. Systems and methods for performing memory management based on data access properties
CN106708416A (zh) * 2015-11-13 2017-05-24 群联电子股份有限公司 数据重建方法与系统及其存储器控制电路单元
CN107092536A (zh) * 2017-04-14 2017-08-25 合肥兆芯电子有限公司 解码方法、存储器存储装置及存储器控制电路单元
US20200168289A1 (en) * 2018-11-23 2020-05-28 Phison Electronics Corp. Memory control method, memory storage device and memory control circuit unit
CN111414311A (zh) * 2019-01-07 2020-07-14 爱思开海力士有限公司 数据存储装置、其操作方法及其控制器
CN111666175A (zh) * 2019-03-05 2020-09-15 东芝存储器株式会社 存储装置及数据读取方法
CN111767005A (zh) * 2019-04-01 2020-10-13 群联电子股份有限公司 存储器控制方法、存储器存储装置及存储器控制电路单元
TW202044039A (zh) * 2019-05-30 2020-12-01 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
CN112445417A (zh) * 2019-09-05 2021-03-05 群联电子股份有限公司 存储器控制方法、存储器存储装置及存储器控制电路单元
CN111737165A (zh) * 2020-07-02 2020-10-02 群联电子股份有限公司 存储器控制方法、存储器存储装置及存储器控制电路单元
CN111880749A (zh) * 2020-08-04 2020-11-03 群联电子股份有限公司 数据读取方法、存储器存储装置及存储器控制电路单元
CN112051971A (zh) * 2020-09-10 2020-12-08 群联电子股份有限公司 数据整并方法、存储器存储装置及存储器控制电路单元

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419683A (zh) * 2021-07-01 2021-09-21 群联电子股份有限公司 存储器存取方法、存储器存储装置及存储器控制电路单元
CN113419683B (zh) * 2021-07-01 2023-07-04 群联电子股份有限公司 存储器存取方法、存储器存储装置及存储器控制电路单元
CN114822664A (zh) * 2022-05-12 2022-07-29 合肥兆芯电子有限公司 基于数据优先级的风险评估方法、存储装置及控制电路

Also Published As

Publication number Publication date
CN112925481B (zh) 2024-04-05
US20220291862A1 (en) 2022-09-15
TW202236098A (zh) 2022-09-16
US11442657B1 (en) 2022-09-13
TWI768764B (zh) 2022-06-21

Similar Documents

Publication Publication Date Title
CN112925481B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN110879793B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
US10642731B2 (en) Memory management method and storage controller
CN111078146B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN113885808B (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
CN112051971B (zh) 数据整并方法、存储器存储装置及存储器控制电路单元
CN110308876B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN112988076B (zh) 快闪存储器控制方法、存储装置及控制器
CN112835536B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN112394883B (zh) 数据整并方法、存储器存储装置及存储器控制电路单元
CN111831210B (zh) 存储器管理方法、存储器控制电路单元及存储器存储装置
CN111610937A (zh) 数据写入方法、存储器存储装置及存储器控制电路单元
TWI810865B (zh) 表格排序方法、記憶體儲存裝置及記憶體控制電路單元
US11561719B2 (en) Flash memory control method of re-programming memory cells before erase operations, flash memory storage device and flash memory controller
US11816355B2 (en) Data writing method based on different numbers of chip enabled regions, memory storage device and memory control circuit unit
CN114115739B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN113724773B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN112445418B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
US11817172B2 (en) Table management method, memory storage device and memory control circuit unit
US12008239B1 (en) Memory management method, memory storage device and memory control circuit unit
US20240028506A1 (en) Mapping table re-building method, memory storage device and memory control circuit unit
CN115857808A (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN116959531A (zh) 读取电压调整方法、存储装置及存储器控制电路单元
TW202311956A (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
CN116225993A (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