IP Library Granted Patent US 8,037,221
Granted Patent B2
US 8,037,221 · App. 12/014,853 · Granted Oct 11, 2011

Dynamic allocation of DMA buffers in input/output adaptors

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 8,037,221
App. No.
12/014,853
Granted
Oct 11, 2011
Kind
B2
Abstract

A method and apparatus for dynamic allocation of DMA buffers in the DRAM banks of an I/O adaptor. The method and apparatus determine the functional status of the adaptor, allocate critical, volatile DMA buffers in non-critical DRAM banks if the adaptor is fully functional, and allocate critical, volatile DMA buffers in critical DRAM banks if the adaptor is partially functional.

Claims (32)

1. A method for dynamic allocation of a DMA buffer in DRAM banks of an I/O adaptor, the DRAM banks including a lowly-utilized high-performance first bank and a highly-utilized low-performance second bank, the method comprising:

determining whether the adaptor is fully-functional or partially-functional;

allocating the DMA buffer in the first bank if the adaptor is fully functional; and

allocating the DMA buffer in the second bank if the adaptor is partially functional.

2. The method of claim 1 , wherein the allocating the DMA buffer in the second bank includes using an allocation or mapping for the DMA buffer without enabling a read cache.

3. The method of claim 1 , wherein the allocating the DMA buffer in the first bank includes enabling advanced features and relocating the DMA buffer to improve performance.

4. A computer program product for dynamic allocation of a DMA buffer in DRAM banks of an I/O adaptor, the DRAM banks including a lowly-utilized high-performance first bank and a highly-utilized low-performance second bank, the computer program product comprising:

a non-transitory computer usable medium having computer usable program code embodied therewith, the computer usable program code comprising:

instructions to determine whether the adaptor is fully-functional or partially-functional; and

instructions to allocate the DMA buffer in the first bank if the adaptor is fully functional; and

instructions to allocate the DMA buffer in the second bank if the adaptor is partially functional.

5. The computer program product of claim 4 , wherein the instructions to allocate the DMA buffer in the second bank includes using an allocation or mapping for the DMA buffer without enabling a read cache.

6. The computer program product of claim 4 , wherein the instructions to allocate the DMA buffer in the first bank includes enabling advanced features and relocating the DMA buffer to improve performance.

7. The computer program product of claim 4 , wherein the instructions to determine comprise instructions to run an adaptor diagnostic based on configuration information in a boot segment of the I/O adaptor.

8. A computer system comprising:

a processor;

a memory operatively coupled to the processor;

a storage device operatively coupled to the processor and memory; and

a computer program product for dynamic allocation of a DMA buffer in DRAM banks of an I/O adaptor, the DRAM banks including a lowly-utilized high-performance first bank and a highly-utilized low-performance second bank, the computer program product comprising:

a non-transitory computer usable medium having computer usable program code embodied therewith, the computer usable program code comprising:

instructions to determine whether the adaptor is fully-functional or partially-functional; and

instructions to allocate the DMA buffer in the first bank if the adaptor is fully functional; and

instructions to allocate the DMA buffer in the second bank if the adaptor is partially functional.

9. The system of claim 8 , wherein the instructions to allocate the DMA buffer in the second bank includes using an allocation or mapping for the DMA buffer without enabling a read cache.

10. The system of claim 8 , wherein the instructions to allocate the DMA buffer in the first bank includes enabling advanced features and relocating the DMA buffer to improve performance.

11. The system of claim 8 , wherein the instructions to determine comprise instructions to run an adaptor diagnostic based on configuration information in a boot segment of the I/O adaptor.

12. The method of claim 1 , further comprising adjusting a size of the allocated DMA buffer or a location of the allocated DMA buffer, if the adaptor is fully functional.

13. The method of claim 3 , wherein the advanced features includes a feature of a read cache.

14. The computer program product of claim 4 , further comprising instructions to adjust a size of the allocated DMA buffer or a location of the allocated DMA buffer, if the adaptor is fully functional.

15. The computer program product of claim 6 , wherein the advanced features includes a feature of a read cache.

16. The computer system of claim 8 , further comprising instructions to adjust a size of the allocated DMA buffer or a location of the allocated DMA buffer, if the adaptor is fully functional.

17. The computer system of claim 10 , wherein the advanced features includes a feature of a read cache.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2008
From: NORGAARD, STEVEN P.; BAKKE, BRIAN E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020369/0648 →
Continuity (1)
Related Publication 20090182969A1 · Jul 16, 2009