IP Library Granted Patent US 7,457,913
Granted Patent B2
US 7,457,913 · App. 11/386,176 · Granted Nov 25, 2008

Finding a data pattern in a memory

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,457,913
App. No.
11/386,176
Granted
Nov 25, 2008
Kind
B2
Abstract

A memory includes a plurality of first-in-first-out (FIFO) cells, an output pointer counter, a write training block and a multiplexer. The output pointer counter is for switching a value of a FIFO output pointer among the FIFO cells. The write training block is for generating information for shifting the FIFO output pointer based on data read from the FIFO cells. The multiplexer is for receiving the value of the FIFO output pointer from the output pointer counter. The multiplexer is also for receiving the multiplexing information for shifting the FIFO output pointer. The multiplexer is further for shifting the value of the FIFO output pointer based on the multiplexing information.

Claims (70)

1. A memory, comprising:

a plurality of first-in-first-out (FIFO) cells;

an output pointer counter for switching a value of a FIFO output pointer among the FIFO cells;

a write training block for generating information for shifting the FIFO output pointer based on data read from the FIFO cells; and

a multiplexer for receiving the value of the FIFO output pointer from the output pointer counter, for receiving the multiplexing information for shifting the FIFO output pointer, and for shifting the value of the FIFO output pointer based on the multiplexing information.

2. The memory of claim 1 , further comprising:

an input pointer counter for switching a value of a FIFO input pointer among the FIFO cells.

3. The memory of claim 1 , wherein the write training block receives the value of the FIFO output pointer and data read-out from the FIFO cells.

4. The memory of claim 1 , wherein the write training block switches the memory between a normal mode with a normal write cycle and a write training mode with an extended write cycle.

5. The memory of claim 1 , wherein a TDQSS of the memory has a range greater than one-half clock cycle early or late.

6. The memory of claim 1 , further comprising:

a resynchronization block for aligning the shifted value of the FIFO output pointer with an external clock.

7. A memory, comprising:

a plurality of first-in-first-out (FIFO) cells for accepting a data pattern;

an output pointer counter for switching a value of a FIFO output pointer among the FIFO cells in response to an external clock;

a write training block for extending a write cycle for reading out all the FIFO cells, for determining whether the data pattern is located in a correct position in the FIFO cells, and for generating multiplexing information for shifting the FIFO output pointer from one FIFO cell to another FIFO cell if it is determined that the data pattern is located in the incorrect position; and

a multiplexer for receiving the value of the FIFO output pointer from the output pointer counter, for receiving the multiplexing information for shifting the FIFO output pointer, and for shifting the value of the FIFO output pointer based on the multiplexing information.

8. The memory of claim 7 , further comprising:

an input pointer counter for switching a value of a FIFO input pointer among the FIFO cells in response to a write data strobe clock signal.

9. The memory of claim 7 , wherein the write training block accepts as input the value of the FIFO output pointer and data read-out from the FIFO cells.

10. The memory of claim 7 , wherein the write training block switches the memory between a normal mode with a normal write cycle and a write training mode with the extended write cycle

11. The memory of claim 7 , wherein a TDQSS of the memory has a range greater than one-half clock cycle early or late.

12. The memory of claim 7 , further comprising:

a resynchronization block for aligning the shifted value of the FIFO output pointer with the external clock.

13. A method of synchronizing a write data strobe clock signal with an external clock signal, comprising:

writing a data pattern into a first-in-first-out (FIFO) buffer;

reading out contents of the entire FIFO buffer;

inverting the read-out contents of the FIFO buffer;

receiving a value of a FIFO output pointer at the beginning of the reading out contents of the entire FIFO buffer;

executing a logical AND on the inverted contents of the FIFO buffer and the value of the FIFO output pointer; and

shifting the FIFO output pointer if the result of executing the logical AND is only zeros.

14. The method of claim 13 , further comprising:

executing a plurality of no-operation (NOP) operations for resetting the FIFO buffer.

15. The method of claim 13 , wherein writing the data pattern comprises:

writing a data pattern comprising a plurality of ones and only a single zero.

16. The method of claim 13 , further comprising:

receiving a start command from an extended memory register set (EMRS).

17. The method of claim 13 , further comprising:

aligning the shifted FIFO output pointer with an external clock.

18. A method of synchronizing a write data strobe clock signal with an external clock signal, comprising:

(a) writing a data pattern into a first-in-first-out (FIFO) buffer;

(b) reading out contents of the entire FIFO buffer;

(c) inverting the read-out contents of the FIFO buffer;

(d) receiving a value of a FIFO output pointer at the beginning of the reading out contents of the entire FIFO buffer;

(e) executing a logical AND on the inverted contents of the FIFO buffer and the value of the FIFO output pointer;

(f) shifting the FIFO output pointer if the result of (e) is only zeros; and

(g) repeating (a) to (f) until the result of (e) contains a one.

19. The method of claim 18 , further comprising:

executing a plurality of no-operation (NOP) operations for resetting the FIFO buffer.

20. The method of claim 18 , wherein writing the data pattern comprises:

writing a data pattern comprising a plurality of ones and only a single zero.

21. The method of claim 18 , further comprising:

receiving a start command from an extended memory register set (EMRS).

22. The method of claim 18 , further comprising:

aligning the shifted FIFO output pointer with an external clock.

23. A random access memory, comprising:

means for writing a data pattern into a first-in-first-out (FIFO) buffer;

means for reading out contents of the entire FIFO buffer;

means for inverting the read-out contents of the FIFO buffer;

means for receiving a value of a FIFO output pointer at the beginning of the reading out contents of the entire FIFO buffer;

means for executing a logical AND on the inverted contents of the FIFO buffer and the value of the FIFO output pointer; and

means for shifting the FIFO output pointer if the result of executing the logical AND is only zeros.

24. The random access memory of claim 23 , further comprising:

means for executing a plurality of no-operation (NOP) operations for resetting the FIFO buffer.

25. The random access memory of claim 23 , wherein means for writing the data pattern comprises:

means for writing a data pattern comprising a plurality of ones and only a single zero.

26. The random access memory of claim 23 , further comprising:

means for receiving a start command from an extended memory register set (EMRS).

27. The random access memory of claim 23 , further comprising:

means for aligning the shifted FIFO output pointer with an external clock.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2020
From: POLARIS INNOVATIONS LIMITED
To: CHANGXIN MEMORY TECHNOLOGIES, INC
Reel/Frame 051917/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2015
From: INFINEON TECHNOLOGIES AG
To: POLARIS INNOVATIONS LIMITED
Reel/Frame 037171/0719 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2015
From: INFINEON TECHNOLOGIES AG
To: POLARIS INNOVATIONS LIMITED
Reel/Frame 037147/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2015
From: QIMONDA AG
To: INFINEON TECHNOLOGIES AG
Reel/Frame 035623/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2010
From: INFINEON TECHNOLOGIES AG
To: QIMONDA AG
Reel/Frame 023773/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2006
From: DIETRICH, STEFAN; KHO, REX
To: INFINEON TECHNOLOGIES AG
Reel/Frame 018098/0226 →