确定功率状态支持的制作方法

文档序号:13098936阅读:175来源:国知局
确定功率状态支持的制作方法与工艺



背景技术:

针对数据存储设备的功率要求可以基于多种因素而变化,该多种因素包括它们的物理形状因子、数据接口类型、数据存储介质以及性能参数。作为一种特征,一些数据存储设备被设计成支持不同功耗率。

附图说明

在以下详细描述中参考以下各图来描述某些示例。

图1至3是图示出根据本公开的用于确定数据存储设备的功率状态支持的示例方法的流程图。

图4至6是图示出根据本公开的用于确定数据存储设备的功率状态支持的示例计算机系统的框图。

具体实施方式

一般来说,某些数据存储设备(例如,传统快速外围组件互连[pcie]数据存储设备)具有比其它数据存储设备(例如,11w)更高的最大功率要求(例如,25w)。相应地,针对较低功率数据存储设备而设计的低功率设备插架(例如,低功率pcie驱动器插架)一般不支持较高功率数据存储设备所需的电气(或热)设计。有时,可能期望通过针对低功率设备而设计的设备插架来操作高功率数据存储设备。

各种计算机系统包括下述设备插架:其允许诸如数据存储设备之类的电子设备(后文中称为“设备”)被插入到计算机系统中且通过该设备插架所包括的物理接口耦合到计算机系统。不同设备插架可能在它们所支持的物理接口的类型、数据访问规范、功率和散热方面不同。相应地,在一些实例中,关于物理接口和数据访问规范而与给定设备插架兼容的设备可能不与由该给定设备插架支持的功率或散热兼容(例如,高功率设备被插入到低功率设备插架中)。如果此类设备被插入到给定设备插架中,则其可能导致对给定设备插架的损坏、使所插入的设备从给定设备插架中汲取过多功率、使设备发生故障、导致所插入的设备的降级的性能、导致对所插入的设备的损坏或导致对给定设备插架的损坏。

各种示例提供了用于确定由诸如数据存储设备之类的设备支持的一组功率状态且基于该组功率状态是否包括低功率状态来对该设备应用操作的系统和方法。取决于示例,操作可以包括启用设备、禁用设备、或将设备设置成一功率状态(例如,低功率状态)。虽然本文中关于数据存储设备描述各种示例,但是本文中描述的系统和方法可以被类似地应用于其它类型的电子设备,诸如计算机外设。

如本文中使用的,设备接口可以包括而不限于被配置成接收设备并将设备耦合到计算机系统的设备插架。数据存储设备可以包括固态驱动器(ssd)、硬盘驱动器(hdd)等等。数据访问规范可以包括而不限于外围组件互连(pci)、快速pci(pcie)、快速非易失性存储器快速(nvme)以及其它数据接口标准。禁用数据存储设备可以包括禁用与该设备的数据接口或禁用正被供应给该设备的功率。此外,计算机系统可以包括而不限于台式机、服务器或移动计算设备,诸如膝上型电脑或平板电脑。另外,一旦如本文中描述的那样将给定的设备设置成低功率状态,该给定设备就可以以处于或低于该低功率状态的功率状态来操作。

某些示例提供了下述系统和方法:其经由基本输入/输出操作系统(bios)功能来确定耦合到计算机系统的设备接口(例如,pcie硬盘驱动器/固态驱动器插架)的快速pci(pcie)数据存储设备是否支持某种功率管理。针对一些示例,设备接口是低功率设备接口,诸如pcie硬盘驱动器/固态驱动器插架,其可以支持最大值11w。该系统和方法可以取决于pcie数据存储设备的功率管理支持水平来启用或禁用该设备。具体来说,该系统和方法可以利用快速非易失性存储器(nvme)bios功能以向pcie数据存储设备发布nvmepassthru命令,以确定其对功率状态的支持水平。在pcie数据存储设备未对nvme命令作出响应(或者未正确地对其作出响应)的情况下,假设pcie数据存储设备不支持与低功率设备插架兼容的低功率状态,并且bios将禁用到pcie数据存储设备的功率、pcie通道或这二者。

