Patent ID: 7770067

Claim:
A processing unit comprising: at least one processor core which carries out program instructions; a cache memory which temporarily stores values used by said at least one processor core, said cache memory including one or more arrays of redundant elements and fuses which reroute access requests to said redundant elements; a built-in self test (BIST) engine which carries out a nonfunctional built-in self test of said cache memory and provides first information regarding first locations of a first set of defects in said cache memory; a scan ring controller which receives the first information from said BIST engine; a fuse data register responsive to said scan ring controller which sets a first plurality of said fuses based on the first information to reroute access requests for the first locations to a first set of said redundant elements; and control logic which operates said at least one processor core in a normal processing mode after completion of the nonfunctional built-in self test and setting of said first plurality of fuses while said BIST engine is deactivated to carry out a functional test procedure utilizing said cache memory, collects fault data during the functional test procedure, and identifies second locations of a second set of defects in said cache memory using the fault data, wherein said scan ring controller stores second information regarding the second locations in said fuse data register, and said fuse data register responsively repairs the second set of defects by setting a second plurality of said fuses which reroutes access requests for the second locations to a second set of said redundant elements.