IP Library Granted Patent US 10,698,634
Granted Patent B2
US 10,698,634 · App. 16/083,899 · Granted Jun 30, 2020

Computer system and data control method utilizing NVMe and storing commands including an offset address corresponding to a server in a queue

Inventor: Takashi Okada (Tokyo, JP)
Assignee: HITACHI, LTD.
G06F3/0659G06F3/0604G06F3/0611G06F3/0673G06F3/0679G06F12/10G06F13/1605G06F13/1673G06F13/28G06F13/36G06F13/38G06F2212/1016G06F2212/202
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 10,698,634
App. No.
16/083,899
Granted
Jun 30, 2020
Kind
B2
Abstract

A driver of a server converts an address of a memory included in the server into an offset address on the basis of an offset value corresponding to the server and stores a command including the offset address in a queue. A storage device acquires the command from the queue of the server and issues an access request to the offset address included in the acquired command. An intermediate device traps the access request issued from the storage device, specifies a server on the basis of the offset address included in the trapped access request, resets the offset address to an original address on the basis of an offset value corresponding to the specified server, and transfers the access request including the reset address to the specified server.

Claims (31)

1. A computer system comprising:

a storage device adapted to handle NVMe (Non-Volatile Memory Express);

an intermediate device connected to the storage device; and

a plurality of servers connected to the intermediate device, wherein

each of the servers include:

a driver related to the storage device; and

a queue in which a command to the storage device is stored,

the driver of the server is configured to convert an address of a memory included in the server into an offset address on the basis of an offset value corresponding to the server and store the command including the offset address in the queue;

the storage device is configured to acquire the command including the offset address from the queue of the server and issue an access request to the offset address included in the acquired command, and

the intermediate device is configured to trap the access request issued from the storage device, specify a server on the basis of the offset address included in the trapped access request, reset the offset address to the address of the memory included in the server on the basis of an offset value corresponding to the specified server, and transfer the access request including the reset address to the specified server.

2. A computer system according to claim 1 , wherein a driver of a first server among the plurality of servers is configured to generate an Admin queue in a memory included in the first server and convert an address related to the generated Admin queue into an offset address on the basis of an offset value corresponding to the first server.

3. A computer system according to claim 2 , wherein the driver of the first server is configured to generate an IO queue in the memory included in the first server, convert an address related to the generated IO queue into an offset address on the basis of the offset value corresponding to the first server, and store, in the Admin queue, an IO queue generation command including the converted offset address.

4. A computer system according to claim 3 , wherein

a driver of a second server among the plurality of servers is configured to generate an IO queue in a memory included in the second server, convert an address related to the generated IO queue into an offset address on the basis of an offset value corresponding to the second server, and transmit an IO queue generation command including the converted offset address to the first server, and

the driver of the first server is configured to store, in the Admin queue, the IO queue generation command received from the second server.

5. A computer system according to claim 4 , wherein

the first server has unallocated queue ID management information for managing an unallocated queue ID, and

the driver of the first server is configured to allocate a queue ID included in the unallocated queue ID management information to the IO queue generation command received from the second server and notify the allocated queue ID to the second server.

6. A computer system according to claim 1 , wherein the intermediate device has routing management information in which the plurality of servers and a plurality of offset values are respectively associated.

7. A computer system according to claim 1 , wherein the offset value is a value for converting predetermined bits from a top of an address space of the memory.

8. A storage control method in a computer system including:

a storage device adapted to handle NVMe (Non-Volatile Memory Express);

an intermediate device connected to the storage device; and

a plurality of servers connected to the intermediate device,

each of the servers including:

a driver related to the storage device; and

a queue in which a command to the storage device is stored,

the storage control method comprising:

the driver of the server converting an address of a memory included in the server into an offset address on the basis of an offset value corresponding to the server and storing the command including the offset address in the queue;

the storage device acquiring the command including the offset address from the queue of the server and issue an access request to the offset address included in the acquired command; and

the intermediate device trapping the access request issued from the storage device, specifying a server on the basis of the offset address included in the trapped access request, resetting the offset address to the address of the memory included in the server on the basis of an offset value corresponding to the specified server, and transferring the access request including the reset address to the specified 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 11, 2018
From: OKADA, TAKASHI
To: HITACHI, LTD.
Reel/Frame 046833/0799 →
Continuity (1)
Related Publication 20190073160A1 · Mar 7, 2019