CN113360193A - 用于ssd数据刷新的经协商的上电 - Google Patents
用于ssd数据刷新的经协商的上电 Download PDFInfo
- Publication number
- CN113360193A CN113360193A CN202011488793.8A CN202011488793A CN113360193A CN 113360193 A CN113360193 A CN 113360193A CN 202011488793 A CN202011488793 A CN 202011488793A CN 113360193 A CN113360193 A CN 113360193A
- Authority
- CN
- China
- Prior art keywords
- host
- persistent storage
- response
- logic
- wake
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- 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/3215—Monitoring of peripheral devices
- G06F1/3221—Monitoring of peripheral devices of disk drive devices
-
- 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/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- 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
- 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
- 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
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30083—Power or thermal control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/442—Shutdown
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
- G06F9/4837—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/20—Initialising; Data preset; Chip identification
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- 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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Power Sources (AREA)
Abstract
本发明涉及一种用于SSD数据刷新的经协商的上电。电子装置的实施例可以包括一个或多个衬底,以及耦合到一个或多个衬底的逻辑,逻辑用于管理持久性存储介质,向主机提供主机发起后续唤醒以进行对持久性存储介质的数据管理的时间的指示,并且响应于主机发起的从零功率状态的唤醒而执行对持久性存储介质的数据管理。公开并要求保护其他实施例。
Description
背景技术
固态驱动器(SSD)可能具有各种规格,包括性能规格、散热规格和可靠性/耐久性规格。性能规格包括诸如每秒的输入/输出操作(IOPS)、吞吐量/带宽和延迟之类的标准。可靠性/耐久性规格包括诸如每天驱动器写入、编程/擦除周期、平均故障间隔时间和数据保留之类的标准。数据保留规格可以指代在SSD断电后SSD可以将未损坏的数据保持多长时间。
附图说明
在附图中,通过示例而非限制的方式示出了本文描述的材料。为了说明的简单和清楚起见,附图中示出的元件不一定按比例绘制。例如,为了清楚起见,一些元件的尺寸可能相对于其他元件被放大。此外,在认为适当的地方,已经在附图中重复了附图标记以指示对应或类似的元件。在附
图中:
图1是根据实施例的电子系统的示例的框图;
图2是根据实施例的电子装置的示例的框图;
图3A至图3C是根据实施例的管理存储装置的方法的示例的流程图;
图4是根据实施例的进程流程的示例的说明图;
图5是根据实施例的计算系统的另一示例的框图;并且
图6是根据实施例的固态驱动器(SSD)设备的示例的框图。
具体实施方式
现在参考附图描述一个或多个实施例或实现方式。尽管讨论了具体的配置和布置,但是应当理解,这样做仅出于说明的目的。相关领域的技术人员将认识到,在不脱离描述的精神和范围的情况下,可以采用其他配置和布置。对于相关领域的技术人员将显而易见的是,本文描述的技术和/或布置也可以在除本文描述的内容之外的各种其他系统和应用中采用。
尽管下面的描述阐述了例如可以在诸如片上系统(SoC)架构之类的架构中体现的各种实现方式,但是本文描述的技术和/或布置的实现方式并不限于特定的架构和/或计算系统,并且可以由出于类似目的的任何架构和/或计算系统来实现。例如,采用例如多个集成电路(IC)芯片和/或封装和/或诸如机顶盒、智能电话等之类的各种计算设备和/或消费者电子(CE)设备的各种架构可以实现本文描述的技术和/或布置。此外,尽管以下描述可以阐述许多具体细节,例如,逻辑实现、系统组件的类型和相互关系、逻辑分区/集成选择等,但是可以在没有这些具体细节的情况下实践所要求保护的主题。在其他情况下,可能不会详细示出某些材料(例如,控制结构和完整的软件指令序列),以免使本文所公开的材料不清楚。
本文公开的材料可以以硬件、固件、软件或其任何组合来实现。本文公开的材料还可以被实现为存储在机器可读介质上的指令,该指令可以由一个或多个处理器读取和执行。机器可读介质可以包括用于以机器(例如,计算设备)可读的形式存储或传输信息的任何介质和/或机制。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光学存储介质;闪速存储器设备;电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等);等等。
说明书中对“一个实现方式”、“一实现方式”、“一个示例实现方式”等的引用指示所描述的实现方式可以包括特定的特征、结构或特性,但是每个实施例可以不一定都包括该特定的特征、结构或特性。另外,这样的短语不一定指代同一实现方式。此外,当结合实施例描述特定的特征、结构或特性时,认为结合其他实现方式来实现这种特征、结构或特性在本领域技术人员的知识范围内,而无论是否在本文中明确描述。
本文描述的各种实施例可以包括存储器组件和/或与存储器组件的接口。这样的存储器组件可以包括易失性存储器和/或非易失性(NV)存储器。易失性存储器可以是要求电力来维持由该介质存储的数据的状态的存储介质。易失性存储器的非限制性示例可以包括各种类型的随机存取存储器(RAM),例如,动态RAM(DRAM)或静态RAM(SRAM)。可以在存储器模块中使用的一种特定类型的DRAM是同步动态RAM(SDRAM)。在特定实施例中,存储器组件的DRAM可以符合由联合电子设备工程委员会(JEDEC)颁布的标准,例如,用于双倍数据速率(DDR)SDRAM的JESD79F、用于DDR2 SDRAM的JESD79-2F、用于DDR3 SDRAM的JESD79-3F、用于DDR4 SDRAM的JESD79-4A、用于低功耗DDR(LPDDR)的JESD209、用于LPDDR2的JESD209-2、用于LPDDR3的JESD209-3和用于LPDDR4的JESD209-4(这些标准可以在jedec.org处获得)。这样的标准(和类似的标准)可以被称为基于DDR的标准,并且实现这种标准的存储设备的通信接口可以被称为基于DDR的接口。
NV存储器(NVM)可以是不要求电力来维持由介质存储的数据的状态的存储介质。在一个实施例中,存储器设备可以包括区块可寻址存储器设备,例如,基于NAND或NOR技术的那些设备。存储器设备还可以包括下一代非易失性设备,例如,三维(3D)交叉点存储器设备,或其他字节可寻址的就地写入非易失性存储器设备。在一个实施例中,存储器设备可以是或可以包括使用硫属化合物玻璃的存储器设备、多阈值级别NAND闪速存储器、NOR闪速存储器、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管RAM(FeTRAM)、反铁电存储器、结合忆阻器技术的磁阻RAM(MRAM)存储器、电阻式存储器(包括金属氧化物基、氧空位基和导电桥RAM(CB-RAM))、或自旋移矩(STT)-MRAM、基于自旋电子磁结存储器的设备、基于磁性隧道结(MTJ)的设备、基于DW(畴壁)和SOT(自旋轨道转移)的设备、基于晶闸管的存储器设备,或上述设备中的任何设备的组合,或其他存储器。存储器设备可以指代管芯本身和/或指代封装的存储器产品。在特定实施例中,具有非易失性存储器的存储器组件可以符合由JEDEC颁布的一个或多个标准,例如,JESD218、JESD219、JESD220-1、JESD223B、JESD223-1或其他合适的标准(本文引用的JEDEC标准可以在jedec.org处获得)。
参考图1,电子系统10的实施例可以包括持久性存储介质12和通信地耦合到持久性存储介质12的控制器11。控制器11可以包括逻辑13,其用于管理持久性存储介质12,向主机提供主机发起后续唤醒以进行对持久性存储介质12的数据管理的时间的指示,并且响应于主机发起的从零功率状态的唤醒而执行对持久性存储介质12的数据管理。在一些实施例中,数据管理可以对应于数据保留管理。例如,逻辑13可以被配置为响应于主机发起的从零功率状态的唤醒而向主机提供主机发起后续唤醒的时间的指示。
在一些实施例中,逻辑13可以被配置为响应于来自主机的信息查询而向主机提供主机发起后续唤醒的时间间隔的指示。例如,时间间隔可以对应于对持久性存储介质12断电之后的时间量。在一些实施例中,逻辑13可以进一步被配置为在执行对持久性存储介质12的数据管理之后向主机提供关闭请求。在一些实施例中,逻辑13还可以被配置为响应于来自主机的关闭请求而对持久性存储介质12断电,并且响应于关闭请求而向主机提供主机发起后续唤醒的时间间隔的指示。另外地或可替代地,逻辑13可以被配置为主动地通知主机任何更新的唤醒时间要求。例如,逻辑13可以支持设备发起的对唤醒时间的更新,或者可以向主机提供时间间隔,而这不响应于任何外部事件。在本文的实施例中的任何实施例中,持久性存储介质12可以包括固态驱动器(SSD)。
以上控制器11、持久性存储介质12、逻辑13和其他系统组件中的每一个的实施例可以以硬件、软件或其任何合适的组合来实现。例如,硬件实现方式可以包括诸如可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)之类的可配置逻辑,或使用诸如专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术之类的电路技术的固定功能逻辑硬件,或其任何组合。控制器11的实施例可以包括通用控制器、专用控制器、存储装置控制器、存储器控制器、微控制器、通用处理器、专用处理器、中央处理器单元(CPU)、执行单元等。在一些实施例中,持久性存储介质12、逻辑13和/或其他系统存储器可以位于包括控制器11的各种组件中或与这样的组件位于同一位置(例如,在同一管芯上)。
可替代地或另外地,这些组件的全部或部分可以在一个或多个模块中作为存储在机器或计算机可读存储介质(例如,随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、固件、闪速存储器等)中以由处理器或计算设备执行的一组逻辑指令实现。例如,用于执行组件的操作的计算机程序代码可以以一种或多种操作系统(OS)适用/适合的编程语言的任何组合编写,包括面向对象的编程语言(例如,PYTHON、PERL、JAVA、SMALLTALK、C++、C#等),以及常规过程编程语言(例如,“C”编程语言或类似编程语言)。例如,持久性存储介质12、其他持久性存储介质或其他系统存储器可以存储一组指令,该组指令当由控制器11执行时,使系统10实现系统10的一个或多个组件、特征或方面(例如,逻辑13,其管理持久性存储介质12,向主机提供主机发起后续唤醒以进行对持久性存储介质12的数据管理的时间的指示,响应于主机发起的从零功率状态的唤醒而执行对持久性存储介质12的数据管理,等等)。
现在转到图2,电子装置15的实施例可以包括一个或多个衬底16,以及耦合到一个或多个衬底16的逻辑17。逻辑17可以被配置为管理持久性存储介质,向主机提供主机发起后续唤醒以进行对持久性存储介质的数据管理的时间的指示,并且响应于主机发起的从零功率状态的唤醒而执行对持久性存储介质的数据管理。在一些实施例中,数据管理可以对应于数据保留管理。例如,逻辑17可以被配置为响应于主机发起的从零功率状态的唤醒而向主机提供主机发起后续唤醒的时间的指示。
在一些实施例中,逻辑17可以被配置为响应于来自主机的信息查询而向主机提供主机发起后续唤醒的时间间隔的指示。例如,时间间隔可以对应于对持久性存储介质断电之后的时间量。在一些实施例中,逻辑17可以进一步被配置为在执行对持久性存储介质的数据管理之后向主机提供关闭请求。在一些实施例中,逻辑17还可以被配置为响应于来自主机的关闭请求而对持久性存储介质断电,并且响应于关闭请求而向主机提供主机发起后续唤醒的时间间隔的指示。另外地或可替代地,逻辑17可以被配置为主动地通知主机任何更新的唤醒时间要求。例如,逻辑17可以支持设备发起的对唤醒时间的更新,或者可以向主机提供时间间隔,而这不响应于任何外部事件。在本文的实施例中的任何实施例中,持久性存储介质可以包括SSD。
逻辑17的实施例可以在系统、装置、计算机、设备等(例如,本文描述的那些)中实现。更具体地,逻辑17的硬件实现方式可以包括诸如PLA、FPGA、CPLD之类的可配置逻辑,或者以使用诸如ASIC、CMOS或TTL技术之类的电路技术的固定功能逻辑硬件的形式,或其任何组合。可替代地或另外地,逻辑17可以在一个或多个模块中作为存储在机器或计算机可读存储介质(例如,RAM、ROM、PROM、固件、闪速存储器等)中以由处理器或计算设备执行的一组逻辑指令实现。例如,用于执行组件的操作的计算机程序代码可以以一种或多种OS适用/适合的编程语言的任何组合编写,包括面向对象的编程语言(例如,PYTHON、PERL、JAVA、SMALLTALK、C++、C#等),以及常规过程编程语言(例如,“C”编程语言或类似编程语言)。
例如,逻辑17可以在半导体装置上实现,该半导体装置可以包括一个或多个衬底16,其中逻辑17耦合到一个或多个衬底16。在一些实施例中,逻辑17可以至少部分地在(多个)半导体衬底(例如,硅、蓝宝石、砷化镓等)上以可配置逻辑和固定功能硬件逻辑中的一种或多种实现。例如,逻辑17可以包括耦合到(多个)衬底16的晶体管阵列和/或其他集成电路组件,其晶体管沟道区设置在(多个)衬底16内。逻辑17和(多个)衬底16之间的接口可能不是突变结。逻辑17也可以被认为包括在(多个)衬底16的初始晶片上生长的外延层。
现在转到图3A至图3C,管理存储装置的方法20的实施例可以包括:在框21处管理持久性存储介质,在框22处向主机提供主机发起后续唤醒以进行对持久性存储介质的数据管理的时间的指示,以及在框23处响应于主机发起的从零功率状态的唤醒而执行对持久性存储介质的数据管理。在一些实施例中,数据管理可以对应于数据保留管理。例如,方法20可以包括在框24处响应于主机发起的从零功率状态的唤醒而向主机提供主机发起后续唤醒的时间的指示。
在一些实施例中,方法20可以进一步包括在框25处响应于来自主机的信息查询而向主机提供主机发起后续唤醒的时间间隔的指示。例如,在框26处,时间间隔可以对应于对持久性存储介质断电之后的时间量。方法20的一些实施例还可以包括在框27处在执行对持久性存储介质的数据管理之后向主机提供关闭请求。方法20的一些实施例还可以包括:在框28处响应于来自主机的关闭请求而对持久性存储介质断电,并且在框29处响应于关闭请求而向主机提供主机发起后续唤醒的时间间隔的指示。另外地或可替代地,方法20包括主动地通知主机任何更新的唤醒时间要求。例如,方法20可以包括在框30处不响应于任何外部事件而向主机提供设备发起的对唤醒信息(例如,唤醒时间、时间间隔等)的更新。在本文的实施例中的任何实施例中,在框31处持久性存储介质可以包括SSD。
方法20的实施例可以在系统、装置、计算机、设备等(例如,本文描述的那些)中实现。更具体地,方法20的硬件实现方式可以包括诸如PLA、FPGA、CPLD之类的可配置逻辑,或者以使用诸如ASIC、CMOS或TTL技术之类的电路技术的固定功能逻辑硬件的形式,或其任何组合。可替代地或另外地,方法20可以在一个或多个模块中作为存储在机器或计算机可读存储介质(例如,RAM、ROM、PROM、固件、闪速存储器等)中以由处理器或计算设备执行的一组逻辑指令实现。例如,用于执行组件的操作的计算机程序代码可以以一种或多种OS适用/适合的编程语言的任何组合编写,包括面向对象的编程语言(例如,PYTHON、PERL、JAVA、SMALLTALK、C++、C#等),以及常规过程编程语言(例如,“C”编程语言或类似编程语言)。
例如,方法20可以在计算机可读介质上实现,如结合下面的示例22至示例28描述的。方法20的实施例或部分可以以固件、应用(例如,通过应用编程接口(API))或者在操作系统(OS)上运行的驱动软件实现。另外地,逻辑指令可以包括汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、状态设置数据、集成电路的配置数据、使电子电路和/或对硬件(例如,主机处理器、中央处理单元/CPU、微控制器等)而言在本地的其他结构组件个性化的状态信息。
一些实施例可以有利地提供用于经协商的上电以用于SSD上的数据刷新的技术。例如,在数据中心中,冷存储用例要求介质上的数据具有很长的保留(例如,最少5年)。然而,诸如NAND介质之类的SSD介质具有短得多(例如,通常为几天/月)的保留。对于暖/热用例,SSD可以通过定期的数据刷新/重定位来管理数据保留,这要求驱动器在后台执行大量的输入/输出(I/O)(例如,每隔几天重定位整个驱动器的内容)。对于暖/热用例,出于数据保留管理的目的,SSD可能保持上电,其中空闲状态可能消耗几瓦的功率。对于冷存储用例,最好在空闲时驱动器消耗零(0)功率。因此,利用常规的SSD技术进行冷存储的问题包括在空闲时的非零功率利用和/或主机不会知道或被配置为管理针对SSD数据刷新的各种时间限制。有利地,一些实施例可以克服常规的SSD技术的前述问题中的一个或多个。例如,一些实施例可以提供一种SSD设备,该SSD设备在空闲时变为零功率,但是即使在主机I/O不是必要的时也在要求维持保留时上电并执行数据重定位。
一些实施例可以提供用于SSD与主机协商唤醒频率并且稍后还请求关闭的技术。然后,主机可以在预先协商的时间对SSD上电。当醒着的时候,SSD可以随后执行内部介质管理操作,然后请求关闭。由SSD发起的此类关闭请求可以可选地指定持续时间,在该持续时间之后,SSD期望主机再次唤醒SSD。可以用HIPM(主机发起的功率管理)技术和/或DIPM(设备发起的功率管理)技术来实现实施例。可以将适当配置的SSD与主机平台一起使用,以使低成本、高容量的NAND SSD能够有利地用于需要长保留但需要零空闲功率的冷存储。
参考图4,用于管理SSD的进程流程40的实施例在一侧示出了主机动作而在另一侧示出了SSD动作,其中时间垂直向下增加。在箭头1a处,主机对SSD上电,并且执行帮助主机检测设备特性(例如,容量、命名空间的数量等)的“识别”类型操作。SSD初始化,并且对于响应中的一个,在箭头1b处,SSD向主机提供请求主机在SSD的任何关闭后Tpower-up秒对设备上电的值。在一些实施例中,可以通过对识别命令/响应的扩展来实现Tpower-up更新。另外地或可替代地,可以实现新命令以提供Tpower-up更新。箭头2a和2b示出了主机和SSD如何可以执行I/O和其他操作(例如,修剪(trim)、管理命令等)。在SSD醒着的所有时间,SSD可以执行介质管理。当SSD上电时,如箭头1a、1b,箭头2a、2b和箭头3a之间所示,SSD可以执行介质管理操作,包括数据保留管理。类似地,SSD可以在SSD没有被关掉时的其他时间段执行介质管理。
在一些实施例中,如箭头3a处所示,主机可以基于常规的存储管理技术(例如,HIPM技术),或者如果在延长的时间量内没有预期I/O操作,则关闭SSD。作为关闭完成的一部分,如箭头3b处所示,SSD可以将更新的Tpower-up值发送到主机。在一些实施例中,可以通过对关闭命令/响应对的扩展来实现Tpower-up更新。另外地或可替代地,可以实现在关闭之前的新命令以提供Tpower-up更新。
在箭头4a处,无论主机是否需要执行I/O或其他操作,主机都会在上一次关闭的Tpower-up秒内对SSD上电。例如,主机可以利用计时器、计数器或任何常规的时间/事件管理技术来对何时应当执行这种主机发起的上电保持跟踪。由于SSD将其作为上电接收,因此SSD可以在箭头4b处提供更新的Tpower-up值。然后,SSD根据需要执行介质管理操作(例如,包括数据重定位/刷新),以提供SSD的保留特性。在SSD已经完成介质管理操作之后,并且如果在此期间没有主机I/O,则SSD可以在箭头5a处请求主机关闭SSD。例如,可以使用DIPM技术来实现设备发起的关闭。在箭头5b处,主机将关闭请求发送到SSD,并且在箭头5c处,SSD此时可以(例如,使用命令扩展或新命令)向主机提供更新的Tpower-up值。
本领域技术人员将理解,进程流程40仅是出于说明而非限制的目的而提供的一个示例。例如,SSD可以不响应于主机发起的事件而主动地向主机提供更新的Tpower-up值。例如,SSD的可靠性和/或耐久性特性可能会随时间变化。可以由SSD检测或确定这样的变化(例如,在介质管理期间),这可以使SSD更新Tpower-up值并将更新后的值提供给主机。在另一个示例中,SSD可以识别出它已经在一时间段(例如,该时间段可以是固定的或动态设置的)内未接收到I/O,并且请求主机主动地关闭SSD(例如,箭头3a可以通过预先通知主机由SSD发起)。鉴于本说明书和附图的益处,本领域技术人员将想到许多其他示例。
可以在各种计算系统(例如,包括诸如台式机、工作站、服务器、机架系统等的非移动计算设备,诸如智能电话、平板电脑、超移动个人计算机(UMPC)、膝上型计算机、ULTRABOOK计算设备、智能手表、智能眼镜、智能手环等的移动计算设备,和/或诸如物联网(IoT)设备(例如,传感器、相机等)的客户端/边缘设备)中提供本文所讨论的技术。
现在转到图5,计算系统100的实施例可以包括一个或多个处理器102-1至102-N(在本文中一般称为“多个处理器102”或“处理器102”)。处理器102可以经由互连或总线104进行通信。每个处理器102可以包括各种组件,为清楚起见仅参考处理器102-1讨论这些组件中的一些。因此,其余处理器102-2至102-N中的每一个可以包括参考处理器102-1讨论的相同或相似的组件。
在一些实施例中,处理器102-1可以包括一个或多个处理器核心106-1至106-M(在本文中称为“多个核心106”,或更一般地称为“核心106”)、高速缓存108(在各个实施例中其可以是共享高速缓存或专用高速缓存)和/或路由器110。处理器核心106可以在单个集成电路(IC)芯片上实现。此外,该芯片可以包括一个或多个共享和/或专用的高速缓存(例如,高速缓存108)、总线或互连(例如,总线或互连112)、逻辑170、存储器控制器或其他组件。
在一些实施例中,路由器110可以用于在处理器102-1和/或系统100的各种组件之间进行通信。此外,处理器102-1可以包括一个以上的路由器110。此外,多个路由器110可以通信以实现处理器102-1内部或外部的各种组件之间的数据路由。
高速缓存108可以存储由处理器102-1的一个或多个组件(例如,核心106)利用的数据(例如,包括指令)。例如,高速缓存108可以在本地缓存存储在存储器114中的数据以供处理器102的组件更快地访问。如图5所示,存储器114可以经由互连104与处理器102通信。在一些实施例中,高速缓存108(可以被共享)可以具有各种级别,例如,高速缓存108可以是中间级别的高速缓存,和/或最后一级高速缓存(LLC)。另外,核心106中的每一个可以包括1级(L1)高速缓存(116-1)(在本文中一般称为“L1高速缓存116”)。处理器102-1的各种组件可以直接地、通过总线(例如,总线112)和/或存储器控制器或中心与高速缓存108通信。
如图5所示,存储器114可以通过存储器控制器120耦合到系统100的其他组件。存储器114可以包括易失性存储器,并且可以可互换地称为主存储器或系统存储器。即使存储器控制器120被示出为耦合在互连104和存储器114之间,存储器控制器120也可以位于系统100中的其他地方。例如,在一些实施例中,存储器控制器120或其部分可以设置在处理器102之一内。
系统100可以经由网络接口128(例如,其经由有线或无线接口与计算机网络和/或云129通信)与其他设备/系统/网络通信。例如,网络接口128可以包括用于无线地(例如,经由电气和电子工程师协会(IEEE)802.11接口(包括IEEE 802.11a/b/g/n/ac等)、蜂窝接口、3G、4G、LTE、蓝牙等)与网络/云129通信的天线(未示出)。
系统100还可以包括存储设备,例如,经由SSD控制器逻辑125耦合到互连104的SSD设备130。因此,逻辑125可以控制系统100的各种组件对SSD设备130的访问。此外,即使在图5中逻辑125被示出为直接耦合到互连104,逻辑125也可以可替代地经由存储总线/互连(例如,SATA(串行高级技术附件)总线、外围组件互连(PCI)(或PCI EXPRESS(PCIe)接口)、NVMEXPRESS(NVMe)等)与系统100的一个或多个其他组件进行通信(例如,其中存储总线经由某种其他逻辑(例如,总线桥、芯片组等)耦合到互连104)。另外,在各种实施例中,逻辑125可以合并到存储器控制器逻辑(例如,参考图6讨论的那些)中或设置在同一集成电路(IC)设备上(例如,在与SSD设备130相同的电路板设备上或在与SSD设备130相同的外壳中)。
此外,逻辑125和/或SSD设备130可以耦合到一个或多个传感器(未示出)以接收用于指示由一个或多个传感器检测到的状态或值的信息(例如,以一个或多个位或信号的形式)。可以靠近系统100(或本文讨论的其他计算系统)的组件(包括核心106、互连104或112、处理器102之外的组件、SSD设备130、SSD总线、SATA总线、逻辑125、逻辑160、逻辑170等)来设置这些传感器,以感测影响系统/平台的功率/热行为的各种因素(例如,温度、操作频率、操作电压、功耗和/或核心间通信活动等)的变化。
图6示出了根据实施例的SSD设备130的各种组件的框图。如图6所示,逻辑160可以位于诸如SSD设备130或控制器382等内部的各种位置,并且可以包括与结合图5所讨论的类似的技术。SSD设备130包括控制器382(其进而包括一个或多个处理器核心或处理器384和存储器控制器逻辑386)、高速缓存138、RAM 388、固件存储装置390以及一个或多个存储器设备392-1至392-N(统称为存储器392,其可以包括3D交叉点或其他类型的非易失性存储器)。存储器392经由一个或多个存储器通道或总线耦合到存储器控制器逻辑386。另外,SSD设备130经由接口(例如,SATA、SAS、PCIe、NVMe等接口)与逻辑125通信。处理器384和/或控制器382可以压缩/解压缩写入存储器设备392-1至392-N或从存储器设备392-1至392-N读取的数据。
如图5和图6所示,SSD设备130可以包括逻辑160,逻辑160可以与SSD设备130在同一外壳中和/或完全集成在SSD设备130的印刷电路板(PCB)上。系统100可以包括在SSD设备130外部的另外的逻辑170。可以通过图5和/或图6的组件中的一个或多个来执行参考图1-4讨论的特征/方面/操作中的一个或多个。另外,可以将图1-4的特征/方面/操作中的一个或多个编程到固件390中。此外,SSD控制器逻辑125也可以包括逻辑160。有利地,逻辑160和/或逻辑170可以包括用于实现系统10(图1)、装置15(图2)、方法20(图3A至图3C)、进程流程40(图4)和/或本文讨论的特征中的任何特征的一个或多个方面的技术。例如,逻辑170可以包括用于实现本文描述的各个实施例的主机设备/计算机系统/代理方面的技术,而逻辑160可以包括用于实现本文描述的各个实施例的存储设备方面的技术。
特别地,逻辑160可以被配置为管理SSD 130,向主机处理器102提供主机处理器102发起后续唤醒以进行对SSD 130的数据管理的时间的指示,以及响应于主机发起的从零功率状态的唤醒而执行对SSD 130的数据管理。在一些实施例中,数据管理可以对应于数据保留管理。例如,逻辑160可以被配置为响应于主机发起的从零功率状态的唤醒而向主机处理器102提供主机处理器102发起后续唤醒的时间的指示。逻辑170可以被配置为跟踪/监视自SSD 130关闭以来的时间,并且根据逻辑160提供的对时间的指示使主机处理器102对SSD130上电。
在一些实施例中,逻辑160可以被配置为响应于来自主机处理器102的信息查询而向主机处理器102提供主机处理器102发起后续唤醒的时间间隔的指示。例如,该时间间隔可以对应于对SSD 130断电之后的时间量。在一些实施例中,逻辑160可以进一步被配置为在执行对SSD 130的数据管理之后向主机处理器102提供关闭请求。在一些实施例中,逻辑160还可以被配置为响应于来自主机处理器102的关闭请求而对SSD 130断电,并且响应于关闭请求而向主机处理器102提供主机处理器102发起后续唤醒的时间间隔的指示。另外地或可替代地,逻辑13可以被配置为主动地通知主机处理器102任何更新的唤醒时间要求。例如,逻辑160可以支持设备发起的对唤醒时间的更新,或者可以向主机处理器102提供时间间隔,而这不响应于任何外部事件。
在其他实施例中,SSD设备130可以用任何合适的存储/存储器技术/介质代替。在一些实施例中,逻辑160/170可以耦合到一个或多个衬底(例如,硅、蓝宝石、砷化镓、印刷电路板(PCB)等),并且可以包括设置在一个或多个衬底内的晶体管沟道区。在其他实施例中,SSD设备130可以包括两种或更多种类型的存储介质。例如,大部分存储装置可以是NAND,并且可以进一步包括一些更快、更小粒度可访问的(例如,字节可寻址的)NVM,例如,INTEL3DXP介质。SSD设备130可以可替代地或另外地包括持久易失性存储器(例如,电池或电容器后备的DRAM或SRAM)。例如,SSD设备130可以包括具有能量存储电容器的断电迫近(PLI)技术。能量存储电容器可以提供足够的能量(功率)以完成正在进行的任何命令,并且确保DRAM/SRAM中的任何数据被提交给非易失性NAND介质。电容器可以用作持久易失性存储器的后备电池。如图5所示,逻辑160和/或逻辑170的特征或方面可以分布在整个系统100中,和/或与系统100的各种组件位于同一位置/集成。
附加说明和示例
示例1包括一种电子装置,其包括:一个或多个衬底以及耦合到一个或多个衬底的逻辑,该逻辑用于:管理持久性存储介质,向主机提供主机发起后续唤醒以进行对持久性存储介质的数据管理的时间的指示,以及响应于主机发起的从零功率状态的唤醒而执行对持久性存储介质的数据管理。
示例2包括示例1的装置,其中,该逻辑还用于响应于主机发起的从零功率状态的唤醒而向主机提供主机发起后续唤醒的时间的指示。
示例3包括示例1至2中的任一个的装置,其中,该逻辑还用于响应于来自主机的信息查询而向主机提供主机发起后续唤醒的时间间隔的指示。
示例4包括示例3的装置,其中,时间间隔对应于在对持久性存储介质断电之后的时间量。
示例5包括示例1至4中的任一个的装置,其中,该逻辑还用于在对持久性存储介质的数据管理被执行之后向主机提供关闭请求。
示例6包括示例1至5中的任一个的装置,其中,该逻辑还用于:响应于来自主机的关闭请求而对持久性存储介质断电,并且响应于关闭请求而向主机提供主机发起后续唤醒的时间间隔的指示。
示例7包括示例1至6中的任一个的装置,其中,持久性存储介质包括固态驱动器。
示例8包括一种电子系统,其包括:持久性存储介质以及通信地耦合到持久性存储介质的控制器,该控制器包括逻辑,该逻辑用于:管理持久性存储介质,向主机提供主机发起后续唤醒以进行对持久性存储介质的数据管理的时间的指示,以及响应于主机发起的从零功率状态的唤醒而执行对持久性存储介质的数据管理。
示例9包括示例8的系统,其中,该逻辑还用于响应于主机发起的从零功率状态的唤醒而向主机提供主机发起后续唤醒的时间的指示。
示例10包括示例8至9中的任一个的系统,其中,该逻辑还用于响应于来自主机的信息查询而向主机提供主机发起后续唤醒的时间间隔的指示。
示例11包括示例10的系统,其中,时间间隔对应于在对持久性存储介质断电之后的时间量。
示例12包括示例8至11中的任一个的系统,其中,该逻辑还用于在对持久性存储介质的数据管理被执行之后向主机提供关闭请求。
示例13包括示例8至12中的任一个的系统,其中,该逻辑还用于:响应于来自主机的关闭请求而对持久性存储介质断电,并且响应于关闭请求而向主机提供主机发起后续唤醒的时间间隔的指示。
示例14包括示例8至13中的任一个的系统,其中,持久性存储介质包括固态驱动器。
示例15包括一种管理存储装置的方法,其包括:管理持久性存储介质,向主机提供主机发起后续唤醒以进行对持久性存储介质的数据管理的时间的指示,以及响应于主机发起的从零功率状态的唤醒而执行对持久性存储介质的数据管理。
示例16包括示例15的方法,还包括响应于主机发起的从零功率状态的唤醒而向主机提供主机发起后续唤醒的时间的指示。
示例17包括示例15至16中的任一个的方法,还包括响应于来自主机的信息查询而向主机提供主机发起后续唤醒的时间间隔的指示。
示例18包括示例17的方法,其中,时间间隔对应于在对持久性存储介质断电之后的时间量。
示例19包括示例15至18中的任一个的方法,还包括在对持久性存储介质的数据管理被执行之后向主机提供关闭请求。
示例20包括示例15至19中的任一个的方法,还包括:响应于来自主机的关闭请求而对持久性存储介质断电,以及响应于关闭请求而向主机提供主机发起后续唤醒的时间间隔的指示。
示例21包括示例15至20中的任一个的方法,其中,持久性存储介质包括固态驱动器。
示例22包括至少一种非暂时性机器可读介质,其包括多个指令,该指令响应于在计算设备上执行,使计算设备管理持久性存储介质,向主机提供主机发起后续唤醒以进行对持久性存储介质的数据管理的时间的指示,并且响应于主机发起的从零功率状态的唤醒而执行对持久性存储介质的数据管理。
示例23包括示例22的至少一种非暂时性机器可读介质,包括多个另外的指令,该指令响应于在计算设备上执行,使计算设备响应于主机发起的从零功率状态的唤醒而向主机提供主机发起后续唤醒的时间的指示。
示例24包括示例22至23中的任一个的至少一种非暂时性机器可读介质,包括多个另外的指令,该指令响应于在计算设备上执行,使计算设备响应于来自主机的信息查询而向主机提供主机发起后续唤醒的时间间隔的指示。
示例25包括示例24的至少一种非暂时性机器可读介质,其中,时间间隔对应于持久性存储介质断电后的时间量。
示例26包括示例22至25中的任一个的至少一种非暂时性机器可读介质,包括多个另外的指令,该指令响应于在计算设备上执行,使计算设备在对持久性存储介质的数据管理被执行之后向主机提供关闭请求。
示例27包括示例22至26中的任一个的至少一种非暂时性机器可读介质,包括多个另外的指令,该指令响应于在计算设备上执行,使计算设备响应于来自主机的关闭请求而对持久性存储介质断电,并且响应于关闭请求而向主机提供主机发起后续唤醒的时间间隔的指示。
示例28包括示例22至27中的任一个的至少一种非暂时性机器可读介质,其中,持久性存储介质包括固态驱动器。
示例29包括一种存储管理器装置,其包括:用于管理持久性存储介质的单元,用于向主机提供主机发起后续唤醒以进行对持久性存储介质的数据管理的时间的指示的单元,以及用于响应于主机发起的从零功率状态的唤醒而执行对持久性存储介质的数据管理的单元。
示例30包括示例29的装置,还包括用于响应于主机发起的从零功率状态的唤醒而向主机提供主机发起后续唤醒的时间的指示的单元。
示例31包括示例29至30中的任一个的装置,还包括用于响应于来自主机的信息查询而向主机提供主机发起后续唤醒的时间间隔的指示的单元。
示例32包括示例31的装置,其中,时间间隔对应于在对持久性存储介质断电之后的时间量。
示例33包括示例29至32中的任一个的装置,还包括用于在对持久性存储介质的数据管理被执行之后向主机提供关闭请求的单元。
示例34包括示例29至33中的任一个的装置,还包括:用于响应于来自主机的关闭请求而对持久性存储介质断电的单元,以及用于响应于关闭请求而向主机提供主机发起后续唤醒的时间间隔的指示的单元。
示例35包括示例29至34中的任一个的装置,其中,持久性存储介质包括固态驱动器。
术语“耦合”可以在本文中用于指代讨论中的组件之间的任何类型的关系(直接的或间接的),并且可以应用于电气、机械、流体、光学、电磁、机电或其他连接。另外地,术语“第一”、“第二”等可以在本文中仅用于促进讨论,并且除非另有指示,否则不带有特定时间或时序意义。
如在本申请和权利要求书中使用的,由术语“……中的一个或多个”连接的项目列表可以表示所列术语的任何组合。例如,短语“A,B和C中的一个或多个”以及短语“A,B或C中的一个或多个”两者都可以表示A;B;C;A和B;A和C;B和C;或A,B和C。可以以软件、固件和/或硬件和/或其任何组合来实现本文描述的系统的各种组件。例如,本文所讨论的系统或设备的各种组件可以至少部分地由例如可以在诸如智能电话之类的计算系统中找到的计算SoC的硬件来提供。本领域技术人员可以认识到,本文描述的系统可以包括在对应附图中未描绘的附加组件。例如,本文讨论的系统可以包括为了清楚起见未描绘的诸如比特流复用器或解复用器模块等之类的附加组件。
尽管本文讨论的示例进程的实现方式可以包括以所示顺序来执行示出的所有操作,但是本公开不限于此,并且在各种示例中,本文的示例进程的实现方式可以仅包括所示操作的子集,以与所示顺序不同的顺序执行的操作,或附加操作。
另外,可以响应于由一个或多个计算机程序产品提供的指令来执行本文讨论的操作中的任何一个或多个操作。这样的程序产品可以包括提供指令的信号承载介质,该指令在例如由处理器执行时可以提供本文描述的功能。可以以一种或多种机器可读介质的任何形式来提供计算机程序产品。因此,例如,包括一个或多个图形处理单元或处理器核心的处理器可以响应于通过一种或多种机器可读介质传递给处理器的程序代码和/或指令或指令集来执行本文示例进程的框中的一个或多个框。通常,机器可读介质可以以程序代码和/或指令或指令集的形式传递软件,该程序代码和/或指令或指令集可以使本文描述的设备和/或系统中的任一个实现本文讨论的操作的至少一部分和/或如本文讨论的设备、系统或任何模块或组件的任何部分。
如本文描述的任何实现方式中所使用的,术语“模块”是指被配置为提供本文描述的功能的软件逻辑、固件逻辑、硬件逻辑和/或电路的任何组合。软件可以体现为软件包、代码和/或指令集或指令,并且如在本文描述的任何实现方式中使用的“硬件”可以例如单独地或以任何组合包括硬接线电路、可编程电路、状态机电路、固定功能电路、执行单元电路和/或存储由可编程电路执行的指令的固件。模块可以共同地或单独地体现为形成较大系统(例如,集成电路(IC)、片上系统(SoC)等)的一部分的电路。
可以使用硬件元件、软件元件或两者的组合来实现各种实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、程序、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件来实现实施例可以根据许多因素而变化,例如,期望的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能限制。
至少一个实施例的一个或多个方面可以通过存储在表示处理器内的各种逻辑的机器可读介质上的表示指令来实现,该指令当由机器读取时,使机器制造逻辑以执行本文描述的技术。可以将这样的表示(称为IP核心)存储在有形的机器可读介质上并提供给各种客户或制造设施,以加载到实际制造逻辑或处理器的制造机器中。
尽管已经参考各种实现方式描述了本文阐述的某些特征,但是该描述并非旨在以限制性的意义来解释。因此,对于本公开所属领域的技术人员而言显而易见的是,本文描述的实现方式以及其他实现方式的各种修改被认为落在本公开的精神和范围内。
将认识到,实施例不限于如此描述的实施例,而是可以在不脱离所附权利要求的范围的情况下以修改和更改来实践。例如,以上实施例可以包括特征的特定组合。然而,以上实施例不限于此,并且在各种实现方式中,以上实施例可以包括仅执行这种特征的子集,执行这种特征的不同顺序,执行这种特征的不同组合,和/或除了明确列出的那些特征之外,还执行附加特征。因此,应当参考所附权利要求以及这些权利要求所享有的等同物的全部范围来确定实施例的范围。
Claims (25)
1.一种电子装置,包括:
一个或多个衬底;以及
耦合到所述一个或多个衬底的逻辑,所述逻辑用于:
管理持久性存储介质,
向主机提供所述主机发起后续唤醒以进行对所述持久性存储介质的数据管理的时间的指示,以及
响应于主机发起的从零功率状态的唤醒而执行对所述持久性存储介质的数据管理。
2.根据权利要求1所述的装置,其中,所述逻辑还用于:
响应于所述主机发起的从所述零功率状态的唤醒而向所述主机提供所述主机发起所述后续唤醒的所述时间的所述指示。
3.根据权利要求1至2中任一项所述的装置,其中,所述逻辑还用于:
响应于来自所述主机的信息查询而向所述主机提供所述主机发起所述后续唤醒的时间间隔的指示。
4.根据权利要求3所述的装置,其中,所述时间间隔对应于在对所述持久性存储介质断电之后的时间量。
5.根据权利要求1至2中任一项所述的装置,其中,所述逻辑还用于:
在对所述持久性存储介质的所述数据管理被执行之后向所述主机提供关闭请求。
6.根据权利要求1至2中任一项所述的装置,其中,所述逻辑还用于:
响应于来自所述主机的关闭请求而对所述持久性存储介质断电;以及
响应于所述关闭请求而向所述主机提供所述主机发起所述后续唤醒的时间间隔的指示。
7.一种电子系统,包括:
持久性存储介质;以及
通信地耦合到所述持久性存储介质的控制器,所述控制器包括逻辑,所述逻辑用于:
管理所述持久性存储介质,
向主机提供所述主机发起后续唤醒以进行对所述持久性存储介质的数据管理的时间的指示,以及
响应于主机发起的从零功率状态的唤醒而执行对所述持久性存储介质的数据管理。
8.根据权利要求7所述的系统,其中,所述逻辑还用于:
响应于所述主机发起的从所述零功率状态的唤醒而向所述主机提供所述主机发起所述后续唤醒的所述时间的所述指示。
9.根据权利要求7至8中任一项所述的系统,其中,所述逻辑还用于:
响应于来自所述主机的信息查询而向所述主机提供所述主机发起所述后续唤醒的时间间隔的指示。
10.根据权利要求9所述的系统,其中,所述时间间隔对应于在对所述持久性存储介质断电之后的时间量。
11.根据权利要求7至8中任一项所述的系统,其中,所述逻辑还用于:
在对所述持久性存储介质的所述数据管理被执行之后向所述主机提供关闭请求。
12.根据权利要求7至8中任一项所述的系统,其中,所述逻辑还用于:
响应于来自所述主机的关闭请求而对所述持久性存储介质断电;以及
响应于所述关闭请求而向所述主机提供所述主机发起所述后续唤醒的时间间隔的指示。
13.根据权利要求7至8中任一项所述的系统,其中,所述持久性存储介质包括固态驱动器。
14.一种管理存储装置的方法,包括:
管理持久性存储介质;
向主机提供所述主机发起后续唤醒以进行对所述持久性存储介质的数据管理的时间的指示;以及
响应于主机发起的从零功率状态的唤醒而执行对所述持久性存储介质的数据管理。
15.根据权利要求14所述的方法,还包括:
响应于所述主机发起的从所述零功率状态的唤醒而向所述主机提供所述主机发起所述后续唤醒的所述时间的所述指示。
16.根据权利要求14至15中任一项所述的方法,还包括:
响应于来自所述主机的信息查询而向所述主机提供所述主机发起所述后续唤醒的时间间隔的指示。
17.根据权利要求16所述的方法,其中,所述时间间隔对应于在对所述持久性存储介质断电之后的时间量。
18.根据权利要求14至15中任一项所述的方法,还包括:
在对所述持久性存储介质的所述数据管理被执行之后向所述主机提供关闭请求。
19.根据权利要求14至15中任一项所述的方法,还包括:
响应于来自所述主机的关闭请求而对所述持久性存储介质断电;以及
响应于所述关闭请求而向所述主机提供所述主机发起所述后续唤醒的时间间隔的指示。
20.一种存储管理器装置,包括:
用于管理持久性存储介质的单元;
用于向主机提供所述主机发起后续唤醒以进行对所述持久性存储介质的数据管理的时间的指示的单元;以及
用于响应于主机发起的从零功率状态的唤醒而执行对所述持久性存储介质的数据管理的单元。
21.根据权利要求20所述的装置,还包括:
用于响应于所述主机发起的从所述零功率状态的唤醒而向所述主机提供所述主机发起所述后续唤醒的所述时间的所述指示的单元。
22.根据权利要求20至21中任一项所述的装置,还包括:
用于响应于来自所述主机的信息查询而向所述主机提供所述主机发起所述后续唤醒的时间间隔的指示的单元。
23.根据权利要求22所述的装置,其中,所述时间间隔对应于在对所述持久性存储介质断电之后的时间量。
24.根据权利要求20至21中任一项所述的装置,还包括:
用于在对所述持久性存储介质的所述数据管理被执行之后向所述主机提供关闭请求的单元。
25.根据权利要求20至21中任一项所述的装置,还包括:
用于响应于来自所述主机的关闭请求而对所述持久性存储介质断电的单元;以及
用于响应于所述关闭请求而向所述主机提供所述主机发起所述后续唤醒的时间间隔的指示的单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/812,026 US20200210207A1 (en) | 2020-03-06 | 2020-03-06 | Negotiated power-up for ssd data refresh |
US16/812,026 | 2020-03-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113360193A true CN113360193A (zh) | 2021-09-07 |
Family
ID=71121810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011488793.8A Pending CN113360193A (zh) | 2020-03-06 | 2020-12-16 | 用于ssd数据刷新的经协商的上电 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200210207A1 (zh) |
EP (1) | EP3876088A1 (zh) |
CN (1) | CN113360193A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11422825B2 (en) | 2020-12-30 | 2022-08-23 | Kioxia Corporation | Determination of power-off duration of NVMe SSD |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8843700B1 (en) * | 2013-11-29 | 2014-09-23 | NXGN Data, Inc. | Power efficient method for cold storage data retention management |
-
2020
- 2020-03-06 US US16/812,026 patent/US20200210207A1/en not_active Abandoned
- 2020-12-16 CN CN202011488793.8A patent/CN113360193A/zh active Pending
- 2020-12-18 EP EP20215678.2A patent/EP3876088A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20200210207A1 (en) | 2020-07-02 |
EP3876088A1 (en) | 2021-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797433B2 (en) | Zoned namespace with zone grouping | |
US20200089407A1 (en) | Inter zone write for zoned namespaces | |
US11119672B2 (en) | Dynamic single level cell memory controller | |
US10949120B2 (en) | Host defined bandwidth allocation for SSD tasks | |
EP3705979B1 (en) | Ssd restart based on off-time tracker | |
US20200363998A1 (en) | Controller and persistent memory shared between multiple storage devices | |
US20230099202A1 (en) | Ssd with reduced secure erase time and endurance stress | |
US20210117123A1 (en) | Accelerated raid rebuild offload | |
EP4060474A1 (en) | Shallow hibernate power state | |
EP3699747A1 (en) | Raid aware drive firmware update | |
WO2022232177A1 (en) | Dynamic program suspend disable for random write ssd workload | |
CN114064515A (zh) | 具有任意传输长度的ssd管理的主机写入原子性 | |
EP3876088A1 (en) | Negotiated power-up for ssd data refresh | |
US20230305954A1 (en) | Direct map memory extension for storage class memory | |
US11145389B2 (en) | Detection and error-handling of high error rate blocks during copyback | |
US20230115831A1 (en) | Storage device with client reconfigurable protocol | |
CN115794694A (zh) | 存储器设备可管理性总线 | |
US20220004335A1 (en) | Read disturb tracking based on statistical probability | |
US11971782B2 (en) | On-SSD erasure coding with uni-directional commands | |
US20220171551A1 (en) | Available memory optimization to manage multiple memory channels | |
US20220091934A1 (en) | Adaptive device data correction with increased memory failure handling | |
EP4020482A1 (en) | Persistent data structure to track and manage ssd defects at sub-block granularity |
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 |