Non-volatile memory and writing method thereof
AssigneeGigadevice Semiconductor (Beijing) Inc.
InventorMinyi CHEN
Life of this patent
Estimating the term…
Abstract
A non-volatile memory includes: a plurality of word lines; a plurality of bit lines; a plurality of pages; and a controller. Each of the plurality of pages includes a plurality of data storage units and at least one flag storage unit. The controller is configured to perform: writing a data stream into the plurality of data storage units; setting a flag in response to a number of bits “0” in the data stream and a number of bits “1” in the data stream; and writing the flag into the plurality of flag storage units, where the flag indicates whether the data stream is inversed. A writing method and a reading method of a non-volatile memory are also provided.
Claims20
A non-volatile memory, comprising:
- a plurality of word lines;
- a plurality of bit lines;
- a plurality of storage units, wherein the plurality of storage units are addressed by the plurality of word lines and the plurality of bit lines, and the plurality of storage units comprise a plurality of data storage units and a plurality of flag storage units;
- and
- a controller configured to perform:
- writing a data stream into the plurality of data storage units;
- setting a flag in response to a number of bits “0” in the data stream and a number of bits “1” in the data stream;
- and
- writing the flag into the plurality of flag storage units, wherein the flag indicates whether the data stream is inversed.
A writing method of a non-volatile memory, comprising:
- writing a data stream into a plurality of data storage units;
- setting a flag in response to a number of bits “0” in the data stream and a number of bits “1” in the data stream, wherein the flag indicates whether the data stream is inversed;
- and
- writing the flag into a plurality of flag storage units.
A non-volatile memory, comprising:
- a plurality of pages, each comprising a plurality of data storage units and at least one flag storage unit;
- and
- a controller configured to perform:
- determining whether a number of bits “0” in a data stream is greater than a number of bits “1” in the data stream;
- in response to determining that the number of bits “0” in the data stream is greater than the number of bits “1” in the data stream, inversing the data stream, setting a flag as a first value, and writing the inversed data stream and the flag into a target page among of the plurality of pages;
- and
- in response to determining that the number of bits “0” in the data stream is less than or equal to the number of bits “1” in the data stream, setting the flag as a second value, and writing the data stream and the flag into the target page.
Dependencies are inferred from the claim text.