CN107257953B - 用于测量存储设备的等待时间的方法、装置、系统和介质 - Google Patents

用于测量存储设备的等待时间的方法、装置、系统和介质 Download PDF

Info

Publication number
CN107257953B
CN107257953B CN201680012308.5A CN201680012308A CN107257953B CN 107257953 B CN107257953 B CN 107257953B CN 201680012308 A CN201680012308 A CN 201680012308A CN 107257953 B CN107257953 B CN 107257953B
Authority
CN
China
Prior art keywords
host
latency
solid state
state drive
latencies
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.)
Active
Application number
CN201680012308.5A
Other languages
English (en)
Other versions
CN107257953A (zh
Inventor
R·E·弗里基三世
Y·张
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN107257953A publication Critical patent/CN107257953A/zh
Application granted granted Critical
Publication of CN107257953B publication Critical patent/CN107257953B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/061Improving I/O performance
    • 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/0653Monitoring storage devices or systems
    • 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/0658Controller construction arrangements
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • G06F3/0688Non-volatile semiconductor memory arrays

Abstract

提供了用于测量存储设备的等待时间的方法、装置和系统。存储设备测量从主机接收的一个或多个输入/输出(I/O)操作的一个或多个等待时间。存储设备向主机传输关于一个或多个等待时间的信息。

Description

用于测量存储设备的等待时间的方法、装置、系统和介质
背景技术
固态驱动器(SSD)是使用集成电路组件作为存储器来持久存储数据的数据存储设备。SSD可以耦合到主机计算系统,例如个人计算机或服务器,其中主机计算系统执行对SSD的输入/输出(I/O)操作,并且其中I/O操作可以包括向SSD写入数据以及从SSD读取数据。
当从主机计算系统向SSD传输I/O操作并且将I/O操作的处理结果从SSD返回到主机计算系统时,将针对往返行程花费的总时间称为I/O操作的等待时间(latency)。换句话说,等待时间指的是主机计算系统在其间等待从SSD接收I/O操作的结果的时间间隔或延迟(delay)。在特定系统,等待时间测量机制在主机计算系统内实现。在这样的机制中,主机计算系统测量向SSD或耦合到主机计算系统的其他存储设备发送的I/O操作的等待时间。
附图说明
现在参考附图,在整个附图中相同的附图标记表示相对应的部件。
图1描绘了根据特定实施例其中诸如SSD的存储设备耦合到主机的计算环境的框图;
图2描绘了根据特定实施例示出存储设备如何记录I/O操作的等待时间的框图;
图3描绘了根据特定实施例示出存储设备如何维持等待时间配置文件的框图,其中等待时间配置文件记录了以不同的等待时间间隔处理I/O操作的数目;
图4描绘了根据特定实施例示出从存储设备向主机返回等待时间配置文件的框图;
图5描绘了根据特定实施例示出测量并向主机报告存储设备的输入和输出操作的等待时间的第一流程图;
图6描绘了根据特定实施例示出测量并向主机报告存储设备的输入和输出操作的等待时间的第二流程图;以及
图7描绘了根据特定实施例包括固态驱动器的设备或计算设备的框图。
具体实施方式
如果主机计算系统用于测量从主机计算系统向存储设备传输的I/O操作的等待时间,则测量的等待时间会受到由在主机计算系统中执行以测量等待时间的资源密集型程序消耗的时间影响。此外,将主机计算系统耦合到存储设备的耦合组件会增加所测量的I/O操作的等待时间。将由于存储设备导致的等待时间与由主机计算系统的操作系统、存储结构、主机背板等引起的等待时间分开会是困难的。而且,在主机计算系统中测量等待时间会使用可以更好地用于其它任务的软件和硬件资源。由主机计算系统进行的这样的等待时间测量会受到系统软件开销和在存储设备之外引入的噪声影响。
在特定实施例中,SSD可以记录其自身的等待时间并且这可以允许主机计算系统在不消耗资源的情况下确定I/O操作的等待时间,并且有助于调试等待时间问题。在特定实施例中,SSD可以记录接收读取/写入命令(即,I/O操作)的时间以及同样该命令被完成并通过总线发送回主机计算系统的时间。然后,可以将这一针对每一I/O操作计算的等待时间放置在各种存储空间(bucket)中并且进行计数,其中,每一存储空间是等待时间间隔。可以根据请求向主机计算系统传送等待时间存储空间和I/O计数。从而,在特定实施例中,不消耗主机资源来测量等待时间。
在以下描述中,参考构成本申请一部分并描绘若干实施例的附图。可以理解的是,可以利用其他实施例并且可以进行结构性和操作性改变。
图1描绘了根据特定实施例的计算环境100的框图,其中诸如具有一个或多个非易失性存储器芯片104a…104n的固态驱动器(存储设备)102的存储设备耦合到主机106。非易失性存储器芯片(也被称为封装)可以包括一个或多个管芯,其中管芯是可以独立执行命令或报告状态的最小单位。每一管芯可以包括一个或多个平面,其中在每一平面上可以发生相同的、并发的操作。每一平面可以包括多个块,块是可以被擦除的最小单位。每一块可以包括多个页,页是可以被编程的最小单位。
固态驱动器(存储设备)102可以由诸如包括在非易失性存储器芯片104a…104n中的NAND存储器的非易失性存储器、NOR存储器或某一其它合适的非易失性存储器组成。在特定实施例中,固态驱动器(存储设备)102可以能够存储若干太字节的数据或更多。特定实施例可以应用于其他类型的非易失性存储器、相变存储器(PCM)、三维交叉点存储器、电阻存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、并入了记忆电阻技术的磁阻随机存取存储器(MRAM)存储器、旋转移矩(STT)-MRAM、字节可寻址随机存取非易失性存储器等等。在特定实施例中,除了固态驱动器之外,固态驱动器(存储设备)102可以由某一其它类型的设备组成。例如,在特定实施例中,固态驱动器(存储设备)102可以由磁盘驱动器、磁带驱动器等组成。
在特定实施例中,主机106可以由任意适当的计算设备组成,例如个人计算机、大型机、电话设备、智能电话、存储控制器、刀锋计算机、具有存储器的处理器等。主机106可以被称为主机计算系统或计算设备。主机106可以通过总线(例如外围组件互连(PCIe)、串行高级技术附件(SATA)、串行连接小型计算机系统接口(SAS))或诸如互联网、存储区域网络(SAN)、局域网(LAND)等的网络与固态驱动器(存储设备)102通信。可以在2013年8月由俄勒冈州比佛顿的SATA国际组织(SATA-IO)发布的名称为“串行ATA规范,修订版3.2”的公开文本中找到SATA规范的进一步细节。在另一示例中,接口和/或互连协议可以遵守NVMe(快速非易失性存储器主机控制器接口)和/或与上述NVMe兼容。可以在2014年11月3日由NVMExpressTM工作组发布的名称为“NVM ExpressTM,修订版1.2”中找到NVMe的进一步细节、和/或该规范的更早和/或更晚版本(NVM Express是NVM Express,Inc.的商标)。
在图1中,已经示出固态驱动器(存储设备)102在主机106的外部。在可选实施例中,固态驱动器(存储设备)102可以包含在主机106的底架内。主机106可以具有与固态驱动器(存储设备)102交互以执行I/O操作的操作系统108。
固态驱动器(存储设备)102包括以固件、硬件、软件或其任意组合实现的控制器110。可以以固件、硬件、软件或其任意组合来实现控制器110等待时间测量和报告逻辑112。
在图1中描绘的特定实施例中,等待时间测量和报告逻辑112测量由固态驱动器(存储设备)102处理的I/O操作的等待时间并且以周期性的间隔或者响应于来自主机106的请求而向主机106报告该I/O操作的等待时间。I/O操作可以包括对非易失性芯片104a…104n中的一个或多个执行读取操作的请求或者对非易失性存储器芯片104a…104n中的一个或多个执行写入操作的请求。
图2描绘了根据特定实施例示出存储设备如何记录I/O操作的等待时间的框图200。在特定实施例中,在存储设备内执行的等待时间测量和报告逻辑112执行在图2中示出的操作。
主机(经由附图标记202示出)可以向存储设备(经由附图标记204示出)发送读取或写入命令,其中经由附图标记206示出读取或写入命令的传输。主机(经由附图标记202示出)可以通过诸如PCIe、SATA、SAS等的总线、或者通过诸如互联网、SAN、LAN等的网络向存储设备(经由附图标记204示出)发送读取或写入命令。例如,PCIe是高速I/O总线,其中多条线路可以组合其数据传输能力以从主机向存储设备发送读取或写入命令,而SATA可以使用高速串行线缆从主机向存储设备发送读取或写入命令。在根据SATA快速规范修订版3.2使用接口的特定实施例中,组合了SATA和PCIe总线的接口可以用于从主机向存储设备发送读取或写入命令。存储设备记录时间戳208,以指示存储设备从主机接收读取或写入命令的时间。在特定实施例中,时间戳208指示存储设备接收读取或写入命令的全部的时间。例如,在读取命令的情况下,时间戳208可以记录存储设备何时接收到读取命令的最后字节,并且在写入命令的情况下,时间戳208可以记录存储设备何时接收到要被写入的数据的最后字节。在替代实施例中,与接收读取或写入命令相关的其他指示可以用于将接收读取或写入命令的时间记录在时间戳208中。由于存储设备具有内部时钟,该内部时钟可以用于确定用于记录时间戳的时间。
然后,存储设备处理该读取或写入命令,并且随后存储设备(经由附图标记210示出)向主机(经由附图标记212示出)发送对读取或写入命令的响应214。响应214包括经由对读取或写入命令的处理而生成的数据。响应214中包含的数据可以具有相当大的尺寸(例如,在读取命令的情况下)。例如,在特定实施例中,响应包括多个数据字节(例如,响应于读取命令的一个或多个千字节的数据、一个或多个兆字节的数据等)。在对读取命令做出响应时,存储设备在由存储设备传输在对于来自主机的读取命令的响应中包含的数据的最后字节的时间处记录时间戳216。在对来自主机的写入命令做出响应时,存储设备将数据的最后字节发送到主机的时间记录在时间戳216中,以向主机通知所请求的要通过写入命令进行写入的数据已经被写入到非易失性存储器芯片104a…104n。响应于写入请求而发送的数据的字节数目通常比响应于读取请求而发送的数据的字节数目要小。响应于写入请求,所发送的数据的字节数目可以仅向主机通知写入操作已经在存储设备中完成,而响应于读取请求,所发送的数据的字节数目将会包括从存储设备读取的数据。
图3描绘了根据特定实施例示出存储设备如何维持等待时间配置文件的框图300,其中等待时间配置文件记录以不同的等待时间间隔处理的I/O操作的数目。在特定实施例中,在存储设备中执行的等待时间测量和报告逻辑112执行图3中示出的操作。
时间戳216和时间戳208之间的差是读取或写入命令的等待时间。由于时间戳216是存储设备发送在针对主机的响应中包含的数据的最后字节的时间,因此,等待时间不仅取决于执行从非易性存储器芯片104a…104n读取数据或者向非易性存储器芯片104a…104n写入数据的时间,而且还取决于到主机的数据传输的大小。取决于所读取或写入的数据量,等待时间在读取和写入操作之间也可能不同。在上文的示例中,如果时间戳208是“6:32”并且“时间戳”208是“5:56”(如先前在图2中示出的),则如经由附图标记302示出的,针对读取或写入操作的等待时间是“0:36”,并且通过在存储设备中执行的等待时间测量和报告逻辑112来计算这一等待时间。时间戳208、216和差302的单位可以是时间的任何单位,例如微妙、毫秒、纳秒等。
由于可能存在成千上万的、数十万的、或者更多的I/O操作,所以存储针对每一I/O操作的单独的等待时间可能需要存储设备中大量的存储空间。为了减少用于记录等待时间所需要的存储空间的量,存储设备可以按照表格或某一其它数据结构的形式来维持多个I/O操作的等待时间配置文件304。例如,可以按照特定等待时间间隔(例如,毫秒、微秒或某一其他单位)来维护等待时间。在图3中,在等待时间配置文件304中存在位于0和99之间的每10个时间单位(例如,毫秒或微秒或某一其他时间单位)10个等待时间间隔,以及在100个时间单位上捕获所有等待时间的另一等待时间间隔。等待时间间隔也可以被称为等待时间范围。
等待时间测量和报告逻辑112可以将“0:36”的时间戳差(即,经由附图标记306示出的等待时间)映射到经由附图标记308示出的等待时间间隔“30-39”,且针对这一等待时间间隔“30-39”使命令计数310自增1,并且在更新的等待时间配置文件314中经由附图标记312示出自增了的命令计数。因而,针对每一等待时间间隔(即,等待时间范围),在等待时间配置文件中记录落入该等待时间间隔中的主机I/O操作的数目。
随着存储设备接收到越来越多的I/O操作,等待时间配置文件被更新。在任何的时间点,等待时间配置文件指示具有落入每一等待时间间隔中的等待时间的I/O命令的数目。
图4描绘了根据特定实施例示出从存储设备向主机返回等待时间配置文件的框图400。在特定实施例中,利用存储设备执行的等待时间测量和报告逻辑112执行在图4中示出的操作。
在特定实施例中,在主机(附图标记402)向存储设备(附图标记406)发送(附图标记404)多个I/O操作404之后,主机可以请求来自存储设备的等待时间配置文件。响应于接收到该请求,存储设备(附图标记408)将等待时间配置文件412返回到(经由附图标记410示出)主机(附图标记414)。等待时间配置文件412示出20120I/O命令具有落入0和9个时间单位之间的等待时间(附图标记416),103130I/O命令具有落入40-49个时间单位之间的等待时间(附图标记418),并且没有I/O命令具有100或更多个时间单位的等待时间(附图标记420)。
因而,图1-4描绘了特定实施例,其中,存储设备计算多个I/O操作的等待时间,并构成等待时间配置文件,在等待时间配置文件中维持处于不同的等待时间间隔的I/O操作的数目的计数。响应于来自主机的请求,存储设备将该等待时间配置文件传输到主机。
图5描绘了根据特定实施例示出测量并报告由固态驱动器(存储设备)102进行的输入和输出操作的等待时间的流程图500。在特定实施例中,利用固态驱动器(存储设备)102执行的等待时间测量和报告逻辑112执行在图5中示出的操作。
控制开始于框502,其中固态驱动器(存储设备)102(例如,SSD)利用等待时间间隔和具有落入该等待时间间隔中的等待时间的I/O操作的相应数目来初始化等待时间配置文件,其中针对每一等待时间间隔的I/O操作的数目被初始地设置为零(如在图3中在等待时间配置文件304中示出的)。
固态驱动器(存储设备)102从主机106接收(在框504)I/O命令(即,I/O操作)。固态驱动器(存储设备)102通过记录接收I/O命令的时间(被称为第一记录时间)并且通过记录向主机106传输I/O命令的结果的时间(被称为第二记录时间)来计算(在框506)I/O命令的等待时间,并根据两个记录的时间来计算时间差。如果I/O命令是读取操作,则两个记录的时间中的第二个时间是由主机请求的数据的最后块从存储设备发送到主机的时间。如果I/O命令是写入命令,则两个记录的时间中的第二个时间是存储设备向主机回应的在存储设备中完成写入操作的时间。第一记录的时间是I/O命令整个被存储设备接收的时间。因而,等待时间是第二记录时间和第一记录时间之间的差。在可选实施例中,可以记录用于测量存储设备的等待时间的其它时间。
控制进行到框508,其中固态驱动器(存储设备)102确定所计算的等待时间落入其内的等待时间间隔并使针对该等待时间间隔的I/O操作的数目自增1(如在图3中示出的)。随后,固态驱动器(存储设备)102确定(在框510)主机106是否请求了等待时间配置文件。如果为是,则固态驱动器(存储设备)102将该等待时间配置文件传输到(在框512)主机106。如果为否,则控制进行到框504,其中,固态驱动器(存储设备)102从主机106接收另一I/O命令。
应该注意的是,固态驱动器(存储设备)102可以并行地处理多于一个I/O操作并且可以针对多个I/O操作并行地计算等待时间且可以并行地更新等待时间配置文件。
图6描绘了根据特定实施例示出测量并报告由固态驱动器(存储设备)102进行的输入和输出操作的等待时间的第二流程图600。在特定实施例中,利用存储设备执行的等待时间测量和报告逻辑112执行在图6中示出的操作。
控制开始于框602,其中,固态驱动器(存储设备)102测量从主机106接收的一个或多个输入/输出(I/O)操作的一个或多个等待时间。固态驱动器(存储设备)102将所测量的一个或多个等待时间映射(在框604)到在等待时间配置文件中维持的一个或多个等待时间范围。响应于来自主机106的请求,固态驱动器(存储设备)102通过经由等待时间配置文件向主机传输关于一个或多个等待时间的信息(在框606)。
因此,图1-6描绘了特定实施例,其中针对固态驱动器(存储设备)102中的多个I/O操作生成等待时间配置文件。响应于来自主机106的请求(例如,通过PCIe接口的一个或多个线路或者通过SATA接口从主机106向固态驱动器(存储设备)102发送的请求),通过PCIe接口的一个或多个线路或者通过SATA接口由存储设备向主机106传输等待时间配置文件。其它接口可以用于在主机106和固态驱动器(存储设备)102之间进行通信。结果,等待时间配置文件不受主机106中的延迟或者经由主机106和固态驱动器(存储设备)102之间的耦合元件的延迟影响。
所描述的操作可以被实现为使用标准的编程和/或工程技术来产生软件、固件、硬件或其任何组合的方法、装置或计算机程序产品。所描述的操作可以被实现为维持在“计算机可读存储介质”中的代码,其中处理器可以从计算机可读存储介质读取并执行代码。计算机可读存储介质包括电子电路、存储材料、无机材料、有机材料、生物材料、外壳、壳体、涂层和硬件中的至少一个。计算机可读存储介质可以包括但不限于磁性存储介质(例如,硬盘驱动、软盘、磁带等)、光学存储装置(CD-ROM、DVD、光盘等)、易失性和非易失性存储设备(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、固件、可编程逻辑等)、固态设备(SSD)等。实现所描述的操作的代码可以进一步以在硬件设备(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)中实现的硬件逻辑来实现。又进一步地,实现所描述的操作的代码可以以“传输信号”实现,其中传输信号可以通过空间或通过诸如光纤、铜线等的传输介质传播。在其中编码有代码或逻辑的传输信号可以进一步包括无线信号、卫星传输、无线电波、红外信号、蓝牙等。嵌入在计算机可读存储介质上的程序代码可以作为传输信号从发送站或计算机向接收站或计算机进行传输。计算机可读存储介质不仅仅由传输信号组成。本领域普通技术人员将认识到,可以对这一配置进行多种修改,并且该制品可以包括本领域已知的适当的信息承载介质。
用于执行针对特定实施例的方面的操作的计算机程序代码可以以一种或多种编程语言的任意组合来编写。流程图和框图中的框可以通过计算机程序指令来实现。
图7描绘了根据特定实施例包括主机106(主机106至少包括处理器)和固态驱动器(存储设备)102的系统700的框图。例如,在特定实施例中,系统700可以是具有均包括在系统700中的主机106和固态驱动器(存储设备)102的计算机(例如,膝上型计算机、台式计算机、平板电脑、蜂窝电话或任何其他适当的计算设备)。例如,在特定实施例中,系统700可以是包括固态驱动器(存储设备)102的膝上型计算机。系统700可以包括电路702,电路702在特定实施例中可以至少包括处理器704。系统700还可以包括存储器706(例如,易失性存储设备)、以及存储装置708。存储装置708可以包括固态驱动器(存储设备)102或包含非易失性存储设备(例如,EEPROM、ROM、PROM、闪存、固件、可编程逻辑等)的其他驱动器或设备。存储装置708还可以包括磁盘驱动器、光盘驱动器、磁带驱动器等。存储装置708可以包括内部存储设备、附接的存储设备和/或网络可访问存储设备。系统700可以包括程序逻辑710,该程序逻辑710包含可以被加载到存储器706中并由处理器704或电路702执行的代码712。在特定实施例中,包含代码712的程序逻辑710可以被存储在存储装置708中。在特定的其他实施例中,程序逻辑710可以被实现在电路702中。因此,尽管图7示出了与其他元件分离的程序逻辑710,但是程序逻辑710可以被实现在存储器706和/或电路702中。系统700还可以包括显示器714(例如,液晶显示器(LCD)、发光二极管(LED)显示器、阴极射线管(CRT)显示器、触摸屏显示器、或任何其他适当的显示器)。系统700还可以包括一个或多个输入设备716,例如键盘、鼠标、游戏操作杆、触控板、或任何其他适当的输入设备)。在系统700中还可以发现除了在图7中示出的这些之外的其他组件或设备。
特定实施例可以涉及一种用于由人或集成计算机可读代码的自动化处理将计算指令部署到计算系统中的方法,其中使得与计算系统结合的代码能够执行所描述的实施例的操作。
除非以其它方式明确指出,术语“一实施例”、“实施例”、“多个实施例”、“所述实施例”、“这些实施例”、“一个或多个实施例”、“一些实施例”和“一个实施例”指的是“一个或多个(并非全部)实施例”。
除非以其它方式明确指出,术语“包含”、“包括”、“具有”及其各种变化指的是“包括但不限于”。
除非以其它方式明确指出,所列举的项目清单并不暗含这些项目中的任何一些或全部是相互排斥的。
除非以其它方式明确指出,术语“一”、“一个”以及“所述”指的是“一个或多个”。
除非以其它方式明确指出,彼此通信的设备不需要彼此连续地通信。此外,彼此通信的设备可以直接通信或通过一个或多个中间媒介间接通信。
对具有彼此通信的若干组件的实施例的描述并不暗含着要求所有这些组件。相反,描述了各种可选的组件以描绘各种各样的可能实施例。
进而,尽管按照先后顺序描述了过程步骤、方法步骤、算法等,但是方法和算法可以被配置为以可选的顺序工作。换句话说,可以被描述的步骤的任何顺序或次序未必指示要求以该顺序执行这些步骤。本申请中描述的过程的步骤可以以任何实际的顺序执行。进而,一些步骤可以被同时执行。
当在本申请中描述单个设备或物品时,显而易见的是,可以代替单个设备/物品而使用多于一个的设备/物品(无论它们是否协作)。类似地,在本申请中描述多于一个设备或物品(无论它们是否协作)的情况下,显而易见的是,可以代替多于一个设备或物品而使用单个设备/物品,或者可以使用不同数目的设备/物品而不是所示出数目的设备或程序。设备的功能和/或特征可以可选地通过未被明确描述为具有这样的功能/特征的一个或多个其他设备实现。因而,其他实施例无需包括设备本身。
可能已经在附图中描绘的至少特定操作示出了以特定顺序发生的特定事件。在可选实施例中,可以以不同的顺序来执行某些操作、对某些操作进行修改或移除。此外,可以将步骤添加到上文描述的逻辑中并且仍然符合所描述的实施例。进而,在本申请中描述的操作可以顺序地发生或者可以并行地处理特定操作。再进一步地,可以通过单个处理单元或通过分布式处理单元来执行操作。
已经出于描绘和描述的目的呈现了前述对各种实施例的描述。这并不意在是穷举的或受限于所公开的精确形式。根据上文的教导能够做出许多修改和变化。
示例
以下的示例与进一步的实施例有关。
示例1是一种用于测量存储设备的等待时间的方法。存储设备测量从主机接收的一个或多个输入/输出(I/O)操作的一个或多个等待时间。存储设备向主机传输关于一个或多个等待时间的信息。
在示例2中,示例1的主题可以包括所述存储设备是固态驱动器(SSD)。
在示例3中,示例2的主题可以包括由SSD记录从主机接收I/O操作的第一时间;由SSD记录向主机发送对于I/O操作的响应的第二时间;以及将I/O操作的等待时间确定为在第二时间和第一时间之间的持续时间。
在示例4中,示例3的主题可以包括维持多个等待时间范围;以及确定所述一个或多个I/O操作中有多少个I/O操作具有落入所述多个等待时间范围中的每个等待时间范围内的等待时间,以生成针对SSD的等待时间配置文件。
在示例5中,示例4的主题可以包括响应于来自主机的请求,SSD向主机传输等待时间配置文件。
在示例6中,示例1的主题可以包括将测量的一个或多个等待时间映射到在等待时间配置文件中维持的一个或多个等待时间范围,其中经由等待时间配置文件将所述测量的一个或多个等待时间传输到主机,以向主机传输关于所述一个或多个等待时间的信息。
在示例7中,示例1的主题可以包括在存储设备中执行对一个或多个等待时间的所有测量并且在主机中不执行对一个或多个等待时间的测量。
在示例8中,示例7的主题可以包括通过在存储设备中而不是在主机中测量一个或多个等待时间,对一个或多个等待时间的测量不包括由在主机中执行的处理的外来影响引入的延迟。
示例9是一种装置,其包括多个非易失性存储器芯片;以及耦合到所述多个非易失性存储器芯片的控制器,其中所述控制器操作为:测量从主机接收的一个或多个输入/输出(I/O)操作的一个或多个等待时间;以及向主机传输关于一个或多个等待时间的信息。
在示例10中,示例9的主题可以包括所述装置包含固态驱动器(SSD)。
在示例11中,示例10的主题可以包括所述控制器进一步操作为:记录从主机接收I/O操作的第一时间;记录SSD向主机发送对于I/O操作的响应的第二时间;以及将I/O操作的等待时间确定为在第二时间和第一时间之间的持续时间。
在示例12中,示例11的主题可以包括所述控制器进一步操作为:维持多个等待时间范围;以及确定所述一个或多个I/O操作中有多少个I/O操作具有落入所述多个等待时间范围中的每个等待时间范围内的等待时间,以生成针对SSD的等待时间配置文件。
在示例13中,示例12的主题可以包括所述控制器进一步操作为:响应于来自主机的请求,向主机传输等待时间配置文件。
在示例14中,示例9的主题可以包括将测量的一个或多个等待时间映射到在等待时间配置文件中维持的一个或多个等待时间范围,其中经由等待时间配置文件将所述测量的一个或多个等待时间传输到主机,以向主机传输关于一个或多个等待时间的信息。
在示例15中,示例9的主题可以包括在存储设备中执行对于一个或多个等待时间的所有测量并且在主机中不执行对于一个或多个等待时间的测量。
在示例16中,示例15的主题可以包括通过在存储设备中而不是在主机中测量一个或多个等待时间,对一个或多个等待时间的测量不包括由在主机中执行的过程的外来影响引入的延迟。
示例17是一种系统,所述系统包括固态驱动器(SSD)、显示器以及耦合到所述固态驱动器和所述显示器的处理器,所述固态驱动器包括多个非易失性存储器芯片,其中所述SSD操作为:测量从主机接收的一个或多个输入/输出(I/O)操作的一个或多个等待时间;以及向主机传输关于一个或多个等待时间的信息。
在示例18中,示例9的主题可以包括所述主机被包含在系统中并且被耦合到SSD,并且所述处理器被包含在所述主机中。
在示例19中,示例18的主题可以包括所述SSD进一步操作为:记录从主机接收I/O操作的第一时间;记录SSD向主机传输对于I/O操作的响应的第二时间;以及将I/O操作的等待时间确定为在第二时间和第一时间之间的持续时间。
在示例20中,示例19的主题可以包括所述SSD进一步操作为:维持多个等待时间范围;以及确定一个或多个I/O操作中有多少个I/O操作具有落入所述多个等待时间范围中的每个等待时间范围内的等待时间,以生成针对SSD的等待时间配置文件。
在示例21中,示例20的主题可以包括所述SSD进一步操作为:响应于来自主机的请求,向主机传输等待时间配置文件。
在示例22中,示例17的主题可以包括将测量的一个或多个等待时间映射到在等待时间配置文件中维持的一个或多个等待时间范围,其中经由等待时间配置文件将所述测量的一个或多个等待时间传输到主机,以向主机传输关于一个或多个等待时间的信息。
在示例23中,示例17的主题可以包括在存储设备中执行对一个或多个等待时间的所有测量以及在主机中不执行对一个或多个等待时间的测量。
在示例24中,示例23的主题可以包括通过在存储设备中而不是在主机中测量一个或多个等待时间,对一个或多个等待时间的测量不包括由在主机中执行的过程的外来影响引入的延迟。

Claims (21)

1.一种用于测量存储设备的等待时间的方法,所述方法包括:
由固态驱动器初始化等待时间配置文件,所述等待时间配置文件包括等待时间间隔和具有落入所述等待时间间隔中的等待时间的I/O操作的对应数目,并且将针对每个等待时间间隔的I/O操作的数目初始设置为零;
响应于所述固态驱动器从主机接收到一个或多个I/O操作,通过所述固态驱动器内的控制器中包括的逻辑来测量从所述主机接收的所述一个或多个I/O操作的一个或多个等待时间,其中,所述逻辑通过计算以下两者之间的时间差来测量包括接收自所述主机的写入I/O操作的I/O操作的等待时间:在所述固态驱动器处从所述主机接收到要写入所述固态驱动器的数据的最后字节的时间,以及对所述写入I/O操作的响应的数据的最后字节被所述固态驱动器发送到所述主机以通知所述主机与所述写入I/O操作相对应的数据已被写入所述固态驱动器的一个或多个非易失性存储器芯片的时间;
对于所述固态驱动器从所述主机接收的所述一个或多个I/O操作中的每个I/O操作,确定所述I/O操作的等待时间落入的等待时间间隔,并且使针对该等待时间间隔的I/O操作的数目自增1;以及
响应于确定所述主机已经请求了所述等待时间配置文件,将所述等待时间配置文件从所述固态驱动器发送到所述主机,其中,在所述固态驱动器中执行对所述一个或多个等待时间的所有测量,而在所述主机中不执行对所述一个或多个等待时间的测量,并且其中,通过在所述固态驱动器中而不是在所述主机中测量所述一个或多个等待时间,对所述一个或多个等待时间的测量不包括由在所述主机中执行的处理的外来影响引入的延迟。
2.根据权利要求1所述的方法,所述方法还包括:
由所述固态驱动器记录从所述主机接收到所述I/O操作的第一时间;
由所述固态驱动器记录所述固态驱动器向所述主机发送对所述I/O操作的响应的第二时间;以及
将所述I/O操作的等待时间确定为在所述第二时间和所述第一时间之间的持续时间。
3.根据权利要求1所述的方法,其中,所述逻辑通过计算以下两者之间的时间差来测量从所述主机接收的读取I/O操作的等待时间:在所述固态驱动器处接收到来自所述主机的所述读取I/O操作的最后字节的时间,以及对所述读取I/O操作的响应的数据的最后字节被所述固态驱动器发送到所述主机的时间。
4.根据权利要求3所述的方法,其中,所述固态驱动器的内部时钟用于记录时间戳以计算时间差。
5.根据权利要求4所述的方法,其中,所述一个或多个等待时间不受所述主机中的延迟以及在所述主机与所述固态驱动器之间的耦合元件中的延迟影响。
6.根据权利要求1所述的方法,其中,所述固态驱动器被配置为通过网络与所述主机进行通信,并且其中,所述一个或多个等待时间不受所述网络中的延迟影响。
7.一种用于测量存储设备的等待时间的装置,包括:
多个非易失性存储器芯片;以及
耦合到所述多个非易失性存储器芯片的控制器,其中,所述控制器中包括的逻辑可操作用于:
初始化等待时间配置文件,所述等待时间配置文件包括等待时间间隔和具有落入所述等待时间间隔中的等待时间的I/O操作的对应数目,并且将针对每个等待时间间隔的I/O操作的数目初始设置为零;
响应于从主机接收到一个或多个I/O操作,测量从所述主机接收的所述一个或多个I/O操作的一个或多个等待时间,其中,所述逻辑通过计算以下两者之间的时间差来测量包括接收自所述主机的写入I/O操作的I/O操作的等待时间:从所述主机接收到要写入的数据的最后字节的时间,以及对所述写入I/O操作的响应的数据的最后字节被发送到所述主机以通知所述主机与所述写入I/O操作相对应的数据已被写入所述多个非易失性存储器芯片中的一个或多个的时间;
对于从所述主机接收的所述一个或多个I/O操作中的每个I/O操作,确定所述I/O操作的等待时间落入的等待时间间隔,并且使针对该等待时间间隔的I/O操作的数目自增1;以及
响应于确定所述主机已经请求了所述等待时间配置文件,将所述等待时间配置文件发送到所述主机,其中,在所述装置中执行对所述一个或多个等待时间的所有测量,而在所述主机中不执行对所述一个或多个等待时间的测量,并且其中,通过在所述装置中而不是在所述主机中测量所述一个或多个等待时间,对所述一个或多个等待时间的测量不包括由在所述主机中执行的处理的外来影响引入的延迟。
8.根据权利要求7所述的装置,其中,所述控制器中包括的逻辑还可操作用于:
记录从所述主机接收到所述I/O操作的第一时间;
记录所述装置向所述主机发送对所述I/O操作的响应的第二时间;以及
将所述I/O操作的等待时间确定为在所述第二时间和所述第一时间之间的持续时间。
9.根据权利要求7所述的装置,其中,所述逻辑还可操作用于通过计算以下两者之间的时间差来测量从所述主机接收的读取I/O操作的等待时间:在所述装置处接收到来自所述主机的所述读取I/O操作的最后字节的时间,以及对所述读取I/O操作的响应的数据的最后字节被所述装置发送到所述主机的时间。
10.根据权利要求9所述的装置,其中,所述装置的内部时钟用于记录时间戳以计算时间差。
11.根据权利要求10所述的装置,其中,所述一个或多个等待时间不受所述主机中的延迟以及在所述主机与所述装置之间的耦合元件中的延迟影响。
12.根据权利要求7所述的装置,其中,所述装置被配置为通过网络与所述主机进行通信,并且其中,所述一个或多个等待时间不受所述网络中的延迟影响。
13.一种用于测量存储设备的等待时间的系统,包括:
固态驱动器,其包括多个非易失性存储器芯片;
显示器;以及
处理器,其耦合到所述固态驱动器和所述显示器,其中所述固态驱动器内的控制器中包括的逻辑可操作用于:
由所述固态驱动器初始化等待时间配置文件,所述等待时间配置文件包括等待时间间隔和具有落入所述等待时间间隔中的等待时间的I/O操作的对应数目,并且将针对每个等待时间间隔的I/O操作的数目初始设置为零;
响应于所述固态驱动器从主机接收到一个或多个I/O操作,通过所述固态驱动器内的控制器中包括的逻辑来测量从所述主机接收的所述一个或多个I/O操作的一个或多个等待时间,其中,所述逻辑通过计算以下两者之间的时间差来测量包括接收自所述主机的写入I/O操作的I/O操作的等待时间:在所述固态驱动器处从所述主机接收到要写入所述固态驱动器的数据的最后字节的时间,以及对所述写入I/O操作的响应的数据的最后字节被所述固态驱动器发送到所述主机以通知所述主机与所述写入I/O操作相对应的数据已被写入所述固态驱动器的一个或多个非易失性存储器芯片的时间;
对于所述固态驱动器从所述主机接收的所述一个或多个I/O操作中的每个I/O操作,确定所述I/O操作的等待时间落入的等待时间间隔,并且使针对该等待时间间隔的I/O操作的数目自增1;以及
响应于确定所述主机已经请求了所述等待时间配置文件,将所述等待时间配置文件从所述固态驱动器发送到所述主机,其中,在所述固态驱动器中执行对所述一个或多个等待时间的所有测量,而在所述主机中不执行对所述一个或多个等待时间的测量,并且其中,通过在所述固态驱动器中而不是在所述主机中测量所述一个或多个等待时间,对所述一个或多个等待时间的测量不包括由在所述主机中执行的处理的外来影响引入的延迟。
14.根据权利要求13所述的系统,其中,所述主机被包括在所述系统中并且耦合到所述固态驱动器,并且所述处理器被包括在所述主机中,其中,所述固态驱动器中包括的所述逻辑还可操作用于:
记录从所述主机接收到所述I/O操作的第一时间;
记录所述固态驱动器向所述主机发送对所述I/O操作的响应的第二时间;以及
将所述I/O操作的等待时间确定为在所述第二时间和所述第一时间之间的持续时间。
15.根据权利要求13所述的系统,其中,所述逻辑还可操作用于通过计算以下两者之间的时间差来测量从所述主机接收的读取I/O操作的等待时间:在所述固态驱动器处接收到来自所述主机的所述读取I/O操作的最后字节的时间,以及对所述读取I/O操作的响应的数据的最后字节被所述固态驱动器发送到所述主机的时间。
16.根据权利要求15所述的系统,其中,所述固态驱动器的内部时钟用于记录时间戳以计算时间差。
17.根据权利要求16所述的系统,其中,所述一个或多个等待时间不受所述主机中的延迟以及在所述主机与所述固态驱动器之间的耦合元件中的延迟影响。
18.根据权利要求13所述的系统,其中,所述固态驱动器被配置为通过网络与所述主机进行通信,并且其中,所述一个或多个等待时间不受所述网络中的延迟影响。
19.一种具有指令的计算机可读介质,所述指令在被处理器执行时,使所述处理器执行根据权利要求1-6中的任一项所述的方法。
20.一种用于测量存储设备的等待时间的装置,包括用于执行根据权利要求1-6中的任一项所述的方法的单元。
21.一种用于测量存储设备的等待时间的设备,包括:
存储指令的存储器;以及
耦合到所述存储器的处理器,所述指令在被所述处理器执行时执行根据权利要求1-6中的任一项所述的方法。
CN201680012308.5A 2015-03-27 2016-02-26 用于测量存储设备的等待时间的方法、装置、系统和介质 Active CN107257953B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/671,663 US10025535B2 (en) 2015-03-27 2015-03-27 Measurement and reporting of the latency of input and output operations by a solid state drive to a host
US14/671,663 2015-03-27
PCT/US2016/019956 WO2016160216A1 (en) 2015-03-27 2016-02-26 Measurement and reporting of the latency of input and output operations by a solid state drive to a host

Publications (2)

Publication Number Publication Date
CN107257953A CN107257953A (zh) 2017-10-17
CN107257953B true CN107257953B (zh) 2021-06-11

Family

ID=56975307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680012308.5A Active CN107257953B (zh) 2015-03-27 2016-02-26 用于测量存储设备的等待时间的方法、装置、系统和介质

Country Status (3)

Country Link
US (1) US10025535B2 (zh)
CN (1) CN107257953B (zh)
WO (1) WO2016160216A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10236069B2 (en) 2017-06-20 2019-03-19 Intel Corporation Word line read disturb error reduction through fine grained access counter mechanism
US10466911B2 (en) * 2017-12-18 2019-11-05 Western Digital Technologies, Inc. Method using logical based addressing for latency reduction
US10732897B2 (en) 2018-07-03 2020-08-04 Western Digital Technologies, Inc. Quality of service based arbitrations optimized for enterprise solid state drives
US11392320B2 (en) * 2018-07-03 2022-07-19 Western Digital Technologies, Inc. Quality of service based arbitrations optimized for enterprise solid state drives
US11119885B2 (en) * 2018-10-03 2021-09-14 International Business Machines Corporation Latency measurement in an I/O operation of computer data storage
KR102567108B1 (ko) 2018-11-05 2023-08-14 삼성전자주식회사 데이터 스토리지 디바이스 및 데이터 스토리지 시스템
US11030038B2 (en) 2019-02-12 2021-06-08 Microsoft Technology Licensing, Llc Fault prediction and detection using time-based distributed data
US11074011B2 (en) 2019-03-20 2021-07-27 Western Digital Technologies, Inc. Solid state drive latency estimation interface for host performance tuning
US11520517B2 (en) 2020-02-28 2022-12-06 Micron Technology, Inc. Data logging sub-system for memory sub-system controller
US11620176B2 (en) * 2021-07-15 2023-04-04 Beijing Tenafe Electronic Technology Co., Ltd. Visualization system for debug or performance analysis of SOC systems

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783024A (zh) * 2004-11-30 2006-06-07 国际商业机器公司 用于存储系统内的错误策略的方法和系统
CN1960364A (zh) * 2005-11-03 2007-05-09 国际商业机器公司 用于管理响应等待时间的设备、系统和方法
CN101101530A (zh) * 2006-07-06 2008-01-09 三星电子株式会社 自动确定硬盘的最优存取时间的方法和装置
CN101326496A (zh) * 2005-12-07 2008-12-17 国际商业机器公司 持续保护数据的装置、系统和方法
CN102165406A (zh) * 2008-09-30 2011-08-24 英特尔公司 用于将时间戳传输到存储系统的方法
US8321627B1 (en) * 2011-10-06 2012-11-27 Google Inc. Memory operation command latency management
WO2014058415A1 (en) * 2012-10-09 2014-04-17 Adaptive Spectrum And Signal Alignment, Inc. Method and system for connectivity diagnostics in communication systems
WO2014126263A1 (en) * 2013-02-12 2014-08-21 Kabushiki Kaisha Toshiba Storage controlling device, storage controlling method, storage system and program
WO2014193376A1 (en) * 2013-05-30 2014-12-04 Hewlett-Packard Development Company, L.P. Separate memory controllers to access data in memory

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691186B2 (en) * 2001-10-09 2004-02-10 Texas Instruments Incorporated Dual sequencer based disk formatter
US8566483B1 (en) 2009-12-17 2013-10-22 Emc Corporation Measuring data access activity
JP5159817B2 (ja) 2010-03-25 2013-03-13 株式会社東芝 メモリシステム
US8972689B1 (en) 2011-02-02 2015-03-03 Violin Memory, Inc. Apparatus, method and system for using real-time performance feedback for modeling and improving access to solid state media
US9021215B2 (en) 2011-03-21 2015-04-28 Apple Inc. Storage system exporting internal storage rules
US10333724B2 (en) * 2013-11-25 2019-06-25 Oracle International Corporation Method and system for low-overhead latency profiling

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783024A (zh) * 2004-11-30 2006-06-07 国际商业机器公司 用于存储系统内的错误策略的方法和系统
CN1960364A (zh) * 2005-11-03 2007-05-09 国际商业机器公司 用于管理响应等待时间的设备、系统和方法
CN101326496A (zh) * 2005-12-07 2008-12-17 国际商业机器公司 持续保护数据的装置、系统和方法
CN101101530A (zh) * 2006-07-06 2008-01-09 三星电子株式会社 自动确定硬盘的最优存取时间的方法和装置
CN102165406A (zh) * 2008-09-30 2011-08-24 英特尔公司 用于将时间戳传输到存储系统的方法
US8321627B1 (en) * 2011-10-06 2012-11-27 Google Inc. Memory operation command latency management
WO2014058415A1 (en) * 2012-10-09 2014-04-17 Adaptive Spectrum And Signal Alignment, Inc. Method and system for connectivity diagnostics in communication systems
WO2014126263A1 (en) * 2013-02-12 2014-08-21 Kabushiki Kaisha Toshiba Storage controlling device, storage controlling method, storage system and program
WO2014193376A1 (en) * 2013-05-30 2014-12-04 Hewlett-Packard Development Company, L.P. Separate memory controllers to access data in memory

