CN117730305A - 用于低功率模式的nvm中的选择性hmb备份 - Google Patents
用于低功率模式的nvm中的选择性hmb备份 Download PDFInfo
- Publication number
- CN117730305A CN117730305A CN202280048868.1A CN202280048868A CN117730305A CN 117730305 A CN117730305 A CN 117730305A CN 202280048868 A CN202280048868 A CN 202280048868A CN 117730305 A CN117730305 A CN 117730305A
- Authority
- CN
- China
- Prior art keywords
- memory device
- blocks
- controller
- data
- data storage
- 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
- 238000013500 data storage Methods 0.000 claims abstract description 87
- 230000036541 health Effects 0.000 claims abstract description 41
- 238000012544 monitoring process Methods 0.000 claims description 30
- 230000002159 abnormal effect Effects 0.000 claims description 22
- 238000012937 correction Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 9
- 238000000034 method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 102100036725 Epithelial discoidin domain-containing receptor 1 Human genes 0.000 description 1
- 101710131668 Epithelial discoidin domain-containing receptor 1 Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- 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/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/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/40—Specific encoding of data in memory or cache
- G06F2212/403—Error protection encoding, e.g. using parity or ECC codes
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种数据存储设备,包括存储器设备以及耦接到该存储器设备的控制器。控制器被配置为将XOR奇偶校验数据存储在主机设备的主机存储器缓冲器(HMB)中,监测存储器设备的健康状况,确定已经达到或超过对应于该存储器设备的一个或多个块的健康状况的阈值,并且将XOR奇偶校验数据从HMB复制到存储器设备。控制器被进一步配置为从主机设备接收低功率模式指示并且在将XOR奇偶校验数据从HMB复制到存储器设备之后进入低功率模式。控制器被进一步配置为使用在HMB中检索的XOR奇偶校验数据来校正读取失败。
Description
相关申请的交叉引用
本申请出于所有目的要求2021年9月10日提交的名称为“用于低功率模式的NVM中的选择性HMB备份(SELECTIVE HMB BACKUP IN NVM FOR LOW POWER MODE)”的美国非临时申请17/471,608号的全部内容的权益并且特此以引用方式并入该美国非临时申请的全部内容。
背景技术
技术领域
本公开的实施方案整体涉及数据存储设备,诸如固态驱动器(SSD),并且更具体地,涉及在低功率模式期间的数据恢复方法。
相关领域的描述
非易失性存储器(NVM)接口规范(NVMe)基于成对提交队列和完成队列机制。主机设备将命令置于提交队列中,并且数据存储设备的控制器将与已完成的命令相关联的完成消息置于完成队列中。一般而言,将提交队列和完成队列分配在主机设备的存储器中,其中,每个队列可以在物理上连续地或非连续地位于存储器中。
因为数据存储设备中的随机存取存储器(RAM)数量有限,所以控制器可以保守地使用RAM作为用户数据的高速缓存器(以限制突然断电造成的损坏),并且可以将组织元数据存储在RAM中,诸如逻辑到物理(L2P)表。为了实现快速且一致的性能,选择数据结构,以最大程度地减少所需的计算量和RAM查找次数,而代价是需要更多的RAM。常见的成本降低方法是,可以从位于主机设备中的共享存储器池分配RAM,而不是向数据存储设备添加附加RAM。主机存储器缓冲器(HMB)可由主机设备分配,以供PCIe/NVMe设备中的数据存储设备使用,其利用PCIe协议以使得控制器能够直接访问HMB。
在主机设备初始化期间,将HMB分配作为固定缓冲器,并且将其完全交给数据存储设备,作为专用存储器位置。然后,数据存储设备可直接访问HMB并且将HMB视为数据存储设备的存储器的扩展部分。当数据存储设备进入低功率模式时,主机设备与控制器之间的链路被关闭。然而,控制器仍然可以继续在后台(BKOPS)执行数据管理操作并且可要求储存于HMB中的数据。因为主机设备与控制器之间的链路被关闭,所以控制器无法使用HMB。
因此,当数据存储设备处于低功率模式时,本领域需要一种改进的数据恢复方法。
发明内容
本公开整体涉及数据存储设备,诸如固态驱动器(SSD),并且更具体地,涉及在低功率模式期间的数据恢复方法。一种数据存储设备包括存储器设备以及耦接到该存储器设备的控制器。控制器被配置为将XOR奇偶校验数据存储在主机设备的主机存储器缓冲器(HMB)中,监测存储器设备的健康状况,确定已经达到或超过对应于该存储器设备的一个或多个块的健康状况的阈值,并且将XOR奇偶校验数据从HMB复制到存储器设备。控制器被进一步配置为从主机设备接收低功率模式指示并且在将XOR奇偶校验数据从HMB复制到存储器设备之后进入低功率模式。控制器被进一步配置为使用在HMB中检索的XOR奇偶校验数据来校正读取失败。
在一个实施方案中,数据存储设备包括存储器设备和耦接到该存储器设备的控制器。控制器被配置为将XOR奇偶校验数据存储在主机设备的主机存储器缓冲器(HMB)中,监测存储器设备的健康状况,确定已经达到或超过对应于该存储器设备的一个或多个块的健康状况的阈值,并且将XOR奇偶校验数据从HMB复制到存储器设备。
在另一个实施方案中,数据存储设备包括存储器设备以及耦接到存储器设备的控制器。控制器被配置为将XOR奇偶校验数据存储在主机设备的主机存储器缓冲器(HMB)中;监测存储器设备的一个或多个开放块的误码率(BER)、存储器设备的一个或多个开放块的编程擦除循环(PEC)的数量、存储器设备的一个或多个开放块的温度变化,以及相对于存储器设备的大多数开放块的一个或多个开放块的异常状况中的至少一者;确定已经达到或超过对应于监测的阈值;并且将XOR奇偶校验数据从HMB复制到存储器设备。
在另一个实施方案中,数据存储设备包括存储器装置以及耦接到该存储器装置的控制器。控制器被配置为确定一个或多个块已经超过温度阈值或者与一个或多个块中的大多数其它块相比,一个或多个块出现异常状况;在存储器装置中检索XOR奇偶校验数据;执行读取操作以读取一个或多个块或者与一个或多个块相邻的块中的第一数据;利用在存储器装置中检索的XOR奇偶校验数据对第一数据执行错误校正;确定超过温度阈值或出现异常状况的一个或多个块不再超过温度阈值或不再出现异常状况;在主机存储器缓冲器(HMB)中检索XOR奇偶校验数据;执行读取操作以读取一个或多个块或者与一个或多个块相邻的块中的第二数据;并且利用在HMB中检索的XOR奇偶校验数据对第二数据执行错误校正。
附图说明
因此,通过参考实施方案,可以获得详细理解本公开的上述特征的方式、本公开的更具体描述、上述简要概述,所述实施方案中的一些在附图中示出。然而,应当注意的是,附图仅示出了本公开的典型实施方案并且因此不应视为限制其范围,因为本公开可以允许其他同等有效的实施方案。
图1是示出根据某些实施方案的存储系统的示意性框图,其中数据存储设备可用作主机设备的存储设备。
图2是示出根据特定实施方案的每次循环条件的失败位计数(failed bit count,FBC)分布和开放块保留的图表的集合的图示。
图3是根据特定实施方案的链路功率管理流程图的图示。
图4是示出根据特定实施方案的使用XOR奇偶校验数据来校正读取失败的方法的流程图。
图5是示出根据特定实施方案的使用XOR奇偶校验数据来校正读取失败的方法的流程图。
为了有助于理解,在可能的情况下,使用相同的参考标号来表示附图中共有的相同元件。可以设想,在一个实施方案中公开的元件可有利地用于其他实施方案而无需具体叙述。
具体实施方式
在下文中,参考本公开的实施方案。然而,应当理解,本公开不限于具体描述的实施方案。相反,思考以下特征和元件的任何组合(无论是否与不同实施方案相关)以实现和实践本公开。此外,尽管本公开的实施方案可以实现优于其他可能解决方案和/或优于现有技术的优点,但是否通过给定实施方案来实现特定优点不是对本公开的限制。因此,以下方面、特征、实施方案和优点仅是说明性的,并且不被认为是所附权利要求书的要素或限制,除非在权利要求书中明确地叙述。同样地,对“本公开”的引用不应当被解释为本文公开的任何发明主题的概括,并且不应当被认为是所附权利要求书的要素或限制,除非在权利要求书中明确地叙述。
本公开整体涉及数据存储设备,诸如固态驱动器(SSD),并且更具体地,涉及在低功率模式期间的数据恢复方法。一种数据存储设备包括存储器设备以及耦接到该存储器设备的控制器。控制器被配置为将XOR奇偶校验数据存储在主机设备的主机存储器缓冲器(HMB)中,监测存储器设备的健康状况,确定已经达到或超过对应于该存储器设备的一个或多个块的健康状况的阈值,并且将XOR奇偶校验数据从HMB复制到存储器设备。控制器被进一步配置为从主机设备接收低功率模式指示并且在将XOR奇偶校验数据从HMB复制到存储器设备之后进入低功率模式。控制器被进一步配置为使用在HMB中检索的XOR奇偶校验数据来校正读取失败。
图1是根据某些实施方案的存储系统100的示意性框图,其中主机设备104与数据存储设备106通信。例如,主机设备104可以利用包括在数据存储设备106中的非易失性存储器(NVM)110来存储和检索数据。主机设备104包括主机动态随机存取存储器(DRAM)138。主机DRAM 138包括主机存储器缓冲器(HMB)150,该主机存储器缓冲器是被分配给数据存储设备106以供控制器108使用的主机DRAM 138的一部分。例如,控制器108可以替代地将诸如元数据、XOR奇偶校验数据等数据存储在HMB 150中,而不是将这些数据存储在易失性存储器112中或控制器108的诸如DRAM之类的内部存储器中。主机设备104允许控制器108完全访问HMB 150,使得HMB 150是数据存储设备106的存储器的扩展部分。
在一些示例中,存储系统100可以包括可作为存储阵列工作的多个存储设备,诸如数据存储设备106。例如,存储系统100可以包括多个数据存储设备106,其被配置成共同用作主机设备104的大容量存储设备的廉价/独立磁盘(RAID)冗余阵列。
主机设备104可以向一个或多个存储设备(诸如数据存储设备106)存储数据和/或从其检索数据。如图1所示,主机设备104可以经由接口114与数据存储设备106通信。主机设备104可以包括多种设备中的任何一种,包括计算机服务器、网络附接存储(NAS)单元、台式计算机、笔记本(即膝上型)计算机、平板计算机、机顶盒、电话手机诸如所谓的“智能”电话、所谓的“智能”平板电脑、电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备,或能够从数据存储设备发送或接收数据的其他设备。
数据存储设备106包括控制器108、NVM 110、电源111、易失性存储器112、接口114和写缓冲区116。在一些示例中,为了清楚起见,数据存储设备106可以包括图1中未示出的附加部件。例如,数据存储设备106可以包括印刷电路板(PCB),数据存储设备106的部件机械地附接到该印刷板,并且该印刷板包括电互连数据存储设备106的部件等的导电迹线。在一些示例中,数据存储设备106的物理尺寸和连接器配置可以符合一个或多个标准形状因数。一些示例性标准形状因子包括但不限于3.5”数据存储设备(例如,HDD或SSD)、2.5”数据存储设备、1.8”数据存储设备、外围部件互连(PCI)、PCI扩展(PCI-X)、PCI接口规范(PCIe)(例如,PCIe x1、x4、x8、x16、PCIe Mini卡、MiniPCI等)。在一些示例中,数据存储设备106可以直接耦接(例如,直接焊接或插入到连接器中)到主机设备104的母板。
接口114可以包括用于与主机设备104交换数据的数据总线和用于与主机设备104交换命令的控制总线中的一者或两者。接口114可以根据任何合适的协议工作。例如,接口114可以根据以下协议中的一个或多个协议来操作:高级技术附件(ATA)(例如,串行ATA(SATA)和并行ATA(PATA))、光纤信道协议(FCP)、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、PCI和PCIe、非易失性存储器接口规范(NVMe)、OpenCAPI、GenZ、高速缓存相干接口加速器(CCIX)、开放信道SSD(OCSSD)等。接口114(例如,数据总线、控制总线或两者)电连接到控制器108,从而提供主机设备104与控制器108之间的电连接,允许在主机设备104与控制器108之间交换数据。在一些示例中,接口114的电连接还可以允许数据存储设备106从主机设备104接收电力。例如,如图1所示,电源111可以经由接口114从主机设备104接收电力。
NVM 110可包括多个存储器设备或存储器单元。NVM 110可以被配置成存储和/或检索数据。例如,NVM 110的存储器单元可接收数据和来自控制器108的指示存储器单元存储该数据的消息。类似地,存储器单元可从控制器108接收指示存储器单元检索数据的消息。在一些示例中,存储器单元中的每个存储器单元可以被称为裸片。在一些示例中,NVM110可包括多个裸片(例如,多个存储器单元)。在一些示例中,每个存储器单元可以被配置成存储相对大量的数据(例如,128MB、256MB、512MB、1GB、2GB、4GB、8GB、16GB、32GB、64GB、128GB、256GB、512GB、1TB等)。
在一些示例中,每个存储器单元可以包括任何类型的非易失性存储器设备,诸如闪存存储器设备、相变存储器(PCM)设备、电阻随机存取存储器(ReRAM)设备、磁阻随机存取存储器(MRAM)设备、铁电随机存取存储器(F-RAM)、全息存储器设备、以及任何其他类型的非易失性存储器设备。
NVM 110可包括多个闪存存储器设备或存储器单元。NVM闪存存储器设备可包括基于NAND或NOR的闪存存储器设备,并且可基于包含在用于每个闪存存储器单元的晶体管的浮栅中的电荷来存储数据。在NVM闪存存储器设备中,闪存存储器设备可被划分成多个裸片,其中多个裸片中的每个裸片包括多个物理或逻辑块,这些物理或逻辑块可被进一步划分成多个页面。特定存储器设备内的多个块中的每个块可以包括多个NVM单元。NVM单元的行可以使用字线来电连接以限定多个页面中的页面。多个页面中的每个页面中的相应单元可以电连接到相应位线。此外,NVM闪存存储器设备可以是2D或3D设备,并且可以是单级单元(SLC)、多级单元(MLC)、三级单元(TLC)或四级单元(QLC)。控制器108可在页面层级向NVM闪存存储器设备写入数据以及从其读取数据,以及在块层级从NVM闪存存储器设备擦除数据。
电源111可以向数据存储设备106的一个或多个部件提供电力。当以标准模式操作时,电源111可以使用由外部设备诸如主机设备104提供的电力向一个或多个部件供电。例如,电源111可以使用经由接口114从主机设备104接收的电力向一个或多个部件供电。在一些示例中,电源111可以包括一个或多个电力存储部件,其被配置成当以关闭模式操作时向一个或多个部件供电,诸如在停止从外部设备接收电力的情况下。以这种方式,电源111可以用作机载备用电源。一个或多个电力存储部件的一些示例包括但不限于电容器、超级电容器、电池等。在一些示例中,可由一个或多个电力存储部件存储的电量可以是该等一个或多个电力存储部件的成本和/或尺寸(例如,面积/体积)的函数。换言之,随着由一个或多个电力存储部件存储的电量增加,一个或多个电力存储部件的成本和/或尺寸也增加。
易失性存储器112可由控制器108用来存储信息。易失性存储器112可包括一个或多个易失性存储器设备。在一些示例中,控制器108可使用易失性存储器112作为高速缓存。例如,控制器108可将高速缓存的信息存储在易失性存储器112中,直到高速缓存的信息被写入到NVM 110。如图1所示,易失性存储器112可以消耗从电源111接收的电力。易失性存储器112的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态RAM(SRAM)和同步动态RAM(SDRAM(例如,DDR1、DDR2、DDR3、DDR3L、LPDDR3、DDR4、LPDDR4等))。
控制器108可以管理数据存储设备106的一个或多个操作。例如,控制器108可以管理从NVM 110读取数据和/或将数据写入该NVM。在一些实施方案中,当数据存储设备106从主机设备104接收写入命令时,控制器108可以发起数据存储命令以将数据存储到该NVM110并且监测数据存储命令的进度。控制器108可以确定存储系统100的至少一个操作特性,并且将该至少一个操作特性存储到该NVM 110。
在一些实施方案中,当数据存储设备106通过主机总线152接收到主机设备104的写入命令时,控制器108在通过NVM总线122将数据发送至NVM 110以传输数据之前将与写入命令相关联的数据暂时存储在内部存储器或写入缓冲器116中。出于示例性目的,主机总线152在本文可以被称为“链路”。在其它实施方案中,当数据存储设备106接收到主机设备104的写入命令时,控制器108可以通过NVM总线122将数据发送到NVM 110以传输数据,而不将数据临时存储在缓冲器116中。
控制器108包括异或(XOR)奇偶校验引擎118和低功率模式控制单元120。当控制器108接收到与写入命令相关联的数据时,XOR奇偶校验引擎118为所接收的数据生成XOR奇偶校验数据。然后,控制器108将XOR奇偶校验数据写入到HMB 150中,作为诸如错误校正码(ECC)、低密度奇偶校验(LDPC)等其它数据校正机制的备份。当由于误码率(BER)或失败位计数(FBC)超过数据校正机制的阈值而导致在NVM 110读取数据发生读取失败时,控制器108可以在HMB 150中检索XOR奇偶校验数据以尝试校正在NVM 110读取的数据。在一些示例中,最后六个写入块的XOR奇偶校验数据存储在HMB 150中。先前列出的写入块的数量并非旨在进行限制,并且设想控制器108可将与多于或少于所列出的块数量相关联的XOR奇偶校验数据存储到HMB 150。
低功率模式控制单元120被配置为监测NVM 110的一个或多个块的健康状况,并且在数据存储设备106转换到低功率状态模式之前的危急情况下将XOR奇偶校验数据从HMB150复制到NVM 110。在一些示例中,低功率模式控制单元120可被配置为在接收到低功率状态模式转换请求之前(即,在正常运行期间)将XOR奇偶校验数据从HMB 150传输到NVM 110。监测一个或多个开放块的健康状况包括监测开放块的BER,其可包括开放块已经开放的时间、开放块的编程擦除循环(PEC)、开放块或相邻开放块的极端外部条件(例如,温度变化),以及一个或多个开放块相对于大多数开放块或相对于NVM 110的相邻开放块的异常状况。应当理解,可以监测与一个或多个开放块的健康状况相关的其它因素并且可以将其应用于本文所述的实施方案。
可将危急情况描述为一个或多个开放块达到或超过与每种健康因素相关联的阈值的任何监测健康因素。阈值可由控制器108在数据存储设备106的运行期间基于NVM 110的健康状况和特性来动态调整。因此,一旦确定出现危急情况,控制器108就可以在HMB 150中检索相关的XOR奇偶校验数据并且将XOR奇偶校验数据存储在NVM 110中。例如,如果低功率模式控制单元120确定块(正读取的块或相邻的块)出现异常状况,诸如极端温度变化,则低功率模式控制单元120可警告控制器108检索对应的XOR奇偶校验数据。一旦异常状况已得到平息,控制器就可以更新存储在HMB中的XOR奇偶校验数据。
图2是示出根据特定实施方案的每次循环(即,PEC)的失败位计数(FBC)分布和开放块保留的图表200的集合的图示。应当理解,所示出的图表200的集合旨在作为示例性说明而非限制性说明。图表的每个标题表示开放块保留时间,使得“时间0”是指未使用的存储器设备或NVM,诸如图1的NVM 110,而“400小时后”是指例如可以是连续使用或非连续使用总共400小时。此外,每条曲线表示PEC的数量。例如,1PEC是指1次编程擦除循环,而500PEC是指500次编程擦除循环。作为FBC/4KB的X轴表示与开放块相关联的BER。Y轴是文件夹扇区失败率(Folded_SER),它是出现对应FBC的概率。
如图表200的集合所示,随着PEC的数量增加,FBC/4KB增加。同样,随着开放块保留时间增加,FBC/4KB值增加。在约700FBC/4KB处示出的LDPC线表示LDPC解码能力或阈值FBC/4KB值。可基于数据存储设备106的运行状况来动态调整LDPC线。尽管每次循环的FBC/4KB不超过或越过LDPC线,但是每次循环的FBC/4KB增长到接近超过或越过LDPC线。重新参考图1,低功率模式控制单元120可确定与解码能力相关联的块越过BER阈值的概率。因此,如果低功率模式控制单元120确定该概率不太可能出现或者发生解码/读取失败的概率高,则低功率模式控制单元120可促使控制器108在进入低功率状态模式之前在HMB 150中检索与一个或多个块相关联的XOR奇偶校验数据。
图3是根据特定实施方案的链路功率管理流程图300的图示。存储系统100的各方面可在本文的描述中用于示例性目的。数据存储设备106包括若干功率状态。例如,数据存储设备106可以具有以下5个功率状态:L0、L0s、L1、L2和L3,其中,L1包括L1.1子状态和L1.2子状态。每种功率状态与数据存储设备106的不同运行相关联。功率状态L0、L0s和L1被认为是运行功率状态,使用约1W至约8W的功率,而功率状态L2和L3被认为是非运行功率状态,使用约2mW至约50mW的功率。
运行功率状态是指主机设备104与数据存储设备106的NVM 110通信的能力。非运行功率状态是指由于关闭或断开主机设备104与控制器108之间的链路而使主机设备104无法与数据存储设备106的NVM 110通信。所列出的非运行功率状态并非旨在进行限制,并且可以包括其它功率状态,诸如L1.1功率状态和L1.2功率状态。此外,设想比链路功率管理流程图300中所示的功率状态数量更多或更少的功率状态可以可用,并且更多或更少的低功率状态可适用于本文所述的实施方案。
按顺序为功率状态编号,其中,由于离线电路更多,更高的数字表示更低的功率需求和对应更高的退出延迟。此外,每个功率状态具有相关联的功率需求和退出延迟。L0和L0s可能需要4.5W且具有最低退出延迟。L1可能比L0需要更少的功率,诸如3W,并且可以具有等于或高于L0的退出延迟的退出延迟。L2可能比L1需要更少的功率并且可以具有等于或高于L1的退出延迟的退出延迟。L3可能比L2需要更少的功率并且可以具有等于或高于L2的退出延迟的退出延迟。电力状态及退出延迟的值并非旨在进行限制,而是提供可能的实施方案的示例。
L0被称为完全运行状态,其中启用I/O命令并且设备可以生成中断。中断是由于系统定时器或用户命令导致的固件执行的自动传输。功率状态L0s和L1也是运行状态;然而,L0s和L1可以具有比L0更低的功能性。例如,L0s具有与L0的功率需求类似的功率需求,但仅允许在一个方向上的串行链路。然而,L1允许双向串行链路并且允许更大的功率需求减少,但具有比L0和L0s更高的退出延迟。功率状态L2和L3是非运行状态,其功率需求比运行功率状态的功率需求更少。此外,使未使用的存储器设备206置于非运行功率状态L2和L3下以将待机电力消耗限制到最小值。
为了发生I/O命令,将NVM 110唤醒并且将其置于L0、L0s或L1下。控制器108将NVM110的功率状态从诸如L0、L0s或L1之类的运行功率状态更改为不同的诸如L0、L0s或L1之类的运行功率状态,或者更改为诸如L2或L3之类的非运行功率状态,取决于具体情况。然而,为了使NVM 110被置于L2或L3下,NVM 110将需要处于功率状态L2/L3准备就绪,这是针对功率和参考时钟的损失准备该部件的伪状态。当需要完全运行状态时,控制器108分配适当量的功率以将所有功率状态L0s、L1、L2、L3返回到功率状态L0。例如,为了从L2或L3返回到L0,NVM 110在转换到L0之前转换为瞬态伪状态LDn。LDn状态可以是由上游部件(例如,主机设备104)的基本复位状态、热复位状态或链路禁用传输状态。
在一些实施方案中,功率状态L1包括附加子状态L1.1和L1.2,其中,功率状态L1被称为L1.0。L1子状态(L1SS)、L1.1和L1.2可能需要比L2和L3更多的功率以供运行;然而,L1SS利用的功率比L1.0状态更少。在L1SS处,NVM 110保持运行并且需要更少的功率来返回到更多的运行状态,诸如L1.0或L0。此外,L1SS需要比L2和/或L3功率状态更少的时间来返回到完全活动功率状态L0。
图4是示出根据特定实施方案的使用XOR奇偶校验数据来校正读取失败的方法400的流程图。图1的存储系统100的各方面可在本文的描述中用于示例性目的。例如,方法400可由控制器108采用。
在框402处,控制器108将由XOR奇偶校验引擎118生成的XOR奇偶校验数据存储在HMB 150中。所存储的XOR奇偶校验数据可与多个最近写入的块相关联,诸如六个最近写入到的块,或者多达NVM 110中的包括有效数据的数据块。在框404处,低功率模式控制单元120监测一个或多个块的健康状况并且确定该健康状况是否高于阈值。例如,健康状况可与BER、PEC、温度变化、当与其它开放块比较时开放块的异常状况等相关联。在框406处,控制器108接收进入低功率状态模式的指示。低功率状态模式可以是诸如L1SS功率状态、L2功率状态或L3功率状态之类的低功率状态中的任一种。
在框408处,控制器确定一个或多个最近写入到的块的健康状况是否高于阈值(例如,危急情况)。如果在框408处,健康状况不高于阈值,则方法400继续前往方法420,其中,方法420还可描述使用XOR奇偶校验数据来校正读取失败的当前方法。在框422处,数据存储设备106进入低功率状态模式,其中,到达主机设备104的链路被关闭并且后台操作(例如维护操作)被触发。后台操作可包括垃圾收集、数据重定位、损耗均衡等。
在框424处,控制器108确定由于BER或FBC超过解码器的解码能力而发生了读取失败。因为XOR奇偶校验数据存储在HMB 150中,并且到达HMB的链路断开,所以控制器108无法访问HMB。因此,在框426处,控制器108等待到达主机设备104的链路被重新初始化。
在框426处,在链路被重新初始化之后,在框428处,控制器108在HMB 150中检索XOR奇偶校验数据,该XOR奇偶校验数据对应于与读取失败相关联的数据。在框430处,控制器108使用在HMB 150中检索的相关XOR奇偶校验数据来校正与读取失败相关联的数据。
如果在框408处的健康状况高于阈值,则在框410处,低功率模式控制单元120指示控制器108将XOR奇偶校验数据从HMB 150复制到NVM 110以用作针对危急情况(例如,一个或多个块高于阈值)的备份。应当理解,控制器108可仅复制相关XOR奇偶校验数据(例如,与高于阈值的可包括相邻的开放块的一个或多个开放块相关联的XOR奇偶校验数据)或者与多个最近写入到的开放块相关联的XOR奇偶校验数据。在框412处,数据存储设备106进入低功率状态模式,其中,到达主机设备104的链路被关闭并且后台操作(例如维护操作)被触发。后台操作可包括垃圾收集、数据重定位、损耗均衡等。
在框414处,控制器108确定已经发生读取失败,其中,读取失败可能与在框412处的后台操作期间的数据读取相关联。在框416处,在NVM 110中检索XOR奇偶校验数据,该XOR奇偶校验数据与对应于读取失败的数据相关联。在框418处,控制器108使用在NVM 110中检索的相关XOR奇偶校验数据来校正与读取失败相关联的数据。
图5是示出根据特定实施方案的使用XOR奇偶校验数据来校正读取失败的方法500的流程图。图1的存储系统100的各方面可在本文的描述中用于示例性目的。例如,方法500可由控制器108采用。
在框502处,控制器108将由XOR奇偶校验引擎118生成的XOR奇偶校验数据存储在HMB 150中。所存储的XOR奇偶校验数据可与多个最近写入的块相关联,诸如六个最近写入到的块,或者多达NVM 110中的包括有效数据的数据块。在框504处,低功率模式控制单元120监测一个或多个块的健康状况并且确定该健康状况是否高于阈值。例如,健康状况可与BER、PEC、温度变化、当与其它开放块比较时开放块的异常状况等相关联。在框506处,控制器108确定是否已经接收到进入低功率状态模式的指示(例如,命令)。如果在框506处没有进入低功率状态模式的指示,则在框504处低功率模式控制单元120继续监测一个或多个开放块的健康状况。然而,如果在框506处已经存在进入低功率状态模式的指示,则在框508处控制器确定是否已经达到或超过对应于一个或多个块的健康状况的阈值。例如,阈值可以是图2的图表200的集合中例示的LDPC线。
如果在框508处已经达到或超过对应于一个或多个块的健康状况的阈值,则在框510处由控制器108在HMB 150中检索对应XOR奇偶校验数据并且将其编程到NVM 110。然而,如果在框508处尚未达到或超过对应于一个或多个块的健康状况的阈值,或者在框510处在HMB 150中检索相关XOR奇偶校验数据并且将其编程到NVM 110之后,则在框512处,数据存储设备106进入低功率状态模式。当数据存储设备106进入低功率状态模式时,HMB 150与控制器108之间的链路可被去激活或关闭。
在框514处,控制器108确定在后台操作期间已经发生的读取失败是否需要XOR奇偶校验数据(即,无法使用其它错误校正方法来校正)。如果在框514处,可通过除使用XOR奇偶校验数据之外的其它错误校正方法来校正读取失败,则在框516处使用其它错误校正方法来校正与读取失败相关联的数据。然而,如果在框514处,读取失败需要XOR奇偶校验数据,则在框518处,控制器108确定是否存在可用的XOR奇偶校验数据。例如,如果在框510处,将相关XOR奇偶校验数据从HMB 150复制到NVM 110,则控制器108可使用相关XOR奇偶校验数据来校正与读取失败相关联的数据。然而,如果在框512处,在进入低功率状态模式之前没有任何XOR奇偶校验数据传输到NVM 110,或者如果XOR奇偶校验数据不对应于与读取失败相关联的数据,则控制器108无法校正读取失败。
如果在框518处没有可用的XOR奇偶校验数据,则在框522处,控制器108等待在主机设备104与控制器108之间的链路被重新建立。在框524处,控制器108确定链路已经被重新建立,诸如当数据存储设备106进入运行功率状态时。在框520处,使用相关XOR奇偶校验数据来校正与读取失败相关联的数据。例如,如果在数据存储设备106在框512处进入低功率状态模式之前,在框510处相关XOR奇偶校验数据被传输到NVM 110,则控制器108可以在NVM 110中检索相关XOR奇偶校验数据以校正对应于读取失败的数据。否则,由控制器108在HMB 150中检索相关XOR奇偶校验数据,其中,控制器108使用在HMB 150中检索的XOR奇偶校验数据来校正对应于读取失败的数据。
通过在数据存储设备接收到进入低功率状态模式的指示时将XOR奇偶校验数据从HMB复制到NVM,可以提高数据存储设备在HMB与控制器之间的链路不可用的时间期间的错误校正能力。
在一个实施方案中,数据存储设备包括存储器设备和耦接到该存储器设备的控制器。控制器被配置为将XOR奇偶校验数据存储在主机设备的主机存储器缓冲器(HMB)中,监测存储器设备的健康状况,确定已经达到或超过对应于该存储器设备的一个或多个块的健康状况的阈值,并且将XOR奇偶校验数据从HMB复制到存储器设备。
监测存储器设备的健康状况包括监测存储器设备的一个或多个开放块的误码率(BER)。监测BER包括监测块开放的时间量。监测存储器设备的健康状况包括监测存储器设备的一个或多个开放块的编程擦除循环(PEC)的数量。监测存储器设备的健康状况包括监测存储器设备的一个或多个开放块的温度变化。监测存储器设备的健康状况包括监测相对于存储器设备的大多数开放块的一个或多个开放块的异常状况。控制器被进一步配置为从主机设备接收进入低功率模式的指示。在低功率模式期间执行后台操作。当已经达到或超过对应于存储器设备的一个或多个块的健康状况的阈值时并且在从主机设备接收进入低功率模式的指示之后,发生将XOR奇偶校验数据从HMB复制到存储器设备。控制器被配置为在确定已经发生读取失败时利用被复制到存储器设备的XOR奇偶校验数据。
在另一个实施方案中,数据存储设备包括存储器设备以及耦接到存储器设备的控制器。控制器被配置为将XOR奇偶校验数据存储在主机设备的主机存储器缓冲器(HMB)中;监测存储器设备的一个或多个开放块的误码率(BER)、存储器设备的一个或多个开放块的编程擦除循环(PEC)的数量、存储器设备的一个或多个开放块的温度变化,以及相对于存储器设备的大多数开放块的一个或多个开放块的异常状况中的至少一者(并且在一个实施方案中,至少两者);确定已经达到或超过对应于监测的阈值;并且将XOR奇偶校验数据从HMB复制到存储器设备。
控制器被进一步配置为接收进入低功率模式的命令。控制器被进一步配置为在接收到进入低功率模式的命令时,执行复制。控制器被进一步配置为确定主机设备与存储器设备之间的链路已经被去激活。控制器被配置为利用所复制的XOR奇偶校验数据来校正对应于监测的一个或多个开放块的数据。该阈值是动态阈值。
在另一个实施方案中,数据存储设备包括存储器装置以及耦接到该存储器装置的控制器。控制器被配置为确定一个或多个块已经超过温度阈值或者与一个或多个块中的大多数其它块相比,一个或多个块出现异常状况;在存储器装置中检索XOR奇偶校验数据;执行读取操作以读取一个或多个块或者与一个或多个块相邻的块中的第一数据;利用在存储器装置中检索的XOR奇偶校验数据对第一数据执行错误校正;确定超过温度阈值或出现异常状况的一个或多个块不再超过温度阈值或不再出现异常状况;在主机存储器缓冲器(HMB)中检索XOR奇偶校验数据;执行读取操作以读取一个或多个块或者与一个或多个块相邻的块中的第二数据;并且利用在HMB中检索的XOR奇偶校验数据对第二数据执行错误校正。
控制器被进一步配置为在确定超过温度阈值或出现异常状况的一个或多个块不再超过温度阈值或不再出现异常状况时,更新存储在HMB中的XOR奇偶校验数据。控制器被进一步配置为确定主机设备与数据存储设备之间的链路已经被关闭。控制器被配置为在确定链路已经被关闭时,触发后台操作。
虽然前述内容针对本公开的实施方案,但是可以在不脱离本公开的基本范围的情况下设想本公开的其他和另外的实施方案,并且本公开的范围由所附权利要求书确定。
Claims (20)
1.一种数据存储设备,包括:
存储器设备;和
控制器,所述控制器耦接到所述存储器设备,所述控制器被配置成:
将XOR奇偶校验数据存储在主机设备的主机存储器缓冲器(HMB)中;
监测所述存储器设备的健康状况;
确定已达到或超过对应于所述存储器设备的一个或多个块的健康状况的阈值;并且
将所述XOR奇偶校验数据从所述HMB复制到所述存储器设备。
2.根据权利要求1所述的数据存储设备,其中,所述监测所述存储器设备的所述健康状况包括监测所述存储器设备的一个或多个开放块的误码率(BER)。
3.根据权利要求2所述的数据存储设备,其中,所述监测所述BER包括监测块开放的时间量。
4.根据权利要求1所述的数据存储设备,其中,所述监测所述存储器设备的所述健康状况包括监测所述存储器设备的一个或多个开放块的编程擦除循环(PEC)的数量。
5.根据权利要求1所述的数据存储设备,其中,所述监测所述存储器设备的所述健康状况包括监测所述存储器设备的一个或多个开放块的温度变化。
6.根据权利要求1所述的数据存储设备,其中,所述监测所述存储器设备的所述健康状况包括监测相对于所述存储器设备的大多数开放块的一个或多个开放块的异常状况。
7.根据权利要求1所述的数据存储设备,其中,所述控制器被进一步配置为从所述主机设备接收进入低功率模式的指示。
8.根据权利要求7所述的数据存储设备,其中,在所述低功率模式期间执行后台操作。
9.根据权利要求7所述的数据存储设备,其中,当已经达到或超过对应于所述存储器设备的一个或多个块的所述健康状况的所述阈值时并且在从所述主机设备接收进入所述低功率模式的所述指示之后,发生将所述XOR奇偶校验数据从所述HMB复制到所述存储器设备。
10.根据权利要求1所述的数据存储设备,其中,所述控制器被配置为在确定已经发生读取失败时利用被复制到所述存储器设备的所述XOR奇偶校验数据。
11.一种数据存储设备,包括:
存储器设备;和
控制器,所述控制器耦接到所述存储器设备,所述控制器被配置成:
将XOR奇偶校验数据存储在主机设备的主机存储器缓冲器(HMB)中;
监测所述存储器设备的一个或多个开放块的误码率(BER)、所述存储器设备的所述一个或多个开放块的编程擦除循环(PEC)的数量、所述存储器设备的所述一个或多个开放块的温度变化,以及相对于所述存储器设备的大多数开放块的一个或多个开放块的异常状况中的至少一者;
确定已经达到或超过对应于所述监测的阈值;并且
将所述XOR奇偶校验数据从所述HMB复制到所述存储器设备。
12.根据权利要求11所述的数据存储设备,其中,所述控制器被进一步配置为接收进入低功率模式的命令。
13.根据权利要求12所述的数据存储设备,其中,所述控制器被进一步配置为在接收到进入所述低功率模式的所述命令时,执行所述复制。
14.根据权利要求11所述的数据存储设备,其中,所述控制器被进一步配置为确定主机设备与所述存储器设备之间的链路已经被去激活。
15.根据权利要求14所述的数据存储设备,其中,所述控制器被配置为利用所复制的XOR奇偶校验数据来校正对应于所述监测的所述一个或多个开放块的数据。
16.根据权利要求11所述的数据存储设备,其中,所述阈值是动态阈值。
17.一种数据存储设备,包括:
存储器装置;和
控制器,所述控制器耦接到所述存储器装置,所述控制器被配置成:
确定一个或多个块已经超过温度阈值或者与所述一个或多个块中的大多数其它块相比,一个或多个块出现异常状况;
检索所述存储器装置中的XOR奇偶校验数据;
执行读取操作以读取所述一个或多个块或者与所述一个或多个块相邻的块中的第一数据;
利用在所述存储器装置中检索的所述XOR奇偶校验数据对第一数据执行错误校正;
确定超过所述温度阈值或出现异常状况的所述一个或多个块不再超过所述温度阈值或不再出现异常状况;
在主机存储器缓冲器(HMB)中检索XOR奇偶校验数据;
执行读取操作以读取所述一个或多个块或者与所述一个或多个块相邻的块中的第二数据;并且
利用在HMB中检索的所述XOR奇偶校验数据对所述第二数据执行错误校正。
18.根据权利要求17所述的数据存储设备,其中,所述控制器被进一步配置为在确定超过所述温度阈值或出现异常状况的所述一个或多个块不再超过所述温度阈值或不再出现异常状况时,更新存储在所述HMB中的所述XOR奇偶校验数据。
19.根据权利要求17所述的数据存储设备,其中,所述控制器被进一步配置为确定主机设备与所述数据存储设备之间的链路已经被关闭。
20.根据权利要求19所述的数据存储设备,其中,所述控制器被配置为在确定所述链路已经被关闭时,触发后台操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/471,608 US11531473B1 (en) | 2021-09-10 | 2021-09-10 | Selective HMB backup in NVM for low power mode |
US17/471,608 | 2021-09-10 | ||
PCT/US2022/028226 WO2023038679A1 (en) | 2021-09-10 | 2022-05-07 | Selective hmb backup in nvm for low power mode |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117730305A true CN117730305A (zh) | 2024-03-19 |
Family
ID=84492691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280048868.1A Pending CN117730305A (zh) | 2021-09-10 | 2022-05-07 | 用于低功率模式的nvm中的选择性hmb备份 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11531473B1 (zh) |
KR (1) | KR20240019364A (zh) |
CN (1) | CN117730305A (zh) |
DE (1) | DE112022002597T5 (zh) |
WO (1) | WO2023038679A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240131549A (ko) * | 2023-02-24 | 2024-09-02 | 에스케이하이닉스 주식회사 | 데이터의 무결성을 보장하기 위한 컨트롤러, 스토리지 장치 및 컴퓨팅 시스템 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130024735A1 (en) * | 2011-07-19 | 2013-01-24 | Ocz Technology Group Inc. | Solid-state memory-based storage method and device with low error rate |
US10055236B2 (en) * | 2015-07-02 | 2018-08-21 | Sandisk Technologies Llc | Runtime data storage and/or retrieval |
US9760430B2 (en) * | 2015-08-28 | 2017-09-12 | Dell Products L.P. | System and method for dram-less SSD data protection during a power failure event |
US9659664B1 (en) * | 2015-12-15 | 2017-05-23 | International Business Machines Corporation | Dynamically adjusting read voltage in a NAND flash memory |
US20170242606A1 (en) * | 2016-02-19 | 2017-08-24 | Sandisk Technologies Llc | Methods and systems for transitioning to and from different storage device power states using host memory buffer (hmb) |
US10521118B2 (en) | 2016-07-13 | 2019-12-31 | Sandisk Technologies Llc | Methods, systems, and computer readable media for write classification and aggregation using host memory buffer (HMB) |
KR20180130140A (ko) | 2017-05-29 | 2018-12-07 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 데이터 처리 방법 |
US20190034306A1 (en) * | 2017-07-31 | 2019-01-31 | Intel Corporation | Computer System, Computer System Host, First Storage Device, Second Storage Device, Controllers, Methods, Apparatuses and Computer Programs |
US10698610B2 (en) | 2018-02-23 | 2020-06-30 | Western Digital Technologies, Inc. | Storage system and method for performing high-speed read and write operations |
US10956323B2 (en) * | 2018-05-10 | 2021-03-23 | Intel Corporation | NVDIMM emulation using a host memory buffer |
KR102599188B1 (ko) | 2018-11-09 | 2023-11-08 | 삼성전자주식회사 | 호스트 메모리를 사용하는 스토리지 장치 및 그것의 동작 방법 |
KR20200085519A (ko) | 2019-01-07 | 2020-07-15 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10872012B2 (en) * | 2019-01-08 | 2020-12-22 | Western Digital Technologies, Inc. | XOR recovery schemes utilizing external memory |
US11487653B2 (en) * | 2019-09-27 | 2022-11-01 | Micron Technology, Inc. | L2P translation techniques in limited RAM systems to increase random write performance using multiple L2P caches |
KR20210041158A (ko) * | 2019-10-04 | 2021-04-15 | 삼성전자주식회사 | 기입 오류가 발생한 데이터를 복구하는 메모리 시스템 및 호스트의 동작 방법 |
US11429504B2 (en) * | 2020-08-13 | 2022-08-30 | Micron Technology, Inc. | Closing block family based on soft and hard closure criteria |
US11842061B2 (en) * | 2020-08-19 | 2023-12-12 | Micron Technology, Inc. | Open block family duration limited by temperature variation |
US11704217B2 (en) * | 2021-01-25 | 2023-07-18 | Micron Technology, Inc. | Charge loss scan operation management in memory devices |
US11403011B1 (en) * | 2021-04-05 | 2022-08-02 | Western Digital Technologies, Inc. | Host memory buffer allocation management |
-
2021
- 2021-09-10 US US17/471,608 patent/US11531473B1/en active Active
-
2022
- 2022-05-07 CN CN202280048868.1A patent/CN117730305A/zh active Pending
- 2022-05-07 DE DE112022002597.2T patent/DE112022002597T5/de active Pending
- 2022-05-07 KR KR1020247001324A patent/KR20240019364A/ko unknown
- 2022-05-07 WO PCT/US2022/028226 patent/WO2023038679A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
KR20240019364A (ko) | 2024-02-14 |
DE112022002597T5 (de) | 2024-03-28 |
US11531473B1 (en) | 2022-12-20 |
WO2023038679A1 (en) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11416058B2 (en) | Efficient data storage usage associated with ungraceful shutdown | |
US11520523B2 (en) | Data integrity protection of ZNS needs | |
CN116888572A (zh) | 增强的d3-cold和更快的恢复 | |
WO2024147846A1 (en) | Zns protection with small slc cache using zone groups | |
CN117730305A (zh) | 用于低功率模式的nvm中的选择性hmb备份 | |
WO2024063822A1 (en) | Partial speed changes to improve in-order transfer | |
US20230297277A1 (en) | Combining Operations During Reset | |
US12045501B2 (en) | Sideband information over host interface considering link states | |
CN117642716A (zh) | 从hmb丢失的恢复 | |
WO2023101720A1 (en) | Centralized sram error location detection and recovery mechanism | |
US11537292B2 (en) | Methods and apparatus for enhancing uber rate for storage devices | |
CN117616404A (zh) | 主存储器缓冲区高速缓存管理 | |
US20210389885A1 (en) | Fast Recovery For Persistent Memory Region (PMR) of a Data Storage Device | |
CN115407928A (zh) | 自适应读取清理 | |
US11726911B2 (en) | NVMe persistent memory region quick copy | |
US12079504B2 (en) | Data integrity protection of SSDs utilizing streams | |
US20240319779A1 (en) | Low Power Optimization Based Upon Host Exit Latency | |
US11531499B2 (en) | Data storage that controls decode performance by changing program PLC | |
US11537466B2 (en) | Detection of data discrepancy after XOR recovery | |
CN115840661A (zh) | 从hmb丢失恢复的无dram ssd | |
CN116126746A (zh) | 具有hmb高速缓存管理的无dram ssd | |
WO2023205135A1 (en) | Read look ahead optimization according to nvme dataset management hints | |
WO2024019826A1 (en) | Accelerated encryption during power loss | |
WO2024054280A1 (en) | Adaptive tuning of memory device clock rates based on dynamic parameters |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240827 Address after: California, USA Applicant after: SanDisk Technology Co. Country or region after: U.S.A. Address before: California, USA Applicant before: Western Digital Technologies, Inc. Country or region before: U.S.A. |
|
TA01 | Transfer of patent application right |