用于转储错误日志的实时触发的制作方法

专利2022-05-09  2


用于转储错误日志的实时触发
1.优先权申请
2.本申请要求于2019年12月30日提交的序列号为62/955,280的美国临时申请的优先权,其全部内容通过引用并入本文。
技术领域
3.本公开的实施例总体上涉及存储器系统和与存储器系统交互的系统,并且更具体地,涉及与存储器系统相关联的错误日志的管理。


背景技术:

4.存储器装置通常被提供作为计算机或其他电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包括易失性和非易失性存储器。易失性存储器需要电力来维护其数据,并且包括随机存取存储器(ram)、动态随机存取存储器(dram)或同步动态随机存取存储器(sdram)等。当不通电时,非易失性存储器可以保留存储的数据,并且包括快闪存储器、只读存储器(rom)、电可擦除可编程rom(eeprom)、可擦除可编程rom(eprom)、电阻可变存储器(诸如相变随机存取存储器(pcram)、电阻随机存取存储器(rram)、磁阻随机存取存储器(mram)或3d xpoint
tm
存储器等)。
5.快闪存储器用作广泛的电子应用的非易失性存储器。快闪存储器装置通常包括一或多组单晶体管、浮动栅极或电荷捕捉存储器单元,其实现了高存储器密度、高可靠性和低功耗。两种常见类型的快闪存储器阵列架构包括nand和nor架构,它们以逻辑形式命名,每种架构的基本存储器单元配置以所述逻辑形式布置。存储器阵列的存储器单元通常被布置成矩阵。在示例中,阵列的行中的每个浮动栅极存储器单元的栅极耦合到存取线(例如,字线)。在nor架构中,阵列的列中的每个存储器单元的漏极耦合到数据线(例如,位线)。在nand架构中,阵列的串中的每个存储器单元的漏极在源极线和位线之间以源极到漏极的方式串联耦合在一起。


技术实现要素:

6.根据本申请的一个方面,提供了一种存储器装置。所述存储器装置包含:接口,所述接口用于在所述存储器装置处接收信号;以及处理器,所述处理器被配置为执行存储在所述存储器装置中的一或多个部件上的指令,当由所述处理器执行时,所述指令使得所述存储器装置执行操作,所述操作包含响应于从所述信号识别用于转储错误日志的触发,将所述错误日志转储到所述存储器装置的存储器部件。
7.根据本申请的另一方面,提供了一种用于与存储器装置接合的系统。所述系统包含:处理器,所述处理器被配置为执行存储在所述系统中的一或多个部件上的指令,当由所述处理器执行时,所述指令使得所述系统执行操作,所述操作包含:检测与所述存储器装置相关联的错误状况;以及响应于所述错误状况的所述检测,将信号传输到所述存储器装置以触发所述存储器装置中的错误日志的转储。
8.根据本申请的又一方面,提供了一种保存与存储器装置相关联的错误日志的方法。所述方法包含:在所述存储器装置处接收信号;从所述信号识别用于将所述错误日志转储到所述存储器装置的触发;以及响应于从所述信号识别用于转储所述错误日志的所述触发,将所述错误日志转储到所述存储器装置的存储器部件。
附图说明
9.不一定按比例绘制的附图通常通过示例而非限制的方式示出了本文件中讨论的各种实施例。
10.图1示出了根据各种实施例的包括存储器装置的环境的示例。
11.图2和3示出了根据各种实施例的三维nand架构半导体存储器阵列的示例的示意图。
12.图4示出了根据各种实施例的存储器模块的示例框图。
13.图5是示出根据各种实施例的、可以在其上实现一或多个实施例的机器的示例的框图。
14.图6是根据各种实施例的、包括与存储器装置一起操作的主机的示例系统的框图,其中所述主机可以检测与存储器装置相关联的一或多个错误状况,并且响应于一或多个错误状况的检测,将触发信号传输到存储器装置以触发存储器装置中的错误日志的转储。
15.图7是根据各种实施例的、保存存储器装置的错误日志的示例方法的特征的流程图。
16.图8是根据各种实施例的、通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法的特征的流程图。
具体实施方式
17.以下详细描述涉及附图,这些附图通过说明的方式示出了可以实现的各种实施例。这些实施例以足够详细的方式描述,以使本领域的普通技术人员能够实践这些和其他实施例。可以利用其他实施例,并且可以对这些实施例进行结构、逻辑、机械和电气改变。各种实施例不一定相互排斥,因为一些实施例可以与一或多个其他实施例组合以形成新的实施例。因此,以下详细描述不被理解为有限制性意义。
18.在产品(诸如存储器装置)被提供给在特定使用领域中的消费者之后,可以继续调试产品。在产品现场调试期间,很难在问题发生的时间处捕获所有关键信息。这种困难可能与主机和存储器装置之间的实时同步机制相关联。由于这种同步困难,人们可能不依赖于问题的重复,这可能具有低效率、是耗时的,并且有时甚至是极其难以复制的。
19.例如,当主机和存储器装置之间的链路丢失时,主机不可能经由命令立即通知装置错误发生,因为断开协议链路。对于通用快闪存储设备(ufs
tm
)装置,可能有mphy/unipro错误。unipro(统一协议)是相对高速的接口技术,用于互连移动电子装置和具有带有移动相关的特性的部件的电子装置以及受移动影响的电子装置中的集成电路。m

phy(mphy)是由mipi联盟开发的高速数据通信物理层标准,所述联盟是全球的开放成员组织,其为移动电子装置环境开发接口规范。在分层通信架构中ufs互连层处的ufs电气接口可以处理ufs主机和ufs装置之间的连接,其中m

phy规范和unipro规范形成了ufs接口互连的基础。
unipro可以通过与m

