Wakeup detector

Information

  • Patent Grant
  • 9454212
  • Patent Number
    9,454,212
  • Date Filed
    Monday, December 8, 2014
    9 years ago
  • Date Issued
    Tuesday, September 27, 2016
    7 years ago
Abstract
Systems and methods related to wakeup circuits for electronic devices are disclosed. More particularly, an electronic device includes a component operable in at least a lower power state and a higher power state and a wakeup circuit configured to signal the component to transition from the lower power state to the higher power state upon declaration of a wakeup event. The wakeup circuit is configured to process a received input signal to synchronize with a clock; generate an activity signal that includes an activity pulse for each time the processed input signal changes state in different cycles of the clock; open a qualification window upon detection of a first activity pulse in the activity signal; and in the event more than a threshold number of activity pulses in the activity signal are detected prior to closing the qualification window, declare a wakeup event.
Description
TECHNICAL FIELD

This disclosure relates to electronic devices and, more particularly, to wakeup detectors for electronic devices.


BACKGROUND

Many electronic devices, such as storage devices, attempt to manage power consumption and usage by utilizing various power management systems. For example, an electronic device may include a number of power states. Such multiple power states may include states such as a normal operating state (or higher power state) where power is provided to various components of the electronic device and a lower power state (lower as less power may be consumed than in the normal operating state) where power is not provided, or a lower amount of power is provided, to at least some of the components. The electronic device may operate in the normal power state when the components are used and in the lower power state when the components are not used, avoiding power wastage by providing power to currently unnecessary components.


When an electronic device operates in such a lower power state, it may determine when the components are to be used so that the state can then switch from the lower power state to the normal operating state. A wakeup circuit may monitor an input signal in which a wakeup signal may be represented. The wakeup circuit may utilize a clock to continuously and/or otherwise sample and analyze the received input signal to detect when a wakeup signal is present. Upon detection that a wakeup signal is present, the electronic device may switch from the lower power state to the normal operating state.





BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made to representative embodiments illustrated in the accompanying figures. It should be understood that the following descriptions are not intended to limit the disclosure to one preferred embodiment. To the contrary, each is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the described embodiments as defined by the appended claims.



FIG. 1 depicts a simplified block diagram of a system with an example electronic device having a wakeup circuit.



FIG. 2 depicts a simplified block diagram of an example sampling circuit of a wakeup circuit.



FIG. 3 depicts a simplified block diagram of an example process flow of an example qualification circuit of a wakeup circuit.



FIG. 4A depicts a diagram of an example input signal including a wakeup signal that may be received by a wakeup circuit.



FIG. 4B depicts a diagram of an example input signal including a wakeup signal that may be received by a wakeup circuit and a first example activity signal waveform that the wakeup circuit may generate based on the example input signal using a first clock frequency.



FIG. 4C depicts a diagram of an example input signal including a wakeup signal that may be received by a wakeup circuit and a second example activity signal waveform that the wakeup circuit may generate based on the example input signal using a second clock frequency.



FIG. 5 depicts a flow chart of sample operations of a first example method of operating a wakeup circuit.



FIG. 6 depicts a simplified block diagram of another example electronic device having a wakeup circuit.



FIG. 7A-7B is a flow chart and block diagram combination that depicts a flow chart of sample operations of a second example method of operating a wakeup circuit.





The use of the same or similar reference numerals in different drawings indicates similar, related, or identical items where appropriate.


DETAILED DESCRIPTION

Some embodiments described herein relate to systems and methods related to wakeup circuits for electronic devices. A wakeup circuit of an electronic device operating in a low power state may utilize a clock to sample and analyze an input signal that may include a wakeup signal. However, reliable frequency clocks such as crystal oscillators may be expensive and/or utilize more power than other clocks. Less expensive clocks and/or clock that utilize less power (such as ring oscillators) may not have a reliable frequency (variations in frequency may occur due to manufacturing, temperature and/or other conditions during operation, and so on) and/or may have lower frequencies than are suitable for sampling and analyzing the input signal.


For example, in the storage context, Serial Advanced Technology Attachment (SATA) out of band (OOB) sequence detection may utilize a differential signal detector that indicates whether differential signal is present (a burst is being received) or is not present (a space is being received). SATA phy macrocells may provide this function and the resulting output signal may be referred to as “sigdet,” short for signal detect. An ideal signal detector circuit receiving a nominal SATA Comwake or Comreset (two of a number of different wakeup signals that may be utilized in SATA) may generate a sigdet output of six assertions where each assertion may be 106.666 nanoseconds long (representing the length of an OOB burst) and each negation may also be 106.666 nanoseconds long (representing a space). However, in practice signal detector circuits may have large duty cycle distortion such that burst timing and space timing may be 80-130 nanoseconds. Detection of such OOB sequences may be accomplished by asynchronous sampling followed by digital processing of the sampled signal. Fixed and known reliable clock frequencies of 30 MHz or faster may be used to process the sigdet waveform. However, in some low power SATA states, the only clock available for sampling and processing this waveform may be of a frequency between 7 and 29 MHz. Such a clock may be a low power ring oscillator. Using such a clock to sample the sigdet waveform may result in unreliable sampling, as there may be combinations of sigdet timing plus sample clock phase and frequency where spaces are sampled but bursts are missed or busts are sampled but spaces are missed. This may cause detection of Comwake or Comreset to be unreliable, which may be unacceptable for system operation.


A wakeup circuit for an electronic device may include a clock, a sampling circuit portion, and a qualification window portion. The sampling circuit portion of the wakeup circuit may synchronize a received input signal with the clock and generate an activity signal that includes an activity pulse for each state change in the synchronized input signal per cycle of the clock. In some implementations the sampling circuit portion may also reduce the frequency of the input signal prior to synchronization. The qualification window portion may open a qualification window upon detection of a first activity pulse in the activity signal and in the event that more than a threshold number of activity pulses in the activity signal are detected prior to closing the qualification window, declare a wakeup event. In various implementations, the qualification window may be closed if more than the threshold number of activity pulses are not detected within a period (such as a fixed period of time and/or clock cycles, a user and/or software specified period of time and/or clock cycles, a period of time and/or clock cycles based upon a current frequency of the clock, and so on).


