Claims
- 1. A method of automatic power management control for a Serial ATA interface including a Native Command Queuing Serial ATA device and a host controller, comprising steps of:
detecting an idle condition of said Serial ATA interface, said detecting step comprises a step of determining whether said Native Command Queuing Serial ATA device is in a FPDMA Data Phase; measuring idle time of said Serial ATA interface when said Serial ATA is idle; and placing said Serial ATA interface into a first power saving mode when said idle time is equal to a first value.
- 2. The method of claim 1, wherein said first power saving mode is a Partial power state.
- 3. The method of claim 1, wherein said first power saving mode is a Slumber power state.
- 4. The method of claim 1, wherein said measuring step is performed by a power down counter whose frequency is determined by a programmable register based on an input clock.
- 5. The method of claim 1, wherein said placing step comprises issuing a request for said first power saving mode to a physical layer of said Serial ATA interface by hardware when said idle time is equal to said first value.
- 6. The method of claim 1, further comprising a step of:
putting said Serial ATA interface into a second power saving mode when said idle time is equal to a second value, wherein said first power saving mode is a Partial power state, and said second power saving mode is a Slumber power state.
- 7. The method of claim 6, wherein said second value is greater than said first value.
- 8. The method of claim 7, wherein said putting step comprises issuing a request for Slumber power state to a physical layer of said Serial ATA interface by hardware when said idle time is equal to said second value.
- 9. The method of claim 1, further comprising a step of de-asserting a power down request when said Serial ATA interface is active.
- 10. The method of claim 1, wherein said determining step comprises steps of:
monitoring writes to a Task File Ram of said Serial ATA interface; extracting a value written to a FPDMA bit in said Task File Ram; and deciding whether said Native Command Queuing Serial ATA device is in said FPDMA Data Phase based on said value.
- 11. The method of claim 10, wherein said monitoring step comprises:
receiving a DMA Setup FIS; and initiating a write to said Task File Ram for writing said FPDMA bit to signal a start of said FPDMA Data Phase.
- 12. The method of claim 10, wherein said monitoring step comprises:
tracking incoming data FISes when a data transfer direction is into said host controller; and writing said FPDMA bit to signal an end of said FPDMA Data Phase when data received by said host controller reaches a byte count indicated by a DMA Setup FIS.
- 13. The method of claim 10, wherein said monitoring step comprises:
tracking outgoing data FISes when a data transfer direction is out of said host controller; and writing said FPDMA bit to signal an end of said FPDMA Data Phase when data sent by said host controller reaches a byte count indicated by a DMA Setup FIS.
- 14. An apparatus of automatic power management control for a Serial ATA interface including a Native Command Queuing Serial ATA device and a host controller, comprising:
means for detecting an idle condition of said Serial ATA interface, including means for determining whether said Native Command Queuing Serial ATA device is in a FPDMA Data Phase; means for measuring idle time of said Serial ATA interface when said Serial ATA is idle; and means for placing said Serial ATA interface into a first power saving mode when said idle time is equal to a first value.
- 15. The apparatus of claim 14, wherein said first power saving mode is a Partial power state.
- 16. The apparatus of claim 14, wherein said first power saving mode is a Slumber power state.
- 17. The apparatus of claim 14, wherein said means for measuring includes a power down counter whose frequency is determined by a programmable register based on an input clock.
- 18. The apparatus of claim 14, wherein said means for placing comprises means for issuing a request for said first power saving mode to a physical layer of said Serial ATA interface by hardware when said idle time is equal to said first value.
- 19. The apparatus of claim 14, further comprising:
means for putting said Serial ATA interface into a second power saving mode when said idle time is equal to a second value, wherein said first power saving mode is a Partial power state, and said second power saving mode is a Slumber power state.
- 20. The apparatus of claim 19, wherein said second value is greater than said first value.
- 21. The apparatus of claim 20, wherein said means for putting comprises means for issuing a request for Slumber power state to a physical layer of said Serial ATA interface by hardware when said idle time is equal to said second value.
- 22. The apparatus of claim 14, further comprising means for de-asserting a power down request when said Serial ATA interface is active.
- 23. The apparatus of claim 14, wherein said means for determining comprises:
means for monitoring writes to a Task File Ram of said Serial ATA interface; means for extracting a value written to a FPDMA bit in said Task File Ram; and means for deciding whether said Native Command Queuing Serial ATA device is in said FPDMA Data Phase based on said value.
- 24. The apparatus of claim 23, wherein said means for monitoring comprises:
means for receiving a DMA Setup FIS; and means for initiating a write to said Task File Ram for writing said FPDMA bit to signal a start of said FPDMA Data Phase.
- 25. The apparatus of claim 23, wherein said means for monitoring comprises:
means for tracking incoming data FISes when a data transfer direction is into said host controller; and means for writing said FPDMA bit to signal an end of said FPDMA Data Phase when data received by said host controller reaches a byte count indicated by a DMA Setup FIS.
- 26. The apparatus of claim 23, wherein said means for monitoring comprises:
means for tracking outgoing data FISes when a data transfer direction is out of said host controller; and means for writing said FPDMA bit to signal an end of said FPDMA Data Phase when data sent by said host controller reaches a byte count indicated by a DMA Setup FIS.
- 27. A method for determining whether a Native Command Queuing Serial ATA device of a Serial ATA interface is in a FPDMA Data Phase, comprising steps of:
monitoring writes to a Task File Ram of said Serial ATA interface; extracting a value written to a FPDMA bit in said Task File Ram; and deciding whether said Native Command Queuing Serial ATA device is in said FPDMA Data Phase based on said value.
- 28. The method of claim 27, wherein said monitoring step comprises:
receiving a DMA Setup FIS; and initiating a write to said Task File Ram for writing said FPDMA bit to signal a start of said FPDMA Data Phase.
- 29. The method of claim 27, wherein said monitoring step comprises:
tracking incoming data FISes when a data transfer direction is into a host controller of said Serial ATA interface; and writing said FPDMA bit to signal an end of said FPDMA Data Phase when data received by said host controller reaches a byte count indicated by a DMA Setup FIS.
- 30. The method of claim 27, wherein said monitoring step comprises:
tracking outgoing data FISes when a data transfer direction is out of a host controller of said Serial ATA interface; and writing said FPDMA bit to signal an end of said FPDMA Data Phase when data sent by said host controller reaches a byte count indicated by a DMA Setup FIS.
- 31. An apparatus for determining whether a Native Command Queuing Serial ATA device of a Serial ATA interface is in a FPDMA Data Phase, comprising:
means for monitoring writes to a Task File Ram of said Serial ATA interface; means for extracting a value written to a FPDMA bit in said Task File Ram; and means for deciding whether said Native Command Queuing Serial ATA device is in said FPDMA Data Phase based on said value.
- 32. The apparatus of claim 31, wherein said means for monitoring comprises:
means for receiving a DMA Setup FIS; and means for initiating a write to said Task File Ram for writing said FPDMA bit to signal a start of said FPDMA Data Phase.
- 33. The apparatus of claim 31, wherein said means for monitoring comprises:
means for tracking incoming data FISes when a data transfer direction is into a host controller of said Serial ATA interface; and means for writing said FPDMA bit to signal an end of said FPDMA Data Phase when data received by said host controller reaches a byte count indicated by a DMA Setup FIS.
- 34. The apparatus of claim 31, wherein said means for monitoring comprises:
means for tracking outgoing data FISes when a data transfer direction is out of a host controller of said Serial ATA interface; and means for writing said FPDMA bit to signal an end of said FPDMA Data Phase when data sent by said host controller reaches a byte count indicated by a DMA Setup FIS.
- 35. An apparatus, comprising:
a counter for counting idle time of a Serial ATA interface including a Native Command Queuing Serial ATA device; a first programmable register holding a predetermined value, said first programmable register communicatively coupled to said counter; and automatic power management circuitry communicatively coupled to said Serial ATA interface, said automatic power management circuitry issues a request for a power saving mode to a physical layer of said Serial ATA interface when a value of said counter is equal to said predetermined value, wherein said automatic power management circuitry comprising:
a first OR logic gate receiving BSY Bit, DRQ Bit, ERR Bit and FPDMA Bit as input and outputting a first number indicating said Serial ATA interface being idle or active; an inverter logic gate receiving said first number as input and outputting a second number to power down counter logic comprising said counter, wherein said Serial ATA interface being idle enables said power down counter logic to count down said idle time; and power down/up circuitry communicatively coupled to said power down counter logic, wherein said power down/up circuitry issues a request for said power saving mode to said physical layer of said Serial ATA interface when a value of said counter is equal to said predetermined value.
- 36. An apparatus, comprising:
a counter for counting idle time of a Serial ATA interface including a Native Command Queuing Serial ATA device; a first programmable register holding a first value, said first programmable register communicatively coupled to said counter; a second programmable register holding a second value, said second programmable register communicatively coupled to said counter; and automatic power management circuitry communicatively coupled to said Serial ATA interface, said automatic power management circuitry issues a request for Partial power state to a physical layer of said Serial ATA interface when a value of said counter is equal to said first value, and issues a request for Slumber power state to a physical layer of said Serial ATA interface when a value of said counter is equal to said second value, wherein said automatic power management circuitry comprising:
a first OR logic gate receiving BSY Bit, DRQ Bit, ERR Bit and FPDMA Bit as input and outputting a third value indicating said Serial ATA interface being idle or active; an inverter logic gate receiving said third value as input and outputting a fourth value to power down counter logic comprising said counter, wherein said Serial ATA interface being idle enables said power down counter logic to count down said idle time; and power down/up circuitry communicatively coupled to said power down counter logic, wherein said power down/up circuitry issues a request for Partial power state to said physical layer of said Serial ATA interface when a value of said counter is equal to said first value, and issues a request for Slumber power state to said physical layer of said Serial ATA interface when a value of said counter is equal to said second value.
CROSS-REFERENCE TO RELATED DOCUMENTS
[0001] The present application is a continuation-in-part of U.S. application Ser. No. 10/606,138, entitled Method And Apparatus Of Automatic Power Management Control For Serial ATA Interface, filed Jun. 25, 2003, which is herein incorporated by reference in its entirety.
[0002] The present application herein incorporates U.S. Patent Application with Express Mail Mailing Label No. EV 363 679 976 US, and U.S. Patent Application with Express Mail Mailing Label No. EV 363 679 980 US, both filed on the same day as the present patent application, by reference in their entirety.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10606138 |
Jun 2003 |
US |
Child |
10901520 |
Jul 2004 |
US |