首页 / 专利库 / 化学元素和化合物 / 电子 / 在统一协议通信中交换错误信息的装置、方法和系统

在统一协议通信中交换错误信息的装置、方法和系统

阅读:36发布:2024-02-19

专利汇可以提供在统一协议通信中交换错误信息的装置、方法和系统专利检索,专利查询,专利分析的服务。并且本文描述了在统一协议通信中交换错误信息的装置、方法和系统。公开用于以基于移动产业处理器 接口 (MIPI)统一协议规范的通信为 基础 向控制 存储器 组件的主机标识错误的技术和机制。在一种实施方式中,存储器组件基于从主机发送给存储器组件的数据 帧 检测错误。响应于检测到错误,存储器设备向主机发送否定确认控制(NAC)消息,该否定确认控制(NAC)消息包括否定确认标识符和标识检测到的错误的错误类型的错误代码。NAC消息基于由MIPI统一协议规范定义的NAC帧结构。在另一实施方式中,主机接收NAC消息并基于NAC消息的错误代码存储错误信息。出于诸如主机的性能评估和调试之类的目的,可以 访问 所存储的错误信息。,下面是在统一协议通信中交换错误信息的装置、方法和系统专利的具体信息内容。

1.一种用于交换否定确认的存储器设备,所述存储器设备包括:
协议逻辑,其包括配置为与耦合到所述存储器设备的主机设备交换通信的电路,所述主机设备用于控制所述存储器设备,所述通信基于统一协议规范,所述协议逻辑包括:
接收器电路,其被配置为从所述主机设备接收数据
帧评估逻辑,其被配置为基于所述数据帧检测错误;
代码标识逻辑,其被配置为选择对应于所述错误的错误代码,包括:所述代码标识逻辑用于从多个错误代码中选择所述错误代码,所述多个错误代码中的每一个用于指定多个错误类型中相应的不同错误类型,其中,所述多个错误类型包括循环冗余校验错误类型并进一步包括不同于任何循环冗余校验错误类型的一个或多个错误类型,所选错误代码被包括在NAC消息中,所述NAC消息具有由所述统一协议规范定义的NAC帧结构;
帧产生器,其被配置为产生否定确认控制所述NAC消息,所述NAC消息在所述NAC帧结构中既包括所述错误代码又包括不同于所述错误代码的否定确认标识符;以及发射器电路,其被配置为向所述主机发送所述NAC消息。
2.如权利要求1所述的存储器设备,其特征在于,所述统一协议规范是移动产业处理器接口MIPI统一协议规范。
3.如权利要求1或2所述的存储器设备,其特征在于,所述存储器设备包括闪存设备。
4.如权利要求3所述的存储器设备,其特征在于,所述闪存设备基于电子器件工程联合委员会JEDEC通用闪存标准。
5.如权利要求1或2所述的存储器设备,其特征在于,所述存储器设备耦合到包括所述主机设备的片上系统设备。
6.如权利要求1、2中的任一项所述的存储器设备,其特征在于,所述协议逻辑的物理层包括所述接收器电路和所述发射器电路,且其中所述物理层基于MIPI M-PHY规范。
7.一种存储器设备处用于交换否定确认处的方法,所述方法包括:
借助于所述存储器设备的协议逻辑,基于统一协议规范与耦合到所述存储器设备的主机设备交换通信,包括从所述主机设备接收数据帧;
基于对所述数据帧的所述接收检测错误;以及
选择对应于所述错误的错误代码,包括从多个错误代码中选择所述错误代码,所述多个错误代码中的每一个用于指定多个错误类型中相应的不同错误类型,其中,所述多个错误类型包括循环冗余校验错误类型并进一步包括不同于任何循环冗余校验错误类型的一个或多个错误类型,所选错误代码被包括在否定确认控制NAC消息中,所述否定确认控制NAC消息具有由所述统一协议规范定义的NAC帧结构;
其中与所述主机设备交换通信进一步包括向所述主机发送所述否定确认控制NAC消息,所述NAC消息在所述NAC帧结构中既包括所述错误代码又包括不同于所述错误代码的否定确认标识符。
8.如权利要求7所述的方法,其特征在于,所述存储器设备包括闪存设备。
9.如权利要求8所述的方法,其特征在于,所述闪存设备基于电子器件工程联合委员会JEDEC通用闪存标准。
10.如权利要求7或8所述的方法,其特征在于,所述存储器设备耦合到包括所述主机设备的片上系统设备。
11.如权利要求7或8所述的方法,其特征在于,所述协议逻辑的物理层包括接收器电路和发射器电路,且其中所述物理层基于MIPI M-PHY规范。
12.一种用于交换否定确认的主机设备,所述主机设备包括:
协议逻辑,其包括被配置为与耦合到所述主机设备的存储器设备交换通信的电路,其中,所述主机设备用于控制所述存储器设备,所述通信基于统一协议规范,所述协议逻辑包括:
物理层电路,其被配置为向所述存储器设备发送数据帧;
帧评估逻辑,其被配置为经由所述物理层电路从所述存储器设备接收具有由所述统一协议规范定义的NAC帧结构的否定确认控制NAC消息,所述NAC消息在所述NAC帧结构中既包括错误代码又包括不同于所述错误代码的否定确认标识符,所述NAC消息响应于所述数据帧,所述帧评估逻辑被配置为检测所述NAC消息的否定确认标识符,其中,所述错误代码由所述存储器设备从多个错误代码中选出,所述多个错误代码中的每一个用于指定多个错误类型中相应的不同错误类型,其中,所述多个错误类型包括循环冗余校验错误类型并进一步包括不同于任何循环冗余校验错误类型的一个或多个错误类型;以及
错误检测逻辑,其被配置为标识所述NAC消息的所述错误代码,所述错误检测逻辑还把错误信息存储到储存库。
13.如权利要求12所述的主机设备,其特征在于,所述存储器设备包括闪存设备。
14.如权利要求13所述的主机设备,其特征在于,所述闪存设备基于电子器件工程联合委员会JEDEC通用闪存标准。
15.如权利要求12或13所述的主机设备,其特征在于,所述存储器设备耦合到包括所述主机设备的片上系统设备。
16.如权利要求12或13所述的主机设备,其特征在于,所述协议逻辑的物理层包括接收器电路和发射器电路,且其中所述物理层基于MIPI M-PHY规范。
17.一种主机设备处用于交换否定确认的方法,所述方法包括:
借助于所述主机设备的协议逻辑,基于统一协议规范与耦合到所述主机设备的存储器设备交换通信,所述交换通信包括:
从所述主机设备把数据帧发送给耦合到所述主机设备的存储器设备;
响应于所述数据帧从所述存储器设备接收具有由所述统一协议规范定义的NAC帧结构的否定确认控制NAC消息,所述NAC消息在所述NAC帧结构中既包括错误代码又包括不同于所述错误代码的否定确认标识符,其中,所述错误代码由所述存储器设备从多个错误代码中选出,所述多个错误代码中的每一个用于指定多个错误类型中相应的不同错误类型,其中,所述多个错误类型包括循环冗余校验错误类型并进一步包括不同于任何循环冗余校验错误类型的一个或多个错误类型;
标识所述否定确认控制NAC消息的所述错误代码;以及
基于所述错误代码,把错误信息存储到储存库。
18.如权利要求17所述的方法,其特征在于,所述存储器设备包括闪存设备。
19.如权利要求18所述的方法,其特征在于,所述闪存设备基于电子器件工程联合委员会JEDEC通用闪存标准。
20.如权利要求17或18所述的方法,其特征在于,所述存储器设备耦合到包括所述主机设备的片上系统设备。
21.如权利要求17或18所述的方法,其特征在于,所述协议逻辑的物理层包括接收器电路和发射器电路,且其中,所述物理层基于MIPIM-PHY规范。
22.一种其上存储有指令的计算机可读介质,所述指令当由计算机处理器执行时使所述处理器执行如权利要求7至11以及17至21中任一项所述的方法。
23.一种用于交换否定确认的设备,包括用于执行如权利要求7至11以及17至21中任一项所述的方法的装置。

