首页> 中国专利> 用于合并用于访问存储装置的命令的具有最大命令队列长度的装置及其方法

用于合并用于访问存储装置的命令的具有最大命令队列长度的装置及其方法

摘要

本公开内容包括涉及比如通过增加原生命令队列(NCQ)命令的队列深度(Q-深度)来高效地增加用于访问存储装置的命令队列长度的系统和技术。在一些实现方式中,一种方法可以包括:接收用于访问存储设备的第一存储器位置的第一命令;接收用于访问存储设备的第二存储器位置的第二命令;构建与第一命令和第二命令中的每个命令关联的包括存储器地址和数据传送计数的合并的命令;构建具有关于合并的命令的合并信息的信息命令;以及向存储设备传达信息命令和合并的命令以用于由存储设备处理。

著录项

  • 公开/公告号CN103858090A

    专利类型发明专利

  • 公开/公告日2014-06-11

    原文格式PDF

  • 申请/专利权人 马维尔国际贸易有限公司;

    申请/专利号CN201280049338.5

  • 发明设计人 赖的是;康新海;蔡侃廷;赵群;

    申请日2012-10-05

  • 分类号G06F3/06(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人酆迅;辛鸣

  • 地址 巴巴多斯圣米加勒

  • 入库时间 2023-12-17 00:20:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-07-21

    授权

    授权

  • 2014-11-05

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20121005

    实质审查的生效

  • 2014-06-11

    公开

    公开

说明书

相关申请的交叉引用

本公开内容要求于2011年10月6日提交、名称为“USEINFORMATION COMMAND TO INCREASE THE Q-DEPTH OFSATA NCQ COMMAND UNLIMITEDLY”的美国临时申请序列号61/543,929以及于2012年3月30日提交、名称为“I/OAGGREGATION FOR THE SCSI OF AN SSD DEVICE”的美国临时申请序列号61/618,238的优先权权益,这些申请通过引用而全文并入于此。

技术领域

本公开内容描述了涉及比如通过增加串行高级技术附件(SATA)原生命令队列(NCQ)命令的队列深度(Q-深度)来高效地增加用于访问存储装置的命令队列长度的系统和技术。

背景技术

许多电子设备包括嵌入式系统以控制底层设备的操作以及提供增强的功能和操作灵活性。典型地,非易失性存储器被包括作为嵌入式系统的一部分以存储操作系统程序代码、发布的命令和用于操作嵌入式系统的关键数据。一些嵌入式系统使用固态存储器作为非易失性存储器(例如,电可擦除只读存储器(EEPROM))。固态存储器可以被用来加速应用以增加数据访问时间,并且可以被有利地编程或者重新编程以提供信息的非易失性存储。

在计算机系统中,主机总线适配器可以将主机系统(例如,计算机)连接到其他网络和存储设备(例如,硬盘驱动、固态驱动、光盘驱动等)。串行高级技术附件(SATA)是用来控制数据和信息从主机向存储设备的传送的接口协议。原生命令队列是允许存储设备内部优化按照其执行接收的读取和写入命令的次序的SATA协议的扩展。原生命令队列协议典型地具有最大队列长度。对于其中逻辑块地址值相邻的顺序命令而言命令合并是可能的。也就是说,可以通过使用第一命令的LBA值并且将数据传送计数设置为针对顺序命令的传送计数的求和来将具有相邻LBA的顺序命令组合成单个命令。

发明内容

本公开内容包括涉及比如通过增加原生命令队列(NCQ)命令的队列深度(Q-深度)来高效地增加用于访问存储装置的命令队列长度的系统和技术。

在一个实现方式中,控制器被配置用于使用具有用于待处理命令的最大队列长度的协议通过接口硬件与主机通信。控制器被配置用于接收和处理用于访问存储装置的命令,包括:接收第一命令,将第一命令标识为具有合并信息的信息命令,存储合并信息,接收第二命令,将第二命令标识为与合并信息关联的合并的命令,使用合并信息根据合并的命令生成多个命令,以及关于存储装置处理多个命令,多个命令中的每个命令包括地址和数据传送计数。

这些和其他实现方式可以可选地包括以下特征中的一个或者多个特征。控制器可以接受附加命令,将附加命令中的每个附加命令标识为与合并信息关联的合并的信息,使用合并信息根据附加信息的每个相应的合并的命令生成进一步的命令,以及关于存储装置处理进一步的命令,进一步的命令中的每个进一步的命令包括地址和数据传送计数。控制器可以通过确定在对应于第一命令的框架信息结构中设置了具体比特来将第一命令标识为具有合并信息的信息命令。控制器可以通过确定在对应于第二命令的框架信息结构中设置了具体比特来将第二命令标识为与合并信息关联的合并的命令。控制器可以是利用具有最大Q-深度的NCQ的SATA控制器。最大Q-深度可以是32个NCQ命令,其中32个命令中的每个命令可以由范围从TAG0至TAG31的TAG值引用。32个NCQ命令的真子集可以对应于信息命令并且32个NCQ命令的真子集可以对应于合并的命令。由TAG0引用的命令可以是指定用于由TAG1至TAG7引用的合并的命令的合并数据的信息命令,由TAG8引用的命令可以是指定用于由TAG9至TAG15引用的合并的命令的合并数据的信息命令,由TAG16引用的命令可以是指定用于由TAG17至TAG23引用的合并的命令的合并数据的信息命令,并且由TAG24引用的命令可以是指定用于由TAG25至TAG31引用的合并的命令的合并数据的信息命令。控制器可以与接口硬件的至少一部分和形成用于持久地存储数据的存储器的集成电路组件一起进一步被外壳装入,其中集成电路组件与控制器通信地耦合。

在一个实现方式中,一种方法包括接收用于访问存储设备的第一存储器位置的第一命令,接收用于访问存储设备的第二存储器位置的第二命令,构与第一命令和第二命令中的每个命令关联的建包括存储器地址和数据传送计数的合并的命令,构建具有关于合并的命令的合并信息的信息命令,以及向存储设备传达信息命令和合并的命令。

这些和其他实现方式可以可选地包括以下特征中的一个或者多个特征。构建合并的命令可以包括设置在与合并的命令关联的框架信息结构中的对应比特。构建信息命令可以包括设置在与信息命令关联的框架信息结构中的对应比特。存储设备可以是利用具有最大Q-深度的NCQ的SATA设备。最大Q-深度可以是32个NCQ命令并且其中32个命令中的每个命令由范围从TAG0至TAG31的TAG值引用。32个NCQ命令的真子集可以对应于信息命令并且32个NCQ命令的真子集可以对应于合并的命令。

在一个实现方式中,一种系统包括:主机计算机;存储设备,包括:接口硬件,被配置用于与主机通信,控制器,被配置用于通过接口硬件使用具有用于待处理命令的最大队列长度的协议与主机通信,以及存储器,用于持久地存储数据;主机总线适配器,其通信地耦合到主机,主机总线适配器包括驱动器,驱动器被配置用于:接收用于访问存储设备的存储器的命令;根据接收的命令中的每个命令构建包括存储器地址和数据传送计数的合并的命令;构建具有关于合并的命令的合并信息的信息命令;以及向存储设备传达信息命令和合并的命令。包括在存储设备中的控制器被配置用于接收和处理由存储设备驱动器传达的信息命令和合并的命令,包括执行操作,操作包括:使用合并信息从合并的命令取回命令;以及基于与命令一起包括的存储器地址和数据传送计数处理命令。

这些和其他实现方式可以可选地包括以下特征中的一个或者多个特征。构建信息命令可以包括设置在与信息命令关联的框架信息结构中的比特,从而使得当包括在存储设备中的控制器接收和处理信息命令时,控制器可以将命令标识为信息命令。构建合并的命令可以包括设置在与合并的命令关联的框架信息结构中的比特,从而使得当包括在存储设备中的控制器接收和处理合并的命令时,控制器可以将命令标识为合并的命令。存储设备可以是利用具有最大Q-深度的NCQ的SATA设备。最大Q-深度可以是32个NCQ命令,其中32个命令中的每个命令可以由范围从TAG0至TAG31的TAG值引用。

所描述的系统和技术可以在电子电路、计算机硬件、固件、软件中或与它们结合实现,这些项目为比如在本说明书中公开的结构装置及其结构等效物。这可以包括体现可操作用于使一个或者多个数据处理装置(例如,包括可编程处理器的信号处理设备)执行方法操作的至少一个计算机可读介质。因此,可以根据公开的方法、系统或者装置实现程序实现方式,并且可以根据公开的系统、计算机可读介质或者方法实现装置实现方式。类似地,可以根据公开的系统、计算机可读介质或者装置实现方法实现方式,并且可以根据公开的方法、计算机可读介质或者装置实现系统实现方式。

所描述的系统和技术可以导致用于原生命令队列(NCQ)命令的命令队列深度(Q-深度)增加超过由NCQ协议指定的命令的最大数量。例如,用于SATA设备的NCQ协议当前指定32个命令的最大Q-深度。通过如以下详细描述的那样将NCQ命令合并成合并的命令并且在信息命令中提供用于合并的命令的合并,用于SATA设备的NCQ可以利用32个命令的协议最大值以上的Q-深度操作。如果信息命令和合并的命令基于标准SATA规范,则可以利用任何适当SATA主机总线适配器(HBA)实现以下描述的系统和技术,而无需专门的HBA硬件。附加地,可以通过将普通NCQ合并成合并的命令并且增加由SATA NCQ协议指定的Q-深度来减少针对处理具有随机逻辑块地址(例如,非顺序LBA)的小大小数据传送协议(例如,5kb或者更小)所需要的开销。

在附图和以下描述中阐明一个或者多个实现方式的细节。其他特征和优点可以从描述和附图并且从权利要求而变得显而易见。

附图说明

图1示出了固态驱动的框图。

图2示出了存储系统的示例。

图3示出了用于NCQ命令的结构的示例。

图4A示出了用于信息命令的结构的示例。

图4B示出了用于合并的命令的结构的示例。

图5示出了用于合并NCQ命令的过程的示例。

图6示出了用于处理合并的以及信息NCQ命令的过程的示例。

在各图中相同参考符号指示相同元素。

具体实施方式

闪存概述

图1示出了固态驱动(SSD)102的框图。SSD102包括形成用于持久地存储数据的存储器的集成电路组件108。在一些实现方式中,集成电路组件108可以是“NAND”类型闪存。NAND闪存通常比例如NOR类型闪存具有更快的擦除和编程时间、更高的密度、更低的每比特成本和更多持久力。NAND闪存可以利用多于两个(比如16或者32个)存储器单元的串联串连接在个别位线之间的一个或者多个选择晶体管与基准电势以形成单元的列。字线可以跨这样的列内的单元延伸。列内的个别单元可以在编程期间通过使串中的剩余单元被接通以使得流经串的电流可以取决于在被寻址的单元中存储的电荷水平而被读取和验证。

SSD102包括用于与集成电路组件108通信的控制电路106。在一些实现方式中,控制电路106包括执行固件级代码以桥接集成电路组件108与主机系统(未示出)的嵌入式处理器。例如,控制电路106可以包括用于与NAND存储器通信的NAND快闪I/O(输入/输出)控制器,并且可以仅允许对在NAND闪存中存储的数据的顺序访问。

SSD102包括用于将SSD102连接到主机(未示出)的主机总线适配器的接口硬件104。在一些实现方式中,接口硬件104包括一个或者多个标准连接器。标准连接器的示例可以包括但不限于SATA、SCSI(小型计算机系统接口)、USB(通用串行总线)、PCMCIA(个人计算机存储卡国际协会)以及IEEE-1394(火线)。在一些实现方式中,接口硬件104可以包括各自对应于具体功能的多个管脚。例如,用于功率、接地、发送、接收、传送完成、通信等的管脚。

尽管已经在用于固态驱动102的示例中描述了NAND闪存,但应当注意,也可以使用其他存储器类型,比如但不限于NOR快闪EEPROM、AND快闪EEPROM、DiNOR快闪EEPROM、串行快闪EEPROM、DRAM、SRAM、ROM、EPROM、FRAM、MRAM以及PCRAM。

存储系统

图2示出了存储系统200的示例。如图2中所示,系统200包括使用主机总线适配器204与存储设备208通信的主机202。主机总线适配器204的各种示例包括物理接口(比如串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、USB(通用串行总线)、PCMCIA(个人计算机存储卡国际协会)、IEEE-1394(火线)、外围部件(PCI)、PCI快速(PCIe)、串行附接SCSI(SAS))以及用于存储卡的接口(比如多媒体卡(MMC))。

针对存储设备208的各种示例包括固态驱动(例如,图1中的固态驱动102)、硬盘驱动(HDD)、光盘驱动等。在一些实现方式中,存储设备208包括固件210。固件210可以是在存储设备210中包括的、可操作用于桥接存储设备210的存储器部件与主机总线适配器204的接口的的控制器上执行的代码。

在一些实现方式中,主机总线适配器204包括用于接收和处理被引向存储设备208的一个或者多个服务请求或者命令(例如,读取和写入请求)的存储设备驱动器206。例如,存储设备驱动器206可以被配置用于响应于来自主机202的命令来管理和控制对在存储设备208的存储器中存储的数据的存储和取回。也就是说,存储设备驱动器206可以控制在主机202与存储设备208之间的命令和数据流。

在一些实现方式中,存储设备驱动器206是在微处理器(未示出)的控制下的微计算机系统的一部分。例如,存储设备驱动器206可以包括只读存储器(ROM)、随机存取存储器(RAM)和其他内部电路。

原生命令队列(NCQ)是允许对应于存储设备的多个命令在相同时间待处理的命令协议。与NCQ兼容的存储设备可以在内部优化按照其执行接收的读取和写入命令的次序。例如,支持NCQ的存储设备和存储设备驱动器可以维护在该处可以动态地重新调度或者重新排序待处理命令的队列以及用于待处理和已完成命令的必要追踪机制。在一些实现方式中,NCQ也具有允许主机在存储设备寻求用于另一命令的数据时向存储设备发布附加命令的机制。在一些实现方式中,对在存储设备的命令队列内的命令的智能重新排序可以帮助改进排队的工作负荷的性能。例如,在硬盘驱动(HDD)的情况下,智能重新排序可以减少不必要驱动磁头移动量,从而导致用于其中多个同时读取/写入请求待处理的工作负荷的驱动的增加的性能和减少的磨损。

在一些实现方式中,当针对小大小数据传送(例如,每命令4KB或者更小)使用NCQ时,用于处理命令的时间中的很大比例被命令处理开销所消耗,因此降低NCQ的整体性能。对于其中逻辑块寻址(LBA)值相邻的顺序读取或者写入命令,有可能通过使用第一命令的LBA值并且将数据传送计数设置为多个读取或者写入命令的求和来将该多个命令一起组合成一个读取或者写入命令。这一技术是一种命令合并的形式。然而,对于具有非临近LBA值的随机命令,这样的命令合并可能不太有效。例如,随机命令经常具有随机LBA值,这可能使得如果不可能如利用顺序命令合并所完成的那样简单地通过使用第一命令的LBA值并且将数据传送计数设置为多个随机读取或者写入命令的求和来将该多个命令一起组合成一个读取或者写入命令的话会更困难。

为了改进具有随机LBA的小大小数据传送的性能,可以按照更通用和智能的方式完成命令合并和NCQ命令队列深度的增加。例如,为了发送用于NCQ协议的多于最大数目的指定的命令,可以将多个NCQ命令合并成单个NCQ命令。

在SATA协议内,用于NCQ的命令队列深度(Q-深度)是三十二(32)个命令。也就是说,在任何给定时间可以有总数为32个NCQ命令等待由连接SATA的存储设备执行。在一些实现方式中,每个NCQ命令与TAG关联,其中TAG的值为在0和31之间的整数。TAG是用于标识特定待处理NCQ命令的速记机制。每个待处理NCQ命令具有唯一标签(tag)值。为了发送多于32个SATA NCQ命令,可以将多个NCQ命令包括在NCQ命令内并且由单个TAG引用。

在一些实现方式中,NCQ命令包括框架信息结构(FIS),FIS指定命令的内容。例如,SATA NCQ读取或者写入命令可以具有包括20字节的FIS。在一些实现方式中,SATA NCQ命令的最重要部分包括对应于存储器位置的逻辑块地址(LBA)数目和数据传送计数。在一些实现方式中,在SATA NCQ命令FIS中包括的数据传送计数和LBA数目对应于命令中的8字节的数据。例如,用于LBA数据的6字节和用于传送计数数据的2字节。

在一些实现方式中,驱动器(例如,存储设备驱动器206)合并NCQ命令并向存储设备(例如,存储设备208)传达这一信息。例如,存储设备驱动器可以将多个NCQ命令合并成由单个TAG引用的合并的NCQ命令。在一些实现方式中,存储设备驱动器将合并的命令的FIS中的比特设置为将合并的命令标识为合并的命令。例如,存储设备驱动器可以将合并的命令的FIS的控制寄存器中的比特设置为将命令标识为合并的命令。

此外,存储设备驱动器可以构建由单个TAG引用的、包括用于多个合并的命令的合并数据的信息命令。在一些实现方式中,存储设备驱动器将信息命令的FIS中的比特设置为将信息命令标识为信息命令。例如,存储设备驱动器可以将信息命令的FIS的控制寄存器中的比特设置为将命令标识为信息命令。在一些实现方式中,可能需要其他标准来将命令标识为信息命令或者合并的命令。例如,信息命令也可以被指定为将信息命令的FIS中的所有LBA寄存器设置为值零。

以下是示出用于指定普通命令、信息命令和合并的命令类型的示例的命令表:

图3示出了SATA NCQ命令结构的示例300。在图3中,用于SATA NCQ命令结构300的最大Q-深度被示出为32个命令。在一些实现方式中,存储设备驱动器(例如,存储设备驱动器206)使用TAG0(由302标识)以及TAG8、16和24来引用信息命令并且使用TAG1(由304标识)以及TAG2-7、9-15、17-23和25-31来发送合并的命令。信息命令和合并的命令无需被限制到在图3中示出的那些TAG。相反,应当领会到,命令结构300中的任何TAG可以对应于信息命令或者合并的命令。

在一些实现方式中,在TAG0处的信息命令指定用于与TAG1至TAG7关联的合并的命令的合并数据。类似方案可应用于对应于TAG8、16和24的信息命令。例如,TAG8信息命令可以指定用于与TAG9至TAG15关联的合并的命令的合并数据;TAG16信息命令可以指定用于与TAG17至TAG23关联的合并的命令的合并数据;并且TAG24信息命令可以指定用于与TAG25至TAG31关联的合并的命令的合并信息。

图4A示出了用于信息命令的示例结构402。在一些实现方式中,结构402可以对应于由TAG0(例如,在图3中示出的302)指定、并且具有512字节的数据的信息命令。信息命令并不限于512字节的数据,而是可以是用于在给定系统中将NCQ Q-深度增加到所需命令数目所必需的任何适当大小。

图4B示出了用于合并的命令的示例信息结构452。在一些实现方式中,结构452对应于由TAG1(例如,在图3中示出的304)指定、并且具有64字节的数据的合并的命令。合并的命令并不限于64字节,而是可以是用于在给定系统中将Q-深度增加到所需命令数目所必需的任何适当大小。在一些实现方式中,用于NCQ命令的LBA和传送计数共8字节并且被用做用于NCQ命令的数据。以这一方式,信息结构452可以标识对应于单个NCQ TAG的8个NCQ命令。也就是说,单个NCQ命令可以在单个NCQ TAG的伪装下包括8个NCQ命令。

在一些实现方式中,利用在图4A和图4B中示出的示例结构以及32的NCQ Q-深度,32个NCQ命令的真子集可以对应于信息命令并且32个NCQ命令的真子集可以对应于合并的命令。例如,32个命令中的4个命令可以由TAG(例如,TAG0、TAG8、TAG16和TAG24)标识并且对应于信息命令,而剩余的28个命令可以由28个剩余的TAG标识并且对应于合并的命令。在一些实现方式中,每个合并的命令代表8个NCQ普通命令。在其中32个NCQ命令中的4个NCQ命令的真子集对应于信息命令并且32个NCQ命令中的28个NCQ命令的真子集对应于合并的命令并且每个合并的命令代表8个NCQ普通命令的示例中,所得的NCQ Q-深度可以总共为224个NCQ命令。

在一些实现方式中,如果更多NCQ命令需要在单个NCQ TAG下被合并,则可以与用于合并的命令的合并数据的增加一起增加信息命令的数据长度。通常,可以在信息命令中指定任何适当数目的合并的命令,并且任何适当数目的NCQ命令可以被合并成一个合并的命令。

图5示出了用于合并NCQ命令的过程500的示例。在一些实现方式中,存储设备驱动器(例如,存储设备驱动器206)执行如在图5中描绘的用于合并NCQ命令的过程500。在502处,过程接收用于访问存储设备的第一存储器位置的第一命令。在一些实现方式中,第一命令可以是源自主机系统(例如,主机202)的、用于访问存储设备(例如,存储设备208)的存储器的读取或者写入请求。在504处,过程接收用于访问存储设备的第二存储器位置的第二命令。在一些实现方式中,第二命令可以是源自主机系统(例如,主机202)的、用于访问存储设备(例如,存储设备208)的存储器的读取或者写入请求。在一些实现方式中,第一和第二命令请求访问存储设备的非顺序或者随机逻辑块地址。例如,第一命令和第二命令无需是连续的命令或者被连续地接收(例如,从主机202)。

在506处,过程根据第一命令和第二命令中的每个命令构建包括存储器地址和数据传送计数的合并的命令。在一些实现方式中,合并的命令可以是普通读取或者写入SATA NCQ命令,该SATANCQ命令在用于命令的框架信息结构中设置有将命令标识为合并的命令的指定比特。例如,存储设备驱动器206可以构建对应于SATANCQ TAG的、包括与在502处接收的第一命令关联的数据传送计数和逻辑块地址以及与在504处接收的第二命令关联的数据传送计数和逻辑块地址的合并的命令。

在508处,过程构建具有关于合并的命令的信息的信息命令。在一些实现方式中,信息命令可以是普通读取或者写入SATA NCQ命令,该SATA NCQ命令在用于命令的框架信息结构中设置有将命令标识为信息命令的指定比特。例如,存储设备驱动器206可以构建对应于SATA NCQ TAG的、包括用于合并的命令(例如,对应于不同TAG的合并的NCQ命令)的合并数据的信息命令。

在510处,过程向存储设备传达信息命令和合并的命令。在一些实现方式中,存储设备驱动器206将信息命令和合并的命令传达给在存储设备208的控制电路上执行的固件。在一些实现方式中,按照其向存储设备传达信息命令和合并的命令的次序是不相关的。

图6示出了用于处理合并的和信息NCQ命令的过程600的示例。在一些实现方式中,在存储设备上安装的固件(例如,由固态驱动102的控制电路106执行的固件)可以被配置用于执行如图6中所描述的、用于处理合并的和信息NCQ命令的过程。在602处,过程接收第一命令。在一些实现方式中,第一命令是SATA NCQ命令并且由存储设备的固件(例如,在固态驱动102的控制电路106上执行的固件)接收。

在604处,过程将第一命令标识为具有合并信息的信息命令。在一些实现方式中,第一命令是SATA NCQ命令并且过程通过确定在用于命令的框架信息结构中是否设置了指定比特来将第一命令标识为信息命令。

在606处,过程存储合并信息。例如,合并信息可以被存储在控制电路106的存储器中,从而使得其可用于控制电路106以用于进一步的处理。

在608处,过程接收第二命令。在一些实现方式中,第二命令是SATA NCQ命令并且由存储设备的固件(例如,在固态驱动102的控制电路106上执行的固件)接收。

在610处,过程将第二命令标识为与合并信息关联的合并的命令。在一些实现方式中,第二命令是SATA NCQ合并的命令并且过程通过确定在用于命令的框架信息结构中是否设置了指定比特来将第二命令标识为合并的命令。

在612处,过程使用合并信息从合并的命令生成多个命令。例如,使用合并信息,当设备接收并且处理合并的命令时,设备可以标识与合并的命令关联的多个命令。设备可以进一步标识与多个命令关联的多个不同LBA分段以及有关的传送计数。

在614处,过程关于存储装置处理多个命令,多个命令中的每个命令包括地址和数据传送计数。在一些实现方式中,地址对应于集成电路组件108的存储器位置并且命令由控制电路106处理以访问指定存储器位置。

以上已经详细描述了若干实施例,并且各种改变是可能的。所公开的主题内容(包括在本说明书中描述的功能操作),可以在电子电路、计算机硬件、固件、软件中或与它们结合实现,这些项目为比如在本说明书中公开的结构装置及其结构等效物,潜在地包括可操作用于使一个或者多个数据处理装置执行所描述的操作的程序(比如在计算机可读介质中编码的程序,计算机可读介质可以是存储器设备、存储设备、机器可读存储衬底或者其他物理、机器可读介质,或者它们中的一项或者多项的组合)。

术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机或者多个处理器或者计算机。装置除硬件之外可以包括创建用于所讨论的计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中的一项或者多项的组合的代码。

尽管本说明书包含许多详细说明,但这些不应当被解释为对所要求保护的范围的限制,而应当是对可以特定于特定实施例的特征的描述。在本说明书中在分离的实施例的上下文中描述的某些特征也可以在单个实施例中被组合实施。相反地,在单个实施例的上下文中描述的各种特征也可以在分离的多个实施例中或者在任何适当子组合中被实施。此外,虽然特征以上可以被描述为在某些组合中起作用或者甚至最初是这样要求保护的,但来自要求保护的组合的一个或者多个特征在一些情况中可以被从该组合中去除,并且所要求保护的组合可以指向子组合或者自组合的变型。

类似地,尽管在附图中按照特定次序描绘操作,但这并不应当被理解为要求按照所示出的特定次序或者按照顺序的次序执行这样的操作,或者要求执行所有图示的操作以实现所希望的结果。在某些情况中,多任务和并行处理可以是有利的。此外,在以上描述的实施例中的各种系统部件的分离不应当被理解为在所有实施例中要求这样的分离。其他实施例也落入以下权利要求书的范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号