在pcie数据存储设备作出了响应的情况下,该系统和方法可以基于该响应来确定由pcie数据存储设备支持的功率状态。如果pcie数据存储设备支持与设备接口兼容的低功率状态,则可以在启用pcie数据存储设备之前将其设置成低功率状态。特别地,计算机系统可以包括低功率设备插架,并且pcie数据存储设备可以通过低功率设备接口耦合到计算机系统。计算机系统的基本输入/输出操作系统(bios)(例如,支持统一可扩展固件接口[uefi]nvmepassthru功能的bios)可以向pcie数据存储设备发布nvmepassthru命令以识别其自身(例如,nvmeidentify命令)。pcie数据存储设备可以通过向bios提供识别控制器数据结构来对该命令作出响应。在pcie数据存储设备未提供识别控制器数据结构的情况下,可以假设pcie数据存储设备是不与nvme兼容或不支持多个功率状态的设备(例如,具有25w或更高的假设最大功率的传统设备),并且由此,可以禁用pcie数据存储设备。禁用pcie数据存储设备可以包括禁用其功率、禁用耦合到pcie数据存储设备的快速外围组件互连(pci)通道或这二者。

从识别控制器数据结构,可以读取多个功率状态支持(npss)字段(例如,来自该结构的字节263)。基于npss字段,可以从识别控制器数据结构获得描述由pcie数据存储设备支持的功率状态(例如,功率状态0到功率状态6)的一组功率状态描述符(例如,在字节2048处开始)。基于所获得的功率描述符,可以作出pcie数据存储设备是否支持低功率状态的确定。低功率状态可以是由pcie数据存储设备所耦合到的低功率设备接口支持的状态。取决于示例,pcie数据存储设备可以是支持低功率状态或较低功率状态的高功率设备,或者可以是仅支持低功率状态或较低功率状态的设备。在pcie数据存储设备是支持低功率状态的高功率设备的情况下,pcie数据存储设备可以被启用(例如,如果其没有已经被启用的话),且可以将pcie数据存储设备设置成以低功率状态进行操作(例如,通过发送nvmeset特征命令以使该设备选择低功率状态)。在pcie数据存储设备是支持低功率状态或较低功率状态的低功率设备的情况下,pcie数据存储设备可以被启用(例如,如果其没有已经被启用的话),且可以允许pcie数据存储设备以低功率状态或较低功率状态进行操作。

诸如上文描述的那些示例之类的各种示例可以防止仅支持高功率状态(例如,25w)的传统快速pci(pcie)数据存储设备在低功率设备插架(例如,具有针对11w驱动器的最大支持的pcie硬盘驱动器/固态驱动器插架)中被启用。

以下提供了图1-6所图示出的示例的详细描述。

图1是图示出根据本公开的用于确定数据存储设备的功率状态支持的示例方法100的流程图。针对一些示例,方法100可以是关于可访问数据存储设备的计算机系统执行的方法。附加地,针对一些示例,方法100的操作中的一些或全部可以作为计算机系统的引导过程的一部分而执行。取决于示例,方法100可以以存储在计算机可读介质上的可执行指令的形式或以电子电路的形式实现。例如,方法100中的一些或全部可以被实现为计算机系统的基本输入/输出操作系统(bios)所包括的可执行指令。针对一些示例,所执行的操作或执行操作所依照的顺序可以与图1图示出的操作或顺序不同。

方法100可以在块102处通过计算机系统确定耦合到该计算机系统的数据存储设备是否与特定数据访问规范兼容而开始。数据存储设备可以经由低功率设备接口耦合到计算机系统,同时数据存储设备可以支持单个功率状态或一系列功率状态。数据存储设备可以或者可以不支持与低功率设备接口兼容的低功率状态。针对一些示例,低功率设备接口包括低功率设备插架,其可以物理地接收数据存储设备并将数据存储设备耦合到计算机系统。这样的低功率设备插架可以被配置成支持低功率数据存储设备的功率要求或散热而不支持较高功率数据存储设备的功率要求或散热。针对一些示例,数据访问规范包括快速非易失性存储器(nvme),并且数据存储设备包括快速外围组件互连(pcie)设备。

根据一些示例,计算机系统通过向数据存储设备发送根据特定数据访问规范的识别命令并侦听对该识别命令的响应,来确定数据存储设备是否与特定数据访问规范兼容。取决于示例,该响应可以包括结构化设备识别数据。例如,在特定数据访问规范包括快速非易失性存储器(nvme)的情况下,计算机系统可以发布nvmeidentify命令并侦听包括识别控制器数据结构的响应。如本文中描述的,如果接收到,则数据存储设备可以被视为与特定数据访问规范兼容。如果数据存储设备未能作出响应或未(例如,利用识别控制器数据结构)正确地作出响应,则可以假设数据存储设备是不与特定数据访问规范(例如,nvme)兼容的设备。如本文中描述的,如果数据存储设备不与特定数据访问规范兼容,则可以禁用数据储存器,这是因为其最大功耗是未知的。

