首页> 中国专利> 主机逻辑到物理信息刷新

主机逻辑到物理信息刷新

摘要

本文中公开用于将L2P信息从存储系统提供到主机装置的装置和技术,所述L2P信息包括改变的L2P区域和相关联子区域信息、待加载的L2P区域和相关联子区域信息以及无效的L2P区域和相关联子区域信息。

著录项

  • 公开/公告号CN112166420A

    专利类型发明专利

  • 公开/公告日2021-01-01

    原文格式PDF

  • 申请/专利权人 美光科技公司;

    申请/专利号CN201980034884.3

  • 发明设计人 G·卡列洛;

    申请日2019-04-22

  • 分类号G06F12/02(20060101);G06F12/06(20060101);G06F3/06(20060101);

  • 代理机构11287 北京律盟知识产权代理有限责任公司;

  • 代理人王龙

  • 地址 美国爱达荷州

  • 入库时间 2023-06-19 09:23:00

说明书

本申请要求2018年4月23日提交的美国临时专利申请第62/661,283号的优先权益,所述申请以全文引用的方式并入本文中。

背景技术

存储器装置是为主机系统(例如计算机或其它电子装置)提供数据的电子存储的半导体电路。存储器装置可为易失性的或非易失性的。易失性存储器需要功率来维护数据,并且包含例如随机存取存储器(RAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或同步动态随机存取存储器(SDRAM)之类的装置。非易失性存储器可以在未供电时保留所存储的数据,并且包含例如快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)、电阻可变存储器之类的装置,电阻可变存储器例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)或磁阻式随机存取存储器(MRAM)。

主机系统(例如主机)通常包含主机处理器、支持所述主机处理器的第一数目的主机存储器(例如主存储器,通常为易失性存储器,例如DRAM),以及一或多个存储系统(例如通常为非易失性存储器,例如快闪存储器),其提供额外的存储以保留除主存储器之外或与主存储器不同的数据。

例如固态驱动器(SSD)的存储系统可包含存储器控制器和一或多个存储器装置,包含数个(例如多个)裸片或逻辑单元(LUN)。在某些实例中,每一裸片可包含数个存储器阵列和其上的外围电路系统,例如裸片逻辑或裸片处理器。存储器控制器可包含接口电路系统,其配置成通过通信接口(例如双向并行或串行通信接口)与主机装置(例如主机处理器或接口电路系统)通信。存储器控制器可从主机系统接收与存储器操作或指令相关联的命令或操作,例如在存储器装置与主机装置之间传送数据(例如用户数据和相关联的完整性数据,例如错误数据或地址数据等)的读取或写入操作,从存储器装置擦除数据的擦除操作,执行驱动管理操作(例如数据迁移、垃圾收集、块注销)等。

软件(例如程序)、指令、操作系统(OS)和其它数据通常存储在存储系统上且由主存储器存取以供主机处理器使用。与存储系统的大多数存储器装置(例如非易失性,例如SSD等)相比,主存储器(例如RAM)通常较快、较昂贵且是不同类型的存储器装置(例如易失性)。除了主存储器之外,主机系统可包含不同形式的易失性存储器,例如一组静态存储器(例如高速缓存,通常为SRAM),其通常比主存储器更快,在某些实例中,经配置的操作速度接近或超过主机处理器的速度,但密度更低且成本更高。

附图说明

在不一定按比例绘制的附图中,相似标号可以在不同视图中描述类似组件。具有不同字母后缀的相似标号可表示类似组件的不同实例。附图借助于实例而非限制性地总体上说明本文中所论述的各种实施例。

图1说明包含主机装置和存储系统的实例系统。

图2A和2B说明主机侧L2P映射未命中和主机侧L2P映射命中的实例读取请求时序图。

图3说明将L2P信息提供到主机装置的实例方法。

图4说明3D NAND架构半导体存储器阵列的实例示意图。

图5说明存储器装置的实例框图。

图6说明实例机器的框图,本文中所论述的技术(例如,方法)中的任一个或多个可在所述实例机器上执行。

具体实施方式

现代存储器装置,尤其非易失性存储器装置,例如NAND快闪装置等,经常重新定位数据以便刷新所存储数据或以其它方式管理存储器装置中的数据(例如垃圾收集、耗损均衡、驱动管理等)。在某些实例中,所存储数据的逻辑块地址(LBA)可以保持静态,而所存储数据的物理地址(PA)可以改变。通常,在存储系统的易失性存储器(例如静态存储器(例如静态随机存取存储器(SRAM))、高速缓存等)中,可使用逻辑到物理(L2P)信息(例如L2P映射、表等)来维持LBA与物理地址之间的关系,例如在给定特定LBA的情况下,加快对存储系统上的物理地址的存取。

