CN110308876A - 存储器管理方法、存储器存储装置及存储器控制电路单元 - Google Patents
存储器管理方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN110308876A CN110308876A CN201910585014.7A CN201910585014A CN110308876A CN 110308876 A CN110308876 A CN 110308876A CN 201910585014 A CN201910585014 A CN 201910585014A CN 110308876 A CN110308876 A CN 110308876A
- Authority
- CN
- China
- Prior art keywords
- target data
- critical message
- data
- performance information
- write
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 129
- 230000005055 memory storage Effects 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 claims abstract description 12
- 230000015654 memory Effects 0.000 claims description 175
- 239000007787 solid Substances 0.000 claims description 46
- 230000003321 amplification Effects 0.000 claims description 2
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 2
- 241000208340 Araliaceae Species 0.000 claims 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 1
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 1
- 235000008434 ginseng Nutrition 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 9
- 230000005611 electricity Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 229910052799 carbon Inorganic materials 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/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
-
- 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]
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/061—Improving I/O performance
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
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-volatilememory module)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
在存储器管理技术中,许多操作都会根据所存储的数据的特性和/或类型来执行。例如,在数据整并程序(或称为垃圾收集程序)中,有效数据可被划分为冷数据与热数据。属于冷数据的有效数据可优先被收集并集中存储,从而提高数据整并程序的效能。或者,不同特性和/或类型的数据也可使用不同的数据管理机制或数据保护机制来进行管理,以提高对于存储器存储装置的数据维护能力。因此,如何对特定数据进行分类有效影响存储器存储装置的系统效能。
发明内容
本发明提供一种存储器管理方法、存储器存储装置及存储器控制电路单元,可提高对于数据的分类效率。
本发明的范例实施例提供一种存储器管理方法,其用于可复写式非易失性存储器模块,且所述存储器管理方法包括:从主机系统接收第一写入指令;根据所述第一写入指令指示所述可复写式非易失性存储器模块执行第一写入操作;获得对应于所述第一写入操作的第一效能信息;以及根据所述第一效能信息更新临界信息,其中所述临界信息用以决定目标数据的类型。
在本发明的一范例实施例中,根据所述第一效能信息更新所述临界信息的步骤包括:从所述主机系统接收第二写入指令;根据所述第二写入指令指示所述可复写式非易失性存储器模块执行第二写入操作;获得对应于所述第二写入操作的第二效能信息;以及根据所述第一效能信息与所述第二效能信息更新所述临界信息。
在本发明的一范例实施例中,根据所述第一效能信息更新所述临界信息的步骤包括:获得所述第一效能信息与第二效能信息之间的差值;以及根据所述差值更新所述临界信息。
在本发明的一范例实施例中,根据所述差值更新所述临界信息的步骤包括:若所述差值符合预设条件,提高所述临界信息的数值;以及若所述差值不符合所述预设条件,降低所述临界信息的所述数值。
在本发明的一范例实施例中,所述的存储器管理方法还包括:根据所述临界信息决定所述目标数据为第一类数据或第二类数据,其中所述第一类数据的数据更新频率不同于所述第二类数据的数据更新频率。
在本发明的一范例实施例中,根据所述临界信息决定所述目标数据为所述第一类数据或所述第二类数据的步骤包括:将所述目标数据的数据量与所述临界信息进行比较;若所述目标数据的所述数据量小于所述临界信息,判定所述目标数据为所述第一类数据;以及若所述目标数据的所述数据量不小于所述临界信息,判定所述目标数据为所述第二类数据。
在本发明的一范例实施例中,根据所述临界信息决定所述目标数据为所述第一类数据或所述第二类数据的步骤包括:将所述目标数据的逻辑范围与所述临界信息进行比较;若所述目标数据的所述逻辑范围小于所述临界信息,判定所述目标数据为所述第一类数据;以及若所述目标数据的所述逻辑范围不小于所述临界信息,判定所述目标数据为所述第二类数据。
在本发明的一范例实施例中,所述可复写式非易失性存储器模块包括多个实体单元,所述多个实体单元包括第一实体单元与第二实体单元,且所述存储器管理方法还包括:若所述目标数据为第一类数据,发送第一写入指令序列以指示将所述目标数据写入至所述第一实体单元;以及若所述目标数据为第二类数据,发送第二写入指令序列以指示将所述目标数据写入至所述第二实体单元,其中所述第一实体单元不同于所述第二实体单元。
本发明的范例实施例另提供一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。所述连接接口单元用以连接至主机系统。所述存储器控制电路单元连接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元用以从所述主机系统接收第一写入指令。所述存储器控制电路单元还用以根据所述第一写入指令指示所述可复写式非易失性存储器模块执行第一写入操作。所述存储器控制电路单元还用以获得对应于所述第一写入操作的第一效能信息。所述存储器控制电路单元还用以根据所述第一效能信息更新临界信息,其中所述临界信息用以决定目标数据的类型。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述第一效能信息更新所述临界信息的操作包括:从所述主机系统接收第二写入指令;根据所述第二写入指令指示所述可复写式非易失性存储器模块执行第二写入操作;获得对应于所述第二写入操作的第二效能信息;以及根据所述第一效能信息与所述第二效能信息更新所述临界信息。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述第一效能信息更新所述临界信息的操作包括:获得所述第一效能信息与第二效能信息之间的差值;以及根据所述差值更新所述临界信息。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述差值更新所述临界信息的操作包括:若所述差值符合预设条件,提高所述临界信息的数值;以及若所述差值不符合所述预设条件,降低所述临界信息的所述数值。
在本发明的一范例实施例中,所述存储器控制电路单元还用以根据所述临界信息决定所述目标数据为第一类数据或第二类数据,其中所述第一类数据的数据更新频率不同于所述第二类数据的数据更新频率。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述临界信息决定所述目标数据为所述第一类数据或所述第二类数据的操作包括:将所述目标数据的数据量与所述临界信息进行比较;若所述目标数据的所述数据量小于所述临界信息,判定所述目标数据为所述第一类数据;以及若所述目标数据的所述数据量不小于所述临界信息,判定所述目标数据为所述第二类数据。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述临界信息决定所述目标数据为所述第一类数据或所述第二类数据的操作包括:将所述目标数据的逻辑范围与所述临界信息进行比较;若所述目标数据的所述逻辑范围小于所述临界信息,判定所述目标数据为所述第一类数据;以及若所述目标数据的所述逻辑范围不小于所述临界信息,判定所述目标数据为所述第二类数据。
在本发明的一范例实施例中,所述可复写式非易失性存储器模块包括多个实体单元,所述多个实体单元包括第一实体单元与第二实体单元。若所述目标数据为第一类数据,所述存储器控制电路单元还用以发送第一写入指令序列以指示将所述目标数据写入至所述第一实体单元。若所述目标数据为第二类数据,所述存储器控制电路单元还用以发送第二写入指令序列以指示将所述目标数据写入至所述第二实体单元,其中所述第一实体单元不同于所述第二实体单元。
本发明的范例实施例另提供一种存储器控制电路单元,其用于控制可复写式非易失性存储器模块,且所述存储器控制电路单元包括主机接口、存储器接口及存储器管理电路。所述主机接口用以连接至主机系统。所述存储器接口用以连接至所述可复写式非易失性存储器模块。所述存储器管理电路连接至所述主机接口与所述存储器接口。所述存储器管理电路用以从所述主机系统接收第一写入指令。所述存储器管理电路还用以根据所述第一写入指令指示所述可复写式非易失性存储器模块执行第一写入操作。所述存储器管理电路还用以获得对应于所述第一写入操作的第一效能信息。所述存储器管理电路还用以根据所述第一效能信息更新临界信息,其中所述临界信息用以决定目标数据的类型。
在本发明的一范例实施例中,所述存储器管理电路根据所述第一效能信息更新所述临界信息的操作包括:从所述主机系统接收第二写入指令;根据所述第二写入指令指示所述可复写式非易失性存储器模块执行第二写入操作;获得对应于所述第二写入操作的第二效能信息;以及根据所述第一效能信息与所述第二效能信息更新所述临界信息。
在本发明的一范例实施例中,所述存储器管理电路根据所述第一效能信息更新所述临界信息的操作包括:获得所述第一效能信息与第二效能信息之间的差值;以及根据所述差值更新所述临界信息。
在本发明的一范例实施例中,所述存储器管理电路根据所述差值更新所述临界信息的操作包括:若所述差值符合预设条件,提高所述临界信息的数值;以及若所述差值不符合所述预设条件,降低所述临界信息的所述数值。
在本发明的一范例实施例中,所述第一效能信息包括写入放大参数,且所述写入放大参数反映所述第一写入操作引起的写入放大比例。
在本发明的一范例实施例中,所述存储器管理电路还用以根据所述临界信息决定所述目标数据为第一类数据或第二类数据,其中所述第一类数据的数据更新频率不同于所述第二类数据的数据更新频率。
在本发明的一范例实施例中,所述存储器管理电路根据所述临界信息决定所述目标数据为所述第一类数据或所述第二类数据的操作包括:将所述目标数据的数据量与所述临界信息进行比较;若所述目标数据的所述数据量小于所述临界信息,判定所述目标数据为所述第一类数据;以及若所述目标数据的所述数据量不小于所述临界信息,判定所述目标数据为所述第二类数据。
在本发明的一范例实施例中,所述存储器管理电路根据所述临界信息决定所述目标数据为所述第一类数据或所述第二类数据的操作包括:将所述目标数据的逻辑范围与所述临界信息进行比较;若所述目标数据的所述逻辑范围小于所述临界信息,判定所述目标数据为所述第一类数据;以及若所述目标数据的所述逻辑范围不小于所述临界信息,判定所述目标数据为所述第二类数据。
在本发明的一范例实施例中,所述可复写式非易失性存储器模块包括多个实体单元,所述多个实体单元包括第一实体单元与第二实体单元。若所述目标数据为第一类数据,所述存储器管理电路还用以发送第一写入指令序列以指示将所述目标数据写入至所述第一实体单元。若所述目标数据为第二类数据,所述存储器管理电路还用以发送第二写入指令序列以指示将所述目标数据写入至所述第二实体单元,其中所述第一实体单元不同于所述第二实体单元。
基于上述,在接收到来自主机系统的第一写入指令后,可复写式非易失性存储器模块可根据此第一写入指令执行第一写入操作且对应于第一写入操作的第一效能信息可被获得。接着,根据第一效能信息,临界信息可被更新并用以决定目标数据的类型。藉此,可有效提高对于存储器存储装置中的数据分类效率。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图;
图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图;
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图7是根据本发明的一范例实施例所示出的数据存储操作的示意图;
图8是根据本发明的一范例实施例所示出的比较目标数据的数据量与临界信息的示意图;
图9是根据本发明的一范例实施例所示出的在不同时间点获得效能信息的示意图;
图10是根据本发明的一范例实施例所示出的用于更新临界信息的虚拟码(pseudocode)的示意图;
图11是根据本发明的一范例实施例所示出的存储器管理方法的流程图;
图12是根据本发明的一范例实施例所示出的存储器管理方法的流程图;
图13是根据本发明的一范例实施例所示出的存储器管理方法的流程图。
附图标记说明
10、30:存储器存储装置
11、31:主机系统
110:系统总线
111:处理器
112:随机存取存储器
113:只读存储器
114:数据传输接口
12:输入/输出(I/O)装置
20:主机板
201:U盘
202:存储卡
203:固态硬盘
204:无线存储器存储装置
205:全球定位系统模块
206:网络接口卡
207:无线传输装置
208:键盘
209:屏幕
210:喇叭
32:SD卡
33:CF卡
34:嵌入式存储装置
341:嵌入式多媒体卡
342:嵌入式多芯片封装存储装置
402:连接接口单元
404:存储器控制电路单元
406:可复写式非易失性存储器模块
502:存储器管理电路
504:主机接口
506:存储器接口
508:错误检查与校正电路
510:缓冲存储器
512:电源管理电路
601:存储区
602:替换区
610(0)~610(B)、710、720:实体单元
612(0)~612(C):逻辑单元
701、801、802:数据
THR:临界信息
WAF(0)~WAF(n+1):效能信息
F(0)~F(n):差值
T(0)~T(n+1):时间点
1001:虚拟码
S1101:步骤(从主机系统接收第一写入指令)
S1102:步骤(根据第一写入指令指示可复写式非易失性存储器模块执行第一写入操作)
S1103:步骤(获得对应于第一写入操作的第一效能信息)
S1104:步骤(根据第一效能信息更新临界信息,其中所述临界信息用以决定目标数据的类型)
S1201:步骤(从主机系统接收第一写入指令)
S1202:步骤(根据第一写入指令指示可复写式非易失性存储器模块执行第一写入操作)
S1203:步骤(获得对应于第一写入操作的第一效能信息)
S1204:步骤(从主机系统接收第二写入指令)
S1205:步骤(根据第二写入指令指示可复写式非易失性存储器模块执行第二写入操作)
S1206:步骤(获得对应于第二写入操作的第二效能信息)
S1207:步骤(根据第一效能信息与第二效能信息更新临界信息)
S1301:步骤(获得目标数据)
S1302:步骤(将目标数据的数据量与临界信息进行比较)
S1303:步骤(判断目标数据的数据量是否小于临界信息)
S1304:步骤(判定目标数据为第一类数据)
S1305:步骤(将目标数据存储至第一实体单元)
S1306:步骤(判定目标数据为第二类数据)
S1307:步骤(将目标数据存储至第二实体单元)
具体实施方式
一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与控制器(亦称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆连接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10连接。例如,主机系统11可经由数据传输接口114将数据存储至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12连接。例如,主机系统11可经由系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以经由有线或无线方式连接至存储器存储装置10。存储器存储装置10可例如是U盘201、存储卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通讯(Near FieldCommunication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110连接至全球定位系统(Global Positioning System,GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的安全数字(SecureDigital,SD)卡32、小型快闪(Compact Flash,CF)卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded Multi MediaCard,eMMC)341和/或嵌入式多芯片封装(embedded Multi Chip Package,eMCP)存储装置342等各类型将存储器模块直接连接于主机系统的基板上的嵌入式存储装置。
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
连接接口单元402用以将存储器存储装置10连接至主机系统11。存储器存储装置10可通过连接接口单元402与主机系统11通讯。在本范例实施例中,连接接口单元402是相容于串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402亦可以是符合并行高级技术附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、SD接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(MemoryStick,MS)接口标准、MCP接口标准、MMC接口标准、eMMC接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、eMCP接口标准、CF接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元404的芯片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块406是连接至存储器控制电路单元404并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比特的快闪存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特的快闪存储器模块)、三阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特的快闪存储器模块)、四阶存储单元(Quad Level Cell,QLC)NAND型快闪存储器模块(即,一个存储单元中可存储4个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块406中的每一个存储单元是以电压(以下亦称为临界电压)的改变来存储一或多个比特。具体来说,每一个存储单元的控制栅极(controlgate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,进而改变存储单元的临界电压。此改变存储单元的临界电压的操作亦称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着临界电压的改变,可复写式非易失性存储器模块406中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个存储单元是属于哪一个存储状态,藉此取得此存储单元所存储的一或多个比特。
在本范例实施例中,可复写式非易失性存储器模块406的存储单元可构成多个实体程序化单元,并且此些实体程序化单元可构成多个实体抹除单元。具体来说,同一条字线上的存储单元可组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一条字线上的实体程序化单元可至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效比特(Least Significant Bit,LSB)是属于下实体程序化单元,并且一存储单元的最高有效比特(Most Significant Bit,MSB)是属于上实体程序化单元。一般来说,在MLCNAND型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。
在本范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元可为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元可包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体扇,用以存储使用者数据,而冗余比特区用以存储系统数据(例如,错误更正码等管理数据)。在本范例实施例中,数据比特区包含32个实体扇,且一个实体扇的大小为512字节(byte,B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目的一并被抹除的存储单元。例如,实体抹除单元为实体区块(block)。
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504及存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一范例实施例中,存储器管理电路502的控制指令亦可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在另一范例实施例中,存储器管理电路502的控制指令亦可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是连接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或存储单元群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路502还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。
主机接口504是连接至存储器管理电路502。存储器管理电路502可通过主机接口504与主机系统11通讯。主机接口504可用以接收与识别主机系统11所传送的指令与数据。例如,主机系统11所传送的指令与数据可通过主机接口504来传送至存储器管理电路502。此外,存储器管理电路502可通过主机接口504将数据传送至主机系统11。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路502产生并且通过存储器接口506传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
在一范例实施例中,存储器控制电路单元404还包括错误检查与校正电路508、缓冲存储器510与电源管理电路512。
错误检查与校正电路508是连接至存储器管理电路502并且用以执行错误检查与校正操作以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路508会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC)和/或错误检查码(error detecting code,EDC),并且存储器管理电路502会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路508会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正操作。
缓冲存储器510是连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路512是连接至存储器管理电路502并且用以控制存储器存储装置10的电源。
在一范例实施例中,图4的可复写式非易失性存储器模块406亦称为快闪(flash)存储器模块,且存储器控制电路单元404亦称为用于控制快闪存储器模块的快闪存储器控制器。在一范例实施例中,图5的存储器管理电路502亦称为快闪存储器管理电路。
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。请参照图6,存储器管理电路502可将可复写式非易失性存储器模块406的实体单元610(0)~610(B)逻辑地分组至存储区601与替换区602。存储区601中的实体单元610(0)~610(A)是用以存储数据,而替换区602中的实体单元610(A+1)~610(B)则是用以替换存储区601中损坏的实体单元。例如,若从某一个实体单元中读取的数据所包含的错误过多而无法被更正时,此实体单元会被视为是损坏的实体单元。须注意的是,若替换区602中没有可用的实体抹除单元,则存储器管理电路502可能会将整个存储器存储装置10宣告为写入保护(write protect)状态,而无法再写入数据。
在本范例实施例中,每一个实体单元是指一个实体抹除单元。然而,在另一范例实施例中,一个实体单元亦可以是指一个实体地址、一个实体程序化单元或由多个连续或不连续的实体地址组成。存储器管理电路502会配置逻辑单元612(0)~612(C)以映射存储区601中的实体单元610(0)~610(A)。在本范例实施例中,每一个逻辑单元是指一个逻辑地址。然而,在另一范例实施例中,一个逻辑单元也可以是指一个逻辑程序化单元、一个逻辑抹除单元或者由多个连续或不连续的逻辑地址组成。此外,逻辑单元612(0)~612(C)中的每一者可被映射至一或多个实体单元。
存储器管理电路502可将逻辑单元与实体单元之间的映射关系(亦称为逻辑-实体地址映射关系)记录于至少一逻辑-实体地址映射表。当主机系统11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路502可根据此逻辑-实体地址映射表来执行对于存储器存储装置10的数据存取操作。
图7是根据本发明的一范例实施例所示出的数据存储操作的示意图。请参照图7,假设存储器管理电路502从主机系统11接收到指示存储数据(亦称为目标数据)701的至少一写入指令。存储器管理电路502可将此写入指令与数据701暂存于缓冲存储器510。存储器管理电路502可从缓冲存储器510中读取临界信息。存储器管理电路502可根据此临界信息决定数据701的类型。
在一范例实施例中,存储器管理电路502可根据此临界信息判断数据701为第一类数据或第二类数据。若数据701为第一类数据,存储器管理电路502可发送至少一写入指令序列(亦称为第一写入指令序列)以指示可复写式非易失性存储器模块406将缓冲存储器510中的数据701存储至实体单元(亦称为第一实体单元)710。或者,若数据701为第二类数据,则存储器管理电路502可发送至少一写入指令序列(亦称为第二写入指令序列)以指示可复写式非易失性存储器模块406将数据701存储至实体单元(亦称为第二实体单元)720。须注意的是,实体单元710与720为不同的两个实体单元。例如,图6的存储区601中可包含多个闲置实体单元。每一个闲置实体单元皆未存储有效数据。例如,在抹除某一个实体单元后,被抹除的实体单元可成为一个新的闲置实体单元。实体单元710与720可从此些闲置实体单元中进行选取。
在一范例实施例中,不同类型的数据具有不同的数据更新频率。例如,第一类数据的数据更新频率可高于第二类数据的数据更新频率。因此,若数据701属于第一类数据,表示数据701所属的逻辑单元的数据更新频率可能较高(例如高于一门槛值)。反之,若数据701属于第二类数据,则表示数据701所属的逻辑单元的数据更新频率可能较低(例如低于一门槛值)。存储器管理电路502可将第一类数据(即更新频率较高的数据,亦称为热数据)集中存储于实体单元710并将第二类数据(即更新频率较低的数据,亦称为冷数据)集中存储于实体单元720。
在一范例实施例中,存储器管理电路502可执行数据整并操作(例如垃圾回收操作)以释放新的闲置实体单元。释放新的闲置实体单元的操作包含将有效数据从选定的实体单元(亦称为来源节点)中移除以及抹除此实体单元。在图7的范例实施例中,更新频率较高的第一类数据是集中存储于实体单元710,故实体单元710中的数据很容易在经过多次写入操作后即变成无效数据,从而减少实体单元710中有效数据的数据量。因此,在后续执行的数据整并操作中,若优先选择实体单元710作为来源节点并从中收集有效数据,则可有效提高闲置实体单元的释放效率。
在一范例实施例中,存储器管理电路502可将数据701的数据量与临界信息进行比较。若数据701的数据量小于此临界信息,存储器管理电路502可判定数据701为第一类数据。或者,若数据701的数据量大于(或不小于)此临界信息,则存储器管理电路502可判定数据701为第二类数据。
图8是根据本发明的一范例实施例所示出的比较目标数据的数据量与临界信息的示意图。请参照图8,在一范例实施例中,假设数据801的数据量小于临界信息THR,则数据801可被识别为第一类数据。或者,在一范例实施例中,假设数据802的数据量不小于临界信息THR,则数据802可被识别为第二类数据。临界信息THR的数值可例如为4KB、8KB、16KB或其他数值。
须注意的是,在图7的另一范例实施例中,存储器管理电路502也可将数据701的逻辑范围(即数据701所属的至少一个逻辑单元的逻辑地址的范围)与此临界信息进行比较。若数据701的逻辑范围小于此临界信息,存储器管理电路502可判定数据701属于第一类数据(即热数据)。或者,若数据701的逻辑范围不小于此临界信息,存储器管理电路502可判定数据701属于第二类数据(即冷数据)。
须注意的是,在一范例实施例中,用于决定目标数据的类型的临界信息可能是一个定值。然而,对于不同型号和/或不同操作行为的存储器存储装置来说,相同的临界信息对于目标数据的类型的识别的准确度可能不同。因此,若可在存储器存储装置运作过程中动态地对临界信息的数值进行校正和/或最佳化,则可针对不同型号和/或不同操作行为的存储器存储装置提供客制化的临界信息,进而提高对于目标数据的类型的识别效率。若对于目标数据的类型的识别效率提高,则后续对于存储器存储装置的自动化管理的效能也可被提高。
在一范例实施例中,存储器管理电路502可从主机系统11接收至少一写入指令(亦称为第一写入指令)。第一写入指令可指示将某一数据(亦称为第一数据)存储至至少一逻辑单元(亦称为第一逻辑单元)。根据第一写入指令,存储器管理电路502可指示可复写式非易失性存储器模块406执行某一写入操作(亦称为第一写入操作)。在第一写入操作中,可复写式非易失性存储器模块406可将第一数据存储至第一逻辑单元所映射的一或多个实体单元。在执行第一写入操作后,存储器管理电路502可获得对应于第一写入操作的效能信息(亦称为第一效能信息)。第一效能信息可反映第一写入操作的执行效能。或者,存储器管理电路502可通过第一效能信息评估第一写入操作的效能。然后,存储器管理电路502可根据第一效能信息更新所述临界信息。
在一范例实施例中,第一效能信息包括一个写入放大参数(亦称为第一写入放大参数)。第一写入放大参数可反映第一写入操作引起的写入放大比例。例如,假设第一数据的数据量为16KB,且在执行第一写入操作的期间,第一写入操作总共写入了48KB的数据。也就是说,在用于存储第一数据的第一数据写入操作中,写入的数据的数据量被放大了3倍(48/16=3)。例如,这48KB的数据可能包含至少一次的数据搬移和/或管理信息的更新。例如,数据搬移可包含将第一数据从可复写式非易失性存储器模块406中的暂存区搬移至主存储区和/或可复写式非易失性存储器模块406中部分有效数据的搬移。管理信息的更新可包含逻辑-实体地址映射关系的更新等等。此外,此第一写入放大参数的数值可负相关于第一写入操作的执行效能。亦即,若第一写入放大参数的数值越大,则表示第一写入操作的执行效能越差。
在一范例实施例中,存储器管理电路502可获得第一效能信息与另一效能信息(亦称为第二效能信息)之间的差值。存储器管理电路502可根据此差值更新所述临界信息。例如,存储器管理电路502可判断此差值是否符合预设条件。若此差值符合预设条件,存储器管理电路502可提高所述临界信息的数值。或者,若此差值不符合预设条件,存储器管理电路502可降低所述临界信息的数值。
在一范例实施例中,存储器管理电路502可判断此差值是否小于零。若此差值小于零,存储器管理电路502可判定此差值符合预设条件并提高所述临界信息的数值。或者,若此差值不小于零(例如大于零),则存储器管理电路502可判定此差值不符合预设条件并降低所述临界信息的数值。
在一范例实施例中,存储器管理电路502可从主机系统11接收至少一写入指令(亦称为第二写入指令)。第二写入指令可例如指示将某一数据(亦称为第二数据)存储至至少一逻辑单元(亦称为第二逻辑单元)。根据第二写入指令,存储器管理电路502可指示可复写式非易失性存储器模块406执行某一写入操作(亦称为第二写入操作)。在第二写入操作中,可复写式非易失性存储器模块406可将第二数据存储至第二逻辑单元所映射的一或多个实体单元。在执行第二写入操作后,存储器管理电路502可获得对应于第二写入操作的效能信息(即第二效能信息)。第二效能信息可反映第二写入操作的执行效能。或者,存储器管理电路502可通过第二效能信息评估第二写入操作的效能。然后,存储器管理电路502可根据第一效能信息与第二效能信息更新所述临界信息。
在一范例实施例中,第二效能信息也包括一个写入放大参数(亦称为第二写入放大参数)。第二写入放大参数可反映第二写入操作引起的写入放大比例。例如,假设第二数据的数据量为128KB,且在执行第二写入操作的期间,第二写入操作总共写入了1024KB的数据。也就是说,在用于存储第二数据的第二数据写入操作中,写入的数据的数据量被放大了8倍(1024/128=8)。例如,这1024KB的数据也可能包含至少一次的数据搬移和/或管理信息的更新,在此不重复赘述。
须注意的是,虽然前述范例实施例皆是以写入放大参数作为效能信息的范例,然而,本发明并不限制反映写入操作的效能的效能信息的类型。例如,在另一范例实施例中,效能信息还可以包括其他类型的参数,以反映用于执行某一写入操作所需的时间长度等等。
图9是根据本发明的一范例实施例所示出的在不同时间点获得效能信息的示意图。图10是根据本发明的一范例实施例所示出的用于更新临界信息的虚拟码(pseudocode)的示意图。
请参照图9与图10,假设临界信息THR的初始值为S。效能信息WAF(i)在时间点T(i)获得,且i介于0与n+1之间。在时间点T(0),临界信息THR被增加一个调整值ΔS。在时间点T(0)与T(1)之间,效能信息WAF(0)可视为第一效能信息且效能信息WAF(1)可视为第二效能信息。效能信息WAF(0)可反映在时间点T(0)之前的第一写入操作的效能。效能信息WAF(1)可反映在时间点T(0)与T(1)之间的第二写入操作的效能。效能信息WAF(0)与WAF(1)之间的差值F(0)可通过将效能信息WAF(1)减去WAF(0)而获得。根据差值F(0),临界信息THR可以被更新。例如,根据虚拟码1001,若差值F(0)小于零,则临界信息THR可被增加一个调整值ΔS。或者,若差值F(0)大于零,则临界信息THR可被减少一个调整值ΔS。
接着,在时间点T(1)与T(2)之间,效能信息WAF(1)可视为第一效能信息且效能信息WAF(2)可视为第二效能信息。效能信息WAF(1)可反映在时间点T(0)与T(1)之间的第一写入操作的效能。效能信息WAF(2)可反映在时间点T(1)与T(2)之间的第二写入操作的效能。效能信息WAF(1)与WAF(2)之间的差值F(1)可通过将效能信息WAF(2)减去WAF(1)而获得。根据差值F(1),临界信息THR可再次被更新。例如,根据虚拟码1001,若差值F(1)小于零,则临界信息THR可被增加一个调整值ΔS。或者,若差值F(1)大于零,则临界信息THR可被减少一个调整值ΔS。依此类推,在到达时间点T(n+1)后,临界信息THR可被更新n次。
在一范例实施例中,若于时间点T(i)所获得的效能信息WAF(i)趋近于一个定值,则表示使用当前的临界信息THR来识别目标数据的类型可以让相应的写入操作的效能趋于稳定。在此情况下,当前的临界信息THR可以被固定并且不再更新。从另一角度来看,若于时间点T(i)所获得的效能信息WAF(i)趋近于一个定值,亦可表示当前的临界信息THR已被更新为最佳数值。在此情况下,存储器存储装置的整体性能(包含数据写入操作和/或数据整并操作)皆可被维持于较佳状态。此外,当效能信息WAF(i)再次发散时,临界信息THR亦可再次更新。
图11是根据本发明的一范例实施例所示出的存储器管理方法的流程图。请参照图11,在步骤S1101中,从主机系统接收第一写入指令。在步骤S1102中,根据第一写入指令指示可复写式非易失性存储器模块执行第一写入操作。在步骤S1103中,获得对应于第一写入操作的第一效能信息。在步骤S1104中,根据第一效能信息更新临界信息,其中所述临界信息用以决定目标数据的类型。
图12是根据本发明的一范例实施例所示出的存储器管理方法的流程图。请参照图12,在步骤S1201中,从主机系统接收第一写入指令。在步骤S1202中,根据第一写入指令指示可复写式非易失性存储器模块执行第一写入操作。在步骤S1203中,获得对应于第一写入操作的第一效能信息。在步骤S1204中,从主机系统接收第二写入指令。在步骤S1205中,根据第二写入指令指示可复写式非易失性存储器模块执行第二写入操作。在步骤S1206中,获得对应于第二写入操作的第二效能信息。在步骤S1207中,根据第一效能信息与第二效能信息更新临界信息,其中所述临界信息用以决定目标数据的类型。
图13是根据本发明的一范例实施例所示出的存储器管理方法的流程图。请参照图13,在步骤S1301中,获得目标数据。在步骤S1302中,将目标数据的数据量与临界信息进行比较。在步骤S1303中,判断目标数据的数据量是否小于临界信息。若目标数据的数据量小于临界信息,在步骤S1304中,判定目标数据为第一类数据,并且在步骤S1305中,将目标数据存储至第一实体单元。然而,若目标数据的数据量不小于临界信息,则在步骤S1306中,判定目标数据为第二类数据,并且在步骤S1307中,将目标数据存储至第二实体单元。
须注意的是,在图13的范例实施例中,步骤S1302亦可以修改为将目标数据的逻辑范围与临界信息进行比较。若步骤S1303判断目标数据的逻辑范围小于临界信息,可进入步骤S1304。此外,若步骤S1303判断目标数据的逻辑范围不小于临界信息,则可进入步骤S1306。
然而,图11至图13中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图11至图13中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图11至图13的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,在不同时间点,对应于多个写入操作的效能信息可被获得。根据所获得的效能信息,临界信息可被更新并用以决定目标数据的类型。藉此,可有效提高对于存储器存储装置中的数据分类效率和/或提高存储器存储装置的整体效能。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定的为准。
Claims (27)
1.一种存储器管理方法,用于可复写式非易失性存储器模块,且所述存储器管理方法包括:
从主机系统接收第一写入指令;
根据所述第一写入指令指示所述可复写式非易失性存储器模块执行第一写入操作;
获得对应于所述第一写入操作的第一效能信息;以及
根据所述第一效能信息更新临界信息,其中所述临界信息用以决定目标数据的类型。
2.根据权利要求1所述的存储器管理方法,其中根据所述第一效能信息更新所述临界信息的步骤包括:
从所述主机系统接收第二写入指令;
根据所述第二写入指令指示所述可复写式非易失性存储器模块执行第二写入操作;
获得对应于所述第二写入操作的第二效能信息;以及
根据所述第一效能信息与所述第二效能信息更新所述临界信息。
3.根据权利要求1所述的存储器管理方法,其中根据所述第一效能信息更新所述临界信息的步骤包括:
获得所述第一效能信息与第二效能信息之间的差值;以及
根据所述差值更新所述临界信息。
4.根据权利要求3所述的存储器管理方法,其中根据所述差值更新所述临界信息的步骤包括:
若所述差值符合预设条件,提高所述临界信息的数值;以及
若所述差值不符合所述预设条件,降低所述临界信息的所述数值。
5.根据权利要求1所述的存储器管理方法,其中所述第一效能信息包括写入放大参数,且所述写入放大参数反映所述第一写入操作引起的写入放大比例。
6.根据权利要求1所述的存储器管理方法,还包括:
根据所述临界信息决定所述目标数据为第一类数据或第二类数据,其中所述第一类数据的数据更新频率不同于所述第二类数据的数据更新频率。
7.根据权利要求6所述的存储器管理方法,其中根据所述临界信息决定所述目标数据为所述第一类数据或所述第二类数据的步骤包括:
将所述目标数据的数据量与所述临界信息进行比较;
若所述目标数据的所述数据量小于所述临界信息,判定所述目标数据为所述第一类数据;以及
若所述目标数据的所述数据量不小于所述临界信息,判定所述目标数据为所述第二类数据。
8.根据权利要求6所述的存储器管理方法,其中根据所述临界信息决定所述目标数据为所述第一类数据或所述第二类数据的步骤包括:
将所述目标数据的逻辑范围与所述临界信息进行比较;
若所述目标数据的所述逻辑范围小于所述临界信息,判定所述目标数据为所述第一类数据;以及
若所述目标数据的所述逻辑范围不小于所述临界信息,判定所述目标数据为所述第二类数据。
9.根据权利要求1所述的存储器管理方法,其中所述可复写式非易失性存储器模块包括多个实体单元,所述多个实体单元包括第一实体单元与第二实体单元,且所述存储器管理方法还包括:
若所述目标数据为第一类数据,发送第一写入指令序列以指示将所述目标数据写入至所述第一实体单元;以及
若所述目标数据为第二类数据,发送第二写入指令序列以指示将所述目标数据写入至所述第二实体单元,
其中,所述第一实体单元不同于所述第二实体单元。
10.一种存储器存储装置,包括:
连接接口单元,用以连接至主机系统;
可复写式非易失性存储器模块;以及
存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以从所述主机系统接收第一写入指令,
所述存储器控制电路单元还用以根据所述第一写入指令指示所述可复写式非易失性存储器模块执行第一写入操作,
所述存储器控制电路单元还用以获得对应于所述第一写入操作的第一效能信息,并且
所述存储器控制电路单元还用以根据所述第一效能信息更新临界信息,其中所述临界信息用以决定目标数据的类型。
11.根据权利要求10所述的存储器存储装置,其中所述存储器控制电路单元根据所述第一效能信息更新所述临界信息的操作包括:
从所述主机系统接收第二写入指令;
根据所述第二写入指令指示所述可复写式非易失性存储器模块执行第二写入操作;
获得对应于所述第二写入操作的第二效能信息;以及
根据所述第一效能信息与所述第二效能信息更新所述临界信息。
12.根据权利要求10所述的存储器存储装置,其中所述存储器控制电路单元根据所述第一效能信息更新所述临界信息的操作包括:
获得所述第一效能信息与第二效能信息之间的差值;以及
根据所述差值更新所述临界信息。
13.根据权利要求12所述的存储器存储装置,其中所述存储器控制电路单元根据所述差值更新所述临界信息的操作包括:
若所述差值符合预设条件,提高所述临界信息的数值;以及
若所述差值不符合所述预设条件,降低所述临界信息的所述数值。
14.根据权利要求10所述的存储器存储装置,其中所述第一效能信息包括写入放大参数,且所述写入放大参数反映所述第一写入操作引起的写入放大比例。
15.根据权利要求10所述的存储器存储装置,其中所述存储器控制电路单元还用以根据所述临界信息决定所述目标数据为第一类数据或第二类数据,其中所述第一类数据的数据更新频率不同于所述第二类数据的数据更新频率。
16.根据权利要求15所述的存储器存储装置,其中所述存储器控制电路单元根据所述临界信息决定所述目标数据为所述第一类数据或所述第二类数据的操作包括:
将所述目标数据的数据量与所述临界信息进行比较;
若所述目标数据的所述数据量小于所述临界信息,判定所述目标数据为所述第一类数据;以及
若所述目标数据的所述数据量不小于所述临界信息,判定所述目标数据为所述第二类数据。
17.根据权利要求15所述的存储器存储装置,其中所述存储器控制电路单元根据所述临界信息决定所述目标数据为所述第一类数据或所述第二类数据的操作包括:
将所述目标数据的逻辑范围与所述临界信息进行比较;
若所述目标数据的所述逻辑范围小于所述临界信息,判定所述目标数据为所述第一类数据;以及
若所述目标数据的所述逻辑范围不小于所述临界信息,判定所述目标数据为所述第二类数据。
18.根据权利要求10所述的存储器存储装置,其中所述可复写式非易失性存储器模块包括多个实体单元,所述多个实体单元包括第一实体单元与第二实体单元,
若所述目标数据为第一类数据,所述存储器控制电路单元还用以发送第一写入指令序列以指示将所述目标数据写入至所述第一实体单元,并且
若所述目标数据为第二类数据,所述存储器控制电路单元还用以发送第二写入指令序列以指示将所述目标数据写入至所述第二实体单元,
其中,所述第一实体单元不同于所述第二实体单元。
19.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,且所述存储器控制电路单元包括:
主机接口,用以连接至主机系统;
存储器接口,用以连接至所述可复写式非易失性存储器模块;以及
存储器管理电路,连接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以从所述主机系统接收第一写入指令,
所述存储器管理电路还用以根据所述第一写入指令指示所述可复写式非易失性存储器模块执行第一写入操作;
所述存储器管理电路还用以获得对应于所述第一写入操作的第一效能信息,并且
所述存储器管理电路还用以根据所述第一效能信息更新临界信息,其中所述临界信息用以决定目标数据的类型。
20.根据权利要求19所述的存储器控制电路单元,其中所述存储器管理电路根据所述第一效能信息更新所述临界信息的操作包括:
从所述主机系统接收第二写入指令;
根据所述第二写入指令指示所述可复写式非易失性存储器模块执行第二写入操作;
获得对应于所述第二写入操作的第二效能信息;以及
根据所述第一效能信息与所述第二效能信息更新所述临界信息。
21.根据权利要求19所述的存储器控制电路单元,其中所述存储器管理电路根据所述第一效能信息更新所述临界信息的操作包括:
获得所述第一效能信息与第二效能信息之间的差值;以及
根据所述差值更新所述临界信息。
22.根据权利要求21所述的存储器控制电路单元,其中所述存储器管理电路根据所述差值更新所述临界信息的操作包括:
若所述差值符合预设条件,提高所述临界信息的数值;以及
若所述差值不符合所述预设条件,降低所述临界信息的所述数值。
23.根据权利要求19所述的存储器控制电路单元,其中所述第一效能信息包括写入放大参数,且所述写入放大参数反映所述第一写入操作引起的写入放大比例。
24.根据权利要求19所述的存储器控制电路单元,其中所述存储器管理电路还用以根据所述临界信息决定所述目标数据为第一类数据或第二类数据,其中所述第一类数据的数据更新频率不同于所述第二类数据的数据更新频率。
25.根据权利要求24所述的存储器控制电路单元,其中所述存储器管理电路根据所述临界信息决定所述目标数据为所述第一类数据或所述第二类数据的操作包括:
将所述目标数据的数据量与所述临界信息进行比较;
若所述目标数据的所述数据量小于所述临界信息,判定所述目标数据为所述第一类数据;以及
若所述目标数据的所述数据量不小于所述临界信息,判定所述目标数据为所述第二类数据。
26.根据权利要求24所述的存储器控制电路单元,其中所述存储器管理电路根据所述临界信息决定所述目标数据为所述第一类数据或所述第二类数据的操作包括:
将所述目标数据的逻辑范围与所述临界信息进行比较;
若所述目标数据的所述逻辑范围小于所述临界信息,判定所述目标数据为所述第一类数据;以及
若所述目标数据的所述逻辑范围不小于所述临界信息,判定所述目标数据为所述第二类数据。
27.根据权利要求19所述的存储器控制电路单元,其中所述可复写式非易失性存储器模块包括多个实体单元,所述多个实体单元包括第一实体单元与第二实体单元,
若所述目标数据为第一类数据,所述存储器管理电路还用以发送第一写入指令序列以指示将所述目标数据写入至所述第一实体单元,并且
若所述目标数据为第二类数据,所述存储器管理电路还用以发送第二写入指令序列以指示将所述目标数据写入至所述第二实体单元,
其中,所述第一实体单元不同于所述第二实体单元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910585014.7A CN110308876B (zh) | 2019-07-01 | 2019-07-01 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
US16/547,598 US11221791B2 (en) | 2019-07-01 | 2019-08-22 | Memory management method, memory device, and memory control circuit for improving data classification |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910585014.7A CN110308876B (zh) | 2019-07-01 | 2019-07-01 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110308876A true CN110308876A (zh) | 2019-10-08 |
CN110308876B CN110308876B (zh) | 2024-05-17 |
Family
ID=68078626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910585014.7A Active CN110308876B (zh) | 2019-07-01 | 2019-07-01 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11221791B2 (zh) |
CN (1) | CN110308876B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113419683A (zh) * | 2021-07-01 | 2021-09-21 | 群联电子股份有限公司 | 存储器存取方法、存储器存储装置及存储器控制电路单元 |
CN117573208A (zh) * | 2024-01-12 | 2024-02-20 | 深圳宏芯宇电子股份有限公司 | 指令信息分配方法及存储器存储装置 |
CN117573208B (zh) * | 2024-01-12 | 2024-05-28 | 深圳宏芯宇电子股份有限公司 | 指令信息分配方法及存储器存储装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160162205A1 (en) * | 2014-12-09 | 2016-06-09 | Intel Corporation | Determining adjustments to the spare space in a storage device unavailable to a user based on a current consumption profile of a storage device |
US20160224247A1 (en) * | 2015-02-02 | 2016-08-04 | Yeong-Jae WOO | Memory system, including memory device capable of overwrite operation, and method of operating the memory system |
CN106325764A (zh) * | 2015-07-08 | 2017-01-11 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
CN106445397A (zh) * | 2015-07-28 | 2017-02-22 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
CN106681932A (zh) * | 2016-11-14 | 2017-05-17 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
US20170192716A1 (en) * | 2016-01-04 | 2017-07-06 | Phison Electronics Corp. | Data writing method, memory control circuit unit and memory storage apparatus |
US20170206006A1 (en) * | 2016-01-20 | 2017-07-20 | EpoStar Electronics Corp. | Memory management method, memory storage device and memory control circuit unit |
CN107025063A (zh) * | 2016-01-29 | 2017-08-08 | 大心电子股份有限公司 | 内存管理方法、内存储存装置及内存控制电路单元 |
US20180067850A1 (en) * | 2015-02-27 | 2018-03-08 | Hitachi, Ltd. | Non-volatile memory device |
CN107844431A (zh) * | 2017-11-03 | 2018-03-27 | 合肥兆芯电子有限公司 | 映射表更新方法、存储器控制电路单元与存储器存储装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10546648B2 (en) * | 2013-04-12 | 2020-01-28 | Sandisk Technologies Llc | Storage control system with data management mechanism and method of operation thereof |
US9645924B2 (en) * | 2013-12-16 | 2017-05-09 | International Business Machines Corporation | Garbage collection scaling |
US10002073B2 (en) * | 2015-11-06 | 2018-06-19 | SK Hynix Inc. | Selective data recycling in non-volatile memory |
US10592110B2 (en) * | 2016-02-19 | 2020-03-17 | International Business Machines Corporation | Techniques for dynamically adjusting over-provisioning space of a flash controller based on workload characteristics |
TWI602190B (zh) | 2016-12-21 | 2017-10-11 | 旺宏電子股份有限公司 | 記憶體控制方法、記憶體裝置 |
US10140040B1 (en) | 2017-05-25 | 2018-11-27 | Micron Technology, Inc. | Memory device with dynamic program-verify voltage calibration |
CN110874186A (zh) * | 2018-09-04 | 2020-03-10 | 合肥沛睿微电子股份有限公司 | 闪存控制器及相关的存取方法及电子装置 |
-
2019
- 2019-07-01 CN CN201910585014.7A patent/CN110308876B/zh active Active
- 2019-08-22 US US16/547,598 patent/US11221791B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160162205A1 (en) * | 2014-12-09 | 2016-06-09 | Intel Corporation | Determining adjustments to the spare space in a storage device unavailable to a user based on a current consumption profile of a storage device |
US20160224247A1 (en) * | 2015-02-02 | 2016-08-04 | Yeong-Jae WOO | Memory system, including memory device capable of overwrite operation, and method of operating the memory system |
US20180067850A1 (en) * | 2015-02-27 | 2018-03-08 | Hitachi, Ltd. | Non-volatile memory device |
CN106325764A (zh) * | 2015-07-08 | 2017-01-11 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
CN106445397A (zh) * | 2015-07-28 | 2017-02-22 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
US20170192716A1 (en) * | 2016-01-04 | 2017-07-06 | Phison Electronics Corp. | Data writing method, memory control circuit unit and memory storage apparatus |
US20170206006A1 (en) * | 2016-01-20 | 2017-07-20 | EpoStar Electronics Corp. | Memory management method, memory storage device and memory control circuit unit |
CN107025063A (zh) * | 2016-01-29 | 2017-08-08 | 大心电子股份有限公司 | 内存管理方法、内存储存装置及内存控制电路单元 |
CN106681932A (zh) * | 2016-11-14 | 2017-05-17 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
CN107844431A (zh) * | 2017-11-03 | 2018-03-27 | 合肥兆芯电子有限公司 | 映射表更新方法、存储器控制电路单元与存储器存储装置 |
Non-Patent Citations (2)
Title |
---|
朱增昌: "基于擦除上限的动态阈值磨损均衡算法", 《电脑知识与技术》 * |
朱增昌: "基于擦除上限的动态阈值磨损均衡算法", 《电脑知识与技术》, no. 12, 25 April 2019 (2019-04-25) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113419683A (zh) * | 2021-07-01 | 2021-09-21 | 群联电子股份有限公司 | 存储器存取方法、存储器存储装置及存储器控制电路单元 |
CN113419683B (zh) * | 2021-07-01 | 2023-07-04 | 群联电子股份有限公司 | 存储器存取方法、存储器存储装置及存储器控制电路单元 |
CN117573208A (zh) * | 2024-01-12 | 2024-02-20 | 深圳宏芯宇电子股份有限公司 | 指令信息分配方法及存储器存储装置 |
CN117573208B (zh) * | 2024-01-12 | 2024-05-28 | 深圳宏芯宇电子股份有限公司 | 指令信息分配方法及存储器存储装置 |
Also Published As
Publication number | Publication date |
---|---|
US11221791B2 (en) | 2022-01-11 |
US20210004175A1 (en) | 2021-01-07 |
CN110308876B (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10101914B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
CN110333770B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TWI676176B (zh) | 資料整併方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN111400201B (zh) | 快闪存储器的数据整理方法、存储装置及控制电路单元 | |
US11163694B2 (en) | Memory control method, memory storage device and memory control circuit unit | |
CN106775479B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN110390985A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
US11748026B2 (en) | Mapping information recording method, memory control circuit unit, and memory storage device | |
CN107239225A (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN107817943B (zh) | 数据传输方法、存储器存储装置及存储器控制电路单元 | |
CN112068782B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN107102951B (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
CN111767005B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
US10871914B2 (en) | Memory management method, memory storage device and memory control circuit unit | |
CN110308876A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN109032957B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN110442299A (zh) | 数据写入方法、存储器控制电路单元以及存储器储存装置 | |
TWI712886B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN112835536A (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN110096215B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
US10719259B2 (en) | Memory management method, memory storage device and memory control circuit unit | |
CN109669620B (zh) | 存储器管理方法、存储器控制电路单元及存储器储存装置 | |
CN111143230B (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
CN110442300A (zh) | 整理指令记录方法、存储器控制电路单元与存储装置 | |
CN111414128B (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 |