说明书全文

在统一协议通信中交换错误信息的装置、方法和系统

技术领域

[0001] 本发明涉及计算机设备,其更具体地但不排他地涉及在移动设备处传输错误信息。

背景技术

[0002] 诸如智能手机和平板之类的移动计算和通信平台通常由主机代理和包括一个或多个存储设备的硬件组件组成。在主机和这样的硬件组件之间的通信常常基于接口的定义,包括实现接口的控制器逻辑和控制通信的关联软件栈。
[0003] 这样的接口的通用协议(UniProSM)类——例如基于 联盟的各种UniProSM标准中的任何——不同地包括分层协议栈,该分层协议栈提供用于互连多种多样的组件的通用错误处理高速解决方案,并且支持包括控制消息、批量数据传输和分组化流送在内的不同类型的流量。在现有的UniProSM通信技术中,在主机代理和存储器或控制该移动设备的其他组件之间交换数据。根据UniProSM标准的错误处理机制支持把否定确认(NAC)从主机控制器逻辑的协议栈传输到存储器或控制该移动设备的其他组件。附图说明
[0004] 在附图的各图中作为示例而非限制阐释本发明的各种实施方式,附图中:
[0005] 图1是阐释根据一种实施方式用于传输错误信息的系统的元素的高级功能框图
[0006] 图2A是阐释根据一种实施方式供存储器设备在统一协议通信中提供错误信息的方法的元素的流程图
[0007] 图2B是阐释根据一种实施方式供主机在统一协议通信中接收错误信息的方法的元素的流程图。
[0008] 图3是阐释根据一种实施方式传输错误信息的存储器设备的元素的高级功能框图。
[0009] 图4是阐释根据一种实施方式从存储器设备接收错误信息的主机的元素的高级功能框图。
[0010] 图5是示出根据一种实施方式由存储器设备和主机交换的各种帧格式的图。
[0011] 图6是阐释根据一种实施方式交换错误信息的计算系统的元素的框图。
[0012] 图7是阐释根据一种实施方式交换错误信息的移动设备的元素的框图。

具体实施方式

