发明名称 Error code management in systems permitting partial writes
摘要 A memory 10 stores a data block comprising a plurality of data values DV. An error code, such as an error correction code ECC, is associated with the memory and has a value dependent upon the plurality of data values which form the data block stored within the memory. If a partial write is performed on a data block, then the ECC information becomes invalid and is marked with an ECC_invalid flag. The intent is avoiding the need to read all data values to compute the ECC and thus save time and energy. The memory may be a cache line 28 within a level 1 cache memory 10. Memory scrub control circuitry 38 performs periodic memory scrub operations which trigger flushing of partially written cache lines back to main memory.
申请公布号 US9384091(B2) 申请公布日期 2016.07.05
申请号 US201414283517 申请日期 2014.05.21
申请人 ARM Limited 发明人 Orion Luc
分类号 H03M13/00;G06F11/10 主分类号 H03M13/00
代理机构 Nixon & Vanderhye P.C. 代理人 Nixon & Vanderhye P.C.
主权项 1. Apparatus for processing data comprising: error code generating circuitry configured to generate an error code for a data block comprising a plurality of data values, said error code having a value dependent upon said plurality of data values; a memory configured to store one or more data values of said data block and said error code; and memory scrubbing circuitry coupled to said memory and configured to perform a periodic memory scrub operation in which data values of said data block are checked with said error code and, if said data block has an invalid error code, then all data values for said data block are written to said memory and said error code is updated; wherein said error code generating circuitry is configured such that: (i) when one or more data values within said data block are written to said memory and all data values within said data block are stored within said memory, said error code generating circuitry generates an updated value of said error code for said data block; and (ii) when one or more data values within said data block are written to said memory and a proper subset of said data values within said data block are stored within said memory, said error code generating circuitry marks as invalid said error code for said data block, and wherein said memory is part of a memory hierarchy including at least one higher order memory and said memory scrubbing circuitry is configured to read any data values of said data block not present within said memory from said higher order memory.
地址 Cambridge GB