Developments in a number of different digital technologies have greatly increased the need to transfer data from a processing device across an interface for storage. Storage systems today come with massive throughput capacity and performance capabilities to handle the data that comes their way. The storage systems have a high data transfer rate for both read and write functions to maintain overall system performance and provide the necessary sustained performance to support for the high-speed network connectivity provided by storage systems at work today.
Some mechanisms are currently in place to provide power-management capabilities that reduce power in idle conditions of both the processing device and the storage device, but those mechanisms are limited. One notable issue that needs resolution that would lead to additional power savings involves the coordination of state transitions within the hierarchy of power levels.
The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:
It will be appreciated that for simplicity and clarity of illustration, elements illustrated in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals have been repeated among the figures to indicate corresponding or analogous elements.
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention.
Above the SATA physical level is a data link layer 14 and a transaction layer 16 on the host side, and a data link layer 44 and a transaction layer 46 on the device side. These higher levels convert configuration and data-operations into discrete ordered packets for transmission over the high-speed serial link 30. Specifically, physical layers 12 and 42 gather data bits from the data link layers for transmission; the data link layers 14 and 44 provide packet protection and packet error detection and correction.
The standard interface for SATA host controllers is the Advanced Host Controller Interface (AHCI) which provides enhanced performance features and enables additional power-management capability over the base SATA specification. Both the host device 10 and device 40 include link power management based on Serial ATA that reduces power in idle SATA conditions and further limits the power consumption of the interface. Accordingly, host device 10 includes a SATA Link Power Management 18 and device 40 includes a SATA Link Power Management 48.
Contrary to the Serial ATA specification and as shown in
The Partial state is designed to allow link power state transitions continually with minimal impact on performance. The Slumber state is designed for use when the link is expected to be idle for an extended period of time. It should be noted that the Partial state has an exit latency of 10 microseconds whereas the Slumber state has an exit latency of 10 milliseconds. However, this exit latency is a maximum and in order to make good use of the Slumber state an exit latency less than 10 milliseconds may be used to optimize designs. The longer exit latency in the Slumber state allows a Phase Lock Loop (PLL) to be turned off to provide a power savings of up to a few hundred milliwatts which is a crucial savings to the platform.
The SATA specification includes SATA link power management as host initiated link power management commands and as device initiated link power management commands. The SATA specification allows either the host or the device to request a transition to enter a low-power state, but the corresponding host or device must accept or reject the link state change request. The request is signaled by transmitting a PMREQ_P primitive to request a transition to the Partial power state or a PMREQ_S primitive to transition to the Slumber power state. The corresponding host or device must then respond with an acknowledge or a negative acknowledge primitive. If the request is acknowledged then both the host and the device transition into the corresponding power state.
In contrast to transmitting the primitives to request the power state transitions and to avoid the handshaking, the present invention enables host device 10 and device 40 to independently transition from the Partial state 204 directly to a deeper power state, e.g. the Slumber state 206, without requesting the transition and waiting for the handshaking from the other device. Each side of the interface allows for the other side to have extended recovery time from the low power state, even if the originally negotiated state is Partial.
Host device 10 and device 40 each have capability bits that indicate whether a direct transition from the Partial state to the Slumber state via link 208 is supported. The host capability may be defined in the host controller register space and the device capability is specified in a word IDENTIFY DEVICE 52 read off the medium. In addition, host device 10 and device 40 also have a disable/enable register bit to ensure that the transition via link 208 was only enabled when the other side could tolerate the longer exit latency from the Partial state. A host enable/disable bit 22 is specified in the host controller register space, whereas a device enable/disable is determined by a SET FEATURES command 50.
In one embodiment register settings may be provided to set a minimum recommended time that elapses before initiating the transition from Partial state 204 to Slumber state 206. Host device 10 uses the Partial state to allow a quick recovery to command processing when there has only been a short idle time from the user. Rather than using a timer to signal a state transition, an alternative embodiment may use a transition by the processor going to a particular C state to trigger the transition from Partial state 204 to Slumber state 206. Host device 10 and device 40 typically have different lengths of time before being considered idle, so these devices are ready to go to a deeper power state at different times. The register providing the minimum recommended time would allow the host to optimize the time at which the host and device transition to a lower power state.
By now it should be apparent that embodiments of the present invention allow additional power savings to be achieved while not sacrificing performance if the idle period is short (retaining the value of going to the Partial state first). The host and device transition to a deeper low power state independently after first entering an initial low power state. The host device can also control the time point at which the state transition should be made.
While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.
The present application is a continuation of U.S. patent application Ser. No. 12/146,262, filed on Jun. 25, 2008, issued as U.S. Pat. No. 8,051,314 on Nov. 1, 2011, entitled “SERIAL ATA (SATA) POWER OPTIMIZATION THROUGH AUTOMATIC DEEPER POWER STATE TRANSITION” which is hereby incorporated herein by reference in its entirety and for all purposes.
Number | Name | Date | Kind |
---|---|---|---|
4747041 | Engel et al. | May 1988 | A |
5404546 | Stewart | Apr 1995 | A |
5872669 | Morehouse et al. | Feb 1999 | A |
6128747 | Thoulon | Oct 2000 | A |
6608729 | Willems et al. | Aug 2003 | B1 |
7010711 | Bashford et al. | Mar 2006 | B2 |
7028199 | Ayyavu et al. | Apr 2006 | B2 |
7137018 | Gutman et al. | Nov 2006 | B2 |
7213172 | Iovin et al. | May 2007 | B2 |
7225350 | Gutman et al. | May 2007 | B2 |
7254732 | Bashford et al. | Aug 2007 | B2 |
7328356 | Igari | Feb 2008 | B2 |
7330989 | Bashford et al. | Feb 2008 | B2 |
7343500 | Igari | Mar 2008 | B2 |
7734942 | Dahlen et al. | Jun 2010 | B2 |
7747885 | Igari | Jun 2010 | B2 |
7770041 | Igari | Aug 2010 | B2 |
7797562 | Igari | Sep 2010 | B2 |
7809967 | Igari | Oct 2010 | B2 |
7856565 | Igari | Dec 2010 | B2 |
7856567 | Igari | Dec 2010 | B2 |
7966506 | Bodas et al. | Jun 2011 | B2 |
8028185 | Branover et al. | Sep 2011 | B2 |
20060265617 | Priborsky | Nov 2006 | A1 |
20080184051 | Cheong et al. | Jul 2008 | A1 |
20090187779 | Liu et al. | Jul 2009 | A1 |
20090327774 | Jeyaseelan et al. | Dec 2009 | A1 |
20100257390 | Okoge et al. | Oct 2010 | A1 |
Entry |
---|
Finisar. The Path from 3GB/s to SATA 6Gb/s: How to Migrate Current Designs to the SATA Revision 3.0 Specification. May 27, 2009. |
Intel Corporation. Serial ATA Device Sleep (DevSleep) and Runtime D3 (RTD3). Dec. 2011. |
Serial ATA International Organization. Serial ATA Specification. Rev. 2.5 Gold. 2005. |
Finisar, “The Path from 3Gb/s to SATA 6Gb/s: How to Migrate Current Designs to the SATA, Revision 3.0 Specification”, May 27, 2009, 9 pages. |
Serial ATA International Organization, “Serial ATA Revision 2.5”, Oct. 27, 2005, 571 pages. |
Serial ATA International Organization, “SATA Power Management: It's Good to Be Green”, Apr. 8, 2009, 4 pages. |
Intel Corporation, “SATA PHY Interface Specification (SAPIS)”, Draft. Revision 0.90, Feb. 8, 2002. |
Office Action Received for U.S. Appl. No. 12/146,262, mailed on Jan. 25, 2011, 11 pages. |
Notice of Allowance Received for U.S. Appl. No. 12/146,262, mailed on Jun. 23, 2011, 6 pages. |
Number | Date | Country | |
---|---|---|---|
20120173903 A1 | Jul 2012 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12146262 | Jun 2008 | US |
Child | 13287013 | US |