Read Interface Block for Memory Phase Alignment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-speed store-and-forward devices face challenges in accurately synchronizing data from pipelined memory devices due to varying propagation delays and phase mismatches across multiple memory banks, leading to difficulties in determining the exact clock cycle for latching data, especially under PVT changes.
Innovation Solution
The implementation of a read interface block with asynchronous FIFOs, a logical AND gate, and a clock generator that uses retimed clocks from memory devices to align sub-words and synchronize data across multiple memory banks, ensuring precise data alignment and synchronization with the processing device's clock.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple memory devices are used in parallel to increase bandwidth, then the transfer rate is quadrupled, but the phase alignment between sub-words becomes difficult to maintain due to varying propagation delays
Solution Approach 1:
A phase alignment circuit is introduced as an intermediary component between the memory devices and the processing device. This circuit receives the retimed clocks from multiple memory banks and adjusts their phases to be aligned with the processing device's clock, enabling precise synchronization without requiring the memory devices themselves to be phase-aligned. The intermediary absorbs the complexity of phase management while allowing the memory subsystem to operate at high speeds.
2Reliability
If the memory device retimes the incoming clock to align with data, then data synchronization is achieved, but the complexity of the read interface increases
Solution Approach 1:
The retiming function is extracted from the memory device and placed in an intermediary phase alignment circuit. This allows the memory device to maintain a simple, standardized interface while the intermediary handles the complex phase adjustment. The phase alignment circuit receives retimed clocks from memory devices and adjusts them to match the processing device's clock, distributing the complexity away from the memory interface.
Solution Approach 2:
The synchronization function is segmented across multiple independent phase alignment circuits, one for each memory bank. Each circuit independently aligns the phase of clocks from its associated memory device with the processing device clock. This modular approach allows each circuit to be simple and identical, while collectively handling the complexity of synchronizing multiple memory banks with different propagation delays.
3Ease of manufacture
If single-edge clocking is used for simplicity, then the read interface is easier to implement, but the throughput is limited compared to dual-edge clocking
Solution Approach 1:
The phase alignment circuit acts as an intermediary that enables dual-edge clocking to function reliably. It receives the two clocks generated by the dual-edge memory device and adjusts their phases to be aligned with the processing device's clock edges. This intermediary mechanism allows the processing device to interpret both clock edges correctly, effectively enabling dual-edge operation while maintaining a simple, standardized interface protocol.
Data Source
AI summary
In some embodiments a processing device is disclosed. The processing device is configured to read data from a memory device. The processing device transmits a read request to the memory device for a data block at a certain address and reads the data block for the certain address from the memory device. The processing device dynamically detects boundaries for the data block read by detecting an alignment pattern in data received from the memory device. Other embodiments are otherwise disclosed herein.