Also Published As

Publication number Publication date
US10025535B2 (en) 2018-07-17
WO2016160216A1 (en) 2016-10-06
CN107257953A (zh) 2017-10-17
US20160283119A1 (en) 2016-09-29

Similar Documents

Publication Publication Date Title
CN107257953B (zh) 用于测量存储设备的等待时间的方法、装置、系统和介质
CN107430493B (zh) 顺序写入流管理
KR102384773B1 (ko) 스토리지 장치, 컴퓨팅 시스템, 그리고 그것의 디버깅 방법
US10496281B2 (en) Data storage device, data processing system and method of operation
US10114556B2 (en) Method and apparatus for improving read performance of a solid state drive
US9824004B2 (en) Methods and apparatuses for requesting ready status information from a memory
US8234520B2 (en) Wear leveling of solid state disks based on usage information of data and parity received from a raid controller
US8423722B1 (en) System and method for high performance command processing in solid state drives
US9158461B1 (en) Measuring performance of data storage systems
CN106528461A (zh) 储存设备及其中断生成方法
US9244865B2 (en) Obtaining diagnostic information through host interfaces
US20180275871A1 (en) Simulation of a plurality of storage devices from a single storage device coupled to a computational device
EP3216027B1 (en) Test of semiconductor storage power consumption on basis of executed access commands
US10282103B1 (en) Method and apparatus to delete a command queue
US10248538B2 (en) Controller of semiconductor memory device for detecting event and storing event information and operating method thereof
US11461036B2 (en) Technologies for logging and visualizing storage events
US10430088B2 (en) Storage device configured to perform two-way communication with host and operating method thereof
US9690503B2 (en) Returning coherent data in response to a failure of a storage device when a single input/output request spans two storage devices
US10210032B2 (en) Processing commands via dedicated register pairs for each thread of a plurality of threads
KR20240026080A (ko) 서브미션 큐 엔트리 에이지 추적

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
GR01 Patent grant
GR01 Patent grant