CN110459256A - 动态p2l异步功率损耗降低 - Google Patents

动态p2l异步功率损耗降低 Download PDF

Info

Publication number
CN110459256A
CN110459256A CN201910380390.2A CN201910380390A CN110459256A CN 110459256 A CN110459256 A CN 110459256A CN 201910380390 A CN201910380390 A CN 201910380390A CN 110459256 A CN110459256 A CN 110459256A
Authority
CN
China
Prior art keywords
data structure
physical region
memory cell
memory
group
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
Application number
CN201910380390.2A
Other languages
English (en)
Inventor
G·德利赛奥
罗贤刚
罗婷
J·黄
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 CN110459256A publication Critical patent/CN110459256A/zh
Pending legal-status Critical Current

Links

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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请提供动态P2L异步功率损耗降低。公开系统和方法,其包含:在包括控制电路系统和具有多组存储器单元的存储器阵列的存储系统中,例如当从包含异步功率损耗APL的低功率状态恢复操作时,将用于第一组存储器单元的第一物理区域的第一物理到逻辑P2L数据结构存储在所述第一组存储器单元的第二物理区域中。所述第一组存储器单元可以包含存储器单元的超级块。可以将用于所述第一组存储器单元的所述第二物理区域的第二P2L数据结构存储在例如所述第二物理区域的元数据区域中,并且可以将所述第一P2L数据结构的地址存储在所述第二P2L数据结构中。

Description

