CN111382465A - 用以避免存储装置复位中的数据丢失的复位拦截 - Google Patents

用以避免存储装置复位中的数据丢失的复位拦截 Download PDF

Info

Publication number
CN111382465A
CN111382465A CN201911402173.5A CN201911402173A CN111382465A CN 111382465 A CN111382465 A CN 111382465A CN 201911402173 A CN201911402173 A CN 201911402173A CN 111382465 A CN111382465 A CN 111382465A
Authority
CN
China
Prior art keywords
storage device
reset
controller
volatile memory
memory
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
CN201911402173.5A
Other languages
English (en)
Other versions
CN111382465B (zh
Inventor
D·A·帕尔默
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 CN111382465A publication Critical patent/CN111382465A/zh
Application granted granted Critical
Publication of CN111382465B publication Critical patent/CN111382465B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请案涉及用以避免存储装置复位中的数据丢失的复位拦截。揭示设备和方法,包含控制器电路、易失性存储器、非易失性存储器和复位电路,其中所述复位电路经配置以从主机装置接收复位信号并致动计时器电路。所述计时器电路,其中所述计时器电路经配置以致使存储装置在阈值时间段之后复位。所述复位电路经进一步配置以致动所述控制器电路以在复位所述存储装置之前将存储在所述易失性存储器中的数据写入到所述非易失性存储器。

Description

用以避免存储装置复位中的数据丢失的复位拦截
技术领域
本发明的实施例大体上涉及计算机存储系统,更特定来说但非限制性地,涉及拦截复位信号以延迟复位事件,以避免存储装置复位中的数据丢失。
背景技术
计算机存储系统可以使用一或多个数据存储装置来存储或检索由主机计算系统生成或对其进行操作的数据。此类存储装置可以包含一或多个存储控制器,其使用固件和硬件组件的组合来促进数据在主机计算系统和与存储装置相关联的存储媒体之间的移动。然而,存储装置可能会死锁,或可能在其它方面以可能导致存储装置对主机计算系统发出的命令不响应的方式发生故障。为了增强计算系统的可靠性,存储装置可以在功能上并入响应于从主机系统接收到复位信号而复位这些装置。
发明内容
本发明的一个方面提供一种存储装置,其中所述存储装置包括:控制器电路,其包括易失性存储器;非易失性存储器;及复位电路,所述复位电路经配置以:从主机装置接收复位信号;致动计时器电路,所述计时器电路经配置以致使所述存储装置在阈值时间段之后复位;及在所述阈值时间段期间,致动所述控制器电路以将存储在所述易失性存储器中的数据写入到所述非易失性存储器。
本发明的另一方面提供一种方法,其中所述方法包括:在存储装置处接收复位信号;在接收到所述复位信号之后,所述存储装置在复位所述存储装置之前计数达阈值时间段;及在接收到所述复位信号之后且在所述阈值时间段期间,在复位所述存储装置之前,将存储在所述存储装置的易失性存储器中的数据写入到所述存储装置的非易失性存储器。
本发明的另一方面提供一种机器可读存储媒体,其中所述机器可读存储媒体提供指令,所述指令在由存储装置的控制器执行时致使所述存储装置执行包括以下的操作:接收复位信号;在接收到所述复位信号之后,在复位所述存储装置之前计数达阈值时间段;及在接收到所述复位信号之后且在所述阈值时间段期间,在复位所述存储装置之前,将存储在所述存储装置的易失性存储器中的数据写入到所述存储装置的非易失性存储器。
附图说明
在图式(其未必按比例绘制)中,相似编号可在不同视图中描述类似组件。具有不同字母后缀的相似编号可表示类似组件的不同例子。图式通常以实例方式而非限制方式说明本文件中所论述的各种实施例。
图1根据本发明的实例说明包含主机装置和存储系统的实例主机系统。
图2根据本发明的实例说明用于拦截来自主机装置的复位信号以避免存储装置复位中的数据丢失的进程的实例。
图3根据本发明的实例说明用于对复位信号作出响应以避免存储装置复位中的数据丢失的进程的实例。
图4根据本发明的实例说明具有数据存储系统的计算机系统的实例,所述数据存储系统用以执行本文中所论述的进程或技术中的任何一或多个。
具体实施方式
本发明的各方面旨在限制或减少在存储装置复位期间存储系统中的数据丢失。在操作中,存储装置可以从主机装置接收数据以写入到存储媒体。将此数据直接写入到存储媒体可能是昂贵的,例如在时间、能量和用于执行写入操作的其它计算资源方面。在实例中,存储装置可以包含具有作为存储媒体的快闪存储器单元阵列的固态驱动器(SSD)。对快闪存储器单元阵列的每次写入可能消耗大量时间和能量,因为此类写入操作可能需要向所述阵列呈现写入数据达指定阈值时间同时以相对高的电压致动单元。此外,部分写入(例如未包含足够数据以将串填充到指定长度的存储器单元的写入操作)可能浪费存储空间,而频繁写入可能减少存储媒体的使用寿命。存储装置可能通过将从主机装置接收到的写入数据暂时存储在存储器缓冲区、高速缓冲存储器或其它易失性存储器(下文中统称为“写高速缓冲存储器”)中来减少与执行此类写入操作相关联的成本。然后可以在一或多种存储或高速缓冲存储器管理算法指定的时间将写入高速缓冲存储器中的数据写入到存储媒体。
在一些情况下,存储装置可能发生故障,或可能在其它方面被认为对主机命令无响应。在这些情况下,主机装置可以向存储装置传输复位信号,以致使存储装置执行复位。出于本描述的目的,复位操作为明确导致转储清除写入高速缓冲存储器内的任何数据,或固有地造成写入高速缓冲存储器内的数据丢失的风险的操作。执行复位可以包含立即复位内部逻辑电路、存储器电路(例如,易失性存储器电路)和/或存储装置的其它组件,以将存储装置置于指定的操作状态。在一些情况下,主机装置可以触发正常运行的存储装置中的复位,例如仍处于由其存储控制器执行的编程固件控制下的存储装置。当存储装置执行复位时,存储在这些装置的写入高速缓冲存储器中并等待写入到存储媒体的数据可能会丢失。
本发明的各方面基于发明人的认识,即可以通过拦截由主机装置传输的复位信号并致使存储装置在执行复位之前将未写入数据写入到存储媒体来保留存储在运行中存储装置的写入高速缓冲存储器中的未写入数据。因此,本发明包含用于拦截复位信号以限制或避免存储装置复位中的数据丢失的技术(例如,系统、方法、机器可读存储媒体)。此类技术可以包含拦截由主机装置传输到存储装置的复位信号,例如以防止存储装置立即执行复位。此类技术还可以包含启动计时器以将复位延迟指定或阈值时间量。此类技术还可以包含例如响应于接收到复位信号或响应于启动计时器,触发处理器中断以便致使存储控制器或与存储装置相关联的其它控制电路禁用计时器,将未写入数据写入到存储媒体,并在写入未写入数据之后执行复位(例如,软复位或硬复位)。
图1根据本发明的实例说明包含主机装置105和存储系统110的实例主机系统100。主机系统100可以为配置有生成、存储、存取或以其它方式操作或传递数字数据的装置的任何计算系统。主机系统100可以为独立的计算系统,例如服务器。主机系统100也可以为分布式计算系统,包含一或多个主机装置105和存储装置110。
主机装置105可以为与主机系统100相关联且经配置以将数据写入到存储装置110或从存储装置110读取数据的装置。主机装置105可以包含主机处理器、中央处理单元或一或多个其它计算装置、处理器、控制器或控制电路系统。主机装置105还可以包含通信接口(I/F),例如双向并行或串行通信接口,以与存储装置110或主机系统100进行通信。通信接口的实例可以包含(但不限于)行高级技术附件(SATA)接口、外围组件互连快速(PCIe)接口、通用串行总线(USB)接口、光纤信道、串行附接SCSI(SAS)、eMMCTM接口等。此类通信接口可以包含一或多个控制或数据信道(例如,DATA/CONTROL),以便使得主机装置105能够在主机装置与存储装置110之间传送数据。此类通信接口还可以包含RESET信道,例如用于将复位信号传输到存储装置110。在一个实例中,RESET信道可以包含将主机装置105耦合到存储装置110的复位端口或接口的物理电导体。
存储装置110可以呈以下装置的形式或可包含以下装置:通用快闪存储(UFS)装置、嵌入式MMC(eMMCTM)装置或一或多个其它存储装置。例如,如果存储装置110包含UFS装置,那么用于将主机装置105耦合到存储装置的通信接口可以包含串行双向接口,例如在一或多个联合电子装置工程委员会(JEDEC)标准(例如,JEDEC标准D223D(JESD223D),通常被称为JEDEC UFS主机控制器接口(UFSHCI)3.0等)中所定义的接口。在另一实例中,如果存储装置110包含eMMC装置,那么用于将主机装置105耦合到存储装置的通信接口可以包含多条并行双向数据线(例如,DAT[7:0])和一或多个命令行,例如在一或多个JEDEC标准(例如,JEDEC标准D84-B51(JESD84-A51),通常被称为JEDEC eMMC标准5.1等)中所定义的命令行。在其它实例中,存储装置110可以包含一或多个其它存储装置,或用于将主机装置105耦合到存储装置的通信接口。
存储装置110可以包含存储控制器115,和存储阵列140以及复位逻辑145。在一些实例中,复位逻辑145可以为存储控制器115的组件。通常,存储装置110可以呈以下装置的形式或至少包含以下装置:离散存储装置的形式,例如单片系统(SOC);或集成存储装置和控制器(其实例为符合上文所论述UFS或eMMC规范的装置,或SSD),且可以经配置以执行本文中所描述的操作和技术。
存储控制器115可以包含处理器(处理装置)或经配置以执行固件指令120以执行本文中所描述的操作和技术的其它控制电路系统。在一些实例中,控制器115可以为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等),或其它合适处理器。存储控制器115可以包含固件指令或电路系统120,例如写入高速缓冲存储器135的缓冲存储器,以及例如一或多个集成电路和/或离散组件的其它硬件电路。存储控制器115可以从主机装置105接收指令,且可以与存储阵列140通信,例如以数据传送到存储阵列(例如,写入或擦除)或从存储阵列传送数据(例如,读取)。
固件120可以包含计算机代码或指令,所述计算机代码或指令可由存储控制器115执行以执行用以发送数据到存储阵列140或从存储阵列140传送数据的操作。在一些实例中,固件120可以经编码在与存储控制器120相关联的一或多个硬件电路中。固件120除其它外可以包含复位中断服务例程(ISR)125和数据转储清除例程130。在一些实例中,复位ISR125和数据转储清除例程130可以包含在相同固件例程中。
复位ISR 125可以包含固件指令,所述固件指令由存储控制器115响应于存储控制器输入端口或引脚IRQ_IN的致动而执行。此类致动可以包含用可以由存储控制器115检测到且用于触发复位ISR 125的执行的任何信号来驱动IRQ_IN。存储控制器115可以经配置以在IRQ_IN被致动时触发处理器中断。与触发处理器中断相关联的中断矢量可以经配置以致使存储控制器115暂停存储控制器正在执行的其它进程,并执行复位ISR125。复位ISR 125可以包含在执行时致使存储控制器115禁用复位逻辑145中的计时器电路155的指令,例如通过致动存储控制器输出端口或引脚disable_out。在一些实例中,复位ISR 125可以允许复位逻辑145中的计时器继续运行。在这些实例中,复位ISR中的固件指令可以被执行以致使存储控制器调整计时器的当前计数或目标计数,以便延迟存储装置110的复位。复位ISR125还可以包含固件指令,所述固件指令在被执行时致使存储控制器115执行数据转储清除例程130。
数据转储清除例程130可以包含固件指令,所述固件指令在被执行时致使存储控制器115将存储在写入高速缓冲存储器135中的未写入数据(例如,从主机装置105接收的用于写入到存储装置110但尚未写入到存储阵列140的数据)写入到存储阵列140。
复位ISR 125、数据转储清除例程130或固件120中包含的另一固件例程可以包含固件指令,这些固件指令在被执行时致使存储控制器115在将存储在写入高速缓冲存储器135中的未写入数据写入到存储阵列140之后复位存储装置110。在一些实例中,存储控制器115可以通过重新启用复位逻辑145中的计时器电路155并允许计时器期满(例如,允许计时器正数计时到目标值或从所述目标值倒数计时)来复位存储装置110。在某些实例中,通过允许复位逻辑145中的计时器电路在所述计时器未被复位ISR 125禁用时期满(例如通过调整计时器的当前值或计时器的目标值),存储控制器115可以复位存储装置110。在其它实例中,存储控制器可以通过致动经配置以执行复位的一或多个硬件电路来复位存储装置110。
返回对存储控制器115的组件的论述,写入高速缓冲存储器135可以包含存储器单元阵列,可以以比将数据写入到存储阵列140更低的成本将数据写入到存储器单元阵列。在实例中,写入高速缓冲存储器135可以包含静态存储器阵列,例如静态随机存取存储器(SRAM)阵列。在其它实例中,写入高速缓冲存储器135可以包含动态随机存取存储器(DRAM)或持久性存储器的阵列,例如贯穿电源周期被保留的随机可寻址存储器。写入高速缓冲存储器135通常包含易失性存储器,但一些非易失性存储器技术可以在写入高速缓冲存储器中使用,只要此类技术使得能够以比将数据写入到存储阵列140的成本更低的成本(例如,更快)来写入数据。
存储阵列140可以经配置以为从主机装置105接收的数据提供非易失性存储。此种非易失性存储可以由一或多种类型的非易失性存储装置来提供,例如NAND快闪存储器装置或NOR快闪存储器装置。此类非易失性存储装置可以包含一或多个存储器单元阵列,例如单级单元(SLC)或多级单元(MLC)(例如,三级单元(TLC)或四级单元(QLC))。在一些常规的工业用途中,术语MLC已被用于识别每单元可以存储两位数据的存储器单元(例如,四个编程状态中的一个);但在更广泛的上下文中也用于指代每单元可以存储多于一个位数据的存储器单元(即,其可以表示多于两个的编程状态)。除非通过明确的语言或上下文另外明确指示,否则MLC在本文中以较广泛的上下文中使用,且包含例如TLC和QLC存储器单元。存储器单元中的每一个可以经配置以存储从主机装置105接收的数据位(例如,数据块)。在一些实例中,存储阵列140可以包含随机存取存储器(RAM),例如电池支持的RAM。在其它实例中,存储阵列140可以包含只读存储器(ROM)、相变存储器(PCM)、磁随机存取存储器(MRAM)和电可擦除可编程只读存储器(EEPROM)。
复位逻辑145可以包含一或多个电路或固件指令,用于拦截来自主机装置105的复位信号,并致使存储装置110在执行复位之前将存储在写入高速缓冲存储器135中的未写入数据写入到存储阵列140,如本文中所描述。复位逻辑145可以包含控制逻辑150和计时器155。共控制逻辑150可以包含一或多个电路,所述一或多个电路用以接收或拦截由主机装置105传输到存储装置110的复位信号。
在实例中,控制逻辑150还可以包含一或多个电路,所述一或多个电路用以用指示值(例如在复位逻辑145执行复位之前必须经过的计时器计时周期(tick)或时间单位的数目)来初始化计时器155。在一些实例中,计时器155可以包含递减计数器,且初始化计时器可以包含将倒数计时值存储在计数器中且触发计时器以使计数器周期性地递减。在一些实例中,计时器155可以包含递增计数器和目标值寄存器或其它存储元件,且初始化计时器可以包含将指示值存储在目标计数器中并触发计时器以开始正数计时到指示值。一旦初始化,计时器电路155就可以计数所指示时间段。在所指示时间段结束时,计时器电路155可以触发或致使存储装置115的自动复位。然而,可以通过在所指示时间段之前禁用计时器155来避免自动复位。
在另一实例中,控制逻辑150可以包含一或多个电路,用于例如通过致动IRQ_OUT信号在存储控制器115中生成中断。控制逻辑150可以响应于从主机装置105接收到复位信号来致动IRQ_OUT信号。在一些实例中,控制逻辑150可以在计时器155经初始化的基本上相同的时间致动IRQ_OUT信号。此类一或多个电路还可以致使复位逻辑145确定计时器155已期满(例如,计时器倒计时到零,或计时器的值达到所指示计时器值)并触发复位的执行,例如,通过致动控制器115中的一或多个电路或存储装置110中的一或多个电路来执行复位。
在操作中,主机装置105可以执行数据传送操作以将数据写入到存储装置110或从存储装置110读取数据。存储控制器115可以代表存储装置110服务数据传送操作,例如通过执行固件120以将数据写入到存储阵列140或从存储阵列140读取数据。存储控制器115可以通过执行固件120以将与一或多个写入操作相关联的写入数据缓冲或存储在写入高速缓冲存储器中来服务由主机装置105发出的数据写入操作,且然后根据所指示写入数据高速缓冲算法将所缓冲写入数据写入到存储阵列中。
主机装置105可以监视主机装置与存储装置110之间的通信接口,以便确定存储装置是否正常运行或通信。当除了其它方面外主机装置105与存储装置之间的通信中断时,例如由于存储控制器死锁或在通信接口上存在干扰,存储装置110可能似乎发生故障,或无法正常通信。
主机装置105可以响应于确定存储装置110正发生故障,或未正常通信或出于其它原因而向存储装置110发出硬件复位。复位逻辑145可以拦截复位信号并初始化和启动计时器115。复位逻辑150还可以在初始化或启动计时器155基本上相同的时间触发存储控制器115中的中断。
如果存储控制器115正常运行(例如,存储控制器能够对处理器中断作出响应),那么复位ISR 125可以通过禁用计时器155并执行数据转储清除例程130以将存储在写入高速缓冲存储器135中的未写入数据写入到存储阵列150来服务中断。然后可以执行存储控制器115中的固件,以致使存储装置110执行复位。
如果存储控制器115死锁或以其它方式发生故障(例如,存储控制器无法对处理器中断作出响应),那么计时器155将继续滴答计数,直到计时器期满(例如,直到阈值时间段已过去)或达到所指示超时值。复位逻辑150然后可以致使存储装置110执行复位,如本文中所描述。
图2根据本发明的实例说明用于拦截来自主机装置的复位信号以避免存储装置复位中的数据丢失的进程200的实例。主机装置可以为主机装置105(图1)的实例,而存储装置可以为存储装置110(图1)的实例。处理200可以由存储装置的硬件电路或固件组件执行。
在205处,可以从主机装置接收例如复位信号的复位信号。主机装置可以响应于确定存储装置正在发生故障或未恰当进行通信或出于其它原因而传输复位信号。
在210处,可以致动计时器以致使存储装置在阈值时间段之后复位。如本文中所描述,致动计时器可包含初始化计时器以正数计时到所指示值或从所指示值倒数计时。
在215处,可以致动存储装置以在复位存储装置之前将存储在与存储装置的存储控制器相关联的写入高速缓冲存储器或易失性存储器中的数据写入到存储阵列或耦合到所述存储控制器的其它非易失性存储器。致动存储装置可以包含触发存储控制器中的中断以将存储控制器中的进程执行传送到ISR,例如复位ISR 125(图1)。如果控制器正在运行,那么复位ISR可以致使存储控制器禁用计时器,将存储在存储控制器的写入高速缓冲存储器中的未写入数据写入到非易失性存储器,且然后复位存储控制器,如将在图3的论述中所描述。
在220处,如果在操作215处未禁用计时器,那么可以确定计时器是否指示达到用于延迟复位的阈值时间段。确定是否达到阈值时间段可以包含确定与计时器相关联的计数器是否已递增到所指示值,或确定与计时器相关联的计数器是否已从所指示值充分递减。当计时器未被禁用且尚未达到阈值时间段时,进程200可以在215处继续,而在计时器未被禁用且已达到阈值时间段时,进程可以进行到操作225。
在225处,可以执行复位操作以复位存储装置,如本文中所描述。
在一些实例中,例如在215处健康(例如,正常运行)的存储控制器禁用计时器时,可以执行进程300而非操作220和225。在其它实例中,例如在215处发生故障的存储控制器未能作出响应或撤销激活计时器时,可以执行操作220和225而非进程300。
图3根据本发明的实例说明用于对复位信号作出响应以避免存储装置复位中的数据丢失的进程的实例。如本文中所论述,操作300可以由例如存储控制器115的存储控制器执行,以在复位存储装置之前致动存储装置以将存储在易失性存储器中的数据写入到非易失性存储器,如操作215中所展示(图2)。
在305处,存储控制器可以接收生成处理器中断的信号。可以从存储装置的复位逻辑组件(例如,复位逻辑组件145(图3))接收信号。存储控制器可以经配置以致使所接收到信号生成可由存储控制器服务的最高优先级中断,以便致使存储控制器立即暂停任何当前进程的执行以服务于经触发中断。
在310处,存储控制器可以禁用复位计时器,例如以防止存储装置在复位计时器期满时自动复位。
在315处,存储控制器可以将存储在存储控制器的例如写入高速缓冲存储器135(图1)的写入高速缓冲存储器(例如,易失性存储器)中的未写入数据写入(例如,转储清除)到与存储控制器相关联的非易失性存储媒体,例如存储阵列140。
在320处,如本文中所描述,可以复位存储装置。
图4根据本发明的实例说明具有数据存储装置的计算机系统400的实例,所述数据存储装置用以执行本文中所论述的进程或技术中的任何一或多个。计算机系统400可以为主机系统100(图1)的实例,而数据存储装置可以为存储装置110(图1)的实例。
在替代实施例中,机器400可以作为独立装置操作,或可以连接(例如联网)到其它机器。在网络部署中,机器400可以在服务器-客户端网络环境中以服务器机器、客户端机器或两者的能力运行。在实例中,机器400可以在对等(P2P)(或其它分布式)网络环境中充当对等机器。机器400可以为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、web器具、IoT装置、汽车系统或规定欲由所述机器执行的动作的任何能够执行指令(顺序的或其它方式)的机器。此外,尽管说明仅单个机器,但还应将术语“机器”视为包含个别地或联合地执行一组(或多组)指令以执行本文中所论述的方法(例如,云计算、软件即服务(SaaS)、其它计算机群集配置)中的任一或多个的任何机器集合。
如本文中所描述,实例可以包含逻辑、组件、装置、封装或机制,或可以由其操作。电路系统为在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路的集合(例如,一组)。电路系统隶属关系可以随着时间和基础硬件可变性而为灵活的。电路系统包含可以在操作时单独或组合地执行特定任务的成员。在实例中,电路系统的硬件可以经不变地设计为执行特定操作(例如,硬连线)。在实例中,电路系统的硬件可以包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),包含经物理修改(例如,磁性地、电气地、不变质量粒子的可移动放置)以对特定操作的指令进行编码的计算机可读媒体。在连接物理组件时,硬件构成的基础电性质例如从绝缘体改变成导体,或反之亦然。指令使得参与的硬件(例如,执行单元或加载机制)能够经由变量连接在硬件中创建电路系统的成员,以在操作时执行特定任务的部分。因此,当装置正在操作时,计算机可读媒体通信地耦合到电路系统的其它组件。在实例中,物理组件中的任何一个都可以在多于一个电路系统的多于一个成员中使用。例如,在操作中,执行单元可以在一个时间点在第一电路系统的第一电路中使用,且可以在不同的时间被第一电路系统中的第二电路或第二电路系统中的第三电路重新使用。
机器(例如,计算机系统、主机系统等)400可以包含处理装置402(例如,硬件处理器、中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核或其任何组合等),主存储器404(例如,只读存储器(ROM)、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或RambusDRAM(RDRAM),等),静态存储器406(例如,静态随机存取存储器(SRAM)等)和存储系统418,其中一些或全部可以经由通信接口(例如,总线)430彼此通信。
处理装置402可以表示一或多个通用处理装置,例如微处理器、中央处理单元,等等。更具体地,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集组合的处理器。处理装置402还可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器,等等。处理装置402可以经配置以执行用于执行本文中所论述的操作和步骤的指令426。计算机系统400可进一步包含网络接口装置408以经由网络420进行通信。
存储系统418可以包含机器可读存储媒体(也被称作为计算机可读媒体),其上存储体现本文中所描述的方法或功能中的任何一或多个的一或多个指令426集或软件。存储系统418还可以包含复位逻辑组件428,所述复位逻辑组件428可以根据本发明的技术和方法来配置,例如执行复位逻辑组件145的操作。指令426还可在计算机系统400执行所述指令期间完全或至少部分地驻留在主存储器404内和/或处理装置402内,主存储器404和处理装置402也构成机器可读存储媒体。
术语“机器可读存储媒体”应被认为包含存储一或多个指令集的单个媒体或多个媒体,或能够存储或编码供由机器执行的指令集且致使机器执行本发明的方法中的任何一或多个的任何媒体。因此,术语“机器可读存储媒体”应被视为包含(但不限于)固态存储器、光学媒体和磁媒体。在实例中,有质量的机器可读媒体包括具有多个具有不变(例如,静止)质量的粒子的机器可读媒体。因此,有质量的机器可读媒体不是暂时性传播信号。有质量的机器可读媒体的特定实例可以包含:非易失性存储器,例如半导体存储装置(例如,电可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM))和快闪存储器装置;磁盘,例如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。
机器400可以进一步包含显示单元、字母数字输入装置(例如,键盘)和用户界面(UI)导航装置(例如,鼠标)。在实例中,显示单元、输入装置或UI导航装置中的一或多个可以为触摸屏显示器。所述机器为信号生成装置(例如,扬声器)或一或多个传感器,例如全球定位系统(GPS)传感器、指南针、加速度计或一或多个其它传感器。机器400可以包含输出控制器,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外线(IR)、近场通信(NFC)等)连接以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。
可以通过主存储器404存取存储在存储系统418上的指令426(例如,软件、程序、操作系统(OS)等)或其它数据,以供由处理装置402使用。主存储器404(例如,DRAM)通常较快速但易失的,且因此与存储系统418(例如,SSD)不同类型的存储,其适合于长期存储,包含处于“关闭”状态时。用户或机器400正在使用的指令426或数据通常被加载到主存储器404中,以供由处理装置402使用。当主存储器404已满时,可以分配来自存储系统418的虚拟空间以补充主存储器404;然而,由于存储系统418装置通常比主存储器404慢,且写入速度通常比读取速度慢至少两倍,因此,使用虚拟存储器可能由于存储系统等待时间而大大降低用户体验(与主存储器404,例如DRAM相比)。此外,将存储系统418用于虚拟存储器可以大大地减少存储系统418的可用寿命。
可能进一步使用传输媒体经由利用多种传送协议(例如,帧中继、互联网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)中的任何一个的网络接口装置408在网络420上传输或接收指令424。实例通信网络可以包含局域网(LAN)、广域网(WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络,和无线数据网络(例如,被称为
Figure BDA0002347760180000111
的电气和电子工程师协会(IEEE)802.11标准系列,被称为
Figure BDA0002347760180000112
的IEEE 802.16标准系列),IEEE 802.15.4标准系列,对等(P2P)网络等等。在实例中,网络接口装置408可包含一或多个物理插孔(例如,以太网、同轴或电话插孔)或一或多个天线以连接到网络420。在实例中,网络接口装置408可以包含多个天线,以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一个进行无线通信。术语“传输媒体”应被视为包含能够存储、编码或运载由机器400执行的指令的任何无形媒体,且包含数字或模拟通信信号或其它无形媒体以促进此类软件的通信。
以上详细描述包含对形成所述详细描述的部分的附图的参考。所述图式以说明方式展示其中可实践本发明的具体实施例。这些实施例在本文中也被称为“实例”。除了所展示或所描述的那些元素之外,这些实例还可包含若干元素。然而,本发明者还设想其中仅提供了所展示或描述的那些元件的实例。此外,本发明者还预期使用关于特定实例(或其一或多个方面)或关于本文中所展示或所描述的其它实例(或其一或多个方面)所展示或所描述的那些元素的任何组合或排列的实例(或其一或多个方面)。
此文件中所参考的所有公开案、专利及专利文件以全文引用方式并入本文中,好像个别地以引用方式并入。在此文件与以引用方式并入的那些文件之间存在使用不一致的情况下,应将所并入的参考文献的使用视为对此文件的使用的补充;对于不可调和的不一致性,以此文件的使用为准。
在本文件中,如在专利文件中常见,使用术语“一(a或an)”来包含一个或多于一个,独立于任何其它例子或“至少一个(at least one)”或“一或多个(one or more)”的使用。在此文件中,除非另有指示,否则使用术语“或”来指代非排他性,或使得“A或B”包含“A但非B”、“B但非A”以及“A和B”。在所附权利要求书中,将术语“包含(including)”及“其中(in which)”用作相应术语“包括(comprising)”及“其中(wherein)”的普通英语等效形式。此外,在以下权利要求书中,术语“包含(including)”及“包括(comprising)”是开放式的,也就是说,在权利要求中除列于此术语之后的那些元素以外还包含若干元素的系统、装置、物品或进程仍被视为归属于所述权利要求的范围内。此外,在下文权利要求书中,术语“第一”、“第二”及“第三”等仅用作标记,且并不打算对其对象施加数字要求。
在各种实例中,本文中所描述的组件、控制器、处理器、单位、引擎或表除其它外还可以包含存储在物理装置上的物理电路或固件。如本文中所使用,“处理器”意指任何类型的计算电路,例如但不限于微处理器、微控制器、图形处理器、数字信号处理器(DSP)或者任何其它类型的处理器或处理电路,包含一组处理器或多核装置。
如本文件中所使用的术语“水平面”定义为平行于衬底的常规平面或表面的平面,例如,下伏晶片或裸片的平面,而不管所述衬底在任何时间点的实际定向如何。术语“垂直”指垂直于如上文所定义的水平面的方向。相对于常规平面或表面在衬底顶部或暴露表面上定义例如“在…上”、“在…上方”和“在…下方”等介词,而不管衬底的定向如何;且虽然“在…上”打算暗示一个结构相对于其位于其“上”的另一结构的直接接触(在不存在相反的明确指示的情况下);但术语“在…上方”和“在…下方”明确地打算识别结构(或层、特征等)的相对放置,此明确包含(但不限于)识别结构之间的直接接触,除非明确识别所述直接接触。类似地,术语“在…上方”和“在…下方”也不限于水平定向,因为如果结构在某个时间点为所论述结构的最外层部分,那么所述结构可以“在”所参考结构的“上方”,即使此结构相对于参考结构垂直延伸,而不是沿水平定向。
术语“晶片”及“衬底”在本文中用于一般指代在其上形成集成电路的任何结构,且还指在集成电路制造的各个阶段期间的此类结构。因此,以下具体实施方式不应视为具有限制意义,且各种实施例的范围仅由所附权利要求书连同此权利要求书授权的等效物的全部范围界定。
根据本发明且在本文中所描述的各种实施例包含利用存储器单元的垂直结构(例如,存储器单元的NAND串)的存储器。如本文中所使用,方向性形容词将相对于其上形成有存储器单元的衬底的表面采取(即,垂直结构将被视为远离衬底表面延伸,垂直结构的底端将被视为最靠近衬底表面的端部且垂直结构的顶端将被视为离衬底表面最远的端部)。
如本文中所使用,例如水平、垂直、法线、平行、垂直等方向性形容词可以指代相对定向,且除非另有说明,否则并不打算要求严格遵守特定的几何性质。例如,如本文中所使用,垂直结构不必严格垂直于衬底表面,而是可以大体上垂直于衬底的表面,且可以与衬底的表面形成锐角(例如,在60度与120度之间,等)。
如本文中所使用,术语致动和操作可以互换地使用,例如指示引起信号、电路或数据对象的状态的物理或逻辑改变的操作或活动。
根据本发明的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设置、调整、计算、改变、清除、通信、调适、派生、定义、利用、修改、应用等)一定数量的磨损周期或磨损状态(例如,记录磨损周期、在发生存储器装置的操作时对其进行计数,追踪其启动的存储器装置的操作,评估与磨损状态相对应的存储装置特性,等)。
根据本发明的一或多个实施例,一种存储器存取装置可以经配置以随每一存储器操作向所述存储器装置提供磨损周期信息。存储器装置控制电路(例如,控制逻辑)可以经编程以补偿与磨损周期信息相对应的存储器装置性能改变。存储器装置可以接收磨损周期信息并响应于所述磨损周期信息来确定一或多个操作参数(例如,值、特性)。
将理解,当元件被称为“在”另一元件“上”、“连接到”另一元件或“与”另一元件“耦合”时,其可能直接在另一元件上、直接连接到另一元件或直接与另一元件耦合,或可存在介入元件。相比来说,当元件被称为“直接在”另一元件“上”、“直接连接到”另一元件或“与”另一元件“直接耦合”时,不存在介入元件或层。如果两个元件在图式中经展示用线将其连接在一起,那么除非另外说明,否则两个元件可以耦合或直接耦合。
本文中所描述的方法实例可为至少部分地机器或计算机实施的。一些实例可能包含用指令编码的计算机可读媒体或机器可读媒体,所述指令可操作以配置电子装置以执行如在以上实例中所描述的方法。此类方法的实施方案可以包含代码,例如微码、汇编语言代码、高级语言代码等。此类代码可以包含用于执行各种方法的计算机可读指令。所述代码可形成计算机程序产品的部分。此外,例如在执行期间或在其它时间,所述代码可有形地存储在一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可能包含(但不限于)硬盘、可移移动磁盘、可移动式光盘(例如,压缩磁盘及数字视频磁盘)、磁带盒、存储卡或存储条、随机存取存储器(RAM)、只读存储器(ROM),等等。
实例1为一种存储系统,其包括:控制器电路,其包括易失性存储器;非易失性存储器;以及复位电路,所述复位电路经配置以:从主机装置接收复位信号;致动计时器电路,所述计时器电路经配置以致使所述存储装置在阈值时间段之后复位;及在所述阈值时间段期间,致动所述控制器电路以将存储在所述易失性存储器中的数据写入到所述非易失性存储器。
在实例2中,实例1的标的物经任选地配置使得为了致动所述控制器电路,所述复位电路经配置以生成中断信号以中断由所述控制器电路执行的进程;且响应于接收到所述中断信号,所述控制器电路经配置以将存储在所述易失性存储器中的所述数据写入到所述非易失性存储器。
在实例3中,实例1到2中任一个的标的物经任选地配置,使得响应于接收到所述信号,所述控制器电路经配置以响应于所述阈值时间段的期满而禁用所述计时器电路以防止所述存储装置的自动复位。
在实例4中,实例1到3中任一个的标的物经任选地配置,使得响应于接收到所述中断信号,所述控制器电路经配置以在将存储在所述易失性存储器中的所述数据写入到所述非易失性存储器后复位所述存储装置。
在实例5中,实例1到4中任一个的标的物经任选地配置,使得存储在所述易失性存储器中的所述数据包括从所述主机装置接收的主机数据,所述控制器电路经配置以在将所述主机数据写入到所述非易失性存储器之前将所述主机数据暂时地存储在所述易失性存储器中。
在实例6中,实例1到5中任一个的标的物经任选地配置,使得所述控制器电路包括所述复位电路。
在实例7中,实例1到6中任一个的标的物经任选地配置,使得所述复位电路包括所述计时器电路。
在实例8中为一种方法,其包括:在存储装置处接收复位信号;在接收到所述复位信号之后,所述存储装置在复位所述存储装置之前计数达阈值时间段;及在接收到所述复位信号之后且在所述阈值时间段期间,在复位所述存储装置之前,将存储在所述存储装置的易失性存储器中的数据写入到所述存储装置的非易失性存储器中。
在实例9中,实例8的标的物经任选地配置,使得所述存储装置包括控制器,所述控制器包含所述易失性存储器;且包括:暂停执行所述控制器的一或多个进程;及致使所述控制器将存储在所述易失性存储器中的所述数据写入到所述非易失性存储器。
在实例10中,实例8到9中任一个的标的物经任选地配置,使得暂停执行一或多个进程包括致使所述控制器中的处理器中断。
在实例11中,实例8到10中任一个的标的物经任选地配置以致使所述控制器在将存储在所述易失性存储器中的所述数据写入到所述非易失性存储器之后复位所述存储装置。
在实例12中,实例8到11中任一个的标的物经任选地配置以致使所述控制器响应于所述阈值时间段的期满而防止所述存储装置的自动复位。
在实例13中,实例8到12中任一个的标的物经任选地配置以致使所述控制器延长所述阈值时间段。
在实例14中,实例8到13中任一个的标的物经任选地配置以响应于所述阈值时间段的期满而复位所述存储装置。
在实例15中为一种机器可读存储媒体,其提供指令,所述指令在由存储装置的控制器执行时致使所述存储装置执行包括以下的操作:接收复位信号;在接收到所述复位信号之后,在复位所述存储装置之前计数达阈值时间段;及在接收到所述复位信号之后且在所述阈值时间段期间,在复位所述存储装置之前,将存储在所述存储装置的易失性存储器中的数据写入到所述存储装置的非易失性存储器中。
在实例16中,实例15的标的物经任选地配置,使得所述操作包括暂停执行所述存储装置中的控制器的一或多个进程,且致使所述控制器将存储在所述易失性存储器中的所述数据写入到所述非易失性存储器。
在实例17中,实例15到16任一个的标的物经任选地配置,使得暂停执行一或多个进程包括致使所述控制器中的处理器中断。
在实例18中,实例15到17中任一个的标的物经任选地配置,使得所述操作包括致使所述控制器在将存储在所述易失性存储器中的所述数据写入到所述非易失性存储器之后复位所述存储装置。
在实例19中,实例15到18中任一个的标的物经任选地配置,使得所述操作包括致使所述控制器在所述阈值时间段的期满时防止所述存储装置的自动复位。
在实例20中,实例15到19中任一个的标的物经任选地配置,使得所述操作包括响应于所述阈值时间段的期满而复位所述存储装置。
实例21为至少一个机器可读媒体,其包含指令,所述指令在由处理电路执行时致使所述处理电路执行用以实施实例1到20中任一个的操作。
实例22为一种设备,其包括用以实施实例1到20中任一个的装置。
实例23为一种用以实施实例1到20中任一个的系统。
实例24为一种用以实施实例1到20中任一个的方法。
上文描述打算为说明性而非限制性。例如,上文所描述实例(或其一或多个方面)可彼此组合使用。例如,所属领域的技术人员可在审阅上文描述后即刻使用其它实施例。提供本摘要以符合37C.F.R.§1.72(b),从而允许读者快速确定本技术揭示内容的本质。提交本摘要是基于以下理解:其将不被用于解释或限制权利要求书的范围或含义。此外,在以上详细描述中,各种特征可分组在一起以简化本发明。此不应解释为意指未主张的所揭示特征对任一权利要求为必要的。而是,发明性标的物可在于少于特定所揭示实施例的所有特征。因此,以下权利要求书特此并入到详细描述中,其中每一权利要求独立地作为单独的实施例,且可以预期,此类实施例可以以各种组合或排列彼此组合。本发明的范围应参考所附权利要求书连同此权利要求书授权的等效物的全部范围来确定。

