IP Library Granted Patent US 9,146,682
Granted Patent B2
US 9,146,682 · App. 14/488,429 · Granted Sep 29, 2015

Method and apparatus for storing data

Inventors: Meng Gao (Shanghai, CN); Yang Liu (Shanghai, CN); Mei Mei (Shanghai, CN); Jie Ping Wu (Shanghai, CN)
Assignee: International Business Machines Corporation
G06F3/0611G06F3/0631G06F3/0646G06F3/0683
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,146,682
App. No.
14/488,429
Granted
Sep 29, 2015
Kind
B2
Abstract

An allocation instruction is received that includes a target data operand and a storage medium operand indicating a storage medium for storing the target data. A data dependency is identified that specifies peripheral data on which the target data depends. In response to determining that the allocation instruction will cause the target data and the peripheral data to locate to different storage mediums having different data IO rates, the execution of the allocation instruction is prevented. In another embodiment, in response to determining that the allocation instruction allocates the target data from a first storage medium to a second storage medium having a faster data IO rate, the allocation instruction is modified to also allocate the peripheral data specified in the data dependency to the second storage medium.

Claims (44)

1. A method for storing data, the method comprising:

receiving an allocation instruction that includes a target data operand and a storage medium operand indicating a storage medium for storing the target data;

identifying a data dependency that specifies peripheral data on which the target data depends; and

in response to determining that the allocation instruction will cause the target data and the peripheral data to locate to different storage mediums having different data IO rates, preventing execution of the allocation instruction.

2. The method according to claim 1 , further comprising:

in response to determining that the allocation instruction allocates the target data from a first storage medium to a second storage medium having a faster data IO rate, modifying the allocation instruction to also allocate the peripheral data specified in the data dependency to the second storage medium.

3. The method according to claim 1 , further comprising:

identifying a plurality of data dependencies that specify peripheral data on which the target data depends, and wherein each of the data dependencies has a respective data dependency priority; and

in response to determining that the allocation instruction allocates the target data from a first storage medium to a second storage medium having a faster data TO rate and that not all of the peripheral data can be allocated to the second storage medium, modifying the promotion allocation instruction to also allocate one or more of the peripheral data identified in the data dependencies to the second storage medium, based on the respective data dependency priorities.

4. The method according to claim 1 , further comprising:

identifying a plurality of data dependencies that specify peripheral data on which the target data depends, and wherein each of the data dependencies has a respective data dependency priority; and

in response to determining that the allocation instruction allocates the target data from a first storage medium to a second storage medium having a faster data TO rate and that not all of the peripheral data can be allocated to the second storage medium, modifying the promotion allocation instruction to also allocate one or more of the peripheral data identified in the data dependencies to one or more storage mediums with data TO rates that are at least faster than the storage mediums from which the peripheral data would be allocated, based on the respective data dependency priorities.

5. The method according to claim 3 , wherein the data dependency priorities are determined according to a degree of improvement in access speed of the primary data resulting from allocating the peripheral data to the second storage medium.

6. The method according to claim 1 , wherein the data dependency further identifies a condition for dissolving the data dependency.

7. A computer program product for storing data, the computer program product comprising:

one or more non-transitory computer readable storage media and program instructions stored on the one or more non-transitory computer-readable storage media, the program instructions comprising:

program instructions to receive an allocation instruction that includes a target data operand and a storage medium operand indicating a storage medium for storing the target data;

program instructions to identify a data dependency that specifies peripheral data on which the target data depends; and

program instructions, in response to determining that the allocation instruction will cause the target data and the peripheral data to locate to different storage mediums having different data TO rates, to prevent execution of the allocation instruction.

8. The computer program product according to claim 7 , further comprising:

program instructions, in response to determining that the allocation instruction allocates the target data from a first storage medium to a second storage medium having a faster data TO rate, to modify the allocation instruction to also allocate the peripheral data specified in the data dependency to the second storage medium.

