智能序列式小型计算机系统接口物理层功率管理的制作方法

文档序号:14784966发布日期:2018-06-27 22:08阅读:144来源:国知局
智能序列式小型计算机系统接口物理层功率管理的制作方法

本公开的实施例一般涉及用于智能设备发起的SAS(Serial Attached Small Computer System Interface,序列式小型计算机系统接口)phy(物理层)功率管理(PM)。



背景技术:

主机计算设备通过储存设备上的端口与该储存设备通信。端口包括一个或多个物理层,其已知为phy。物理层是实施物理层功能的电路。对于使用SAS接口的储存设备,窄端口具有单个phy而宽端口具有两个或更多phy。物理层通过诸如光纤或铜缆的物理链路物理地耦接到其它phy。phy对通过该端口的物理链路接收的各种信号执行各种功能。

主机设备对宽端口中的特定设备的phy使用定时或选择不具有任何可视性。典型地,从主机向相关联的储存设备发送初始信号的同一phy被用来执行主机请求的操作。因此对于宽端口设备,存在可能不被用来执行所请求的操作的多个phy。

利用宽端口,可能很容易是以下情况,即,发送初始信号的phy不是处理所请求的操作的最佳phy。另外,存在可能需要执行的多个操作,并且因此如果接收初始信号的同一phy也处理所请求的操作,则储存设备可能不以峰值效率操作。

因此,在现有技术中存在对于确保选择执行操作的最佳phy的智能SAS Phy PM的需要。



技术实现要素:

本公开一般涉及一种用于智能设备发起的SAS Phy PM的方法。使用设备内部phy特性和未来的phy使用队列,该设备基于功率对比性能的预定配置偏好,来确定最佳的SAS Phy PM使用。设备通过实施状态机来管理phy PM状态和PM状态之间的转移,以实现最优的SAS Phy PM使用。设备状态机包括以下能力:主动发起向局部或睡眠PM状态的转移、从局部或睡眠PM状态开始早期唤醒以屏蔽退出局部或睡眠PM状态的相关联的等待时间影响、以及选择性地拒绝进入局部或睡眠状态的主机请求。

在一个实施例中,一种phy管理方法包括将用于所选择的phy的状态信息加载到SAS Phy功率调节器(SAS Phy Power Governor,SPPG)中;对于所选择的phy计算Phy期望访问时间(PhyEAT)和可接受的PM等待时间(APML);以及改变所选择的phy的phy状态。

在另一个实施例中,一种数据储存设备包括具有多个phy的宽端口和控制器。控制器耦接到多个phy,其中控制器具有:DMA多路复用器,耦接到多个phy中的每一个phy;DMA引擎队列,耦接到DMA多路复用器;SAS phy DMA调度器,耦接到DMA引擎队列;SPPG,耦接到多个phy中的每一个phy,并且耦接到SAS phy DMA调度器;以及存储器管理器,耦接到DMA引擎队列。该储存设备还包括耦接到控制器的一个或多个存储器设备。

在另一个实施例中,一种非瞬时计算机可读储存介质包含指令,当所述指令被运行时,执行以下方法:将用于所选择的phy的状态信息加载到SPPG中;对于所选择的phy计算PhyEAT和APML;以及改变所选择的phy的phy状态。

附图说明

因此,可以通过参考实施例具有能够详细理解本公开的上述特征的方式、以上简要概述的本公开的更具体的描述,其中一些在附图中示出。然而,应当注意,附图仅示出了本公开的典型实施例,并且因此不被认为是限制其范围,因为本公开可承认其他同等有效的实施例。

图1A是根据一个实施例的系统的示意图。图1B是利用用于主机接口的端口的图1A中的系统的示意图。

图2是根据一个实施例的用于宽端口性能功率控制(wide port performance power control,WPPPC)的用户工具的示意图。

图3是根据一个实施例的SAS phy功率调节器的示意图。

图4是示出根据一个实施例的SPPG的操作的流程图。

为了便于理解,在可能的情况下,已经使用相同的附图标记来指定对于这些图共同的相同元件。可以预期的是,在一个实施例中公开的元件可以有利地用于其它实施例,而无需特别说明。

具体实施方式

