CN114303125A - 在低电池电量状态期间存储器子系统中的垃圾收集 - Google Patents

在低电池电量状态期间存储器子系统中的垃圾收集 Download PDF

Info

Publication number
CN114303125A
CN114303125A CN202080061627.1A CN202080061627A CN114303125A CN 114303125 A CN114303125 A CN 114303125A CN 202080061627 A CN202080061627 A CN 202080061627A CN 114303125 A CN114303125 A CN 114303125A
Authority
CN
China
Prior art keywords
battery
state
garbage collection
condition
threshold
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
Application number
CN202080061627.1A
Other languages
English (en)
Other versions
CN114303125B (zh
Inventor
A·U·利马耶
T·D·埃万斯
T·O·伊瓦萨基
A·F·特里维迪
J·黄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN114303125A publication Critical patent/CN114303125A/zh
Application granted granted Critical
Publication of CN114303125B publication Critical patent/CN114303125B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3212Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Power Sources (AREA)

Abstract

描述与存储器或存储系统或子系统(例如固态驱动器)中的媒体管理(包含“垃圾收集”)有关的系统、设备和方法。举例来说,与所述存储器系统或子系统相关联的电池状态可用作管理数据块上的垃圾收集操作的指示器或基础。控制器或所述系统或子系统可确定电池状态或条件满足准则。基于确定满足所述准则,可推迟所述垃圾收集操作直到所述电池状态改变为满足不同的电池条件。

Description

在低电池电量状态期间存储器子系统中的垃圾收集
技术领域
本公开的实施例大体上涉及存储器子系统,且更具体地说,涉及在低电池电量状态期间存储器子系统中的垃圾收集。
背景技术
存储器子系统可以是存储系统,如固态驱动器(SSD)或硬盘驱动器(HDD)。存储器子系统可以是存储器模块,例如双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)或非易失性双列直插式存储器模块(NVDIMM)。存储器子系统可以包含存储数据的一或多个存储器组件。存储器组件可以例如是非易失性存储器组件和易失性存储器组件。一般来说,主机系统可以利用存储器子系统以在存储器组件处存储数据且从存储器组件检索数据。
附图说明
根据下文提供的具体实施方式和本公开的各种实施例的附图将更加充分地理解本公开。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算环境。
图2说明根据本公开的一些实施例的在与存储器子系统相关联的低电池电量状态期间推迟垃圾收集的实例。
图3是根据本公开的一些实施例的在与存储器子系统相关联的低电池电量状态期间推迟垃圾收集的实例方法的流程图。
图4是根据本公开的一些实施例的监测与存储器子系统相关联的电池条件以用于执行垃圾收集的实例方法的流程图。
图5是其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
本公开的方面针对于存储器子系统中的垃圾收集,包含在存储器子系统的低电池电量状态期间推迟垃圾收集。存储器子系统在下文也称为“存储器装置”。存储器子系统的实例是通过外围互连件(例如,输入/输出总线、存储区域网络)耦合到中央处理单元(CPU)的存储装置。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器和硬盘驱动器(HDD)。存储器子系统的另一实例是经由存储器总线联接到CPU的存储器模块。存储器模块的实例包含双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)、非易失性双列直插式存储器模块(NVDIMM)等。在一些实施例中,存储器子系统可以是混合式存储器/存储装置子系统。一般来说,主机系统可利用包含一或多个存储器组件的存储器子系统。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。
当主机系统请求存储数据时,数据存储在存储器组件内的物理地址处。主机系统提供识别待存储的数据的逻辑地址。维持逻辑到物理(L2P)映射表以识别对应于每一逻辑地址的数据驻存的物理位置。存储器子系统中的存储器组件可包含用于存储对应于从主机系统接收的数据的二进制数据的一或多个位的一或多个存储器页(在本文中也称为“页”)。存储器组件的一或多个存储器页可分组在一起以形成数据块。当数据写入到存储器组件时,通常在页层级下完成,使得在单个操作中写入整个页或多个页。当主机系统请求在特定逻辑地址处更新数据时,更新后的数据存储在新物理位置(例如,新物理地址)处且更新L2P映射,使得数据的特定逻辑地址映射到新物理地址。原始数据(例如,在更新之前的数据)仍保持存储在原始物理地址中。然而,此数据从主机的角度看不再有效,且不再可被主机使用。随着数据的各种变化,除具有有效数据的物理地址之外,存储器组件还累积具有无效数据的各种数据块上的物理地址。存储在存储器组件处的无效数据被视为“垃圾”且可在某一点处被清除。
当存储器组件已满,造成没有充足容量接受来自额外写入操作的数据时,可擦除某些数据以便释放空间。然而,当从存储器组件擦除数据时,通常在块层级下完成,使得整个块(包含多个页)在单个操作中被擦除。因此,当更新存储器组件上的特定数据段时,块中的某些页将具有已经重写到不同方位和/或不再需要的数据。不能简单地擦除整个块,因为每个块很可能还具有某一数目的有效数据页。可执行垃圾收集(“GC”)过程,其涉及将含有有效数据的块的那些页迁移(例如,重写)到另一块,使得可擦除具有有效数据和无效数据两者的当前块。垃圾收集是一种自动存储器管理形式,其尝试回收垃圾或被不再使用的失效数据对象(例如,因为所述数据对象已用新值更新)占用的存储器。垃圾收集的基本原理是查找将来无法或不必存取的数据对象且回收那些对象所用的资源(即,存储空间)。
常规存储器子系统可包含确定何时适合于起始垃圾收集操作的控制器。控制器可执行计算以确定执行GC操作的最佳时间,并针对各种因素进行优化。在一些实例中,作为用于存储器子系统的常规存储器管理操作的部分,周期性地起始GC。在其它实例中,响应于特定事件,例如,接收到写入请求(例如,来自主机系统)并确定存储器组件不具有足以接受写入请求的容量而起始GC。在一些实例中,控制器可确定存储器组件已满和/或不存在足以接受可从主机接收的任何其它额外写入操作的容量,并且确定需要执行垃圾收集以释放存储器组件中的空间。在一些实例中,控制器可确定存储器子系统或存储器子系统内的某些组件处于空闲状态或正在经历停工时间,在此时间期间可执行GC。基于适当时间的确定,控制器可起始垃圾收集操作以从某些块擦除无效数据。
有时,控制器可确定在各种情形下前瞻性地执行GC。举例来说,当控制器确定期望在近期执行GC时,控制器可前瞻性地执行GC,而非等到需要紧急执行GC操作时才执行GC,此时可能会花费大量的时间。也就是说,控制器可确定可执行GC,但执行GC是任选的(例如,系统处于空闲状态)。可以比绝对必要时更早地以较小的增量执行GC。在其它时间,控制器可确定必须执行GC,因此执行GC是必选的(例如,存储器组件已满)。然而,GC可为电力密集型操作。GC可能需要复杂算法来针对各种因素进行优化,这可能消耗大量的电池电力。如果存储器子系统已经处于低电池电量状态(例如,系统中剩余的电池使用时间经识别为低,例如,总电池使用时间的10%),那么在此时间期间执行GC可在电池使用上添加额外负载并且与不执行GC的情况相比使剩余电池使用时间变短。
本公开的方面通过监测与存储器子系统相关联的电池状态并且当电池状态被识别为低时推迟垃圾收集操作来解决以上和其它缺陷。在一个实施方案中,存储器子系统中的控制器通过确定满足对存储器子系统的存储器组件执行垃圾收集操作的准则,确定执行GC操作的适当时间。可做出关于与存储器子系统相关联的电池状态是否满足电池条件(例如,电池使用时间低于阈值)的确定。如果满足电池条件,那么控制器可继续监测电池状态并视需要推迟GC操作,直到电池状态改变为满足另一电池条件(例如,电池使用时间达到或高于阈值)为止。如果并未满足电池条件(例如,电池使用时间不低于阈值),或电池状态改变为满足其它电池条件(例如,电池使用时间高于阈值),那么控制器可执行GC操作。
本公开减少或消除在当电池使用时间被视为已经为低时的电池使用时间上执行垃圾收集操作的效应。本公开的优点包含但不限于保留用于执行重要和紧急操作的电池使用时间;存储器子系统的性能提高,原因是当使用有限的电池电力时,竞争性操作减到最少;不在执行可延迟的垃圾收集操作上浪费计算资源;可提高存储器子系统的整体性能,原因是存储器子系统可执行在有限的剩余电池使用时间下其它读取或写入操作而非执行垃圾收集操作。
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算环境100。存储器子系统110可包含媒体,例如存储器组件112A到112N。存储器组件112A到112N可以是易失性存储器组件、非易失性存储器组件或这类组件的组合。在一些实施例中,存储器子系统是存储系统。存储系统的示例是SSD。在一些实施例中,存储器子系统110是混合式存储器/存储装置子系统。一般来说,计算环境100可包含使用存储器子系统110的主机系统120。举例来说,主机系统120可将数据写入到存储器子系统110以及从存储器子系统110读取数据。
主机系统120可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置或包含存储器和处理装置的此类计算装置。主机系统120可包含或耦合到存储器子系统110使得主机系统120可从存储器子系统110读取数据或将数据写入到存储器子系统110。主机系统120可经由物理主机接口耦合到存储器子系统110。如本文所使用,“耦合到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,没有中间组件),无论是有线还是无线的,包含例如电连接、光学连接、磁连接等的连接。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(SAS)等。物理主机接口可用于在主机系统120与存储器子系统110之间发射数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可进一步利用NVM高速(NVMe)接口存取存储器组件112A到112N。物理主机接口可提供用于在存储器子系统110与主机系统120之间传送控制、地址、数据和其它信号的接口。
存储器组件112A到112N可以包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含“与非”(NAND)类型快闪存储器。存储器组件112A到112N中的每一个可包含一或多个存储器单元阵列,如单层级单元(SLC)或多层级单元(MLC)(例如,三层级单元(TLC)或四层级单元(QLC))。在一些实施例中,特定存储器组件可以包含存储器单元的SLC部分和MLC部分两者。存储器单元中的每一个可存储供主机系统120使用的一或多个数据位(例如,数据块)。虽然描述如NAND类型快闪存储器的非易失性存储器组件,但存储器组件112A到112N可基于任何其它类型的存储器,如易失性存储器。在一些实施例中,存储器组件112A到112N可以是(但不限于)随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、相变存储器(PCM)、磁随机存取存储器(MRAM)、“或非”(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM)以及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列而基于体电阻的改变来进行位存储。另外,与许多基于闪存的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。此外,存储器组件112A到112N的存储器单元可分组为存储器页或数据块,其可指代用于存储数据的存储器组件的单位。
存储器系统控制器115(下文称为“控制器”)可与存储器组件112A到112N通信以执行操作,例如在存储器组件112A到112N处读取数据、写入数据或擦除数据,以及其它此类操作。控制器115可包含硬件,如一或多个集成电路和/或离散组件、缓冲存储器或其组合。控制器115可以是微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或其它合适的处理器。控制器115可包含被配置成执行存储在本地存储器119中的指令的处理器(处理装置)117。在所说明的实例中,控制器115的本地存储器119包含被配置成存储指令以用于执行控制存储器子系统110的操作(包含处置存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流程以及例程的嵌入式存储器。在一些实施例中,本地存储器119可以包含存储器寄存器,其存储存储器指针、提取的数据等。本地存储器119还可以包含用于存储微码的只读存储器(ROM)。虽然图1中的实例存储器子系统110已说明为包含控制器115,但在本公开的另一实施例中,存储器子系统110可能不包含控制器115,且可改为依靠(例如由外部主机或由与存储器子系统分离的处理器或控制器提供的)外部控制。
一般来说,控制器115可从主机系统120接收命令或操作且可将所述命令或操作转换成指令或适合的命令以实现对存储器组件112A到112N的所需存取。控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓存操作和在与存储器组件112A到112N相关联的逻辑块地址与物理块地址之间的地址转译。控制器115可另外包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路可将从主机系统接收到的命令转换成命令指令以存取存储器组件112A到112N,以及将与存储器组件112A到112N相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲(例如DRAM)和地址电路(例如行解码器和列解码器),其可从控制器115接收地址且对地址进行解码以存取存储器组件112A到112N。
存储器子系统110包含电池监测组件113,其可用以基于对应使用率阈值将数据存储于特定存储器组件处。在一些实施例中,控制器115包含电池监测组件113的至少一部分。举例来说,控制器115可包含处理器117(处理装置),其被配置成执行存储在本地存储器119中的指令以用于执行本文中所描述的操作。在一些实施例中,电池监测组件113为主机系统120、应用程序或操作系统的部分。
电池监测组件113可从控制器115接收对满足执行垃圾收集操作的准则且其中将对存储器子系统110的存储器组件112A到112N执行垃圾收集操作的指示。电池监测组件113可确定存储器子系统110的电池状态满足第一电池条件(例如,电池状态低于阈值电池使用时间)并且向控制器指示推迟垃圾收集操作直到电池状态改变为满足第二电池条件(例如,电池状态达到或超过阈值电池使用时间)。下文描述关于电池监测组件113的操作的另外细节。
图2说明根据本公开的一些实施例的在与存储器子系统200相关联的低电池电量状态期间推迟垃圾收集操作的实例。通常,存储器子系统200可对应于图1的存储器子系统110。举例来说,存储器子系统200可包含图1的电池监测组件113。在一些实施例中,电池监测组件113可被配置成监测与存储器子系统相200关联的电池状态并且基于与存储器子系统200相关联的电池状态确定是否执行还是推迟垃圾收集操作。
控制器115可设置各个垃圾收集等级210。垃圾收集等级可指示执行GC操作的必要性水平。在一个实例中,可通过例如数据块上的无效数据量的因素确定必要性水平。举例来说,等级212可指示垃圾收集不必需;等级214可指示可前瞻性地(例如,任选地)执行垃圾收集但这并非必选(例如,不紧急);且等级216可指示执行垃圾收集是必选(例如,紧急)的。控制器115可执行计算以基于控制器115中设置的策略确定执行GC操作的最佳时间,从而针对各种因素(例如,连续写入、脏条件等)进行优化。基于所述计算,控制器115可确定是否满足垃圾收集等级210中的一个。
在一个实例中,控制器115可基于接受来自主机120的额外写入操作的容量,做出用于执行GC操作的最优时间的确定。如图2的实例中所示,存储器组件112可包含数个存储器单元(例如,C1到Cn)。存储器单元中的每一个可存储对应于从主机系统120接收的数据的一或多个位的二进制数据。存储器组件112中的单独数据块(例如,B1、B2、Bn等)可通过将存储器单元分组在一起而形成。在实例中,控制器115可确定存储器组件112处于干净条件中,也就是说,各个数据块B1到Bn上的无效数据等级低于针对执行GC操作设置的阈值。在所述情境中,控制器115可确定GC操作并非必需的,并且确定满足等级212。如果满足等级212,那么控制器115不执行GC。
在例如图2中示出的实例中,数据块B1的存储器单元C1、C3、C4、C7和C8含有无效数据,且数据块B1的存储器单元C2、C5和C6含有有效数据。控制器115可确定数据块B1在近期或在单元C2、C5和C6中的一些含有无效数据之后太“脏”(例如,含有过多无效数据)。结合评估其它数据块B2到Bn的容量,控制器115可确定存储器组件112正在变满,使得不存在用于在预定时间帧或未来的数个操作内接受来自主机120的写入操作的容量。在此情境中,控制器115可确定可前瞻性地(例如,任选地)起始垃圾收集操作以清除存储器组件112,而非等到存储器组件112处于过脏条件中时才执行垃圾收集操作。控制器115可确定满足等级214,也就是说,可前瞻性地(例如,任选地)执行GC,但执行GC操作并非必选的(例如,不紧急)。在实例中,GC等级214指示数据块上的无效数据量处于其中可任选地执行GC操作的水平。因此,控制器115确定满足执行GC操作的准则。控制器115通过将来自数据块B1的存储器单元C1、C3、C4、C7和C8的数据写入到一或多个其它数据块的存储器单元,并且擦除来自数据块B1的数据以回收存储器空间,以此执行GC操作。
在一个实施方案中,电池监测组件113可从控制器115接收对响应于满足垃圾收集等级214而满足执行垃圾收集操作的准则的指示。也就是说,控制器115可确定可前瞻性地执行GC操作,但执行GC操作并非必选(例如,紧急)的。
在接收到对满足执行垃圾收集操作的准则的指示之后,电池监测组件113即刻可确定与存储器子系统200相关联的电池状态是否满足第一电池条件。在一些实例中,电池状态可指示特定时间点处与存储器子系统200相关联的剩余电池使用时间。在实例中,电池状态可指示总计100%的电池使用时间中剩余30%的电池使用时间。在一些其它实例中,电池状态可指示存储器子系统与低电池电量、平均电池电量、高电池电量、满电池电量等相关联。
可以各种方式获得与存储器组件112相关联的电池状态。在一个实例中,电池状态可包含从计算环境100内的一或多个电池传感器240获得的电池状态242。在另一实例中,控制器115可提供电池状态242。在又另一实例中,主机120可提供电池状态242。在一些实例中,来自与存储器子系统200相关联的组件中的一个的信号可指示电池状态242。在一些实施方案中,可周期性地以预定义间隔获得电池状态242并提供给电池监测组件113。在其它实施方案中,电池传感器240可响应于一或多个命令或查询,例如由电池监测组件113发出的获得电池状态242的特定命令而提供电池状态242。
电池监测组件113可使用比较器220执行电池比较操作以确定与存储器子系统200相关联的电池状态是否满足电池条件。在实例中,电池条件可定义为电池状态低于、等于或高于阈值电池使用时间。如图2所示,存储器子系统200可规定一或多个阈值电池使用时间、第一阈值电池使用时间BTh1 222和/或第二阈值电池BTh2 223。在另一实例中,电池条件可定义为电池状态是低电池电量、不低的电池电量、满电池电量等。
在一实施方案中,比较器220可确定与存储器子系统200相关联的电池状态是否满足第一电池条件。在实例中,第一电池条件可定义为电池状态低于如存储器子系统200中规定的第一阈值电池使用时间BTh1 222(例如,总电池使用时间的15%)。图2示出一个时间点处的电池状态Bst 224(例如,总电池使用时间的14%)。比较器220可将第一阈值电池使用时间BTh1 222与电池状态Bst 224进行比较。比较器220可确定电池状态Bst224低于第一阈值电池使用时间BTh1 222。在另一实例中,第一电池条件可定义为电池状态是低电池电量。
如果确定电池状态Bst 224满足第一电池条件,那么控制器115可推迟GC操作。可在不考虑满足执行GC操作的准则的确定的情况下推迟GC操作。在一个实例中,控制器115可通过不执行GC操作来推迟GC操作。在另一实例中,可通过在不执行GC操作的情况下继续监测电池状态以检测电池状态改变来实现GC操作推迟。通过当电池状态被确定为低于阈值或为低电池电量时排除电力密集型GC操作的执行,可保留用于执行其它紧急操作的剩余的有限电池使用时间且/或使电池使用时间与执行GC的情况相比具有更长时间段。
在一些实施例中,控制器115可推迟GC操作直到电池状态改变为满足第二电池条件。比较器220可确定电池状态已改变为满足第二电池条件。在实例中,第二电池条件可定义为电池状态等于或高于如存储器子系统200中规定的第一阈值电池使用时间BTh1222(例如,总电池使用时间的15%)。在一个实例中,在继续监测电池状态之后,电池状态可改变为与先前获得的电池状态Bst 224相比进一步低于第一阈值电池使用时间BTh1222。在此情况下,不满足第二电池条件,电池监测组件113可继续监测电池状态。在另一实例中,电池状态可改变为达到或超出第一阈值电池使用时间BTh1 222达到Bst 226。在此情况下,电池状态Bst 226满足等于或高于第一阈值电池使用时间的第二电池条件。比较器220可确定Bst 226等于或高于第一阈值电池使用时间BTh1 222。在另一实例中,第二电池条件可定义为电池状态高于不同于第一阈值电池使用时间BTh1 222的第二阈值电池使用时间BTh2 223(例如,总电池使用时间的20%)(未示出)。在此类实例中,第一阈值电池使用时间和第二阈值电池使用时间之间的差可用以确保执行GC操作不会使电池状态立即进入低电池电量状态。在一些实例中,第二电池条件可定义为电池状态不是低电池电量,或为平均电池电量、高电池电量或满电池电量中的一个。在电池监测组件113确定电池状态改变为满足第二电池条件之后,控制器115即刻可执行GC操作。通过在电池状态改变为等于或高于阈值电池使用时间之后执行GC操作250,当存在支持电力密集型GC操作的适当电池使用时间时执行所述操作。
在一些实例中,在接收到对满足执行垃圾收集操作的准则的指示之后,电池监测组件113即刻可确定电池状态不满足第一电池条件。也就是说,比较器220可确定电池状态Bst 226等于或高于第一阈值电池BTh1 222。在所述情境中,控制器115执行GC操作250。举例来说,控制器115通过将来自数据块B1的存储器单元C2、C5和C6的数据迁移到其它数据块(例如数据块B2)中的存储器单元来执行GC操作。
在一些实例(未示出)中,控制器115可确定存储器组件112太脏,并且无法接受来自主机120的额外写入操作,因此确定满足等级216(例如,GC是必选的)。也就是说,GC等级216可指示数据块上的无效数据量处于其中必须执行GC操作的水平。在一个实例中,此确定可在确定电池状态满足第一电池条件(例如,低电池电量、低于阈值电池使用时间等)之前,或在确定电池状态满足第一电池条件之后但在电池状态改变为满足第二电池条件(例如,不低的电池电量)之前做出。在确定满足等级216之后,也就是说,GC操作是紧急的,控制器115即刻确定满足执行GC操作的准则。
在某一实施方案中,如果满足等级216(例如,GC是紧急的),那么即使电池状态指示低电池使用时间,控制器115仍执行GC操作。控制器115执行GC操作而不考虑电池状态以便接受额外主机写入操作且无失效。在其它实施方案中,电池监测组件113可考虑各种因素以确定当电池状态指示低电池使用时间时是否执行被指示为紧急的GC操作。举例来说,所述因素可包含但不限于继续正在所述时间执行的其它操作的重要性水平以及是否必须暂停那些操作、未能接受写入操作是否被指示为比维持电池使用时间更重要或更不重要、对照垃圾收集评估电池使用时间维持重要性的其它因素等。基于所述因素,在一个实例中,电池监测组件113可向控制器115指示推迟GC操作而不考虑满足等级216。
图3是根据本公开的一些实施例的在与存储器子系统相关联的低电池电量状态期间推迟垃圾收集的实例方法300的流程图。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法300是由图1的电池监测组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
在操作310处,处理逻辑确定满足执行垃圾收集操作的准则。在一实施方案中,处理逻辑可响应于确定满足执行垃圾收集操作的第一垃圾收集等级而确定满足执行GC操作的准则。在实例中,第一垃圾收集等级指示可前瞻性地执行垃圾收集操作(例如,可以执行但并非紧急执行GC)。
在操作320处,处理逻辑确定与存储器子系统相关联的电池状态是否满足第一电池条件。在实例中,当电池状态低于第一阈值电池使用时间时满足第一电池条件。在另一实例中,当电池状态指示低电池使用时间时满足第一电池条件。
如果电池状态满足第一电池条件,那么在操作330处,处理逻辑推迟垃圾收集操作直到电池状态改变为满足第二电池条件。可推迟GC操作而不考虑满足执行GC操作的准则。在一个实例中,处理逻辑可通过不执行GC操作来推迟GC操作。在实例中,当电池状态改变为等于或高于第二阈值电池使用时间时,电池状态满足第二电池条件。在一些实例中,第二阈值电池使用时间与第一阈值电池使用时间相同。在其它实例中,第二阈值电池使用时间不同于第一阈值电池使用时间。
如果电池状态不满足第一电池条件,那么在操作340处,处理逻辑执行垃圾收集操作。举例来说,电池状态Bst 226可指示存储器子系统200不与低电池电量相关联,或在特定时间点不低于第一阈值电池使用时间BTH1 222。在另一实例中,即使电池状态起初满足第一电池条件(例如,电池状态在某一点低于阈值),处理逻辑仍可确定电池状态改变为满足第二电池条件(例如,电池状态等于或高于阈值条件)。在这类情境中,处理逻辑执行GC操作250。
处理逻辑可进一步确定在电池状态改变为满足第二电池条件之前满足执行垃圾收集操作的第二垃圾收集等级。举例来说,第二垃圾收集等级指示执行垃圾收集操作是必选(例如,“紧急”)的。响应于满足第二垃圾收集条件等级,处理逻辑可执行垃圾收集操作。
图4是根据本公开的一些实施例的监测与存储器子系统相关联的电池条件以用于执行垃圾收集的实例方法400的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法400是由图1的电池监测组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
在操作410处,处理逻辑确定满足执行垃圾收集操作的准则。在一实施方案中,处理逻辑可响应于确定满足执行垃圾收集操作的第一GC等级,确定满足执行GC操作的准则。在实例中,第一GC等级指示可前瞻性地(例如,任选地而非紧急地)执行垃圾收集操作。
在操作420处,处理逻辑监测与存储器子系统相关联的电池状态。在一些实例中,电池状态可指示在特定时间点与存储器子系统200相关联的剩余电池使用时间。在一些其它实例中,电池状态可指示存储器子系统在特定时间与低电池电量、平均电池电量、高电池电量、满电池电量等相关联。
在操作430处,处理逻辑确定电池状态是否满足第一电池条件。在实例中,当电池状态低于第一阈值电池使用时间时满足第一电池条件。在另一实例中,当电池状态指示低电池使用时间时满足第一电池条件。
如果电池状态满足第一电池条件,那么处理逻辑重复操作420以继续监测电池状态进而检测电池状态的满足第二电池条件的改变。在实例中,当电池状态等于或高于第二阈值电池使用时间时满足第二电池条件。在一些实施例中,第一阈值电池使用时间与第二阈值电池使用时间相同,并且在其它实施例中,第一阈值电池使用时间不同于第二阈值电池使用时间。在另一实例中,当电池状态不指示低电池使用时间时满足第二电池条件。在实例中,处理逻辑可继续监测电池状态而不执行GC操作。通过继续监测电池状态而不执行GC直到满足第二电池条件,处理逻辑推迟GC操作直到满足第二电池条件。
如果电池状态不满足第一电池条件(例如,剩余电池使用时间不低),那么在操作440处,处理逻辑执行GC操作。在一个实例中,电池状态Bst 226可指示存储器子系统200不与低电池电量相关联,或在特定时间点不低于第一阈值电池使用时间BTH1 222。在另一实例中,即使电池状态起初满足第一电池条件(例如,在某一点处的低电池电量状态),处理逻辑仍可确定电池状态改变为满足第二电池条件(例如,电池状态等于或高于阈值条件)。在这类情境中,处理逻辑执行GC操作250。
图5说明计算机系统500的实例机器,可执行所述计算机系统500内的用于致使所述机器执行本文中所论述的方法中的任一种或多种方法的指令集。在一些实施例中,计算机系统500可对应于包含、耦合到或使用存储器子系统(例如,图1的存储器子系统110)或可用以执行控制器的操作(例如,执行操作系统以执行与图1的电池监测组件113对应的操作)的主机系统(例如,图1的主机系统120)。在替代性实施例中,机器可连接(例如联网)到LAN、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。
所述机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多)个指令集以进行本文中所论述的方法中的任何一或多种。
实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM)例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器506(例如,闪存存储器、静态随机存取存储器(SRAM)等),以及数据存储系统518,其经由总线530彼此通信。
处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元等。更特定来说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置502也可以是一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等等。处理装置502被配置成执行指令526以用于执行本文中所论述的操作和步骤。计算机系统500可另外包含网络接口装置508以在网络520上通信。
数据存储系统518可包含机器可读存储媒体524(也称为计算机可读媒体),其上存储有一或多个指令集526或体现本文中所描述的方法或功能中的任一或多种的软件。指令526还可在由计算机系统500执行期间完全或至少部分地驻存在主存储器504内和/或处理装置502内,主存储器504和处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518和/或主存储器504可对应于图1的存储器子系统110。
在一个实施例中,指令526包含用以实施对应于错误控制组件(例如,图1的电池监测组件113)的功能性的指令。尽管在实例实施例中机器可读存储媒体524展示为单个媒体,但是应认为术语“机器可读存储媒体”包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一种或多种的任何媒体。术语“机器可读存储媒体”因此应被视为包含但不限于固态存储器、光学媒体和磁性媒体。
已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。在本文中,且一般将算法构想为产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、编号等等有时是便利的。
然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅为应用于这些量的便利标记。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
本公开还涉及用于执行本文中的操作的设备。这一设备可以出于所需目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这种计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、CD-ROM以及磁性光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,其各自连接到计算机系统总线。
本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示内容。
本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以进行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、闪存存储器组件等。
在前述说明书中,本公开的实施例已经参照其特定实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书及图式。