Claims (20)

1.一种存储装置,其包括:
控制器电路,其包括易失性存储器;
非易失性存储器;及
复位电路,所述复位电路经配置以:
从主机装置接收复位信号;
致动计时器电路,所述计时器电路经配置以致使所述存储装置在阈值时间段之后复位;及
在所述阈值时间段期间,致动所述控制器电路以将存储在所述易失性存储器中的数据写入到所述非易失性存储器。
2.根据权利要求1所述的存储装置,其中为了致动所述控制器电路,所述复位电路经配置以生成中断信号,以中断由所述控制器电路执行的进程;及
响应于接收到所述中断信号,所述控制器电路经配置以将存储在所述易失性存储器中的所述数据写入到所述非易失性存储器。
3.根据权利要求2所述的存储装置,其中响应于接收到所述信号,所述控制器电路经配置以响应于所述阈值时间段的期满而禁用所述计时器电路以防止所述存储装置的自动复位。
4.根据权利要求2所述的存储装置,其中响应于接收到所述中断信号,所述控制器电路经配置以在将存储在所述易失性存储器中的所述数据写入到所述非易失性存储器之后,复位所述存储装置。
5.根据权利要求1所述的存储装置,其中存储在所述易失性存储器中的所述数据包括从所述主机装置接收的主机数据,所述控制器电路经配置以在将所述主机数据写入到所述非易失性存储器之前将所述主机数据暂时地存储在所述易失性存储器中。
6.根据权利要求1所述的存储装置,其中所述控制器电路包括所述复位电路。
7.根据权利要求1所述的存储装置,其中所述复位电路包括所述计时器电路。
8.一种方法,其包括:
在存储装置处接收复位信号;
在接收到所述复位信号之后,所述存储装置在复位所述存储装置之前计数达阈值时间段;及
在接收到所述复位信号之后且在所述阈值时间段期间,在复位所述存储装置之前,将存储在所述存储装置的易失性存储器中的数据写入到所述存储装置的非易失性存储器。
9.根据权利要求8所述的方法,其中所述存储装置包括控制器,所述控制器包含所述易失性存储器;且所述方法包括:
暂停执行所述控制器的一或多个进程;及
致使所述控制器将存储在所述易失性存储器中的所述数据写入到所述非易失性存储器。
10.根据权利要求9所述的方法,其中暂停执行一或多个进程包括致使所述控制器中的处理器中断。
11.根据权利要求9所述的方法,其包括致使所述控制器在将存储在所述易失性存储器中的所述数据写入到所述非易失性存储器之后复位所述存储装置。
12.根据权利要求9所述的方法,其包括致使所述控制器响应于所述阈值时间段的期满而防止所述存储装置的自动复位。
13.根据权利要求9所述的方法,其包括致使所述控制器延长所述阈值时间段。
14.根据权利要求8所述的方法,其包括响应于所述阈值时间段的期满而复位所述存储装置。
15.一种机器可读存储媒体,其提供指令,所述指令在由存储装置的控制器执行时致使所述存储装置执行包括以下的操作:
接收复位信号;
在接收到所述复位信号之后,在复位所述存储装置之前计数达阈值时间段;及
在接收到所述复位信号之后且在所述阈值时间段期间,在复位所述存储装置之前,将存储在所述存储装置的易失性存储器中的数据写入到所述存储装置的非易失性存储器。
16.根据权利要求15所述的机器可读存储媒体,所述操作包括暂停执行所述存储装置中的控制器的一或多个进程,且致使所述控制器将存储在所述易失性存储器中的所述数据写入到所述非易失性存储器。
17.根据权利要求16所述的机器可读存储媒体,其中暂停执行一或多个进程包括致使所述控制器中的处理器中断。
18.根据权利要求16所述的机器可读存储媒体,所述操作包括致使所述控制器在将存储在所述易失性存储器中的所述数据写入到所述非易失性存储器之后复位所述存储装置。
19.根据权利要求16所述的机器可读存储媒体,所述操作包括致使所述控制器在所述阈值时间段的所述期满时防止所述存储装置的自动复位。
20.根据权利要求15所述的机器可读存储媒体,所述操作包括响应于所述阈值时间段的期满而复位所述存储装置。
CN201911402173.5A 2018-12-31 2019-12-30 存储装置及其操作方法 Active CN111382465B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/236,785 US11287986B2 (en) 2018-12-31 2018-12-31 Reset interception to avoid data loss in storage device resets
US16/236,785 2018-12-31

