IP Library Granted Patent US 10,156,994
Granted Patent B2
US 10,156,994 · App. 14/633,301 · Granted Dec 18, 2018

Methods and systems to reduce SSD IO latency

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,156,994
App. No.
14/633,301
Granted
Dec 18, 2018
Kind
B2
Abstract

Techniques for reducing Solid State Device Input/Output latency are disclosed. In some embodiments, the techniques may be realized as a method for reducing Solid State Device Input/Output latency comprising receiving a write request at a Solid State Device, monitoring a plurality flash memory channels of the Solid State Device to identify Input/Output requests, evaluating, using load balancing circuitry, identified Input/Output requests to determine a load of one or more of the plurality of flash memory channels, and assigning a destination flash memory channel out of the plurality of flash memory channels to the write request based on the determined load.

Claims (36)

1. A method for reducing Solid State Device Input/Output latency comprising:

receiving a write request at a Solid State Device;

monitoring a plurality of flash memory channels of the Solid State Device to identify Input/Output requests wherein the monitoring is at a physical channel;

providing feedback from the monitoring of the plurality of flash memory channels by page monitors to a load balancing module;

evaluating, using the load balancing module within the Solid State Device, identified Input/Output requests to determine a load of one or more of the plurality of flash memory channels;

assigning a destination flash memory channel out of the plurality of flash memory channels to the write request to a least loaded logical channel group based on the determined load; and

instructing a multiplexer switch to make a connection between an appropriate queue to logical channels to route a command using one of a round robin and a rotational scheme.

2. The method of claim 1 , wherein the identified Input/Output requests comprise write requests.

3. The method of claim 1 , wherein the identified Input/Output requests comprise read requests.

4. The method of claim 1 , further comprising:

monitoring free pages in the Solid State Device associated with the plurality flash memory channels.

5. The method of claim 1 , wherein the flash memory channels comprise groupings of logical channels and monitoring is organized by groups of logical flash memory channels.

6. The method of claim 1 , wherein the flash memory channels comprise groupings of physical channels and monitoring is organized by groups of physical flash memory channels.

7. The method of claim 1 , wherein monitoring a plurality flash memory channels to identify Input/Output requests comprises counting a number of pages transferred per second for each of the plurality of flash memory channels.

8. The method of claim 1 , wherein monitoring a plurality flash memory channels to identify Input/Output requests comprises counting a number of words transferred per second for each of the plurality of flash memory channels.

9. The method of claim 1 , wherein assigning a destination flash memory channel out of the plurality of flash memory channels to the write request based on the determined load comprises a current load of Input/Output requests.

10. The method of claim 1 , wherein the assigning a destination flash memory channel out of the plurality of flash memory channels to the write request based on the determined load comprises a historical load of Input/Output requests.

11. The method of claim 1 , wherein assignment of the write request is based on a Quality of Service level associated with the write request.

12. The method of claim 1 , wherein in the event a load on each of the plurality of flash memory channels is within a specified range, assignment of the write request to one of the plurality of flash memory channels is performed on a round robin rotation.

13. A system for reducing Solid State Device Input/Output latency, the system comprising:

a storage media device; and

a device controller associated with the storage media device, wherein the device controller is configured to:

receive a write request at a Solid State Device;

monitor a plurality of flash memory physical channels to identify Input/Output requests through page monitors;

provide feedback from the monitoring of the plurality of flash memory physical channels by page monitors to a load balancing module within the Solid State Device;

evaluate, using load balancing circuitry, identified Input/Output requests to determine a load of one or more of the plurality of flash memory channels; and

assign a destination flash memory channel out of the plurality of flash memory channels to the write request to a least loaded logical channel group based on the determined load; and

instructing a multiplexer switch to make a connection between an appropriate queue to logical channels to route a command using one of a round robin and a rotational scheme.

14. The system of claim 13 , wherein the identified Input/Output requests comprise write requests.

15. The system of claim 14 , wherein the identified Input/Output requests comprise read requests.

16. The system of claim 14 , further comprising:

monitoring free pages in the Solid State Device associated with the plurality flash memory channels.

17. The system of claim 14 , wherein the plurality of flash memory channels comprise groupings of logical channels and monitoring is organized by groups of logical flash memory channels.

18. The system of claim 14 , wherein the plurality of flash memory channels comprise groupings of physical channels and monitoring is organized by groups of physical flash memory channels.

19. The system of claim 14 , wherein monitoring a plurality flash memory channels to identify Input/Output requests comprises counting a number of pages transferred per second for each of the plurality of flash memory channels.

20. The system of claim 14 , wherein monitoring a plurality flash memory channels to identify Input/Output requests comprises counting a number of words transferred per second for each of the plurality of flash memory channels.

Assignments (10)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040829/0516 →