Error correcting code generation method and memory control apparatus
First Claim
Patent Images
1. An error correcting code generation method, comprising:
- storing data to be stored in a store instruction in a buffer;
searching a cache memory to perform a judgment as to whether the data to be stored exists in the cache memory;
when the data to be stored exists in the cache memory according to the judgment, generating a first error correcting code on the basis of data other than the data to be stored that was read out from the cache memory with the search of the cache memory, and keeping the generated first error correcting code;
generating a second error correcting code on the basis of the data to be stored in the buffer; and
generating an error correcting code for the data by merging the first error correcting code and the second error correcting code, whereina judgment as to whether a store address in a preceding store instruction corresponds to a store address in a current store instruction, and a judgment as to whether a data width of the data to be stored in the current store instruction corresponds to a predetermined data width are performed, and when the preceding store instruction having a same store address exists and the data width of the data in the current store instruction is smaller than the predetermined data width, ECC validity information showing whether the first error correcting code is appropriate is set as invalid, and the ECC validity information is associated and stored with the data and the first error correcting code.
1 Assignment
0 Petitions
Accused Products
Abstract
An objective of the present invention is to make it possible to appropriately correct an error of data in a cache memory. A store processing unit generates an nt-ECC on the basis of data stored in a non-target area that was read out from a cache memory with a search of the cache memory, and generates t-ECC on the basis of the data to be stored in the buffer.
-
Citations
12 Claims
-
1. An error correcting code generation method, comprising:
-
storing data to be stored in a store instruction in a buffer; searching a cache memory to perform a judgment as to whether the data to be stored exists in the cache memory; when the data to be stored exists in the cache memory according to the judgment, generating a first error correcting code on the basis of data other than the data to be stored that was read out from the cache memory with the search of the cache memory, and keeping the generated first error correcting code; generating a second error correcting code on the basis of the data to be stored in the buffer; and generating an error correcting code for the data by merging the first error correcting code and the second error correcting code, wherein a judgment as to whether a store address in a preceding store instruction corresponds to a store address in a current store instruction, and a judgment as to whether a data width of the data to be stored in the current store instruction corresponds to a predetermined data width are performed, and when the preceding store instruction having a same store address exists and the data width of the data in the current store instruction is smaller than the predetermined data width, ECC validity information showing whether the first error correcting code is appropriate is set as invalid, and the ECC validity information is associated and stored with the data and the first error correcting code. - View Dependent Claims (2, 3, 4)
-
-
5. A memory control apparatus comprising:
-
a buffer that stores data specified by a store instruction; a judgment circuit that searches a cache memory to judge whether the data to be stored in the store instruction exists in the cache memory; a first error correcting code generation circuit that generates, when the data to be stored exists in the cache memory according to the judgment performed by the judgment circuit, a first error correcting code on the basis of data other than the data to be stored that was read out from the cache memory with the search of the cache memory and keeping the generated first error correcting code; a second error correcting code generation circuit that generates a second error correcting code on the basis of the data to be stored in the buffer; and a merge circuit that generates an error correcting code for the data by merging the first error correcting code and the second error correcting code, wherein the first error correcting code generation circuit performs a judgment as to whether a store address in a preceding store instruction corresponds to a store address in a current store instruction and a judgment as to whether a data width of the data in the current store instruction corresponds to a predetermined data width, and when a preceding store instruction having a same store address and the data width of the data in the current store instruction is smaller than the predetermined data width, ECC validity information showing whether the first error correcting code is appropriate is set as invalid, and the ECC validity information is associated and stored with the data and the first error correcting code. - View Dependent Claims (6, 7, 8)
-
-
9. A non-transitory computer-readable storage medium on which is recorded a program for causing a computer to execute a process generating an error correcting code, said process comprising:
-
storing data to be stored in a store instruction in a buffer; searching a cache memory to perform a judgment as to whether the data to be stored exists in the cache memory; when the data to be stored exists in the cache memory according to the judgment, generating a first error correcting code on the basis of the data other than the data to be stored that was read out from the cache memory with the search of the cache memory, and keeping the generated first error correcting code; generating a second error correcting code on the basis of the data to be stored in the buffer; generating an error correcting code for the data by merging the first error correcting code and the second error correcting code; performing a judgment as to whether a store address in a preceding store instruction corresponds to a store address in a current store instruction, and a judgment as to whether a data width of the data in the current store instruction corresponds to a predetermined data width; and when the preceding store instruction having a same store address and the data width of the store data in the current store instruction is smaller than the predetermined data width, setting ECC validity information showing whether the first error correcting code is appropriate as invalid, and associating and storing the ECC validity information with the data and the first error correcting code. - View Dependent Claims (10, 11, 12)
-
Specification