当前位置: 首页 > 专利查询>英特尔公司专利>正文

测量并向主机报告固态驱动器的输入和输出操作的等待时间制造技术

技术编号:16401336 阅读:136 留言:0更新日期:2017-10-17 21:33
提供了用于测量存储设备的等待时间的方法、装置和系统。存储设备测量从主机接收的一个或多个输入/输出(I/O)操作的一个或多个等待时间。存储设备向主机传输关于一个或多个等待时间的信息。

Measure and wait the time of the input and output operation of the solid state drive to the host

A method, device and system for measuring the waiting time of a storage device are provided. The storage device measures one or more waiting times of one or more input / output (I/O) operations received from the host. The storage device transmits information about one or more waiting times to the host.

【技术实现步骤摘要】
【国外来华专利技术】测量并向主机报告固态驱动器的输入和输出操作的等待时间
技术介绍
固态驱动器(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的SSD102的存储设备耦合到主机106。非易失性存储器芯片(也被称为封装)可以包括一个或多个管芯,其中管芯是可以独立执行命令或报告状态的最小单位。每一管芯可以包括一个或多个平面,其中在每一平面上可以发生相同的、并发的操作。每一平面可以包括多个块,块是可以被擦除的最小单位。每一块可以包括多个页,页是可以被编程的最小单位。固态驱动器102可以由诸如包括在非易失性存储器芯片104a…104n中的NAND存储器的非易失性存储器、NOR存储器或某一其它合适的非易失性存储器组成。在特定实施例中,固态驱动器102可以能够存储若干太字节的数据或更多。特定实施例可以应用于其他类型的非易失性存储器、相变存储器(PCM)、三维交叉点存储器、电阻存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、并入了记忆电阻技术的磁阻随机存取存储器(MRAM)存储器、旋转移矩(STT)-MRAM、字节可寻址随机存取非易失性存储器等等。在特定实施例中,除了固态驱动器之外,存储设备102可以由某一其它类型的设备组成。例如,在特定实施例中,存储设备102可以由磁盘驱动器、磁带驱动器等组成。在特定实施例中,主机106可以由任意适当的计算设备组成,例如个人计算机、大型机、电话设备、智能电话、存储控制器、刀锋计算机、具有存储器的处理器等。主机106可以被称为主机计算系统或计算设备。主机106可以通过总线(例如外围组件互连(PCIe)、串行高级技术附件(SATA)、串行连接小型计算机系统接口(SAS))或诸如互联网、存储区域网络(SAN)、局域网(LAND)等的网络与SSD102通信。可以在2013年8月由俄勒冈州比佛顿的SATA国际组织(SATA-IO)发布的名称为“串行ATA规范,修订版3.2”的公开文本中找到SATA规范的进一步细节。在另一示例中,接口和/或互连协议可以遵守NVMe(快速非易失性存储器主机控制器接口)和/或与上述NVMe兼容。可以在2014年11月3日由NVMExpressTM工作组发布的名称为“NVMExpressTM,修订版1.2”中找到NVMe的进一步细节、和/或该规范的更早和/或更晚版本(NVMExpress是NVMExpress,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总线的接口可以用本文档来自技高网...
测量并向主机报告固态驱动器的输入和输出操作的等待时间

【技术保护点】
一种用于测量存储设备的等待时间的方法,所述方法包括:由所述存储设备测量从主机接收的一个或多个输入/输出(I/O)操作的一个或多个等待时间;以及由所述存储设备向所述主机传输关于所述一个或多个等待时间的信息。

【技术特征摘要】
【国外来华专利技术】2015.03.27 US 14/671,6631.一种用于测量存储设备的等待时间的方法,所述方法包括:由所述存储设备测量从主机接收的一个或多个输入/输出(I/O)操作的一个或多个等待时间;以及由所述存储设备向所述主机传输关于所述一个或多个等待时间的信息。2.根据权利要求1所述的方法,其中,所述存储设备是固态驱动器(SSD)。3.根据权利要求2所述的方法,所述方法还包括:由所述SSD记录从所述主机接收I/O操作的第一时间;由所述SSD记录所述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操作具有落入所述多个等待时间范围中的每个等待时间范围内的等待时间,以生成针对所述S...

【专利技术属性】
技术研发人员:R·E·弗里基三世Y·张
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1