【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及存储器系统,并且更特别地,涉及在驱动器开始发送数据时在驱动器处从主机装置接收命令。
技术介绍
在许多存储系统中,当有冲突时,在发送帧时,目标装置先于主机而具有优先级。在这些情况下,当命令排队时(例如,使用第一方直接存储器存取等),一旦目标已经发送了直接存储器存取(DMA)设置帧信息结构(FIS)以进入数据相位(data phase),则主机通常不能向目标装置发送任何命令。 如果驱动器能够很快地获取数据,则主机能够向驱动器发送等于最大队列深度的命令数。然后,驱动器可以在帧之间没有任何间断的情况下返回DMA设置、数据、DMA设置、数据等。这不允许主机发送任何更多的命令。在这些情况下,驱动器的队列深度可以从最大队列深度振荡到零,回到最大队列深度并再次振荡到零。这可能会负面地影响性能。因此,需要解决与现有技术相关联的这些和/或其他问题。
技术实现思路
提供了用于在从驱动器被发送到主机装置的信息中插入间隔的系统、方法以及计算机程序产品。在操作时,在驱动器处从主机装置接收一个或多个命令。另外,将信息排队以发送至主机装置。此外,在信息中插入间隔以发送至主机装置,使得主机装置能够向驱动器发送附加命令。附图说明图I示出了根据一个实施方式的用于在从驱动器被发送到主机装置的信息中插入间隔的方法。图2示出了根据一个实施方式的用于在从驱动器被发送到主机装置的信息中插入间隔的系统。图3示出了根据另一个实施方式的用于在从驱动器被发送到主机装置的信息中插入间隔的方法。图4示出了可以实施以上各实施方式的各种架构和/或功能的示例性系统。具体实施例方式下文与示出了本专利技术的所选细 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】2009.07.17 US 12/505,3331.一种方法,包括 在驱动器处从主机装置接收一个或多个命令; 将信息排队以发送到所述主机装置;以及 在所述信息中插入间隔以发送到所述主机装置,使得所述主机装置能够向所述驱动器发送附加命令。2.根据权利要求I所述的方法,其中,插入所述间隔包括插入时间延迟。3.根据权利要求2所述的方法,其中,所述信息包括设置信息和与所述一个或多个命令中的至少一个相关联的数据。4.根据权利要求3所述的方法,其中,所述设置信息包括直接存储器存取(DMA)帧信息结构(FIS)。5.根据权利要求3所述的方法,其中,所述设置信息包括设置装置位FIS。6.根据权利要求3所述的方法,其中,在发送所述设置信息之前插入所述时间延迟。7.根据权利要求3所述的方法,其中,在发送所述设置信息之后插入所述时间延迟。8.根据权利要求2所述的方法,还包括在所述时间延迟期间在所述驱动器处从所述主机装置接收所述附加命令。9.根据权利要求2所述的方法,其中,插入所述时间延迟包括在所述信息正被发送到所述主机装置期间插入所述时间延迟。10.根据权利要求9所述的方法,其中,基于所述驱动器的当前队列深度来插入所述时间延迟。11.根据权利要求9所述的方法,其中,基于自接收到前一命令以来的时间量来插入所述时间延迟。12.根据权利要求9所述的方法,其中,所述时间延迟的时间长度是基于所述驱动器的当前队列深度的。13.根据权利要求9所述的方法,其中,所述时间延迟的时间长度基于自由所述驱动器接收到前一命令以来的时间量。14.根据权利要求2所述的方法,其中,实时确定所述时间延迟的时间长度和插入所述时间延迟的时间点中的至少一个。15.根据权利要求2所述的方法,其中,所述时间延迟的时间长度和插入所述时间延迟的时间点中的至少一个为预定值。16.根据权利要求2所述的方法,其中,所述信息包括设置信息,所述设置信息包括指示所述时间延迟在所述设置信息之后的信息。17.根据权利要求2所述的方法,其中,所述信息包括状态信息,并在发送所述状态信息之前插入所述时间延迟。18.根据权利要求I所述的方法,其中,插入所述间隔包括插入附加信息。19.根据权利要求I所述的方法,其中,在插入所述间隔之前向所述主机装置通知所述间隔。20.根据权利要求I所述的方法,其中,所述驱动器包括串行ATA(SATA)驱动器。21.—种嵌入在计算机可读介质上的计算机程序产品,包括 用于在驱动器处从主机装置接收一个或多个命令的计算机代码;用于将信息排队以发送到所述主机装置的计算机代码;以及 用于在所述信息中插入间隔以发送到所述主机装置、使得所述主机装置能够向所述驱动器发送附加命令的计算机代码。22.—种设备,包括 用于从主机装置接收一个或多个命令的驱动器; 用于将信息排队以发送到所述主机装置的缓冲器;以及 用于在信息中插入间隔以发送到所述主机装置使得所述主机装置能够向所述驱动器发送附加命令的控制器。23.—种系统,包括 被使得能够从主机装置接收命令的驱动器,所述主机装置被使得能够通过利用使所述驱动器阻止所述主机发送附加命令的存储协议而与所述驱动器通信,所述驱动器包括 控制器;以及 缓冲器;以及 其中 当存在冲突时,所述驱动器先于所述主机装置而具有优先级, 所述缓冲器被使得能够将信息排队以发送到所述主机装置,以及所述控制器被使得能够在所述信息中插入间隔,使所述主机装置能够向所述驱动器发送附加命令。24.根据权利要求23所述的系统,其中,所述控制器进一步被使得能够在所述驱动器已经开始至少部分地经由向所述主机装置发送设置信息而向所述主机装置发送信息之后插入间隔,以使所述主机装置能够向所述驱动器发送附加命令。25.根据权利要求24所述的系统,其中,所述设置信息包括直接存储器存取(DMA)设置。26.根据权利要求23所述的系统,其中,所述驱动器包括下列项中的一个或多个 串行ATA(SATA)驱动器, 串行连接SCSI (SAS)驱动器, 光纤通道(FC)驱动器,以及 通用串行总线(USB)驱动器。27.根据权利要求23所述的系统,其中,所述命令包括下列项中的一个或多个 传输请求, 传输数据的命令, 访问与所述驱动器相关联的存储器的一部分的命令,以及提取数据的命令。28.根据权利要求23所述的系统,其中,所述信息包括下列项中的一个或多个 数据信息, 数据结构信息, 直接存储器存取(DMA)帧信息结构(FIS), 设置装置位FIS,以及 与所述命令中的至少一个相关联的数据。29.根据权利要求23所述的系统,其中,所述间隔包括下列项中的一个或多个打断, 中断,以及 延迟。30.根据权利要求23所述的系统,其中,所述间隔包括下列项中的一个或多个 时间延迟, 附加信息, 所述间隔的长度, 销售商具体信息,以及 与所述间隔相关联的信息。31.根据权利要求23所述的系统,其中,所述控制器进一步被使得能够至少部分地基于所述驱动器的当前命令队列深度来插入所述间隔。32.根据权利要求23所述的系统,其中,所述控制器进一步被使得能够至少部分地基于自接收到前一命令以来的时间来插入所述间隔。33.根据权利要求23所述的系统,其中,所述间隔包括时间延迟,并且所述控制器被使得能够实时确定所述时间延迟的长度。34.根据权利要求23所述的系统,其中,所述间隔包括时间延迟,并且所述控制器被使得能够实时确定插入所述时间延迟的时间点。35.一种方法,包括 在驱动器处从主机装置接收一个或多个命令,所述主机装置被使得能够通过利用使所述驱动器阻止...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。