In this way, the wakeup circuit may be able to sample and analyze the input signal using a clock that may have an unreliable and/or lower frequency than would otherwise be possible. The wakeup circuit may be able to utilize the clock if the frequency of the clock is within a minimum or maximum of a range of frequencies. Further, in this way the wakeup circuit may be able to ignore at least some noise in the input signal while still being able to detect a present wakeup signal.


Although particular embodiments are discussed herein, it should be appreciated that the various embodiments, as well as functionality, operation, components, and capabilities thereof may be combined with other elements as necessary. Any physical, functional, or operational discussion of any element or feature is not intended to be limited solely to a particular embodiment to the exclusion of others.



FIG. 1 depicts a simplified block diagram of a system with an example electronic device having a wakeup circuit. As illustrated, the system 100 may include one or more data storage systems 101, of which the storage device 105 (and/or other storage devices) is a part, that may be configured to communicate with one or more computing devices 102. The computing device may be any electronic device such as a laptop computer, desktop computer, server, cellular phone, tablet computer, and so on. In some embodiments, the computing device can be implemented as a system of individual electronic devices, for example, as a network of servers.


The computing device 102 may send commands 103 to the storage device 105. The commands may be any number of commands including, but not necessarily limited to, write commands, erase commands, and read commands. The storage device may include a processor and/or control circuitry 106 (such as a controller, an electrical circuit, an integrated circuit, instructions executed by a processor, and so on) and one or more storage components 107 (such as a circular recording disk made from a magnetic material onto and/or into which data can be recorded as patterns of magnetic polarity, integrated circuit solid-state memory assemblies onto and/or into which data can be recorded, and so on) that may persistently store data. The control circuitry may process the commands and may transmit one or more responses 104 to the computing device (such as in response to receiving a command, as part of executing a received command, and so on). For one example, if the computing device sends a read command, the storage device may send a response including the requested data.


The storage device 105 may be operable in a number of power states. Such power states may include states such as a normal operating state (or higher power state) where power is provided to the storage component 107 and a lower power state (lower as less power may be consumed than in the normal operating state) where power is not provided to the storage component. The storage device may include a wakeup circuit 108 that may be operable in the lower power state to determine when a wakeup signal is received in an input signal. Upon determining that the wakeup signal is received, the wakeup circuit may signal the storage device to transition from the lower power state to the normal power state and/or another higher power state.


The wakeup circuit 108 may include a clock 109. The clock may be an unreliable frequency clock and/or a relatively lower frequency clock (such as between 7 and 29 MHz) such as a ring oscillator. The wakeup circuit may synchronize a received input signal with the clock; generate an activity signal that includes an activity pulse for each state change in the synchronized input signal per cycle of the clock; open a qualification window upon detection of a first activity pulse in the activity signal; and in the event that more than a threshold number of activity pulses in the activity signal are detected prior to closing the qualification window, declare a wakeup event. Upon declaring the wakeup event, the wakeup circuit may signal the storage device 105 to transition from the lower power state to the normal power state and/or another higher power state.


In some implementations the wakeup circuit 108 may also reduce the frequency of the input signal prior to synchronization. This may be performed where a frequency of the input signal is such that utilizing the clock 109 to sample and analyze the input signal may result in missing state changes in the input signal.


In various implementations, the qualification window may be closed if more than the threshold number of activity pulses are not detected within a period. Such a period may be as a fixed period of time and/or clock cycles (such as 63 and/or another number of clock cycles), a user and/or software specified period of time and/or clock cycles, a period of time and/or clock cycles based upon a current frequency of the clock 109, and so on.



FIG. 2 depicts a simplified block diagram of an example sampling circuit 200 that may be used in the wakeup circuit 108. As illustrated, the sampling circuit may include a divide-by-two portion 202, a synchronizer portion 203, and a differentiator portion 204.


The divide-by-two portion 202 (shown as including flip flop 207 and inverter 206) may receive an input signal 201 (e.g., the sigdet signal discussed above) and reduce the frequency of the input signal 201 by performing a divide by two function. The divide-by-two portion may reduce the frequency of the input signal sufficiently that the reduced frequency input signal may be safely sampled by the clock 109 without bursts or spaces being missed.


The synchronizer portion 203 (shown as including flip flops 208 and 209 driven by the clock 109) may synchronize the reduced frequency input signal with the clock. In other words, the synchronizer portion may sample the reduced frequency input signal into the domain of the clock.


The differentiator portion 204 (shown as including exclusive or gate 211 and flip flop 210 driven by the clock) may generate an activity signal 205 that includes one activity pulse for each state change present in the synchronized input signal in different clock cycles. In other words, the differentiator portion may create an activity signal which is asserted for each clock cycle in which the output of the synchronizer portion changes state from the previous clock cycle. Assertion in consecutive clock cycles may be acceptable, but state changes that correspond to a wakeup signal present in the input signal 201 may change state at most once per clock cycle.


Overall, the sampling circuit 200 may function to change the waveform of the input signal 201 into an activity signal 205 pulse train that is usable for further processing. The activity signal may include one activity pulse for each burst in the input signal.


Although the sampling circuit 200 is illustrated and described as including particular components arranged in a particular order, it is understood that this is an example. In various implementations, various components may be arranged in various orders without departing from the scope of the present disclosure.


For example, the sampling circuit 200 is illustrated and described as including the divide-by-two portion 202. However, in various implementations a different frequency reduction component may be utilized (such as a component that performs a divide by any number N function on the input signal 201, a component that performs a divide by two function on the input signal utilizing other components than the flip flop 207 and the inverter 206, and so on). In some implementations, frequency reduction may be omitted without departing from the scope of the present disclosure.


