Semiconductor memory device and error correcting method
AssigneeKabushiki Kaisha Toshiba
InventorsYutaka Yamada, Tatsunori Kanai
Life of this patent
Estimating the term…
Abstract
A decoding unit is arranged between a reading unit that reads data with an error correction code added from memory cells on a specific one of the first data lines and an output unit that selectively outputs certain data of the read out data. The decoding unit corrects any errors in the data read out by the reading unit in accordance with the error correction code. The data in which the errors are corrected by the decoding unit is written back in the memory cells on the specific first data line.
Claims12
A semiconductor memory device comprising:
- a memory cell array in which a plurality of memory cells that stores therein coded data to which an error correction code is added and that are arranged at intersections of a plurality of first data lines and a plurality of second data lines;
- an enabling unit that enables one of the first data lines in the memory cell array that is designated from an external device;
- a reading unit that reads a plurality of coded data from memory cells on an enabled first data line;
- a decoding unit that corrects an error in the coded data read by the reading unit using the error correction code and generates decoded data by decoding the coded data;
- a storage unit that stores therein the decoded data generated by the decoding unit in association with a second data line corresponding to a position of a memory cell from which the decoded data is read;
- an output unit that outputs, from among the decoded data stored in the storage unit, decoded data associated with a second data line designated from the external device, to the external device;
- an overwriting unit that overwrites decoded data associated with the enabled first data line and the second data line that are designated from the external device with target data to be written;
- a coding unit that codes entire decoded data including the decoded data overwritten by the overwriting unit, and generates coded data by adding the error correction code to coded decoded data;
- and
- a write-back unit that writes back the coded data generated by the coding unit to the memory cells on the enabled first data line in the memory cell array that is enabled by the enabling unit.
An error correcting method for a semiconductor memory device including a memory cell array in which a plurality of memory cells that stores therein coded data to which an error correction code is added and that are arranged at intersections of a plurality of first data lines and a plurality of second data lines, the error correcting method comprising:
- enabling one of the first data lines that is designated from an external device;
- reading a plurality of coded data from memory cells on an enabled first data line in the memory cell array;
- decoding by
- correcting an error in the coded data read at the reading using the error correction code, and
- generating decoded data by decoding the coded data;
- storing the decoded data generated at the decoding in association with a second data line corresponding to a position of a memory cell from which the decoded data is read;
- outputting, from among the decoded data, decoded data associated with a second data line designated from the outside to the external device;
- overwriting decoded data associated with the enabled first data line and the second data line that are designated from the external device with target data to be written;
- coding by
- coding entire decoded data including the decoded data overwritten at the overwriting, and
- generating coded data by adding the error correction code to coded decoded data;
- and
- writing back the coded data generated at the coding to the memory cells on the enabled first data line in the memory cell array that is enabled by the enabling.
A non-transitory computer-readable recording medium that stores therein a computer program for correcting an error in a semiconductor memory device including a memory cell array in which a plurality of memory cells that stores therein coded data to which an error correction code is added and that are arranged at intersections of a plurality of first data lines and a plurality of second data lines, the computer program when executed causing a computer to execute:
- enabling one of the first data lines that is designated from an external device;
- reading a plurality of coded data from memory cells on an enabled first data line in the memory cell array;
- decoding by
- correcting an error in the coded data read at the reading using the error correction code and
- generating decoded data by decoding the coded data;
- storing the decoded data generated at the decoding in association with a second data line corresponding to a position of a memory cell from which the decoded data is read;
- outputting, from among the stored decoded data, decoded data associated with a second data line designated from the external device, to the external device;
- overwriting decoded data associated with the enabled first data line and the second data line that are designated from the external device with target data to be written;
- coding by
- coding entire decoded data including the decoded data overwritten at the overwriting, and
- generating coded data by adding the error correction code to coded decoded data;
- and
- writing back the coded data generated at the coding to the memory cells on the enabled first data line in the memory cell array that is enabled by the enabling.
A semiconductor memory device comprising:
- a memory cell array in which a plurality of memory cells that stores therein coded data to which an error correction code is added and that are arranged at intersections of a plurality of first data lines and a plurality of second data lines;
- an enabling unit that enables one of the first data lines in the memory cell array that is designated from an external device;
- a reading unit that reads a plurality of coded data from memory cells on an enabled first data line;
- a decoding unit that corrects an error in the coded data read by the reading unit using the error correction code and generates decoded data by decoding the coded data;
- a storage unit that stores therein line data in which the decoded data generated by the decoding unit is associated with a first data line and a second data line corresponding to a position of a memory cell from which the decoded data is read, detection result information indicating whether the decoding unit detects an error in the decoded data,
- an output unit that outputs, from among the decoded data stored in the storage unit, decoded data associated with a second data line designated from the external device, to the external device;
- an overwriting unit that overwrites decoded data associated with the enabled first data line and the second data line that are designated from the external device with target data to be written;
- a coding unit that codes entire decoded data including the decoded data overwritten by the overwriting unit and generates coded data by adding the error correction code to coded decoded data;
- a write-back unit that writes back the coded data generated by the coding unit to the memory cells on the enabled first data line in the memory cell array that is enabled by the enabling unit;
- and
- a storage controlling unit that determines whether the decoded data stored in the storage unit includes decoded data associated with the first data line designated from the external device and that upon determining that the decoded data associated with the first data line designated from the external device is included, controls storage of the storage unit regarding new line data for the first data line designated from the external device;
- wherein
- the enabling unit enables the first data line associated with the detection result information indicating that an error is detected, and
- the write-back unit writes back the decoded data associated with the detection result information indicating that the error is detected in the memory cell on the enabled first data line.
An error correcting method for a semiconductor memory device including a memory cell array in which a plurality of memory cells that stores therein coded data to which an error correction code is added and that are arranged at intersections of a plurality of first data lines and a plurality of second data lines, the error correcting method comprising:
- enabling one of the first data lines that is designated from an external device;
- reading a plurality of coded data from memory cells on an enabled first data line in the memory cell array;
- decoding by
- correcting an error in the coded data read at the reading using the error correction code, and
- generating decoded data by decoding the coded data;
- storing the decoded data generated at the decoding in association with a second data line corresponding to a position of a memory cell from which the decoded data is read;
- outputting, from among the stored decoded data, decoded data associated with a second data line designated from the external device, to the external device;
- overwriting decoded data associated with the enabled first data line and the second data line that are designated from the external device with target data to be written;
- coding by
- coding entire decoded data including the decoded data overwritten at the overwriting, and
- generating coded data by adding the error correction code to coded decoded data;
- and
- writing back the coded data generated at the coding to the memory cells on the enabled first data line in the memory cell array that is enabled by the enabling.
A non-transitory computer-readable recording medium that stores therein a computer program for correcting an error in a semiconductor memory device including a memory cell array in which a plurality of memory cells that stores therein coded data to which an error correction code is added are arranged at intersections of a plurality of first data lines and a plurality of second data lines, the computer program when executed causing a computer to execute:
- enabling one of the first data lines that is designated from an external device;
- reading a plurality of coded data from memory cells on an enabled first data line in the memory cell array;
- decoding by
- correcting an error in the coded data read at the reading using the error correction code, and
- generating decoded data by decoding the coded data;
- storing the decoded data generated at the decoding in association with a second data line corresponding to a position of a memory cell from which the decoded data is read;
- outputting, from among the stored decoded data, decoded data associated with a second data line designated from the external device, to the external device;
- overwriting decoded data associated with the enabled first data line and the second data line that are designated from the external device with target data to be written;
- coding by
- coding entire decoded data including the decoded data overwritten at the overwriting, and
- generating coded data by adding the error correction code to coded decoded data;
- and
- writing back the coded data generated at the coding to the memory cells on the enabled first data line in the memory cell array that is enabled by the enabling.
Dependencies are inferred from the claim text.