Publications (2)

Publication Number Publication Date
CN111382465A true CN111382465A (zh) 2020-07-07
CN111382465B CN111382465B (zh) 2023-08-29

Family

ID=71122965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911402173.5A Active CN111382465B (zh) 2018-12-31 2019-12-30 存储装置及其操作方法

Country Status (2)

Country Link
US (2) US11287986B2 (zh)
CN (1) CN111382465B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11762565B2 (en) 2018-12-31 2023-09-19 Micron Technology, Inc. Reset interception to avoid data loss in storage device resets

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050283648A1 (en) * 2004-06-21 2005-12-22 Dot Hill Systems Corporation Apparatus and method in a cached raid controller utilizing a solid state backup device for improving data availability time
US20100205348A1 (en) * 2009-02-11 2010-08-12 Stec, Inc Flash backed dram module storing parameter information of the dram module in the flash
CN102959525A (zh) * 2010-07-01 2013-03-06 高通股份有限公司 移动装置内的集成非易失性存储器与主易失性存储器的并行使用
CN107003919A (zh) * 2014-12-24 2017-08-01 英特尔公司 容错自动双列直插存储器模块刷新
US9996291B1 (en) * 2016-07-29 2018-06-12 EMC IP Holding Company LLC Storage system with solid-state storage device having enhanced write bandwidth operating mode

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175845A (en) * 1988-12-09 1992-12-29 Dallas Semiconductor Corp. Integrated circuit with watchdog timer and sleep control logic which places IC and watchdog timer into sleep mode
US7293196B2 (en) * 2002-05-08 2007-11-06 Xiotech Corporation Method, apparatus, and system for preserving cache data of redundant storage controllers
US7487391B2 (en) * 2005-08-04 2009-02-03 Dot Hill Systems Corporation Storage controller super capacitor adaptive life monitor
US9323670B2 (en) * 2010-12-13 2016-04-26 Seagate Technology Llc Protecting volatile data of a storage device in response to a state reset
US9563557B2 (en) * 2014-12-23 2017-02-07 Intel Corporation Instruction and logic for flush-on-fail operation
US9690716B2 (en) * 2015-02-13 2017-06-27 Intel Corporation High performance persistent memory for region-centric consistent and atomic updates
US9459802B1 (en) * 2015-03-30 2016-10-04 Kabushiki Kaisha Toshiba Hybrid-HDD that limits dirty data in NAND
US10180792B1 (en) * 2015-04-30 2019-01-15 Seagate Technology Llc Cache management in data storage systems
US10275164B2 (en) * 2015-05-27 2019-04-30 Nutech Ventures Enforcing persistency for battery-backed mobile devices
US9880894B2 (en) * 2015-07-08 2018-01-30 Microsoft Technology Licensing, Llc High availability and energy-efficient watchdog timer
TWI657447B (zh) * 2017-04-28 2019-04-21 Silicon Motion, Inc. 記憶裝置、存取系統及存取方法
CN110989918B (zh) * 2018-10-03 2023-03-28 慧荣科技股份有限公司 写入控制方法以及数据存储装置及其控制器
US11287986B2 (en) 2018-12-31 2022-03-29 Micron Technology, Inc. Reset interception to avoid data loss in storage device resets

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050283648A1 (en) * 2004-06-21 2005-12-22 Dot Hill Systems Corporation Apparatus and method in a cached raid controller utilizing a solid state backup device for improving data availability time
US20100205348A1 (en) * 2009-02-11 2010-08-12 Stec, Inc Flash backed dram module storing parameter information of the dram module in the flash
CN102959525A (zh) * 2010-07-01 2013-03-06 高通股份有限公司 移动装置内的集成非易失性存储器与主易失性存储器的并行使用
CN107003919A (zh) * 2014-12-24 2017-08-01 英特尔公司 容错自动双列直插存储器模块刷新
US9996291B1 (en) * 2016-07-29 2018-06-12 EMC IP Holding Company LLC Storage system with solid-state storage device having enhanced write bandwidth operating mode

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11762565B2 (en) 2018-12-31 2023-09-19 Micron Technology, Inc. Reset interception to avoid data loss in storage device resets

