IP Library Granted Patent US 11,068,169
Granted Patent B2
US 11,068,169 · App. 16/724,078 · Granted Jul 20, 2021

Data storage device and method for memory operation and iterative polling

Inventor: Mark Elliott (San Diego, CA)
Assignee: Western Digital Technologies, Inc.
G06F3/0613G06F3/0653G06F3/0659G06F3/0679
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,068,169
App. No.
16/724,078
Granted
Jul 20, 2021
Kind
B2
Abstract

A controller of the data storage system may poll a non-volatile memory component to determine an operational status of the non-volatile memory component after a memory operation has been initiated in the non-volatile memory component. The controller may, in response to determining the operational status of the non-volatile memory component is busy, update a polling interval based on a polling factor. The controller may re-poll the non-volatile memory component to determine the operational status of the non-volatile memory component after expiration of the updated polling interval. The controller may repeat the updating of the polling interval and the re-polling of the non-volatile memory component until the operational status of the non-volatile memory component is determined to be ready or until a predetermined number of iterations of the updating and re-polling have been performed if, in response to the re-polling, the operational status is determined to be busy.

Claims (41)

1. A data storage device, comprising:

non-volatile memory; and

a controller configured to cause:

determining an operational status of a memory portion of the non-volatile memory after a memory operation has been initiated in the memory portion, wherein the determining is based on polling the memory portion;

while the operational status of the memory portion is busy, or until a predetermined number of iterations has occurred while the operational status of the memory portion is busy, performing one or more iterations of the following operations:

changing a polling interval; and

re-polling the memory portion to determine the operational status of the memory portion after expiration of the changed polling interval;

determining that the changed polling interval satisfies a polling interval threshold; and

repeating the re-polling of the memory portion without changing the polling interval further in response to determining that the changed polling interval satisfies the polling interval threshold.

2. The data storage device of claim 1 , wherein the changing the polling interval comprises changing the polling interval based on a polling factor.

3. The data storage device of claim 1 , wherein the changing the polling interval comprises changing the polling interval in response to determining that the operational status of the memory portion is busy.

4. The data storage device of claim 1 , wherein the controller is configured to cause:

determining whether an initial waiting period has expired after the memory operation has been initiated in the memory portion; and

polling the memory portion after the initial waiting period has expired.

5. The data storage device of claim 4 , wherein the initial waiting period is greater than the polling interval.

6. The data storage device of claim 2 , wherein the polling factor is based on a distribution of memory operation completion times.

7. The data storage device of claim 6 , wherein the controller is configured to cause: changing a data table to indicate an iteration of re-polling in response to which the operational status of the memory portion is determined to be ready, wherein the distribution of memory operation completion times is based on the data table.

8. A method, comprising:

determining an operational status of a memory portion of a non-volatile memory after a memory operation has been initiated in the memory portion, wherein the determining is based on polling the memory portion; and

while the operational status of the memory portion is busy, or until a predetermined number of iterations has occurred while the operational status of the memory portion is busy, performing one or more iterations of the following operations:

changing a polling interval; and

re-polling the memory portion to determine the operational status of the memory portion after expiration of the changed polling interval,

wherein the changing the polling interval comprises changing the polling interval based on a polling factor, and

wherein the polling factor is based on a distribution of memory operation completion times.

9. The method of claim 8 , wherein the changing the polling interval comprises changing the polling interval in response to determining that the operational status of the memory portion is busy.

10. The method of claim 8 , comprising: determining whether an initial waiting period has expired after the memory operation has been initiated in the memory portion, wherein the memory portion is polled after the initial waiting period has expired.

11. The method of claim 10 , wherein the initial waiting period is greater than the polling interval.

12. The method of claim 8 , comprising: determining that the changed polling interval satisfies a polling interval threshold, wherein the re-polling of the memory portion is repeated without changing the polling interval in response to determining that the changed polling interval satisfies the polling interval threshold.

13. The method of claim 8 , comprising: changing a data table to indicate an iteration of re-polling in response to which the operational status of the memory portion is determined to be ready, wherein the distribution of memory operation completion times is based on the data table.

14. A data storage device, comprising:

means for determining an operational status of a memory portion of a non-volatile memory after a memory operation has been initiated in the memory portion, wherein the means for determining is based on polling the memory portion; and

while the operational status of the memory portion is busy, or until a predetermined number of iterations has occurred while the operational status of the memory portion is busy, means for performing one or more iterations of the following operations:

changing a polling interval; and

re-polling the memory portion to determine the operational status of the memory portion after expiration of the changed polling interval,

wherein the changing the polling interval comprises changing the polling interval based on a polling factor, and

wherein the polling factor is based on a distribution of memory operation completion times.

15. The data storage device of claim 14 , wherein the changing the polling interval based on the polling factor comprises changing the polling interval, based on the polling factor, in response to determining that the operational status of the memory portion is busy.

16. The data storage device of claim 15 , comprising: means for changing a data table to indicate an iteration of re-polling in response to which the operational status of the memory portion is determined to be ready, and wherein the distribution of memory operation completion times is based on the data table.

17. The data storage device of claim 14 , comprising:

means for determining whether an initial waiting period has expired after the memory operation has been initiated in the memory portion; and

means for polling the memory portion after the initial waiting period has expired.

Assignments (10)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
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 052025 FRAME 0088 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0699 →
SECURITY INTEREST Recorded Feb 26, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052025/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2020
From: ELLIOTT, MARK
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 051471/0567 →