IP Library Granted Patent US 11,782,615
Granted Patent B2
US 11,782,615 · App. 17/061,596 · Granted Oct 10, 2023

Information processing system, non-transitory computer-readable recording medium having stored therein storage controlling program, and storage controller

Inventor: Osamu Shiraki (Kawasaki, JP)
Assignee: FUJITSU LIMITED
G06F3/0631G06F3/067G06F3/0613G06F3/0653G06F3/0659G06F3/0683G06F15/17331
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 11,782,615
App. No.
17/061,596
Granted
Oct 10, 2023
Kind
B2
Abstract

An information processing system includes a data processing apparatus and multiple storage apparatuses. The data processing apparatus stores, into a memory, write data to be written to a first storage apparatus, and sends, to the first storage apparatus, a first transfer request containing information of a storing location of the write data in the memory. The first storage apparatus executes a transfer process to read the write data from the storing location, and writes the write data to a first storage area in the first storage apparatus; sends, to a second storage apparatus, a second transfer request instructing a transfer of the write data from the memory to the second storage apparatus; and sends, to a third storage apparatus, a third transfer request instructing a transfer of the write data from the first storage area to the third storage apparatus.

Claims (75)

1. An information processing system comprising:

a data processing apparatus; and

a plurality of storage apparatuses,

the data processing apparatus being configured to:

store, into a memory, write data to be written to a first storage apparatus of the plurality of storage apparatuses, and send, to the first storage apparatus, a first transfer request containing information indicative of a storing location of the write data in the memory, and

the first storage apparatus being configured to:

execute a first transfer process to read the write data from the storing location thereof in the memory based on the information indicative of the storing location, and write the write data to a first storage area in the first storage apparatus;

identify, based on information indicative of at least one of storage devices that are to carry out the storing of the write data, a second storage apparatus and a third storage apparatus that are to serve as transfer destinations of the write data among the plurality of storage apparatuses;

send, to the second storage apparatus among the identified transfer destinations, a second transfer request instructing a transfer of the write data from the storing location in the memory of the data processing apparatus to the second storage apparatus, the write data being stored by the data processing apparatus; and

send, to the third storage apparatus among the identified transfer destinations, a third transfer request instructing a transfer of the write data being transferred to the first storage apparatus from the memory, from the storing location of the write data in the first storage area to the third storage apparatus,

the second storage apparatus being configured to:

execute a second transfer process to read the write data from the storing location thereof in the memory based on the information indicative of the storing location contained in the second transfer request received from the first storage apparatus, and write the write data to a second storage area in the second storage apparatus, and

the third storage apparatus being configured to:

execute, in parallel in time-wise with the second transfer process, a third transfer process to read the write data from the storing location thereof in the first storage area based on the information indicative of the storing location contained in the third transfer request received from the first storage apparatus, and write the write data to a third storage area in the third storage apparatus.

2. The information processing system according to claim 1 , wherein

the second storage apparatus is configured to

set information indicative of completion of the second transfer process in a given area in the first storage apparatus, and

the third storage apparatus is configured to

set information indicative of completion of the third transfer process in the given area in the first storage apparatus, and

the first storage apparatus is configured to

in response to detecting completion of the second and third transfer processes, based on the information set in the given area, send a response indicating completion of a process associated with the first transfer request, to the data processing apparatus.

3. The information processing system according to claim 2 , wherein

the given area comprises a plurality of areas allocated to the second and third storage apparatuses,

the second storage apparatus is configured to, upon setting the information indicative of completion of the second transfer process, write the information to an area being allocated to the second storage apparatus, and

the third storage apparatus is configured to, upon setting the information indicative of completion of the third transfer process, write the information to an area being allocated to the third storage apparatus, and

the first storage apparatus is configured to detect that the second and third transfer processes complete when the information is written to all of the areas allocated to the second and the third storage apparatuses.

4. The information processing system according to claim 2 , wherein

the given area comprises an area that is common to the second and third storage apparatuses,

the second storage apparatus is configured to increase or decrease a value set in the area upon setting the information indicative of completion of the corresponding second transfer process, and

the third storage apparatus is configured to increase or decrease a value set in the area upon setting the information indicative of completion of the third transfer process, and

the first storage apparatus is configured to detect that the second and third transfer processes complete when an increased or decreased amount of the value set in the area matches a number of the second and third storage apparatuses.

5. The information processing system according to claim 1 , wherein

the second storage apparatus is configured to

send, to a fourth storage apparatus of the plurality of storage apparatuses, a fourth transfer request instructing a transfer of the write data from the storing location, from which the write data has been read, to the fourth storage apparatus; and

send, to a fifth storage apparatus of the plurality of storage apparatuses, a fifth transfer request instructing a transfer of the write data from the storing location of the write data in the second storage area to the fifth storage apparatus, and

the third storage apparatus is configured to

send, to a sixth storage apparatus of the plurality of storage apparatuses, a sixth transfer request instructing a transfer of the write data from the storing location, from which the write data has been read, to the sixth storage apparatus; and

send, to a seventh storage apparatus of the plurality of storage apparatuses, a seventh transfer request instructing a transfer of the write data from the storing location of the write data in the third storage area to the seventh storage apparatus.

6. The information processing system according to claim 1 , wherein at least one of the first transfer process, the second transfer process and the third transfer process is a Remote Direct Memory Access (RDMA) Read process.

7. A non-transitory computer-readable recording medium having stored therein a storage controlling program that causes a computer operating a first storage apparatus, to execute a process comprising:

receiving, from a data processing apparatus comprising a memory provided in an information processing system comprising the data processing apparatus and a plurality of storage apparatuses comprising the first storage apparatus, a first transfer request containing information indicative of a storing location in the memory of write data to be written to the first storage apparatus;

executing a first transfer process to read the write data from the storing location thereof in the memory based on the information indicative of the storing location, and write the write data to a first storage area in the first storage apparatus;

identifying, based on information indicative of at least one of storage devices that are to carry out the storing of the write data, a second storage apparatus and a third storage apparatus that are to serve as transfer destinations of the write data among the plurality of storage apparatuses;

sending, to the second storage apparatus among the identified transfer destinations, a second transfer request instructing a transfer of the write data from the storing location in the memory of the data processing apparatus to the second storage apparatus, the write data being stored by the data processing apparatus; and

sending, to the third storage apparatus among the identified transfer destinations, a third transfer request instructing a transfer of the write data being transferred to the first storage apparatus from the memory, from the storing location of the write data in the first storage area to the third storage apparatus

the second transfer request causes the second storage apparatus to execute a second transfer process to read the write data from the storing location thereof in the memory based on the information indicative of the storing location contained in the second transfer request received from the first storage apparatus, and write the write data to a second storage area in the second storage apparatus, and

the third transfer request causes the third storage apparatus to execute, in parallel in time-wise with the second transfer process, a third transfer process to read the write data from the storing location thereof in the first storage area based on the information indicative of the storing location contained in the third transfer request received from the first storage apparatus, and write the write data to a third storage area in the third storage apparatus.

8. The non-transitory computer-readable recording medium according to claim 7 , wherein the program causes the computer to execute a process comprising

in response to detecting completion of the second and third transfer processes, based on information set in a given area to which information indicative of completion of the transfer process is set by the second and third storage apparatuses, sending a response indicating completion of a process associated with the first transfer request, to the data processing apparatus.

9. The non-transitory computer-readable recording medium according to claim 8 , wherein

the given area comprises a plurality of areas allocated to the second and third storage apparatuses, and

the detecting comprises detecting that the second and third transfer processes complete when the information is written to all of the areas allocated to the second and third storage apparatuses.

10. The non-transitory computer-readable recording medium according to claim 8 , wherein

the given area comprises an area that is common to the second and third storage apparatuses, and that contains a value that is increased or decreased by the second and third storage apparatuses, and

the detecting comprising detecting that the second and third transfer processes complete when an increased or decreased amount of the value set in the area matches a number of the second and third storage apparatuses.

11. A storage controller configured to control a first storage apparatus, comprising:

a first memory; and

a processor coupled to the first memory, the processor being configured to:

receive, from a data processing apparatus comprising a second memory provided in an information processing system comprising the data processing apparatus and a plurality of storage apparatuses comprising the first storage apparatus, a first transfer request containing information indicative of a storing location in the second memory of write data to be written to the first storage apparatus;

execute a first transfer process to read the write data from the storing location thereof in the second memory based on the information indicative of the storing location, and write the write data to a first storage area in the first storage apparatus;

identify, based on information indicative of at least one of storage devices that are to carry out the storing of the write data, a second storage apparatus and a third storage apparatus that are to serve as transfer destinations of the write data among the plurality of storage apparatuses;

send, to the second storage apparatus among the identified transfer destinations, a second transfer request instructing a transfer of the write data from the storing location in the memory of the data processing apparatus to the second storage apparatus, the write data being stored by the data processing apparatus; and

send, to the third storage apparatus among the identified transfer destinations, a third transfer request instructing a transfer of the write data being transferred to the first storage apparatus from the memory, from the storing location of the write data in the first storage area to the third storage apparatus,

the second transfer request causes the second storage apparatus to execute a second transfer process to read the write data from the storing location thereof in the second memory based on the information indicative of the storing location contained in the second transfer request received from the first storage apparatus, and write the write data to a second storage area in the second storage apparatus, and

the third transfer request causes the third storage apparatus to, in parallel in time-wise with the second transfer process, a third transfer process to read the write data from the storing location thereof in the first storage area based on the information indicative of the storing location contained in the third transfer request received from the first storage apparatus, and write the write data to a third storage area in the third storage apparatus.

12. The storage controller according to claim 11 , further comprising:

a given area to which information indicative of completion of the transfer process is set by the second and third storage apparatuses,

wherein the processor is configured to

in response to detecting completion of the second and third transfer processes, based on the information set in the given area, send a response indicating completion of a process associated with the first transfer request, to the data processing apparatus.

13. The storage controller according to claim 12 , wherein

the given area comprises a plurality of areas allocated to the second and third storage apparatuses, and

the processor is configured to detect that the second and third transfer processes complete when the information is written to all of the areas allocated to the second and third storage apparatuses.

14. The storage controller according to claim 12 , wherein

the given area comprises an area that is common to the second and third storage apparatuses, and that contains a value that is increased or decreased by the second and third storage apparatuses, and

the processor is configured to detect that the second and third transfer processes complete when an increased or decreased amount of the value set in the area matches a number of the second and third storage apparatuses.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2025
From: FUJITSU LIMITED
To: 1FINITY INC.
Reel/Frame 072432/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2020
From: SHIRAKI, OSAMU
To: FUJITSU LIMITED
Reel/Frame 053960/0202 →
Priority Claims (1)
JP 2019-211317 · Nov 22, 2019 · national
Continuity (1)
Related Publication 20210157493A1 · May 27, 2021