CN113168373A - 基于通电时间的数据重新定位 - Google Patents
基于通电时间的数据重新定位 Download PDFInfo
- Publication number
- CN113168373A CN113168373A CN201980077155.6A CN201980077155A CN113168373A CN 113168373 A CN113168373 A CN 113168373A CN 201980077155 A CN201980077155 A CN 201980077155A CN 113168373 A CN113168373 A CN 113168373A
- Authority
- CN
- China
- Prior art keywords
- data
- block
- data block
- value
- total
- 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
- 230000004044 response Effects 0.000 claims abstract description 17
- 230000015654 memory Effects 0.000 claims description 226
- 238000012545 processing Methods 0.000 claims description 75
- 238000000034 method Methods 0.000 claims description 34
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 208000002343 primary orthostatic tremor Diseases 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 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/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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- 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/0614—Improving the reliability 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
-
- 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/0683—Plurality of storage devices
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
确定多个数据块的第一数据块上的第一数据的总经估计占用值。为了确定所述第一数据块的所述总经估计占用值,确定所述第一数据块的总块通电时间POT值。然后,将缩放因子应用于所述总块POT值以确定所述第一数据块的所述总经估计占用值。确定所述第一数据块的所述总经估计占用值是否满足阈值准则。响应于确定所述第一数据块的所述总经估计占用值满足所述阈值准则,将存储在所述第一数据块处的数据重新定位到所述多个数据块中的第二数据块。
Description
技术领域
本公开的实施例大体上涉及存储器子系统,且更具体来说涉,及基于通电时间重新定位存储在存储器子系统的数据块上的数据。
背景技术
存储器子系统可为存储系统,例如固态驱动器(SSD)或硬盘驱动器(HDD)。存储器子系统可为存储器模块,例如双列直插式存储器模块(DIMM)、小外形DIMM(SO-DIMM)或非易失性双列直插式存储器模块(NVDIMM)。存储器子系统可包含存储数据的一或多个存储器组件。举例来说,所述存储器组件可为非易失性存储器组件及易失性存储器组件。一般来说,主机系统可利用存储器子系统以将数据存储于存储器组件处及从存储器组件检索数据。
附图说明
将从下面给出的详细描述及从本公开的各种实施例的附图中更充分地理解本公开。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算环境。
图2是说明根据本公开的一些实施例的存储器子系统的通电及断电状态以及对应系统通电时间值的实例的图。
图3是根据本公开的一些实施例的用于基于存储器子系统的通电时间值重新定位存储在数据块上的数据的实例方法的流程图。
图4是根据本公开的一些实施例的确定数据块的总经估计占用值的实例方法的流程图。
图5是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
本公开的方面涉及基于存储器子系统的通电时间来重新定位存储在数据块上的数据。存储器子系统在下文也被称为“存储器装置”。存储器子系统的实例是经由外围互连件(例如,输入/输出总线、存储区域网络)耦合到中央处理单元(CPU)的存储装置。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器及硬盘驱动器(HDD)。存储器子系统的另一实例是经由存储器总线耦合到CPU的存储器模块。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外形DIMM(SO-DIMM)、非易失性双列直插式存储器模块(NVDIMM)等。在一些实施例中,存储器子系统可为混合存储器/存储子系统。一般来说,主机系统可利用包含一或多个存储器组件的存储器子系统。主机系统可提供待存储在存储子系统处的数据,并且可请求从存储子系统检索数据。
存储器子系统中的存储器组件可包含存储器单元,其可包含一或多个存储器页(本文也称为“页”)以用于存储对应于从主机系统接收的数据的一或多个二进制数据位。一或多个存储器单元可分组在一起以形成数据块以将数据存储在存储器组件中。由于存储器单元以电荷的形式存储数据,所以其可能由于外部环境(例如,温度)的改变及/或在相应存储器单元上操作的数个程序及擦除循环(以下称为“P/E循环”)而随时间丢失电荷。此电荷损失可能导致阈值电压的偏移,且因此导致对存储器单元中的所存储数据及因此存储器组件中的数据块的不正确读取。
常规上,存储器子系统将周期性地(例如,每当存储器子系统通电时或每天)扫描存储在每一数据块中的数据,以便确定是否需要将数据重新定位(例如,在相应数据块中是否留有足够空间)到存储器子系统的新数据块。执行扫描操作的频率越高,数据被重新定位的可能性就越高。因此,此数据重新定位计划将不必要地涉及大量的P/E循环。另外,此数据重新定位计划没有准确地考虑数据已经被存储多长时间,这是因为大量数据可被一次写入数据块(在此情况下,由存储器单元经历的电荷损失可能在经过更长的时间段之后才会成为问题)。因此,每当存储器子系统通电时扫描数据或每天扫描数据并且在满足条件时重新定位数据的常规存储器子系统每年可能导致大量浪费的P/E循环。因此,用于数据重新定位的常规方法可能是不合意的,因为每一存储器组件具有有限数目个可用P/E循环。每一P/E循环可使存储器组件消耗一定量,并且在一定数目个循环之后,存储器组件可能被磨损并变得不可用。因此,P/E循环用于数据重新定位的频率越高,存储器子系统的寿命就变得越短。
本公开的方面通过具有存储器子系统来解决以上及其它缺陷,所述存储器子系统使用存储器子系统的通电时间基于存储在数据块的页(例如,第一或最后一页)上的数据的经估计占用时间周期来重新定位数据,来最小化用于数据重新定位的P/E循环的数目。在一个实施例中,存储器子系统可确定存储器子系统中的一或多个数据块中的数据块的总经估计占用值。总经估计占用值也可被称为总经估计占用时间、总经估计寿命值或指代存储在数据块的页上的数据的经估计占用时间周期的任何其它合适名称。为确定数据块的总经估计占用值,存储器子系统可确定数据块的总块通电时间值,并将缩放因子应用于总块通电时间值。然后,存储器子系统可确定数据块的总经估计占用值是否满足阈值准则(例如,数据块的总经估计占用值是否超过预定阈值(例如,2个月)),且如果是,那么将存储在数据块上的数据(即,整个数据)重新定位到另一数据块。通过能够估计数据已被存储多长时间并且设置对应执行数据重新定位的频率的限制(例如,2个月),此存储器子系统可显著地将用于重新定位数据的P/E循环的数目从大约300个P/E循环或更多(当每天重新定位数据时)减少到例如每年约6个P/E循环(即,在12个月内每2个月)。因此,当与常规存储器子系统相比较时,根据本公开的存储器子系统可延长存储器子系统的寿命,并且减少及/或节省用于数据重新定位的处理资源的量。
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算环境100。存储器子系统110可包含例如存储器组件112A到112N的媒体。存储器组件112A到112N可为易失性存储器组件、非易失性存储器组件或其组合。在一些实施例中,存储器子系统是存储系统。存储系统的实例是SSD。在一些实施例中,存储器子系统110是混合存储器/存储子系统。一般来说,计算环境100可包含使用存储器子系统110的主机系统120。举例来说,主机系统120可将数据写入到存储器子系统110并从存储器子系统110读取数据。
主机系统120可为例如桌上型计算机、膝上型计算机、网络服务器、移动装置的计算装置,或包含存储器及处理装置的此计算装置。主机系统120可包含或耦合到存储器子系统110,使得主机系统120可从存储器子系统110读取数据或向存储器子系统110写入数据。主机系统120可经由物理主机接口耦合到存储器子系统110。如本文中所使用的,“耦合到”通常是指组件之间的连接,其可为有线或无线的间接通信连接或直接通信连接(例如,没有中间组件),其包含例如电、光学、磁性等的连接。物理主机接口的实例包含(但不限于)串行高级技术附件(SATA)接口、外围组件互连快速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接SCSI(SAS)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。主机系统120可进一步利用NVM快速(NVMe)接口以在存储器子系统110通过PCIe接口与主机系统120耦合时存取存储器组件112A到112N。所述物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据及其它信号的接口。
存储器组件112A到112N可包含不同类型的非易失性存储器组件及/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含“与非”(NAND)型快闪存储器。存储器组件112A到112N中的每一者可包含一或多个存储器单元阵列,例如单电平单元(SLC)或多电平单元(MLC)(例如,三电平单元(TLC)或四电平单元(QLC))。在一些实施例中,特定存储器组件可包含存储器单元的SLC部分及MLC部分两者。存储器单元中的每一者可存储由主机系统120使用的一或多个数据位(例如,数据块)。尽管描述例如NAND型快闪存储器的非易失性存储器组件,但是存储器组件112A到112N可基于任何其它类型的存储器,例如易失性存储器。在一些实施例中,存储器组件112A到112N可为(但不限于)随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、相变存储器(PCM)、磁随机存取存储器(MRAM)、“或非”(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM)以及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可根据体电阻的变化结合可堆叠的交叉网格数据存取阵列执行位存储。另外,与许多基于快闪的存储器相反,交叉点非易失性存储器可执行就地写入操作,其中可对非易失性存储器单元进行编程而无需事先擦除非易失性存储器单元。此外,存储器组件112A到112N的存储器单元可被分组为存储器页或数据块,其可指代用于存储数据的存储器组件的单元。
存储器系统控制器115(此后称为“控制器”)可与存储器组件112A到112N通信以执行例如在存储器组件112A到112N处读取数据、写入数据或擦除数据的操作以及其它此类操作。控制器115可包含例如一或多个集成电路及/或离散组件、缓冲存储器或其组合的硬件。控制器115可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或其它合适处理器。控制器115可包含经配置以执行存储在本地存储器119中的指令的处理器(处理装置)117。在所说明实例中,控制器115的本地存储器119包含经配置以存储指令的嵌入式存储器,所述指令用于执行各种过程、操作、逻辑流程以及控制存储器子系统110的操作的例程,所述操作包含处置存储器子系统110与主机系统120之间的通信。举例来说,本地存储器119可存储在计算数据块的总占用值时确定的任何值。在一些实施例中,本地存储器119可包含存储存储器指针、获取数据等的存储器寄存器。本地存储器119还可包含用于存储微代码的只读存储器(ROM)。尽管图1中的实例存储器子系统110已经说明为包含控制器115,但在本公开的另一实施例中,存储器子系统110可不包含控制器115,且可替代地依赖于外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。
一般来说,控制器115可从主机系统120接收命令或操作,并且可将命令或操作转换为指令或适当命令以实现对存储器装置112A到112N的期望存取。控制器115可负责其它操作,例如损耗均衡操作、垃圾收集操作、错误检测及错误纠正代码(ECC)操作、加密操作、高速缓存操作以及与存储器组件112A到112N相关联的逻辑块地址与物理块地址之间的地址转译。控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收的命令转换为命令指令以存取存储器组件112A到112N,并且将与存储器组件112A到112N相关联的响应转换为用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含可从控制器115接收地址并解码所述地址以存取存储器组件112A到112N的高速缓存或缓冲器(例如,DRAM)及地址电路系统(例如,行解码器及列解码器)。
存储器子系统110包含通电时间(POT)跟踪组件113,其可用于基于存储器子系统110的POT值而跨越一或多个存储器组件112A到112N重新定位存储在数据块处的数据。在一些实施例中,控制器115包含POT跟踪组件113的至少一部分。举例来说,控制器115可包含处理器117(处理装置),其经配置以执行存储在本地存储器119中的用于执行本文所描述的操作的指令。在一些实施例中,POT跟踪组件113是主机系统120、应用程序或操作系统的部分。
POT跟踪组件113可确定存储器组件112A到112N中的一者上的多个数据块的第一数据块的总经估计占用值。POT跟踪组件113可确定第一数据块的总经估计占用值是否满足阈值准则(例如,超过预定阈值)。响应于确定第一数据块的总经估计占用值满足阈值准则,POT跟踪组件113可将存储在第一数据块处的所有数据重新定位到多个数据块的第二数据块。下面描述关于POT跟踪组件113的操作的另外细节。
图2是说明根据本公开的一些实施例的存储器子系统110的通电及断电状态以及对应系统POT值的实例的图。图200表示存储器子系统110的通电及断电状态,且图210描绘根据通电及断电状态的改变的系统POT值的改变。当电源(例如,AC电源、电池或类似者)起始向存储器子系统110供应电力(即,在发生通电事件时)时,存储器子系统110可处于通电状态。另一方面,当电源停止向存储器子系统110供应电力时(即,在发生断电事件时),存储器子系统110可处于断电状态。举例来说,存储器子系统110可在正常工作小时(例如,上午9点到下午5点)期间通电,且然后断电。作为另一实例,存储器子系统110可在正常工作小时期间通电及断电。例如,如在图2中所说明,存储器子系统可通电一小时(例如,小时0到小时1),由于会议而断电另一小时(例如,小时1到小时2),重新通电两小时(例如,小时2到小时4),断电一小时(例如,小时4到小时5),且重新通电(例如,小时5到小时6)。
针对图210的系统POT值是以时间(例如,小时)为单位的值,并且是从POT计时器确定。POT计时器可依据图210中所说明的系统POT值来计算从电源向存储器子系统110供应电力的时间段(例如,秒、分、小时等)。POT计时器将仅在存储器子系统110处于通电状态期间(例如,当向存储器子系统110供应电力时)使系统POT值递增。POT计时器可由POT跟踪组件113维护,并且可连接到存储器子系统110及存储器子系统110的电源(例如,AC电源或类似者)。当从电源供应电力时(包含当存储器子系统110在低电力模式下操作时),POT跟踪组件113可连续地操作POT计时器。当电源不再供应电力时(即,在断电状态或关机模式的情况下),POT跟踪组件113可确定在POT计时器处测量或计数的当前系统POT值,并将系统POT值存储在数据存储区(例如,本地存储器119)中。另一方面,当正在由电源供应电力时(即,在通电状态的情况下),POT跟踪组件113可存取数据存储以确定所存储的最新系统POT值,并且使POT计时器能够恢复从所提供的最新系统POT值计数或递增。在另一实施例中,POT计时器可连接到每一存储器组件112A到112N及每一存储器组件112A到112N的电源。因此,系统POT值可表示针对每一存储器组件112A到112N的POT值。
从上文的实例继续并且如在图2中所说明,当存储器子系统110处于通电状态一小时(例如,小时0到小时1)时,系统POT值可从POT小时0增加到POT小时1。当存储器子系统正在通电时,存储器子系统可致使POT计时器计数。当存储器子系统110因为会议而断电时(例如,在小时1到小时2期间),系统POT值保持不改变。然而,当存储器子系统110在小时2到4期间回到通电状态时,系统POT值将成比例地从POT小时1增加到POT小时3。在存储器子系统110在小时4到小时5之间的中断期间断电的情况下,系统POT值保持在POT小时3。当存储器子系统110在小时5到小时6内重新通电时,系统POT值再次从POT小时3增加到POT小时4。因而,存储器子系统110的系统POT值在系统通电时递增(即,计数),且在系统断电时不递增(即,保持相同)。
存储器子系统110可利用系统POT值来估计数据(例如,第一次写入在数据块上(即,在数据块的第一页上)的数据)已存储在数据块上多长时间(即,总经估计占用值),以便确定是否重新定位数据。在一个实施例中,存储器子系统110可确定已存储数据的POT小时的总长度(即,总块POT值(TBLOCK TOTAL))并乘以表示存储器子系统110的典型POT的缩放因子。举例来说,存储器子系统110可确定数据块上的数据已经存储2个POT小时。假设存储器子系统110很可能一天通电8小时,存储器子系统110可使用缩放因子3(例如,一天中的总时间量(即,24小时)与存储器子系统110通电期间的预期时间量(例如,8小时)的比率—即,24与8的比率是3)。因此,存储器子系统110可近似地确定数据已经存储在数据块上约6小时(即,2个POT小时乘以缩放因子3)—数据块的总经估计占用值为6小时。作为另一实例,缩放因子可为系统在一天期间通电的预期时间量与一天中总时间量的比率(即—即8与24的比率为1/3)。为确定数据块的总经估计占用值,总块POT值可除以缩放因子(即,2个POT小时除以缩放因子1/3为6小时)。从上文实例继续,在一个实施例中,存储器子系统110可使用要求数据块的总经估计占用值至少为1440小时(即,2个月)的阈值准则,或使用1440小时作为预定阈值(即,最小阈值)来决定是否重新定位数据。在此情况下,存储器子系统110可确定不重新定位数据,这是因为数据的总经估计占用值(即,6小时)不满足阈值准则(即,1440小时)。另一方面,如果总经估计占用值为1500小时,那么存储器子系统110可将数据(即,存储在当前数据块中的所有数据)重新定位到新数据块。
在确定针对总经估计占用值的总块POT值(TBLOCK TOTAL)时,存储器子系统110可确定自从数据被写入到数据块上或存储在数据块处以来已经过多少POT(例如,假设没有数据写入数据块的任何其它页,自从数据第一次被写入在数据块的页上以来经过的POT时间)。在实施例中,存储器子系统110可确定当前系统POT小时(TCURR SYS)(例如,图2中的POT小时2.5)并减去存储数据的POT小时(即,初始块POT值;TBLOCK INITIAL)(例如,图2中的POT小时0.5)以计算总块POT值(TBLOCK TOTAl)(例如,POT小时2)。
图3是根据本公开的一些实施例的用于基于存储器子系统的系统POT值重新定位存储在数据块处的数据的实例方法300的流程图。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法300由图1的POT跟踪组件113执行。尽管以特定序列或顺序展示,除非另有指定,否则可修改过程的顺序。因此,所说明实施例应仅被理解为实例,并且所说明过程可不同顺序执行,并且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,并非在每一个实施例中都需要所有过程。其它过程流程是可能的。
在操作310处,处理装置确定存储器子系统110中的多个数据块中的第一数据块的总经估计占用值。处理装置可周期性地确定总经估计占用值。总经估计占用值是以时间为单位的值,并且表示数据已在数据块处存储多长时间的经估计时间周期。总经估计占用值可表示数据已被写入到数据块的第一页多长时间的估计时间周期(即,数据已被首次写入到数据块上多长时间)。在另一实例中,总估计占用值可表示数据已被写入数据块的最后一页多长时间的经估计时间周期(即,数据已被最后写入到数据块上多长时间)。因此,尽管本文根据数据块来参考总经估计占用值,但是所述值自身表示数据已存储在数据块的第一页或最后一页(在多个页当中)上多长时间。然而,总经估计占用值用于决定是否应重新定位存储在相应数据块上的所有数据。为确定第一数据块的总经估计占用值,处理装置可确定第一数据块的总块POT值,并对总块POT值应用缩放因子。
总块POT值是以时间为单位的值,并且以POT表示关于数据已存储在数据块上多长时间的时间长度(即,自从数据存储在数据块上以来系统POT值已增加多少)。
处理装置可从第一数据块的初始块POT值及存储器子系统的当前系统POT值来确定第一数据块的总块POT值。如上文描述,POT跟踪组件113在系统通电时但不在系统断电时对系统POT值进行计数。因此,总块POT值应小于总经估计占用值。处理装置可周期性地确定第一数据块的总块POT值(例如,每12小时或24小时的系统POT值,或每次存在通电事件时)。
初始块POT值是以时间为单位的值,并且表示当数据被写入在相应数据块上时的系统POT值。处理装置可响应于接收在第一数据块的初始页上写入数据的请求来确定第一数据块的初始块POT值。第一数据块的初始页可为第一数据块中请求第一次写入数据的所有页中的一页。因此,处理装置可在第一次在第一数据块上写入数据时识别系统POT值。在另一实例中,处理装置可将第一数据块的初始块POT值确定为存储器子系统110在第一数据块上写入最后数据时的POT值(即,在假设所有其它页已写入有数据的情况下,当数据正在被写入在第一数据块的最后一页上时)。在此情况下,处理装置将响应于接收在第一数据块上写入数据的最后请求(即,写入最后数据的请求,或在第一数据块的最后一页上写入数据的请求),来确定第一数据块的初始块POT值。此外,处理装置可将与第一数据块相关联的初始块POT值存储在缓冲器或数据存储库(例如,本地存储器119)处,使得稍后可在确定总块POT值时查询初始块POT值。此外,处理装置可在第一数据块中存储每一页的初始块POT值,使得处理装置可基于数据已存储在每一页上多长时间的时间周期及所述时间周期是否满足阈值准则来逐页重新定位。在此情况下,处理装置可跟踪第一次被请求在每一页上写入数据的时间作为初始块POT值。
处理装置可计算系统的当前系统POT值及第一数据块的初始块POT值之间的差,以确定第一数据块的总块POT值。处理装置可经配置以周期性地确定针对每一数据块的总块POT值。
处理装置可将缩放因子应用于总块POT值以确定第一数据块的总经估计占用值。缩放因子可对应于一天中的总时间量与存储器子系统110通电的预期时间量的比率。举例来说,可假定存储器子系统110一天通电8小时。接着,可将缩放因子计算为3(即,24与8的比率)。因而,可基于存储器子系统110的使用模式来确定缩放因子。在另一实施例中,可基于存储器子系统110的使用类型来确定缩放因子。举例来说,可存在两种类型的使用-用于数据中心处的服务器或业务设置中的客户端计算机。在存储器子系统110用作服务器系统的部分的情况下,存储器子系统110将一天通电24小时。因此,存储器子系统110可将缩放因子确定为1(即,24与24的比率)。另一方面,对于客户端计算机,存储器子系统110将一天通电8小时,即平均营业小时。在此情况下,存储器子系统110可将缩放因子确定为3(即,24与8的比率)。相同值可用于跨越存储器子系统110中的多个数据块的缩放因子。作为实例,处理装置可将缩放因子与第一数据块的总块POT值相乘,以确定第一数据块的总经估计占用值,如上文参考图2描述。作为另一实例,处理装置可将第一数据块的总块POT值除以缩放因子,如上文参考图2描述。
在操作320处,处理装置可确定第一数据块的总经估计占用值是否满足阈值准则(例如,最小1440小时(2个月))。处理装置可从预先配置的默认值确定阈值准则中使用的值。在另一实施例中,处理装置可确定优化数据块的重新定位所需的P/E循环的数目的阈值准则中使用的值。响应于确定第一数据块的总经估计占用值不满足阈值,处理装置进行到操作310。
另一方面,响应于确定总经估计占用值满足阈值准则,在操作330处,处理装置可将存储在第一数据块处的数据(即,整个数据)重新定位到多个数据块当中的第二数据块。处理装置可选择新或空数据块(即,不存储任何数据的数据块)作为用于重新定位的第二数据块。此外,处理装置可选择已被写入最少次数的数据块。
在另一实例中,可能存在数个数据块(包含第一数据块),其数据应被重新定位,因为其相应总经估计占用值已经被确定以满足阈值准则。在此情况下,处理装置可在每次操作时从这些数据块的一部分(例如,5%)重新定位数据(即,存储在相应数据块中的整个数据)。举例来说,处理装置可从存储器子系统110中的多个数据块识别数据块的子集。子集中的每一块将具有满足阈值准则的总经估计占用值。数据块的子集将包含第一个数据块。然后,处理装置可在第一重新定位操作中重新定位存储在所述子集的第一部分(即,来自所述子集的第一群组(例如,前5%)的数据块)中的所有数据,以及在第二重新定位操作中重新定位存储在所述子集的第二部分(即,来自所述子集的第二群组(例如,下一个5%)的数据块)中的所有数据。通过以此分段方式重新定位数据,在与一次重新定位来自子集中所有数据块的数据相比较时,在每一重新定位操作中移动数据块所需的处理资源要少得多。
图4是根据本公开的一些实施例的用以确定数据块的总经估计占用值的实例方法400的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法400由图1的POT跟踪组件113执行。尽管以特定序列或顺序展示,除非另有指定,否则可修改过程的顺序。因此,所说明实施例应仅被理解为实例,并且所说明过程可不同顺序执行,并且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,并非在每一个实施例中都需要所有过程。其它过程流程是可能的。
在操作410处,处理装置可检测存储器子系统110中的通电事件。通电事件是在经由电源向存储器子系统110供应电力时发生的事件。在操作420处,处理装置可响应于检测到通电事件而使表示存储器子系统110的系统POT值的POT计时器递增。作为实例,处理装置可触发POT计时器以在第一通电事件的情况下从0开始计数,或从先前中断的值继续计数。以此方式,POT计时器可继续计数自上次通电事件发生以来的系统POT值。
在操作430处,处理装置可接收在存储器子系统110中的多个数据块当中的第一数据块的初始页(即,多个页中的第一页)上写入第一数据的请求。如上文参考操作310描述,请求可为第一次在数据块上写入数据的请求。在操作440处,处理装置可响应于接收在第一数据块上写入第一数据的请求,从POT计时器确定第一数据块的初始块POT值。处理装置可存取POT计时器以获得针对初始块POT值的当前值。如上文描述,当存储器子系统110通电时,使系统的当前系统POT值递增,但当存储器子系统110断电时,不使系统的当前系统POT值递增。
在操作450处,处理装置可通过从POT计时器确定第一数据块的初始块POT值与系统的当前系统POT值之间的差来确定第一数据块的总块POT值。所述差可表示自确定第一个数据块的初始块POT值以来已经过多少POT。因此,总块POT值将表示就POT来说第一数据已存储在第一数据块处多长时间。
在操作460处,处理装置可通过将缩放因子应用于第一数据块的总块POT值来确定第一数据块的总经估计占用值。如上文参考操作310描述,缩放因子将对应于一天中的总时间量与存储器子系统110通电的预期时间量的比率。作为实例,处理装置可通过将缩放因子与第一数据块的总块POT值相乘来应用缩放因子。作为另一实例,缩放因子可对应于存储器子系统110通电的预期时间量与一天中的总时间量的比率。在此实例中,处理装置可通过将第一数据块的总块POT值除以缩放因子来应用缩放因子。
此外,响应于确定第一数据块的总经估计占用值满足阈值准则,处理装置可将存储在第一数据块上的数据重新定位到多个数据块中的第二数据块,如上文参考操作330描述。
图5说明计算机系统500的实例机器,在计算机系统500内可执行用于致使所述机器执行本文所论述的方法中的任一或多者的一组指令。在一些实施例中,计算机系统500可对应于主机系统(例如,图1的主机系统120),其包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110),或可用以执行控制器的操作(例如,执行操作系统以执行对应于图1的POT跟踪组件113的操作)。在替代实施例中,所述机器可连接(例如,联网)到LAN、内联网、外联网及/或因特网中的其它机器。所述计算机可在客户端-服务器网络环境中以服务器或客户端机器的身份操作,在对等(或分布式)网络环境中作为对等机器操作,或在云计算基础设施或环境中作为服务器或客户端机器操作。
机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥或能够执行指定待由所述机器采取的动作的一组指令(循序或以其它方式)的任何机器。此外,虽然说明单个机器,但是术语“机器”也应被认为包含个别地或共同地执行一组(或多组)指令以执行本文所论述的方法中的任一者或多者的机器的任何集合。
实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器506(例如,快闪存储器、静态随机存取存储器(SRAM)等)及数据存储器装置518,其经由总线530彼此通信。
处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元或类似者。更特定来说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或是实施其它指令集的处理器,或是实施指令集的组合的处理器。处理装置502也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器或类似者。处理装置502经配置以执行用于执行本文所论述的操作及步骤的指令526。计算机系统500可进一步包含用于通过网络520进行通信的网络接口装置508。
数据存储系统518可包含机器可读存储媒体524(也称为计算机可读媒体),在其上存储体现本文所描述的方法或功能中的任一者或多者的一或多组指令526或软件。在由计算机系统500执行指令526期间,指令526也可全部或至少部分地驻留在主存储器504内及/或处理装置502内,主存储器504及处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518及/或主存储器504可对应于图1的存储器子系统110。
在一个实施例中,指令526包含用以实施对应于POT跟踪组件(例如,图1的POT跟踪组件113)的功能性的指令。尽管在实例实施例中将机器可读存储媒体524展示为单个媒体,但是术语“机器可读存储媒体”应被认为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码一组指令以供机器执行并且致使机器执行本公开的方法中的任一者或多者的任何媒体。因此,术语“机器可读存储媒体”应被认为包含(但不限于)固态存储器、光学媒体及磁性媒体。
已经根据对计算机存储器内的数据位的操作的算法及符号表示来呈现前述详细描述的某些部分。这些算法描述及表示是数据处理领域的技术人员用来最有效地向所属领域的其它技术人员传达其工作实质的方式。此处,算法通常被认为是导致所需结果的自洽操作序列。所述操作是需要对物理量的物理操纵的操作。通常但不是必须的,这些量采用能够被存储、组合、比较及以其它方式操纵的电或磁信号的形式。有时已经证明,主要出于通用的原因将这些信号称为位、值、元素、符号、字符、项、数字或类似者是方便的。
然而,应牢记,所有这些及类似术语均应与适当物理量相关联并且仅仅是应用于这些量的方便标签。本公开可涉及计算机系统或类似电子计算装置的动作及过程,其将表示为计算机系统的寄存器及存储器内的物理(电子)数的数据操纵及变换为类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量。
本公开还涉及用于执行本文的操作的设备。此设备可经专门构造用于预期目的,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储媒体中,例如(但不限于)任何类型的磁盘,包含软盘、光盘、CD-ROM及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适用于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
本文提出的算法及显示并非固有地与任何特定计算机或其它装置相关。各种通用系统可与根据本文的教示的程序一起使用,或可证明构造更专用装置来执行所述方法是方便的。各种这些系统的结构将如下文描述中所阐述那样出现。另外,未参考任何特定编程语言来描述本公开。将解,可使用各种编程语言来实施如本文所描述的本公开的教示。
本公开可被提供为计算机程序产品或软件,其可包含其上存储有指令的机器可读媒体,所述指令可用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程。机器可读媒体包含用于以由机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在前述说明书中,已经参考本公开的特定实例实施例描述本公开的实施例。显而易见的是,在不脱离如所附权利要求书中阐述的本公开的实施例的更广泛精神及范围的情况下,可对其进行各种修改。因此,说明书及图式应被认为是说明意义而不是限制意义的。
Claims (20)
1.一种系统,其包括:
存储器组件,所述存储器组件包括多个数据块;及
处理装置,其与所述存储器组件操作地耦合,所述处理装置用于:
确定所述多个数据块中的第一数据块的总块通电时间POT值;
将缩放因子应用于所述总块POT值以确定所述第一数据块的总经估计占用值;
确定所述第一数据块的所述总经估计占用值是否满足阈值准则;及
响应于确定所述第一数据块的所述总经估计占用值满足所述阈值准则,将存储在所述第一数据块处的数据重新定位到所述多个数据块中的第二数据块。
2.根据权利要求1所述的系统,其中为确定所述第一数据块的所述总块POT值,所述处理装置用于:
响应于接收在所述第一数据块的初始页上写入数据的请求,确定所述第一数据块的初始块POT值,所述第一数据块包括包含所述初始页的多个页。
3.根据权利要求2所述的系统,其中为确定所述第一数据块的所述总块POT值,所述处理装置进一步用于:
确定所述系统的当前系统POT值与所述第一数据块的所述初始块POT值之间的差。
4.根据权利要求3所述的系统,其中所述系统的所述当前系统POT值在所述系统通电时递增且在所述系统断电时不递增。
5.根据权利要求1所述的系统,其中:
所述缩放因子包括一天中的总时间量与所述系统在所述一天期间通电的预期时间量的比率;且
为将所述缩放因子应用于所述总块POT值,所述处理装置用于:
将针对所述多个数据块的所述缩放因子乘以所述第一数据块的所述总块POT值。
6.根据权利要求1所述的系统,其中:
所述缩放因子包括所述系统在所述一天期间通电的预期时间量与一天中的总时间量的比率;且
为将所述缩放因子应用于所述总块POT值,所述处理装置用于:
将所述第一数据块的所述总块POT值除以针对所述多个数据块的所述缩放因子。
7.根据权利要求1所述的系统,其中为将存储在所述第一数据块处的所述数据重新定位到所述多个数据块中的所述第二数据块,所述处理装置用于:
识别所述多个数据块的子集,所述子集中的每个块具有满足所述阈值准则的总经估计占用值,所述多个数据块的所述子集包含所述第一数据块;
在第一重新定位操作中重新定位所述多个数据块的所述子集的第一部分;及
在第二重新定位操作中重新定位所述多个数据块的所述子集的第二部分。
8.一种系统,其包括:
存储器组件,所述存储器组件包括多个数据块;及
处理装置,其与所述存储器组件操作地耦合,所述处理装置用于:
检测所述系统中的通电事件;
响应于检测到所述系统中的所述通电事件,执行使所述系统的系统POT值递增的POT计时器;
接收在所述多个数据块的第一数据块的初始页上写入第一数据的请求;
响应于接收在来自所述第一数据块的多个页的初始页上写入所述第一数据的所述请求,从所述POT计时器确定所述第一数据块的初始块POT值;
通过从所述POT计时器确定所述第一数据块的所述初始块POT值与所述系统的当前系统POT值之间的差来确定所述第一数据块的总块POT值;
通过将缩放因子应用于所述第一数据块的所述总块POT值来确定所述第一数据块的总经估计占用值。
9.根据权利要求8所述的系统,其中:
所述缩放因子包括一天中的总时间量与所述系统通电的预期时间量的比率;且
为将所述缩放因子应用于所述总块POT值以确定所述第一数据块的所述总经估计占用值,所述处理装置用于:
将针对所述多个数据块的所述缩放因子乘以所述第一数据块的所述总块POT值。
10.根据权利要求8所述的系统,其中所述系统的所述当前系统POT值在所述系统通电时递增且在所述系统断电时不递增。
11.根据权利要求8所述的系统,其中:
所述缩放因子包括所述系统通电的预期时间量与一天中的总时间量的比率;且
为将所述缩放因子应用于所述总块POT值以确定所述第一数据块的所述总经估计占用值,所述处理装置用于:
将所述第一数据块的所述总块POT值除以针对所述多个数据块的所述缩放因子。
12.根据权利要求8所述的系统,其中所述处理装置进一步用于:
响应于确定所述第一数据块的所述总经估计占用值满足阈值准则,将存储在所述第一数据块处的数据重新定位到所述多个数据块中的第二数据块。
13.根据权利要求12所述的系统,其中为将存储在所述第一数据块上的所述数据重新定位到所述多个数据块中的所述第二数据块,所述处理装置用于:
识别所述多个数据块的子集,所述子集中的每个块具有满足所述阈值准则的总经估计占用值,所述多个数据块的所述子集包含所述第一数据块;
在第一重新定位操作中重新定位所述多个数据块的所述子集的第一部分;及
在第二重新定位操作中重新定位所述多个数据块的所述子集的第二部分。
14.一种方法,其包括:
确定系统中多个数据块中的第一数据块的总经估计占用值,所述第一数据块的所述总经估计占用值的所述确定包括:
确定所述第一数据块的总块POT值,及
将缩放因子应用于所述总块POT值以确定所述第一数据块的所述总经估计占用值;
确定所述第一数据的所述总经估计占用值是否满足阈值准则;及
响应于确定所述第一数据块的所述总经估计占用值满足所述阈值准则,将存储在所述第一数据块处的数据重新定位到所述多个数据块中的第二数据块。
15.根据权利要求14所述的方法,其中所述第一数据块的所述总块POT值的确定包括:
响应于接收在所述第一数据块的初始页上写入数据的请求,确定所述第一数据块的初始块POT值,所述第一数据块包括包含所述初始页的多个页。
16.根据权利要求15所述的系统,其中所述第一数据块的所述总块POT值的确定包括:
确定所述系统的当前系统POT值与所述第一数据块的所述初始块POT值之间的差。
17.根据权利要求16所述的方法,其中所述系统的所述当前系统POT值在所述系统通电时递增且在所述系统断电时不递增。
18.根据权利要求14所述的方法,其中:
所述缩放因子包括一天中的总时间量与所述系统通电的预期时间量的比率;且
将所述缩放因子应用于所述总块POT值包括:
将针对所述多个数据块的所述缩放因子乘以所述第一数据块的所述总块POT值。
19.根据权利要求14所述的方法,其中:
所述缩放因子包括所述系统通电的预期时间量与一天中的总时间量的比率;且
将所述缩放因子应用于所述总块POT值包括:
将所述第一数据块的所述总块POT值除以针对所述多个数据块的所述缩放因子。
20.根据权利要求14所述的方法,其中将存储在所述第一数据块的所述数据重新定位到所述多个数据块中的所述第二数据块包括:
识别所述多个数据块的子集,所述子集中的每个块具有满足所述阈值准则的总经估计占用值,所述多个数据块的所述子集包含所述第一数据块;
在第一重新定位操作中重新定位所述多个数据块的所述子集的第一部分;及
在第二重新定位操作中重新定位所述多个数据块的所述子集的第二部分。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/175,579 | 2018-10-30 | ||
US16/175,579 US11379355B2 (en) | 2018-10-30 | 2018-10-30 | Power-on-time based data relocation |
PCT/US2019/058658 WO2020092435A1 (en) | 2018-10-30 | 2019-10-29 | Power-on-time based data relocation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113168373A true CN113168373A (zh) | 2021-07-23 |
Family
ID=70326964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980077155.6A Pending CN113168373A (zh) | 2018-10-30 | 2019-10-29 | 基于通电时间的数据重新定位 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11379355B2 (zh) |
CN (1) | CN113168373A (zh) |
WO (1) | WO2020092435A1 (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1546879A1 (en) * | 2002-09-24 | 2005-06-29 | Interdigital Technology Corporation | Block error rate estimate reporting for target signal to interference ratio adjustment |
US20110283051A1 (en) * | 2010-05-14 | 2011-11-17 | Sandisk Il Ltd. | Moving executable code from a first region of a non-volatile memory to a second region of the non-volatile memory |
CN102841868A (zh) * | 2011-05-20 | 2012-12-26 | 国际商业机器公司 | 使用优化的基于闪存的高速缓存存储器的方法和系统 |
US20130332791A1 (en) * | 2012-06-11 | 2013-12-12 | Phison Electronics Corp. | Data protection method, and memory controller and memory storage device using the same |
US20140059405A1 (en) * | 2012-08-21 | 2014-02-27 | Western Digital Technologies, Inc. | Solid-state drive retention monitor using reference blocks |
CN104969560A (zh) * | 2013-02-04 | 2015-10-07 | 高通股份有限公司 | 确定对于网络流式传输可用的媒体数据 |
US10417123B1 (en) * | 2013-05-16 | 2019-09-17 | Western Digital Technologies, Inc. | Systems and methods for improving garbage collection and wear leveling performance in data storage systems |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070028124A1 (en) * | 2005-07-29 | 2007-02-01 | Resnick Russell A | Measuring power-on-time in data processing systems |
US7743203B2 (en) * | 2007-05-11 | 2010-06-22 | Spansion Llc | Managing flash memory based upon usage history |
KR20090012941A (ko) | 2007-07-31 | 2009-02-04 | 황보의 | 네비게이션 장치 |
JP4439569B2 (ja) | 2008-04-24 | 2010-03-24 | 株式会社東芝 | メモリシステム |
US9461470B2 (en) | 2012-04-10 | 2016-10-04 | Cooper Technologies Company | Distributed electricity demand-reserve prediction |
US20140181585A1 (en) | 2012-12-20 | 2014-06-26 | Virtium Technology, Inc. | Real usage model for solid-state drive |
US9230688B2 (en) | 2013-11-08 | 2016-01-05 | Micron Technology, Inc. | Determining an age of data stored in memory |
-
2018
- 2018-10-30 US US16/175,579 patent/US11379355B2/en active Active
-
2019
- 2019-10-29 CN CN201980077155.6A patent/CN113168373A/zh active Pending
- 2019-10-29 WO PCT/US2019/058658 patent/WO2020092435A1/en active Application Filing
-
2022
- 2022-06-07 US US17/834,794 patent/US11789862B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1546879A1 (en) * | 2002-09-24 | 2005-06-29 | Interdigital Technology Corporation | Block error rate estimate reporting for target signal to interference ratio adjustment |
US20110283051A1 (en) * | 2010-05-14 | 2011-11-17 | Sandisk Il Ltd. | Moving executable code from a first region of a non-volatile memory to a second region of the non-volatile memory |
CN102841868A (zh) * | 2011-05-20 | 2012-12-26 | 国际商业机器公司 | 使用优化的基于闪存的高速缓存存储器的方法和系统 |
US20130332791A1 (en) * | 2012-06-11 | 2013-12-12 | Phison Electronics Corp. | Data protection method, and memory controller and memory storage device using the same |
US20140059405A1 (en) * | 2012-08-21 | 2014-02-27 | Western Digital Technologies, Inc. | Solid-state drive retention monitor using reference blocks |
CN104969560A (zh) * | 2013-02-04 | 2015-10-07 | 高通股份有限公司 | 确定对于网络流式传输可用的媒体数据 |
US10417123B1 (en) * | 2013-05-16 | 2019-09-17 | Western Digital Technologies, Inc. | Systems and methods for improving garbage collection and wear leveling performance in data storage systems |
Also Published As
Publication number | Publication date |
---|---|
US20220300415A1 (en) | 2022-09-22 |
WO2020092435A1 (en) | 2020-05-07 |
US20200133834A1 (en) | 2020-04-30 |
US11789862B2 (en) | 2023-10-17 |
US11379355B2 (en) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11640262B2 (en) | Implementing variable number of bits per cell on storage devices | |
US11288157B2 (en) | Controller and operation method thereof | |
US11017847B2 (en) | On-demand high performance mode for memory write commands | |
US11249679B2 (en) | Selecting a write operation mode from multiple write operation modes | |
US11836392B2 (en) | Relocating data to low latency memory | |
US11354037B2 (en) | Scan frequency modulation based on memory density or block usage | |
US11726908B2 (en) | Garbage collection in a memory sub-system during a low battery state | |
CN112673427B (zh) | 数据状态同步 | |
US11698742B2 (en) | Garbage collection in a memory component using an adjusted parameter | |
US11923031B2 (en) | Tracking charge loss in memory sub-systems | |
US11789862B2 (en) | Power-on-time based data relocation | |
US11600315B2 (en) | Performing a refresh operation based on system characteristics | |
US11494095B1 (en) | Power behavior detection in a memory device | |
CN112750490A (zh) | 使用环境参数来进行编程脉冲控制 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |