9985655

Generating Ecc Values for Byte-Write Capable Registers

PublishedMay 29, 2018
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
11 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. An integrated circuit, comprising: a memory comprising a plurality of registers, each register comprising: a data entry, a first error correction code (ECC) entry, and a second ECC entry; and logic configured to: in response to receiving a first partial write request: generate a first ECC value using data in the first partial write request, wherein at least one of a plurality of bits of the first ECC value is an invalid data bit, and store, in a first register of the plurality of registers, (i) the first ECC value in the first ECC entry and (ii) the data of the first partial write request in the data entry, wherein the data of the first partial write request only partially fills the data entry, and in response to receiving a second partial write request: generate a second ECC value using data in the second partial write request, wherein at least one of a plurality of bits of the second ECC value is an invalid data bit, and store, in the first register, (i) the second ECC value in the second ECC entry and (ii) the data of the second partial write request in the data entry, wherein performing the first and second partial write requests fills the data entry without performing a read-modify-write.

2

2. The integrated circuit of claim 1 , wherein valid bits of the plurality of bits of the first ECC value each correspond to a respective byte of the data in the first partial write request, and valid bits of the plurality of bits of the second ECC value each correspond to a respective byte of the data in the second partial write request.

3

3. The integrated circuit of claim 1 , wherein the first ECC value has a total number of invalid bits that is different than a total number of invalid bits in the second ECC value.

4

4. The integrated circuit of claim 1 , further comprising a processor, wherein the memory comprises a register file within the processor.

5

5. An integrated circuit, comprising: a memory comprising a plurality of registers, each register comprising: a data entry, a first ECC entry, and a second ECC entry; and logic configured to: in response to receiving a first partial write request, store, in a first register of the plurality of registers, (i) a first ECC value generated using data in the first partial write request in the first ECC entry and (ii) the data of the first partial write request in the data entry, wherein the data of the first partial write request only partially fills the data entry, in response to receiving a second partial write request, store, in the first register, (i) a second ECC value generated using data in the second partial write request in the second ECC entry and (ii) the data of the second partial write request in the data entry, wherein performing the first and second partial write requests fills the data entry without performing a read-modify-write, in response to receiving a request to read the data entry of the first register, determine if the data entry is partially full, and upon determining the data entry is partially full, generate a combined ECC value by XORing the first ECC value with the second ECC value, wherein one of the first and second ECC values is filled with zeros.

6

6. The integrated circuit of claim 5 , wherein the logic is configured to: in response to the request to read the data entry of the first register, generate a test ECC value based on data stored in the data entry; and compare the test ECC value to the combined ECC value.

7

7. A computer program product for managing a memory comprising a plurality of registers, each register comprising a data entry, a first ECC entry, a second ECC entry, and a mask entry, the computer program product comprising: a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code executable by one or more computer processors to: in response to receiving a first partial write request: generate a first ECC value using data in the first partial write request, wherein at least one of a plurality of bits of the first ECC value is an invalid data bit, and store, in a first register of the plurality of registers, (i) the first ECC value in the first ECC entry and (ii) the data of the first partial write request in the data entry, wherein the data of the first partial write request only partially fills the data entry, and in response to receiving a second partial write request: generate a second ECC value using data in the second partial write request, wherein at least one of a plurality of bits of the second ECC value is an invalid data bit, and store, in the first register, (i) the second ECC value in the second ECC entry and (ii) the data of the second partial write request in the data entry, wherein performing the first and second partial write requests fills the data entry without performing a read-modify-write.

8

8. The computer program product of claim 7 , wherein valid bits of the plurality of bits of the first ECC value each correspond to a respective byte of the data in the first partial write request, and valid bits of the plurality of bits of the second ECC value each corresponds to a respective byte of the data in the second partial write request.

9

9. The computer program product of claim 7 , wherein the first ECC value has a total number of invalid bits that is different than a total number of invalid bits in the second ECC value.

10

10. The computer program product of claim 7 , wherein the computer-readable program code is further executable to: in response to receiving a request to read the data entry of the first register, determine if the data entry is partially full, upon determining the data entry is partially full, generate a combined ECC value by XORing the first ECC value with the second ECC value, wherein one of the first and second ECC values is filled with zeros.

11

11. The computer program product of claim 10 , wherein the computer-readable program code is further executable to: in response to the request to read the data entry of the first register, generate a test ECC value based on data stored in the data entry; and compare the test ECC value to the combined ECC value.

Patent Metadata

Filing Date

Unknown

Publication Date

May 29, 2018

Inventors

Dhivya JEGANATHAN
Dung Q. NGUYEN
Jose A. PAREDES
David R. TERRY
Brian W. THOMPTO

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “GENERATING ECC VALUES FOR BYTE-WRITE CAPABLE REGISTERS” (9985655). https://patentable.app/patents/9985655

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.