Sparse byte enable indicator for high speed memory access arbitration method and apparatus
First Claim
1. A method for efficiently writing data to memory in connection with error correction code, comprising:
- providing a sparse byte enable signal to a memory interface, wherein said sparse byte enable signal is related to an amount of data included in at least a first word of said data to be written, before said data to be written is provided to said memory interface, wherein said sparse byte enable signal is provided as part of a request to write said data to memory;
in response to receiving said sparse byte enable signal, said memory interface initiating a read of old data from said memory; and
after said initiating a read of old data from said memory, receiving at said memory interface said first word of said data to be written.
18 Assignments
0 Petitions
Accused Products
Abstract
A sparse byte enable indicator for high speed memory access arbitration and a memory controller utilizing same is provided. According to the invention, a sparse byte enable indication is provided to the memory controller with or at about the same time that a request for a write to memory is received from a client. In response to receiving the sparse byte enable indication, the memory controller can begin to initiate a read-modify-write sequence. The present invention allows write operations involving less than complete data words in a first block of data to be completed in fewer clock cycles than in connection with controllers that do not utilize a sparse byte enable indication. The present invention is applicable in connection with any device controlling access to memory in systems utilizing error correction code.
14 Citations
22 Claims
-
1. A method for efficiently writing data to memory in connection with error correction code, comprising:
-
providing a sparse byte enable signal to a memory interface, wherein said sparse byte enable signal is related to an amount of data included in at least a first word of said data to be written, before said data to be written is provided to said memory interface, wherein said sparse byte enable signal is provided as part of a request to write said data to memory;
in response to receiving said sparse byte enable signal, said memory interface initiating a read of old data from said memory; and
after said initiating a read of old data from said memory, receiving at said memory interface said first word of said data to be written. - View Dependent Claims (2, 3, 4)
receiving said data to be written at said memory interface;
merging said data to be written with said old data to create a complete data word;
calculating an error correction syndrome value from said complete data word; and
writing said complete data word and said error correction syndrome value to said memory.
-
-
5. A method for controlling computer memory, comprising:
-
receiving at a first memory interface a request to write first data to said memory;
receiving at said first memory interface a sparse byte enable indication, wherein said sparse byte enable indication signals that an incomplete data word is to be written in connection with a first block of said first data, and wherein said sparse byte enable indication is received prior to said incomplete data word;
in response to receiving at said first memory interface said sparse byte enable indication initiating a read of a complete word of old data from said memory;
after said initiating a read of a complete word of old data from said memory, receiving at said first memory interface said incomplete data work;
combining said incomplete data word of said first block of data with said complete word of old data to form a modified complete data word, wherein said modified complete data word includes all of said incomplete data word of said first block of said first data and a portion of said complete word of old data;
calculating a first error correction syndrome value from said modified complete data word; and
writing said modified complete data word and said first error correction syndrome value to said memory. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
reading said modified complete data word and said first error correction syndrome value from said memory;
providing said modified complete data word to at least one of a first input/output interface and a second input/output interface.
-
-
9. The method of claim 8, wherein said at least one of said that input/output interface and said second input/output interface is interconnected to a storage device.
-
10. The method of claim 5, wherein a write operation is initiated in response to a write request for which no indication that an incomplete data word is to be written in connection with a first block of data is received.
-
11. The method of claim 5, further comprising:
-
reading said modified complete data word and said first error correction syndrome value from said memory;
calculating a second error correction syndrome value from said modified complete data word as read from said memory; and
comparing said first error correction syndrome value to said second error correction syndrome value.
-
-
12. The method of claim 11, wherein said modified complete data word is discarded if said first and second error correction syndrome values are not equal.
-
13. The method of claim 11, wherein said modified complete data word and said first error correction syndrome value are provided to an external device if said first and second error correction values are equal.
-
14. The method of claim 6, wherein a complete data word comprises a first number of bytes, wherein said incomplete data word includes less than said first number of bytes, and wherein said combining said incomplete data word of said first block of data with said complete word of old data comprises adding one or more bytes from said complete word of old data to said incomplete data word to obtain a new data word having said first number of bytes, said new data word comprising said modified complete data word.
-
15. The method of claim 5, wherein said syndrome value is calculated by performing an XOR operation.
-
16. The method of claim 5, wherein a complete data word comprises a 64 bit word.
-
17. A computer memory controller, comprising:
-
a primary input/output interface;
a device input/output interface interconnected to said primary input/output interface;
at least a first memory client interconnected to said primary input/output interface;
a memory interface interconnected to said memory client and to said device input/output interface;
memory interconnected to said memory interface; and
an arbitrator, wherein in response to a sparse byte enable signal received as part of a write request said memory interface initiates a read operation in preparation for calculating an error correction syndrome value, and wherein said read operation is initiated prior to said memory controller receiving data associated with said write request. - View Dependent Claims (18, 19, 20, 21, 22)
-
Specification