CN107103930B - 数据写入方法、存储器控制电路单元与存储器存储装置 - Google Patents
数据写入方法、存储器控制电路单元与存储器存储装置 Download PDFInfo
- Publication number
- CN107103930B CN107103930B CN201610093439.2A CN201610093439A CN107103930B CN 107103930 B CN107103930 B CN 107103930B CN 201610093439 A CN201610093439 A CN 201610093439A CN 107103930 B CN107103930 B CN 107103930B
- Authority
- CN
- China
- Prior art keywords
- memory
- unit
- data
- physical
- units
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
- G11C29/765—Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明提出一种数据写入方法、存储器控制电路单元与存储器存储装置。本方法包括:判断是否从主机***中接收到默认指令。本方法还包括:当从主机***中接收到默认指令时,将缓冲存储器中的暂存数据写入至实体抹除单元之中的第一实体抹除单元,从实体抹除单元中选择第二实体抹除单元,将第二实体抹除单元中的有效数据写入至第一实体抹除单元以响应该默认指令。本发明能够在当主机***下达默认指令时,将缓冲存储器的数据写入至闪存模块并且执行有效数据的搬移,避免储存无效数据,延长闪存模块的使用寿命。
Description
技术领域
本发明涉及一种应用于可复写式非易失性存储器的数据写入方法、存储器控制电路单元与存储器存储装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本电脑。固态硬盘就是一种以闪存模块作为储存媒体的存储器存储装置。因此,近年闪存产业成为电子产业中相当热门的一环。
在反及(NAND)型闪存模块中,实体程序化单元是由排列在同一条字符在线的多个记忆胞所组成。依据每个记忆胞可储存的位数,NAND型闪存模块可区分为单阶储存单元(Single Level Cell,SLC)NAND型闪存模块、多阶储存单元(Multi Level Cell,MLC)NAND型闪存模块与三阶储存单元(Trinary Level Cell,TLC)NAND型闪存模块,其中SLC NAND型闪存模块的每个记忆胞可储存1个位的数据(即,“1”与“0”),MLC NAND型闪存模块的每个记忆胞可储存2个位的数据并且TLC NAND型闪存模块的每个记忆胞可储存3个位的数据。
由于SLC NAND型闪存模块的每个记忆胞可储存1个位的数据,因此,在SLC NAND型闪存模块中,排列在同一条字符在线的多个记忆胞是对应一个实体程序化单元。
相对于SLC NAND型闪存模块来说,MLC NAND型闪存模块的每个记忆胞的浮动栅储存层可储存2个位的数据,其中每一个储存状态(即,“11”、“10”、“01”与“00”)包括最低有效位(Least Significant Bit,LSB)以及最高有效位(Most Significant Bit,MSB)。例如,储存状态中从左侧算起之第1个位的值为LSB,而从左侧算起之第2个位的值为MSB。因此,排列在同一条字符在线的多个记忆胞可组成2个实体程序化单元,其中由此些记忆胞的LSB所组成的实体程序化单元称为下实体程序化单元(low physical programming unit),并且由此些记忆胞的MSB所组成的实体程序化单元称为上实体程序化单元(upper physicalprogramming unit)。特别是,当程序化上实体程序化单元发生错误时,下实体程序化单元所储存的数据亦可能因此遗失。
类似地,在TLC NAND型闪存模块中的每个记忆胞可储存3个位的数据,其中每一个储存状态(即,“111”、“110”、“101”、“100”、“011”、“010”、“001”与“000”)包括左侧算起的第1个位的LSB、从左侧算起之第2个位的中间有效位(Center Significant Bit,CSB)以及从左侧算起之第3个位的MSB。因此,排列在同一条字符在线的多个记忆胞可组成3个实体程序化单元,其中由此些记忆胞的LSB所组成的实体程序化单元称为下实体程序化单元,由此些记忆胞的CSB所组成的实体程序化单元称为中实体程序化单元,并且由此些记忆胞的MSB所组成的实体程序化单元称为上实体程序化单元。特别是,在TLC NAND型闪存模块中,若要确保一条字符在线的数据可稳定的被储存,必须对此字符线完成三次程序化。例如,对第一条字符在线的记忆胞进行第一次的程序化后,第一条字符在线的记忆胞会处于第一状态(first state)。而在对第二条字符在线的记忆胞进行程序化的同时第一条字符在线的记忆胞会再次被程序化。此时,第一条字符在线的记忆胞会处于模糊状态(foggy state)。然后,在对第三条字符在线的记忆胞进行程序化的同时第一条字符、第二条字符在线的记忆胞会再次被程序化,此时,第一条字符在线的记忆胞会处于良好状态(fine state)。再者,在对第四条字符在线的记忆胞进行程序化的同时第二条字符、第三条字符在线的记忆胞会再次被程序化。此时,第二条字符在线的记忆胞会处于良好状态,由此第一条字符在线的记忆胞中的数据才能被确保是稳定的储存。
在一情形下,当主机***下达终止指令(suspend command)以将主机***关机时,会伴随着下达清仓指令(flush command)以将暂存在缓冲存储器中的暂存数据写入至闪存中,以避免暂存数据因断电后而遗失。而基于上述TLC NAND型闪存模块的硬件限制,为了能够确保缓冲存储器中的暂存数据已被稳定地储存至TLC NAND型闪存模块,存储器控制电路单元在将缓冲存储器中的暂存数据写入至TLC NAND型闪存模块的一作动实体抹除单元后,会使用虚拟数据(dummy data)对接续的另外三条字符线进行程序化,以确保来自缓冲存储器中的暂存数据已被稳定地储存至TLC NAND型闪存模块中。然而,闪存模块的写入或抹除次数是有限的,写入无效数据会缩短TLC NAND型闪存模块的使用寿命。
发明内容
本发明提供一种数据写入方法、存储器控制电路单元与存储器存储装置,能够在当主机***下达默认指令时,将缓冲存储器的数据写入至闪存模块并且执行有效数据的搬移,避免储存无效数据,延长闪存模块的使用寿命。
本发明的一范例实施例提供一种数据写入方法,用于一存储器存储装置的可复写式非易失性存储器模块,其中存储器存储装置具有缓冲存储器,可复写式非易失性存储器模块具有多个实体抹除单元,此些实体抹除单元之中的每一个具有多个实体程序化单元。本方法包括:判断是否从主机***中接收到默认指令。本方法还包括:当从主机***中接收到默认指令时,将缓冲存储器中的暂存数据写入至实体抹除单元之中的第一实体抹除单元,并从实体抹除单元中选择第二实体抹除单元。本方法还包括:将第二实体抹除单元中的有效数据写入至第一实体抹除单元。
在本发明的一实施例中,在将第二实体抹除单元中的有效数据写入至第一实体抹除单元的步骤包括以有效数据填满第一实体抹除单元的可用储存空间。
在本发明的一实施例中,其中默认指令为清仓指令或终止指令。
在本发明的一实施例中,上述的数据写入方法还包括:判断暂存数据的数量是否小于默认门槛值;当暂存数据的数量小于默认门槛值时,将虚拟数据写入第一实体抹除单元中;以及仅当暂存数据的数量非小于默认门槛值时,执行上述从实体抹除单元中选择第二实体抹除单元,并且将第二实体抹除单元中的有效数据写入至第一实体抹除单元的步骤。
在本发明的一实施例中,上述的数据写入方法还包括对第二实体抹除单元进行抹除操作。
在本发明的一实施例中,其中所述实体程序化单元包括多个下实体程序化单元、多个中实体程序化单元与多个上实体程序化单元。
本发明一范例实施例提供一种用于控制可复写式非易失性存储器模块的存储器控制电路单元。此存储器控制电路单元包括:用以电性连接至主机***的主机接口;用以电性连接至可复写式非易失性存储器模块的存储器接口,其中可复写式非易失性存储器模块具有多个实体抹除单元,此些实体抹除单元之中的每一个具有多个实体程序化单元;电性连接至主机接口及存储器接口的缓冲存储器,此缓冲存储器用以储存暂存数据;以及电性连接至主机接口、存储器接口与缓冲存储器的存储器管理电路。存储器管理电路用以判断是否从该主机***中接收到一默认指令。当从主机***中接收到默认指令时,存储器管理电路更用以下达第一指令序列以将缓冲存储器中的暂存数据写入至实体抹除单元之中的第一实体抹除单元,并从实体抹除单元中选择第二实体抹除单元。存储器管理电路更用以下达第二指令序列以将第二实体抹除单元中的有效数据写入至第一实体抹除单元。
在本发明的一实施例中,在将第二实体抹除单元中的有效数据写入至第一实体抹除单元的运作包括存储器管理电路以有效数据填满第一实体抹除单元的可用储存空间。
在本发明的一实施例中,其中默认指令为清仓指令或终止指令。
在本发明的一实施例中,存储器管理电路更用以判断暂存数据的数量是否小于默认门槛值,当暂存数据的数量小于默认门槛值时,存储器管理电路更用以下达第三指令序列以将虚拟数据写入第一实体抹除单元中,仅当暂存数据的数量非小于默认门槛值时,存储器管理电路用以执行上述从实体抹除单元中选择第二实体抹除单元,并且下达第二指令序列以将第二实体抹除单元中的有效数据写入至第一实体抹除单元的运作。
在本发明的一实施例中,存储器管理电路更用以下达第四指令序列以对第二实体抹除单元进行抹除操作。
在本发明的一实施例中,其中实体程序化单元包括多个下实体程序化单元、多个中实体程序化单元与多个上实体程序化单元。
本发明一范例实施例提供一种存储器存储装置。其包括:用以电性连接至主机***的连接接口单元、可复写式非易失性存储器模块以及电性连接至连接接口单元与可复写式非易失性存储器模块的存储器控制电路单元。其中可复写式非易失性存储器具有多个实体抹除单元,此些实体抹除单元之中的每一个具有多个实体程序化单元。其中存储器控制电路单元包括缓冲存储器,缓冲存储器用以储存暂存数据。存储器控制电路单元用以判断是否从主机***中接收到默认指令。当从主机***中接收到默认指令时,存储器控制电路单元更用以下达第一指令序列以将缓冲存储器中的暂存数据写入至实体抹除单元之中的第一实体抹除单元,并从实体抹除单元中选择第二实体抹除单元。存储器控制电路单元更用以下达第二指令序列以将第二实体抹除单元中的有效数据写入至第一实体抹除单元。
在本发明的一实施例中,在将第二实体抹除单元中的有效数据写入至第一实体抹除单元的运作包括存储器控制电路单元以有效数据填满第一实体抹除单元的可用储存空间。
在本发明的一实施例中,其中默认指令为清仓指令或终止指令
在本发明的一实施例中,存储器控制电路单元更用以判断暂存数据的数量是否小于默认门槛值,当暂存数据的数量小于默认门槛值时,存储器控制电路单元更用以下达第三指令序列以将虚拟数据写入第一实体抹除单元中,仅当暂存数据的数量非小于默认门槛值时,存储器控制电路单元用以执行上述从实体抹除单元中选择第二实体抹除单元,并且下达第二指令序列以将第二实体抹除单元中的有效数据写入至第一实体抹除单元的运作存储器控制电路单元。
在本发明的一实施例中,其中存储器控制电路单元更用以下达第四指令序列以对第二实体抹除单元进行抹除操作。
在本发明的一实施例中,其中实体程序化单元包括多个下实体程序化单元、多个中实体程序化单元与多个上实体程序化单元。
基于上述,本发明的数据写入方法可以在收到主机***下达的默认指令时,将缓冲存储器的暂存数据储存至可复写式非易失性存储器中的实体抹除单元中,并且将其他实体抹除单元中的有效数据写入至此实体抹除单元,藉此可以有效地提升可复写式非易失性存储器的使用效率,延长可复写式非易失性存储器的寿命。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一范例实施例所显示的主机***、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据另一范例实施例所显示的主机***、存储器存储装置及输入/输出(I/O)装置的示意图;
图3是根据本发明范例实施例所显示的主机***与存储器存储装置的示意图;
图4是根据一范例实施例所显示的主机***与存储器存储装置的概要方框图;
图5A与图5B是根据一范例实施例所显示的记忆胞储存架构与实体抹除单元的示意图;
图6是根据一范例实施例所显示的存储器控制电路单元的概要方框图;
图7与图8是根据一范例实施例所显示的管理实体抹除单元的范例示意图;
图9A~图9C是根据一范例实施例所显示的数据写入的范例示意图;
图10是根据一范例实施例所显示的数据写入方法的流程图。
附图标记:
10:存储器存储装置
11:主机***
12:输入/输出(I/O)装置
110:***总线
111:处理器
112:随机存取存储器(RAM)
113:只读存储器(ROM)
114:数据传输接口
20:主板
201:随身碟
202:记忆卡
203:固态硬盘:204:无线存储器存储装置
205:全球定位***模块
206:网络适配器
207:无线传输装置
208:键盘
209:屏幕
210:喇叭
30:存储器存储装置
31:主机***
32:SD卡
33:CF卡
34:嵌入式存储装置
341:嵌入式多媒体卡
342:嵌入式多芯片封装存储装置
402:连接接口单元
404:存储器控制电路单元
406:可复写式非易失性存储器模块
410(0)~410(N):实体抹除单元
502:存储器管理电路
504:主机接口
506:存储器接口
508:缓冲存储器
510:电源管理电路
512:错误检查与校正电路
602:数据区
604:闲置区
606:***区
608:取代区
LBA(0)~LBA(H):逻辑地址
LZ(0)~LZ(M):逻辑区域
D0(0)~D0(41)、D1(0)~D1(41)、D2(0)~D2(85):有效数据
BD(1)、BD(2):暂存数据
S1001:判断是否从主机***中接收到默认指令的步骤
S1003:当从主机***中接收到默认指令时,将缓冲存储器中的暂存数据写入至实体抹除单元之中的第一实体抹除单元的步骤
S1005:判断暂存数据的数量是否小于默认门槛值的步骤
S1007:将虚拟数据写入第一实体抹除单元中的步骤
S1009:从实体抹除单元中选择第二实体抹除单元的步骤
S1011:将第二实体抹除单元中的有效数据写入至第一实体抹除单元的步骤
具体实施方式
一般而言,存储器存储装置(亦称,存储器存储***)包括可复写式非易失性存储器模块与控制器(亦称,控制电路单元)。通常存储器存储装置是与主机***一起使用,以使主机***可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据一范例实施例所显示的主机***、存储器存储装置及输入/输出(I/O)装置的示意图。且图2是根据另一范例实施例所显示的主机***、存储器存储装置及输入/输出(I/O)装置的示意图。
请参照图1与图2,主机***11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆电性连接至***总线(system bus)110。
在本范例实施例中,主机***11是通过数据传输接口114与存储器存储装置10电性连接。例如,主机***11可经由数据传输接口114将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机***11是通过***总线110与I/O装置12电性连接。例如,主机***11可经由***总线110将输出信号信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114是可设置在主机***11的主板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主板20可以经由有线或无线方式电性连接至存储器存储装置10。存储器存储装置10可例如是随身碟201、记忆卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通信(Near FieldCommunication Storage,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通信技术为基础的存储器存储装置。此外,主板20也可以通过***总线110电性连接至全球定位***(Global Positioning System,GPS)模块205、网络适配器206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机***为可实质地与存储器存储装置配合以储存数据的任意***。虽然在上述范例实施例中,主机***是以计算机***来作说明,然而,图3是根据另一范例实施例所显示的主机***与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机***31也可以是数码相机、摄影机、通信装置、音频播放器、视频播放器或平板计算机等***,而存储器存储装置30可为其所使用的SD卡32、CF卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded MMC,eMMC)341和/或嵌入式多芯片封装存储装置(embedded Multi ChipPackage,eMCP)342等各类型将存储器模块直接电性连接于主机***的基板上的嵌入式存储装置。
图4是根据一范例实施例所显示的主机***与存储器存储装置的概要方框图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是兼容于序列先进附件(Serial AdvancedTechnology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402亦可以是符合并列先进附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、超高速一代(UltraHigh Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、安全数字(Secure Digital,SD)接口标准、记忆棒(Memory Stick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体储存卡(Multi Media Card,MMC)接口标准、嵌入式多媒体储存卡(Embedded Multimedia Card,eMMC)接口标准、通用闪存(UniversalFlash Storage,UFS)接口标准、嵌入式多芯片封装(embedded Multi Chip Package,eMCP)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(IntegratedDevice Electronics,IDE)标准或其他适合的标准。在本范例实施例中,连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元的芯片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机***11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404,并且用以储存主机***11所写入的数据。可复写式非易失性存储器模块406具有实体抹除单元410(0)~410(N)。例如,实体抹除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有多个实体程序化单元,其中属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
更详细来说,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目之一并被抹除的记忆胞。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据位区与冗余位区。数据位区包含多个实体存取地址用以储存用户的数据,而冗余位区用以储存***的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个实体程序化单元的数据位区中会包含8个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据位区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块,并且实体程序化单元为实体页面或实体扇区,但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块406为多阶记忆胞(TrinaryLevel Cell,TLC)NAND型闪存模块(即,一个记忆胞中可储存3个数据位的闪存模块)。然而,本发明不限于此,可复写式非易失性存储器模块406亦可是多阶记忆胞(Multi LevelCell,MLC)NAND型闪存模块(即,一个记忆胞中可储存2个数据位的闪存模块)或其他具有相同特性的存储器模块。
图5A与图5B是根据本范例实施例所显示的记忆胞储存架构与实体抹除单元的范例示意图。
请参照图5A,可复写式非易失性存储器模块406的每个记忆胞的储存状态可被识别为“111”、“110”、“101”、“100”、“011”、“010”、“001”或“000”(如图5A所示),其中左侧算起的第1个位为LSB、从左侧算起的第2个位为CSB以及从左侧算起的第3个位为MSB。此外,排列在同一条字符在线的多个记忆胞可组成3个实体程序化单元,其中由此些记忆胞的LSB所组成的实体程序化单元称为下实体程序化单元,由此些记忆胞的CSB所组成的实体程序化单元称为中实体程序化单元,并且由此些记忆胞的MSB所组成的实体程序化单元称为上实体程序化单元。
请参照图5B,一个实体抹除单元是由多个实体程序化单元组所组成,其中每个实体程序化单元组包括由排列在同一条字符在线的多个记忆胞所组成的下实体程序化单元、中实体程序化单元与上实体程序化单元。例如,在实体抹除单元中,属于下实体程序化单元的第0个实体程序化单元、属于中实体程序化单元的第1个实体程序化单元和属于上实体程序化单元的第2个实体程序化单元会被视为一个实体程序化单元组。类似地,第3个实体程序化单元、第4个实体程序化单元、第5个实体程序化单元会被视为一个实体程序化单元组,并且以此类推其他实体程序化单元亦是依据此方式被区分为多个实体程序化单元组。也就是说,在图5B的范例实施例中,实体抹除单元总共有258个实体程序化单元,且由于排列在同一条字符在线的多个记忆胞所组成的下实体程序化单元、中实体程序化单元与上实体程序化单元会组成一个实体程序化单元组,故图5B的实体抹除单元总共可以分成86个实体程序化单元组。然而需注意的是,本发明并不用于限定实体抹除单元中的实体程序化单元或实体程序化单元组的个数。
图6是根据一范例实施例所显示的存储器控制电路单元的概要方框图。
请参照图6,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506、缓冲存储器508、电源管理电路510与错误检查与校正电路512。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未显示)与只读存储器(未显示),并且此些控制指令是被刻录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
图7与图8是根据一范例实施例所显示之管理实体抹除单元的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块406的实体抹除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的实体抹除单元进行操作。
请参照图7,存储器控制电路单元404(或存储器管理电路502)会将实体抹除单元410(0)~410(N)逻辑地分组为数据区602、闲置区604、***区606与取代区608。
逻辑上属于数据区602与闲置区604的实体抹除单元是用以储存来自于主机***11的数据。具体来说,数据区602的实体抹除单元是被视为已储存数据的实体抹除单元,而闲置区604的实体抹除单元是用以替换数据区602的实体抹除单元。也就是说,当从主机***11接收到写入指令与欲写入的数据时,存储器管理电路502会使用从闲置区604中提取实体抹除单元来写入数据,以替换数据区602的实体抹除单元。
逻辑上属于***区606的实体抹除单元是用以记录***数据。例如,***数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的实体抹除单元数、每一实体抹除单元的实体程序化单元数等。
逻辑上属于取代区608中的实体抹除单元是用于坏实体抹除单元取代程序,以取代损坏的实体抹除单元。具体来说,倘若取代区608中仍存有正常的实体抹除单元并且数据区602的实体抹除单元损坏时,存储器管理电路502会从取代区608中提取正常的实体抹除单元来更换损坏的实体抹除单元。
特别是,数据区602、闲置区604、***区606与取代区608的实体抹除单元的数量会根据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置10的运作中,实体抹除单元关联至数据区602、闲置区604、***区606与取代区608的分组关系会动态地变动。例如,当闲置区604中的实体抹除单元损坏而被取代区608的实体抹除单元取代时,则原本取代区608的实体抹除单元会被关联至闲置区604。
请参照图8,存储器控制电路单元404(或存储器管理电路502)会配置逻辑地址LBA(0)~LBA(H)以映像数据区602的实体抹除单元,其中每一逻辑地址具有多个逻辑单元以映像对应的实体抹除单元的实体程序化单元。并且,当主机***11欲写入数据至逻辑地址或更新储存于逻辑地址中的数据时,存储器控制电路单元404(或存储器管理电路502)会从闲置区604中提取一个实体抹除单元作为作动实体抹除单元来写入数据,以轮替数据区602的实体抹除单元。并且,当此作为作动实体抹除单元的实体抹除单元被写满时,存储器控制电路单元404(或存储器管理电路502)会再从闲置区504中提取空的实体抹除单元作为作动实体抹除单元,以继续写入对应来自于主机***1000的写入指令的更新数据。此外,当闲置区604中可用的实体抹除单元的数目小于默认值时,存储器控制电路单元404(或存储器管理电路502)会执行有效数据合并程序(亦称为,垃圾搜集(garbage collecting)程序来整理数据区602中的有效数据,以将数据区602中无储存有效数据的实体抹除单元重新关联至闲置区604。
为了识别每个逻辑地址的数据被储存在哪个实体抹除单元,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会记录逻辑地址与实体抹除单元之间的映像。例如,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会在可复写式非易失性存储器模块406中储存逻辑地址-实体地址映像表来记录每一逻辑地址所映像的实体抹除单元。当欲存取数据时存储器控制电路单元404(或存储器管理电路502)会将逻辑地址-实体地址映像表加载至缓冲存储器508来维护,并且依据逻辑地址-实体地址映像表来写入或读取数据。
值得一提的是,由于缓冲存储器508的容量有限无法储存记录所有逻辑地址的映像关系的映像表,因此,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会将逻辑地址LBA(0)~LBA(H)分组为多个逻辑区域LZ(0)~LZ(M),并且为每一逻辑区域配置一个逻辑地址-实体地址映像表。特别是,当存储器控制电路单元404(或存储器管理电路502)欲更新某个逻辑地址的映像时,对应此逻辑地址所属的逻辑区域的逻辑地址-实体地址映像表会被加载至缓冲存储器508来被更新。
在本发明另一范例实施例中,存储器管理电路502的控制指令亦可以程序代码型式储存于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放***数据的***区)中。此外,存储器管理电路502具有微处理器单元(未显示)、只读存储器(未显示)及随机存取存储器(未显示)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被致能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器模块406中之控制指令加载至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路502的控制指令亦可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、记忆胞管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。记忆胞管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,记忆胞管理电路用以管理可复写式非易失性存储器模块406的实体抹除单元;存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令以将数据写入至可复写式非易失性存储器模块406中;存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令以从可复写式非易失性存储器模块406中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令以将数据从可复写式非易失性存储器模块406中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。
请再参照图6,主机接口504是电性连接至存储器管理电路502并且用以电性连接至连接接口单元402,以接收与识别主机***11所传送的指令与数据。也就是说,主机***11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是兼容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是兼容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。
缓冲存储器508是电性连接至存储器管理电路502并且用以暂存来自于主机***11的暂存数据与指令或来自于可复写式非易失性存储器模块406的数据。
电源管理电路510是电性连接至存储器管理电路502并且用以控制存储器存储装置10的电源。
错误检查与校正电路512是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机***11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,ECC Code),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会根据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
在本范例实施例中,当主机***11下达终止指令(suspend command)以将主机***11关机时,主机***11亦会伴随着下达清仓指令(flush command)以将暂存在缓冲存储器中的暂存数据写入至可复写式非易失性存储器模块406中,以避免暂存数据因断电后而遗失。而在另一范例实施例中,当主机***11下达终止指令以将主机***11关机时,存储器控制电路单元404(或存储器管理电路502)会自动地执行清仓操作(flush operation)以将暂存在缓冲存储器中的暂存数据写入至可复写式非易失性存储器模块406中。接着,存储器控制电路单元404(或存储器管理电路502)会判断是否从主机***11中接收到默认指令,其中默认指令例如是上述的清仓指令或终止指令。假设当存储器控制电路单元404(或存储器管理电路502)从主机***11中接收到上述的默认指令时,存储器控制电路单元404(或存储器管理电路502)会执行本发明的数据写入方法。具体来说,当存储器控制电路单元404(或存储器管理电路502)从主机***11接收到默认指令时,存储器控制电路单元404(或存储器管理电路502)会下达指令序列以将缓冲存储器508中的暂存数据写入至可复写式非易失性存储器模块406的实体抹除单元410(0)~410(N)之中的作动实体抹除单元(以下亦可参考为第一实体除单元)中,以避免暂存数据因断电后而遗失。在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)是从闲置区604中的实体抹除单元410(F)~410(S-1)的其中之一选取第一实体抹除单元。
需注意的是,当存储器控制电路单元404(或存储器管理电路502)将缓冲存储器508中的暂存数据写入至第一实体抹除单元中后,倘若此时第一实体抹除单元仍有可用储存空间(即,第一实体抹除单元未被缓冲存储器508的暂存数据填满)时,则存储器控制电路单元404(或存储器管理电路502)会从可复写式非易失性存储器模块406的其他实体抹除单元中写入有效数据至第一实体抹除单元。例如,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会从数据区602的实体抹除单元410(0)~410(F-1)选取存有有效数据的实体抹除单元(以下称为第二实体抹除单元)。之后,存储器控制电路单元404(或存储器管理电路502)会下达指令序列以将此些第二实体抹除单元中的有效数据写入至第一实体抹除单元,并以此些有效数据填满第一实体抹除单元中的可用储存空间。特别是,倘若第二实体抹除单元中的有效数据皆已写入至第一实体抹除单元时,第二实体抹除单元中的数据皆会变成无效数据。特别是,在第二实体抹除单元中的数据皆会变成无效数据下,存储器控制电路单元404(或存储器管理电路502)可对第二实体抹除单元进行抹除操作,并且将第二实体抹除单元分组至闲置区602,以释放可复写式非易失性存储器模块406可用的储存空间。
需注意的是,在本发明的一范例实施例中,存储器控制电路单元404(或存储器管理电路502)在将缓冲存储器508中的暂存数据写入至第一实体抹除单元的运作之后且在存储器控制电路单元404(或存储器管理电路502)选取第二实体抹除单元的运作之前,存储器控制电路单元404(或存储器管理电路502)还可以判断暂存数据的数量是否小于默认门槛值。当暂存数据的数量小于默认门槛值时,存储器控制电路单元404(或存储器管理电路502)会下达指令序列以将至少一个虚拟数据写入第一实体抹除单元中。而仅当暂存数据的数量非小于默认门槛值时,存储器控制电路单元404(或存储器管理电路502)才会执行上述从实体抹除单元410(0)~410(N)中选择第二实体抹除单元,并且下达指令序列以将第二实体抹除单元中的有效数据写入至第一实体抹除单元的运作。
为了更请楚地了解本发明的数据写入方法,图9A~图9C是根据一范例实施例所显示之数据写入的范例示意图。
为方便说明,在此假设可复写式非易失性存储器模块406中的数据区602具有3个实体抹除单元分别为实体抹除单元410(0)~410(2),闲置区604具有2个实体抹除单元分别为实体抹除单元410(3)~410(4)。特别是,在图9A~图9C的范例实施例中,可复写式非易失性存储器模块406是TLC NAND型闪存模块,也就是说,每一个实体抹除单元410(0)~410(4)所拥有的实体程序化单元包括多个下实体程序化单元、多个中实体程序化单元以及多个上实体程序化单元。基于TLC NAND型闪存模块中每一条字符在线的记忆胞皆必须完成三次程序化才能确保记忆胞的数据被稳定地储存的特性,在图9A~图9C的范例中假设数据是以一个“实体程序化单元组”为单位被写入,且每一实体抹除单元具有86个实体程序化单元组。其中关于TLC NAND型闪存模块的实体程序化单元组的具体描述已详述于先前的图5A与图5B的范例实施例中,在此便不再赘述。而需注意的是,本发明不限于此,在其他范例实施例中,数据的写入亦可以是以一个实体程序化单元为单位或是更小的单位进行写入。
请参照图9A,假设在图9A的存储器存储装置10的状态中,数据区602的实体抹除单元410(0)的第0~41个实体程序化单元组分别储存了有效数据D0(0)~D0(41),实体抹除单元410(1)的第0~41个实体程序化单元组分别储存了有效数据D1(0)~D1(41),且实体抹除单元410(2)的第0~85个实体程序化单元组分别储存了有效数据D2(0)~D2(85)。其中,实体抹除单元410(0)的第42~85个实体程序化单元组中所储存的数据以及实体抹除单元410(1)的第42~85个实体程序化单元组中所储存的数据分别被存储器控制电路单元404(或存储器管理电路502)识别为无效的数据。
假设在图9A的状态中,主机***11下达终止指令以将主机***11关机,并且主机***11伴随着下达清仓指令以将暂存在缓冲存储器中的暂存数据写入至可复写式非易失性存储器模块406中。此时,当存储器控制电路单元404(或存储器管理电路502)收到来自主机***11所下达的终止指令或清仓指令后,存储器控制电路单元404(或存储器管理电路502)会从闲置区604中选择例如实体抹除单元410(3)(以下参考为,第一实体抹除单元),用以储存缓冲存储器508中的暂存数据。在本范例实施例中,假设缓冲存储器508中的暂存数据分别为暂存数据BD(1)~BD(2),则存储器控制电路单元404(或存储器管理电路502)会下达指令序列以将缓冲存储器508中的暂存数据BD(1)~BD(2)分别写入至实体抹除单元410(3)的第1~2个实体程序化单元组中。
需注意的是,在本发明一实施例中,存储器控制电路单元404(或存储器管理电路502)在将缓冲存储器508中的暂存数据BD(1)~BD(2)分别写入至实体抹除单元410(3)的第1~2个实体程序化单元组中的运作之后,存储器控制电路单元404(或存储器管理电路502)还可以判断暂存数据BD(1)~BD(2)的数量是否小于默认门槛值。
在一范例实施例中,默认门槛值可以例如被设为43。当暂存数据BD(1)~BD(2)的数量小于默认门槛值时,存储器控制电路单元404(或存储器管理电路502)会下达指令序列以使用至少一个虚拟数据填满实体抹除单元410(3)在储存了暂存数据BD(1)~BD(2)后剩余的可用储存空间。而在另一范例实施例中,基于一条字符在线的记忆胞须被进行三次程序化之后才能确保此字符在线的记忆胞中的数据被稳定地储存的特性,当暂存数据BD(1)~BD(2)的数量小于默认门槛值时,存储器控制电路单元404(或存储器管理电路502)也可以使用至少一个虚拟数据写入实体抹除单元410(3)在储存了暂存数据BD(1)~BD(2)后剩余的“部分的”可用储存空间,其中用于写入实体抹除单元410(3)的虚拟数据的数目刚好可以使得暂存数据BD(1)~BD(2)被稳定地储存在实体抹除单元410(3)中。也就是说,在此范例实施例中,写入实体抹除单元410(3)的虚拟数据可以不需要填满实体抹除单元410(3)在储存了暂存数据BD(1)~BD(2)后剩余的可用储存空间,存储器控制电路单元404(或存储器管理电路502)可以只写入一特定或非特定数量的虚拟数据使得暂存数据BD(1)~BD(2)可以被稳定地储存在实体抹除单元410(3)中即可。
然而须了解的是,本发明并不用于限定默认门槛值的数值,在其他范例实施例中,默认门槛值也可以是其他适当的数值。此外,本发明也不用于限定用于写入实体抹除单元410(3)的虚拟数据的数量。
在本范例实施例中,如图9A~图9C所示,假设默认门槛值被设为1。由于此时暂存数据BD(1)~BD(2)的数量非小于默认门槛值,存储器控制电路单元404(或存储器管理电路502)会从实体抹除单元410(0)~410(N)中选择第二实体抹除单元,并下达指令序列以将第二实体抹除单元中的有效数据写入至第一实体抹除单元。
具体来说,由于实体抹除单元410(3)中可用储存空间尚未被缓冲存储器508的暂存数据BD(1)~BD(2)填满(亦即,实体抹除单元410(3)中尚有未储存数据的第2~85个实体程序化单元组),存储器控制电路单元404(或存储器管理电路502)会从数据区602的实体抹除单元410(0)~410(2)中选择例如实体抹除单元410(0)以及实体抹除单元410(1)(以下参考为,第二实体抹除单元)用于执行有效数据合并程序,并下达指令序列以将实体抹除单元410(0)以及实体抹除单元410(1)的有效数据分别写入到实体抹除单元410(3)中,并且填满实体抹除单元410(3)的储存空间。在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)所选择的实体抹除单元410(0)与实体抹除单元410(1)的有效数据的总数据量刚好可以填满实体抹除单元410(3)在储存了暂存数据BD(1)~BD(2)后所剩余的储存空间,即实体抹除单元410(3)中的第2~85个实体程序化单元组。然而,需注意的是,在其他范例实施例中,存储器控制电路单元404(或存储器管理电路502)所选择的第二实体抹除单元的有效数据的总数据量也可能会多于可以填满第一实体抹除单元在储存了缓冲存储器的暂存数据后所剩余的可用储存空间。此时,存储器控制电路单元404(或存储器管理电路502)可以从第二实体抹除单元中仅写入部分的有效数据,以使此些有效数据刚好可以填满第一实体抹除单元的可用储存空间。
接着,请同时参照图9A与图9B,存储器控制电路单元404(或存储器管理电路502)会将实体抹除单元410(0)的有效数据D0(0)~D0(41)分别写入至实体抹除单元410(3)的第2~43个实体程序化单元组,并且将实体抹除单元410(1)的有效数据D1(0)~D1(41)分别写入至实体抹除单元410(3)的第44~85个实体程序化单元组,以填满实体抹除单元410(3)中第2~85个实体程序化单元组的可用储存空间。
接着,请同时参照图9B与图9C,在本范例实施例中,由于实体抹除单元410(0)以及实体抹除单元410(1)中的有效数据皆已写入至实体抹除单元410(3),存储器控制电路单元404(或存储器管理电路502)会将实体抹除单元410(0)以及实体抹除单元410(1)中所储存的数据皆视为无效数据,存储器控制电路单元404(或存储器管理电路502)会下达指令序列对实体抹除单元410(0)以及实体抹除单元410(1)进行抹除操作,并将实体抹除单元410(0)以及实体抹除单元410(1)关联至闲置区604,以释放可复写式非易失性存储器模块406的储存空间并增加闲置区604中闲置的实体抹除单元的数量。此外,存储器控制电路单元404(或存储器管理电路502)会将实体抹除单元410(3)关联至数据区602中。
图10是根据另一范例实施例所显示的数据写入方法的流程图。
请参照图10,在步骤S1001中,存储器控制电路单元404(或存储器管理电路502)判断是否从主机***11接收到默认指令。当存储器控制电路单元404(或存储器管理电路502)没有从主机***11接收到默认指令,则重复执行步骤S1001。当存储器控制电路单元404(或存储器管理电路502)从主机***11接收默认指令时,在步骤S1003中,存储器控制电路单元404(或存储器管理电路502)会下达指令序列以将缓冲存储器508中的暂存数据写入可复写式非易失性存储器模块406的实体抹除单元410(0)~410(N)之中的第一实体抹除单元。之后,在步骤S1005中,存储器控制电路单元404(或存储器管理电路502)会判断暂存数据的数量是否小于默认门槛值。当存储器控制电路单元404(或存储器管理电路502)判断暂存数据的数量小于默认门槛值时,在步骤S1007中,存储器控制电路单元404(或存储器管理电路502)会下达指令序列以将虚拟数据写入第一实体抹除单元中。当存储器控制电路单元404(或存储器管理电路502)判断暂存数据的数量非小于默认门槛值时,在步骤S1009中,存储器控制电路单元404(或存储器管理电路502)会从可复写式非易失性存储器模块406的实体抹除单元410(0)~410(N)中选择第二实体抹除单元。并且在步骤S1011中,存储器控制电路单元404(或存储器管理电路502)下达指令序列以将第二实体抹除单元中的有效数据写入至第一实体抹除单元。
综上所述,本发明的数据写入方法可以在收到主机***下达的默认指令时,将缓冲存储器的暂存数据储存至可复写式非易失性存储器中的第一实体抹除单元中,并且将第二实体抹除单元中的有效数据写入至第一实体抹除单元,藉此可以有效地提升可复写式非易失性存储器的使用效率,以避免储存过多的无效数据并延长可复写式非易失性存储器的使用寿命。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作些许的改动与润饰,故本发明的保护范围当视所附权利要求界定范围为准。
Claims (15)
1.一种数据写入方法,用于一存储器存储装置的一可复写式非易失性存储器模块,其特征在于,所述存储器存储装置具有一缓冲存储器,所述可复写式非易失性存储器模块具有多个实体抹除单元,所述多个实体抹除单元具有多个实体程序化单元,所述数据写入方法包括:
判断是否从一主机***中接收到一默认指令;以及
当从所述主机***中接收到所述默认指令时,
将所述缓冲存储器中的至少一暂存数据写入至所述多个实体抹除单元之中的一第一实体抹除单元;
判断所述至少一暂存数据的数量是否小于一默认门槛值;
当所述至少一暂存数据的数量小于所述默认门槛值时,将至少一个虚拟数据写入所述第一实体抹除单元中;以及
仅当所述至少一暂存数据的数量非小于所述默认门槛值时,从所述多个实体抹除单元中选择至少一第二实体抹除单元,并且将所述至少一第二实体抹除单元中的至少一有效数据写入至所述第一实体抹除单元。
2.根据权利要求1所述的数据写入方法,其特征在于,在将所述至少一第二实体抹除单元中的所述至少一有效数据写入至所述第一实体抹除单元的步骤包括以所述至少一有效数据填满所述第一实体抹除单元的可用储存空间。
3.根据权利要求1所述的数据写入方法,其特征在于,所述默认指令为一清仓指令或一终止指令。
4.根据权利要求1所述的数据写入方法,其特征在于,还包括:
对所述至少一第二实体抹除单元进行一抹除操作。
5.根据权利要求1所述的数据写入方法,其特征在于,所述多个实体程序化单元包括多个下实体程序化单元、多个中实体程序化单元与多个上实体程序化单元。
6.一种存储器控制电路单元,用于控制一可复写式非易失性存储器模块,其特征在于,所述存储器控制电路单元包括:
一主机接口,用以电性连接至一主机***;
一存储器接口,用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个实体抹除单元,所述多个实体抹除单元具有多个实体程序化单元;
一缓冲存储器,电性连接至所述主机接口及所述存储器接口,用以储存至少一暂存数据;以及
一存储器管理电路,电性连接至所述主机接口、所述存储器接口与所述缓冲存储器,并且用以判断是否从所述主机***中接收到一默认指令,
当从所述主机***中接收到所述默认指令时,所述存储器管理电路更用以下达一第一指令序列以将所述缓冲存储器中的所述至少一暂存数据写入至所述多个实体抹除单元之中的一第一实体抹除单元,其中所述存储器管理电路更用以判断所述至少一暂存数据的数量是否小于一默认门槛值,
其中当所述至少一暂存数据的数量小于所述默认门槛值时,所述存储器管理电路更用以下达一第三指令序列以将至少一个虚拟数据写入所述第一实体抹除单元中,
其中仅当所述至少一暂存数据的数量非小于所述默认门槛值时,所述存储器管理电路用以从所述多个实体抹除单元中选择所述至少一第二实体抹除单元,并且下达一第二指令序列以将所述至少一第二实体抹除单元中的至少一有效数据写入至所述第一实体抹除单元。
7.根据权利要求6所述的存储器控制电路单元,其特征在于,在将所述至少一第二实体抹除单元中的所述至少一有效数据写入至所述第一实体抹除单元的运作包括所述存储器管理电路以所述至少一有效数据填满所述第一实体抹除单元的可用储存空间。
8.根据权利要求6所述的存储器控制电路单元,其特征在于,所述默认指令为一清仓指令或一终止指令。
9.根据权利要求6所述的存储器控制电路单元,其特征在于,所述存储器管理电路更用以下达一第四指令序列以对所述至少一第二实体抹除单元进行一抹除操作。
10.根据权利要求6所述的存储器控制电路单元,其特征在于,所述多个实体程序化单元包括多个下实体程序化单元、多个中实体程序化单元与多个上实体程序化单元。
11.一种存储器存储装置,其特征在于,包括:
一连接接口单元,用以电性连接至一主机***;
一可复写式非易失性存储器模块,具有多个实体抹除单元,所述多个实体抹除单元具有多个实体程序化单元;以及
一存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,并且包括一缓冲存储器,其中所述缓冲存储器用以储存至少一暂存数据,
其中所述存储器控制电路单元用以判断是否从所述主机***中接收到一默认指令,
当从所述主机***中接收到所述默认指令时,所述存储器控制电路单元更用以下达一第一指令序列以将所述缓冲存储器中的所述至少一暂存数据写入至所述多个实体抹除单元之中的一第一实体抹除单元,
其中所述存储器控制电路单元更用以判断所述至少一暂存数据的数量是否小于一默认门槛值,
其中当所述至少一暂存数据的数量小于所述默认门槛值时,所述存储器控制电路单元更用以下达一第三指令序列以将至少一个虚拟数据写入所述第一实体抹除单元中,
其中仅当所述至少一暂存数据的数量非小于所述默认门槛值时,所述存储器控制电路单元用以从所述多个实体抹除单元中选择所述至少一第二实体抹除单元,并且下达一第二指令序列以将所述至少一第二实体抹除单元中的至少一有效数据写入至所述第一实体抹除单元。
12.根据权利要求11所述的存储器存储装置,其特征在于,在将所述至少一第二实体抹除单元中的所述至少一有效数据写入至所述第一实体抹除单元的运作包括所述存储器控制电路单元以所述至少一有效数据填满所述第一实体抹除单元的可用储存空间。
13.根据权利要求11所述的存储器存储装置,其特征在于,所述默认指令为一清仓指令或一终止指令。
14.根据权利要求11所述的存储器存储装置,其特征在于,所述存储器控制电路单元更用以下达一第四指令序列以对所述至少一第二实体抹除单元进行一抹除操作。
15.根据权利要求11所述的存储器存储装置,其特征在于,所述多个实体程序化单元包括多个下实体程序化单元、多个中实体程序化单元与多个上实体程序化单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610093439.2A CN107103930B (zh) | 2016-02-19 | 2016-02-19 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610093439.2A CN107103930B (zh) | 2016-02-19 | 2016-02-19 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107103930A CN107103930A (zh) | 2017-08-29 |
CN107103930B true CN107103930B (zh) | 2020-05-26 |
Family
ID=59658635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610093439.2A Active CN107103930B (zh) | 2016-02-19 | 2016-02-19 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107103930B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442300B (zh) * | 2018-05-03 | 2022-12-13 | 群联电子股份有限公司 | 整理指令记录方法、存储器控制电路单元与存储装置 |
CN111858389B (zh) * | 2019-04-30 | 2023-07-04 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元以及存储器存储装置 |
CN110825661A (zh) * | 2019-10-31 | 2020-02-21 | 江苏华存电子科技有限公司 | 一种提升储存逻辑映象表效率的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102037520A (zh) * | 2009-05-07 | 2011-04-27 | 希捷科技有限公司 | 用于存储器件的磨损均匀化技术 |
CN104679437A (zh) * | 2013-11-27 | 2015-06-03 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器储存装置 |
CN104765568A (zh) * | 2014-01-08 | 2015-07-08 | 群联电子股份有限公司 | 数据存储方法、存储器控制电路单元与存储器存储装置 |
-
2016
- 2016-02-19 CN CN201610093439.2A patent/CN107103930B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102037520A (zh) * | 2009-05-07 | 2011-04-27 | 希捷科技有限公司 | 用于存储器件的磨损均匀化技术 |
CN104679437A (zh) * | 2013-11-27 | 2015-06-03 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器储存装置 |
CN104765568A (zh) * | 2014-01-08 | 2015-07-08 | 群联电子股份有限公司 | 数据存储方法、存储器控制电路单元与存储器存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107103930A (zh) | 2017-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844431B (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
CN107402716B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
US20150134887A1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN106681932B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN107544922B (zh) | 数据写入方法、存储器控制电路单元及存储器存储装置 | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
US10235094B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN107346211B (zh) | 映射表加载方法、存储器控制电路单元与存储器储存装置 | |
CN107357520B (zh) | 整理指令处理方法、存储器控制电路单元及其存储装置 | |
CN103678162B (zh) | ***数据储存方法、存储器控制器与存储器储存装置 | |
CN106959818B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN107045890B (zh) | 数据保护方法、存储器控制电路单元及存储器存储装置 | |
CN112860193B (zh) | 整理指令处理方法、存储器控制电路单元与存储装置 | |
CN107103930B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
US10203886B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus for writing data from buffer memory and moving valid data | |
CN107204205B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN110442299B (zh) | 数据写入方法、存储器控制电路单元以及存储器储存装置 | |
US10824340B2 (en) | Method for managing association relationship of physical units between storage area and temporary area, memory control circuit unit, and memory storage apparatus | |
CN109032957B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
US11609822B2 (en) | Data storing method, memory control circuit unit and memory storage device | |
CN113138720B (zh) | 数据存储方法、存储器控制电路单元以及存储器存储装置 | |
CN111583976B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
CN107132989B (zh) | 数据程序化方法、存储器控制电路单元及存储器存储装置 | |
CN110442300B (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 |