首页> 中国专利> 用于存储器子系统控制器的数据记录子系统

用于存储器子系统控制器的数据记录子系统

摘要

本申请涉及一种用于存储器子系统控制器的数据记录子系统。通过存储器子系统处的处理装置监视包括所述存储器子系统与主机系统之间传送的数据分组的数据流量。根据分组类型对数据分组进行分类。生成包括与每个分组类型相关联的频率和时延信息的日志数据。将所述日志数据存储在所述存储器子系统的存储器组件中。

著录项

  • 公开/公告号CN113326175A

    专利类型发明专利

  • 公开/公告日2021-08-31

    原文格式PDF

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

    申请/专利号CN202110219889.2

  • 发明设计人 M·R·斯皮卡;

    申请日2021-02-26

  • 分类号G06F11/34(20060101);G06F13/16(20060101);G06F16/18(20190101);

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

  • 代理人王龙

  • 地址 美国爱达荷州

  • 入库时间 2023-06-19 12:24:27

说明书

技术领域

本公开的实施例大体上涉及存储器子系统,并且更具体地,涉及一种存储器子系统控制器数据记录子系统。

背景技术

存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可利用存储器子系统以在存储器装置处存储数据且从存储器装置中检索数据。

发明内容

根据本公开的实施例,提供一种存储器子系统。所述存储器子系统包括:存储器组件,其包括日志数据存储装置;以及处理装置,其耦合到所述日志数据存储装置。所述处理装置执行包括以下各项的操作:监视时间间隔内物理主机接口的通信信道上的数据流量,所述数据流量包括经由所述物理主机接口的所述通信信道在所述存储器子系统与主机系统之间传送的数据分组;根据分组类型对所述数据流量中的每个数据分组进行分类;生成包括所述数据流量中的每个分组类型的频率和与每个分组类型相关联的时延信息的日志数据;以及将所述日志数据存储在所述日志数据存储装置中。

根据本公开的另一实施例,提供一种方法。所述方法包括:通过存储器子系统控制器监视时间间隔内物理主机接口的通信信道上的数据流量,所述数据流量包括经由所述物理主机接口的所述通信信道在存储器子系统与主机系统之间传送的数据分组;通过所述存储器子系统控制器根据分组类型对所述数据流量中的每个数据分组进行分类;通过所述存储器子系统控制器生成包括所述数据流量中的每个分组类型的频率和与每个分组类型相关联的时延信息的日志数据;以及将所述日志数据存储在所述存储器子系统的日志数据存储装置中。

根据本公开的又一实施例,提供一种非暂时性计算机可读存储媒体。所述非暂时性计算机可读存储媒体包括指令,所述指令当由处理装置执行时将所述处理装置配置成执行包括以下各项的操作:监视时间间隔内物理主机接口的通信信道上的数据流量,所述数据流量包括经由所述物理主机接口的所述通信信道在存储器子系统与主机系统之间传送的数据分组;根据分组类型对所述数据流量中的每个数据分组进行分类;生成包括所述数据流量中的每个分组类型的频率和与每个分组类型相关联的时延信息的日志数据;以及将所述日志数据存储在日志数据存储装置中。

附图说明

根据下文提供的具体实施方式和本公开的各种实施例的附图将更加充分地理解本公开。

图1示出根据本公开的一些实施例的包含存储器子系统的实例计算系统。

图2示出根据本公开的一些实施例的可以包含在存储器子系统中的记录子系统的组件。

图3和4是根据本公开的一些实施例的通过存储器子系统通信信道记录关于数据流量的数据的实例方法的流程图。

图5是本公开的实施例可在其中操作的实例计算机系统的框图。

具体实施方式

本公开的方面涉及存储器子系统控制器的数据记录子系统。存储器子系统可以是存储装置、存储器模块,或存储装置和存储器模块的混合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可以利用存储器子系统,所述存储器子系统包含一或多个组件,例如,存储数据的存储器装置。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统中检索数据。