Also Published As

Publication number Publication date
CN111382465B (zh) 2023-08-29
US20200210073A1 (en) 2020-07-02
US20220214818A1 (en) 2022-07-07
US11287986B2 (en) 2022-03-29
US11762565B2 (en) 2023-09-19

Similar Documents

Publication Publication Date Title
US11635899B2 (en) SLC cache management
US11604607B2 (en) Reduce system active power based on memory usage patterns
US20210018975A1 (en) Storage system deep idle power mode
KR102432930B1 (ko) 메모리 디바이스에서의 적응적 와치독
CN111381777A (zh) 用于受管理存储器的仲裁技术
US20210166770A1 (en) Peak current management in a memory array
CN111382097A (zh) 用于受管理存储器的仲裁技术
CN111383679A (zh) 用于管理存储器的仲裁技术
CN111352864B (zh) 快闪存储器持久性高速缓存技术
US11762565B2 (en) Reset interception to avoid data loss in storage device resets
TWI773064B (zh) 電子裝置、用於在記憶體系統處執行背景操作的方法、及相關的非暫時性電腦可讀媒體
US10614899B2 (en) Program progress monitoring in a memory array
US11681461B2 (en) Host inquiry response generation in a memory device
CN115516433A (zh) 用于改进存储器装置中的连续存储器存取的预载技术
US11380419B1 (en) Methods to limit power during stress test and other limited supplies environment

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