一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储器组件中的使用经调整参数的垃圾收集的制作方法

2022-04-25 05:16:14 来源:中国专利 TAG:


1.本公开的实施例大体上涉及存储器子系统,且更具体地说,涉及存储器组件中的使用经调整参数的垃圾收集。


背景技术:

2.存储器子系统可以是存储装置、存储器模块,以及存储装置和存储器模块的混合。存储器子系统可包含一或多个存储数据的存储器组件。存储器组件可以是例如非易失性存储器组件和易失性存储器组件。一般来说,主机系统可利用存储器子系统将数据存储在存储器组件处且从存储器组件检索数据。
附图说明
3.根据下文给出的详细描述且根据本公开的各种实施例的附图将更充分地理解本公开。然而,图式不应视为将本公开限于特定实施例,而是仅用于解释和理解。
4.图1说明根据本公开的一些实施例的包含存储器子系统的实例计算环境。
5.图2说明根据本公开的一些实施例的存储器组件中的使用经调整参数的垃圾收集的实例。
6.图3是根据本公开的一些实施例的使用经调整参数执行垃圾收集操作的实例方法的流程图。
7.图4是根据本公开的一些实施例的使用参数的经修改值执行垃圾收集操作的实例方法的流程图。
8.图5是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
9.本公开的各方面涉及存储器组件中的使用经调整参数的垃圾收集。存储器子系统可以是存储装置、存储器模块,或存储装置和存储器模块的混合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个存储器组件(下文也称为“存储器装置”)的存储器子系统。主机系统可提供待存储在存储器子系统处的数据,且可请求从存储器子系统检索数据。
10.当主机系统请求存储数据时,数据存储在存储器组件内的物理地址处。主机系统提供识别待存储的数据的逻辑地址。维持逻辑到物理(l2p)映射表以识别对应于每一逻辑地址的数据驻存的物理位置。存储器子系统中的存储器组件可包含用于存储对应于从主机系统接收的数据的二进制数据的一或多个位的一或多个存储器页(在本文中也称为“页”)。存储器组件的一或多个存储器页可分组在一起以形成数据块。当数据写入到存储器组件时,这通常在页层级处完成,使得在单个操作中写入整个页或多个页。当主机系统请求在特定逻辑地址处更新数据时,更新后的数据存储在新物理位置(例如,新物理地址)处且更新l2p映射,使得数据的特定逻辑地址映射到新物理地址。原始数据(例如,在更新之前的数
据)仍保持存储在原始物理地址中。然而,此数据从主机的角度看不再有效,且不再可被主机使用。随着数据的各种变化,除具有有效数据的物理地址之外,存储器组件还累积具有无效数据的各种数据块上的物理地址。存储在存储器组件处的无效数据被视为“垃圾”且可在某个时候被清除。
11.当存储器组件已满而使得没有充足容量来接受来自额外写入操作的数据时,可擦除某些数据以便释放空间。然而,当从存储器组件擦除数据时,这通常在块层级下完成,使得整个块(包含多个页)在单个操作中被擦除。因此,当更新存储器组件上的特定数据段时,块中的某些页将具有已经重写到不同位置和/或不再需要的数据。不能简单地擦除整个块,因为每个块很可能还具有一些数目的有效数据页。可执行垃圾收集(“gc”)过程,其涉及将含有有效数据的块的那些页迁移(例如,重写)到另一块,使得可擦除具有有效数据和无效数据两者的当前块。垃圾收集是一种自动存储器管理形式,其尝试回收垃圾或被不再使用的失效数据对象(例如,因为所述数据对象已用新值更新)占用的存储器。垃圾收集的基本原理是查找将来无法或不必存取的数据对象且回收那些对象所用的资源(即,存储空间)。
12.常规存储器子系统可包含确定何时适合于起始垃圾收集操作的控制器。控制器可执行计算以确定执行gc操作的最优时间,并针对各种因素进行优化。在一些实例中,作为用于存储器子系统的常规存储器管理操作的部分,周期性地起始gc。在其它实例中,响应于特定事件,例如,接收到写入请求(例如,来自主机系统)并确定存储器组件不具有足以接受写入请求的容量而起始gc。在一些实例中,控制器可确定存储器组件已满和/或不存在足以接受可从主机接收的任何其它额外写入操作的容量,并且确定需要执行垃圾收集以释放存储器组件中的空间。在一些实例中,控制器可确定存储器子系统或存储器子系统内的某些组件处于空闲状态或正在经历停工时间,并且在此时间期间可执行gc。基于适当时间的确定,控制器可起始垃圾收集操作以从某些块擦除无效数据。
13.控制器可在各种情形下确定执行gc。在一些实例中,由于特定情况,执行gc可能是关键的。在其它实例中,执行gc可以是非紧急的。在一些实例中,执行gc可能花费大量时间。例如,数据块可能由于有效和无效数据两者在每一数据块的各种位置中而非常碎片化,从而使得gc操作花费大量时间。在一些实例中,在短时间内执行gc操作可能是必要的。例如,存储器组件可能已满且接受额外主机写入请求的容量可能不足,从而要求立即执行gc操作。基于执行gc的时间长度和需要多长时间执行gc,执行gc的关键性等级可能有所不同。然而,在常规系统中,不管执行gc是否关键,都要优化gc操作以实现高性能。gc可以是功率密集型操作。gc可能需要复杂算法来针对各种因素进行优化,这可能消耗大量电池功率。当gc对执行不关键时,使用宝贵的电池功率可能是浪费的。
14.本公开的各方面通过具有可取决于执行gc操作的关键性而使用不同参数执行垃圾收集的存储器子系统来解决以上和其它不足。在一个实施方案中,存储器子系统中的控制器可通过确定满足对存储器子系统的存储器组件执行gc操作的准则(例如,系统空闲状态)来确定执行gc操作的适当时间。当满足准则时,控制器可确定与执行gc操作相关联的关键性等级。例如,控制器可计算与执行gc相关联的关键性值。在一些实例中,可将关键性值与针对存储器组件所定义的关键性条件进行比较。例如,如果关键性值低于定义的阈值,那么可满足关键性条件。如果控制器确定关键性值满足关键性条件,那么控制器可调整默认用于gc的优化因素。控制器可改变与gc操作相关联的参数,使得用于gc操作的电池功率减
少。
15.本公开通过改变gc操作的参数而基于执行垃圾收集操作的关键性减少执行垃圾收集对电池消耗的影响。本公开的优点包含但不限于保留用于执行重要和紧急操作的电池寿命、在电池功率得以保留时提高存储器子系统的性能、不浪费宝贵的计算资源来优化执行不需要优化的垃圾收集操作,在可由存储器子系统使用节省的电池功率执行其它读取或写入操作而不是在执行垃圾收集操作时耗尽电池功率时可改善存储器子系统的总体性能等。
16.图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算环境100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或这些的组合。
17.存储器子系统110可以是存储装置、存储器模块,或存储装置和存储器模块的混合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储装置(ufs)驱动器和硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小型dimm(so-dimm)和非易失性双列直插式存储器模块(nvdimm)。
18.计算环境100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。主机系统120使用存储器子系统110以例如将数据写入到存储器子系统110和从存储器子系统110读取数据。如本文中所使用,“耦合到”通常指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,不具有介入组件),无论有线还是无线,包含例如电连接、光学连接、磁连接等连接。
19.主机系统120可以是计算装置,例如桌上型计算机、膝上型计算机、网络服务器、移动装置或包含存储器和处理装置的此类计算装置。主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行附接的scsi(sas)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过pcie接口与主机系统120耦合时,主机系统120可进一步利用nvm快速(nvme)接口存取存储器组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据和其它信号的接口。
20.存储器装置可包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可以是但不限于随机存取存储器(ram),例如动态随机存取存储器(dram)和同步动态随机存取存储器(sdram)。
21.非易失性存储器装置的实例(例如,存储器装置130)包含“与非”(nand)类型的快闪存储器。存储器装置130中的每一个可包含存储器单元的一或多个阵列,所述存储器单元例如单层级单元(slc)或多层级单元(mlc)(例如,三层级单元(tlc)或四层级单元(qlc))。在一些实施例中,特定存储器组件可包含存储器单元的slc部分,以及mlc部分、tlc部分或qlc部分。存储器单元中的每一个可存储供主机系统120使用的一或多个数据位。此外,存储器装置130的存储器单元可分组为存储器页或存储器块,其可指用于存储数据的存储器组件的单元。
22.虽然描述了例如nand型快闪存储器等非易失性存储器组件,但是存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、磁性随机存取存储器(mram)、“或非”(nor)快闪存储器、电可擦除可编程只读存储器(eeprom),以及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的变化来执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。
23.存储器子系统控制器115可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据,和其它此类操作。存储器子系统控制器115可包含硬件,例如一或多个集成电路和/或离散组件、缓冲器存储器,或其组合。存储器子系统控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等)或其它合适的处理器。
24.存储器子系统控制器115可包含被配置成执行存储在本地存储器119中的指令的处理器(处理装置)117。在所说明的实例中,存储器子系统控制器115的本地存储器119包含被配置成存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作(包含处理存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流程和例程。
25.在一些实施例中,本地存储器119可包含存储存储器指针、所提取的数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(rom)。虽然图1中的实例存储器子系统110已说明为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110可不包含存储器子系统控制器115,且可改为依靠(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供的)外部控制。
26.一般来说,存储器子系统控制器115可从主机系统120接收命令或操作,且可将命令或操作转换为指令或适当命令以实现对存储器装置130的所需存取。存储器子系统控制器115可负责与存储器装置130相关联的其它操作,例如损耗均衡操作、垃圾收集操作、错误检测和错误校正码(ecc)操作、加密操作、高速缓存操作,以及在逻辑块地址与物理块地址之间的地址转换。存储器子系统控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路可将从主机系统接收的命令转换为命令指令以存取存储器装置130,以及将与存储器装置130相关联的响应转换为用于主机系统120的信息。
27.存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存器或缓冲器(例如,dram)和地址电路系统(例如,行解码器和列解码器),所述地址电路系统可从存储器子系统控制器115接收地址且对所述地址进行解码以存取存储器装置130。
28.在一些实施例中,存储器装置130包含本地媒体控制器135,所述本地媒体控制器结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。
29.存储器子系统110包含参数调整组件113,所述参数调整组件可基于执行垃圾收集操作的关键性而调整与垃圾收集操作相关联的参数。在一些实施例中,存储器子系统控制器115包含参数调整组件113的至少一部分。例如,存储器子系统控制器115可包含处理器117(处理装置),所述处理器被配置成执行存储在本地存储器119中以用于执行本文中所描
述的操作的指令。在一些实施例中,参数调整组件113为主机系统110、应用程序或操作系统的部分。
30.参数调整组件113可确定与对存储器组件的数据块执行垃圾收集操作相关联的关键性等级。例如,参数调整组件113可计算与执行gc相关联的关键性值。当参数调整组件113确定与执行gc相关联的关键性值满足关键性条件(例如,关键性值低于定义的阈值)时,参数调整组件113可调整默认用于优化gc操作的参数。参数调整组件113可改变与gc操作相关联的参数,使得针对gc操作减少电池功率使用。下文描述关于参数调整组件113的操作的其它细节。
31.图2说明根据本公开的一些实施例的存储器子系统200的存储器组件中的使用经调整参数的垃圾收集的实例。一般来说,存储器子系统200可对应于图1的存储器子系统110。例如,存储器子系统200可包含图1的参数调整组件113。在一些实施例中,参数调整组件113可被配置成监测与在存储器子系统200内执行垃圾收集操作相关联的关键性值,且确定是使用默认参数还是经调整参数执行垃圾收集操作。
32.控制器115可执行计算以基于控制器115中设置的策略来确定用于执行gc操作的最优时间,从而针对各种因素(例如,依序写入、脏条件(dirty condition)等)进行优化。基于计算,控制器115可确定是否满足执行gc操作的准则。实例准则可以是存储器子系统200将处于空闲状态(例如,不执行主动主机读取/写入请求)。在一些实例中,控制器115可确定存储器子系统200或存储器子系统内的某些组件处于空闲状态或正在经历停工时间。当满足准则(例如,空闲状态)时,可在此时间期间执行gc。其它准则中的一些可包含gc发生的周期性调度时间、发生需要执行gc操作的特定事件、存储器组件已满、存储器组件的容量不足以接受额外写入请求等。
33.控制器115可计算与执行垃圾收集操作相关联的关键性值。关键性值可指示执行gc操作的关键性(例如,必要性、紧急程度等)的等级。在一个实例中,可使用例如数据块上的无效数据的量、接受来自主机机器的写入请求的额外数据块的可用性等因素来确定关键性的等级。
34.如图2的实例中所示,存储器组件112可包含多个存储器单元(例如,c1到cn)。存储器单元中的每一个可存储对应于从主机系统120接收的数据的二进制数据的一或多个位。可通过将存储器单元分组在一起而形成存储器组件112中的单独数据块(例如,b1、b2、bn等)。在实例中,控制器115可确定存储器组件112处于清洁条件(例如,不含有太多无效数据)或脏条件(例如,含有太多无效数据)。
35.在一些实施方案中,可使用映射表跟踪执行gc的关键性。例如,映射表可识别数据块的每一单元究竟是否含有有效数据、无效数据或任何数据。在实施方案中,映射表可基于将逻辑位置映射到物理位置的l2p表。在实例中,映射表可以是l2p表自身。在另一实例中,映射表可以是从l2p表导出的另一映射层。例如,可基于l2p映射导出映射表以跟踪存储器组件的包含有效数据的区和包含无效数据的区,其中所述区可处于在l2p表中跟踪的相同粒度级,或聚合以达到更高等级。在一个实例中,映射表可指示所有数据块包含有效数据,在此情境中,可能不太需要或不需要执行gc。在此情形下,执行gc操作可被视为不关键的,并且可满足将关键性值设定为零或较接近零的因素。在另一实例中,映射表可指示各种数据块中的许多单元含有无效数据,和/或存储器组件包含高度碎片化数据(例如,部分有效、
部分无效等)。在图2中示的实例中,数据块b1的存储器单元c1、c3、c4、c7和c8含有无效数据,并且数据块b1的存储器单元c2、c5和c6含有有效数据。控制器115可确定数据块b1太脏。在此情形下,可预期在执行gc操作时花费大量时间,和/或可预期在gc操作的情况下更复杂。在此情境中,垃圾收集操作可将有效数据移动到不同块,且擦除数据块以擦除来自数据块的无效数据。在此情形下,执行gc操作可被视为关键的,并且可满足将关键性值设定为高值(例如,在100分制中较接近100)的因素。
36.在一些实例中,映射表可指示将来有足够容量来接受额外主机写入,因此不需要执行gc操作。在此情形下,执行gc操作可被视为不关键的,并且可满足将关键性值设定为零或较接近零的因素。在另一实例中,映射表可指示容量不足以接受额外主机写入操作。映射表可用于预测需要执行gc操作以在较短时间量内清除数据块以使得可接受额外主机写入操作。在此情形下,执行gc操作可被视为关键的,并且可满足将关键性值设定为高值(例如,在100分制中较接近100)的因素。在一些实例中,当写入数据的自由块的可用数目高于阈值时,执行gc操作可被视为不关键的。可基于例如逻辑和物理饱和百分比值等因素来确定执行gc操作的数据的量。在类似此的情境中,可在周期性基础上调度gc。在其它实例中,由于被视为关键的,gc可能是立即需要的。例如,系统资源(例如,自由块的量等)可能变得非常低(例如,低于阈值),使得执行立即gc操作以便确保存储器组件可令人满意地执行。
37.在一些实施方案中,可基于与关键性值相关联的因素来计算总体关键性值(例如,c1224、c2 226等)。在一些实例中,可使用映射表来计算总体关键性值。在一些实例中,可鉴于额外或替代因素而计算关键性值,所述因素例如执行gc操作需要多少工作(例如,所需要的时间长度、待执行的步骤数等)和/或需要多长时间执行gc。被跟踪和/或用于评估关键性值的数据的其它实例可包含维持在超出l2p表的其它数据结构中的块使用和状态、块的类型、页计数有效性信息、数据的相对创建时间、耗损均衡和读取干扰信息、各种系统计数器、可用自由块的数目、块的擦除计数、存储器组件中的有效数据的百分比、逻辑饱和度、物理饱和度、可用空闲时间的量等。例如,
38.在实施方案中,存储器子系统200可指定一或多个阈值关键性值c
th 222。控制器115可将与执行gc操作相关联的关键性值与阈值关键性值c
th 222进行比较。可使用比较器220执行所述比较。比较器220可将关键性值与阈值关键性值c
th 222进行比较以确定与执行垃圾收集操作相关联的关键性值是否满足第一关键性条件。在实例中,第一关键性条件可被定义为关键性值低于阈值关键性值。图2示出一个时间点t1的关键性值c1 224(例如,为10的值)。比较器220可比较阈值关键性值c
th 222与关键性值c1 224。比较器220可确定关键性值c1 224低于阈值关键性值c
th 222。在另一实例中,第一关键性条件可被定义为关键性值被识别为低关键性。
39.如果确定关键性值c1 224满足第一关键性条件,那么参数调整组件113可调整与执行gc操作相关联的参数。在图2的实例中,当确定关键性值c1 224低于阈值关键性值c
th 222从而满足第一关键性条件时,使用经调整参数232对存储器装置130的数据块b1到bn执行gc操作250。更具体地说,将与执行gc操作250相关联的参数的默认值更新为参数的经修改值。
40.在一些实施方案中,可通过增加分配给执行gc操作的持续时间来调整参数。例如,经调整参数可能使得gc操作比在以默认参数执行时慢。在一些实例中,可修改与执行gc相
关联的定时波形。执行gc操作所花费的时间越长(例如,gc操作越慢),gc操作的功耗越低。在一些实例中,可通过减小与执行gc操作相关联的功率电平来调整参数。在一些实例中,可通过减小与垃圾收集操作相关联的位线预充电电流来调整参数。例如,如果除执行gc的默认时间之外将额外时间分配给gc操作,那么可根据默认gc操作所必需的电流的量来减小位线预充电电流的百分比。在一些实例中,可通过在程序验证期间执行仅目标验证操作来调整参数。在一些实例中,可通过调整与gc相关联的快速/慢速系统命令前缀(“前缀”)来调整参数。例如,当gc操作被视为不关键的时,前缀可被设置成指示慢速模式,并且缓慢模式可被称为执行节省功率的gc操作。另一方面,当确定gc为关键的时,可针对前缀设置快速模式,使得可按需要以默认功率电平或甚至以增大的功率电平执行gc操作。
41.在一些实施方案中,控制器115可使用经调整参数执行gc操作250,直到关键性值变为满足第二关键性条件为止。在一些实例中,第二关键性条件可被定义为关键性值等于或高于阈值关键性值。图2示出一个时间点t2的关键性值c2 226(例如,为80的值)。如果确定关键性值c2 226不满足第一关键性条件,或替代地满足第二关键性条件,那么参数调整组件113不调整与执行gc操作相关联的参数。在图2的实例中,当确定关键性值c2 226等于或高于阈值关键性值c
th 222从而满足第二关键性条件(或,替代地不满足第一关键性条件)时,使用默认参数230对存储器装置130的数据块b1到bn执行gc操作250。更具体地说,使用与执行gc操作250相关联的参数的默认值来执行操作。
42.图3是根据本公开的一些实施例的使用经调整参数执行垃圾收集操作的实例方法300的流程图。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法300由图1的参数调整组件113执行。虽然以特定顺序或次序示出,但是除非另外规定,否则可修改过程的次序。因此,说明的实施例应仅作为实例理解,且说明的过程可以不同次序执行,且一些过程可并行地执行。另外,可在各种实施例中省略一或多个过程。因此,并非每一实施例中都需要所有过程。其它过程流程是可能的。
43.在操作310,处理装置确定满足执行垃圾收集操作的准则,待对存储在存储器组件上的数据块执行垃圾收集操作。在实例中,可将所述准则指定为系统处于空闲模式。例如,当存储器子系统不执行主机读取或写入请求时,存储器子系统可处于空闲模式。
44.在操作320,处理装置确定与执行垃圾收集操作相关联的关键性值满足关键性条件。在一些实例中,鉴于数据块中的无效数据的量和接受来自主机机器的写入请求的额外数据块的可用性而计算关键性值。在实例中,当关键性值低于阈值关键性值时,关键性值满足关键性条件。
45.在操作330,处理装置调整与执行垃圾收集操作相关联的参数。在实例中,通过将默认参数值调整为经修改参数值来调整参数。在一些实施方案中,可通过增加分配给执行gc操作的持续时间来调整参数。例如,经调整参数可能使得gc操作比在以默认参数执行时慢。在一些实例中,可修改与执行gc相关联的定时波形。在一些实例中,可通过减小与执行gc操作相关联的功率电平来调整参数。在一些实例中,可通过减小与垃圾收集操作相关联的位线预充电电流来调整参数。在一些实例中,可通过在程序验证期间执行仅目标验证操作来调整参数。
46.在操作340,处理装置使用经调整参数对存储在存储器组件上的数据块执行垃圾收集操作。在一些实例中,经调整参数可能使得gc操作比在以默认参数执行时慢。在一些实例中,经调整参数可能使得gc操作比在以默认参数执行gc时消耗更少的功率。
47.图4是根据本公开的一些实施例的使用参数的经修改值执行垃圾收集操作的实例方法400的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法400由图1的参数调整组件113执行。虽然以特定顺序或次序示出,但是除非另外规定,否则可修改过程的次序。因此,说明的实施例应仅作为实例理解,且说明的过程可以不同次序执行,且一些过程可并行地执行。另外,可在各种实施例中省略一或多个过程。因此,并非每一实施例中都需要所有过程。其它过程流程是可能的。
48.在操作410,处理装置确定满足执行垃圾收集操作的准则,待对存储在存储器组件上的数据块执行垃圾收集操作。在实例中,可将所述准则指定为系统经历停工时间。例如,当存储器子系统正执行为数不多的主机读取或写入请求或根本不执行主机读取或写入请求时,存储器子系统可经历停工时间。
49.在操作420,处理装置确定与执行垃圾收集操作相关联的关键性值满足第一关键性条件。在一些实例中,鉴于数据块中的无效数据的量和/或接受来自主机机器的写入请求的额外数据块的可用性而计算关键性值。在实例中,当关键性值低于阈值关键性值时,关键性值满足关键性条件。
50.在操作430,所述处理将与执行垃圾收集操作相关联的参数的默认值修改为经修改值。在一些实施方案中,可通过增加分配给执行gc操作的持续时间而将参数的默认值改变为经修改值。例如,经调整参数可能使得gc操作比在以默认参数执行时慢。在一些实例中,可修改与执行gc相关联的定时波形。在一些实例中,可通过减小与执行gc操作相关联的功率电平而将参数的默认值改变为经修改值。在一些实例中,可通过减小与垃圾收集操作相关联的位线预充电电流而将参数的默认值改变为经修改值。在一些实例中,可通过在程序验证期间执行仅目标验证操作而将参数的默认值改变为经修改值。
51.在操作440,处理装置使用参数的经修改值对存储在存储器组件上的数据块执行垃圾收集操作,直到关键性值变为满足第二关键性条件为止。在一些实例中,当关键性值等于或高于阈值关键性值时,关键性值满足第二关键性条件。在一些实例中,经调整参数可能使得gc操作比在以默认参数执行时慢。在一些实例中,经调整参数可能使得gc操作比在以默认参数执行gc时消耗更少的功率。
52.图5说明计算机系统500的实例机器,在所述实例机器内可执行用于使所述机器执行本文中所论述的方法中的任何一或多种的指令集。在一些实施例中,计算机系统500可对应于主机系统(例如,图1的主机系统120),所述主机系统包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110),或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的参数调整组件113的操作)。在替代实施例中,机器可连接(例如,联网)到lan、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。
53.机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定将由所述机器采取的动作的指令集的任何机器。另外,虽然说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行指令的集合(或多个集合)以执行本文中所论述的方法中的任何一或多种。
54.实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(rom)、快闪存储器、例如同步dram(sdram)或rdram等动态随机存取存储器(dram)、静态存储器506(例如,快闪存储器、静态随机存取存储器(sram)等),以及数据存储系统518,它们经由总线530彼此通信。
55.处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元等。更具体地说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置502还可以是一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置502被配置成执行用于执行本文中所论述的操作和步骤的指令526。计算机系统500可进一步包含网络接口装置508以经由网络520通信。
56.数据存储系统518可包含机器可读存储媒体524(也称为计算机可读媒体),所述机器可读存储媒体上存储有一或多个指令集526或体现本文中所描述的方法或功能中的任何一或多个的软件。指令526还可在其由计算机系统500执行期间完全或至少部分地驻留在主存储器504内和/或处理装置502内,主存储器504和处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518和/或主存储器504可对应于图1的存储器子系统110。
57.在一个实施例中,指令526包含实施对应于参数调整组件(例如,图1的参数调整组件113)的功能性的指令。尽管在实例实施例中机器可读存储媒体524示出为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集且使机器执行本公开的方法中的任何一或多种的任何媒体。因此,术语“机器可读存储媒体”应被认为包含但不限于固态存储器、光学媒体和磁性媒体。
58.已依据计算机存储器内的数据位的操作的算法和符号表示呈现了先前具体实施方式的一些部分。这些算法描述和表示为数据处理领域的技术人员用于将其工作的主旨最有效地传达给所属领域的其它技术人员的方式。算法在这里并且通常被认为是引起所需结果的操作的自洽序列。操作为要求对物理量进行物理操控的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操控的电或磁信号的形式。有时,主要出于通用的原因,已证明将这些信号称为位、值、元件、符号、字符、术语、数字等是方便的。
59.然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅仅是应用于这些量的方便标签。本公开可指将计算机系统的寄存器和存储器内的表示为物理(电子)量的数据操控和变换为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
60.本公开还涉及用于执行本文中的操作的设备。此设备可出于预期目的而专门构
造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、cd-rom和磁性光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,它们各自耦合到计算机系统总线。
61.本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可与根据本文中的教示的程序一起使用,或其可证明构造更加专用的设备以执行所述方法是方便的。将如下文描述中所阐述的那样来呈现各种各样的这些系统的结构。另外,不参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施本文中所描述的本公开的教示。
62.本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于存储呈机器(例如,计算机)可读形式的信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
63.在前述说明书中,已参考其特定实例实施例描述了本公开的实施例。将显而易见的是,可以在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,说明书和图式应被视为说明性的而非限制性的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献