CN108958640B - 存储器管理方法、存储器控制电路单元及存储器存储装置 - Google Patents
存储器管理方法、存储器控制电路单元及存储器存储装置 Download PDFInfo
- Publication number
- CN108958640B CN108958640B CN201710384165.7A CN201710384165A CN108958640B CN 108958640 B CN108958640 B CN 108958640B CN 201710384165 A CN201710384165 A CN 201710384165A CN 108958640 B CN108958640 B CN 108958640B
- Authority
- CN
- China
- Prior art keywords
- unit
- data
- physical
- super
- physically
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Abstract
本发明提供一种存储器管理方法、存储器控制电路单元及存储器存储装置。此方法包括:配置多个第一类超实体单元与至少一第二类超实体单元,其中一个第一类超实体单元包括可同时被程序化的至少两个可用实体抹除单元,而一个第二类超实体单元包括不可同时被程序化的至少两个可用实体抹除单元。此方法还包括:将第一类超实体单元配置为可基于第一程序化模式与第二程序化模式的其中之一来程序化,并且将第二类超实体单元配置为仅能基于第一程序化模式来程序化。藉此,可改善第二类超实体单元在配置上与部分存储器存储装置不相容的问题。
Description
技术领域
本发明涉及一种存储器管理方法,尤其涉及一种可复写式非易失性存储器模块的存储器管理方法、存储器控制电路单元及存储器存储装置。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,可复写式非易失性存储器模块是由一个存储器控制电路单元所控制。存储器控制电路单元可接收来自主机系统的数据,并把这些数据写入至可复写式非易失性存储器模块中。在一些设置中,可复写式非易失性存储器模块具有多个平面(plane),并且每个平面包括多个实体抹除单元。存储器控制电路单元会将属于不同平面的多个实体抹除单元配置为同一个超实体抹除单元,并且存储器控制电路单元会交错地或是同时地程序化同一个超实体抹除单元内的实体抹除单元。藉此,当主机系统所下达的是连续数据时,把数据写入至可复写式非易失性存储器模块的速度会增加。
然而,可复写式非易失性存储器模块的各平面中的可能会包括可用实体抹除单元及坏实体抹除单元,而存储器控制电路仅会使用各平面中的可用实体抹除单元来配置为超实体抹除单元。倘若,各平面中包括不同数量的坏实体抹除单元,相对地,各平面中就会包括不对等数量的可用实体抹除单元。在此种情况下,包括较多可用实体抹除单元的平面中将存在剩余的可用实体抹除单元无法被配置为超实体抹除单元,进而影响实际可使用的存储空间的大小。因此,如何充分地利用可用实体抹除单元来配置更多的超实体抹除单元以提升实体抹除单元的使用率,为此领域技术人员所关心的议题。
此外,根据某些存储器存储装置规范,同一个平面中不可同时存在多个操作于复数阶存储单元(Trinary Level Cell,TLC)程序化模式的开启区块(open block)。例如,在TLC系统中,若将同一个平面中的多个可用实体抹除单元配置为同一个超实体抹除单元,则后续操作上将会出现问题。因此,如何兼顾实体抹除单元的使用率以及系统相容性,也为此领域技术人员关心的议题。
发明内容
本发明提供一种存储器管理方法、存储器控制电路单元及存储器存储装置,可将属于同一平面中的多个实体抹除单元配置为同一个超实体单元,并将其配置为仅能操作于特定程序化模式,以兼顾实体抹除单元的使用率以及系统相容性。
本发明一范例实施例提出一种存储器管理方法,用于存储器存储装置。此存储器存储装置具有可复写式非易失性存储器模块,并且此可复写式非易失性存储器模块具有多个可用实体抹除单元。本存储器管理方法包括分配所述可用实体抹除单元之中的其中一部分以配置多个第一类超实体单元,其中每一个第一类超实体单元至少包括第一可用实体抹除单元及第二可用实体抹除单元,并且第一可用实体抹除单元及第二可用实体抹除单元会同时被程序化。本存储器管理方法也包括分配所述可用实体抹除单元之中的剩余部分以配置至少一个第二类超实体单元。所述至少一个第二类超实体单元中的一个第二类超实体单元至少包括第三可用实体抹除单元及第四可用实体抹除单元,并且第三可用实体抹除单元先于第四可用实体抹除单元被程序化。本存储器管理方法还包括将所述第一类超实体单元中的每一个可用实体抹除单元配置为基于第一程序化模式与第二程序化模式的其中之一来程序化,以及将所述至少一第二类超实体单元中的每一个可用实体抹除单元配置为仅基于所述第一程序化模式来程序化,其中,基于所述第一程序化模式,一个可用实体抹除单元中的每一个存储单元用以存储第一数目的二进制位数据,而基于所述第二程序化模式,一个可用实体抹除单元中的每一个存储单元用以存储第二数目的二进制位数据,且所述第二数目大于所述第一数目。
在本发明的一范例实施例中,上述的存储器管理方法还包括从主机系统接收指示写入第一数据的第一写入指令,其中第一数据包括第一部分及第二部分。再者,将第一数据的第一部分写入至第三可用实体抹除单元中。并且在将第一数据的第一部分写入至第三可用实体抹除单元之后,倘若第三可用实体抹除单元存在未写入数据的至少一实体程序化单元,将第一数据的第二部分写入至第三可用实体抹除单元。此外,在将第一数据的第一部分写入至第三可用实体抹除单元之后,倘若第三可用实体抹除单元的所有实体程序化单元皆已写入数据,将第一数据的第二部分写入至第四可用实体抹除单元。
在本发明的一范例实施例中,上述的存储器管理方法还包括配置多个逻辑地址,其中第一数据的第一部分属于所述逻辑地址中的至少一第一逻辑地址,并且第一数据的第二部分属于所述逻辑地址中的至少一第二逻辑地址,并且第二逻辑地址是接续在第一逻辑地址之后。
在本发明的一范例实施例中,上述的存储器管理方法还包括从主机系统接收指示写入第一数据的第一写入指令,其中第一数据包括第一部分及第二部分。再者,上述的存储器管理方法还包括将第一数据的第一部分写入至第三可用实体抹除单元中,并且将第一数据的第二部分写入至第四可用实体抹除单元中。
在本发明的一范例实施例中,上述的存储器管理方法还包括从主机系统接收指示写入第二数据的第二写入指令,其中第二数据包括第一部分及第二部分。再者,上述的存储器管理方法还包括将第二数据的第一部分写入至第一类超实体单元的其中一者的第一可用实体抹除单元中,并且将第二数据的第二部分写入至第一类超实体单元的此其中一者的第二可用实体抹除单元中。
在本发明的一范例实施例中,上述的至少一第二类超实体单元中的第二类超实体单元还包括第五可用实体抹除单元与第六可用实体抹除单元。上述的存储器管理方法还包括:从主机系统接收指示写入第三数据的第三写入指令;将第三数据写入至第五可用实体抹除单元、第六可用实体抹除单元及第三可用实体抹除单元;从主机系统接收指示写入第四数据的第四写入指令;以及在将第三数据写入至第五可用实体抹除单元、第六可用实体抹除单元及第三可用实体抹除单元之后,将第四数据写入至第五可用实体抹除单元、第六可用实体抹除单元及第四可用实体抹除单元。
本发明一范例实施例提出一种存储器控制电路单元,用于控制可复写式非易失性存储器模块。可复写式非易失性存储器模块具有多个可用实体抹除单元。本存储器控制电路单元包括主机接口、存储器接口及存储器管理电路。主机接口连接至主机系统。存储器接口连接至可复写式非易失性存储器模块。存储器管理电路连接至该主机接口与该存储器接口。存储器管理电路用以分配所述可用实体抹除单元之中的其中一部分以配置多个第一类超实体单元,其中每一个第一类超实体单元至少包括第一可用实体抹除单元及第二可用实体抹除单元,并且第一可用实体抹除单元及第二可用实体抹除单元会同时被程序化。再者,存储器管理电路还用以分配所述可用实体抹除单元之中的剩余部分以配置至少一个第二类超实体单元,所述至少一个第二类超实体单元至少包括第三可用实体抹除单元及第四可用实体抹除单元,并且第三可用实体抹除单元先于第四可用实体抹除单元被程序化。所述存储器管理电路还用以将所述第一类超实体单元中的每一个可用实体抹除单元配置为基于第一程序化模式与第二程序化模式的其中之一来程序化。所述存储器管理电路还用以将所述至少一第二类超实体单元中的每一个可用实体抹除单元配置为仅基于所述第一程序化模式来程序化。基于所述第一程序化模式,一个可用实体抹除单元中的每一个存储单元用以存储第一数目的二进制位数据,而基于所述第二程序化模式,一个可用实体抹除单元中的每一个存储单元用以存储第二数目的二进制位数据,且所述第二数目大于所述第一数目。
在本发明的一范例实施例中,上述的存储器管理电路还用以从主机系统接收指示写入第一数据的第一写入指令,其中第一数据包括第一部分及第二部分。再者,存储器管理电路还用以下达第一指令序列将第一数据的第一部分写入至第三可用实体抹除单元中。在将第一数据的第一部分写入至第三可用实体抹除单元之后,倘若第三可用实体抹除单元存在未写入数据的至少一实体程序化单元,存储器管理电路还用以下达第二指令序列将第一数据的第二部分写入至第三可用实体抹除单元。此外,在将第一数据的第一部分写入至第三可用实体抹除单元之后,倘若第三可用实体抹除单元的所有实体程序化单元皆已写入数据,存储器管理电路还用以下达第三指令序列将第一数据的第二部分写入至第四可用实体抹除单元。
在本发明的一范例实施例中,上述的存储器管理电路还用以配置多个逻辑地址,其中第一数据的第一部分属于所述逻辑地址中的至少一第一逻辑地址,第一数据的第二部分属于所述逻辑地址中的至少一第二逻辑地址,并且第二逻辑地址是接续在第一逻辑地址之后。
在本发明的一范例实施例中,上述的存储器管理电路还用以从主机系统接收指示写入第一数据的第一写入指令,其中第一数据包括第一部分及第二部分。再者,存储器管理电路还用以下达第一指令序列将第一数据的第一部分写入至第三可用实体抹除单元中,并且下达第二指令序列将第一数据的第二部分写入至第四可用实体抹除单元中。
在本发明的一范例实施例中,上述的存储器管理电路还用以从主机系统接收指示写入第二数据的第二写入指令,其中第二数据包括第一部分及第二部分。再者,存储器管理电路还用以下达第一指令序列将第二数据的第一部分写入至第一类超实体单元的其中一者的第一可用实体抹除单元中,并且下达第二指令序列将第二数据的第二部分写入至第一类超实体单元的此其中一者的第二可用实体抹除单元中。
在本发明的一范例实施例中,上述的至少一第二类超实体单元中的第二类超实体单元还包括第五可用实体抹除单元与第六可用实体抹除单元。存储器管理电路还用以从主机系统接收指示写入第三数据的第三写入指令。存储器管理电路还用以下达第三指令序列以将第三数据写入至第五可用实体抹除单元、第六可用实体抹除单元及第三可用实体抹除单元。存储器管理电路还用以从主机系统接收指示写入第四数据的第四写入指令。存储器管理电路还用以下达第四指令序列以在将第三数据写入至第五可用实体抹除单元、第六可用实体抹除单元及第三可用实体抹除单元之后,将第四数据写入至第五可用实体抹除单元、第六可用实体抹除单元及第四可用实体抹除单元。
本发明的一范例实施例提出一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块及上述的存储器控制电路单元。连接接口单元连接至主机系统,存储器控制电路单元连接至连接接口单元与可复写式非易失性存储器模块。所述存储器控制电路单元用以分配所述可用实体抹除单元之中的其中一部分以配置多个第一类超实体单元。所述第一类超实体单元中的每一个第一类超实体单元至少包括第一可用实体抹除单元及第二可用实体抹除单元。所述第一可用实体抹除单元及所述第二可用实体抹除单元会同时被程序化。所述存储器控制电路单元还用以分配所述可用实体抹除单元之中的剩余部分以配置至少一第二类超实体单元。所述至少一第二类超实体单元至少包括第三可用实体抹除单元及第四可用实体抹除单元,所述第三可用实体抹除单元先于所述第四可用实体抹除单元被程序化。所述存储器控制电路单元还用以将所述第一类超实体单元中的每一个可用实体抹除单元配置为基于第一程序化模式与第二程序化模式的其中之一来程序化。所述存储器控制电路单元还用以将所述至少一第二类超实体单元中的每一个可用实体抹除单元配置为仅基于所述第一程序化模式来程序化。基于所述第一程序化模式,一个可用实体抹除单元中的每一个存储单元用以存储第一数目的二进制位数据,而基于所述第二程序化模式,一个可用实体抹除单元中的每一个存储单元用以存储第二数目的二进制位数据,且所述第二数目大于所述第一数目。
在本发明的一范例实施例中,上述的存储器控制电路单元还用以从所述主机系统接收指示写入第一数据的第一写入指令,其中所述第一数据包括第一部分及第二部分。所述存储器控制电路单元还用以下达第一指令序列将所述第一数据的所述第一部分写入至所述第三可用实体抹除单元中。在将所述第一数据的所述第一部分写入至所述第三可用实体抹除单元之后,倘若所述第三可用实体抹除单元存在未写入数据的至少一实体程序化单元,所述存储器控制电路单元还用以下达第二指令序列将所述第一数据的所述第二部分写入至所述第三可用实体抹除单元。在将所述第一数据的所述第一部分写入至所述第三可用实体抹除单元之后,倘若所述第三可用实体抹除单元的所有实体程序化单元皆已写入数据,所述存储器控制电路单元还用以下达第三指令序列将所述第一数据的所述第二部分写入至所述第四可用实体抹除单元。
在本发明的一范例实施例中,上述的存储器控制电路单元还用以配置多个逻辑地址。所述第一数据的所述第一部分属于所述逻辑地址中的至少一第一逻辑地址。所述第一数据的所述第二部分属于所述逻辑地址中的至少一第二逻辑地址,并且所述至少一第二逻辑地址是接续在所述至少一第一逻辑地址之后。
在本发明的一范例实施例中,上述的逻辑地址组成多个逻辑程序化单元,所述逻辑程序化单元组成多个逻辑抹除单元,并且所述至少一第二类超实体单元是映射至所述逻辑抹除单元的至少其中之一。
在本发明的一范例实施例中,上述的存储器控制电路单元还用以从所述主机系统接收指示写入第一数据的第一写入指令,其中所述第一数据包括第一部分及第二部分。所述存储器控制电路单元还用以下达第一指令序列将所述第一数据的所述第一部分写入至所述第三可用实体抹除单元中。所述存储器控制电路单元还用以下达第二指令序列将所述第一数据的所述第二部分写入至所述第四可用实体抹除单元中。
在本发明的一范例实施例中,上述的存储器控制电路单元还用以从所述主机系统接收指示写入第二数据的第二写入指令,其中所述第二数据包括第一部分及第二部分。所述存储器控制电路单元还用以下达第一指令序列将所述第二数据的所述第一部分写入至所述第一类超实体单元的其中一者的所述第一可用实体抹除单元中。所述存储器控制电路单元还用以下达第二指令序列将所述第二数据的所述第二部分写入至所述第一类超实体单元的所述其中一者的所述第二可用实体抹除单元中。
在本发明的一范例实施例中,上述的至少一第二类超实体单元中的第二类超实体单元还包括第五可用实体抹除单元与第六可用实体抹除单元。存储器控制电路单元还用以从主机系统接收指示写入第三数据的第三写入指令。存储器控制电路单元还用以下达第三指令序列以将第三数据写入至第五可用实体抹除单元、第六可用实体抹除单元及第三可用实体抹除单元。存储器控制电路单元还用以从主机系统接收指示写入第四数据的第四写入指令。存储器控制电路单元还用以下达第四指令序列以在将第三数据写入至第五可用实体抹除单元、第六可用实体抹除单元及第三可用实体抹除单元之后,将第四数据写入至第五可用实体抹除单元、第六可用实体抹除单元及第四可用实体抹除单元。
在本发明的一范例实施例中,上述第一数目为1,且上述第二数目为3。
基于上述,本发明范例实施例提出的存储器管理方法、存储器控制电路单元与存储器存储装置,可将属于同一平面中的多个可用实体抹除单元配置为同一个超实体单元,藉以增加实体抹除单元的使用率。另一方面,通过将同一平面中包含于同一个超实体单元的多个可用实体抹除单元配置为仅能操作于特定程序化模式,则可提高基于所述配置的系统相容性。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图。
图4是根据一范例实施例所示出的主机系统与存储器存储装置的概要方块图。
图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图。
图6与图7是根据一范例实施例所示出的管理实体抹除单元的范例示意图。
图8A是根据一范例实施例所示出的配置超实体单元的范例示意图。
图8B是根据图8A的范例实施例所示出的写入数据至第一类超实体单元的范例示意图。
图8C是根据图8A的范例实施例所示出的写入数据至第二类超实体单元的范例示意图。
图9A是根据另一范例实施例所示出的配置超实体单元的范例示意图。
图9B是根据图9A的范例实施例所示出的写入数据至第一类超实体单元的范例示意图。
图9C是根据图9A的范例实施例所示出的写入数据至第二类超实体单元的范例示意图。
图10是根据一范例实施例的存储器管理方法所示出的配置超实体单元与程序化模式的流程图。
图11是根据一范例实施例的存储器管理方法所示出的写入数据至第二类超实体单元的流程图。
附图标记说明
10:存储器存储装置
11:主机系统
12:输入/输出(I/O)装置
110:系统总线
111:处理器
112:随机存取存储器(RAM)
113:只读存储器(ROM)
114:数据传输接口
20:主机板
201:U盘
202:存储卡
203:固态硬盘
204:无线存储器存储装置
205:全球定位系统模块
206:网络接口卡
207:无线传输装置
208:键盘
209:屏幕
210:喇叭
30:存储器存储装置
31:主机系统
32:SD卡
33:CF卡
34:嵌入式存储装置
341:嵌入式多媒体卡
342:嵌入式多芯片封装存储装置
402:连接接口单元
404:存储器控制电路单元
406:可复写式非易失性存储器模块
410(0)~410(N):实体抹除单元
502:存储器管理电路
504:主机接口
506:存储器接口
508:缓冲存储器
510:电源管理电路
512:错误检查与校正电路
602:数据区
604:闲置区
606:系统区
608:取代区
710(0)~710(D):逻辑地址
P1、P2、P3、P4:平面
PBA(0)~PBA(15):实体抹除单元
SPBA(0)~SPBA(3)、SPBA(5)~SPBA(7):第一类超实体单元
SPBA(4)、SPBA(8):第二类超实体单元
LBA(0)、LBA(1)、LBA(S):逻辑抹除单元
LBA(0-0)~LBA(0-E)、LBA(1-0)~LBA(1-E)、LBA(S-0)~LBA(S-E):逻辑程序化单元
810、820、830、840、910、920、930、940:数据
S1001:配置多个第一类超实体单元,其中每一个第一类超实体单元包括至少两个可用实体抹除单元,并且此至少两个可用实体抹除单元分别是属于不同平面的步骤
S1002:将第一类超实体单元中的每一个可用实体抹除单元配置为基于第一程序化模式与第二程序化模式的其中之一来程序化的步骤
S1003:判断在同一平面中是否存在多个可用实体抹除单元,其中此些可用实体抹除单元未对应至已配置的任一个第一类超实体单元的步骤
S1004:配置至少一个第二类超实体单元,其中此第二类超实体单元包括同一平面中的至少两个可用实体抹除单元,并且此至少两个可用实体抹除单元未对应至已配置的任一个第一类超实体单元的步骤
S1005:将第二类超实体单元中的每一个可用实体抹除单元配置为仅基于第一程序化模式来程序化的步骤
S1101:接收到来自主机系统指示写入数据的写入指令的步骤
S1103:提取一个第二类超实体单元,以写入此数据的步骤
S1105:将此数据的第一部分写入至所提取的第二类超实体单元的一个可用实体抹除单元中的步骤
S1107:判断所提取的第二类超实体单元的此可用实体抹除单元中是否存在未写入数据的至少一个实体程序化单元的步骤
S1109:基于第一程序化模式将此数据的第二部分写入至所提取的第二类超实体单元的此可用实体抹除单元中的步骤
S1111:基于第一程序化模式将此数据的第二部分写入至所提取的第二类超实体单元的另一个可用实体抹除单元中的步骤
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图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 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用以连接至主机系统。在本范例实施例中,连接接口单元402是相容于串行高级附件(Serial Advanced Technology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并行高级附件(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)接口标准、安全数字(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 Device Electronics,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)。然而,在其他范例实施例中,数据二进制位区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块,并且实体程序化单元为实体页面或实体扇区,但本发明不以此为限。
在本范例实施例中,每一个实体抹除单元410(0)~410(N)是属于多个操作单元的其中之一。属于不同操作单元的实体抹除单元可以同时或是交错地被程序化。例如,操作单元可以是通道、芯片、晶粒或是平面。具体来说,在一范例实施例中,存储器存储装置10具有多个通道,并且存储器控制电路单元404是通过不同的通道来存取不同部分的实体抹除单元410(0)~410(N)。不同通道上的实体抹除单元可以独立的运作。例如,存储器控制电路单元404对一个通道上的实体抹除单元执行写入操作时,存储器控制电路单元404可以同时地对另一个通道上的实体抹除单元执行读取操作或其他操作。在存储器存储装置10中,同一个通道中的实体抹除单元可以属于不同的芯片。在一范例实施例中,属于不同芯片的实体抹除单元也属于不同的交错(interleave)。存储器控制电路单元404在程序化某一个芯片中的实体抹除单元以后,不需要等此芯片回复准备好(ready)信号,便可以继续程序化下一个芯片中的实体抹除单元。在可复写式非易失性存储器模块406中,同一个交错中的实体抹除单元还可以属于不同的平面(plane)。同一个交错中属于不同平面的实体抹除单元可以根据同一个写入指令而同时被程序化。
在一范例实施例中,存储器存储装置10中配置了一个通道与一个芯片,而此芯片包括两个平面,但本发明并不在此限。在另一范例实施例中,存储器存储装置10也可以包括n个通道、m个交错、以及k个平面。n、m与k为正整数,并且至少其中一个正整数会大于1(即,存储器存储装置10包括多个操作单元)。然而,本发明并不限制正整数n、m与k的数值。
在本范例实施例中,可复写式非易失性存储器模块406为多阶存储单元(MultiLevel Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个数据二进制位的快闪存储器模块)。然而,本发明不限于此,可复写式非易失性存储器模块406也可是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个数据二进制位的快闪存储器模块)、复数阶存储单元(Trinary Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个数据二进制位的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506、缓冲存储器508、电源管理电路510与错误检查与校正电路512。
存储器管理电路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标准、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会根据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图6与图7是根据一范例实施例所示出的管理实体抹除单元的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块406的实体抹除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的实体抹除单元进行操作。
请参照图6,存储器管理电路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,如上所述,数据区602与闲置区604的实体抹除单元是以轮替方式来存储主机系统11所写入的数据。在本范例实施例中,存储器管理电路502会配置逻辑地址710(0)~710(D)给主机系统11,以映射至数据区602中的实体抹除单元414(0)~410(F-1),以利于在以上述轮替方式来存储数据的实体抹除单元中进行数据存取。特别是,主机系统11会通过逻辑地址710(0)~710(D)来存取数据区602中的数据。在本范例实施例中,一个逻辑地址是映射至一个实体扇,多个逻辑地址会组成一个逻辑程序化单元,并且多个逻辑程序化单元会组成一个逻辑抹除单元。
此外,存储器管理电路502会建立逻辑-实体映射表,以记录逻辑地址与实体抹除单元之间的映射关系。在本范例实施例中,存储器管理电路502是以逻辑程序化单元来管理可复写式非易失性存储器模块406,因此存储器管理电路502会建立一个逻辑-实体映射表以记录逻辑程序化单元与实体程序化单元之间的映射关系。在另一范例实施例中,存储器管理电路502是以逻辑抹除单元来管理可复写式非易失性存储器模块406,因此存储器管理电路502会建立一个逻辑-实体映射表以记录逻辑抹除单元与实体抹除单元之间的映射关系。
在本范例实施例中,存储器管理电路502会配置多个超实体单元,并且每一个超实体单元会包括至少两个实体抹除单元。存储器管理电路502会使用超实体单元来存储数据。例如,当主机系统下达写入指令时,存储器管理电路502会提取一个超实体单元来程序化数据。存储器管理电路502可配置两种不同类型的超实体单元,包括第一类超实体单元及第二类超实体单元。一个第一类超实体单元中的至少两个实体抹除单元是属于不同的操作单元,例如属于不同的平面或晶粒,使其可以同时或交错地被程序化。而一个第二类超实体单元中的至少两个实体抹除单元不会同时被程序化,并且一个第二类超实体单元所包括的多个实体抹除单元中,至少有两个实体抹除单元是属于相同平面或晶粒。以一个超实体单元包括四个实体抹除单元为例,一个第一类超实体单元的四个实体抹除单元皆属于不同平面或晶粒。然而,一个第二类超实体单元的四个实体抹除单元可以全部属于同一个平面或晶粒,或者,其中两个实体抹除单元(或三个实体抹除单元)属于相同平面或晶粒,其他的实体抹除单元属于不同平面或晶粒。
图8A是根据一范例实施例所示出的配置超实体单元的范例示意图。在本范例实施例中,是假设每一个超实体单元中包括两个实体抹除单元。
请参照图8A,以下以平面为例说明,假设可复写式非易失性存储器模块406包括两个平面P1、P2,并且平面P1、P2各包括8个实体抹除单元。平面P1包括2个坏实体抹除单元(即以斜线示出的实体抹除单元PBA(6)、PBA(12)),而平面P2包括4个坏实体抹除单元(即以斜线示出的实体抹除单元PBA(3)、PBA(5)、PBA(11)、PBA(13))。也就是说,平面P1的可用实体抹除单元的数量为6,而平面P2的可用实体抹除单元的数量为4。在本范例实施例中,存储器管理电路502会先配置第一类超实体单元。换言之,存储器管理电路502会从平面P1及P2中各提取一个可用实体抹除单元以配置一个第一类超实体单元。举例而言,存储器管理电路502将属于平面P1的可用实体抹除单元PBA(0)与属于平面P2的可用实体抹除单元PBA(1)配置为第一类超实体单元SPBA(0)。依此类推,存储器管理电路502可配置第一类超实体单元SPBA(0)~SPBA(3),每一个第一类超实体单元所包括的两个可用实体抹除单元分别属于平面P1及P2。
在本范例实施例中,由于一个第一类超实体单元是以两个分别属于不同平面的实体抹除单元所配置而成,因此,存储器管理电路502所能配置的第一超实体抹除单元的数量,最多只会相等于具有较少可用实体抹除单元的平面的可用实体抹除单元的数量。如上所述,平面P1的可用实体抹除单元的数量为6,而平面P2所包括的可用实体抹除单元的数量为4。也就是说,平面P2所包括的可用实体抹除单元的数量小于平面P1所包括的可用实体抹除单元的数量。因此,存储器管理电路502所能配置的第一类超实体单元的数量最多仅可等于平面P2所包括的可用实体抹除单元的数量,也就是最多仅能配置4个第一类超实体单元。如此一来,当配置了最多数量的第一类超实体单元之后,具有较多可用实体抹除单元的平面会存在无法被配置为第一类超实体单元的可用实体抹除单元。
基此,存储器管理电路502会配置第二类超实体单元,并且每一个第二类超实体单元包括属于相同平面的两个实体抹除单元。如图8A所示,由于平面P1相较于平面P2具有较多的可用实体抹除单元,因此,在配置了最多数量的第一类超实体单元的之后,平面P1会存在无法被配置为第一类超实体单元的可用实体抹除单元PBA(10)以及PBA(14)。存储器管理电路502会将可用实体抹除单元PBA(10)以及PBA(14)配置为一个第二类超实体单元SPBA(4)。如此一来,使得平面P1以及P2中的所有可用实体抹除单元皆被配置为超实体单元。
在本范例实施例中,一个逻辑抹除单元是映射至一个超实体单元,也就是说一个逻辑抹除单元是映射至多个实体抹除单元。如上所述的正整数n、m与k的乘积代表一个超实体单元中所包括的实体抹除单元的数量,即代表一个逻辑抹除单元所映射的实体抹除单元的数量。在以下图8B及8C的范例实施例中,正整数n为1、正整数m为1、以及正整数k为2。换言之,一个逻辑抹除单元是映射至两个不同的实体抹除单元。
当主机系统11下达写入指令时,倘若存储器管理电路502是将对应的写入数据程序化至一个第一类超实体单元时,存储器管理电路502会将写入数据分成多个部分,并将这些部分分别地程序化至此第一类超实体单元的不同的实体抹除单元中。因此,以第一类超实体单元而言,一个逻辑抹除单元所映射的多个不同的实体抹除单元彼此是分别属于不同平面,并且一个逻辑程序化单元是映射分别属于不同的实体抹除单元的多个实体程序化单元,藉此可以增加写入速度。
图8B是根据一范例实施例所示出的写入数据至第一类超实体单元的范例示意图。
请参照图8B,逻辑抹除单元LBA(0)是映射至第一类超实体单元SPBA(0),并且逻辑抹除单元LBA(0)包括了逻辑程序化单元LBA(0-0)~LBA(0-E)。若一个实体程序化单元的容量为4KB(kilobyte),则一个逻辑程序化单元的容量是8KB。主机系统11下达了一个写入指令,其指示将数据810写入至逻辑程序化单元LBA(0-0)。在此假设数据810的大小为8KB,存储器管理电路502会将数据810分为两个部分(即第一部分与第二部分),并且每一个部分的大小都是4KB。其中第二部分所属的逻辑地址是接续在第一部分所属的逻辑地址之后。在接收到写入指令之后,存储器管理电路502会下达至少一指令序列将数据810的第一部分写入至实体抹除单元PBA(0),并且同时将数据810的第二部分写入至实体抹除单元PBA(1)。
在本范例实施例中,若主机系统11还下达了其他的写入指令时,存储器管理电路502会将这些写入指令所指示的数据写入至实体抹除单元PBA(0)、PBA(1),直到实体抹除单元PBA(0)、PBA(1)中没有闲置的实体程序化单元。接下来,若存储器管理电路502再接收到一个指示写入数据820的写入指令时,存储器管理电路502会将数据820写入至第一类超实体单元SPBA(1)中。举例来说,逻辑抹除单元LBA(1)是映射至第一类超实体单元SPBA(1),逻辑抹除单元LBA(1)包括了逻辑程序化单元LBA(1-0)~LBA(1-E)。数据820是要写入至逻辑程序化单元LBA(1-E),并且数据820的大小为8KB。相同于将数据810分为两个部分,存储器管理电路502也会将数据820分为两个部分,并且每一个部分的大小都为4KB。存储器管理电路502会将数据820的第一部分写入至实体抹除单元PBA(2),并同时将数据820的第二部分写入至实体抹除单元PBA(7)。
另一方面,当主机系统11下达写入指令时,倘若存储器管理电路502是将对应的写入数据程序化至一个第二类超实体单元时,在一范例实施例中,存储器管理电路502可将写入数据先程序化至第二类超实体单元的其中一个实体抹除单元。倘若,此其中一个实体抹除单元的已被写满(即没有闲置的实体程序化单元),存储器管理电路502才将对应的写入数据程序化至此第二类超实体单元的另一个实体抹除单元。也就是说,存储器管理电路502会先将写入数据程序化至第二类超实体单元中的一个实体抹除单元中,并且当此实体抹除单元被写满时,才将写入数据程序化至同一个第二类超实体单元中的另一个实体抹除单元中。此外,在本范例实施例中,以第二类超实体单元而言,一个逻辑抹除单元所映射的两个不同的实体抹除单元是属于相同平面。
图8C是根据一范例实施例所示出的写入数据至第二类超实体单元的范例示意图。
请参照图8C,逻辑抹除单元LBA(S)是映射至第二类超实体单元SPBA(4),并且逻辑抹除单元LBA(S)包括了逻辑程序化单元LBA(S-0)~LBA(S-E)。假设一个逻辑程序化单元是映射至同一个实体抹除单元中的多个实体程序化单元。如上所述,一个实体程序化单元的容量为4KB,并且一个逻辑程序化单元的容量是8KB。主机系统11下达了一个写入指令,其指示将数据830写入至逻辑程序化单元LBA(S-0)。存储器管理电路502会将数据830程序化至第二类超实体单元SPBA(4)的实体抹除单元PBA(10)中。例如,在此假设数据830的大小为8KB。在一范例实施例中,存储器管理电路502会下达至少一指令序列将数据830的第一部分程序化至实体抹除单元PBA(10)的第一个实体程序化单元中,并且将数据830的第二部分程序化至实体抹除单元PBA(10)的第二个实体程序化单元中。其中数据830的第二部分所属的逻辑地址是接续在数据830的第一部分所属的逻辑地址之后。具体而言,存储器管理电路502会根据实体抹除单元PBA(10)的实体程序化单元的顺序,将所接收到的写入数据程序化至实体抹除单元PBA(10)的实体程序化单元中。也就是说,在完成实体抹除单元PBA(10)的一个实体程序化单元的程序化之后,会执行实体抹除单元PBA(10)的下一个实体程序化单元的程序化。
如上所述,存储器管理电路502是以一个实体程序化单元接续一个实体程序化单元的方式将数据先程序化至第二类超实体单元的一个实体抹除单元中。在本范例实施例中,若主机系统11还下达了其他的写入指令,存储器管理电路502会将这些写入指令所指示的数据先写入至实体抹除单元PBA(10),直到实体抹除单元PBA(10)中没有闲置的实体程序化单元。接下来,若存储器管理电路502再接收到一个写入数据840的写入指令时,存储器管理电路502会将数据840写入至第二类超实体单元SPBA(4)的实体抹除单元PBA(14)中。举例来说,数据840是要写入至逻辑程序化单元LBA(S-C),并且数据840的大小为8KB。由于,实体抹除单元PBA(10)中已没有闲置的实体程序化单元,因此,存储器管理电路502会将数据840依序程序化至第二类超实体单元SPBA(4)的实体抹除单元PBA(14)中的第一个实体程序化单元及第二个实体程序化单元中。
值得一提的是,在图8C的范例实施例中,存储器管理电路502可使用快取程序化(Cache program)的写入运作方式来将写入数据程序化至第二类超实体单元。例如,存储器管理电路502可先将写入数据暂存在缓冲存储器508的一缓冲区中并回应确认信息给主机系统11,以通知主机系统11已完成此写入指令并可下达下一个指令。尔后再从缓冲存储器508的缓冲区中将写入数据程序化至第二类超实体单元。例如,当暂存在缓冲区中的数据的数据量达到一门槛值时,可执行将缓冲区中的数据程序化至第二类超实体单元的操作。因此,存储器管理电路502可通过快取程序化的写入运作方式,先完成第二类超实体单元中的一个实体抹除单元的程序化后,才执行第二类超实体单元中的另一个实体抹除单元的程序化。
然而,在另一范例实施例中,第二类超实体单元的多个实体抹除单元也可以交错地被程序化。例如,以图8C的例子来说明,假设一个逻辑程序化单元是映射至不同实体抹除单元中的多个实体程序化单元。当接收到指示将数据830写入至逻辑程序化单元LBA(S-0)的写入指令时,存储器管理电路502可以下达至少一指令序列将数据830的第一部分程序化至超实体单元SPBA(4)的实体抹除单元PBA(10)的第一个实体程序化单元中。并且,在完成实体抹除单元PBA(10)的第一个实体程序化单元的程序化之后,将数据830的第二部分程序化至超实体单元SPBA(4)的实体抹除单元PBA(14)的第一个实体程序化单元中。以此类推,存储器管理电路502会将后续所接收到的写入数据交错地程序化至超实体单元SPBA(4)的实体抹除单元PBA(10)与实体抹除单元PBA(14)中。例如,当接收到指示将数据840写入至逻辑程序化单元LBA(S-C)的写入指令时,存储器管理电路502同样地会下达至少一指令序列将数据840的第一部分程序化至超实体单元SPBA(4)的实体抹除单元PBA(10)的一个实体程序化单元中。并且,在完成实体抹除单元PBA(10)的所述实体程序化单元的程序化之后,将数据840的第二部分程序化至超实体单元SPBA(4)的实体抹除单元PBA(14)的另一个实体程序化单元中。也就是说,存储器管理电路502会以一个实体抹除单元的一个实体程序化单元接续另一个实体抹除单元的一个实体程序化单元的交错方式来将数据程序化至第二类超实体单元中。
图9A是根据另一范例实施例所示出的配置超实体单元的范例示意图。不同于图8A,在本范例实施例中,是假设每一个超实体单元中包括四个实体抹除单元。
请参照图9A,假设可复写式非易失性存储器模块406包括四个平面P1、P2、P3、P4,并且平面P1、P2、P3、P4各包括8个实体抹除单元。如前所述,存储器管理电路502会使用各平面中的可用实体抹除单元来配置超实体单元。在本范例实施例中,存储器管理电路502会从平面P1、P2、P3、P4中各提取一个可用实体抹除单元以配置一个第一类超实体单元。举例而言,存储器管理电路502将属于平面P1的可用实体抹除单元PBA(0)、属于平面P2的可用实体抹除单元PBA(1)、属于平面P3的可用实体抹除单元PBA(2)与属于平面P4的可用实体抹除单元PBA(3)配置为第一类超实体单元SPBA(5),依此类推。在本范例实施例中,由于平面P4仅包括3个可用实体抹除单元,因此存储器管理电路502最多只可配置三个第一类超实体单元SPBA(5)、SPBA(6)、SPBA(7),并且每一个第一类超实体单元所包括的四个可用实体抹除单元分别属于平面P1、P2、P3、P4。
在配置了最多数量的第一类超实体单元之后,平面P1、P2、P3还存在无法被配置为第一类超实体单元的可用实体抹除单元。平面P1与平面P2分别还存在1个剩余的可用实体抹除单元(即实体抹除单元PBA(12)、PBA(13)),并且平面P3还存在2个剩余的可用实体抹除单元(即实体抹除单元PBA(14)、PBA(15))。基此,存储器管理电路502会将剩余的4个可用实体抹除单元配置为一个第二类超实体单元。如图9A所示,存储器管理电路502会将属于平面P1的可用实体抹除单元PBA(12)、属于平面P2的可用实体抹除单元PBA(13)与属于平面P3的可用实体抹除单元PBA(14)、PBA(15)配置为第二类超实体单元SPBA(8)。
在本范例实施例中,第二类超实体单元SPBA(8)中所包括的四个可用实体抹除单元会分别属于平面P1、P2、P3。换句话说,第二类超实体单元SPBA(8)中包括至少两个可用实体抹除单元是属于相同的平面。
如上所述的正整数n、m与k的乘积代表一个超实体单元中所包括的实体抹除单元的数量,即代表一个逻辑抹除单元所映射的实体抹除单元的数量。在以下图9B及9C的范例实施例中,正整数n为1、正整数m为2、以及正整数k为2。换言之,一个逻辑抹除单元是映射至四个不同的实体抹除单元。并且,为简化说明,在图9B及9C的范例实施例中,假设一个实体程序化单元的容量是4KB,并且一个逻辑程序化单元的容量是16KB。
图9B是根据图9A的范例实施例所示出的写入数据至第一类超实体单元的范例示意图。
由于第一类超实体单元中的可用实体抹除单元是都属于不同平面,因此,存储器管理电路502会以相同于图8B的范例实施例的方式将写入数据程序化至第一类超实体单元中。
请参照图9B,逻辑抹除单元LBA(0)是映射至第一类超实体单元SPBA(5)。主机系统11下达写入指令,指示将数据910写入至逻辑程序化单元LBA(0-0)。在此假设数据910的大小为16KB。存储器管理电路502会将数据910分为四个部分,并且每一个部分的大小都是4KB。在接收到写入指令之后,存储器管理电路502会同时地将数据910的四个部分分别写入至第一类超实体单元SPBA(5)的实体抹除单元PBA(0)、PBA(1)、PBA(2)、PBA(3)中。当存储器管理电路502再接收到一个指示写入数据920的写入指令时,倘若第一类超实体单元SPBA(5)的实体抹除单元PBA(0)、PBA(1)、PBA(2)、PBA(3)中已没有闲置的实体程序化单元,存储器管理电路502会将数据920写入至第一类超实体单元SPBA(6)中。将数据写入至第一类超实体单元的方式已于前述图8B的范例实施例中说明,在此不再多加赘述。
图9C是根据图9A的范例实施例所示出的写入数据至第二类超实体单元的范例示意图。
在本范例实施例中,一个第二类超实体单元会包括属于相同平面的实体抹除单元与属于不同平面的实体抹除单元。换句话说,以本范例实施例的第二类超实体单元而言,一个逻辑抹除单元所映射的四个不同的实体抹除单元中包括两个实体抹除单元是属于相同平面。
请参照图9C,逻辑抹除单元LBA(S)是映射至第二类超实体单元SPBA(8)。第二类超实体单元SPBA(8)中的实体抹除单元PBA(12)属于平面P1,实体抹除单元PBA(13)属于平面P2,实体抹除单元PBA(14)、PBA(15)属于平面P3。主机系统11下达写入指令,指示将数据930写入至逻辑程序化单元LBA(S-0)。在此假设数据930的大小为16KB,存储器管理电路502会将数据930分为四个部分(即第一部分~第四部分),并且每一个部分的大小都是4KB。存储器管理电路502会下达至少一指令序列将数据930的第一部分及第二部分分别程序化至第二类超实体单元SPBA(8)的实体抹除单元PBA(12)、PBA(13),并且将数据930的第三部分及第四部分皆程序化至第二类超实体单元SPBA(8)的实体抹除单元PBA(14)。例如,存储器管理电路502会将数据930的第一部分程序化至实体抹除单元PBA(12)的第一个实体程序化单元,将数据930的第二部分程序化至实体抹除单元PBA(13)的第一个实体程序化单元,并且将数据930的第三部分及第四部分程序化至实体抹除单元PBA(14)的第一个实体程序化单元及第二个实体程序化单元。若主机系统11还下达了其他的写入指令,存储器管理电路502会将这些写入指令所指示的数据依上述方式分别写入至第二类超实体单元SPBA(8)的实体抹除单元PBA(12)、PBA(13)、PBA(14),直到实体抹除单元PBA(14)中没有闲置的实体程序化单元。接下来,若存储器管理电路502再接收到一个写入数据940的写入指令时,存储器管理电路502会将数据940分别写入至第二类超实体单元SPBA(8)的实体抹除单元PBA(12)、PBA(13)、PBA(15)中。
也就是说,由于第二类超实体单元SPBA(8)的实体抹除单元PBA(12)、PBA(13)与PBA(14)(或PBA(15))是分别属于不同平面,因此可同时地被程序化数据。而第二类超实体单元SPBA(8)的实体抹除单元PBA(14)、PBA(15)属于相同平面,因此在执行写入操作时,会先将数据程序化至实体抹除单元PBA(14),当实体抹除单元PBA(14)中已没有闲置的实体程序化单元时,才将数据程序化至实体抹除单元PBA(15)中。并且,第二类超实体单元SPBA(8)的实体抹除单元PBA(14)、PBA(15)会以一个实体程序化单元接续一个实体程序化单元的方式被程序化数据。然而,本发明不以此为限,第二类超实体单元SPBA(8)的实体抹除单元PBA(14)、PBA(15)也可以交错地被程序化。
须注意的是,存储器管理电路502还会将第一类超实体单元中的每一个可用实体抹除单元配置为基于第一程序化模式与第二程序化模式的其中之一来程序化。另一方面,存储器管理电路502则会将第二类超实体单元中的每一个可用实体抹除单元配置为仅能基于第一程序化模式来程序化。例如,在图8A的一范例实施例中,实体抹除单元PBA(0)、PBA(1)、PBA(2)、PBA(7)、PBA(4)、PBA(9)、PBA(8)及PBA(15)中的每一者可以被配置为基于第一程序化模式或第二程序化模式来程序化,而实体抹除单元PBA(10)与PBA(14)则会被配置为仅能操作于第一程序化模式。或者,在图9A的一范例实施例中,实体抹除单元PBA(0)~PBA(11)中的每一者可以被配置为基于第一程序化模式或第二程序化模式来程序化,而实体抹除单元PBA(12)~PBA(15)则会被配置为仅能操作于第一程序化模式。
在一范例实施例中,第一程序化模式是指单层存储单元(single layer memorycell,SLC)模式、下实体程序化(lower physical programming)模式、混合程序化(mixtureprogramming)模式及少层存储单元(less layer memory cell)模式的其中之一。在单层存储单元模式中,一个存储单元只存储一个二进制位的数据。在下实体程序化模式中,只有下实体程序化单元会被程序化,而此下实体程序化单元所对应之上实体程序化单元可不被程序化。在混合程序化模式中,有效数据(或,真实数据)会被程序化于下实体程序化单元中,而同时虚拟数据(dummy data)会被程序化至存储有效数据之下实体程序化单元所对应的上实体程序化单元中。在少层存储单元模式中,一个存储单元存储一第一数目的二进制位数据。例如,此第一数目可设为“1”。
在一范例实施例中,第二程序化模式是指多阶存储单元(MLC)程序化模式、复数阶(TLC)存储单元程序化模式或类似模式。在第二程序化模式中,一个存储单元存储有一第二数目的二进制位数据,其中此第二数目等于或大于“2”。例如,此第二数目可设为2或3。在另一范例实施例中,上述第一程序化模式中的第一数目与第二程序化模式中的第二数目皆可以是其他数目,只要满足第二数目大于第一数目即可。
在图8A至图8C的一范例实施例中,假设实体抹除单元PBA(0)~PBA(15)预设是基于第二程序化模式来程序化(即,实体抹除单元PBA(0)~PBA(15)中的每一个存储单元预设是用以存储2或3个二进制位)。在完成第一类超实体单元SPBA(0)~SPBA(3)的配置后,在图8B的操作中,实体抹除单元PBA(0)、PBA(1)、PBA(2)、PBA(7)、PBA(4)、PBA(9)、PBA(8)及PBA(15)会维持于基于第二程序化模式来程序化。然而,在完成第二类超实体单元SPBA(4)的配置后,在图8C的操作中,实体抹除单元PBA(10)与PBA(14)则会被限制为只能基于第一程序化模式来程序化。
须注意的是,在一范例实施例中,某一个实体抹除单元是否被限制为仅能操作于第一程序化模式是根据此实体抹除单元当前是属于第一类超实体单元或第二类超实体单元而定。例如,若某一个实体抹除单元从属于某一个第二类超实体单元切换为属于某一个第一类超实体单元,则此实体抹除单元将可从原先只能基于第一程序化模式来程序化切换为也可基于第二程序化模式来程序化。例如,在图8A的一范例实施例中,在经过一段时间的操作后,若实体抹除单元PBA(4)转变为坏实体抹除单元,则实体抹除单元PBA(10)可能会取代实体抹除单元PBA(4)而切换为配置于第一类超实体单元SPBA(2)中。此时,由于实体抹除单元PBA(10)当前是属于第一类超实体单元而非第二类超实体单元,故实体抹除单元PBA(10)仅能操作于第一程序化模式的限制会被解除。解除此限制后,实体抹除单元PBA(10)可恢复为操作于实体抹除单元PBA(10)预设的程序化模式(可为第一程序化模式或第二程序化模式)。反之,若某一个实体抹除单元从属于某一个第一类超实体单元切换为属于某一个第二类超实体单元,则此实体抹除单元将被限制为仅能基于第一程序化模式来程序化。
在一范例实施例中,通过将第二类超实体单元中的多个可用实体抹除单元配置为仅能基于第一程序化模式来程序化,即便存储器存储装置10的标准规范中包含了同一个平面中不能同时存在多个操作于第二程序化模式(例如,TLC程序化模式)的开启区块(openblock)的限制,则对于第二类超实体单元的配置也可以与存储器存储装置10相容。须注意的是,开启区块是指当前用来存储来自主机系统11的数据的实体抹除单元。例如,一个开启区块是从图6的闲置区604中提取的一或多个实体抹除单元。
图10是根据一范例实施例的存储器管理方法所示出的配置超实体单元与程序化模式的流程图。
请参照图10,在步骤S1001中,配置多个第一类超实体单元,其中每一个第一类超实体单元包括至少两个可用实体抹除单元,并且此至少两个可用实体抹除单元分别是属于不同平面。此外,可判断各平面中是否存在可被配置为第一类超实体单元的可用实体抹除单元。若在各平面中仍存在可被配置为第一类超实体单元的可用实体抹除单元时,可重复执行步骤S1001。在步骤S1002中,将第一类超实体单元中的每一个可用实体抹除单元配置为基于第一程序化模式与第二程序化模式的其中之一来程序化,视不同实体抹除单元预设的程序化模式而定。
在步骤S1003中,判断在同一平面中是否存在多个可用实体抹除单元,其中此些可用实体抹除单元未对应至已配置的任一个第一类超实体单元。在本范例实施例中,可在各平面中已无可用以配置第一类超实体单元的可用实体抹除单元时执行步骤S1003。若同一平面中存在未对应至已配置的任一个第一类超实体单元的多个可用实体抹除单元,在步骤S1004中,配置至少一个第二类超实体单元,其中此第二类超实体单元包括同一平面中的至少两个可用实体抹除单元,并且此至少两个可用实体抹除单元未对应至已配置的任一个第一类超实体单元。在本范例实施例中,此至少两个可用实体抹除单元是无法被配置为第一类超实体单元的可用实体抹除单元。
然后,在步骤S1005中,将第二类超实体单元中的每一个可用实体抹除单元配置为仅基于第一程序化模式来程序化。此外,倘若同一平面中不存在未对应至已配置的任一个第一类超实体单元的多个可用实体抹除单元(例如,同一平面中不存在未对应至已配置的任一个第一类超实体单元的至少两个可用实体抹除单元),则结束配置超实体单元的流程。
图11是根据一范例实施例的存储器管理方法所示出的写入数据至第二类超实体单元的流程图。
在步骤S1101中,接收到来自主机系统指示写入数据的写入指令。
在步骤S1103中,存储器管理电路502提取一个第二类超实体单元,以写入此数据。
在步骤S1105中,存储器管理电路502将此数据的第一部分写入至所提取的第二类超实体单元的一个可用实体抹除单元中。
在步骤S1107中,存储器管理电路502会判断所提取的第二类超实体单元的此可用实体抹除单元中是否存在未写入数据的至少一个实体程序化单元(即闲置的实体程序化单元)。
倘若所提取的第二类超实体单元的此可用实体抹除单元中存在未写入数据的至少一个实体程序化单元,在步骤S1109中,存储器管理电路502基于第一程序化模式将此数据的第二部分写入至所提取的第二类超实体单元的此可用实体抹除单元中。
倘若所提取的第二类超实体单元的此可用实体抹除单元中已无未写入数据的实体程序化单元,在步骤S1111中,存储器管理电路502基于第一程序化模式将此数据的第二部分写入至所提取的第二类超实体单元的另一个可用实体抹除单元中。
在另一范例实施例中,在步骤S1105之前,存储器管理电路502可将此数据暂存至缓冲存储器的缓冲区中。并且,上述步骤已详细说明如上,在此不再赘述。
综上所述,本发明除了可使用属于不同平面或晶粒的可用实体抹除单元来配置超实体单元,还可使用属于同一个平面或晶粒的可用实体抹除单元来配置超实体单元。换言之,同一平面或晶粒中无法被配置为第一类超实体单元的可用实体抹除单元可被用来配置第二类超实体单元。如此一来,不仅可增加所配置的超实体单元的数量,也可更有效地使用可复写式非易失性存储器模块中的可用实体抹除单元。此外,通过将第二类超实体单元中的实体抹除单元限制为仅能基于第一程序化模式来程序化,也可改善对于第二类超实体单元之配置可能与部分存储器存储装置不相容的问题。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视权利要求所界定者为准。
Claims (24)
1.一种存储器管理方法,用于存储器存储装置,其中所述存储器存储装置具有可复写式非易失性存储器模块,所述可复写式非易失性存储器模块具有多个可用实体抹除单元,所述存储器管理方法包括:
分配所述多个可用实体抹除单元之中的其中一部分以配置多个第一类超实体单元,其中所述多个第一类超实体单元中的每一个第一类超实体单元至少包括第一可用实体抹除单元及第二可用实体抹除单元,所述第一可用实体抹除单元及所述第二可用实体抹除单元会同时被程序化;
分配所述多个可用实体抹除单元之中的剩余部分以配置至少一第二类超实体单元,其中所述至少一第二类超实体单元中一个第二类超实体单元至少包括第三可用实体抹除单元及第四可用实体抹除单元,所述第三可用实体抹除单元先于所述第四可用实体抹除单元被程序化;
将所述多个第一类超实体单元中的每一个可用实体抹除单元配置为基于一第一程序化模式与第二程序化模式的其中之一来程序化;以及
将所述至少一第二类超实体单元中的每一个可用实体抹除单元配置为仅基于所述第一程序化模式来程序化,
其中基于所述第一程序化模式,一个可用实体抹除单元中的每一个存储单元用以存储第一数目的二进制位数据,而基于所述第二程序化模式,一个可用实体抹除单元中的每一个存储单元用以存储第二数目的二进制位数据,且所述第二数目大于所述第一数目。
2.根据权利要求1所述的存储器管理方法,还包括:
从主机系统接收指示写入第一数据的第一写入指令,其中所述第一数据包括第一部分及第二部分;
将所述第一数据的所述第一部分写入至所述第三可用实体抹除单元中;
在将所述第一数据的所述第一部分写入至所述第三可用实体抹除单元之后,倘若所述第三可用实体抹除单元存在未写入数据的至少一实体程序化单元,将所述第一数据的所述第二部分写入至所述第三可用实体抹除单元;以及
在将所述第一数据的所述第一部分写入至所述第三可用实体抹除单元之后,倘若所述第三可用实体抹除单元的所有实体程序化单元皆已写入数据,将所述第一数据的所述第二部分写入至所述第四可用实体抹除单元。
3.根据权利要求2所述的存储器管理方法,还包括:
配置多个逻辑地址,其中所述第一数据的所述第一部分属于所述多个逻辑地址中的至少一第一逻辑地址,所述第一数据的所述第二部分属于所述多个逻辑地址中的至少一第二逻辑地址,并且所述至少一第二逻辑地址是接续在所述至少一第一逻辑地址之后。
4.根据权利要求3所述的存储器管理方法,所述多个逻辑地址组成多个逻辑程序化单元,所述多个逻辑程序化单元组成多个逻辑抹除单元,并且所述至少一第二类超实体单元是映射至所述多个逻辑抹除单元的至少其中之一。
5.根据权利要求1所述的存储器管理方法,还包括:
从主机系统接收指示写入第一数据的第一写入指令,其中所述第一数据包括第一部分及第二部分;
将所述第一数据的所述第一部分写入至所述第三可用实体抹除单元中;以及
将所述第一数据的所述第二部分写入至所述第四可用实体抹除单元中。
6.根据权利要求1所述的存储器管理方法,还包括:
从主机系统接收指示写入第二数据的第二写入指令,其中所述第二数据包括第一部分及第二部分;
将所述第二数据的所述第一部分写入至所述多个第一类超实体单元的其中一者的所述第一可用实体抹除单元中;以及
将所述第二数据的所述第二部分写入至所述多个第一类超实体单元的其中一者的所述第二可用实体抹除单元中。
7.根据权利要求1所述的存储器管理方法,所述第一数目为1,且所述第二数目为3。
8.根据权利要求1所述的存储器管理方法,所述至少一第二类超实体单元中的所述第二类超实体单元还包括一第五可用实体抹除单元与第六可用实体抹除单元,
所述存储器管理方法还包括:
从主机系统接收指示写入第三数据的第三写入指令;
将所述第三数据写入至所述第五可用实体抹除单元、所述第六可用实体抹除单元及所述第三可用实体抹除单元;
从所述主机系统接收指示写入第四数据的第四写入指令;以及
在将所述第三数据写入至所述第五可用实体抹除单元、所述第六可用实体抹除单元及所述第三可用实体抹除单元之后,将所述第四数据写入至所述第五可用实体抹除单元、所述第六可用实体抹除单元及所述第四可用实体抹除单元。
9.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,所述可复写式非易失性存储器模块具有多个可用实体抹除单元,所述存储器控制电路单元包括:
主机接口,用以连接至主机系统;
存储器接口,用以连接至所述可复写式非易失性存储器模块;以及
存储器管理电路,连接至所述主机接口与所述存储器接口,
其中,所述存储器管理电路用以分配所述多个可用实体抹除单元之中的其中一部分以配置多个第一类超实体单元,其中所述多个第一类超实体单元中的每一个第一类超实体单元至少包括第一可用实体抹除单元及第二可用实体抹除单元,所述第一可用实体抹除单元及所述第二可用实体抹除单元会同时被程序化,
其中,所述存储器管理电路还用以分配所述多个可用实体抹除单元之中的剩余部分以配置至少一第二类超实体单元,其中所述至少一第二类超实体单元中的一个第二类超实体单元至少包括第三可用实体抹除单元及第四可用实体抹除单元,所述第三可用实体抹除单元先于所述第四可用实体抹除单元被程序化,
其中,所述存储器管理电路还用以将所述多个第一类超实体单元中的每一个可用实体抹除单元配置为基于第一程序化模式与第二程序化模式的其中之一来程序化,
其中,所述存储器管理电路还用以将所述至少一第二类超实体单元中的每一个可用实体抹除单元配置为仅基于所述第一程序化模式来程序化,
其中,基于所述第一程序化模式,一个可用实体抹除单元中的每一个存储单元用以存储第一数目的二进制位数据,而基于所述第二程序化模式,一个可用实体抹除单元中的每一个存储单元用以存储第二数目的二进制位数据,且所述第二数目大于所述第一数目。
10.根据权利要求9所述的存储器控制电路单元,
其中,所述存储器管理电路还用以从所述主机系统接收指示写入第一数据的第一写入指令,其中所述第一数据包括第一部分及第二部分,
其中,所述存储器管理电路还用以下达第一指令序列将所述第一数据的所述第一部分写入至所述第三可用实体抹除单元中,
其中,在将所述第一数据的所述第一部分写入至所述第三可用实体抹除单元之后,倘若所述第三可用实体抹除单元存在未写入数据的至少一实体程序化单元,所述存储器管理电路还用以下达第二指令序列将所述第一数据的所述第二部分写入至所述第三可用实体抹除单元,
其中,在将所述第一数据的所述第一部分写入至所述第三可用实体抹除单元之后,倘若所述第三可用实体抹除单元的所有实体程序化单元皆已写入数据,所述存储器管理电路还用以下达第三指令序列将所述第一数据的所述第二部分写入至所述第四可用实体抹除单元。
11.根据权利要求10所述的存储器控制电路单元,所述存储器管理电路还用以配置多个逻辑地址,其中所述第一数据的所述第一部分属于所述多个逻辑地址中的至少一第一逻辑地址,所述第一数据的所述第二部分属于所述多个逻辑地址中的至少一第二逻辑地址,并且所述至少一第二逻辑地址是接续在所述至少一第一逻辑地址之后。
12.根据权利要求11所述的存储器控制电路单元,所述多个逻辑地址组成多个逻辑程序化单元,所述多个逻辑程序化单元组成多个逻辑抹除单元,并且所述至少一第二类超实体单元是映射至所述多个逻辑抹除单元的至少其中之一。
13.根据权利要求9所述的存储器控制电路单元,所述存储器管理电路还用以从所述主机系统接收指示写入第一数据的第一写入指令,其中所述第一数据包括第一部分及第二部分,
其中所述存储器管理电路还用以下达第一指令序列将所述第一数据的所述第一部分写入至所述第三可用实体抹除单元中,
其中所述存储器管理电路还用以下达第二指令序列将所述第一数据的所述第二部分写入至所述第四可用实体抹除单元中。
14.根据权利要求9所述的存储器控制电路单元,所述存储器管理电路还用以从所述主机系统接收指示写入第二数据的第二写入指令,其中所述第二数据包括第一部分及第二部分,
其中,所述存储器管理电路还用以下达第一指令序列将所述第二数据的所述第一部分写入至所述多个第一类超实体单元的其中一者的所述第一可用实体抹除单元中,
其中,所述存储器管理电路还用以下达第二指令序列将所述第二数据的所述第二部分写入至所述多个第一类超实体单元的所述其中一者的所述第二可用实体抹除单元中。
15.根据权利要求9所述的存储器控制电路单元,所述第一数目为1,且所述第二数目为3。
16.根据权利要求9所述的存储器控制电路单元,所述至少一第二类超实体单元中的所述第二类超实体单元还包括第五可用实体抹除单元与一第六可用实体抹除单元,
其中,所述存储器管理电路还用以从所述主机系统接收指示写入第三数据的第三写入指令,
其中,所述存储器管理电路还用以下达第三指令序列以将所述第三数据写入至所述第五可用实体抹除单元、所述第六可用实体抹除单元及所述第三可用实体抹除单元,
其中,所述存储器管理电路还用以从所述主机系统接收指示写入第四数据的第四写入指令,
其中,所述存储器管理电路还用以下达第四指令序列以在将所述第三数据写入至所述第五可用实体抹除单元、所述第六可用实体抹除单元及所述第三可用实体抹除单元之后,将所述第四数据写入至所述第五可用实体抹除单元、所述第六可用实体抹除单元及所述第四可用实体抹除单元。
17.一种存储器存储装置,包括:
连接接口单元,用以连接至主机系统;
可复写式非易失性存储器模块,包括多个可用实体抹除单元;以及
存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中,所述存储器控制电路单元用以分配所述多个可用实体抹除单元之中的其中一部分以配置多个第一类超实体单元,其中所述多个第一类超实体单元中的每一个第一类超实体单元至少包括第一可用实体抹除单元及第二可用实体抹除单元,所述第一可用实体抹除单元及所述第二可用实体抹除单元会同时被程序化,
其中,所述存储器控制电路单元还用以分配所述多个可用实体抹除单元之中的剩余部分以配置至少一第二类超实体单元,其中所述至少一第二类超实体单元至少包括第三可用实体抹除单元及第四可用实体抹除单元,所述第三可用实体抹除单元先于所述第四可用实体抹除单元被程序化
其中,所述存储器控制电路单元还用以将所述多个第一类超实体单元中的每一个可用实体抹除单元配置为基于第一程序化模式与第二程序化模式的其中之一来程序化,
其中,所述存储器控制电路单元还用以将所述至少一第二类超实体单元中的每一个可用实体抹除单元配置为仅基于所述第一程序化模式来程序化,
其中基于所述第一程序化模式,一个可用实体抹除单元中的每一个存储单元用以存储第一数目的二进制位数据,而基于所述第二程序化模式,一个可用实体抹除单元中的每一个存储单元用以存储第二数目的二进制位数据,且所述第二数目大于所述第一数目。
18.根据权利要求17所述的存储器存储装置,所述存储器控制电路单元还用以从所述主机系统接收指示写入第一数据的第一写入指令,其中所述第一数据包括一第一部分及第二部分,
其中,所述存储器控制电路单元还用以下达第一指令序列将所述第一数据的所述第一部分写入至所述第三可用实体抹除单元中,
其中,在将所述第一数据的所述第一部分写入至所述第三可用实体抹除单元之后,倘若所述第三可用实体抹除单元存在未写入数据的至少一实体程序化单元,所述存储器控制电路单元还用以下达第二指令序列将所述第一数据的所述第二部分写入至所述第三可用实体抹除单元,
其中,在将所述第一数据的所述第一部分写入至所述第三可用实体抹除单元之后,倘若所述第三可用实体抹除单元的所有实体程序化单元皆已写入数据,所述存储器控制电路单元还用以下达第三指令序列将所述第一数据的所述第二部分写入至所述第四可用实体抹除单元。
19.根据权利要求18所述的存储器存储装置,所述存储器控制电路单元还用以配置多个逻辑地址,其中所述第一数据的所述第一部分属于所述多个逻辑地址中的至少一第一逻辑地址,所述第一数据的所述第二部分属于所述多个逻辑地址中的至少一第二逻辑地址,并且所述至少一第二逻辑地址是接续在所述至少一第一逻辑地址之后。
20.根据权利要求19所述的存储器存储装置,所述多个逻辑地址组成多个逻辑程序化单元,所述多个逻辑程序化单元组成多个逻辑抹除单元,并且所述至少一第二类超实体单元是映射至所述多个逻辑抹除单元的至少其中之一。
21.根据权利要求17所述的存储器存储装置,所述存储器控制电路单元还用以从所述主机系统接收指示写入第一数据的第一写入指令,其中所述第一数据包括第一部分及第二部分,
其中所述存储器控制电路单元还用以下达第一指令序列将所述第一数据的所述第一部分写入至所述第三可用实体抹除单元中,
其中所述存储器控制电路单元还用以下达第二指令序列将所述第一数据的所述第二部分写入至所述第四可用实体抹除单元中。
22.根据权利要求17所述的存储器存储装置,所述存储器控制电路单元还用以从所述主机系统接收指示写入第二数据的第二写入指令,其中所述第二数据包括第一部分及第二部分,
其中,所述存储器控制电路单元还用以下达第一指令序列将所述第二数据的所述第一部分写入至所述多个第一类超实体单元的其中一者的所述第一可用实体抹除单元中,
其中,所述存储器控制电路单元还用以下达第二指令序列将所述第二数据的所述第二部分写入至所述多个第一类超实体单元的所述其中一者的所述第二可用实体抹除单元中。
23.根据权利要求17所述的存储器存储装置,所述第一数目为1,且所述第二数目为3。
24.根据权利要求17所述的存储器存储装置,所述至少一第二类超实体单元中的所述第二类超实体单元还包括第五可用实体抹除单元与第六可用实体抹除单元,
其中,所述存储器控制电路单元还用以从所述主机系统接收指示写入第三数据的第三写入指令,
其中,所述存储器控制电路单元还用以下达第三指令序列以将所述第三数据写入至所述第五可用实体抹除单元、所述第六可用实体抹除单元及所述第三可用实体抹除单元,
其中,所述存储器控制电路单元还用以从所述主机系统接收指示写入第四数据的第四写入指令,
其中,所述存储器控制电路单元还用以下达第四指令序列以在将所述第三数据写入至所述第五可用实体抹除单元、所述第六可用实体抹除单元及所述第三可用实体抹除单元之后,将所述第四数据写入至所述第五可用实体抹除单元、所述第六可用实体抹除单元及所述第四可用实体抹除单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710384165.7A CN108958640B (zh) | 2017-05-26 | 2017-05-26 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710384165.7A CN108958640B (zh) | 2017-05-26 | 2017-05-26 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108958640A CN108958640A (zh) | 2018-12-07 |
CN108958640B true CN108958640B (zh) | 2021-07-27 |
Family
ID=64494198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710384165.7A Active CN108958640B (zh) | 2017-05-26 | 2017-05-26 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108958640B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978149A (zh) * | 2014-04-11 | 2015-10-14 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
CN105335096A (zh) * | 2014-08-12 | 2016-02-17 | 群联电子股份有限公司 | 数据管理方法、存储器控制电路单元以及存储器存储装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011107851A (ja) * | 2009-11-13 | 2011-06-02 | Toshiba Corp | メモリシステム |
CN104731710B (zh) * | 2013-12-18 | 2018-06-29 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器储存装置 |
CN104765568B (zh) * | 2014-01-08 | 2018-09-18 | 群联电子股份有限公司 | 数据存储方法、存储器控制电路单元与存储器存储装置 |
-
2017
- 2017-05-26 CN CN201710384165.7A patent/CN108958640B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978149A (zh) * | 2014-04-11 | 2015-10-14 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
CN105335096A (zh) * | 2014-08-12 | 2016-02-17 | 群联电子股份有限公司 | 数据管理方法、存储器控制电路单元以及存储器存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108958640A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844431B (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
CN109491588B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN106681932B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
US20150161042A1 (en) | Memory management method, memory controlling circuit unit, and memory storage device | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN106959818B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN107103930B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN110442299B (zh) | 数据写入方法、存储器控制电路单元以及存储器储存装置 | |
CN109032957B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN107132989B (zh) | 数据程序化方法、存储器控制电路单元及存储器存储装置 | |
US10067677B2 (en) | Memory management method for configuring super physical units of rewritable non-volatile memory modules, memory control circuit unit and memory storage device | |
TWI635495B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN106920572B (zh) | 存储器管理方法、存储器控制电路单元及存储器储存装置 | |
TWI760697B (zh) | 記憶體之資料整理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN112463018B (zh) | 指令传送方法、存储器控制电路单元及存储器存储装置 | |
CN108958640B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
TWI615713B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN109522236B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN109308930B (zh) | 数据写入方法、存储器控制电路单元及存储器存储装置 | |
CN114333930B (zh) | 多通道存储器存储装置、控制电路单元及其数据读取方法 | |
CN117632040B (zh) | 数据写入方法、存储器存储装置以及存储器控制电路单元 | |
CN112216329B (zh) | 数据抹除方法、存储器控制电路单元及存储器存储装置 | |
CN112099727B (zh) | 数据写入方法、存储器控制电路单元及存储器存储装置 | |
CN114527941B (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 |