出于各种目的,可以在存储器子系统与主机系统之间交换各种类型的数据分组。作为实例,事务层分组(TLP)和数据链路层分组(DLLP)可以在存储器子系统与主机系统之间来回传送。除了直接数据传送之外,在存储器子系统与主机系统之间交换这些类型的数据分组中的许多数据分组,以管理存储器子系统与主机系统之间的链路质量。因此,通过通信信道传送的数据分组的类型以及此类分组的传送频率可以提供通信信道的“健康”指示符。

传统上,称为协议分析器的外部工具用于捕获和分析通信信道上的数据流量,以评估通信信道链路质量。通常,必须将协议分析器引入通信信道中,以便能够评估信道。将此新元件引入信道可能会导致信道中断,从而导致分析器读数准确性出现问题。此外,大多数协议分析器都采用实验室仪器的形式,所述实验室仪器仅用于分析少量样品,并且通常无法像批量制造环境中那样批量获取协议链路信息。

本公开的方面利用存储器子系统控制器解决上述和其它缺陷,所述存储器子系统控制器被配置成包含记录子系统,以监视数据流量并生成日志数据,所述日志数据包括与在存储器子系统与主机系统之间传送的特定分组类型相关联的频率和时延信息。以此方式,存储器子系统可以报告在给定的时间间隔内接收到的特定分组类型的分组数量以及与所述特定分组类型相关联的时延(例如,所述时间间隔内数据分组之间的最小、最大和平均时延)的统计汇总。

根据一些实施例,记录子系统可以包括计数器和计时器,所述计数器和计时器放在用于在主机系统与存储器子系统之间传输数据的物理主机接口的接收器(RX)和传输器(TX)信道上。计数器和计时器一起工作以对每个分组类型在时间间隔内的出现进行计数,并测量数据分组之间的时延。记录子系统基于计数器和计时器生成的信息,生成并存储与跨主机接口的数据流量相关联的日志数据。

使记录子系统以这种方式生成日志数据允许存储器子系统控制器报告通常仅使用协议分析器可获得的信息,从而避免了使用具有低容量功能的昂贵实验室仪器的需要。通过以这种方式记录数据,记录子系统可以允许在制造流程中批量收集协议计时信息,从而使退化或损坏的零件和测试部位得以识别,并在出现更严重的问题之前采取补救措施。例如,可以使用指示时延过长或TLP分组频率异常的日志数据来识别不牢固的零件或测试部位。由日志组件生成的日志数据可以实现性能调整以改进存储器子系统。

图1示出根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此类的组合。

存储器子系统110可为存储装置、存储器模块,或存储装置和存储器模块的混合。存储装置的实例包含SSD、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储装置(UFS)驱动器、安全数字(SD)卡以及硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外形DIMM(SO-DIMM)和各种类型的非易失性双列直插式存储器模块(NVDIMM)。

计算系统100可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(IoT)的装置、嵌入式计算机(例如,包含在运载工具、工业设备或联网市售装置中的计算机),或这类包含存储器和处理装置的计算装置。

计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1示出耦合到一个存储器子系统110的主机系统120的一个实例。如本文所使用,“耦合到”或“与...耦合”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,没有中间组件),无论是有线还是无线的,包含例如电连接、光学连接、磁连接等的连接。

主机系统120可包含处理器芯片组以及由处理器芯片组执行的软件堆叠。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如,NVDIMM控制器),和存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统120使用存储器子系统110,例如,将数据写入到存储器子系统110以及从存储器子系统110读取数据。

主机系统120可以经由物理主机接口102耦合到存储器子系统110。物理主机接口102的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、USB接口、光纤信道、串行附接SCSI(SAS)、小型计算机系统接口(SCSI)、双数据速率(DDR)存储器总线、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM套接接口)、开放NAND快闪接口(ONFI)、双数据速率(DDR)、低功率双数据速率(LPDDR),或任何其它接口。物理主机接口102可用以在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120还可利用NVM高速(NVMe)接口来存取组件(例如,存储器装置130)。物理主机接口102可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据和其它信号的接口。图1示出存储器子系统110作为一实例。一般来说,主机系统120可经由同一通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器子系统。

