IP Library Granted Patent US 9,093,040
Granted Patent B2
US 9,093,040 · App. 12/476,158 · Granted Jul 28, 2015

Redundancy method and apparatus for shader column repair

Inventors: Michael J. Mantor (Orlando, FL); Jeffrey T. Brady (Orlando, FL); Angel E. Socarras (Lake Mary, FL)
Assignee: Advanced Micro Devices, Inc.
G09G5/363G09G2360/06
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,093,040
App. No.
12/476,158
Granted
Jul 28, 2015
Kind
B2
Abstract

A method and apparatus for shader data repair utilizing a Redundant Shader Switch (RSS). The RSS consists of an input and output section whereby when a defective shader pipe is detected, the RSS multiplexes shader pipe data destined to the defective shader pipe to a redundant shader pipe array for processing. Once processed, the shader pipe data is multiplexed back to the RSS where the processed shader pipe data is directed to the corresponding output column of the RSS. The RSS contains delay pipes used to re-align and synchronize the repaired shader pipe data with output export data.

Claims (53)

1. A system, comprising:

a shader pipe array configured to perform rendering calculations on input data;

a sequencer configured to identify defective shader pipes within the shader pipe array and to control a flow of data through the shader pipe array;

a redundant shader pipe array configured to process shader pipe data destined to a defective shader pipe, wherein:

the redundant shader pipe array further comprises one or more vertical redundant shader pipe columns, wherein each vertical redundant shader pipe column comprises two or more redundant shader pipe blocks, where there is a single redundant shader pipe block per row that is configured to process one defective shader pipe per row,

in response to the sequencer identifying a defective shader pipe, a control register is configured to map data for the defective shader pipe to the redundant shader pipe array for processing, and

in response to the sequencer identifying the defective shader pipe in the shader pipe array, a redundant shader switch is configured to transfer data to the redundant shader pipe array.

2. The system of claim 1 , wherein the shader pipe array further comprises one or more vertical shader pipe columns, and each vertical shader pipe column comprises one or more shader pipe blocks.

3. The system of claim 2 , wherein:

each shader pipe block within the vertical shader pipe column includes one or more shader pipes, and

each redundant shader pipe block within the vertical redundant shader pipe column includes one or more shader pipes.

4. The system of claim 2 , wherein each vertical redundant shader pipe column comprises the same quantity of redundant shader pipe rows as the number of shader pipe rows in a vertical shader pipe column of the shader pipe array.

5. The system of claim 2 , wherein the redundant shader switch further comprises:

an input section that multiplexes shader pipe data destined to the defective shader pipe from a shader pipe block in a vertical shader pipe column within the shader pipe array to a redundant shader pipe block in a vertical redundant shader pipe column within the redundant shader pipe array for processing; and

an output section that multiplexes the processed shader pipe data from the redundant shader pipe block to an appropriate output column of the redundant shader switch.

6. The system of claim 5 , wherein the shader pipe data destined to the defective shader pipe in the shader pipe block is moved via a horizontal path to a redundant shader pipe block in a vertical redundant shader pipe column within the redundant shader pipe array for processing.

7. The system of claim 5 , wherein the output section of the redundant shader switch further comprises delay pipes to re-align the processed shader pipe data to output export data.

8. The system of claim 1 , wherein each vertical redundant shader pipe column is configured to process shader pipe data destined to one or more defective shade pipes.

9. The system of claim 8 , wherein each vertical redundant shader pipe column is configured to process shader pipe data destined to one defective shader pipe per row.

10. The system of claim 8 , wherein vertical redundant shader pipe columns are configured to concurrently process shader pipe data destined to one or more defective shader pipes within the same row.

11. The system of claim 1 , wherein a number of the one or more vertical redundant shader pipe columns is a function of a number of concurrent defective shader pipes in a single row of the shader pipe array for which shader pipe data is to be simultaneously processed.

12. A method, comprising:

identifying a defective shader pipe within a shader pipe array composed of rows and columns of shader pipes and controlling a flow of data through the shader pipe array, wherein:

in response to identifying a defective shader pipe, mapping data for the defective shader pipe to a redundant shader pipe array for processing, and

the redundant shader pipe array further comprises one or more vertical redundant shader pipe columns, and each vertical redundant shader pipe column comprises two or more redundant shader pipe blocks, where there is a single redundant shader pipe block per row that is configured to process one defective shader pipe per row,

wherein in response to identifying the defective shader pipe in the shader pipe array, transferring data destined to the defective shader pipe to the redundant shader pipe array for processing;

processing the shader pipe data destined to the defective shader pipe;

returning the processed shader pipe data to an appropriate output column; and

synchronizing the processed shader pipe data in the appropriate output column with output export data.

13. The method of claim 12 , wherein shader pipe data destined to more than one defective shader pipe of different rows is concurrently processed.

14. The method of claim 12 , wherein shader pipe data destined to more than one defective shader pipe of the same row is concurrently processed.

15. The method of claim 12 , wherein the method is performed by synthesizing hardware description language instructions.

16. The method of claim 12 , wherein a number of the one or more vertical redundant shader pipe columns is a function of a number of concurrent defective shader pipes in a single row of the shader pipe array for which shader pipe data is to be simultaneously processed.

17. A system, comprising:

a processor; and

a memory in communication with said processor, said memory for storing a plurality of processing instructions for directing said processor to:

identify a defective shader pipe within a shader pipe array composed of rows and columns of shader pipes and control a flow of data through the shader pipe array,

in response to identifying a defective shader pipe, map data for the defective shader pipe to a redundant shader pipe array for processing, wherein:

the redundant shader pipe array further comprises one or more vertical redundant shader pipe columns, wherein each vertical redundant shader pipe column comprises two or more redundant shader pipe blocks, where there is a single redundant shader pipe block per row that is configured to process one defective shader pipe per row, and

in response to identifying the defective shader pipe in the shader pipe array, transferring data destined to the defective shader pipe to the redundant shader pipe array for processing;

process the shader pipe data destined to the defective shader pipe;

return the processed shader pipe data to an appropriate output column; and

synchronize the processed shader pipe data in the appropriate output column with output export data.

18. The system of claim 17 , wherein shader pipe data destined to more than one defective shader pipe of different rows is concurrently repaired.

19. The system of claim 17 , wherein shader pipe data destined to more than one defective shader pipe of the same row is concurrently repaired.

20. A non-transitory computer readable medium carrying one or more sequences of one or more instructions for execution by one or more processors to perform operations, comprising:

identifying a defective shader pipe within a shader pipe array composed of rows and columns of shader pipes and controlling a flow of data through the shader pipe array, wherein:

in response to identifying a defective shader pipe, mapping data for the defective shader pipe to a redundant shader pipe array for processing, and

the redundant shader pipe array farther comprises one or more vertical redundant shader pipe columns, and each vertical redundant shader pipe column comprises two or more redundant shader pipe blocks, where there is a single redundant shader pipe block per row that is configured to process one defective shader pipe per row;

in response to identifying the defective shader pipe in the shader pipe array, transferring data destined to the defective shader pipe to the redundant shader pipe array for processing;

processing the shader pipe data destined to the defective shader pipe;

returning the processed shader pipe data to an appropriate output column; and

synchronizing the processed shader pipe data in the appropriate output column with output export data.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2025
From: ONESTA IP LLC
To: MAGNUSON RESEARCH LLC
Reel/Frame 071352/0575 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2024
From: ADVANCED MICRO DEVICES, INC.
To: ONESTA IP, LLC
Reel/Frame 069381/0951 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2009
From: MANTOR, MICHAEL J.; BRADY, JEFFREY T.; SOCARRAS, ANGEL E.
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 023037/0918 →
Continuity (6)
Provisional Application 61057513 · May 30, 2008
Provisional Application 61057483 · May 30, 2008
Provisional Application 61057504 · May 30, 2008
Provisional Application 61057492 · May 30, 2008
Provisional Application 61057499 · May 30, 2008
Related Publication 20090295820A1 · Dec 3, 2009