IP Library Granted Patent US 9,355,691
Granted Patent B2
US 9,355,691 · App. 14/318,685 · Granted May 31, 2016

Memory controller

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,355,691
App. No.
14/318,685
Granted
May 31, 2016
Kind
B2
Abstract

A system provides synchronous read data sampling between a memory and a memory controller, which includes an asynchronous FIFO buffer and which outputs a clock and other control signals. An outbound control signal (e.g., read_enable) is used to time-stamp the beginning of a read access using a clock edge counter. The incoming read data is qualified based on the time-stamped value of the read_enable signal plus typical access latency by counting FIFO pops. The system performs correct data sampling irrespective of propagation delays between the controller and memory. The system may be implemented in a System on a Chip (SOC) device having a synchronous communication system.

Claims (21)

1. A memory controller for reading data from a memory, wherein the memory has an access latency of ‘L’ memory clock cycles, where L is a positive integer, the controller comprising:

a FIFO (first in first out) buffer for receiving data read from the memory;

a clock module for providing a memory clock signal to the memory and to the FIFO buffer;

a control signal generation module for asserting a control signal and applying said control signal to the memory;

a counter for determining an assertion time of said control signal as a function of a number ‘N’ of cycles of the memory clock signal, where N is a positive integer; and

a data sampling module coupled to the counter and to the FIFO buffer for sampling an output of the FIFO buffer at a point in time that is a function of N and L.

2. The memory controller of claim 1 , wherein data read from the memory is clocked into the FIFO by the memory clock signal and clocked out of the FIFO as a sequence of pops.

3. The controller of claim 2 , wherein ‘N’ is the number of system clock edges, counted by the counter, that have elapsed from a start of the memory clock signal until assertion of said control signal.

4. The controller of claim 3 , wherein the data sampling module has stored therein the access latency ‘L’ and receives the number ‘N’ from the counter and counts a number of FIFO pops output from the FIFO buffer and samples the subsequent FIFO pop after L+N pops have been counted.

5. The controller of claim 1 , wherein the FIFO is an asynchronous FIFO.

6. The controller of claim 1 , wherein the control signal comprises a read enable signal.

7. A method for reading data from a memory using a controller, wherein the controller includes a FIFO (first in first out) buffer having an input for receiving data read from the memory, and an output, and the memory has an access latency of ‘L’ memory clock cycles associated therewith, where L is a positive integer, the method comprising:

applying a memory clock signal to the memory and the FIFO buffer;

asserting a control signal and applying said control signal to the memory;

recording a time of assertion of the control signal as a function of a number, N, of cycles of the memory clock signal, where N is a positive integer; and

sampling the output of the FIFO buffer at a point in time that is a function of N and L.

8. A processing system, comprising:

a memory for storing data and having an access latency of ‘L’ memory clock cycles associated therewith, where L is a positive integer; and

a controller, operably coupled to the memory and including a FIFO (first in first out) buffer having an input coupled to an output of the memory for receiving data read from the memory,

wherein the controller provides a memory clock signal to the memory and to the FIFO buffer, asserts a control signal and applies said control signal to the memory, records a time of assertion of the control signal as a function of a number, N, of cycles of the memory clock signal, where N is a positive integer, and samples the output of the FIFO buffer at a point in time that is a function of N and L.

9. The system of claim 8 , wherein the system is implemented in a system on a chip (SOC).

Assignments (16)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
MERGER Recorded Jan 3, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041144/0363 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 14/258,829 AND REPLACE ITWITH 14/258,629 PREVIOUSLY RECORDED ON REEL 037444 FRAME 0082. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OFSECURITY INTEREST IN PATENTS. Recorded Aug 10, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039639/0332 →
CORRECTIVE ASSIGNMENT OF INCORRECT APPLICATION 14/258,829 PREVIOUSLY RECORDED ON REEL 037444 FRAME 0109. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Aug 10, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039639/0208 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 5, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037444/0109 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 5, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037444/0082 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0903 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 1, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033460/0337 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 1, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033462/0293 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 1, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033462/0267 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2014
From: SINGH, PRABHJOT; NAUTIYAL, HEMANT; RAO, AMIT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 033253/0516 →