
对与存储装置关联的多个写命令进行排序的制作方法.docx
7页对与存储装置关联的多个写命令进行排序的制作方法专利名称:对与存储装置关联的多个写命令进行排序的制作方法技术领域:本发明涉及存储装置,且更具体地涉及对于与这种存储装置关联的写命令进行排序背景技术:存储系统可包括很多设备,这些设备包括存储装置以及与存储装置连接和/或通信的其它装置这些与存储装置通信的设备通常需要对与存储装置关联的命令和/或数据进行存取在很多不同类型的存储装置中,将命令排队并按照随机顺序执行该命令串行ATA(SATA)计算机总线是一个用于将主机总线适配器连接至存储装置(诸如,硬盘驱动器及光学驱动器等)的存储器接口目前,在SATA系统和其它类似系统中,将命令排队并且执行命令的顺序是随机的连接至SATA驱动器的设备并不知晓写命令将被执行的顺序因此,附至SATA驱动器的设备不能预取写数据,除非其具有足够的资源来针对所有命令预取写数据由于预取所有命令需要使用大部分内存,所以预取所有命令的代价很大此外,该预取可能不会增加性能,因为正在执行的命令不一定是数据已被预取的命令 因此,需要解决这些问题和/或与现有技术相关的其它问题发明内容提供了用于排序与存储装置关联的多个写命令的系统、方法和计算机程序产品。
在操作中,识别待发送至设备的、与存储装置关联的多个写命令此外,确定多个写命令的顺序,设备知晓所确定的顺序此外,按照所确定的顺序排序多个写命令图1示出根据一个实施方式、用于排序与存储装置关联的多个写命令的方法图2示出根据一个实施方式、用于排序与存储装置关联的多个写命令的系统图3示出根据另一个实施方式、用于排序与存储装置关联的多个写命令的方法图4示出示例性系统,在其中可实现各个先前实施方式的各种架构和/或功能具体实施例方式以下提供了本发明的一个或多个实施方式的详细描述,以及示出选定的本发明细节的附图结合实施方式来描述本发明应理解,本文中的实施方式仅为示例性,本发明不会被明确限制于本文中的任何或所有的实施方式或被其限制,且本发明涵盖了很多替代物、修改和等同物为了避免阐述的单调,可应用各种文字描述词(包括但不限于首先、 最后、某些、各种、进一步、其它、特别、选择、一些和显著的)从而区分实施方式集合;如本文中所使用,这类描绘词不会明确地意欲传达质量或任何形式的优先或偏见,而仅意欲方便地在分离的集合中进行区分所公开的处理的一些操作的顺序可在本发明范围内进行改变在以下描述中阐述很多具体的细节以提供对本发明的透彻理解。
为了示例的目的而提供细节,而可根据权利要求书在没有一些或所有细节的情况下实践本发明为了清晰之目的,没有详细描述本发明所涉及的技术领域中已知的技术材料,以免不必要地模糊本发明引言该引言被包括在内,仅为了便于更加快速地理解具体实施方式,本发明不限于在引言(包括明确的例子,如果有的话)中出现的概念,因为任何引言的段落都必然是整个主题的简略概要而并不意味着是详尽的或限制的说明例如,仅针对某些实施方式,随后的引言提供了受空间和组织限制的概要信息在说明书的其它部分中讨论很多其它实施方式, 包括最终会被撰写为权利要求的那些实施方式图1示出根据一个实施方式的、用于排序与存储装置关联的多个写命令的方法 100如图所示,识别待发送至设备的、与存储装置关联的多个写命令参见操作102在本说明书的背景下,存储装置指任何能够存储数据的设备例如,在各个实施方式中,存储装置可包括但不限于串行ATA(SATA)驱动器、串行连接SCSI(SAQ驱动器、 光纤通道(FC)驱动器或通用串行总线(USB)驱动器和/或任何其它存储装置此外,在各个实施方式中,存储装置可包括被配置呈现为存储装置的外设部件互连(PCI)或基于 PCIExpress的插入卡,或被配置呈现为存储装置的PCI或PCI Express接口。
在一个实施方式中,PCI或PCI Express接口可用于接入该存储装置此外,写命令可被发送至能够接收命令的任何类型的设备例如,在各个实施方式中,该设备可包括主机系统、SAS/SATA桥接器(例如,SAS至SATA桥接器等)、USB/SATA桥接器(例如,USB至SATA桥接器等)、FC/SATA桥接器(例如,FC至SATA桥接器等)、PCI 或基于PCI Express的插入卡(例如,配置呈现为存储装置等)、PCI或PCI Express接口、 用于接入至少一个存储装置或系统的接口,或能够在同一时间具有多个待执行的命令的任何设备除了识别与存储装置关联的写命令外,还确定多个写命令的顺序,所确定的顺序被设备知晓参见操作104在一个实施方式中,确定的顺序可以是设备知晓的预定排序作为一种选择,可基于写命令被识别的顺序(例如,基于先来先服务的方法等)来确定该顺序例如,当生成和/或接收命令时,可对这些命令进行排队作为另一种选择, 顺序可包括设备知晓的预定顺序当然,顺序可包括设备知晓的任何顺序在一个实施方式中,控制器可向设备告知该顺序在这种情况下,存储装置可实时或近实时确定顺序此外,按照预定顺序来排序多个写命令。
参见操作106在这种情况下,存储装置可按照预定顺序来排序多个写命令通过这种方式,可允许设备预取与多个写命令关联的数据在这种情况下,在执行关联的写命令之前,可允许设备来预取数据因为设备知晓写命令的顺序,所以可以完成该过程在一个实施方式中,也可识别与存储装置关联的读命令在这种情况下,可随机或按照预定顺序来排序与存储装置关联的多个读命令在这两种情况下,读命令可与写命令混合,其中写命令相对于彼此保持其确定的顺序示例性实施方式在结束对具体实施方式的引言之后,接下来是示例性实施方式的集合,包括至少一些被明确列举为“EC”(示例性组合)的实施方式,其提供了根据本文所描述的概念的各种实施方式类型的额外描述;这些实施例并不意欲为互相排斥、详尽的或限制的;且本发明不限于这些示例性实施方式,而是涵盖了所公开的权利要求的范围内的所有可能的修改和变化ECl. —种方法,包括识别待发送至设备的、与存储装置关联的多个写命令;确定所述多个写命令的顺序,所述设备知晓所确定的顺序;以及按照所确定的顺序排序所述多个写命令EC 2.根据EC 1所述的方法,其中,所确定的顺序是所述设备知晓的预定顺序EC 3.根据EC 1所述的方法,其中,基于所述多个写命令被识别的顺序来确定所述顺序。
EC 4.根据EC 1所述的方法,还包括允许所述设备预取与所述多个写命令关联的数据EC 5.根据EC 4所述的方法,其中,在执行关联的写命令之前,允许所述设备预取所述数据EC 6.根据EC 1所述的方法,其中,基于所述存储装置的模式执行所述识别、确定和排序EC 7.根据EC 1所述的方法,其中,所述存储装置按照所确定的顺序排序所述多个写命令EC 8.根据EC 1所述的方法,其中,所述设备包括用于主机系统的存储器接口适配器EC 9.根据EC 1所述的方法,其中,所述设备包括SAS/SATA桥接器EC 10.根据EC 1所述的方法,其中,所述设备包括USB/SATA桥接器EC 11.根据EC 1所述的方法,其中,所述设备包括FC/SATA桥接器EC 12.根据EC 1所述的方法,其中,所述设备包括PCI或基于PCI Express插入卡之一EC 13.根据EC 1所述的方法,其中,所述设备包括PCI或PCI Express接口之一EC 14.根据EC 1所述的方法,其中,所述设备包括用于接入存储装置或系统中至少一个的接口EC 15.根据EC 1所述的方法,其中,所述设备包括能够在同一时间具有多个待执行命令的设备。
EC 16.根据EC 1所述的方法,还包括识别与所述存储装置关联的多个读命令EC 17.根据EC 16所述的方法,其中,对于与所述存储装置关联的所述多个读命令进行随机排序EC 18.根据EC 17所述的方法,其中,随机排序的所述多个读命令与按照所确定的顺序的所述多个写命令混合EC 19.根据EC 1所述的方法,其中,所述存储装置包括串行ATA(SATA)驱动器、串行连接SCSI (SAQ驱动器、光纤通道(FC)驱动器或通用串行总线(USB)驱动器之一EC 20.根据EC 1所述的方法,其中,所述存储装置包括被配置呈现为存储装置的 PCI或基于PCI Express插入卡之一EC 21.根据EC 1所述的方法,其中,所述存储装置包括被配置呈现为存储装置的 PCI 或 PCI Express 接口之一EC 22.根据EC 1所述的方法,其中,PCI或PCI Express接口用于接入所述存储直οEC 23. 一种在计算机可读介质上体现的计算机程序产品,包括用于识别待发送至设备的、与存储装置关联的多个写命令的计算机代码;用于确定所述多个写命令的顺序的计算机代码,所述设备知晓所确定的顺序;以及用于按照所确定的顺序排序所述多个写命令的计算机代码。
EC 24. —种仪器,包括存储装置,用于识别待发送至设备的、与所述存储装置关联的多个写命令,并用于按照确定的顺序排序所述多个写命令,所述设备知晓所确定的顺序EC 25. 一种方法,包括通过能够与驱动器通信的设备来处理写命令,其中所述驱动器与允许以随机顺序执行命令的存储协议兼容,每个写命令具有关联的写数据;所述设备取得与至少一些所述写命令关联的所述写数据,所述设备将所取得的数据发送至所述驱动器;按照与所述驱动器执行所述写命令的顺序相同的特定顺序来执行关联的所述写数据的所述取得;以及其中,所述设备能够针对接下来取得的所述关联写数据充分利用所有可用的写数据存储EC 26.根据EC 25所述的方法,其中,所述设备首先经历按照一序列而非按照所述特定顺序的所述写命令EC 27.根据EC 25所述的方法,其中,对于所述驱动器,所述设备起到主机总线适配器或桥接器的作用EC 28.根据EC 25所述的方法,还包括所述设备以特定序列将所述写命令发送至所述驱动器;以及其中,所述特定顺序由所述特定序列建立并与其相同EC 29.根据权利要求EC 25所述的方法,其中,所述存储协议是串行ATA(SATA)兼容的。
EC 30.根据EC 25所述的方法,其中,所述驱动器是固态驱动器(SSD)EC 31.根据权利要求EC 25所述的方法,其中,所述驱动器能够以独立于所述特定顺序的顺序执行非写命令并与所述写命令的执行混合EC 32. 一种仪器,包括用于与驱动器通信的装置,其中所述驱动器与允许以随机顺序执行命令的存储协议兼容;用于处理写命令的装置,每个写命令具有关联的写数据;用于取得与至少一些所述写命令关联的所述写数据的装置;用于将所取得的数据发送至所述驱动器的装置;用于按照与所述驱动器执行所述写命令的顺序相同的特定顺序来执行所述关联写数据的所述取得的装置;以及其中,所述设备能够针对接下来取得的所述关联写数据充分利用所有可用的写数据存储EC 33.根据EC 32所述的仪器,其中,所述仪器首先经历按照一序列而非按照所述特定顺序的所述写命令EC 34.根据EC 32所述的仪器,其中,所述仪器是启动器或桥接器EC 35.根据EC 32所述的仪器,还包括用于以特定序列将所述写命令发送至所述驱动器的装置;以及其中,所述特定顺序由所述特定序列建立并与其相同EC 36.根据EC 32所述的仪器,其中,所述存储协议是串行ATA(SATA)兼容的。
EC 37.根据EC 32所述的仪器,其中,所述驱动器是固态驱动器(SSD)EC 38.根据EC 32所述的仪器,其中,所述驱动器能够以独立于所述特定顺序的顺序执行非写命令并与所述写命令的执行混合EC 39. 一种有形计算机可读介质,具有存储于其中的指令集,当由计算机执行所述指令集时,使该计算机执行以下功能,包括由能够与驱动器通信的设备来处理写命令,其中所述驱动器与允许以随机顺序执行命令的存储协议兼容,每个写命令具有关联的写数据;所述设备取得与至少一些所述写命令关联。






![河南新冠肺炎文件-豫建科[2020]63号+豫建科〔2019〕282号](http://img.jinchutou.com/static_www/Images/s.gif)





