CN114265795A - 用于高性能存储器调试记录产生及管理的装置及方法 - Google Patents

用于高性能存储器调试记录产生及管理的装置及方法 Download PDF

Info

Publication number
CN114265795A
CN114265795A CN202111090358.4A CN202111090358A CN114265795A CN 114265795 A CN114265795 A CN 114265795A CN 202111090358 A CN202111090358 A CN 202111090358A CN 114265795 A CN114265795 A CN 114265795A
Authority
CN
China
Prior art keywords
debug
command
implementations
record
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111090358.4A
Other languages
English (en)
Inventor
保罗·爱德华·汉纳姆
浅野滋博
朱利恩·马吉斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kioxia Corp
Original Assignee
Kioxia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kioxia Corp filed Critical Kioxia Corp
Publication of CN114265795A publication Critical patent/CN114265795A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3075Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved in order to maintain consistency among the monitored data, e.g. ensuring that the monitored data belong to the same timeframe, to the same system or component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/328Computer systems status display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • G06F11/364Software debugging by tracing the execution of the program tracing values on a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Stored Programmes (AREA)

Abstract

实例实施方案包含一种方法,如下:接收与主机命令相关联的主机命令识别符;确定与所述主机命令及存储器控制器装置相关联的装置命令;接收对应于所述确定所述装置命令的时间的装置命令时间戳;及与所述确定所述装置命令同时地确定调试记录,所述调试记录包含所述主机命令识别符、与所述装置命令相关联的装置命令识别符及所述装置命令时间戳。实例实施方案还包含一种装置,所述装置以可操作方式耦合到存储器阵列且具有:存储器控制器装置,其经配置以接收与主机命令相关联的主机命令识别符,且经配置以确定与所述主机命令及存储器控制器装置相关联的装置命令;及调试记录产生器装置,其操作地耦合到所述存储器控制器装置且经配置以接收对应于所述经确定装置命令的时间的装置命令时间戳,并且经配置以与所述确定所述装置命令同时地确定调试记录,所述调试记录包含所述主机命令识别符、与所述装置命令相关联的装置命令识别符及所述装置命令时间戳。

Description

