IP Library Granted Patent US 11,500,543
Granted Patent B2
US 11,500,543 · App. 17/343,583 · Granted Nov 15, 2022

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,500,543
App. No.
17/343,583
Granted
Nov 15, 2022
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 (29)

1. A method for a data storage system, comprising:

initiating a memory operation in a non-volatile memory component;

polling the non-volatile memory component;

determining an operational status of the non-volatile memory component based on the polling; and

when the operational status of the non-volatile memory component is busy, or until a predetermined number of processes has occurred, performing one or more of the processes, wherein each of the processes comprises: altering a polling interval based on a polling factor wherein the polling factor is based on a distribution of memory operation completion times; re-polling the non-volatile memory component; and determining the operational status of the non-volatile memory component based on the re-polling.

2. The method of claim 1 , comprising: determining that the altered polling interval meets a polling interval threshold, wherein the re-polling of the non-volatile memory component is repeated without altering the polling interval in response to determining that the altered polling interval meets the polling interval threshold.

3. The method of claim 1 , wherein the processes comprise iterations.

4. The method of claim 1 , comprising: altering a data table to indicate an iteration of re-polling in response to which the operational status of the non-volatile memory component is determined to be ready, wherein the distribution of memory operation completion times is based on the data table.

5. The method of claim 1 , wherein the altering the polling interval comprises altering the polling interval in response to determining that the operational status of the non-volatile memory component is busy.

6. The method of claim 1 , comprising: determining whether a waiting period has lapsed after the memory operation has been initiated in the non-volatile memory component, wherein the non-volatile memory component is polled after the waiting period has lapsed.

7. The method of claim 6 , wherein the waiting period is greater than the polling interval.

8. A data storage system, comprising:

a non-volatile memory component; and

one or more controllers configured to cause:

initiating a memory operation in the non-volatile memory component;

polling the non-volatile memory component;

determining an operational status of the non-volatile memory component based on the polling; and

when the operational status of the non-volatile memory component is busy, or until a predetermined number of processes has occurred, performing one or more of the processes, wherein each of the processes comprises: altering a polling interval based on a polling factor wherein the polling factor is based on a distribution of memory operation completion times; re-polling the non-volatile memory component; and determining the operational status of the non-volatile memory component based on the re-polling.

9. The data storage system of claim 8 , wherein the one or more controllers are configured to cause: determining that the altered polling interval meets a polling interval threshold, wherein the re-polling of the non-volatile memory component is repeated without altering the polling interval in response to determining that the altered polling interval meets the polling interval threshold.

10. The data storage system of claim 8 , wherein the processes comprise iterations.

11. The data storage system of claim 8 , wherein the one or more controllers are configured to cause: altering a data table to indicate an iteration of re-polling in response to which the operational status of the non-volatile memory component is determined to be ready, wherein the distribution of memory operation completion times is based on the data table.

12. The data storage system of claim 8 , wherein the altering the polling interval comprises altering the polling interval in response to determining that the operational status of the non-volatile memory component is busy.

13. The data storage system of claim 8 , wherein the one or more controllers are configured to cause: determining whether a waiting period has lapsed after the memory operation has been initiated in the non-volatile memory component; and polling the non-volatile memory component after the waiting period has lapsed.

14. An apparatus, comprising:

means for initiating a memory operation in a non-volatile memory component;

means for polling the non-volatile memory component;

means for determining an operational status of the non-volatile memory component based on the polling; and

when the operational status of the non-volatile memory component is busy, or until a predetermined number of processes has occurred, means for performing one or more of the processes, wherein each of the processes comprises: altering a polling interval based on a polling factor wherein the polling factor is based on a distribution of memory operation completion times; re-polling the non-volatile memory component; and determining the operational status of the non-volatile memory component based on the re-polling.

15. The apparatus of claim 14 , comprising: means for determining that the altered polling interval meets a polling interval threshold, wherein the re-polling of the non-volatile memory component is repeated without altering the polling interval in response to determining that the altered polling interval meets the polling interval threshold.

Assignments (10)
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 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/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 - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
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 →
RELEASE OF SECURITY INTEREST AT REEL 057651 FRAME 0296 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058981/0958 →
SECURITY INTEREST Recorded Sep 17, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 057651/0296 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2021
From: ELLIOTT, MARK
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 056541/0859 →