CN117785071A - 一种存储器及其性能优化方法 - Google Patents
一种存储器及其性能优化方法 Download PDFInfo
- Publication number
- CN117785071A CN117785071A CN202410211027.9A CN202410211027A CN117785071A CN 117785071 A CN117785071 A CN 117785071A CN 202410211027 A CN202410211027 A CN 202410211027A CN 117785071 A CN117785071 A CN 117785071A
- Authority
- CN
- China
- Prior art keywords
- memory
- writing
- host
- storage area
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 174
- 238000005457 optimization Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000006399 behavior Effects 0.000 claims abstract description 27
- 238000004891 communication Methods 0.000 claims abstract description 4
- 230000004044 response Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 12
- 230000003139 buffering effect Effects 0.000 description 7
- 238000000926 separation method Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005415 magnetization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种存储器及其性能优化方法,包括:存储区域,用于存储数据;以及主控器,通信连接于主机,用以接收主机的第一随机写指令、第二随机写指令以及主机数据;其中,主控器用以响应于第一随机写指令,获取存储区域的全卡写速率,主控器用以根据预设条件,将存储区域分为多个子存储区域;主控器用以响应于第二随机写指令,获取多个子存储区域的平均写速率;主控器根据全卡写速率与平均写速率的比较结果,以开启存储器的后台性能自动化优化行为。通过本发明提供的一种存储器及其性能优化方法,能够在出厂阶段,确定是否需要开启后台性能自动化优化行为。
Description
技术领域
本发明涉及存储领域,特别涉及一种存储器及其性能优化方法。
背景技术
内嵌式存储器(Embedded Multi Media Card,eMMC)是一种内置存储系统,其可包括MMC(多媒体卡)接口、快闪存储器(nand-flash)及eMMC主控器。eMMC主控器是以硬件形式实现的,用于执行在主机设备中的闪存管理功能。
在对eMMC存储器进行读写操作时,当主机不再发送相关指令后,eMMC存储器为了能够降低自身功耗,会进入低功耗模式,开启后台性能自动化优化行为,以在一定程度上提升读写性能。
对于目前的eMMC存储器而言,在出厂设置阶段,无法确定存储器是否开启后台性能自动化优化行为,因此,存在待改进之处。
发明内容
本发明的目的在于提供一种存储器及其性能优化方法,以在出厂阶段,确定是否需要开启后台性能自动化优化行为。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提供了一种存储器,包括:
存储区域,用于存储数据;以及
主控器,通信连接于主机,用以接收所述主机的第一随机写指令、第二随机写指令以及主机数据;
其中,所述主控器用以响应于第一随机写指令,获取所述存储区域的全卡写速率,所述全卡写速率表示为当存储区域的存储容量被主机数据填满时,所述主机数据写入时的写速率;
所述主控器用以根据预设条件,将所述存储区域分为多个子存储区域;
所述主控器用以响应于第二随机写指令,获取多个子存储区域的平均写速率,所述平均写速率表示为向多个子存储区域写入预设容量大小的主机数据时,多个子存储区域的写速率的均值;
所述主控器确定全卡写速率小于或等于平均写速率时,执行的动作为:开启存储器的后台性能自动化优化行为。
在本发明一实施例中,所述主控器还用以响应于主机的擦除指令,对所述存储区域内的数据进行擦除处理,以使存储器恢复为空盘状态。
在本发明一实施例中,所述主控器确定接收到第一随机写指令时,执行的动作为:将主机数据随机写入存储区域中,并判断存储区域的存储容量是否被填满。
在本发明一实施例中,所述主控器确定存储区域的存储容量被填满时,执行的动作为:获取全卡写速率A,A=(G×Count×1024×1024×1024)/(H×60×60)Byte/s,其中,G表示为存储器一次写入的最大数据量,Count表示为填满存储容量所需要的次数,H表示为消耗时间。
在本发明一实施例中,所述预设条件表示为:对所述存储区域的存储容量进行均分处理,以得到多个相同容量的子存储区域。
在本发明一实施例中,所述子存储区域的存储容量大于预设容量,所述预设容量Y,表示为Y=(BKOPS_threshold×SLC_page_count×Page_size+Page_size),其中,BKOPS_threshold表示为存储器内部预留的SLC区块的数量,SLC_page_count表示为存储器设定的SLC存储页的数量,Page_size表示为存储页的大小。
在本发明一实施例中,所述主控器确定接收到第二随机写指令时,执行的动作为:依次向不同的子存储区域写入预设容量大小的主机数据,并获取对应的写速率Mm,表示为Mm=Y/Tm,其中,Tm表示为向第m个子存储区域Xm写入主机数据的写入时间,Y表示为预设容量。
在本发明一实施例中,所述主控器用以根据写速率,获取平均写速率B,表示为:B=(M1+M2+…+Mm)/m。
在本发明一实施例中,所述主控器确定全卡写速率大于平均写速率时,执行的动作为:不开启存储器的后台性能自动化优化行为。
本发明还提供了一种存储器的性能优化方法,包括:
响应于主机的第一随机写指令,获取全卡写速率,所述全卡写速率表示为当存储区域的存储容量被主机数据填满时,所述主机数据写入时的写速率;
根据预设条件,将存储器的存储区域分为多个子存储区域;
响应于所述主机的第二随机写指令,获取多个子存储区域的平均写速率,所述平均写速率表示为向多个子存储区域写入预设容量大小的主机数据时,多个子存储区域的写速率的均值;
根据所述全卡写速率与平均写速率的比较结果,以开启存储器的后台性能自动化优化行为;
当所述全卡写速率小于或等于平均写速率时,开启存储器的后台性能自动化优化行为;
当所述全卡写速率大于平均写速率时,不开启存储器的后台性能自动化优化行为。
如上所述,本发明提供一种存储器及其性能优化方法,在存储器的出厂阶段,通过对存储器进行测试,能够自动化验证出存储器是否需要开启后台性能自动化优化行为,使后续存储器在实际使用过程中能够开启后台性能自动化优化行为,以提升存储器的性能与使用寿命。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例中存储器的示意图;
图2为本发明一实施例中存储器的性能优化方法的流程图;
图3为图2中步骤S10的流程图;
图4为图2中步骤S20的流程图;
图5为图2中步骤S40的流程图;
图6为图2中步骤S50的流程图。
图中:100、存储器;110、主控器;120、存储区域;121、子存储区域;130、主机接口;140、缓存模块;150、寄存器;200、主机。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明提供了一种存储器,其可在存储器100的出厂阶段对其进行验证,以判断存储器100是否需要开启后台性能自动化优化行为。存储器100的后台性能自动化优化行为可以包括垃圾回收(Garbage Collection)、磨损均衡(Wear Leveling)、冷热数据分离(Hot Cold Data Separation)、写入缓冲(Write Buffering)、重映射(Remapping)等中的一种或几种。当存储器100需要开启后台性能自动化优化行为时,可以根据存储器100的实际需求,以开启不同的行为。
在本发明的一个实施例中,垃圾回收(Garbage Collection)可以表示为当一部分数据被删除或覆盖时,需要清理其占用的无效页。垃圾回收会在后台自动进行,回收这些无效页,并将其归还至可用的页池。
在本发明的一个实施例中,磨损均衡(Wear Leveling)可以表示为存储器100会尽量均匀地使用其所有存储块。磨损均衡会分析各个存储块的使用情况,并将新数据尽可能地写入使用次数较少的存储块,以延长存储器100的使用寿命。
在本发明的一个实施例中,冷热数据分离(Hot Cold Data Separation)可以表示为使用算法识别出频繁访问的热数据(hot)和较少访问的冷数据(cold),然后将热数据和冷数据分别写入不同的存储块,以提高存储器100的读写性能。
在本发明的一个实施例中,写入缓冲(Write Buffering)可以表示为在存储器100收到写入请求时,并不会立刻将数据写入最终的存储块,而是先写入一个速度较快的缓存模块140。等到存储器100处于空闲状态时,再将缓存模块140的数据搬移到最终的存储块。
在本发明的一个实施例中,重映射(Remapping)可以表示为如果某些存储块出现物理损坏的情况,存储器100会将这些存储块标记为坏块,并用备用的良好存储块来替换这些坏块,以保证数据的安全性。
请参阅图1,在本发明的一个实施例中,存储器100可以包括主控器110、存储区域120、主机接口130、缓存模块140以及寄存器150。其中,存储区域120可以由多个NAND闪存组成,NAND闪存可用来存储数据。主控器110可以负责管理NAND闪存、处理读写请求以及处理诸如错误检测与纠正(ECC)、磨损均衡、碎片整理等底层任务。主机接口130可提供标准化的方式使主控器110与主机200通信,以接收来自于主机200的指令与主机数据。缓存模块140是存储器100的内部缓存,可用于缓存即将写入的数据、暂存读取操作返回的数据。寄存器150可用于存储有关存储器特性和功能的信息,如存储容量、通信速度、支持的命令等。主机200可以通过访问寄存器150来获取存储器的设备信息和配置设备参数。
在本发明的一个实施例中,主控器110可对存储区域120进行初始化处理,以擦除存储器100中的数据。具体地,主机200可以先对存储器100进行上电初始化处理。之后,主控器110可响应于主机200的擦除指令,对存储器100内部的存储数据进行擦除处理,以使存储器100恢复为空盘状态。
在本发明的一个实施例中,主机200在对存储器100进行上电初始化处理时,首先,主机200可以先检测电源是否正常,是否能为存储器100提供足够的电力。然后,主机200会启动硬件的自我检查程序,主要检查存储器100的物理指标(如温度、电压等)是否正常。接着,主机200需要对存储器100的主控器110进行初始化,初始化动作可以包括启动主控器110、加载主控器110的驱动程序以及设置相应的参数。随后,主机200会检查存储器100的存储区域120,包括总体存储大小、可用的存储空间等。之后,主机200会挂载存储器100的文件系统,文件系统的挂载是存储器100能被正常使用的前提。最后,主机200会检查上述步骤是否都正确完成,如果出现错误,可能会进行错误修复或者给出错误提示,如果未出现错误,则表示存储器100上电初始化操作完成。
在本发明的一个实施例中,当需要对存储器100进行擦除处理时,主控器110可以接收并识别主机200发出的数据擦除指令。数据擦除指令通常由主机200通过主机接口130发送。之后,主控器110会检查发送擦除指令的主机200是否具有相应的权限。如果未经授权的主机200试图擦除存储器100,为了保障数据安全,主控器110可能会拒绝该请求。当主控器110验证主机200具备相应的权限后,可以开始执行数据擦除动作。对于固态硬盘(SSD)或闪存(Flash),需要通过应用高电压来将存储块的电荷重置,达到数据擦除的目的。对于硬盘驱动器(HDD),可以通过磁化方式覆盖已存数据。在擦除处理后,主控器110可以再次进行内部校验,验证擦除是否成功,是否存在未被完全擦除的区域。当主控器110判断出存在未被完全擦除的区域时,会对未完全擦除的区域重新擦除,直至不存在未完全擦除的区域为止。当主控器110判断出不存在未被完全擦除的区域时,会重新标识为空盘或可用状态,同时更新内部的管理信息,如使用的和空闲的存储空间等。
在本发明的一个实施例中,当完成存储区域120的擦除后,主控器110可以响应于主机200的第一随机写指令,获取全卡写速率。
在本发明的一个实施例中,具体地,主控器110可响应于主机200的第一随机写指令,获取主机数据。当主机200向主控器110发出第一随机写指令后,主控器110会接收来自主机200的第一随机写指令,第一随机写指令可以包括写入的主机数据、目标地址、数据大小等信息。之后,主控器110会对第一随机写指令进行解码处理,以将写入的主机数据暂时存储在存储器100的缓存模块140中。在主机数据到达缓存模块140后,主控器110会根据实际需求对主机数据进行处理,例如进行压缩、加密等操作以加强数据安全和效率。主控器110会在存储器100中寻找可用的存储区域120以存放数据。最后,主控器110可以将随机入操作的结果返回给主机200。主控器110根据操作结果的不同,可能会发送成功提示或者错误信息。
在本发明的一个实施例中,在获取到主机数据后,主控器110可将主机数据随机写入存储器100的存储区域120中,并判断存储区域120的存储容量是否被主机数据填满。当存储区域120的存储容量未被主机数据填满时,主控器110可继续向存储区域120中随机写入主机数据。具体地,存储区域120可以由多个存储块(如扇区、页等)组成,当空闲存储块的数量不足以容纳写入的主机数据时,存储器100的存储容量可以被视为已满。在向存储区域120中随机写入主机数据的过程中,空闲存储块的数量会逐渐减少。当存在空闲存储块时,可以表示为存储区域120的存储容量未被主机数据填满,此时可以继续向存储区域120中随机写入主机数据。当空闲存储块的数量降低为零时,可以表示为存储区域120的存储容量被主机数据填满,此时无法继续向存储区域120中随机写入主机数据。
在本发明的一个实施例中,当主控器110判断出存储区域120的存储容量被主机数据填满时,可以获取全卡写速率A。
在本发明的一个实施例中,具体地,当存储区域120的存储容量被主机数据填满时,主控器110可以获取主机数据写入时的写速率,表示为全卡写速率A,A=(G×Count×1024×1024×1024)/(H×60×60)Byte/s,其中,G表示为存储器100可一次写入的最大数据量,Count表示为填满存储容量所需要的次数,MB X1×Count表示为存储器100的整体存储容量,H表示为消耗时间。其中,存储器100一次写入的最大数据量可以被称为写入突发量或每次写入的最大负载,可以表示为在一个单一的写入操作中或一次传输周期中处理的数据量的最大值。例如,对于NAND闪存,每次写入的数据必须对齐到编程页(page)。编程页的大小根据不同的NAND闪存设计会不同,常见的大小有4KB,8KB,16KB等。例如,“MB X1×Count:1024”表示整体容量是:1×1024MB=1024MB,或者说,1GB(Gigabyte)。
在本发明的一个实施例中,当获取到全卡写速率后,主控器110可根据预设条件,将存储区域120分为多个子存储区域121。具体地,当获取到全卡写速率后,此时可以根据预设条件,将存储器100的存储区域120分为多个子存储区域121。预设条件表示为:对存储容量进行均分处理,以得到多个相同容量的子存储区域121。在本实施例中,子存储区域121的具体数量可以不加限制,可以为10个、20个等,具体数量可根据实际需求进行设定。在将存储区域120划分为多个具有相同容量的子存储区域121后,可以对子存储区域121按照顺序进行排序,以得到第一个子存储区域X1、第二个子存储区域X2、…、第m个子存储区域Xm。每个子存储区域121都可以作为独立的逻辑存储单元用于存储、管理和访问数据。
在本发明的一个实施例中,进一步的,在对存储器100的存储容量进行划分得到多个子存储区域121时,需要满足划分后的子存储区域121的存储容量大于预设容量Y,表示为:Y=(BKOPS_threshold×SLC_page_count×Page_size+Page_size)。其中,BKOPS_threshold可以表示为存储器100内部预留的SLC区块(SLC blocks)的数量。存储器100会预留一定数量的SLC区块以备后用,这主要用于做背景操作或者提供缓冲,以此来提高整个存储器100的性能和寿命。BKOPS表示为后台操作(Background Operations),是一种用以提升系统性能及延长存储器100寿命的技术,通过在后台进行数据整理和优化。SLC_page_count可以表示为存储器100设定的SLC存储页(SLC page)的数量。存储器100设定了一个固定数量的SLC page进行数据存储。这个数量的设定是基于存储器100的数据存储需求和内部闪存的容量设计的,影响存储器100的存储能力。Page_size可以表示为存储页的大小。在存储器100中,存储项通常被组织为页(page)和块(block)。块是由多个页组成的数据单位。Page_size表示为一个存储页能够容纳的数据量大小,其可以是一次最小的数据读/写单位。每次对存储器100的读取或写入操作,都必须以整个Page_size为单位进行。例如,某个存储器100的Page_size为4KB,即4096字节,当向该存储器100写入数据时,无论写入的具体数据量是多少,都会以这个4KB为一个单位进行操作。如果写入的数据少于4KB,那么它将填充剩余的空间。如果写入的数据大于4KB,它将分为多个4KB的页进行写入。
在本发明的一个实施例中,当将存储区域120均分为多个子存储区域121后,主控器110可响应于主机200的第二随机写指令,获取多个子存储区域121的平均写速率。
在本发明的一个实施例中,具体地,主控器110可响应于主机200的第二随机写指令,向第一个子存储区域121写入预设容量大小的主机数据,并获取对应的写速率。例如,当主机200向存储器100发出第二随机写指令后,主控器110会接收来自主机200的第二随机写指令,第二随机写指令可以包括写入的主机数据、目标地址、数据大小等信息。之后,主控器110会对第二随机写指令进行解码处理,以将写入的主机数据暂时存储在缓存模块140中。在主机数据到达缓存模块140后,主控器110会根据实际需求对主机数据进行处理,以将主机数据写入到第一个子存储区域X1中。在本实施例中,写入到第一个子存储区域X1中的主机数据的数据量可以为预设容量Y。在完成主机数据的写入后,主控器110可以获取数据写入的时间,表示为T1。此时,主控器110可以获取写入到第一个子存储区域X1中的主机数据的写速率M1,表示为:M1=Y/T1。
在本发明的一个实施例中,主控器110还可按照顺序依次向其余子存储区域121写入预设容量大小的数据,并获取对应的写速率。具体地,当获取到第一个子存储区域X1的写速率M1后,主控器110可以再获取一个新的数据量为预设容量Y的主机数据,并将该主机数据写入到第二个子存储区域X2中,以得到第二个子存储区域X2的写速率M2。以此类推,直至主控器110将数据量为预设容量Y的主机数据写入到第m个子存储区域Xm后,得到第m个子存储区域Xm的写速率Mm为止,表示为:Mm=Y/Tm,其中,Tm表示为向第m个子存储区域Xm写入主机数据的写入时间。
在本发明的一个实施例中,主控器110还可根据子存储区域121的写速率,获取平均写速率。具体地,当获取到m个子存储区域121的写速率M1、M2、…、Mm后,主控器110可以根据子存储区域121的写速率,获取平均写速率B,表示为:B=(M1+M2+…+Mm)/m。
在本发明的一个实施例中,当获取到平均写速率后,主控器110可根据全卡写速率与平均写速率的比较结果,以开启存储器100的后台性能自动化优化行为。具体地,主控器110可判断全卡写速率是否大于平均写速率。当主控器110判断出全卡写速率小于或等于平均写速率,则开启存储器100的后台性能自动化优化行为。当主控器110判断出全卡写速率大于平均写速率,则不开启存储器100的后台性能自动化优化行为。
在本发明的一个实施例中,当主控器110获取到全卡写速率A与平均写速率B后,可以根据全卡写速率A与平均写速率B的比较结果,以开启存储器100的后台性能自动化优化行为。例如,当全卡写速率A小于或等于平均写速率B时,可以表示为需要开启存储器100的后台性能自动化优化行为。需要开启的优化行为的项目可根据实际需求进行设定,例如开启垃圾回收、磨损均衡、冷热数据分离、写入缓冲以及重映射中的一种或几种优化行为。当全卡写速率A大于平均写速率B时,可以表示为不需要开启存储器100的后台性能自动化优化行为。
可见,在上述方案中,在存储器的出厂阶段,通过对存储器进行测试,能够自动化验证出存储器是否需要开启后台性能自动化优化行为,使后续存储器在实际使用过程中能够开启后台性能自动化优化行为,以提升存储器的性能与使用寿命。
请参阅图2,本发明还提供了一种存储器的性能优化方法,该优化方法可应用于上述存储器100中,以在存储器100的出厂阶段对其进行测试,自动化验证出存储器是否需要开启后台性能自动化优化行为。存储器的性能优化方法可包括如下步骤:
步骤S10、对存储器进行初始化处理,以擦除存储器中的数据;
步骤S20、响应于主机的第一随机写指令,获取全卡写速率;
步骤S30、根据预设条件,将存储器的存储区域分为多个子存储区域;
步骤S40、响应于主机的第二随机写指令,获取多个子存储区域的平均写速率;
步骤S50、根据全卡写速率与平均写速率的比较结果,以开启存储器的后台性能自动化优化行为。
请参阅图3,在本发明的一个实施例中,当执行步骤S10时,具体地,步骤S10可包括如下步骤:
步骤S11、对存储器进行上电初始化处理;
步骤S12、响应于主机的擦除指令,对存储器内部的存储数据进行擦除处理,以使存储器恢复为空盘状态。
请参阅图4,在本发明的一个实施例中,当执行步骤S20时,具体地,步骤S20可包括如下步骤:
步骤S21、响应于主机的第一随机写指令,获取主机数据;
步骤S22、将主机数据随机写入存储器的存储区域中,判断存储区域的存储容量是否被主机数据填满;
步骤S23、当存储区域的存储容量未被主机数据填满时,继续向存储区域中随机写入主机数据;
步骤S24、当存储区域的存储容量被主机数据填满时,获取全卡写速率。
请参阅图5,在本发明的一个实施例中,当执行步骤S40时,具体地,步骤S40可包括如下步骤:
步骤S41、响应于主机的第二随机写指令,向第一个子存储区域写入预设容量大小的主机数据,并获取对应的写速率;
步骤S42、按照顺序依次向其余子存储区域写入预设容量大小的数据,并获取对应的写速率;
步骤S43、根据子存储区域的写速率,获取平均写速率。
请参阅图6,在本发明的一个实施例中,当执行步骤S50时,具体地,步骤S50可包括如下步骤:
步骤S51、判断全卡写速率是否大于平均写速率;
步骤S52、当全卡写速率小于或等于平均写速率,则开启存储器的后台性能自动化优化行为;
步骤S53、当全卡写速率大于平均写速率,则不开启存储器的后台性能自动化优化行为。
以上公开的本发明实施例只是用于帮助阐述本发明。实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (10)
1.一种存储器,其特征在于,包括:
存储区域,用于存储数据;以及
主控器,通信连接于主机,用以接收所述主机的第一随机写指令、第二随机写指令以及主机数据;
其中,所述主控器用以响应于第一随机写指令,获取所述存储区域的全卡写速率,所述全卡写速率表示为当存储区域的存储容量被主机数据填满时,所述主机数据写入时的写速率;
所述主控器用以根据预设条件,将所述存储区域分为多个子存储区域;
所述主控器用以响应于第二随机写指令,获取多个子存储区域的平均写速率,所述平均写速率表示为向多个子存储区域写入预设容量大小的主机数据时,多个子存储区域的写速率的均值;
所述主控器确定全卡写速率小于或等于平均写速率时,执行的动作为:开启存储器的后台性能自动化优化行为。
2.根据权利要求1所述的存储器,其特征在于,所述主控器还用以响应于主机的擦除指令,对所述存储区域内的数据进行擦除处理,以使存储器恢复为空盘状态。
3.根据权利要求1所述的存储器,其特征在于,所述主控器确定接收到第一随机写指令时,执行的动作为:将主机数据随机写入存储区域中,并判断存储区域的存储容量是否被填满。
4.根据权利要求3所述的存储器,其特征在于,所述主控器确定存储区域的存储容量被填满时,执行的动作为:获取全卡写速率A,A=(G×Count×1024×1024×1024)/(H×60×60)Byte/s,其中,G表示为存储器一次写入的最大数据量,Count表示为填满存储容量所需要的次数,H表示为消耗时间。
5.根据权利要求1所述的存储器,其特征在于,所述预设条件表示为:对所述存储区域的存储容量进行均分处理,以得到多个相同容量的子存储区域。
6.根据权利要求5所述的存储器,其特征在于,所述子存储区域的存储容量大于预设容量,所述预设容量Y,表示为Y=(BKOPS_threshold×SLC_page_count×Page_size+Page_size),其中,BKOPS_threshold表示为存储器内部预留的SLC区块的数量,SLC_page_count表示为存储器设定的SLC存储页的数量,Page_size表示为存储页的大小。
7.根据权利要求1所述的存储器,其特征在于,所述主控器确定接收到第二随机写指令时,执行的动作为:依次向不同的子存储区域写入预设容量大小的主机数据,并获取对应的写速率Mm,表示为Mm=Y/Tm,其中,Tm表示为向第m个子存储区域Xm写入主机数据的写入时间,Y表示为预设容量。
8.根据权利要求7所述的存储器,其特征在于,所述主控器用以根据写速率,获取平均写速率B,表示为:B=(M1+M2+…+Mm)/m。
9.根据权利要求1所述的存储器,其特征在于,所述主控器确定全卡写速率大于平均写速率时,执行的动作为:不开启存储器的后台性能自动化优化行为。
10.一种存储器的性能优化方法,其特征在于,包括:
响应于主机的第一随机写指令,获取全卡写速率,所述全卡写速率表示为当存储区域的存储容量被主机数据填满时,所述主机数据写入时的写速率;
根据预设条件,将存储器的存储区域分为多个子存储区域;
响应于所述主机的第二随机写指令,获取多个子存储区域的平均写速率,所述平均写速率表示为向多个子存储区域写入预设容量大小的主机数据时,多个写速率的均值;
根据所述全卡写速率与平均写速率的比较结果,以开启存储器的后台性能自动化优化行为;
当所述全卡写速率小于或等于所述平均写速率时,开启存储器的后台性能自动化优化行为;
当所述全卡写速率大于所述平均写速率时,不开启存储器的后台性能自动化优化行为。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410211027.9A CN117785071B (zh) | 2024-02-27 | 2024-02-27 | 一种存储器及其性能优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410211027.9A CN117785071B (zh) | 2024-02-27 | 2024-02-27 | 一种存储器及其性能优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117785071A true CN117785071A (zh) | 2024-03-29 |
CN117785071B CN117785071B (zh) | 2024-05-24 |
Family
ID=90396751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410211027.9A Active CN117785071B (zh) | 2024-02-27 | 2024-02-27 | 一种存储器及其性能优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117785071B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006252137A (ja) * | 2005-03-10 | 2006-09-21 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置の最適化方法 |
JP2013041547A (ja) * | 2011-08-19 | 2013-02-28 | Toshiba Corp | 情報処理装置、性能評価ツール、外部記憶装置の性能評価方法 |
US20140185388A1 (en) * | 2012-12-31 | 2014-07-03 | Dmitry Vaysman | Dynamic drive strength optimization |
US8825940B1 (en) * | 2008-12-02 | 2014-09-02 | Siliconsystems, Inc. | Architecture for optimizing execution of storage access commands |
CN107845394A (zh) * | 2016-09-19 | 2018-03-27 | 三星电子株式会社 | 存储装置及其操作方法 |
US20180217928A1 (en) * | 2017-02-01 | 2018-08-02 | SK Hynix Inc. | Data storage device and operating method thereof |
US20200005840A1 (en) * | 2018-06-28 | 2020-01-02 | Micron Technology, Inc. | Data strobe calibration |
US20200034040A1 (en) * | 2018-07-24 | 2020-01-30 | Sid GARMAN | Data Architecture Based on Sub-allocation and References from Fragmented Data Blocks |
CN112997161A (zh) * | 2018-06-18 | 2021-06-18 | Flc技术集团股份有限公司 | 将储存系统用作主存储器的方法和装置 |
CN113470725A (zh) * | 2021-06-28 | 2021-10-01 | 深圳市晶存科技有限公司 | 一种动态随机存储器的测试方法及装置 |
US20210365202A1 (en) * | 2020-05-19 | 2021-11-25 | SK Hynix Inc. | Memory controller and operating method thereof |
CN113703664A (zh) * | 2021-06-24 | 2021-11-26 | 杭州电子科技大学 | 一种eMMC芯片随机写入速率优化实现方法 |
US20220155993A1 (en) * | 2020-11-13 | 2022-05-19 | Fujifilm Business Innovation Corp. | Information processing apparatus and non-transitory computer readable medium |
US20230127512A1 (en) * | 2021-10-22 | 2023-04-27 | Hefei Core Storage Electronic Limited | Memory performance optimization method, memory control circuit unit and memory storage device |
CN117215485A (zh) * | 2023-09-12 | 2023-12-12 | 上海宏芯宇微电子技术有限公司 | Zns ssd管理方法及数据写入方法、存储装置、控制器 |
-
2024
- 2024-02-27 CN CN202410211027.9A patent/CN117785071B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006252137A (ja) * | 2005-03-10 | 2006-09-21 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置の最適化方法 |
US8825940B1 (en) * | 2008-12-02 | 2014-09-02 | Siliconsystems, Inc. | Architecture for optimizing execution of storage access commands |
JP2013041547A (ja) * | 2011-08-19 | 2013-02-28 | Toshiba Corp | 情報処理装置、性能評価ツール、外部記憶装置の性能評価方法 |
US20140185388A1 (en) * | 2012-12-31 | 2014-07-03 | Dmitry Vaysman | Dynamic drive strength optimization |
CN107845394A (zh) * | 2016-09-19 | 2018-03-27 | 三星电子株式会社 | 存储装置及其操作方法 |
US20180217928A1 (en) * | 2017-02-01 | 2018-08-02 | SK Hynix Inc. | Data storage device and operating method thereof |
CN112997161A (zh) * | 2018-06-18 | 2021-06-18 | Flc技术集团股份有限公司 | 将储存系统用作主存储器的方法和装置 |
US20200005840A1 (en) * | 2018-06-28 | 2020-01-02 | Micron Technology, Inc. | Data strobe calibration |
US20200034040A1 (en) * | 2018-07-24 | 2020-01-30 | Sid GARMAN | Data Architecture Based on Sub-allocation and References from Fragmented Data Blocks |
US20210365202A1 (en) * | 2020-05-19 | 2021-11-25 | SK Hynix Inc. | Memory controller and operating method thereof |
US20220155993A1 (en) * | 2020-11-13 | 2022-05-19 | Fujifilm Business Innovation Corp. | Information processing apparatus and non-transitory computer readable medium |
CN113703664A (zh) * | 2021-06-24 | 2021-11-26 | 杭州电子科技大学 | 一种eMMC芯片随机写入速率优化实现方法 |
CN113470725A (zh) * | 2021-06-28 | 2021-10-01 | 深圳市晶存科技有限公司 | 一种动态随机存储器的测试方法及装置 |
US20230127512A1 (en) * | 2021-10-22 | 2023-04-27 | Hefei Core Storage Electronic Limited | Memory performance optimization method, memory control circuit unit and memory storage device |
CN117215485A (zh) * | 2023-09-12 | 2023-12-12 | 上海宏芯宇微电子技术有限公司 | Zns ssd管理方法及数据写入方法、存储装置、控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN117785071B (zh) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11967369B2 (en) | Lifetime mixed level non-volatile memory system | |
US8234466B2 (en) | Flash memory storage system applying SLC NAND flash memory and MLC NAND flash memory and data writing method thereof | |
US8762622B2 (en) | Enhanced MLC solid state device | |
US8745309B2 (en) | Cooperative memory management | |
JP4524309B2 (ja) | フラッシュメモリ用のメモリコントローラ | |
US8458417B2 (en) | Garbage collection in a storage device | |
US8131911B2 (en) | Data writing method, and flash storage system and controller using the same | |
US8296504B2 (en) | Data management method and flash memory storage system and controller using the same | |
CN110890113A (zh) | 存储设备及其操作方法 | |
US8589619B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
US11656963B2 (en) | Storage device and method for operating storage device | |
WO2014074449A2 (en) | Wear leveling in flash memory devices with trim commands | |
CN111722793A (zh) | 开放通道存储设备的操作方法 | |
CN110910944A (zh) | 保持存储器系统中的固件的设备和方法 | |
CN111755039A (zh) | 在恢复进程期间减少存储器系统中单元干扰的设备及方法 | |
KR20160074025A (ko) | 데이터 저장 장치의 동작 방법 | |
CN110083305B (zh) | 存储器系统及其操作方法 | |
CN111223514A (zh) | 具有数据保持保护的电子设备及其操作方法 | |
EP2264602A1 (en) | Memory device for managing the recovery of a non volatile memory | |
CN112347001B (zh) | 闪存垃圾回收的校验方法、装置及电子设备 | |
CN116540950B (zh) | 一种存储器件及其写入数据的控制方法 | |
US11169871B2 (en) | Data storage device and operating method thereof | |
CN117785071B (zh) | 一种存储器及其性能优化方法 | |
US20110087828A1 (en) | Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof | |
JP4837121B1 (ja) | データ記憶装置及びデータ書き込み方法 |
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 |