CN110908591B - 存储器管理方法、存储器储存装置及存储器控制电路单元 - Google Patents
存储器管理方法、存储器储存装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN110908591B CN110908591B CN201811079996.4A CN201811079996A CN110908591B CN 110908591 B CN110908591 B CN 110908591B CN 201811079996 A CN201811079996 A CN 201811079996A CN 110908591 B CN110908591 B CN 110908591B
- Authority
- CN
- China
- Prior art keywords
- instruction
- type
- memory
- queue
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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
-
- 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-volatilememory module)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
在存储器储存装置的运作过程中,主机系统可以下达特定指令给存储器储存装置,以指示存储器储存装置将缓冲存储器中的数据全部搬移至可复写式非易失性存储器模块。一般来说,每当收到此特定指令时,存储器储存装置就会搬移一次缓冲存储器的数据。然而,在某些状况下,主机系统可能会在短时间内发送多个特定指令,使得存储器储存装置频繁地执行数据搬移。藉此,写入放大可能会大幅增加并降低存储器储存装置的使用寿命。
发明内容
本发明提供一种存储器管理方法、存储器储存装置及存储器控制电路单元,可改善上述问题。
本发明的范例实施例提供一种存储器管理方法,其用于可复写式非易失性存储器模块。所述存储器管理方法包括:从主机系统接收第一类指令并将所述第一类指令暂存至第一指令伫列;在接收所述第一类指令后,从所述主机系统接收第二类指令并将所述第二类指令暂存至第二指令伫列;若所述第一指令伫列符合预设条件,根据所述第一指令伫列中的所述第一类指令执行程序化操作以程序化所述可复写式非易失性存储器模块;以及在执行所述程序化操作后,传送对应于所述第二指令伫列中的所述第二类指令的回应信息至所述主机系统。
在本发明的一范例实施例中,所述的存储器管理方法还包括:记录关联信息,其中所述关联信息用以关联所述第二指令伫列中的所述第二类指令与所述第一指令伫列中的所述第一类指令。
在本发明的一范例实施例中,所述的存储器管理方法还包括:若所述第一指令伫列中待储存的数据量符合数据管理单元,判定所述第一指令伫列符合所述预设条件。
在本发明的一范例实施例中,所述的存储器管理方法还包括:启动第一计数器;以及在所述第一计数器的计数值符合第一计数值后,将虚设数据暂存至所述第一指令伫列。
在本发明的一范例实施例中,根据所述第一指令伫列中的所述第一类指令执行程序化操作的步骤包括:根据所述第一指令伫列中的所述第一类指令与所述虚设数据执行所述程序化操作。
在本发明的一范例实施例中,所述的存储器管理方法还包括:启动第二计数器;若所述第二计数器的计数值符合第二计数值,根据所述第一指令伫列中的所述第一类指令执行所述程序化操作。
在本发明的一范例实施例中,所述的存储器管理方法还包括:若所述第一指令伫列不符合所述预设条件,将所述第一类指令维持在所述第一指令伫列中,且暂不响应于所述第二类指令而执行所述程序化操作。
本发明的范例实施例还提供一种存储器储存装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。所述连接接口单元用以连接至主机系统。所述存储器控制电路单元连接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元用以从所述主机系统接收第一类指令并将所述第一类指令暂存至第一指令伫列。在接收所述第一类指令后,所述存储器控制电路单元还用以从所述主机系统接收第二类指令并将所述第二类指令暂存至第二指令伫列。若所述第一指令伫列符合预设条件,所述存储器控制电路单元还用以根据所述第一指令伫列中的所述第一类指令发送写入指令序列,且所述写入指令序列指示执行程序化操作以程序化所述可复写式非易失性存储器模块,并且在执行所述程序化操作后,所述存储器控制电路单元还用以传送对应于所述第二指令伫列中的所述第二类指令的回应信息至所述主机系统。
在本发明的一范例实施例中,所述存储器控制电路单元还用以记录关联信息,且所述关联信息用以关联所述第二指令伫列中的所述第二类指令与所述第一指令伫列中的所述第一类指令。
在本发明的一范例实施例中,若所述第一指令伫列中待储存的数据量符合数据管理单元,所述存储器控制电路单元还用以判定所述第一指令伫列符合所述预设条件。
在本发明的一范例实施例中,所述存储器控制电路单元还用以启动第一计数器,并且在所述第一计数器的计数值符合一第一计数值后,所述存储器控制电路单元还用以将虚设数据暂存至所述第一指令伫列。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述第一指令伫列中的所述第一类指令发送所述写入指令序列的操作包括:根据所述第一指令伫列中的所述第一类指令与所述虚设数据发送所述写入指令序列。
在本发明的一范例实施例中,所述存储器控制电路单元还用以启动第二计数器,并且若所述第二计数器的计数值符合第二计数值,所述存储器控制电路单元还用以根据所述第一指令伫列中的所述第一类指令发送所述写入指令序列。
在本发明的一范例实施例中,若所述第一指令伫列不符合所述预设条件,所述存储器控制电路单元还用以将所述第一类指令维持在所述第一指令伫列中,且暂不响应于所述第二类指令而发送所述写入指令序列。
本发明的范例实施例还提供一种存储器控制电路单元,其用于控制可复写式非易失性存储器模块,所述存储器控制电路单元包括主机接口、存储器接口、缓冲存储器及存储器管理电路。所述主机接口用以连接至主机系统。所述存储器接口用以连接至所述可复写式非易失性存储器模块。所述存储器管理电路连接至所述主机接口、所述存储器接口及所述缓冲存储器。所述存储器管理电路用以从所述主机系统接收第一类指令并将所述第一类指令暂存至所述缓冲存储器的第一指令伫列。在接收所述第一类指令后,所述存储器管理电路还用以从所述主机系统接收第二类指令并将所述第二类指令暂存至所述缓冲存储器的第二指令伫列。若所述第一指令伫列符合预设条件,所述存储器管理电路还用以根据所述第一指令伫列中的所述第一类指令发送写入指令序列,且所述写入指令序列指示执行程序化操作以程序化所述可复写式非易失性存储器模块,并且在执行所述程序化操作后,所述存储器管理电路还用以传送对应于所述第二指令伫列中的所述第二类指令的回应信息至所述主机系统。
在本发明的一范例实施例中,所述存储器管理电路还用以记录关联信息,且所述关联信息用以关联所述第二指令伫列中的所述第二类指令与所述第一指令伫列中的所述第一类指令。
在本发明的一范例实施例中,若所述第一指令伫列中待储存的数据量符合数据管理单元,所述存储器管理电路还用以判定所述第一指令伫列符合所述预设条件。
在本发明的一范例实施例中,所述存储器管理电路还用以启动第一计数器,并且在所述第一计数器的计数值符合第一计数值后,所述存储器管理电路还用以将虚设数据暂存至所述第一指令伫列。
在本发明的一范例实施例中,所述存储器管理电路根据所述第一指令伫列中的所述第一类指令发送所述写入指令序列的操作包括:根据所述第一指令伫列中的所述第一类指令与所述虚设数据发送所述写入指令序列。
在本发明的一范例实施例中,所述存储器管理电路还用以启动第二计数器,并且若所述第二计数器的计数值符合第二计数值,所述存储器管理电路还用以根据所述第一指令伫列中的所述第一类指令发送所述写入指令序列。
在本发明的一范例实施例中,若所述第一指令伫列不符合所述预设条件,所述存储器管理电路还用以将所述第一类指令维持在所述第一指令伫列中,且暂不响应于所述第二类指令而发送所述写入指令序列。
在本发明的一范例实施例中,所述第一类指令包括写入指令,且所述第二类指令包括同步快取指令、写入强制单元存取指令及读取强制单元存取指令的至少其中之一。
基于上述,来自主机系统的第一类指令与第二类指令可分别暂存于第一指令伫列与第二指令伫列。若第一指令伫列符合预设条件,可复写式非易失性存储器模块可根据第一指令伫列中的数据进行程序化,并且对应于第二指令伫列中的第二类指令的回应信息可被传送至主机系统。藉此,可减少改善存储器储存装置的写入放大并可延长存储器储存装置的使用寿命。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机系统、存储器储存装置及输入/输出(I/O)装置的示意图。
图2是根据本发明的另一范例实施例所示出的主机系统、存储器储存装置及I/O装置的示意图。
图3是根据本发明的另一范例实施例所示出的主机系统与存储器储存装置的示意图。
图4是根据本发明的一范例实施例所示出的存储器储存装置的概要方块图。
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。
图7是根据本发明的一范例实施例所示出的存储器储存装置与主机系统的示意图。
图8A至图8F是根据本发明的一范例实施例所示出的存储器管理操作的示意图。
图9A至图9D是根据本发明的一范例实施例所示出的存储器管理操作的示意图。
图10A至图10C是根据本发明的一范例实施例所示出的存储器管理操作的示意图。
图11是根据本发明的一范例实施例所示出的关联信息的示意图。
图12是根据本发明的一范例实施例所示出的存储器管理方法的流程图。
图13是根据本发明的一范例实施例所示出的存储器管理方法的流程图。
【符号说明】
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:替换区
610(0)~610(B):实体单元
612(0)~612(C):逻辑单元
710、720:指令伫列
W0~W3、S1~S3:指令
D1、D2:虚设数据
1101:关联信息
PCA1~PCA3:实体快取地址
S1201:步骤(从主机系统接收第一类指令并将第一类指令暂存至第一指令伫列)
S1202:步骤(从主机系统接收第二类指令并将第二类指令暂存至第二指令伫列)
S1203:步骤(判断第一指令伫列是否符合预设条件)
S1204:步骤(根据第一指令伫列中的第一类指令执行程序化操作以程序化可复写式非易失性存储器模块)
S1205:步骤(传送对应于第二指令伫列中的第二类指令的回应信息至主机系统)
S1301:步骤(从主机系统接收第一类指令并将第一类指令暂存至第一指令伫列)
S1302:步骤(从主机系统接收第二类指令并将第二类指令暂存至第二指令伫列)
S1303:步骤(判断第一指令伫列是否符合预设条件)
S1304:步骤(判断第一计数器的计数值是否符合第一计数值)
S1305:步骤(将虚设数据暂存至第一指令伫列)
S1306:步骤(判断第二计数器的计数值是否符合第二计数值)
S1307:步骤(根据第一指令伫列中的第一类指令(或可包括虚设数据)执行程序化操作以程序化可复写式非易失性存储器模块)
S1308:步骤(传送对应于第二指令伫列中的第二类指令的回应信息至主机系统)
具体实施方式
一般而言,存储器储存装置(也称,存储器储存系统)包括可复写式非易失性存储器模块(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。在本范例实施例中,连接接口单元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可以是单阶记忆胞(SingleLevel Cell,SLC)NAND型快闪存储器模块(即,一个记忆胞中可储存1个比特的快闪存储器模块)、多阶记忆胞(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个记忆胞中可储存2个比特的快闪存储器模块)、复数阶记忆胞(Triple Level Cell,TLC)NAND型快闪存储器模块(即,一个记忆胞中可储存3个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块406中的每一个记忆胞是以电压(以下也称为临界电压)的改变来储存一或多个比特。具体来说,每一个记忆胞的控制栅极(control gate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷捕捉层的电子量,进而改变记忆胞的临界电压。此改变记忆胞的临界电压的操作也称为“把数据写入至记忆胞”或“程序化(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并且用以接收与识别主机系统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会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正操作。
缓冲存储器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会在缓冲存储器510中配置指令伫列(也称为第一指令伫列)710与指令伫列(也称为第二指令伫列)720。指令伫列710与720彼此独立。然而,在另一范例实施例中,指令伫列710与720的至少其中之一也可配置于可复写式非易失性存储器模块406中(例如可复写式非易失性存储器模块406中的一个快取区或缓冲区)。
存储器管理电路502会从主机系统11接收第一类指令与第二类指令。第一类指令包括写入指令。第二类指令包括同步快取指令、写入强制单元存取(ForceUnit Access,FUA)指令及读取FUA指令的至少其中之一。在一范例实施例中,第二类指令可用以指示将缓冲存储器510中待储存的数据储存至可复写式非易失性存储器模块406中。存储器管理电路502会将接收到的第一类指令暂存至指令伫列710并将接收到的第二类指令暂存至指令伫列720。
在接收到第二类指令后(或响应于第二类指令),存储器管理电路502会判断指令伫列710是否符合预设条件。若指令伫列710符合预设条件,存储器管理电路502会根据指令伫列710中的数据(例如第一类指令)发送一个写入指令序列。此写入指令序列用以指示执行一个程序化操作以根据指令伫列710中的数据(例如第一类指令)程序化可复写式非易失性存储器模块406。在执行此程序化操作后,存储器管理电路502会传送对应于指令伫列720中的至少一个第二类指令的回应信息至主机系统11。然而,若指令伫列710不符合预设条件,则存储器管理电路502可将第一类指令维持在指令伫列710中,且暂不响应于所接收到的第二类指令而执行相应的程序化操作。相对于传统上一旦接收到第二类指令就执行相应的程序化操作,本发明的一范例实施例可有效降低数据的写入放大以及对存储器储存装置的存取次数。
在一范例实施例中,存储器管理电路502可判断指令伫列710中待储存的数据是否符合一个数据管理单元。若指令伫列710中待储存的数据符合一个数据管理单元,存储器管理电路502可判定指令伫列710符合预设条件。然而,若指令伫列710中待储存的数据不符合一个数据管理单元,存储器管理电路502可判定指令伫列710不符合预设条件。
在一范例实施例中,存储器管理电路502可判断指令伫列710中待储存的数据的数据量是否不少于(即大于或等于)一个数据管理单元的数据量。若指令伫列710中待储存的数据的数据量不少于一个数据管理单元的数据量,存储器管理电路502可判定指令伫列710中待储存的数据符合一个数据管理单元。然而,若指令伫列710中待储存的数据的数据量少于一个数据管理单元的数据量,则存储器管理电路502可判定指令伫列710中待储存的数据不符合一个数据管理单元。
在一范例实施例中,一个数据管理单元是指一个实体单元(例如图6的实体单元610(0)~610(A)的任一者),且一个实体单元的数据量是16KB。然而,在另一范例实施例中,一个数据管理单元的数据量还可以是更多或更少。
图8A至图8F是根据本发明的一范例实施例所示出的存储器管理操作的示意图。
请参照图8A,存储器管理电路502可从主机系统11接收一个指令W0。指令W0为第一类指令,例如写入指令。存储器管理电路502可将指令W0(包含指令W0所指示储存的数据)暂存至指令伫列710。
请参照图8B,在将指令W0暂存至指令伫列710后,存储器管理电路502可从主机系统11接收一个指令W1。指令W1为第一类指令,例如写入指令。在接收指令W1后,存储器管理电路502可从主机系统11接收一个指令S1。指令S1为第二类指令。例如,指令S1可为同步快取指令、写入FUA指令及读取FUA指令的其中之一。存储器管理电路502可将指令W1(包含指令W1所指示储存的数据)暂存至指令伫列710并将指令S1暂存至指令伫列720。然后,响应于指令S1,存储器管理电路502可判断指令伫列710是否符合预设条件。
在图8B的范例实施例中,指令W0与W1所指示储存的数据的数据量的总和少于一个数据管理单元的数据量,故存储器管理电路502可判定指令伫列710不符合预设条件且暂不将指令W0与W1所指示储存的数据写入至可复写式非易失性存储器模块406中。
请参照图8C,在分别将指令W1与S1暂存至指令伫列710与720后,存储器管理电路502可从主机系统11接收一个指令W2。指令W2为第一类指令,例如写入指令。在接收指令W2后,存储器管理电路502可从主机系统11接收一个指令S2。指令S2为第二类指令。例如,指令S2可为同步快取指令、写入FUA指令及读取FUA指令的其中之一。存储器管理电路502可将指令W2(包含指令W2所指示储存的数据)暂存至指令伫列710并将指令S2暂存至指令伫列720。然后,存储器管理电路502可判断指令伫列710是否符合预设条件。
在图8C的范例实施例中,指令W0、W1及W2所指示储存的数据的数据量的总和少于一个数据管理单元的数据量,故存储器管理电路502可判定指令伫列710不符合预设条件且暂不将指令W0、W1及W2所指示储存的数据写入至可复写式非易失性存储器模块406中。
请参照图8D,在分别将指令W2与S2暂存至指令伫列710与720后,存储器管理电路502可从主机系统11接收一个指令W3。指令W3为第一类指令,例如写入指令。在接收指令W3后,存储器管理电路502可从主机系统11接收一个指令S3。指令S3为第二类指令。例如,指令S3可为同步快取指令、写入FUA指令及读取FUA指令的其中之一。存储器管理电路502可将指令W3(包含指令W3所指示储存的数据)暂存至指令伫列710并将指令S3暂存至指令伫列720。然后,存储器管理电路502可判断指令伫列710是否符合预设条件。例如,假设指令W0~W3所指示储存的数据的数据量的总和为16KB,其不少于一个数据管理单元的数据量,故存储器管理电路502可判定指令伫列710符合预设条件。
请参照图8E,在判定指令伫列710符合预设条件后,存储器管理电路502可读取指令伫列710中的指令W0~W3。然后,存储器管理电路502可根据指令W0~W3发送一个写入指令序列以指示将指令W0~W3所指示储存的数据写入至可复写式非易失性存储器模块406中。例如,指令W0~W3所指示储存的数据会被写入至同一个实体单元(例如图6的实体单元610(0))。
请参照图8F,在将指令W0~W3所指示储存的数据写入至可复写式非易失性存储器模块406后,存储器管理电路502可清空指令伫列710。另外,响应于指令W0~W3所指示储存的数据(或缓冲存储器510中待储存的数据)已被储存至可复写式非易失性存储器模块406,存储器管理电路502可传送对应于指令S1~S3的回应信息给主机系统11。此回应信息可通知主机系统11对应于指令S1~S3的数据存取操作已完成。在传送对应于指令S1~S3的回应信息至主机系统11后,存储器管理电路502可清空指令伫列720。
在一范例实施例中,存储器管理电路502可启动一个计数器(也称为第一计数器)。在第一计数器的计数值符合某一计数值(也称为第一计数值)后,存储器管理电路502可将虚设数据暂存至指令伫列710。也就是说,在接收到某一个第二类指令之后,若在一预设时间范围内没有接收到下一个第一类指令,则虚设数据就会用来填补指令伫列710中的一部分储存空间。在一范例实施例中,一旦将虚设数据或第一类指令存入指令伫列710,则第一计数器的计数值可被重置。
图9A至图9D是根据本发明的一范例实施例所示出的存储器管理操作的示意图。须注意的是,图9A至图9D的范例实施例例如是接续于图8B的范例实施例。
请参照9A,在接收到指令S1之后,存储器管理电路502可启动第一计数器。或者,从另一角度来看,第一计数器可以是响应于指令S1而被启动。在启动第一计数器后,若第一计数器的计数值符合第一计数值且在此计数期间内没有接收到新的第一类指令,存储器管理电路502可将虚设数据D1暂存至指令伫列710。虚设数据D1是由存储器管理电路502产生的无意义数据或无效数据。
请参照图9B,在将虚设数据D1暂存至指令伫列710后,存储器管理电路502可从主机系统11接收指令W2。指令W2为第一类指令,例如写入指令。在接收指令W2后,存储器管理电路502可从主机系统11接收指令S2。指令S2为第二类指令。例如,指令S2可为同步快取指令、写入FUA指令及读取FUA指令的其中之一。存储器管理电路502可将指令W2(包含指令W2所指示储存的数据)暂存至指令伫列710并将指令S2暂存至指令伫列720。然后,存储器管理电路502可判断指令伫列710是否符合预设条件。例如,存储器管理电路502可判断指令W0~W2所指示储存的数据以及虚设数据D1的数据量的总和是否不小于一个数据管理单元的数据量。
在图9B的范例实施例中,假设指令W0~W2所指示储存的数据以及虚设数据D1的数据量的总和不小于一个数据管理单元的数据量,故存储器管理电路502可判定指令伫列710符合预设条件。
请参照图9C,在判定指令伫列710符合预设条件后,存储器管理电路502可读取指令伫列710中的指令W0~W2及虚设数据D1。然后,存储器管理电路502可根据指令W0~W2及虚设数据D1发送一个写入指令序列以指示将指令W0~W2所指示储存的数据及虚设数据D1写入至可复写式非易失性存储器模块406中。例如,指令W0~W2所指示储存的数据及虚设数据D1会被写入至同一个实体单元(例如图6的实体单元610(0))。
请参照图9D,在将指令W0~W2所指示储存的数据及虚设数据D1写入至可复写式非易失性存储器模块406后,存储器管理电路502可清空指令伫列710。另外,响应于指令W0~W2所指示储存的数据(或缓冲存储器510中待储存的数据)已被储存至可复写式非易失性存储器模块406,存储器管理电路502可传送对应于指令S1与S2的回应信息给主机系统11。此回应信息可通知主机系统11对应于指令S1与S2的数据存取操作已完成。在传送对应于指令S1与S2的回应信息至主机系统11后,存储器管理电路502可清空指令伫列720。
在一范例实施例中,存储器管理电路502可启动另一个计数器(也称为第二计数器)。在第二计数器的计数值符合一计数值(也称为第二计数值)后,为避免回应逾时,存储器管理电路502可根据指令伫列710中的数据(例如第一类指令和/或虚设数据)程序化可复写式非易失性存储器模块406。也就是说,在接收到某一个第二类指令之后,若在即将发生回应逾时的时间点指令伫列710仍未符合预设条件,则存储器管理电路502可以直接将缓冲存储器510中待储存的数据储存至可复写式非易失性存储器模块406并传送相应于此第二类指令的回应信息至主机系统11,以避免发生回应逾时。在一范例实施例中,第二计数值大于第一计数值。例如,第二计数值可为第一计数值的N倍。N可例如为4或其他数值。
图10A至图10C是根据本发明的一范例实施例所示出的存储器管理操作的示意图。须注意的是,图10A至图10C的范例实施例例如是接续于图9A的范例实施例。
请参照图10A,在将虚设数据D1暂存至指令伫列710后,若第一计数器的计数值再次符合第一计数值且在此计数期间内没有接收到新的第一类指令,则存储器管理电路502可进一步将虚设数据D2暂存至指令伫列710。
请参照图10B,假设第二计数器也是响应于指令S1而被启动。在启动第二计数器后,若第二计数器的计数值符合第二计数值,则存储器管理电路502可根据指令W0与W1及虚设数据D1与D2发送一个写入指令序列以指示将指令W0与W1所指示储存的数据及虚设数据D1与D2写入至可复写式非易失性存储器模块406中。例如,指令W0与W1所指示储存的数据及虚设数据D1与D2会被写入至同一个实体单元(例如图6的实体单元610(0))。
须注意的是,在图10B的另一范例实施例中,第二计数器可不被设置。存储器管理电路502可响应于指令伫列710符合预设条件而发送写入指令序列以指示将指令W0与W1所指示储存的数据及虚设数据D1与D2写入至可复写式非易失性存储器模块406中。
请参照图10C,在将指令W0与W1所指示储存的数据及虚设数据D1与D2写入至可复写式非易失性存储器模块406后,存储器管理电路502可清空指令伫列710。另外,响应于指令W0与W1所指示储存的数据(或缓冲存储器510中待储存的数据)已被储存至可复写式非易失性存储器模块406,存储器管理电路502可传送对应于指令S1的回应信息给主机系统11。此回应信息可通知主机系统11对应于指令S1的数据存取操作已完成。在传送对应于指令S1的回应信息至主机系统11后,存储器管理电路502可清空指令伫列720。
在一范例实施例中,存储器管理电路502可以根据所接收的第一类指令与第二类指令记录关联信息。此关联信息用以关联指令伫列720中的第二类指令与指令伫列710中的第一类指令。
图11是根据本发明的一范例实施例所示出的关联信息的示意图。
请参照图8E、图8F与图11,存储器管理电路502可以根据指令伫列720中的指令S1~S3与指令伫列710中的指令W1~W3记录关联信息1101。例如,关联信息1101也可储存于缓冲存储器510中。关联信息1101可反映指令S1所对应的指令W1在指令伫列710中的实体快取地址PCA1,指令S2所对应的指令W2在指令伫列710中的实体快取地址PCA2,以及指令S3所对应的指令W3在指令伫列710中的实体快取地址PCA3。
根据关联信息1101,存储器管理电路502可获得指令伫列720中的第二类指令与指令伫列710中的第一类指令的接收顺序。例如,根据关联信息1101,存储器管理电路502可获得指令S1是接续在指令W1之后接收、指令S2是接续在指令W2之后接收、且指令S3是接续在指令W3之后接收。此外,根据关联信息1101,存储器管理电路502也可在回应信息中通知主机系统11,已经分别响应于指令S1~S3而将指令W1~W3(或实体快取地址PCA1~PCA3)所对应的数据储存至可复写式非易失性存储器模块406。
须注意的是,图11的关联信息1101的数据格式仅为范例,在另一范例实施例中,关联信息1101还可以使用其他数据格式和/或储存其他有用的数据,本发明不加以限制。
图12是根据本发明的一范例实施例所示出的存储器管理方法的流程图。
请参照图12,在步骤S1201中,从主机系统接收第一类指令并将第一类指令暂存至第一指令伫列。在接收所述第一类指令后,在步骤S1202中,从主机系统接收第二类指令并将第二类指令暂存至第二指令伫列。在步骤S1203中,判断第一指令伫列是否符合预设条件。若第一指令伫列符合预设条件,在步骤S1204中,根据第一指令伫列中的第一类指令执行程序化操作以程序化可复写式非易失性存储器模块。在执行所述程序化操作后,在步骤S1205中,传送对应于第二指令伫列中的第二类指令的回应信息至主机系统。此外,若判定第一指令伫列不符合预设条件,则在步骤S1203之后,可回到步骤S1201(或S1202)。
图13是根据本发明的一范例实施例所示出的存储器管理方法的流程图。
请参照图13,在步骤S1301中,从主机系统接收第一类指令并将第一类指令暂存至第一指令伫列。在接收所述第一类指令后,在步骤S1302中,从主机系统接收第二类指令并将第二类指令暂存至第二指令伫列。在步骤S1303中,判断第一指令伫列是否符合预设条件。若第一指令伫列符合预设条件,在步骤S1307中,根据第一指令伫列中的第一类指令(或可包括虚设数据)执行程序化操作以程序化可复写式非易失性存储器模块。
若判定第一指令伫列不符合预设条件,在步骤S1304中,判断第一计数器的计数值是否符合第一计数值。若第一计数器的计数值符合第一计数值,表示在计数期间内没有接收到新的第一类指令,故在步骤S1305中,将虚设数据暂存至第一指令伫列。若第一计数器的计数值不符合第一计数值,在步骤S1306中,判断第二计数器的计数值是否符合第二计数值。若第二计数器的计数值符合第二计数值,表示即将发生回应逾时,故可直接进入步骤S1307。若第二计数器的计数值不符合第二计数值,在步骤S1306之后,可回到步骤S1301。此外,在步骤S1307之后,步骤S1308可被执行,以传送对应于第二指令伫列中的第二类指令的回应信息至主机系统。
须注意的是,在图13的另一范例实施例中,步骤S1303、S1304及S1306的执行顺序可以被调整,例如先执行步骤S1304的判断再执行步骤S1303的判断等等,本发明不加以限制。或者,在一范例实施例中,第二计数器可不被使用而仅使用第一计数器来进行逾时检测与加入虚设数据。在不使用第二计数器的一范例实施例中,在步骤S1304之后,可不执行步骤S1306而回到步骤S1301(或S1302)。
然而,图12与图13中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图12与图13中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图12与图13的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本发明的范例实施例可来自主机系统的第一类指令与第二类指令分别暂存于第一指令伫列与第二指令伫列。若第一指令伫列符合预设条件或即将发生回应逾时,才指示可复写式非易失性存储器模块根据第一指令伫列中的数据(第一类指令和/或虚设数据)进行程序化,并且将对应于第二指令伫列中的第二类指令的回应信息传送至主机系统。藉此,可减少改善存储器储存装置的写入放大并可延长存储器储存装置的使用寿命,有效对存储器储存装置本身的性能进行改善。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中的技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定的为准。
Claims (18)
1.一种存储器管理方法,用于可复写式非易失性存储器模块,所述存储器管理方法包括:
从主机系统接收第一类指令并将所述第一类指令暂存至第一指令伫列;
在接收所述第一类指令后,从所述主机系统接收第二类指令并将所述第二类指令暂存至第二指令伫列;
若所述第一指令伫列符合预设条件,根据所述第一指令伫列中的所述第一类指令执行程序化操作以程序化所述可复写式非易失性存储器模块,其中若所述第一指令伫列中待储存的数据量不少于一个数据管理单元的数据量,判定所述第一指令伫列符合所述预设条件;以及
在执行所述程序化操作后,传送对应于所述第二指令伫列中的所述第二类指令的回应信息至所述主机系统,
其中所述第一类指令包括写入指令,且所述第二类指令包括同步快取指令、写入强制单元存取指令及读取强制单元存取指令的至少其中之一。
2.根据权利要求1所述的存储器管理方法,还包括:
记录关联信息,其中所述关联信息用以关联所述第二指令伫列中的所述第二类指令与所述第一指令伫列中的所述第一类指令。
3.根据权利要求1所述的存储器管理方法,还包括:
启动第一计数器;以及
在所述第一计数器的计数值符合第一计数值后,将虚设数据暂存至所述第一指令伫列。
4.根据权利要求3所述的存储器管理方法,其中根据所述第一指令伫列中的所述第一类指令执行程序化操作的步骤包括:
根据所述第一指令伫列中的所述第一类指令与所述虚设数据执行所述程序化操作。
5.根据权利要求1所述的存储器管理方法,还包括:
启动第二计数器;
若所述第二计数器的计数值符合第二计数值,根据所述第一指令伫列中的所述第一类指令执行所述程序化操作。
6.根据权利要求1所述的存储器管理方法,还包括:
若所述第一指令伫列不符合所述预设条件,将所述第一类指令维持在所述第一指令伫列中,且暂不响应于所述第二类指令而执行所述程序化操作。
7.一种存储器储存装置,包括:
连接接口单元,用以连接至主机系统;
可复写式非易失性存储器模块;以及
存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以从所述主机系统接收第一类指令并将所述第一类指令暂存至第一指令伫列,
在接收所述第一类指令后,所述存储器控制电路单元还用以从所述主机系统接收第二类指令并将所述第二类指令暂存至第二指令伫列,
若所述第一指令伫列符合预设条件,所述存储器控制电路单元还用以根据所述第一指令伫列中的所述第一类指令发送写入指令序列,且所述写入指令序列指示执行程序化操作以程序化所述可复写式非易失性存储器模块,其中若所述第一指令伫列中待储存的数据量不少于一个数据管理单元的数据量,判定所述第一指令伫列符合所述预设条件,并且
在执行所述程序化操作后,所述存储器控制电路单元还用以传送对应于所述第二指令伫列中的所述第二类指令的回应信息至所述主机系统,
其中所述第一类指令包括写入指令,且所述第二类指令包括同步快取指令、写入强制单元存取指令及读取强制单元存取指令的至少其中之一。
8.根据权利要求7所述的存储器储存装置,其中所述存储器控制电路单元还用以记录关联信息,且所述关联信息用以关联所述第二指令伫列中的所述第二类指令与所述第一指令伫列中的所述第一类指令。
9.根据权利要求7所述的存储器储存装置,其中所述存储器控制电路单元还用以启动第一计数器,并且
在所述第一计数器的计数值符合第一计数值后,所述存储器控制电路单元还用以将虚设数据暂存至所述第一指令伫列。
10.根据权利要求9所述的存储器储存装置,其中所述存储器控制电路单元根据所述第一指令伫列中的所述第一类指令发送所述写入指令序列的操作包括:
根据所述第一指令伫列中的所述第一类指令与所述虚设数据发送所述写入指令序列。
11.根据权利要求7所述的存储器储存装置,其中所述存储器控制电路单元还用以启动第二计数器,并且
若所述第二计数器的计数值符合第二计数值,所述存储器控制电路单元还用以根据所述第一指令伫列中的所述第一类指令发送所述写入指令序列。
12.根据权利要求7所述的存储器储存装置,其中若所述第一指令伫列不符合所述预设条件,所述存储器控制电路单元还用以将所述第一类指令维持在所述第一指令伫列中,且暂不响应于所述第二类指令而发送所述写入指令序列。
13.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,所述存储器控制电路单元包括:
主机接口,用以连接至主机系统;
存储器接口,用以连接至所述可复写式非易失性存储器模块;
缓冲存储器;以及
存储器管理电路,连接至所述主机接口、所述存储器接口及所述缓冲存储器,
其中所述存储器管理电路用以从所述主机系统接收第一类指令并将所述第一类指令暂存至所述缓冲存储器的第一指令伫列,
在接收所述第一类指令后,所述存储器管理电路还用以从所述主机系统接收第二类指令并将所述第二类指令暂存至所述缓冲存储器的第二指令伫列,
若所述第一指令伫列符合预设条件,所述存储器管理电路还用以根据所述第一指令伫列中的所述第一类指令发送写入指令序列,且所述写入指令序列指示执行程序化操作以程序化所述可复写式非易失性存储器模块,其中若所述第一指令伫列中待储存的数据量不少于一个数据管理单元的数据量,判定所述第一指令伫列符合所述预设条件,并且
在执行所述程序化操作后,所述存储器管理电路还用以传送对应于所述第二指令伫列中的所述第二类指令的回应信息至所述主机系统,
其中所述第一类指令包括写入指令,且所述第二类指令包括同步快取指令、写入强制单元存取指令及读取强制单元存取指令的至少其中之一。
14.根据权利要求13所述的存储器控制电路单元,其中所述存储器管理电路还用以记录关联信息,且所述关联信息用以关联所述第二指令伫列中的所述第二类指令与所述第一指令伫列中的所述第一类指令。
15.根据权利要求13所述的存储器控制电路单元,其中所述存储器管理电路还用以启动第一计数器,并且
在所述第一计数器的计数值符合第一计数值后,所述存储器管理电路还用以将虚设数据暂存至所述第一指令伫列。
16.根据权利要求15所述的存储器控制电路单元,其中所述存储器管理电路根据所述第一指令伫列中的所述第一类指令发送所述写入指令序列的操作包括:
根据所述第一指令伫列中的所述第一类指令与所述虚设数据发送所述写入指令序列。
17.根据权利要求13所述的存储器控制电路单元,其中所述存储器管理电路还用以启动第二计数器,并且
若所述第二计数器的计数值符合第二计数值,所述存储器管理电路还用以根据所述第一指令伫列中的所述第一类指令发送所述写入指令序列。
18.根据权利要求13所述的存储器控制电路单元,其中若所述第一指令伫列不符合所述预设条件,所述存储器管理电路还用以将所述第一类指令维持在所述第一指令伫列中,且暂不响应于所述第二类指令而发送所述写入指令序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811079996.4A CN110908591B (zh) | 2018-09-17 | 2018-09-17 | 存储器管理方法、存储器储存装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811079996.4A CN110908591B (zh) | 2018-09-17 | 2018-09-17 | 存储器管理方法、存储器储存装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110908591A CN110908591A (zh) | 2020-03-24 |
CN110908591B true CN110908591B (zh) | 2023-05-30 |
Family
ID=69812471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811079996.4A Active CN110908591B (zh) | 2018-09-17 | 2018-09-17 | 存储器管理方法、存储器储存装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110908591B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620516A (zh) * | 2008-06-30 | 2010-01-06 | 索尼株式会社 | 信息处理装置、其控制方法,以及程序 |
CN103650054A (zh) * | 2011-05-31 | 2014-03-19 | 美光科技公司 | 包含存储器系统控制器的设备和相关方法 |
CN105653199A (zh) * | 2014-11-14 | 2016-06-08 | 群联电子股份有限公司 | 数据读取方法、存储器存储装置及存储器控制电路单元 |
CN105718213A (zh) * | 2014-10-27 | 2016-06-29 | 桑迪士克科技股份有限公司 | 改进在低队列深度工作负载中的混合随机性能的方法 |
CN106874223A (zh) * | 2017-01-24 | 2017-06-20 | 合肥兆芯电子有限公司 | 数据传输方法、存储器存储装置及存储器控制电路单元 |
TW201828035A (zh) * | 2017-01-17 | 2018-08-01 | 群聯電子股份有限公司 | 資料傳輸方法、記憶體儲存裝置及記憶體控制電路單元 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437480B2 (en) * | 2015-12-01 | 2019-10-08 | Futurewei Technologies, Inc. | Intelligent coded memory architecture with enhanced access scheduler |
-
2018
- 2018-09-17 CN CN201811079996.4A patent/CN110908591B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620516A (zh) * | 2008-06-30 | 2010-01-06 | 索尼株式会社 | 信息处理装置、其控制方法,以及程序 |
CN103650054A (zh) * | 2011-05-31 | 2014-03-19 | 美光科技公司 | 包含存储器系统控制器的设备和相关方法 |
CN105718213A (zh) * | 2014-10-27 | 2016-06-29 | 桑迪士克科技股份有限公司 | 改进在低队列深度工作负载中的混合随机性能的方法 |
CN105653199A (zh) * | 2014-11-14 | 2016-06-08 | 群联电子股份有限公司 | 数据读取方法、存储器存储装置及存储器控制电路单元 |
TW201828035A (zh) * | 2017-01-17 | 2018-08-01 | 群聯電子股份有限公司 | 資料傳輸方法、記憶體儲存裝置及記憶體控制電路單元 |
CN106874223A (zh) * | 2017-01-24 | 2017-06-20 | 合肥兆芯电子有限公司 | 数据传输方法、存储器存储装置及存储器控制电路单元 |
Also Published As
Publication number | Publication date |
---|---|
CN110908591A (zh) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078149B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN107818808B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
TWI688953B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN113885808B (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
CN111078146B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN110308876B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN112486417B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
US20230021668A1 (en) | Temperature control method, memory storage apparatus, and memory control circuit unit | |
CN112445417B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TWI727203B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI712886B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN111831210B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN110908591B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN112394883A (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
CN111610937A (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
TWI831366B (zh) | 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN113220213B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
CN110580230B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN112181859B (zh) | 有效数据合并方法、存储器控制电路单元与存储装置 | |
CN114138207B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN113724773B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TWI840734B (zh) | 指令管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN112445418B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN112053724B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN112015327B (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 |