IP Library › Granted Patent US 10,042,554
Granted Patent B2
US 10,042,554 · App. 14/946,015 · Granted Aug 7, 2018

Increased bandwidth of ordered stores in a non-uniform memory subsystem

Inventors: Ekaterina M. Ambroladze (Los Angeles, CA); Garrett M. Drapala (Cary, NC); Norbert Hagspiel (Wendlingen, DE); Sascha Junghans (Ammerbuch, DE); Matthias Klein (Boeblingen, DE); Gary E. Strait (Poughkeepsie, NY)
Assignee: International Business Machines Corporation
G06F3/0604G06F3/0647G06F3/0683G06F12/0842G06F13/4221G06F2212/271G06F2212/604
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 10,042,554
App. No.
14/946,015
Granted
Aug 7, 2018
Kind
B2
Abstract

A method, computer program product, and system for maintaining a proper ordering of a data steam that includes two or more sequentially ordered stores, the data stream being moved to a destination memory device, the two or more sequentially ordered stores including at least a first store and a second store, wherein the first store is rejected by the destination memory device. A computer-implemented method includes sending the first store to the destination memory device. A conditional request is sent to the destination memory device for approval to send the second store to the destination memory device, the conditional request dependent upon successful completion of the first store. The second store is cancelled responsive to receiving a reject response corresponding to the first store.

Claims (21)

1. A method implemented in a PCI (Peripheral Component Interconnect) Bridge Controller to maintain a proper ordering of a data stream that includes two or more sequentially ordered stores, the data stream being moved to a destination memory device, the two or more sequentially ordered stores including at least a first store and a second store, the method comprising:

sending, by one or more processors, the first store from a source memory device to the destination memory device, wherein the destination memory device is a volatile memory device and wherein the first store is assigned a first finite state machine (FSM) and the first FSM of the first store contains a first query dependency vector and a first data dependency vector;

setting, by one or more processors, bits of the first query dependency vector to off and setting, by one or more processors, bits of the first data dependency vector to off;

assigning, by one or more processors, a second FSM to the second store, wherein the second FSM contains a second query dependency vector and a second data dependency vector;

sending, by one or more processors, a conditional request to the destination memory device for approval to send the second store to the destination memory device upon receipt of the approval, the sending of the second store being dependent upon successful completion of the first store, wherein bits of the second query dependency vector is set to off and bits of the second data dependency vector is set to off; and

sending, by one or more processors, a command to the destination memory device to cancel the second store whether the second store has been sent to the destination memory device or has not been sent to the destination memory device, responsive to receiving a reject response corresponding to the first store.

2. The method in accordance with claim 1 , wherein sending, by one or more processors, the first store from a source memory device to the destination memory device further comprise:

sending, by one or more processors, the first store from the PCI (Peripheral Component Interconnect) Bridge Controller to a destination memory device.

3. The method in accordance with claim 1 , wherein sending, by one or more processors, the first store from a source memory device to the destination memory device further comprise:

sending, by one or more processors, the first store from a source memory device to a level 3 cache memory.

4. The method in accordance with claim 1 , wherein program instructions to cancel the second store responsive to receiving a reject response corresponding to the first store, comprise:

sending, by one or more processors, a signal to the destination memory device to cancel the conditional request;

receiving, by one or more processors, a signal indicating that the destination memory device has completed operations to cancel the conditional request;

resending, by one or more processors, the first store to the destination memory device; and

resending, by one or more processors, a request for approval to send the second store, the request for approval conditional upon successful completion of the first store.

5. The method in accordance with claim 1 further comprising:

managing, by one or more processors, a store, through a finite state machine, wherein the finite state machine is operationally coupled to a query dependency vector and a data dependency vector.

6. The method in accordance with claim 5 , wherein coupling a finite state machine to a query dependency vector further comprises:

sending a signal, by one or more processors, to the finite state machine, to indicate a state of a predecessor finite state machine with respect to sending a conditional store request.

7. The method in accordance with claim 5 , wherein coupling a finite state machine to a data dependency vector further comprises:

sending a signal, by one or more processors, to the finite state machine, to indicate a state of a predecessor finite state machine with respect to sending a data packet to the destination memory device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2015
From: AMBROLADZE, EKATERINA M.; DRAPALA, GARRETT M.; HAGSPIEL, NORBERT; JUNGHANS, SASCHA; KLEIN, MATTHIAS; STRAIT, GARY E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 037090/0372 →
Continuity (2)
Continuation 14533579 · Nov 5, 2014
Related Publication 20160124653A1 · May 5, 2016
Cited By (1)
US 12,332,783