phy物理层通信来监控链路的位误码率。unipro是传输协议,其还通过关于如何重试或重新发送其的过程来保持跟踪重试。由于ufs装置等待ufs主机的指令,因此链路的丢失是不会与没有从ufs主机接收到信号立即相关的。在链路丢失的情况下,主机不能经由命令立即通知装置错误发生。
20.在超时故障的情况下可能出现错误状况。当主机检测到命令超时时,与所述主机接合的装置可能正忙于任务处理。任务处理可以是执行存储在装置的固件中的指令,使得它不会在近期处理错误状况的通知。错误状况的通知可以相对于任务处理来排队。基于固件的处理甚至可能处于停滞状态,使得其错过任何即将到来的主机协议信号。附加地,无论发生何种情况,装置可能失去更新其错误日志的机会。
21.错误状况可能出现,其中主机向其正在接合的装置触发复位信号。复位信号是迫使装置从错误状态恢复的信号。然而,这个信号可以是在故障事件发生后的几秒钟。装置可能失去更新其错误日志的机会。
22.许多当前故障分析技术基于代码注入或特定销售商命令。这些方法暗指装置的状态改变。这些方法倾向于利用专用测试固件执行再测试。
23.在各种实施例中,可以从主机向装置生成实时触发,所述实时触发可以用于通知装置及时捕获装置的错误日志中的所需的全部信息,并且转储错误日志以保存所述信息用于以后的故障分析。转储是保存操作。转储可以通过保存到专用非易失性存储器来实现,所述专用非易失性存储器被分配作为用于装置的错误日志的特定存储器。专用非易失性存储器可以是存储用户数据的装置的存储器的一部分,或者是静态随机存取存储器(sram)或rom的一部分。实时触发技术可以在内部制造商资格阶段和主机客户平台问题两者期间提高故障分析能力,这种实时触发可以以不是装置侵入式的方式进行。这种技术可以包括使用定制的命令序列或外部触发,所述外部触发使用到存储器的接口,诸如通用异步接收器/发送器(uart)或通用输入/输出(gpio)。
24.设备的接口是机构,通过所述机构在设备和另一设备之间实现交互或通信。接口可以包括多个连接,以根据用于为设备限定的连接的协议与其他设备耦合。对于存储器装置,根据存储器装置的设计和在其下存储器装置相对于与存储器装置相关联的规范进行操作的协议,接口可以包括各种总线、到存储器装置的信号的输入连接、来自存储器装置的信号的输出连接、协议以及与存储器装置进行通信的其他结构。存储器装置可以包括在存储器装置的部件之间的接口。接口可以是硬件接口、基于指令的接口或硬件和基于指令的接口的组合。
25.uart是用于异步串行通信的硬件装置,其中数据格式和传输速度是可配置的。例如,uart可以对从外围装置接收的数据执行串行到并行的转换,并且对从处理器接收的数据执行并行到串行的转换。uart可以包括控制能力和处理器中断系统,所述处理器中断系统可以被定制以最小化通信链路的软件管理。gpio是集成电路或电子电路板上发现的没有特定的功能的引脚类型。这种引脚的行为(包括它是作为输入还是输出)在运行时间是可控制的。一组gpio引脚可以被布置成gpio端口。
26.利用本文教导的实时触发技术,主机可以使得装置在错误状况的情况下转储相关装置信息。相关装置信息可以包括硬件和固件信息两者。这种信息可以包括数据超时、数据失配、致命错误、初始化超时和卡住装置固件的标识。
27.实时触发可以通过由中断服务例程(isr)处理的硬件中断发信号通知存储器装置的固件。实时触发的isr可以调用或恢复专用任务,所述专用任务是负责转储装置系统状态的实时触发任务,所述装置系统状态可以呈错误日志的形式。实时触发任务可以独立于与常规存储器装置任务相关联的固件任务状态。
28.在各种实施例中,存储器装置可以包含接口,以在存储器装置处接收信号,所述信号可以使得存储器装置将存储器装置的错误日志转储到存储器装置的存储器部件。存储器装置可以包括多个数据存储存储器、一或多个进程以及其他部件,以管理存储器装置并且访问存储在存储器装置中的数据。存储器装置可以具有带有存储器装置外部的装置(诸如主机装置)的多个接口。接口可以包括多个引脚,其中这些引脚被布置用于不同的功能,例如数据传输、关联的数据地址、uart、gpio、复位或其他功能。存储器装置的一或多个处理器可以执行存储在存储器装置中的一或多个部件上的指令。当指令由一或多个处理器执行时,存储器装置可以执行与指令相关的操作。操作可以包括响应于从在接口处接收的信号识别用于转储错误日志的触发,将错误日志转储到存储器装置的存储器部件。
29.根据存储器装置的协议规范,存储器装置的接口可以被结构化成接收信号,来以多种方式将存储器装置的错误日志转储到存储器装置的存储器部件。存储器装置的接口可以包括用于接收到存储器装置的信号的gpio,以将存储器装置的错误日志转储到存储器装置的存储器部件。存储器装置的接口可以包括用于接收信号的uart。存储器装置可以包括gpio和uart,其中存储器装置被布置成选择gpio和uart中的一个来接收到存储器装置的信号,以将存储器装置的错误日志转储到存储器装置的存储器部件。接口可以被结构化成接收信号作为用于将错误日志转储到存储器装置的存储器部件的命令。在一个装置协议规范中,命令可以是用于实时触发任务激活的嵌入式多媒体控制器(emmc)命令。在另一装置协议规范中,命令可以是带有用于启用实时触发任务激活的ufs协议信息单元(upiu)的通用快闪存储设备(ufs)查询请求。
30.存储器装置中的用于转储错误日志的指令可以存储在存储器装置的一部分中,其中所述部分与控制用于数据存储的存储器装置的数据管理的固件分离。错误日志可以包括硬件信息和固件信息。错误日志可以包括数据超时、数据失配、致命错误、初始化超时和存储器装置的卡住固件的标识中的一或多个。
31.响应于从在接口处接收的信号识别用于转储错误日志的触发,除了将存储器装置的错误日志转储到存储器装置的存储器部件之外,存储器装置可以完成正在进行的任务并保存缓存的主机数据。除了转储其错误日志之外,这些动作可以在预期存储器装置关闭的情况下由存储器装置进行。限定存储器装置响应于接收和识别触发信号而采取的动作的指令可以存储在存储器装置的专用部分中。专用部分可以与控制存储器装置中的数据存储的数据管理的固件分离。存储器装置的专用部分可以是静态随机存取存储器或只读存储器的一部分。
32.响应于接收触发信号而转储到存储器装置的存储器的错误日志可以包括硬件信息和固件信息。例如,错误日志可以包括数据超时、数据失配、致命错误、初始化超时和存储器装置的卡住固件的标识中的一或多个。在错误日志转储到存储器装置的存储器之后的某个时间,可以相对于触发的转储进行故障分析。为了执行这种故障分析,可以将转储到存储器装置的存储器的错误日志从存储器部件传输到主机。
33.用于与存储器装置接合的系统(诸如主机)可以包含部件,以检测与数据存储装置相关联的一或多个错误状况。在检测到一或多个错误状况时,可以根据存储器装置的协议规范来生成触发信号。用于与存储器装置接合的系统可以包括处理器,所述处理器被配置为执行存储在系统中的一或多个部件上的指令。当由处理器执行时,指令可以使得系统执行操作。操作可以包括检测与存储器装置相关联的错误状况,以及响应于错误状况的检测,将信号传输到存储器装置以触发存储器装置中的错误日志的转储。
34.用于与存储器装置接合的系统可以将信号传输到存储器装置,以以多种方式触发存储器装置中的错误日志的转储。将信号传输到存储器装置可以包括将信号传输到存储器装置的gpio或存储器装置的uart。用于与存储器装置接合的系统的处理器可以被布置成在到存储器装置的信号中生成用于将错误日志转储到存储器装置的存储器部件的命令。命令可以是用于实时触发任务激活的emmc命令。在另一实施例中,命令可以是带有用于启用实时触发任务激活的upiu的ufs查询请求。
35.由系统的处理器执行的操作可以包括从存储器装置接收转储到存储器装置的存储器部件的错误日志。可以由系统检索错误日志,以使用接收的错误日志进行故障分析。系统可以执行故障分析或将错误日志信息提供给另一装置,所述另一装置可以从从存储器接收信息的系统远程定位。
36.使用emmc协议的主机和相关联的存储器装置可以在实现实时技术的情况下利用定制的emmc命令或emmc定制命令的序列,以触发到ufs存储器装置的存储器部件的错误日志转储或其他基于错误状况的转储。可以实现后面跟着特定于应用程序的命令acmdxx的特定于应用程序的命令cmd55。cmd 55可以用于启用故障分析模态。在emmc装置中,通过接收emmc装置作为指令来解释后面跟着特定于应用程序的命令acmd的cmd55命令,以执行与acmd相对应的操作。为了触发到emmc装置的存储器部件的错误日志转储,可以向acmdxx提供xx,所述xx识别将进行实时触发任务激活。例如,在从主机接收到cmd55时,emmc存储器装置可以发信号通知主机现在emmc存储器装置期待acmd。作为响应,主机可以发送acmdxx,以触发错误日志转储任务,同时emmc存储器装置确认接收到acmdxx。emmc存储器装置然后可以开始错误日志转储,并且采取与错误日志转储相关联的其他动作。这些动作可以包括在预期存储器装置关闭的情况下采取的动作,诸如但不限于完成正在进行的任务和保存缓存的主机数据。
37.对于ufs装置,主机和ufs装置之间的信息传输(即通信)是通过upiu消息执行的。这些消息是ufs限定的数据结构,这些数据结构含有许多按顺序寻址的、被布置成各种信息字段的字节。例如,命令结构由含有命令操作码和相关的参数、旗标和属性的命令描述符块(cdb)组成。命令事务源自发起方装置,并且被发送到在目标装置内的逻辑单元。对于枚举和配置,基于ufs的设备支持限定和控制装置细节(包括操作特性、接口、逻辑单元的数量、操作速度、功率曲线等)的描述符、属性和旗标的系统。系统是相关的元素的层次树。
38.查询用于在主机和ufs装置之间读取和写入数据结构。这种数据不同于正常的装置读取或写入,因为所述数据被视为系统数据、配置数据、生产信息、描述符、特殊参数和旗标等。对于ufs设备,查询功能通常将用于读取或写入描述符、属性和旗标。还有一系列供应商特定操作,其可以用于在主机和ufs装置之间传输特定于供应商的数据。这些项目可以驻留在ufs装置存储器内,并且由ufs装置用来控制或限定其操作。
39.描述符是描述关于作为描述符的主题的ufs装置的某物的参数的块或页面。描述符是带有限定格式的数据结构。存在许多描述符,例如,装置描述符、配置描述符、单元描述符和其他描述符。属性是表示可以设置或读取的特定数值范围的单个参数。这个值可以表示为字节或字或浮点数。属性大小的范围可以从1位到更高的位数,诸如32位大小。相同类型的属性可以组织在阵列中,其中属性阵列的每个元素可以通过索引来标识。旗标是表示值的真或假、
‘0’

‘1’
、开或关类型的单个布尔值。旗标可以被清除或复位、设置、切换或读取。旗标对于启用或停用装置内的某些功能或模式或状态是有用的。
40.主机和相关联的ufs存储器装置可以在实现实时技术的情况下利用ufs协议,以触发到ufs存储器装置的存储器部件的错误日志转储或其他基于错误状况的转储。可以实现定制的ufs命令或ufs定制命令的序列。查询请求upiu可以与限定的、启用在ufs存储器装置中的故障分析模态和实时触发任务激活的应用操作码一起使用。ufs存储器装置然后可以开始错误日志转储,并且采取与错误日志转储相关联的其他动作。这些动作可以包括在预期存储器装置关闭的情况下采取的动作,诸如但不限于完成正在进行的任务和保存缓存的主机数据。
41.从主机到存储器装置以触发到存储器装置的存储器部件的错误日志转储或其他基于错误状况的转储的gpio信号可以相对于emmc协议和ufs协议两者来实现。使用gpio信号的类似方法可以适用于在其他协议(诸如但不限于专有协议)下的主机和相关联的存储器装置的操作。从主机到存储器装置以触发到存储器装置的存储器部件的错误日志转储或其他基于错误状况的转储的uart中断信号可以相对于emmc协议和ufs协议两者来实现。使用uart中断的类似方法可以适用于在其他协议(诸如但不限于专有协议)下的主机和相关联的存储器装置的操作。
42.存储器装置可以包括单独的存储器管芯,所述存储器管芯可以例如包括存储区域,所述存储区域包含实现一(或多个)选择的存储技术的一或多个存储器单元阵列。这种存储器管芯将通常包括用于操作存储器阵列的支持电路系统。其他示例(有时通常被称为“受管理的存储器装置”)包括与被配置为控制一或多个存储器管芯的操作的控制器功能相关联的一或多个存储器管芯的组件。这种控制器功能可以简化与外部装置(诸如主机)的互操作性。在这种受管理的存储器装置中,控制器功能可以在还结合了存储器阵列的一或多个管芯上,或者在单独的管芯上实现。在其他示例中,一或多个存储器装置可以与控制器功能相结合以形成固态驱动器(ssd)存储卷。
43.本公开的实现例可以包括实现nand快闪存储器单元的受管理的存储器装置(被称为“受管理的nand”装置)的示例。然而,这些示例并不限制本公开的范围,本公开可以以其他形式的存储器装置和/或利用其他形式的存储技术来实现。
44.nor和nand闪存架构半导体存储器阵列均通过解码器来存取,所述解码器通过选择耦合到特定存储器单元的栅极的字线来激活所述特定存储器单元。在nor架构半导体存储器阵列中,选择的存储器单元一旦被激活,就将其数据值置于位线上,从而取决于特定单元的编程状态使得不同的电流流动。在nand架构半导体存储器阵列中,高偏置电压被施加到漏极侧选择栅极(sgd)线。以指定的导通电压(例如,vpass)驱动耦合到每一组的未选择的存储器单元的栅极的字线,以使每一组的未选择的存储器单元作为导通晶体管操作(例如,以不受其存储的数据值限制的方式导通电流)。电流然后通过每个串联耦合组从源极线
流到位线,仅受每一组的选择的存储器单元的限制,从而将选择的存储器单元的当前编码数据值置于位线上。
45.nor或nand架构半导体存储器阵列中的每个快闪存储器单元可以被单独地或共同地编程为一或多个编程状态。例如,单级单元(slc)可以表示两个编程状态(例如,1或0)中表示一个数据位的一个。快闪存储器单元也可以表示多于两个编程状态,从而允许在不增加存储器单元的数量的情况下制造更高密度的存储器,因为每个单元可以表示多于一个的二进制数字(例如,多于一位)。这种单元可以被称为多状态存储器单元、多位单元或多级单元(mlc)。在某些示例中,mlc可以指每个单元可以存储两位数据(例如,四个编程状态中的一个)的存储器单元,三级单元(tlc)可以指每个单元可以存储三位数据(例如,八个编程状态中的一个)的存储器单元,而四级单元(qlc)可以每个单元存储四位数据。mlc在本文中在其更广义的背景下用于指每个单元可以存储多于一位的数据(即,可以表示多于两个的编程状态)的任何存储器单元。
46.受管理的存储器装置可以根据公认的行业标准来配置和操作。例如,受管理的nand装置可以是(作为非限制性示例)ufs装置或嵌入式mmc装置(emmc
tm
)等。例如,在以上示例的情况下,ufs装置可以根据联合电子装置工程委员会(joint electron device engineering council,jedec)标准(例如,jedec标准jesd223d,标题为“jedec ufs快闪存储设备3.0”,和/或这个标准的更新或后续版本)来配置。类似地,已识别的emmc装置可以根据jedec标准jesd84

