IP Library Granted Patent US 10,681,130
Granted Patent B2
US 10,681,130 · App. 15/444,255 · Granted Jun 9, 2020

Storage system including a plurality of nodes

Inventors: Hisaki Niikura (Tokyo, JP); Kazunari Kawamura (Tokyo, JP); Takahiro Kurita (Kanagawa, JP); Kazunari Sumiyoshi (Kanagawa, JP)
Assignee: TOSHIBA MEMORY CORPORATION
H04L67/1097G06F3/061G06F3/067G06F3/0611G06F3/0635G06F3/0653G06F3/0659H04L47/11
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,681,130
App. No.
15/444,255
Granted
Jun 9, 2020
Kind
B2
Abstract

A storage system includes a plurality of nodes, each of the nodes including one or more node modules each of which includes a nonvolatile storage, and a connection unit directly connectable to at least one of the nodes. The connection unit is configured to transmit an access request or an inquiry directed to a target node module, determine a length of an interval before re-transmitting the access request or the inquiry, based on a response indicating an operation status of the target node module, which is returned by the target node module in response to the access request or the inquiry, and re-transmits the access request or the inquiry after the interval of the determined length has passed.

Claims (50)

1. A storage system connectable to a client device over a network, the storage system comprising:

a plurality of nodes, each of the nodes including one or more node modules, each of which includes a nonvolatile storage; and

a connection unit directly connectable to at least one of the nodes and configured to receive a command from the client device over the network, transmit an access request or an inquiry directed to a target node module, the access request or the inquiry corresponding to the command, determine a length of an interval before the connection unit re-transmits the access request or the inquiry, based on a response indicating an operation status of the target node module, which is returned by the target node module in response to the access request or the inquiry, and re-transmits the access request or the inquiry upon the connection unit determining that the interval of the determined length has passed.

2. The storage system according to claim 1 , wherein

each node module further includes a volatile memory in which data to be written into the nonvolatile storage of the node module or data read from the nonvolatile storage of the node module are temporarily stored, and

the target node module returns a response indicating that the target node module is busy when the volatile memory of the target node module cannot store further data.

3. The storage system according to claim 2 , wherein

the target node module returns a response indicating that the target node module is not busy in response to the inquiry when the volatile memory of the target node module can store further data.

4. The storage system according to claim 2 , wherein

the target node module returns a response indicating that access in response to the access request is completed when the volatile memory of the target node module can store further data and the access is completed.

5. The storage system according to claim 2 , wherein

the connection unit determines the length of the interval selectively when the response indicates that the target node module is busy.

6. The storage system according to claim 1 , wherein

the connection unit determines the length of the interval also based on a previously-determined length of the interval.

7. The storage system according to claim 1 , wherein

the connection unit determines the length of the interval also based on previously-returned responses from the target node module.

8. The storage system according to claim 1 , wherein

the connection unit is further configured to determine a congestion degree between the connection unit and a node including the target node module, based on the response when the response indicates that the target node module is busy.

9. The storage system according to claim 8 , wherein

the connection unit is directly connectable to selected one of a plurality of nodes, and

when the determined congestion degree is above a threshold, the connection unit switches a node directly connected thereto.

10. The storage system according to claim 1 , further comprising:

the plurality of nodes includes a first node that is directly connectable to the connection unit and a second node that is directly connected to the first node and not directly connectable to the connection unit, and

the first node is configured to receive the access request or the inquiry transmitted from the connection unit, determine whether or not the target node module is included in the first node, and transfer the received access request or inquiry to the second node when determining that the target node module is not included in the first node.

11. The storage system according to claim 10 , wherein

the first node is configured to, when determining that the target node module is included in the first node, transfer the access request or the inquiry transmitted from the connection unit to the target node module therein.

12. The storage system according to claim 11 , wherein

the access request or the inquiry includes coordinates of the target node modules, and

the first node determines whether or not the target node module is included in the first node based on whether or not the coordinates of the target module match coordinates of one of the one or more node modules included in the first node.

13. A method of operating a storage system connectable to a client device over a network, the storage system including a plurality of nodes, each of the nodes including one or more node modules each of which includes a nonvolatile storage, and a connection unit directly connectable to at least one of the nodes, the method comprising:

receiving a command from the client device over the network;

transmitting, from the connection unit, an access request or an inquiry directed to a target node module, the access request or the inquiry corresponding to the command;

determining, by the connection unit, a length of an interval before the connection unit re-transmits the access request or the inquiry, based on a response indicating an operation status of the target node module, which is returned by the target node module in response to the access request or the inquiry;

determining, by the connection unit, that the interval of the determined length has passed; and

re-transmitting, by the connection unit, the access request or the inquiry upon determining by the connection unit, that the interval of the determined length has passed.

14. The method according to claim 13 , wherein

each node module further includes a volatile memory in which data to be written into the nonvolatile storage of the node module or data read from the nonvolatile storage of the node module are temporarily stored, and the method further comprises:

returning, from the target node module, a response indicating that the target node module is busy when the volatile memory of the target node module cannot store further data.

15. The method according to claim 14 , further comprising:

returning, from the target node module, a response indicating that the target node module is not busy in response to the inquiry when the volatile memory of the target node module can store further data.

16. The method according to claim 14 , further comprising:

returning, from the target node module, a response indicating that access in response to the access request is completed when the volatile memory of the target node module can store further data and the access is completed.

17. The method according to claim 14 , wherein

the length of the interval is determined selectively when the response indicates that the target node module is busy.

18. The method according to claim 13 , wherein

the length of the interval is determined also based on a previously-determined length of the interval.

19. The method according to claim 13 , wherein

the length of the interval is determined also based on previously-returned responses from the target node module.

20. The method according to claim 13 , further comprising:

determining a congestion degree between the connection unit and a node including the target node module, based on the response when the response indicates that the target node module is busy.

Assignments (5)
MERGER Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: K.K. PANGEA
Reel/Frame 055659/0471 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 055669/0001 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043194/0647 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2017
From: NIIKURA, HISAKI; KAWAMURA, KAZUNARI; KURITA, TAKAHIRO; SUMIYOSHI, KAZUNARI
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 042046/0608 →
Priority Claims (1)
JP 2016-176841 · Sep 9, 2016 · national
Continuity (1)
Related Publication 20180077236A1 · Mar 15, 2018