CN113504880A - 存储器缓冲区管理方法、存储器控制电路单元与存储装置 - Google Patents
存储器缓冲区管理方法、存储器控制电路单元与存储装置 Download PDFInfo
- Publication number
- CN113504880A CN113504880A CN202110851250.6A CN202110851250A CN113504880A CN 113504880 A CN113504880 A CN 113504880A CN 202110851250 A CN202110851250 A CN 202110851250A CN 113504880 A CN113504880 A CN 113504880A
- Authority
- CN
- China
- Prior art keywords
- buffer
- memory
- mode
- storage device
- memory storage
- 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
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 308
- 238000007726 management method Methods 0.000 title claims abstract description 134
- 230000005055 memory storage Effects 0.000 claims abstract description 153
- 238000013507 mapping Methods 0.000 claims abstract description 75
- 230000004044 response Effects 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 19
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims 2
- 238000010168 coupling process Methods 0.000 claims 2
- 238000005859 coupling reaction Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 22
- 230000005540 biological transmission Effects 0.000 description 8
- 238000012937 correction Methods 0.000 description 7
- 230000003139 buffering effect Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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/0656—Data buffering 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]
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提出一种存储器缓冲区管理方法、存储器控制电路单元与存储器存储装置。此方法包括:接收来自主机系统的连续多个第一指令;计算多个第一指令中读取指令的指令比例;根据指令比例及比例阈值决定配置存储器存储装置于第一模式或第二模式;响应于配置存储器存储装置于第一模式,在缓冲存储器配置第一缓冲区暂存逻辑至实体地址映射表,其中第一缓冲区具有第一容量;响应于配置存储器存储装置于第二模式,在缓冲存储器配置第二缓冲区暂存逻辑至实体地址映射表,其中第二缓冲区具有第二容量,其中第二容量大于第一容量。
Description
技术领域
本发明涉及一种存储器管理技术,尤其涉及一种存储器缓冲区管理方法、存储器控制电路单元与存储器存储装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本计算机。固态硬盘就是一种以快闪存储器模块作为存储媒体的存储器存储装置。因此,近年快闪存储器产业成为电子产业中相当热门的一环。
一般来说,可复写式非易失性存储器模块通常包括多个实体抹除单元,并且每一个实体抹除单元会包括多个实体程序化单元。存储器存储装置中的存储器管理电路会配置逻辑地址以映射实体抹除单元,其中每一逻辑地址具有多个逻辑单元以映射对应的实体抹除单元的实体程序化单元。
为了识别每个逻辑地址的数据被存储在哪个实体抹除单元,存储器管理电路会记录逻辑地址与实体抹除单元之间的映射。具体来说,存储器管理电路会在可复写式非易失性存储器模块中存储多个逻辑至实体地址映射表来记录每一逻辑地址所映射的实体抹除单元。当欲存取数据时,存储器管理电路会载入对应的逻辑至实体地址映射表至缓冲存储器,并且依据逻辑至实体地址映射表来写入或读取数据。
需注意的是,缓冲存储器的空间有限。特别是,在存储器管理电路执行随机读取(random read)操作的情况下,通常会多次地载入不同的逻辑至实体地址映射表,此情形会占用缓冲存储器的空间。并且当存储器管理电路执行随机读取操作需载入的逻辑至实体地址映射表超过缓冲存储器配置给逻辑至实体地址映射表的空间时,将造成存储器存储装置的效能恶化。
发明内容
本发明提供一种存储器缓冲区管理方法、存储器控制电路单元与存储器存储装置,可有效地提高存储器存储装置的使用效率与效能。
本发明提出一种存储器缓冲区管理方法,用于存储器存储装置。所述存储器存储装置包括可复写式非易失性存储器模块及缓冲存储器。所述可复写式非易失性存储器模块存储多个逻辑至实体地址映射表。所述方法包括:接收来自主机系统的连续多个第一指令;计算所述多个第一指令中读取指令的指令比例;根据所述指令比例及比例阈值决定配置所述存储器存储装置于第一模式或第二模式;响应于配置所述存储器存储装置于所述第一模式,在所述缓冲存储器配置第一缓冲区暂存所述逻辑至实体地址映射表,其中所述第一缓冲区具有第一容量;响应于配置所述存储器存储装置于所述第二模式,在所述缓冲存储器配置第二缓冲区暂存所述逻辑至实体地址映射表,其中所述第二缓冲区具有第二容量,其中所述第二容量大于所述第一容量。
在本发明的一范例实施例中,上述第一缓冲区及所述第二缓冲区暂存的所述逻辑至实体地址映射表系从所述可复写式非易失性存储器模块载入。
在本发明的一范例实施例中,上述根据所述指令比例及所述比例阈值决定配置所述存储器存储装置于所述第一模式或所述第二模式的步骤包括:响应于所述指令比例小于所述比例阈值,配置所述存储器存储装置于所述第一模式;以及响应于所述指令比例不小于所述比例阈值,配置所述存储器存储装置于所述第二模式。
在本发明的一范例实施例中,响应于配置所述存储器存储装置于所述第二模式,所述方法还包括:在所述缓冲存储器配置第三缓冲区暂存关联于来自所述主机系统的写入指令的数据,其中所述第三缓冲区不同于所述第二缓冲区且所述第三缓冲区具有第三容量。
在本发明的一范例实施例中,上述根据所述指令比例及所述比例阈值决定配置所述存储器存储装置于所述第一模式或所述第二模式的步骤包括:判断所述第三缓冲区包括的缓存单元是否被写满;以及响应于所述第三缓冲区包括的所述缓存单元被写满,配置所述存储器存储装置于所述第一模式。
在本发明的一范例实施例中,上述关联于所述写入指令的数据包括所述写入指令及所述写入指令对应的写入数据。
在本发明的一范例实施例中,上述方法还包括:记录从所述存储器存储装置配置于所述第二模式切换至配置于所述第一模式的切换总次数以及切换时所述第三缓冲区包括的缓存单元被写满的次数;以及计算所述次数及所述总次数的比值以获取有效比例,并根据所述有效比例调整所述比例阈值。
在本发明的一范例实施例中,上述根据所述有效比例调整所述比例阈值的步骤包括:若所述有效比例小于前一次从所述存储器存储装置配置于所述第二模式切换至配置于所述第一模式计算出的先前有效比值,则增加所述比例阈值;以及若所述有效比例不小于所述先前有效比值,则减少所述比例阈值。
在本发明的一范例实施例中,上述方法还包括:响应于配置所述存储器存储装置于所述第一模式,在所述缓冲存储器配置第四缓冲区,其中所述第四缓冲区不同于所述第一缓冲区且所述第四缓冲区具有第四容量。其中所述第一容量及所述第四容量的总合等于所述第二容量及所述第三容量的总合。
本发明提出一种存储器控制电路单元,用于控制存储器存储装置。所述存储器存储装置包括可复写式非易失性存储器模块。所述可复写式非易失性存储器模块存储多个逻辑至实体地址映射表。所述存储器控制电路单元包括主机接口、存储器接口、缓冲存储器以及存储器管理电路。所述存储器接口用以耦接至所述可复写式非易失性存储器模块。所述缓冲存储器耦接至所述主机接口及所述存储器接口。所述存储器管理电路耦接至所述主机接口、所述存储器接口与所述缓冲存储器,其中所述存储器管理电路用以接收来自所述主机系统的连续多个第一指令。所述存储器管理电路更用以根据所述指令比例及比例阈值决定配置所述存储器存储装置于第一模式或第二模式。其中响应于配置所述存储器存储装置于所述第一模式,所述存储器管理电路更用以在所述缓冲存储器配置第一缓冲区暂存所述逻辑至实体地址映射表,其中所述第一缓冲区具有第一容量。并且,响应于配置所述存储器存储装置于所述第二模式,所述存储器管理电路更用以在所述缓冲存储器配置第二缓冲区暂存所述逻辑至实体地址映射表,其中所述第二缓冲区具有第二容量。其中所述第二容量大于所述第一容量。
在本发明的一范例实施例中,上述第一缓冲区及所述第二缓冲区暂存的所述逻辑至实体地址映射表系从所述可复写式非易失性存储器模块载入。
在本发明的一范例实施例中,上述根据所述指令比例及所述比例阈值决定配置所述存储器存储装置于所述第一模式或所述第二模式的操作包括:响应于所述指令比例小于所述比例阈值,配置所述存储器存储装置于所述第一模式;以及响应于所述指令比例不小于所述比例阈值,配置所述存储器存储装置于所述第二模式。
在本发明的一范例实施例中,响应于配置所述存储器存储装置于所述第二模式,所述存储器管理电路更用以在所述缓冲存储器配置第三缓冲区暂存关联于来自所述主机系统的写入指令的数据。其中所述第三缓冲区不同于所述第二缓冲区且所述第三缓冲区具有第三容量。
在本发明的一范例实施例中,上述根据所述指令比例及所述比例阈值决定配置所述存储器存储装置于所述第一模式或所述第二模式的操作包括:判断所述第三缓冲区包括的缓存单元是否被写满;以及响应于所述第三缓冲区包括的所述缓存单元被写满,配置所述存储器存储装置于所述第一模式。
在本发明的一范例实施例中,上述关联于所述写入指令的数据包括所述写入指令及所述写入指令对应的写入数据。
在本发明的一范例实施例中,上述存储器管理电路更用以记录从所述存储器存储装置配置于所述第二模式切换至配置于所述第一模式的切换总次数以及切换时所述第三缓冲区包括的缓存单元被写满的次数。并且,所述存储器管理电路更用以计算所述次数及所述总次数的比值以获取有效比例,并根据所述有效比例调整所述比例阈值。
在本发明的一范例实施例中,上述根据所述有效比例调整所述比例阈值的操作包括:若所述有效比例小于前一次从所述存储器存储装置配置于所述第二模式切换至配置于所述第一模式计算出的先前有效比值,则增加所述比例阈值;以及若所述有效比例不小于所述先前有效比值,则减少所述比例阈值。
在本发明的一范例实施例中,上述存储器管理电路更用以响应于配置所述存储器存储装置于所述第一模式,在所述缓冲存储器配置第四缓冲区,其中所述第四缓冲区不同于所述第一缓冲区且所述第四缓冲区具有第四容量。其中所述第一容量及所述第四容量的总合等于所述第二容量及所述第三容量的总合。
本发明提出一种存储器存储装置,包括连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。所述可复写式非易失性存储器模块存储多个逻辑至实体地址映射表。所述存储器控制电路单元耦接至所述连接接口单元与所述可复写式非易失性存储器模块,其中所述存储器控制电路单元包括缓冲存储器。所述存储器控制电路单元用以接收来自所述主机系统的连续多个第一指令。所述存储器控制电路单元更用以计算所述多个第一指令中读取指令的指令比例。所述存储器控制电路单元更用以根据所述指令比例及比例阈值决定配置所述存储器存储装置于第一模式或第二模式。其中响应于配置所述存储器存储装置于所述第一模式,所述存储器控制电路单元更用以在所述缓冲存储器配置第一缓冲区暂存所述逻辑至实体地址映射表,其中所述第一缓冲区具有第一容量。并且,响应于配置所述存储器存储装置于所述第二模式,所述存储器控制电路单元更用以在所述缓冲存储器配置第二缓冲区暂存所述逻辑至实体地址映射表,其中所述第二缓冲区具有第二容量。其中所述第二容量大于所述第一容量。
在本发明的一范例实施例中,上述第一缓冲区及所述第二缓冲区暂存的所述逻辑至实体地址映射表系从所述可复写式非易失性存储器模块载入。
在本发明的一范例实施例中,上述根据所述指令比例及所述比例阈值决定配置所述存储器存储装置于所述第一模式或所述第二模式的操作包括:响应于所述指令比例小于所述比例阈值,配置所述存储器存储装置于所述第一模式;以及响应于所述指令比例不小于所述比例阈值,配置所述存储器存储装置于所述第二模式。
在本发明的一范例实施例中,响应于配置所述存储器存储装置于所述第二模式,所述存储器控制电路单元更用以在所述缓冲存储器配置第三缓冲区暂存关联于来自所述主机系统的写入指令的数据。其中所述第三缓冲区不同于所述第二缓冲区且所述第三缓冲区具有第三容量。
在本发明的一范例实施例中,上述根据所述指令比例及所述比例阈值决定配置所述存储器存储装置于所述第一模式或所述第二模式的操作包括:判断所述第三缓冲区包括的缓存单元是否被写满;以及响应于所述第三缓冲区包括的所述缓存单元被写满,配置所述存储器存储装置于所述第一模式。
在本发明的一范例实施例中,上述关联于所述写入指令的数据包括所述写入指令及所述写入指令对应的写入数据。
在本发明的一范例实施例中,上述存储器控制电路单元更用以记录从所述存储器存储装置配置于所述第二模式切换至配置于所述第一模式的切换总次数以及切换时所述第三缓冲区包括的缓存单元被写满的次数。并且,所述存储器控制电路单元更用以计算所述次数及所述总次数的比值以获取有效比例,并根据所述有效比例调整所述比例阈值。
在本发明的一范例实施例中,上述根据所述有效比例调整所述比例阈值的操作包括:若所述有效比例小于前一次从所述存储器存储装置配置于所述第二模式切换至配置于所述第一模式计算出的先前有效比值,则增加所述比例阈值;以及若所述有效比例不小于所述先前有效比值,则减少所述比例阈值。
在本发明的一范例实施例中,上述存储器控制电路单元更用以响应于配置所述存储器存储装置于所述第一模式,在所述缓冲存储器配置第四缓冲区,其中所述第四缓冲区不同于所述第一缓冲区且所述第四缓冲区具有第四容量。其中所述第一容量及所述第四容量的总合等于所述第二容量及所述第三容量的总合。
基于上述,本发明提供的存储器缓冲区管理方法、存储器控制电路单元与存储器存储装置,能够根据主机系统执行的读取操作模式动态地配置缓冲存储器的缓冲区。例如,本发明的范例实施例可在多个指令中对应至随机读取操作模式的读取指令的比例超过阈值时,在缓冲存储器中执行加速模式来配置较多的存储空间来暂存逻辑至实体地址映射表。如此一来,本发明实施例可在适当的时机执行加速模式,藉以提升存储器存储装置进行数据读取时的速度与效能。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图;
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;
图6是根据本发明的一范例实施例所示出的缓冲存储器的示意图;
图7与图8是根据本发明的一范例实施例所示出的管理实体抹除单元的范例示意图;
图9A是根据本发明的一范例实施例所示出在第一模式中缓冲存储器的缓冲区的容量配置的示意图;
图9B是根据本发明的一范例实施例所示出在第一模式中缓冲存储器的缓冲区的容量配置的示意图;
图10A是根据本发明的另一范例实施例所示出在第一模式中缓冲存储器的缓冲区的容量配置的示意图;
图10B是根据本发明的另一范例实施例所示出在第一模式中缓冲存储器的缓冲区的容量配置的示意图;
图11是根据本发明的一范例实施例所示出的存储器缓冲区管理方法的流程图。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。
一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(亦称,控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图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包括嵌入式多媒体卡(embeddedMMC,eMMC)341和/或嵌入式多芯片封装存储装置(embedded Multi Chip Package,eMCP)342等各类型将存储器模块直接耦接于主机系统的基板上的嵌入式存储装置。
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是相容于串行高级附件(Serial AdvancedTechnology 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)标准、安全数字(SecureDigital,SD)接口标准、超高速一代(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 Multi ChipPackage,eMCP)接口标准、小型快闪(Compact Flash,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个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块406是耦接至存储器控制电路单元404,并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406具有实体抹除单元410(0)~410(N)。例如,实体抹除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有多个实体程序化单元,其中属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
更详细来说,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体存取地址用以存储使用者的数据,而冗余(redundancy)比特区用以存储系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个实体程序化单元的数据比特区中会包含8个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据比特区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块,并且实体程序化单元为实体页面(page)或实体扇区(sector),但本发明不以此为限。
图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并且用以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是相容于PATA标准、IEEE 1394标准、PCIExpress标准、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会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正程序。
在本范例实施例中,错误检查与校正电路508执行编码程序的基本单位是一个框架(frame)。一个框架包括多个数据比特。在本范例实施例中,一个框架包括256个比特。然而,在另一范例实施例中,一个框架也可以包括更多或更少的比特。
在本范例实施例中,错误检查与校正电路508可以针对存储于一个实体页面中的数据进行单框架(single-frame)编码,也可以针对存储于多个实体页面中的数据进行多框架(multi-frame)编码。单框架编码与多框架编码可以分别采用低密度奇偶检查校正码(low density parity code,LDPC)、BCH码、回旋码(convolutional code)或涡轮码(turbocode)等编码算法的至少其中之一。或者,在一范例实施例中,多框架编码还可以采用里德-所罗门码(Reed-solomon codes,RS codes)算法。此外,在另一范例实施例中,更多未列于上的编码算法也可以被采用,在此便不赘述。根据所采用的编码算法,错误检查与校正电路508可以编码欲保护的数据来产生相对应的错误更正码和/或错误检查码。在本范例实施例中,经由编码产生的错误更正码和/或错误检查码将统称为同位码(parity code)。在存储器管理电路502会将同位码写入至可复写式非易失性存储器模块406中之前,同位码会先暂存在缓冲存储器510的缓冲区中。
缓冲存储器510是耦接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路512是耦接至存储器管理电路502并且用以控制存储器存储装置10的电源。
图6是根据本发明的一范例实施例所示出的缓冲存储器的示意图。
请参照图6,缓冲存储器510具有缓存单元610(0)~610(D),每一个缓存单元的容量例如为4KB。具体而言,四个缓存单元的容量为对应可复写式非易失性存储器的一个实体程序化单元的容量。然而,必须了解的是,本范例实施例不限定配置在缓冲存储器510中的缓存单元的个数、缓存单元的容量以及主机系统11所传送的数据的大小。此外,主机系统11例如是以4KB为单位来传送或存取数据。或者,在另一范例实施例中,主机系统11每次所传送或存取的数据的容量亦可以大于或小于4KB。
图7与图8是根据本发明的一范例实施例所示出的管理实体抹除单元的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块406的实体抹除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的实体抹除单元进行操作。
请参照图7,存储器管理电路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。
请参照图8,存储器管理电路502会配置逻辑区块地址LBA(0)~LBA(H)以映射数据区602的实体抹除单元,其中每一逻辑区块地址具有多个逻辑地址(logical address,LA)以映射对应的实体抹除单元的实体程序化单元。并且,当主机系统11欲写入数据至逻辑地址或更新存储于逻辑地址中的数据时,存储器管理电路502会从闲置区604中提取一个实体抹除单元作为作动实体抹除单元来写入数据,以轮替数据区602的实体抹除单元。并且,当此作为作动实体抹除单元的实体抹除单元被写满时,存储器管理电路502会再从闲置区604中提取空的实体抹除单元作为作动实体抹除单元,以继续写入对应来自于主机系统11的写入指令的更新数据。此外,当闲置区604中可用的实体抹除单元的数目小于预设值时,存储器管理电路502会执行垃圾搜集(garbage collection)操作(亦称为,有效数据合并操作)来整理数据区602中的有效数据,以将数据区602中无存储有效数据的实体抹除单元重新关联至闲置区604。
值得一提的是,由于缓冲存储器510的容量有限无法存储记录所有逻辑地址的映射关系的映射表,因此,在本范例实施例中,存储器管理电路502可将逻辑区块地址LBA(0)~LBA(H)分组为多个逻辑区域LZ(0)~LZ(M),并且为每一逻辑区域配置一个逻辑至实体地址映射表。
一般而言,为了识别每个逻辑地址的数据被存储在哪个实体程序化单元,存储器管理电路502会记录逻辑地址与实体程序化单元之间的映射关系(亦称为逻辑至实体映射关系)。例如,在本范例实施例中,存储器管理电路502会在可复写式非易失性存储器模块406中存储逻辑至实体地址映射表来记录每一逻辑地址所映射的实体程序化单元。当主机系统11下达多个读取指令给存储器管理电路502,存储器管理电路502会将这些读取指令放入一个指令伫列(command queue)当中,并且存储器管理电路502会决定执行这些读取指令的执行顺序。存储器管理电路502会将逻辑地址对应的逻辑至实体地址映射表载入至缓冲存储器510的缓冲区中。若存储器管理电路502要执行一个读取指令,则存储器管理电路502会取得此读取指令所要读取的逻辑地址,并根据载入至缓冲存储器510的逻辑至实体地址映射表取得此逻辑地址所映射的一个实体抹除单元或实体程序化单元,以从此实体抹除单元或实体程序化单元中读取数据并传送给主机系统11。之后,存储器管理电路502可依据载入至缓冲存储器510的逻辑至实体地址映射表来写入或读取数据。
值得一提的是,若缓冲存储器510的存储空间不足,且读取指令对应的逻辑至实体地址映射表未被暂存在缓冲存储器510中(即,缓冲存储器510中所暂存的逻辑至实体地址映射表未记录欲更新的逻辑地址的映射时),存储器管理电路502会执行映射表交换操作(mapping table swapping operation)以将目前暂存在缓冲存储器510中逻辑至实体地址映射表回存至可复写式非易失性存储器模块406,并且将记录有欲读取的逻辑地址所映射的逻辑至实体地址映射表载入至缓冲存储器510中。
此外,当主机系统11下达多个写入指令给存储器管理电路502,存储器管理电路502会将这些写入指令及写入指令对应的数据暂存至缓冲存储器510的缓冲区中。若存储器管理电路502要执行一个写入指令,则存储器管理电路502可依据写入指令及载入至缓冲存储器510的逻辑至实体地址映射表来写入数据。
因此,请再参照图6。在本范例实施例中,缓冲存储器510可被配置为至少包括缓冲区612、缓冲区613与缓冲区614。缓冲区612配置为用以暂存来自主机系统11的指令、写入数据、同位码或其他数据,缓冲区613配置为用以暂存来自可复写式非易失性存储器模块406的读取数据,缓冲区614配置为用以暂存来自可复写式非易失性存储器模块406的逻辑至实体地址映射表。应注意的是,本发明并不欲加以限制配置给缓冲区612、缓冲区613以及缓冲区614的缓存单元的数量。在一范例实施例中,缓冲区612的容量大于缓冲区614,亦即,配置给缓冲区612的缓存单元的数量大于配置给缓冲区614的缓存单元的数量。此外,可以配置固定数量的缓存单元(例如,对应容量128k)给缓冲区613。
需注意的是,来自主机系统11的读取指令例如可包括连续读取操作模式或随机读取操作模式。连续读取操作模式代表主机系统11正在对可复写式非易失性存储器模块406连续下达多个读取指令以分别执行多个读取操作,其中此些读取操作所需使用的映射信息被连续地存储在同一个逻辑至实体地址映射表中。存储器管理电路502例如可以根据上述的多个读取操作所分别对应的逻辑地址,判断此些逻辑地址的映射信息被连续地存储在相同的逻辑至实体地址映射表中,进而判断可复写式非易失性存储器模块406目前的操作模式为连续读取操作模式。
随机读取操作模式代表主机系统11正在对可复写式非易失性存储器模块406连续下达多个读取指令以分别执行多个读取操作,其中对应每一个读取操作所需使用的映射信息被分散地存储在多个不同的逻辑至实体地址映射表中。存储器管理电路502例如可以根据上述的多个读取操作所分别对应的逻辑地址,判断此些逻辑地址的映射信息被分散地存储在多个不同的逻辑至实体地址映射表中,进而判断可复写式非易失性存储器模块406目前的操作模式为随机读取操作模式。
一般来说,缓冲区614的容量有限。因此,在主机系统11是执行随机读取操作的情况下,存储器管理电路502需要多次地将不同的逻辑至实体地址映射表载入缓冲存储器510的缓冲区614。换句话说,受限于载入缓冲存储器510中配置用来存储逻辑至实体地址映射表的缓冲区的容量,则存储器管理电路502必须在其完成将对应目前缓冲区614中映射信息的数据从可复写式非易失性存储器模块406中读取至缓冲区613,以及缓冲区613接收此些数据后,存储器管理电路502才能再载入其他部分的映射信息至缓冲区614中,并对可复写式非易失性存储器模块406下达指令伫列中的下一个随机读取指令。也就是说,当主机系统11执行随机读取操作时,受限于缓冲区的容量使得执行读取指令的效率低落,进而导致存储器存储装置10的整体效能降低。
有鉴于此,在本范例实施例中,存储器管理电路502可根据主机系统11执行的读取操作模式来动态地安排缓冲存储器510中缓冲区的配置。
在一范例实施例中,存储器管理电路502会接收来自主机系统11的连续多个指令(亦称为第一指令)。例如,此些指令可能会是写入指令、读取指令或其他指令。存储器管理电路502会计算这些第一指令中读取指令的指令比例,并根据计算出的指令比例及比例阈值决定配置存储器存储装置10于第一模式或第二模式。特别是,此比例阈值可经由一连串的事先测试与分析而决定,或者也可以动态地调整。在一范例实施例中,存储器管理电路502是计算这些第一指令中对应至随机读取操作模式的读取指令的指令比例,并根据计算出的指令比例及比例阈值决定配置存储器存储装置10于第一模式或第二模式。
举例来说,存储器管理电路502可在指令比例小于比例阈值时配置存储器存储装置10于第一模式,并在指令比例不小于比例阈值时配置存储器存储装置10于第二模式。此外,存储器管理电路502也可以在预设时间范围内,连续多个计算出的指令比例与比例阈值的差值小于一预设差值时即配置存储器存储装置10于第二模式,本发明不在此限制。
在本范例实施例中,若存储器存储装置10配置于第一模式,存储器管理电路502会在缓冲存储器510配置缓冲区(亦称为第一缓冲区)暂存逻辑至实体地址映射表。于此,第一缓冲区具有固定容量(亦称为第一容量)。另一方面,若存储器存储装置10配置于第二模式,存储器管理电路502会在缓冲存储器510配置缓冲区(亦称为第二缓冲区)暂存逻辑至实体地址映射表。于此,第二缓冲区具有固定容量(亦称为第二容量),并且此第二容量大于第一模式中第一缓冲区的第一容量。在本范例实施例中,逻辑至实体地址映射表系从可复写式非易失性存储器模块406载入。
特别是,所述第一模式可视为是一般模式,而所述第二模式可视为是因应主机系统11多次执行随机读取操作而执行的加速模式。换言之,在执行的加速模式时,存储器管理电路502会在缓冲存储器510中配置比一般模式多的存储空间来暂存从可复写式非易失性存储器模块406载入的逻辑至实体地址映射表。
如此一来,通过多个指令中对应至随机读取操作模式的读取指令的指令比例来决定是否执行/离开加速模式,存储器管理电路502可以有效率地切换配置模式,避免频繁地执行/离开加速模式造成的代价。此代价例如是为了增加存储空间来暂存从可复写式非易失性存储器模块406载入的数据而舍弃缓冲存储器510中暂存的数据造成的代价,或执行清仓(flush)操作而导致的写入放大(Write amplification)。
在一范例实施例中,若存储器存储装置10配置于第二模式,存储器管理电路502更可以在缓冲存储器510配置缓冲区(亦称为第三缓冲区)暂存关联于来自主机系统11的写入指令的数据。例如,关联于写入指令的数据包括写入指令及第二指令对应的写入数据,本发明不在此限制。于此,第三缓冲区不同于缓冲存储器510中配置的第二缓冲区,并且第三缓冲区具有固定容量(亦称为第三容量)。
此外,存储器管理电路502可以根据第三缓冲区包括的缓存单元是否被写满来决定是否从第二模式切换为第一模式。在本范例实施例中,当存储器管理电路502配置存储器存储装置10于第二模式时,存储器管理电路502会判断第三缓冲区包括的缓存单元是否被写满(即,配置给第三缓冲区的缓存单元的空间皆已写入数据)。并且,存储器管理电路502会在第三缓冲区包括的缓存单元被写满时,配置存储器存储装置10于第一模式。
换言之,存储器管理电路502在存储器存储装置10配置于第二模式时,可通过第三缓冲区承载多个对应至随机读取操作模式的读取指令之间的其他指令或数据。如此,存储器管理电路502可不需要频繁地在一般模式及加速模式之间切换,避免频繁地执行/离开加速模式造成的代价。
图9A是根据本发明的一范例实施例所示出在第一模式中缓冲存储器的缓冲区的容量配置的示意图。图9B是根据本发明的一范例实施例所示出在第一模式中缓冲存储器的缓冲区的容量配置的示意图。
请先参照图9A,在第一模式910中,存储器管理电路502配置缓冲存储器510包括缓冲区614(亦可称为第一缓冲区)及缓冲区612(亦可称为第四缓冲区),且缓冲区612的容量及缓冲区614的容量的总合为一预定值。本范例实施例假设缓冲区612及缓冲区614的总容量为1208KB,其中缓冲区614的容量为72KB,缓冲区612的容量为1136KB。在本范例实施例中,存储器管理电路502配置缓冲区614为用于暂存逻辑至实体地址映射表,并配置缓冲区612为用于暂存关联于写入指令的数据。
请参照图9B,在第二模式920中,存储器管理电路502配置缓冲区618(亦称为第二缓冲区)的容量为824KB,并配置缓冲区616(亦称为第三缓冲区)的容量为384KB。在本范例实施例中,存储器管理电路502配置缓冲区618为用于暂存逻辑至实体地址映射表,并配置缓冲区616为用于暂存关联于写入指令的数据。在本范例实施例中,缓冲区616的容量及缓冲区618的容量的总合与第一模式910的所述预定值相同,并且第二模式920中缓冲区618的容量大于第一模式910中缓冲区614的容量。亦即,执行第二模式920时,存储器管理电路502会在缓冲存储器510中配置比第一模式910多的存储空间来暂存从可复写式非易失性存储器模块406载入的逻辑至实体地址映射表。
图10A是根据本发明的另一范例实施例所示出在第一模式中缓冲存储器的缓冲区的容量配置的示意图。图10B是根据本发明的另一范例实施例所示出在第一模式中缓冲存储器的缓冲区的容量配置的示意图。
请先参照图10A,第一模式910中配置缓冲区612及缓冲区614的实施方式可参照图9A,于此不再赘述。在本范例实施例中,存储器管理电路502配置缓冲区612包括子缓冲区6121及子缓冲区6122。于此,存储器管理电路502配置子缓冲区6121为用于暂存写入指令及写入指令对应的写入数据,并配置子缓冲区6122为用于暂存根据写入数据产生的同位码、垃圾搜集操作使用的映射表或其他数据。本范例实施例假设子缓冲区6121的容量为384KB,子缓冲区6122的容量为752KB。
请参照图10B,第二模式920中配置缓冲区616及缓冲区618的实施方式可参照图9B,于此不再赘述。在本范例实施例中,存储器管理电路502会将第一模式910的子缓冲区6122中执行清仓操作以将暂存在子缓冲区6122中的暂存数据写入至可复写式非易失性存储器模块406,以将子缓冲区6122的容量释出给缓冲区618来存储逻辑至实体地址映射表。如此,请参照图10,缓冲区616中仅配置用于暂存写入指令及写入指令对应的写入数据的缓冲区6161。此外,当存储器管理电路502从配置存储器存储装置10于第二模式920切换至第一模式910时,存储器管理电路502可将执行清仓操作时写入至可复写式非易失性存储器模块406的暂存数据载入至子缓冲区6122中。
在一范例实施例中,存储器管理电路502可动态调整上述比例阈值。在动态调整比例阈值的操作中,存储器管理电路502会记录存储器存储装置10从配置于第二模式切换至配置于第一模式的切换总次数以及切换时第三缓冲区包括的缓存单元被写满的次数。接着,存储器管理电路502会计算被写满的次数及切换总次数的比值以获取有效比例,并根据有效比例调整比例阈值。
举例来说,若存储器管理电路502判断有效比例小于前一次从存储器存储装置10配置于第二模式切换至配置于第一模式计算出的先前有效比值,则增加比例阈值。另外,若存储器管理电路502判断有效比例不小于先前有效比值,则减少比例阈值。换言之,当有效比例越高,表示该次从第一模式切换至第二模式是有效的,因为第三缓冲区充分地承载了多个对应至随机读取操作模式的读取指令之间的其他指令或数据。因此,存储器管理电路502可在有效比例越高时减少比例阈值,增加进入第二模式的机率。
图11是根据本发明的一范例实施例所示出的存储器缓冲区管理方法的流程图。
请参照图11,在步骤S1102中,接收来自主机系统的连续多个第一指令。在步骤S1104中,计算多个第一指令中读取指令的指令比例。在步骤S1106中,根据指令比例及比例阈值决定配置存储器存储装置于第一模式或第二模式。
然而,图11中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图11中各步骤可以实作为多个代码或是电路,本发明不加以限制。此外,图11的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本发明提供的存储器缓冲区管理方法、存储器控制电路单元与存储器存储装置,能够根据主机系统执行的读取操作模式动态地配置缓冲存储器的缓冲区。例如,本发明的范例实施例可在多个指令中对应至随机读取操作模式的读取指令的比例超过阈值时,在缓冲存储器中执行加速模式来配置较多的存储空间来暂存逻辑至实体地址映射表。另一方面,本发明实施例可动态地调整用于判断是否进入加入模式的阈值。如此一来,本发明实施例可在适当的时机执行加速模式,藉以提升存储器存储装置进行数据读取时的速度与效能。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (27)
1.一种存储器缓冲区管理方法,用于存储器存储装置,其中所述存储器存储装置包括可复写式非易失性存储器模块及缓冲存储器,所述可复写式非易失性存储器模块存储多个逻辑至实体地址映射表,所述方法包括:
接收来自主机系统的连续多个第一指令;
计算所述多个第一指令中读取指令的指令比例;
根据所述指令比例及比例阈值决定配置所述存储器存储装置于第一模式或第二模式;
响应于配置所述存储器存储装置于所述第一模式,在所述缓冲存储器配置第一缓冲区暂存所述逻辑至实体地址映射表,其中所述第一缓冲区具有第一容量;
响应于配置所述存储器存储装置于所述第二模式,在所述缓冲存储器配置第二缓冲区暂存所述逻辑至实体地址映射表,其中所述第二缓冲区具有第二容量,
其中所述第二容量大于所述第一容量。
2.如权利要求1所述的存储器缓冲区管理方法,其中所述第一缓冲区及所述第二缓冲区暂存的所述逻辑至实体地址映射表系从所述可复写式非易失性存储器模块载入。
3.如权利要求1所述的存储器缓冲区管理方法,其中根据所述指令比例及所述比例阈值决定配置所述存储器存储装置于所述第一模式或所述第二模式的步骤包括:
响应于所述指令比例小于所述比例阈值,配置所述存储器存储装置于所述第一模式;以及
响应于所述指令比例不小于所述比例阈值,配置所述存储器存储装置于所述第二模式。
4.如权利要求1所述的存储器缓冲区管理方法,其中响应于配置所述存储器存储装置于所述第二模式,所述方法还包括:
在所述缓冲存储器配置第三缓冲区暂存关联于来自所述主机系统的写入指令的数据,其中所述第三缓冲区不同于所述第二缓冲区且所述第三缓冲区具有第三容量。
5.如权利要求4所述的存储器缓冲区管理方法,其中根据所述指令比例及所述比例阈值决定配置所述存储器存储装置于所述第一模式或所述第二模式的步骤包括:
判断所述第三缓冲区包括的缓存单元是否被写满;以及
响应于所述第三缓冲区包括的所述缓存单元被写满,配置所述存储器存储装置于所述第一模式。
6.如权利要求4所述的存储器缓冲区管理方法,其中关联于所述写入指令的数据包括所述写入指令及所述写入指令对应的写入数据。
7.如权利要求4所述的存储器缓冲区管理方法,其中所述方法还包括:
记录从所述存储器存储装置配置于所述第二模式切换至配置于所述第一模式的切换总次数以及切换时所述第三缓冲区包括的缓存单元被写满的次数;以及
计算所述次数及所述总次数的比值以获取有效比例,并根据所述有效比例调整所述比例阈值。
8.如权利要求7所述的存储器缓冲区管理方法,其中根据所述有效比例调整所述比例阈值的步骤包括:
若所述有效比例小于前一次从所述存储器存储装置配置于所述第二模式切换至配置于所述第一模式计算出的先前有效比值,则增加所述比例阈值;以及
若所述有效比例不小于所述先前有效比值,则减少所述比例阈值。
9.如权利要求4所述的存储器缓冲区管理方法,其中所述方法还包括:
响应于配置所述存储器存储装置于所述第一模式,在所述缓冲存储器配置第四缓冲区,其中所述第四缓冲区不同于所述第一缓冲区且所述第四缓冲区具有第四容量,
其中所述第一容量及所述第四容量的总合等于所述第二容量及所述第三容量的总合。
10.一种存储器控制电路单元,用于控制存储器存储装置,所述存储器存储装置包括可复写式非易失性存储器模块,所述可复写式非易失性存储器模块存储多个逻辑至实体地址映射表,其中所述存储器控制电路单元包括:
主机接口,用以耦接至主机系统;
存储器接口,用以耦接至所述可复写式非易失性存储器模块;
缓冲存储器,耦接至所述主机接口及所述存储器接口;以及
存储器管理电路,耦接至所述主机接口、所述存储器接口与所述缓冲存储器,其中所述存储器管理电路用以接收来自所述主机系统的连续多个第一指令,
所述存储器管理电路还用以计算所述多个第一指令中读取指令的指令比例,
所述存储器管理电路还用以根据所述指令比例及比例阈值决定配置所述存储器存储装置于第一模式或第二模式,
其中响应于配置所述存储器存储装置于所述第一模式,所述存储器管理电路还用以在所述缓冲存储器配置第一缓冲区暂存所述逻辑至实体地址映射表,其中所述第一缓冲区具有第一容量,并且
响应于配置所述存储器存储装置于所述第二模式,所述存储器管理电路还用以在所述缓冲存储器配置第二缓冲区暂存所述逻辑至实体地址映射表,其中所述第二缓冲区具有第二容量,
其中所述第二容量大于所述第一容量。
11.如权利要求10所述的存储器控制电路单元,其中所述第一缓冲区及所述第二缓冲区暂存的所述逻辑至实体地址映射表系从所述可复写式非易失性存储器模块载入。
12.如权利要求10所述的存储器控制电路单元,其中根据所述指令比例及所述比例阈值决定配置所述存储器存储装置于所述第一模式或所述第二模式的操作包括:
响应于所述指令比例小于所述比例阈值,配置所述存储器存储装置于所述第一模式;以及
响应于所述指令比例不小于所述比例阈值,配置所述存储器存储装置于所述第二模式。
13.如权利要求10所述的存储器控制电路单元,其中响应于配置所述存储器存储装置于所述第二模式,所述存储器管理电路还用以在所述缓冲存储器配置第三缓冲区暂存关联于来自所述主机系统的写入指令的数据,
其中所述第三缓冲区不同于所述第二缓冲区且所述第三缓冲区具有第三容量。
14.如权利要求13所述的存储器控制电路单元,其中根据所述指令比例及所述比例阈值决定配置所述存储器存储装置于所述第一模式或所述第二模式的操作包括:
判断所述第三缓冲区包括的缓存单元是否被写满;以及
响应于所述第三缓冲区包括的所述缓存单元被写满,配置所述存储器存储装置于所述第一模式。
15.如权利要求13所述的存储器控制电路单元,其中关联于所述写入指令的数据包括所述写入指令及所述写入指令对应的写入数据。
16.如权利要求13所述的存储器控制电路单元,其中所述存储器管理电路还用以记录从所述存储器存储装置配置于所述第二模式切换至配置于所述第一模式的切换总次数以及切换时所述第三缓冲区包括的缓存单元被写满的次数,并且
所述存储器管理电路还用以计算所述次数及所述总次数的比值以获取有效比例,并根据所述有效比例调整所述比例阈值。
17.如权利要求16所述的存储器控制电路单元,其中根据所述有效比例调整所述比例阈值的操作包括:
若所述有效比例小于前一次从所述存储器存储装置配置于所述第二模式切换至配置于所述第一模式计算出的先前有效比值,则增加所述比例阈值;以及
若所述有效比例不小于所述先前有效比值,则减少所述比例阈值。
18.如权利要求13所述的存储器控制电路单元,其中所述存储器管理电路还用以响应于配置所述存储器存储装置于所述第一模式,在所述缓冲存储器配置第四缓冲区,
其中所述第四缓冲区不同于所述第一缓冲区且所述第四缓冲区具有第四容量,
其中所述第一容量及所述第四容量的总合等于所述第二容量及所述第三容量的总合。
19.一种存储器存储装置,包括:
连接接口单元,用以耦接至主机系统;
可复写式非易失性存储器模块,存储多个逻辑至实体地址映射表;以及
存储器控制电路单元,耦接至所述连接接口单元与所述可复写式非易失性存储器模块,其中所述存储器控制电路单元包括缓冲存储器,
其中所述存储器控制电路单元用以接收来自所述主机系统的连续多个第一指令,
所述存储器控制电路单元还用以计算所述多个第一指令中读取指令的指令比例,
所述存储器控制电路单元还用以根据所述指令比例及比例阈值决定配置所述存储器存储装置于第一模式或第二模式,
其中响应于配置所述存储器存储装置于所述第一模式,所述存储器控制电路单元还用以在所述缓冲存储器配置第一缓冲区暂存所述逻辑至实体地址映射表,其中所述第一缓冲区具有第一容量,并且
响应于配置所述存储器存储装置于所述第二模式,所述存储器控制电路单元还用以在所述缓冲存储器配置第二缓冲区暂存所述逻辑至实体地址映射表,其中所述第二缓冲区具有第二容量,
其中所述第二容量大于所述第一容量。
20.如权利要求19所述的存储器存储装置,其中所述第一缓冲区及所述第二缓冲区暂存的所述逻辑至实体地址映射表系从所述可复写式非易失性存储器模块载入。
21.如权利要求19所述的存储器存储装置,其中根据所述指令比例及所述比例阈值决定配置所述存储器存储装置于所述第一模式或所述第二模式的操作包括:
响应于所述指令比例小于所述比例阈值,配置所述存储器存储装置于所述第一模式;以及
响应于所述指令比例不小于所述比例阈值,配置所述存储器存储装置于所述第二模式。
22.如权利要求19所述的存储器存储装置,其中响应于配置所述存储器存储装置于所述第二模式,所述存储器控制电路单元还用以在所述缓冲存储器配置第三缓冲区暂存关联于来自所述主机系统的写入指令的数据,
其中所述第三缓冲区不同于所述第二缓冲区且所述第三缓冲区具有第三容量。
23.如权利要求22所述的存储器存储装置,其中根据所述指令比例及所述比例阈值决定配置所述存储器存储装置于所述第一模式或所述第二模式的操作包括:
判断所述第三缓冲区包括的缓存单元是否被写满;以及
响应于所述第三缓冲区包括的所述缓存单元被写满,配置所述存储器存储装置于所述第一模式。
24.如权利要求22所述的存储器存储装置,其中关联于所述写入指令的数据包括所述写入指令及所述写入指令对应的写入数据。
25.如权利要求22所述的存储器存储装置,其中所述存储器控制电路单元还用以记录从所述存储器存储装置配置于所述第二模式切换至配置于所述第一模式的切换总次数以及切换时所述第三缓冲区包括的缓存单元被写满的次数,并且
所述存储器控制电路单元还用以计算所述次数及所述总次数的比值以获取有效比例,并根据所述有效比例调整所述比例阈值。
26.如权利要求25所述的存储器存储装置,其中根据所述有效比例调整所述比例阈值的操作包括:
若所述有效比例小于前一次从所述存储器存储装置配置于所述第二模式切换至配置于所述第一模式计算出的先前有效比值,则增加所述比例阈值;以及
若所述有效比例不小于所述先前有效比值,则减少所述比例阈值。
27.如权利要求22所述的存储器存储装置,其中所述存储器控制电路单元还用以响应于配置所述存储器存储装置于所述第一模式,在所述缓冲存储器配置第四缓冲区,
其中所述第四缓冲区不同于所述第一缓冲区且所述第四缓冲区具有第四容量,
其中所述第一容量及所述第四容量的总合等于所述第二容量及所述第三容量的总合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110851250.6A CN113504880B (zh) | 2021-07-27 | 2021-07-27 | 存储器缓冲区管理方法、存储器控制电路单元与存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110851250.6A CN113504880B (zh) | 2021-07-27 | 2021-07-27 | 存储器缓冲区管理方法、存储器控制电路单元与存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113504880A true CN113504880A (zh) | 2021-10-15 |
CN113504880B CN113504880B (zh) | 2024-02-23 |
Family
ID=78014190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110851250.6A Active CN113504880B (zh) | 2021-07-27 | 2021-07-27 | 存储器缓冲区管理方法、存储器控制电路单元与存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113504880B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115373594A (zh) * | 2022-07-12 | 2022-11-22 | 浙江大学 | 一种双向动态切换的存储系统及动态切换管理方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577344A (zh) * | 2012-07-20 | 2014-02-12 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
US20140281125A1 (en) * | 2012-06-26 | 2014-09-18 | Red Bend Ltd. | Systems and methods for in-place reorganization of device storage |
CN106557432A (zh) * | 2015-09-29 | 2017-04-05 | 群联电子股份有限公司 | 缓冲存储器管理方法、存储器控制电路单元及存储装置 |
CN106681654A (zh) * | 2016-09-29 | 2017-05-17 | 合肥兆芯电子有限公司 | 映射表载入方法与存储器存储装置 |
CN106681932A (zh) * | 2016-11-14 | 2017-05-17 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
CN106775436A (zh) * | 2015-11-24 | 2017-05-31 | 群联电子股份有限公司 | 数据存取方法、存储器控制电路单元与存储器 |
US20170351452A1 (en) * | 2016-06-01 | 2017-12-07 | Intel Corporation | Dynamic host memory buffer allocation |
CN107844431A (zh) * | 2017-11-03 | 2018-03-27 | 合肥兆芯电子有限公司 | 映射表更新方法、存储器控制电路单元与存储器存储装置 |
US20200310677A1 (en) * | 2019-03-27 | 2020-10-01 | SK Hynix Inc. | Apparatus and method for controlling write operation of memory system |
CN112486417A (zh) * | 2020-12-03 | 2021-03-12 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
-
2021
- 2021-07-27 CN CN202110851250.6A patent/CN113504880B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140281125A1 (en) * | 2012-06-26 | 2014-09-18 | Red Bend Ltd. | Systems and methods for in-place reorganization of device storage |
CN103577344A (zh) * | 2012-07-20 | 2014-02-12 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
CN106557432A (zh) * | 2015-09-29 | 2017-04-05 | 群联电子股份有限公司 | 缓冲存储器管理方法、存储器控制电路单元及存储装置 |
CN106775436A (zh) * | 2015-11-24 | 2017-05-31 | 群联电子股份有限公司 | 数据存取方法、存储器控制电路单元与存储器 |
US20170351452A1 (en) * | 2016-06-01 | 2017-12-07 | Intel Corporation | Dynamic host memory buffer allocation |
CN106681654A (zh) * | 2016-09-29 | 2017-05-17 | 合肥兆芯电子有限公司 | 映射表载入方法与存储器存储装置 |
CN106681932A (zh) * | 2016-11-14 | 2017-05-17 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
CN107844431A (zh) * | 2017-11-03 | 2018-03-27 | 合肥兆芯电子有限公司 | 映射表更新方法、存储器控制电路单元与存储器存储装置 |
US20190138445A1 (en) * | 2017-11-03 | 2019-05-09 | Hefei Core Storage Electronic Limited | Mapping table updating method, memory control circuit unit and memory storage device |
US20200310677A1 (en) * | 2019-03-27 | 2020-10-01 | SK Hynix Inc. | Apparatus and method for controlling write operation of memory system |
CN112486417A (zh) * | 2020-12-03 | 2021-03-12 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115373594A (zh) * | 2022-07-12 | 2022-11-22 | 浙江大学 | 一种双向动态切换的存储系统及动态切换管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113504880B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10713178B2 (en) | Mapping table updating method, memory controlling circuit unit and memory storage device | |
CN109491588B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN107346211B (zh) | 映射表加载方法、存储器控制电路单元与存储器储存装置 | |
TWI766764B (zh) | 記憶體緩衝區管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN106959818B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN113885692A (zh) | 存储器效能优化方法、存储器控制电路单元以及存储装置 | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN107103930B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN113504880B (zh) | 存储器缓冲区管理方法、存储器控制电路单元与存储装置 | |
CN110442299B (zh) | 数据写入方法、存储器控制电路单元以及存储器储存装置 | |
CN109032957B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
US11609822B2 (en) | Data storing method, memory control circuit unit and memory storage device | |
CN112486417B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN111583976B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
CN113138720A (zh) | 数据存储方法、存储器控制电路单元以及存储器存储装置 | |
CN111610937A (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
CN107102814B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN117632039B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN117632038B (zh) | 损耗平衡方法、存储器存储装置及存储器控制电路单元 | |
CN112445416B (zh) | 冷区域判断方法、存储器控制电路单元与存储器存储装置 | |
US10884660B2 (en) | Memory management method, memory storage device and memory control circuit unit | |
CN113220213B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
CN112015327B (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
CN110389708B (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 |