CN117632042B - 存储器管理方法、存储器存储装置及存储器控制电路单元 - Google Patents
存储器管理方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN117632042B CN117632042B CN202410102317.XA CN202410102317A CN117632042B CN 117632042 B CN117632042 B CN 117632042B CN 202410102317 A CN202410102317 A CN 202410102317A CN 117632042 B CN117632042 B CN 117632042B
- Authority
- CN
- China
- Prior art keywords
- memory
- updated
- physical block
- physical
- block
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 115
- 230000005055 memory storage Effects 0.000 title claims abstract description 53
- 230000004044 response Effects 0.000 claims abstract description 24
- 230000002159 abnormal effect Effects 0.000 claims abstract description 13
- 238000013507 mapping Methods 0.000 claims description 16
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 238000012937 correction Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Abstract
本发明提供一种存储器管理方法、存储器存储装置及存储器控制电路单元。所述存储器管理方法包括:建立用以管理多个实体区块的实体区块管理表;当发生异常掉电后重新起电时,基于实体区块管理表挑选至少一待更新实体区块;响应于至少一待更新实体区块的数量大于1个,判断至少一待更新实体区块的至少一当前状态以及至少一类别;以及当执行第一写入操作时,基于至少一当前状态以及至少一类别一并执行至少一第二写入操作。第一写入操作包括将用户数据写入高速缓冲存储器。第二写入操作包括将待更新实体区块所存储的数据写入至第一实体区块。
Description
技术领域
本发明涉及一种存储器更新技术,且尤其涉及一种存储器管理方法、存储器存储装置及存储器控制电路单元。
背景技术
智能手机、平板计算机及个人计算机在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(rewritable non-volatile memory module)(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
为了因应时常发生在存储器存储装置的异常掉电(abnormal/suddenly powerlost)、跨温(cross temperature)或读取干扰(read disturb)等问题,在起电初始化(initialization)过程中,存储器存储装置需要针对部分实体区块进行更新(refresh)操作。然而,随着存储器存储装置的容量的增加,由更新操作所造成的输入输出延迟(IOLatency)时间也随之增加,严重影响用户的体验质量。
发明内容
有鉴于此,本发明提供一种存储器管理方法、存储器存储装置及存储器控制电路单元,可以平均分摊输入输出延迟(IO Latency)时间,以提高用户的体验质量。
本发明的范例实施例提供一种存储器管理方法,其用于存储器存储装置。所述存储器存储装置包括可复写式非易失性存储器模块及高速缓冲存储器。所述可复写式非易失性存储器模块存储多个实体区块。所述存储器管理方法包括:建立用以管理所述多个实体区块的实体区块管理表;当发生异常掉电后重新起电时,基于所述实体区块管理表挑选至少一待更新实体区块;响应于所述至少一待更新实体区块的数量大于1个,判断所述至少一待更新实体区块的至少一当前状态以及至少一类别;以及当执行第一写入操作时,基于所述至少一当前状态以及所述至少一类别一并执行至少一第二写入操作,其中所述第一写入操作包括将用户数据写入所述高速缓冲存储器,并且各所述第二写入操作包括将待更新实体区块所存储的数据写入至第一实体区块。
在本发明的一范例实施例中,所述存储器管理方法还包括:响应于所述至少一待更新实体区块的数量等于1个,当执行所述第一写入操作时,一并执行所述第二写入操作。
在本发明的一范例实施例中,其中各所述当前状态为紧急状态以及正常状态的其中之一。
在本发明的一范例实施例中,其中基于所述至少一当前状态以及所述至少一类别执行所述至少一第二写入操作的步骤包括:响应于各所述待更新实体区块的当前状态不同,优先执行具有所述紧急状态的待更新实体区块的第二写入操作。
在本发明的一范例实施例中,其中基于所述至少一当前状态以及所述至少一类别执行所述至少一第二写入操作的步骤包括:响应于各所述待更新实体区块的当前状态相同,依序执行对应于所述映射实体区块、所述垃圾回收实体区块以及所述数据实体区块的第二写入操作。
本发明的范例实施例另提供一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。所述连接接口单元用以耦接至主机系统。所述存储器控制电路单元耦接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元包括高速缓冲存储器。所述可复写式非易失性存储器模块存储多个实体区块。所述存储器控制电路单元用以建立用以管理所述多个实体区块的实体区块管理表。当发生异常掉电后重新起电时,所述存储器控制电路单元更用以基于所述实体区块管理表挑选至少一待更新实体区块。响应于所述至少一待更新实体区块的数量大于1个,所述存储器控制电路单元更用以判断所述至少一待更新实体区块的至少一当前状态以及至少一类别。当执行第一写入操作时,基于所述至少一当前状态以及所述至少一类别一并执行至少一第二写入操作。所述第一写入操作包括将用户数据写入所述高速缓冲存储器。各所述第二写入操作包括将待更新实体区块所存储的数据写入至第一实体区块。
在本发明的一范例实施例中,响应于所述至少一待更新实体区块的数量等于1个,所述存储器控制电路单元更用以当执行所述第一写入操作时,一并执行所述第二写入操作。
在本发明的一范例实施例中,响应于各所述待更新实体区块的当前状态不同,所述存储器控制电路单元更用以优先执行具有所述紧急状态的待更新实体区块的第二写入操作。
在本发明的一范例实施例中,响应于各所述待更新实体区块的当前状态相同,所述存储器控制电路单元更用以依序执行对应于所述映射实体区块、所述垃圾回收实体区块以及所述数据实体区块的第二写入操作。
本发明的范例实施例另提供一种存储器控制电路单元,其用以控制可复写式非易失性存储器模块。所述存储器控制电路单元包括主机接口、存储器接口、高速缓冲存储器及存储器管理电路。所述主机接口用以耦接至主机系统。所述存储器接口用以耦接至所述可复写式非易失性存储器模块。所述高速缓冲存储器用以耦接所述主机接口与所述存储器接口。所述存储器管理电路耦接至所述主机接口、所述存储器接口与所述高速缓冲存储器。所述可复写式非易失性存储器模块存储多个实体区块。所述存储器管理电路用以建立用以管理所述多个实体区块的实体区块管理表。当发生异常掉电后重新起电时,所述存储器管理电路更用以基于所述实体区块管理表挑选至少一待更新实体区块。响应于所述至少一待更新实体区块的数量大于1个,所述存储器管理电路更用以判断所述至少一待更新实体区块的至少一当前状态以及至少一类别。当执行第一写入操作时,所述存储器管理电路更用以基于所述至少一当前状态以及所述至少一类别一并执行至少一第二写入操作。所述第一写入操作包括将用户数据写入所述高速缓冲存储器。各所述第二写入操作包括将待更新实体区块所存储的数据写入至第一实体区块。
在本发明的一范例实施例中,响应于所述至少一待更新实体区块的数量等于1个,所述存储器管理电路更用以当执行所述第一写入操作时,一并执行所述第二写入操作。
在本发明的一范例实施例中,响应于各所述待更新实体区块的当前状态不同,所述存储器管理电路更用以优先执行具有所述紧急状态的待更新实体区块的第二写入操作。
在本发明的一范例实施例中,响应于各所述待更新实体区块的当前状态相同,所述存储器管理电路更用以依序执行对应于所述映射实体区块、所述垃圾回收实体区块以及所述数据实体区块的第二写入操作。
基于上述,本发明的存储器管理方法、存储器存储装置及存储器控制电路单元可在执行第一写入操作时,一并执行第二写入操作。也就是说,本发明的存储器管理方法、存储器存储装置及存储器控制电路单元可在高速缓冲存储器被写满之前,分次完成待更新实体区块的更新操作(第二写入操作),使得输入输出延迟(IO Latency)可被平均分摊,以提升用户的体验质量。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图;
图3是根据本发明的范例实施例所示出的系统与存储装置的示意图;
图4是根据本发明的范例实施例所示出的存储器存储装置的示意图;
图5是根据本发明的范例实施例所示出的存储器控制电路单元的示意图;
图6是根据本发明的范例实施例所示出的输入输出延迟(IO Latency)与写入次数(IO index)的关系图;
图7是根据本发明的范例实施例所示出的输入输出延迟(IO Latency)与写入次数(IO index)的关系图;
图8是根据本发明的范例实施例所示出的存储器管理方法的流程图。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同组件符号在附图和描述中用来表示相同或相似部分。
一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与控制器(亦称,控制电路)。存储器存储装置可与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据本发明的范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的方块图。图2是根据本发明的范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图。
请参照图1与图2,主机系统11可包括处理器111、随机存取存储器(random accessmemory, RAM)112、只读存储器(read only memory, ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114可耦接至系统总线(systembus)110。
在一范例实施例中,主机系统11可通过数据传输接口114与存储器存储装置10耦接。例如,主机系统11可经由数据传输接口114将数据存储至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11可通过系统总线110与I/O装置12耦接。例如,主机系统11可经由系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在一范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114可设置在主机系统11的主板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主板20可以经由有线或无线方式耦接至存储器存储装置10。
在一范例实施例中,存储器存储装置10可例如是U盘201、存储卡202、固态硬盘(Solid State Drive, SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通信(Near Field Communication, NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通信技术为基础的存储器存储装置。此外,主板20也可以通过系统总线110耦接至全球定位系统(Global Positioning System, GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,主机系统11为计算机系统。在一范例实施例中,主机系统11可为可实质地与存储器存储装置配合以存储数据的任意系统。在一范例实施例中,主机系统11为车载系统。在一范例实施例中,存储器存储装置10与主机系统11可分别包括图3的存储装置30与系统31。
图3是根据本发明的范例实施例所示出的系统与存储装置的示意图。
请参照图3,存储装置30可与系统31搭配使用以存储数据。例如,系统31可以是数码相机、摄像机、通信装置、音频播放器、视频播放器或平板计算机等系统。例如,存储装置30可为系统31所使用的安全数码(Secure Digital, SD)卡32、小型快闪(Compact Flash,CF)卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded Multi Media Card, eMMC)341和/或嵌入式多芯片封装(embedded Multi Chip Package, eMCP)存储装置342等各类型将存储器模块直接耦接于主机系统的基板上的嵌入式存储装置。
图4是根据本发明的范例实施例所示出的存储器存储装置的示意图。
请参照图4,存储器存储装置10包括连接接口单元41、存储器控制电路单元42与可复写式非易失性存储器模块43。
连接接口单元41用以将存储器存储装置10耦接主机系统11。存储器存储装置10可经由连接接口单元41与主机系统11通讯。在一范例实施例中,连接接口单元41是兼容于高速周边零件连接接口(Peripheral Component Interconnect Express, PCI Express)标准。在一范例实施例中,连接接口单元41亦可以是符合序列高级附件(Serial AdvancedTechnology Attachment, SATA)标准、并行高级附件(Parallel Advanced TechnologyAttachment, PATA)标准、电气和电子工程师协会(Institute of Electrical andElectronic Engineers, IEEE)1394标准、通用串行总线(Universal Serial Bus, USB)标准、SD接口标准、超高速一代(Ultra High Speed-I, UHS-I)接口标准、超高速二代(UltraHigh Speed-II, UHS-II)接口标准、存储棒(Memory Stick, MS)接口标准、MCP接口标准、MMC接口标准、eMMC接口标准、通用快闪存储器(Universal Flash Storage, UFS)接口标准、eMCP接口标准、CF接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。连接接口单元41可与存储器控制电路单元42封装在一个芯片中,或者连接接口单元41是布设于一包含存储器控制电路单元42之芯片外。
存储器控制电路单元42耦接至连接接口单元41与可复写式非易失性存储器模块43。存储器控制电路单元42用以执行以硬件型式或固件型式实作的多个逻辑闸或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块43中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块43用以存储主机系统11所写入的数据。可复写式非易失性存储器模块43可包括单阶存储单元(Single Level Cell, SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个位的快闪存储器模块)、多阶存储单元(Multi LevelCell, MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个位的快闪存储器模块)、三阶存储单元(Triple Level Cell, TLC) NAND型快闪存储器模块(即,一个存储单元中可存储3个位的快闪存储器模块)、四阶存储单元(Quad Level Cell, QLC)NAND型快闪存储器模块(即,一个存储单元中可存储4个位的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块43中的每一个存储单元是以电压(以下亦称为临界电压)的改变来存储一或多个比特。具体来说,每一个存储单元的控制门极(control gate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制门极,可以改变电荷补捉层的电子量,进而改变存储单元的临界电压。此改变存储单元的临界电压的操作亦称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着临界电压的改变,可复写式非易失性存储器模块43中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个存储单元是属于哪一个存储状态,由此取得此存储单元所存储的一或多个比特。
在一范例实施例中,可复写式非易失性存储器模块43的存储单元可构成多个实体程序化单元,并且此些实体程序化单元可构成多个实体抹除单元。具体来说,同一条字线上的存储单元可组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一条字线上的实体程序化单元可至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效位(Least Significant Bit, LSB)是属于下实体程序化单元,并且一存储单元的最高有效位(Most Significant Bit, MSB)是属于上实体程序化单元。一般来说,在MLC NAND型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。
在一范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元可为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元可包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体扇,用以存储使用者数据,而冗余比特区用以存储系统数据(例如,错误更正码等管理数据)。在本范例实施例中,数据比特区包含32个实体扇,且一个实体扇的大小为512字节(byte, B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目的一并被抹除的存储单元。例如,实体抹除单元为实体区块(block)。
图5是根据本发明的范例实施例所示出的存储器控制电路单元的示意图。请参照图5,存储器控制电路单元42包括存储器管理电路51、主机接口52及存储器接口53。
存储器管理电路51用以控制存储器控制电路单元42的整体运作。具体来说,存储器管理电路51具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路51的操作时,等同于说明存储器控制电路单元42的操作。
在一范例实施例中,存储器管理电路51的控制指令是以固件型式来实作。例如,存储器管理电路51具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被刻录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在一范例实施例中,存储器管理电路51的控制指令亦可以代码型式存储于可复写式非易失性存储器模块43的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路51具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元42被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块43中的控制指令加载至存储器管理电路51的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
在一范例实施例中,存储器管理电路51的控制指令亦可以一硬件型式来实作。例如,存储器管理电路51包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是耦接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块43的存储单元或存储单元群组。存储器写入电路用以对可复写式非易失性存储器模块43下达写入指令序列以将数据写入至可复写式非易失性存储器模块43中。存储器读取电路用以对可复写式非易失性存储器模块43下达读取指令序列以从可复写式非易失性存储器模块43中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块43下达抹除指令序列以将数据从可复写式非易失性存储器模块43中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块43的数据以及从可复写式非易失性存储器模块43中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个代码或指令码并且用以指示可复写式非易失性存储器模块43执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路51还可以下达其他类型的指令序列给可复写式非易失性存储器模块43以指示执行相对应的操作。
主机接口52是耦接至存储器管理电路51。存储器管理电路51可通过主机接口52与主机系统11通信。主机接口52可用以接收与识别主机系统11所传送的指令与数据。例如,主机系统11所传送的指令与数据可通过主机接口52来传送至存储器管理电路51。此外,存储器管理电路51可通过主机接口52将数据传送至主机系统11。在本范例实施例中,主机接口52是兼容于PCI Express标准。然而,必须了解的是本发明不限于此,主机接口52亦可以是兼容于SATA标准、PATA标准、IEEE 1394标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口53是耦接至存储器管理电路51并且用以存取可复写式非易失性存储器模块43。例如,存储器管理电路51可通过存储器接口53存取可复写式非易失性存储器模块43。也就是说,欲写入至可复写式非易失性存储器模块43的数据会经由存储器接口53转换为可复写式非易失性存储器模块43所能接受的格式。具体来说,若存储器管理电路51要存取可复写式非易失性存储器模块43,存储器接口53会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路51产生并且通过存储器接口53传送至可复写式非易失性存储器模块43。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或代码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
在一范例实施例中,存储器控制电路单元42还包括错误检查与校正电路54、高速缓冲存储器55及电源管理电路56。
错误检查与校正电路54是耦接至存储器管理电路51并且用以执行错误检查与校正操作以确保数据的正确性。具体来说,当存储器管理电路51从主机系统11中接收到写入指令时,错误检查与校正电路54会为对应此写入指令的数据产生对应的错误更正码(errorcorrecting code, ECC)和/或错误检查码(error detecting code,EDC),并且存储器管理电路51会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块43中。之后,当存储器管理电路51从可复写式非易失性存储器模块43中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路54会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正操作。
高速缓冲存储器55是耦接至存储器管理电路51并且用以暂存数据。电源管理电路56是耦接至存储器管理电路51并且用以控制存储器存储装置10的电源。在一范例实施例中,高速缓冲存储器55可用以暂存由主机系统11所写入的数据,并且当高速缓冲存储器55被写满时,存储器管理电路51才会将由高速缓冲存储器55所暂存的数据一次性地写入可复写式非易失性存储器模块43中。
在一范例实施例中,图4的可复写式非易失性存储器模块43可包括快闪存储器模块。在一范例实施例中,图4的存储器控制电路单元42可包括快闪存储器控制器。在一范例实施例中,图5的存储器管理电路51可包括快闪存储器管理电路。
为了因应时常发生于存储器存储装置10的异常掉电(abnormal/suddenly powerlost)、跨温(cross temperature)或读取干扰(read disturb)等问题。存储器管理电路51可建立用以管理可复写式非易失性存储器模块43所存储的多个实体区块的实体区块管理表。
当发生异常掉电后重新起电时,存储器管理电路51可基于所述实体区块管理表挑选待至少一更新实体区块。
具体来说,待更新实体区块的类别可例如是用以存储该用户数据的数据实体区块、用以存储垃圾回收数据的垃圾回收实体区块或用以存储映射表数据的映射实体区块。
在本范例实施例中,可复写式非易失性存储器模块43的多个实体区块可逻辑性地分组为用以存储存储器存储装置10的管理信息的系统区以及用以存储来自主机系统11的用户数据的数据区。数据区又可分为存储区及闲置区。存储区的实体区块是被视为已存储数据的实体区块,而闲置区的实体区块是用以替换存储区的实体区块。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器管理电路51会从闲置区中提取实体区块来写入数据,以替换存储区的实体区块。
在本范例实施例中,映射实体区块关联于系统区,并且垃圾回收实体区块以及数据实体区块关联于数据区。进一步说明,垃圾回收实体区块是在垃圾回收算法下用以存储有效数据的实体区块。
在本范例实施例中,存储器管理电路51可查找关联于存储区的每一个实体区块的最后写入页(last write page)来判断其是否为待更新的实体区块。
在本范例实施例中,由于存储器管理电路51是当高速缓冲存储器55被写满时才会将由高速缓冲存储器55所暂存的用户数据一次性地写入至可复写式非易失性存储器模块43。因此,存储器管理电路51只需在将用户数据写入至高速缓冲存储器55时,一并将待更新实体区块所存储的数据写入至其他实体区块即可。换言之,存储器管理电路51不需如同已知技术一次性地完成所有的更新操作。
若是所述至少一待更新实体区块的数量大于1个,存储器管理电路51可判断每个待更新实体区块的当前状态以及类别。每个待更新实体区块的类别可例如是上述的数据实体区块、垃圾回收实体区块或映射实体区块。另外,每个待更新实体区块的当前状态可例如是正常状态(normal state)或紧急状态(urgent state)。 每个待更新实体区块的当前状态的判断依据如表1所示。请参照表1。
在表1中,Cnt表示需写入Cnt次IO才可将高速缓冲存储器55写满;X表示尚需写入X次IO才需进行更新映射表的操作;Y表示尚需写入Y个IO才需进行垃圾回收的操作。在本范例实施例中,1次IO可例如是写入1次4K数据。
在表1中,关于垃圾回收实体区块,存储器管理电路51可设定一固定值作为执行垃圾回收操作的判断依据,例如当可复写式非易失性存储器模块43的剩余容量小于或等于20%时,存储器管理电路51需执行垃圾回收操作,以避免影响后续的写入数据的写入速度。据此,在本范例实施例中,当可复写式非易失性存储器模块43的剩余容量小于或等于20%时,垃圾回收实体区块的当前状态为紧急状态。另外,此固定值可依实际需求自行设计,本发明并不加以限制。
接下来,存储器管理电路51可在执行第一写入操作时,基于所有待更新实体区块的当前状态及类别一并执行所有待更新实体区块的第二写入操作。在本范例实施例中,第一写入操作例如是将用户数据写入高速缓冲存储器55。第二写入操作例如是将所述待更新实体区块所存储的数据写入至其他实体区块。
具体来说,若是所述至少一待更新实体区块具有不同的当前状态,存储器管理电路51可优先执行具有紧急状态的待更新实体区块的第二写入操作。也就是说,存储器管理电路51可优先执行完具有紧急状态的待更新实体区块的第二写入操作。之后,存储器管理电路51再执行具有正常状态的待更新实体区块的第二写入操作。另外,若是所有待更新实体区块具有相同的当前状态(意即,所有待更新实体区块皆为紧急状态或皆为正常状态),存储器管理电路51可依序执行对应于映射实体区块、垃圾回收实体区块以及数据实体区块的第二写入操作。
根据上述,存储器管理电路51可在执行第一写入操作时,一并执行所有待更新实体区块的第二写入操作。举例来说,请参照图6,图6是根据本发明的范例实施例所示出的输入输出延迟(IO Latency)与写入次数(IO index)的关系图。在本范例实施例中,待更新实体区块中的映射实体区块为紧急状态且数据实体区块和垃圾回收实体区块为正常状态。存储器管理电路51可依序对映射实体区块、垃圾回收实体区块以及数据实体区块执行更新操作。如图6所示,存储器管理电路51可将对待更新实体区块的更新操作平均分摊在写入高速缓冲存储器55的多次IO中。
关于输入输出延迟(IO Latency)的计算公式如下:
在上述计算公式中,Limit_Time表示更新全部的待更新实体区块所需的时间;Cnt表示需写入Cnt次IO才可将高速缓冲存储器55写满;Time表示对一被写满的实体区块进行更新操作所需的时间,其中3是代表存储器管理电路51需对3个待更新实体区块(意即,映射实体区块、垃圾回收实体区块及数据实体区块)执行更新操作。
据此,相较于已知技术,一次性更新全部的待更新实体区块的方式相比(意即,当写入次数(IO index)为1时,全部的待更新实体区块的更新操作被完成),本发明的存储器管理电路51可在执行第一写入操作时,一并执行第二写入操作,以均摊所有待更新实体区块的更新操作。也就是说,本发明的存储器管理电路51可在高速缓冲存储器55被写满之前(意即,在写入次数(IO index)为Cnt之前)依序地分次更新映射实体区块、分次更新垃圾回收实体区块及分次更新数据实体区块,使得输入输出延迟(IO Latency)可被平均分摊,以提升用户的体验质量。
另一方面,若是所述至少一待更新实体区块的数量等于1个,存储器管理电路51可在执行第一写入操作时,一并执行第二写入操作。举例来说,请参照图7,图7是根据本发明的范例实施例所示出的输入输出延迟(IO Latency)与写入次数(IO index)的关系图。在本范例实施例中,存储器管理电路51可分次执行第二写入操作。如图7所示,当写入次数(IOindex)为5时,存储器管理电路51才完成对所述待更新实体区块的第二写入操作。据此,相较于已知技术,一次性更新待更新实体区块的方式,本发明的存储器管理电路51可在执行用户数据的写入操作(第一写入操作)时,同时执行对待更新实体区块的更新操作(第二写入操作),使得输入输出延迟(IO Latency)可被平均分摊,以提升用户的体验质量。
图8是根据本发明的范例实施例所示出的存储器管理方法的流程图。
请参照图8,在步骤S801中,建立用以管理多个实体区块的实体区块管理表。在步骤S802中,当发生异常掉电后重新起电时,基于所述实体区块管理表挑选至少一待更新实体区块。在步骤S803中,判断所述至少一待更新实体区块的数量。若是所述至少一待更新实体区块的数量等于1,则进入步骤S806,然而,若是所述至少一待更新实体区块的数量大于1,则进入步骤S804。
在步骤S804中,判断所述至少一待更新实体区块的至少一当前状态以及至少一类别。据此,在步骤S805中,当执行第一写入操作时,基于所述至少一当前状态以及所述至少一类别一并执行至少一第二写入操作。
另一方面,在步骤S806中,当执行第一写入操作时,一并执行第二写入操作。
关于步骤S801至S806的实施细节,在前述的范例实施例中已有详细的说明,故不再此重述。值得注意的是,图8中各步骤可以实作为多个程序代码或是电路,本发明不加以限制。令外,图8的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本发明的存储器管理方法、存储器存储装置以及存储器控制电路单元可在高速缓冲存储器被写满之前,分次完成待更新实体区块的更新操作,使得输入输出延迟(IO Latency)可被平均分摊,以提升用户的体验质量。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种存储器管理方法,其特征在于,用于存储器存储装置,其中所述存储器存储装置包括可复写式非易失性存储器模块及高速缓冲存储器,所述可复写式非易失性存储器模块存储多个实体区块,所述存储器管理方法包括:
建立用以管理所述多个实体区块的实体区块管理表;
当发生异常掉电后重新起电时,基于所述实体区块管理表挑选至少一待更新实体区块;
响应于所述至少一待更新实体区块的数量大于1个,判断所述至少一待更新实体区块的至少一当前状态以及至少一类别;以及
当执行第一写入操作时,基于所述至少一当前状态以及所述至少一类别一并执行至少一第二写入操作,其中所述第一写入操作包括将用户数据写入所述高速缓冲存储器,并且各所述第二写入操作包括将待更新实体区块所存储的数据写入至第一实体区块,
其中各所述当前状态为紧急状态以及正常状态的其中之一,
其中各所述类别为用以存储所述用户数据的数据实体区块、用以存储垃圾回收信息的垃圾回收实体区块以及用以存储映射表信息的映射实体区块的其中之一。
2.根据权利要求1所述的存储器管理方法,还包括:
响应于所述至少一待更新实体区块的数量等于1个,当执行所述第一写入操作时,一并执行所述第二写入操作。
3.根据权利要求1所述的存储器管理方法,其中基于所述至少一当前状态以及所述至少一类别一并执行所述至少一第二写入操作的步骤包括:
响应于各所述待更新实体区块的当前状态不同,优先执行具有所述紧急状态的待更新实体区块的第二写入操作。
4.根据权利要求1所述的存储器管理方法,其中基于所述至少一当前状态以及所述至少一类别一并执行所述至少一第二写入操作的步骤包括:
响应于各所述待更新实体区块的当前状态相同,依序执行对应于所述映射实体区块、所述垃圾回收实体区块以及所述数据实体区块的第二写入操作。
5.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以耦接至主机系统;
可复写式非易失性存储器模块,用以存储多个实体区块;以及
存储器控制电路单元,耦接至所述连接接口单元与所述可复写式非易失性存储器模块,包括高速缓冲存储器,
其中所述存储器控制电路单元用以建立用以管理所述多个实体区块的实体区块管理表,
当发生异常掉电后重新起电时,所述存储器控制电路单元还用以基于所述实体区块管理表挑选至少一待更新实体区块,
响应于所述至少一待更新实体区块的数量大于1个,所述存储器控制电路单元还用以判断所述至少一待更新实体区块的至少一当前状态以及至少一类别,并且
当执行第一写入操作时,所述存储器控制电路单元还用以基于所述至少一当前状态以及所述至少一类别一并执行至少一第二写入操作,其中所述第一写入操作包括将用户数据写入所述高速缓冲存储器,并且各所述第二写入操作包括将待更新实体区块所存储的数据写入至第一实体区块,
其中各所述当前状态为紧急状态以及正常状态的其中之一,
其中各所述类别为用以存储所述用户数据的数据实体区块、用以存储垃圾回收信息的垃圾回收实体区块以及用以存储映射表信息的映射实体区块的其中之一。
6.根据权利要求5所述的存储器存储装置,其中响应于所述至少一待更新实体区块的数量等于1个,所述存储器控制电路单元还用以当执行所述第一写入操作时,一并执行所述第二写入操作。
7.根据权利要求5所述的存储器存储装置,其中响应于各所述待更新实体区块的当前状态不同,所述存储器控制电路单元还用以优先执行具有所述紧急状态的待更新实体区块的第二写入操作。
8.根据权利要求5所述的存储器存储装置,其中响应于各所述待更新实体区块的当前状态相同,所述存储器控制电路单元还用以依序执行对应于所述映射实体区块、所述垃圾回收实体区块以及所述数据实体区块的第二写入操作。
9.一种存储器控制电路单元,其特征在于,设置于存储器存储装置中,用于控制可复写式非易失性存储器模块,所述可复写式非易失性存储器模块存储多个实体区块,所述存储器控制电路单元包括:
主机接口,用以耦接主机系统;
存储器接口,用以耦接所述可复写式非易失性存储器模块;
高速缓冲存储器,用以耦接所述主机接口与所述存储器接口;以及
存储器管理电路,耦接至所述主机接口、所述存储器接口与所述高速缓冲存储器,
其中所述存储器管理电路用以建立用以管理所述多个实体区块的实体区块管理表,
当发生异常掉电后重新起电时,所述存储器管理电路还用以基于所述实体区块管理表挑选至少一待更新实体区块,
响应于所述至少一待更新实体区块的数量大于1个,所述存储器管理电路还用以判断所述至少一待更新实体区块的至少一当前状态以及至少一类别,并且
当执行第一写入操作时,所述存储器管理电路还用以基于所述至少一当前状态以及所述至少一类别一并执行至少一第二写入操作,其中所述第一写入操作包括将用户数据写入所述高速缓冲存储器,并且各所述第二写入操作包括将待更新实体区块所存储的数据写入至第一实体区块,
其中各所述当前状态为紧急状态以及正常状态的其中之一,
其中各所述类别为用以存储所述用户数据的数据实体区块、用以存储垃圾回收信息的垃圾回收实体区块以及用以存储映射表信息的映射实体区块的其中之一。
10.根据权利要求9所述的存储器控制电路单元,其中响应于所述至少一待更新实体区块的数量等于1个,所述存储器管理电路还用以当执行所述第一写入操作时,一并执行所述第二写入操作。
11.根据权利要求9所述的存储器控制电路单元,其中响应于各所述待更新实体区块的当前状态不同,所述存储器管理电路还用以优先执行具有所述紧急状态的待更新实体区块的第二写入操作。
12.根据权利要求9所述的存储器控制电路单元,其中响应于各所述待更新实体区块的当前状态相同,所述存储器管理电路还用以依序执行对应于所述映射实体区块、所述垃圾回收实体区块以及所述数据实体区块的第二写入操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410102317.XA CN117632042B (zh) | 2024-01-25 | 2024-01-25 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410102317.XA CN117632042B (zh) | 2024-01-25 | 2024-01-25 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117632042A CN117632042A (zh) | 2024-03-01 |
CN117632042B true CN117632042B (zh) | 2024-04-30 |
Family
ID=90027282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410102317.XA Active CN117632042B (zh) | 2024-01-25 | 2024-01-25 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117632042B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681932A (zh) * | 2016-11-14 | 2017-05-17 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
CN107402716A (zh) * | 2016-05-20 | 2017-11-28 | 合肥兆芯电子有限公司 | 数据写入方法、内存控制电路单元与内存储存装置 |
CN107590080A (zh) * | 2016-07-07 | 2018-01-16 | 合肥兆芯电子有限公司 | 映射表更新方法、存储器控制电路单元及存储器存储装置 |
CN112463656A (zh) * | 2020-11-25 | 2021-03-09 | 至誉科技(武汉)有限公司 | 固态硬盘异常掉电恢复方法、系统及存储介质 |
CN112988069A (zh) * | 2021-03-11 | 2021-06-18 | 深圳宏芯宇电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制器 |
CN113296701A (zh) * | 2021-05-14 | 2021-08-24 | 尧云科技(西安)有限公司 | 一种固态存储方法及固态存储装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954654B2 (en) * | 2008-06-18 | 2015-02-10 | Super Talent Technology, Corp. | Virtual memory device (VMD) application/driver with dual-level interception for data-type splitting, meta-page grouping, and diversion of temp files to ramdisks for enhanced flash endurance |
US20150347310A1 (en) * | 2014-05-30 | 2015-12-03 | Lsi Corporation | Storage Controller and Method for Managing Metadata in a Cache Store |
TWI635495B (zh) * | 2016-02-05 | 2018-09-11 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
TWI607309B (zh) * | 2016-03-16 | 2017-12-01 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
US10061655B2 (en) * | 2016-05-11 | 2018-08-28 | Seagate Technology Llc | Volatile cache reconstruction after power failure |
US11226894B2 (en) * | 2018-12-21 | 2022-01-18 | Micron Technology, Inc. | Host-based flash memory maintenance techniques |
US20230409235A1 (en) * | 2022-05-31 | 2023-12-21 | Microsoft Technology Licensing, Llc | File system improvements for zoned storage device operations |
-
2024
- 2024-01-25 CN CN202410102317.XA patent/CN117632042B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107402716A (zh) * | 2016-05-20 | 2017-11-28 | 合肥兆芯电子有限公司 | 数据写入方法、内存控制电路单元与内存储存装置 |
CN107590080A (zh) * | 2016-07-07 | 2018-01-16 | 合肥兆芯电子有限公司 | 映射表更新方法、存储器控制电路单元及存储器存储装置 |
CN106681932A (zh) * | 2016-11-14 | 2017-05-17 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
CN112463656A (zh) * | 2020-11-25 | 2021-03-09 | 至誉科技(武汉)有限公司 | 固态硬盘异常掉电恢复方法、系统及存储介质 |
CN112988069A (zh) * | 2021-03-11 | 2021-06-18 | 深圳宏芯宇电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制器 |
CN113296701A (zh) * | 2021-05-14 | 2021-08-24 | 尧云科技(西安)有限公司 | 一种固态存储方法及固态存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117632042A (zh) | 2024-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078149B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN111078146B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN111258505B (zh) | 快闪存储器的数据合并方法、控制电路单元与存储装置 | |
CN112860194B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN112051971B (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
US9760456B2 (en) | Memory management method, memory storage device and memory control circuit unit | |
US11221946B2 (en) | Data arrangement method, memory storage device and memory control circuit unit | |
CN117632042B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN111831210B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN117636967B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN117632039B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN117632038B (zh) | 损耗平衡方法、存储器存储装置及存储器控制电路单元 | |
CN114327265B (zh) | 读取干扰检查方法、存储器存储装置及控制电路单元 | |
CN111240602B (zh) | 闪存的数据整理方法、控制电路单元与存储装置 | |
CN117632040B (zh) | 数据写入方法、存储器存储装置以及存储器控制电路单元 | |
CN113312274B (zh) | 存储器的数据整理方法、存储器存储装置及控制电路单元 | |
US20240028506A1 (en) | Mapping table re-building method, memory storage device and memory control circuit unit | |
CN114115739B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN114115737B (zh) | 数据存储分配方法、存储器存储装置及控制电路单元 | |
CN112216329B (zh) | 数据抹除方法、存储器控制电路单元及存储器存储装置 | |
US20210064283A1 (en) | Command transmitting method, memory control circuit unit and memory storage device | |
CN114661233A (zh) | 表格排序方法、存储器存储装置及存储器控制电路单元 | |
CN116225329A (zh) | 存储器的性能匹配方法、存储装置及存储器控制电路 | |
CN116230062A (zh) | 电压预测方法、存储器存储装置及存储器控制电路单元 | |
CN116959531A (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 |