By way of another example, the synchronizer portion 203 is illustrated and described as including flip flops 208 and 209 driven by the clock 109. However, in various implementations other components may be utilized to synchronize the reduced frequency input signal with the clock without departing from the scope of the present disclosure.


By way of still another example, the differentiator portion 204 is illustrated and described as including exclusive or gate 211 and flip flop 210 driven by the clock 109. However, in various implementations other components may be utilized to generate the activity signal from the synchronized input signal without departing from the scope of the present disclosure.



FIG. 3 depicts a simplified block diagram of an example process flow 300 of an example qualification circuit that may be used in the wakeup circuit 108. As illustrated, the process flow may include a qualification window portion 301, an activity counter portion 302, and a threshold compare portion 303. In the qualification portion, the activity signal 205 may be processed and a qualification window opened upon the first activity pulse detected in the activity signal. The qualification window may be closed after a period. FIG. 3 is illustrated as using a fixed time (such as a fixed period of time that may be based a number of clock cycles). However, it is understood that this is an example and that any fixed period of time, a user and/or software specified period of time and/or clock cycles, a period of time and/or clock cycles based upon a current frequency of the clock 109, and so on may be utilized without departing from the scope of the present disclosure.


In the activity counter portion 302, an activity counter may be incremented for each activity pulse detected in the activity signal 205 while the qualification window is open. The activity counter may be cleared and/or otherwise set to a zero or base value upon opening of the qualification window.


In the threshold compare portion 303, the current value of the activity counter may be compared against a threshold (which may be fixed, user or system programmable, and so on). If the current value of the activity counter exceeds the threshold (meaning that a number of activity pulses detected during the qualification window are sufficient to indicate that a wakeup signal was present in the input signal 201), a wakeup event may be declared.


As pulses in the input signal 201 corresponding to a wakeup signal would occur within a particular period of time, use of the qualification window may reject at least some noise present in the input signal as a number of intermittent random spikes in the input signal exceeding the threshold would only trigger declaration of a wakeup event if they occurred during the qualification window. Such a number of intermittent random spikes in the input signal exceeding the threshold would not trigger declaration of a wakeup event if they occurred outside of the duration of the qualification window. The duration of the qualification window may correspond to the maximum duration of any wakeup signal that could be present in the input signal (such as between 50 and 78 cycles of the clock 109).



FIG. 4A depicts a diagram 400a of an example input signal 201 including a wakeup signal 403a that may be received by the wakeup circuit 108. As illustrated, the wakeup signal 403a may include six assertions which may be approximately 106.666 nanoseconds long and negations which may also be 106.666 nanoseconds long.



FIG. 4B depicts a diagram 400b of an example input signal 201 including a wakeup signal 403b that may be received by the wakeup circuit 108 and a first example activity signal 404b waveform that the wakeup circuit 108 may generate based on the example input signal using a first clock frequency. Such a first clock frequency may be, by way of example, 7 MHz. As illustrated, the wakeup signal 403b may include six assertions which may be approximately 106.666 nanoseconds long and negations which may also be 106.666 nanoseconds long. The illustrated first example activity signal 404b waveform may be the waveform that is generated from the wakeup signal 403b using the first clock frequency. As illustrated, the six activity pulses in the first example activity signal 404b waveform occur in consecutive clock cycles. By utilizing the above discussed techniques, the wakeup circuit 108 may be able to declare a wakeup event by analyzing this first example activity signal 404b.



FIG. 4C depicts a diagram 400c of an example input signal 201 including a wakeup signal 403c that may be received by the wakeup circuit 108 and a second example activity signal waveform that the wakeup circuit 108 may generate based on the example input signal using a second clock frequency. Such a second clock frequency may be, by way of example, 21 MHz. As illustrated, the wakeup signal 403c may include six assertions which may be approximately 106.666 nanoseconds long and negations which may also be 106.666 nanoseconds long. The illustrated second example activity signal 404c waveform may be the waveform that is generated from the wakeup signal 403c using the second clock frequency. As illustrated, the six activity pulses in the second example activity signal 404c waveform occur in widely separated clock cycles. By utilizing the above discussed techniques, the wakeup circuit 108 may be also able to declare a wakeup event by analyzing this second example activity signal 404c.


Thus the wakeup circuit 108 may be able to utilize clocks 109 that have a range of frequencies within a minimum and a maximum frequency range without requiring configuration for a specific frequency. The wakeup circuit may be configured without knowledge as to exactly what frequency the clock will have. In other words, the wakeup circuit may be able to utilize a clock of an unknown frequency. This may have cost saving benefits since requiring a specific frequency may increase component costs. Conversely, being able to work with different clock frequencies expands integration options and lowers the overall costs of implementation.


In various implementations, the clock 109 may have a period no longer than an envelope of a differential signal detector that generates the input signal 201. This may prevent bursts or spaces from being missed during analysis of the activity signal 205.



FIG. 5 depicts a flow chart of sample operations of a first example method of operating a wakeup circuit. The method may be performed while an electronic device associated with the wakeup circuit is operating in one or more low power states.


At block 501, an input signal may be received. The flow may then proceed to block 502 where the frequency of the input signal may be reduced. Next, the flow may proceed to block 503 where the reduced frequency input signal is synchronized with a clock. The flow may then proceed to block 504 where an activity signal is generated from the synchronized input signal. The generated activity signal may include an activity pulse for each state change present in different clock cycles of the synchronized input signal.


Next, the flow may proceed to block 505 where it may be determined whether or not a first activity pulse is detected in the generated activity signal. If so, the flow may proceed to block 506. Otherwise, processing of the received input signal may continue by the flow returning to block 501 where receipt of the input signal continues.


At block 506, after it is determined whether or not a first activity pulse is detected in the generated activity signal, a qualification window may be opened. The flow may then proceed to block 507 where an activity counter may be incremented for a detected activity pulse in the generated activity signal. The flow may then proceed to block 508 where it may be determined whether the value of the activity counter exceeds a threshold. If so, the flow may proceed to block 510. Otherwise, the flow may proceed to block 509.


