IP Library Granted Patent US 7,739,573
Granted Patent B2
US 7,739,573 · App. 11/621,766 · Granted Jun 15, 2010

Voltage identifier sorting

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 7,739,573
App. No.
11/621,766
Granted
Jun 15, 2010
Kind
B2
Abstract

A voltage identifier (VID) sorting system is provided that optimizes processor power and operating voltage guardband at a constant processor frequency. The VID sorting system determines a voltage versus current curve for the processor. The VID sorting system then uses the voltage versus current characteristics to calculate the power for each VID to determine an acceptable range of VIDs within the maximum power criteria. The VID sorting system then tests VIDs in the range and selects a VID from the range to optimize for minimum power and/or maximum voltage guardband at a constant processor frequency.

Claims (88)

1. A method for sorting voltage identifiers for a processor, the method comprising:

determining, using a semiconductor testing system, an acceptable range of voltage identifiers;

identifying, using the semiconductor testing system, a lowest voltage identifier from the acceptable range of voltage identifiers that passes a functionality test;

identifying, using the semiconductor testing system, a highest voltage identifier from the acceptable range of voltage identifiers that passes a maximum thermal design point power test and a maximum current test; and

if both the lowest voltage identifier and the highest voltage identifier are found, selecting a voltage identifier between the lowest voltage identifier and the highest voltage identifier.

2. The method of claim 1 , wherein determining an acceptable range of voltage identifiers comprises:

determining an initial voltage based on a ring oscillator speed; and

measuring a first current at the initial voltage, where the initial voltage and the first current form a first point;

calculating a maximum power voltage at the maximum acceptable power based on the first current;

measuring a second current at the maximum power voltage plus a guardband value, wherein the maximum power voltage and the second current form a second point; and

determining a current versus voltage equation based on the first point and the second point.

3. The method of claim 1 , wherein identifying a lowest voltage identifier that passes a functionality test comprises:

selecting a minimum voltage identifier as a test voltage identifier;

determining whether the test voltage identifier passes the functionality test; and

if the test voltage identifier passes the functionality test, selecting the test voltage identifier as the lowest voltage identifier.

4. The method of claim 3 , wherein determining whether the test voltage identifier passes the functionality test comprises:

determining a current versus voltage curve for the processor;

determining a voltage regulator module loadline for the test voltage identifier;

determining a test voltage at which the voltage regulator module loadline crosses the current versus voltage curve for the processor;

subtracting a guardband value from the test voltage to provide a minimum functional test voltage; and

testing functionality of the processor at the minimum functional test voltage.

5. The method of claim 3 , wherein identifying a lowest voltage identifier that passes a functionality test further comprises:

if the test voltage identifier does not pass the functionality test, selecting a next higher voltage identifier as the test voltage identifier; and

determining whether the test voltage identifier passes the functionality test.

6. The method of claim 1 , wherein identifying a highest voltage identifier from the acceptable range of voltage identifiers that passes a maximum thermal design point power test and a maximum current test comprises:

selecting a maximum voltage identifier as a test voltage identifier;

determining whether the test voltage identifier passes the maximum thermal design point power test; and

if the test voltage identifier does not pass the maximum thermal design point power test, selecting a next lower voltage identifier as the test voltage identifier; and

repeating the determining whether the test voltage identifier passes the maximum thermal design point power test until a test voltage identifier passes the maximum thermal design point power test.

7. The method of claim 6 , wherein identifying a highest voltage identifier from the acceptable range of voltage identifiers that passes a maximum thermal design point power test and a maximum current test further comprises:

responsive to a test voltage identifier passing the maximum thermal design point power test, determining whether the test voltage identifier passes the maximum current test; and

if the test voltage identifier passes the maximum current test, selecting the test voltage identifier as the highest voltage identifier.

8. The method of claim 7 , wherein identifying a highest voltage identifier from the acceptable range of voltage identifiers that passes a maximum thermal design point power test and a maximum current test comprises:

if the test voltage identifier does not pass the maximum current test, selecting a next lower voltage identifier as the test voltage identifier; and

repeating the maximum current test until a test voltage identifier passes the maximum current test.

9. The method of claim 1 , further comprising:

fusing the selected voltage identifier in voltage identifier logic in the processor.

10. A data processing system for sorting voltage identifiers for a processor, the data processing system comprising:

a processor; and

a memory coupled to the processor, wherein the memory contains instructions which, when executed by the processor, cause the processor to:

determine an acceptable range of voltage identifiers;

identify a lowest voltage identifier from the acceptable range of voltage identifiers that passes a functionality test;

identify a highest voltage identifier from the acceptable range of voltage identifiers that passes a maximum thermal design point power test and a maximum current test; and

if both the lowest voltage identifier and the highest voltage identifier are found, select a voltage identifier between the lowest voltage identifier and the highest voltage identifier.

