Nonvolatile memory device
First Claim
1. A semiconductor memory device, comprising:
- a memory array, configured to storing data by a reversible and nonvolatile variable resistance element;
an erasure unit, wherein when erasing a selected block of the memory array in response to an external erasure command, the erasure unit configured to set a first flag data indicating whether the selected block is in an erasure state without changing the data in the selected block;
a reading unit, wherein when reading a selected word of the memory array in response to an external reading command, the reading unit configured to output data of the selected word or data indicating the erasing based on the first flag data,wherein the erasure unit configured to set the first flag data, when the first flag data indicates the erasure state, the data indicating the erasing is output by the reading unit without relation of data stored in the selected word; and
a programming unit, configured to receive an external programming command and programming input data to the selected word of the memory array, the programming unit setting the first flag data to be in a non-erasure state,wherein the programming unit configured to compare the data stored in the selected word with the input data, programs the input data or reverse conversion data of the input data to the selected word according to a comparing result, and sets a second flag data for determining data for programming,wherein the programming unit configured to reverse inconsistent data in the selected word according to the comparing result,a ratio of inconsistency is the relationship between the input data and the data stored in the selected word;
if the ratio of inconsistency between the input data and the data stored in the selected word is 50% or more than 50%, the input data is programmed to the selected word, but only the data of the selected word corresponding to “
1”
indicating Inconsistency in an EXOR calculation is reversed;
if the ratio of inconsistency is less than 50%, the reverse conversion data is programmed to the selected word, but only the data of the selected word corresponding to “
0”
indicating consistency in the EXOR calculation is reversed, and the second flag data indicates the input data or the reverse conversion data is already programmed.
1 Assignment
0 Petitions
Accused Products
Abstract
A semiconductor memory device for suppressing a decrease of durability caused by erasure of a block unit or programming of a word unit is provided. A resistance change memory 100 includes a memory array 110 and a controller 120. The memory array 110 stores data by a reversible and nonvolatile variable resistance element. When erasing a selected block of the memory array 110 in response to an external erasure command, the controller 120 sets an EF flag indicating the selected block is in an erasure state without changing block data. The controller 120 further includes a reading unit. The reading unit outputs data of a selected word or data indicating the erasure based on the EF flag when reading the selected word of the memory array 110 in response to an external reading command.
-
Citations
6 Claims
-
1. A semiconductor memory device, comprising:
-
a memory array, configured to storing data by a reversible and nonvolatile variable resistance element; an erasure unit, wherein when erasing a selected block of the memory array in response to an external erasure command, the erasure unit configured to set a first flag data indicating whether the selected block is in an erasure state without changing the data in the selected block; a reading unit, wherein when reading a selected word of the memory array in response to an external reading command, the reading unit configured to output data of the selected word or data indicating the erasing based on the first flag data, wherein the erasure unit configured to set the first flag data, when the first flag data indicates the erasure state, the data indicating the erasing is output by the reading unit without relation of data stored in the selected word; and a programming unit, configured to receive an external programming command and programming input data to the selected word of the memory array, the programming unit setting the first flag data to be in a non-erasure state, wherein the programming unit configured to compare the data stored in the selected word with the input data, programs the input data or reverse conversion data of the input data to the selected word according to a comparing result, and sets a second flag data for determining data for programming, wherein the programming unit configured to reverse inconsistent data in the selected word according to the comparing result, a ratio of inconsistency is the relationship between the input data and the data stored in the selected word; if the ratio of inconsistency between the input data and the data stored in the selected word is 50% or more than 50%, the input data is programmed to the selected word, but only the data of the selected word corresponding to “
1”
indicating Inconsistency in an EXOR calculation is reversed;if the ratio of inconsistency is less than 50%, the reverse conversion data is programmed to the selected word, but only the data of the selected word corresponding to “
0”
indicating consistency in the EXOR calculation is reversed, and the second flag data indicates the input data or the reverse conversion data is already programmed. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A semiconductor memory device comprising a nonvolatile memory element capable of random access and rewriting data of the memory element from “
- 0”
to “
1”
or from “
1”
to “
0”
, the semiconductor memory device further comprising;an erasure unit, wherein when erasing a selected block of the memory element in response to an external erasure command, the erasure unit configured to set a first flag data indicating whether the selected block is in an erasure state without changing data in the selected block; a reading unit, wherein when reading a selected word of the memory element in response to an external reading command, the reading unit configured to output data stored in the selected word or data indicating the erasing based on the first flag data, wherein the erasure unit configured to set the first flag data, when the first flag data indicating the erasing is output by the reading unit without relation of data stored in the selected word; and a programming unit, configured to receive an external programming command and programming input data to the selected word of the memory array, the programming unit setting the first flag data to be in a non-erasure state, wherein the programming unit configured to compare the data stored in the selected word with the input data, programs the input data or reverse conversion data of the input data to the selected word according to a comparing result, and sets a second flag data for determining data for programming, wherein the programming unit configured to reverse inconsistent data in the selected word according to the comparing result, a ratio of inconsistency is the relationship between the input data and the data stored in the selected word; if the ratio of inconsistency between the input data and the data stored in the selected word is 50% or more than 50%, the input data is programmed to the selected word, but only the data of the selected word corresponding to “
1”
indicating inconsistency in an EXOR calculation is reversed;if the ratio of inconsistency is less than 50%, the reverse conversion data is programmed to the selected word, but only the data of the selected word corresponding to “
0”
indicating consistency in the EXOR calculation is reversed, and the second flag data indicates the input data or the reverse conversion data is already programmed.
- 0”
Specification