IP Library Granted Patent US 7,886,089
Granted Patent B2
US 7,886,089 · App. 12/030,352 · Granted Feb 8, 2011

Method, system and computer program product for enhanced shared store buffer management scheme for differing buffer sizes with limited resources for optimized performance

Assignee: International Business Machines Corporation
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,886,089
App. No.
12/030,352
Granted
Feb 8, 2011
Kind
B2
Abstract

The exemplary embodiment of the present invention provides a storage buffer management scheme for I/O store buffers. Specifically, the storage buffer management system as described within the exemplary embodiment of the present invention is configured to comprise storage buffers that have the capability to efficiently support 128 byte or 256 byte I/O data transmission lines. The presently implemented storage buffer management scheme enables for a limited number of store buffers to be associated with a fixed number of storage state machines (i.e., queue positions) and thereafter the allowing for the matched pairs to be allocated in order to achieve maximum store throughput for varying combinations of store sizes of 128 and 256 bytes.

Claims (25)

1. A computer implemented method for managing I/O store buffers, the method comprising:

determining, via a computer, if an I/O operation requires a single data store buffer or a data store buffer pair;

determining, via the computer, the availability of a plurality of state machines;

in response to determining that a single data store buffer is required, the method further comprising:

determining, via the computer, if stored data has been read out of a buffer that is associated with the state machine in the instance that the state machine is determined to be inactive; and

determining, via the computer, if stored data has been read out of a buffer that is associated with the state machine in the instance that the mate state machine has claimed the buffer and the mate state machine is determined to be active; and

in response to determining that a data store buffer pair is required, the method further comprising:

determining, via the computer, if stored data has been read out of the buffer that is associated with a state machine and a buffer that is associated with a mate state machine that is associated with the state machine in the instance that the state machine is determined to be inactive, wherein the mate state machine is identified as being active; and

configuring a secondary command queue position to claim a data buffer pair that is associated with a state machine and the mate state machine that is associated with the state machine as soon as a mate command queue position releases the buffers that are associated with the state machine and the mate state machine.

2. The method of claim 1 , further comprising identifying the buffer as available when the stored data is read out of the buffer regardless of the validity of the state machine that is associated with the buffer.

3. The method of claim 2 , further comprising identifying the buffer that is associated with the state machine and the buffer that is associated with the mate state machine as available when the stored data is read out of the buffers regardless of the validity of the state machine.

4. The method of claim 1 , further comprising assigning the single data store buffers and the data store buffer pairs in descending order from opposite ends of a data queue.

5. The method of claim 4 , wherein data store buffers of differing sizes are segregated in order to maximize the ability to pair two adjacent single data store buffers in order to implement a data store buffer pair.

6. A computer program product that includes a computer readable medium useable by a processor, the medium having stored thereon a sequence of instructions which, when executed by the processor, causes the processor to implement a method for managing a plurality of state machines and I/O store buffers that are associated with the plurality of state machines, the method comprising:

determining if an I/O operation requires a single data store buffer or a data store buffer pair;

determining the validity of a plurality of state machines;

in response to determining that a single data store buffer is required, the method further comprising:

determining if stored data has been read out of a buffer that is associated with the state machine in the instance that the state machine is determined to be inactive; and

determining if stored data has been read out of a buffer that is associated with the state machine in the instance that the mate state machine has claimed the buffer and the mate state machine is determined to be active; and

in response to determining that a data store buffer pair is required, the method further comprising:

determining if stored data has been read out of the buffer that is associated with a state machine and a buffer that is associated with a mate state machine that is associated with the state machine in the instance that the state machine is determined to be inactive, wherein the mate state machine is not identified as being active; and

configuring a secondary command queue position to claim a data buffer pair that is associated with a state machine and the mate state machine that is associated with the state machine as soon as a mate command queue position releases the buffers that are associated with the state machine and the mate state machine.

7. The computer program product of claim 6 , further comprising identifying the buffer as available when the stored data is read out of the buffer regardless of the validity of the state machine that is associated with the buffer.

8. The computer program product of claim 7 , further comprising identifying the buffer that is associated with the state machine and the buffer that is associated with the mate state machine as available when the stored data is read out of the buffers regardless of the validity of the state machine.

9. The computer program product of claim 6 , further comprising assigning the single data store buffers and the data store buffer pairs in descending order from opposite ends of a data queue.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2010
From: STRAIT, GARY E.; CHECK, MARK A.; DENG, HONG; ORF, DIANA L.; ULRICH, HANNO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 024883/0794 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2008
From: STRAIT, GARY E.; CHECK, MARK A.; DENG, HONG; ORF, DIANA L.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020502/0831 →
Continuity (1)
Related Publication 20090204734A1 · Aug 13, 2009