Nonvolatile logic array based computing over inconsistent power supply
First Claim
Patent Images
1. A computing device apparatus comprising:
- a processing device comprising;
first, second, and third power domains;
a plurality of non-volatile logic element arrays configured to be powered by the first power domain;
a plurality of volatile storage elements, wherein each volatile storage element includes a retention flip flop circuit having a master latch portion and a slave latch portion, and wherein the master latch portion of each volatile storage element is configured be powered by second power domain and the slave latch portion is configured to be powered by the third power domain; and
at least one non-volatile logic controller configured to control the plurality of non-volatile logic element arrays to store a machine state represented by the plurality of volatile storage elements and to read out a stored machine state from the plurality of non-volatile logic element arrays to the plurality of volatile storage elements;
a voltage or current detector configured to sense a power quality from an input power supply;
a power management controller in communication with the voltage or current detector to receive information regarding the power quality and configured to provide to the at least one non-volatile logic controller information effecting storing the machine state to and restoration of the machine state from the plurality of non-volatile logic element arrays;
a voltage regulator connected to receive power from the input power supply and provide power to an output power supply rail configured to provide power to the first, second, and third power domains of the processing device, wherein the voltage regulator is configured to disconnect the output power supply rail from the input power supply in response to a determination that the power quality is below a threshold; and
a charge storage element configured to provide temporary power to the processing device to store the machine state in the plurality of non-volatile logic element arrays after the output power supply rail is disconnected from the input power supply;
wherein;
during the storing of the machine state to the plurality of non-volatile logic element arrays, the first power domain is enabled to power the plurality of non-volatile logic element arrays, the second power domain is enabled to power the master latch portion of each of the plurality of volatile storage elements, and the third power domain is enabled to power the slave latch portion of each of the plurality of volatile storage elements; and
during the restoration of the machine state from the plurality of non-volatile logic element arrays, the first power domain is enabled to power the plurality of non-volatile logic element arrays, the second power domain is disabled to prevent the master latch portion of each of the plurality of volatile storage elements from being powered, and the third power domain is enabled to power the slave latch portion of each of the plurality of volatile storage elements.
0 Assignments
0 Petitions
Accused Products
Abstract
Input power quality for a processing device is sensed. In response to detection of poor power quality, input power is disconnected, and the processing device backs up its machine state in non-volatile logic element arrays using available stored charge. When power is restored, the stored machine state is restored from the non-volatile logic element arrays to the volatile logic elements whereby the processing device resumes its process from the state immediately prior to power loss allowing seamless processing across intermittent power supply.
-
Citations
16 Claims
-
1. A computing device apparatus comprising:
-
a processing device comprising; first, second, and third power domains; a plurality of non-volatile logic element arrays configured to be powered by the first power domain; a plurality of volatile storage elements, wherein each volatile storage element includes a retention flip flop circuit having a master latch portion and a slave latch portion, and wherein the master latch portion of each volatile storage element is configured be powered by second power domain and the slave latch portion is configured to be powered by the third power domain; and at least one non-volatile logic controller configured to control the plurality of non-volatile logic element arrays to store a machine state represented by the plurality of volatile storage elements and to read out a stored machine state from the plurality of non-volatile logic element arrays to the plurality of volatile storage elements; a voltage or current detector configured to sense a power quality from an input power supply; a power management controller in communication with the voltage or current detector to receive information regarding the power quality and configured to provide to the at least one non-volatile logic controller information effecting storing the machine state to and restoration of the machine state from the plurality of non-volatile logic element arrays; a voltage regulator connected to receive power from the input power supply and provide power to an output power supply rail configured to provide power to the first, second, and third power domains of the processing device, wherein the voltage regulator is configured to disconnect the output power supply rail from the input power supply in response to a determination that the power quality is below a threshold; and a charge storage element configured to provide temporary power to the processing device to store the machine state in the plurality of non-volatile logic element arrays after the output power supply rail is disconnected from the input power supply; wherein; during the storing of the machine state to the plurality of non-volatile logic element arrays, the first power domain is enabled to power the plurality of non-volatile logic element arrays, the second power domain is enabled to power the master latch portion of each of the plurality of volatile storage elements, and the third power domain is enabled to power the slave latch portion of each of the plurality of volatile storage elements; and during the restoration of the machine state from the plurality of non-volatile logic element arrays, the first power domain is enabled to power the plurality of non-volatile logic element arrays, the second power domain is disabled to prevent the master latch portion of each of the plurality of volatile storage elements from being powered, and the third power domain is enabled to power the slave latch portion of each of the plurality of volatile storage elements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system comprising:
-
non-volatile memory; a plurality of volatile storage elements each including a retention flip flop circuit having a master latch portion and a slave latch portion; a first power domain configured to power the non-volatile memory; a second power domain configured to power the master latch portion of each of the volatile storage elements; a third power domain configured to power the slave latch portion of each of the volatile storage elements; a non-volatile memory controller configured to control the non-volatile memory to store a machine state represented by the volatile storage elements and to read out a stored machine state from the non-volatile memory to the volatile storage elements; a detector configured to sense power quality data from an input power supply; and a power management controller configured to receive the sensed power quality and to provide to the non-volatile controller control information effecting the storing of the machine state to and the restoration of the machine state from the non-volatile memory, the control information being in response to the sensed power quality; wherein, during the storing of the machine state to the non-volatile memory, the first power domain is enabled to power the non-volatile memory, the second power domain is enabled to power the master latch portion of each of the volatile storage elements, and the third power domain is enabled to power the slave latch portion of each of the volatile storage elements; and wherein, during the restoration of the machine state from the non-volatile memory, the first power domain is enabled to power the non-volatile memory, the second power domain is disabled to prevent the master latch portion of each of the volatile storage elements from being powered, and the third power domain is enabled to power the slave latch portion of each of the volatile storage elements. - View Dependent Claims (15, 16)
-
Specification