用于高性能存储器调试记录产生及管理的装置及方法
技术领域
本发明实施方案一般来说涉及电子存储器装置,且更特定来说涉及高性能存储器调试记录产生及管理。
背景技术
记录电子存储器装置及其组件的准确且完整的活动对于开发具有高性能特性的电子装置是至关重要的。此类高性能特性可包含可靠性、速度及容量。然而,常规系统可能无法有效地记录电子存储器装置及其组件的准确且完整的活动,或者可能通过显著影响存储器装置的可靠性及速度而如此做。因此,期望用于高性能存储器调试记录产生及管理的技术解决方案。
发明内容
实例实施方案包含一种方法,如下:接收与主机命令相关联的主机命令识别符;确定与所述主机命令及存储器控制器装置相关联的装置命令;接收对应于所述确定所述装置命令的时间的装置命令时间戳;及与所述确定所述装置命令同时地确定调试记录,所述调试记录包含所述主机命令识别符、与所述装置命令相关联的装置命令识别符及所述装置命令时间戳。
实例实施方案还包含一种装置,所述装置以可操作方式耦合到存储器阵列且具有:存储器控制器装置,其经配置以接收与主机命令相关联的主机命令识别符,且经配置以确定与所述主机命令及存储器控制器装置相关联的装置命令;及调试记录产生器装置,其操作地耦合到所述存储器控制器装置且经配置以接收对应于所述经确定装置命令的时间的装置命令时间戳,并且经配置以与所述确定所述装置命令同时地确定调试记录,所述调试记录包含所述主机命令识别符、与所述装置命令相关联的装置命令识别符及所述装置命令时间戳。
实例实施方案还包含一种非暂时性计算机可读媒体,其存储计算机可读指令,使得所述计算机可读指令在被执行时致使处理电路进行以下操作:接收与主机命令相关联的主机命令识别符;确定与所述主机命令及存储器控制器装置相关联的装置命令;接收对应于所述确定所述装置命令的时间的装置命令时间戳;及与所述确定所述装置命令同时地确定调试记录,所述调试记录包含所述主机命令识别符、与所述装置命令相关联的装置命令识别符及所述装置命令时间戳。
附图说明
在联合以下附图审阅对特定实施方案的以下说明后,所属领域的普通技术人员将明了本发明实施方案的这些及其它方面及特征:
图1图解说明根据本发明实施方案的实例存储装置。
图2图解说明根据图1的实例系统的实例控制器。
图3图解说明根据图1的实例系统的实例调试记录产生器。
图4图解说明根据图1的实例系统的实例调试记录管理器。
图5图解说明根据图1的实例系统的实例存储器阵列。
图6图解说明根据本发明实施方案的高性能存储器调试记录产生及管理的实例方法。
图7图解说明关于图6的实例方法进一步的高性能存储器调试记录产生及管理的实例方法。
图8图解说明根据本发明实施方案的高性能存储器调试记录产生及管理的另一实例方法。
具体实施方式
现在将参考图式详细地描述本发明实施方案,图式经提供作为实施方案的说明性实例以便使得所属领域的技术人员能够实践所述实施方案及所属领域的技术人员显而易见的替代方案。值得注意的是,下文的图及实例并不意在将本发明实施方案的范围限于单个实施例,而是通过交换所描述或所图解说明的元件中的一些或所有元件,其它实施方案是可能的。此外,在本发明实施方案的某些元件可部分地或完全地使用已知组件实施的情况下,将仅描述此些已知组件中对理解本发明实施方案所必需的那些部分,且将省略对此些已知组件的其它部分的详细说明,以便不使本发明模糊。除非本文中另有规定,否则描述为以软件实施的实施方案不应限于以软件实施,而是可包含以硬件或软件与硬件的组合实施的实施方案,且反之亦然,如所属领域的技术人员将显而易见。在本说明书中,展示单数组件的实施例不应视为限制性;而是,除非本文中另外明确陈述,否则本发明打算涵盖包含多个相同组件的其它实施方案,且反之亦然。此外,申请人并不打算将说明书或权利要求书中的任一术语归于不常见或特殊含义,除非明确地如此指出。此外,本发明实施方案涵盖本文中以图解方式提到的已知组件的目前及将来已知的等效物。
在一些实施方案中,复杂集成电子装置包含在管线中或串联地连接以执行动作序列的许多单独逻辑功能。在一些实施方案中,每一逻辑功能在任一时间处理单个工作项,而管线作为整体可处理多个离散工作项,这是因为每一功能从先前功能接收新工作项且将经完成工作项传递到序列中的下一功能。在一些实施方案中,为了帮助调试在管线中发生的问题,每一过程个别地将其相应活动与时间戳以日志形式记录于事件日志中。在一些实施方案中,针对任一给定工作项,将与多个过程相关联的通过管线的进度记录于多个个别事件日志中,其中每一单独过程有一个日志。在一些实施方案中,每一以日志形式记录的事件记录项目的识别符、时间戳及与所发生的事件相关的其它数据。在高速管线中,处理成千上万或数百万个工作项可需要大量存储空间来存储日志。在一些实施方案中,所需存储空间包含大量易失性存储器。在一些实施方案中,所需存储空间包含大量DRAM。在一些实施方案中,在易失性存储器还被管线中的逻辑功能用于其它目的的情况下,以日志形式记录事件还可‘偷窃’存储器I/O带宽,这致使管线自身比其原本能够进行操作的速度更缓慢地操作。因此,提供用于集成电子装置中的日志记录同时减少或消除对额外存储器存储的需要及用于操作及日志记录过程的共享带宽对经降低性能的影响的技术解决方案是有利的。
根据本文中所揭示及描述的本发明实施方案的布置包含集成电子装置中使事件日志所需的存储器存储最小化且减少由于事件日志记录导致的存储器I/O带宽的损耗的事件日志记录方案。在一些实施方案中,替代由装置内的单独逻辑功能写入个别事件日志,通过将来自个别事件的重复信息移除到单个日志条目中而将来自多个逻辑过程的事件组合、汇集到单个日志条目中或进行类似操作。在一些实施方案中,重复信息包含但不限于与由集成电子装置内的逻辑功能处理的工作项相关联的识别符。在一些实施方案中,将此较小事件日志写入到存储器会消耗存储器的较少量的可用I/O带宽以及消耗存储器自身中的较少空间。在一些实施方案中,较少量的经消耗I/O带宽允许装置在执行事件日志记录时针对其正常工作项处理遭受较小性能降级。在一些实施方案中,较低量的存储器消耗会降低装置的成本,这是因为需要提供较少存储器来支持事件日志记录。
图1图解说明根据本发明实施方案的实例存储装置100。如图1中以实例方式图解说明,存储装置100包含系统114及存储器阵列106。在一些实施方案中,系统114包含命令输入102及时间戳输入108。在一些实施方案中,在存储装置100内维持时钟且产生时间戳。在一些实施方案中,系统114包含控制器104、调试记录产生器110及调试记录管理器112。
命令输入102可操作以将来自主机计算机(为了清晰起见未展示)的主机命令提供到系统114以相对于存储器阵列执行一或多个操作。在一些实施方案中,命令输入102可操作以将存储器存取命令及存储器可操作性命令中的至少一者提供到系统114,以指令存储器阵列106进行一或多个存储器存取活动或存储器可操作性活动。在一些实施方案中,命令输入包括高级存储器读取命令、高级存储器写入命令等。在一些实施方案中,命令输入包含诊断命令、配置命令、校准命令等。在一些实施方案中,配置、校准等中的至少一者包含配置或校准存储器阵列的一或多个物理或逻辑存储器位置。在一些实施方案中,配置、校准等中的至少一者包含配置或校准系统114的一或多个组件。在一些实施方案中,命令输入包含用以产生主机命令的逻辑、装置、接口等。以实例方式,命令输入是响应于接收到以下各项中的一或多者而产生:来自提交队列的提取命令,从队列移除装置命令,开始存储器存取操作,检测到存储器可靠性或可用性改变,开始任一存储器诊断操作,完成任一存储器诊断操作,开始主机命令的执行及完成主机命令的执行。在一些实施方案中,命令输入包含用以从外部装置、系统、用户等中的至少一者接收主机命令的逻辑、装置、接口等。在一些实施方案中,命令输入102包含接口、输入、耦合、连接、适配器、标头等。
时间戳输入108可操作以将时间戳提供到系统114以指示与系统114相关联的特定事件的时间。在一些实施方案中,时间戳输入可操作以提供包含但不限于UNIX时间戳的绝对时间戳。在一些实施方案中,时间戳输入108可操作以与系统114的任何装置或者任何装置或组件的时钟异步地将时间戳提供到系统114。在一些实施方案中,时间戳输入可操作以提供具有至少1微秒的粒度的时间戳。在一些实施方案中,时间戳输入108可操作以与系统114的至少一个装置或者任何装置或组件的时钟同步地、协调地或以类似方式将参考时间戳提供到系统114。在一些实施方案中,系统114维持独立时钟且通过使用时间戳输入108来设定所述时钟的开始时间而在内部产生其自身的时间戳,所述时间戳参考时间戳输入108。在一些实施方案中,时间戳输入108包含接口、输入、耦合、连接、适配器、标头等。
存储器阵列106操作以存储包含但不限于从系统114接收的调试数据的数据。在一些实施方案中,存储器阵列106包含用于存储二进制数据、数字数据等的一或多个硬件存储器装置。在一些实施方案中,存储器阵列106包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。在一些实施方案中,存储器阵列106包含非易失性存储器装置、易失性存储器装置、固态存储器装置、随机存取存储器(RAM)装置、快闪存储器装置及NAND存储器装置中的至少一者。在一些实施方案中,存储器阵列106包含安置于一或多个物理存储器阵列上的一或多个可寻址存储器区域。在一些实施方案中,物理存储器阵列包含安置于特定半导体装置、集成电路装置、印刷电路板装置等上的NAND门阵列。在一些实施方案中,存储器阵列106包含易失性存储器装置及非易失性存储器装置,其中易失性存储器装置充当用以在高I/O带宽下存储及检索数据的高速缓冲存储器或缓冲器,且经高速缓冲存储的数据被周期性地冲洗到非易失性存储器。
控制器104可操作以将数据传送到存储器阵列106及传送来自存储器阵列106的数据。在一些实施方案中,控制器104进一步可操作以对存储器阵列106的一或多个物理或逻辑存储器位置进行配置、校准等操作。在一些实施方案中,控制器104进一步可操作以对系统114的一或多个组件进行配置、校准等操作。在一些实施方案中,控制器104包含用于控制存储器阵列106或与存储器阵列106交互作用的一或多个逻辑装置。在一些实施方案中,控制器104包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
调试记录产生器110可操作以记录来自控制器104的一或多个装置命令及主机命令。在一些实施方案中,调试记录产生器可操作以被动地监测控制器104以及其装置及组件的一或多个输入及输出。在一些实施方案中,调试记录产生器110操作地耦合到控制器104与存储器阵列106之间的专用通信线、总线等。在一些实施方案中,调试记录产生器110包含操作地耦合到控制器104的一或多个装置或组件的多个端子。因此,在一些实施方案中,调试记录产生器110可操作以被动地监测来自控制器104的一或多个装置的输出同时使控制器104及硬件修改方案的支持与调试记录产生器110的通信所需的计算资源最小化。作为一个实例,使计算资源最小化包含使响应于装置命令活动而记录时间戳的等待时间最小化。应理解,根据本发明实施方案,调试记录产生器110操作以直接或通过一或多个通信线、总线等间接地直接耦合到控制器104的一或多个装置或组件。在一些实施方案中,调试记录产生器110包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
调试记录管理器112可操作以将一或多个调试记录传达到存储器阵列106。在一些实施方案中,调试记录管理器112可操作以对从调试记录管理器接收或与调试记录管理器相关联的一或多个调试记录进行串行化、分类、组织等操作。在一些实施方案中,调试记录管理器112可操作以与存储器装置的正常操作同时地、并发地或以类似方式对一或多个调试记录进行串行化、分类、组织等操作。因此,在一些实施方案中,调试记录管理器112可操作以与调试记录产生器110及系统114的操作并发地、同时地或以类似方式捕获、组织及存储调试记录。
图2图解说明根据图1的实例系统的实例控制器。如图2中以实例方式图解说明,实例控制器200包含主机命令输入节点202、操作地耦合到主机命令解释器(HCI)监听节点212的HCI 210、操作地耦合到缓冲器模块(BM)监听节点222的BM 220、操作地耦合到查找表装置(LUTE)监听节点232的LUTE 230、操作地耦合到写入控制器(WC)监听节点242的WC 240、操作地耦合到快闪接口层装置(FIL)监听节点252的FIL 250,及操作地耦合到操作存储器节点262的快闪控制器(FC)260。在一些实施方案中,控制器104包含实例控制器200。应理解,实例控制器200及实例控制器104可在其中包含用于与存储器阵列106进行通信及控制存储器阵列106的较多或较少装置。应进一步理解,实例控制器200及实例控制器104的任何额外组件可以操作地耦合到对应监听节点。应理解,监听节点212、222、232、242及252中的一或多者可包含一或多个通信线、总线等。应理解,实例调试记录产生器300及调试记录产生器110可任选地包含HCI监听筛选器312、BM监听筛选器322、LUTE监听筛选器332、WC监听筛选器342及FIL监听筛选器352中的一或多者。
HCI 210可操作以通过主机命令输入节点202从命令输入102接收一或多个主机命令、传达所述一或多个主机命令、解释所述一或多个主机命令及进行类似操作。在一些实施方案中,HCI 210可操作以基于从命令输入102接收的一或多个主机命令产生一或多个装置命令。在一些实施方案中,HCI 210可操作以基于所接收主机命令将一或多个指令提供到BM220、LUTE 230、WC 240、FIL 250及FC 260中的一或多者。在一些实施方案中,HCI 210通过一或多个通信线、总线等操作地耦合到BM 220、LUTE 230、WC 240、FIL 250及FC 260中的一或多者。在一些实施方案中,HCI 210包含NVMe装置。应理解,HCI 210不限于包含NVMe装置。在一些实施方案中,HCI监听节点212操作地耦合到HCI210的输出节点、总线等。在一些实施方案中,HCI监听节点212操作地耦合到HCI 210的输出及BM 220的输入。在一些实施方案中,HCI 210可操作以响应于检索命令而将调试日志从存储器阵列106导出或传输到外部装置或系统。作为一个实例,检索命令包含用于从存储器106进行读取操作的主机命令。在一些实施方案中,HCI 210包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
BM 220可操作以暂时存储在HCI 210或命令输入102处接收的数据。在一些实施方案中,BM 220可操作以从HCI 210接收数据且将数据传输到HCI 210。在一些实施方案中,HCI 210可操作以响应于从命令输入102接收的主机命令而读取存储于BM 220中的数据且传输存储于BM 220中的数据。作为一个实例,HCI可响应于向存储器阵列106请求尚未从BM220存储于存储器阵列106中的数据的主机命令而经由一或多个通信线在外部传输数据。在一些实施方案中,BM监听节点222操作地耦合到BM 220的输出节点、总线等。在一些实施方案中,BM监听节点222操作地耦合到BM 220的输出及LUTE 230的输入。
在一些实施方案中,BM 220包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。LUTE 230可操作以提供一或多个存储器阵列地址、功能等。在一些实施方案中,LUTE监听节点232操作地耦合到LUTE230的输出节点、总线等。在一些实施方案中,LUTE监听节点232操作地耦合到LUTE 230的输出及WC 240的输入。在一些实施方案中,LUTE 230包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
WC 240可操作以响应于一或多个主机命令而产生一或多个写入命令、读取命令等。在一些实施方案中,WC监听节点242操作地耦合到WC 240的输出节点、总线等。在一些实施方案中,WC监听节点242操作地耦合到WC 240的输出及FIL 250的输入。在一些实施方案中,WC 240包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。FIL 250可操作以响应于从写入控制器240接收的一或多个写入命令而产生可与存储器阵列106兼容的一或多个快闪命令。在一些实施方案中,FIL监听节点252操作地耦合到FIL 252的输出节点、总线等。在一些实施方案中,FIL监听节点252操作地耦合到FIL 250的输出及FC 260的输入。在一些实施方案中,FIL 250包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。FC 260可操作以基于从FIL 250接收的一或多个快闪命令而产生一或多个存储器阵列命令。在一些实施方案中,FC 260包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
图3图解说明根据图1的实例系统的实例调试记录产生器。如图3中以实例方式图解说明,实例调试记录产生器300包含操作地耦合到HCI监听节点212的HCI监听装置310、操作地耦合到BM监听节点222的BM监听装置320、操作地耦合到LUTE监听节点232的LUTE监听装置330、操作地耦合到WC监听节点242的WC监听装置340,及操作地耦合到FIL监听节点252的FIL监听装置250。实例调试记录产生器300进一步包含操作地耦合到HCI监听装置310及HCI日志节点314的HCI监听筛选器312、操作地耦合到BM监听装置320及BM日志节点324的BM监听筛选器322、操作地耦合到LUTE监听装置330及LUTE日志节点334的LUTE监听筛选器332、操作地耦合到WC监听装置340及WC日志节点344的WC监听筛选器342,以及操作地耦合到FIL监听装置350及FIL日志节点352的FIL监听筛选器352。在一些实施方案中,调试记录产生器110包含实例调试记录产生器300。
HCI监听装置310可操作以检测从HCI监听节点212输出的装置命令且从时间戳输入108接收时间戳。在一些实施方案中,HCI监听装置310可操作以确定、产生至少一个HCI调试记录或进行类似操作。在一些实施方案中,HCI调试记录包含与HCI装置命令相关联且从命令输入102接收的主机命令、从时间戳输入108记录的时间戳,及HCI监听装置310的装置识别符。在一些实施方案中,所记录时间戳对应于在HCI监听装置310处接收到HCI装置命令的时间。因此,在一些实施方案中,HCI监听装置310创建识别HCI装置命令、触发HCI装置命令的主机命令及HCI装置命令的接收时间的至少一个HCI调试记录。在一些实施方案中,HCI监听装置310与接收HCI装置命令同时地产生HCI调试记录。在一些实施方案中,HCI监听装置310同时产生HCI调试记录以使接收时间戳与接收HCI装置命令之间的延迟最小化且使与HCI调试记录相关联的时间的准确度最大化。在一些实施方案中,HCI监听装置310包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
BM监听装置320可操作以检测从BM监听节点222输出的装置命令且从时间戳输入108接收时间戳。在一些实施方案中,BM监听装置320可操作以确定、产生至少一个BM调试记录或进行类似操作。在一些实施方案中,BM调试记录包含与BM装置命令相关联且从命令输入102接收的主机命令、从时间戳输入108记录的时间戳,及BM监听装置320的装置识别符。在一些实施方案中,所记录时间戳对应于在BM监听装置320处接收到BM装置命令的时间。因此,在一些实施方案中,BM监听装置320创建识别BM装置命令、触发BM装置命令的主机命令及BM装置命令的接收时间的至少一个BM调试记录。在一些实施方案中,BM监听装置320与接收BM装置命令同时地产生BM调试记录。在一些实施方案中,BM监听装置320同时产生BM调试记录以使接收时间戳与接收BM装置命令之间的延迟最小化且使与BM调试记录相关联的时间的准确度最大化。在一些实施方案中,BM监听装置320包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
LUTE监听装置330可操作以检测从LUTE监听节点232输出的装置命令且从时间戳输入108接收时间戳。在一些实施方案中,LUTE监听装置330可操作以确定、产生至少一个LUTE调试记录或进行类似操作。在一些实施方案中,LUTE调试记录包含与LUTE装置命令相关联且从命令输入102接收的主机命令、从时间戳输入108记录的时间戳,及LUTE监听装置330的装置识别符。在一些实施方案中,所记录时间戳对应于在LUTE监听装置330处接收到LUTE装置命令的时间。因此,在一些实施方案中,LUTE监听装置330创建识别LUTE装置命令、触发LUTE装置命令的主机命令及LUTE装置命令的接收时间的至少一个LUTE调试记录。在一些实施方案中,LUTE监听装置330与接收LUTE装置命令同时地产生LUTE调试记录。在一些实施方案中,LUTE监听装置330同时产生LUTE调试记录以使接收时间戳与接收LUTE装置命令之间的延迟最小化且使与LUTE调试记录相关联的时间的准确度最大化。在一些实施方案中,LUTE监听装置330包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
WC监听装置340可操作以检测从WC监听节点242输出的装置命令且从时间戳输入108接收时间戳。在一些实施方案中,WC监听装置340可操作以确定、产生至少一个WC调试记录或进行类似操作。在一些实施方案中,WC调试记录包含与WC装置命令相关联且从命令输入102接收的主机命令、从时间戳输入108记录的时间戳,及WC监听装置340的装置识别符。在一些实施方案中,所记录时间戳对应于在WC监听装置340处接收到WC装置命令的时间。因此,在一些实施方案中,WC监听装置340创建识别WC装置命令、触发WC装置命令的主机命令及WC装置命令的接收时间的至少一个WC调试记录。在一些实施方案中,WC监听装置340与接收WC装置命令同时地产生WC调试记录。在一些实施方案中,WC监听装置340同时产生WC调试记录以使接收时间戳与接收WC装置命令之间的延迟最小化且使与WC调试记录相关联的时间的准确度最大化。在一些实施方案中,WC监听装置340包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
FIL监听装置350可操作以检测从FIL监听节点252输出的装置命令且从时间戳输入108接收时间戳。在一些实施方案中,FIL监听装置350可操作以确定、产生至少一个FIL调试记录或进行类似操作。在一些实施方案中,FIL调试记录包含与FIL装置命令相关联且从命令输入102接收的主机命令、从时间戳输入108记录的时间戳,及FIL监听装置350的装置识别符。在一些实施方案中,所记录时间戳对应于在FIL监听装置350处接收到FIL装置命令的时间。因此,在一些实施方案中,FIL监听装置350创建识别FIL装置命令、触发FIL装置命令的主机命令及FIL装置命令的接收时间的至少一个FIL调试记录。在一些实施方案中,FIL监听装置350与接收FIL装置命令同时地产生FIL调试记录。在一些实施方案中,FIL监听装置350同时产生FIL调试记录以使接收时间戳与接收FIL装置命令之间的延迟最小化且使与FIL调试记录相关联的时间的准确度最大化。在一些实施方案中,FIL监听装置350包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
HCI监听筛选器312可操作以从HCI监听装置310接收HCI调试记录且筛选从HCI监听装置310接收的HCI调试记录。在一些实施方案中,HCI监听筛选器312确定所接收HCI调试记录是否满足一或多个HCI监听筛选准则以记录或丢弃HCI调试记录。在一些实施方案中,HCI监听筛选准则包含装置命令类型、时间戳或时间戳范围、主机命令类型、存储器地址位置、存储器地址位置范围、命令传输速率、命令产生速率、待存取的存储器的大小等中的一或多者。在一些实施方案中,仅在HCI调试记录满足HCI监听筛选准则的情况下,HCI监听筛选器312将HCI调试记录输出到HCI日志节点314。替代地,在一些实施方案中,仅在HCI调试记录不满足HCI监听筛选准则的情况下,HCI监听筛选器312将HCI调试记录输出到HCI日志节点314。
在一些实施方案中,HCI监听筛选器312可操作以与HCI监听装置产生HCI装置记录同时地或与在HCI监听装置310处接收到HCI装置命令同时地筛选HCI调试记录。因此,HCI监听筛选器312可操作以迅速地筛选大量HCI调试记录以仅记录且存储满足预定HCI监听筛选准则的记录。在调试记录产生器110处对HCI监听记录进行此筛选会减少系统114专用于将HCI调试记录传输到调试记录管理器112的带宽及存储器阵列106中所需的物理存储器的量或记录HCI调试记录所需的存储器阵列装置的数目。在一些实施方案中,HCI监听筛选器312包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
BM监听筛选器322可操作以从BM监听装置320接收BM调试记录且筛选从BM监听装置320接收的BM调试记录。在一些实施方案中,BM监听筛选器322与HCI监听筛选器312类似地操作,包含但不限于关于BM调试记录及BM日志节点324的监听筛选准则。在一些实施方案中,BM监听筛选器322包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
LUTE监听筛选器332可操作以从LUTE监听装置330接收LUTE调试记录且筛选从LUTE监听装置330接收的LUTE调试记录。在一些实施方案中,LUTE监听筛选器332与HCI监听筛选器312类似地操作,包含但不限于关于LUTE调试记录及LUTE日志节点334的监听筛选准则。在一些实施方案中,LUTE监听筛选器332包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
WC监听筛选器342可操作以从WC监听装置340接收WC调试记录且筛选从WC监听装置340接收的WC调试记录。在一些实施方案中,WC监听筛选器340与HCI监听筛选器312类似地操作,包含但不限于关于WC调试记录及WC日志节点344的监听筛选准则。在一些实施方案中,WC监听筛选器342包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
FIL监听筛选器352可操作以从FIL监听装置352接收FIL调试记录且筛选从FIL监听装置352接收的FIL调试记录。在一些实施方案中,FIL监听筛选器352与HCI监听筛选器312类似地操作,包含但不限于关于FIL调试记录及FIL日志节点354的监听筛选准则。在一些实施方案中,FIL监听筛选器352包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
图4图解说明根据图1的实例系统的实例调试记录管理器。如图4中以实例方式图解说明,实例调试记录管理器400包含监听日志产生器410、日志时间戳串行化器420、监听日志筛选器430,及日志记录批处理器440。在一些实施方案中,监听日志产生器410操作地耦合到HCI日志节点314、BM日志节点324、LUTE日志节点334、WC日志节点344及FIL日志节点354中的一或多者。在一些实施方案中,日志记录批处理器440操作地耦合到调试日志记录节点442。替代地,在一些实施方案中,监听日志筛选器430操作地耦合到调试日志记录节点442,其中实例调试记录管理器400不包含日志记录批处理器440、与日志记录批处理器440隔离、绕过日志记录批处理器440等。在一些实施方案中,HCI监听筛选器312、BM监听筛选器322、LUTE监听筛选器332、WC监听筛选器342及FIL监听筛选器352中的一或多者操作地耦合到时间戳输入108。
监听日志产生器410可操作以接收来自HCI日志节点314、BM日志节点324、LUTE日志节点334、WC日志节点344及FIL日志节点354中的一或多者的输出。在一些实施方案中,监听日志产生器410可操作以对任何HCI调试记录、BM调试记录、LUTE调试记录、WC调试记录及FIL调试记录的至少一子集进行组合、整合、合并、关联等操作。在一些实施方案中,监听日志产生器针对HCI、BM、LUTE、WC及FIL调试记录的子集确定所述调试记录内的共同或重复位串且以短代码及使所述短代码与共同或重复的位串相关的词典替换那些位。在一些实施方案中,监听日志产生器针对HCI、BM、LUTE、WC及FIL调试记录的子集对所述调试记录执行无损数据压缩函数。在一些实施方案中,数据压缩函数包含但不限于莱姆佩尔齐夫韦尔奇(Lempel Ziv Welch)函数、哈夫曼(Huffman)编码函数、运行长度编码函数及算术编码函数。在一些实施方案中,监听日志产生器410可操作以通过锁存、缓冲、记录来自调试记录产生器410的输出或进行类似操作而同时对任何HCI调试记录、BM调试记录、LUTE调试记录、WC调试记录及FIL调试记录的至少一子集进行组合、整合、合并、关联等操作。因此,在一些实施方案中,监听日志产生器410可操作以接收且处理由调试记录产生器110产生的一定量的调试记录。在一些实施方案中,监听日志产生器410包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
日志时间戳串行化器420可操作以与存储器装置的正常操作并发地对一或多个调试记录进行串行化、分类、组织等操作。在一些实施方案中,日志时间戳串行化器420按时间戳、主机命令、装置命令、装置识别符及与存储装置100或系统114相关联的任何硬件特性、软件特性、装置特性、系统特性等中的一或多者将所接收调试记录排序。在一些实施方案中,日志时间戳串行化器420通过确定所接收调试记录的共同最高有效位、从每一记录移除共同最高有效位且创建记录共同最高有效位的新调试记录而使所述调试记录的时间戳紧凑。在一些实施方案中,日志时间戳串行化器420包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。监听日志筛选器430可操作以从日志时间戳串行化器420接收任何调试记录且筛选从日志时间戳串行化器420接收的任何调试记录。在一些实施方案中,监听日志筛选器430在类似于HCI监听筛选器312的监听筛选准则下操作。因此,在一些实施方案中,监听日志筛选器430可操作以根据全局或类似准则以集中方式筛选调试记录。应理解,与监听日志筛选器430相关联的监听筛选准则可不同于与监听装置310、320、330、340及350中的一或多者相关联的监听日志准则。在一些实施方案中,监听日志筛选器430包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
日志记录批处理器440可操作以对从日志时间戳串行化器420接收的调试记录的任一集合进行分组、划分、组织等操作,且产生包含从日志时间戳串行化器420接收的调试记录的一或多个集合的一或多个调试记录批。在一些实施方案中,日志记录批处理器440至少部分地基于存储器阵列106的特性而产生一或多个调试记录批。作为一个实例,日志记录批处理器440可产生具有在存储器阵列106的传输带宽限制内的大小的调试日志批。在一些实施方案中,日志记录批处理器440包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。应理解,实例调试记录管理器400可任选地包含日志时间戳串行化器420、监听日志筛选器430及日志记录批处理器440中的一或多者。应进一步理解,监听日志产生器410、日志时间戳串行化器420、监听日志筛选器430及日志记录批处理器440中的任一者可响应于实例调试记录管理器400的任何装置或组件的存在或缺少而直接或间接操作地耦合到调试日志记录节点442。
图5图解说明根据图1的实例系统的实例存储器阵列。如图5中以实例方式图解说明,实例存储器阵列500包含操作存储器部分510及调试存储器部分512。在一些实施方案中,操作存储器部分操作地耦合到操作存储器节点262。在一些实施方案中,调试存储器部分512操作地耦合到调试日志记录节点442。在一些实施方案中,存储器阵列106包含实例存储器阵列500。在一些实施方案中,操作存储器部分510与调试存储器部分512包含存储器装置106的相异逻辑区。
在一些实施方案中,操作存储器部分510与调试存储器部分512包含存储器装置106的相异物理区。在一些实施方案中,操作存储器部分510与调试存储器部分512包含存储器阵列106的相异物理存储器装置。作为一个实例,操作存储器部分510可为第一集成电路,调试存储器部分520可为第二集成电路,且存储器阵列500可为操作地耦合且封装操作存储器部分510及调试存储器部分512的印刷电路板等。在一些实施方案中,操作存储器部分510及调试存储器部分512中的一或多者包含一或多个存储器装置的连续逻辑或物理区域。在一些实施方案中,操作存储器部分510及调试存储器部分512中的一或多者包含根据存储器阵列106的存储器装置。在一些实施方案中,操作存储器部分510及调试存储器部分512中的一或多者包含一或多个电组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体装置、触发器、算术单元等。
图6图解说明根据本发明实施方案的高性能调试记录产生及管理的实例方法。
在步骤610处,实例系统确定至少一个调试存储器位置。在一些实施方案中,实例系统接收识别一或多个存储器位置的一或多个逻辑或物理地址,所述一或多个存储器位置可操作以、被配置成或进行类似操作以接收一或多个调试记录、调试日志、调试日志批等。在一些实施方案中,调试存储器位置包含调试存储器部分512。方法600然后继续到步骤612。在步骤612处,实例系统确定用于实例系统的一或多个调试筛选器。在一些实施方案中,调试记录产生器110及调试记录管理器112中的一或多者接收、获得或产生一或多个调试筛选准则。在一些实施方案中,调试记录产生器110及调试记录管理器112中的一或多者选择一或多个调试筛选准则。方法600然后继续到步骤620。
在步骤620处,实例系统接收主机命令。在一些实施方案中,实例系统接收与存储器存取事件相关联的主机命令。作为一个实例,存储器存取事件包含但不限于从与实例系统相关联的存储器阵列的读取操作或向所述存储器阵列的写入操作。在一些实施方案中,实例系统接收与存储器可操作性事件相关联的主机命令。作为一个实例,存储器可操作性事件包含但不限于对特定存储器地址或地址范围诊断、自测试、应用或移除安全限制等。方法600然后继续到步骤630。
在步骤630处,实例系统确定与所接收主机命令相关联的装置命令识别符(DCI)。在一些实施方案中,DCI包含与HCI 210、BM 220、LUTE 230、WC 240、FIL 250及FC 260中的一或多者相关联的一或多个装置命令。在一些实施方案中,步骤630包含步骤632、634、636、638及640中的一或多者。在一些实施方案中,步骤630包含同时、并发、并行或以类似方式执行步骤632、634、636、638及640中的一或多者。在一些实施方案中,步骤630包含以彼此同步、彼此协调、彼此相依或类似方式执行步骤632、634、636、638及640中的一或多者。在一些实施方案中,步骤630包含以彼此异步、彼此独立或类似方式执行步骤632、634、636、638及640中的一或多者。在一些实施方案中,步骤630包含被动地监测或被动地接收来自HCI210、BM 220、LUTE 230、WC 240、FIL 250及FC 260中的一或多者的输出。
在步骤632处,实例系统确定HCI 210的DCI。在步骤634处,实例系统确定BM 220的DCI。在步骤636处,实例系统确定LUTE 230的DCI。在步骤638处,实例系统确定WC240的DCI。在步骤640处,实例系统确定FIL 250的DCI。方法然后继续到步骤710。应理解,实例系统可操作以基于HCI 210、BM 220、LUTE 230、WC 240、FIL 250及FC 260中的任一者的任何受支持或可支持功能而确定DCI。应进一步理解,实例系统可操作以基于HCI 210、BM 220、LUTE230、WC 240、FIL 250及FC 260中的任一者的任何装置或组件而确定DCI。
图7图解说明关于图6的实例方法进一步的高性能调试记录产生及管理的实例方法。在一些实施方案中,实例存储装置100及实例系统114中的至少一者执行根据本发明实施方案的方法700。在一些实施方案中,方法700在步骤710处开始。方法700然后继续到步骤720。
在步骤720处,实例系统基于一或多个调试筛选准则而筛选DCI。在一些实施方案中,HCI 210、BM 220、LUTE 230、WC 240、FIL 250及FC 260中的一或多者筛选DCI。应理解,实例系统可任选地根据步骤720筛选DCI。方法700然后继续到步骤730。在步骤730处,实例系统接收与DCI相关联的时间戳。在一些实施方案中,HCI监听装置310、BM监听装置320、LUTE监听装置330、WC监听装置340、FIL监听装置350及FC监听装置360中的一或多者从时间戳输入108接收时间戳。方法700然后继续到步骤732。在步骤732处,实例系统确定DCI的装置识别符。在一些实施方案中,HCI监听装置310、BM监听装置320、LUTE监听装置330、WC监听装置340、FIL监听装置350及FC监听装置360中的一或多者基于接收到分别来自HCI 210、BM220、LUTE 230、WC 240、FIL 250及FC 260中的一者的输入而确定DCI的装置识别符。方法700然后继续到步骤740。
在步骤740处,实例系统产生DCI的调试记录。在一些实施方案中,HCI监听装置310、BM监听装置320、LUTE监听装置330、WC监听装置340、FIL监听装置350及FC监听装置360中的一或多者确定DCI的装置识别符。在一些实施方案中,一或多者。在一些实施方案中,HCI监听装置310、BM监听装置320、LUTE监听装置330、WC监听装置340、FIL监听装置350及FC监听装置360中的一或多者至少暂时产生至少一个调试记录且将所述至少一个调试记录存储于其专用存储器中。方法700然后继续到步骤742。在步骤742处,实例系统产生调试日志。在一些实施方案中,监听日志产生器410产生调试日志。应理解,如果不存在日志、如果实例系统接收或产生要替换现有调试日志的指令等,那么实例系统可任选地产生调试日志。方法700然后继续到步骤744。在步骤744处,实例系统将调试记录添加到调试日志。在一些实施方案中,监听日志产生器通过将调试记录附加到调试日志而添加调试记录。在一些实施方案中,监听日志产生器至少暂时产生至少一个调试记录且将所述至少一个调试记录存储于其专用存储器中。方法700然后继续到步骤750。
在步骤750处,实例系统按时间戳对一或多个所收集调试记录进行串行化。在一些实施方案中,日志时间戳串行化器420对调试记录进行串行化。方法700然后继续到步骤760。在步骤760处,实例系统筛选与调试日志相关联的一或多个调试记录。在一些实施方案中,监听日志筛选器430筛选与调试日志相关联的调试记录。应理解,实例系统可任选地根据步骤760筛选调试记录。方法700然后继续到步骤770。在步骤770处,实例系统至少部分地基于调试日志而产生调试日志批文件。在一些实施方案中,日志记录批处理器440产生调试日志批文件。应理解,实例系统可任选地根据步骤770产生调试日志批文件。方法然后继续到步骤780。在步骤780处,实例系统将日志批添加到调试存储器位置。在一些实施方案中,日志记录批处理器440通过将日志批文件传输到存储器阵列106或存储器阵列106的调试存储器部分512而添加日志批文件。在一些实施方案中,方法700在步骤780处结束。
图8图解说明根据本发明实施方案的高性能存储器调试记录产生及管理的另一实例方法。在一些实施方案中,存储装置100及实例系统114中的至少一者执行根据本发明实施方案的方法800。在一些实施方案中,方法800在步骤810处开始。
在步骤810处,实例系统接收主机命令。在一些实施方案中,实例系统根据步骤620接收主机命令。方法800然后继续到步骤820。在步骤820处,实例系统确定DCI。在一些实施方案中,实例系统根据步骤630中的一或多者确定DCI。在一些实施方案中,步骤822、824、826、828及830中的一或多者分别对应于步骤632、634、636、638及640。方法800然后继续到步骤840。在步骤840处,实例系统接收与DCI相关联的时间戳。在一些实施方案中,实例系统根据步骤730接收时间戳。方法800然后继续到步骤850。在步骤850处,实例系统产生与DCI相关联的调试记录。在一些实施方案中,实例系统根据步骤740产生调试记录。在一些实施方案中,方法800在步骤850处结束。
本文中所描述的标的物有时图解说明含纳于不同其它组件内或与所述不同其它组件连接的不同组件。应理解,此些所描绘架构是图解性的,且实际上可实施达成相同功能性的许多其它架构。在概念意义上,达成相同功能性的任一组件布置是有效地“相关联”以使得达成所要功能性。因此,可将本文中经组合以达成特定功能性的任何两个组件视为彼此“相关联”以使得达成所要功能性,而无论架构或中间组件如何。同样地,如此相关联的任何两个组件还可被视为彼此“以可操作方式连接”或“以可操作方式耦合”以达成所要功能性,且能够如此相关联的任何两个组件还可被视为彼此“可以可操作方式耦合”以达成所要功能性。可以可操作方式耦合的特定实例包含但不限于可物理配合及/或物理交互作用的组件及/或可以无线方式交互作用及/或以无线方式交互作用的组件及/或以逻辑方式交互作用及/或可以逻辑方式交互作用的组件。
关于本文中的复数及/或单数术语的使用,所属领域的技术人员可在适于上下文及/或应用时从复数转换为单数及/或从单数转换为复数。为清晰起见,本文中可明确地陈述各种单数/复数排列。
所属领域的技术人员将理解,一般来说本文中所使用及尤其在所附权利要求书(例如,所附权利要求书的主体)中所使用的术语通常打算为“开放式”术语(例如,术语“包含(including)”应解释为“包含但不限于”,术语“具有(having)”应解释为“至少具有”,术语“包含(include)”应解释为“包含但不限于”等)。
尽管图及说明可图解说明方法步骤的特定次序,但此些步骤的次序可与所描绘及所描述的不同,除非上文有不同规定。而且,可并发或部分并发执行两个或多于两个步骤,除非上文有不同规定。此变化形式可取决于例如所选择的软件及硬件系统以及设计者选择。所有此些变化形式均在本发明的范围内。同样地,可利用具有基于规则的逻辑及其它逻辑的标准编程技术实现所描述方法的软件实施方案以实现各种连接步骤、处理步骤、比较步骤及决策步骤。
所属领域的技术人员应进一步理解,如果有意图将所介绍技术方案要件表述为特定数目,那么将在技术方案中明确地叙述此意图,且在无此叙述时,不存在此意图。举例来说,为帮助理解,所附权利要求书可含有介绍性短语“至少一个”及“一或多个”的使用来介绍技术方案要件。然而,此类短语的使用不应解释为暗指通过不定冠词“一(a或an)”介绍的技术方案要件将含有此经介绍技术方案要件的任一特定技术方案限于仅含有一个此要件的发明,甚至当相同技术方案包含介绍性短语“一或多个”或“至少一个”及例如“一(a或an)”的不定冠词时(例如,“一(a及/或an)”应通常解释为意指“至少一个”或“一或多个”);对于用于介绍技术方案要件的定冠词的使用也如此。另外,即使明确地叙述经介绍技术方案要件的特定数目,所属领域的技术人员仍将认识到,此叙述通常应解释为意指至少所叙述的数目(例如,无其它修饰语的“两个要件”的明了叙述通常意指至少两个要件或者两个或多于两个要件)。
此外,在其中使用类似于“A、B及C等中的至少一者”的惯例的那些例子中,一般来说,此构造打算指所属领域的技术人员将理解所述惯例的含义(例如,“具有A、B及C中的至少一者的系统”将包含但不限于仅具有A、仅具有B、仅具有C,同时具有A及B、同时具有A及C、同时具有B及C及/或同时具有A、B及C等的系统)。在其中使用类似于“A、B或C等中的至少一者”的惯例的那些例子中,一般来说,此构造打算指所属领域的技术人员将理解所述惯例的含义(例如,“具有A、B或C中的至少一者的系统”将包含但不限于仅具有A、仅具有B、仅具有C,同时具有A及B、同时具有A及C、同时具有B及C及/或同时具有A、B及C等的系统)。所属领域的技术人员应进一步理解,实质上表示两个或多于两个替代术语的任一转折字及/或短语(无论是在说明中、权利要求书中还是在图式中)均应被理解为涵盖包含所述术语中的一者、所述术语中的任一者或两个术语的可能性。举例来说,短语“A或B”将理解为包含“A”或“B”或者“A及B”的可能性。
此外,除非另有陈述,否则字词“大致”、“约”、“大约”、“基本上”等的使用意指加或减10%。
已出于图解及说明的目的呈现对说明性实施方案的前述说明。其并非打算关于所揭示的精确形式为穷尽性的或限制性的,且依照上述教示内容可能存在修改及变化或可从所揭示实施方案获得所述修改及变化。本发明的范围打算由所附权利要求书及其等效形式来界定。