At block 509, after it is determined that the value of the activity counter does not exceed the threshold, it may be determined whether or not to close the qualification window. The determination of whether or not to close the qualification window may be based on whether or not a period (such as a fixed period of time and/or clock cycles, a user and/or software specified period of time and/or clock cycles, a period of time and/or clock cycles based upon a current frequency of the clock, and so on) has expired since the qualification window was opened. If so, the flow may proceed to block 512. Otherwise, the flow may return to block 507 where the activity counter may be incremented for the next detected activity pulse in the generated activity signal.


At block 510, after it is determined that the value of the activity counter exceeds the threshold, a wakeup event may be declared. The flow may then proceed to block 511 where the electronic device is signaled to change power state. The power state may change from one or more low power states to a relatively higher power state.


At block 512, after it is determined to close the qualification window, the qualification window is closed. The flow may then return to block 505 where it may be determined whether or not a first activity pulse after closing of the previous qualification window is detected in the generated activity signal.


Although the example method 500 is illustrated and described as including particular operations performed in a particular order, it is understood that this is an example. In various implementations, various orders of the same, similar, and/or different operations may be performed without departing from the scope of the present disclosure. For example, the method is illustrated and described as performing the operations of blocks 501-512 in a linear, sequential fashion. However, it is understood that this is for the sake of clarity. In various implementations, one or more of these operations may be performed simultaneously and/or in other orders and/or sequences than shown. For example, processing of the input signal to generate the activity signal may be performed continuously when operating in a low power state and may be performed while the generated activity signal is being analyzed without departing from the scope of the present disclosure.


Further, although the operations of blocks 508-512 are illustrated and described as declaring a wakeup event if more than the threshold number of activity pulses are detected prior to the closing of the qualification window, it is understood that this is an example. In various implementations, whether or not a wakeup event is declared may be dependent on the clock cycle in which the threshold number of activity pulses are detected. For example, in some implementations a wakeup event may be declared if the final activity pulse for the threshold is detected prior to the clock cycle in which the qualification window will be closed. By way of another example, in various implementations a wakeup event may be declared if the final activity pulse for the threshold is detected in the clock cycle in which the qualification window will be closed. By way of still another example, in some implementations a wakeup event may be declared if the final activity pulse for the threshold is detected in the clock cycle immediately after the clock cycle in which the qualification window is closed. Various configurations are possible and contemplated.


For example, although the method 500 is illustrated and described as declaring a wakeup event if the value of the activity counter exceeds the threshold, it is understood that this is an example. In various implementations, the wakeup event may be declared if a particular pattern of activity pulses is detected in the generated activity signal as opposed to more than a threshold number without departing from the scope of the present disclosure.


Although the wakeup circuit 108 is illustrated in FIG. 1 and described above as being a component of a storage device 105, it is understood that this is an example. In various implementations, the wakeup circuit may be a component of and/or a separate component operable to control any electronic device that is capable of operating in multiple power states.


For example, FIG. 6 depicts a simplified block diagram of another example electronic device 601 having a wakeup circuit 602. As illustrated, the wakeup circuit may include a clock 604, a sampling circuit 605, and a qualification circuit 606. The electronic device may include one or more electronic components 603 that are powered in a higher power state and not powered in a lower power state. The wakeup circuit may be operable to sample and process input signals as described above to detect present wakeup signals and declare wakeup events accordingly.


As also illustrated, the electronic device may include one or more additional clocks 607. Such an additional clock may consume more power than the clock 604 and may be active in the higher power state but not active in the lower power state. In some implementations, the additional clock may be a crystal oscillator.


Although the electronic device 601 is illustrated and described as including particular components, it is understood that this is an example. Various components in various configurations may be utilized without departing from the scope of the present disclosure. For example, although the wakeup circuit 602 is shown and described as including distinct sampling circuits 605 and qualification circuits 606, it is understood that in various implementations the wakeup circuit may perform the functions of these circuits without having distinct dedicated circuitry.



FIG. 7A-7B is a flow chart and block diagram combination that depicts a flow chart of sample operations of a second example method of operating a wakeup circuit. The method of FIG. 7A may begin at operation 700 where a received input signal is processed to reduce the frequency of an input signal and synchronize the reduced frequency input signal with a clock. Next, at operation 702, an activity signal may be generated that includes an activity pulse for each state change in the processed signal per cycle of the clock. Next, at operation 704, a qualification window may be opened upon detection of a first activity pulse in the activity signal. The qualification window may close after a fixed period of time, such as a fixed number of cycles of the clock. Then, at operation 706, a wakeup event may be signaled in the event more than a threshold number of activity pulses are detected prior to closing of the qualification window.


Although the example method of FIG. 7A is illustrated and described as including particular operations performed in a particular order, it is understood that this is an example. In various implementations, various orders of the same, similar, and/or different operations may be performed without departing from the scope of the present disclosure. For example, although the operation 702 is illustrated and described as processing the received input signal to both reduce the frequency and synchronize with the clock, in some implementations the input signal may be processed to synchronize with the clock without reducing frequency.


By way of another example, although the operation 704 is illustrated and described as closing the qualification window after a fixed period of time, in some implementations the period of time may not be fixed. For example, in various implementations the qualification window may be closed based on a period specified by a user or software execution, determined based on determining a current frequency of the clock, and/or other such factors.


In many embodiments, the method of FIG. 7A can be implemented by an electronic device, such as depicted by the simplified block diagram of FIG. 7B. As one example, an electronic device 710 can include a wakeup circuit 716 configured to perform the method of FIG. 7A. In one embodiment, the electronic device can be in the form of a data storage device, and the wakeup circuit 716 can be a part of a processor and/or control circuitry of the data storage device. Such a processor and/or control circuitry can perform or coordinate one or more of the operations of the data storage device. For example, the processor and/or control circuitry can be connected to a voice coil motor (“VCM”) that controls the location of a read head and a write head along a rotatable disk that is formed from a magnetic material. The processor and/or control circuitry may also communicate with one or more host devices coupled to the data storage device.