动态P2L异步功率损耗降低
优先权主张
本申请根据35 U.S.C.§119(e)要求2018年5月8日提交的第62/668,733号美国临时专利申请的优先权,所述申请以全文引用的方式并入本文中。
技术领域
本申请大体上涉及一种存储系统。
背景技术
存储器装置是为主机系统(例如,计算机或其它电子装置)提供数据的电子存储的半导体电路。存储器装置可以是易失性或非易失性的。易失性存储器需要功率来维持数据,并且包含例如随机存取存储器(RAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或同步动态随机存取存储器(SDRAM)之类的装置。非易失性存储器可以在未供电时保留所存储数据,并且包含例如闪存、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)、电阻可变存储器之类的装置,电阻可变存储器例如是相变随机存取存储器(PCRAM)、电阻随机存取存储器(RRAM)或磁阻随机存取存储器(MRAM)等。
主机系统可以包含主机装置,所述主机装置包含主机处理器和支持所述主机处理器的第一数量的主机存储器(例如,主存储器,通常是易失性存储器,例如DRAM),以及一或多个存储系统(例如,通常是非易失性存储器,例如闪存),其提供额外的存储以保留除主机存储器之外或与主机存储器不同的数据。
例如固态驱动器(SSD)的存储系统可以包含存储器控制器和一或多个存储器装置,包含多个(例如,多个)存储器裸片或逻辑单元(LUN)。在某些实例中,每一存储器裸片可以包含多个存储器阵列和其上的外围电路系统,例如裸片逻辑或裸片处理器。存储器控制器可以包含接口电路系统,其经配置以通过通信接口(例如,双向并行或串行通信接口)与主机装置(例如,主机处理器或接口电路系统)通信。存储器控制器可以从主机装置接收与存储器操作或指令相关联的命令或操作,例如在存储器装置与主机装置之间传送数据(例如,用户数据和相关联的完整性数据,例如错误数据或地址数据等)的读取或写入操作,从存储器装置擦除数据的擦除操作,执行驱动器管理操作(例如,数据迁移、无用单元收集、块注销)等。
软件(例如,程序)、指令、操作系统(OS)和其它数据通常存储在存储系统上并由主存储器存取以供主机处理器使用。主存储器(例如,RAM)通常比存储系统的大多数存储器装置(例如,非易失性的,例如SSD等)更快、更昂贵并且具有不同类型的存储器(例如,易失性)。除了主存储器之外,主机系统可以包含不同形式的易失性存储器,例如一组静态存储器(例如,高速缓存,通常是SRAM),其通常比主存储器更快,在某些实例中,经配置的操作速度接近或超过主机处理器的速度,但密度更低,成本更高。
发明内容
在一个方面,本申请提供一种系统,其包括:存储系统,其包括控制电路系统和具有多组存储器单元的存储器阵列,其中,当从低功率状态恢复操作时,所述控制电路系统经配置以将用于第一组存储器单元的第一物理区域的第一物理到逻辑P2L数据结构存储在所述第一组存储器单元的第二物理区域中,并且其中,所述控制电路系统经配置以:存储用于所述第一组存储器单元的所述第二物理区域的第二P2L数据结构;以及将所述第一P2L数据结构的地址存储在所述第二P2L数据结构中。
在另一方面,本申请进一步提供一种方法,其包括:当从低功率状态恢复操作时,使用存储系统的控制电路系统将用于第一组存储器单元的第一物理区域的第一物理到逻辑P2L数据结构存储在具有多组存储器单元的存储器阵列的所述第一组存储器单元的第二物理区域中;使用所述控制电路系统存储用于所述第一组存储器单元的所述第二物理区域的第二P2L数据结构;以及使用所述控制电路系统将所述第一P2L数据结构的地址存储在所述第二P2L数据结构中。
附图说明
本公开借助于实例而非限制在附图的各图中示出,图中相似附图标记指示类似元件。
图1示出包含主机装置和存储系统的实例系统。
图2示出第一和第二超级块的实例部分,每一超级块具有多个物理区域和用于每一物理区域的物理到逻辑(P2L)数据结构。
图3示出在用于第二物理区域的第二物理到逻辑(P2L)数据结构中存储用于第一物理区域的第一P2L数据结构和第一P2L数据结构的地址的实例方法。
图4示出3D NAND架构半导体存储器阵列的实例示意图。
图5示出存储器装置的实例框图。
图6示出实例机器的框图,本文中所讨论的任何一或多种技术(例如,方法)可以在所述实例机器上执行。
具体实施方式
本公开的各方面涉及例如当从低功率状态(例如,“断开”状态,例如与“接通”状态相反的状态)恢复操作时,包含特定实例中在异步功率损耗(APL)之后恢复操作时,在存储系统中重建数据结构(例如,地图、表格等)。在某些实例中,APL可以指任何意外或突然的功率损耗、关机或重置。在正常情况下,例如响应于来自主机装置等的关闭(或进入睡眠或休眠模式)的命令,在存储系统确认未完成的写入操作或保存已完成并且寻址信息被更新和存储之前,不从所述存储系统移除电源。APL可能导致存储系统上的数据和寻址错误,在某些实例中,影响(例如,损坏等)存储系统的物理到逻辑(P2L)数据结构(例如,表格等)。
现代存储器装置,具体地,非易失性存储器装置,例如NAND闪存装置等,经常重定位数据以便刷新所存储数据或以其它方式管理存储器装置中的数据(例如,无用单元收集、耗损均衡、驱动管理等)。在某些实例中,所存储数据的逻辑块地址(LBA)可以保持静态,而所存储数据的物理地址(PA)可以改变。通常在存储系统的易失性存储器(例如,静态存储器、例如静态随机存取存储器(SRAM)、高速缓存等)中,可以使用逻辑到物理(L2P)数据结构中的L2P信息(例如,L2P地图、表格等)来维持LBA与物理地址之间的关系,以便在给定特定LBA的情况下加速存取存储系统上的物理地址。尽管L2P数据结构可用于识别特定LBA的PA,但P2L数据结构可用于识别特定PA的LBA。L2P数据结构中的L2P信息(且在某些实例中,P2L数据结构中的P2L信息)通常被称为闪存转换层(FTL)。
在实例中,存储系统的控制电路系统(例如,存储系统的存储器或装置控制器)可经配置以管理非易失性存储器在一或多个区域或子区域中的部分。L2P区域和子区域可以是逻辑空间中的范围。例如,64GB存储系统可以划分成64个1GB区域。1GB区域可以划分成16个64MB的子区域。如果每个LBA是4kB数据,则可以通过16,384个连续LBA形成子区域,并且可以通过262,144个连续LBA形成区域。这些数字、范围和大小是说明性的,并且在其它实例中,可以使用其它数字、范围和大小。有源区域或子区域可以包含当前由控制电路系统管理的区域或子区域。
当发生读取命令时,可以参考L2P数据结构来定位所请求数据。然而,L2P数据结构的大小通常大于存储系统的可用易失性存储器。L2P数据结构的一或多个部分(例如,一或多个L2P区域或子区域等)通常被加载到易失性存储器中。当所请求的L2P信息当前未加载到易失性存储器中时发生未命中。在这些情况下,通过舍弃或刷新到非易失性存储器(例如,NAND)的某些L2P信息(例如,L2P区域或子区域等),并从非易失性存储器(例如,NAND)加载所请求的L2P信息(例如,L2P区域或子区域等),存储系统(例如,存储器控制器的固件(FW)等)可以释放易失性存储器(例如,SRAM)中的空间,因此增加了读取命令的延迟并影响了系统性能。
当在存储装置上发生数据重定位或维持(例如,无用单元收集等)时,可以根据L2P数据结构中的对应L2P信息来读取和校验来自P2L数据结构的P2L信息。例如,可以检索P2L数据结构中的特定PA的LBA,然后将其与L2P数据结构中与LBA相关联的相应PA进行比较,以确定所存储的P2L信息(或L2P信息)是否有效。如果确定P2L信息无效(例如,如果它与L2P信息不匹配),则可以读取每组数据的元数据(例如,4kB数据的逻辑单元等)来检索LBA以确认有效性或无效性,对存储系统性能有很大影响。因此,尽管可以重建P2L信息,但是这样做可能影响系统性能,并且增加P2L信息的可靠性或稳健性的系统和方法可能是有益的。
超级块中可以存在多个P2L数据结构。每一P2L数据结构可以基于P2L数据结构的大小覆盖一个物理单元。例如,块大小可以是4kB,并且4kB大小的P2L数据结构可以覆盖1000个物理单元(例如,块),每一物理单元覆盖4kB的物理区域(1000*4kB=4MB物理区域)。在其它实例中,可以使用包括一或多个页面等的其它大小P2L数据结构。在实例中,用于物理区域的P2L数据结构(例如,P2L表等)可以存储在靠近物理区域末端的地方,例如固定偏移等。每一物理区域可以指存储器阵列的物理区域(例如,4MB物理区域等)。
本发明人已经认识到尤其存储和恢复P2L数据结构的系统和方法,例如用于验证其它数据或数据结构或用于无用单元收集等,例如,当从低功率状态恢复操作时,包含响应于尤其APL等。例如,如果一个P2L数据结构遇到APL,使得P2L数据结构中的一些数据被记录或正在APL或潜在APL期间被记录,则用于物理区域的P2L数据结构(例如,存储P2L数据结构的一或多个页面等)可以再次存储在新位置,例如存储在后续物理区域中。在某些实例中,例如当从低功率状态恢复操作而没有先前或存储的指示响应于关机命令进入此类低功率状态时等,可以检测APL。
在实例中,可以创建新的P2L数据结构并将其存储在具有潜在受影响的P2L数据结构的物理区域的后续物理区域(例如,下一个物理区域等)中。因此,响应于检测到的APL,控制电路不是将P2L信息存储在与P2L信息对应的物理区域中,而是可以将用于第一物理区域的P2L信息存储在第二物理区域(例如,后续物理区域、下一个物理区域等)中。在实例中,特定物理区域可以存储先前物理区域的P2L信息。
如果用于第一物理区域的第一P2L数据结构被成功存储在第二物理区域中,则第一P2L数据结构的地址可以存储在随后的P2L表中。在某些实例中,每一P2L数据结构(在第一P2L数据结构之后)可以将先前P2L数据结构的地址存储(例如,在P2L数据结构的元数据中等)到特定P2L数据结构。在某些实例中,最后一个P2L的地址(AOLP2L)数据结构中的每组存储器单元(例如,每一超级块等)的AOLP2L存储在存储系统的组数据结构(例如,系统块)中。
如果受APL影响的P2L数据结构例如由于额外的APL错误而不能存储在下一个物理区域中,则可以认为下一个物理区域中的所有数据都是无效的,并且可以舍弃用于下一个物理区域的P2L数据结构。上述系统和方法可以在下一个物理区域中重复,依此类推,直到到达所述组存储器单元的最后一个物理区域并将AOLP2L记录在AOLP2L数据结构中。如果受APL影响或可能受APL影响的P2L数据结构是所述组存储器单元的最后一个P2L(或者成为所述组存储器单元的最后一个P2L,例如,如果后续物理区域被视为无效等),则最后一个P2L数据结构可以存储在组数据结构中,并且地址可以存储在AOLP2L数据结构中。为了确定P2L数据结构是否受APL影响,可以检测P2L数据结构中的一或多个错误或错误条件,或者当从低功率模式恢复时,如果先前操作是对P2L数据结构的编程操作,或者如果不清楚对P2L信息或P2L数据结构的写入是否完成,则可以确定受影响的P2L数据结构。
在实例中,如果检测到APL,或者在从低功率状态恢复时,可以假定受影响的P2L数据结构,并且可以重建在APL之前写入的最新或最后一个P2L数据结构,并将其存储在APL之后的下一个物理区域中,如上所述。存储系统存储P2L数据结构,但是其不能同时写入L2P数据结构和所接收数据(例如,写入和阵列编程可能不会同时完成)。在APL之后,可能不知道P2L数据结构是否反映了所有先前写入的数据,或者是否在组数据结构(记录数据操作)中反映的所有先前写入都在APL之前完成。
许多存储系统以页面形式写入用户数据并以块的形式擦除用户数据。每个块包含多个(例如,数百、数千等)页面。此外,许多存储系统需要擦除一页非易失性存储器才能再次编程。因此,在擦除块之前,块中的所有页面必须准备好擦除(例如,包含无效数据、已移除有效数据等)。另外,非易失性存储器单元在它们被注销之前可以有能容忍的特定数目的编程/擦除周期,并且擦除操作比程序操作花费更多时间(例如,约50倍等),并且远远超过读取操作(例如,约500倍等)。此类比率是说明性而不是限制性的,并且可以变化。如本文中所使用,一组存储器单元可以包含一页存储器单元,或一或多个其它组,例如块、超级块等。
当存储在页面中的信息需要更新时,存储系统可以将页面标记为无效并将经更新的信息写入新的空页面,更新L2P信息以将后续操作引导到新页面。一旦块中的剩余页面被标记为无效,剩余的有效数据已被移走(例如,且L2P信息已被更新)或其某种组合,则最终可以擦除原始页面。类似地,标记为删除的信息通常被标记为无效,但是保留直到可以以另外的方式擦除块中的所有信息。因此,代替擦除受影响的P2L数据结构,可能是有益的是将受影响或潜在受影响的P2L数据结构标记为无效,并在第一组存储单元的另一区域(例如,下一个物理区域等)中写入或重建P2L数据结构。
图1示出实例系统(例如,主机系统)100,其包含经配置以通过通信接口(I/F)115(例如,双向并行或串行通信接口)进行通信的主机装置105和存储系统110。在实例中,通信接口115可称为主机接口。主机装置105可以包含主机处理器106(例如,主机中央处理单元(CPU)或其它处理器或处理电路系统,例如存储器管理单元(MMU)、接口电路系统等)。在某些实例中,主机装置105可以包含主存储器(MAIN MEM)108(例如,DRAM等)以及可选地静态存储器(STATIC MEM)109,以支持主机处理器(HOST PROC)106的操作。
存储系统110可以包含通用闪存存储(UFS)装置、嵌入式MMC(eMMCTM)装置,或一或多个其它存储器装置。例如,如果存储系统110包含UFS装置,则通信接口115可以包含串行双向接口,例如在一或多个联合电子装置工程委员会(JEDEC)标准(例如,JEDEC标准D223D(JESD223D),通常称为JEDEC UFS主机控制器接口(UFSHCI)3.0等)中定义的。在另一实例中,如果存储系统110包含eMMC装置,则通信接口115可以包含多个并行双向数据线(例如,DAT[7:0])和一或多个命令行,例如在一或多个JEDEC(例如,JEDEC标准D84-B51(JESD84-A51),通常称为JEDEC eMMC标准5.1等)中定义的。在其它实例中,存储系统110可以包含一或多个其它存储器装置,或者通信接口115可以包含一或多个其它接口,这取决于主机装置105和存储系统110。
存储系统110可以包含存储器控制器(MEM CTRL)111、非易失性存储器装置112,以及可选地,有限量的静态存储器119,以支持存储器控制器111的操作。存储器控制器111可以从主机装置105接收指令,并且可以与非易失性存储器装置112通信,以便将数据传送到(例如,写入或擦除)非易失性存储器装置112的一或多个存储器单元或者从非易失性存储器装置112的一或多个存储器单元传送(例如,读取)数据。
在实例中,非易失性存储器装置112可以包含多个非易失性存储器装置(例如,裸片或LUN),例如一或多个堆叠的闪存装置(例如,如非易失性存储器装置112下方的堆叠短划线所示)等,每一非易失性存储器装置包含非易失性存储器(NVM)113(例如,一组或多组非易失性存储器单元)和装置控制器(CTRL)114或其上的其它外围电路系统(例如,装置逻辑等),并且由存储器控制器111通过与通信接口115不同的内部存储系统通信接口(例如,开放式NAND闪存接口(ONFI)总线等)来控制。如本文中所使用的“控制电路系统”可以指存储器控制器111、装置控制器114、或存储系统110中的其它外围电路系统、非易失性存储器装置112等中的一或多者。
非易失性存储器113(例如,一或多个3D NAND架构半导体存储器阵列)可以包含布置在例如多个装置、平面、块、物理页面、超级块、超级页面等中的多个存储器单元。单级单元(SLC)可以在两个编程状态(例如,1或0)之一中表示每单元一个数据位。多级单元(MLC)可以在多个编程状态(例如,2n,其中n是数据的位数)中表示每单元两个或更多个数据位。在某些实例中,MLC可以指能在4个编程状态之一中存储两个数据位的存储器单元。三级单元(TLC)可以在8个编程状态之一中表示每单元三个数据位。四级单元(QLC)可以在16个编程状态之一中表示每单元四个数据位。在其它实例中,MLC可以指能够每单元存储多于一个数据位的任何存储器单元,包含TLC和QLC等。
作为实例,TLC存储器装置可以包含每页18,592字节(B)的数据,每块1536页,每平面548块,并且每装置4个平面。作为另一实例,MLC存储器装置可以包含每页18,592字节(B)的数据,每块1024页,每平面548块,并且每装置4个平面,但作为对应的TLC存储器装置具有更少(例如,一半)的所需写入时间和更多(例如,双重)的编程/擦除(P/E)周期。其它实例可以包含其它数目或布置。超级块可以包含例如来自不同平面等的多个块的组合,并且窗口可以指超级块的条带,通常匹配由物理到逻辑(P2L)表块覆盖的部分等,超级页面可以包含多个页面的组合。
术语“超级”可以指一或多个物品的组合或倍数。例如,超级块可以包含块的组合,例如存储系统的平面、装置等中的一个或组合上的多个块。如果存储器装置包含4个平面,则超级块可以指每一平面上的相同块,或者跨越平面的块图案(例如,平面0上的块0、平面1上的块1、平面2上的块2以及平面3上的块3等的组合)。在实例中,如果存储系统包含多个存储器装置,则块的组合或图案可以跨多个存储器装置延伸。术语“条带”可以指一件或多件物品的组合图案或图案。例如,超级块的条带可以指来自超级块中的每一块的页面的组合或图案。
主机装置105和存储系统110中的每一者可以包含多个接收器、缓冲器、驱动器或其它接口电路系统(例如,数据控制单元、采样电路或其它中间电路),其经配置以发送、接收或处理要通过通信接口115传送的数据或信号。存储系统110的控制电路系统尤其可以包含电路系统或固件,例如多个组件或集成电路,用于提供一或多个存储器管理功能(例如,耗损均衡、无用单元收集、错误计数、块年龄、擦除计数等)的存储器管理器。在实例中,存储系统的控制电路系统可以在一或多个管理表中维持L2P信息,重建L2P数据结构,维持包括数据操作的组数据结构,以及确定存储系统110的一或多组存储器单元的PLJ状态。
存储器管理器尤其可以包含电路系统或固件,例如与各种存储器管理功能相关联的多个组件或集成电路,包含耗损均衡(例如,无用单元收集或回收)、错误检测或纠正、块注销或一或多个其它存储器管理功能,以及其它功能。存储器管理器可以将主机命令(例如,从主机装置105接收的命令)解析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等),或者产生用于装置控制器114或存储系统110的一或多个其它组件的装置命令(例如,以实现各种存储器管理功能)。
存储器管理器可以包含一组管理表,其经配置以维持与存储系统110的一或多个组件相关联的各种信息(例如,与耦合到存储器控制器111的存储器阵列或一或多个存储器单元相关联的各种信息)。例如,管理表可以包含关于耦合到存储器控制器111的存储器单元的一或多个块的块年龄、块擦除计数、错误历史或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果针对一或多个错误计数的检测到的错误数目高于阈值,则位错误可称为不可校正的位错误。管理表尤其可以维持可校正或不可校正的位错误的计数。在实例中,管理表可以包含转换表、L2P信息、组数据结构等。
存储系统110的控制电路系统可以检测或校正与向非易失性存储器装置112的一或多个存储器单元写入数据或从其读取数据相关联的错误。控制电路系统可以主动检测并从与各种操作或数据存储相关联的错误(例如,位错误、操作错误等)发生中恢复,同时维持在主机装置105与存储系统110之间传送的数据的完整性,或者维持所存储数据的完整性(例如,使用独立磁盘冗余阵列(RAID)存储等),并且可以移除(例如,注销)失效的存储器资源(例如,存储器单元、存储器阵列、页面、块等)以防止将来的错误。
控制电路系统可以在将值写入非易失性存储器装置112后计算ECC并存储此值(例如,存储在非易失性存储器装置112上的不同位置)。在从非易失性存储器装置112读取值后,控制电路系统可以计算所读取的值的ECC值并将其与所存储的ECC值进行比较。如果ECC值不匹配,则控制电路系统可以确定已发生错误。
控制电路系统可以跟踪一或多个ECC进程的错误处理度量。实例包含需要错误处理机制的次数(例如,EH_COUNTER)、使用每一特定错误处理度量的次数、每一错误处理机制成功修复错误的次数、每一错误处理机制的延迟等中的一或多者。在某些实例中,控制电路系统可以包含动态错误处理组件(例如,电路系统、处理器、专用逻辑、可编程逻辑、固件等)以执行本文中描述的操作,例如一或多个扫描或折叠操作。在一些实现方式中,错误处理组件可以基于一或多个观察到的错误处理度量在装置使用期间对错误处理序列重新排序。在某些实例中,动态错误处理组件可以更新错误处理机制的顺序。
图2示出第一和第二组存储器单元201、202的实例部分,每一存储器单元具有多个物理区域和用于每一物理区域的物理到逻辑(P2L)数据结构。所述组存储器单元可以包含存储器单元的超级块(SB)。第一组存储器单元201可以包含存储器单元的第一超级块(SB0),并且第二组存储器单元202可以包含存储器单元的第二超级块(SB1)。第一组存储器单元201可以包含第一和第二物理区域205、210,第二组存储器单元202可以包含第三和第四物理区域225、230。尽管仅示出了两个物理区域,但是第一和第二组存储器单元201、202可以包含多于两个物理区域,并且每一物理区域可以包含用户数据的多个子组(例如,块)。
第一物理区域205可以包含第一子组(例如,第一块)206、第二子组207、第N子组208,以及经配置以存储第一物理区域205的元数据的第一元数据区域209。第二物理区域210可以包含第一子组(例如,第一块)211、第二子组212、第N子组213,以及经配置以存储第二物理区域210的元数据的第二元数据区域214。第三物理区域225可以包含第一子组(例如,第一块)226、第二子组227、第N子组228和第三元数据区域229A。第四物理区域230可以包含第一子组(例如,第一块)231、第二子组232、第N子组233和第四元数据区域234。
在实例中,在正常操作下,例如当不从低功率(“断开”)状态恢复时,当响应于“正常”关机操作而从低功率状态恢复时(例如,在关机之前完成并确认存储系统操作的情况下由主机装置启动),或者在没有异步功率损耗(APL)的情况下等,第一和第二元数据区域209、214中的每一者可以存储针对第一组存储单元201的第一和第二物理区域205、210中的各别一者的P2L信息。
然而,在异常操作期间,例如在APL之后恢复操作时等,可以在后续物理区域中存储或重建用于特定物理区域的潜在受影响的P2L数据结构。如果存储在第三元数据区域229A中的P2L信息可能受到例如来自APL等的影响,则在恢复操作时,可以在第四物理区域230中重新存储或重建用于第三物理区域225的P2L数据结构。在实例中,用于第三物理区域225的P2L数据结构可以存储在第四物理区域230的第一子组231中,并且可以存储用于第三物理区域225的P2L数据结构的位置地址(例如,物理地址等),例如存储在用于第四物理区域230的P2L数据结构中(例如,在第四元数据区域234中)。在第四物理区域230中的用于第三物理区域225的P2L数据结构的位置可以成为有效的第三元数据区域229B。
在其它实例中,可以在第四物理区域230的一或多个其它子组中存储或重建用于第三物理区域225的P2L数据结构。在实例中,P2L数据结构的大小可以小于子组的大小,可以等于子组的大小,或者可以大于一个子组的大小,这样就需要多个子组来存储P2L数据结构。在实例中,每一物理区域(例如,在第一物理区域之后)可以存储先前物理区域的地址。每一组存储器单元的最后一个物理区域的P2L数据结构的地址可以存储在最后一个P2L的地址(AOLP2L)数据结构中,在某些实例中,存储在存储系统上的组数据结构(例如,系统块)中。在某些实例中,如果第四物理区域230无效,则用于第三物理区域225的P2L数据结构可以存储在第四物理区域后续的物理区域(例如,第五物理区域等)中。如果第四物理区域是所述组存储器单元的最后一个物理区域,或者如果所述组存储器单元中的所有后续物理区域都是无效的,则用于第三物理区域225的P2L数据结构可以存储在组数据结构中,并且地址可以存储在AOLP2L数据结构中,并且操作可以进行到另一组存储器单元。
图3示出在用于第二物理区域的第二物理到逻辑(P2L)数据结构中存储用于第一物理区域的第一P2L数据结构和第一P2L数据结构的地址的实例方法300。在305处,方法300例如通过存储系统的控制电路系统从低功率状态恢复操作开始。在310处,控制电路系统可以确定先前的低功率状态是正常关机还是例如由于异步功率损耗(APL)等导致的异常关机。
如果在310处,先前的低功率状态是由于正常的关机操作导致,使得存储系统能够在进入低功率状态之前完成并确认所有待处理的数据操作,则可以恢复正常操作,并且在315处,可以例如通过控制电路系统将用于第一物理区域的第一P2L数据结构存储在第一物理区域中。
如果在310处,不能确定先前的低功率状态是否是由于正常关机操作导致,则可以在后续物理区域中重建或重新存储潜在受影响的物理区域中存储的P2L信息,例如正被写入的区域或具有待处理的写入的区域。在320处,可以例如通过控制电路系统将用于第一物理区域的第一P2L数据结构存储在第一物理区域之后的第二物理区域中。
在325处,可以例如通过控制电路系统将第一P2L数据结构的地址存储在第一物理区域之后的用于第二物理区域的第二P2L数据结构中,使得后续P2L数据结构向后指向前面的P2L数据结构。
图4示出包含多组存储器单元的3D NAND架构半导体存储器阵列400的实例示意图。在实例中,所述多组可以包含多串存储器单元(例如,第一至第三A0存储器串405A0至407A0、第一至第三An存储器串405An至407An、第一至第三B0存储器串405B0至407B0、第一至第三Bn存储器串405Bn至407Bn等),其以块(块A 401A、块B 401B等)和子块(例如,子块A0401A0、子块An 401An、子块B0 401B0、子块Bn 401Bn等)组织。存储器阵列400表示通常在存储器装置或存储系统的块、装置或其它单元中找到的更多数目的类似结构的一部分。
每串存储器单元包含在源极线(SRC)435或源极侧选择栅极(SGS)(例如,第一至第三A0SGS 431A0至433A0、第一至第三An SGS 431An至433An、第一至第三B0SGS 431B0至433B0、第一至第三Bn SGS 431Bn至433Bn)与漏极侧选择栅极(SGD)(例如,第一至第三A0SGD 426A0至428A0、第一至第三An SGD 426An至428An、第一至第三B0SGD426B0至428B0、第一至第三BnSGD 426Bn至428Bn等)之间从源极到漏极在Z方向上堆叠的多层存储晶体管(例如,浮动栅极、替换栅极、电荷捕获结构等)。3D存储器阵列中的每串存储器单元可以沿X方向布置为数据线(例如,位线(BL)BL0至BL3 420至422),并且沿Y方向布置为物理页面。
在物理页面内,每一层表示一行存储器单元,且每串存储器单元表示列。子块可以包含一或多个物理页面。块可以包含若干子块(或物理页面)(例如,128、256、384等)。虽然本文中示出为具有两个块,每一块具有两个子块,每一子块具有单个物理页面,每一物理页面具有三串存储器单元,且每串具有8层存储器单元,但在其它实例中,存储器阵列400可以包含更多或更少的块、子块、物理页面、存储器单元串、存储器单元或层。例如,每串存储器单元按需要可以包含更多或更少层(例如,16、32、64、128等),以及存储晶体管(例如,选择栅极、数据线等)上方或下方的额外的一或多层半导体材料。
存储器阵列400中的每一存储器单元包含耦合到(例如,电连接或以其它方式可操作地连接到)存取线(例如,字线(WL)WL00至WL70 410A至417A、WL01至WL71 410B至417B等)的控制栅极(CG),所述存取线根据需要将控制栅极(CG)共同耦合在特定层或层的一部分上。可以使用各别存取线来存取或控制3D存储器阵列中的特定层且因此串中的特定存储器单元。可以使用各种选择线存取多组选择栅极。例如,可以使用A0SGD线SGDA0 425A0存取第一至第三A0SGD 426A0至428A0,可以使用An SGD线SGDAn425An存取第一至第三An SGD 426An至428An,可以使用B0SGD线SGDB0 425B0存取第一至第三B0SGD 426B0至428B0,并且可以使用Bn SGD线SGDBn 425Bn存取第一至第三Bn SGD 426Bn至428Bn。可以使用栅极选择线SGS0430A存取第一至第三A0SGS431A0至433A0和第一至第三An SGS 431An至433An,并且可以使用栅极选择线SGS1430B存取第一至第三B0SGS 431B0至433B0和第一至第三Bn SGS 431Bn至433Bn
在实例中,存储器阵列400可以包含多级半导体材料(例如,多晶硅等),其经配置以耦合各别行阵列的每一存储器单元或选择栅极(或CG或选择栅极的一部分)的控制栅极(CG)。可以使用位线(BL)和选择栅极等的组合来存取、选择或控制阵列中的特定串存储器单元,并且可以使用一或多个存取线(例如,字线)来存取、选择或控制特定串中的一或多层的特定存储器单元。
在NAND架构半导体存储器阵列中,可以通过感测与含有所选存储器单元的特定数据线相关联的电流或电压变化来存取所选存储器单元的状态。可以使用一或多个驱动器(例如,通过控制电路、一或多个处理器、数字逻辑等)存取存储器阵列400。在实例中,一或多个驱动器可以通过取决于待对特定存储器单元或存储器单元集执行的所需操作的类型而驱动特定电位到一或多个数据线(例如,位线BL0至BL2)、存取线(例如,字线WL0至WL7)或选择栅极来激活特定存储器单元或存储器单元集。
在操作中,数据通常以页面形式写入存储系统或从存储系统读取,并以块的形式擦除。然而,根据需要,可以对更大或更小组存储器单元执行一或多个存储器操作(例如,读取、写入、擦除等)。例如,可以在数据迁移或无用单元收集期间收集来自卸载单元的标记数据的部分更新,以确保其被有效地重写。存储器装置的数据传送大小通常称为页面,而主机装置的数据传送大小通常称为扇区。尽管一页数据可以包含多个字节的用户数据(例如,包含多个数据扇区的数据有效负载)及其对应的元数据,但是页面的大小通常仅指用于存储用户数据的字节数。作为实例,具有4kB的页面大小的一页数据可以包含4kB的用户数据(例如,假设扇区大小为512B的8个扇区)以及对应于所述用户数据的多个字节(例如,32B、54B、224B等)的辅助或元数据,例如完整性数据(例如,错误检测或校正代码数据)、地址数据(例如,逻辑地址数据等),或与用户数据相关联的其它元数据。
为了将数据编程或写入到存储器单元,可以将编程电压(Vpgm)(例如,一或多个编程脉冲等)施加到所选字线(例如,WL40),并且因此施加到每一存储器单元的耦合到所选字线的控制栅极。编程脉冲可以例如在15V处或附近开始,并且在某些实例中,可以在每一编程脉冲施加期间增加量值。当将编程电压施加到所选字线时,可以将例如地电位(例如,Vss)的电位施加到数据线(例如,位线)和以编程为目标的存储器单元的衬底(以及因此源极与漏极之间的沟道),导致从沟道到目标存储器单元的浮动栅极的电荷转移(例如,直接注入或福勒-诺德海姆(FN)隧穿等)。
相比之下,可以将传递电压(Vpass)施加到具有并不以编程为目标的存储器单元的一或多个字线,或者可以将禁止电压(例如,Vcc)施加到具有并不以编程为目标的存储器单元的数据线(例如,位线),以例如禁止电荷从沟道传送到这些非目标存储器单元的浮动栅极。传递电压可以例如取决于施加的传递电压与以编程为目标的字线的接近度而变化。禁止电压可以包含电源电压(Vcc),例如,相对于地电位(例如,Vss)来自外部源或电源(例如,电池、AC-DC转换器等)的电压。
作为实例,如果将编程电压(例如,15V或更高)施加到特定字线,例如WL40,则可以将10V的传递电压施加到一或多个其它字线,例如WL30、WL50等,用于禁止非目标存储器单元的编程,或者保留存储在此类并不以编程为目标的存储器单元上的值。随着施加的编程电压与非目标存储器单元之间的距离增加,制止对非目标存储器单元进行编程所需的传递电压可以减小。例如,当向WL40施加15V的编程电压时,可以向WL30和WL50施加10V的传递电压,可以向WL20和WL60施加8V的传递电压,可以向WL10和WL70施加7V的传递电压等。在其它实例中,传递电压可以更高或更低,或字线的数目可以更多或更少等。
数据通常作为小单元任意存储在存储系统上。即使作为单个单元存取,也可以在小的、随机的4k至16k单个文件读取中接收数据(例如,60%至80%的操作小于16k)。用户甚至内核应用程序很难指示数据应该存储为一个连续的内聚单元。文件系统通常设计用于优化空间使用,而不是顺序检索空间。感测放大器可以耦合到数据线中的一或多者(例如,第一、第二或第三位线(BL0-BL2)420至422),可以通过感测特定数据线上的电压或电流而检测各别数据线中的每一存储器单元的状态。
在一或多个编程脉冲(例如,Vpgm)的施加之间,可以执行验证操作以确定所选存储器单元是否已达到其预期经编程状态。如果所选存储器单元已达到其预期经编程状态,则可以禁止其进一步编程。如果所选存储器单元尚未达到其预期经编程状态,则可以施加额外编程脉冲。如果在特定数目的编程脉冲(例如,最大数目)之后所选存储器单元尚未达到其预期经编程状态,则可以将所选存储器单元或与此类所选存储器单元相关联的串、块或页面标记为有缺陷的。
为了擦除存储器单元或一组存储器单元(例如,擦除通常以块或子块执行),可以(例如,使用一或多个位线、选择栅极等)将擦除电压(Vers)(例如,通常Vpgm)施加到以擦除为目标的存储器单元的衬底(以及因此源极与漏极之间的沟道),同时目标存储器单元的字线保持在例如地电位(例如,Vss)的电位,从而导致从目标存储器单元的浮动栅极到沟道的电荷转移(例如,直接注入或福勒-诺德海姆(FN)隧穿等)。
图5示出存储系统500的实例框图,所述存储系统包含具有多个存储器单元504的存储器阵列502,以及用于提供与存储器阵列502的通信或对存储器阵列502执行一或多个存储器操作的一或多个电路或组件。尽管示出为具有单个存储器阵列502,但在其它实例中,本文中可以包含一或多个附加存储器阵列、裸片或LUN。在某些实例中,在具有多个裸片或LUN的存储系统中,存储系统500可以表示每一裸片或LUN的电路和组件的框图。存储系统500可以包含行解码器512、列解码器514、感测放大器520、页面缓冲器522、选择器524、输入/输出(I/O)电路526和存储器控制单元530。
存储器阵列502的存储器单元504可以布置成块,例如第一块502A和第二块502B。每一块可以包含子块。例如,第一块502A可以包含第一子块502A0和第二子块502An,且第二块502B可以包含第一子块502B0和第二子块502Bn。每一子块可以包含多个物理页面,每一页面包含多个存储器单元504。虽然本文中示出为具有两个块,每一块具有两个子块,并且每一子块具有多个存储器单元504,但在其它实例中,存储器阵列502可以包含更多或更少的块、子块、存储器单元等。在其它实例中,存储器单元504可以布置成多个行、列、页面、子块、块等,并且可以使用例如存取线506、第一数据线510或一或多个选择栅极、源极线等来存取存储器单元504。
存储器控制单元530可以根据在控制线532上接收的一或多个信号或指令来控制存储系统500的存储器操作,所述信号或指令包含例如指示期望操作(例如,写入、读取、擦除等)的一或多个时钟信号或控制信号,或在一或多个地址线516上接收的地址信号(A0至AX)。存储系统500外部的一或多个装置可以控制控制线532上的控制信号或地址线516上的地址信号的值。存储系统500外部的装置的实例可以包含但不限于主机、存储器控制器、处理器,或图5中未示出的一或多个电路或组件。
存储系统500可以使用存取线506和第一数据线510来将数据传送到(例如,写入或擦除)一或多个存储器单元504或从一或多个存储器单元504传送(例如,读取)。行解码器512和列解码器514可以从地址线516接收地址信号(A0至AX)并对其进行解码,可以确定要存取哪个存储器单元504,并且可以向存取线506(例如,多个字线(WL0至WLm)中的一或多者)或第一数据线510(例如,多个位线(BL0至BLn)中的一或多者)中的一或多者提供信号,如上所述。
存储系统500可以包含感测电路系统,例如感测放大器520,其经配置以确定使用第一数据线510的存储器单元504上的数据的值(例如,读取),或者确定要写入所述存储器单元的数据的值。例如,在所选串存储器单元504中,响应于在存储器阵列502中流动通过所选串至数据线510的读取电流,一或多个感测放大器520可以读取所选存储器单元504中的逻辑电平。
在存储系统500外部的一或多个装置可以使用I/O线(DQ0-DQN)508、地址线516(A0-AX)或控制线532与存储器装置500通信。输入/输出(I/O)电路526可以根据例如控制线532和地址线516,使用I/O线508将数据的值传送进出存储器装置500,例如进出页面缓冲器522或存储器阵列502。页面缓冲器522可以存储从在存储系统500外部的一或多个装置接收的数据,然后将所述数据编程到存储器阵列502的相关部分中,或者可以存储从存储器阵列502读取的数据,然后将所述数据传输到在存储系统500外部的一或多个装置。
列解码器514可以接收地址信号(A0-AX)并将其解码为一或多个列选择信号(CSEL1-CSELn)。选择器524(例如,选择电路)可以接收列选择信号(CSEL1-CSELn),并且在页面缓冲器522中选择表示要从存储器单元504读取或将被编程到存储器单元504中的数据的值的数据。所选数据可以使用第二数据线518在页面缓冲器522与I/O电路526之间传送。
存储器控制单元530可以从外部源或电源(例如,内部或外部电池、AC到DC转换器等)接收正和负电源信号,例如电源电压(Vcc)534和负电源(Vss)536(例如,地电位)。在某些实例中,存储器控制单元530可以包含调节器528以在内部提供正或负电源信号。
图6示出实例机器(例如,主机系统)600的框图,本文中所讨论的任何一或多种技术(例如,方法)可以在所述实例机器上执行(例如,图1中描述的那些等)。在替代实施例中,机器600可以用作独立装置或可以连接(例如,联网)到其它机器。在联网部署中,机器600可以在服务器-客户端网络环境中以服务器机器、客户端机器或两者的能力操作。在实例中,机器600可以充当对等式(P2P)(或其它分布式)网络环境中的对等式机器。机器600可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、IoT装置、汽车系统,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令的任何机器。此外,虽然仅示出单个机器,但术语“机器”也将被视为包含个别地或共同地执行指令集(或多个指令集)以执行本文中所论述的任何一或多种方法(例如,云计算、软体即服务(SaaS)、其它计算机集群配置)的任何机器集合。
如本文中所描述,实例可以包含逻辑、组件、装置、封装或机制,或者可以通过逻辑、组件、装置、封装或机制操作。电路系统是在包含硬件(例如,简单电路、栅极、逻辑等)的有形实体中实施的电路的总集(例如,集合)。电路系统成员可以随时间推移和基础硬件变化而为灵活的。电路系统包含当操作时可单独或组合地执行特定任务的部件。在实例中,可以不可改变地设计电路系统的硬件以进行特定操作(例如,硬连线)。在实例中,电路系统的硬件可以包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),所述物理组件包含以物理方式修改(例如,不变集中式粒子的磁性、电气可移动放置等)以对特定操作的指令进行编码的计算机可读媒体。在连接物理组件时,硬件构成的基础电特性例如从绝缘体改变成导体或反之亦然。指令使得参与的硬件(例如,执行单元或加载机制)能够经由可变连接产生硬件中的电路系统部件以当在操作中时实行特定任务的部分。因此,当装置操作时计算机可读媒体以通信方式耦合到电路系统的其它组件。在实例中,物理组件中的任一个可以用于多于一个电路系统中的多于一个部件中。例如,在操作下,执行单元可以在一个时间点用于第一电路系统的第一电路,并且由第一电路系统中的第二电路重新使用,或在不同时间由第二电路系统中的第三电路重新使用。
机器(例如,计算机系统、主机系统等)600可以包含处理装置602(例如,硬件处理器、中央处理单元(CPU)、图形处理单元(GPU),硬件处理器核心或其任何组合等)、主存储器604(例如,只读存储器(ROM)、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或RambusDRAM(RDRAM)等)、静态存储器606(例如,静态随机存取存储器(SRAM)等),以及存储系统618,其中的一些或全部可以经由通信接口(例如,总线)630彼此通信。
处理装置602可以表示一或多个通用处理装置,例如微处理器、中央处理单元等。更具体地,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器或实施指令集的组合的处理器。处理装置602还可以是一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置602可经配置以执行用于实施本文中所论述的操作和步骤的指令626。计算机系统600可进一步包含通过网络620通信的网络接口装置608。
存储系统618可以包含机器可读存储媒体(也称为计算机可读媒体),其上存储有指令626的一或多个集或体现本文中所描述的任何一或多种方法或功能的软件。指令626还可以在由计算机系统600执行期间完全或至少部分地驻存在主存储器604内或处理装置602内,主存储器604和处理装置602也构成机器可读存储媒体。
术语“机器可读存储媒体”应被认为包含存储指令的一或多个集的单个媒体或多个媒体,或能够存储或编码指令集以供机器执行并且使机器执行本公开的任何一或多种方法的任何媒体。术语“计算机可读存储媒体”因此应被认为包含但不限于固态存储器、光学媒体和磁性媒体。在实例中,集中式机器可读媒体包括具有多个粒子的机器可读媒体,所述粒子具有不变(例如,静止)质量。因此,集中式机器可读媒体是非暂时性传播信号。集中式机器可读媒体的具体实例可以包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)或电可擦除可编程只读存储器(EEPROM))和闪存存储器装置;磁盘,例如内部硬盘和可移动盘;磁光碟;以及CD-ROM和DVD-ROM盘。
机器600可进一步包含显示单元、字母数字输入装置(例如,键盘)和用户界面(UI)导航装置(例如,鼠标)。在实例中,显示单元、输入装置或UI导航装置中的一或多者可以是触摸屏显示器。机器是信号发生装置(例如,扬声器),或一或多个传感器,例如全球定位系统(GPS)传感器、罗盘、加速计或一或多个其它传感器。机器600可以包含输出控制器,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接,以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。
指令626(例如,软件、程序、操作系统(OS)等)或存储系统618上存储的其它数据可以由主存储器604存取以供处理装置602使用。主存储器604(例如,DRAM)通常是快速但易失性的,且因此是与存储系统618(例如,SSD)不同类型的存储装置,其适合于长期存储,包括处于“关闭”状态时。用户或机器600使用的指令626或数据通常被加载到主存储器604中以供处理装置602使用。当主存储器604已满时,可以分配来自存储系统618的虚拟空间以补充主存储器604;然而,因为存储系统618装置通常比主存储器604慢,并且写入速度通常至少比读取速度慢两倍,所以使用虚拟存储器会由于存储系统延迟而导致极大地降低用户体验(与例如DRAM等主存储器604相比)。此外,将存储系统618用于虚拟存储器会大大减少存储系统618的可用寿命。
可以使用传输媒体经由网络接口装置608利用多个传送协议(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)中的任一者通过网络620进一步传输或接收指令624。实例通信网络可以包含局域网(LAN)、广域网(WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、简易老式电话(POTS)网络和无线数据网络(例如,称为的电气电子工程师学会(IEEE)802.11系列标准、称为的IEEE 802.16系列标准)、IEEE 802.15.4系列标准、对等式(P2P)网络,以及其它网络。在实例中,网络接口装置608可以包含一或多个物理插口(例如,以太网、共轴或手机插口)或一或多个天线以连接到通信网络620。在实例中,网络接口装置608可以包含多个天线以使用单收多发(SIMO)、多入多出(MIMO)或多入单出(MISO)技术中的至少一种进行无线通信。术语“传输媒体”应被认为包含能够存储、编码或载送指令以由机器600执行的任何无形媒体,且包含数字或模拟通信信号或其它无形媒体以有助于此类软件的通信。
以上详细描述包含对附图的参考,附图形成详细描述的一部分。附图借助于说明展示可实践本发明的特定实施例。这些实施例在本文中也称为“实例”。此类实例可以包含除了所示出或所描述的那些元件之外的元件。然而,本发明人还预期其中仅提供所示出或所描述的那些元件的实例。此外,本发明的发明人还预期使用相对于特定实例(或其一或多个方面)或相对于本文中展示或描述的其它实例(或其一或多个方面)而展示或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
在本文档中,术语如专利文档中所常见而使用术语“一”以包含一个或多于一个,其独立于“至少一个”或“一或多个”的任何其它例子或使用。在本文档中,术语“或”用于指代非排它性或,使得除非另有指示,否则“A或B”可以包含“A而非B”、“B而非A”以及“A和B”。在所附权利要求书中,术语“包含”和“在其中(in which)”用作相应术语“包括”和“其中(wherein)”的通俗等效术语。另外,在所附权利要求书中,术语“包含”和“包括”是开放式的。权利要求中除了此类术语之后列出的元件之外还包含其它元件的系统、装置、物品或过程仍视为属于所述权利要求的范围。此外,在所附权利要求书中,术语“第一”、“第二”和“第三”等仅用作标记,而并不在于对其对象施加数字要求。
在不同实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可以包含存储于物理装置上的物理电路系统或固件等。如本文中所使用,“处理器”意指任何类型的计算电路,例如但不限于微处理器、微控制器、图形处理器、数字信号处理器(DSP),或任何其它类型的处理器或处理电路,包含处理器或多核心装置群组。
如本文中所使用,操作存储器单元包含从存储器单元读取、对存储器单元写入或擦除存储器单元。使存储器单元置于既定状态中的操作在本文中称为“编程”,且可以包含对存储器单元写入或从存储器单元擦除两者(例如,存储器单元可经编程为擦除状态)。
根据本公开的一或多个实施例,位于存储系统内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设置、调整、计算、改变、清除、通信、适应、推导、定义、利用、修改、应用等)一定数量的磨损周期或磨损状态(例如,记录磨损周期、对存储系统发生的操作计数、跟踪存储系统启动的操作、评估与磨损状态相对应的存储系统特性等)。
根据本公开的一或多个实施例,存储器存取装置可经配置以利用每一存储器操作向存储系统提供磨损周期信息。存储系统控制电路系统(例如,控制逻辑)可以被编程为补偿对应于磨损周期信息的存储系统性能变化。存储系统可以接收磨损周期信息且响应于磨损周期信息确定一或多个操作参数(例如,值、特性)。
将理解,当元件被称为“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,其可直接在另一元件上、与另一元件直接连接或耦合,或可存在中间元件。相比之下,当元件被称为“直接在另一元件上”、“直接连接到另一元件”或“直接耦合到另一元件”时,不存在中间元件或层。如果两个元件在图式中展示为用线进行连接,那么除非另外指明,否则所述两个元件可以耦合或直接耦合。
本文中描述的方法实例可以至少部分地由机器或计算机实施。一些实例可以包含编码有指令的计算机可读媒体、装置可读媒体或机器可读媒体,所述指令可用于配置电子装置以执行如以上实例中描述的方法。此类方法的实施方案可以包含代码,例如微码、汇编语言代码、高级语言代码等等。此类代码可以包含用于执行各种方法的计算机可读指令。所述代码可以形成计算机程序产品的部分。此外,代码可以例如在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可以包含但不限于:硬盘、可移动磁盘、可移动光盘(例如,压缩光盘和数字视频光盘)、盒式磁带、存储器卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪存储(UFS)装置、嵌入式MMC(eMMC)装置等。
以上描述预期为说明性的而非限制性的。例如,上述实例(或其一或多个方面)可以彼此组合使用。例如,所属领域一般技术人员在查阅以上描述后可使用其它实施例。本说明书在遵守以下理解的情况下提交:其将不会用于解释或限制权利要求的范围或含义。另外,在以上具体实施方式中,可将各种特征分组在一起以简化本发明。不应将此情况解释为期望未主张的公开特征对任何权利要求来说是必需的。实情为,本发明标的物可在于比特定所公开实施例的所有特征要少。因此,特此将所附权利要求书并入到具体实施方式中,其中每一权利要求作为单独实施例而独立存在,且预期此类实施例可以各种组合或排列彼此组合。本发明的范围应该通过参考所附权利要求书以及所述权利要求书所授予的等效物的完整范围来确定。

