Boot State Restore from Nonvolatile Bitcell Array
First Claim
1. A computing device apparatus providing non-volatile logic based computing, the apparatus comprising:
- a plurality of non-volatile logic element arrays;
a plurality of volatile storage elements;
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;
wherein at least one of the plurality of non-volatile logic element arrays is configured to store a boot state representing a state of the computing device apparatus after a given amount of a boot process is completed;
wherein the at least one non-volatile logic controller is configured to control restoration of data representing the boot state from the at least one of the plurality of non-volatile logic element arrays to corresponding ones of the plurality of volatile storage elements in response to detecting a reset event for the computing device apparatus.
2 Assignments
0 Petitions
Accused Products
Abstract
A processing device using a plurality of volatile storage elements to execute a boot process for and stores in a plurality of non-volatile logic element arrays a boot state representing a state of the processing device after a given amount of the boot process is completed. When it is determined that the processing device needs to restart from a boot state, energy can be saved by restoring the machine state at that boot state instead of re-booting. The stored boot state will not change, and given the nature of certain non-volatile storage elements, the data read from the NVL storage elements needs to be re-written to the elements after read out. Accordingly, a round-trip data restoration operation is executed that automatically writes back data to an individual non-volatile logic element after reading data from the individual non-volatile logic element without completing separate read and write operations.
-
Citations
20 Claims
-
1. A computing device apparatus providing non-volatile logic based computing, the apparatus comprising:
-
a plurality of non-volatile logic element arrays; a plurality of volatile storage elements; 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; wherein at least one of the plurality of non-volatile logic element arrays is configured to store a boot state representing a state of the computing device apparatus after a given amount of a boot process is completed; wherein the at least one non-volatile logic controller is configured to control restoration of data representing the boot state from the at least one of the plurality of non-volatile logic element arrays to corresponding ones of the plurality of volatile storage elements in response to detecting a reset event for the computing device apparatus. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
operating a processing device using a plurality of volatile storage elements to execute a boot process for the processing device; storing in a plurality of non-volatile logic element arrays a boot state representing a state of the processing device after a given amount of the boot process is completed; restoring the boot state from the at least one of the plurality of non-volatile logic element arrays to corresponding ones of the plurality of volatile storage elements in response to detecting a reset event for the processing device. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A computing device apparatus providing non-volatile logic based computing, the apparatus comprising:
-
a plurality of non-volatile logic element arrays wherein individual ones of the plurality of non-volatile logic element arrays comprise ferroelectric capacitor based bit cells; a plurality of volatile storage elements; 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; wherein at least one of the plurality of non-volatile logic element arrays is configured to store a boot state representing a state of the computing device apparatus after a given amount of a boot process is completed; wherein the at least one non-volatile logic controller is configured to, in response to detecting a previous system reset or power loss event for the computing device apparatus, control restoration of data representing the boot state from the at least one of the plurality of non-volatile logic element arrays to corresponding ones of the plurality of volatile storage elements using a round-trip data restoration operation that automatically writes back data to an individual non-volatile logic element after reading data from the individual non-volatile logic element without completing separate read and write operations; wherein the at least one non-volatile logic controller is configured to execute the round-trip data restoration by; initiating reading of data from the individual non-volatile logic element at a first time by switching a first plate line high to induce a voltage on a node of a corresponding ferroelectric capacitor bit cell based on a capacitance ratio for ferroelectric capacitors of the corresponding ferroelectric capacitor bit cell; at a second time switching a sense amplifier enable signal high to enable a sense amplifier to detect the voltage induced on the node and to provide an output signal corresponding to data stored in the individual non-volatile logic element; at a third time switching a pass line high to open transfer gates to provide an output signal corresponding to data stored in the individual non-volatile logic element; at a fourth time switching a second plate line high to induce a polarizing signal across the ferroelectric capacitors to write data back to the corresponding ferroelectric capacitor bit cell corresponding to the data stored in the individual non-volatile logic element. - View Dependent Claims (19, 20)
-
Specification