IP Library Granted Patent US 7,251,748
Granted Patent B2
US 7,251,748 · App. 10/661,654 · Granted Jul 31, 2007

System and method for determining a global ordering of events using timestamps

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,251,748
App. No.
10/661,654
Granted
Jul 31, 2007
Kind
B2
Abstract

A method of utilizing timestamps for the global ordering of event information, particularly hardware error reporting, is disclosed. Locally generated time stamps are associated with hardware errors or other events. The timestamps form the basis for the global ordering of event information. The timestamps are normalized, either through a pre-synchronization process with a common time, or through the use of offsets maintained either locally near system chips or by the system processor. Once normalized, the timestamps can be compared to determine a first occurring event among multiple reported events.

Claims (46)

1. In an isochronous electronic device including at least one processor and a plurality of chips, each said chip associated with a local time counter of a plurality of local time counters, a method for determining a global ordering of events, said method comprising:

detecting an event associated with one of said plurality of chips;

generating a timestamp with said local time counter at the time of the occurrence of said detected event, said timestamp being associated with said event;

comparing said event and a normalized form of said timestamp with other events and associated normalized timestamps to determine an order of occurrence;

providing a Time Base selected by said processor, said Time Base being a baseline time value; and

transmitting a reset instruction from said processor to said plurality of local time counters associated with said plurality of chips, said plurality of local time counters resetting to a designated time so as to be synchronized with respect to each other;

wherein the transmitting of the reset instruction is staggered so as to ensure that said resetting occurs simultaneously, said transmitting taking into account delays caused by network topology.

2. The method of claim 1 wherein said processor maintains a record of an offset between the reset local time counter time and the Time Base.

3. The method of claim 1 wherein said designated time is the Time Base and said plurality of local time counters are reset so as to indicate the same time as said Time Base.

4. The method of claim 1 wherein said transmitting of said reset instruction is performed using a simultaneous multicast write operation performed by said processor.

5. The method of claim 1 , further comprising:

resetting all of said plurality of chips and an additional chip, said resetting being performed to add the additional chip that is synchronized with said plurality of chips.

6. In an electronic device including at least one processor and a plurality of chips, each said chip associated with a local time counter of a plurality of local time counters, a storage medium comprising computer-executable instructions for a method comprising:

detecting an event associated with one of said plurality of chips;

generating a timestamp with said local time counter at the time of the occurrence of said detected event, said timestamp being associated with said event;

comparing said event and a normalized form of said timestamp with other events and associated normalized timestamps to determine an order of occurrence;

providing a Time Base selected by said processor, said Time Base being a baseline time value; and

transmitting a reset instruction from said processor to said plurality of local time counters associated with said plurality of chips, said plurality of local time counters resetting to a designated time so as to be synchronized with respect to each other;

wherein the transmitting of the reset instruction is staggered so as to ensure that said resetting occurs simultaneously, said transmitting taking into account delays caused by network topology.

7. The storage medium of claim 6 where said processor maintains a record of an offset between the reset value of the local time counter and the Time Base.

8. The storage medium of claim 6 wherein said designated time is the Time Base and said plurality of local time counters are reset so as to indicate the same time as said Time Base.

9. The storage medium of claim 6 wherein the transmitting of said reset instruction is performed using a simultaneous multicast write operation performed by said processor.

10. The medium of claim 6 , wherein said method further comprises:

resetting all of said plurality of chips and an additional chip, said resetting being performed to add the additional chip that is synchronized with said plurality of chips.

11. In an isochronous electronic device including at least one processor and a plurality of chips, each said chip associated with a local time counter of a plurality of local time counters, a method for determining a global ordering of events, said method comprising:

detecting an event associated with one of said plurality of chips;

generating a timestamp with said local time counter at the time of the occurrence of said detected event, said timestamp being associated with said event;

comparing said event and a normalized form of said timestamp with other events and associated normalized timestamps to determine an order of occurrence;

providing a Time Base selected by said processor, said Time Base being a baseline time value;

determining an offset between the time indicated by said Time Base and the time indicated by each of said local time counters associated with said plurality of chips;

transmitting each said offset for a local time counter to the chip with which the local time counter is associated;

recording each offset associated with each said local time counter at a location accessible to the chip associated with the local time counter; and

normalizing said timestamp using said offset associated with the local time counter prior to reporting said timestamp and said event to said processor.

12. The method of claim 11 wherein a software timestamp received from an operating system is associated with said reported event and timestamp.

13. The method of claim 12 wherein said software timestamp is used in determining said order of occurrence of events.

14. In an electronic device including at least one processor and a plurality of chips, each said chip associated with a local time counter of a plurality of local time counters, a storage medium comprising computer-executable instructions for a method comprising:

detecting an event associated with one of said plurality of chips;

generating a timestamp with said local time counter at the time of the occurrence of said detected event, said timestamp being associated with said event;

comparing said event and a normalized form of said timestamp with other events and associated normalized timestamps to determine an order of occurrence;

providing a Time Base selected by said processor, said Time Base being a baseline time value;

determining an offset between the time indicated by said Time Base and the time indicated by each of said local time counters associated with said plurality of chips;

transmitting each said offset for a local time counter to the chip with which the local time counter is associated;

recording each offset associated with each said local time counter at a location accessible to the chip associated with the local time counter; and

normalizing said timestamp using said offset associated with the local time counter prior to reporting said timestamp and said event to said processor.

15. The storage medium of claim 14 wherein a software timestamp received from the operating system is associated with said reported event and timestamp.

16. The storage medium of claim 15 wherein said software timestamp is used in determining said order of occurrence of events.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037302/0772 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2003
From: LIBERTY, DEAN A.; PHELPS, ANDREW E.; ISAMAN, DAVID L.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 014505/0278 →