在下文中,做出了对本公开的实施例的参考。然而,应该理解,本公开不限于特定描述的实施例。相反,以下特征和元素的任何组合,无论是否涉及不同的实施例,都被设想来实施和实践本公开。另外,虽然本公开的实施例可以实现超过其它可能的解决方案和/或超过现有技术的优点,但是是否通过给定的实施例实现特定的优点不是对本公开的限制。因此,以下方面、特征、实施例和优点仅仅是例示性的并且不被认为是所附权利要求的元素或限制,除非在(多个)权利要求中明确地叙述。同样地,对“本公开”的引用不应被解释为本文公开的任何发明主题的概括,并且不应被认为是所附权利要求的元素或限制,除非在(多个)权利要求中明确叙述。

本公开一般涉及用于智能设备发起的SAS Phy PM的方法。使用设备内部phy特性和未来的phy使用队列,该设备基于功率对比性能的预定配置偏好,来确定最佳的SAS Phy PM使用。设备通过实施管理phy PM状态和PM状态之间的转移的状态机,来实现最优的SAS Phy PM使用。该设备状态机包括进行以下行为的能力:主动发起向局部或睡眠PM状态的转移、从局部或睡眠PM状态开始早期唤醒以屏蔽(mask)退出局部或睡眠PM状态的相关联的等待时间影响、以及选择性地拒绝进入局部或睡眠状态的主机请求。

图1A是根据一个实施例的系统100的示意图。系统100包括用于主机104的数据储存设备102。主机104可以利用诸如非易失性存储器106的被包括在数据储存设备102中的非易失性存储器(NVM)器件存储和检索数据。在一些示例中,数据储存设备102可以包括多个储存设备,其可以作为储存阵列操作。在一个实施例中,系统100可以包括被配置为廉价/独立磁盘的冗余阵列(RAID)的多个硬盘驱动器,它们共同地运行为用于主机104的大容量储存设备。虽然本公开的技术一般涉及系统100和数据储存设备102,但是可以在诸如固态驱动器(SSD)或带驱动器的利用SAS接口和NVM来存储数据的任何存储环境中执行本文描述的技术。

系统100包括主机104,主机104向/从诸如数据储存设备102的一个或多个储存设备存储和/或检索数据。如图1A中所示,主机104使用主机接口101与数据储存设备102通信。主机接口可以包括诸如PATA、并行SCSI的各种类型的接口,或诸如在序列式SCSI(SAS)或光纤通道仲裁环(Fibre Channel Arbitrated Loop,FCAL)接口中定义的端口的端口。如图1B中所示,主机104可以经由端口108与数据储存设备102通信。主机104可以包括各种各样的设备,包括计算机服务器、网络附接储存(network attached storage,NAS)单元、桌上型计算机、笔记本(即膝上型计算机)计算机、平板计算机、机顶盒、诸如所谓的“智能”手机的电话手持机、所谓的“智能”板、电视机、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流化设备等。在一个实施例中,主机104包括具有处理单元的任何设备,其可以涉及能够处理数据的任何形式的硬件并且可以包括通用处理单元(例如中央处理单元(CPU))、专用硬件(诸如专用集成电路(ASIC))、诸如现场可编程门阵列(FPGA)的可配置硬件、或通过软件指令、微代码、固件等配置的任何其它形式的处理单元。

数据储存设备102包括控制器110、易失性存储器112、硬件引擎114、NVM 106和端口108。在一些实施例中,为了例示的目的,数据储存设备102可以包括没有在图1A和图1B中示出的额外的组件。例如,数据储存设备102可以包括功率递送组件,其包括例如电容器、超级电容器或电池;印刷电路板(PCB),数据储存设备102的组件被机械地附接到该印刷电路板,并且该印刷电路板包括将数据储存设备102的组件电气互连的导电迹线(trace)等。在一些示例中,数据储存设备102的物理维度和连接器配置可以符合一个或多个标准形式因素。一些示例的标准形式因素包括但不限于3.5”硬盘驱动器(HDD)或固态硬盘(SSD)、2.5”HDD或SSD、或者1.8”HDD或SSD。