在进行读取命令时,可以参考L2P信息(例如L2P映射、表等)来定位所请求数据。然而,L2P信息的大小通常大于存储器控制器的可供使用的易失性存储器。当所请求的L2P信息当前未加载到易失性存储器中时发生未命中。在这种情况下,存储系统(例如存储器控制器的固件(FW)等)可通过丢弃或刷新某些L2P信息(例如L2P表信息块等)到非易失性存储器(例如NAND)以及加载来自非易失性存储器(例如NAND)的所请求的L2P信息(例如L2P表信息块等)来释放易失性存储器(例如SRAM)中的空间,从而添加时延到读取命令并影响系统性能。

为了改进系统性能,例如在读取命令或其它存储器操作期间,L2P信息的一部分可以存储在主机装置上,例如存储在主机存储器中。主机装置可以使用读取缓冲命令从存储系统请求L2P信息,作为响应从存储系统接收L2P信息,并管理主机存储器中的L2P信息。主机装置可以利用读取命令将物理地址提供到存储系统,减少了存储系统上提供所请求信息的L2P存取时间,从而进一步减少装置时延并提高系统性能。

如果在主机装置处管理整个L2P映射,那么可获得100%的L2P信息命中率,但归因于新主机写入和数据的内部重新定位(例如垃圾收集),存储在主机装置处的地址中的一些可变为无效,从而需要在存储系统处更新L2P信息。如果L2P信息命中率低于可接受的阈值,或如果L2P未命中的数目达到阈值,那么存储系统可以通知主机装置应更新主机存储器中的L2P信息,例如使用标志、位图、响应的一或多个位或字节等,并且主机装置可请求所更新的L2P信息。在一实例中,L2P信息可包含主机感知的性能提升程序(HPB)信息。

在一实例中,存储系统的控制电路系统(例如存储系统的存储器或装置控制器,例如通用快闪存储(UFS)装置等)可配置成管理非易失性存储器的在一或多个区域或子区域中的部分。L2P区域和子区域可以是逻辑空间中的范围。举例来说,64GB存储系统可划分成64个1GB区域。1GB区域可划分成16个64MB的子区域。如果每一LBA是4kB的数据,那么可通过16,384个连续LBA形成子区域,并且可通过262,144个连续LBA形成区域。这些数字、范围和大小是说明性的,并且在其它实例中,可使用其它数字、范围和大小。活动区域或子区域可包含当前由控制电路系统管理的区域或子区域。

此外,本发明人已认识到一种改进的主机L2P信息刷新协议,其配置成提高系统性能和效率。