a51(标题为“jedec emmc标准5.1”和/或这个标准的更新或后续版本)来配置。
47.ssd尤其可以用作计算机的主存储装置,其在例如性能、大小、重量、坚固性、工作温度范围和功耗方面优于具有移动零件的传统硬盘驱动器。例如,ssd可以具有减少的寻道时间、等待时间或与磁盘驱动器(例如,机电的等)相关联的其他延迟。ssd使用非易失性存储器单元(诸如快闪存储器单元)来消除内部电池供电需求,因此允许驱动器更加通用和紧凑。受管理的nand装置可以在各种形式的电子装置中用作主存储器或辅助存储器,并且通常用于移动装置中。
48.ssd和受管理的存储器装置两者可以包括多个存储器装置,包括多个管芯或逻辑单元(例如,逻辑单元号或lun),并且可以包括一或多个处理器或执行操作存储器装置或与外部系统接合所需的逻辑功能的其他控制器。这种ssd和受管理的存储器装置可以包括一或多个快闪存储器管芯,包括其上的多个存储器阵列和外围电路系统。快闪存储器阵列可以包括组织成多个物理页面的多个存储器单元块。在一些示例中,ssd还可以包括dram或sram(或存储器管芯的其他形式或其他存储器结构)。类似地,受管理的nand装置可以包括与nand存储阵列分离的、易失性和/或非易失性存储器的一或多个阵列,并且在控制器内或与其分离。ssd和受管理的nand装置都可以从主机接收与存储器操作(诸如读取或写入操作)、或者从存储器装置擦除数据的擦除操作相关联的命令,以在存储器装置和主机之间传输数据(例如用户数据和相关联的完整性数据(诸如错误数据和地址数据)等)。
49.电子装置(诸如移动电子装置(例如,智能手机、平板电脑等))、用于在汽车应用中使用的电子装置(例如,汽车传感器、控制单元、驾驶员辅助系统、乘客安全性或舒适性系统等)、以及联网设备或装置(例如,物联网(iot)装置等)根据电子装置的类型、使用环境、性能预期等具有不同的存储需求,等等。
50.电子装置可以被分解为几个主要部件:处理器(例如,中央处理器(cpu)或其他主处理器);存储器(例如一或多个易失性或非易失性ram存储器装置(诸如dram、移动或低功率双数据速率同步dram(ddr sdram)等):以及存储装置(例如,非易失性存储器(nvm)装置(诸如快闪存储器、rom、ssd、mmc或其他存储器卡结构或组件等)。在某些示例中,电子装置可以包括用户界面(例如,显示器、触摸屏、键盘、一或多个按钮等)、图形处理单元(gpu)、电源管理电路、基带处理器或一或多个收发器电路等。
51.图1示出了环境100的示例,所述环境包括被配置为在通信接口上通信的主机装置105和存储器装置110。主机装置105或存储器装置110可以包括在各种产品150(诸如iot装置(例如,冰箱或其他电器、传感器、马达或致动器、移动通信装置、汽车、无人机等))中,以支持产品150的处理、通信或控制。
52.存储器装置110包括存储器处理装置115和存储器阵列120,所述存储器阵列包括例如多个单独的存储器管芯(例如3d nand管芯的堆叠)。在3d架构半导体存储器技术中,竖直结构被堆叠,从而增加了层数、物理页面数,并因此增加了存储器装置(例如,存储装置)的密度。在示例中,存储器装置110可以是主机装置105的离散存储器或存储装置部件。在其他示例中,存储器装置110可以是集成电路(例如,片上系统(soc)等)的一部分,被堆叠或以其他方式与主机装置105的一或多个其他部件包括在一起。
53.一或多个通信接口可以用于在存储器装置110和主机装置105的一或多个其他部件(诸如串行高级技术附件(sata)接口、外围部件互连快速(pcie)接口、通用串行总线(usb)接口、ufs接口、emmc
tm
接口或一或多个其他连接器或接口)之间传输数据。主机装置105可以包括主机系统、电子装置、处理器、存储卡读取器或存储器装置110外部的一或多个其他电子装置。在一些示例中,主机装置105可以是具有参考图5的机器500讨论的部件的某些部分或全部的部件的机器。
54.存储器处理装置115可以从主机装置105接收指令,并且可以与存储器阵列120通信,诸如以向(例如,写入或擦除)或从(例如,读取)存储器单元、平面、子块、块或存储器阵列120的页面中的一或多个传输数据。存储器处理装置115尤其可以包括电路系统或固件,所述固件包括一或多个部件或集成电路。例如,存储器处理装置115可以包括一或多个存储器控制单元、电路或部件,所述一或多个存储器控制单元、电路或部件被配置为控制跨越存储器阵列120的访问并且在主机装置105和存储器装置110之间提供转译层。存储器处理装置115可以包括一或多个输入/输出(i/o)电路、线路或接口,以向或从存储器阵列120传输数据。存储器处理装置115可以包括存储器管理器125和阵列控制器135。
55.存储器管理器125尤其可以包括电路系统或固件,诸如与各种存储器管理功能相关联的多个部件或集成电路。在一些实施例中,存储器管理器125的功能由执行固件的指令的控制器(或处理器)实现。例如,在一些示例中,存储器管理器125可以至少部分地由一或多个处理器(例如如在可以在图6的处理装置615内发现的)实现,所述处理器可以执行存储在存储器中(例如在管理存储器616或数据存储装置612中)的指令。管理表130可以类似地在任一这样的存储器装置位置中存储存储器处理装置115上。在其他示例中,指令和/或管理表130可以存储在nand管芯堆叠120的某些块中,并且在操作期间加载到存储器处理装置115的工作存储器中。
56.本领域的技术人员将认识到,在一些示例中,存储器管理器125和阵列控制器135
的部件和功能可以通过本文描述的部件(或其子集)(诸如图6的处理装置615和数据存储装置612)的任何组合来实现;并且可以包括附加的硬件部件。
57.出于本描述的目的,将在nand存储器的背景下描述示例存储器操作和管理功能。本领域的技术人员将认识到,其他形式的非易失性存储器可以具有类似的存储器操作或管理功能。这种nand管理功能包括磨损均衡(例如,垃圾收集或回收)、错误检测或修正、块报废或者一或多种其他存储器管理功能。存储器管理器125可以将主机命令(例如,从主机接收的命令)解析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等),或者为阵列控制器135或存储器装置110的一或多个其他部件生成装置命令(例如,以完成各种存储器管理功能)。
58.存储器管理器125可以包括被配置为维持与存储器装置110的一或多个部件相关联的各种信息(例如,与耦合到存储处理装置115的存储器阵列或一或多个存储器单元相关联的各种信息)的管理表130的集合。例如,管理表130可以包括关于耦合到存储器处理装置115的存储器单元的一或多个块的块寿命、块擦除计数、错误历史或者一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些示例中,如果针对一或多个错误计数检测到的错误数高于阈值,则位错误可以被称为不可修正的位错误。管理表130尤其可以维护可修正或不可修正的位错误的计数。
59.阵列控制器135尤其可以包括被配置为控制存储器操作的电路系统或部件,所述操作与向耦合到存储器处理装置115的存储器装置110的一或多个存储器单元写入数据、从其读取数据或擦除所述一或多个存储器单元相关联。例如,存储器操作可以基于从主机装置105接收的主机命令,或者由存储器管理器125内部地生成(例如,与磨损均衡、错误检测或修正等相关联)。
60.阵列控制器135可以包括错误修正码(ecc)部件140,所述错误修正码部件尤其可以包括被配置为检测或修正错误的ecc引擎或其他电路系统,这些错误与向耦合到存储器处理装置115的存储器装置110的一或多个存储器单元写入数据或从其读取数据相关联。阵列控制器135可以包括实时触发任务部件111,所述实时触发任务部件可以包括用于响应于检测执行转储的触发信号的接收,将存储器装置110的错误日志转储到存储器装置110的存储器部件的指令。存储器处理装置115可以被配置为主动检测错误发生并从其恢复(例如,位错误、操作错误等),这些错误发生与数据的各种操作或存储相关联,同时保持在主机装置105和存储器装置110之间传输的数据的完整性,或者保持存储的数据的完整性(例如,使用冗余raid存储等),并且可以移除(例如,退出)故障存储器资源(例如,存储器单元、存储器阵列、页面、块等)以防止将来的错误。
61.存储器阵列120可以包括布置在例如多个装置、平面、子块、块或页中的几个存储器单元。作为一个示例,48gb tlc nand存储器装置每页可以包括18,592个字节(b)数据(16,384 2208个字节),每块1536页,每平面548个块以及每装置4个或更多个平面。作为另一示例,32gb mlc存储器装置(每单元存储两位数据(即,4个可编程状态))每页可以包括18,592个字节(b)数据(16,384 2208个字节),每块1024页,每平面548个块,以及每装置4个平面,但与对应的tlc存储器装置相比,所需写入时间减少一半,而编程/擦除(p/e)循环增加一倍。其他示例可以包括其他数字或布置。在一些示例中,可以选择性地以slc模式或所需的mlc模式(诸如tlc、qlc等)操作存储器装置或其一部分。
62.在操作中,数据通常以页的形式被写入nand存储器装置110或从中读取并且以块的形式被擦除。然而,根据需要,可以在更大或更小组的存储器单元上执行一或多个存储器操作(例如,读、写、擦除等)。nand存储器装置110的数据传输大小通常被称为页,而主机的数据传输大小通常被称为扇区。
63.尽管数据页可以包括多个字节的用户数据(例如,包括多个数据扇区的数据有效载荷)及其对应的元数据,但是页的大小通常仅指用于存储用户数据的字节数。作为示例,页大小为4kb的一页数据可以包括4kb的用户数据(例如,呈现扇区大小为512b的8个扇区)以及与用户数据相对应的多个字节(例如,32b、54b、224b等)的元数据,诸如完整性数据(例如,错误检测或修正代码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其他元数据。
64.不同类型的存储器单元或存储器阵列120可以提供不同的页面大小,或者可能需要与其相关联的不同数量的元数据。例如,不同的存储器装置类型可能具有不同的位误码率,这可能导致确保数据的页的完整性所必需的不同数量的元数据(例如,具有较高位误码率的存储器装置可能比具有较低位误码率的存储器装置需要更多字节的错误修正码数据)。作为示例,与对应的slc nand快闪装置相比,mlc nand快闪装置可以具有较高的位误码率。同样地,与对应的slc装置相比,mlc装置可能需要更多的用于错误数据的元数据字节。
65.图2示出了可以实现为图1的存储器阵列120的3d nand架构半导体存储器阵列200的示例示意图。3d nand架构半导体存储器阵列200可以包括组织成块(例如,块a 201a、块b 201b等)和子块(例如,子块a
0 201a0、子块a
n 201a
n
、子块b
0 201b0、子块b
n 201b
n
等)的多个存储器单元串(例如,第一至第三a0存储器串205a0‑
207a0、第一至第三a
n
存储器串205a
n

207a
n
、第一至第三存b0存储器串205b0‑
207b0、第一至第三b
n
存储器串205b
n

207b
n
等)。存储器阵列200表示通常将在存储器装置的块、装置或其他单元中发现的更多类似结构的一部分。
66.每个存储器单元串包括在源极线(src)235或源极侧选择栅极(sgs)(例如,第一至第三a
0 sgs 231a0‑
233a0、第一至第三a
n sgs 231a
n

233a
n
、第一至第三b
0 sgs 231b0‑
233b0、第一至第三b
n sgs 231b
n

233b
n
等)和漏极侧选择栅极(sgd)(例如,第一至第三a
0 sgd 226a0‑
228a0、第一至第三a
n sgd 226a
n

228a
n
、第一至第三b
0 sgd 226b0‑
228b0、第一至第三b
n sgd 226b
n

228b
n
等)之间在z方向上、从源极到漏极堆叠的多个电荷存储晶体管层(例如,浮动栅极晶体管、电荷捕捉结构等)。3d存储器阵列中的每个存储器单元串可以作为数据线(例如,位线(bl)bl0

bl2 220

222)沿着x方向布置,并且作为物理页面沿着y方向布置。
67.在物理页面内,每层表示一行存储器单元,并且每个存储器单元串表示一列。子块可以包括一或多个物理页面。块可以包括多个子块(或物理页面)(例如,128、256、384等)。尽管本文示出为具有两个块,每个块具有两个子块,每个子块具有单个物理页面,每个物理页面具有三个存储器单元串,并且每个串具有8层存储器单元,但是在其他示例中,存储器阵列200可以包括更多或更少的块、子块、物理页面、存储器单元串、存储器单元或层。例如,每个存储器单元串可以包括更多或更少的层(例如,16、32、64、128等),以及电荷存储晶体管之上或之下的一或多层附加半导体材料(例如,选择栅极、数据线等),视需要而定。作为
示例,48gb的tlc nand存储器装置每页可以包括18,592字节(b)(16,384 2208字节)数据、每块1536页、每平面548块以及每装置4个或更多个平面。
68.存储器阵列200中的每个存储器单元包括耦合到(例如,电气地或以其他方式可操作地连接到)存取线(例如,字线(wl)wl00‑
wl7
0 210a

217a、wl01‑
wl7
1 210b

217b等)的控制栅极(cg),其在特定层或层的一部分上共同地耦合控制栅极(cg),如期望的那样。3d存储器阵列200中的特定层,并且相应地,串中的特定存储器单元可以使用各自的存取线来访问或控制。可以使用各种选择线来访问选择栅极组。例如,第一至第三a
0 sgd 226a0‑
228a0可以使用a
0 sgd线sgda
0 225a0来访问,第一至第三a
n sgd 226a
n

228a
n
可以使用a
n sgd线sgda
n 225a
n
来访问,第一至第三b
0 sgd 226b0‑
228b0可以使用b
0 sgd线sgdb
0 225b0来访问,并且第一至第三b
n sgd 226b
n

228b
n
可以使用b
n sgd线sgdb
n 225b
n
来访问。第一至第三a
0 sgs 231a0‑
233a0和第一至第三a
n sgs 231a
n

233a
n
可以使用栅极选择线sgs
0 230a来访问,并且第一至第三b
0 sgs 231b0‑
233b0和第一至第三b
n sgs 231b
n

233b
n
可以使用栅极选择线sgs
1 230b来访问。
69.在示例中,存储器阵列200可以包括多个级别的半导体材料(例如多晶硅等),所述半导体材料被配置为耦合阵列200的相应层的每个存储器单元的cg或选择栅极(或cg或选择栅极的一部分)。可以使用位线(bl)和选择栅极等的组合来访问、选择或控制阵列中的特定存储器单元串,并且可以使用一或多条存取线(例如字线)来访问、选择或控制特定串中的一或多个层处的特定存储器单元。
70.图3示出了可以实现为图1的存储器阵列120的nand架构半导体存储器阵列300的一部分的示例示意图。nand架构半导体存储器阵列300的所述部分可以包括以串(例如,第一至第三串305

307)和层(例如,示出为相应的字线(wl)wl0

wl7 310

317、漏极侧选择栅极(sgd)线325、源极侧选择栅极(sgs)线330等)的二维(2d)阵列布置的多个存储器单元302以及感测放大器或装置360。例如,存储器阵列300可以示出3d nand架构半导体存储器装置的存储器单元的一个物理页面的一部分的示例示意图,诸如图2中所示。
71.每个存储器单元串使用相应的源极侧选择栅极(sgs)(例如,第一至第三sgs 331

333)耦合到源极线(src)335,并且使用相应的漏极侧选择栅极(sgd)(例如,第一至第三sgd 326

328)耦合到相应的数据线(例如,第一至第三位线(bl)bl0

bl2 320

322)。尽管在图3的示例中示出了8层(例如,使用字线(wl)wl0

wl7 310

317)和三条数据线(bl0

bl2 326

328),但是其他示例可以包括具有更多或更少层或数据线的存储器单元串,如期望的那样。
72.在nand架构半导体存储器阵列(诸如示例存储器阵列300)中,可以通过感测与含有选择的存储器单元的特定数据线相关联的电流或电压变化来访问选择的存储器单元302的状态。可以使用一或多个驱动器来访问存储器阵列300(例如,通过控制电路、一或多个处理器、数字逻辑等)。在示例中,一或多个驱动器可以通过将特定电位驱动到一或多条数据线(例如位线bl0

bl2)、存取线(例如字线wl0

wl7)或选择栅极来激活特定存储器单元或存储器单元组,这取决于期望在特定存储器单元或存储器单元组上执行的操作的类型。
73.为了将数据编程或写入到存储器单元,可以将编程电压(vpgm)(例如,一或多个编程脉冲等)施加到选择的字线(例如,wl4),并且因此施加到耦合到选择的字线的每个存储器单元的控制栅极(例如,耦合到wl4的存储器单元的第一至第三cg 341

343)。编程脉冲可以例如在15v处或附近开始,并且在某些示例中,可以在每个编程脉冲应用期间增加幅度。
当编程电压被施加到选择的字线时,诸如地电位(例如vss)的电位可以被施加到目标为编程的存储器单元的数据线(例如位线)和衬底(以及因此源极和漏极之间的沟道),从而导致电荷从沟道转移(例如直接注入或fowler

nordheim(fn)隧穿等)到目标存储器单元的浮动栅极。
74.相反,可以将导通电压(vpass)施加到具有目标为非编程的存储器单元的一或多条字线,或者可以将禁止电压(例如vcc)施加到具有目标为非编程的存储器单元的数据线(例如位线),例如,以禁止电荷从沟道转移到这种非目标存储器单元的浮动栅极。导通电压可以是可变的,取决于例如所施加的导通电压与目标为编程的字线的接近程度。禁止电压可以包括相对于地电位(例如vss)的电源电压(vcc),诸如来自外部源或电源(例如电池、交流直流转换器等)的电压。
75.作为示例,如果编程电压(例如,15v或更高)被施加到特定字线(诸如wl4),10v的导通电压可以被施加到一或多个其他字线(诸如wl3、wl5等),以禁止非目标存储器单元的编程,或者保留存储在这种目标为非编程的存储器单元上的值。随着所施加的编程电压与非目标存储器单元之间的距离增加,抑制对非目标存储器单元进行编程所需的导通电压可以降低。例如,在15v的编程电压被施加到wl4的情况下,10v的导通电压可以被施加到wl3和wl5,8v的导通电压可以被施加到wl2和wl6,7v的导通电压可以被施加到wl1和wl7等。在其他示例中,导通电压或字线数量等可以更高或更低、或更多或更少。
76.耦合到数据线(例如,第一、第二或第三位线(bl0

bl2)320

322)中的一或多条的感测放大器360可以通过感测在特定数据线上的电压或电流来检测相应的数据线中的每个存储器单元的状态。
77.在施加一或多个编程脉冲(例如,vpgm)之间,可以执行验证操作来确定选择的存储器单元是否已经达到其预期的编程状态。如果选择的存储器单元已经达到其预期的编程状态,则可以禁止其进一步编程。如果选择的存储器单元没有达到其预期的编程状态,则可以施加附加的编程脉冲。如果在特定数量的编程脉冲(例如,最大数量)之后,选择的存储器单元没有达到其预期的编程状态,则选择的存储器单元或者与这种选择的存储器单元相关联的串、块或页可以被标记为有缺陷的。
78.为了擦除存储器单元或一组存储器单元(例如,擦除通常在块或子块中执行),擦除电压(vers)(例如,通常为vpgm)可以(例如,使用一或多条位线、选择栅极等)被施加到目标为擦除的存储器单元的衬底(以及因此源极和漏极之间的沟道),而目标存储器单元的字线保持在诸如地电位(例如vss)的电位,从而导致电荷从目标存储器单元的浮动栅极转移(例如,直接注入或fn隧穿等)到沟道。
79.图4示出了可以实现为图1的存储器装置110的存储器装置400(包括具有多个存储器单元404的存储器阵列402,和用于提供与存储器阵列402的通信或在其上执行一或多个存储器操作的一或多个电路或部件)的示例框图。存储器装置400可以包括行解码器412、列解码器414、感测放大器420、页面缓冲器422、选择器424、i/o电路426以及存储器控制单元430。
80.存储器阵列402的存储器单元404可以以块(诸如第一和第二块402a、402b)布置。每个块可以包括子块。例如,第一块402a可以包括第一子块402a0和第二子块402a
n
,并且第二块402b可以包括第一子块402b0和第二子块402b
n
。每个子块可以包括多个物理页面,其中
每个页面包括多个存储器单元404。尽管本文示出为具有两个块,其中每个块具有两个子块,并且每个子块具有多个存储器单元404,但是在其他示例中,存储器阵列402可以包括更多或更少的块、子块、存储器单元等。在其他示例中,存储器单元404可以以多个行、列、页、子块、块等布置,并且使用例如存取线406、第一数据线410或一或多个选择栅极、源极线等来访问。
81.存储器控制单元430可以根据在控制线432上接收的一或多个信号或指令(包括例如指示期望操作(例如,写入、读取、擦除等)的一或多个时钟信号或控制信号)或者在一或多条地址线416上接收的地址信号(a0

ax)来控制存储器装置400的存储器操作。存储器装置400外部的一或多个装置可以控制控制线432上的控制信号或者地址线416上的地址信号的值。存储器装置400外部的装置的示例可以包括但不限于主机、存储器控制器、处理器或图4中未示出的一或多个电路或部件。
82.存储器装置400可以使用存取线406和第一数据线410以向(例如,写入或擦除)或从(例如,读取)存储器单元404中的一或多个传输数据。如上文所描述,行解码器412和列解码器414可以从地址线416接收和解码地址信号(a0

ax),可以确定要访问哪个存储器单元404,并且可以向存取线406(例如,多条字线(wl0

wlm)中的一或多条)或第一数据线410(例如,多条位线(bl0

bln)中的一或多条)中的一或多条提供信号。
83.存储器装置400可包括感测电路系统,诸如感测放大器420,其被配置为使用第一数据线410来确定存储器单元404上的数据值(例如,读取),或者确定待写入的数据值。例如,在选择的存储器单元404的串中,感测放大器420中的一或多个可以响应于存储器阵列402中流经选择的串到数据线410的读取电流而读取选择的存储器单元404中的逻辑电平。
84.存储器装置400外部的一或多个装置可以使用i/o线(dq0

dqn)408、地址线416(a0

ax)或控制线432与存储器装置400通信。根据例如控制线432和地址线416,i/o电路426可以使用i/o线408将数据值传入或传出存储器装置400,诸如传入或传出页面缓冲器422或存储器阵列402。页面缓冲器422可以存储在数据被编程到存储器阵列402的相关部分之前从存储器装置400外部的一或多个装置接收的数据,或者可以存储在数据被传输到存储器装置400外部的一或多个装置之前从存储器阵列402读取的数据。
85.列解码器414可以接收地址信号(a0

ax)并且将其解码成一或多个列选择信号(csel1

cseln)。选择器424(例如,选择电路)可以接收列选择信号(csel1

cseln)并且选择页面缓冲器422中的数据,所述数据表示待从存储器单元404读取或将被编程到该存储器单元的数据的值。可以使用第二数据线418在页面缓冲器422和i/o电路426之间传输选择的数据。
86.存储器控制单元430可以从外部源或电源(例如,内部或外部电池、交流直流转换器等)接收正和负电源信号,诸如电源电压(vcc)434和负电源(vss)436(例如,地电位)。在某些示例中,存储器控制单元430可以包括调节器428,以在内部提供正或负电源信号。
87.图5示出了示例机器500的框图,在所述机器上可以执行本文讨论的技术(例如,方法)中的任何一或多种。在替代实施例中,机器500可以作为独立装置操作,或者可以连接(例如联网)到其他机器。在网络化部署中,机器500可以在服务器

客户端网络环境中以服务器机器、客户端机器或两者的能力运行。在示例中,机器500可以在对等(p2p)(或其他分布式)网络环境中充当对等机器。机器500可以是个人计算机(pc)、平板pc、机顶盒(stb)、个
人数字助理(pda)、移动电话、网络装置、iot装置、自动系统或能够(依序或以其他方式)执行指定该机器要采取的动作的指令的任何机器。进一步,虽然仅示出了单个装置,但是术语“机器”还应被认为包括单独或联合执行指令集(或多个指令集)以执行本文讨论的方法中的任何一或多种的任何机器集合,诸如云计算、软件即服务(saas)或其他计算机集群配置。示例机器500可以被布置成在图1的环境100中操作。示例机器500可以包括一或多个存储器装置,所述一或多个存储器装置具有如相对于图2的存储器阵列200、图3的存储器阵列300和图4的存储器装置400所讨论的结构。
88.如本文所述,示例可以包括逻辑、部件、装置、封装或机制,或者可以通过它们操作。电路系统是在包括硬件(例如,简单电路、栅极、逻辑等)的有形实体中实现的电路的集合(例如,组)。随着时间的推移和基本硬件的可变性,电路系统成员可以是灵活的。电路系统包括可以在操作时单独或以组合方式执行特定任务的构件。在示例中,电路系统的硬件可以不变地被设计成执行特定的操作(例如,硬连线)。在示例中,电路系统的硬件可以包括可变地连接的物理部件(例如,执行单元、晶体管、简单电路等),包括物理改性(例如,磁性地、电气地、不变的聚集粒子的可移动放置等)的计算机可读介质,以编码特定操作的指令。在连接物理部件的情况下,硬件组成的基本电气特性发生变化,例如,从绝缘体变为导体,反之亦然。指令启用参与硬件(例如,执行单元或载荷机构),以经由可变的连接在硬件中创建电路系统的成员,以在操作时执行特定任务的部分。相应地,当装置运行时,计算机可读介质通信地耦合到电路系统的其他部件。在示例中,任何物理部件可以在多于一个电路系统的多于一个构件中使用。例如,在操作下,执行单元可以在一个时间点处、在第一电路系统的第一电路系统中使用,并且由第一电路系统中的第二电路重用,或者在不同的时间由第二电路系统中的第三电路重用。
89.机器(例如,计算机系统)500(例如,主机装置105、存储器装置110等)可以包括硬件处理器502(例如,cpu、gpu、硬件处理器核心或它们的任何组合,诸如存储器处理装置115等)、主存储器504和静态存储器506,它们中的一些或全部可以经由互联件(例如,总线)508彼此通信。机器500可以进一步包括显示器装置510、字母数字输入装置512(例如,键盘)和用户界面(ui)导航装置514(例如,鼠标)。在示例中,显示器装置510、输入装置512和ui导航装置514可以是触摸屏显示器。机器500可以附加地包括存储装置(例如,驱动单元)521、信号生成装置518(例如,扬声器)、网络接口装置520、以及一或多个传感器516(诸如,全球定位系统(gps)传感器、指南针、加速度计或其他传感器)。机器500可以包括输出控制器528,诸如串行(例如,usb、并行或其他有线或无线(例如,红外(ir)、近场通信(nfc)等))连接,以与一或多个外围装置(例如,打印机、卡读取器等)通信或控制它们。
90.机器500可以包括机器可读介质522,其上存储了体现本文描述的技术或功能中的任何一或多种或由它们利用的一或多组数据结构或指令524(例如,软件)。在其由机器500执行期间,指令524也可以完全或至少部分地驻留在主存储器504内、在静态存储器506内或在硬件处理器502内。在示例中,硬件处理器502、主存储器504、静态存储器506或存储装置521中的一个或任何组合可以构成机器可读介质522。指令524可以包括关于错误日志的数据管理指令。这种数据管理可以包括响应于接收用于转储错误日志的触发将错误日志转储到存储器。
91.虽然机器可读介质522被示出为单个介质,但是术语“机器可读介质”可以包括被
配置为存储一或多个指令524的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。
92.术语“机器可读介质”可以包括能够存储、编码或携带由机器500执行的指令并且使得机器500执行本公开的技术中的任何一或多种,或者能够存储、编码或携带由这种指令使用或与所述指令相关联的数据结构的任何介质。非限制性机器可读介质示例可以包括固态存储器以及光学和磁性介质。在示例中,大量的机器可读介质包含具有多个粒子(具有不变(例如静止)质量)的机器可读介质。因此,大量的机器可读介质不是暂时传播信号。大量的机器可读介质的具体示例可以包括:非易失性存储器,诸如半导体存储器装置(例如,eprom、eeprom)和快闪存储器装置;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及光盘rom(cd

rom)和数字通用光盘

只读存储器(dvd

rom)盘。
93.指令524(例如,软件、程序、操作系统(os)等)或者其他数据存储在存储装置521上,可以被存储器504访问,以供处理器502使用。存储器504(例如,dram)通常是快速的,但是易失性的,并且因此是与存储装置521(例如,ssd)不同的存储类型,其适于长期存储,包括在处于“关闭”状况时。用户或机器500使用的指令524或数据通常被加载到存储器504中,以供处理器502使用。当存储器504满了时,可以分配来自存储装置521的虚拟空间来补充存储器504;然而,因为存储装置521通常比存储器504慢,并且写入速度通常至少是读取速度的两倍,由于存储装置等待时间(与存储器504相比,例如,dram),所以虚拟内存的使用可能大大降低用户体验。进一步,将存储装置521用于虚拟内存可以大大缩短存储装置521的可用寿命。
94.与虚拟内存相反,虚拟内存压缩(例如,内核特征“zram”)使用部分内存作为压缩的块存储,以避免对存储装置521分页。分页发生在压缩的块中,直到需要将这样的数据写入存储装置521。虚拟内存压缩增加了存储器504的可用大小,同时减少了存储装置521的磨损。
95.针对移动电子装置或移动存储设备进行了优化的存储装置传统上包括mmc固态存储装置(例如,微安全数字(microsd
tm
)卡等)。mmc装置包括与主机装置的许多并行接口(例如,8位并行接口),并且通常是可移除且与主机装置分离的部件。相比之下,emmc
tm
装置附接到电路板,并且被视为主机装置的部件,同时读取速度可与基于sata的ssd装置相媲美。然而,对移动装置性能的需求持续增加,诸如以完全启用虚拟或增强现实装置、利用不断提高的网络速度等。响应于这一需求,存储装置已经从并行通信接口转变为串行通信接口。包括控制器和固件的ufs装置使用利用专用的读/写路径的低压差分信令(lvds)串行接口与主机装置通信,从而进一步提高了读/写速度。
96.指令524可以进一步使用传输介质,利用多种传输协议(例如,帧中继、网际协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)、超文本传输协议(http)等)中的任何一种,经由网络接口装置520,在通信网络526上传输或接收。示例通信网络可以包括局域网(lan)、广域网(wan)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(pots)网络和无线数据网络(例如,电气和电子工程师协会(institute of electrical and electronics engineers,ieee)802.11系列标准(称为)、ieee 802.16系列标准(称为))、ieee 802.15.4系列标准、对等(p2p)网络等。在示例中,网络接口装置520可以包括一或多个物理插孔(例如以太网、同轴或电话插孔)或一或多个
天线以连接到通信网络526。在示例中,网络接口装置520可以包括多个天线,以使用单输入多输出(simo)、多输入多输出(mimo)或多输入单输出(miso)技术中的至少一种来无线通信。术语“传输介质”应所述被理解为包括能够承载由机器500执行的指令的任何有形介质,并且包括用于传播数字或模拟通信信号的媒介或其他有形介质,这可以促进软件的通信。
97.图6是包括与存储器装置610一起操作的主机605的示例系统600的实施例的框图,其中主机605可以检测与存储器装置610相关联的一或多个错误状况,并且响应于一或多个错误状况的检测,将触发信号传输到存储器装置610以触发存储器装置610中的错误日志613的转储。可以在易失性存储器中维护正在被主动更新的错误日志613,它的内容随后被保存到非易失性存储器中。示例系统600可以相对于图1的环境100来实现。示例系统600可以相对于具有一或多个单独的存储器装置部件的存储器装置610来实现,所述存储器装置部件具有如相对于图2的存储器阵列200、图3的存储器阵列300和图4的存储器装置400所讨论的结构。
98.在这个示例实施例中,主机605耦合到存储器装置610的接口617。主机605可以与存储器装置610交互,以将用户数据存储到存储器装置610,并且使用接口617从存储器装置610检索用户数据。可以使用接口617在主机605和存储器装置610之间传送维护数据、命令、对命令的响应、信令数据和其他类似信号的交换。耦合主机605和存储器装置610的接口617可以以多种不同的方式实现。例如,接口617可以根据与与存储器装置610相对应的存储器装置类型相关的标准接口协议来实现。
99.存储器装置610可以包括处理装置615,以管理存储器装置610的操作。处理装置615可以包括或被结构化成一或多个处理器,诸如但不限于cpu。处理装置615可以被结构化成一或多个存储器控制器。处理装置615可以存储用于在作为数据存储装置的存储器装置610上操作的指令,以将用户数据存储到存储器装置610的数据存储装置612,并且从数据存储装置612检索用户数据。指令可以存储在处理装置615的管理存储器616中,或者存储在处理装置615外部的存储器装置610的部件中。处理装置615的管理存储器616可以包含可由处理装置615执行的代码,以至少管理数据存储装置612。
100.管理存储器616可以被结构化成含有指令的固件。可替换地,固件619可以驻留在与处理装置615分离、带有可由处理装置615执行的指令的非易失性存储器中。固件619可以包括具有可由处理装置615执行的指令的代码,以在数据存储装置612上操作。数据存储装置612可以包括一或多个单独的存储器部件。一或多个单独的存储器部件可以被实现为但不限于单独的nand存储器装置。数据存储装置612的一或多个单独的存储器部件可以以多种格式来实现,包括但不限于多存储器管芯。存储器装置610可以被结构化成但不限于ssd、ufs装置或emmc装置。例如,存储器装置610可以被结构化成移动存储装置。存储器装置610可以被结构化成受管理的nand系统。
101.在示例系统600中,处理装置615被配置(例如,硬件和/或软件实现)为响应于在存储器装置610的接口617处接收的信号是触发错误日志613转储的信号的标识,相对于将与一或多个错误状况相关联的错误日志613转储到存储器装置610的存储器部件614来执行操作。存储器部件614可以通过多种结构来实现。存储器部件614可以是但不限于sram、rom或数据存储装置612的一部分。错误日志613可以包括与数据超时、数据失配、致命错误、初始化超时和存储器装置的卡住固件的标识中的一或多个相关联的信息。
102.接口617可以以多种不同的格式实现。接口617可以包括用于接收转储信号的gpio。接口617可以包括用于接收转储信号的uart。接口617可以被结构化成接收转储信号作为用于将错误日志转储到存储器装置610的存储器部件的命令。对于emmc存储器装置,命令可以是用于实时触发任务激活的emmc命令。对于ufs装置,命令可以是带有用于启用实时触发任务激活的upiu的ufs查询请求。存储器装置610可以在接口617中包括多种不同的格式,其中可选择使用特定的格式来处理实时触发以转储错误日志613。
103.错误日志613的转储可以由实时触发任务611的部件来处理。可以通过由中断服务例程(isr)处理的硬件中断将实时触发发信号通知实时触发任务611。实时触发的isr可以调用或恢复负责转储存储器装置610的系统状态的实时触发任务611。实时触发任务611可以独立于管理存储器装置610的固件的任务状态。尽管错误日志613被示出为实时触发任务611的一部分,但是在确定与这些部件的操作相关联的错误时,错误日志613可以由存储器装置610的其他部件写入。用于处理触发信号的识别和错误日志613的转储的指令可以存储在专用的指令618中,这些专用指令与管理存储器616分离并且与控制用于数据存储的存储器装置610的数据管理的固件619分离。可以由处理装置615执行这些转储相关的指令。例如,在处理装置615具有多个处理器的情况下,组成处理装置615的这些处理器中的一个可以用于执行用于处理触发信号的识别和错误日志613的转储的指令。
104.响应于触发错误日志613的转储的信号的识别,处理装置615可以执行专用的指令618中的指令,以将与一或多个错误状况相关联的错误日志613转储到存储器部件614。专用的指令618中的操作可以包括用于存储器装置610的操作,以完成正在进行的任务并保存缓存的主机数据。专用的指令618被设置在存储器装置610的专用的部分中,其中所述专用的部分与控制用于数据存储的存储器装置610的数据管理的固件分离。存储器装置的专用的部分可以是sram、rom的一部分,或数据存储装置612的非易失性部分。转储到存储器部件614的错误日志613可以包括硬件信息和固件信息。存储器装置610可以将错误日志613的内容传输到主机605,以便进行故障分析。
105.在接收是错误事件信号的通知的触发信号之后,存储器装置610的行为可以包括多个动作。存储器装置610可以避免依赖于管理存储器装置610的主固件(根据实现方式的固件619或管理存储器616)来响应硬件错误事件切换,因为主固件可能在那时被卡住。专用的错误转储固件(诸如专用的指令618)可以被实现为小尺寸,这允许它在启用后永久驻留在sram或rom中。专用的错误转储固件可以将预定义的专用集成电路(asic)注册(reg)地址和选择的容纳错误日志的sram区域转储到存储器装置610的一个slc块中。错误转储固件的运行实际上对主固件是不可见的。在完成与错误日志613的转储相关的工作之后,存储器装置610可以选择将处理装置615的控制返回到主固件,直接发起复位存储器装置610,或者执行与对错误状况通知做出反应相关联的其他操作。
106.在存储器装置610的接口617处接收的、触发错误日志613的转储的信号可以由主机605响应于检测到与存储器装置610相关联的一或多个错误状况而生成。在这个示例实施例中,主机605包括执行存储在主机存储器606中的指令的主机处理器604。主机处理器604可以被实现为一或多个处理器。与存储器装置610相关联的错误状况可以包括数据超时、数据失配、致命错误、初始化超时、卡住系统固件标识或与存储器装置610相关联的其他错误状况。例如,当来自主机605的命令被发送到存储器装置610时,在指定的时间量内预期来自
存储器装置610的响应。如果在指定的时间量内没有收到响应,可能发生数据超时。一旦检测到错误状况,主机处理器604可以执行存储在主机存储器606中的指令,以生成触发信号。
107.根据存储器装置610使用的接口格式,响应于错误状况的检测,可以生成触发信号以传输到存储器装置610。触发信号可以被生成以传输到存储器装置610的gpio或传输到存储器装置610的uart。在另一接口格式中,主机处理器604可以被布置成在到存储器装置610的信号中生成用于将错误日志转储到存储器装置612的存储器部件614的命令。在存储器装置610实现为emmc存储器装置的情况下,命令可以是用于实时触发任务激活的emmc命令。主机605可以生成并传输cmd55,以启用acmdxx之后的故障分析模态,从而激活实时触发任务。在存储器装置610被实现为ufs存储器装置的情况下,命令可以是带有用于启用实时触发任务激活的upiu的ufs查询请求。
108.主机605向存储器装置610发送触发信号,以触发存储器部件614中的错误日志613的转储。响应于由主机605对与存储器装置610相关联的一或多个错误状况的出现的确定,发送这种触发信号。用于将触发信号传输到存储器装置610的决定可以基于相对于用于可允许的错误状况的一或多个阈值的错误状况的数量或错误状况的类型的比较。触发错误日志613的转储提供了用于保存错误日志613的机制。主机605的操作可以包括从存储器装置610接收转储到存储器装置610的存储器部件614的错误日志613,以便进行错误分析。主机605可以使用接收的错误日志来执行错误分析。主机605可以将错误日志613的一部分或从错误日志613生成的信息发送到主机605外部和存储器装置610外部的另一系统,以便进行故障分析。所述部分可以包括完整接收的错误日志。到这种其他系统的通信可以通过网络或网络组合进行。
109.图7是保存与存储器装置相关联的错误日志的示例方法700的实施例的特征的流程图。示例方法700可以相对于图1的环境100和图6的示例系统600来实现。示例方法700可以相对于一或多个单独的存储器装置来实现,所述存储器装置具有如相对于图2的存储器阵列200、图3的存储器阵列300和图4的存储器装置400所讨论的结构。在710处,在存储器装置处接收信号。接收信号可以包括在存储器装置的gpio节点处接收信号,在存储器装置的uart节点处接收信号,或者在存储器装置处的命令中接收信号。
110.在720处,从信号识别用于将错误日志转储到存储器装置的触发。信号可以包括一或多个数据结构,所述数据结构识别要被转储到存储器装置的存储器部件的存储器装置中的当前错误日志,其中所述存储器部件是被布置用于用户数据存储的非易失性存储器结构。例如,信号可以被接收作为将错误日志转储到非易失性存储器结构的命令。命令取决于存储器装置的格式。在各种实施例中,命令可以是用于实时触发任务激活的emmc命令。在其他实施例中,命令可以是带有用于启用实时触发任务激活的upiu的ufs查询请求。
111.在730处,响应于从信号识别用于转储错误日志的触发,将错误日志转储到存储器装置的存储器部件。错误日志可以包括硬件信息和固件信息。错误日志可以包括数据超时、数据失配、致命错误、初始化超时和存储器装置的卡住固件的标识中的一或多个。用于转储错误日志的指令可以存储在存储器装置的一部分中,其中所述部分与控制用于数据存储的存储器装置的数据管理的固件分离。
112.方法700或类似于方法700的方法的变型可以包括多个不同的实施例,这些实施例可以根据这些方法的应用和/或实现这些方法的系统的架构进行组合。这些方法可以包括
响应于从信号识别触发,在存储器装置中完成正在进行的任务并保存缓存的主机数据。存储器装置的操作可以包括将转储到存储器装置的存储器部件的错误日志从存储器部件传输到主机。将错误日志传输到主机允许主机或主机向其传送错误日志或从错误日志中提取的信息的另一系统分析错误日志。
113.在各种实施例中,存储器装置可以包含用于在存储器装置处接收信号的接口,和被配置为执行存储在存储器装置中的一或多个部件上的指令的一或多个处理器。当由一或多个处理器执行时,这样的指令可以使得存储器装置执行操作,其中操作包含响应于从信号识别用于转储错误日志的触发,将错误日志转储到存储器装置的存储器部件。接口可以包括用于接收信号的gpio。接口可以包括用于接收信号的uart。接口可以被结构化成接收信号作为用于将错误日志转储到存储器装置的存储器部件的命令。在各种实施例中,接口可以被结构化成包括用于接收触发错误日志转储的信号的gpio、uart和命令输入,其中gpio、uart和命令输入中的一个由存储器装置选择,以接收用于触发错误日志转储的这样的信号。
114.如本文所教导的,这种存储器装置及其特征的变型可以包括许多不同的实施例和特征,这些实施例和特征可以根据这种存储器装置的应用、这种存储器装置的格式和/或其中实现这种存储器装置的架构来组合。这种存储器装置的特征可以包括接口,所述接口被布置成接收用于转储错误日志的命令,其中所述命令是用于实时触发任务激活的emmc命令。在各种实施例中,接口被布置成接收用于转储错误日志的命令,其中所述命令是带有用于启用实时触发任务激活upiu的ufs查询请求。
115.如本文所教导的,这种存储器装置及其特征的变型可以包括用于转储存储在存储器装置的一部分中的错误的指令,其中存储器装置的所述部分与控制用于数据存储的存储器装置的数据管理的固件分离。错误日志可以存储在用于存储用户数据的存储器装置的数据存储设备中。例如,错误日志可以存储在受管理的nand存储器装置的nand存储器中。错误日志可以存储在存储器装置的sram、存储器装置的rom或存储器装置的其他非易失性存储器部件中。错误日志可以包括硬件信息和固件信息。错误日志可以包括数据超时、数据失配、致命错误、初始化超时和存储器装置的卡住固件的标识中的一或多个。
116.如本文所教导的,这种存储器装置及其特征的变型可以包括被布置成执行存储器装置的存储的指令以执行附加操作的存储器装置的一或多个处理器。操作可以包括将转储到存储器装置的存储器部件的错误日志从存储器部件传输到主机。主机或主机向其传送错误日志或从错误日志中提取的信息的另一系统可以对由存储器装置传输的错误日志进行分析。这种分析可以用于调试存储器装置,并且允许对存储器装置或存储器装置的操作进行修正。存储器装置可以被结构化成包括用于执行与保存用于数据存储的系统的错误日志的方法700或者与类似于方法700的方法相关联的任何功能的部件。
117.图8是通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法800的实施例的特征的流程图。示例方法800可以相对于图1的环境100和图6的示例系统600来实现。示例方法800可以相对于一或多个单独的存储器装置来实现,所述存储器装置具有如相对于图2的存储器阵列200、图3的存储器阵列300和图4的存储器装置400所讨论的结构。
118.在810处,检测与存储器装置相关联的错误状况。在820处,响应于错误状况的检
测,将信号传输到存储器装置以触发存储器装置中的错误日志的转储。用于触发错误日志转储的信号可以根据存储器装置及其功能格式以不同的格式中的一种来生成,以便进行传输。传输信号可以包括将信号传输到存储器装置的gpio或传输到存储器装置的uart。在形成传输到存储器装置的信号的情况下,可以在信号中生成命令,以使用与存储器装置接合的系统的处理器将错误日志转储到存储器装置的存储器部件。
119.方法800或类似于方法800的方法的变型可以包括多个不同的实施例,这些实施例可以根据这些方法的应用和/或实现这些方法的系统的架构进行组合。这些方法可以包括用于转储由与存储器装置接合的系统以命令格式发送的在存储器装置中的错误日志的命令,其中所述命令格式可以取决于存储器装置的格式。在各种实施例中,命令可以是用于实时触发任务激活的emmc命令。在其他实施例中,命令可以是带有用于启用实时触发任务激活的upiu的ufs查询请求。
120.方法800或类似于方法800的方法的变型可以包括在与存储器装置接合的系统中从存储器装置接收转储到存储器装置的存储器部件的错误日志。可以使用接收的错误日志来执行故障分析。可以由与存储器装置接合的系统来执行故障分析。可以由主机向其传送错误日志或从错误日志中提取的信息的另一系统来执行故障分析。
121.在各种实施例中,可以与存储器装置接合的系统可以包含被配置为执行存储在系统中的一或多个部件上的指令的一或多个处理器,当由处理器执行时,所述指令使得系统执行操作。操作可以包含:检测与存储器装置相关联的错误状况;以及响应于错误状况的检测,将信号传输到存储器装置以触发存储器装置中的错误日志的转储。传输信号可以包括将信号传输到存储器装置的gpio或传输到存储器装置的uart。
122.如本文所教导的,可以与存储器装置接合的系统的变型和这种系统的特征可以包括多个不同的实施例和特征,这些实施例和特征可以根据可以与存储器装置接合的这种系统的应用、与存储器装置接合的格式和/或实现这种系统的架构来组合。这种存储器装置的特征可以包括一或多个处理器,所述处理器被布置成在到存储器装置的信号中生成用于将错误日志转储到存储器装置的存储器部件的命令。命令可以是用于实时触发任务激活的emmc命令。命令可以是带有用于启用实时触发任务激活的upiu的ufs查询请求。
123.如本文所教导的,可以与存储器装置接合的系统的变型和这种系统的特征可以包括这种系统的被布置成执行这种系统的存储指令以执行附加操作的一或多个处理器。操作可以包括从存储器装置接收转储到存储器装置的存储器部件的错误日志。操作可以包括使用接收的错误日志来执行故障分析。这种系统可以向一或多个其他系统传送接收的错误日志或从错误日志中提取的信息,以供一或多个其他系统执行故障分析。可以与存储器装置接合的系统和这种系统的特征可以被结构化成包括用于执行与保存用于数据存储的系统的错误日志的方法800或与类似于方法800的方法相关联的任何功能的部件。
124.根据本文的教导,以下是系统和方法的示例实施例。
125.示例存储器装置1可以包含:接口,所述接口用于在存储器装置处接收信号;以及处理器,所述处理器被配置为执行存储在存储器装置中的一或多个部件上的指令,当由处理器执行时,所述指令使得存储器装置执行操作,所述操作包含响应于从信号识别用于转储错误日志的触发,将错误日志转储到存储器装置的存储器部件。
126.示例存储器装置2可以包括示例存储器装置1的特征,并且可以包括接口包括用于
接收信号的通用输入/输出(gpio)。
127.示例存储器装置3可以包括任何前述示例存储器装置的特征,并且可以包括接口包括用于接收信号的通用异步接收器/发送器(uart)。
128.示例存储器装置4可以包括任何前述示例存储器装置的特征,并且可以包括接口被结构化成接收信号作为用于将错误日志转储到存储器装置的存储器部件的命令。
129.示例存储器装置5可以包括示例存储器装置4和任何前述示例存储器装置的特征,并且可以包括命令是用于实时触发任务激活的嵌入式多媒体控制器(emmc)命令。
130.示例存储器装置6可以包括示例存储器装置4和任何前述示例存储器装置的特征,并且可以包括命令是带有用于启用实时触发任务激活的ufs协议信息单元(upiu)的通用快闪存储设备(ufs)查询请求。
131.示例存储器装置7可以包括任何前述示例存储器装置的特征,并且可以包括用于转储错误日志的指令存储在存储器装置的一部分中,所述部分与控制用于数据存储的存储器装置的数据管理的固件分离。
132.示例存储器装置8可以包括任何前述示例存储器装置的特征,并且可以包括错误日志包括硬件信息和固件信息。
133.示例存储器装置9可以包括任何前述示例存储器装置的特征,并且可以包括错误日志包括数据超时、数据失配、致命错误、初始化超时和存储器装置的卡住固件的标识中的一或多个。
134.示例存储器装置10可以包括任何前述示例存储器装置的特征,并且可以包括操作,包括将转储到存储器装置的存储器部件的错误日志从存储器部件传输到主机。
135.在示例存储器装置11中,示例存储器装置1至10中的任何存储器装置可以包括并入电子系统的存储器装置,所述电子系统进一步包含主机处理器和在主机处理器和存储器装置之间延伸的通信总线。
136.在示例存储器装置12中,示例存储器装置1至11中的任何存储器装置可以被修改为包括在另一示例存储器装置1至11中呈现的任何结构。
137.在示例存储器装置13中,示例存储器装置1至12中的任何存储器装置的任何设备可以进一步包括被配置为将指令存储为物理状态的机器可读存储装置,其中指令可以用于执行设备的一或多个操作。
138.在示例存储器装置14中,示例存储器装置1至13中的任一个可以被适配和操作为根据保存与存储器装置相关联的错误日志的以下示例方法1至6中的任何方法来执行操作。
139.保存与存储器装置相关联的错误日志的示例方法1可以包含:在存储器装置处接收信号;从信号识别用于将错误日志转储到存储器装置的触发;以及响应于从信号识别用于转储错误日志的触发,将错误日志转储到存储器装置的存储部件。
140.保存与存储器装置相关联的错误日志的示例方法2可以包括保存与存储器装置相关联的错误日志的示例方法1的特征,并且可以包括接收信号,包括在通用输入/输出(gpio)处接收信号,在通用异步接收器/发送器(uart)处接收信号,或者在命令中接收信号。
141.保存与存储器装置相关联的错误日志的示例方法3可以包括保存与存储器装置相关联的错误日志的任何前述示例方法的特征,并且可以包括响应于从信号识别触发,在存
储器装置中完成正在进行的任务并保存缓存的主机数据。
142.在保存与存储器装置相关联的错误日志的示例方法4中,保存与存储器装置相关联的错误日志的示例方法1至3中的任一个可以由电子系统来执行,所述电子系统包括主机处理器和在主机处理器和存储器装置之间延伸的通信接口。
143.在保存与存储器装置相关联的错误日志的示例方法5中,保存与存储器装置相关联的错误日志的示例方法1至4中的任一个可以被修改为包括保存与存储器装置相关联的错误日志的方法示例1至4中的任何其他方法中阐述的操作。
144.在保存与存储器装置相关联的错误日志的示例方法6中,保存与存储器装置相关联的错误日志的示例方法1至5中的任一个可以至少部分地通过使用在一或多个机器可读存储装置中存储为物理状态的指令来实现。
145.保存与存储器装置相关联的错误日志的示例方法7可以包括保存与存储器装置相关联的错误日志的前述示例方法1至6中的任一个的特征,并且可以包括执行与示例存储器装置1至13的任何特征相关联的功能。
146.存储指令(当由一或多个处理器执行时,所述指令使得机器执行操作)的示例机器可读存储装置1可以包含用于执行与示例存储器装置1至14的任何特征相关联的功能或者执行与保存与存储器装置相关联的错误日志的示例方法1至7的任何特征相关联的方法的指令。
147.用于与存储器装置接合的示例系统1可以包含:处理器,所述处理器被配置为执行存储在系统中的一或多个部件上的指令,当由处理器执行时,所述指令使得系统执行操作,所述操作包含:检测与存储器装置相关联的错误状况;以及响应于错误状况的检测,将信号传输到存储器装置以触发存储器装置中的错误日志的转储。
148.用于与存储器装置接合的示例系统2可以包括用于与存储器装置接合的示例系统1的特征,并且可以包括传输信号,包括将信号传输到存储器装置的通用输入/输出(gpio)或传输到存储器装置的通用异步接收器/发送器(uart)。
149.用于与存储器装置接合的示例系统3可以包括用于与存储器装置接合的任何前述示例系统的特征,并且可以包括处理器被布置成在到存储器装置的信号中生成用于将错误日志转储到存储器装置的存储器部件的命令。
150.用于与存储器装置接合的示例系统4可以包括用于与存储器装置接合的示例系统3和用于与存储器装置接合的任何前述示例系统的特征,并且可以包括命令是用于实时触发任务激活的嵌入式多媒体控制器(emmc)命令。
151.用于与存储器装置接合的示例系统5可以包括用于与存储器装置接合的示例系统3和用于与存储器装置接合的任何前述示例系统的特征,并且可以包括命令是带有用于启用实时触发任务激活的ufs协议信息单元(upiu)的通用快闪存储设备(ufs)查询请求。
152.用于与存储器装置接合的示例系统6可以包括用于与存储器装置接合的任何前述示例系统的特征,并且可以包括操作,包括从存储器装置接收转储到存储器装置的存储器部件的错误日志。
153.用于与存储器装置接合的示例系统7可以包括用于与存储器装置接合的示例系统6和用于与存储器装置接合的任何前述示例系统的特征,并且可以包括操作,包括使用接收的错误日志来执行故障分析。
154.在用于与存储器装置接合的示例系统8中,用于与示例系统1至7的存储器装置接合以与存储器装置接合的任何系统可以包括并入电子系统的存储器装置,所述电子系统进一步包含主机处理器和在主机处理器和存储器装置之间延伸的通信总线。
155.在用于与存储器装置接合的示例系统9中,用于与存储器装置接合的示例系统1至8中的任何系统可以被修改为包括在用于与存储器装置接合的另一示例系统1至8中呈现的任何结构。
156.在用于与存储器装置接合的示例系统10中,用于与存储器装置接合的示例系统1至9中的任何系统的任何设备可以进一步包括被配置为将指令存储为物理状态的机器可读存储装置,其中所述指令可以用于执行所述设备的一或多个操作。
157.在用于与存储器装置接合的示例系统11中,用于与存储器装置接合的示例系统1至10中的任何系统可以被适配和操作为根据通过与存储器装置接合的系统在存储器装置中保存错误日志的以下示例方法1至10中的任何方法来执行操作。
158.通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法1可以包含检测与存储器装置相关联的错误状况;以及响应于所述错误状况的检测,将信号传输到存储器装置以触发存储器装置中的错误日志的转储。
159.通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法2可以包括通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法1的特征,并且可以包括传输信号,包括将信号传输到存储器装置的通用输入/输出(gpio)或传输到存储器装置的通用异步接收器/发送器(uart)。
160.通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法3可以包括通过与存储器装置接合的系统在存储器装置中保存错误日志的任何前述示例方法的特征,并且可以包括使用处理器在到存储器装置的信号中生成用于将错误日志转储到存储器装置的存储器部件的命令。
161.通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法4可以包括通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法3和通过与存储器装置接合的系统在存储器装置中保存错误日志的任何前述示例方法的特征,并且可以包括命令是用于实时触发任务激活的嵌入式多媒体控制器(emmc)命令。
162.通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法5可以包括通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法3和通过与存储器装置接合的系统在存储器装置中保存错误日志的任何前述示例方法的特征,并且可以包括命令是带有用于启用实时触发任务激活的ufs协议信息单元(upiu)的通用快闪存储设备(ufs)查询请求。
163.通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法6可以包括通过与存储器装置接合的系统在存储器装置中保存错误日志的任何前述示例方法的特征,并且可以包括在系统中从存储器装置接收转储到存储器装置的存储器部件的错误日志。
164.通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法7可以包括通过与存储器装置接合的系统在存储器装置中保存错误日志的任何前述示例方法的特征,并且可以包括使用接收的错误日志来执行故障分析。
165.在通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法8中,通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法1至7中的任一个可以由电子系统来执行,所述电子系统包括主机处理器和在主机处理器和存储器装置之间延伸的通信接口。
166.在通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法9中,通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法1至8中的任一个可以被修改为包括在通过与存储器装置接合的系统在存储器装置中保存错误日志的方法示例1至8中的任何其他方法中阐述的操作。
167.在通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法10中,通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法1至9中的任一个可以至少部分地通过使用在一或多个机器可读存储装置中存储为物理状态的指令来实现。
168.通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法11可以包括通过与存储器装置接合的系统在存储器装置中保存错误日志的前述示例方法1至10的任一个的特征,并且可以包括执行与用于与存储器装置接合的示例系统1至10的任何特征相关联的功能。
169.存储指令(当由一或多个处理器执行时,所述指令使得机器执行操作)的示例机器可读存储装置2可以包含用于执行与用于与存储器装置接合的示例系统1至11的任何特征相关联的功能或执行与通过与存储器装置接合的系统在存储器装置中保存错误日志的示例方法1至11的任何特征相关联的方法的指令。
170.如本文所教导的,技术为在可操作存储器装置上发现的故障提供调试效率。可操作存储器装置可以是但不限于移动电话。这种技术可以在存储器装置的大多数(如果不是任何)卡住状况或错误状况下启用故障分析。这种技术可以转储所有装置信息,包括硬件和固件两者。这些方法可以提供非侵入性的故障分析方法,这可以包括避免再测试。这种技术可以在没有装置去焊的情况下实现,以便进行故障分析。另外,这些技术可以通过存储器装置工作的规范的协议以独立的方式实现,例如使用不同于ufs协议的emmc协议。
171.在各种示例中,本文描述的部件、控制器、处理器、单元、引擎或表格尤其可以包括存储在物理装置上的物理电路系统或固件。如本文所使用,“处理器装置”是指任何类型的计算电路,诸如但不限于微处理器、微控制器、图形处理器、数字信号处理器(dsp)或任何其他类型的处理器或处理电路,包括一组处理器或多核装置。
172.如本文所使用,操作存储器单元包括读取、写入或擦除存储器单元。将存储器单元置于预期状态的操作在本文被称为“编程”,并且可以包括写入存储器单元或从存储器单元擦除(例如,存储器单元可以被编程为擦除状态)。
173.本文描述的方法示例至少部分地可以是机器或计算机实现的。一些示例可以包括计算机可读介质或机器可读介质,所述计算机可读介质或机器可读介质编码有可操作以配置电子装置以执行如以上示例中所述的方法的指令。这种方法的实现方式可以包括代码,诸如微代码、汇编语言代码、更高级语言代码等。这种代码可以包括用于执行各种方法的计算机可读指令。代码可以构成计算机程序产品的一部分。进一步,代码可以有形地存储在一或多个易失性或非易失性有形计算机可读介质上,诸如在执行期间或在其他时间。这些有形计算机可读介质的示例可以包括但不限于硬盘、可移动磁盘、可移动光盘(例如,光盘和
数字视频盘)、磁盒、存储卡或记忆棒、ram、rom、ssd、ufs装置、emmc装置等。
174.尽管本文已经示出和描述了特定实施例,但是本领域普通技术人员将会理解的是,计划用于实现相同目的的任何布置可以替换所示出的具体实施例。各种实施例使用本文描述的实施例的排列和/或组合。上面的描述意图是说明性的,而不是限制性的,并且本文中采用的措词或术语是出于描述的目的。另外,在前面的具体实施方式中,可以看出,出于简化本公开的目的,在单个实施例中将各种特征组合在一起。通过研究以上描述,以上实施例和其他实施例的组合对于本领域技术人员将是显而易见的。

技术特征:
1.一种存储器装置,包含:接口,所述接口用于在所述存储器装置处接收信号;以及处理器,所述处理器被配置为执行存储在所述存储器装置中的一或多个部件上的指令,当由所述处理器执行时,所述指令使得所述存储器装置执行操作,所述操作包含响应于从所述信号识别用于转储错误日志的触发,将所述错误日志转储到所述存储器装置的存储器部件。2.根据权利要求1所述的存储器装置,其中所述接口包括用于接收所述信号的通用输入/输出gpio。3.根据权利要求1所述的存储器装置,其中所述接口包括用于接收所述信号的通用异步接收器/发送器uart。4.根据权利要求1所述的存储器装置,其中所述接口被结构化成接收所述信号作为用于将所述错误日志转储到所述存储器装置的所述存储器部件的命令。5.根据权利要求4所述的存储器装置,其中所述命令是用于实时触发任务激活的嵌入式多媒体控制器emmc命令。6.根据权利要求4所述的存储器装置,其中所述命令是带有用于启用实时触发任务激活的ufs协议信息单元upiu的通用快闪存储设备ufs查询请求。7.根据权利要求1所述的存储器装置,其中用于转储所述错误日志的指令存储在所述存储器装置的一部分中,所述部分与控制用于数据存储的所述存储器装置的数据管理的固件分离。8.根据权利要求1所述的存储器装置,其中所述错误日志包括硬件信息和固件信息。9.根据权利要求1所述的存储器装置,其中所述错误日志包括数据超时、数据失配、致命错误、初始化超时和所述存储器装置的卡住固件的标识中的一或多个。10.根据权利要求1所述的存储器装置,其中所述操作包括将转储到所述存储器装置的所述存储器部件的所述错误日志从所述存储器部件传输到主机。11.一种用于与存储器装置接合的系统,所述系统包含:处理器,所述处理器被配置为执行存储在所述系统中的一或多个部件上的指令,当由所述处理器执行时,所述指令使得所述系统执行操作,所述操作包含:检测与所述存储器装置相关联的错误状况;以及响应于所述错误状况的所述检测,将信号传输到所述存储器装置以触发所述存储器装置中的错误日志的转储。12.根据权利要求11所述的系统,其中传输所述信号包括将所述信号传输到所述存储器装置的通用输入/输出gpio或传输到所述存储器装置的通用异步接收器/发送器uart。13.根据权利要求11所述的系统,其中所述处理器被布置成在到所述存储器装置的信号中生成用于将所述错误日志转储到所述存储器装置的所述存储器部件的命令。14.根据权利要求13所述的系统,其中所述命令是用于实时触发任务激活的嵌入式多媒体控制器emmc命令。15.根据权利要求13所述的系统,其中所述命令是带有用于启用实时触发任务激活的ufs协议信息单元upiu的通用快闪存储设备ufs查询请求。16.根据权利要求11所述的系统,其中所述操作包括从所述存储器装置接收转储到所
述存储器装置的所述存储器部件的所述错误日志。17.根据权利要求16所述的系统,其中所述操作包括使用接收的错误日志来执行故障分析。18.一种保存与存储器装置相关联的错误日志的方法,所述方法包含:在所述存储器装置处接收信号;从所述信号识别用于将所述错误日志转储到所述存储器装置的触发;以及响应于从所述信号识别用于转储所述错误日志的所述触发,将所述错误日志转储到所述存储装置的存储器部件。19.根据权利要求18所述的方法,其中接收所述信号包括在通用输入/输出gpio处接收所述信号,在通用异步接收器/发送器uart处接收所述信号,或者在命令中接收所述信号。20.根据权利要求18所述的方法,其中所述方法包括响应于从所述信号识别所述触发,在所述存储器装置中完成正在进行的任务并保存缓存的主机数据。
技术总结
本申请涉及用于转储错误日志的实时触发。在各种实施例中,可以提供技术来解决在操作系统上发现的故障的调试效率。这些技术可以利用实时触发来通知存储器装置转储错误日志,以及时捕获所有需要的信息。响应于检测到与存储器装置相关联的一或多个错误状况,与存储器装置接合的系统可以向存储器装置生成触发信号。响应于识别触发信号,存储器装置可以将存储器装置的错误日志转储到存储器装置中的存储器部件。可以稍后从存储器部件检索错误日志,以便进行故障分析。进行故障分析。进行故障分析。


技术研发人员:A
受保护的技术使用者:美光科技公司
技术研发日:2020.12.29
技术公布日:2021/7/15

转载请注明原文地址:https://doc.8miu.com/read-650182.html

最新回复(0)