在一些实施例中,易失性存储器112可以存储用于在数据储存设备102的操作期间处理的信息。在一些实施例中,易失性存储器112是瞬时存储器,意味着易失性存储器112的主要目的不是长期存储。数据储存设备102上的易失性存储器112可以作为易失性存储器被配置用于信息的短期存储,并且因此如果断电则不保留所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域已知的其它形式的易失性存储器。

在一些示例中,数据储存设备102可以是叠瓦式磁记录(shingle magnetic recording,SMR)驱动器。利用SMR,轨道被写入NVM 106,并且连续写入的数据轨道与先前写入的数据轨道部分地重叠,其典型地通过将轨道一起包装地更近来增加NVM 106的数据密度。在其中数据储存设备102是SMR驱动器的一些示例中,数据储存设备102也可以包括没有包括与数据轨道部分地重叠的NVM 106的部分,并且因此被配置为便于数据的随机写入和读取。为了适应随机存取区域,NVM 106的部分可以具有比顺序的SMR区域中间隔更远的轨道。

NVM 106可以被配置为比易失性存储器112存储更大量的信息。NVM 106还可以作为非易失性存储空间被配置用于信息的长期存储,并且在通电/断电周期后保留信息。非易失性存储器的示例包括磁介质、NAND、光盘、软盘、闪速存储器或电可编程只读存储器(EPROM)或电可擦除可编程只读存储器(EEPROM)的形式。NVM 106可以是数据储存设备102中的一个或多个磁盘(platter),每个盘包含数据的一个或多个轨道的一个或多个区域。

数据储存设备102可以包括用于与主机104对接的端口108。端口108可以包括用于与主机104交换数据的数据总线和用于与主机104交换操作的控制总线中的一个或两者。端口108可以包括与主机104的多个独立的物理连接,又称为phy 116A-116N。在一些示例中,端口108可以包括少至单个phy 116A(即,窄端口)。其中存在多个phy 116A-116N的配置被认为是宽端口。在其它示例中,端口108可以包括四个phy 116A-116D。在另外的其它示例中,端口108可以包括多于四个phy 116A-116N。端口108可以根据任何合适的协议操作。如上所看到的,图1B中所示的端口108仅仅是用于主机接口101的一个实施例。主机接口101可以根据以下协议中的一个或多个进行操作:高级技术附件(ATA)(例如,串行-ATA(Serial ATA,SATA)和并行-ATA(Parallel ATA,PATA))、光纤通道仲裁环路(FCAL)、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、外围组件互连(PCI)、PCI-快速(PCI-Express,PCIe)和非易失性存储器快速(non-volatile memory express,NVMe)。在以下示例中,端口108可以具有宽端口配置以及根据SAS协议进行操作。Phy 116A-116N电连接至控制器110,在主机104和控制器110之间提供电连接,允许数据在主机104和控制器110之间被交换。应理解,phy 116A-116N是控制器110的一部分并且被分割为用于控制器110的内部逻辑的子块,但是为了便于理解,phy 116A-116N已经被明确示出为连接到控制器的元件。在一些示例中,端口108的电连接还可以允许数据储存设备102通过一个或多个phy 116A-116N或涉及实施物理层功能所需的电路的物理层、从主机104接收电力。例如,phy 116A-116N可以物理地接收诸如光纤或铜缆的物理互连设备,其还可以连接到在物理互连设备的另一端上的主机104,并且对通过物理互连设备接收到的用于端口108的信号执行各种功能。

在图1A和图1B中,数据储存设备102包括硬件引擎114,其可以表示负责与NVM 106对接的硬件。在诸如SMR驱动器的基于盘的硬盘驱动器的上下文中,硬件引擎114可以表示磁读/写头和所附的硬件,以配置、驱动和处理由磁读/写头感测的信号。在其它示例中,诸如当数据储存设备102是SSD、或HDD的其它实例时,硬件引擎114可以涉及控制对NVM 106的读和写操作的逻辑引擎。在这样的示例中,硬件引擎114可以是控制器110的子组件。在一个实施例中,控制器110包括存储器管理器118、硬件引擎接口120、队列122、DMA复用器(mux)124、SAS phy DMA调度器126和SPPG128。应理解,控制器110不限于具有图1A和1B中所示的组件,而是可以具有额外的组件(诸如硬件引擎114和易失性存储器112)或更少的组件。

