IP Library Granted Patent US 11,061,851
Granted Patent B2
US 11,061,851 · App. 16/083,059 · Granted Jul 13, 2021

Computer system, processing method, and driver program

Inventors: Noboru Morishita (Tokyo, JP); Masakuni Agetsuma (Tokyo, JP); Akihiko Araki (Tokyo, JP); Tomoki Sekiyama (Tokyo, JP)
Assignee: HITACHI, LTD.
G06F15/167G06F3/061G06F3/067G06F3/0644G06F3/0659G06F3/0664G06F9/48G06F13/102G06F13/38G06F15/17H04L41/24H04L67/1097
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,061,851
App. No.
16/083,059
Granted
Jul 13, 2021
Kind
B2
Abstract

A computer system includes a plurality of servers connected to each other via a communication line, each server including a memory and a processor, an OS program and a storage program. The storage program is executed by the processor, and one of the plurality of servers acts as a request source server while one of the other servers acts as a request destination server. When the request source server reads data from the request destination server, the processor of the request source server executes the storage program to transmit a data read request to the request destination server. The processor of the request destination server then executes a storage memory driver incorporated in the OS program to read the requested data from an own memory and transmit the read data to the request source server. The request source server then executes the storage program to acquire the data.

Claims (78)

1. A computer system comprising:

a plurality of servers connected to each other via a communication line, each of the plurality of servers has hardware including a memory and a processor, an OS program and a storage program being stored in the memory and the OS program and the storage program being executed by the processor which cause the processor to be capable of reading the memory of an own server and capable of writing to memories of the own server and the other servers of the plurality of servers,

wherein the processor of each of the plurality of servers is further caused to:

when receiving an access request, decide whether the own server is capable of processing the access request based on whether the access request is a read request or a write request and a storage location of the access request,

when the own server is capable of processing the access request, the storage program executed at the processor of the own server performs the access request, when the access request is the read request from a host, the storage program executed at the processor of the own server reads the data of the data read request from the host from the memory of the own server, and when the access request is the read request transmitted by the storage program of an other server, a storage memory driver incorporated in the OS program executed at the processor of the own server reads the data of the data read request from the memory of the own server,

when the access request is the read request and the storage location of the read request is the memory of another server of the plurality of servers:

the own server which received the read request acts as a request source server while the other server which is a target of the read request acts as a request destination server,

the storage program executed at the processor of the request source server transmits a data read request to the request destination server,

a storage memory driver incorporated in the OS program executed at the processor of the request destination server reads the data of the data read request transmitted by the storage program of the request source server from the memory of the request destination server and writes the data to the memory of the request source server, and

the storage program executed at the processor of the request source server reads the data that has been read from the memory of the request destination server and written to the memory of the request source server from the memory of the request destination server.

2. The computer system according to claim 1 , wherein

the plurality of servers including the request source server and the request destination server mutually share memory maps in advance,

the processor of the request source server is caused to:

refer to the memory map of the request destination server,

specify a first address of the memory of the request destination server, and

transmit the data read request including the first address to the request destination server, and

the processor of the request destination server is caused to:

receive the data read request,

read the data of the data read request from the first address, and

write the data of the data read request from the first address to the memory of the request source server.

3. The computer system according to claim 1 , wherein

the plurality of servers including the request source server and the request destination server mutually share memory maps in advance,

the processor of the request destination server is caused to:

refer to the memory map of the request source server,

specify a second address of the memory of the request source server, and

write the data of the data read request to the second address of the request source server, and

the request source server is caused to:

read the data from the second address of the memory of the request source server.

4. The computer system according to claim 3 , wherein

the request source server includes a response storage region for each of the other servers,

the request destination server is caused to:

when the data of the data read request is written in the second address of the request source server, store a response to the data read request in the response storage region corresponding to the request destination server, and

the request source server is caused to:

when the response stored in the response storage region is detected, read the data from the second address of the memory of the request source server.

5. A computer system comprising:

a plurality of servers connected to each other via a communication line, each of the plurality of servers has hardware including a memory and a processor, an OS program and a storage program being stored in the memory and the OS program and the storage program being executed by the processor which cause the processor to be capable of reading the memory of an own server and capable of writing to memories of the own server and the other servers of the plurality of servers,

each of the plurality of servers mutually share memory maps in advance,

wherein the processor of each of the plurality of servers is further caused to:

when receiving an access request, decide whether the own server is capable of processing the access request based on whether the access request is a read request or a write request and a storage location of the access request,