In the present disclosure, the methods disclosed may be implemented as sets of instructions or software readable by a device. Further, it is understood that the specific order or hierarchy of steps in the methods disclosed are examples of sample approaches. In other embodiments, the specific order or hierarchy of steps in the method can be rearranged while remaining within the disclosed subject matter. The accompanying method claims present elements of the various steps in a sample order, and are not necessarily meant to be limited to the specific order or hierarchy presented.


The described disclosure may be provided as a computer program product, or software, that may include a non-transitory machine-readable medium having stored thereon instructions, which may be used to program a computer system (or other electronic devices) to perform a process according to the present disclosure. A non-transitory machine-readable medium includes any mechanism for storing information in a form (e.g., software, processing application) readable by a machine (e.g., a computer). The non-transitory machine-readable medium may take the form of, but is not limited to, a magnetic storage medium (e.g., floppy diskette, video cassette, and so on); optical storage medium (e.g., CD-ROM); magneto-optical storage medium; read only memory (ROM); random access memory (RAM); erasable programmable memory (e.g., EPROM and EEPROM); flash memory; and so on.


The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the described embodiments. However, it will be apparent to one skilled in the art that the specific details are not required in order to practice the described embodiments. Thus, the foregoing descriptions of the specific embodiments described herein are presented for purposes of illustration and description. They are not meant to be exhaustive or to limit the embodiments to the precise forms disclosed. It will be apparent to one of ordinary skill in the art that many modifications and variations are possible in view of the above teachings. In particular, any features described with respect to one embodiment may also be used in some embodiments, where compatible. Likewise, the features of the different embodiments may be exchanged, substituted, or omitted where compatible and appropriate.


Many embodiments of the foregoing disclosure may include or may be described in relation to various methods of operation, use, manufacture, and so on. Notably, the operations of methods presented herein are meant only to be exemplary and, accordingly, are not necessarily exhaustive. For example an alternate operation order, or fewer or additional steps may be required or desired for particular embodiments.

Claims
  • 1. A wakeup circuit for an electronic device, comprising: a clock;a sampling circuit, coupled to the clock, configured to: synchronize a received input signal with the clock; andgenerate an activity signal that includes an activity pulse for each state change in the synchronized input signal per cycle of the clock; anda qualification circuit, coupled to the sampling circuit, configured to: open a qualification window upon detection of a first activity pulse in the activity signal;in the event more than a threshold number of activity pulses in the activity signal are detected prior to closing the qualification window, declare a wakeup event; andclose the qualification window.
  • 2. The wakeup circuit of claim 1, the wakeup circuit signals the electronic device to transition from a lower power state to a higher power state upon declaring the wakeup event.
  • 3. The wakeup circuit of claim 2, wherein the electronic device includes an additional clock that is not active during the lower power state.
  • 4. The wakeup circuit of claim 3, wherein the additional clock comprises a crystal oscillator.
  • 5. The wakeup circuit of claim 1, wherein the sampling circuit is further configured to reduce a frequency of the received input signal.
  • 6. The wakeup circuit of claim 5, wherein the sampling circuit comprises a divide circuit that reduces the frequency of the input signal by performing a divide by two function on the input signal.
  • 7. The wakeup circuit of claim 6, wherein the divide circuit comprises a flip flop and an inverter.
  • 8. The wakeup circuit of claim 5, wherein the sampling circuit comprises a divide circuit that reduces the frequency of the input signal by performing a divide by N function on the input signal.
  • 9. The wakeup circuit of claim 1, wherein the sampling circuit comprises flip flops that synchronize the received input signal with the clock.
  • 10. The wakeup circuit of claim 1, wherein the sampling circuit comprises a differentiator circuit configured to generate the activity signal utilizing a flip flop and an exclusive or gate.
  • 11. The wakeup circuit of claim 1, wherein the qualification circuit includes an activity counter that increments an activity count for each activity pulse in the activity signal detected during the qualification window.
  • 12. The wakeup circuit of claim 11, wherein the qualification circuit includes a threshold comparer that determines if the activity count exceeds the threshold number of activity pulses during the qualification window.
  • 13. The wakeup circuit of claim 1, wherein the clock comprises a ring oscillator.
  • 14. A storage device, comprising: a storage component operable in at least a lower power state and a higher power state; anda wakeup circuit configured to signal the storage component to transition from the lower power state to the higher power state upon declaration of a wakeup event, the wakeup circuit comprising: a clock;a sampling circuit configured to: process a received input signal to synchronize with the clock; andgenerate an activity signal that includes an activity pulse for each time the processed input signal changes state in different cycles of the clock; anda qualification circuit configured to: open a qualification window upon detection of a first activity pulse in the activity signal; andin the event more than a threshold number of activity pulses in the activity signal are detected prior to closing the qualification window, declare a wakeup event.
  • 15. The storage device of claim 14, wherein the clock has an unknown clock frequency.
  • 16. The storage device of claim 14, wherein the sampling circuit is operable to utilize the clock if the clock has a clock frequency within a range of clock frequencies.
  • 17. The storage device of claim 16, wherein the range of clock frequencies comprises 7 megahertz to 29 megahertz.
  • 18. The storage device of claim 14, wherein the qualification circuit is configured to ignore at least some noise in the activity signal.
  • 19. The storage device of claim 14, wherein the processing of the received input signal further comprises reducing a frequency of the received input signal.
  • 20. A method for operating a wakeup circuit for an electronic device, the method comprising: processing a received input signal to reduce frequency and synchronize with a clock;generating an activity signal that includes an activity pulse for each state change in the processed signal per cycle of the clock;opening a qualification window upon detection of a first activity pulse in the activity signal, the qualification window closing after a period of time; andin the event more than a threshold number of activity pulses in the activity signal are detected prior to closing the qualification window, signaling a wakeup event.
  • 21. The method of claim 20, wherein the period of time is longer than a duration of a wakeup signal present in the received input signal.
  • 22. The method of claim 21, wherein the period of time corresponds to between 50 and 70 cycles of the clock.
  • 23. The method of claim 20, wherein a period of the clock is no longer than an envelope of a differential signal detector that generates the input signal.
  • 24. An electronic device, comprising: a wakeup circuit configured to: process a received input signal to reduce frequency and synchronize with a clock;generate an activity signal that includes an activity pulse for each state change in the processed signal per cycle of the clock;open a qualification window upon detection of a first activity pulse in the activity signal, the qualification window closing after a period of time; andin the event more than a threshold number of activity pulses in the activity signal are detected prior to closing the qualification window, signal a wakeup event.
