Semiconductor device and control method therefor
First Claim
1. A semiconductor device comprising:
- a memory cell array comprising a plurality of nonvolatile memory cells;
a detection circuit detecting the number of bits to be written as division data that is divided from data to be programmed into the memory cell array and comparing the number of bits with a predetermined number of bits;
a latch circuit latching inversion data, which is either the division data inverted or not inverted in accordance with a result of comparing the number of bits with the predetermined number of bits;
a write circuit coupled to the latch circuit and programming the inversion data into the memory cell array; and
a control circuit coupled to the detection circuit, the latch circuit, and the write circuit to cause the detection circuit to detect the number of bits to be written as next division data and to compare the number of bits of the next division data with the predetermined number of bits, while concurrently controlling the write circuit to program the inversion data into the memory cell array.
9 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a semiconductor device and a method for controlling a semiconductor device having a memory cell array having a plurality of nonvolatile memory cells, the method including detecting the number of bits to be written as division data that is divided from data to be programmed into the memory cell array, comparing the number of bits with a predetermined number of bits, inverting or not inverting the division data to produce inversion data in accordance with a result of comparing the number of bits with the predetermined number of bits, and programming the inversion data into the memory cell array. The method further includes detecting the number of bits to be written as next division data and comparing the number of bits of next division data with the predetermined number of bits, while concurrently programming the inversion data into the memory cell array.
-
Citations
28 Claims
-
1. A semiconductor device comprising:
-
a memory cell array comprising a plurality of nonvolatile memory cells;
a detection circuit detecting the number of bits to be written as division data that is divided from data to be programmed into the memory cell array and comparing the number of bits with a predetermined number of bits;
a latch circuit latching inversion data, which is either the division data inverted or not inverted in accordance with a result of comparing the number of bits with the predetermined number of bits;
a write circuit coupled to the latch circuit and programming the inversion data into the memory cell array; and
a control circuit coupled to the detection circuit, the latch circuit, and the write circuit to cause the detection circuit to detect the number of bits to be written as next division data and to compare the number of bits of the next division data with the predetermined number of bits, while concurrently controlling the write circuit to program the inversion data into the memory cell array. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A semiconductor device comprising:
-
a memory cell array comprising a plurality of nonvolatile memory cells;
a detection circuit detecting the number of bits to be written as division data that is divided from data to be programmed into the memory cell array and comparing the number of bits with a predetermined number of bits;
a latch circuit latching inversion data, which is either the division data inverted or not inverted in accordance with a result of comparing the number of bits with the predetermined number of bits; and
a write circuit coupled to the latch circuit and programming the inversion data into the memory cell array, wherein the latch circuit includes a pair of nodes operating in a complementary manner, and latches the inversion data that is either the division data inverted or not inverted by inputting the division data into either of the pair of nodes in accordance with the result of comparing the number of bits with the predetermined number of bits. - View Dependent Claims (7)
-
-
8. A semiconductor device comprising:
-
a memory cell array comprising a plurality of nonvolatile memory cells;
a read circuit reading division data that is divided from data to be read from the memory cell array;
a control circuit determining whether index data indicates that the division data is inverted or not inverted when the division data is programmed; and
a latch circuit latching the division data read by the read circuit and outputting inversion data that is either the division data inverted or not inverted in accordance with a result of determining whether the index data indicates that the division data is inverted or not inverted, wherein the read circuit reads next division data from the memory cell array, while the control circuit is determining whether the index data indicates that the division data is inverted or not inverted. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A semiconductor device comprising:
-
a memory cell array comprising a plurality of nonvolatile memory cells;
a read circuit reading division data that is divided from data to be read from the memory cell array;
a control circuit determining whether index data indicates that the division data is inverted or not inverted when the division data is programmed; and
a latch circuit latching the division data read by the read circuit and outputting inversion data that is either the division data inverted or that not inverted in accordance with a result of determining whether the index data indicates that the division data is inverted or not inverted, wherein the latch circuit includes a pair of nodes operating in a complementary manner, and outputs the inversion data that is either the division data inverted or not inverted by outputting the division data from either of the pair of nodes in response to the index data. - View Dependent Claims (15)
-
-
16. A method for controlling a semiconductor device comprising a memory cell array having a plurality of nonvolatile memory cells, the method comprising:
-
detecting the number of bits to be written as division data that is divided from data to be programmed into the memory cell array;
comparing the number of bits with a predetermined number of bits;
inverting or not inverting the division data to produce inversion data in accordance with a result of comparing the number of bits with the predetermined number of bits; and
programming the inversion data into the memory cell array, wherein detecting the number of bits to be written as next division data and comparing the number of bits of next division data with the predetermined number of bits, while concurrently programming the inversion data into the memory cell array.
-
-
17. A method for controlling a semiconductor device comprising a memory cell array having a plurality of nonvolatile memory cells, the method comprising:
-
reading division data that is divided from data to be read from the memory cell array;
determining whether index data indicates that the division data is inverted or not inverted when the division data is programmed; and
inverting or not inverting the division data in accordance with a result of determining whether the index data indicates that the division data is inverted or not inverted, wherein reading next division data from the memory cell array, while determining whether the index data indicates that the division data is inverted or not inverted.
-
-
18. A wireless communications device, comprising:
-
a flash memory comprising;
a memory cell array;
a bit detection portion for detecting the number of bits to be written as division data that is divided from data to be programmed into the memory cell array;
a bit comparison portion for comparing the detected number of bits with a predetermined number of bits;
an inversion portion for inverting the division data to produce inversion data in accordance with a result of comparing the detected number of bits with the predetermined number of bits; and
a programming portion for programming the inversion data into the memory cell array;
wherein the bit detection portion is further operable to detect the number of bits to be written as next division data and the comparison portion is further operable to compare the number of bits of next division data with the predetermined number of bits, while the programming portion is concurrently programming the inversion data into the memory cell array;
a processor;
a communications component;
a transmitter;
a receiver; and
an antenna connected to the transmitter circuit and the receiver circuit. - View Dependent Claims (19, 20, 21)
-
-
22. A computing device comprising:
-
a processor;
an input component;
an output component;
a memory comprising;
a volatile memory; and
a flash memory comprising;
a memory cell array;
a bit detection portion for detecting the number of bits to be written as division data that is divided from data to be programmed into the memory cell array;
a bit comparison portion for comparing the detected number of bits with a predetermined number of bits;
an inversion portion for inverting the division data to produce inversion data in accordance with a result of comparing the detected number of bits with the predetermined number of bits; and
a programming portion for programming the inversion data into the memory cell array;
wherein the bit detection portion is further operable to detect the number of bits to be written as next division data and the comparison portion is further operable to compare the number of bits of next division data with the predetermined number of bits, while the programming portion is concurrently programming the inversion data into the memory cell array. - View Dependent Claims (23, 24, 25)
-
-
26. A portable media player comprising:
-
a processor;
a cache;
a user input component;
a coder-decoder component; and
a memory comprising;
a flash memory comprising;
a memory cell array;
a bit detection portion for detecting the number of bits to be written as division data that is divided from data to be programmed into the memory cell array;
a bit comparison portion for comparing the detected number of bits with a predetermined number of bits;
an inversion portion for inverting the division data to produce inversion data in accordance with a result of comparing the detected number of bits with the predetermined number of bits; and
a programming portion for programming the inversion data into the memory cell array;
wherein the bit detection portion is further operable to detect the number of bits to be written as next division data and the comparison portion is further operable to compare the number of bits of next division data with the predetermined number of bits, while the programming portion is concurrently programming the inversion data into the memory cell array. - View Dependent Claims (27, 28)
-
Specification