方法100可以继续至块104,其中计算机系统确定数据存储设备与特定数据访问规范兼容,方法100可以继续至块106。否则,方法100可以结束。在块106处,计算机系统可以获得关于由数据存储设备支持的一组功率状态的信息。从数据存储设备获得的信息可以根据特定数据访问规范。例如,在特定数据访问规范包括快速非易失性存储器(nvme)并且计算机系统发布nvmeidentify命令的情况下,数据存储设备可以利用包括关于由数据存储设备支持的功率状态的信息的识别控制器数据结构进行响应。

方法100可以继续至块108:计算机系统可以基于在块106处获得的信息(关于该组功率状态)来确定数据存储设备是否支持低功率状态。如本文中描述的,低功率状态可以是与数据存储设备通过其而耦合到计算机系统的低功率设备接口兼容的状态。针对一些示例,该信息包括与该组功率状态中的每个功率状态相关联的功率描述符数据。相应地,确定数据存储设备是否支持低功率状态可以包括:确定与该组功率状态中的至少一个功率状态相关联的功率描述符数据是否指定低于或等于阈值功率值的最大功率值。该阈值功率值可以基于(例如,等于)由低功率设备接口支持的功率的最大量。

针对一些示例,可以从由数据存储设备响应于作为块104的一部分而发布到数据存储设备的快速非易失性存储器(nvme)identify命令而提供的识别控制器数据结构获得该信息。如本文中描述的,识别控制器数据结构可以包括多个功率状态支持(npss)字段(例如,来自该结构的字节263)。基于npss字段,可以从识别控制器数据结构获得描述由pcie数据存储设备支持的功率状态(例如,功率状态0到功率状态6)的一组功率状态描述符(例如,在字节2048处开始)。基于所获得的功率描述符,可以作出数据存储设备是否支持低功率状态的确定。取决于示例,数据存储设备可以是支持低功率状态或较低功率状态的高功率设备,或者可以是仅支持低功率状态或较低功率状态的设备。

图2是图示出根据本公开的用于确定数据存储设备的功率状态支持的示例方法200的流程图。针对一些示例,方法200可以是关于可访问数据存储设备的计算机系统执行的方法。附加地,针对一些示例,方法200的操作中的一些或全部可以作为计算机系统的引导过程的一部分而执行。如本文中描述的,方法200可以以存储在计算机可读介质上的可执行指令的形式或以电子电路的形式实现。例如,方法200中的一些或全部可以被实现为计算机系统的基本输入/输出操作系统(bios)所包括的可执行指令。附加地,所执行的操作或执行操作所依照的顺序可以与图2图示出的操作或顺序不同。

方法200可以在块202处开始并继续至块204,其可以分别类似于如上文关于图1描述的方法100的块102和104。在块204处,如果计算机系统确定数据存储设备与特定数据访问规范兼容,则方法200可以继续至块206和208,其可以类似于如上文关于图1描述的方法100的块106和108。如果计算机系统在块204处确定数据存储设备不与特定数据访问规范兼容,则方法200可以继续至块212。

在块208之后,方法200可以继续至块210,其中如果计算机系统在块208处确定数据存储设备支持低功率状态,则方法200结束,并且否则,方法200继续至块212。针对一些示例,如果计算机系统在块208处确定数据存储设备支持低功率状态,则方法200可以通过下述操作来结束:启用数据存储设备(例如,如果数据存储设备并未已经被启用的话);验证数据存储设备是否已经被设置成较低功率状态(例如,通过uefi快速nvmpassthru功能发布具有特征标识符x02h的nvmegetfeature命令以验证低功率状态被设置);进一步将数据存储设备设置成低功率状态;或其组合。针对一些示例,在已经启用数据存储设备的情况下,如果数据存储设备当前被设置成低功率状态(例如,11w)或支持低于或等于低功率状态的最大功率状态,则可以将数据存储设备保留为被启用。

在块212处,计算机系统可以禁用数据存储设备。取决于示例,禁用数据存储设备可以包括:禁用到数据存储设备的功率或禁用促进由计算机系统对数据存储设备的数据存储访问的数据路径(例如,pcie通道)。

