IP Library › Granted Patent US 9,594,646
Granted Patent B2
US 9,594,646 · App. 15/252,435 · Granted Mar 14, 2017

Reestablishing synchronization in a memory system

Inventors: Glenn D. Gilda (Binghamton, NY); Patrick J. Meaney (Poughkeepsie, NY); Vesselina K. Papazova (Highland, NY); John S. Dodson (Austin, TX)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/1662G06F1/04G06F1/10G06F1/12G06F3/0614G06F3/0619G06F3/0629G06F3/0656G06F3/0659G06F3/0683G06F13/1673
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,594,646
App. No.
15/252,435
Granted
Mar 14, 2017
Kind
B2
Abstract

Embodiments relate to reestablishing synchronization across multiple channels in a memory system. One aspect is a computer implemented method that includes receiving an out-of-synchronization indication associated with at least one of a plurality of channels in the memory system. A memory control unit in communication with the channels performs a first stage of reestablishing synchronization that includes selectively stopping new traffic on the plurality of channels, waiting for a first time period to expire, resuming traffic on the plurality of channels based on the first time period expiring, and verifying that synchronization is reestablished for a second time period.

Claims (28)

1. A computer-implemented method for reestablishing synchronization across multiple channels in a memory system within a computer, the method comprising:

receiving an out-of-synchronization indication associated with at least one of a plurality of channels in the memory system within the computer, wherein the plurality of channels within the computer each provide communication with a memory buffer chip and a plurality of memory devices;

performing, by a memory control unit in communication with the channels within the computer, a first stage of reestablishing synchronization comprising:

selectively stopping new traffic on the plurality of channels unless a skip counter is enabled and not exceeded;

decrementing a first time period while waiting for the first time period to expire based on determining that a replay is not in progress;

resuming traffic on the plurality of channels based on the first time period expiring;

verifying that synchronization is reestablished for a second time period; and

based on determining that synchronization is not reestablished for the second time period, repeating the first stage of reestablishing synchronization for a number of times before performing a second stage of reestablishing synchronization;

performing, by the memory control unit, the second stage of reestablishing synchronization comprising:

stopping new traffic on the plurality of channels;

waiting for outstanding traffic on the plurality of channels to complete;

waiting for a write reorder queue empty status indicator from the memory buffer chips;

decrementing the first time period while waiting for the first time period to expire based on determining that the replay is not in progress, wherein the replay comprises a recovery retransmission sequence from a replay buffer that causes a faulty channel to go out of synchronization with non-faulty instances of the channels;

resuming traffic on the plurality of channels based on the first time period expiring;

verifying that synchronization is reestablished for the second time period;

based on determining that synchronization is not reestablished for the second time period, determining whether a memory buffer chip out-of-sync condition exists; and

based on determining that the memory buffer chip out-of-sync condition does not exist, repeating the second stage of reestablishing synchronization for a number of times before advancing to a third stage of reestablishing synchronization or declaring a failure; and

performing the third stage of reestablishing synchronization based on determining that the memory buffer chip out-of-sync condition exists, the third stage comprising:

stopping new traffic on the plurality of channels;

waiting for outstanding traffic on the plurality of channels to complete;

waiting for the write reorder queue empty status indicator from the memory buffer chips before sending a synchronization command;

sending the synchronization command to the memory buffer chips on each of the channels;

waiting for a third time period to expire;

verifying that the replay did not occur during the third time period;

waiting a fourth time period before resuming traffic on the plurality of channels;

resuming traffic on the plurality of channels;

verifying that synchronization is reestablished for the second time period; and

based on determining that synchronization is not reestablished for the second time period, repeating the third stage of reestablishing synchronization for a number of times before declaring the failure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2016
From: GILDA, GLENN D.; MEANEY, PATRICK J.; PAPAZOVA, VESSELINA K.; DODSON, JOHN S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039599/0717 →
Continuity (3)
Continuation 15072659 · Mar 17, 2016
Continuation 13835258 · Mar 15, 2013
Related Publication 20160364303A1 · Dec 15, 2016