数据储存设备102包括控制器110,其可以管理数据储存设备102的一个或多个操作。控制器110可以经由端口108与主机对接,以及管理向经由硬件引擎114可访问的NVM 106的数据的存储、和从该NVM 106的数据的检索。作为一个示例,控制器110可以管理对诸如易失性存储器112和NVM106的存储器设备的写入和读取。在一些示例中,控制器110可以是硬件控制器。在其它示例中,控制器110可以作为软件控制器被实施到数据储存设备102中。控制器110可以包括软件、硬件和/或固件的任何组合,以执行本公开的技术。

数据储存设备102可以执行诸如操作系统的软件,来管理主机104和硬件引擎114之间的交互。操作系统可以在其中每个核有效地代表不同CPU的多核CPU的上下文中执行仲裁,以确定哪个CPU可以访问硬件引擎114。操作系统还可以在单个CPU的上下文中执行队列管理,以解决由主机104发出的各种事件(例如数据储存设备102的示例中的读取和写入请求)应该如何由数据储存设备102的硬件引擎114处理的问题。

根据本公开的技术,端口108可以被配置为经由phy 116A接收信号。在一些示例中,信号可以包括要由phy 116A-116N中的一个执行的操作或与该操作相关联。在图1B的示例中,phy 116A可以从主机104接收包括在数据储存设备102和主机104之间进行数据传送的请求的信号。此外,在phy 116A处接收的信号的其它示例可以包括包含要在数据储存设备102中写入的数据的信号或包含要从数据储存设备102读取的数据的地址的信号。此外,可以由phy 116A-116N之一执行的操作的示例包括写操作、读操作、数据传送或数据删除。

对于多个phy 116A-116N的SAS宽端口配置,控制器选择phy 116A-116N来执行操作。最初,第一phy 116A接收信号。然后控制器110选择第二phy 116B执行与该信号相关联的操作。控制器基于与多个phy 116A-116N中的每个相应的phy相关联的相应功率因数和/或与多个phy 116A-116N中的每个相应的phy相关联的相应性能因数做出选择。在图1B的示例中,phy 116A可以接收指示在数据储存设备102和主机104之间执行数据传送的操作的信号。响应于接收到信号,phy 116A-116N中的一个phy可以执行那个操作。然而,由于各种phy 116A-116N的先前排队的操作和功率状态,所以在多个phy116A-116N中的一些phy上可以比其它phy更有效地执行操作。另外,基于其中数据储存设备102正在执行的环境,控制器110可以被配置为以功率效率的特定级别和/或性能效率的特定级别来操作。这些级别可以影响控制器110用来选择用于执行操作的一个或多个phy 116A-116N中的每一个所使用的相应的功率因数和相应的性能因数的值。

例如,如果数据储存设备102被配置为低功率储存设备,则控制器110可以基于哪个phy 116A-116N将要求最少量的功耗以执行由接收的信号指示的操作,来选择第二phy 116B。在另一实例中,如果数据储存设备102被配置为在高业务量的环境中操作,则控制器110可以基于哪个phy 116A-116N将最快或在最短的时间内完成该操作,来选择第二phy 116B。在另外的其它实例中,控制器110可以基于功率消耗和性能效率的组合,来选择phy116A-116N。在图1B的示例中,控制器110可以基于指示phy 116B是用于在数据储存设备102的当前配置下执行操作的多个phy 116A-116N中的最优phy的、phy 116B的相应的功率因数和相应的性能因数,来选择phy 116B以执行在所接收的信号中包括的数据传送。

一旦控制器110选择第二phy 116B来执行操作,端口108就可以使用第二phy 116B来执行与所接收的信号相关联的操作。应该再次注意到,该信号可以还没有被第二phy 116B接收。在图1B的示例中,phy 116B可以执行进行由phy 116A所接收的信号中指示的数据传送的操作。