Claims (20)

1.一种系统,其包括:
存储器子系统的存储器组件;和
处理装置,其以操作方式与所述存储器组件耦合以进行以下操作:
确定满足执行用于存储于所述存储器组件上的数据块的垃圾收集操作的准则,所述垃圾收集操作包括将所述数据块的含有有效数据的一或多个页迁移到另一块以用于管理所述数据块;
确定与所述存储器子系统相关联的电池的状态满足第一条件;和
在确定所述电池的所述状态满足所述第一条件之后,即刻推迟用于所述数据块的所述垃圾收集操作直到所述电池的所述状态改变为满足第二条件。
2.根据权利要求1所述的系统,其中为了确定所述电池的所述状态满足所述第一条件,所述处理装置将进行以下操作:
确定所述电池的所述状态低于第一阈值,且其中当所述电池的所述状态等于或高于第二阈值时,所述电池的所述状态满足所述第二条件。
3.根据权利要求2所述的系统,其中所述第一阈值与所述第二阈值相同。
4.根据权利要求2所述的系统,其中所述第一阈值不同于所述第二阈值。
5.根据权利要求1所述的系统,其中所述处理装置进一步进行以下操作:
确定所述电池的所述状态改变为满足所述第二条件;和
执行用于存储于所述存储器组件上的所述数据块的所述垃圾收集操作。
6.根据权利要求1所述的系统,其中为了确定满足执行所述垃圾收集操作的所述准则,所述处理装置将进行以下操作:
确定满足执行所述垃圾收集操作的第一等级;和
响应于满足所述第一等级,确定满足执行所述垃圾收集操作的所述准则。
7.根据权利要求6所述的系统,其中所述第一等级指示能够任选地执行所述垃圾收集操作。
8.根据权利要求1所述的系统,其中所述处理装置进一步进行以下操作:
确定在所述电池的所述状态改变为满足所述第二条件之前满足执行所述垃圾收集操作的第二等级;和
响应于满足所述第二等级,通过所述处理装置执行用于存储于所述存储器组件上的所述数据块的所述垃圾收集操作。
9.根据权利要求8所述的系统,其中所述第二等级指示必须执行所述垃圾收集操作。
10.根据权利要求1所述的系统,其另外包括:
电池传感器,其检测与所述存储器子系统相关联的所述电池的所述状态。
11.根据权利要求1所述的系统,其另外包括:
值比较器,其执行所述电池的两个或更多个值之间的比较操作以确定所述电池的所述状态是满足所述第一条件还是所述第二条件。
12.一种方法,其包括:
确定满足执行用于存储于存储器子系统的存储器组件上的数据块的垃圾收集操作的准则,所述垃圾收集操作包括将所述数据块的含有有效数据的一或多个页迁移到另一块以用于管理所述数据块;
监测与所述存储器子系统相关联的电池的状态以确定所述电池的所述状态是否满足第一条件;
响应于确定所述电池的所述状态满足所述第一条件,继续监测所述电池的所述状态以检测所述状态的满足第二条件的改变;和
响应于确定所述电池的所述状态不满足所述第一条件,执行用于存储于所述存储器组件上的所述数据块的所述垃圾收集操作。
13.根据权利要求12所述的方法,其中当所述电池的所述状态低于第一阈值时,所述电池的所述状态满足所述第一条件,且其中当所述电池的所述状态等于或高于第二阈值时,所述电池的所述状态满足所述第二条件。
14.根据权利要求13所述的方法,其中所述第一阈值与所述第二阈值相同。
15.根据权利要求13所述的方法,其中所述第一阈值不同于所述第二阈值。
16.一种包括指令的非暂时性计算机可读存储媒体,所述指令当由处理装置执行时,致使所述处理装置:
确定满足执行用于存储于存储器子系统的存储器组件上的数据块的垃圾收集操作的准则,所述垃圾收集操作包括将所述数据块的含有有效数据的一或多个页迁移到另一块以用于管理所述数据块;
确定与所述存储器子系统相关联的电池的状态满足第一条件;和
在确定所述电池的所述状态满足所述第一条件之后,即刻推迟用于所述数据块的所述垃圾收集操作直到所述电池的所述状态改变为满足第二条件。
17.根据权利要求16所述的非暂时性计算机可读存储媒体,其中为了确定所述电池的所述状态满足所述第一条件,所述处理装置将进行以下操作:
确定所述电池的所述状态低于第一阈值,且其中当所述电池的所述状态改变为等于或高于第二阈值时,所述电池的所述状态满足所述第二条件。
18.根据权利要求17所述的非暂时性计算机可读存储媒体,其中所述第一阈值与所述第二阈值相同。
19.根据权利要求17所述的非暂时性计算机可读存储媒体,其中所述第一阈值不同于所述第二阈值。
20.根据权利要求16所述的非暂时性计算机可读存储媒体,其中所述处理装置进一步进行以下操作:
确定所述电池的所述状态改变为满足所述第二条件;和
执行用于存储于所述存储器组件上的所述数据块的所述垃圾收集操作。
CN202080061627.1A 2019-08-20 2020-08-19 在低电池电量状态期间存储器子系统中的垃圾收集 Active CN114303125B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962889283P 2019-08-20 2019-08-20
US62/889,283 2019-08-20
US16/995,356 2020-08-17
US16/995,356 US11281578B2 (en) 2019-08-20 2020-08-17 Garbage collection in a memory sub-system during a low battery state
PCT/US2020/047075 WO2021034979A1 (en) 2019-08-20 2020-08-19 Garbage collection in a memory sub-system during a low battery state

