IP Library Granted Patent US 11,347,394
Granted Patent B2
US 11,347,394 · App. 16/983,992 · Granted May 31, 2022

Controlling SSD performance by the number of active memory dies

Inventors: Shuhei Tanakamaru (San Jose, CA); Dana Lynn Simonson (Owatonna, MN); Erich Franz Haratsch (Palo Alto, CA)
Assignee: SEAGATE TECHNOLOGY LLC
G06F3/0604G06F3/0653G06F3/0679G06F9/4881
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 11,347,394
App. No.
16/983,992
Granted
May 31, 2022
Kind
B2
Abstract

Improving performance in solid state devices (SSDs) by controlling or throttling the depth of the request queue. In one implementation, a method includes monitoring a request queue in a solid state device (an SSD), the request queue comprising a first request and a second request having an actual time interval therebetween, determining a number of active memory dies of the SSD, determining a target interval based on the number of active memory dies and a target number of active memory dies, and responsive to the actual time interval being less than the target interval, delaying acting on the second request until after the target interval.

Claims (26)

1. A method comprising:

monitoring a request queue in a solid state device (an SSD), the request queue comprising a first request and a second request having an actual time interval therebetween;

determining a number of active memory dies in the SSD;

determining a target interval based on the number of active memory dies and a target number of active memory dies; and

responsive to the actual time interval being less than the target interval, delaying acting on the second request until after the target interval.

2. The method of claim 1 , wherein:

determining the number of active memory dies comprises determining an average number of active memory dies; and

determining the target interval comprises determining the target interval based on the average number of active memory dies and the target number of active memory dies.

3. The method of claim 2 , wherein the average number of active memory dies is an arithmetic mean, moving average, or exponential moving average based on the number of active memory dies.

4. The method of claim 2 , wherein the target interval is dynamically adaptive based on a dynamically adaptive average number of active memory dies.

5. The method of claim 1 , wherein the target interval is dynamically adaptive based on a dynamically adaptive number of active memory dies.

6. The method of claim 1 , wherein determining a target interval comprises calculating a normalized difference in the average number of active memory dies based on the target average number of active memory dies and the average number of active memory dies; and the method further comprises:

modifying the target interval based on the normalized difference in the average number of active memory dies to a modified target interval.

7. The method of claim 6 , wherein modifying the target interval includes modifying the target interval based on the normalized difference in the average number of active memory dies and a coefficient.

8. The method of claim 1 , wherein determining a target interval comprises calculating a difference in the average number of active memory dies based on the target average number of active memory dies and the average number of active memory dies; and the method further comprises:

modifying the target interval based on the difference in the average number of active memory dies to a modified target interval.

9. The method of claim 1 , wherein repeated steps of monitoring the number of active memory dies, determining the number of active memory dies, and determining the target interval affects the number of active memory dies.

10. A method comprising:

monitoring a number of active memory dies in a semiconductor storage device (an SSD) and monitoring a request queue of the SSD having a depth and comprising at least a first request, a second request, and a requested outgoing interval between the requests; and

responsive to the requested outgoing interval being less than a target interval based on a target number of active memory dies and the number of active memory dies, setting an actual outgoing interval to be no less than the target interval and acting on the second request after expiration of the target interval.

11. The method of claim 10 , wherein the target interval is based on the target number of active memory dies and an average number of active memory dies over time.

12. The method of claim 11 , wherein the average number of active memory dies is an arithmetic mean, moving average, or exponential moving average.

13. The method of claim 10 , wherein the number of active memory dies is a dynamically adaptive average number of active memory dies and the target interval is dynamically adaptive based on the dynamically adaptive average number of active memory dies.

14. The method of claim 10 , wherein the target interval is based on a normalized difference in number of active memory dies based on the target number of active memory dies and the number of active memory dies; and the method further comprises:

modifying the target interval based on the difference in number of active memory dies to a modified target interval.

15. The method of claim 10 , wherein repeated monitoring the number of active memory dies and repeated setting the actual outgoing interval and acting on the second request after expiration of the target interval affects the number of active memory dies.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2020
From: TANAKAMARU, SHUHEI; SIMONSON, DANA LYNN; HARATSCH, ERICH FRANZ
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 053388/0132 →
Continuity (1)
Related Publication 20220035525A1 · Feb 3, 2022