IP Library Granted Patent US 10,425,484
Granted Patent B2
US 10,425,484 · App. 15/253,631 · Granted Sep 24, 2019

Just a bunch of flash (JBOF) appliance with physical access application program interface (API)

Inventor: Daisuke Hashimoto (Cupertino, CA)
Assignee: TOSHIBA MEMORY CORPORATION
H04L67/1097G06F12/0246G06F2212/1041G06F2212/154G06F2212/214G06F2212/261G06F2212/7201G06F2212/7208
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,425,484
App. No.
15/253,631
Granted
Sep 24, 2019
Kind
B2
Abstract

A storage array includes a first controller, memory, and one or more storage devices. Each of the storage devices comprises a second controller and a nonvolatile memory. The first controller receives a command and data from a host connected to the storage array and transmits a response or data to the host. When a write command, write data, and size information of the write data are received from the host, the first controller sends the received data to the second controller. The second controller determines a write address indicating a memory region of the nonvolatile memory in which the write data are to be written, based on the write command and the size information, writes the write data in the memory region associated with the write address, and transmits the write address to the first controller. The first controller further transfers the write address to the host.

Claims (57)

1. A storage apparatus comprising:

a central controller connectable to an external network;

a memory; and

a plurality of storage devices each connected to the central controller and including a local controller and a nonvolatile memory, wherein

the central controller is configured to temporarily store a write command and write data associated with the write command into the memory in response to receiving the write command and the write data through the external network, and then transmit the write command and the write data to one of the storage devices,

the local controller of said one of the storage devices is configured to determine a physical location of the nonvolatile memory thereof into which the write data are written, return the physical location to the central controller, and write the write data into the physical location,

the central controller is further configured to output the returned physical location through the external network,

the central controller is further configured to temporarily store a read command and a second physical location associated with the read command into the memory in response to receiving the read command and the second physical location through the external network, and then transmit the read command and the second physical location to one of the storage devices in which the second physical location exists, and

the local controller of said one of the storage devices that has received the read command reads data from the second physical location.

2. The storage apparatus according to claim 1 , wherein

the local controller of said one of the storage devices returns the physical location before writing the write data in the physical location.

3. The storage apparatus according to claim 2 , wherein

the local controller of said one of the storage devices returns the physical location after the central controller completes to receive the write data through the external network.

4. The storage apparatus according to claim 1 , wherein

the central controller transmits the write command and then the write data to the local controller of said one of the storage devices, and

the local controller of said one of the storage devices determines the physical location after receiving the write command and before receiving the write data.

5. The storage apparatus according to claim 1 , wherein

each of the storage devices stores block mapping data indicating a data storing state of each physical block of the nonvolatile memory thereof, and

the local controller of said one of the storage devices determines the physical location by referring to the block mapping data therein.

6. The storage apparatus according to claim 1 , wherein

the central controller is further configured to temporarily store an invalidate command and a third physical location associated with the invalidate command in the memory, respectively in response to receiving the invalidate command and the third physical location through the external network, and then transmit the invalidate command and the third physical location to one of the storage devices in which the third physical location exists, and

the local controller of said one of the storage devices that received the invalidate command is configured to invalidate data stored in the third physical location.

7. The storage apparatus according to claim 1 , wherein

the central controller is further configured to temporarily store a copy command and a fourth physical location associated with the copy command in the memory, respectively in response to receiving the copy command and the fourth physical location through the external network, and then transmit the copy command and the fourth physical location to one of the storage devices in which the fourth physical location exists, and

the local controller of said one of the storage devices that received the copy command is configured to read data stored in the fourth physical location, the central controller transmitting the read data to a destination storage device in which the read data are copied to.

8. The storage apparatus according to claim 7 , wherein

the central controller is further configured to transmit a second copy command to the destination storage device, and

the local controller of the destination storage device is configured to write the read data in a physical location of the nonvolatile memory thereof in accordance with the second copy command.

9. The storage apparatus according to claim 8 , wherein

the local controller of the destination storage device is further configured to determine the physical location in which the read data are written, and return the determined physical location to the central controller.

10. A storage system comprising:

a plurality of hosts; and

a plurality of storage arrays which are connected through a network, wherein

each of the storage arrays comprises a central controller, a memory, and one or more storage devices, each of which includes a local controller and a nonvolatile memory,

a central controller of one of the storage arrays is configured to temporarily store a write command and write data associated with the write command into the memory of the storage array in response to receiving from one of the hosts the write command and the write data, and then transmit the write command and the write data to one of the storage devices in the storage array,

the local controller of said one of the storage devices is configured to determine a physical location of the nonvolatile memory thereof into which the write data are written, return the physical location to the central controller, and write the write data into the physical location,

the central controller is further configured to return the physical location to said one of the hosts through the network,

the central controller of said one of the storage arrays is further configured to temporarily store a read command and a second physical location associated with the read command into the memory of the storage array in response to receiving the read command and the second physical location from one of the hosts, and then transmit the read command and the second physical location to one of the storage devices in which the second physical location exists, and

the local controller of said one of the storage devices that has received the read command reads data from the second physical location.

11. The storage system according to claim 10 , wherein

said one of the hosts is configured to store correspondence between identification or logical address of the write data and the physical location after the physical location is returned.

12. The storage system according to claim 10 , wherein

the storage system includes a plurality of storage modules that are connected through a network line, and each of the storage modules includes at least one of the hosts and at least one of the storage arrays.

13. The storage system according to claim 10 , wherein

the local controller of said one of the storage devices returns the physical location before writing the write data in the physical location.

14. The storage system according to claim 13 , wherein

the local controller of said one of the storage devices returns the physical location after the central controller completes to receive the write data from the host.

15. The storage system according to claim 10 , wherein

the central controller of said one of the storage arrays is further configured to temporarily store an invalidate command and a third physical location associated with the invalidate command in the memory of the storage array, respectively in response to receiving from one of the hosts the invalidate command and the third physical location, and then transmit the invalidate command and the third physical location to one of the storage devices in which the third physical location exists, and

the local controller of said one of the storage devices that received the invalidate command is configured to invalidate data stored in the third physical location.

16. The storage system according to claim 10 , wherein

the central controller of said one of the storage arrays is further configured to temporarily store a copy command and a fourth physical location associated with the copy command in the memory of the storage array, respectively in response to receiving from one of the hosts the copy command and the fourth physical location, and then transmit the copy command and the fourth physical location to one of the storage devices in which the fourth physical location exists, and

the local controller of said one of the storage devices that received the copy command is configured to read data stored in the fourth physical location, the central controller transmitting the read data to a destination in which the read data are copied to.

17. The storage system according to claim 16 , wherein

the destination is another one of the storage devices in said one of the storage arrays.

18. The storage system according to claim 16 , wherein

the destination is a storage device in another storage array.

Assignments (6)
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 Oct 6, 2016
From: HASHIMOTO, DAISUKE
To: TOSHIBA AMERICA ELECTRONIC COMPONENTS, INC.
Reel/Frame 039957/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2016
From: TOSHIBA AMERICA ELECTRONIC COMPONENTS, INC.
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 039957/0498 →
Continuity (2)
Provisional Application 62268377 · Dec 16, 2015
Related Publication 20170180477A1 · Jun 22, 2017