9. The computer program product according to claim 7 , further comprising:

program instructions to identify a plurality of data dependencies that specify peripheral data on which the target data depends, and wherein each of the data dependencies has a respective data dependency priority; and

program instructions, in response to determining that the allocation instruction allocates the target data from a first storage medium to a second storage medium having a faster data TO rate and that not all of the peripheral data can be allocated to the second storage medium, to modify the promotion allocation instruction to also allocate one or more of the peripheral data identified in the data dependencies to the second storage medium, based on the respective data dependency priorities.

10. The computer program product according to claim 7 , further comprising:

program instructions to identify a plurality of data dependencies that specify peripheral data on which the target data depends, and wherein each of the data dependencies has a respective data dependency priority; and

program instructions, in response to determining that the allocation instruction allocates the target data from a first storage medium to a second storage medium having a faster data TO rate and that not all of the peripheral data can be allocated to the second storage medium, to modify the promotion allocation instruction to also allocate one or more of the peripheral data identified in the data dependencies to one or more storage mediums with data TO rates that are at least faster than the storage mediums from which the peripheral data would be allocated, based on the respective data dependency priorities.

11. The computer program product according to claim 9 , wherein the data dependency priorities are determined according to a degree of improvement in access speed of the primary data resulting from allocating the peripheral data to the second storage medium.

12. The computer program product according to claim 7 , wherein the data dependency further identifies a condition for dissolving the data dependency.

13. A computer program system for storing data, the computer program system comprising:

one or more computer processors, one or more computer readable storage media, and program instructions stored on one or more of the computer-readable storage media for execution by at least one of the one or more processors, the program instructions comprising:

program instructions to receive an allocation instruction that includes a target data operand and a storage medium operand indicating a storage medium for storing the target data;

program instructions to identify a data dependency that specifies peripheral data on which the target data depends; and

program instructions, in response to determining that the allocation instruction will cause the target data and the peripheral data to locate to different storage mediums having different data IO rates, to prevent execution of the allocation instruction.

14. The computer system according to claim 13 , further comprising:

program instructions, in response to determining that the allocation instruction allocates the target data from a first storage medium to a second storage medium having a faster data TO rate, to modify the allocation instruction to also allocate the peripheral data specified in the data dependency to the second storage medium.

15. The computer system according to claim 13 , further comprising:

program instructions to identify a plurality of data dependencies that specify peripheral data on which the target data depends, and wherein each of the data dependencies has a respective data dependency priority; and

program instructions, in response to determining that the allocation instruction allocates the target data from a first storage medium to a second storage medium having a faster data TO rate and that not all of the peripheral data can be allocated to the second storage medium, to modify the promotion allocation instruction to also allocate one or more of the peripheral data identified in the data dependencies to the second storage medium, based on the respective data dependency priorities.

16. The computer system according to claim 13 , further comprising:

program instructions to identify a plurality of data dependencies that specify peripheral data on which the target data depends, and wherein each of the data dependencies has a respective data dependency priority; and

program instructions, in response to determining that the allocation instruction allocates the target data from a first storage medium to a second storage medium having a faster data TO rate and that not all of the peripheral data can be allocated to the second storage medium, to modify the promotion allocation instruction to also allocate one or more of the peripheral data identified in the data dependencies to one or more storage mediums with data TO rates that are at least faster than the storage mediums from which the peripheral data would be allocated, based on the respective data dependency priorities.

17. The computer system according to claim 15 , wherein the data dependency priorities are determined according to a degree of improvement in access speed of the primary data resulting from allocating the peripheral data to the second storage medium.

18. The computer system according to claim 13 , wherein the data dependency further identifies a condition for dissolving the data dependency.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2014
From: GAO, MENG; LIU, YANG; MEI, MEI; WU, JIE PING
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033755/0685 →
Priority Claims (1)
CN 2013 1 0454982 · Sep 29, 2013 · national
Continuity (1)
Related Publication 20150095528A1 · Apr 2, 2015