IP Library Granted Patent US 9,933,980
Granted Patent B2
US 9,933,980 · App. 14/187,849 · Granted Apr 3, 2018

NAND raid controller for connection between an SSD controller and multiple non-volatile storage units

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 9,933,980
App. No.
14/187,849
Granted
Apr 3, 2018
Kind
B2
Abstract

An array controller for connection between a solid state drive controller and multiple non-volatile storage units is provided. The array controller comprises a plurality of enable outputs, each of which is connected to an enable input of one of the non-volatile storage units, and a buffer in which data to be written into or read from the non-volatile storage units is stored. The array controller further comprises a control unit configured to enable a communication path between the solid state drive controller and one of the non-volatile storage units according to an address received from the solid state drive controller.

Claims (54)

1. An array controller for connection between a solid state drive (SSD) controller and multiple non-volatile storage units, said array controller comprising:

a chip enable input pin for connection to one of a plurality of chip enable output pins of the SSD controller;

a first pin for connection to a command latch enable output pin of the SSD controller;

a second pin for connection to an address latch enable output pin of the SSD controller;

a third pin for connection to a read enable output pin of the SSD controller;

a fourth pin for connection to a write enable output pin of the SSD controller;

data input pins for connection to data output pins of the SSD controller;

data output pins for connection to data input pins of the non-volatile storage units:

a plurality of chip enable output pins, each of which is for connection to a chip enable input pin of one of the non-volatile storage units;

a buffer in which data to be written into or read from the non-volatile storage units is stored; and

a control unit configured to process first address data received from the SSD controller through the data input pins, the first address data including an address of a target non-volatile storage unit and an address of a storage location within the target non-volatile storage unit, to generate second address data including the address of the storage location within the target non-volatile storage unit and not including the address of the target non-volatile storage unit, enable a communication path between the SSD controller and the target non-volatile storage unit by asserting one of the chip enable output pins connected to the chip enable input of the target non-volatile storage unit, and output the second address, and not the address of the target non-volatile storage unit, to the target non-volatile storage unit through the data output pins.

2. The array controller of claim 1 , wherein the control unit is further configured to:

store the first address data in the buffer;

store a command that is received from the SSD controller and is to be executed by the target non-volatile storage unit in the buffer; and

direct the command to the target non-volatile storage unit.

3. The array controller of claim 2 , wherein the command comprises an operation to be executed by the target non-volatile storage unit.

4. The array controller of claim 3 , wherein the command further comprises the second address data.

5. The array controller of claim 2 , wherein the first address data includes a field that specifies that a mirroring operation should be performed.

6. The array controller of claim 5 , wherein the received command is a write command, and the control unit is further configured to:

determine a second non-volatile storage unit to direct the command; and

direct the command to the second non-volatile storage unit.

7. The array controller of claim 5 , wherein the received command is a read command, and the control unit is further configured to:

determine that the target non-volatile storage unit is unavailable;

determine a second non-volatile storage unit to direct the command; and

in response to the determining the second non-volatile storage unit, direct the command to the second non-volatile storage unit.

8. The array controller of claim 1 , wherein the address of the storage location within the target non-volatile storage unit includes a block address and a page address.

9. The array controller of claim 1 , wherein

the control unit receives the first address data from the SSD controller, by:

receiving the address of the target non-volatile storage unit, of the first address data from the SSD controller, and

after receiving the address of the target non-volatile storage unit, receiving the storage location within the target non-volatile storage unit, of the first address data, from the SSD controller.

10. A method of performing read and write operations in a memory system having a solid state drive (SSD) controller connected to multiple non-volatile storage units by way of an array controller that is disposed between the SSD controller and the non-volatile storage units and has a chip enable input pin connected to one of a plurality of chip enable output pins of the SSD controller, a first pin connected to a command latch enable output pin of the SSD controller, a second pin connected to an address latch enable output pin of the SSD controller, a third pin connected to a read enable output pin of the SSD controller, a fourth pin connected to a write enable output pin of the SSD controller, data input pins connected to data output pins of the SSD controller, data output pins connected to data input pins of the non-volatile storage units, a plurality of chip enable output pins, each of which is connected to a chip enable input pin of one of the non-volatile storage units, and a buffer in which data to be written into or read from the non-volatile storage units is stored, the method comprising:

receiving first address data from the SSD controller through the data input pins, the first address data including an address of a target non-volatile storage unit and an address of a storage location within the target non-volatile storage unit;

processing the first address data to generate second address data, the second address data including the address of the storage location within the target non-volatile storage unit and not including the address of the target non-volatile storage unit;

outputting the second address data, and not the address of the target non-volatile storage unit through the data output pins; and

asserting one of the chip enable output pins connected to the chip enable input of the target non-volatile storage unit.

11. The method of claim 10 , further comprising:

storing the received first address data in the buffer;

receiving a command to be executed by the target non-volatile storage unit;

storing said command in the buffer; and

directing the command to the target non-volatile storage unit.

12. The method of claim 11 , wherein the command comprises an operation to be executed by the target non-volatile storage unit.

13. The method of claim 12 , wherein the command further comprises the second address data.

14. The method of claim 11 , further comprising determining that the first address data includes a field that specifies that a mirroring operation should be performed.

15. The method of claim 14 , wherein the received command is a write command, the method further comprising:

determining a second non-volatile storage unit to direct the command; and

directing the command to the second non-volatile storage unit.

16. The method of claim 14 , wherein the received command is a read command, the method further comprising:

determining that the target non-volatile storage unit is unavailable;

determining a second non-volatile storage unit to direct the command; and

in response to the determining the second non-volatile storage unit, directing the command to the second non-volatile storage unit.

17. The method of claim 10 , wherein the address of the storage location within the target non-volatile storage unit includes a block address and a page address.

18. The method of claim 10 , wherein receiving the first address data from the SSD controller includes:

receiving the address of the target non-volatile storage unit, of the first address data from the SSD controller; and

after receiving the address of the target non-volatile storage unit, receiving the storage location within the target non-volatile storage unit, of the first address data, from the SSD controller.

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 Feb 24, 2014
From: LAW, SIE POOK
To: TOSHIBA AMERICA ELECTRONIC COMPONENTS, INC.
Reel/Frame 032282/0084 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2014
From: TOSHIBA AMERICA ELECTRONIC COMPONENTS, INC.
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 032282/0186 →