图3是图示出根据本公开的用于确定数据存储设备的功率状态支持的示例方法300的流程图。针对一些示例,方法300可以是关于可访问数据存储设备的计算机系统执行的方法。附加地,针对一些示例,方法300的操作中的一些或全部可以作为计算机系统的引导过程的一部分而执行。如本文中描述的,方法300可以以存储在计算机可读介质上的可执行指令的形式或以电子电路的形式实现。例如,方法300中的一些或全部可以被实现为计算机系统的基本输入/输出操作系统(bios)所包括的可执行指令。附加地,所执行的操作或执行操作所依照的顺序可以与图3图示出的操作或顺序不同。

针对一些示例,块302、304、306和308分别类似于如上文关于图2描述的方法200的块202、204、206和208,并且块314类似于如上文关于图2描述的方法200的块212。

在块308之后,方法300可以继续至块310,其中如果计算机系统在块308处确定数据存储设备支持低功率状态,则方法300继续至块312,并且否则,方法300继续至块314。

在块312处,计算机系统可以将数据存储设备设置成较低功率状态,其可以包括:在数据存储设备没有已经被启用的情况下启用数据存储设备。取决于示例,启用数据存储设备可以涉及到:启用促进由计算机系统对数据存储设备的数据存储访问的数据路径(例如,pcie通道)。

在块314处,计算机系统可以禁用数据存储设备。如本文中描述的,禁用数据存储设备可以包括:禁用到数据存储设备的功率或禁用促进由计算机系统对数据存储设备的数据存储访问的数据路径(例如,pcie通道)。

图4是图示出根据本公开的用于确定数据存储设备的功率状态支持的示例计算机系统400的框图。如本文中描述的,计算机系统400可以包括而不限于台式机、服务器或移动计算设备。在图4中,如所图示的计算机系统400包括低功率设备接口402、兼容性模块404、功率状态信息模块406和功率状态支持模块408。在各种示例中,组件或组件在计算机系统400中的布置可以与图4中描绘的组件或布置不同。

如本文中使用的,各种示例的模块和其它组件可以整体地或部分地包括机器可读指令或电子电路。例如,模块可以包括可由处理器执行以执行根据本文中描述的各种示例的一个或多个功能的计算机可读指令。同样地,在另一实例中,模块可以包括执行根据本文中描述的各种示例的一个或多个功能的电子电路。模块的元件可以被组合在单个封装中、被维持在若干个封装中或被分离地维持。

低功率设备接口402可以将数据存储设备耦合到计算机系统400。在某些示例中,低功率设备接口402包括物理地接收数据存储设备且将数据存储设备耦合到计算机系统400的低功率设备插架。例如,低功率设备接口402可以包括快速外围组件互连(pcie)设备插架,其可以接收并耦合到pcie硬盘驱动器(hdd)或固态驱动器(ssd)。

兼容性模块404可以促进数据存储设备是否与特定数据访问规范兼容的确定。兼容性模块404可以通过向数据存储设备发送根据特定数据访问规范的识别命令(例如,快速非易失性存储器[nvme]identify命令)并侦听对该识别命令的响应,来确定数据存储设备是否与特定数据访问规范兼容。例如,在特定数据访问规范包括nvme的情况下,计算机系统可以发布nvmeidentify命令并侦听包括识别控制器数据结构的响应。如果接收到,则数据存储设备可以被视为与特定数据访问规范兼容。如果数据存储设备未能作出响应或未(例如,利用识别控制器数据结构)正确地作出响应,则可以假设数据存储设备是不与特定数据访问规范(例如,nvme)兼容的设备。如本文中描述的,如果数据存储设备不与特定数据访问规范兼容,则可以禁用数据储存器,这是因为其最大功耗是未知的。

功率状态信息模块406可以促进获得关于由数据存储设备支持的一组功率状态的信息,且可以响应于兼容性模块404确定数据存储设备是兼容的而促进这样的获得。根据各种示例,从数据存储设备获得的信息可以是根据特定数据访问规范来获得的。例如,在特定数据访问规范包括快速非易失性存储器(nvme)并且计算机系统发布nvmeidentify命令的情况下,数据存储设备可以利用包括关于由数据存储设备支持的功率状态的信息的识别控制器数据结构进行响应。

