IP Library Granted Patent US 9,349,421
Granted Patent B2
US 9,349,421 · App. 14/171,646 · Granted May 24, 2016

Memory interface

Inventors: Venkata N. S. N. Rao (Fremont, CA); Prasad Chalasani (San Jose, CA)
Assignee: SOCTRONICS, INC.
G11C7/1093G06F13/1689G11C7/22G11C29/022G11C29/023G11C29/028
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,349,421
App. No.
14/171,646
Granted
May 24, 2016
Kind
B2
Abstract

A data path interface for transferring data to a memory device, comprising: programmable delay units (“PDUs”), wherein data is received by the interface according to a first clock signal and wherein the PDUs apply delays to the received data; and align blocks, wherein the align blocks select certain ones of the delayed data as a function of the first clock signal and a second clock signal, and wherein the selected certain ones of the delayed data are processed for transmission to the memory device according to the second clock signal.

Claims (46)

1. A data path interface for transferring data to a memory device, comprising:

programmable delay units (“PDUs”), wherein data is received by the data path interface according to a first clock signal and wherein the PDUs apply delays to the received data;

align blocks; and

a clock alignment logic,

wherein the align blocks select certain ones of the delayed data as a function of the first clock signal and a second clock signal,

wherein the selected certain ones of the delayed data are processed for transmission to the memory device according to the second clock signal,

wherein the clock alignment logic determines relative edge positions of the first clock signal and the second clock signal along a time axis,

wherein the selected certain ones of the delayed data are selected as a function of the determined edge positions,

wherein a cycle of the first clock signal is partitioned into predefined regions along the time axis, and

wherein an amount of delay of the selected certain ones of the delayed data is a function of where a rising edge of the second clock signal falls within the predefined regions along the time axis.

2. The data path interface of claim 1 wherein if the rising edge of the second clock signal falls within a first region of the predefined regions, the amount of delay is equal to N−0.5 cycles of the second clock signal, where N is an integer.

3. The data path interface of claim 1 wherein if the rising edge of the second clock signal falls within a second region of the predefined regions, the amount of delay is equal to N cycles of the second clock signal, where N is an integer.

4. The data path interface of claim 1 wherein if the rising edge of the second clock signal falls within a third region of the predefined regions, the amount of delay is equal to N+0.5 cycles of the second clock signal, where N is an integer.

5. The data path interface of claim 1 further comprising multiplexers for receiving the received data from a physical layer and a phase synchronizer for managing the multiplexers, wherein the phase synchronizer selects a bit order for outputting the received data from the multiplexers to the PDUs.

6. The data path interface of claim 5 wherein each of the multiplexers is a low-setup multiplexer, wherein the low-setup multiplexer comprises binary multiplexers connected together in a tree structure, and wherein a first data bit is routed directly to a final one of the binary multiplexers and remaining data bits are routed through the other ones of the binary multiplexers.

7. A data path interface for transferring data to a memory device, comprising:

programmable delay units (“PDUs”), wherein data is received by the data path interface according to a first clock signal and wherein the PDUs apply delays to the received data;

align blocks, wherein the align blocks select certain ones of the delayed data as a function of the first clock signal and a second clock signal;

a clock alignment logic;

multiplexers for receiving the received data from a physical layer; and

a phase synchronizer for managing the multiplexers,

wherein the phase synchronizer selects a bit order for outputting the received data from the multiplexers to the PDUs,

wherein the selected certain ones of the delayed data are processed for transmission to the memory device according to the second clock signal,

wherein the clock alignment logic determines relative edge positions of the first clock signal and the second clock signal along a time axis, and

wherein the selected certain ones of the delayed data are selected as a function of the determined edge positions.

8. The data path interface of claim 7 wherein a cycle of the first clock signal is partitioned into predefined regions along the time axis and wherein an amount of delay of the selected certain ones of the delayed data is a function of where a rising edge of the second clock signal falls within the predefined regions along the time axis.

9. The data path interface of claim 8 wherein if the rising edge of the second clock signal falls within a first region of the predefined regions, the amount of delay is equal to N−0.5 cycles of the second clock signal, where N is an integer.

10. The data path interface of claim 8 wherein if the rising edge of the second clock signal falls within a second region of the predefined regions, the amount of delay is equal to N cycles of the second clock signal, where N is an integer.

11. The data path interface of claim 8 wherein if the rising edge of the second clock signal falls within a third region of the predefined regions, the amount of delay is equal to N+0.5 cycles of the second clock signal, where N is an integer.

12. The data path interface of claim 7 wherein each of the multiplexers is a low-setup multiplexer, wherein the low-setup multiplexer comprises binary multiplexers connected together in a tree structure, and wherein a first data bit is routed directly to a final one of the binary multiplexers and remaining data bits are routed through the other ones of the binary multiplexers.

13. A data path interface for transferring data to a memory device, comprising:

programmable delay units (“PDUs”), wherein data is received by the data path interface according to a first clock signal and wherein the PDUs apply delays to the received data;

align blocks, wherein the align blocks select certain ones of the delayed data as a functior of the first clock signal and a second clock signal;

a clock alignment logic;

multiplexers for receiving the received data from a physical layer; and

a phase synchronizer for managing the multiplexers,

wherein the phase synchronizer selects a bit order for outputting the received data from the multiplexers to the PDUs,

wherein the selected certain ones of the delayed data are processed for transmission to the memory device according to the second clock signal,

wherein the clock alignment logic determines relative edge positions of the first clock signal and the second clock signal along a time axis,

wherein the selected certain ones of the delayed data are selected as a function of the determined edge positions,

wherein a cycle of the first clock signal is partitioned into predefined regions along the time axis,

wherein an amount of delay of the selected certain ones of the delayed data is a function of where a rising edge of the second clock signal falls within the predefined regions along the time axis,

wherein if the rising edge of the second clock signal falls within a first region of the predefined regions, the amount of delay is equal to N−0.5 cycles of the second clock signal, where N is an integer,

wherein if the rising edge of the second clock signal falls within a second region of the predefined regions, the amount of delay is equal to N cycles of the second clock signal, where N is an integer, and

wherein if the rising edge of the second clock signal falls within a third region of the predefined regions, the amount of delay is equal to N+0.5 cycles of the second clock signal, where N is an integer.

14. The data path interface of claim 13 wherein each of the multiplexers is a low-setup multiplexer, wherein the low-setup multiplexer comprises binary multiplexers connected together in a tree structure, and wherein a first data bit is routed directly to a final one of the binary multiplexers and remaining data bits are routed through the other ones of the binary multiplexers.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 29, 2020
From: INVECAS, INC.
To: SYNOPSYS, INC.
Reel/Frame 051971/0624 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2019
From: SOCTRONICS, INC.
To: INVECAS, INC.
Reel/Frame 049233/0278 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2015
From: KOOL CHIP, INC.
To: SOCTRONICS, INC.
Reel/Frame 036785/0762 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2014
From: RAO, VENKATA N.S.N.; CHALASANI, PRASAD
To: KOOL CHIP, INC.
Reel/Frame 032125/0293 →
Continuity (1)
Related Publication 20150221350A1 · Aug 6, 2015