Claims (15)

1.一种系统,其包括:
存储系统,其包括控制电路系统和具有多组存储器单元的存储器阵列,其中,当从低功率状态恢复操作时,所述控制电路系统经配置以将用于第一组存储器单元的第一物理区域的第一物理到逻辑P2L数据结构存储在所述第一组存储器单元的第二物理区域中,并且
其中,所述控制电路系统经配置以:
存储用于所述第一组存储器单元的所述第二物理区域的第二P2L数据结构;以及
将所述第一P2L数据结构的地址存储在所述第二P2L数据结构中。
2.根据权利要求1所述的系统,其中将用于所述第一组存储器单元的所述第一物理区域的所述第一P2L数据结构存储在所述第二物理区域中,所述控制电路系统经配置以将用于所述第一组存储器单元的所述第一物理区域的所述第一P2L数据结构存储在所述第一组存储器单元的所述第二物理区域中的用户数据块中。
3.根据权利要求1所述的系统,其中为了存储用于所述第二物理区域的所述第二P2L数据结构,所述控制电路系统经配置以将用于所述第二物理区域的所述第二P2L数据结构存储在所述第二物理区域的元数据区域中。
4.根据权利要求1所述的系统,其中为了存储用于所述第二物理区域的所述第二P2L数据结构,所述控制电路系统经配置以将用于所述第二物理区域的所述第二P2L数据结构存储在所述第一组存储器单元的第三物理区域中的用户数据块中。
5.根据权利要求1所述的系统,其中为了存储所述第一P2L数据结构的所述地址,所述控制电路系统经配置以将所述第一P2L数据结构的物理地址存储在所述第二P2L数据结构的元数据区域中。
6.根据权利要求1所述的系统,其中所述第一组存储器单元包括数目N个物理区域,包括所述第一物理区域、所述第二物理区域和第N物理区域,并且
其中所述控制电路系统经配置以将用于所述第一组存储器单元的所述第N物理区域的第N P2L数据结构的地址存储在组数据结构中。
7.根据权利要求1所述的系统,其中所述组存储器单元包括存储器单元的超级块,每一超级块包括多块存储器单元,每一块包括多页存储器单元,每一页面包括多个存储器单元。
8.根据权利要求1所述的系统,其中从所述低功率状态恢复操作包括响应于异步功率损耗APL恢复操作。
9.一种方法,其包括:
当从低功率状态恢复操作时,使用存储系统的控制电路系统将用于第一组存储器单元的第一物理区域的第一物理到逻辑P2L数据结构存储在具有多组存储器单元的存储器阵列的所述第一组存储器单元的第二物理区域中;
使用所述控制电路系统存储用于所述第一组存储器单元的所述第二物理区域的第二P2L数据结构;以及
使用所述控制电路系统将所述第一P2L数据结构的地址存储在所述第二P2L数据结构中。
10.根据权利要求9所述的方法,其中将用于所述第一组存储器单元的所述第一物理区域的所述第一P2L数据结构存储在所述第二物理区域中包括:将用于所述第一组存储器单元的所述第一物理区域的所述第一P2L数据结构存储在所述第一组存储器单元的所述第二物理区域中的用户数据块中。
11.根据权利要求9所述的方法,其中存储用于所述第二物理区域的所述第二P2L数据结构包括:将用于所述第二物理区域的所述第二P2L数据结构存储在所述第二物理区域的元数据区域中。
12.根据权利要求9所述的方法,其中存储用于所述第二物理区域的所述第二P2L数据结构包括:将用于所述第二物理区域的所述第二P2L数据结构存储在所述第一组存储器单元的第三物理区域中的用户数据块中。
13.根据权利要求9所述的方法,其中存储所述第一P2L数据结构的所述地址包括:将所述第一P2L数据结构的物理地址存储在所述第二P2L数据结构的元数据区域中。
14.根据权利要求9所述的方法,其中所述第一组存储器单元包括数目N个物理区域,包括所述第一物理区域、所述第二物理区域和第N物理区域,并且所述方法包括:将用于所述第一组存储器单元的所述第N物理区域的第N P2L数据结构的地址存储在组数据结构中。
15.根据权利要求9所述的方法,其中从所述低功率状态恢复操作包括响应于异步功率损耗APL恢复操作。
CN201910380390.2A 2018-05-08 2019-05-08 动态p2l异步功率损耗降低 Pending CN110459256A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862668733P 2018-05-08 2018-05-08
US62/668,733 2018-05-08