Publications (2)

Publication Number Publication Date
CN114303125A true CN114303125A (zh) 2022-04-08
CN114303125B CN114303125B (zh) 2024-08-20

Family

ID=74647549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080061627.1A Active CN114303125B (zh) 2019-08-20 2020-08-19 在低电池电量状态期间存储器子系统中的垃圾收集

Country Status (5)

Country Link
US (2) US11281578B2 (zh)
EP (1) EP4018316A4 (zh)
KR (1) KR20220049028A (zh)
CN (1) CN114303125B (zh)
WO (1) WO2021034979A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11899577B2 (en) * 2020-11-24 2024-02-13 Micron Technology, Inc. Selective garbage collection
CN114860492B (zh) * 2022-04-29 2024-08-13 合众新能源汽车股份有限公司 电池数据动态存储方法、装置及相关设备

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078520A (en) * 1993-04-08 2000-06-20 Hitachi, Ltd. Flash memory control method and information processing system therewith
JP2004178417A (ja) * 2002-11-28 2004-06-24 Hitachi Ltd 不揮発性メモリ手段を備える処理装置および不揮発性メモリ制御方法
JP2006126975A (ja) * 2004-10-26 2006-05-18 Toshiba Corp 情報端末装置とそのプログラム
CN101004634A (zh) * 2006-01-20 2007-07-25 三星电子株式会社 收集非易失性存储器的垃圾块的装置及收集方法
US20090319720A1 (en) * 2008-06-20 2009-12-24 Seagate Technology Llc System and method of garbage collection in a memory device
CN101963891A (zh) * 2010-09-25 2011-02-02 成都市华为赛门铁克科技有限公司 数据存储处理方法与装置、固态硬盘系统与数据处理系统
WO2013155368A1 (en) * 2012-04-12 2013-10-17 Violin Memory, Inc. Managing trim operations in a flash memory system
US20140059093A1 (en) * 2012-08-24 2014-02-27 Fujitsu Limited Information processing method and apparatus for garbage collection
KR20150123196A (ko) * 2015-05-08 2015-11-03 주식회사 이큐브랩 쓰레기 수거용 모듈 장치 및 상기 모듈 장치의 동작 방법
US20160179386A1 (en) * 2014-12-17 2016-06-23 Violin Memory, Inc. Adaptive garbage collection
WO2016123420A1 (en) * 2015-01-30 2016-08-04 Micron Technology, Inc. Apparatuses operable in multiple power modes and methods of operating the same
US20170046256A1 (en) * 2015-08-11 2017-02-16 Ocz Storage Solutions, Inc. Pool level garbage collection and wear leveling of solid state devices

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5127014A (en) 1990-02-13 1992-06-30 Hewlett-Packard Company Dram on-chip error correction/detection
US7433993B2 (en) 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US7139864B2 (en) 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US20050144516A1 (en) 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
US7409473B2 (en) 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
JP4054347B2 (ja) 2005-12-16 2008-02-27 シャープ株式会社 不揮発性半導体記憶装置
US7630253B2 (en) 2006-04-05 2009-12-08 Spansion Llc Flash memory programming and verification with reduced leakage current
KR100922308B1 (ko) 2006-08-04 2009-10-21 쌘디스크 코포레이션 페이징된 가비지 콜렉션
KR100918707B1 (ko) 2007-03-12 2009-09-23 삼성전자주식회사 플래시 메모리를 기반으로 한 메모리 시스템
US7652929B2 (en) 2007-09-17 2010-01-26 Sandisk Corporation Non-volatile memory and method for biasing adjacent word line for verify during programming
JP2010244342A (ja) 2009-04-07 2010-10-28 Ricoh Co Ltd メモリ管理制御装置及びメモリ管理制御方法
KR101606453B1 (ko) 2009-05-13 2016-04-01 삼성전자주식회사 비휘발성 데이터 저장 장치의 읽기 및 쓰기 성능 향상 방법
KR101861170B1 (ko) 2011-08-17 2018-05-25 삼성전자주식회사 마이그레이션 관리자를 포함하는 메모리 시스템
US9158621B2 (en) 2011-08-29 2015-10-13 Sandisk Technologies Inc. System and method of copying data
DE112011106078B4 (de) 2011-12-29 2021-01-28 Intel Corp. Verfahren, Vorrichtung und System zur Implementierung eines mehrstufigen Arbeitsspeichers mit Direktzugriff
US8799561B2 (en) 2012-07-27 2014-08-05 International Business Machines Corporation Valid page threshold based garbage collection for solid state drive
KR102025263B1 (ko) 2012-10-05 2019-09-25 삼성전자주식회사 메모리 시스템 및 그것의 읽기 교정 방법
KR102147628B1 (ko) 2013-01-21 2020-08-26 삼성전자 주식회사 메모리 시스템
KR101453313B1 (ko) 2013-03-25 2014-10-22 아주대학교산학협력단 플래시 메모리 기반의 페이지 주소 사상 방법 및 시스템
US9514057B2 (en) 2013-12-04 2016-12-06 Sandisk Technologies Llc Storage module and method for managing logical-to-physical address mapping
KR102218735B1 (ko) 2014-01-21 2021-02-23 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 소거 방법
KR20160008365A (ko) 2014-07-14 2016-01-22 삼성전자주식회사 저장 매체, 메모리 시스템 및 메모리 시스템에서의 저장 영역 관리 방법
US9710326B2 (en) 2014-07-28 2017-07-18 SK Hynix Inc. Encoder by-pass with scrambler
US9841910B2 (en) 2014-09-30 2017-12-12 Sandisk Technologies Llc Moving and committing valid data on a set-by-set basis
US9940234B2 (en) 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US20170242625A1 (en) * 2016-02-24 2017-08-24 Samsung Electronics Co., Ltd. Apparatus for ssd performance and endurance improvement
WO2017151211A1 (en) * 2016-02-29 2017-09-08 Microsemi Storage Solutions (U.S.), Inc. Method and system for handling random access write requests for a shingled magnetic recording hard disk drive
US10684795B2 (en) 2016-07-25 2020-06-16 Toshiba Memory Corporation Storage device and storage control method
CN106681652B (zh) 2016-08-26 2019-11-19 合肥兆芯电子有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置
US10255179B2 (en) * 2016-12-30 2019-04-09 Western Digital Technologies, Inc. Garbage collection read throttling
JP2018163434A (ja) 2017-03-24 2018-10-18 東芝メモリ株式会社 メモリシステム
US10372522B2 (en) 2017-04-28 2019-08-06 Advanced Micro Devices, Inc. Memory protection in highly parallel computing hardware
US10558564B2 (en) 2017-09-28 2020-02-11 Hewlett Packard Enterprise Development Lp Pointers in a memory managed system
TWI674505B (zh) 2017-11-30 2019-10-11 宜鼎國際股份有限公司 資料存取效率的預估方法
CN109901782A (zh) 2017-12-07 2019-06-18 上海宝存信息科技有限公司 数据储存装置与数据储存方法
KR102535627B1 (ko) 2018-03-28 2023-05-24 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
KR102483476B1 (ko) 2018-04-03 2023-01-03 에스케이하이닉스 주식회사 데이터 입/출력 핀 단위로의 리페어를 지원하는 반도체 메모리 장치 및 그 반도체 메모리 장치의 리페어 방법
US11030094B2 (en) 2018-07-31 2021-06-08 SK Hynix Inc. Apparatus and method for performing garbage collection by predicting required time
KR102533207B1 (ko) 2018-08-30 2023-05-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
TWI703442B (zh) 2018-08-31 2020-09-01 大陸商合肥沛睿微電子股份有限公司 快閃記憶體控制器及相關的存取方法及電子裝置
CN110908925B (zh) 2018-09-17 2022-01-25 慧荣科技股份有限公司 高效能垃圾收集方法以及数据存储装置及其控制器
US11249664B2 (en) 2018-10-09 2022-02-15 Western Digital Technologies, Inc. File system metadata decoding for optimizing flash translation layer operations
KR20200042791A (ko) 2018-10-16 2020-04-24 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102601143B1 (ko) 2018-10-29 2023-11-13 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
KR102698994B1 (ko) 2018-12-03 2024-08-27 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11068165B2 (en) 2019-06-27 2021-07-20 Western Digital Technologies, Inc. Non-volatile memory data write management
US11243705B2 (en) 2019-08-01 2022-02-08 EMC IP Holding Company LLC Method and system for policy class based data migration
US11537483B2 (en) 2019-08-08 2022-12-27 SK Hynix Inc. Controller for managing superblocks and operation method thereof
US11282567B2 (en) 2019-08-20 2022-03-22 Micron Technology, Inc. Sequential SLC read optimization
KR20220036468A (ko) 2020-09-16 2022-03-23 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20220082509A (ko) 2020-12-10 2022-06-17 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078520A (en) * 1993-04-08 2000-06-20 Hitachi, Ltd. Flash memory control method and information processing system therewith
JP2004178417A (ja) * 2002-11-28 2004-06-24 Hitachi Ltd 不揮発性メモリ手段を備える処理装置および不揮発性メモリ制御方法
JP2006126975A (ja) * 2004-10-26 2006-05-18 Toshiba Corp 情報端末装置とそのプログラム
CN101004634A (zh) * 2006-01-20 2007-07-25 三星电子株式会社 收集非易失性存储器的垃圾块的装置及收集方法
US20070174579A1 (en) * 2006-01-20 2007-07-26 Samsung Electronics Co., Ltd. Apparatus for collecting garbage block of nonvolatile memory according to power state and method of collecting the same
US20090319720A1 (en) * 2008-06-20 2009-12-24 Seagate Technology Llc System and method of garbage collection in a memory device
CN101963891A (zh) * 2010-09-25 2011-02-02 成都市华为赛门铁克科技有限公司 数据存储处理方法与装置、固态硬盘系统与数据处理系统
WO2013155368A1 (en) * 2012-04-12 2013-10-17 Violin Memory, Inc. Managing trim operations in a flash memory system
US20140059093A1 (en) * 2012-08-24 2014-02-27 Fujitsu Limited Information processing method and apparatus for garbage collection
US20160179386A1 (en) * 2014-12-17 2016-06-23 Violin Memory, Inc. Adaptive garbage collection
WO2016123420A1 (en) * 2015-01-30 2016-08-04 Micron Technology, Inc. Apparatuses operable in multiple power modes and methods of operating the same
KR20150123196A (ko) * 2015-05-08 2015-11-03 주식회사 이큐브랩 쓰레기 수거용 모듈 장치 및 상기 모듈 장치의 동작 방법
US20170046256A1 (en) * 2015-08-11 2017-02-16 Ocz Storage Solutions, Inc. Pool level garbage collection and wear leveling of solid state devices