[0013] 在此讨论的各实施方式不同地提供把错误信息从系统的存储器组件传输到控制存储器组件的系统的主控逻辑的技术和/或机制。可以在基于各种UniProSM标准中的任何的通信中交换这样的错误信息。这样的标准包括,例如, 联盟于2012年7月30日发布的UniProSM 1.41.00版以及 联盟于2013年9月30日发布的UniProSM 1.60.00版。
[0014] 例如,平台的主控逻辑可以向平台的存储器组件发送具有在UniProSM标准中定义的结构的一个或多个数据帧。响应于检测到与所交换的一个或多个数据帧相关联的错误,存储器组件可以向主控逻辑回送指定检测到的错误的错误类型的标识符。例如,在具有基于在UniProSM标准中定义的NAC帧结构的结构的否定确认控制(NAC)通信中,可以向主机逻辑发送错误标识符。
[0015] 主控逻辑可以包括一个或多个寄存器或耦合到一个或多个寄存器,这些寄存器被配置为存储标识与主机对存储器组件的操作相关联的各种错误中的任何的信息。主机经由NAC通信从存储器组件接收的错误标识符可以被存储在这样的一个或多个寄存器,且随后使其可用——例如,用于调试目的。例如,在向主机发送的NAC帧中包含错误代码可以允许调试器或其他检测逻辑确定向数据帧传送存储器组件如何具体地导致NAC通信。这样的NAC错误信息的通信可以允许检测逻辑还确定例如多个错误是否具有相同的签名。作为响应,检测逻辑可以产生一个或多个信号以便配置(例如,重新配置)主机侧的操作。这样的配置/重新配置可以例如有别于从由NAC消息标识的检测到的错误恢复的操作。检测逻辑还可以监视和评估这样的NAC错误信息,以便确认问题是否仍然有待解决。例如,检测逻辑可以操作为判断(例如,连同协议分析仪设备一起判断)问题是出在存储器组件侧上、在物理连接中还是在主机处。
[0016] 当前,UniProSM不支持传输错误代码以便向主机标识特定的错误——例如,多种可能类型的错误中的一种——该错误是向由该主机控制的组件发射数据帧的结果。在要发送给主机的任何这样的NAC帧中,UniProSM规范不包括错误标识符字段。此外,基于这些UniProSM规范的现有通信技术不考虑对把任何这样的错误信息提供给主机的需求。例如,对于常规NAC通信可以指示的各种类型的错误,由这样的主机进行的错误恢复是相同的。此外,典型的从设备不包括可以根据UniProSM标准由控制这样的从设备的主机读取的错误代码寄存器——尤其在链路损耗条件期间。
[0017] 然而,一些实施方式是这样的信息可用于主机侧分析和/或配置以便取得不同于由常规错误恢复提供的短期问题解决的性能好处的实现的结果。被包括在主控逻辑中或耦合到主控逻辑的检测逻辑可以代替协议分析仪操作(或作为其补充),以便快速地标识可能由把数据分组从主机传送到存储器组件引起的各种问题中的任何。
[0018] 图1阐释根据一种实施方式的系统100的特征,系统100包括存储器设备140和经由互连130耦合到存储器设备140的主机110。主机110可以包括供主机110的处理器或其他主机代理访问存储器设备140的控制器逻辑——包括硬件、固件和/或执行中的软件。这样的主控处理器可以包括被配置成执行用于包括系统100的计算机平台的通用操作系统和/或其他软件的电路。在一种实施方式中,存储器设备140包括不同于主机110的任何IC管芯的一个或多个集成电路(IC)管芯。例如,存储器设备140可以包括封装设备,该封装设备经由系统100的印刷电路板(未示出)耦合到主机110的封装设备。在另一实施方式中,系统100是例如包括片上系统(SoC)的封装设备。作为阐释而非限制,这样的SoC可以包括主机110,其中,互连180把存储器设备140耦合到SoC。
[0019] 存储器设备140可以包括具有多行存储器单元的各种类型的存储器技术中的任何,其中可经由字线或等效物访问数据。例如,存储器设备140可以包括存储器阵列170,其表示一个或多个存储器逻辑和/或物理组。存储器的一种这样的分组的示例是存储器资源排,例如,它可以包括按行和列排列的存储元件。存储器设备140可以包括至少部分地促进对存储器阵列170的访问的访问逻辑175——例如在为来自主机110的一个或多个访问请求服务而提供这样的访问的场合。这样的访问逻辑175可以包括或耦合到支持经由互连180与主机110通信的存储器设备的协议栈150。
[0020] 存储器设备140可以包括支持基于UniProSM标准的操作。作为阐释而非限制的各种机制中的任何,存储器设备140可以包括基于UFS标准的通用闪存(UFS),UFS标准例如由电子器件工程联合委员会(JEDEC)固态技术协会于2014年9月发布的UFS 2.0标准JESD220B或由JEDEC固态技术协会于2011年6月发布的UFS 1.1标准JESD220A。这样的UFS存储设备可以支持一个或多个独立逻辑单元控制对可配置映射存储器区域(例如,存储器阵列170)的访问。替代地或作为补充,存储器设备140可以包括基于2013年2月公布的第三代 联盟规范CSI-31.0版的相机串行接口(CSI)设备。
[0021] 在主机110和存储器设备140之间的通信可以基于UniProSM标准。作为阐释而非限制,主机110的协议栈120和存储器设备140的协议栈150可以包括各自的物理层130、160,以便经由互连180相互通信。物理层130、160可以不同地包括各自的接收器电路、发射器电路和控制/配置逻辑以便调节其操作。各自的物理层130、160可以交换基于 联盟的各种移动PHY(M-PHYSM)标准中的任何(例如,满足一些或全部通信要求)的通信,例如2014年4月4日的M-PHYSM 2.0版的 联盟规范,2013年7月26日发布的M-PHYSM 3.0.r6版的联盟规范等等。在一些实施方式中,物理层130、160的操作基于 联盟的各种不同的PHY(D-PHY)标准中的任何,例如2007年10月的D-PHY 0.9版本的 联盟规范、
2009年5月14日的D-PHY 1.00.00版本的 联盟规范、于201112月16日批准的D-PHY 
1.1版本的 联盟规范等等。
[0022] 协议栈120、150还可以包括不同地支持由UniProSM标准定义的操作的各自的功能层。在所阐释的系统100的实施方式中,协议栈120进一步包括在物理层130和数据链路层126之间的适配器层128,其中,适配器层138可以适应各种PHY技术,包括物理层130的PHY技术。数据链路层126可以产生数据帧和/或控制经由PHY层130从主机110传输的帧,和/或处理经由PHY层130从存储器设备140接收的帧。这样的帧处理和产生可以包括UniProSM标准中SM
所指定的操作。这样的常规UniPro 技术的细节在此不作详述,且不限于某些实施方式。在一些实施方式中,这样的常规UniProSM技术被扩展或以另外方式被修改为进一步支持把某些错误标识符信息从存储器设备140传输到主机110。
[0023] 协议栈120还可以包括网络层124,例如,网络层124产生数据分组,这些数据分组又被数据链路层126转换成数据帧。替代地或作为补充,网络层124可以处理基于由数据链路层126处理的数据帧的数据分组。在一种实施方式中,协议栈120进一步包括传输层122,例如,传输层122可以支持逻辑数据流、阻塞缓解和/或其他高级网络管理机制。协议栈120可以仅支持给定UniProSM标准中所定义的特征的子集。相应地,协议栈120的一些更高SM层——例如,高于数据链路层126——的状态机逻辑和/或其他电路可以限于UniPro 功能的子集。
[0024] 在根据一种实施方式的说明性场景中,协议栈120的操作包括向存储器设备140传输如示例性帧132所表示的一个或多个数据帧。这样的通信可以代表主机110的处理器、集线器、微控制器、软件例程和/或其他代理(例如,示例性代理105)。协议栈150可以经由互连180在物理层160处接收帧132,且执行处理以便检测与对帧132的这样的接收相关联的任何错误。这样的处理可以包括UniProSM标准中所指定的操作。
[0025] 例如,协议栈150还可以包括适配器层158、数据链路层156、网络层154和传输层152,它们功能上分别对应于适配器层128、数据链路层126、网络层124和传输层122。协议栈
150可以处理来自主机110的分组,以经由访问逻辑175的操作提供对存储器阵列170的访问。在一种实施方式中,协议栈150的功能包括对常规UniProSM功能性的扩展,其中,检测到与帧132相关联的错误引起产生包括指定检测到的错误的具体错误类型的信息的NAC消息
134。例如,NAC消息134可以包括指定NAC消息134表示否定确认的第一组件和包括错误代码或由协议栈150检测的具体错误类型的其他标识符的第二组件两者。协议栈120可以包括检测和标识NAC消息134的这样的错误标识信息的逻辑。协议栈120又可以把这样的错误标识信息的表示存储在被包括在协议栈120中或耦合到协议栈120的一个或多个寄存器(未示出)中。所存储的错误信息可用于——例如,由代理105用于——调试或评估系统100的性能的其他操作。
[0026] 图2A阐释根据一种实施方式提供存储器设备的错误信息的方法200的特征。可以执行方法200,以便例如把NAC消息134从存储器设备140传输到主机110。为了阐释各种实施方式的某些特征,在此参考图3的存储器设备300讨论方法200。然而,这样的讨论可以扩展为另外或备选地应用到被配置为执行或以另外方式执行方法200的操作的多种其他设备中的任何。
[0027] 存储器设备300可以包括存储器设备140的特征中的一些或全部。例如,存储器设备300的存储器阵列310功能上可以对应于存储器阵列170。存储器设备300的电路逻辑——例如,提供访问逻辑175的功能——可以包括用于基于行地址信息激活存储器阵列310的各行的行解码器322、用于基于列地址信息激活存储器阵列310的各列的列解码器324以及用于放大与存储器阵列310的各个存储器单元交换的信号的感测放大器。这样的访问逻辑的操作可以从常规的存储器存储技术和机制修改而来,常规的存储器存储技术和机制在此不进行详述且不限于某些实施方式。
[0028] 存储器设备300可以与耦合到其的主机(未示出)交换通信,其中,这样的通信促进对如示例性的行315所表示的存储器阵列310的一个或多个位置的访问。在一种实施方式中,存储器设备300包括用于实现协议栈逻辑的电路——例如,包括协议栈150的一些或全部——以便促进这样的通信,其中这样的电路的操作基于UniProSM标准。这样的电路可以包括物理层硬件,如说明性的接收器电路MPHY Rx(MPHY接收)330和发射器电路MPHY Tx(MPHY发射)332所表示的,该物理层硬件基于 M-PHY标准。此外,可以耦合存储器设备300的协议逻辑340(例如,包括硬件和/或固件)以便与MPHY Rx 330和MPHY Tx 332交换信号,其中协议栈逻辑340实现协议栈的更高的层。
[0029] 在一种实施方式中,方法200包括,在210,在存储器设备处从耦合到存储器设备的主机接收统一协议(例如,UniProSM兼容的)数据帧。例如,存储器设备300可以经由MPHY Rx 330接收一个或多个数据帧——例如,包括从主机110发送的示例性帧132。方法200还可以包括,在220,基于在210接收统一协议数据帧检测错误。例如,协议逻辑340可以包括帧评估逻辑342,其包括用于检测数据帧中所包括的或以另外方式与数据帧的接收相关联的多个错误中的任何的电路。例如,帧评估逻辑342可以在数据链路层操作。
[0030] 在220检测到的错误可能涉及数据帧的格式、数据帧的内容、用于接收或以另外方式处理数据帧的硬件的状态和/或类似错误。作为阐释而非限制,帧评估逻辑342可以基于数据帧中所包括的循环冗余校验(CRC)信息、接收缓冲器的溢出、数据帧有效载荷的不正确的大小、数据帧的不正确的序列号、在数据帧内的不正确的码元和/或各种其他这样的错误中的任何检测错误。在220的检测可以包括从UniProSM标准修改而来的错误检测操作,这些错误检测操作在此不进行详述且不限于某些实施方式。在此在表1中列出方法200可以检测的一些错误的示例。
[0031] 方法200还可以包括,在230,选择对应于在220检测的错误的错误代码。例如,帧评估逻辑342可以向协议逻辑340的代码标识逻辑344发送指示在220检测到错误的信号。作为响应,代码标识逻辑344的电路可以确定对应于检测到的错误的错误类型的代码。在一种实施方式中,代码标识逻辑344包括定义多个错误代码标识符的表或其他数据结构或以另外方式拥有对该表或其他数据结构的访问权,其中,代码标识逻辑344在230选择一个这样的标识符以便包含在NAC消息中。
[0032] 方法200还可以包括,在240,发送向主机发送NAC消息,NAC消息包括否定确认标识符和在230选择的错误代码。例如,协议逻辑340还可以包括帧产生器346,其响应于在220检SM测到错误产生NAC消息。这样的NAC消息的产生可以包括从常规UniPro 技术修改而来的操作。可以扩展这样的操作以便进一步传输错误的错误类型的标识符,该标识符是NAC消息的基础
[0033] 例如,帧产生器346可以从代码标识逻辑344接收充当用于标识在220检测的错误的类型的错误代码的值。基于从代码标识逻辑344接收到的该值,帧产生器346可以产生NAC消息,该NAC消息包括把NAC消息分类为否定确认的值和指定这样的否定确认的原因的具体错误类型的错误标识符两者。可以由帧产生器346经由MPHY Tx 332把NAC消息从存储器设备300发送给主机(未示出)。
[0034] 图2B阐释根据一种实施方式基于来自存储器设备的通信标识错误的方法250的特征。可以借助于逻辑例如主机110的逻辑来执行方法250,其中这样的逻辑促进对耦合到其的存储器设备的控制。为了阐释各种实施方式的某些特征,在此参考图4的设备400讨论方法250。然而,这样的讨论可以扩展为另外或备选地应用到被配置为执行或以另外方式执行方法250的操作的多种其他设备中的任何。
[0035] 例如,设备400可以包括主机110的特征的一些或全部。在一种实施方式中,设备400包括主机代理410——例如,提供诸如代理105的功能之类的功能——以便与耦合到其的存储器设备(例如存储器设备140、300中的一个)交换通信,其中,这样的通信促进对存储器设备的一个或多个存储器位置的访问。替代地或作为补充,主机代理410可以检测和评估从这样的存储器设备接收的错误信息。
[0036] 在一种实施方式中,设备400包括用于实现协议栈以促进这样的存储器访问的电路,其中协议栈的操作基于UniProSM标准。这样的电路可以包括物理层硬件,如基于M-PHY标准的示例性接收器电路MPHY Rx 420和发射器电路MPHY Tx 422所表示的。此外,可以耦合设备400的协议逻辑430(例如,包括硬件和/或固件)以便与MPHY Rx 420和MPHY Tx 422交换信号,其中协议栈逻辑430实现协议栈的更高的层。
[0037] 设备400是可以执行方法250的硬件的一个示例。在一种实施方式中,方法250包括,在260,把统一协议(例如,UniProSM兼容的)数据帧从主机发送给耦合到主机的存储器设备。例如,MPHY Tx 422可以发射一个或多个数据帧,如示例性帧132。
[0038] 方法250还可以包括,在270,响应于在260发送的数据从存储器设备帧接收NAC消息。例如,响应于检测到与在260发送的数据帧相关联的错误,存储器设备可以产生这样的NAC消息——例如,通过执行方法200。可以在设备400处经由MPHY Rx 420接收NAC消息。在一种实施方式中,方法250进一步包括,在280,标识NAC消息的错误代码,其中,错误代码不同于NAC消息的否定确认标识符。例如,MPHY Rx 420可以执行PHY层处理,以便把NAC消息提供给协议逻辑430的帧评估逻辑432。帧评估逻辑432可以执行NAC消息的数据链路层处理,例如,包括从常规UniProSM技术修改而来的一个或多个NAC帧处理操作。设备400可以用附加操作来补充诸如常规UniProSM技术,以便提取和存储指定是在270接收的NAC消息的起因的具体错误类型的信息。
[0039] 作为阐释而非限制,帧评估逻辑432可以向协议逻辑430的错误检测逻辑434指出NAC消息的否定确认标识符指示某种错误的发生。作为响应,错误检测逻辑434可以从NAC消息访问错误代码,该错误代码指定在270接收NAC消息引起的错误的错误类型。下面的表1包括可以由这样的错误代码的值不同地表示的一些错误的示例:
[0040] 表1:数据帧错误
[0041]
[0042]
[0043] 方法250还可以包括,在290,基于NAC消息的错误代码在主机处存储错误信息。例如,错误检测逻辑434可以把错误代码存储到主机440的错误信息储存库440。错误信息储存库440可以包括被包括在主机400的协议栈中或耦合到主机400的协议栈的一个或多个错误寄存器——例如,其中这样的错误寄存器被映射到主机,在软件栈的上部。
[0044] 图5阐释根据一种实施方式可以由存储器设备和/或主机评估、交换或以另外方式处理的各种帧的结构。一些或全部这样的帧结构可以均基于UniProSM标准中所指定的相应帧结构。例如,数据帧结构500可以包括双字节(单字)头部部分和另一单字尾部(footer)部分两者,双字节(单字)头部部分指示数据帧的开始,单字尾部部分指示后继的16位CRC值是数据帧的最后的字。在头部部分和尾部部分之间的是一个或多个有效载荷字。在头部部分和尾部部分各自之前有相应的单个“1”位指示符头,其中,在数据帧的其他字之前各自有相应的单个“0”位指示符。
[0045] 控制帧结构510可以包括单字头部部分、单字有效载荷部分和16位CRC值。在控制帧结构520的头部部分之前有单个“1”位指示符,其中在控制帧的其他字之前各自有单个“0”位指示符。数据帧结构500和/或控制帧结构510可以是检测到与存储器设备(例如存储器设备140、300中的一个)接收到帧相关联的错误的基础。替代地或作为补充,具有数据帧结构500和控制帧结构510中的一者的帧的内容可以是这样的错误检测的基础。
[0046] NAC消息结构520包括单字部分,指示它是用于传输否定确认的目的。作为阐释而非限制,这样的单字部分可以包括指示该帧包括控制信息的换码符(escape character)ESC_DL 550。NAC消息结构520进一步包括字段NAC 530,用于包括否定确认标识符——例如,指示基于先前从主机发送给存储器组件的一个或多个帧的否定确认。除了NAC 530之外,NAC消息结构520包括另一字段错误代码540,用于传输所产生的NAC帧的起因的具体错误类型的标识符。错误代码540可以存储各自用于表示不同的相应错误类型的各种值中的任何。例如,错误代码540可以存储表示本文的表1的错误中的任何的值。尽管某些实施方式不限于此,但包括错误代码540的单字部分还可以包括单比特值Rq,其指示例如是否正在请求系统复位以便从错误恢复。替代地或作为补充,NAC消息结构520还可以包括16位CRC值,如示例性CCIT CRC-16 560所表示的——例如,用于存储根据国际电报电话咨询委员会(CCITT)的标准的CRC值。可以由在前单个“1”位指示符指示NAC消息结构520的第一字,其中,在NAC消息结构520的另一字之前有单个“0”位指示符。
[0047] 图6是可以在其中实现错误消息传输的计算系统的实施方式的框图。系统600表示根据在此描述的任何实施方式的计算设备,且可以是膝上型计算机、台式计算机、服务器、游戏或娱乐控制系统、扫描仪、复印机、打印机或其他电子设备。系统600可以包括处理器620,处理器620为系统600提供处理、操作管理和执行指令。处理器620可以包括任何类型的微处理器、中央处理单元(CPU)、处理核心或其他处理硬件,以便为系统600提供处理。处理器620控制系统600的整体操作,且可以是以下或包括以下:一个或多个可编程的通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑器件(PLD)等等或这样的设备的组合。
[0048] 存储器子系统630表示系统600的主存储器,且为要由处理器620执行的代码或用于执行例程的数据值提供临时存储。存储器子系统630可以包括一个或多个存储器设备,例如只读存储器(ROM)、闪存器、多种多样的随机存取存储器(RAM)或其他存储器设备、或这样的设备的组合。存储器子系统630存储和主控操作系统(OS)636(以及其他事物),以便提供用于在系统600中执行指令的软件平台。另外,其他指令638被存储在存储器子系统630中且从存储器子系统630执行,以便提供系统600的逻辑和处理。OS 636和指令638由处理器620执行。
[0049] 存储设备660可以是用于以非易失性方式存储大量数据的任何常规的非易失性介质(NVM)664或包括这样的介质,例如一个或多个磁盘、固态盘或光盘或组合。NVM 664可以将代码或指令和数据662保持在持久状态(即,尽管系统600的供电中断,但该值仍得以保留)。可以借助于耦合到(或在一些实施方式中被包括在其中)存储设备660的控制器逻辑668提供对NVM 664的访问。例如,控制器逻辑668或者可以是交换数据帧以便访问NVM 664的多种主机控制器逻辑中的任何。响应于检测到错误与相关联的这样的数据帧,存储设备
660可以向控制器逻辑668发送包括检测到的错误的具体错误类型的标识符的NAC帧。可以一般地认为存储660是“存储器”,但存储器630是执行或操作存储器以便向处理器620提供指令。虽然存储660是非易失性的,但存储器630可以包括易失性存储器(即,如果系统600的供电中断,则数据的值或状态不确定)。
[0050] 存储器子系统630可以包括存储器设备632,它在其中存储数据、指令、程序或其他内容。在一种实施方式中,存储器子系统包括提供对存储器632的访问权的存储器控制器634——例如代表处理器620。
[0051] 处理器620和存储器子系统630耦合到总线/总线系统610。总线610是表示由适当的桥、适配器和/或控制器连接的任何一个或多个分离的物理总线、通信线路/接口和/或点对点连接的抽象。因此,总线610可以例如包括以下中的一种或多种:系统总线、外设组件互连(PCI)总线、开放核心协议(OCP)总线、HyperTransport或工业标准体系结构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)或电气与电子工程师协会(IEEE)标准1394总线(通常被称为“火线”)。总线610的总线也可以对应于网络接口650中的接口。
[0052] 系统600也可以包括耦合到总线610的一个或多个输入/输出(I/O)接口640、网络接口650、一个或多个内部大容量存储设备660和外围接口670。I/O接口640可以包括一个或多个接口组件(例如,视频、音频和/或字母数字连接),用户通过这些接口组件与系统600交互。网络接口650给系统600提供了在一个或多个网络上与远程设备(例如,服务器、其他计算设备)通信的能。网络接口650可以包括以太网适配器、无线互连组件、USB(通用串行总线)或其他基于有线或无线标准的或专有的接口。
[0053] 外围接口670可以包括上面没有具体地提到的任何硬件接口。外围设备通常是指独立连接到系统600的设备。相关连接是其中系统600提供在其上执行操作且用户与其交互软件和/或硬件平台的连接。
[0054] 图7是其中可以实现错误信息传输的移动设备的实施方式的框图。设备700表示移动计算设备,例如计算平板、移动电话或智能手机、允许无线的电子书或其他移动设备。应理解,一般地示出各组件中的某些,且设备700中没有示出这样的设备的全部组件。
[0055] 设备700可以包括处理器710,处理器710执行设备700的主要处理操作。处理器710可以包括一个或多个物理设备,例如微处理器、应用处理器、微型控制器、可编程逻辑器件或其他处理装置。由处理器710执行的处理操作包括执行在其上执行应用和/或设备功能的操作平台或操作系统。处理操作包括与人类用户或其他设备的I/O(输入/输出)相关的操作、与功率管理相关的操作和/或与把设备700连接到另一设备相关的操作。处理操作也可以包括与音频I/O和/或显示器I/O相关的操作。
[0056] 在一种实施方式中,设备700包括音频子系统720,音频子系统720表示与向计算设备提供音频功能相关联的硬件(例如,音频硬件和音频电路)和软件(例如,驱动程序、编解码器)组件。音频功能可以包括扬声器和/或头戴机输出以及话筒输入。用于这样功能的设备可以集成到设备700,或连接到设备700。在一种实施方式中,用户通过提供由处理器710接收和处理的音频命令与设备700交互。
[0057] 显示子系统730表示提供可视和/或可触摸显示器以供用户与计算设备交互的硬件(例如,显示设备)和软件(例如,程序)组件。显示子系统730可以包括显示接口732,显示接口732可以包括用来向用户提供显示的具体的屏幕或硬件设备。在一种实施方式中,显示接口732包括与处理器710分离的逻辑,用以执行与显示器相关的至少一些处理。在一种实施方式中,显示子系统730包括向用户提供输出和输入两者的触摸屏设备。
[0058] I/O控制器740表示涉及与用户交互的硬件设备和软件组件。I/O控制器740可以操作为管理作为音频子系统720和/或显示子系统730的一部分的硬件。另外,I/O控制器740阐释用于连接到设备700的附加设备的连接点,用户可以通过该连接点与系统交互。例如,可以附加到设备700的设备可以包括话筒设备、扬声器或立体声系统、视频系统或其他显示设备、键盘或键区设备或与诸如读卡器或其他设备之类的特定应用一起使用的其他I/O设备。
[0059] 如上所述,I/O控制器740可以与音频子系统720和/或显示子系统730交互。例如,通过话筒或其他音频设备的输入可以提供用于设备700的一个或多个应用或功能的输入或命令。另外,代替显示输出或者除了显示输出之外,可以提供音频输出。在另一示例中,如果显示子系统包括触摸屏,则显示设备也充当可以至少部分地由I/O控制器740管理的输入设备。设备700上也可以存在附加的按钮或开关,以提供由I/O控制器740管理的I/O功能。
[0060] 在一种实施方式中,I/O控制器740管理各种设备,例如加速度计、相机、光传感器或其他环境传感器陀螺仪、全球定位系统(GPS)或设备700中可能包括的其他硬件。输入可以是直接用户交互的一部分,以及向系统提供环境输入以便影响其操作的一部分(例如过滤噪声、因亮度检测而调整显示器、应用相机的闪光灯或其他特征)。
[0061] 在一种实施方式中,设备700包括管理电池电源使用、充电电池和与节点操作相关的特征的功率管理750。存储器子系统760可以包括用于在设备700中存储信息的(多个)存储器设备762。存储器子系统760可以包括非易失性(如果供给存储器设备的功率中断则状态不改变)和/或易失性(如果供给存储器设备的功率中断则状态不确定)存储器设备。存储器760可以存储应用数据、用户数据、音乐、照片、文档或其他数据以及与系统700的应用和功能的执行相关的系统数据(无论是长期还是临时)。
[0062] 在一种实施方式中,存储器子系统760包括存储器控制器764(存储器控制器764也可以被认为是系统700的控制的一部分,且可以潜在地被认为是处理器710的一部分)。存储器控制器764可以传输控制存储器762的信令。响应于这样的信令,存储器762可以向存储器控制器764发送NAC帧,该NAC帧包括指定从存储器控制器764接收的通信引起的错误的错误标识符。
[0063] 连接770可以包括硬件设备(例如,无线和/或有线连接器和通信硬件)和软件组件(例如,驱动程序、协议栈)以便允许设备700与外部设备通信。该设备可以是独立的设备,例如其他计算设备、无线接入点或基站以及诸如头戴式耳机、打印机或其他设备之类的外围设备。
[0064] 连接770可以包括多种不同类型的连接。一般地,借助于蜂窝式连接772和无线连接774阐释设备700。蜂窝式连接772一般是指由无线载波提供的蜂窝式网络连接,例如经由GSM(全球移动通信系统)或变型或衍生物、CDMA(码分多址)或变型或衍生物、TDM(时分复用)或变型或衍生物、LTE(长期演进——也被称为“4G”)或其他蜂窝式服务标准提供。无线连接774是指不是蜂窝式的无线连接,且可以包括个域网(例如蓝牙)、局域网(例如WiFi)和/或广域网(例如WiMax)或其他无线通信。无线通信是指通过使用穿过非固态介质的经调制电磁辐射传输数据。有线通信穿过固态通信介质而发生。
[0065] 外围连接780包括做出外围连接的硬件接口和连接器以及软件组件(例如,驱动程序、协议栈)。应理解,设备700既可以是其他计算设备的外围设备(“去往”782),也可以拥有连接到它的外围设备(“来自”784)。设备700通常具有“坞接”连接器以便连接到其他计算设备,用于诸如管理(例如,下载和/或上传、改变、同步)设备700上的内容之类的目的。另外,坞接连接器可以允许设备700连接到允许设备700控制例如到音视频系统或其他系统的内容输出的某些外围设备。
[0066] 除了专有坞接连接器或其他专有连接硬件之外,设备700可以经由普通的或基于标准的连接器做出外围连接780。普通类型可以包括通用串行总线(USB)连接器(它可以包括多种不同的硬件接口中的任何)、包括MiniDisplayPort(MDP)在内的DisplayPort、高清多媒体接口(HDMI)、火线或其他类型。
[0067] 在一种实现中,一种存储器设备包括协议栈,其包括被配置为与耦合到所述存储器设备的主机设备交换通信的电路,所述主机设备控制所述存储器设备,所述通信基于统一协议规范。所述协议栈包括接收器电路、帧评估逻辑、代码标识逻辑、帧产生器和发射器电路,其中:接收器电路被配置为从所述主机设备接收数据帧;帧评估逻辑被配置为基于所述数据帧检测错误;代码标识逻辑被配置为选择对应于所述错误的错误代码;帧产生器被配置为产生包括否定确认标识符和所述错误代码的否定确认控制(NAC)消息,其中,所述NAC消息基于由所述MIPI统一协议规范定义的NAC帧结构;发射器电路被配置为向所述主机发送所述NAC消息。
[0068] 在一种实施方式中,所述统一协议规范是移动产业处理器接口(MIPI)统一协议规范。在另一实施方式中,所述存储器设备包括闪存设备。在另一实施方式中,所述闪存设备基于电子器件工程联合委员会(JEDEC)通用闪存标准。在另一实施方式中,所述存储器设备耦合到包括所述主机设备的片上系统设备。在另一实施方式中,所述协议栈的物理层包括所述接收器电路和所述发射器电路,且其中,所述物理层基于MIPI M-PHY规范。
[0069] 在一种实现中,在存储器设备处的方法包括,借助于所述存储器设备的协议栈,基于统一协议规范与耦合到所述存储器设备的主机设备交换通信,包括从所述主机设备接收数据帧。所述方法进一步包括基于所述数据帧的所述接收检测到错误,且选择对应于所述错误的错误代码,其中,与所述主机设备交换通信进一步包括向所述主机发送否定确认控制(NAC)消息,所述NAC消息包括否定确认标识符和所述错误代码,其中,所述NAC消息基于由所述MIPI统一协议规范定义的NAC帧结构。
[0070] 在一种实施方式中,所述统一协议规范是移动产业处理器接口(MIPI)统一协议规范。在另一实施方式中,所述存储器设备包括闪存设备。在另一实施方式中,所述闪存设备基于电子器件工程联合委员会(JEDEC)通用闪存标准。在另一实施方式中,所述存储器设备耦合到包括所述主机设备的片上系统设备。在另一实施方式中,所述协议栈的物理层包括所述接收器电路和所述发射器电路,且其中,所述物理层基于MIPI M-PHY规范。
[0071] 在一种实现中,主机设备包括协议栈,所述协议栈包括被配置为与耦合到所述主机设备的存储器设备交换通信的电路,其中,所述主机设备控制所述存储器设备,所述通信基于统一协议规范。所述协议栈包括物理层电路、帧评估逻辑和错误检测逻辑,其中:物理层电路被配置为向所述存储器设备发送数据帧;帧评估逻辑被配置为经由所述物理层电路从所述存储器设备接收否定确认控制(NAC)消息,所述NAC消息响应于所述数据帧,其中,所述NAC消息基于由所述MIPI统一协议规范定义的NAC帧结构,所述帧评估逻辑被配置为检测所述NAC消息的否定确认标识符;错误检测逻辑被配置为标识所述NAC消息的错误代码,所述错误代码不同于所述否定确认标识符,所述错误检测逻辑还把错误信息存储到储存库。
[0072] 在一种实施方式中,所述统一协议规范是移动产业处理器接口(MIPI)统一协议规范。在另一实施方式中,所述存储器设备包括闪存设备。在另一实施方式中,所述闪存设备基于电子器件工程联合委员会(JEDEC)通用闪存标准。在另一实施方式中,所述存储器设备耦合到包括所述主机设备的片上系统设备。在另一实施方式中,所述协议栈的物理层包括所述接收器电路和所述发射器电路,且其中,所述物理层基于MIPI M-PHY规范。
[0073] 在一种实现中,在主机设备处的方法包括,借助于所述主机设备的协议栈,基于统一协议规范与耦合到所述主机设备的存储器设备交换通信。所述交换通信包括响应于所述数据帧从所述存储器设备接收否定确认控制消息从所述主机设备把数据帧发送给耦合到所述主机设备的存储器设备,其中,所述NAC消息基于由所述MIPI统一协议规范定义的NAC帧结构,标识所述否定确认控制(NAC)消息的错误代码,所述错误代码不同于所述NAC消息的否定确认标识符,并且基于所述错误代码,把错误信息存储到储存库。
[0074] 在一种实施方式中,所述统一协议规范是移动产业处理器接口(MIPI)统一协议规范。在另一实施方式中,所述存储器设备包括闪存设备。在另一实施方式中,所述闪存设备基于电子器件工程联合委员会(JEDEC)通用闪存标准。在另一实施方式中,所述存储器设备耦合到包括所述主机设备的片上系统设备。在另一实施方式中,所述协议栈的物理层包括所述接收器电路和所述发射器电路,且其中,所述物理层基于MIPI M-PHY规范。
[0075] 在此描述用于标识数据通信中的错误的技术和体系结构。在上面的描述中,出于解释的目的,陈述了众多特定的细节以便提供对某些实施方式的透彻理解。然而,本领域中的技术人员将明显看出无需这些特定的细节就可以实践特定的实施方式。在其他实例中,为了避免模糊本描述,以框图形式示出结构和设备。
[0076] 说明书中对“一种实施方式”或“一个实施方式”的引用意味着本发明的至少一种实施方式中包括结合该实施方式描述的具体的特征、结构或特性。说明书中各种场合出现短语“在一种实施方式中”并不必定都是指相同的实施方式。
[0077] 利用在计算机存储器内对数据比特的操作的算法和符号表示呈现本文的具体实施方式的一些部分。这些算法描述和表示是计算机领域中用来最有效地向本领域中的其他技术人员表达他们的工作实质的工具。在这里,且一般地,算法被认为是引起期望结果的步骤的自洽序列。各步骤是要求对物理量的物理操纵的那些步骤。通常,但并不必然,这些量采取能够被存储、传递、组合、比较以及操纵的电或磁信号的形式。已经证明,主要是出于普通用途的原因,有时候把这些信号称为比特、值、元素、符号、字符、术语、数字等等是方便的。
[0078] 然而,应当牢记,所有这些和类似术语与适当的物理量相关联,且仅仅是应用到这些量的方便的标签。除非如同从本文的讨论明显看出的那样具体说明,否则应明白,贯穿本描述,利用诸如“处理”或“计算(computing)”或“演算(calculating)”或“确定”或“显示”等等之类的术语的讨论,是指计算机系统或类似的电子计算设备的动作和进程操纵被表示为在计算机系统的寄存器和存储器内的物理(电子)量的数据并将其变换成类似地被表示为在计算机系统存储器或寄存器或其他这样的信息存储、传输或显示设备内的物理量的其他数据。
[0079] 某些实施方式也涉及用于执行在此的操作的装置。这种装置可以专构建以便用于所要求的目的,或者它可以包括由计算机中所存储的计算机程序有选择地激活或重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读存储介质中,例如但不限于:包括软盘、光盘、CD-ROM和磁光盘在内的任何类型的盘;只读存储器(ROM);诸如动态RAM(DRAM)、EPROM、EEPROM之类的随机存取存储器(RAM);磁或光卡;或适用于存储电子指令且耦合到计算机系统总线的任何类型的介质。
[0080] 在此所呈现的算法和显示并不固有地与任何具体的计算机或其他装置相关的。各种通用系统可以与根据在此的教导的程序一起使用,或者,可以证明,构建更专用的装置以执行所要求方法步骤是方便的。将可从本文的描述看出这些系统所要求的结构。另外,不参考任何具体的编程语言描述某些实施方式。应明白,各种编程语言可以用来实现在此描述的这样的实施方式的教导。
[0081] 除了在此描述的内容之外,还可以对所公开的实施方式及其实现做出各种修改而不偏离它们的范围。因此,在此应以说明性而非限制性的意义解释各种阐释和示例。应参考后续权利要求来相应衡量本发明的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