Publications (1)

Publication Number Publication Date
CN110459256A true CN110459256A (zh) 2019-11-15

Family

ID=68464627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910380390.2A Pending CN110459256A (zh) 2018-05-08 2019-05-08 动态p2l异步功率损耗降低

Country Status (2)

Country Link
US (2) US11132044B2 (zh)
CN (1) CN110459256A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113050885A (zh) * 2019-12-27 2021-06-29 美光科技公司 用于存储器子系统的异步功率损耗处置方法
US11675411B2 (en) 2018-05-08 2023-06-13 Micron Technology, Inc. Dynamic P2L asynchronous power loss mitigation
US11914876B2 (en) 2019-12-27 2024-02-27 Micron Technology, Inc. Asynchronous power loss handling approach for a memory sub-system

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2019102665A (ru) * 2019-01-31 2020-07-31 ИЭмСи АйПи ХОЛДИНГ КОМПАНИ, ЛЛС Система и способ для ускоренного восстановления raid посредством знания о выделении
US10990526B1 (en) * 2020-04-30 2021-04-27 Micron Technology, Inc. Handling asynchronous power loss in a memory sub-system that programs sequentially
JP2022114726A (ja) * 2021-01-27 2022-08-08 キオクシア株式会社 メモリシステムおよび制御方法
CN115563026B (zh) * 2022-12-07 2023-04-14 合肥康芯威存储技术有限公司 一种映射表的重建方法及数据存储设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030115414A1 (en) * 2001-12-18 2003-06-19 Kabushiki Kaisha Toshiba Disk array apparatus and data backup method used therein
US20080098197A1 (en) * 2006-10-20 2008-04-24 International Business Machines Corporation Method and System For Address Translation With Memory Windows
US8966155B1 (en) * 2008-04-01 2015-02-24 Daniel P. Mulligan System and method for implementing a high performance data storage system
CN107025185A (zh) * 2016-02-01 2017-08-08 爱思开海力士有限公司 数据存储装置及其操作方法
CN107562649A (zh) * 2016-06-30 2018-01-09 爱思开海力士有限公司 存储器系统及其操作方法
CN107562653A (zh) * 2016-06-30 2018-01-09 爱思开海力士有限公司 存储器系统及其操作方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377500B1 (en) * 1999-11-11 2002-04-23 Kabushiki Kaisha Toshiba Memory system with a non-volatile memory, having address translating function
US6938138B2 (en) * 2001-01-11 2005-08-30 International Business Machines Corporation Method and apparatus for managing access to memory
US6510488B2 (en) * 2001-02-05 2003-01-21 M-Systems Flash Disk Pioneers Ltd. Method for fast wake-up of a flash memory system
US7010662B2 (en) * 2002-02-27 2006-03-07 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
US8230153B2 (en) * 2006-01-20 2012-07-24 Broadcom Corporation Method and system for HBA assisted storage virtualization
US8819385B2 (en) * 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
WO2011099963A1 (en) * 2010-02-10 2011-08-18 Hewlett-Packard Development Company, L.P. Identifying a location containing invalid data in a storage media
US10114756B2 (en) * 2013-03-14 2018-10-30 Qualcomm Incorporated Externally programmable memory management unit
US20160018998A1 (en) * 2014-07-17 2016-01-21 Sandisk Enterprise Ip Llc Methods and Systems for Scalable Reliability Management of Non-Volatile Memory Modules
US9436615B2 (en) * 2014-10-03 2016-09-06 Sandisk Technologies Llc Optimistic data read
US9626286B2 (en) * 2014-10-03 2017-04-18 Sandisk Technologies Llc Hardware and firmware paths for performing memory read processes
JP6441171B2 (ja) * 2015-06-12 2018-12-19 東芝メモリ株式会社 メモリシステム
US10114743B2 (en) * 2016-04-06 2018-10-30 Sandisk Technologies Inc. Memory erase management
US10922221B2 (en) * 2018-03-28 2021-02-16 Micron Technology, Inc. Memory management
CN110459256A (zh) 2018-05-08 2019-11-15 美光科技公司 动态p2l异步功率损耗降低
US10678705B2 (en) * 2018-09-13 2020-06-09 Qualcomm Incorporated External paging and swapping for dynamic modules

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030115414A1 (en) * 2001-12-18 2003-06-19 Kabushiki Kaisha Toshiba Disk array apparatus and data backup method used therein
US20080098197A1 (en) * 2006-10-20 2008-04-24 International Business Machines Corporation Method and System For Address Translation With Memory Windows
US8966155B1 (en) * 2008-04-01 2015-02-24 Daniel P. Mulligan System and method for implementing a high performance data storage system
CN107025185A (zh) * 2016-02-01 2017-08-08 爱思开海力士有限公司 数据存储装置及其操作方法
CN107562649A (zh) * 2016-06-30 2018-01-09 爱思开海力士有限公司 存储器系统及其操作方法
CN107562653A (zh) * 2016-06-30 2018-01-09 爱思开海力士有限公司 存储器系统及其操作方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11675411B2 (en) 2018-05-08 2023-06-13 Micron Technology, Inc. Dynamic P2L asynchronous power loss mitigation
CN113050885A (zh) * 2019-12-27 2021-06-29 美光科技公司 用于存储器子系统的异步功率损耗处置方法
US11914876B2 (en) 2019-12-27 2024-02-27 Micron Technology, Inc. Asynchronous power loss handling approach for a memory sub-system

