Method and system for high precision time synchronization
First Claim
1. A data processing system, comprising:
- a processor;
a Peripheral Component Interface Express (PCIe) link; and
a time processing device coupled to the processor via the PCIe link, the time processing device including time processing logic and a time register, wherein the time processing logic is to receive time data representing date and time from a time data source, and store the time data in the time register,wherein the time processing device comprisesa first input to receive a first signal from the time data source, the first signal indicating that an update of the time data is available from the time data source, anda second input to receive a message having the updated time data from the time data source,wherein the time processing logic is todetect the first signal received from the first input,in response to the first signal, decode the time data received from the second input, andstore the decoded time data in the time register, andwherein the processor retrieves the time data from the time register via a single read instruction over the PCIe link and updates a system clock of the data processing system based on the time data.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a dedicated time processing device inserted into a peripheral bus coupling or embedded with at least some of the rest of system components (e.g., processor, memory) of a data processing system to synchronize a system clock of the data processing system. The peripheral bus can be a Peripheral Component Interface (PCI) bus, a PCI Express (PCIe) link, a PCI extended (PCI-X) bus, or the like. The time processing device receives high precision time from a high precision time source, such as global positioning system (GPS) time source. The time processing device decodes and processes the received time and stores the time in an internal time register. The time processing device further includes an interface to allow an external component (e.g., a processor) to retrieve with low latency the time stored in the time register for the purpose of synchronizing the system clock.
9 Citations
17 Claims
-
1. A data processing system, comprising:
-
a processor; a Peripheral Component Interface Express (PCIe) link; and a time processing device coupled to the processor via the PCIe link, the time processing device including time processing logic and a time register, wherein the time processing logic is to receive time data representing date and time from a time data source, and store the time data in the time register, wherein the time processing device comprises a first input to receive a first signal from the time data source, the first signal indicating that an update of the time data is available from the time data source, and a second input to receive a message having the updated time data from the time data source, wherein the time processing logic is to detect the first signal received from the first input, in response to the first signal, decode the time data received from the second input, and store the decoded time data in the time register, and wherein the processor retrieves the time data from the time register via a single read instruction over the PCIe link and updates a system clock of the data processing system based on the time data. - View Dependent Claims (2, 3)
-
-
4. A data processing system, comprising:
-
a processor; a Peripheral Component Interface Express (PCIe) link; and a time processing device coupled to the processor via the PCIe link, the time processing device including time processing logic and a time register, wherein the time processing logic is to receive time data representing date and time from a time data source, and store the time data in the time register, wherein the time register comprises; a first register to store date information, a second register to store hour, minute, and second information, and a third register to store millisecond, microsecond, and nanosecond information, and wherein the processor retrieve e data from the time register via a single read instruction over the PCIe link and updates a system clock of the data processing system based on the time data. - View Dependent Claims (5, 6, 7, 8)
-
-
9. A data processing system, comprising:
-
a processor; a Peripheral Component Interface Express (PCIe) link; a time processing device coupled to the processor via the PCIe link, the time processing device including time processing logic and a time register, wherein the time processing logic is to receive time data representing date and time from a time data source, and store the time data in the time register, wherein the processor retrieves the time data from the register via a single read instruction over the PCIe link and updates a system lock of the data processing system based on the time data, and a memory hosting an operating system (OS) and a time processing driver executed within a kernel of the OS by the processor, wherein the time processing driver is to suspend a scheduler of the OS, read from the time register via a single instruction, resume the scheduler of the OS, and update the system clock. - View Dependent Claims (10)
-
-
11. A time processing device, comprising:
-
a Peripheral Component Interface Express (PCIe) link capable of coupling to a processor via a PCIe link; a time register; time processing logic coupled to the time register, wherein the time processing logic is to receive time data representing date and time from a time data source, and store the time data in the time register, wherein the processor retrieves the time data from the time register via a single read instruction over the PCIe link and updates a system clock associated with the processor based on the time data; a first input to receive a first signal from the time data source, the first signal indicating that an update of the time data is available from the time data source; a second input to receive a message having the updated time data from the time data source, wherein the time processing logic is to detect the first signal received from the first input, in response to the first signal, decode the time data received from the second input, and store the decoded time data in the time register. - View Dependent Claims (12, 13)
-
-
14. A time processing device, comprising:
-
a Peripheral Component Interface Express (PCIe) link capable of coupling to a processor via a PCIe link; a time register, wherein the time register comprises; a first register to store date information, a second register to store hour, minute, and second information, and a third register to store millisecond, microsecond, and nanosecond information; and time processing logic coupled to the time register, wherein the time processing logic is to receive time data representing date and time from a time data source, store the time data in the time register, wherein the processor retrieves the time data from the time register via a single read instruction over the PCIe link, and update a system clock associated with the processor based on the time data. - View Dependent Claims (15, 16, 17)
-
Specification