存储器装置130、140可包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可以是但不限于随机存取存储器(RAM),例如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。

非易失性存储器装置(例如存储器装置130)的一些实例包含NAND型快闪存储器和就地写入存储器,例如三维交叉点(“3D交叉点”)存储器装置,其是非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列而基于体电阻的改变来进行位存储。另外,与许多基于快闪的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。NAND型快闪存储器包含例如二维NAND(2D NAND)和三维NAND(3D NAND)。

存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如,单层级单元(SLC)可每单元存储一个位。其它类型的存储器单元,例如多层级单元(MLC)、三层级单元(TLC)、四层级单元(QLC)和五层级单元(PLC)可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或此类存储器单元阵列的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分,和MLC部分、TLC部分或QLC部分。存储器装置130的存储器单元可分组为页,所述页可指用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,NAND),页可进行分组以形成块。

虽然描述如非易失性存储器单元3D交叉点阵列和NAND型快闪存储器(例如,2DNAND、3D NAND)的非易失性存储器组件,但存储器装置130可基于任何其它类型的非易失性存储器,如只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻性随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、或非(NOR)快闪存储器和电可擦除可编程只读存储器(EEPROM)。

存储器子系统控制器115(或简称为控制器115)可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据,及其它这类操作。存储器子系统控制器115可以包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。硬件可包含具有专用(即,硬译码)逻辑的数字电路系统以执行本文所描述的操作。存储器子系统控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等),或其它合适的处理器。

存储器子系统控制器115可包含处理器(处理装置)117,其被配置成执行存储在本地存储器119中的指令。在所示的实例中,存储器子系统控制器115的本地存储器119包含嵌入式存储器,其被配置成存储用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流和例程的指令,包含处置存储器子系统110与主机系统120之间的通信。

在一些实施例中,本地存储器119可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的ROM。虽然图1中的实例存储器子系统110已示出为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110不包含存储器子系统控制器115,而是可依靠外部控制(例如,由外部主机或由与存储器子系统分开的处理器或控制器提供)。

通常,存储器子系统控制器115可从主机系统120接收命令或操作,且可将命令或操作转换成指令或适当命令以实现对存储器装置130和/或存储器装置140的所要存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓存操作和与存储器装置130相关联的逻辑地址(例如,逻辑块地址(LBA)、名字空间)和物理地址(例如,物理块地址)之间的地址转译。存储器子系统控制器115可进一步包含主机接口电路系统以经由物理主机接口102与主机系统120通信。主机接口电路系统可将从主机系统接收到的命令转换为命令指令以存取存储器装置130和/或存储器装置140,以及将与存储器装置130和/或存储器装置140相关联的响应转换为用于主机系统120的信息。

存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可以包含高速缓存或缓冲器(例如,DRAM)和地址电路系统(例如,行解码器和列解码器),其可从存储器子系统控制器115接收地址且对地址进行解码以存取存储器装置130。

在一些实施例中,存储器装置130包含本地媒体控制器135,其与存储器子系统控制器115结合操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,其为与本地控制器(例如,本地控制器135)组合以在同一存储器装置封装内进行媒体管理的原始存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。

如图所示,存储器子系统控制器115包含记录子系统113,用于监视并生成描述经由物理主机接口102在主机系统120与存储器子系统110之间交换的数据分组的日志数据。由记录子系统113生成的日志数据可以包括与在主机系统120与存储器子系统110之间交换的数据相关联的频率和时延信息。在主机系统120与存储器子系统110之间交换的数据分组可以是各种分组类型(例如,事务层分组(TLP)、数据链路层分组(DLLP)或其它分组类型)和可以根据分组类型来具体组织的日志数据。也就是说,日志数据可以包括与特定分组类型相关联的频率和时延信息。作为实例,日志数据可以包括描述经由物理主机接口102交换的DLP的频率和时延的数据,以及描述经由物理主机接口102交换的TLP的频率和时延的数据。下文论述有关记录子系统113的更多细节。