本文讨论的实施例涉及通过管理phy PM状态和PM状态之间的转移的智能设备发起的SAS Phy PM。在管理PM状态之前,数据储存设备102可以基于其中数据储存设备102被配置为操作的环境,来智能地判断在执行操作时利用多个phy 116A-116N中的哪个phy。由于主机104在不查询数据储存设备102时可能通常不知道正对数据储存设备102执行的操作,所以主机104可以任意地确定在向数据储存设备102发送指示要被执行的操作的信号时、要利用多个phy 116A-116N中的哪个phy。如果当数据储存设备102针对性能被配置时一致地使用相同的phy,则使用相同的phy执行所有操作可以导致性能的较大损失,因为在单个phy执行每个操作的同时其它phy可能不执行任何操作。在其它实例中,如果当数据储存设备102针对功率效率被配置时、主机104用来向数据储存设备102发送操作所使用的phy转换(rotate),则在接收到操作的phy处执行每个操作可以导致基于phy始终在睡眠模式下激活和在执行操作之后切换回睡眠模式的、功率低效和性能延迟。另外,如果数据储存设备102需要切换环境,则先前的技术可能不允许数据储存设备102有效地进行这种切换。使用本公开的技术,数据储存设备102可以独立于主机104在性能和功率因数的任何组合下智能地和有效地操作。另外,数据储存设备102可以基于所期望的环境来改变性能和功率级别,而主机104不需要意识到这种改变,这增加了数据储存设备102的独立性。

在数据储存设备102内,还存在管理NVM 106和易失性存储器112之间的存储器分配的存储器管理器118。为了发送要存储在NVM 106中的信息,该信息通过硬件引擎接口120被发送,硬件引擎接口120然后将该信息发送到硬件引擎114以及最终到NVM 106。通过phy 116A-116N进来的信号通过直接存储器访问(DMA)多路复用器124进行处理,所述直接存储器访问(DMA)复用器124作为用于处理到phy 116A-116N和DMA引擎队列122的信号和来自其的信号的路由器运行。队列122用于对从/向phy 116A-116N进入和传出的信号进行排序。DMA复用器124向/从适当的phy 116A-116N路由信号。

如上所述,主机104不知道哪个phy 116A-116N是要利用的最佳phy,并且因此除了简单地发送信号之外,主机104没有将信号路由到数据储存设备102的作用。SAS宽端口配置中信号的路由由SAS phy DMA调度器126确定。SAS phy DMA调度器126耦接到SPPG 128。SPPG 128基于信号如何被SAS phy DMA调度器126路由以及预定的功率对比性能的偏好,来确定每个phy 116A-116N应该处于哪个状态中。SAS phy DMA调度器126确定哪个phy 116A-116N是处置信号的最佳phy 116A-116N,并且还确定不久将需要哪个phy 116A-116N。SPPG 128基于何时将需要各种phy 116A-116N的知识,来管理和转移各种phy 116A-116N的状态。SPPG 128管理对于每个phy 116A-116N的功率状态转移。SPPG 128通过利用来自用户功率对比性能的偏好、phy功率和唤醒特性、以及phy使用队列的输入而操作。SPPG 128是数据储存设备102内的硬件和/或固件元件,用于对系统100内的个别phy的功率状态做出智能判断。

SPPG 128监视SAS phy状态:激活-主机phy PM被允许、激活-主机phy PM被拒绝、局部断电模式、睡眠断电模式和唤醒。SPPG 128还管理SAS phy状态转移:请求局部、请求睡眠、否定确认(NAK)主机局部或睡眠请求、以及请求唤醒。

图2是根据一个实施例的对于WPPPC的用户工具200的示意图。用户经由WPPPC模式参数提供功率对比性能的偏好。应理解的是,工具200仅仅是代表,并且物理刻度盘202是为了易于理解被示出。WPPPC提供性能对比功率输入因数控制。WPPPC被用作针对SAS phy使用选择和SAS phy功率调节器判断两者的输入。控制指定了SPPG算法中的性能因数对比功率因数的权重,如以下示例所示:

百分之零的功率权重和百分之百的性能权重指定SPPG完全基于来自PM的较低等待时间影响做出决定。

百分之二十五的功率权重和百分之七十五的性能权重指定SPPG在最低功率上使用百分之二十五的权重、并且在最低等待时间上使用百分之七十五的权重。