Claims (20)

1.一种可在包含控制器及存储器阵列的存储器装置上执行的方法,所述方法包括:
接收与主机命令相关联的主机命令识别符;
确定与所述主机命令及存储器控制器装置相关联的装置命令;
接收对应于所述确定所述装置命令的时间的装置命令时间戳;及
与所述确定所述装置命令同时地确定调试记录,所述调试记录包含所述主机命令识别符、与所述装置命令相关联的装置命令识别符及所述装置命令时间戳。
2.根据权利要求1所述的方法,其进一步包括:
确定与所述存储器控制器装置及所述装置命令中的至少一者相关联的筛选条件;及
根据所述筛选条件且与所述确定所述装置命令同时地筛选所述经确定装置命令。
3.根据权利要求2所述的方法,其中所述确定所述调试记录进一步包括根据第一筛选条件产生所述调试记录。
4.根据权利要求1所述的方法,其进一步包括:
确定包含所述调试记录的调试日志;及
根据与所述调试记录相关联的所述装置命令时间戳对所述调试日志进行串行化。
5.根据权利要求4所述的方法,其进一步包括:
根据所述筛选条件且与所述确定所述装置命令同时地从所述调试日志中筛选所述调试记录。
6.根据权利要求3所述的方法,其进一步包括:
产生包含所述调试日志的至少一部分的调试日志批;及
将所述调试日志批添加到调试存储器阵列。
7.根据权利要求1所述的方法,其中所述接收所述装置命令进一步包括响应于存储器存取事件而接收所述装置命令。
8.根据权利要求1所述的方法,其中所述接收所述装置命令进一步包括响应于存储器可操作性事件而接收所述装置命令。
9.根据权利要求2所述的方法,其中所述筛选条件包括装置带宽条件,且其中所述筛选所述经确定装置命令是以满足所述装置带宽条件的速率发生。
10.根据权利要求2所述的方法,其中所述筛选条件包括存储器阵列条件,且其中所述筛选所述经确定装置命令是根据确定与所述经确定装置命令相关联的存储器阵列位置满足所述存储器阵列条件而发生。
11.一种装置,其包括:
存储器阵列;
存储器控制器装置,其以可操作方式耦合到所述存储器阵列,所述存储器控制器经配置以接收与主机命令相关联的主机命令识别符,且经配置以确定与所述主机命令及存储器控制器装置相关联的装置命令;及
调试记录产生器装置,其操作地耦合到所述存储器控制器装置且经配置以接收对应于所述经确定装置命令的时间的装置命令时间戳,并且经配置以与所述确定所述装置命令同时地确定调试记录,所述调试记录包含所述主机命令识别符、与所述装置命令相关联的装置命令识别符及所述装置命令时间戳。
12.根据权利要求11所述的装置,其中所述调试记录产生器装置进一步经配置以确定与所述存储器控制器装置及所述装置命令中的至少一者相关联的筛选条件,经配置以根据所述筛选条件且与确定所述装置命令同时地筛选所述经确定装置命令,并且经配置以根据第一筛选条件产生所述调试记录。
13.根据权利要求11所述的装置,其进一步包括:
调试记录管理器装置,其以可操作方式耦合到所述调试记录产生器,经配置以产生包含所述调试记录的调试日志,且经配置以根据与所述调试记录相关联的所述装置命令时间戳对所述调试日志进行串行化。
14.根据权利要求13所述的装置,其中所述调试记录管理器装置进一步经配置以根据所述筛选条件且与确定所述装置命令同时地从所述调试日志中筛选所述调试记录。
15.根据权利要求13所述的装置,其进一步包括:
存储器阵列装置,其以可操作方式耦合到所述调试记录管理器装置且包含调试存储器阵列,
其中所述调试记录管理器装置进一步经配置以产生包含所述调试日志的至少一部分的调试日志批,且经配置以与确定所述装置命令同时地将所述调试日志批添加到所述调试存储器阵列。
16.根据权利要求11所述的装置,其中所述存储器控制器装置进一步经配置以响应于存储器存取事件而确定所述装置命令。
17.根据权利要求11所述的装置,其中所述存储器控制器装置进一步经配置以响应于存储器可操作性事件而确定所述装置命令。
18.根据权利要求12所述的装置,其中所述筛选条件包括装置带宽条件,且其中所述调试记录产生器装置进一步经配置以在满足所述装置带宽条件的速率下筛选所述经确定装置命令。
19.根据权利要求12所述的装置,其中所述筛选条件包括存储器阵列条件,且其中所述调试记录产生器装置进一步经配置以根据确定与所述经确定装置命令相关联的存储器阵列位置满足所述存储器阵列条件而筛选所述经确定装置命令。
20.一种非暂时性计算机可读媒体,其存储计算机可读指令,使得所述计算机可读指令在被执行时致使处理电路进行以下操作:
接收与主机命令相关联的主机命令识别符;
确定与所述主机命令及存储器控制器装置相关联的装置命令;
接收对应于所述确定所述装置命令的时间的装置命令时间戳;及
与所述确定所述装置命令同时地确定调试记录,所述调试记录包含所述主机命令识别符、与所述装置命令相关联的装置命令识别符及所述装置命令时间戳。
CN202111090358.4A 2020-09-16 2021-09-16 用于高性能存储器调试记录产生及管理的装置及方法 Pending CN114265795A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/022,943 2020-09-16
US17/022,943 US11847037B2 (en) 2020-09-16 2020-09-16 Device and method for high performance memory debug record generation and management

