IP Library › Granted Patent US 9,524,241
Granted Patent B2
US 9,524,241 · App. 14/285,484 · Granted Dec 20, 2016

Multi-core microprocessor power gating cache restoral mechanism

Inventors: G. Glenn Henry (Austin, TX); Dinesh K. Jain (Austin, TX); Stephan Gaskins (Austin, TX)
Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD.
G06F12/0844G06F9/4418G11C17/16G11C17/18G06F2212/601G11C2029/4402
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,524,241
App. No.
14/285,484
Granted
Dec 20, 2016
Kind
B2
Abstract

An apparatus includes a fuse array and a stores. The fuse array is disposed on a die, and is programmed with compressed configuration data for a plurality of cores. The stores is coupled to the plurality of cores, and includes a plurality of sub-stores that each correspond to each of the plurality of cores, where one of the plurality of cores accesses the semiconductor fuse array upon power-up/reset to read and decompresses the compressed configuration data, and stores a plurality of decompressed configuration data sets for one or more cache memories within the each of the plurality of cores in the plurality of sub-stores, and where, following a power gating event, one of the each of the plurality of cores subsequently accesses a corresponding one of the each of the plurality of sub-stores to retrieve and employ the decompressed configuration data sets to initialize the caches.

Claims (28)

1. An apparatus for providing configuration data to an integrated circuit, the apparatus comprising:

a semiconductor fuse array, disposed on a die, into which is programmed compressed configuration data for a plurality of cores disposed on said die, and coupled to said semiconductor fuse array; and

a stores, coupled to said plurality of cores, said stores comprising a plurality of sub-stores that each correspond to each of said plurality of cores, wherein one of said plurality of cores is configured to access said semiconductor fuse array upon power-up/reset to read and decompress said compressed configuration data, and to store a plurality of decompressed configuration data sets for one or more cache memories within said each of said plurality of cores in said plurality of sub-stores, and wherein, following a power gating event, one of said each of said plurality of cores subsequently accesses a corresponding one of said each of said plurality of sub-stores to retrieve and employ said decompressed configuration data sets to initialize said one or more caches.

2. The apparatus as recited in claim 1 , wherein a cache fuses decompressor within said one of said plurality of cores decompresses said compressed configuration data by executing microcode during power-up/reset.

3. The apparatus as recited in claim 1 , wherein said decompressed configuration data sets each comprise a first plurality of semiconductor fuses that indicates one or more sub-unit locations within one of said one or more cache memories that are not to be employed during normal operation.

4. The apparatus as recited in claim 3 , wherein said decompressed configuration data sets each further comprises a second plurality of semiconductor fuses that indicates one or more replacement sub-unit locations within one of said one or more cache memories that are to be employed during normal operation in replacement of corresponding ones of said one or more sub-unit locations.

5. The apparatus as recited in claim 4 , wherein said sub-unit locations and said replacement sub-unit locations comprise columns and redundant columns, respectively, within said one of said one or more cache memories.

6. The apparatus as recited in claim 4 , wherein said sub-unit locations and said replacement sub-unit locations comprise rows and redundant rows, respectively, within said one of said one or more cache memories.

7. The apparatus as recited in claim 1 , wherein the integrated circuit comprises an x86-compatible multi-core microprocessor.

8. An apparatus for providing configuration data to an integrated circuit device, the apparatus comprising:

a multi-core microprocessor, comprising:

a semiconductor fuse array, disposed on a die, into which is programmed compressed configuration data for a plurality of cores disposed on said die, and coupled to said semiconductor fuse array; and

a stores, coupled to said plurality of cores, said stores comprising a plurality of sub-stores that each correspond to each of said plurality of cores, wherein one of said plurality of cores is configured to access said semiconductor fuse array upon power-up/reset to read and decompress said compressed configuration data, and to store a plurality of decompressed configuration data sets for one or more cache memories within said each of said plurality of cores in said plurality of sub-stores, and wherein, following a power gating event, one of said each of said plurality of cores subsequently accesses a corresponding one of said each of said plurality of sub-stores to retrieve and employ said decompressed configuration data sets to initialize said one or more caches.

9. The apparatus as recited in claim 8 , wherein said cache fuses decompressor within said one of said plurality of cores decompresses said compressed configuration data by executing microcode during power-up/reset.

10. The apparatus as recited in claim 8 , wherein said decompressed configuration data sets each comprise a first plurality of semiconductor fuses that indicates one or more sub-unit locations within one of said one or more cache memories that are not to be employed during normal operation.

11. The apparatus as recited in claim 10 , wherein said decompressed configuration data sets each further comprises a second plurality of semiconductor fuses that indicates one or more replacement sub-unit locations within one of said one or more cache memories that are to be employed during normal operation in replacement of corresponding ones of said one or more sub-unit locations.

12. The apparatus as recited in claim 11 , wherein said sub-unit locations and said replacement sub-unit locations comprise columns and redundant columns, respectively, within said one of said one or more cache memories.

13. The apparatus as recited in claim 11 , wherein said sub-unit locations and said replacement sub-unit locations comprise rows and redundant rows, respectively, within said one of said one or more cache memories.

14. The apparatus as recited in claim 8 , wherein said multi-core microprocessor comprises an x86-compatible multi-core microprocessor.

15. A method for configuring an integrated circuit, the method comprising:

first disposing a semiconductor fuse array on a die, into which is programmed compressed configuration data for a plurality of cores disposed on the die, and coupled to the semiconductor fuse array; and

second disposing a stores on the die, the stores comprising a plurality of sub-stores that each correspond to each of the plurality of cores, wherein one of the plurality of cores is configured to access the semiconductor fuse array upon power-up/reset to read and decompress the compressed configuration data, and to store a plurality of decompressed configuration data sets for one or more cache memories within the each of the plurality of cores in the plurality of sub-stores, and wherein, following a power gating event, one of the each of the plurality of cores subsequently accesses a corresponding one of the each of the plurality of sub-stores to retrieve and employ the decompressed configuration data sets to initialize the one or more caches.

16. The method as recited in claim 15 , wherein a cache fuses decompressor within the one of the plurality of cores decompresses the compressed configuration data by executing microcode during power-up/reset.

17. The method as recited in claim 15 , wherein the decompressed configuration data sets each comprise a first plurality of semiconductor fuses that indicates one or more sub-unit locations within one of the one or more cache memories that are not to be employed during normal operation.

18. The method as recited in claim 17 , wherein the decompressed configuration data sets each further comprises a second plurality of semiconductor fuses that indicates one or more replacement sub-unit locations within one of the one or more cache memories that are to be employed during normal operation in replacement of corresponding ones of the one or more sub-unit locations.

19. The method as recited in claim 18 , wherein the sub-unit locations and the replacement sub-unit locations comprise columns and redundant columns, respectively, within the one of the one or more cache memories.

20. The method as recited in claim 18 , wherein the sub-unit locations and the replacement sub-unit locations comprise rows and redundant rows, respectively, within the one of the one or more cache memories.

21. The method as recited in claim 15 , wherein the integrated circuit comprises an x86-compatible multi-core microprocessor.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2015
From: VIA TECHNOLOGIES, INC.
To: VIA ALLIANCE SEMICONDUCTOR CO., LTD
Reel/Frame 036514/0319 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2014
From: HENRY, G. GLENN; JAIN, DINESH K.; GASKINS, STEPHAN
To: VIA TECHNOLOGIES, INC.
Reel/Frame 032952/0890 →
Continuity (1)
Related Publication 20150339231A1 · Nov 26, 2015