虽然图1示出了驻存在存储器子系统控制器115上的记录子系统113,但是应理解,在其它实施例中,记录子系统113可以驻存在本地媒体控制器135上。此外,在一些实施例中,记录子系统113可以在存储器子系统控制器115和本地媒体控制器135两者内实施。另外,在一些实施例中,记录子系统113可以并入到存储器子系统110的协议引擎中。

图2示出根据本公开的一些实施例的记录子系统113的组件。如图所示,记录记录子系统113包括分类组件200、计数器202、计时器205和日志数据存储装置206。

通常,记录子系统113监视经由物理主机接口102在主机系统120与存储器子系统110之间传送的数据流量。数据流量包括各种分组类型的数据分组。分类组件200根据分组类型对监视的数据流量中的数据分组进行分类。例如,每个数据分组可以包括(例如,分组报头中的)分组类型的指示符,并且分类组件200可以基于相应分组类型指示符对每个数据分组进行分类。

日志数据存储装置206存储描述在存储器子系统110与主机系统120之间传送的数据分组的日志数据208。日志数据存储装置206可以在本地存储器119或存储器装置130或140之一中实施。日志数据208包括与特定分组类型相关联的频率信息209和时延信息211。时延信息211可以包含与分组类型相关联的时延(例如,最小、最大和平均时延)的统计汇总。记录子系统113基于分类组件200、计数器202和计时器205生成的信息来生成日志数据208。

计数器202负责对在时间间隔内每个分组类型的出现进行计数。例如,可以为每个分组类型指定计数器202。例如,可以具体指定第一计数器以对第一分组类型的分组的出现进行计数,可以具体指定第二计数器以对第二分组类型的分组的出现进行计数,可以具体指定第三计数器以对第三分组类型的分组的出现进行计数,以此类推。在一些实施例中,可以使用多路复用器(未示出)或其它合适的组件将数据分组发送到合适的计数器202。也就是说,多路复用器可以将特定分组类型的数据分组发送到专门指定的计数器202以对分组类型的实例进行计数。例如,分类组件200可以通过向多路复用器提供基于分组类型的控制信号来将数据分组发送到与分组类型相对应的计数器202。

在记录子系统113中包含一或多个计时器205以测量时间。例如,计时器205测量每个计数器对每种分组类型的出现进行计数的时间间隔。也就是说,计时器205将每个分组类型的出现的计数限制到所述时间间隔。以这种方式,可以针对每个分组类型得出频率信息209。

记录子系统113可以进一步利用一或多个计时器205来测量与每个分组类型相关联的时延,其可以被包含在时延信息209中。在一些实施例中,每个计时器205可以包括用于测量时间的计时电路系统(例如时钟电路)。可以在物理主机接口102的接收器(RX)和传输器(TX)通信信道上均放置一或多个计数器202和一或多个计时器205,以便监视和记录传入和传出的数据分组。

图3和4是根据本公开的一些实施例的用于记录与存储器子系统的通信信道上的数据流量相关联的频率和时延信息的实例方法300的流程图。可以通过处理逻辑来执行方法300,所述处理逻辑可以包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如在处理装置上运行或执行的指令),或其组合。在一些实施例中,通过记录子系统113执行方法300。尽管以特定的序列或顺序示出,但除非另有说明,否则可以修改过程的顺序。因此,应理解所示实施例仅为实例,且所示过程可以不同顺序进行,且一些过程可并行地进行。另外,可在各种实施例中省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。

在操作305,处理装置监视存储器子系统(例如,存储器子系统110)的主机接口的通信信道(例如,物理主机接口102的接收器或传输器信道)上的数据流量。可以根据包含在处理装置中或与处理装置通信的计时器来确定时间间隔。

数据流量包括在存储器子系统与主机系统(例如,主机系统120)之间传送的多个数据分组。作为实例,数据流量可以包括由存储器子系统经由主机接口的接收器信道从主机系统接收的数据分组。在另一实例中,数据流量可以包括经由主机接口的传输器信道从存储器子系统传输到主机系统的数据分组。主机接口的通信信道可以例如对应于PCIe通信信道、UFS通信信道或SATA通信信道。

