Using transfer bits during data transfer from non-volatile to volatile memories
First Claim
1. A method of configuring a programmable logic device including non-volatile and volatile memories, the non-volatile memory including a plurality of words comprising configuration data for the programmable logic device, each word including a first transfer bit having a first stored value that is one of a “
- programmed”
value and an “
erased”
value, the method comprising;
powering up the programmable logic device;
repeating the following sequence for a series of the words in the non-volatile memory, from a first word to a final word;
transferring one of the words from the non-volatile memory to the volatile memory, and detecting a first detected value of the first transfer bit transferred from the non-volatile memory to the volatile memory; and
repeating, if the first detected value is different from the first stored value for any one word, transferring the first word from the non-volatile memory to the volatile memory.
1 Assignment
0 Petitions
Accused Products
Abstract
Structures and methods for transferring data from non-volatile to volatile memories. An extra bit, called a “transfer bit”, is included in each data word. The transfer bit is set to the programmed value, and is monitored by a control circuit during the memory transfer. If the supply voltage is sufficient for correct programming, the transfer bit is read as “programmed”, and the data transfer continues. If the supply voltage is below the minimum supply voltage for proper programming, the transfer bit is read as “erased”, and the data transfer is reinitiated. In one embodiment, a second transfer bit set to the “erased” value is included in each word.
-
Citations
31 Claims
-
1. A method of configuring a programmable logic device including non-volatile and volatile memories, the non-volatile memory including a plurality of words comprising configuration data for the programmable logic device, each word including a first transfer bit having a first stored value that is one of a “
- programmed”
value and an “
erased”
value, the method comprising;
powering up the programmable logic device;
repeating the following sequence for a series of the words in the non-volatile memory, from a first word to a final word;
transferring one of the words from the non-volatile memory to the volatile memory, and detecting a first detected value of the first transfer bit transferred from the non-volatile memory to the volatile memory; and
repeating, if the first detected value is different from the first stored value for any one word, transferring the first word from the non-volatile memory to the volatile memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
- programmed”
-
11. An initialization circuit, comprising:
-
a non-volatile memory including a plurality of words, each word including a first transfer bit having a first stored value that is one of a “
programmed”
value and an “
erased value”
, the non-volatile memory having an input port, an output port, and a control input port;
a sensing array having an input port coupled to the output port of the non-volatile memory and an output port, the output port including a first terminal on which a sensed first transfer bit is placed;
a volatile memory having an input port coupled to the output port of the sensing array and a control input port; and
a control circuit coupled to the first terminal of the sensing array and the control input ports of the non-volatile and volatile memories. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. An apparatus for configuring a programmable logic device including non-volatile and volatile memories, the non-volatile memory including a plurality of words comprising configuration data for the programmable logic device, each word including a first transfer bit having a first stored value that is one of a “
- programmed”
value and an “
erased”
value, the apparatus comprising;
means for powering up the programmable logic device;
means for transferring each of the words from the non-volatile memory to the volatile memory, in a sequence of words from a first word to a final word;
means for detecting for each word a first detected value of the first transfer bit transferred from the non-volatile memory to the volatile memory; and
means for repeating, if the first detected value is different from the first stored value for any one word, transferring each of the words from the non-volatile memory to the volatile memory and detecting for each word a first detected value.
- programmed”
-
19. A method of transferring data from a non-volatile memory to a volatile memory in a circuit, the non-volatile memory including a plurality of words, each word including a first transfer bit having a first stored value that is one of a “
- programmed”
value and an “
erased”
value, the method comprising;
powering up the circuit;
repeating the following sequence in response to the powering up the circuit, for a series of the words in the non-volatile memory, from a first word to a final word;
transferring one of the words from the non-volatile memory to the volatile memory, and detecting a first detected value of the first transfer bit transferred from the non-volatile memory to the volatile memory; and
repeating, if the first detected value is different from the first stored value for any one word, transferring the first word from the non-volatile memory to the volatile memory. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
- programmed”
-
31. An apparatus for transferring data from a non-volatile memory to a volatile memory in a circuit, the non-volatile memory including a plurality of words, each word including a first transfer bit having a first stored value that is one of a “
- programmed”
value and an “
erased”
value, the apparatus comprising;
means for powering up the circuit;
means for transferring each of the words from the non-volatile memory to the volatile memory, in a sequence of words from a first word to a final word;
means for detecting for each word a first detected value of the first transfer bit transferred from the non-volatile memory to the volatile memory; and
means for repeating, if the first detected value is different from the first stored value for any one word, transferring each of the words from the non-volatile memory to the volatile memory and detecting for each word a first detected value.
- programmed”
Specification