when the own server is capable of processing the access request, the storage program executed at the processor of the own server performs the access request, when the access request is the read request from a host, the storage program executed at the processor of the own server reads the data of the data read request from the host from the memory of the own server, and when the access request is the read request transmitted by the storage program of an other server, a storage memory driver incorporated in the OS program executed at the processor of the own server reads the data of the data read request from the memory of the own server,

when the access request is the read request and the storage location of the read request is the memory of another server of the plurality of servers:

the own server which received the read request acts as a request source server while the other server which is a target of the read request acts as a request destination server,

the storage program executed at the processor of the request source server transmits a data read request to the request destination server,

a storage memory driver incorporated in the OS program executed at the processor of the request destination server:

refers to the memory map of the request destination server itself and the memory map of the request source server,

determines a transfer amount in which data can be read from a continuous region of the memory of the request destination server and can be written in a continuous region of the memory of the request source server, and

repeatedly reads the data of the data read request from the memory of the request destination server and repeatedly writes the data to the memory of the request source server according to the transfer amount until the date read request is completed, and

the storage program executed at the processor of the request source server reads the data from the memory of the request source server.

6. The computer system according to claim 2 , wherein

the processor of the request destination server is caused to:

determine whether or not the first address specified from the request source server is in an appropriate region and transmit an error response to the request source server in a case where the first address is not appropriate.

7. The computer system according to claim 1 , wherein

the storage program executed at the processor of the request source server transmits a request of atomically updating data to the request destination server,

the storage memory driver incorporated in the OS program executed at the processor of the request destination server starts processing of atomically updating the requested data, and notifies an update completion response to the request source server, and

the storage program executed at the processor of the request source server confirms the update completion.

8. The computer system according to claim 1 , wherein

the request source server includes a response storage region for each of the other servers,

(a) each of the plurality of servers including the request source server and the request destination server mutually share memory maps,

the processor of the request source server is caused to:

(b) refer to the memory map of the request destination server, and specify a first address of the memory of the request destination server, by a storage process generated by execution of the storage program,

(c) transmit an interrupt of a request of reading the data of which first address is specified to the request destination server,

when the processor of the request destination server is caused to:

(d) receive the interrupt from the request source server, refer to the memory map of the request source server and specify a second address of the memory of the request source server in which data requested from the request source server is written,

(e) read data of the data read request from the first address of the request destination server and write the data of the data read request in the second address of the request source server, and

(f) store a response to the request in the response storage region corresponding to the request destination server, by the storage memory driver incorporated in the OS program, and

the request source server is caused to:

(g) detect the response stored in the response storage region by polling, and

(h) read the data from the second address of the memory of the request source server, by the storage process.

9. A processing method performed by a computer system including a plurality of servers connected to each other via a communication line, each of the plurality of servers has hardware including a memory and a processor, an OS program and a storage program being stored in the memory and the OS program and the storage program being executed by the processor, and

each of the plurality of servers is capable of reading the memory of an own server and capable of writing to memories of the own server and the other servers of the plurality of servers,

the processing method comprising:

when receiving an access request, deciding whether the own server is capable of processing the access request based on whether the access request is a read request or a write request and a storage location of the access request

when the own server is capable of processing the access request, performing the access request with the storage program of the own server, when the access request is the read request from a host, the storage program executed at the processor of the own server reads the data of the data read request from the host from the memory of the own server, and when the access request is the read request transmitted by the storage program of an other server, a storage memory driver incorporated in the OS program executed at the processor of the own server reads the data of the data read request from the memory of the own server,

when the access request is the read request and the storage location of the read request is the memory of another server of the plurality of servers:

the own server which received the read request acts as a request source server while the other server which is a target of the read request acts as a request destination server,

transmitting, by the storage program executed at the processor of the request source server, a data read request to the request destination server,

reading, by a storage memory driver incorporated in the OS program executed at the processor of the request destination server, the requested data transmitted by the storage program of the request source server from an own memory and writing the read data to the memory of the request source server, and

reading, by the storage program executed at the request source server, the data that has been read from the memory of the request destination server and written to the memory of the request source server from the memory of the request destination server.

Assignments (2)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2018
From: MORISHITA, NOBORU; AGETSUMA, MASAKUNI; ARAKI, AKIHIKO; SEKIYAMA, TOMOKI
To: HITACHI, LTD.
Reel/Frame 046811/0715 →
Continuity (1)
Related Publication 20190095382A1 · Mar 28, 2019