图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(eMMC

存储系统110可包含存储器控制器(MEM CTRL)111、非易失性存储器装置112,且任选地包含有限量的静态存储器119,以支持存储器控制器111的操作。存储器控制器111可从主机装置105接收指令,且可与非易失性存储器装置112通信,以便将数据传送到(例如写入或擦除)非易失性存储器装置112的存储器单元中的一或多个或从非易失性存储器装置112的存储器单元中的一或多个传送(例如读取)数据。此外,存储器控制器111可包含电路系统或固件(例如数个组件或集成电路)、存储器管理器,以提供一或多个存储器管理功能(例如耗损均衡、垃圾收集、错误计数、块时效、擦除计数等)。在一实例中,存储器控制器111可将L2P映射数据维持在一或多个管理表中。

在一实例中,非易失性存储器装置112可包含数个非易失性存储器装置(例如裸片或LUN),例如一或多个堆叠的快闪存储器装置(例如非易失性存储器装置112下方的堆叠短划线所说明)等,每一非易失性存储器装置包含非易失性存储器(NVM)113(例如一组或多组非易失性存储器单元)和装置控制器(CTRL)114或其上的其它外围电路系统(例如装置逻辑等),并且由存储器控制器111经由与通信接口115不同的内部存储系统通信接口(例如开放式NAND快闪接口(ONFI)总线等)来控制。

非易失性存储器113(例如一或多个3D NAND架构半导体存储器阵列)可包含布置在例如数个装置、平面、块、物理页中的数个存储器单元。单层级单元(SLC)可在两个编程状态(例如1或0)中的一个中表示每单元一个数据位。多层级单元(MLC)可在数个编程状态(例如2

主机装置105和存储系统110中的每一个可包含配置成发送、接收或处理待经由通信接口115传达的数据或信号的数个接收器、缓冲器、驱动器或其它接口电路(例如数据控制单元、采样电路或其它中间电路)。

图2A说明具有第一时延的主机侧L2P映射未命中的实例读取请求时序图。在201处,主机装置可从主机存储器读取L2P项且将读取命令提供到存储系统的存储器控制器。在202处,存储系统可参考存储系统的存储器阵列(例如非易失性存储器装置等)上的特定PA接收读取命令,其包含L2P信息。在203处,如果PA失效或与存储系统中的LBA不匹配(例如主机侧L2P映射未命中),那么存储器控制器可从存储器阵列请求L2P信息。

在204处,存储器阵列可检索所请求的L2P信息。在205处,存储器控制器读取所检索到的L2P信息。在206处,存储器控制器可使用由所检索到的L2P信息指示的正确PA来请求与读取命令相关联的用户数据。在207处,存储器阵列检索所请求的用户数据。在208处,存储器控制器可将所请求的用户数据提供到主机装置。

图2B说明主机侧L2P映射命中的实例读取请求时序图,其中时延相比于图2A的实例读取请求时序图200明显减小。在211处,主机装置可从主机存储器读取L2P项且将读取命令提供到存储系统的存储器控制器。在212处,存储系统可参考存储系统的存储器阵列上的特定PA接收读取命令,其包含L2P信息。

在216处,存储器控制器请求存储器阵列上的PA处的与读取命令相关联的用户数据。在217处,存储器阵列检索所请求的用户数据。在218处,存储系统可将所请求的用户数据提供到主机装置。

在某些实例中,可将存储系统信息以数据结构形式提供到主机装置。举例来说,UFS装置可将装置描述符数据结构(例如UFS_Device_Descriptor)提供到主机装置或配置成与UFS装置介接的一或多个其它电路或装置。可使用装置描述符的一或多个字段(例如bUFSFeaturesSupport字段等)的一或多个位来指示L2P支持。

在UFS装置的实例中,主机装置可使用L2P读取缓冲器命令来从存储系统请求L2P信息,且使用DATA IN UFS协议信息单元(UPIU)的数据段区来从存储系统接收L2P信息。可从装置加载呈CDB格式的L2P映射数据。如果L2P区域或子区域的所请求字段为无效的,那么存储系统可终止命令且将具有校验条件状态的响应信息单元、非法请求的感测密钥集和额外感测代码集发送到无效字段。

在一实例中,用于命令的数据结构可包含操作代码(例如L2P读取缓冲器命令(F9h))、缓冲器ID(例如保留的00h、01h读取L2P项、保留的其它项等)、L2P区域(例如从最高有效位(MSB)到最低有效位(LSB)等)、L2P子区域(例如从MSB到LSB等)、分配长度以及控制(例如00h)。操作代码、缓冲器ID以及控制可包含单个字节项,L2P区域和子区域可包含两个字节项,且分配长度可包含三个字节。在一实例中,分配长度可经计算为L2P子区域大小除以读取信息块大小(例如4K字节),乘以L2P项大小(例如8字节)。

L2P读取命令可包含主机存储的L2P信息;在一些实例中,包含LBA信息、包含LBA的对应PA信息的L2P项以及数据的连续逻辑块的传送长度。某些L2P协议支持单个4K字节数据块。其它协议支持不同的数据大小或单个L2P读取命令中的多个块。存储系统可通知主机装置应使用一或多个标志更新L2P信息,所述一或多个标志例如L2P更新所需的标志(例如呈状态值的单个位等)。

在存储系统通知主机装置应在响应信息单元中更新L2P信息时,感测数据区可用以指示哪些L2P区域应为活动的或非活动的。在一实例中,单个响应信息单元可指示主机装置例如使用L2P读取缓冲器来读取的最多两个L2P子区域,或主机装置从L2P存储器移除的最多两个区域。

实例响应信息单元可包含感测数据区,在某些实例中,其包含端到端(E2E)循环冗余校验(CRC)标头和一或多个其它字段。在第一实例中,L2P感测数据可包含以下字节:

表1.第一实例L2P感测数据

然而,取决于主机存储器可用性和当前或即将发生的工作负载,主机装置确定非活动L2P区域(而非存储系统)可能是有利的。为了更有效地管理L2P数据,可利用非活动L2P子区域替换非活动L2P区域1数据字段。

在第二实例中,L2P感测数据可包含:

表2.第二实例L2P感测数据

在第三实例中,一或多个字节可包含改变的、待加载的和无效的L2P区域和子区域的有效性标志([k+8:k+19]),例如每寄存器一个位:

表3.第三实例L2P感测数据

来自表2和3的[k+8:k9]字节可向主机装置指示一或多个改变的L2P区域(例如从MSB到LSB),且[k+10:k:11]字节可指示与为[k+8:k+9]的L2P区域相关联的一或多个改变的L2P子区域(例如从MSB到LSB)。类似地,[k+12:k+13]字节可向主机装置指示一或多个待加载的L2P区域(例如从MSB到LSB),且[k+14:k+15]字节可向主机装置指示与待加载的为[k+12:k+13]的L2P区域相关联的一或多个L2P子区域(例如从MSB到LSB)。在一实例中,待加载的L2P信息可指存储系统上的准备待加载到主机装置但尚未加载到主机装置的L2P信息。

无效的L2P区域和子区域[k+16:k+19]可如下组织:包含L2P区域索引的1个字节;分别包含L2P子区域MSB和LSB的2个字节;以及包含标志或其它信息的1个字节。在一实例中,位0可为完整区域修改符,然而其它位可包含一或多个其它可配置的功能单元(RFU)。在其它实例中,改变的L2P区域和子区域[k+8:k+11]以及待加载的L2P区域和子区域[k+12:k+15]中的一个或两个可相应地组织:用于改变的L2P区域索引的1个字节;用于与改变的L2P区域相关联的改变的L2P子区域的2个字节;以及用于标志或其它信息的1个字节。在一实例中,存储系统可指示需要使用L2P子区域子字段中的位(或特殊值)来重新加载完整L2P区域。存储系统可基于由主机装置读取或请求的数据来对与主机装置通信的改变的区域和子区域进行优先级排序。

此外,子区域的大小可能存在问题。如果子区域过大(例如256MB等),那么刷新频率和计算成本因存储系统管理数据而增大,且与刷新主机装置上的L2C映射相关联的流量影响系统效率和性能。限制子区域的大小(且因此,增加子区域的数目)减小与刷新L2C映射相关联的流量以及对L2P表进行加密的计算成本,从而在某些实例中在不增加(或明显增加)L2C刷新的数目的情况下改进性能和功率消耗。在一实例中,子区域的大小可设置成4K字节。如果大量区域指示为失效或经改变,那么可加载所有L2P区域,从而利用大数据传送效率。

L2P信息的四个状态反映存储系统中的L2P信息(例如表或映射信息块)的生命周期:有效的、改变的、待加载的以及无效的。有效L2P数据不一定改变、擦除或重新加载。然而,在主机写入或取消映射(例如内部刷新等)时,L2P映射的受影响部分可变为无效。固件(FW)可记录临时数据结构中的最新改变(例如改变列表),从而引起L2P信息从有效状态到改变的状态的转换。改变的L2P区域和相关联子区域信息可包含先前已提供到主机装置的不再有效的L2P信息,但L2P信息在不从非易失性存储器加载的情况下仍然可用于存储系统。相反地,无效的L2P信息可能需要存储系统来从非易失性存储器加载L2P信息以完成存储器操作(例如读取命令等)。在处于改变列表上时,仍然可提供子区域上的L2P读取的最优时延,这是因为固件可丢弃L2P项字段中的地址且使用来自改变列表的正确地址。在某些实例中,固件可从SRAM恢复改变的PA。

在PA从改变的列表移动到L2P映射(或L2P映射的部分(例如L2P信息块))且加密以用于传送到主机装置时,L2P信息的状态变为待加载。在某些实例中,在需要释放改变列表时、在固件在改变时已具有SRAM中的L2P段时或在改变状态已提供到主机装置且预期L2P读取缓冲器命令之后,L2P信息可识别为待加载。

在对于存储器阵列(例如NAND)刷新改变的L2P映射(或L2P映射的部分(例如L2P信息块))且无法优化所述L2P子区域上的读出时延(例如在固件无法信任由主机装置提供的地址且无法解析存储系统的改变列表或SRAM中的地址等时)时,L2P信息的状态(例如区域和相关联子区域)可变为无效。无效的L2P区域和相关联子区域信息可包含关于先前提供到主机装置的目前为无效的L2P区域和子区域的信息。

此外,本发明人已进一步认识到一种用于命令的改进数据结构,其将L2P区域的大小从2个字节减小到1个字节。在某些实例中,仅释放数据结构中的单个字节可用以一次传送至多256个额外子区域。在一实例中,缓冲器ID可包含读取L2P状态(02h)ID。在一实例中,分配大小字节/位可包含四个可能状态(例如活动的、改变的、待加载的和非活动的等)。此外,例如取决于读取命令中的时延、检测到的错误、一系列即将发生的或可能的操作等,主机装置可确定并不读取新地址直至主机装置确定需要读取新地址为止。在一实例中,响应信息单元可包含上述信息、区域、子区域或字段,即使在信息的类别中的一个清空的情况下也是如此。举例来说,如果并没有L2P区域或子区域相对于先前提供到主机装置的L2P信息已发生改变或变为无效,但准备待加载额外L2P信息,那么可将指示待加载信息的响应信息单元提供到主机装置,其中改变的和无效的区域和相关联子区域信息清空。

图3说明将L2P信息提供到主机装置的实例方法300。在301处,可在包括存储器控制器和存储器阵列的存储系统处维持逻辑到物理(L2P)映射。L2P映射可包含存储器阵列上的数据的逻辑块地址(LBA)与存储器阵列上的数据的物理地址(PA)之间的关系。在302处,可将L2P信息提供到主机装置,可使用一或多个L2P区域来组织L2P信息,每一L2P区域包括一或多个子区域。

在303处,可由存储器控制器从主机装置接收存储器请求,在某些实例中,其包含来自提供到主机装置的L2P信息的存储器阵列上的数据的PA。如果PA为正确的(主机侧L2P映射命中),那么图2B中所说明的时序图可说明读取所请求数据所需的时间。

在304处,可提供对接收到的主机存储器请求的响应,所述响应包括所更新的L2P信息,所述所更新的L2P信息包括:改变的L2P区域和相关联子区域信息、待加载的L2P区域和相关联子区域信息以及无效的L2P区域和相关联子区域信息。在一实例中,响应可包含响应信息单元,所述响应信息单元包括:包括改变的L2P区域和相关联子区域信息的改变的L2P区域和相关联子区域字段;包括待加载的L2P区域和相关联子区域信息的待加载的L2P区域和相关联子区域字段;以及包括无效的L2P区域和相关联子区域信息的无效的L2P区域和相关联子区域字段。

在一实例中,如果存储系统确定没有L2P信息已改变、没有L2P信息待加载或没有L2P信息为无效的,那么可提供这类指示作为响应的部分。在一实例中,可相对于先前提供到主机装置的L2P信息确定所更新的L2P信息,使得并不需要重新提供信息(一旦提供到主机装置)。

图4说明3D NAND架构半导体存储器阵列400的实例示意图,其包含组织成块(例如块A 401A、块B 401B等)和子块(例如子块A

每个存储器单元串包含在源极线(SRC)435或源极侧选择栅极(SGS)(例如,第一A

在物理页内,每一层次表示一行存储器单元,且每一存储器单元串表示一列。子块可包含一或多个物理页。块可包含数个子块(或物理页)(例如128个、256个、384个等)。虽然本文中说明为具有两个块,每个块具有两个子块,每个子块具有单个物理页,每个物理页具有三个存储器单元串,且每个串具有8个层次的存储器单元,但在其它实例中,存储器阵列400可包含更多或更少的块、子块、物理页、存储器单元串、存储器单元或层次。举例来说,每个存储器单元串按需要可包含更多或更少层次(例如16、32、64、128等),以及存储晶体管(例如选择栅极、数据线等)上方或下方的一或多个额外层次的半导体材料。

存储器阵列400中的每个存储器单元包含耦合到(例如,电连接到或以其它方式可操作地连接到)存取线(例如,字线(WL)WL0

在一实例中,存储器阵列400可包含数个层级的半导体材料(例如多晶硅等),其配置成耦合阵列的相应层次的每个存储器单元的控制栅极(CG)或选择栅极(或CG或选择栅极的一部分)。可使用位线(BL)和选择栅极等的组合来存取、选择或控制阵列中的特定存储器单元串,且可使用一或多个存取线(例如字线)来存取、选择或控制特定串中的一或多个层次的特定存储器单元。

在NAND架构半导体存储器阵列中,可以通过感测与含有所选存储器单元的特定数据线相关联的电流或电压变化来存取所选存储器单元的状态。可使用一或多个驱动器(例如由控制电路、一或多个处理器、数字逻辑等)存取存储器阵列400。在一实例中,一或多个驱动器可以通过取决于待对特定存储器单元或存储器单元集执行的所需操作的类型而驱动特定电位到一或多个数据线(例如位线BL0到BL2)、存取线(例如字线WL0到WL7)或选择栅极来激活特定存储器单元或存储器单元集。

在操作中,数据通常以页的形式写入到存储系统110或从存储系统110读取,并且以块的形式擦除。然而,可按需要对存储器单元的更大或更小群组执行一或多个存储器操作(例如读取、写入、擦除等)。举例来说,可以在数据迁移或垃圾收集期间收集来自卸载单元的标记数据的部分更新,以确保其被有效地重写。存储器装置的数据传送大小通常称为页,而主机装置的数据传送大小通常称为扇区。虽然数据页可包含数个字节的用户数据(例如包含数个数据扇区的数据有效负载)和其对应的元数据,但页的大小通常仅指代用以存储用户数据的字节的数目。作为实例,具有4kB的页大小的数据页可包含4kB的用户数据(例如,假设扇区大小为512B的8个扇区)以及对应于用户数据的辅助或元数据(例如完整性数据(例如错误检测或校正代码数据)、地址数据(例如逻辑地址数据等),或与用户数据相关联的其它元数据)的数个字节(例如32B、54B、224B等)。

为了将数据编程或写入到存储器单元,可以将编程电压(Vpgm)(例如一或多个编程脉冲等)施加到所选字线(例如WL4

相反地,可将传递电压(Vpass)施加到具有并不以编程为目标的存储器单元的一或多个字线,或可将禁止电压(例如Vcc)施加到具有并不以编程为目标的存储器单元的数据线(例如位线),以例如禁止电荷从沟道转移到这类非目标存储器单元的浮动栅极。传递电压可以取决于例如施加的传递电压与以编程为目标的字线的接近度而变化。禁止电压可包含电源电压(Vcc),例如相对于地面电位(例如Vss)来自外部源或电源(例如电池、AC到DC转换器等)的电压。

作为实例,如果将编程电压(例如15V或更高)施加到特定字线,例如WL4

数据通常作为小单元任意存储在存储系统上。即使作为单个单元存取,仍可以在小的随机的4到16k单个文件读取中接收数据(例如60%到80%的操作小于16k)。用户甚至内核应用程序很难指示数据应存储为一个连续的内聚单元。文件系统通常设计用于优化空间使用,而不是依序检索空间。感测放大器可以耦合到数据线中的一或多个(例如第一、第二或第三位线(BL0到BL2)420到422),可以通过感测特定数据线上的电压或电流来检测相应数据线中的每个存储器单元的状态。

在一或多个编程脉冲(例如Vpgm)的施加之间,可执行验证操作以确定所选存储器单元是否已达到其预期编程状态。如果所选存储器单元已达到其预期编程状态,那么可以禁止其进一步编程。如果所选存储器单元尚未达到其预期编程状态,那么可施加额外编程脉冲。如果所选存储器单元在特定数目的编程脉冲(例如最大数目)之后尚未达到其预期编程状态,那么可以将所选存储器单元或与这类所选存储器单元相关联的串、块或页标记为有缺陷的。

为了擦除存储器单元或存储器单元群组(例如,擦除通常以块或子块执行),可(例如使用一或多个位线、选择栅极等)将擦除电压(Vers)(例如,通常为Vpgm)施加到以擦除为目标的存储器单元的衬底(且因此,源极与漏极之间的沟道),同时目标存储器单元的字线保持在例如地面电位(例如Vss)的电位处,从而导致从目标存储器单元的浮动栅极到沟道的电荷转移(例如,直接注入或佛勒-诺德海姆(FN)隧穿等)。

图5说明存储系统500的实例框图,所述存储系统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可包含第一子块502A

存储器控制单元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的数据的值。举例来说,在存储器单元504的所选串中,响应于读取电流在存储器阵列502中穿过所选串流动到数据线510,感测放大器520中的一或多个可以读取所选存储器单元504中的逻辑电平。

存储系统500外部的一或多个装置可使用I/O线(DQ0到DQN)508、地址线516(A0到AX)或控制线532与存储系统500通信。根据例如控制线532和地址线516,输入/输出(I/O)电路526可使用I/O线508来将数据值传送到存储系统500中或传送出存储系统500,例如传送到页缓冲器522或存储器阵列502中或传送出页缓冲器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慢且写入速度通常比读取速度慢至少两倍,所以虚拟存储器的使用由于存储系统时延(相比于主存储器604,例如DRAM)可能极大地降低用户体验。此外,将存储系统618用于虚拟存储器可以极大地缩短存储系统618的可用寿命。

可以进一步利用数个传送协议中的任一个(例如帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)经由网络接口装置608使用传输媒体在网络620上传输或接收指令624。实例通信网络可包含局域网(LAN)、广域网(WAN)、分组数据网络(例如因特网)、移动电话网络(例如蜂窝网络)、简易老式电话(POTS)网络和无线数据网络(例如称为

以上详细描述包含对随附图式的参考,所述随附图式形成详细描述的一部分。所述图借助于图示展示可实践本发明的具体实施例。这些实施例在本文中也称为“实例”。这些实例可包含除了所展示或描述的那些要素之外的要素。然而,本发明人还预期其中仅提供所展示或所描述的那些要素的实例。此外,本发明人还预期使用相对于特定实例(或其一或多个方面)或相对于本文中所展示或所描述的其它实例(或其一或多个方面)而展示或描述的那些要素的任何组合或排列的实例(或其一或多个方面)。

在本文中,如专利文件中所常见而使用术语“一(a或an)”以包含一个或多于一个,其独立于“至少一个”或“一或多个”的任何其它例子或使用。在本文中,术语“或”用于指代非排它性,或使得除非另有指示,否则“A或B”可包含“A而非B”、“B而非A”以及“A和B”。在所附权利要求书中,术语“包含(including)”和“其中(in which)”用作相应术语“包括(comprising)”及“其中(wherein)”的简洁英文等效术语。另外,在所附权利要求书中,术语“包含”和“包括”是开放式的。在权利要求书中除了在这类术语之后列出的要素之外还包含要素的系统、装置、物品或过程仍视为属于所述权利要求的范围。此外,在以下权利要求书中,术语“第一”、“第二”和“第三”等仅用作标记,且并不打算对其对象施加数字要求。

在不同实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储于物理装置上的物理电路系统或固件。如本文中所使用,“处理器”意指任何类型的计算电路,例如但不限于微处理器、微控制器、图形处理器、数字信号处理器(DSP)或任何其它类型的处理器或处理电路,包含处理器或多核心装置的群组。

如本文中所使用,操作存储器单元包含从存储器单元读取、对存储器单元写入或擦除存储器单元。使存储器单元置于预期状态中的操作在本文中称为“编程”,且可包含对存储器单元写入或从存储器单元擦除(例如,存储器单元可经编程为擦除状态)。

根据本公开的一或多个实施例,位于存储系统内部或外部的存储器控制器(例如处理器、控制器、固件等)能够确定(例如选择、设置、调整、计算、改变、清除、通信、适应、推导、定义、利用、修改、应用等)一定数量的耗损周期或耗损状态(例如,记录耗损周期、对存储系统发生的操作计数、追踪存储系统启动的操作、评估与耗损状态相对应的存储系统特性等)。

根据本公开的一或多个实施例,存储器存取装置可配置成利用每个存储器操作向存储系统提供耗损周期信息。存储系统控制电路系统(例如控制逻辑)可以被编程为补偿对应于耗损周期信息的存储系统性能变化。存储系统可接收耗损周期信息且响应于耗损周期信息而确定一或多个操作参数(例如值、特性)。

将理解,当一个元件被称作“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,其可直接在另一元件上、与另一元件直接连接或耦合,或可存在中间元件。相反地,当一个元件被称作“直接在另一元件上”、“直接连接到另一元件”或“与另一元件直接耦合”时,不存在中间元件或层。如果两个元件在图式中展示为通过线连接,那么除非另外指明,否则所述两个元件可耦合或直接耦合。

本文中所描述的方法实例可至少部分地由机器、装置或计算机实施。一些实例可包含编码有指令的计算机可读媒体、装置可读媒体或机器可读媒体,所述指令可用于配置电子装置以执行如以上实例中描述的方法。这类方法的实施方案可包含代码,例如微码、汇编语言代码、高级语言代码等。这类代码可包含用于执行各种方法的计算机可读指令。代码可形成计算机程序产品的一部分。此外,代码可例如在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含但不限于:硬盘、可移动磁盘、可移动光盘(例如压缩光盘和数字视频光盘)、盒式磁带、存储器卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪存储(UFS)装置、嵌入式MMC(eMMC)装置及类似物。

在实例1中,主题(例如系统)可包括:存储系统,其包括存储器控制器和存储器阵列,所述存储系统配置成在逻辑到物理(L2P)映射中维持存储在存储器阵列上的数据的逻辑块地址(LBA)与物理地址(PA)之间的关系,且将L2P信息提供到主机装置,其中存储器控制器配置成提供对主机存储器请求的响应,所述响应包括:改变的L2P区域和相关联子区域信息、待加载的L2P区域和相关联子区域信息以及无效的L2P区域和相关联子区域信息。

在实例2中,根据实例1所述的主题可任选地配置成使得响应包括响应信息单元,所述响应信息单元包括字段,所述字段包括:包括改变的L2P区域和相关联区域信息的改变的L2P区域和相关联子区域字段;包括待加载的L2P区域和相关联子区域信息的待加载的L2P区域和相关联子区域字段;以及包括无效的L2P区域和相关联子区域信息的无效的L2P区域和相关联子区域字段。

在实例3中,根据实例1至2中的任一个或多个所述的主题可任选地配置成使得改变的L2P区域和相关联子区域信息相对于先前提供到主机装置的L2P信息改变,且无效的L2P区域和相关联子区域信息相对于先前提供到主机装置的L2P信息为无效的。

在实例4中,根据实例1至3中的任一个或多个所述的主题可任选地配置成使得无效的L2P区域包含单个L2P区域。

在实例5中,根据实例1至4中的任一个或多个所述的主题可任选地配置成使得子区域大小为4K字节,且区域包括多个子区域。

在实例6中,根据实例1至5中的任一个或多个所述的主题可任选地配置成使得无效的L2P区域和相关联子区域信息包括:1个字节的无效的L2P区域索引;以及2个字节的无效的L2P子区域索引。

在实例7中,根据实例1至6中的任一个或多个所述的主题可任选地配置成使得无效的L2P区域和相关联子区域信息包括1个字节的无效的L2P标志或其它信息。

在实例8中,根据实例1至7中的任一个或多个所述的主题可任选地包含主机装置,所述主机装置配置成请求、接收和存储来自存储系统的L2P信息,且使用L2P读取缓冲器命令从存储系统请求L2P信息。

在实例9中,主题(例如系统)可包括:存储系统,其包含存储器控制器和存储器阵列,所述存储系统配置成在逻辑到物理(L2P)映射中维持存储在存储器阵列上的数据的逻辑块地址(LBA)与物理地址(PA)之间的关系,且将L2P信息提供到主机装置,其中存储器控制器配置成提供对主机存储器请求的响应,所述响应包括响应信息单元,所述响应信息单元包括字段,所述字段包括:改变的L2P区域和相关联子区域字段、待加载的L2P区域和相关联子区域字段以及无效的L2P区域和相关联子区域字段。

在实例10中,根据实例9所述的主题可任选地配置成使得改变的L2P区域和相关联子区域字段包括相对于先前提供到主机装置的L2P信息的改变的L2P区域和相关联子区域信息,待加载的L2P区域和相关联子区域字段包括相对于先前提供到主机装置的L2P信息的待加载的L2P区域和相关联子区域信息,且无效的L2P区域和相关联子区域字段包括相对于先前提供到主机装置的L2P信息的无效的L2P区域和相关联子区域信息。

在实例11中,根据实例9至10中的任一个或多个所述的主题可任选地配置成使得子区域大小为4K字节,且区域包括多个子区域。

在实例12中,根据实例9至11中的任一个或多个所述的主题可任选地配置成使得无效的L2P区域和相关联子区域字段基本上由以下组成:1个字节的无效的L2P区域索引;2个字节的无效的L2P子区域索引;以及1个字节的无效的L2P标志或其它信息。

在实例13中,主题(例如方法)可包括:使用包括存储器控制器和存储器阵列的存储系统来在逻辑到物理(L2P)映射中维持存储在存储器阵列上的数据的逻辑块地址(LBA)与物理地址(PA)之间的关系;以及由存储系统提供对主机存储器请求的响应,所述响应包括:改变的L2P区域和相关联子区域信息、待加载的L2P区域和相关联子区域信息以及无效的L2P区域和相关联子区域信息。

在实例14中,根据实例13所述的主题可任选地配置成使得响应包括响应信息单元,所述响应信息单元包括字段,所述字段包括:包括改变的L2P区域和相关联区域信息的改变的L2P区域和相关联子区域字段;包括待加载的L2P区域和相关联子区域信息的待加载的L2P区域和相关联子区域字段;以及包括无效的L2P区域和相关联子区域信息的无效的L2P区域和相关联子区域字段。

在实例15中,根据实例13至14中的任一个或多个所述的主题可任选地配置成使得改变的L2P区域和相关联子区域信息相对于先前提供到主机装置的L2P信息改变,且无效的L2P区域和相关联子区域信息相对于先前提供到主机装置的L2P信息为无效的。

在实例16中,根据实例13至15中的任一个或多个所述的主题可任选地配置成使得无效的L2P区域包含单个L2P区域。

在实例17中,根据实例13至16中的任一个或多个所述的主题可任选地配置成使得子区域大小为4K字节,且区域包括多个子区域。

在实例18中,根据实例13至17中的任一个或多个所述的主题可任选地配置成使得无效的L2P区域和相关联子区域信息包括:1个字节的无效的L2P区域索引;以及2个字节的无效的L2P子区域索引。

在实例19中,根据实例13至18中的任一个或多个所述的主题可任选地配置成使得无效的L2P区域和相关联子区域信息包括1个字节的无效的L2P标志或其它信息。

在实例20中,根据实例13至19中的任一个或多个所述的主题可任选地包括:由主机装置使用L2P读取缓冲器命令从存储系统请求L2P信息;以及由主机装置接收和存储来自存储系统的接收到的L2P信息。

在实例21中,主题(例如至少一个非暂时性装置可读存储媒体)可包括指令,所述指令在由存储系统的存储器控制器执行时使得存储器控制器执行包括以下各项的操作:在逻辑到物理(L2P)映射中维持存储在存储系统的存储器阵列上的数据的逻辑块地址(LBA)与物理地址(PA)之间的关系;以及提供对主机存储器请求的响应,所述响应包括:改变的L2P区域和相关联子区域信息、待加载的L2P区域和相关联子区域信息以及无效的L2P区域和相关联子区域信息。

在实例22中,根据实例21所述的主题可任选地配置成使得提供对主机存储器请求的响应包括提供响应信息单元,所述响应信息单元包括字段,所述字段包括:包括改变的L2P区域和相关联区域信息的改变的L2P区域和相关联子区域字段;包括待加载的L2P区域和相关联子区域信息的待加载的L2P区域和相关联子区域字段;以及包括无效的L2P区域和相关联子区域信息的无效的L2P区域和相关联子区域字段。

在实例23中,根据实例21至22中的任一个或多个所述的主题可任选地配置成使得改变的L2P区域和相关联子区域信息相对于先前提供到主机装置的L2P信息改变,且无效的L2P区域和相关联子区域信息相对于先前提供到主机装置的L2P信息为无效的。

在实例24中,根据实例21至23中的任一个或多个所述的主题可任选地配置成使得子区域大小为4K字节,且区域包括多个子区域。

在实例25中,根据实例21至24中的任一个或多个所述的主题可任选地配置成使得无效的L2P区域和相关联子区域信息包括:1个字节的无效的L2P区域索引;2个字节的无效的L2P子区域索引;以及1个字节的无效的L2P标志或其它信息。

在实例26中,主题(例如系统或设备)可任选地组合实例1至25中的任一个或多个的任何部分或任何部分的组合以包括“用于执行根据实例1至25所述的功能或方法中的任一个或多个的任何部分的构件”,或包含指令的至少一个“非暂时性机器可读媒体”,所述指令在由机器执行时使得所述机器执行根据实例1至25所述的功能或方法中的任一个或多个的任何部分。

以上描述打算为说明性的而非限制性的。举例来说,上文所描述的实例(或其一或多个方面)可彼此组合使用。例如所属领域的普通技术人员在查阅以上描述后可使用其它实施例。应理解,发明内容将不会用于解释或限制权利要求书的范围或含义。另外,在以上具体实施方式中,可将各种特征分组在一起以简化本公开。不应将这一情况解释为希望未要求保护的公开特征对任何权利要求来说是必需的。实际上,本发明主题可在于比特定所公开实施例的所有特征要少。因此,特此将所附权利要求书并入到具体实施方式中,其中每一权利要求作为一单独实施例而独立存在,且预期这些实施例可以各种组合或排列彼此组合。本发明的范围应通过参考所附权利要求书以及所述权利要求书所授予的等效物的完整范围来确定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号