CN112732199B - 数据存取方法、存储器控制电路单元及存储器存储装置 - Google Patents

数据存取方法、存储器控制电路单元及存储器存储装置 Download PDF

Info

Publication number
CN112732199B
CN112732199B CN202110116647.0A CN202110116647A CN112732199B CN 112732199 B CN112732199 B CN 112732199B CN 202110116647 A CN202110116647 A CN 202110116647A CN 112732199 B CN112732199 B CN 112732199B
Authority
CN
China
Prior art keywords
data
unit
physical
memory
control circuit
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
CN202110116647.0A
Other languages
English (en)
Other versions
CN112732199A (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 CN202110116647.0A priority Critical patent/CN112732199B/zh
Publication of CN112732199A publication Critical patent/CN112732199A/zh
Application granted granted Critical
Publication of CN112732199B publication Critical patent/CN112732199B/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • 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/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明的一范例实施例提供一种数据存取方法、存储器控制电路单元及存储器存储装置,所述数据存取方法包括:从主机系统接收读取指令,其中所述读取指令指示读取第一逻辑地址,并且所述第一逻辑地址映射至第一实体程序化单元,所述第一实体程序化单元对应至第一实体抹除单元;依据所述存储器控制电路单元中存储的数据产生第一数据,并将所述第一数据写入至所述第一实体抹除单元包括的第二实体程序化单元;以及在写入所述第一数据后,读取存储在所述第一实体程序化单元中的第二数据。

Description

数据存取方法、存储器控制电路单元及存储器存储装置
技术领域
本发明涉及一种存储器数据读取技术,尤其涉及一种数据存取方法、存储器控制电路单元及存储器存储装置。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
可复写式非易失性存储器模块通常包括多个实体抹除单元。在写入与抹除数据的过程中,实体抹除单元会随着电子的多次注入与移除而造成磨损。因此,在多次写入与抹除后,实体抹除单元可能无法被正确地识别其存储状态,而产生错误比特。此外,存储于实体抹除单元中的数据,在经过多次存取或经过长时间闲置之后,也可能会有遗失或者出现错误比特的状况。如何降低错误比特发生的概率是此领域技术人员所致力的目标。
发明内容
本发明的一范例实施例提供一种数据存取方法、存储器控制电路单元及存储器存储装置,可在读取数据时降低产生错误比特的概率。
本发明的一范例实施例提供一种数据存取方法,用于由存储器控制电路单元控制的可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体抹除单元,每一所述多个实体抹除单元包括多个实体程序化单元。所述数据存取方法包括:从主机系统接收读取指令,其中所述读取指令指示读取第一逻辑地址,并且所述第一逻辑地址映射至第一实体程序化单元,所述第一实体程序化单元对应至第一实体抹除单元;接收所述读取指令后,产生第一数据,并将所述第一数据写入至所述第一实体抹除单元包括的第二实体程序化单元;以及在写入所述第一数据后,读取存储在所述第一实体程序化单元中的第二数据,用以回应所述读取指令。
在本发明的一范例实施例中,产生所述第一数据的步骤包括:计算所述第二实体程序化单元对应的数据长度;以及从所述存储器控制电路单元中读取所述数据长度的有效数据以产生所述第一数据。
在本发明的一范例实施例中,产生所述第一数据的步骤包括:计算所述第二实体程序化单元对应的数据长度;以及从所述存储器控制电路单元中读取所述数据长度的有效数据,并将所述有效数据随机打乱以产生所述第一数据。
在本发明的一范例实施例中,在将所述第一数据写入至所述第一实体抹除单元包括的所述第二实体程序化单元的步骤之前,所述方法还包括:读取存储在所述第一实体程序化单元中的所述第二数据;以及对所述第二数据执行解码操作,其中若所述解码操作所解码的所述第二数据具有无法更正错误的数据单元,依据所述存储器控制电路单元中存储的数据产生所述第一数据。
在本发明的一范例实施例中,所述方法还包括:在写入所述第一数据后,重新读取存储在所述第一实体程序化单元中的所述第二数据。
在本发明的一范例实施例中,所述第一实体抹除单元包括多个所述第二实体程序化单元,并且所述第一数据的数据长度满足所述多个第二实体程序化单元对应的数据长度,其中每一所述多个第二实体程序化单元为所述第一实体抹除单元中未写入数据的实体程序化单元。
在本发明的一范例实施例中,所述可复写式非易失性存储器模块是以所述多个实体抹除单元为基础来进行管理。
在本发明的一范例实施例中,接收所述读取指令后,所述方法还包括:判断所述第一实体抹除单元的数据写入状态是否满足预定状态。若所述数据写入状态满足所述预定状态,直接读取所述第二数据,用以回应所述读取指令,若所述数据写入状态不满足所述预定状态,在写入所述第一数据后读取所述第二数据,用以回应所述读取指令。
在本发明的一范例实施例中,所述预定状态为所述第一实体抹除单元包括的所有实体程序化单元皆已被程序化,其中若所述数据写入状态不满足所述预定状态,在写入所述第一数据后读取所述第二数据,用以回应所述读取指令的步骤包括:将所述第一数据写入至所述第一实体抹除单元包括的所述第二实体程序化单元,并判断所述数据写入状态是否满足所述预定状态;以及响应于判断满足所述预定状态,读取所述第二数据,用以回应所述读取指令。
在本发明的一范例实施例中,所述预定状态为所述第一实体程序化单元相同字线所相关联的其他实体程序化单元皆已被程序化,其中若所述数据写入状态不满足所述预定状态,在写入所述第一数据后读取所述第二数据,用以回应所述读取指令的步骤包括:将所述第一数据写入至所述第一实体程序化单元相同字线所相关联的其他实体程序化单元,并判断所述数据写入状态是否满足所述预定状态;以及响应于判断满足所述预定状态,读取所述第二数据,用以回应所述读取指令。
在本发明的一范例实施例中,将所述第一数据写入至所述第一实体抹除单元包括的所述第二实体程序化单元的步骤并非回应所述主机系统发送的写入指令。
本发明的一范例实施例提供一种存储器控制电路单元,用于控制可复写式非易失性存储器模块。所述存储器控制电路单元包括主机接口、存储器接口、缓冲存储器、错误检查与校正电路以及存储器管理电路。主机接口用以耦接至主机系统。存储器接口用以耦接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体抹除单元,每一所述多个实体抹除单元包括多个实体程序化单元。存储器管理电路耦接至所述主机接口与所述存储器接口。所述存储器管理电路用以从所述主机系统接收读取指令,其中所述读取指令指示读取第一逻辑地址,并且所述第一逻辑地址映射至第一实体程序化单元,所述第一实体程序化单元对应至第一实体抹除单元。所述存储器管理电路还用以在接收所述读取指令后,产生第一数据,并将所述第一数据写入至所述第一实体抹除单元包括的第二实体程序化单元。并且,所述存储器管理电路还用以在写入所述第一数据后,读取存储在所述第一实体程序化单元中的第二数据,用以回应所述读取指令。
在本发明的一范例实施例中,所述存储器管理电路还用以计算所述第二实体程序化单元对应的数据长度。并且,所述存储器管理电路还用以从所述缓冲存储器中读取所述数据长度的有效数据以产生所述第一数据。
在本发明的一范例实施例中,所述存储器管理电路还用以计算所述第二实体程序化单元对应的数据长度。并且,所述存储器管理电路还用以从所述缓冲存储器中读取所述数据长度的有效数据,并将所述有效数据随机打乱以产生所述第一数据。
在本发明的一范例实施例中,所述存储器管理电路还用以读取存储在所述第一实体程序化单元中的所述第二数据。并且,所述错误检查与校正电路用以对所述第二数据执行解码操作,其中若所述解码操作所解码的所述第二数据具有无法更正错误的数据单元,所述存储器管理电路还用以依据所述缓冲存储器中存储的数据产生所述第一数据。
在本发明的一范例实施例中,所述存储器管理电路还用以在写入所述第一数据后,重新读取存储在所述第一实体程序化单元中的所述第二数据。
在本发明的一范例实施例中,所述第一实体抹除单元包括多个所述第二实体程序化单元,并且所述第一数据的数据长度满足所述多个第二实体程序化单元对应的数据长度,其中每一所述多个第二实体程序化单元为所述第一实体抹除单元中未写入数据的实体程序化单元。
在本发明的一范例实施例中,所述可复写式非易失性存储器模块是以所述多个实体抹除单元为基础来进行管理。
在本发明的一范例实施例中,所述存储器管理电路还用以判断所述第一实体抹除单元的数据写入状态是否满足预定状态。若所述数据写入状态满足所述预定状态,所述存储器管理电路还用以直接读取所述第二数据,用以回应所述读取指令。若所述数据写入状态不满足所述预定状态,所述存储器管理电路还用以在写入所述第一数据后读取所述第二数据,用以回应所述读取指令。
在本发明的一范例实施例中,所述预定状态为所述第一实体抹除单元包括的所有实体程序化单元皆已被程序化,其中若所述数据写入状态不满足所述预定状态,所述存储器管理电路还用以在写入所述第一数据后读取所述第二数据,用以回应所述读取指令的运作包括:所述存储器管理电路还用以将所述第一数据写入至所述第一实体抹除单元包括的所述第二实体程序化单元,并判断所述数据写入状态是否满足所述预定状态。并且,响应于判断满足所述预定状态,所述存储器管理电路还用以读取所述第二数据,用以回应所述读取指令。
在本发明的一范例实施例中,所述预定状态为所述第一实体程序化单元相同字线所相关联的其他实体程序化单元皆已被程序化,其中若所述数据写入状态不满足所述预定状态,所述存储器管理电路还用以在写入所述第一数据后读取所述第二数据,用以回应所述读取指令的运作包括:所述存储器管理电路还用以将所述第一数据写入至所述第一实体程序化单元相同字线所相关联的其他实体程序化单元,并判断所述数据写入状态是否满足所述预定状态。并且,响应于判断满足所述预定状态,所述存储器管理电路还用以读取所述第二数据,用以回应所述读取指令。
在本发明的一范例实施例中,所述存储器管理电路将所述第一数据写入至所述第一实体抹除单元包括的所述第二实体程序化单元的操作并非回应所述主机系统发送的写入指令。
本发明的一范例实施例提供一种存储器存储装置,包括连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。连接接口单元用以耦接至主机系统。可复写式非易失性存储器模块包括多个实体抹除单元,每一所述多个实体抹除单元包括多个实体程序化单元。存储器控制电路单元耦接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元用以从所述主机系统接收读取指令,其中所述读取指令指示读取第一逻辑地址,并且所述第一逻辑地址映射至第一实体程序化单元,所述第一实体程序化单元对应至第一实体抹除单元。所述存储器控制电路单元还用以在接收所述读取指令后,产生第一数据,并将所述第一数据写入至所述第一实体抹除单元包括的第二实体程序化单元。并且,所述存储器控制电路单元还用以在写入所述第一数据后,读取存储在所述第一实体程序化单元中的第二数据,用以回应所述读取指令。
在本发明的一范例实施例中,所述存储器控制电路单元还用以计算所述第二实体程序化单元对应的数据长度。并且,所述存储器控制电路单元还用以从所述存储器控制电路单元中读取所述数据长度的有效数据以产生所述第一数据。
在本发明的一范例实施例中,所述存储器控制电路单元还用以计算所述第二实体程序化单元对应的数据长度。并且,所述存储器控制电路单元还用以从所述存储器控制电路单元中读取所述数据长度的有效数据,并将所述有效数据随机打乱以产生所述第一数据。
在本发明的一范例实施例中,所述存储器控制电路单元还用以读取存储在所述第一实体程序化单元中的所述第二数据。并且,所述存储器控制电路单元还用以对所述第二数据执行解码操作,其中若所述解码操作所解码的所述第二数据具有无法更正错误的数据单元,所述存储器控制电路单元还用以依据所述存储器控制电路单元中存储的数据产生所述第一数据。
在本发明的一范例实施例中,所述存储器控制电路单元还用以在写入所述第一数据后,重新读取存储在所述第一实体程序化单元中的所述第二数据。
在本发明的一范例实施例中,所述第一实体抹除单元包括多个所述第二实体程序化单元,并且所述第一数据的数据长度满足所述多个第二实体程序化单元对应的数据长度,其中每一所述多个第二实体程序化单元为所述第一实体抹除单元中未写入数据的实体程序化单元。
在本发明的一范例实施例中,所述可复写式非易失性存储器模块是以所述多个实体抹除单元为基础来进行管理。
在本发明的一范例实施例中,所述存储器控制电路单元还用以判断所述第一实体抹除单元的数据写入状态是否满足预定状态。若所述数据写入状态满足所述预定状态,所述存储器控制电路单元还用以直接读取所述第二数据,用以回应所述读取指令。若所述数据写入状态不满足所述预定状态,所述存储器控制电路单元还用以在写入所述第一数据后读取所述第二数据,用以回应所述读取指令。
在本发明的一范例实施例中,所述预定状态为所述第一实体抹除单元包括的所有实体程序化单元皆已被程序化,其中若所述数据写入状态不满足所述预定状态,所述存储器控制电路单元还用以在写入所述第一数据后读取所述第二数据,用以回应所述读取指令的运作包括:所述存储器控制电路单元还用以将所述第一数据写入至所述第一实体抹除单元包括的所述第二实体程序化单元,并判断所述数据写入状态是否满足所述预定状态。并且,响应于判断满足所述预定状态,所述存储器控制电路单元还用以读取所述第二数据,用以回应所述读取指令。
在本发明的一范例实施例中,所述预定状态为所述第一实体程序化单元相同字线所相关联的其他实体程序化单元皆已被程序化,其中若所述数据写入状态不满足所述预定状态,所述存储器控制电路单元还用以在写入所述第一数据后读取所述第二数据,用以回应所述读取指令的运作包括:所述存储器控制电路单元还用以将所述第一数据写入至所述第一实体程序化单元相同字线所相关联的其他实体程序化单元,并判断所述数据写入状态是否满足所述预定状态。并且,响应于判断满足所述预定状态,所述存储器控制电路单元还用以读取所述第二数据,用以回应所述读取指令。
在本发明的一范例实施例中,所述存储器控制电路单元将所述第一数据写入至所述第一实体抹除单元包括的所述第二实体程序化单元的操作并非回应所述主机系统发送的写入指令。
基于上述,本发明可将未写满数据状态的实体抹除单元填满成已写满数据状态的实体抹除单元,以避免实体抹除单元为未写满数据状态时,读取所述实体抹除单元包括的实体程序化单元时所造成的错误比特偏高的问题。藉此,可在读取数据时降低产生错误比特的概率,以减少读取数据产生的错误。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的概要方块图;
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图7是根据本发明的一范例实施例所示出的实体抹除单元的数据存储状态的示意图;
图8是根据本发明的一范例实施例所示出的数据存取方法的流程图。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。
一般而言,存储器存储装置(亦称为存储器存储系统)包括可复写式非易失性存储器模块与控制器(亦称为控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图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 FieldCommunication 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包括嵌入式多媒体卡(embedded MMC,eMMC)341和/或嵌入式多芯片封装存储装置(embedded Multi ChipPackage,eMCP)342等各类型将存储器模块直接耦接于主机系统的基板上的嵌入式存储装置。
图4是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的概要方块图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是相容于安全数位(Secure Digital,SD)接口标准。然而,必须了解的是,本发明不限于此,连接接口单元402亦可以是符合串行高级附件(Serial Advanced Technology Attachment,SATA)标准、并行高级附件(ParallelAdvanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute ofElectrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用序列总线(Universal Serial Bus,USB)标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(Multi Media Card,MMC)接口标准、嵌入式多媒体存储卡(Embedded Multimedia Card,eMMC)接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、嵌入式多芯片封装(embedded MultiChip Package,eMCP)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。在本范例实施例中,连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元的芯片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等操作。
可复写式非易失性存储器模块406是耦接至存储器控制电路单元404,并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406具有实体抹除单元410(0)~410(N)。例如,实体抹除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有复数个实体程序化单元,其中属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
更详细来说,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体存取地址用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,控制信息与错误更正码等管理数据)。在本范例实施例中,每一个实体程序化单元的数据比特区中会包含8个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据比特区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块(block),并且实体程序化单元为实体页面(page)或实体扇区(sector),但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块406为单阶存储单元(SingleLevel Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个数据比特的快闪存储器模块)。然而,本发明不限于此,可复写式非易失性存储器模块406亦可是多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个数据比特的快闪存储器模块)、复数阶存储单元(Trinary Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个数据比特的快闪存储器模块)或其他具有相同特性的存储器模块。具体来说,同一条字线上的存储单元可组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一条字线上的实体程序化单元可至少可被分类为下实体程序化单元与上实体程序化单元。由相同的存储单元所组成的实体程序化单元属于成对页(pair page)。例如,一存储单元的最低有效位(Least Significant Bit,LSB)是属于下实体程序化单元,并且一存储单元的最高有效位(Most Significant Bit,MSB)是属于上实体程序化单元。一般来说,在MLC NAND型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。
可复写式非易失性存储器模块406中的每一个存储单元是以电压(以下亦称为临界电压)的改变来存储一或多个比特。具体来说,每一个存储单元的控制门极(controlgate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制门极,可以改变电荷补捉层的电子量,进而改变存储单元的临界电压。此改变存储单元的临界电压的操作亦称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着临界电压的改变,可复写式非易失性存储器模块406中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个存储单元是属于哪一个存储状态,藉此取得此存储单元所存储的一或多个比特。
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路502的控制指令亦可以代码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路502的控制指令亦可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是耦接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块406的实体抹除单元;存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令以将数据写入至可复写式非易失性存储器模块406中;存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令以从可复写式非易失性存储器模块406中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令以将数据从可复写式非易失性存储器模块406中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。
主机接口504是耦接至存储器管理电路502并且用以耦接至连接接口单元402,以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是相容于PATA标准、IEEE1394标准、PCI Express标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是耦接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压等级或执行垃圾收集操作等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路502产生并且通过存储器接口506传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或代码。例如,在读取指令序列中,会包括读取的辨识码、存储器地址等信息。
在一范例实施例中,存储器控制电路单元404还包括缓冲存储器508、电源管理电路510与错误检查与校正电路512。
错误检查与校正电路512是耦接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,ECC Code),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会根据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
缓冲存储器508是耦接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路510是耦接至存储器管理电路502并且用以控制存储器存储装置10的电源。
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。
请参照图6,存储器管理电路502会将可复写式非易失性存储器模块406的存储单元逻辑地分组为实体单元610(0)~610(B)。在本范例实施例中,实体单元610(0)~610(B)中的每一者是指一个实体抹除单元。然而,在另一范例实施例中,实体单元610(0)~610(B)中的每一者也可以包含多个实体抹除单元。
在一范例实施例中,存储器存储装置10的可复写式非易失性存储器模块406是以实体抹除单元为基础(亦称为区块为基础(block based))来进行管理。存储器管理电路502会将实体单元610(0)~610(B)逻辑地分组为存储区601与闲置(spare)区602。存储区601中的实体单元610(0)~610(A)存储有数据,而闲置区602中的实体单元610(A+1)~610(B)尚未被用来存储数据。例如,属于存储区601的每一个实体单元可能存储有有效数据和/或无效数据,而属于存储区601的某一个实体单元被抹除之后就会被关联至闲置区602。
在一范例实施例中,存储器管理电路502从主机系统11接收写入指令后,会将写入指令对应的数据写入存储区601的某一个实体抹除单元。例如,写入指令可以是循序写入(sequential write)指令或随机写入(random write)指令。举例来说,当存储器管理电路502接受到主机系统11的循序写入指令而欲对存储区601的实体抹除单元进行写入时,存储器管理电路502会从闲置区602中提取实体抹除单元,并且将在存储区601中欲更新的实体抹除单元中的有效旧数据与欲写入的新数据分别写入至从闲置区602中提取的实体抹除单元的实体程序化单元中,并且将已写入新数据的实体抹除单元关联为存储区601,并且将原本存储区601的实体抹除单元进行抹除并关联为闲置区602。
在另一范例实施例中,当存储器管理电路502接受到主机系统11的随机写入指令而欲对存储区601的实体抹除单元进行写入时,存储器管理电路502会以一个实体程序化单元接续一个实体程序化单元的方式来写入数据。具体来说,存储器管理电路502会从闲置区602中提取一个空的实体抹除单元作为目前使用的实体抹除单元来写入数据。并且,当此目前使用的实体抹除单元已被写满时,存储器管理电路502会再从闲置区602中提取另一个空的实体抹除单元并且关联至存储区601,以作为目前使用的实体抹除单元,以继续写入其他数据。然而,本发明不在此限制数据的写入机制。
在一范例实施例中,存储器管理电路502会配置逻辑单元612(0)~612(C)以映射存储区601中的实体单元610(0)~610(A)的至少一部分。在本范例实施例中,主机系统11是通过逻辑地址(logical address,LA)来存取存储于存储区601中的数据,因此,逻辑单元612(0)~612(C)中的每一者是指一个逻辑地址,其中每一逻辑地址具有多个逻辑子单元以映射与逻辑地址对应的实体单元所包括的实体程序化单元。然而,在另一范例实施例中,逻辑单元612(0)~612(C)中的每一者也可以是由多个连续(例如,连续编号)的逻辑地址组成。
在一范例实施例中,为了识别数据每个逻辑地址的数据被存储在哪个实体抹除单元,存储器管理电路502会将逻辑单元与实体单元之间的映射关系(亦称为逻辑-实体映射关系)记录于至少一逻辑至实体映射表。当主机系统11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路502可根据此逻辑至实体映射表来执行对于存储器存储装置10的数据存取。在一范例实施例中,逻辑至实体映射表以及特定的管理数据(例如,记录有存储器存储装置10的管理信息的管理表格)会被存储在不属于存储区601与闲置区602的其他实体单元中,以避免被使用者修改。
在一范例实施例中,若属于某一逻辑单元的数据被更新,则此逻辑单元与存储有属于此逻辑单元的旧数据的实体单元之间的映射关系会被移除,并且此逻辑单元与存储有属于此逻辑单元的当前数据(或最新数据)的实体单元之间的映射关系会被建立。然而,在另一范例实施例中,若属于某一逻辑单元的数据被更新,则此逻辑单元与存储有属于此逻辑单元的旧数据的实体单元之间的映射关系仍可被维持。
在一范例实施例中,存储器存储装置10的可复写式非易失性存储器模块406是以实体抹除单元为基础来进行管理。而不管是循序写入或随机写入机制,存储区601的实体抹除单元皆可能存在已写满数据以及未写满数据两种状态。
图7是根据本发明的一范例实施例所示出的实体抹除单元的数据存储状态的示意图。请参图7,图7中示出为斜线阴影的实体程序化单元711(0)~711(N-2)、712(0)~712(N)为已写入数据的实体程序化单元。每一个实体程序化单元可能存储有有效数据和/或无效数据。在本范例实施例中,由于实体单元710(A)尚包括未程序化的实体程序化单元711(N-1)~711(N),因此实体单元710(A)的数据写入状态为未写满数据状态,称为开启(open)区块。此外,由于实体单元710(B)包括的实体程序化单元712(0)~712(N)皆已被程序化,因此实体单元710(B)的数据写入状态为已写满数据状态,称为关闭(close)区块。然而,在某些存储器存储装置中,若欲读取的实体抹除单元是未写满数据的状态,读取所述实体抹除单元中存储的数据会造成错误比特(error bit)偏高的问题。
在本范例实施例中,存储器管理电路502从主机系统11接收读取指令后,可根据逻辑至实体映射表判断所述读取指令指示读取的逻辑地址所映射的实体程序化单元(亦称为第一实体程序化单元)及所述实体程序化单元所对应的实体抹除单元(亦称为第一实体抹除单元)。前述读取指令指示读取存储在第一实体程序化单元中的数据(亦称为第二数据)。并且,存储器管理电路502会判断第一实体程序化单元所对应的第一实体抹除单元的数据写入状态是否满足一预定状态,其中满足该预定状态时第一实体抹除单元的数据写入状态为已写满数据状态,不满足该预定状态时第一实体抹除单元的数据写入状态为未写满数据状态。例如,存储器管理电路502可根据逻辑至实体映射表或其他用以反应第一实体抹除单元存储状态的数据判断第一实体抹除单元为开启区块或关闭区块。其中,若第一实体抹除单元仍具有实体程序化单元尚未程序化则为开启区块,反之,若第一实体抹除单元所有实体程序化单元皆程序化完成则为关闭区块。在一范例实施例中,预定状态为第一实体抹除单元包括的所有实体程序化单元皆已被程序化。存储器管理电路502可读取逻辑至实体映射表,并根据逻辑至实体映射表判断第一实体抹除单元包括的所有实体程序化单元是否皆已被程序化。在另一范例实施例中,预定状态为第一实体程序化单元相同字线所相关联的其他实体程序化单元(成对页)皆已被程序化。存储器管理电路502可读取第一实体抹除单元包括的实体程序化单元所对应的字线,并依据读取到的数据量判断第一实体程序化单元相同字线所相关联的其他实体程序化单元是否皆已被程序化。然而,所属技术人员应当知晓其他判断实体抹除单元的数据写入状态的方法,本发明不限于此。
在本范例实施例中,若存储器管理电路502判断所述实体抹除单元为关闭区块(即,数据写入状态满足预定状态),存储器管理电路502会直接依据前述从主机系统11接收到的读取指令指示读取的逻辑地址读取存储在第一实体程序化单元中的第二数据,用以回应该读取指令。
在本范例实施例中,若存储器管理电路502判断所述实体抹除单元为开启区块(即,数据写入状态不满足预定状态),存储器管理电路502会选择数据(亦称为第一数据),并将第一数据写入第一实体抹除单元中未写入数据的实体程序化单元(亦称为第二实体程序化单元)。例如,存储器管理电路502可根据逻辑至实体映射表判断第一实体抹除单元中未写入数据的第二实体程序化单元,本发明不限于此。第一实体抹除单元可以包括一或多个第二实体程序化单元,并且第一数据的数据长度满足一或多个第二实体程序化单元对应的数据长度。在本范例实施例中,存储器管理电路502将第一数据写入至第二实体程序化单元的操作并非回应主机系统11发送的写入指令。
在一范例实施例中,第一数据可以是存储器管理电路502从缓冲存储器508中读取的有效数据。举例而言,存储器管理电路502会计算第一实体抹除单元包括的第二实体程序化单元对应的数据长度,并从缓冲存储器508读取所述数据长度的有效数据以产生第一数据。
在一范例实施例中,第一数据可以是存储器管理电路502依据缓冲存储器508中存储的有效数据产生的虚拟数据(dummy data)。举例而言,存储器控制电路单元404还包括数据转换电路(未示出)。存储器管理电路502会计算第一实体抹除单元包括的第二实体程序化单元对应的数据长度,并从缓冲存储器508读取所述数据长度的有效数据。存储器管理电路502可将有效数据输入至数据转换电路,而数据转换电路用以将输入至数据转换电路的有效数据随机打乱并输出对应的虚拟数据以产生第一数据。必须了解的是,所属技术人员应当知晓如何随机打乱数据,故在此便不赘述。
在产生第一数据后,存储器管理电路502会将第一数据填补(写入)至第一实体抹除单元中第二实体程序化单元,以使填补后的第一实体抹除单元转换成关闭区块。在本范例实施例中,存储器管理电路502在将第一数据填补(写入)至第一实体抹除单元中第二实体程序化单元后,依据前述从主机系统11接收到的读取指令指示读取的逻辑地址读取存储在第一实体程序化单元中的第二数据,用以回应该读取指令。
在另一范例实施例中,存储器管理电路502在将第一数据填补(写入)至第一实体抹除单元中第二实体程序化单元后,会再次判断第一实体抹除单元的数据写入状态是否满足预定状态。并且,响应于判断满足预定状态,存储器管理电路502依据前述从主机系统11接收到的读取指令指示读取的逻辑地址读取存储在第一实体程序化单元中的第二数据,用以回应该读取指令。另一方面,若判断不满足预定状态,存储器管理电路502可再次选择数据(亦称为第三数据),并将第三数据写入第一实体抹除单元中未写入数据的实体程序化单元。于此,存储器管理电路502重复写入数据与判断第一实体抹除单元的数据写入状态,在满足预定状态后读取第二数据,用以回应该读取指令。具体操作细节相同或相似于前述关于判断是否满足预定操作以及选择数据的操作,故在此便不赘述。
举例而言,请参图7,假设存储器管理电路502从主机系统11接收的读取指令指示读取的逻辑地址所映射的实体程序化单元为实体程序化单元711(1),并且实体程序化单元711(1)对应的实体单元710(A)为开启单元。存储器管理电路502会计算实体程序化单元711(N-1)~711(N)对应的数据长度,并从缓冲存储器508中读取所述数据长度的有效数据以产生第一数据。接着,存储器管理电路502会将第一数据填补(写入)至实体程序化单元711(N-1)~711(N),以使填补后的实体单元710(A)转换成关闭区块。并且在将第一数据填补(写入)至实体程序化单元711(N-1)~711(N)后,存储器管理电路502依据读取指令指示读取的逻辑地址读取存储在实体程序化单元为实体程序化单元711(1)中的数据。
换言之,在开启区块的例子中,存储器管理电路502会利用第一数据填满主机系统11欲读取的实体程序化单元所对应的实体抹除单元来转换开启区块成关闭区块。并且在填满实体抹除单元后,存储器管理电路502再执行读取指令来从可复写式非易失性存储器模块406读取所述读取指令对应的数据。据此,可避免实体抹除单元为未写满数据状态时,读取所述实体抹除单元包括的实体程序化单元时所造成的错误比特偏高的问题。
在另一范例实施例中,存储器管理电路502从主机系统11接收读取指令后,会直接依据读取指令指示读取的逻辑地址读取存储在第一实体程序化单元中的第二数据。存储器管理电路502将第二数据复制到缓冲存储器508,并且错误检查与校正电路512用以对第二数据执行解码操作。
当欲对第二数据执行单讯框解码操作时,原先通过对第二数据执行单讯框编码而产生的错误校正码可一并被读取。然后,在对应于第二数据的单讯框解码中,基于错误校正码,第二数据可被解码与更正。在一范例实施例中,第二数据亦称为在相应的单讯框解码中所欲更正的目标数据。若第二数据无法通过相应的单讯框解码来更正,则第二数据可视为是一个具有无法更正(简称为UNC)错误的数据单元。若第二数据被单讯框解码成功地解码与更正,则表示相应的单讯框解码成功,第二数据可视为是一个不具有UNC错误的数据单元。换言之,UNC错误是指数据单元中无法通过相应的单讯框解码来更正的错误。
在本范例实施例中,在第二数据具有UNC错误时,存储器管理电路502才会执行前述利用第一数据填满主机系统11欲读取的实体程序化单元所对应的实体抹除单元来转换开启区块成关闭区块的操作,并重新执行读取指令来从可复写式非易失性存储器模块406读取所述读取指令对应的第二数据。具体操作细节相同或相似于前述关于开启区块的操作,故在此便不赘述。
图8是根据本发明的一范例实施例所示出的数据存取方法的流程图。在步骤S802,从主机系统接收读取指令,其中所述读取指令指示读取第一逻辑地址,并且所述第一逻辑地址映射至第一实体程序化单元,所述第一实体程序化单元对应至第一实体抹除单元。在步骤S804,接收所述读取指令后,产生第一数据,并将所述第一数据写入至所述第一实体抹除单元包括的第二实体程序化单元。在步骤S806,在写入所述第一数据后,读取存储在所述第一实体程序化单元中的第二数据,用以回应所述读取指令。
值得注意的是,图8中各步骤可以实作为多个代码或电路,本发明不加以限制。此外,图8的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本发明范例实施例的数据存取方法、存储器控制电路单元及存储器存储装置能够将未写满数据状态的实体抹除单元转换成已写满数据状态,以避免实体抹除单元为未写满数据状态时,读取所述实体抹除单元包括的实体程序化单元时所造成的错误比特偏高的问题。基此,根据本发明的数据存取方法,存储器存储装置可在读取数据时降低产生错误比特的概率,以减少读取数据产生的错误。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (30)

1.一种数据存取方法,用于由存储器控制电路单元控制的可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体抹除单元,每一所述实体抹除单元包括多个实体程序化单元,所述数据存取方法包括:
从主机系统接收读取指令,其中所述读取指令指示读取第一逻辑地址,并且所述第一逻辑地址映射至第一实体程序化单元,所述第一实体程序化单元对应至第一实体抹除单元;
接收所述读取指令后,产生第一数据,并将所述第一数据写入至所述第一实体抹除单元包括的第二实体程序化单元;以及
在写入所述第一数据后,读取存储在所述第一实体程序化单元中的第二数据,用以回应所述读取指令,
其中所述第一实体抹除单元包括多个所述第二实体程序化单元,并且所述第一数据的数据长度满足多个所述第二实体程序化单元中的至少一个对应的数据长度,其中每一所述第二实体程序化单元为所述第一实体抹除单元中未写入数据的实体程序化单元。
2.如权利要求1所述的数据存取方法,其中产生所述第一数据的步骤包括:
计算所述第二实体程序化单元对应的数据长度;以及
从所述存储器控制电路单元中读取所述数据长度的有效数据以产生所述第一数据。
3.如权利要求1所述的数据存取方法,其中产生所述第一数据的步骤包括:
计算所述第二实体程序化单元对应的数据长度;以及
从所述存储器控制电路单元中读取所述数据长度的有效数据,并将所述有效数据随机打乱以产生所述第一数据。
4.如权利要求1所述的数据存取方法,其中在将所述第一数据写入至所述第一实体抹除单元包括的所述第二实体程序化单元的步骤之前,所述方法还包括:
读取存储在所述第一实体程序化单元中的所述第二数据;以及
对所述第二数据执行解码操作,其中若所述解码操作所解码的所述第二数据具有无法更正错误的数据单元,依据所述存储器控制电路单元中存储的数据产生所述第一数据。
5.如权利要求4所述的数据存取方法,其中所述方法还包括:
在写入所述第一数据后,重新读取存储在所述第一实体程序化单元中的所述第二数据。
6.如权利要求1所述的数据存取方法,其中所述可复写式非易失性存储器模块是以所述多个实体抹除单元为基础来进行管理。
7.如权利要求1所述的数据存取方法,其中接收所述读取指令后,所述方法还包括:
判断所述第一实体抹除单元的数据写入状态是否满足预定状态,
其中若所述数据写入状态满足所述预定状态,直接读取所述第二数据,用以回应所述读取指令,
其中若所述数据写入状态不满足所述预定状态,在写入所述第一数据后读取所述第二数据,用以回应所述读取指令。
8.如权利要求7所述的数据存取方法,其中所述预定状态为所述第一实体抹除单元包括的所有实体程序化单元皆已被程序化,其中若所述数据写入状态不满足所述预定状态,在写入所述第一数据后读取所述第二数据,用以回应所述读取指令的步骤包括:
将所述第一数据写入至所述第一实体抹除单元包括的所述第二实体程序化单元,并判断所述数据写入状态是否满足所述预定状态;以及
响应于判断满足所述预定状态,读取所述第二数据,用以回应所述读取指令。
9.如权利要求7所述的数据存取方法,其中所述预定状态为所述第一实体程序化单元相同字线所相关联的其他实体程序化单元皆已被程序化,其中若所述数据写入状态不满足所述预定状态,在写入所述第一数据后读取所述第二数据,用以回应所述读取指令的步骤包括:
将所述第一数据写入至所述第一实体程序化单元相同字线所相关联的其他实体程序化单元,并判断所述数据写入状态是否满足所述预定状态;以及
响应于判断满足所述预定状态,读取所述第二数据,用以回应所述读取指令。
10.如权利要求1所述的数据存取方法,其中将所述第一数据写入至所述第一实体抹除单元包括的所述第二实体程序化单元的步骤并非回应所述主机系统发送的写入指令。
11.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,包括:
主机接口,用以耦接至主机系统;
存储器接口,用以耦接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体抹除单元,每一所述实体抹除单元包括多个实体程序化单元;
缓冲存储器;
错误检查与校正电路;以及
存储器管理电路,耦接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以从所述主机系统接收读取指令,其中所述读取指令指示读取第一逻辑地址,并且所述第一逻辑地址映射至第一实体程序化单元,所述第一实体程序化单元对应至第一实体抹除单元,
所述存储器管理电路还用以在接收所述读取指令后,产生第一数据,并将所述第一数据写入至所述第一实体抹除单元包括的第二实体程序化单元,并且
所述存储器管理电路还用以在写入所述第一数据后,读取存储在所述第一实体程序化单元中的第二数据,用以回应所述读取指令,
其中所述第一实体抹除单元包括多个所述第二实体程序化单元,并且所述第一数据的数据长度满足多个所述第二实体程序化单元中的至少一个对应的数据长度,其中每一所述第二实体程序化单元为所述第一实体抹除单元中未写入数据的实体程序化单元。
12.如权利要求11所述的存储器控制电路单元,其中所述存储器管理电路还用以计算所述第二实体程序化单元对应的数据长度,并且
所述存储器管理电路还用以从所述缓冲存储器中读取所述数据长度的有效数据以产生所述第一数据。
13.如权利要求11所述的存储器控制电路单元,其中所述存储器管理电路还用以计算所述第二实体程序化单元对应的数据长度,并且
所述存储器管理电路还用以从所述缓冲存储器中读取所述数据长度的有效数据,并将所述有效数据随机打乱以产生所述第一数据。
14.如权利要求11所述的存储器控制电路单元,其中所述存储器管理电路还用以读取存储在所述第一实体程序化单元中的所述第二数据,并且
所述错误检查与校正电路用以对所述第二数据执行解码操作,其中若所述解码操作所解码的所述第二数据具有无法更正错误的数据单元,所述存储器管理电路还用以依据所述缓冲存储器中存储的数据产生所述第一数据。
15.如权利要求14所述的存储器控制电路单元,其中所述存储器管理电路还用以在写入所述第一数据后,重新读取存储在所述第一实体程序化单元中的所述第二数据。
16.如权利要求11所述的存储器控制电路单元,其中所述可复写式非易失性存储器模块是以所述多个实体抹除单元为基础来进行管理。
17.如权利要求11所述的存储器控制电路单元,其中所述存储器管理电路还用以判断所述第一实体抹除单元的数据写入状态是否满足预定状态,
其中若所述数据写入状态满足所述预定状态,所述存储器管理电路还用以直接读取所述第二数据,用以回应所述读取指令,
其中若所述数据写入状态不满足所述预定状态,所述存储器管理电路还用以在写入所述第一数据后读取所述第二数据,用以回应所述读取指令。
18.如权利要求17所述的存储器控制电路单元,其中所述预定状态为所述第一实体抹除单元包括的所有实体程序化单元皆已被程序化,其中若所述数据写入状态不满足所述预定状态,所述存储器管理电路还用以在写入所述第一数据后读取所述第二数据,用以回应所述读取指令的运作包括:
所述存储器管理电路还用以将所述第一数据写入至所述第一实体抹除单元包括的所述第二实体程序化单元,并判断所述数据写入状态是否满足所述预定状态,并且
响应于判断满足所述预定状态,所述存储器管理电路还用以读取所述第二数据,用以回应所述读取指令。
19.如权利要求17所述的存储器控制电路单元,其中所述预定状态为所述第一实体程序化单元相同字线所相关联的其他实体程序化单元皆已被程序化,其中若所述数据写入状态不满足所述预定状态,所述存储器管理电路还用以在写入所述第一数据后读取所述第二数据,用以回应所述读取指令的运作包括:
所述存储器管理电路还用以将所述第一数据写入至所述第一实体程序化单元相同字线所相关联的其他实体程序化单元,并判断所述数据写入状态是否满足所述预定状态,并且
响应于判断满足所述预定状态,所述存储器管理电路还用以读取所述第二数据,用以回应所述读取指令。
20.如权利要求11所述的存储器控制电路单元,其中所述存储器管理电路将所述第一数据写入至所述第一实体抹除单元包括的所述第二实体程序化单元的操作并非回应所述主机系统发送的写入指令。
21.一种存储器存储装置,包括:
连接接口单元,用以耦接至主机系统;
可复写式非易失性存储器模块,包括多个实体抹除单元,每一所述实体抹除单元包括多个实体程序化单元;以及
存储器控制电路单元,耦接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以从所述主机系统接收读取指令,其中所述读取指令指示读取第一逻辑地址,并且所述第一逻辑地址映射至第一实体程序化单元,所述第一实体程序化单元对应至第一实体抹除单元,
所述存储器控制电路单元还用以在接收所述读取指令后,产生第一数据,并将所述第一数据写入至所述第一实体抹除单元包括的第二实体程序化单元,并且
所述存储器控制电路单元还用以在写入所述第一数据后,读取存储在所述第一实体程序化单元中的第二数据,用以回应所述读取指令,
其中所述第一实体抹除单元包括多个所述第二实体程序化单元,并且所述第一数据的数据长度满足多个所述第二实体程序化单元中的至少一个对应的数据长度,其中每一所述第二实体程序化单元为所述第一实体抹除单元中未写入数据的实体程序化单元。
22.如权利要求21所述的存储器存储装置,其中所述存储器控制电路单元还用以计算所述第二实体程序化单元对应的数据长度,并且
所述存储器控制电路单元还用以从所述存储器控制电路单元中读取所述数据长度的有效数据以产生所述第一数据。
23.如权利要求21所述的存储器存储装置,其中所述存储器控制电路单元还用以计算所述第二实体程序化单元对应的数据长度,并且
所述存储器控制电路单元还用以从所述存储器控制电路单元中读取所述数据长度的有效数据,并将所述有效数据随机打乱以产生所述第一数据。
24.如权利要求21所述的存储器存储装置,其中所述存储器控制电路单元还用以读取存储在所述第一实体程序化单元中的所述第二数据,并且
所述存储器控制电路单元还用以对所述第二数据执行解码操作,其中若所述解码操作所解码的所述第二数据具有无法更正错误的数据单元,所述存储器控制电路单元还用以依据所述存储器控制电路单元中存储的数据产生所述第一数据。
25.如权利要求24所述的存储器存储装置,其中所述存储器控制电路单元还用以在写入所述第一数据后,重新读取存储在所述第一实体程序化单元中的所述第二数据。
26.如权利要求21所述的存储器存储装置,其中所述可复写式非易失性存储器模块是以所述多个实体抹除单元为基础来进行管理。
27.如权利要求21所述的存储器存储装置,其中所述存储器控制电路单元还用以判断所述第一实体抹除单元的数据写入状态是否满足预定状态,
其中若所述数据写入状态满足所述预定状态,所述存储器控制电路单元还用以直接读取所述第二数据,用以回应所述读取指令,
其中若所述数据写入状态不满足所述预定状态,所述存储器控制电路单元还用以在写入所述第一数据后读取所述第二数据,用以回应所述读取指令。
28.如权利要求27所述的存储器存储装置,其中所述预定状态为所述第一实体抹除单元包括的所有实体程序化单元皆已被程序化,其中若所述数据写入状态不满足所述预定状态,所述存储器控制电路单元还用以在写入所述第一数据后读取所述第二数据,用以回应所述读取指令的运作包括:
所述存储器控制电路单元还用以将所述第一数据写入至所述第一实体抹除单元包括的所述第二实体程序化单元,并判断所述数据写入状态是否满足所述预定状态,并且
响应于判断满足所述预定状态,所述存储器控制电路单元还用以读取所述第二数据,用以回应所述读取指令。
29.如权利要求27所述的存储器存储装置,其中所述预定状态为所述第一实体程序化单元相同字线所相关联的其他实体程序化单元皆已被程序化,其中若所述数据写入状态不满足所述预定状态,所述存储器控制电路单元还用以在写入所述第一数据后读取所述第二数据,用以回应所述读取指令的运作包括:
所述存储器控制电路单元还用以将所述第一数据写入至所述第一实体程序化单元相同字线所相关联的其他实体程序化单元,并判断所述数据写入状态是否满足所述预定状态,并且
响应于判断满足所述预定状态,所述存储器控制电路单元还用以读取所述第二数据,用以回应所述读取指令。
30.如权利要求21所述的存储器存储装置,其中所述存储器控制电路单元将所述第一数据写入至所述第一实体抹除单元包括的所述第二实体程序化单元的操作并非回应所述主机系统发送的写入指令。
CN202110116647.0A 2021-01-28 2021-01-28 数据存取方法、存储器控制电路单元及存储器存储装置 Active CN112732199B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110116647.0A CN112732199B (zh) 2021-01-28 2021-01-28 数据存取方法、存储器控制电路单元及存储器存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110116647.0A CN112732199B (zh) 2021-01-28 2021-01-28 数据存取方法、存储器控制电路单元及存储器存储装置

Publications (2)

Publication Number Publication Date
CN112732199A CN112732199A (zh) 2021-04-30
CN112732199B true CN112732199B (zh) 2023-07-04

Family

ID=75594362

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110116647.0A Active CN112732199B (zh) 2021-01-28 2021-01-28 数据存取方法、存储器控制电路单元及存储器存储装置

Country Status (1)

Country Link
CN (1) CN112732199B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114138207B (zh) * 2021-12-13 2023-06-13 群联电子股份有限公司 存储器控制方法、存储器存储装置及存储器控制电路单元

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814318A (zh) * 2009-02-25 2010-08-25 群联电子股份有限公司 多层存储单元与非型闪存储存系统及其控制器与存取方法
CN104809075A (zh) * 2015-04-20 2015-07-29 电子科技大学 一种存取实时并行处理的固态记录装置及方法
CN108874309A (zh) * 2018-05-25 2018-11-23 新华三技术有限公司 一种管理固态硬盘中物理块的方法和装置
TW202001564A (zh) * 2018-06-12 2020-01-01 晨星半導體股份有限公司 用以存取資料的方法以及相關電路
CN111880749A (zh) * 2020-08-04 2020-11-03 群联电子股份有限公司 数据读取方法、存储器存储装置及存储器控制电路单元

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI479314B (zh) * 2012-08-30 2015-04-01 Phison Electronics Corp 系統資料儲存方法、記憶體控制器與記憶體儲存裝置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814318A (zh) * 2009-02-25 2010-08-25 群联电子股份有限公司 多层存储单元与非型闪存储存系统及其控制器与存取方法
CN104809075A (zh) * 2015-04-20 2015-07-29 电子科技大学 一种存取实时并行处理的固态记录装置及方法
CN108874309A (zh) * 2018-05-25 2018-11-23 新华三技术有限公司 一种管理固态硬盘中物理块的方法和装置
TW202001564A (zh) * 2018-06-12 2020-01-01 晨星半導體股份有限公司 用以存取資料的方法以及相關電路
CN111880749A (zh) * 2020-08-04 2020-11-03 群联电子股份有限公司 数据读取方法、存储器存储装置及存储器控制电路单元

Also Published As

Publication number Publication date
CN112732199A (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
CN111078149B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN111880749B (zh) 数据读取方法、存储器存储装置及存储器控制电路单元
TWI768764B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
CN111078146B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN113885808B (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
CN112860194B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
TWI797464B (zh) 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元
CN112051971B (zh) 数据整并方法、存储器存储装置及存储器控制电路单元
CN112732199B (zh) 数据存取方法、存储器控制电路单元及存储器存储装置
TWI750013B (zh) 資料存取方法、記憶體控制電路單元及記憶體儲存裝置
TW202344970A (zh) 基於資料優先級的風險評估方法、記憶體儲存裝置及記憶體控制電路單元
CN111831210B (zh) 存储器管理方法、存储器控制电路单元及存储器存储装置
CN110874282B (zh) 数据存取方法、存储器控制电路单元与存储器存储装置
CN111610937A (zh) 数据写入方法、存储器存储装置及存储器控制电路单元
US20220413763A1 (en) Mapping information management method, memory storage device and memory control circuit unit
CN113724773B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN112347010B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
US11561719B2 (en) Flash memory control method of re-programming memory cells before erase operations, flash memory storage device and flash memory controller
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
TWI826161B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
US20240184449A1 (en) Memory management method, memory storage device and memory control circuit unit
CN113312274B (zh) 存储器的数据整理方法、存储器存储装置及控制电路单元
TWI777087B (zh) 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置
CN112181859B (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