Publications (1)

Publication Number Publication Date
CN114265795A true CN114265795A (zh) 2022-04-01

Family

ID=80627835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111090358.4A Pending CN114265795A (zh) 2020-09-16 2021-09-16 用于高性能存储器调试记录产生及管理的装置及方法

Country Status (3)

Country Link
US (1) US11847037B2 (zh)
CN (1) CN114265795A (zh)
TW (1) TWI810652B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11847037B2 (en) * 2020-09-16 2023-12-19 Kioxia Corporation Device and method for high performance memory debug record generation and management

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6661534B1 (en) * 1998-09-16 2003-12-09 Texas Instruments Incorporated Selective screening for printing files in a page description language
US20050223410A1 (en) * 2001-07-31 2005-10-06 Sha Li Video processing control and scheduling
US20070078865A1 (en) * 2005-10-03 2007-04-05 Smith Alan R Apparatus, system, and method for analyzing computer events recorded in a plurality of chronicle datasets
CN102439576A (zh) * 2009-04-09 2012-05-02 美光科技公司 存储器控制器、存储器系统、固态驱动器及用于处理若干个命令的方法
US20170177241A1 (en) * 2015-12-21 2017-06-22 Western Digital Technologies, Inc. Automated latency monitoring
US20180293000A1 (en) * 2017-04-11 2018-10-11 Micron Technology, Inc. Transaction identification
CN110843867A (zh) * 2019-10-15 2020-02-28 交控科技股份有限公司 4编组双列位库的列车休眠唤醒方法及系统
US20200117392A1 (en) * 2018-10-16 2020-04-16 Micron Technology, Inc. Memory command verification

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012178202A1 (en) 2011-06-23 2012-12-27 Oblong Industries, Inc. Adaptive tracking system for spatial input devices
TWI546692B (zh) 2011-10-27 2016-08-21 電子戰協會公司 包括與已知電路板資訊有關之電路測試及驗證等特徵的裝置鑑別之系統及方法
US10044795B2 (en) 2014-07-11 2018-08-07 Vmware Inc. Methods and apparatus for rack deployments for virtual computing environments
US20160018998A1 (en) * 2014-07-17 2016-01-21 Sandisk Enterprise Ip Llc Methods and Systems for Scalable Reliability Management of Non-Volatile Memory Modules
WO2017046789A1 (en) 2015-09-15 2017-03-23 Gatekeeper Ltd. System and method for securely connecting to a peripheral device
US11294750B2 (en) * 2019-07-15 2022-04-05 Micron Technology, Inc. Media management logger for a memory sub-system
US11847037B2 (en) * 2020-09-16 2023-12-19 Kioxia Corporation Device and method for high performance memory debug record generation and management

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6661534B1 (en) * 1998-09-16 2003-12-09 Texas Instruments Incorporated Selective screening for printing files in a page description language
US20050223410A1 (en) * 2001-07-31 2005-10-06 Sha Li Video processing control and scheduling
US20070078865A1 (en) * 2005-10-03 2007-04-05 Smith Alan R Apparatus, system, and method for analyzing computer events recorded in a plurality of chronicle datasets
CN102439576A (zh) * 2009-04-09 2012-05-02 美光科技公司 存储器控制器、存储器系统、固态驱动器及用于处理若干个命令的方法
US20170177241A1 (en) * 2015-12-21 2017-06-22 Western Digital Technologies, Inc. Automated latency monitoring
US20180293000A1 (en) * 2017-04-11 2018-10-11 Micron Technology, Inc. Transaction identification
US20200117392A1 (en) * 2018-10-16 2020-04-16 Micron Technology, Inc. Memory command verification
CN110843867A (zh) * 2019-10-15 2020-02-28 交控科技股份有限公司 4编组双列位库的列车休眠唤醒方法及系统

