IP Library Granted Patent US 10,073,640
Granted Patent B1
US 10,073,640 · App. 15/456,308 · Granted Sep 11, 2018

Large scale implementation of a plurality of open channel solid state drives

Inventor: Yaron Klein (Raanana, IL)
Assignee: Toshiba Memory Corporation
G06F3/0619G06F3/0631G06F3/0659G06F3/0688
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,073,640
App. No.
15/456,308
Granted
Sep 11, 2018
Kind
B1
Abstract

In one embodiment a plurality of open channel solid state drives (SSDs) are implemented over a network comprised of a network switch having a plurality of nodes, a remote host connected to a first node of the network switch, a metadata server connected to a second node of the network switch, and an abstracted memory structure comprised of at least part of one of the plurality of open channel SSDs. In one embodiment, the remote host is configured to communicate with the metadata server by issuing a command identifying data related to the abstracted memory structure. In another embodiment, the metadata server is configured to communicate with the remote host by responding to the command and identifying a physical address corresponding to the identified data.

Claims (34)

1. A method of implementing a plurality of open channel SSDs over a network, the method comprising:

receiving, by a server, a first request from a host device over a network to create an abstracted memory structure having a first capacity and a first reliability policy;

identifying, by the server, a plurality of open channel SSDs accessible over the network that have memory blocks with free pages;

determining, by the server, that the identified memory blocks with free pages have a cumulative capacity greater than or equal to the first capacity;

allocating, by the server, free pages from the plurality of open channel SSDs to create the abstracted memory structure;

maintaining, by the server, physical addresses corresponding to the allocated free pages of the plurality of open channel SSDs;

assigning, by the server, the abstracted memory structure to the host device connected to the network;

receiving, by the server, a second request from the host to access the abstracted memory structure; and

sending, in response to the second request, physical mapping address information to the host for directly addressing by the host one or more open channel SSDs of the plurality of SSDs over the network.

2. The method of claim 1 , wherein the first reliability policy indicates a RAID type.

3. The method of claim 1 , wherein allocating memory from the plurality of open channel SSDs further comprises identifying memory blocks having the smallest erase count.

4. The method of claim 1 , further comprising assigning, by the server, the abstracted memory structure to a second host device connected to the network.

5. The method of claim 1 , further comprising assigning, by the server, a part of the abstracted memory structure to a second host device connected to the network.

6. The method of claim 2 , further comprising detecting, by the server, a total capacity of the network.

7. The method of claim 6 , further comprising reducing, by the server, the total capacity of the network by reserving a second capacity.

8. The method of claim 6 , further comprising detecting, by the server, a total capacity assigned to all preexisting abstracted memory structures of the network.

9. The method of claim 6 , further comprising detecting, by the server, a total capacity of written data within all preexisting abstracted memory structures of the network.

10. The method of claim 1 , further comprising maintaining, by the server, the abstracted memory structure within a non-volatile memory.

11. The method of claim 1 , further comprising maintaining, by the server, an access control list identifying that the abstracted memory structure is assigned to the host device.

12. A method of implementing a plurality of open channel SSDs over a network, the method comprising:

receiving, by a server, a command and identification information from a host device over a network;

using the identification information to identify an abstracted memory structure comprised of a plurality of open channel SSDs connected to the network;

determining, by the server, that the host device has access to the abstracted memory structure;

identifying, by the server, a physical address within the abstracted memory structure corresponding to the command, wherein the physical address comprises a memory block and a memory page of one of the plurality of open channel SSDs accessible via the network;

sending, by the server, the physical address to the host device; and

detecting, by the server, that the host device issued the command over the network to one of the plurality of open channel SSDs using the physical address.

13. The method of claim 12 , further comprising detecting, by the server, that the command is a read command.

14. The method of claim 12 , further comprising detecting, by the server, that the command is a write command.

15. The method of claim 14 , further comprising detecting, by the server, a capacity associated with the write command.

16. The method of claim 12 , further comprising detecting, by the server, a trigger that initiates a bad block management process.

17. The method of claim 16 , wherein detecting a trigger, by the server, comprises detecting a failure to execute the command issued by the host device.

18. The method of claim 16 , further comprising identifying, by the server, bad blocks associated with a failure to execute the command issued by the host device.

19. The method of claim 18 , further comprising identifying, by the server, a reliability mechanism associated with the bad blocks and repairing the bad blocks using the detected reliability mechanism.

20. The method of claim 19 , further comprising updating, by the server, a bad block list to identify the bad blocks.

Assignments (4)
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 Aug 1, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043397/0380 →
Cited By (1)
US 12,386,525