IP Library › Granted Patent US 10,528,268
Granted Patent B2
US 10,528,268 · App. 15/701,966 · Granted Jan 7, 2020

System and method for channel time management in solid state memory drives

Inventors: Kang Seok Seo (Cupertino, CA); Hyoun Kwon Jeong (Pleasanton, CA); Jonghyeon Kim (San Jose, CA)
Assignee: Toshiba Memory Corporation
G06F3/0611G06F3/0659G06F3/0688G06F13/4063G06F13/4234
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,528,268
App. No.
15/701,966
Granted
Jan 7, 2020
Kind
B2
Abstract

In one embodiment, a solid state storage drive comprises a plurality of flash memory devices communicatively coupled to a bus and a channel controller communicatively coupled to the bus, the channel controller comprising an execution time calculator configured to determine an aggregate execution time duration for a sequence of commands in a command execution queue based on a data transfer rate presently assigned for communications over the bus, and a channel execution unit configured to determine when to place a second command in a command execution queue based at least in part on the aggregate execution time duration. In one embodiment, the execution time calculator is further configured to determine the aggregate execution time duration based on the data transfer rate and a data payload quantity associated with at least one command in the sequence of commands.

Claims (32)

1. A solid state storage drive comprising:

a plurality of flash memory devices communicatively coupled to a bus; and

a channel controller communicatively coupled to the bus, the channel controller comprising

an execution time calculator configured to determine an aggregate execution time duration for a sequence of commands in a command execution queue based on a data transfer rate for communications over the bus, the data payload quantity associated with the at least one command, and a number representing a quantity of error correction coding bits, and

a channel execution unit configured to determine when to place a second command in the command execution queue based at least in part on the aggregate execution time duration.

2. The solid state storage drive of claim 1 , wherein the execution time calculator is further configured to determine the aggregate execution time duration based on the data transfer rate for communications over the bus and a data payload quantity associated with at least one command in the sequence of commands.

3. The solid state storage drive of claim 1 , wherein the execution time calculator is further configured to recalculate the aggregate execution time duration when one of the sequence of commands is removed from the command execution queue.

4. The solid state storage drive of claim 1 , execution time calculator is further configured to recalculate the aggregate execution time duration when the second command is added to the command execution queue.

5. The solid state storage drive of claim 1 , wherein the channel execution unit is configured to determine when to place the second command in the command execution queue so as to satisfy at least one timing requirement of at least one of the plurality of flash memory devices.

6. The solid state storage drive of claim 5 , wherein the at least one timing requirement is one of a maximum erase time, a maximum suspend erase time, a maximum write time, and a maximum read time.

7. The solid state storage drive of claim 1 , wherein the channel controller further comprises a register configured to receive the aggregate execution time duration from the execution time calculator, and wherein the channel execution unit is configured to read the aggregate execution time duration from the register.

8. The solid state storage drive of claim 1 , wherein the second command is a read command or a write command.

9. The solid state storage drive of claim 1 , wherein the data transfer rate for communications over the bus was assigned to the channel controller during initialization of the channel controller.

10. A method comprising:

receiving a data transfer rate for communications over a bus communicatively coupled to a plurality of flash memory devices;

receiving a first command for one of the plurality of flash memory devices in a command execution queue;

calculating an execution time duration for the first command based on the data transfer rate;

calculating an aggregate execution time duration for a sequence of commands in the command execution queue based on the data transfer rate, the sequence of commands including the first command; and

determining when to place a second command in a command execution queue for the plurality of flash memory devices based at least in part on the aggregate execution time duration.

11. The method of claim 10 , further comprising

receiving a data payload quantity associated with the first command, and

wherein calculating the execution time duration for the first command is based on the data transfer rate and the data payload quantity associated with the first command.

12. The method of claim 11 , wherein calculating the execution time duration for the first command is based on the data transfer rate, the data payload quantity associated with the first command, and a number representing a quantity of error correction coding bits.

13. The method of claim 10 , wherein calculating the aggregate execution time duration includes subtracting an execution time duration for a command removed from the command execution queue.

14. The method of claim 10 , further comprising

calculating an execution time duration for the second command based on the data transfer rate when the second command has been placed in the command execution queue; and

calculating the aggregated execution time duration for the sequence of commands in the command execution queue, the sequence of commands including the second command.

15. The method of claim 10 , wherein determining when to place the second command in the command execution queue is based at least in part on at least one timing requirement of at least one of the plurality of flash memory devices.

16. The method of claim 15 , wherein the at least one timing requirement is one of a maximum erase time, a maximum suspend erase time, a maximum write time, and a maximum read time.

17. The method of claim 10 , wherein the first command is a read command or a write command.

18. The method of claim 10 , wherein the data transfer rate for communications over the bus was assigned to the channel controller during initialization of the channel controller.

19. The method of claim 10 , wherein the data transfer rate for communications over the bus corresponds to a double data rate clock frequency.

Assignments (5)
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2018
From: SEO, KANG SEOK; JEONG, HYOUN KWON; KIM, JONGHYEON
To: TOSHIBA AMERICA ELECTRONIC COMPONENTS, INC.
Reel/Frame 046115/0324 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2018
From: TOSHIBA AMERICA ELECTRONIC COMPONENTS, INC.
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 046115/0437 →
Continuity (1)
Related Publication 20190079676A1 · Mar 14, 2019
Cited By (1)
US 12,282,685