功率状态支持模块408可以促进数据存储设备是否支持低功率状态的确定,且可以基于关于由功率状态信息模块406获得的该组功率状态的信息来促进该确定。如本文中描述的,可以从由数据存储设备响应于由功率状态信息模块406发布到数据存储设备的快速非易失性存储器(nvme)identify命令而提供的识别控制器数据结构获得该信息。该信息可以包括与该组功率状态中的每个功率状态相关联的功率描述符数据,并且确定数据存储设备是否支持低功率状态可以包括:确定与该组功率状态中的至少一个功率状态相关联的功率描述符数据是否指定低于或等于阈值功率值的最大功率值。该阈值功率值可以基于(例如,等于)由低功率设备接口支持的功率的最大量。

图5是图示出根据本公开的用于确定数据存储设备的功率状态支持的示例计算机系统500的框图。如本文中描述的,计算机系统500可以包括而不限于台式机、服务器或移动计算设备。在图5中,如所图示的计算机系统500包括低功率设备接口502、兼容性模块504、功率状态信息模块506、功率状态支持模块508和设备操作模块510。在各种示例中,组件或组件在计算机系统500中的布置可以与图5中描绘的组件或布置不同。

针对一些示例,低功率设备接口502、兼容性模块504、功率状态信息模块506和功率状态支持模块508分别类似于上文关于图4描述的计算机系统400的低功率设备接口402、兼容性模块404、功率状态信息模块406和功率状态支持模块408。

设备操作模块510可以响应于兼容性模块504确定数据存储设备不与特定数据访问规范兼容或者响应于功率状态支持模块508确定数据存储设备不支持低功率状态而促进禁用数据存储设备。如本文中描述的,设备操作模块510可以通过禁用到数据存储设备的功率或禁用促进由计算机系统对数据存储设备的数据存储访问的数据路径(例如,pcie通道)来禁用数据存储设备。

图6是图示出根据本公开的用于确定数据存储设备的功率状态支持的示例计算机系统600的图。如图6中所示,计算机系统600包括计算机可读介质602、处理器604和设备接口606。在各种示例中,组件或计算机系统600的组件的布置可以与图6中描绘的组件或布置不同。例如,计算机系统600可以包括比图6中描绘的那些组件更多或更少的组件。

计算机可读介质602可以是存储可执行指令的任何电子、磁性、光学或其它物理存储设备。例如,计算机可读介质602可以是随机存取存储器(ram)、电可擦除可编程只读存储器(eeprom)、存储驱动器、光盘等等。计算机可读介质602可以被编码成存储可执行指令,该可执行指令使处理器604执行根据本文中描述的各种示例的操作。在各种示例中,计算机可读介质602是非暂时性的。如图6中所示,计算机可读介质602包括确定数据访问规范兼容性的指令610、针对不兼容性禁用数据存储设备的指令612、获得功率状态信息的指令614、确定低功率状态支持的指令616以及针对不支持禁用数据存储设备的指令618。

处理器604可以是一个或多个中央处理单元(cpu)、微处理器或适用于检索和执行存储在计算机可读介质602中的一个或多个指令的其它硬件设备。处理器604可以取回、解码并执行指令610、612、614、616和618,以使计算机系统600能够执行根据本文中描述的各种示例的操作。针对一些示例,处理器604包括一个或多个电子电路,该一个或多个电子电路包括用于执行指令610、612、614、616和618中的一个或多个的功能性的多个电子组件。

确定数据访问规范兼容性的指令610可以使处理器604确定耦合到计算机系统的数据存储设备是否与特定数据访问规范兼容。针对不兼容性禁用数据存储设备的指令612可以使处理器604响应于数据存储设备被确定数据访问规范兼容性的指令610确定为不与特定数据访问规范兼容而禁用数据存储设备。获得功率状态信息的指令614可以使处理器604:获得关于由数据存储设备支持的一组功率状态的信息,并响应于数据存储设备被确定数据访问规范兼容性的指令610确定为与特定数据访问规范兼容而这样做。如本文中描述的,可以根据特定数据访问规范从数据存储设备获得该信息。

确定低功率状态支持的指令616可以使处理器604基于关于该组功率状态的信息来确定数据存储设备是否支持低功率状态。针对不支持禁用数据存储设备的指令618可以使处理器604:禁用数据存储设备,并响应于由确定低功率状态支持的指令616确定数据存储设备不支持低功率状态而这样做。

在前述描述中,阐述了众多细节以提供对本文中公开的主题的理解。然而,可以在没有这些细节中的一些或全部的情况下实践各种示例。一些示例可以包括从上面讨论的细节的修改和变型。意图是,所附权利要求覆盖此类修改和变型。

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