IP Library Granted Patent US 7,394,721
Granted Patent B1
US 7,394,721 · App. 11/232,367 · Granted Jul 1, 2008

Method and apparatus for data synchronization to local clock on memory reads

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,394,721
App. No.
11/232,367
Granted
Jul 1, 2008
Kind
B1
Abstract

A method for reading data from a memory module over a bi-directional bus is provided. The method initiates with writing data into a storage element asynchronously according to a first clock domain. Next, the data is read from the storage element synchronously according to a second clock domain. A microprocessor and a system wherein data is read over a bi-directional bus are included.

Claims (29)

1. A microprocessor, comprising:

a memory controller configured to communicate with external memory over a bi-directional bus;

read capture logic configured to propagate a transition of a read enable signal generated by the memory controller in response to a read command issued by the memory controller, the read capture logic causing a delay in the transition of the read enable signal, the delay in the transition of the read enable signal accommodating different latencies associated with strobe signals from the external memory received over the bi-directional bus, wherein the transition of the read enable signal indicates valid data is available for sampling over the bi-directional bus; and

data read out multiplexor select logic generating a select signal configured to select data from a storage element in the read capture logic having valid captured data, the select signal further configured to enable transmission of the data from the storage element having valid data through a multiplexor while preventing transmission of data from other storage elements through the multiplexor, the data read out multiplexor select logic including circuitry configured to generate a signal to the memory controller, the signal indicating valid data is available for transmission from a memory module to a L2 cache.

2. The microprocessor of claim 1 , wherein the different latencies associated with strobe signals from the external memory includes an earliest available strobe signal and a latest available strobe signal.

3. The microprocessor of claim 1 wherein the read capture logic includes,

first and second storage elements configured to receive the read enable signal, the first storage element providing an output signal to a first OR gate and a third storage element, the third storage element providing output to the first OR gate, the second storage element providing an output signal to a second OR gate and a fourth storage element, the fourth storage element providing output to the second OR gate, wherein the read enable signal propagates through the storage elements according to a memory controller clock domain.

4. The microprocessor of claim 3 , wherein the read capture logic further includes,

a first multiplexor receiving an output signal for the first OR gate and an output signal from the second OR gate, wherein an output signal from the multiplexor is received by a third OR gate.

5. The microprocessor of claim 1 , wherein the data read out multiplexor select logic includes,

a first storage element receiving the read enable signal;

a first multiplexor receiving the read enable signal and output of the first storage element;

an AND gate receiving output of the multiplexor;

a second storage element receiving output from the AND gate; and

a second multiplexor receiving output of a two bit counter, the second multiplexor outputting data to the two bit counter.

6. The microprocessor of claim 4 , wherein output from the third OR gate functions as an enable signal for a second multiplexor, the second multiplexor providing input to a fifth storage element, the second multiplexor and the fifth storage element propagating signals according to a strobe signal of the external memory.

7. A system having a programmable delay for reading data across multiple clock domains, comprising:

a memory module; a bi-directional bus;

a microprocessor reading data from the memory module over the bi-directional bus, the microprocessor having a memory controller integrated therein, the memory controller operating according to a memory controller clock domain, the microprocessor including read capture logic providing a programmable delay accommodating a latency associated with capturing data from the memory module, the read capture logic configured to propagate a transition of a read enable signal generated by the memory controller according to the programmable delay, wherein the propagation of the transition of the read enable signal occurs across multiple clock domains, the microprocessor further including data read out multiplexor select logic generating a select signal configured to select data from a storage element in the read capture logic having valid captured data, the select signal further configured to enable transmission of the data from the storage element having valid data through a multiplexor while preventing transmission of data from other storage elements through the multiplexor, the data read out multiplexor select logic including circuitry configured to generate a signal to the memory controller, the signal indicating valid data is available for transmission from a memory module to a L2 cache.

8. The system of claim 7 wherein the multiple clock domains include the memory controller clock domain and a strobe signal received from the memory module over the bi-directional bus.

9. The system of claim 7 , wherein the read enable signal is utilized to indicate a timing window for reading four data portions over the bi-directional bus.

10. The system of claim 7 , wherein a portion of the read capture logic is replicated to accommodate successive read operations.

11. The system of claim 7 , wherein the programmable delay guarantees data retrieved according to an earliest possible strobe signal of the memory module and data retrieved according to a latest possible strobe signal of the memory module are both available.

12. The system of claim 7 , wherein the data read out multiplexor select logic includes,

a first storage element receiving the read enable signal;

a first multiplexor receiving the read enable signal and output of the first storage element;

an AND gate receiving output of the multiplexor;

a second storage element receiving output from the AND gate; and

a second multiplexor receiving output of a two bit counter, the second multiplexor outputting data to the two bit counter.

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 037303/0336 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2005
From: VEMULA, SUNIL K.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 017030/0215 →