Also Published As

Publication number Publication date
US11847037B2 (en) 2023-12-19
US20220083442A1 (en) 2022-03-17
TW202225971A (zh) 2022-07-01
TWI810652B (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
KR101714630B1 (ko) 컴퓨터 메모리 테스트 구조
US7596729B2 (en) Memory device testing system and method using compressed fail data
US9904608B2 (en) Filtering event log entries
US20090125659A1 (en) Inter-Integrated Circuit (12C) Slave with Read/Write Access to Random Access Memory
US20030126358A1 (en) Method and apparatus for implementing loop compression in a program counter trace
EP1012848B1 (en) System for storing information with data compression
JPH0963300A (ja) 半導体メモリ試験装置のフェイル解析装置
US20030097526A1 (en) High-speed first-in-first-out buffer
US10790038B2 (en) Semiconductor apparatus and test system including the semiconductor apparatus
US20230236931A1 (en) Instant write scheme with delayed parity/raid
US6161206A (en) Pattern generator for a semiconductor integrated circuit tester
US11847037B2 (en) Device and method for high performance memory debug record generation and management
WO2011065354A1 (ja) バスモニタ回路及びバスモニタ方法
US7895430B2 (en) On-chip logic analyzer using compression
US20040199823A1 (en) Method and apparatus for performing imprecise bus tracing in a data processing system having a distributed memory
US7017093B2 (en) Circuit and/or method for automated use of unallocated resources for a trace buffer application
US11709621B2 (en) Read threshold management and calibration
US6118682A (en) Method and apparatus for reading multiple matched addresses
US10248479B2 (en) Arithmetic processing device storing diagnostic results in parallel with diagnosing, information processing apparatus and control method of arithmetic processing device
US11275683B2 (en) Method, apparatus, device and computer-readable storage medium for storage management
US20030154434A1 (en) Self testing-and-repairing data buffer and method for operating the same
US20180239530A1 (en) Methods and apparatus for reduced area control register circuit
US9378782B1 (en) Apparatus with write-back buffer and associated methods
US8112584B1 (en) Storage controller performing a set of multiple operations on cached data with a no-miss guarantee until all of the operations are complete
US11506710B1 (en) Method for testing a circuit system and a circuit system thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination