IP Library Granted Patent US 7,836,386
Granted Patent B2
US 7,836,386 · App. 11/535,968 · Granted Nov 16, 2010

Phase shift adjusting method and circuit

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,836,386
App. No.
11/535,968
Granted
Nov 16, 2010
Kind
B2
Abstract

Method and system of adjusting a first phase shift between a first data signal and a clock signal at a sending device. First and second test signals representing first and second test data, respectively, are transmitted to a receiving device. The test signals have respective phase shifts relative to the clock signal. An error detection code is calculated from first and second received data carried by the transmitted signals. The error detection code is transmitted from the receiving device to the sending device. An estimated first received data is calculated from the error detection code, wherein the estimated first received data are calculated under the assumption that the second received data are identical to the second test data. The first phase shift is adjusted on the basis of a comparison of the estimated first received data and the first test data.

Claims (175)

1. A method of adjusting a first phase shift between a data signal and a clock signal at a sending device, the method comprising:

a) transmitting a first test signal representing first test data from the sending device to a receiving device via a first data line and transmitting second test signals representing second test data from the sending device to the receiving device via second data lines, wherein the first phase shift exists between the first test signal and the clock signal, and wherein second phase shifts exists between the second test signals and the clock signal;

b) receiving the first test signal and the second test signals at the receiving device;

c) detecting first received data from the first received signal and second received data from the second received signals using a clock signal;

d) calculating an error detection code from one of the first received data and the first and second received data, and transmitting the error detection code from the receiving device to the sending device;

e) calculating estimated first received data from the error detection code, wherein the estimated first received data are calculated under the assumption that the second received data are identical to the second test data; and

f) adjusting the first phase shift on the basis of a comparison of the estimated first received data and the first test data.

2. The method according to claim 1 , wherein the sending device is a memory controller, the receiving device is a memory device, the clock signal is generated at the memory controller and transmitted to the memory device, and the error detection code is calculated at the memory device and transmitted to the memory controller.

3. The method according to claim 1 , wherein all bits of the second test data provide one predetermined value.

4. The method according to claim 1 , wherein the error detection code is calculated solely from the first received data.

5. The method according to claim 1 , wherein the error detection code is calculated from the first received data and masked second received data by means of a normal mode error detection code algorithm which is also used in a normal operation mode of the memory controller and the memory device, wherein the masked second received data are a predetermined bit pattern irrespective of the second received data.

6. The method according to claim 5 , wherein each bit of the predetermined bit pattern is a “0” or wherein each bit of the predetermined bit pattern is a “1”.

7. The method according to claim 1 , wherein the step e) further comprises: determining a first number being the number of bits of the estimated first received data which are equal to the corresponding bit of the first test data; and determining a second number being the number of bits of the first received data which are different from the corresponding bit of the first test data, and

the method further comprising:

repeating the steps a) through e) with a modified value of the first phase shift;

determining a transition value of the first phase shift, wherein the transition value of the first phase shift causes a minimum difference between the first number and the second number; and

setting the first phase shift to the transition value plus a predetermined value.

8. The method according to claim 7 , wherein the predetermined value is one half of a symbol length.

9. The method according to claim 7 , wherein the steps a) through e) are repeated for a predetermined number of times and/or until the difference between the first number and the second number is within a predetermined interval.

10. The method according to claim 1 , wherein the step f) comprises:

conducting the steps a) through e) for a plurality of different values of the first phase shift;

determining an interval of values of the first phase shift in which the estimated first received data are identical to the first test data; and

setting the first phase shift to a value within the interval.

11. The method according to claim 10 , wherein the step of setting the first phase shift comprises setting the first phase shift to a value in the center of the interval.

12. The method according to claim 1 ,

wherein the error detection code {right arrow over (c)} comprising m bits is calculated from received data

d

=

(

d

j

d

r

)

 comprising p bits according to the equation

c

=

T

·

d

+

a

=

(

T

j

,

T

r

)

·

(

d

j

d

r

)

+

a

=

T

j

·

d

j

+

T

r

·

d

r

+

a

,

 T=(T j , T r ) being a matrix with p columns and m rows, T j being a matrix with m columns and m rows which can be inverted, T r being a matrix with p−m columns and m rows, {right arrow over (a)} being a constant vector with m components, the first test data {right arrow over (d)} j , comprising m bits, the second test data {right arrow over (d)} r comprising p−m bits, and

wherein the estimated first received data {right arrow over (d)} j * is calculated from the error detection code {right arrow over (c)} and the second test data {right arrow over (d)} r according to the equation {right arrow over (d)}* j =T j −1 ·({right arrow over (c)}−{right arrow over (a)}−T r ·{right arrow over (d)} r ), T j −1 being the inverse of T j .

13. The method according to claim 1 ,

wherein the error detection code {right arrow over (c)} comprising m bits is calculated from received data

d

=

(

d

0

d

n

-

1

)

 comprising n·m bits according to the equation

c

=

T

·

d

+

a

=

i

=

0

i

j

n

-

1

T

i

·

d

i

+

a

,

 T=(T 0 , T 1 , . . . , T n−1 ) being a matrix with n·m columns and m rows, T i (i= 0 , . . . , n− 1 ) being matrices with m columns and m rows which can be inverted, {right arrow over (a)} being a constant vector with m components, {right arrow over (d)} i (i= 0 , . . . , n− 1 ) comprising m bits, and

wherein the estimated first received data {right arrow over (d)} j * is calculated from the error detection code {right arrow over (c)} and the second test data {right arrow over (d)} i≠j according to the equation

d

j

*

=

T

j

-

1

·

(

c

-

a

-

i

=

0

i

j

n

-

1

T

i

·

d

)

,

 T j −1 being the inverse of T j .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2015
From: INFINEON TECHNOLOGIES AG
To: POLARIS INNOVATIONS LIMITED
Reel/Frame 037254/0782 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2015
From: QIMONDA AG
To: INFINEON TECHNOLOGIES AG
Reel/Frame 035623/0001 →