在操作310,处理装置根据多个分组类型之一对数据流量中的每个数据分组进行分类。每个数据分组可以例如在分组报头中指示分组类型,并且处理装置可以根据由分组指示的分组类型对数据分组进行分类。例如,处理装置可以基于数据分组中的指示数据分组是DLLP的指示符来确定数据分组是DLLP。

在操作315,处理装置生成日志数据,所述日志数据包括每个分组类型的出现频率和与每个分组类型相关联的时延信息。因此,在生成日志数据时,处理装置可以确定每个分组类型的频率并确定与每个分组类型相关联的时延信息。下面参考图4讨论关于日志数据的生成的更多细节。

在操作320,处理装置存储日志数据。例如,处理装置可以包括日志数据存储装置,并且处理装置可以将在操作315中生成的日志数据存储在日志数据存储装置中。如上所述,日志数据存储装置可以在存储器子系统的存储器组件内实施。例如,日志数据存储装置可以在存储器装置(例如,存储器装置130或140)内或在存储器子系统控制器的本地存储器(例如,存储器子系统控制器115的本地存储器119)内实施。

如图4所示,在一些实施例中,方法300可以包含操作305、310和315。根据这些实施例,操作305、310和315可以作为其中处理装置生成日志数据的操作315的一部分(例如,子操作或子例程)执行。虽然关于单个分组类型描述了操作305、310和315,但是应理解,在生成日志数据时,可以针对在存储器子系统的通信信道上的数据流量中观察到的每个分组类型执行操作305、310和315。

在操作405,处理装置对在时间间隔内通过通信信道传送的分组类型的分组数量进行计数。作为实例,处理装置可以包括:硬件计数器,用于对分组类型的每个分组进行计数;以及计时电路系统,用于测量时间间隔并将计数约束于此。在一些实施例中,处理装置可以包含多个硬件计数器,并且可以具体指定每个计数器以对特定分组类型的出现进行计数。根据这些实施例,处理装置可以进一步包含一或多个多路复用器以将分组发送到计数器中的适当的一个。例如,多路复用器控制信号可与分组类型相关联,使得可以使用分组类型来选择在多路复用器输入处接收到的分组所发送到的计数器。

在操作410,处理装置基于在时间间隔内通过通信信道传送的分组类型的分组数量来确定数据流量中的分组类型的频率。也就是说,分组类型的频率包括在时间间隔内通过通信信道传送的分组类型的分组数量。

在操作415,处理装置确定与分组类型相关联的时延信息。时延信息可以包括与分组时延相关联的统计汇总。例如,时延信息可以包括最小时延、最大时延和平均时延。因此,如图所示,操作415可以包括操作416-419。在操作416,处理装置测量分组类型的每个分组的时延。处理装置基于其中在通过通信信道传送数据分组之前或之后没有数据分组通过通信进行传送的时钟周期数量来测量数据分组的时延。

在实例中,处理装置可以通过测量通过通信信道传送的第一分组与第二分组之间的时间量来测量第一分组的时延。在一些实施例中,第一和第二分组对应于相同的分组类型。也就是说,根据这些实施例,处理装置测量通过通信信道传送的相同分组类型的两个分组之间的时间量。

基于在操作416处测量的时延,处理装置确定在时间间隔内观察到的分组类型的最小时延(在操作417)、最大时延(在操作418)和平均时延(在操作419)。

实例

实例1是一种存储器子系统,其包括:存储器组件,其包括日志数据存储装置;以及处理装置,其耦合到所述日志数据存储装置,所述处理装置执行包括以下各项的操作:监视时间间隔内物理主机接口的通信信道上的数据流量,所述数据流量包括经由所述物理主机接口的所述通信信道在所述存储器子系统与主机系统之间传送的数据分组;根据分组类型对所述数据流量中的每个数据分组进行分类;生成包括所述数据流量中的每个分组类型的频率和与每个分组类型相关联的时延信息的日志数据;以及将所述日志数据存储在所述日志数据存储装置中。