百分之五十的功率权重和百分之五十的性能权重指定SPPG对最低功率和最低等待时间使用相等的权重因数。

百分之七十五的功率权重和百分之二十五的性能权重指定SPPG在最低功率上使用百分之七十五的权重、以及在最低等待时间上使用百分之二十五的权重。

百分之百的功率权重和百分之零的性能权重指定SPPG完全基于最低功率做出判断。

在一个实施例中,通过用户唯一模式页字节提供控制,其中用户通过标准模式选择命令选择和调整WPPPC设置。在另一实施例中,存在静态用户配置,其中用户具有在设备制造期间实施的唯一的固件偏好。

SPPG 128有责任积极监测phy状态和系统状态。SPPG 128然后根据需要请求状态转移。以确保phy 116A-116N处于最优状态。

图3是根据一个实施例的SPPG 128的示意图。SPPG 128具有5个状态302、304、306、308和310。状态302是活动主机PM被允许状态,并且在状态302中不存在PM相关的等待时间或功率节省。在状态302,主机104请求将特定phy 116A-116N转移到不同的PM状态,并且SPPG 128确认并接受转移请求。SPPG 128基于何时系统使用相应的phy 116A-116N准备好下一次主机传送的内部统计信息,来确定对于phy使用的phy期望访问时间(PhyEAT)。SPPG 128还根据用户所选择的WPPPC(假设从睡眠恢复的最坏情况),确定可接受的PM等待时间(APML)。如下面讨论的,主机104向特定phy 116A-116N发送信号。

SPPG 128按照下面的顺序管理状态转移:1)如果PhyEAT小于APML,则如箭头“A”所示SPPG 128请求特定的phy 116A-116N转移到状态304;2)如果PhyEAT+APML大于phy睡眠唤醒时间(即,phy从睡眠状态310通过唤醒状态306进入活动状态302或304所需的时间),则请求睡眠PM,并且然后如箭头“B”所示请求特定phy 116A-116N转移到状态310;3)如果PhyEAT+APML大于phy局部唤醒时间(即,phy从局部状态308通过唤醒状态306进入活动状态302或304所需的时间),则请求局部PM,并且然后如箭头“C”所示请求特定phy 116A-116N转移到状态308;以及4)对于所有其它情况(例如,PhyEAT>APML和PhyEAT+APML<phy局部唤醒时间),phy 116A-116N保持在状态302。

状态304是活动主机PM被拒绝状态。如果特定phy 116A-116N处于状态304,则phy 116A-116N处于活动主机PM被拒绝状态。状态304不具有PM相关的等待时间或功率节省,并且拒绝向一个PM状态转移的主机请求。SPPG 128按照下面的顺序管理状态转移:1)如果PhyEAT+APML大于特定phy 116A-116N睡眠唤醒时间,则请求睡眠PM,然后如箭头“D”所示请求特定phy 116A-116N到状态310的转移;2)如果PhyEAT+APML大于phy局部唤醒时间,则请求局部PM,并且然后如箭头“E”所示请求特定phy 116A-116N到状态308的转移;3)如果PhyEAT大于APML,则允许主机PM转移,并且然后如箭头“F”所示请求特定phy 116A-116N到状态302的转移;以及4)对于所有其它情况(例如,PhyEAT<APML),则将特定phy 116A-116N保持在状态304。

状态308是局部PM状态。如果特定phy 116A-116N处于状态308,则phy 116A-116N处于具有一些PM唤醒等待时间和一些省电优点的功率状态。在状态308中,如果APML大于phy睡眠唤醒时间,则SPPG 128将APML设置为局部唤醒时间。如果PhyEAT降低到phy局部唤醒时间和APML delta以下,则SPPG 128如箭头“G”所示请求对于特定phy 116A-116N到状态306的转移。

状态310是睡眠PM状态。如果特定phy 116A-116N处于状态310,则phy 116A-116N处于具有最大PM唤醒等待时间和最大省电优点的功率状态。在状态310中,如果APML大于phy睡眠唤醒时间,则SPPG 128将APML设置为睡眠唤醒时间。在状态310中,如果PhyEAT降低到phy睡眠唤醒时间和APML delta以下,则SPPG 128如箭头“H”所示请求特定phy 116A-116N到状态306的转移。