Also Published As

Publication number Publication date
US20210405726A1 (en) 2021-12-30
US11132044B2 (en) 2021-09-28
US20190346902A1 (en) 2019-11-14
US11675411B2 (en) 2023-06-13

Similar Documents

Publication Publication Date Title
CN110471788A (zh) 异步功率损耗影响的数据结构
US11216193B2 (en) Prioritized security
CN110459256A (zh) 动态p2l异步功率损耗降低
CN111383683B (zh) 通过堆叠多个可靠性规范进行扫描优化
US11735269B2 (en) Secure erase for data corruption
CN109727622A (zh) Slc页读取
US20210407600A1 (en) Memory device error detection with improved scanning
US11775181B2 (en) Read error recovery
KR20200100167A (ko) 정정 불가능 ecc
US11449421B2 (en) Memory system, memory controller and method for minimizing data loss using recovery operations in sudden power loss events
CN111381778B (zh) 从异步功率损耗中恢复存储器
WO2019046128A1 (en) STORING LOG DATA FOR FLASH MEMORY
US20230143181A1 (en) Write buffer control in managed memory system
US11436078B2 (en) NAND parity information techniques for systems with limited RAM
CN109918315A (zh) 存储器系统及存储器系统的操作方法
US10957381B1 (en) Metadata grouping for un-map techniques
US20220058122A1 (en) Memory system, memory controller, and method of operating memory system

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20191115

WD01 Invention patent application deemed withdrawn after publication