CN114546255A - 选择性垃圾收集 - Google Patents
选择性垃圾收集 Download PDFInfo
- Publication number
- CN114546255A CN114546255A CN202111392428.1A CN202111392428A CN114546255A CN 114546255 A CN114546255 A CN 114546255A CN 202111392428 A CN202111392428 A CN 202111392428A CN 114546255 A CN114546255 A CN 114546255A
- Authority
- CN
- China
- Prior art keywords
- flag
- memory
- battery
- garbage collection
- value
- 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 claims abstract description 361
- 238000000034 method Methods 0.000 claims description 122
- 230000008569 process Effects 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 16
- 239000000758 substrate Substances 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000003491 array Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 239000002245 particle Substances 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 239000000969 carrier Substances 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- ZOXJGFHDIHLPTG-UHFFFAOYSA-N Boron Chemical compound [B] ZOXJGFHDIHLPTG-UHFFFAOYSA-N 0.000 description 1
- 229910002601 GaN Inorganic materials 0.000 description 1
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 1
- JMASRVWKEDWRBT-UHFFFAOYSA-N Gallium nitride Chemical compound [Ga]#N JMASRVWKEDWRBT-UHFFFAOYSA-N 0.000 description 1
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 1
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 229910052785 arsenic Inorganic materials 0.000 description 1
- RQNWIZPPADIBDY-UHFFFAOYSA-N arsenic atom Chemical compound [As] RQNWIZPPADIBDY-UHFFFAOYSA-N 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 229910052796 boron Inorganic materials 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 229910052732 germanium Inorganic materials 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- BHEPBYXIRTUNPN-UHFFFAOYSA-N hydridophosphorus(.) (triplet) Chemical compound [PH] BHEPBYXIRTUNPN-UHFFFAOYSA-N 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 238000005468 ion implantation Methods 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052594 sapphire Inorganic materials 0.000 description 1
- 239000010980 sapphire Substances 0.000 description 1
- 238000005201 scrubbing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3212—Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请涉及选择性垃圾收集。主机系统可确定电池电量低于阈值或确定包含存储器装置的存储器系统的功率参数是否满足标准。所述主机系统可设定旗标的值。所述存储器系统可执行存取操作且识别所述旗标的所述值。所述存储器系统可基于识别所述旗标的所述值而确定是否准许执行垃圾收集程序。
Description
交叉引用
本专利申请案主张莫罗(Mauro)等人2020年11月24日申请的标题为“选择性垃圾收集(SELECTIVE GARBAGE COLLECTION)”的美国专利申请案第17/103,538号的优先权,所述申请案转让给本受让人,并且明确地以全文引用的方式并入本文中。
技术领域
技术领域涉及选择性垃圾收集。
背景技术
存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等各种电子装置中。通过将存储器装置内的存储器单元编程为各种状态来存储信息。举例来说,二进制存储器单元可编程为通常对应于逻辑1或逻辑0的两个支持状态中的一个。在一些实例中,单个存储器单元可支持多于两个可能状态,存储器单元可存储所述多于两个可能状态中的任一个。为了存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程到对应状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、3维交叉点存储器(3D Xpoint)、或非(NOR)和与非(NAND)存储器装置等。存储器装置可为易失性或非易失性的。除非由外部电源周期性地刷新,否则易失性存储器单元(例如,DRAM单元)可能随时间推移而丢失其编程状态。非易失性存储器单元(例如,NAND存储器单元)即使在不存在外部电源的情况下仍可在很长一段时间内维持其编程状态。
发明内容
描述一种设备。所述设备可包含:存储器装置;以及控制器,其与所述存储器装置耦合且配置成使得所述设备进行以下操作:由所述存储器装置执行存取操作;至少部分地基于执行所述存取操作而识别指示包含所述存储器装置的系统的功率参数是否满足标准的旗标的值;以及至少部分地基于识别所述旗标的所述值而确定是否准许对所述存储器装置执行垃圾收集程序。
描述一种设备。所述设备可包含:存储器系统,其包括一或多个存储器装置;以及控制器,其与所述存储器系统耦合且配置成使得所述设备进行以下操作:确定包含所述存储器系统的系统的电池电量低于阈值;至少部分地基于确定所述电池电量低于所述阈值而确定包含所述存储器系统的所述系统的功率参数是否满足标准;以及至少部分地基于确定所述功率参数是否满足所述标准而设定指示包含所述存储器系统的所述系统的所述功率参数是否满足所述标准的旗标的值。
描述一种存储包括指令的代码的非暂时性计算机可读媒体。所述代码在由电子装置的处理器执行时可使得所述电子装置进行以下操作:由存储器装置执行存取操作;至少部分地基于执行所述存取操作而识别指示包含所述存储器装置的系统的功率参数是否满足标准的旗标的值;以及至少部分地基于识别所述旗标的所述值而确定是否准许对所述存储器装置执行垃圾收集程序。
附图说明
图1说明根据本文所公开的实例的支持选择性垃圾收集的系统的实例。
图2说明根据本文所公开的实例的支持选择性垃圾收集的系统的实例。
图3说明根据本文所公开的实例的支持选择性垃圾收集的流程图的实例。
图4说明根据本文所公开的实例的支持选择性垃圾收集的流程图的实例。
图5展示根据本文所公开的实例的支持选择性垃圾收集的存储器系统的框图。
图6展示根据本文所公开的实例的支持选择性垃圾收集的主机系统的框图。
图7和8展示说明根据本文所公开的实例的支持选择性垃圾收集的一或多种方法的流程图。
具体实施方式
一些存储器系统可执行一或多个管理操作(例如,垃圾收集操作)以促进存储器系统的性能。此类程序可导致在存储器系统中写入或读取的数据量增加。举例来说,作为存取操作的部分写入的一些数据可为与命令相关联的主机数据,而作为存取操作的部分写入的一些数据可为与存储器管理操作相关联的存储器数据。此类技术可导致存储器系统在执行垃圾收集操作时经历增加的功率消耗和性能损失,这可增加与主机系统相关的其它操作的时延。通过执行垃圾收集操作,存储器系统可使用增加的功率量,由此降低存储器系统的整体性能且导致主机系统经历受损的读取、写入和擦除速度。对于电池供电的一些系统,在一些情形期间可能不需要额外功率消耗。描述了用以基于与系统的电源相关联的功率参数来确定是否执行垃圾收集操作的技术。
本公开的方面通过具有包含选择性垃圾收集操作的存储器系统来解决以上和其它缺陷。主机系统可确定与系统相关联的功率参数。举例来说,主机系统可确定系统的电池电量、系统的电池当前是否正在充电(例如,充电状态)、系统是否与电源耦合或其组合。主机系统可通过设定旗标的值来向存储器系统指示所确定的电池电量和所确定的功率参数。在此类情况下,存储器系统可识别旗标的值且确定是否准许对存储器系统执行垃圾收集操作。在一些情况下,如果旗标的值指示电池电量低于阈值且电池当前未能充电,那么存储器系统可暂停垃圾收集操作。在其它实例中,如果旗标的值指示电池电量高于阈值、电池充满电或电池当前正在充电,那么存储器系统可执行垃圾收集操作。
在此类情况下,可在电池电量高于阈值且电池正在完全充电或当前正在充电时执行垃圾收集操作。通过设定指示是否准许垃圾收集操作的旗标,存储器系统的整体性能可增加。举例来说,执行选择性垃圾收集操作可改进存储器系统的整体效率,这可导致系统经历改进的电池寿命且存储器系统经历改进的读取、写入和擦除速度、减少的功率消耗、改进的处理时间等。
首先在如参考图1所描述的系统的上下文中描述本公开的特征。在如参考图2到4所描述的系统和流程图的上下文中描述本公开的特征。通过参考如参考图5到8所描述的涉及选择性垃圾收集的设备图和流程图来进一步说明和描述本公开的这些和其它特征。
图1说明根据本文所公开的实例的支持选择性垃圾收集的系统100的实例。系统100包含与存储器系统110耦合的主机系统105。
存储器系统110可为或包含任何装置或装置的集合,其中装置或装置的集合包含至少一个存储器阵列。举例来说,存储器系统110可为或包含通用快闪存储(UFS)装置、嵌入式多媒体控制器(eMMC)装置、快闪装置、通用串行总线(USB)快闪装置、安全数字(SD)卡、固态驱动器(SSD)、硬盘驱动器(HDD)、双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM),或非易失性DIMM(NVDIMM),以及其它可能性。
系统100可包含在计算装置中,所述计算装置例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(IoT)的装置、嵌入式计算机(例如,包含在运载工具、工业设备或联网商业装置中的嵌入式计算机),或包含存储器和处理装置的任何其它计算装置。
系统100可包含可与存储器系统110耦合的主机系统105。主机系统105可包含一或多个装置,且在一些情况下,可包含处理器芯片组及通过处理器芯片组执行的软件堆栈。举例来说,主机系统105可包含配置成用于与存储器系统110或其中的装置通信的应用程序。处理器芯片组可包含一或多个核心、一或多个高速缓存(例如,主机系统105本地的或包含在所述主机系统中的存储器)、存储器控制器(例如,NVDIMM控制器)和存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统105可使用存储器系统110,例如,将数据写入到存储器系统110及从存储器系统110读取数据。尽管图1中展示一个存储器系统110,但应理解,主机系统105可与任何数量的存储器系统110耦合。
主机系统105可包含功率组件195。功率组件可包含电池180、充电组件185或其它功率电路系统。在一些实例中,电池180可配置成将电力供应到系统100的组件,包含存储器系统。充电组件185可配置成当系统100的一部分与电源(例如,插座)耦合时对电池180充电。在一些情况下,功率组件195可确定电池180的电池电量是高于还是低于阈值。在一些情况下,功率组件195可确定系统100的电池180当前正在充电、充满电还是当前未能充电。
主机系统105可设定指示系统的功率参数是否满足标准的旗标的值。在一些情况下,旗标可存储在可由主机系统105和存储器系统110存取的寄存器190中。寄存器190可与主机系统105和存储器系统110耦合。在此类情况下,主机系统105可将旗标的值存储在寄存器190中,且存储器系统110可从寄存器190读取旗标的值以识别所述值。在一些实例中,寄存器190可包含一或多个寄存器。举例来说,第二旗标可存储在寄存器190内的第二寄存器中,其中第二旗标可指示是否准许存储器系统执行垃圾收集程序。在此情况下,第二寄存器可存储指示在空闲时间期间垃圾收集程序的授权的旗标。在一些情况下,主机系统105可具有对寄存器190的写入许可存取,且存储器系统110可具有对寄存器190的只读许可。
主机系统105可经由至少一个物理主机接口与存储器系统110耦合。在一些情况下,主机系统105和存储器系统110可配置成使用相关联协议经由物理主机接口通信(例如,以在存储器系统110与主机系统105之间交换或以其它方式传达控制、地址、数据和其它信号)。物理主机接口的实例可包含但不限于串行高级技术附件(SATA)接口、UFS接口、eMMC接口、外围组件互连高速(PCIe)接口、USB接口、光纤通道、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、双数据速率(DDR)、双列直插式存储器模块(DIMM)接口(例如,支持DDR的DIMM套接接口)、开放NAND快闪接口(ONFI)、低功率双数据速率(LPDDR)。在一些实例中,一或多个此类接口可包含在主机系统105的主机系统控制器106与存储器系统110的存储器系统控制器115中或以其它方式在其间得到支持。在一些实例中,主机系统105可经由用于包含在存储器系统110中的每一存储器装置130或存储器装置140的相应物理主机接口,或经由用于包含在存储器系统110中的每一类型的存储器装置130或存储器装置140的相应物理主机接口而与存储器系统110耦合(例如,主机系统控制器106可与存储器系统控制器115耦合)。
存储器系统110可包含存储器系统控制器115、存储器装置130和存储器装置140。存储器装置130可包含第一类型的存储器单元(例如,非易失性存储器单元的类型)的一或多个存储器阵列,且存储器装置140可包含第二类型的存储器单元(例如,易失性存储器单元的类型)的一或多个存储器阵列。尽管在图1的实例中展示一个存储器装置130和一个存储器装置140,但应理解,存储器系统110可包含任何数量的存储器装置130和存储器装置140,且在一些情况下,存储器系统110可缺少存储器装置130或存储器装置140。
存储器系统控制器115可与主机系统105耦合且与主机系统105通信(例如,经由物理主机接口)。存储器系统控制器115还可与存储器装置130或存储器装置140耦合且与存储器装置130或存储器装置140通信以在存储器装置130或存储器装置140处执行一般可称为存取操作的操作,例如读取数据、写入数据、擦除数据或刷新数据,和其它此类操作。在一些情况下,存储器系统控制器115可从主机系统105接收命令且与一或多个存储器装置130或存储器装置140通信以执行此类命令(例如,在一或多个存储器装置130或存储器装置140内的存储器阵列处)。举例来说,存储器系统控制器115可从主机系统105接收命令或操作,且可将命令或操作转换成指令或适当的命令,以实现对存储器装置130或存储器装置140的所要存取。且在一些情况下,存储器系统控制器115可与主机系统105且与一或多个存储器装置130或存储器装置140交换数据(例如,响应于来自主机系统105的命令或以其它方式与来自主机系统105的命令相关联)。举例来说,存储器系统控制器115可将与存储器装置130或存储器装置140相关联的响应(例如,数据包或其它信号)转换成用于主机系统105的对应信号。
存储器系统控制器115可配置成用于与存储器装置130或存储器装置140相关联的其它操作。举例来说,存储器系统控制器115可执行或管理操作,例如耗损均衡操作、垃圾收集操作、例如错误检测操作或错误校正操作的错误控制操作、加密操作、高速缓存操作、媒体管理操作,后台刷新、健康监测,以及与来自主机系统105的命令相关联的逻辑地址(例如,逻辑块地址(LBA))和与存储器装置130或存储器装置140内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转换。
存储器系统控制器115可包含硬件,例如一或多个集成电路或离散组件、缓冲存储器,或其组合。硬件可包含具有专用(例如,硬译码)逻辑的电路系统,以执行本文中归于存储器系统控制器115的操作。存储器系统控制器115可为或包含微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)),或任何其它合适的处理器或处理电路系统。
存储器系统控制器115还可包含本地存储器120。在一些情况下,本地存储器120可包含只读存储器(ROM)或可存储可由存储器系统控制器115执行的操作代码(例如,可执行指令)以执行本文中归于存储器系统控制器115的功能的其它存储器。在一些情况下,本地存储器120可另外或替代地包含静态随机存取存储器(SRAM)或可由存储器系统控制器115用于例如与本文中归于存储器系统控制器115的功能相关的内部存储或计算的其它存储器。另外或替代地,本地存储器120可充当用于存储器系统控制器115的高速缓存。举例来说,当从存储器装置130或存储器装置140读取或者写入到存储器装置130或存储器装置140时,数据可存储到本地存储器120,且可在本地存储器120内可用于根据高速缓存策略由主机系统105后续检索或操纵(更新)(例如,在相对于存储器装置130或存储器装置140的减少的时延的情况下)。
尽管图1中的存储器系统110的实例已说明为包含存储器系统控制器115,但在一些情况下,存储器系统110可不包含存储器系统控制器115。举例来说,存储器系统110可另外或替代地依赖于外部控制器(例如,由主机系统105实施)或可分别在存储器装置130或存储器装置140内部的一或多个本地控制器135或本地控制器145,以执行本文中归于存储器系统控制器115的功能。一般来说,本文中归于存储器系统控制器115的一或多个功能可在一些情况下改为由主机系统105、本地控制器135或本地控制器145或其任何组合执行。
存储器系统110可执行存取操作且识别旗标的值。旗标可指示系统100的功率参数是否满足标准。存储器系统110可基于旗标的值而确定是否准许对存储器系统110执行垃圾收集程序。在此类情况下,存储器系统110可基于旗标的值而暂停或执行垃圾收集程序。举例来说,存储器系统110可基于指示电池180的电量低于阈值或当前未能充电或这两者的旗标而暂停垃圾收集程序。在其它实例中,存储器系统110可基于指示电池180的电量高于阈值或电池180当前正在充电的旗标而执行垃圾收集程序。
存储器装置140可包含易失性存储器单元的一或多个阵列。举例来说,存储器装置140可包含随机存取存储器(RAM)存储器单元,例如动态RAM(DRAM)存储器单元和同步DRAM(SDRAM)存储器单元。在一些实例中,存储器装置140可(例如,由主机系统105)支持相对于存储器装置130具有减少的时延的随机存取操作,或可提供相对于存储器装置130的一或多个其它性能差异。
存储器装置130可包含非易失性存储器单元的一或多个阵列。举例来说,存储器装置130可包含NAND(例如,NAND快闪)存储器、ROM、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电RAM(FeRAM)、磁性RAM(MRAM)、NOR(例如,NOR快闪)存储器、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)和电可擦除可编程ROM(EEPROM)。
在一些实例中,存储器装置130或存储器装置140可分别(例如,在同一裸片上或同一封装内)包含本地控制器135或本地控制器145,其可对存储器装置130或存储器装置140的一或多个存储器单元执行操作。本地控制器135或本地控制器145可结合存储器系统控制器115操作,或可执行本文中归于存储器系统控制器115的一或多个功能。在一些情况下,包含本地控制器135或本地控制器145的存储器装置130或存储器装置140可称为受管理存储器装置,且可包含与本地(例如,裸片上或封装内)控制器(例如,本地控制器135或本地控制器145)组合的存储器阵列和相关电路系统。受管理存储器装置的实例是受管理NAND(MNAND)装置。
在一些情况下,存储器装置130可为或包含NAND装置(例如,NAND快闪装置)。存储器装置130可为包含一或多个裸片160的封装。在一些实例中,裸片160可为从晶片切割的一块电子级半导体(例如,从硅晶片切割的硅裸片)。每一裸片160可包含一或多个平面165,且每一平面165可包含相应一组块170,其中每一块170可包含相应一组页175,且每一页175可包含一组存储器单元。
在一些情况下,NAND存储器装置130可包含配置成各自存储一个位信息的存储器单元,所述存储器单元可称为单层级单元(SLC)。另外或替代地,NAND存储器装置130可包含配置成各自存储多个位信息的存储器单元,如果配置成各自存储两个位信息,那么所述存储器单元可称为多层级单元(MLC),如果配置成各自存储三个位信息,那么所述存储器单元可称为三层级单元(TLC),如果配置成各自存储四个位信息,那么所述存储器单元可称为四层级单元(QLC),或更一般地称为多层级存储器单元。多层级存储器单元可相对于SLC存储器单元提供更大的存储密度,但在一些情况下,可涉及用于支持电路系统的更窄读取或写入容限或更大复杂性。
在一些情况下,平面165可指代块170的群组,且在一些情况下,可在不同平面165内发生并行操作。举例来说,可对不同块170内的存储器单元执行并行操作,只要不同块170处于不同平面165中即可。在一些情况下,在不同平面165中执行并行操作可受制于一或多个限制,例如对不同页175内的存储器单元执行相同操作,所述存储器单元在其相应平面165内具有相同页地址(例如,与命令解码、页地址解码电路系统,或跨越平面165共享的其它电路系统相关)。
在一些情况下,块170可包含组织成行(页175)和列(例如串,未展示)的存储器单元。举例来说,同一页175中的存储器单元可共享共同字线(例如,与其耦合),且同一串中的存储器单元可共享共同数字线(其可替代地称为位线)(例如,与其耦合)。
对于一些NAND架构,存储器单元可在第一粒度级别下(例如,在页粒度级别下)进行读取和编程(例如,写入),但可在第二粒度级别下(例如,在块粒度级别下)进行擦除。也就是说,页175可为可独立地编程或读取(例如,作为单个编程或读取操作的部分同时编程或读取)的存储器的最小单元(例如,存储器单元集合),且块170可为可独立地擦除(例如,作为单个擦除操作的部分同时擦除)的存储器的最小单元(例如,存储器单元集合)。此外,在一些情况下,NAND存储器单元可在其可用新数据重新写入之前被擦除。因此,举例来说,在一些情况下,可直到包含页175的整个块170已被擦除才更新已使用的页175。
在一些情况下,存储器系统控制器115、本地控制器135或本地控制器145可执行存储器装置130或存储器装置140的操作(例如,作为一或多个媒体管理算法的一部分),例如耗损均衡、后台刷新、垃圾收集、清理、块扫描、健康监测,或其它操作,或其任何组合。举例来说,在存储器装置130内,块170可具有含有有效数据的一些页175和含有无效数据的一些页175。为了避免等待块170中的所有页175具有无效数据以便擦除和重复使用块170,可调用称为“垃圾收集”的算法,以允许块170被擦除和释放为用于后续写入操作的空闲块。垃圾收集可指一组媒体管理操作,其包含例如选择含有有效和无效数据的块170、选择块中含有有效数据的页175、将来自所选页175的有效数据复制到新位置(例如,另一块170中的空闲页175)、将先前所选页175中的数据标记为无效,以及擦除所选块170。因此,可增加已擦除的块170的数目,使得可使用更多的块170来存储后续数据(例如,随后从主机系统105接收到的数据)。
系统100可包含支持选择性垃圾收集的任何数量的非暂时性计算机可读媒体。举例来说,主机系统105、存储器系统控制器115、存储器装置130或存储器装置140可包含或以其它方式可存取一或多个非暂时性计算机可读媒体,所述非暂时性计算机可读媒体存储指令(例如,固件)以用于执行本文中归于主机系统105、存储器系统控制器115、存储器装置130或存储器装置140的功能。举例来说,此类指令在由主机系统105(例如,由主机系统控制器106)、由存储器系统控制器115、由存储器装置130(例如,由本地控制器135)或由存储器装置140(例如,由本地控制器145)执行时可使得主机系统105、存储器系统控制器115、存储器装置130或存储器装置140执行如本文中所描述的相关联功能。
图2说明根据本文所公开的实例的支持选择性垃圾收集的系统200的实例。系统200可包含表205,其中表205说明存储在存储器系统用于确定是否准许垃圾收集程序的寄存器中的逻辑。
在一些系统中,可基于单个参数(例如,垃圾收集参数)执行垃圾收集程序。在此类情况下,存储器系统可识别启用或停用垃圾收集程序的旗标的值。存储器系统可确定所述存储器系统是否包含在空闲周期期间执行垃圾收集程序的能力且基于所述确定来执行垃圾收集程序。在一些情况下,存储器系统可执行垃圾收集程序。在此类情况下,垃圾收集程序可由存储器装置驱动。在一些情况下,存储器系统可将垃圾收集程序通知给主机系统。
包含存储器系统的一些系统可具有功率约束。举例来说,一些移动计算装置可为电池供电的。执行垃圾收集程序或其它存储器管理操作可用于在更长的持续时间内维持存储器系统的性能,但执行此类操作可消耗功率。当系统处于功率临界状态(例如,低电池电量且未连接到另一电源)时,可能有利的是延迟执行垃圾收集程序或其它存储器管理操作以节省功率。描述了基于系统的功率参数来启用或停用存储器管理操作的技术。
在一些情况下,主机系统可设定可由存储器系统存取的旗标以指示较大系统的功率参数(例如,电池电量、充电状态或这两者)是否满足标准。举例来说,主机系统可确定电池电量高于阈值。在此类情况下,可准许存储器系统调度和执行例如垃圾收集程序的存储器管理程序。在一些实例中,主机系统可确定电池电量低于阈值。在此类情况下,存储器系统可暂停执行例如垃圾收集程序的存储器管理程序。
存储器系统可暂停垃圾收集程序以减少额外功率消耗且继续暂停执行垃圾收集程序直到主机系统重设旗标为止。在将电池充电到高于阈值之后,主机系统可重设旗标以指示存储器系统可执行垃圾收集程序。选择性地停用垃圾收集程序可改进较大系统的电池寿命。
表205可包含如何解译寄存器中的不同旗标(例如,GC参数225和功率参数230)以启用或停用存储器系统来执行例如垃圾收集程序的存储器管理程序的实例。表205说明涉及系统的功率的不同情境。在第一实例中,电池210-a可处于超过阈值220的第一电量。在第二实例中,电池210-b可处于低于阈值220的第二电量。在第三实例中,电池210-c可处于低于阈值220的第三电量,且电池210-c当前正在充电。表205还可包含GC参数225、功率参数230的指示,以及是否准许存储器235执行存储器管理操作(例如,垃圾收集操作)的指示。
GC参数225可配置成指示主机系统是否已准许存储器系统执行垃圾收集程序(或其它存储器管理程序)。主机系统可将GC参数225的值(存储在寄存器中)设定为第一值(例如,1)以指示准许垃圾收集程序,或可将GC参数225的值(存储在寄存器中)设定为第二值(例如,0)以指示不准许垃圾收集程序。
功率参数230可配置成指示系统的功率参数或功率条件。存储器系统可使用功率参数230和GC参数225来确定是否准许其执行垃圾收集程序(或其它存储器管理程序)。主机系统可将功率参数230的值(存储在寄存器中)设定为第一值(例如,1)以指示系统的功率条件使得不准许垃圾收集程序,或可将功率参数230的值(存储在寄存器中)设定为第二值(例如,0)以指示系统的功率条件使得准许垃圾收集程序。主机系统可取决于电池电量、充电状态或这两者将功率参数230的值设定为第一值(例如,“1”)或第二值(例如,“0”)。举例来说,主机系统可确定电池电量且基于电池电量而在第一寄存器中设定旗标(例如,功率参数230的值)。举例来说,主机系统可确定第一电池210-a的电池电量高于阈值220,且将功率参数230的值设定为第二值(例如,“0”)。主机系统可确定第二电池210-b的电池电量低于阈值220且将功率参数230的值设定为第一值(例如,“1”)。主机系统可确定第三电池210-c的电池电量高于阈值220且将功率参数230的值设定为第二值(例如,“0”)。
在一些实例中,主机系统可确定充电状态且基于充电状态而在第一寄存器中设定旗标(例如,功率参数230的值)。举例来说,主机系统可确定第一电池210-a的充电状态为充满电且当前未充电。在此类情况下,主机系统可将功率参数230的值设定为第二值。主机系统可确定第二电池210-b未充满电且当前未充电。在此类情况下,主机系统可将功率参数230的值设定为第一值。主机系统可确定第三电池210-c未充满电且当前正在充电。在此类情况下,主机系统可将功率参数230的值设定为第二值。
存储器系统可读取第一寄存器以识别功率参数230的值。举例来说,存储器系统可识别针对第一电池210-a设定的功率参数230的值为第二值。在此类情况下,存储器系统可执行用于存储器235的垃圾收集程序(例如,“GC ON”)。在此类情况下,当存储器系统识别可能发生的垃圾收集程序时,存储器系统可实施操作以使得所述程序作为操作过程的一部分而发生。在一些实例中,存储器系统可识别针对第二电池210-b设定的功率参数230的值为第一值。在此类情况下,存储器系统可暂停用于存储器235的垃圾收集程序(例如,“GCOFF”)。在此类情况下,因为存储器系统制止执行垃圾收集程序。在其它实例中,存储器系统可识别针对第三电池210-c设定的功率参数230的值为第二值。在此类情况下,存储器系统可执行用于存储器235的垃圾收集程序(例如,“GC ON”)。可设定GC参数225以暂停用于存储器235的垃圾收集程序(例如,“GC OFF”),而不管功率参数230的值如何。
存储器系统可包含第二寄存器,其中存储器系统可从第一寄存器和第二寄存器实施包含在表205中的逻辑。第二寄存器可包含指示垃圾收集程序是否由主机系统激活或去激活的第二旗标。GC参数225可为包含在第二寄存器中的第二旗标的实例。举例来说,主机系统可将GC参数225的值设定为第一值。
GC参数225和功率参数230的值可指示存储器235是否可执行或暂停垃圾收集程序。举例来说,存储器系统可识别GC参数225为第一值且功率参数230为第一电池210-a的第二值。在此情况下,存储器系统可执行用于存储器235的垃圾收集程序。在一些实例中,存储器系统可识别GC参数225为第一值且功率参数230为第二电池210-b的第一值。在此类情况下,存储器系统可暂停用于存储器235的垃圾收集程序。在其它实例中,存储器系统可识别GC参数225为第一值且功率参数230为第三电池210-c的第二值。在此类情况下,存储器系统可执行用于存储器235的垃圾收集程序。
在一些情况下,功率参数230可为低功率模式指示符的实例。在此类情况下,功率参数230可指示存储器系统是否在低功率模式下操作。举例来说,存储器系统可基于确定电池电量低于阈值220且电池当前未充电而确定第二电池210-b可在低功率模式(例如,功率安全模式接通)下操作。在此类情况下,主机系统可将功率参数230设定为第一值以指示存储器系统在低功率模式下操作。存储器系统可基于确定存储器系统在低功率模式下操作而暂停垃圾收集程序。
在一些实例中,存储器系统可基于确定电池电量高于阈值220或电池当前正在充电而确定第一电池210-a在高功率模式(例如,功率安全模式关闭)下操作。在一些实例中,存储器系统可基于确定电池电量高于阈值220或电池当前正在充电而确定第一电池210-a或第三电池210-c在高功率模式下操作。在此类情况下,主机系统可将功率参数230设定为第二值以指示存储器系统在高功率模式下操作。存储器系统可基于确定存储器系统在高功率模式下操作而执行垃圾收集程序。
图3说明根据本文所公开的实例的支持选择性垃圾收集的流程图300的实例。流程图300可包含主机系统305和存储器系统310,其可为如参考图1和2所描述的主机系统和存储器系统的相应实例。可实施以下内容的替代性实例,其中一些步骤以不同次序执行或根本不执行。一些步骤可另外包含下文中未提及的额外特征。
流程图300的方面可由控制器以及其它组件实施。另外或替代地,流程图300的方面可实施为存储在存储器中的指令(例如,存储在与存储器系统110耦合的存储器中的固件)。举例来说,所述指令在由控制器(例如,装置存储器控制器155)执行时可使得控制器执行流程图300的操作。流程图300说明其中主机系统305可设定功率指示符(例如,旗标的值)且存储器系统310可使用功率指示符来确定是否准许垃圾收集程序的技术。
在315处,可确定包含存储器系统的系统的电池电量。举例来说,主机系统305可确定电池的电量。主机系统305可确定电池电量高于或低于阈值。
在320处,确定电池是否正在充电或系统是否与电源耦合。举例来说,主机系统305可确定电池是否正在充电或系统是否与电源耦合。
在一些情况下,可确定功率参数。举例来说,主机系统305可确定功率参数。主机系统305可基于确定电池电量低于阈值或确定电池是否正在充电或系统是否与电源耦合或这两者而确定包含存储器系统310的存储器系统的功率参数是否满足标准。功率参数可为充电状态的实例。充电状态可包含电池是否充电到高于阈值、当前正在充电或当前未能充电。在一些情况下,确定参数是否满足标准是基于确定电池当前是否正在充电。如果电池电量低于阈值且电池未充电,那么主机系统305可确定功率参数满足标准且由此确定不准许执行存储器管理程序(例如,存储器系统将在功率节省模式下操作)。在其它实例中,如果电池电量高于阈值或电池正在充电,那么主机系统305可确定电池电量高于阈值。在此类情况下,主机系统305可确定电池当前正在充电或充满电。如果电池电量高于阈值且电池充满电或当前正在充电,那么主机系统305可确定功率参数未能满足标准且由此确定功率安全模式关闭。
在325处,可设定旗标。举例来说,主机系统305可设定旗标的值。旗标可为链接到电池电量的UFS/eMMC旗标的实例。在此类情况下,旗标可指示存储器系统的功率参数是否满足标准。主机系统305可将旗标的值存储在与存储器系统相关联的寄存器中。举例来说,主机系统305可通过与存储器系统相关联的第一寄存器来存储旗标。在一些情况下,主机系统305可将旗标的值设定为指示功率参数满足标准的第一值(例如,“1”),或将旗标的值设定为指示功率参数未能满足标准的第二值(例如,“0”)。当电池充电到高于阈值时,主机系统305可停止所述旗标。
在330处,可识别旗标。举例来说,存储器系统310可执行存取操作且识别由主机系统305设定的旗标的值。存储器系统310可识别旗标的值是第一值(例如,“1”)还是第二值(例如,“0”)。旗标可指示存储器系统的电池是否未充电且低于阈值(例如,电池可使用再充电操作)。在此类情况下,存储器系统310可识别旗标的值为第一值。在一些情况下,旗标可指示存储器系统的电池当前是否正在充电或充满电且高于阈值。在此类情况下,存储器系统310可识别旗标的值为第二值。
在一些情况下,存储器系统310可基于执行存取操作且识别旗标的值而读取与存储器系统310相关联的寄存器。在一些实例中,存储器系统310可确定旗标指示功率参数满足标准且确定垃圾收集程序受到限制。在一些情况下,旗标可指示存储器系统310正在空闲周期外执行操作。在此类情况下,存储器系统310可暂停垃圾收集程序以防止减少功率消耗。
存储器系统310可基于确定旗标指示功率参数满足标准且确定垃圾收集程序受到限制而将执行垃圾收集程序的请求335传输到主机系统305。在一些情况下,存储器系统310可能需要执行一或多个垃圾收集程序以继续正常操作,甚至在节省功率时也是如此。主机系统305可接收请求335,其中请求335可包含在空闲周期的至少一部分期间执行垃圾收集程序的请求。在此类情况下,存储器系统310可识别执行垃圾收集程序的空闲周期。举例来说,存储器系统310可识别空闲周期,确定功率参数满足标准(例如,旗标的值为“1”),且确定垃圾收集程序受到限制。存储器系统可覆写垃圾收集程序受到限制的确定且在空闲周期期间执行垃圾收集程序。在空闲周期期间,存储器系统310可在制止服务主机系统305的同时执行垃圾收集程序。在此类情况下,垃圾收集程序可由存储器装置驱动。
在一些情况下,主机系统305可基于接收到请求335而传输准许垃圾收集程序的信息。主机系统305可确定请求335的优先级。举例来说,主机系统305可基于接收到请求335而确定请求335的优先级是否满足第二阈值。在此类情况下,传输所述信息是基于确定请求335的优先级是否满足第二阈值。请求335的优先级可基于发送请求335的存储器系统310的优先级、与请求335的接收相关联的时间、存储器系统310的队列中的其它操作的指示或其组合。
在340处,可设定第二旗标。举例来说,主机系统305可确定是否准许存储器系统执行垃圾收集程序。主机系统305可设定指示是否准许存储器系统执行垃圾收集程序的第二旗标的第二值(例如,参考图2所描述的GC参数)。主机系统305可将第二旗标的第二值存储在与存储器系统相关联的寄存器中。举例来说,主机系统305可由与存储器系统相关联的第二寄存器存储第二旗标。第二旗标可为激活垃圾收集程序的旗标的实例。
在一些情况下,主机系统305可将第二旗标的第二值设定为指示不准许存储器系统310执行垃圾收集程序的第一值(例如,“1”),或将第二旗标的第二值设定为指示准许存储器系统310执行垃圾收集程序的第二值(例如,“0”)。
在345处,可识别第二旗标。在此类情况下,存储器系统310可识别指示是否准许存储器系统310执行垃圾收集程序的第二旗标的第二值。举例来说,存储器系统310可识别第二旗标的第二值是否为第一值或第二值。
在350处,可确定是否准许对存储器系统310执行垃圾收集程序。举例来说,存储器系统310可确定是否准许对存储器系统310执行垃圾收集程序。存储器系统310可基于旗标的值和第二旗标的第二值而确定是否准许对存储器系统310执行垃圾收集程序。在一些实例中,存储器系统310可基于确定旗标指示存储器系统的电池电量低于阈值而暂停垃圾收集程序。在一些情况下,存储器系统310可基于电池电量低于阈值且电池当前未能充电而暂停垃圾收集程序。在此类情况下,旗标的值可为第一值。第二旗标的第二值可为第一值。存储器系统310可基于旗标的值为第一值、第二旗标的第二值为第一值或这两者而暂停垃圾收集程序。
在其它实例中,存储器系统310可基于确定旗标指示存储器系统的电池电量高于阈值而执行垃圾收集程序。存储器系统310可基于电池电量高于阈值且电池当前正在充电或充满电而执行垃圾收集程序。在此类情况下,旗标的值可为第二值。第二旗标的第二值可为第一值。存储器系统310可基于旗标的值为第二值且第二旗标的第二值为第一值而执行垃圾收集程序。
图4说明根据本文所公开的实例的支持选择性垃圾收集的流程图400的实例。流程图400可包含主机系统405和存储器系统410,其可为如参考图1到3所描述的主机系统和存储器系统的相应实例。可实施以下内容的替代性实例,其中一些步骤以不同次序执行或根本不执行。一些步骤可另外包含下文中未提及的额外特征。
流程图400的方面可由控制器以及其它组件实施。另外或替代地,流程图400的方面可实施为存储在存储器中的指令(例如,存储在与主机系统105耦合的存储器中的固件)。举例来说,所述指令在由控制器(例如,外部存储器控制器120)执行时可使得控制器执行流程图400的操作。流程图400说明其中主机系统405可将关于存储器系统的信息传输到存储器系统410且存储器系统410可基于接收到的信息确定是否执行垃圾收集程序的技术。
在415处,可确定电池电量。举例来说,主机系统405可确定包含存储器系统410的存储器系统的电池电量。主机系统405可确定电池电量低于阈值。在420处,主机系统405可确定电池是否正在充电。如果电池电量低于阈值且电池未充电,那么主机系统405可确定功率安全模式接通。
在其它实例中,主机系统405可确定电池电量高于阈值。在此类情况下,主机系统405可确定电池当前正在充电或充满电。如果电池电量高于阈值且电池充满电或当前正在充电,那么主机系统405可确定功率安全模式关闭。
主机系统405可将与功率参数相关联的功率信息425传输到存储器系统410。功率信息425可包含电池电量,电池当前是否正在充电,系统是否与电源耦合,电池电量高于或低于阈值的指示,或其组合。
在430处,可设定功率指示符。举例来说,存储器系统410可设定功率指示符(例如,旗标的值)。存储器系统410可基于功率信息425设定功率指示符。举例来说,存储器系统410可设定旗标的值。旗标可指示存储器系统的功率参数是否满足标准。存储器系统410可将旗标的值存储在与存储器系统相关联的寄存器中。举例来说,存储器系统410可通过与存储器系统相关联的第一寄存器存储旗标。在一些情况下,存储器系统410可将旗标的值设定为指示功率参数满足标准的第一值(例如,“1”),或将旗标的值设定为指示功率参数未能满足标准的第二值(例如,“0”)。
在435处,可确定是否准许对存储器系统410执行垃圾收集程序。举例来说,存储器系统410可确定是否执行垃圾收集程序。存储器系统410可使用功率指示符来确定是否执行垃圾收集程序。在一些实例中,存储器系统410可基于确定旗标(例如,功率指示符)指示存储器系统的电池电量低于阈值而暂停垃圾收集程序。存储器系统410可基于电池电量低于阈值且电池当前未能充电而暂停垃圾收集程序。在此类情况下,功率指示符的值可为第一值。
在其它实例中,存储器系统410可基于确定旗标指示存储器系统的电池电量高于阈值而执行垃圾收集程序。存储器系统410可基于电池电量高于阈值且电池当前正在充电或充满电而执行垃圾收集程序。在此类情况下,功率指示符的值可为第二值。
图5展示根据本文所公开的实例的支持选择性垃圾收集的存储器系统505的框图500。存储器系统505可为如参考图1到4所描述的存储器系统的方面的实例。存储器系统505可包含存取组件510、旗标识别符515和垃圾收集组件520。这些模块中的每一个可直接或间接地彼此通信(例如,经由一或多个总线)。
存取组件510可由存储器装置执行存取操作。在一些实例中,存取组件510可基于执行存取操作而读取与存储器装置相关联的寄存器,其中识别旗标的值是基于读取寄存器。
旗标识别符515可基于执行存取操作而识别指示包含存储器装置的系统的功率参数是否满足标准的旗标的值。在一些实例中,旗标进一步指示系统的电池当前是否正在充电,且其中暂停垃圾收集程序是基于电池电量低于阈值且电池当前未能充电。在一些实例中,旗标进一步指示系统的电池当前是否正在充电或充满电,且其中执行垃圾收集程序是基于电池电量高于阈值且电池当前正在充电或充满电。
在一些实例中,旗标识别符515可识别指示是否准许存储器装置执行一或多个垃圾收集程序的第二旗标的第二值,其中基于第二旗标的第二值和旗标的值而确定是否准许对存储器装置执行垃圾收集程序。在一些情况下,旗标由与所述存储器装置相关联的第一寄存器存储。在一些情况下,第二旗标由与存储器装置相关联的第二寄存器存储。在一些实例中,旗标识别符515可确定旗标指示功率参数满足标准且确定垃圾收集程序受到限制。
垃圾收集组件520可基于识别旗标的值而确定是否准许对存储器装置执行垃圾收集程序。在一些实例中,垃圾收集组件520可基于确定旗标指示系统的电池电量低于阈值而暂停垃圾收集程序,其中功率参数包含电池电量且标准包含阈值。在一些实例中,垃圾收集组件520可基于确定旗标指示系统的电池电量高于阈值而执行垃圾收集程序。
在一些实例中,垃圾收集组件520可基于确定旗标指示功率参数满足标准而将执行垃圾收集程序的请求传输到主机系统,其中确定是否执行垃圾收集程序是基于传输所述请求。在一些实例中,垃圾收集组件520可基于确定是否准许执行垃圾收集程序而识别执行垃圾收集程序的空闲周期。
图6展示根据本文所公开的实例的支持选择性垃圾收集的主机系统605的框图600。主机系统605可为如参考图1到4所描述的主机系统的方面的实例。主机系统605可包含电池组件610、功率组件615、旗标组件620和许可组件625。这些模块中的每一个可直接或间接地彼此通信(例如,经由一或多个总线)。
电池组件610可确定包含存储器系统的系统的电池电量低于阈值。在一些实例中,电池组件610可确定系统的电池当前是否正在充电,其中确定功率参数是否满足标准是基于确定系统的电池当前是否正在充电。
功率组件615可基于确定电池电量低于阈值而确定包含存储器系统的系统的功率参数是否满足标准。在一些实例中,功率参数基于确定电池电量低于阈值且确定系统的电池当前未能充电而满足标准。在一些实例中,功率参数基于确定电池电量高于阈值且确定系统的电池当前正在充电或充满电而未能满足标准。
旗标组件620可基于确定功率参数是否满足标准而设定指示包含存储器系统的系统的功率参数是否满足标准的旗标的值。在一些实例中,旗标组件620可将旗标的值存储在与存储器系统相关联且可由设备读取的寄存器中。
在一些实例中,旗标组件620可设定指示是否准许存储器系统执行一或多个垃圾收集程序的第二旗标的第二值。在一些情况下,旗标由与存储器系统相关联的第一寄存器存储。在一些情况下,第二旗标由与存储器系统相关联的第二寄存器存储。
在一些实例中,旗标组件620可将旗标的值设定为指示功率参数满足标准的第一值。在一些实例中,旗标组件620可将旗标的值设定为指示功率参数未能满足标准的第二值。
许可组件625可确定是否准许存储器系统执行一或多个垃圾收集程序。在一些实例中,许可组件625可在旗标的值指示功率参数满足标准且一或多个垃圾收集程序受到限制的空闲周期的至少一部分期间接收执行垃圾收集程序的请求。
在一些实例中,许可组件625可基于接收到所述请求而从准许垃圾收集程序的主机系统传输信息。在一些实例中,许可组件625可基于接收到所述请求而确定所述请求的优先级是否满足第二阈值,其中传输所述信息是基于确定所述请求的优先级是否满足第二阈值。
图7展示说明根据本文所公开的实例的支持选择性垃圾收集的一或多种方法700的流程图。方法700的操作可由如本文所描述的存储器系统或其组件实施。举例来说,方法700的操作可由如参考图5所描述的存储器系统执行。在一些实例中,存储器系统可执行指令集以控制存储器系统的功能元件执行所描述的功能。另外或替代地,存储器系统可使用专用硬件来执行所描述的功能的方面。
在705处,可执行存取操作。举例来说,存储器系统或存储器装置可执行存取操作。可根据本文中所描述的方法来执行705的操作。在一些实例中,可通过如参考图5所描述的存取组件来执行705的操作的方面。
在710处,可识别旗标的值。举例来说,存储器系统或存储器装置可基于执行存取操作而识别指示包含存储器装置的系统的功率参数是否满足标准的旗标的值。可根据本文中所描述的方法来执行710的操作。在一些实例中,可通过如参考图5所描述的旗标识别符来执行710的操作的方面。
在715处,可确定是否准许对存储器装置执行垃圾收集程序的确定。举例来说,存储器系统或存储器装置可基于识别旗标的值而确定是否准许对存储器装置执行垃圾收集程序。可根据本文中所描述的方法来执行715的操作。在一些实例中,可通过如参考图5所描述的垃圾收集组件来执行715的操作的方面。
在一些实例中,如本文中所描述的设备可执行例如方法700的一或多种方法。设备可包含用于进行以下操作的特征、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):由存储器装置执行存取操作;基于执行存取操作而识别指示包含存储器装置的系统的功率参数是否满足标准的旗标的值;以及基于识别旗标的值而确定是否准许对存储器装置执行垃圾收集程序。
本文中所描述的方法700和设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:基于确定旗标指示系统的电池电量低于阈值而暂停垃圾收集程序,其中功率参数包含电池电量且标准包含阈值。
在本文中所描述的方法700和设备的一些实例中,旗标进一步指示系统的电池当前是否可正在充电,且其中暂停垃圾收集程序可基于电池电量低于阈值且电池当前未能充电。
本文中所描述的方法700和设备的一些实例可进一步包含用于基于确定旗标指示系统的电池电量可高于阈值而执行垃圾收集程序的操作、特征、构件或指令。
在本文中所描述的方法700和设备的一些实例中,旗标进一步指示系统的电池当前是否可正在充电或充满电,且其中执行垃圾收集程序可基于电池电量高于阈值且电池当前正在充电或充满电。
本文中所描述的方法700和设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:识别指示是否可准许存储器装置执行一或多个垃圾收集程序的第二旗标的第二值,其中基于第二旗标的第二值和旗标的值而确定是否可准许对存储器装置执行垃圾收集程序。
在本文中所描述的方法700和设备的一些实例中,旗标可由与存储器装置相关联的第一寄存器存储,且第二旗标可由与存储器装置相关联的第二寄存器存储。
本文中所描述的方法700和设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:确定旗标指示功率参数满足标准且确定垃圾收集程序可能受到限制;以及基于确定旗标指示功率参数满足标准而将执行垃圾收集程序的请求传输到主机系统,其中确定是否执行垃圾收集程序可基于传输所述请求。
本文中所描述的方法700和设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:基于执行存取操作而读取与存储器装置相关联的寄存器,其中识别旗标的值可基于读取所述寄存器。
本文中所描述的方法700和设备的一些实例可进一步包含用于基于确定是否可准许执行垃圾收集程序而识别执行垃圾收集程序的空闲周期的操作、特征、构件或指令。
图8展示说明根据本文所公开的实例的支持选择性垃圾收集的一或多种方法800的流程图。方法800的操作可由如本文中所描述的主机系统或其组件实施。举例来说,方法800的操作可由如参考图6所描述的主机系统执行。在一些实例中,主机系统可执行指令集以控制主机系统的功能元件执行所描述的功能。另外或替代地,主机系统可使用专用硬件来执行所描述的功能的方面。
在805处,可确定电池电量。举例来说,主机系统可确定包含存储器系统的系统的电池电量低于阈值。存储器系统可包含一或多个存储器装置。可根据本文中所描述的方法来执行805的操作。在一些实例中,可通过如参考图6所描述的电池组件来执行805的操作的方面。
在810处,可确定功率参数。举例来说,主机系统可基于确定电池电量低于阈值而确定包含存储器系统的系统的功率参数是否满足标准。可根据本文中所描述的方法来执行810的操作。在一些实例中,可通过如参考图6所描述的功率组件来执行810的操作的方面。
在815处,可设定旗标的值。举例来说,主机系统可基于确定功率参数是否满足标准而设定指示包含存储器系统的系统的功率参数是否满足标准的旗标的值。可根据本文中所描述的方法来执行815的操作。在一些实例中,可通过如参考图6所描述的旗标组件来执行815的操作的方面。
在一些实例中,如本文中所描述的设备可执行例如方法800的一或多种方法。设备可包含用于进行以下操作的特征、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):确定包含存储器系统的系统的电池电量低于阈值;基于确定电池电量低于阈值而确定包含存储器系统的系统的功率参数是否满足标准;以及基于确定功率参数是否满足标准而设定指示包含存储器系统的系统的功率参数是否满足标准的旗标的值。
本文中所描述的方法800和设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:确定系统的电池当前是否可正在充电,其中确定功率参数是否满足标准可基于确定系统的电池当前是否可正在充电。
在本文中所描述的方法800和设备的一些实例中,功率参数基于确定电池电量可低于阈值且确定系统的电池当前未能充电而满足所述标准。
在本文中所描述的方法800和设备的一些实例中,功率参数基于确定电池电量可高于阈值且确定系统的电池当前可正在充电或充满电而未能满足所述标准。
在本文中所描述的方法800和设备的一些实例中,设定旗标的值可包含用于将旗标的值存储在与存储器系统相关联且可由设备读取的寄存器中的操作、特征、构件或指令。
本文中所描述的方法800和设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:确定是否可准许存储器系统执行一或多个垃圾收集程序,以及设定指示是否可准许存储器系统执行一或多个垃圾收集程序的第二旗标的第二值。
在本文中所描述的方法800和设备的一些实例中,旗标可由与存储器系统相关联的第一寄存器存储,且第二旗标可由与存储器系统相关联的第二寄存器存储。
在本文中所描述的方法800和设备的一些实例中,设定旗标的值可进一步包含用于将旗标的值设定为指示功率参数满足标准的第一值或将旗标的值设定为指示功率参数未能满足标准的第二值的操作、特征、构件或指令。
本文中所描述的方法800和设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:在旗标的值指示功率参数满足标准且一或多个垃圾收集程序可能受到限制的空闲周期的至少一部分期间接收执行垃圾收集程序的请求;以及基于接收到所述请求而从准许垃圾收集程序的主机系统传输信息。
本文中所描述的方法800和设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:基于接收到所述请求而确定所述请求的优先级是否满足第二阈值,其中传输所述信息可基于确定所述请求的优先级是否满足第二阈值。
应注意,本文中所描述的方法是可能的实施方案,且操作和步骤可重新排列或以其它方式加以修改,且其它实施方案是可能的。此外,可组合来自所述方法中的两个或更多个的部分。
描述一种用于由存储器装置执行的方法的设备。所述设备可包含存储器装置和与所述存储器装置耦合的控制器。控制器可配置成使得设备进行以下操作:由存储器装置执行存取操作;基于执行存取操作而识别指示包含存储器装置的系统的功率参数是否满足标准的旗标的值;以及基于识别旗标的值而确定是否准许对存储器装置执行垃圾收集程序。
一些实例可进一步包含:基于确定旗标指示系统的电池电量可低于阈值而暂停垃圾收集程序,其中功率参数包含电池电量且标准包含阈值。
在一些实例中,旗标进一步指示系统的电池当前是否可正在充电,且其中暂停垃圾收集程序可基于电池电量低于阈值且电池当前未能充电。
一些实例可进一步包含:基于确定旗标指示系统的电池电量可高于阈值而执行垃圾收集程序。
在一些实例中,旗标进一步指示系统的电池当前是否可正在充电或充满电,且其中执行垃圾收集程序可基于电池电量高于阈值且电池当前正在充电或充满电。
一些实例可进一步包含:识别指示是否可准许存储器装置执行一或多个垃圾收集程序的第二旗标的第二值,其中基于第二旗标的第二值和旗标的值而确定是否可准许对存储器装置执行垃圾收集程序。
在一些实例中,旗标可由与存储器装置相关联的第一寄存器存储,且第二旗标可由与存储器装置相关联的第二寄存器存储。
一些实例可进一步包含:确定旗标指示功率参数满足标准且确定垃圾收集程序可能受到限制,以及基于确定旗标指示功率参数满足标准而将执行垃圾收集程序的请求传输到主机系统,其中确定是否执行垃圾收集程序可基于传输所述请求。
一些实例可进一步包含:基于执行存取操作而读取与存储器装置相关联的寄存器,其中识别旗标的值可基于读取寄存器。
一些实例可进一步包含:基于确定是否可准许执行垃圾收集程序而识别执行垃圾收集程序的空闲周期。
描述一种用于由存储器系统执行的方法的设备。设备可包含存储器系统,所述存储器系统包括一或多个存储器装置和与所述存储器系统耦合的控制器。控制器可配置成使得设备进行以下操作:确定包含存储器系统的系统的电池电量低于阈值;基于确定电池电量低于阈值而确定包含存储器系统的系统的功率参数是否满足标准;以及基于确定功率参数是否满足标准而设定指示包含存储器系统的系统的功率参数是否满足标准的旗标的值。
一些实例可进一步包含:确定系统的电池当前是否可正在充电,其中确定功率参数是否满足标准可基于确定系统的电池当前是否可正在充电。
在一些实例中,功率参数基于确定电池电量可低于阈值且确定系统的电池当前未能充电而满足所述标准。
在一些实例中,功率参数基于确定电池电量可高于阈值且确定系统的电池当前可正在充电或充满电而未能满足所述标准。
一些实例可进一步包含:将旗标的值存储在与存储器系统相关联且可由设备读取的寄存器中。
一些实例可进一步包含:确定是否可准许存储器系统执行一或多个垃圾收集程序,以及设定指示是否可准许存储器系统执行一或多个垃圾收集程序的第二旗标的第二值。
在一些实例中,旗标可由与存储器系统相关联的第一寄存器存储,且第二旗标可由与存储器系统相关联的第二寄存器存储。
一些实例可进一步包含:将旗标的值设定为指示功率参数满足标准的第一值,或将旗标的值设定为指示功率参数未能满足标准的第二值。
一些实例可进一步包含:在旗标的值指示功率参数满足标准且一或多个垃圾收集程序可能受到限制的空闲周期的至少一部分期间接收执行垃圾收集程序的请求;以及基于接收到请求而从准许垃圾收集程序的主机系统传输信息。
一些实例可进一步包含:基于接收到所述请求而确定所述请求的优先级是否满足第二阈值,其中传输信息可基于确定所述请求的优先级是否满足第二阈值。
可使用多种不同技艺和技术中的任一个来表示本文中所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个描述中可能参考的数据、指令、命令、信息、信号、位、符号和芯片。一些图式可将信号说明为单个信号;然而,本领域的普通技术人员将理解,所述信号可表示信号的总线,其中总线可具有多种位宽度。
术语“电子通信”、“导电接触”、“连接”和“耦合”可指代支持信号在组件之间流动的组件之间的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,那么认为组件彼此电子通信(或彼此导电接触、或彼此连接、或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子通信(或彼此导电接触、或彼此连接、或彼此耦合)的组件之间的导电路径可为开路或闭路。所连接组件之间的导电路径可为组件之间的直接导电路径,或所连接组件之间的导电路径可为可包含例如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管的一或多个中间组件将所连接组件之间的信号流动中断一段时间。
术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前不能够经由导电路径在组件之间传送,在闭路关系中,信号可经由导电路径在组件之间传送。当例如控制器的组件将其它组件耦合在一起时,组件发起允许信号通过先前不准许信号流动的导电路径在其它组件之间流动的改变。
本文中所论述的包含存储器阵列的装置可形成在半导体衬底上,例如硅、锗、硅锗合金、砷化镓、氮化镓等。在一些实例中,衬底为半导体晶片。在其它情况下,衬底可为绝缘体上硅(SOI)衬底,例如玻璃上硅(SOG)或蓝宝石上硅(SOS),或另一衬底上的半导体材料的外延材料。可通过使用包含但不限于磷、硼或砷的各种化学物质进行掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方式来进行掺杂。
本文中所论述的开关组件或晶体管可表示场效应晶体管(FET),且包括包含源极、漏极和栅极的三端装置。所述端可通过例如金属的导电材料连接到其它电子元件。源极和漏极可为导电的且可包括重掺杂(例如,简并)的半导体区。源极和漏极可通过轻掺杂的半导体区或通道分离。如果通道为n型(即,大部分载流子为电子),那么FET可称为n型FET。如果通道为p型(即,大部分载流子为空穴),那么FET可称为p型FET。所述通道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制通道导电性。举例来说,将正电压或负电压分别施加到n型FET或p型FET可使通道变为导电的。当大于或等于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“接通”或“激活”。当小于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“断开”或“去激活”。
本文中结合附图阐述的描述内容描述了实例配置,且并不表示可以实施的或在权利要求书的范围内的所有实例。本文中所使用的术语“示例性”是指“充当实例、例子或说明”,并且不“优选于”或“优于其它实例”。具体实施方式包含提供对所描述的技术的理解的具体细节。然而,可在没有这些具体细节的情况下实践这些技术。在一些情况下,以框图形式展示众所周知的结构及装置以免混淆所描述实例的概念。
在附图中,类似的组件或特征可具有相同的参考标记。此外,可通过在参考标记之后跟着连字符和在类似组件当中进行区分的第二标记来区分相同类型的各种组件。如果在说明书中仅使用第一参考标记,那么描述内容适用于具有相同第一参考标记而与第二参考标记无关的类似组件中的任何一个。
可使用多种不同技艺和技术中的任一个来表示本文中所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个描述中可能参考的数据、指令、命令、信息、信号、位、符号和芯片。
可用通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其设计成执行本文中所描述的功能的任何组合来实施或执行结合本文中的公开内容所描述的各种说明性块和模块。通用处理器可为微处理器,但在替代方案中,处理器可为任何处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合(例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器,或任何其它此类配置)。
本文中所描述的功能可以硬件、由处理器执行的软件、固件或其任何组合实施。如果以由处理器执行的软件实施,那么功能可作为一或多个指令或代码存储在计算机可读媒体上或经由计算机可读媒体传输。其它实例及实施方案在本公开及所附权利要求书的范围内。举例来说,归因于软件的性质,本文中所描述的功能可使用由处理器、硬件、固件、硬连线或这些中的任一个的组合执行的软件来实施。实施功能的特征也可物理地位于各种位置处,包含分布以使得功能的各部分在不同物理位置处实施。此外,如本文中(包含在权利要求书中)所使用,如在项列表(例如,以例如“中的至少一个”或“中的一或多个”的短语开头的项列表)中所使用的“或”指示包含性列表,使得例如A、B或C中的至少一个的列表意指A或B或C或AB或AC或BC或ABC(即,A和B和C)。此外,如本文中所使用,短语“基于”不应被解释为指代一组封闭条件。举例来说,在不脱离本公开的范围的情况下,被描述为“基于条件A”的示例性步骤可基于条件A和条件B两者。换句话说,如本文中所使用,短语“基于”应同样地解释为短语“至少部分地基于”。
计算机可读媒体包含非暂时性计算机存储媒体和通信媒体两者,通信媒体包含有助于将计算机程序从一处传送到另一处的任何媒体。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。借助于实例而非限制,非暂时性计算机可读媒体可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令或数据结构形式的所要程序代码构件且可由通用或专用计算机或者通用或专用处理器存取的任何其它非暂时性媒体。此外,任何连接被恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,那么所述同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术包含在媒体的定义中。如本文中所使用,磁盘和光盘包含CD、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。这些的组合还包含在计算机可读媒体的范围内。
提供本文中的描述以使本领域的技术人员能够制造或使用本公开。对本公开的各种修改对本领域的普通技术人员来说将是显而易见的,且本文中所定义的一般原理可在不脱离本公开的范围的情况下应用于其它变体。因此,本公开不限于本文中所描述的实例和设计,而是被赋予与本文中所公开的原理和新颖特征一致的最广泛范围。
Claims (25)
1.一种设备,其包括:
存储器装置;以及
控制器,其与所述存储器装置耦合且配置成使得所述设备进行以下操作:
由所述存储器装置执行存取操作;
至少部分地基于执行所述存取操作而识别指示包含所述存储器装置的系统的功率参数是否满足标准的旗标的值;以及
至少部分地基于识别所述旗标的所述值而确定是否准许对所述存储器装置执行垃圾收集程序。
2.根据权利要求1所述的设备,其中所述控制器进一步配置成使得所述设备进行以下操作:
至少部分地基于确定所述旗标指示所述系统的电池电量低于阈值而暂停所述垃圾收集程序,其中所述功率参数包括所述电池电量且所述标准包括所述阈值。
3.根据权利要求2所述的设备,其中所述旗标进一步指示所述系统的电池当前是否正在充电,且其中暂停所述垃圾收集程序至少部分地基于所述电池电量低于所述阈值且所述电池当前未能充电。
4.根据权利要求1所述的设备,其中所述控制器进一步配置成使得所述设备进行以下操作:
至少部分地基于确定所述旗标指示所述系统的电池电量高于阈值而执行所述垃圾收集程序。
5.根据权利要求4所述的设备,其中所述旗标进一步指示所述系统的电池当前是正在充电还是充满电,且其中执行所述垃圾收集程序至少部分地基于所述电池电量高于所述阈值且所述电池当前正在充电或充满电。
6.根据权利要求1所述的设备,其中所述控制器进一步配置成使得所述设备进行以下操作:
识别指示是否准许所述存储器装置执行一或多个垃圾收集程序的第二旗标的第二值,其中至少部分地基于所述第二旗标的所述第二值和所述旗标的所述值而确定是否准许对所述存储器装置执行所述垃圾收集程序。
7.根据权利要求6所述的设备,其中:
所述旗标由与所述存储器装置相关联的第一寄存器存储;且
所述第二旗标由与所述存储器装置相关联的第二寄存器存储。
8.根据权利要求1所述的设备,其中所述控制器进一步配置成使得所述设备进行以下操作:
确定所述旗标指示所述功率参数满足所述标准且确定所述垃圾收集程序受到限制;以及
至少部分地基于确定所述旗标指示所述功率参数满足所述标准而将执行所述垃圾收集程序的请求传输到主机系统,其中确定是否执行所述垃圾收集程序至少部分地基于传输所述请求。
9.根据权利要求1所述的设备,其中所述控制器进一步配置成使得所述设备进行以下操作:
至少部分地基于执行所述存取操作而读取与所述存储器装置相关联的寄存器,其中识别所述旗标的所述值至少部分地基于读取所述寄存器。
10.根据权利要求1所述的设备,其中所述控制器进一步配置成使得所述设备进行以下操作:
至少部分地基于确定是否准许执行所述垃圾收集程序而识别执行所述垃圾收集程序的空闲周期。
11.一种设备,其包括:
存储器系统,其包括一或多个存储器装置;以及
控制器,其与所述存储器系统耦合且配置成使得所述设备进行以下操作:
确定包含所述存储器系统的系统的电池电量低于阈值;
至少部分地基于确定所述电池电量低于所述阈值而确定包含所述存储器系统的所述系统的功率参数是否满足标准;以及
至少部分地基于确定所述功率参数是否满足所述标准而设定指示包含所述存储器系统的所述系统的所述功率参数是否满足所述标准的旗标的值。
12.根据权利要求11所述的设备,其中所述控制器进一步配置成使得所述设备进行以下操作:
确定所述系统的电池当前是否正在充电,其中确定所述功率参数是否满足所述标准至少部分地基于确定所述系统的所述电池当前是否正在充电。
13.根据权利要求12所述的设备,其中所述功率参数至少部分地基于确定所述电池电量低于所述阈值且确定所述系统的所述电池当前未能充电而满足所述标准。
14.根据权利要求12所述的设备,其中所述功率参数至少部分地基于确定所述电池电量高于所述阈值且确定所述系统的所述电池当前正在充电或充满电而未能满足所述标准。
15.根据权利要求11所述的设备,其中,为设定所述旗标的所述值,所述控制器配置成使得所述设备进行以下操作:
将所述旗标的所述值存储在与所述存储器系统相关联且可由所述设备读取的寄存器中。
16.根据权利要求11所述的设备,其中所述控制器进一步配置成使得所述设备进行以下操作:
确定是否准许所述存储器系统执行一或多个垃圾收集程序;以及
设定指示是否准许所述存储器系统执行所述一或多个垃圾收集程序的第二旗标的第二值。
17.根据权利要求16所述的设备,其中:
所述旗标由与所述存储器系统相关联的第一寄存器存储;且
所述第二旗标由与所述存储器系统相关联的第二寄存器存储。
18.根据权利要求11所述的设备,其中,为设定所述旗标的所述值,所述控制器配置成使得所述设备进行以下操作:
将所述旗标的所述值设定为指示所述功率参数满足所述标准的第一值;或
将所述旗标的所述值设定为指示所述功率参数未能满足所述标准的第二值。
19.根据权利要求11所述的设备,其中所述控制器进一步配置成使得所述设备进行以下操作:
在所述旗标的所述值指示所述功率参数满足所述标准且一或多个垃圾收集程序受到限制的空闲周期的至少一部分期间接收执行垃圾收集程序的请求;以及
至少部分地基于接收到所述请求而从准许所述垃圾收集程序的主机系统传输信息。
20.根据权利要求19所述的设备,其中所述控制器进一步配置成使得所述设备进行以下操作:
至少部分地基于接收到所述请求而确定所述请求的优先级是否满足第二阈值,其中传输所述信息至少部分地基于确定所述请求的所述优先级是否满足所述第二阈值。
21.一种存储包括指令的代码的非暂时性计算机可读媒体,所述指令在由电子装置的处理器执行时使得所述电子装置进行以下操作:
由存储器装置执行存取操作;
至少部分地基于执行所述存取操作而识别指示包含所述存储器装置的系统的功率参数是否满足标准的旗标的值;以及
至少部分地基于识别所述旗标的所述值而确定是否准许对所述存储器装置执行垃圾收集程序。
22.根据权利要求21所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置进行以下操作:
至少部分地基于确定所述旗标指示所述系统的电池电量低于阈值而暂停所述垃圾收集程序,其中所述功率参数包括所述电池电量且所述标准包括所述阈值。
23.根据权利要求22所述的非暂时性计算机可读媒体,其中所述旗标进一步指示所述系统的电池当前是否正在充电,且其中暂停所述垃圾收集程序至少部分地基于所述电池电量低于所述阈值且所述电池当前未能充电。
24.根据权利要求21所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置进行以下操作:
至少部分地基于确定所述旗标指示所述系统的电池电量高于阈值而执行所述垃圾收集程序。
25.根据权利要求24所述的非暂时性计算机可读媒体,其中所述旗标进一步指示所述系统的电池当前是正在充电还是充满电,且其中执行所述垃圾收集程序至少部分地基于所述电池电量高于所述阈值且所述电池当前正在充电或充满电。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/103,538 | 2020-11-24 | ||
US17/103,538 US11899577B2 (en) | 2020-11-24 | 2020-11-24 | Selective garbage collection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114546255A true CN114546255A (zh) | 2022-05-27 |
CN114546255B CN114546255B (zh) | 2024-04-02 |
Family
ID=81657066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111392428.1A Active CN114546255B (zh) | 2020-11-24 | 2021-11-23 | 选择性垃圾收集 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11899577B2 (zh) |
CN (1) | CN114546255B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009156556A1 (en) * | 2008-06-26 | 2009-12-30 | Tatu Ylönen Oy | Garbage collection via multiobjects |
US20100293275A1 (en) * | 2009-05-12 | 2010-11-18 | Qualcomm, Incorporated | Method and apparatus for managing congestion in a wireless system |
US9128820B1 (en) * | 2012-06-18 | 2015-09-08 | Western Digital Technologies, Inc. | File management among different zones of storage media |
US20180129416A1 (en) * | 2016-11-04 | 2018-05-10 | Samsung Electronics Co., Ltd. | Storage device and data processing system including the same |
US20180129604A1 (en) * | 2016-11-04 | 2018-05-10 | Samsung Electronics Co., Ltd. | Storage device and data processing system including the same |
US20190065388A1 (en) * | 2017-08-30 | 2019-02-28 | Micron Technology, Inc. | Managed nvm adaptive cache management |
WO2019112675A1 (en) * | 2017-12-08 | 2019-06-13 | Sandisk Technologies Llc | Systems and methods for high-performance write operations |
US10379874B1 (en) * | 2016-06-24 | 2019-08-13 | Amazon Technologies, Inc. | Expedited resume process from low battery |
US20200081065A1 (en) * | 2018-09-11 | 2020-03-12 | SK Hynix Inc. | Data processing system and operating method thereof |
US20200278735A1 (en) * | 2020-03-06 | 2020-09-03 | Intel Corporation | Methods and apparatus to reduce power consumption and improve battery life of display systems using adaptive sync |
US20200310966A1 (en) * | 2019-03-27 | 2020-10-01 | SK Hynix Inc. | Memory controller and operating method thereof |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100262305B1 (ko) * | 1997-08-25 | 2000-07-15 | 강병호 | 스마트 밧데리용 충전장치 및 그 충전방법과 이를 이용한 노트북 컴퓨터의 전원장치 |
US6631520B1 (en) * | 1999-05-14 | 2003-10-07 | Xilinx, Inc. | Method and apparatus for changing execution code for a microcontroller on an FPGA interface device |
JP3783576B2 (ja) * | 2001-05-25 | 2006-06-07 | 日立工機株式会社 | 充電機能付き直流電源装置 |
JP2004032967A (ja) * | 2002-06-28 | 2004-01-29 | Sanyo Electric Co Ltd | 充電装置 |
JP2004178417A (ja) * | 2002-11-28 | 2004-06-24 | Hitachi Ltd | 不揮発性メモリ手段を備える処理装置および不揮発性メモリ制御方法 |
US7145314B2 (en) * | 2003-05-23 | 2006-12-05 | Hitachi Koki Co., Ltd. | DC power source unit with battery charging function |
KR100725410B1 (ko) * | 2006-01-20 | 2007-06-07 | 삼성전자주식회사 | 전원 상태에 따라 비휘발성 메모리의 블록 회수를 수행하는장치 및 그 방법 |
US7564721B2 (en) * | 2006-05-25 | 2009-07-21 | Micron Technology, Inc. | Method and apparatus for improving storage performance using a background erase |
US7907060B2 (en) * | 2008-05-08 | 2011-03-15 | Echostar Technologies L.L.C. | Systems, methods and apparatus for detecting replacement of a battery in a remote control |
JP5721465B2 (ja) * | 2011-02-16 | 2015-05-20 | 株式会社Nttドコモ | 二次電池充電装置及び二次電池充電システム |
JP5481453B2 (ja) * | 2011-09-21 | 2014-04-23 | 株式会社東芝 | メモリデバイス |
US8868025B2 (en) * | 2012-08-14 | 2014-10-21 | Qualcomm Incorporated | Methods, systems and devices for prioritizing access to wireless networks |
CN103713886B (zh) * | 2012-09-29 | 2017-11-10 | 腾讯科技(深圳)有限公司 | 一种数据处理设备中的提醒装置及其提醒处理方法 |
US9292080B2 (en) * | 2013-06-19 | 2016-03-22 | Microsoft Technology Licensing, Llc | Selective blocking of background activity |
JP5876010B2 (ja) * | 2013-06-26 | 2016-03-02 | ブリヂストンサイクル株式会社 | 電動機付自転車 |
GB2529857B (en) * | 2014-09-04 | 2017-11-01 | Samsung Electronics Co Ltd | Method and apparatus for battery charge monitoring |
JP6534867B2 (ja) * | 2015-06-22 | 2019-06-26 | Necスペーステクノロジー株式会社 | 人工衛星の電源異常監視方法及び電源異常監視プログラム |
US10241701B2 (en) * | 2015-09-16 | 2019-03-26 | Samsung Electronics Co., Ltd. | Solid state memory system with power management mechanism and method of operation thereof |
US11216323B2 (en) * | 2015-09-16 | 2022-01-04 | Samsung Electronics Co., Ltd. | Solid state memory system with low power error correction mechanism and method of operation thereof |
US11604690B2 (en) * | 2016-07-24 | 2023-03-14 | Pure Storage, Inc. | Online failure span determination |
KR20180045087A (ko) * | 2016-10-24 | 2018-05-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102530587B1 (ko) * | 2017-09-20 | 2023-05-08 | 삼성전자주식회사 | 데이터 저장 장치 및 이의 제조 방법 |
TWI628542B (zh) * | 2017-04-21 | 2018-07-01 | 慧榮科技股份有限公司 | 快閃記憶體的垃圾回收斷電回復方法以及使用該方法的裝置 |
US10503241B2 (en) * | 2017-05-16 | 2019-12-10 | Micron Technology, Inc. | Providing energy information to memory |
JP2019035785A (ja) * | 2017-08-10 | 2019-03-07 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法及びプログラム |
US10996886B2 (en) * | 2018-08-02 | 2021-05-04 | Alibaba Group Holding Limited | Method and system for facilitating atomicity and latency assurance on variable sized I/O |
US11112997B2 (en) * | 2018-08-21 | 2021-09-07 | Samsung Electronics Co., Ltd. | Storage device and operating method thereof |
US11281578B2 (en) * | 2019-08-20 | 2022-03-22 | Micron Technology, Inc. | Garbage collection in a memory sub-system during a low battery state |
CN111864844B (zh) * | 2020-07-27 | 2022-03-08 | 中创新航科技股份有限公司 | 电池系统的均衡方法、均衡装置及智能设备 |
-
2020
- 2020-11-24 US US17/103,538 patent/US11899577B2/en active Active
-
2021
- 2021-11-23 CN CN202111392428.1A patent/CN114546255B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009156556A1 (en) * | 2008-06-26 | 2009-12-30 | Tatu Ylönen Oy | Garbage collection via multiobjects |
US20100293275A1 (en) * | 2009-05-12 | 2010-11-18 | Qualcomm, Incorporated | Method and apparatus for managing congestion in a wireless system |
US9128820B1 (en) * | 2012-06-18 | 2015-09-08 | Western Digital Technologies, Inc. | File management among different zones of storage media |
US10379874B1 (en) * | 2016-06-24 | 2019-08-13 | Amazon Technologies, Inc. | Expedited resume process from low battery |
US20180129416A1 (en) * | 2016-11-04 | 2018-05-10 | Samsung Electronics Co., Ltd. | Storage device and data processing system including the same |
US20180129604A1 (en) * | 2016-11-04 | 2018-05-10 | Samsung Electronics Co., Ltd. | Storage device and data processing system including the same |
US20190065388A1 (en) * | 2017-08-30 | 2019-02-28 | Micron Technology, Inc. | Managed nvm adaptive cache management |
WO2019112675A1 (en) * | 2017-12-08 | 2019-06-13 | Sandisk Technologies Llc | Systems and methods for high-performance write operations |
US20200081065A1 (en) * | 2018-09-11 | 2020-03-12 | SK Hynix Inc. | Data processing system and operating method thereof |
US20200310966A1 (en) * | 2019-03-27 | 2020-10-01 | SK Hynix Inc. | Memory controller and operating method thereof |
US20200278735A1 (en) * | 2020-03-06 | 2020-09-03 | Intel Corporation | Methods and apparatus to reduce power consumption and improve battery life of display systems using adaptive sync |
Also Published As
Publication number | Publication date |
---|---|
CN114546255B (zh) | 2024-04-02 |
US11899577B2 (en) | 2024-02-13 |
US20220164283A1 (en) | 2022-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114400034A (zh) | 存储器装置的降压操作 | |
CN113760183A (zh) | 存储器系统的存取操作状态信令 | |
CN115904221A (zh) | 高速缓存块预算技术 | |
CN115705887A (zh) | 存储器操作完成标记 | |
CN114077393B (zh) | 将存储器系统数据传送到主机系统 | |
CN115116523A (zh) | 浅休眠功率状态 | |
CN115248662A (zh) | 动态超级块 | |
CN114882927A (zh) | 存储器装置的事件管理 | |
CN114968085A (zh) | 数据重定位操作技术 | |
CN116301581A (zh) | 写入加速器缓冲和休眠 | |
US20220229574A1 (en) | Data migration techniques | |
US20230195362A1 (en) | Host initiated garbage collection | |
CN115705889A (zh) | 功率管理技术 | |
US11625333B2 (en) | Configurable flush operation speed | |
US20220398024A1 (en) | Dynamic interval for a memory device to enter a low power state | |
CN115457994A (zh) | 动态功率控制 | |
CN114911416A (zh) | 用以检测功率损耗的易失性寄存器 | |
CN114639418A (zh) | 取消映射操作技术 | |
CN114546255B (zh) | 选择性垃圾收集 | |
CN114550789A (zh) | 使用信令进行状态检查 | |
CN114077394A (zh) | 将存储器系统数据传送到辅助阵列 | |
US20230376205A1 (en) | Commanded device states for a memory system | |
US11762771B2 (en) | Advanced power off notification for managed memory | |
WO2022226821A1 (en) | Dynamic low power mode | |
US20240078024A1 (en) | Light hibernation mode for memory |
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 |