CN112114737B - 存储器控制方法、存储器存储装置及存储器控制电路单元 - Google Patents
存储器控制方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN112114737B CN112114737B CN201910536847.4A CN201910536847A CN112114737B CN 112114737 B CN112114737 B CN 112114737B CN 201910536847 A CN201910536847 A CN 201910536847A CN 112114737 B CN112114737 B CN 112114737B
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- channel
- instruction
- physical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- 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是根据本发明的一范例实施例所示出的数据整并操作中的多个通道的状态时序的示意图;
图11是根据本发明的一范例实施例所示出的数据整并操作中的多个通道的状态时序的示意图;
图12是根据本发明的一范例实施例所示出的更新指令排列的示意图;
图13是根据本发明的一范例实施例所示出的存储器管理电路与可复写式非易失性存储器模块的示意图;
图14是根据本发明的一范例实施例所示出的数据整并操作中的多个通道的状态时序的示意图;
图15是根据本发明的一范例实施例所示出的存储器控制方法的流程图;
图16是根据本发明的一范例实施例所示出的存储器控制方法的流程图;
图17是根据本发明的一范例实施例所示出的存储器控制方法的流程图。
附图标号说明:
10、30:存储器存储装置
11、31:主机***
110:***总线
111:处理器
112:随机存取存储器
113:只读存储器
114:数据传输接口
12:输入/输出(I/O)装置
20:主机板
201:随身盘
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:闲置区
603:***区
610(0)~610(C)、910(1)~910(P)、920(1)~920(P):实体单元
612(0)~612(D):逻辑单元
701、702:数据
710:主机单元
720:来源单元
730:回收单元
80(1)~80(m)、CH(1)~CH(4):通道
81(1)~81(n)、91、92、1310(1)~1310(4):实体群组
T(0)~T(3)、T(0)’、T(1)’、T(3)’:时间点
1010、1110、1410:有效数据
1210:指令排列
S1501:步骤(执行第一写入操作以经由至少一第一通道将第一数据写入至至少一第一实体群组中的至少一第一实体单元)
S1502:步骤(执行限定数据收集操作以收集第二数据,且所述限定数据收集操作限定所述第二数据不包含所述至少一第一实体群组中需要等待所述第一写入操作完成后才能收集的数据)
S1503:步骤(在执行第一写入操作的期间,执行第二写入操作以经由至少一第二通道将第二数据写入至至少一第二实体群组中的至少一第二实体单元)
S1601:步骤(执行数据整并操作)
S1602:步骤(响应于所述数据整并操作的启动,执行限定数据收集操作与第二写入操作,以释放至少一闲置实体单元)
S1701:步骤(在缓冲存储器中维护表格信息,其中所述表格信息记载与数据整并操作有关的信息)
S1702:步骤(根据所述表格信息在缓冲存储器中维护指令排列,以调整至少一指令在所述指令排列中的排序)
具体实施方式
一般而言,存储器存储装置(亦称,存储器存储***)包括可复写式非易失性存储器模块(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可例如是随身盘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,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储4个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块406中的每一个存储单元是以电压(以下亦称为临界电压)的改变来存储一或多个比特。具体来说,每一个存储单元的控制栅极(controlgate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,进而改变存储单元的临界电压。此改变存储单元的临界电压的操作亦称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着临界电压的改变,可复写式非易失性存储器模块406中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个存储单元是属于哪一个存储状态,藉此取得此存储单元所存储的一或多个比特。
在本范例实施例中,可复写式非易失性存储器模块406的存储单元可构成多个实体程序化单元,并且此些实体程序化单元可构成多个实体抹除单元。具体来说,同一条字线上的存储单元可组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一条字线上的实体程序化单元可至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效比特(Least Significant Bit,LSB)是属于下实体程序化单元,并且一存储单元的最高有效比特(Most Significant Bit,MSB)是属于上实体程序化单元。一般来说,在MLC NAND型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。
在本范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元可为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元可包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体扇,用以存储使用者数据,而冗余比特区用以存储***数据(例如,错误更正码等管理数据)。在本范例实施例中,数据比特区包含32个实体扇,且一个实体扇的大小为512字节(byte,B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目的一并被抹除的存储单元。例如,实体抹除单元为实体区块(block)。
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504及存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一范例实施例中,存储器管理电路502的控制指令亦可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放***数据的***区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在另一范例实施例中,存储器管理电路502的控制指令亦可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是连接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或存储单元群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路502还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。
主机接口504是连接至存储器管理电路502。存储器管理电路502可通过主机接口504与主机***11通讯。主机接口504可用以接收与识别主机***11所传送的指令与数据。例如,主机***11所传送的指令与数据可通过主机接口504来传送至存储器管理电路502。此外,存储器管理电路502可通过主机接口504将数据传送至主机***11。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路502产生并且通过存储器接口506传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
在一范例实施例中,存储器控制电路单元404还包括错误检查与校正电路508、缓冲存储器510与电源管理电路512。
错误检查与校正电路508是连接至存储器管理电路502并且用以执行错误检查与校正操作以确保数据的正确性。具体来说,当存储器管理电路502从主机***11中接收到写入指令时,错误检查与校正电路508会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC)和/或错误检查码(error detecting code,EDC),并且存储器管理电路502会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路508会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正操作。
缓冲存储器510是连接至存储器管理电路502并且用以暂存来自于主机***11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路512是连接至存储器管理电路502并且用以控制存储器存储装置10的电源。
在一范例实施例中,图4的可复写式非易失性存储器模块406亦称为快闪(flash)存储器模块,存储器控制电路单元404亦称为用于控制快闪存储器模块的快闪存储器控制器,和/或图5的存储器管理电路502亦称为快闪存储器管理电路。
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。
请参照图6,存储器管理电路502可将可复写式非易失性存储器模块406的实体单元610(0)~610(C)逻辑地分组至存储区601、闲置(spare)区602及***区603。存储区601中的实体单元610(0)~610(A)存储有数据。例如,存储区601中的实体单元610(0)~610(A)可存储有效(valid)数据与无效(invalid)数据。闲置区602中的实体单元610(A+1)~610(B)尚未用来存储数据(例如有效数据)。***区603中的实体单元610(B+1)~610(C)用以存储***数据,例如逻辑至实体映射表、坏块管理表、装置型号或其他类型的管理数据。
在本范例实施例中,一个实体单元包含一或多个实体抹除单元。然而,在另一范例实施例中,一个实体单元亦可包含一或多个实体程序化单元或由一或多个连续或不连续的实体地址组成。当欲存储数据时,存储器管理电路502可从闲置区602的实体单元610(A+1)~610(B)中选择至少一个实体单元并且将来自主机***11或来自存储区601中至少一实体单元的数据存储至所选的实体单元中。同时,所选的实体单元会被关联至存储区601。此外,在抹除存储区601中的某一个实体单元后,所抹除的实体单元会被重新关联至闲置区602,从而成为一个新的闲置实体单元。
存储器管理电路502可配置逻辑单元612(0)~612(D)以映射存储区601中的实体单元610(0)~610(A)。一个逻辑单元可包含一或多个逻辑程序化单元、一或多个逻辑抹除单元或由一或多个连续或不连续的逻辑地址组成。逻辑单元612(0)~612(D)中的每一者可被映射至一或多个实体单元。须注意的是,存储器管理电路502可不配置映射至***区603的逻辑单元,以防止存储于***区603的***数据被使用者修改。
存储器管理电路502可将逻辑单元与实体单元之间的映射关系(亦称为逻辑至实体映射信息或映射信息)记录于至少一逻辑至实体映射表。逻辑至实体映射表是存储于***区603的实体单元610(B+1)~610(C)中。当主机***11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路502可根据此逻辑至实体映射表来执行对于存储器存储装置10的数据存取操作。
须注意的是,有效数据是属于某一个逻辑单元的最新数据,而无效数据则不是属于任一个逻辑单元的最新数据。例如,若主机***11将一笔新数据存储至某一逻辑单元而覆盖掉此逻辑单元原先存储的旧数据(即,更新属于此逻辑单元的数据),则存储至存储区601中的此笔新数据即为属于此逻辑单元的最新数据并且会被标记为有效,而被覆盖掉的旧数据可能仍然存储在存储区601中但被标记为无效。
在本范例实施例中,若属于某一逻辑单元的数据被更新,则此逻辑单元与存储有属于此逻辑单元的旧数据的实体单元之间的映射关系会被移除,并且此逻辑单元与存储有属于此逻辑单元的最新数据的实体单元之间的映射关系会被建立。然而,在另一范例实施例中,若属于某一逻辑单元的数据被更新,则此逻辑单元与存储有属于此逻辑地址的旧数据的实体单元之间的映射关系仍可被维持。
当存储器存储装置10出厂时,属于闲置区602的实体单元610(A+1)~610(B)的总数会是一个预设数目(例如,30)。在存储器存储装置10的运作中,越来越多的实体单元会被从闲置区602选择并且被关联至存储区601以存储数据(例如,存储来自主机***11的使用者数据)。因此,属于闲置区602的实体单元的总数会随着存储器存储装置10的使用而逐渐减少。
在存储器存储装置10的运作中,存储器管理电路502可持续更新属于闲置区602的实体单元的总数。存储器管理电路502可根据闲置区602中的实体单元的总数(即,闲置实体单元的总数)启动数据整并操作。例如,存储器管理电路502可判断属于闲置区602的实体单元的总数是否小于或等于一个门槛值(亦称为第一门槛值)。此第一门槛值例如是2或者更大的值(例如,10),本发明不加以限制。若属于闲置区602的实体单元的总数小于或等于第一门槛值,存储器管理电路502可启动数据整并操作。在一范例实施例中,数据整并操作亦称为垃圾收集操作。
在数据整并操作中,存储器管理电路502可从存储区601中选择至少一个实体单元作为来源单元并且从闲置区602中选择至少一个实体单元作为回收单元(亦称为目标单元)。例如,存储器管理电路502可根据存储区601中至少一个实体单元所存储的有效数据的数据量或数据分布来选择来源单元。存储器管理电路502可发送至少一指令序列以指示可复写式非易失性存储器模块406将有效数据从作为来源单元的一或多个实体单元复制到作为回收单元的一或多个实体单元。作为回收单元而被有效数据写满的实体单元可被关联至存储区601。若某一个实体单元所存储的有效数据皆已被复制至回收单元,则此实体单元可被抹除并且被关联至闲置区602。在一范例实施例中,将某一个实体单元从存储区601重新关联回闲置区602的操作(或抹除某一个实体单元的操作)亦称为释放一个闲置实体单元。通过执行数据整并操作,一或多个闲置实体单元会被释放并且使得属于闲置区602的实体单元的总数逐渐增加。
在启动数据整并操作后,若属于闲置区602的实体单元符合一特定条件,数据整并操作可被停止。例如,存储器管理电路502可判断属于闲置区602的实体单元的总数是否大于或等于一个门槛值(以下亦称为第二门槛值)。例如,第二门槛值可以大于或等于第一门槛值。若属于闲置区602的实体单元的总数大于或等于第二门槛值,存储器管理电路502可停止数据整并操作。须注意的是,停止数据整并操作是指结束当前执行中的数据整并操作。在停止一个数据整并操作之后,若属于闲置区602的实体单元的总数再次小于或等于第一门槛值,则下一个数据整并操作可再次被执行,以尝试释放新的闲置实体单元。
图7是根据本发明的一范例实施例所示出的主机写入操作与数据整并操作的示意图。请参照图7,在主机写入操作中,主机***11可发送至少一个写入指令以指示将数据701写入至一或多个逻辑单元。根据此写入指令,存储器管理电路502可指示将数据701存储至映射至所述逻辑单元的主机单元710。例如,主机单元710可包含从图6的闲置区602中选择的一或多个实体单元。
另一方面,存储器管理电路502可启动一个数据整并操作,以释放新的闲置实体单元。例如,在数据整并操作中,数据702可被从作为来源单元720的至少一个实体单元收集并且被写入至作为回收单元730的至少一个实体单元。数据702包括存储于来源单元720的有效数据。若作为来源单元720的某一实体单元所存储的有效数据已被完全复制到回收单元730,则此实体单元可被抹除而成为新的闲置实体单元。藉此,可逐渐增加图6的闲置区602中的闲置实体单元的总数。
图8是根据本发明的一范例实施例所示出的存储器管理电路与可复写式非易失性存储器模块的示意图。请参照图8,可复写式非易失性存储器模块406包括实体群组81(1)~81(n)。在本范例实施例中,实体群组81(1)~81(n)中的每一者是指一个晶粒。例如,可复写式非易失性存储器模块406可包含多个晶粒,且实体群组81(1)~81(n)中的每一者可对应一个晶粒。然而,在另一范例实施例中,实体群组81(1)~81(n)中的每一者亦可以是指一个芯片致能(CE)或一个平面(亦称为存储器平面)。此外,n可以是2、4、8或其他数值,本发明并不限制实体群组81(1)~81(n)的总数。
每一个实体群组81(1)~81(n)包含多个实体单元。通道80(1)~80(m)亦称为存储器通道。存储器管理电路502可经由通道80(1)~80(m)来单独或平行存取实体群组81(1)~81(n)中的实体单元。例如,经由通道80(1)~80(m)中的至少两个通道来平行存取实体群组81(1)~81(n)的至少两者中的实体单元,可提高对于可复写式非易失性存储器模块406的存取效能。
在启动数据整并操作后,存储器管理电路502可从实体群组81(1)~81(n)中选择至少一实体单元作为来源单元并选择至少一实体单元作为回收单元。响应于数据整并操作的启动,存储器管理电路502可执行至少一数据收集操作以从来源单元收集有效数据并执行至少一数据写入操作以将所收集的有效数据写入至回收单元。响应于数据整并操作的启动而执行的数据收集操作与数据写入操作是用以释放闲置实体单元。
在一范例实施例中,实体群组81(1)~81(n)可至少被分组为至少一个第一实体群组与至少一个第二实体群组。例如,实体群组81(1)~81(e)可属于第一实体群组,而实体群组81(e+1)~81(n)可属于第二实体群组。本发明并不限制第一实体群组与第一实体群组中实体群组的总数。
在启动数据整并操作后,存储器管理电路502可执行一个数据写入操作(亦称为第一写入操作)以经由通道80(1)~80(m)的至少其中一(亦称为第一通道)将数据整并操作中收集的有效数据(亦称为第一数据)写入至第一实体群组中的一或多个实体单元(亦称为第一实体单元)。在执行第一写入操作的期间,存储器管理电路502可执行另一个数据写入操作(亦称为第二写入操作)以经由通道80(1)~80(m)的至少其中的另一(亦称为第二通道)将数据整并操作中收集的其他有效数据(亦称为第二数据)写入至第二实体群组中的一或多个实体单元(亦称为第二实体单元)。须注意的是,第二数据可包含在执行第一写入操作的期间从第二实体群组收集的数据。但是,第二数据不包含第一实体群组中需要等待第一写入操作完成后才能收集的数据。藉此,第一写入操作与第二写入操作的执行时间可至少部分重叠(或至少部分平行执行),从而提高数据整并操作的效率。
在一范例实施例中,在启动数据整并操作后,存储器管理电路502可执行一个限定数据收集操作,以收集所述第二数据。例如,此限定数据收集操作可限定所收集的第二数据不包含所述第一实体群组中需要等待第一写入操作完成后才能收集的数据。相较于一般的数据收集操作,限定数据收集操作可减少数据收集的等待时间并提高数据整并操作的效率。
图9是根据本发明的一范例实施例所示出的存储器管理电路与可复写式非易失性存储器模块的示意图。请参照图9,假设可复写式非易失性存储器模块406包括实体群组91与92。实体群组91属于第一实体群组。实体群组92属于第二实体群组。存储器管理电路502可经由通道CH(1)来存取实体群组91中的实体单元910(1)~910(P)。此外,存储器管理电路502可经由通道CH(2)来存取实体群组92中的实体单元920(1)~920(P)。
图10是根据本发明的一范例实施例所示出的数据整并操作中的多个通道的状态时序的示意图。请参照图9与图10,在一范例实施例中,在启动数据整并操作后,一部分的有效数据可被收集。在时间点T(0)至T(1)之间,存储器管理电路502可经由通道CH(1)将所收集的有效数据写入至实体群组91中的至少一实体单元(即回收单元)。因此,在时间点T(0)至T(1)之间,通道CH(1)处于忙碌状态。
另一方面,在图10的数据整并操作中,存储器管理电路502可选择实体群组91与92中的多个实体单元作为有效数据1010的来源单元并选择实体群组92中的至少一实体单元作为有效数据1010的回收单元。因此,在时间点T(0)至T(1)之间(即通道CH(1)处于忙碌状态的期间),存储器管理电路502可经由通道CH(2)从实体群组92中的来源单元收集有效数据1010中的一部分数据。但是,有效数据1010中的另一部分数据则需要等待通道CH(1)离开忙碌状态后(例如时间点T(1)之后)才能经由通道CH(1)进行收集,导致有效数据1010的收集与写入发生延迟。例如,假设通道CH(1)在时间点T(1)离开忙碌状态,则在时间点T(1)至T(2)之间,有效数据1010中的另一部分数据可经由通道CH(1)被收集。也就是说,在时间点T(2),有效数据1010可被完整收集。接着,在时间点T(2)之后,通道CH(2)可进入忙碌状态,以经由通道CH(2)将完整的有效数据1010写入至实体群组92中的回收单元。
须注意的是,在图10的范例实施例中,存储器管理电路502未执行限定数据收集操作,故所挑选作为来源单元的实体单元有很高的机率会分散在实体群组91与92中。若作为来源单元的实体单元分散在实体群组91与92中,则必须要在通道CH(1)离开当前的忙碌状态后,才能经由通道CH(1)从实体群组91收集部分的有效数据。在通道CH(2)完成对应的数据读取至时间点T(2)之间的期间,通道CH(2)处于闲置状态,从而导致***资源浪费。在一范例实施例中,若限制在通道CH(1)处于忙碌状态的期间,不安排从实体群组91(即第一实体群组)收集有效数据,则可提早完成有效数据的收集并经由通道CH(2)将所收集的有效数据写入至实体群组92中,有效利用***资源。
图11是根据本发明的一范例实施例所示出的数据整并操作中的多个通道的状态时序的示意图。请参照图9与图11,在一范例实施例中,在启动数据整并操作后,一部分的有效数据(即第一数据)可被收集。在时间点T(0)至T(1)之间,第一写入操作可被执行,以将所收集的有效数据(即第一数据)写入至实体群组91(即第一实体群组)中的至少一实体单元(即回收单元)。对应于第一写入操作,在时间点T(0)至T(1)之间,通道CH(1)是处于忙碌状态。
另一方面,在图11的数据整并操作中,存储器管理电路502可执行限定数据收集操作。在限定数据收集操作中,存储器管理电路502仅选择实体群组92(即第二实体群组)中的至少一实体单元作为有效数据1110(即第二数据)的来源单元和/或不选择实体群组91(即第一实体群组)中的至少一实体单元作为有效数据1110的来源单元。此外,存储器管理电路502选择实体群组92中的至少一实体单元作为有效数据1110的回收单元。
在时间点T(0)至T(1)之间(即通道CH(1)处于忙碌状态的期间),存储器管理电路502可经由通道CH(2)从实体群组92中的来源单元收集完整的有效数据1110。然后,在时间点T(3)(时间点T(3)介于时间点T(0)至T(1)之间),存储器管理电路502可执行第二写入操作,以经由通道CH(2)将有效数据1110写入至实体群组92中的回收单元。
换言之,在时间点T(3)与T(1)之间,通道CH(2)可提早进入忙碌状态以将有效数据1110写入至实体群组92中的回收单元,以完成至少部分的数据整并操作。相较于图10的范例实施例,在图11的范例实施例中,有效数据1110不等到通道CH(1)离开忙碌状态后才进行收集,而提升数据整并操作的效率。
请回到图5,在一范例实施例中,响应于数据整并操作的启动,存储器管理电路502可在缓冲存储器510中维护表格信息。此表格信息记载与数据整并操作有关的信息。例如,此表格信息可记载与选择作为来源单元与回收单元的多个实体单元有关的映射信息。根据此表格信息,存储器管理电路502可在缓冲存储器510中维护一个指令排列。此指令排列用以暂存至少一个指令(或指令序列)。例如,存储器管理电路502可根据表格信息所记载的映射信息产生指示从来源单元收集有效数据的至少一指令(例如读取指令)及指示将所收集的有效数据写入至回收单元的至少一指令(例如写入指令)。存储器管理电路502可将所产生的指令加入至此指令排列。然后,存储器管理电路502可根据此指令排列中的指令依序执行数据整并操作中的数据写入操作与数据收集操作。
在一范例实施例中,所述限定数据收集操作可包含选择作为来源单元的实体单元的操作以及维护(或调整)所述指令排列的操作。例如,在限定数据收集操作中,存储器管理电路502可提高指令排列中的特定指令(亦称为第一指令)的优先权和/或降低指令排列中的特定指令(亦称为第二指令)的优先权。第一指令用以指示在执行第一写入操作的期间从第二实体群组收集有效数据(亦称为第一有效数据)。第二指令用以指示在第一写入操作完成后从第一实体群组收集有效数据(亦称为第二有效数据)。
图12是根据本发明的一范例实施例所示出的更新指令排列的示意图。请参照图9、图11及图12,在一范例实施例中,在启动数据整并操作后,指令CMD(0)~CMD(3)可被加入至指令排列1210。指令CMD(0)~CMD(3)皆为指示读取数据的读取指令。指令排列1210可存储于图5的缓冲存储器510。指令CMD(1)是指示经由通道CH(1)从实体群组91读取有效数据。指令CMD(0)、CMD(2)及CMD(3)则是指示经由通道CH(2)从实体群组92读取有效数据。此外,指令CMD(0)~CMD(3)在指令排列1210中的排序,反映指令CMD(0)~CMD(3)会被依序执行。
在限定数据收集操作中,指令CMD(0)~CMD(3)在指令排列1210中的排序可被更新。例如,指令CMD(2)与CMD(3)的优先权可被提高和/或指令CMD(1)的优先权可被降低。根据更新后的指令排列1210,指令CMD(0)、CMD(2)及CMD(3)可先于指令CMD(1)执行,以经由通道CH(2)连续读取图11中的有效数据1110。在获得完整的有效数据1110后,无论通道CH(1)是否处于忙碌状态,有效数据1110皆可立即经由通道CH(2)写入至实体群组92。在完成指令CMD(0)、CMD(2)及CMD(3)后,指令CMD(1)可被执行,以在通道CH(1)离开忙碌状态后经由通道CH(1)从实体群组91读取其余有效数据。
在一范例实施例的限定数据收集操作中,存储器管理电路502可评估第一通道的通道状态并根据第一通道的通道状态来排序指令排列中的至少一指令(例如图12的指令CMD(0)~CMD(3))。例如,存储器管理电路502可获得在第一写入操作中待写入至第一实体群组的有效数据(即第一数据)的数据量。存储器管理电路502可根据此数据量获得相应于第一写入操作,第一通道处于忙碌状态的一个时间长度(亦称为第一通道的忙碌时间)。以图11为例,第一通道相应于第一写入操作的忙碌时间为时间点T(0)至T(1)之间的时间长度。存储器管理电路502可根据第一通道的忙碌时间来排序指令排列中的多个指令(例如在图12的范例实施例中提高指令CMD(2)与CMD(3)的优先权和/或降低指令CMD(1)的优先权)。
须注意的是,在图12的范例实施例中,存储器管理电路502是先将多个指令加入至指令排列1210,然后再于指令排列1210中更新此些指令的排序。然而。在另一范例实施例中,存储器管理电路502亦可以是直接以图12中更新后的顺序将指令CMD(0)~CMD(3)加入至指令排列1210中,本发明不加以限制。
图13是根据本发明的一范例实施例所示出的存储器管理电路与可复写式非易失性存储器模块的示意图。请参照图13,在本范例实施例中,可复写式非易失性存储器模块406包括实体群组1310(1)~1310(4)。实体群组1310(1)与1310(2)属于第一实体群组。实体群组1310(3)与1310(4)属于第二实体群组。例如,实体群组1310(1)~1310(4)中的每一个实体群组可对应一个晶粒、一个芯片致能或一个存储器平面。通道CH(1)与CH(2)属于第一通道,而通道CH(3)与CH(4)属于第二通道。存储器管理电路502可分别经由通道CH(1)~CH(4)来存取实体群组1310(1)~1310(4)中的实体单元。
图14是根据本发明的一范例实施例所示出的数据整并操作中的多个通道的状态时序的示意图。请参照图13与图14,在启动数据整并操作后,一部分的有效数据(即第一数据)可被收集。在时间点T(0)’至T(1)’之间,存储器管理电路502可执行第一写入操作,以经由通道CH(1)与CH(2)将第一数据平行写入至实体群组1310(1)与1310(2)中的实体单元。因此,在时间点T(0)’至T(1)’之间,通道CH(1)与CH(2)处于忙碌状态。
另一方面,存储器管理电路502可执行限定数据收集操作以收集第二数据。例如,此限定数据收集操作可指示在时间点T(0)’至T(1)’之间(即通道CH(1)与CH(2)处于忙碌状态的期间),经由通道CH(3)与CH(4)从实体群组1310(3)与1310(4)中的来源单元收集有效数据1410(即第二数据)。此外,此限定数据收集操作可禁止安排需要等待到时间点T(1)’之后才从实体群组1310(1)与1310(2)收集数据的指令。然后,在时间点T(3)’(时间点T(3)’介于时间点T(0)’与T(1)’之间),存储器管理电路502可执行第二写入操作,以经由通道CH(3)与CH(4)将所收集的有效数据1410平行写入至实体群组1310(3)与1310(4)。
在一范例实施例的限定数据收集操作中,存储器管理电路502可调整指令排列(例如图12的指令排列1210),以安排在指示第一写入操作的至少一写入指令后的至少一读取指令皆为非读取第一实体群组中的数据的指令。例如,根据第一写入操作所对应的忙碌时间(即第一通道的忙碌时间),存储器管理电路502可限定排序在指示第一写入操作的至少一写入指令后的k个读取指令必须不是指示从第一实体群组读取数据的指令。数值k可为正整数。数值k可根据第一通道的忙碌时间而决定。例如,数值k可正相关于第一通道的忙碌时间。
在一范例实施例的限定数据收集操作中,存储器管理电路502可评估第一通道的状态(即第一通道的通道状态)并根据第一通道的状态来延后所述指令排列中会经由第一通道执行数据读取的至少一读取指令的排序。以图14为例,存储器管理电路502可提高指令排列中的第一指令的优先权和/或降低指令排列中的第二指令的优先权,来满足图14的操作时序。例如,存储器管理电路502可评估对应于第一写入操作,通道CH(1)与CH(2)处于忙碌状态的时间长度(即时间点T(0)’至T(1)’之间的时间长度)。存储器管理电路502可根据此时间长度排序指令排列中的多个指令。然后,存储器管理电路502可根据此些排序后的指令来执行图14的数据收集操作与数据写入操作,从而提高数据整并操作的效率。
须注意的是,在一范例实施例中,第一写入操作、第二写入操作及限定数据收集操作皆是响应于数据整并操作的启动而执行。然而,在另一范例实施例中,第一写入操作亦可能不是响应于数据整并操作的启动而执行。例如,在一范例实施例中,第一写入操作亦可以是响应于来自图1的主机***11的写入指令而执行。
图15是根据本发明的一范例实施例所示出的存储器控制方法的流程图。请参照图15,在步骤S1501中,执行第一写入操作以经由至少一第一通道将第一数据写入至至少一第一实体群组中的至少一第一实体单元。在步骤S1502中,执行限定数据收集操作以收集第二数据。所述限定数据收集操作限定所述第二数据不包含所述至少一第一实体群组中需要等待所述第一写入操作完成后才能收集的数据。在步骤S1503中,在执行第一写入操作的期间,执行第二写入操作以经由至少一第二通道将第二数据写入至至少一第二实体群组中的至少一第二实体单元。此外,所述限定数据收集操作与所述第二写入操作皆是用以释放至少一闲置实体单元。
图16是根据本发明的一范例实施例所示出的存储器控制方法的流程图。请参照图16,在步骤S1601中,执行数据整并操作。在步骤S1602中,响应于所述数据整并操作的启动,执行限定数据收集操作与第二写入操作,以释放至少一闲置实体单元。
图17是根据本发明的一范例实施例所示出的存储器控制方法的流程图。请参照图17,在步骤S1701中,在缓冲存储器中维护表格信息,其中所述表格信息记载与数据整并操作有关的信息。在步骤S1702中,根据所述表格信息在缓冲存储器中维护指令排列,以调整至少一指令在所述指令排列中的排序。例如,所述指令排列中的指令可包含用于数据整并操作的读取指令与写入指令。
然而,图15至图17中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图15至图17中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图15至图17的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,可复写式非易失性存储器模块包括至少一第一实体群组与至少一第二实体群组。在执行第一写入操作以经由第一通道将第一数据写入至第一实体群组中的实体单元的期间,第二写入操作可被执行以经由第二通道将第二数据写入至第二实体群组中的实体单元。此外,在数据整并操作中,一个限定数据收集操作也可被执行以收集所述第二数据。特别是,此限定数据收集操作用以限定所述第二数据不包含第一实体群组中需要等待第一写入操作完成后才能收集的数据。藉此,可改善因特定通道处于忙碌状态而无法即时经由所述通道收集有效数据而引起的***效能下降问题。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定的为准。
Claims (27)
1.一种存储器控制方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括至少一第一实体群组与至少一第二实体群组,其特征在于,所述存储器控制方法包括:
执行第一写入操作以经由至少一第一通道将第一数据写入至所述至少一第一实体群组中的至少一第一实体单元;
执行限定数据收集操作以收集第二数据,其中所述限定数据收集操作限定所述第二数据不包含所述至少一第一实体群组中需要等待所述第一写入操作完成后才能收集的数据;以及
在执行所述第一写入操作的期间,执行第二写入操作以经由至少一第二通道将所述第二数据写入至所述至少一第二实体群组中的至少一第二实体单元,
其中所述限定数据收集操作与所述第二写入操作是用以释放至少一闲置实体单元,
其中所述限定数据收集操作包括:
调整缓冲存储器中的指令排列,以安排在指示所述第一写入操作的至少一写入指令后的至少一读取指令皆为非读取所述至少一第一实体群组中的数据的指令。
2.根据权利要求1所述的存储器控制方法,还包括:
启动数据整并操作,以执行所述限定数据收集操作与所述第二写入操作。
3.根据权利要求1所述的存储器控制方法,其中在执行所述第一写入操作的期间,所述至少一第一通道处于忙碌状态。
4.根据权利要求1所述的存储器控制方法,其中所述至少一第一实体群组对应于所述可复写式非易失性存储器模块中的至少一第一晶粒,且所述至少一第二实体群组对应于所述可复写式非易失性存储器模块中的至少一第二晶粒。
5.根据权利要求1所述的存储器控制方法,其中所述限定数据收集操作还包括:
调整所述缓冲存储器中的至少一指令的优先权,其中所述至少一指令用以指示在所述第一写入操作完成后从所述至少一第一实体群组收集有效数据。
6.根据权利要求1所述的存储器控制方法,其中所述限定数据收集操作还包括:
在所述缓冲存储器中维护表格信息,其中所述表格信息记载与数据整并操作有关的信息;以及
根据所述表格信息在所述缓冲存储器中调整至少一指令的排序。
7.根据权利要求6所述的存储器控制方法,其中根据所述表格信息在所述缓冲存储器中调整所述至少一指令的所述排序的步骤包括:
根据所述至少一第一通道的通道状态排序所述至少一指令。
8.根据权利要求7所述的存储器控制方法,其中根据所述至少一第一通道的所述通道状态排序所述至少一指令的步骤包括:
评估对应于所述第一写入操作,所述至少一第一通道的忙碌时间;以及
根据所述忙碌时间排序所述至少一指令。
9.根据权利要求1所述的存储器控制方法,其中所述限定数据收集操作还包括:
评估所述至少一第一通道的状态;以及
根据所述至少一第一通道的所述状态延后指令排列中会经由所述至少一第一通道执行数据读取的至少一读取指令的排序。
10.一种存储装置,其特征在于,包括:
连接接口单元,用以连接至主机***;
可复写式非易失性存储器模块,其包括至少一第一实体群组与至少一第二实体群组;以及
存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以执行第一写入操作以经由至少一第一通道将第一数据写入至所述至少一第一实体群组中的至少一第一实体单元,
所述存储器控制电路单元还用以执行限定数据收集操作以收集第二数据,其中所述限定数据收集操作限定所述第二数据不包含所述至少一第一实体群组中需要等待所述第一写入操作完成后才能收集的数据,
在执行所述第一写入操作的期间,所述存储器控制电路单元还用以执行第二写入操作以经由至少一第二通道将所述第二数据写入至所述至少一第二实体群组中的至少一第二实体单元,并且
所述限定数据收集操作与所述第二写入操作是用以释放至少一闲置实体单元,
其中所述限定数据收集操作包括:
调整缓冲存储器中的指令排列,以安排在指示所述第一写入操作的至少一写入指令后的至少一读取指令皆为非读取所述至少一第一实体群组中的数据的指令。
11.根据权利要求10所述的存储装置,其中所述存储器控制电路单元还用以启动数据整并操作,以执行所述限定数据收集操作与所述第二写入操作。
12.根据权利要求10所述的存储装置,其中在执行所述第一写入操作的期间,所述至少一第一通道处于忙碌状态。
13.根据权利要求10所述的存储装置,其中所述至少一第一实体群组对应于所述可复写式非易失性存储器模块中的至少一第一晶粒,且所述至少一第二实体群组对应于所述可复写式非易失性存储器模块中的至少一第二晶粒。
14.根据权利要求10所述的存储装置,其中所述限定数据收集操作还包括:
调整所述缓冲存储器中的至少一指令的优先权,其中所述至少一指令用以指示在所述第一写入操作完成后从所述至少一第一实体群组收集有效数据。
15.根据权利要求10所述的存储装置,其中所述限定数据收集操作还包括:
在所述存储器控制电路单元的所述缓冲存储器中维护表格信息,其中所述表格信息记载与数据整并操作有关的信息;以及
根据所述表格信息在所述缓冲存储器中调整至少一指令的排序。
16.根据权利要求15所述的存储装置,其中根据所述表格信息在所述缓冲存储器中调整所述至少一指令的所述排序的操作包括:
根据所述至少一第一通道的通道状态排序所述至少一指令。
17.根据权利要求16所述的存储装置,其中所述存储器控制电路单元根据所述至少一第一通道的所述通道状态排序所述至少一指令的操作包括:
评估对应于所述第一写入操作,所述至少一第一通道的忙碌时间;以及
根据所述忙碌时间排序所述至少一指令。
18.根据权利要求10所述的存储装置,其中所述限定数据收集操作还包括:
评估所述至少一第一通道的状态;以及
根据所述至少一第一通道的所述状态延后指令排列中会经由所述至少一第一通道执行数据读取的至少一读取指令的排序。
19.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括至少一第一实体群组与至少一第二实体群组,其特征在于,所述存储器控制电路单元包括:
主机接口,用以连接至主机***;
存储器接口,用以连接至所述可复写式非易失性存储器模块;
缓冲存储器;以及
存储器管理电路,连接至所述主机接口、所述存储器接口及所述缓冲存储器,
其中所述存储器管理电路用以执行第一写入操作以经由至少一第一通道将第一数据写入至所述至少一第一实体群组中的至少一第一实体单元,
所述存储器管理电路还用以执行限定数据收集操作以收集第二数据,其中所述限定数据收集操作限定所述第二数据不包含所述至少一第一实体群组中需要等待所述第一写入操作完成后才能收集的数据,
在执行所述第一写入操作的期间,所述存储器管理电路还用以执行第二写入操作以经由至少一第二通道将所述第二数据写入至所述至少一第二实体群组中的至少一第二实体单元,并且
所述限定数据收集操作与所述第二写入操作是用以释放至少一闲置实体单元,
其中所述限定数据收集操作包括:
调整所述缓冲存储器中的指令排列,以安排在指示所述第一写入操作的至少一写入指令后的至少一读取指令皆为非读取所述至少一第一实体群组中的数据的指令。
20.根据权利要求19所述的存储器控制电路单元,其中所述存储器管理电路还用以启动数据整并操作,以执行所述限定数据收集操作与所述第二写入操作。
21.根据权利要求19所述的存储器控制电路单元,其中在执行所述第一写入操作的期间,所述至少一第一通道处于忙碌状态。
22.根据权利要求19所述的存储器控制电路单元,其中所述至少一第一实体群组对应于所述可复写式非易失性存储器模块中的至少一第一晶粒,且所述至少一第二实体群组对应于所述可复写式非易失性存储器模块中的至少一第二晶粒。
23.根据权利要求19所述的存储器控制电路单元,其中所述限定数据收集操作还包括:
调整所述缓冲存储器中的至少一指令的优先权,其中所述至少一指令用以指示在所述第一写入操作完成后从所述至少一第一实体群组收集有效数据。
24.根据权利要求19所述的存储器控制电路单元,其中所述限定数据收集操作还包括:
在所述缓冲存储器中维护表格信息,其中所述表格信息记载与数据整并操作有关的信息;以及
根据所述表格信息在所述缓冲存储器中调整至少一指令的排序。
25.根据权利要求24所述的存储器控制电路单元,其中根据所述表格信息在所述缓冲存储器中调整所述至少一指令的所述排序的操作包括:
根据所述至少一第一通道的通道状态排序所述至少一指令。
26.根据权利要求25所述的存储器控制电路单元,其中所述存储器管理电路根据所述至少一第一通道的所述通道状态排序所述至少一指令的操作包括:
评估对应于所述第一写入操作,所述至少一第一通道的忙碌时间;以及
根据所述忙碌时间排序所述至少一指令。
27.根据权利要求19所述的存储器控制电路单元,其中所述限定数据收集操作还包括:
评估所述至少一第一通道的状态;以及
根据所述至少一第一通道的所述状态延后指令排列中会经由所述至少一第一通道执行数据读取的至少一读取指令的排序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910536847.4A CN112114737B (zh) | 2019-06-20 | 2019-06-20 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910536847.4A CN112114737B (zh) | 2019-06-20 | 2019-06-20 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112114737A CN112114737A (zh) | 2020-12-22 |
CN112114737B true CN112114737B (zh) | 2022-10-04 |
Family
ID=73796023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910536847.4A Active CN112114737B (zh) | 2019-06-20 | 2019-06-20 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112114737B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731710A (zh) * | 2013-12-18 | 2015-06-24 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器储存装置 |
CN106354660A (zh) * | 2016-08-30 | 2017-01-25 | 深圳市先天海量信息技术有限公司 | 固态存储设备的垃圾回收方法及装置 |
TWI615710B (zh) * | 2016-12-14 | 2018-02-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100262979A1 (en) * | 2009-04-08 | 2010-10-14 | Google Inc. | Circular command queues for communication between a host and a data storage device |
US9400603B2 (en) * | 2014-12-16 | 2016-07-26 | International Business Machines Corporation | Implementing enhanced performance flash memory devices |
US10095414B2 (en) * | 2016-03-07 | 2018-10-09 | Toshiba Memory Corporation | Memory system including a controller and a nonvolatile memory having memory blocks |
US11288017B2 (en) * | 2017-02-23 | 2022-03-29 | Smart IOPS, Inc. | Devices, systems, and methods for storing data using distributed control |
US10503412B2 (en) * | 2017-05-24 | 2019-12-10 | Western Digital Technologies, Inc. | Priority-based internal data movement |
-
2019
- 2019-06-20 CN CN201910536847.4A patent/CN112114737B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731710A (zh) * | 2013-12-18 | 2015-06-24 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器储存装置 |
CN106354660A (zh) * | 2016-08-30 | 2017-01-25 | 深圳市先天海量信息技术有限公司 | 固态存储设备的垃圾回收方法及装置 |
TWI615710B (zh) * | 2016-12-14 | 2018-02-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
Also Published As
Publication number | Publication date |
---|---|
CN112114737A (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109491588B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN110879793B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN111400201B (zh) | 快闪存储器的数据整理方法、存储装置及控制电路单元 | |
CN107239225B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN110390985B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TW202038098A (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN111258505B (zh) | 快闪存储器的数据合并方法、控制电路单元与存储装置 | |
CN106775479B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
US11755242B2 (en) | Data merging method, memory storage device for updating copied L2P mapping table according to the physical address of physical unit | |
CN112051971B (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
TWI717755B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN111737165B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN110837339A (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
CN111767005B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TW202109536A (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN107132989B (zh) | 数据程序化方法、存储器控制电路单元及存储器存储装置 | |
CN112114737B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN112394883A (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
CN110096215B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
TW202026884A (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI823792B (zh) | 映射表更新方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI738272B (zh) | 快閃記憶體之資料整理方法、快閃記憶體儲存裝置及快閃記憶體控制電路單元 | |
CN112445418B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN109471806B (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 |