实例2包括根据实例1所述的主题,并且所述对每个数据分组进行分类可选地包括基于数据分组中包含的分组类型指示符来确定所述数据分组的数据分组类型。

实例3包括根据实例1和2中任一项所述的主题,并且所述生成所述日志数据可选地包括:对在所述时间间隔内通过所述通信信道传送的分组类型的分组数量进行计数;以及基于在所述时间间隔内通过所述通信信道传送的所述分组类型的所述分组数量来确定所述分组类型的频率。

在实例4中,根据实例1至3中任一项所述的主题可选地进一步包括一或多个硬件计数器,用于对在所述时间间隔内通过所述通信信道传送的所述分组类型的所述分组数量进行计数。

在实例5中,根据实例1至4中任一项所述的主题可选地进一步包括计时器,用于测量所述时间间隔。

实例6包括根据实例1至5中任一项所述的主题,并且所述生成所述日志数据可选地包括:确定与分组类型相关联的时延信息,所述时延信息包含与分组时延相关联的汇总统计数据。

实例7包括根据实例1至6中任一项所述的主题,并且可选地进一步包括:测量所述分组类型的每个数据分组的时延;确定所述分组类型的最小时延;确定所述分组类型的最大时延;以及确定所述分组类型的平均时延。

实例8包括根据实例1至7中任一项所述的主题,并且可选地进一步包括:基于其中在通过所述通信信道传送数据分组之前或之后没有数据分组通过所述通信进行传送的时钟周期数量来测量所述数据分组的时延。

实例9包括根据实例1至8中任一项所述的主题,并且所述通信信道是所述主机接口的接收器信道或传输器信道之一。

实例10包括根据实例1至9中任一项所述的主题,并且所述主机接口可选地包括以下之一:外围组件互连高速(PCIe)、通用快闪存储装置(UFS)通信信道,或串行高级技术附件(SATA)通信信道。

实例11是一种方法,其包括:通过存储器子系统控制器监视时间间隔内物理主机接口的通信信道上的数据流量,所述数据流量包括经由所述物理主机接口的所述通信信道在存储器子系统与主机系统之间传送的数据分组;通过所述存储器子系统控制器根据分组类型对所述数据流量中的每个数据分组进行分类;通过所述存储器子系统控制器生成包括所述数据流量中的每个分组类型的频率和与每个分组类型相关联的时延信息的日志数据;以及将所述日志数据存储在所述存储器子系统的日志数据存储装置中。

实例12包括根据实例11所述的主题,并且所述对每个数据分组进行分类可选地包括基于数据分组中包含的分组类型指示符来确定所述数据分组的数据分组类型。

实例13包括根据实例11和12中任一项所述的主题,并且所述生成所述日志数据可选地包括:对在所述时间间隔内通过所述通信信道传送的分组类型的分组数量进行计数;以及基于在所述时间间隔内通过所述通信信道传送的所述分组类型的所述分组数量来确定所述分组类型的频率。

实例14包括根据实例11至13中任一项所述的主题,并且所述生成所述日志数据可选地包括:确定与分组类型相关联的时延信息,所述时延信息包含与分组时延相关联的汇总统计数据。

实例15包括根据实例11至14中任一项所述的主题,并且可选地进一步包括:测量所述分组类型的每个数据分组的时延;确定所述分组类型的最小时延;确定所述分组类型的最大时延;以及确定所述分组类型的平均时延。

实例16包括根据实例11至15中任一项所述的主题,并且可选地进一步包括:基于其中在通过所述通信信道传送数据分组之前或之后没有数据分组通过所述通信进行传送的时钟周期数量来测量所述数据分组的时延。

实例17包括根据实例11至16中任一项所述的主题,并且所述通信信道是所述主机接口的接收器信道或传输器信道之一。

实例18包括根据实例11至17中任一项所述的主题,并且所述主机接口可选地包括以下之一:外围组件互连高速(PCIe)、通用快闪存储装置(UFS)通信信道,或串行高级技术附件(SATA)通信信道。