US Referenced Citations (334)
Number Name Date Kind
6014283 Codilian et al. Jan 2000 A
6047380 Nolan et al. Apr 2000 A
6052076 Patton, III et al. Apr 2000 A
6052250 Golowka et al. Apr 2000 A
6067206 Hull et al. May 2000 A
6078453 Dziallo et al. Jun 2000 A
6091564 Codilian et al. Jul 2000 A
6094020 Goretzki et al. Jul 2000 A
6101065 Alfred et al. Aug 2000 A
6104153 Codilian et al. Aug 2000 A
6122133 Nazarian et al. Sep 2000 A
6122135 Stich Sep 2000 A
6141175 Nazarian et al. Oct 2000 A
6160368 Plutowski Dec 2000 A
6181502 Hussein et al. Jan 2001 B1
6195222 Heminger et al. Feb 2001 B1
6198584 Codilian et al. Mar 2001 B1
6198590 Codilian et al. Mar 2001 B1
6204988 Codilian et al. Mar 2001 B1
6243223 Elliott et al. Jun 2001 B1
6281652 Ryan et al. Aug 2001 B1
6285521 Hussein Sep 2001 B1
6292320 Mason et al. Sep 2001 B1
6310742 Nazarian et al. Oct 2001 B1
6320718 Bouwkamp et al. Nov 2001 B1
6342984 Hussein et al. Jan 2002 B1
6347018 Kadlec et al. Feb 2002 B1
6369972 Codilian et al. Apr 2002 B1
6369974 Asgari et al. Apr 2002 B1
6462896 Codilian et al. Oct 2002 B1
6476996 Ryan Nov 2002 B1
6484577 Bennett Nov 2002 B1
6493169 Ferris et al. Dec 2002 B1
6496324 Golowka et al. Dec 2002 B1
6498698 Golowka et al. Dec 2002 B1
6507450 Elliott Jan 2003 B1
6534936 Messenger et al. Mar 2003 B2
6538839 Ryan Mar 2003 B1
6545835 Codilian et al. Apr 2003 B1
6549359 Bennett et al. Apr 2003 B1
6549361 Bennett et al. Apr 2003 B1
6560056 Ryan May 2003 B1
6568268 Bennett May 2003 B1
6574062 Bennett et al. Jun 2003 B1
6577465 Bennett et al. Jun 2003 B1
6614615 Ju et al. Sep 2003 B1
6614618 Sheh et al. Sep 2003 B1
6636377 Yu et al. Oct 2003 B1
6690536 Ryan Feb 2004 B1
6693764 Sheh et al. Feb 2004 B1
6707635 Codilian et al. Mar 2004 B1
6710953 Vallis et al. Mar 2004 B1
6710966 Codilian et al. Mar 2004 B1
6714371 Codilian Mar 2004 B1
6714372 Codilian et al. Mar 2004 B1
6724564 Codilian et al. Apr 2004 B1
6731450 Codilian et al. May 2004 B1
6735041 Codilian et al. May 2004 B1
6738220 Codilian May 2004 B1
6747837 Bennett Jun 2004 B1
6760186 Codilian et al. Jul 2004 B1
6788483 Ferris et al. Sep 2004 B1
6791785 Messenger et al. Sep 2004 B1
6795268 Ryan Sep 2004 B1
6819518 Melkote et al. Nov 2004 B1
6826006 Melkote et al. Nov 2004 B1
6826007 Patton, III Nov 2004 B1
6847502 Codilian Jan 2005 B1
6850383 Bennett Feb 2005 B1
6850384 Bennett Feb 2005 B1
6867944 Ryan Mar 2005 B1
6876508 Patton, III et al. Apr 2005 B1
6882496 Codilian et al. Apr 2005 B1
6885514 Codilian et al. Apr 2005 B1
6900958 Yi et al. May 2005 B1
6900959 Gardner et al. May 2005 B1
6903897 Wang et al. Jun 2005 B1
6914740 Tu et al. Jul 2005 B1
6914743 Narayana et al. Jul 2005 B1
6920004 Codilian et al. Jul 2005 B1
6924959 Melkote et al. Aug 2005 B1
6924960 Melkote et al. Aug 2005 B1
6924961 Melkote et al. Aug 2005 B1
6934114 Codilian et al. Aug 2005 B1
6934135 Ryan Aug 2005 B1
6937420 McNab et al. Aug 2005 B1
6937423 Ngo et al. Aug 2005 B1
6952322 Codilian et al. Oct 2005 B1
6954324 Tu et al. Oct 2005 B1
6958881 Codilian et al. Oct 2005 B1
6963465 Melkote et al. Nov 2005 B1
6965488 Bennett Nov 2005 B1
6967458 Bennett et al. Nov 2005 B1
6967811 Codilian et al. Nov 2005 B1
6970319 Bennett et al. Nov 2005 B1
6972539 Codilian et al. Dec 2005 B1
6972540 Wang et al. Dec 2005 B1
6972922 Subrahmanyam et al. Dec 2005 B1
6975480 Codilian et al. Dec 2005 B1
6977789 Cloke Dec 2005 B1
6980389 Kupferman Dec 2005 B1
6987636 Chue et al. Jan 2006 B1
6987639 Yu Jan 2006 B1
6989954 Lee et al. Jan 2006 B1
6992848 Agarwal et al. Jan 2006 B1
6992851 Cloke Jan 2006 B1
6992852 Ying et al. Jan 2006 B1
6995941 Miyamura et al. Feb 2006 B1
6999263 Melkote et al. Feb 2006 B1
6999267 Melkote et al. Feb 2006 B1
7006320 Bennett et al. Feb 2006 B1
7016134 Agarwal et al. Mar 2006 B1
7023637 Kupferman Apr 2006 B1
7023640 Codilian et al. Apr 2006 B1
7027256 Subrahmanyam et al. Apr 2006 B1
7027257 Kupferman Apr 2006 B1
7035026 Codilian et al. Apr 2006 B2
7046472 Melkote et al. May 2006 B1
7050249 Chue et al. May 2006 B1
7050254 Yu et al. May 2006 B1
7050258 Codilian May 2006 B1
7054098 Yu et al. May 2006 B1
7061714 Yu Jun 2006 B1
7064918 Codilian et al. Jun 2006 B1
7068451 Wang et al. Jun 2006 B1
7068459 Cloke et al. Jun 2006 B1
7068461 Chue et al. Jun 2006 B1
7068463 Ji et al. Jun 2006 B1
7088547 Wang et al. Aug 2006 B1
7095579 Ryan et al. Aug 2006 B1
7110208 Miyamura et al. Sep 2006 B1
7110214 Tu et al. Sep 2006 B1
7113362 Lee et al. Sep 2006 B1
7113365 Ryan et al. Sep 2006 B1
7116505 Kupferman Oct 2006 B1
7126781 Bennett Oct 2006 B1
7158329 Ryan Jan 2007 B1
7180703 Subrahmanyam et al. Feb 2007 B1
7184230 Chue et al. Feb 2007 B1
7196864 Yi et al. Mar 2007 B1
7199966 Tu et al. Apr 2007 B1
7203021 Ryan et al. Apr 2007 B1
7209321 Bennett Apr 2007 B1
7212364 Lee May 2007 B1
7212374 Wang et al May 2007 B1
7215504 Bennett May 2007 B1
7224546 Orakcilar et al. May 2007 B1
7248426 Weerasooriya et al. Jul 2007 B1
7251098 Wang et al. Jul 2007 B1
7253582 Ding et al. Aug 2007 B1
7253989 Lau et al. Aug 2007 B1
7265933 Phan et al. Sep 2007 B1
7289288 Tu Oct 2007 B1
7298574 Melkote et al. Nov 2007 B1
7301717 Lee et al. Nov 2007 B1
7304819 Melkote et al. Dec 2007 B1
7330019 Bennett et al. Feb 2008 B1
7330327 Chue et al. Feb 2008 B1
7333280 Lifchits et al. Feb 2008 B1
7333290 Kupferman Feb 2008 B1
7339761 Tu et al. Mar 2008 B1
7365932 Bennett Apr 2008 B1
7388728 Chen et al. Jun 2008 B1
7391583 Sheh et al. Jun 2008 B1
7391584 Sheh et al. Jun 2008 B1
7433143 Ying et al. Oct 2008 B1
7440210 Lee Oct 2008 B1
7440225 Chen et al. Oct 2008 B1
7450334 Wang et al. Nov 2008 B1
7450336 Wang et al. Nov 2008 B1
7453661 Jang et al. Nov 2008 B1
7457071 Sheh Nov 2008 B1
7466509 Chen et al. Dec 2008 B1
7468855 Weerasooriya et al. Dec 2008 B1
7477471 Nemshick et al. Jan 2009 B1
7480116 Bennett Jan 2009 B1
7489464 McNab et al. Feb 2009 B1
7492546 Miyamura Feb 2009 B1
7495857 Bennett Feb 2009 B1
7499236 Lee et al. Mar 2009 B1
7502192 Wang et al. Mar 2009 B1
7502195 Wu et al. Mar 2009 B1
7502197 Chue Mar 2009 B1
7505223 McCornack Mar 2009 B1
7542225 Ding et al. Jun 2009 B1
7548392 Desai et al. Jun 2009 B1
7551390 Wang et al. Jun 2009 B1
7558016 Le et al. Jul 2009 B1
7573670 Ryan et al. Aug 2009 B1
7576941 Chen et al. Aug 2009 B1
7580212 Li et al. Aug 2009 B1
7583470 Chen et al. Sep 2009 B1
7595954 Chen et al. Sep 2009 B1
7602575 Lifchits et al. Oct 2009 B1
7616399 Chen et al. Nov 2009 B1
7619844 Bennett Nov 2009 B1
7626782 Yu et al. Dec 2009 B1
7630162 Zhao et al. Dec 2009 B2
7639447 Yu et al. Dec 2009 B1
7656604 Liang et al. Feb 2010 B1
7656607 Bennett Feb 2010 B1
7660067 Ji et al. Feb 2010 B1
7663835 Yu et al. Feb 2010 B1
7675707 Liu et al. Mar 2010 B1
7679854 Narayana et al. Mar 2010 B1
7688534 McCornack Mar 2010 B1
7688538 Chen et al. Mar 2010 B1
7688539 Bryant et al. Mar 2010 B1
7697233 Bennett et al. Apr 2010 B1
7701661 Bennett Apr 2010 B1
7710676 Chue May 2010 B1
7715138 Kupferman May 2010 B1
7729079 Huber Jun 2010 B1
7733189 Bennett Jun 2010 B1
7746592 Liang et al. Jun 2010 B1
7746594 Guo et al. Jun 2010 B1
7746595 Guo et al. Jun 2010 B1
7760461 Bennett Jul 2010 B1
7800853 Guo et al. Sep 2010 B1
7800856 Bennett et al. Sep 2010 B1
7800857 Calaway et al. Sep 2010 B1
7839591 Weerasooriya et al. Nov 2010 B1
7839595 Chue et al. Nov 2010 B1
7839600 Babinski et al. Nov 2010 B1
7843662 Weerasooriya et al. Nov 2010 B1
7852588 Ferris et al. Dec 2010 B1
7852592 Liang et al. Dec 2010 B1
7864481 Kon et al. Jan 2011 B1
7864482 Babinski et al. Jan 2011 B1
7869155 Wong Jan 2011 B1
7876522 Calaway et al. Jan 2011 B1
7876523 Panyavoravaj et al. Jan 2011 B1
7916415 Chue Mar 2011 B1
7916416 Guo et al. Mar 2011 B1
7916420 McFadyen et al. Mar 2011 B1
7916422 Guo et al. Mar 2011 B1
7929238 Vasquez Apr 2011 B1
7961422 Chen et al. Jun 2011 B1
8000053 Anderson Aug 2011 B1
8031423 Tsai et al. Oct 2011 B1
8054022 Ryan et al. Nov 2011 B1
8059357 Knigge et al. Nov 2011 B1
8059360 Melkote et al. Nov 2011 B1
8072703 Calaway et al. Dec 2011 B1
8077428 Chen et al. Dec 2011 B1
8078901 Meyer et al. Dec 2011 B1
8081395 Ferris Dec 2011 B1
8085020 Bennett Dec 2011 B1
8116023 Kupferman Feb 2012 B1
8145934 Ferris et al. Mar 2012 B1
8179626 Ryan et al. May 2012 B1
8189286 Chen et al. May 2012 B1
8213106 Guo et al. Jul 2012 B1
8254222 Tang Aug 2012 B1
8300348 Liu et al. Oct 2012 B1
8315005 Zou et al. Nov 2012 B1
8320069 Knigge et al. Nov 2012 B1
8351174 Gardner et al. Jan 2013 B1
8358114 Ferris et al. Jan 2013 B1
8358145 Ferris et al. Jan 2013 B1
8390367 Bennett Mar 2013 B1
8432031 Agness et al. Apr 2013 B1
8432629 Rigney et al. Apr 2013 B1
8451697 Rigney et al. May 2013 B1
8482873 Chue et al. Jul 2013 B1
8498076 Sheh et al. Jul 2013 B1
8498172 Patton, III et al. Jul 2013 B1
8508881 Babinski et al. Aug 2013 B1
8531798 Xi et al. Sep 2013 B1
8537486 Liang et al. Sep 2013 B2
8542455 Huang et al. Sep 2013 B2
8553351 Narayana et al. Oct 2013 B1
8564899 Lou et al. Oct 2013 B2
8576506 Wang et al. Nov 2013 B1
8605382 Mallary et al. Dec 2013 B1
8605384 Liu et al. Dec 2013 B1
8610391 Yang et al. Dec 2013 B1
8611040 Xi et al. Dec 2013 B1
8619385 Guo et al. Dec 2013 B1
8630054 Bennett et al. Jan 2014 B2
8630059 Chen et al. Jan 2014 B1
8634154 Rigney et al. Jan 2014 B1
8634283 Rigney et al. Jan 2014 B1
8643976 Wang et al. Feb 2014 B1
8649121 Smith et al. Feb 2014 B1
8654466 McFadyen Feb 2014 B1
8654467 Wong et al. Feb 2014 B1
8665546 Zhao et al. Mar 2014 B1
8665551 Rigney et al. Mar 2014 B1
8670206 Liang et al. Mar 2014 B1
8687312 Liang Apr 2014 B1
8693123 Guo et al. Apr 2014 B1
8693134 Xi et al. Apr 2014 B1
8699173 Kang et al. Apr 2014 B1
8711027 Bennett Apr 2014 B1
8717696 Ryan et al. May 2014 B1
8717699 Ferris May 2014 B1
8717704 Yu et al. May 2014 B1
8724245 Smith et al. May 2014 B1
8724253 Liang et al. May 2014 B1
8724524 Urabe et al. May 2014 B2
8737008 Watanabe et al. May 2014 B1
8737013 Zhou et al. May 2014 B2
8743495 Chen et al. Jun 2014 B1
8743503 Tang et al. Jun 2014 B1
8743504 Bryant et al. Jun 2014 B1
8749904 Liang et al. Jun 2014 B1
8760796 Lou et al. Jun 2014 B1
8767332 Chahwan et al. Jul 2014 B1
8767343 Helmick et al. Jul 2014 B1
8767354 Ferris et al. Jul 2014 B1
8773787 Beker Jul 2014 B1
8779574 Agness et al. Jul 2014 B1
8780473 Zhao et al. Jul 2014 B1
8780477 Guo et al. Jul 2014 B1
8780479 Helmick et al. Jul 2014 B1
8780489 Gayaka et al. Jul 2014 B1
8792202 Wan et al. Jul 2014 B1
8797664 Guo et al. Aug 2014 B1
8804267 Huang et al. Aug 2014 B2
8824081 Guo et al. Sep 2014 B1
8824262 Liu et al. Sep 2014 B1
20040221187 Durand Nov 2004 A1
20050143145 Maekawa Jun 2005 A1
20090146721 Kurooka et al. Jun 2009 A1
20090275302 Huston et al. Nov 2009 A1
20100035085 Jung et al. Feb 2010 A1
20100180136 Thompson Jul 2010 A1
20110234417 Aleman Sep 2011 A1
20110312285 Amir et al. Dec 2011 A1
20120284493 Lou et al. Nov 2012 A1
20130120870 Zhou et al. May 2013 A1
20130148240 Ferris et al. Jun 2013 A1
20140215246 Lee Jul 2014 A1
Foreign Referenced Citations (1)
Number Date Country
9820609 May 1998 WO