Also Published As

Publication number Publication date
EP4018316A1 (en) 2022-06-29
US11281578B2 (en) 2022-03-22
US11726908B2 (en) 2023-08-15
WO2021034979A1 (en) 2021-02-25
US20210056019A1 (en) 2021-02-25
US20220171705A1 (en) 2022-06-02
CN114303125B (zh) 2024-08-20
EP4018316A4 (en) 2023-08-16
KR20220049028A (ko) 2022-04-20

Similar Documents

Publication Publication Date Title
CN113168375A (zh) 使用贪婪无用单元收集的存储器组件中的周期性清空
CN111538675A (zh) 使用块盖写率进行无用单元收集候选对象选择
US11726869B2 (en) Performing error control operation on memory component for garbage collection
US11169747B2 (en) Relocating data to low latency memory
US11726908B2 (en) Garbage collection in a memory sub-system during a low battery state
US11520699B2 (en) Using a common pool of blocks for user data and a system data structure
CN111352859A (zh) 用于存储器子系统的不良块管理
US11698742B2 (en) Garbage collection in a memory component using an adjusted parameter
CN113518977A (zh) 基于高速缓存行的扇区的修改来逐出高速缓存行
CN115543186A (zh) 使用命令序列分析管理存储器命令引擎
US11693767B2 (en) Performing a media management operation based on changing a write mode of a data block in a cache
US20210042236A1 (en) Wear leveling across block pools
CN114008546A (zh) 电力网络中的裸片的峰值电力管理
CN115639951A (zh) 在存储器子系统中实施自动速率控制
US10817435B1 (en) Queue-based wear leveling of memory components
CN113377285A (zh) 用于读取干扰的预测性媒体管理
US11507302B2 (en) Scheduling media management operations based on determined host system usage requirements
CN113168373B (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