IP Library Granted Patent US 11,960,730
Granted Patent B2
US 11,960,730 · App. 17/360,671 · Granted Apr 16, 2024

Distributed exception handling in solid state drives

Inventors: Rishi Mukhopadhyay (Bangalore, IN); Shiva K (Bangalore, IN)
Assignee: Western Digital Technologies, Inc.
G06F3/0619G06F3/0626G06F3/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,960,730
App. No.
17/360,671
Granted
Apr 16, 2024
Kind
B2
Abstract

Systems and methods described herein synchronize events between various components of storage device during the processing of an exception (i.e., an internal error). The storage device can have a plurality of processors which may each coordinate operations on various domains of storage device processing tasks. An exception occurring in one domain may require input and coordination from other domains within the storage device. Each exception may have a list of predetermined steps needed for completion which are coordinated via a series of sync points placed between exception action clusters which perform a series of specific operations until data or processing from another domain is needed to continue processing. The sync points can be utilized to halt processing in one domain until the other domains are in sync and complete one or more exception action operations. In this way, a streamlined and predictable synchronization between domains may occur during an exception.

Claims (42)

1. A device comprising:

a memory array comprising a plurality of memory devices;

a plurality of processors wherein each processor is configured to operate within one of a plurality of domains; and

exception handling logic configured to:

determine an exception occurring within one of the plurality of domains;

determine a plurality of domains associated with the exception;

generate exception data;

communicate the generated exception data to the plurality of associated domains;

establish communication with an exception scheduler; and

process the exception, wherein processing the exception comprises:

generating a first exception action cluster based on the exception data, wherein the first exception action cluster is a processed within a first domain;

generating a second exception action cluster based on the exception data, wherein the second exception action cluster is processed within a second domain;

determining a first sync point configured to pause processing in the first domain upon completion of the first exception action cluster and to resume processing when first completion requirements are met;

determining a second sync point configured to pause processing in the second domain upon completion of the second exception action cluster, and to resume processing when second completion requirements are met;

establishing exception action state data based on the generated exception action clusters;

processing the first exception action cluster and pausing at the first sync point;

processing the second exception action cluster and pausing at the second sync point, wherein:

the exception scheduler releases the first domain to continue processing when the first completion requirements of the first sync point are met; and

the exception scheduler releases the second domain to continue processing when the completion requirements of the second sync point are met.

2. The device of claim 1 , wherein a domain within the plurality of domains is selected to coordinate the processing of the exception.

3. The device of claim 2 , wherein the domain associated with the determination of the exception is selected as the coordinating domain.

4. The device of claim 1 , wherein the sync point requirement comprises one or more exception actions to be processed by at least one associated domain.

5. The device of claim 4 , wherein the exception scheduler monitors exception actions processed by all associated domains.

6. The device of claim 5 , wherein the exception action processing is monitored by determining changes in exception action state data.

7. The device of claim 6 , wherein the exception action state data is a bit vector.

8. A method of processing exceptions, comprising:

determining an exception occurring within one of a plurality of domains wherein each domain comprises at least one processor;

determining a set of one or more domains associated with the exception;

generating exception data comprising at least two or more exception action clusters for processing within each of the associated domains;

communicating the generated exception data to the associated domains;

establishing communication with an exception scheduler;

processing the exception, wherein processing the exception comprises:

generating a first exception action cluster based on the exception data, wherein the first exception action cluster is a processed within a first domain;

generating a second exception action cluster based on the exception data, wherein the second exception action cluster is processed within a second domain;

determining a first sync point configured to pause processing in the first domain upon completion of the first exception action cluster and to resume processing when first completion requirements are met;

determining a second sync point configured to pause processing in the second domain upon completion of the second exception action cluster, and to resume processing when second completion requirements are met;

establishing exception action state data based on the generated exception action clusters;

processing the first exception action cluster and pausing at the first sync point;

processing the second exception action cluster and pausing at the second sync point, wherein:

the exception scheduler configured to release the first domain to continue processing when the first completion requirements of the first sync point are met; and

the exception scheduler configured to release the second domain to continue processing when the completion requirements of the second sync point are met.

9. The method of claim 8 , wherein a notification from the exception scheduler indicates that the one or more required exception actions from the one or more associated domains have been completed.

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 Jul 16, 2021
From: MUKHOPADHYAY, RISHI; K, SHIVA
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 056888/0547 →