状态306是唤醒状态。如果phy 116A-116N处于状态306,则phy 116A-116N正在主动执行收发器恢复,并且将很快进入活动状态之一。一旦收发器恢复完成,SPPG 128就确定是否允许特定phy 116A-116N转移到允许主机PM状态302或者阻止主机PM状态304。如果PhyEAT大于APML,则SPPG 128如箭头“J”所示请求特定phy 116A-116N到状态302的转移。如果PhyEAT小于或等于APML,则SPPG 128如箭头“K”所示请求特定phy 116A-116N到状态304的转移。

图4是示出根据一个实施例的SPPG 128的操作的流程图400。最初,对于所选择的phy的状态信息被加载到SPPG 128中。在框402中phy的当前状态被检查,并且phy统计信息和phy使用队列两者也被加载。此后,在框404中使用WPPPC设置,来计算PhyEAT和APML。在框406中执行状态转移计算。基于该计算,在框408中做出针对所选择的phy是否需要phy状态转移的确定。如果需要phy状态转移,则在框410中发起状态转移,更新SPPG状态变量并且更新phy配置寄存器。此后,在框412中选择下一个要检查的phy。一旦在框412中选择了下一个要检查的phy,然后该过程回到框402中重复。如果在框408中不存在对于phy所需要的phy状态转移,则在框412中选择下一个要检查的phy。

SPPG 128通过在包含一个或多个phy的设备中提供最优的SAS phy功率使用来操作。不是简单地根据主机104的请求将所选择的phy 116A-116N转移到新的状态,而是为了避免由于所选择的phy 116A-116N的PM唤醒引起的等待时间影响,能拒绝主机104的请求。如果对于相应phy 116A-116N的功率利益大于未来命令等待时间影响,则SPPG 128也能够在没有来自主机的请求的情况下请求phy 116A-116N进入局部功率模式。另外,如果对于相应phy 116A-116N的功率利益大于未来命令等待时间影响,则SPPG 128也能够在没有来自主机的请求的情况下请求phy 116A-116N进入睡眠功率模式。最后,SPPG 128能够在没有来自主机104的请求的情况下转移phy 116A-116N以发起早期的PM唤醒,以使对于相应的phy 116A-116N的未来命令执行上的等待时间最小化。

SPPG 128选择性地拒绝主机发起的进入SAS phy功率管理状态的请求。此外,SPPG 128主动发起与主机的SAS phy功率管理,并且选择性地对功率管理唤醒定时,以屏蔽来自退出功率管理状态的等待时间影响,并且SPPG 128以预选择的功率对比性能的平衡被预编程。预选择的功率对比性能的平衡是可调整的。在一个实施例中,所选择的phy的phy状态从睡眠功率管理变为唤醒,其中phy状态从唤醒变为活动,其中phy状态从活动变为局部功率管理,和/或其中phy状态从活动变为睡眠功率管理。

SPPG 128由此在包含多个phy 116A-116N的设备中提供了最优的SAS Phy PM使用。SPPG 128基于当前工作负载、设备phy配置(例如,宽端口)和用户配置(例如WPPPC模式设置),而确保高效的phy PM使用。SPPG 128提供了一种数据储存设备隐藏唤醒等待时间影响的机制,其中通过发起早期的phy唤醒请求,用户比起功率节省更偏好低等待时间,使得当基于phy使用队列需要phy时phy是活动的,并且基于phy使用队列中的未来工作而拒绝主机发起的PM请求。SPPG 128为用户提供简单的单一控制以选择用于SAS phy功率管理的优化偏好(例如,性能对比功率)。SPPG 128扩展了现有模式页面控制的使用,并且该界面允许静态或动态调整。对于静态调整,默认值在制造时在用户唯一的固件中被配置,但在动态调整中,用户基于系统工作负载或安装来调整设置。SPPG 128可以以固件或硬件之一或两者的组合被实施。

虽然前述内容针对本公开的实施例,但是可以在不脱离本公开的基本范围的情况下设想本公开的其它和另外的实施例,并且其范围由以下的权利要求来确定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1