11. The data processing system of claim 10 , wherein determining an acceptable range of voltage identifiers comprises:

determining an initial voltage based on a ring oscillator speed; and

measuring a first current at the initial voltage, where the initial voltage and the first current form a first point;

calculating a maximum power voltage at the maximum acceptable power based on the first current;

measuring a second current at the maximum power voltage plus a guardband value, wherein the maximum power voltage and the second current form a second point; and

determining a current versus voltage equation based on the first point and the second point.

12. The data processing system of claim 10 , wherein identifying a lowest voltage identifier that passes a functionality test comprises:

selecting a minimum voltage identifier as a test voltage identifier;

determining whether the test voltage identifier passes the functionality test; and

if the test voltage identifier passes the functionality test, selecting the test voltage identifier as the lowest voltage identifier.

13. The data processing system of claim 10 , wherein identifying a highest voltage identifier from the acceptable range of voltage identifiers that passes a maximum thermal design point power test and a maximum current test comprises:

selecting a maximum voltage identifier as a test voltage identifier;

determining whether the test voltage identifier passes the maximum thermal design point power test; and

if the test voltage identifier does not pass the maximum thermal design point power test, selecting a next lower voltage identifier as the test voltage identifier; and

repeating the determining whether the test voltage identifier passes the maximum thermal design point power test until a test voltage identifier passes the maximum thermal design point power test.

14. A computer program product comprising a computer useable medium having a computer readable program, wherein the computer readable program, when executed on a computing device, causes the computing device to:

determine an acceptable range of voltage identifiers;

identify a lowest voltage identifier from the acceptable range of voltage identifiers that passes a functionality test;

identify a highest voltage identifier from the acceptable range of voltage identifiers that passes a maximum thermal design point power test and a maximum current test; and

if both the lowest voltage identifier and the highest voltage identifier are found, select a voltage identifier between the lowest voltage identifier and the highest voltage identifier.

15. The computer program product of claim 14 , wherein determining an acceptable range of voltage identifiers comprises:

determining an initial voltage based on a ring oscillator speed; and

measuring a first current at the initial voltage, where the initial voltage and the first current form a first point;

calculating a maximum power voltage at the maximum acceptable power based on the first current;

measuring a second current at the maximum power voltage plus a guardband value, wherein the maximum power voltage and the second current form a second point; and

determining a current versus voltage equation based on the first point and the second point.

16. The computer program product of claim 14 , wherein identifying a lowest voltage identifier that passes a functionality test comprises:

selecting a minimum voltage identifier as a test voltage identifier;

determining whether the test voltage identifier passes the functionality test; and

if the test voltage identifier passes the functionality test, selecting the test voltage identifier as the lowest voltage identifier.

17. The computer program product of claim 16 , wherein identifying a lowest voltage identifier that passes a functionality test further comprises:

if the test voltage identifier does not pass the functionality test, selecting a next higher voltage identifier as the test voltage identifier; and

determining whether the test voltage identifier passes the functionality test.

18. The computer program product of claim 14 , wherein identifying a highest voltage identifier from the acceptable range of voltage identifiers that passes a maximum thermal design point power test and a maximum current test comprises:

selecting a maximum voltage identifier as a test voltage identifier;

determining whether the test voltage identifier passes the maximum thermal design point power test; and

if the test voltage identifier does not pass the maximum thermal design point power test, selecting a next lower voltage identifier as the test voltage identifier; and

repeating the determining whether the test voltage identifier passes the maximum thermal design point power test until a test voltage identifier passes the maximum thermal design point power test.

19. The computer program product of claim 18 , wherein identifying a highest voltage identifier from the acceptable range of voltage identifiers that passes a maximum thermal design point power test and a maximum current test further comprises:

responsive to a test voltage identifier passing the maximum thermal design point power test, determining whether the test voltage identifier passes the maximum current test; and

if the test voltage identifier passes the maximum current test, selecting the test voltage identifier as the highest voltage identifier.

20. The computer program product of claim 19 , wherein identifying a highest voltage identifier from the acceptable range of voltage identifiers that passes a maximum thermal design point power test and a maximum current test comprises:

if the test voltage identifier does not pass the maximum current test, selecting a next lower voltage identifier as the test voltage identifier; and

repeating the maximum current test until a test voltage identifier passes the maximum current test.

Assignments (8)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL 062079, FRAME 0677) Recorded Mar 3, 2026
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 075015/0574 →
RELEASE OF SECURITY INTEREST Recorded Apr 30, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 071127/0240 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 070670/0857 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 062079/0677 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0001 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: TWITTER, INC.
Reel/Frame 032075/0404 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2007
From: DEMENT, JONATHAN J.; DHONG, SANG H.; GERVAIS, GILLES; LOISEAU, ALAIN; PETERSON, KIRK D.; SINCHAK, JOHN L.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 018740/0447 →