实例19是一种非暂时性计算机可读存储媒体,其包括指令,所述指令当由处理装置执行时将所述处理装置配置成执行包括以下各项的操作:监视时间间隔内物理主机接口的通信信道上的数据流量,所述数据流量包括经由所述物理主机接口的所述通信信道在存储器子系统与主机系统之间传送的数据分组;根据分组类型对所述数据流量中的每个数据分组进行分类;生成包括所述数据流量中的每个分组类型的频率和与每个分组类型相关联的时延信息的日志数据;以及将所述日志数据存储在日志数据存储装置中。

实例20包括根据实例19所述的主题,并且所述生成所述日志数据可选地包括:对在所述时间间隔内通过所述通信信道传送的分组类型的分组数量进行计数;以及基于在所述时间间隔内通过所述通信信道传送的所述分组类型的所述分组数量来确定所述分组类型的频率。

图5示出呈计算机系统500的形式的实例机器,在其内可执行一组指令以使得所述机器执行本文中所论述的方法中的任何一或多个。在一些实施例中,计算机系统500可以对应于主机系统(例如,图1的主机系统120),其包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)或可以用于执行控制器的操作(例如,实行操作系统以执行对应于图1的记录子系统113的操作)。在替代实施例中,机器可连接(例如,联网)到局域网(LAN)、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。

机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定将由所述机器采取的动作的一组指令的任何机器。另外,尽管示出单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多)组指令以进行本文中所论述的方法中的任何一或多种。

实例计算机系统500包含处理装置502、主存储器504(例如,ROM、快闪存储器、例如SDRAM或Rambus DRAM(RDRAM)等DRAM)、静态存储器506(例如,快闪存储器、静态随机存取存储器(SRAM)等),以及数据存储系统518,其经由总线530彼此通信。

处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元等。更具体地,处理装置502可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,实施其它指令集的处理器或实施指令集的组合的处理器。处理装置502还可以是一或多个专用处理装置,例如ASIC、FPGA、数字信号处理器(DSP)、网络处理器等。处理装置502被配置成实行指令526以用于执行本文中所论述的操作和步骤。计算机系统500可进一步包含网络接口装置508以在网络520上通信。

数据存储系统518可包含机器可读存储媒体524(也称为计算机可读媒体),其上存储有一或多个指令集526或体现本文中所描述的任何一或多种方法或功能的软件。指令526还可在其由计算机系统500执行期间完全或至少部分地驻存在主存储器504内和/或处理装置502内,主存储器504和处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518和/或主存储器504可以对应于图1的存储器子系统110。

在一个实施例中,指令526包含指令以实施对应于安全性组件(例如,图1的记录子系统113)的功能性。尽管在实例实施例中机器可读存储媒体524示为单个媒体,但是应认为术语“机器可读存储媒体”包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且使机器执行本公开的方法中的任何一种或多种的任何媒体。术语“计算机可读存储媒体”因此应被认为包含但不限于固态存储器、光学媒体和磁性媒体。

已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其它技术人员的方式。算法在这里并且通常被认为是引起所期望的结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、编号等等有时是便利的。

然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅为应用于这些量的便利标记。本公开可涉及将计算机系统的寄存器和存储器内的表示为物理(电子)量的数据操纵和变换为计算机系统的存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。

本公开还涉及用于执行本文中的操作的设备。此设备可出于既定目的而专门构造,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘(包含软盘、光盘、CD-ROM和磁性光盘);ROM;RAM;可擦除可编程只读存储器(EPROM);EEPROM;磁卡或光卡或适合于存储电子指令的任何类型的媒体,它们各自耦合到计算机系统总线。

本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或所述通用系统可以证明为便于构造以用以执行所述方法更加专用的设备。将如上文描述中所示呈现用于各种这些系统的结构。另外,不参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示内容。

本公开可以提供为计算机程序产品或软件,其可以包含在其上存储有可以用于编程计算机系统(或其它电子装置)以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器可读(例如,计算机可读)存储媒体,例如ROM、RAM、磁盘存储媒体、光学存储媒体、快闪存储器组件等。

在前述说明书中,本公开的实施例已经参照其特定实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书及图式。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号