IP Library Granted Patent US 12,475,365
Granted Patent B2
US 12,475,365 · App. 17/180,057 · Granted Nov 18, 2025

Embedded multi-attribute machine learning for storage devices

Inventors: Jonathan Lloyd (Newport Beach, CA); Anand Gupta (Bengaluru, IN); Stella Achtenberg (Netanya, IL); Ofir Pele (Hod HaSharon, IL); Chun Sei Tsai (Tustin, CA); Amit Chattopadhyay (San Jose, CA); Aimamorn Suvichakorn (Nonthaburi, TH); Krzysztof Gladysz (Katowice, PL); Kameron Jung (Yorba Linda, CA)
Assignee: Western Digital Technologies, Inc.
G06N3/08G06N3/04G06N3/10
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 12,475,365
App. No.
17/180,057
Granted
Nov 18, 2025
Kind
B2
Abstract

Methods are provided for tactically deploying machine learning operations within existing storage devices without the need for additional capital investment. Machine learning operations are specifically designed to locate and evaluate multiple types of data to complete an operation, including synthesizing missing data. These operations may be processed within a SoC of a storage device as embedded software. Storage devices designed to utilize machine learning methods within existing configurations can include a non-volatile memory for storing data, executable instructions, and a processor to conduct a variety of steps. The steps can include executing a plurality of applications stored in the non-volatile memory, and receiving a request for data, including measurements, from at least one of the applications. The steps can further determine if the requested data is suitable for substitution by an inference and subsequently select at least one machine learning model for generating a suitable inference.

Claims (58)

1 . A storage device, comprising:

a Non-Volatile Memory (NVM) for storing data; and

one or more processors communicatively coupled to the NVM, the one or more processors being configured, individually or in combination, to direct the storage device to:

execute a plurality of applications within the NVM;

receive a request for data of a first attribute type of a first scope from at least one application of the plurality of applications, the first attribute type being associated with a characteristic or operational status of the storage device;

determine whether the requested data is suitable for substitution by an inference, wherein the determination is based on one or more factors associated with the request for data;

in response to determining that the requested data is not suitable for substitution by an inference, indicate that a direct measurement should be taken; and

in response to determining that the requested data is suitable for substitution by an inference:

select at least one machine learning model from one or more available machine learning models for generating a suitable inference;

access a contract associated with the selected machine learning model;

assess whether at least one scope other than the first scope and corresponding to a different physical memory hierarchical level from the first scope is sufficient for generating an input vector corresponding to the selected at least one machine learning model;

generate an input vector corresponding to the selected at least one machine learning model, wherein the input vector comprises data associated with a second attribute type of a second scope at a different physical memory hierarchical level from the first scope, the second attribute type being associated with a characteristic or operational status of the storage device;

process the input vector into inference data via the at least one selected machine learning model; and

pass the processed inference data to the requesting at least one application.

2 . The storage device of claim 1 , wherein the first scope and the second scope are associated.

3 . The storage device of claim 1 , wherein the storage device is a Hard Disk Drive (HDD).

4 . The storage device of claim 3 , wherein at least one of the first or second attribute types comprises an attribute type related to at least one of: an HDD track, head, cylinder, sector, or platter.

5 . The storage device of claim 3 , wherein at least one of the first or second attribute types comprises an attribute type related to at least one of an SSD die, plane, block, or page.

6 . The storage device of claim 1 , wherein the storage device is a Solid State Drive (SSD).

7 . The storage device of claim 1 , wherein the one or more processors are further configured, individually or in combination, to determine whether available second attribute data of the second attribute type is sufficient to generate the input vector prior to generation.

8 . The storage device of claim 7 , wherein, in response to having insufficient data of the second attribute type available to completely generate the input vector, the one or more processors are further configured, individually or in combination, to utilize data associated with a third attribute type, the third attribute type being associated with a characteristic or operational status of the storage device.

9 . The storage device of claim 8 , wherein the one or more processors are further configured, individually or in combination, to utilize the data associated with the third attribute type for generation of the input vector.

10 . The storage device of claim 8 , wherein the one or more processors are further configured, individually or in combination, to utilize the data associated with the third attribute type to generate sufficient data of the second attribute type for generation of the input vector.

11 . The storage device of claim 1 , wherein the one or more processors are further configured, individually or in combination, to compare the processed inference data against one or more pre-configured thresholds.

12 . The storage device of claim 11 , wherein, in response to the processed inference data exceeding the one or more pre-configured thresholds, the one or more processors are further configured, individually or in combination, to generate a request for a non-machine learning model-based measurement of the requested data.

13 . The storage device of claim 11 , wherein the pre-configured thresholds are based upon historical measurements.

14 . The storage device of claim 11 , wherein the pre-configured thresholds are based upon past processed inference data associated with the same attribute type.

15 . The storage device of claim 1 , wherein at least one of the first or second attribute types are parameterized data.

16 . The storage device of claim 1 , wherein the one or more processors are further configured, individually or in combination, to direct the storage device to further in response to determining that the requested data is suitable for substitution by an inference:

identify one or more troublesome components of the storage device based, at least in part, on a sorted set of the requested data of the first attribute type of the first scope.

17 . A method for generating machine-learning based inferences within a storage device, comprising:

receiving a request for data of a first attribute type of a first scope from one application of a plurality of applications executed within a Non-Volatile Memory, wherein the requested data is a measurement associated with the storage device;

determining whether the requested data is suitable for substitution by an inference, wherein the determination is based on one or more factors associated with the request for data;

in response to determining that the requested data is not suitable for substitution by an inference, indicating that a direct measurement should be taken; and

in response to determining that the requested data is suitable for substitution by an inference:

selecting at least one machine learning model from one or more available machine learning models for generating a suitable inference, wherein a selected machine-learning model utilizes input data of a second attribute type of a second scope at a different second physical memory hierarchical level from the first scope;

accessing a contract associated with the selected machine learning model;

assessing whether the second scope and corresponding second physical memory hierarchical level is sufficient for generating a suitable inference for the requested data of the first attribute type of the first scope;

assembling an input vector based on the accessed contract and comprising data associated with the second attribute type;

providing the input vector to the selected machine learning model;

receiving an inference;

verifying the inference; and

passing the verified inference to the requesting application.

18 . The method of claim 17 , wherein the first and second attribute types are associated with differing scopes of the storage device.

19 . The method of claim 17 , wherein further in response to determining that the requested data is suitable for substitution by an inference:

identifying one or more troublesome components of the storage device based at least in part on a sorted set of the requested data of the first attribute type of the first scope.

20 . A method for replacing one or more steps of a process executed within a storage device, comprising:

receiving a request from one or more applications executed within a Non-Volatile Memory for processing a plurality of steps associated with a first attribute type of a first scope;

determining whether one or more of the requested plurality of steps are suitable for substitution by an inference generated from one or more available machine learning models, wherein the determination is based on one or more factors associated with the request;

in response to determining that the requested plurality of steps is not suitable for substitution by an inference, indicating that a step should be taken; and

in response to determining that one or more of the requested plurality of steps are suitable for substitution by an inference:

selecting a machine learning model from the one or more available machine learning models;

accessing a contract associated with the selected machine learning model;

assessing whether at least one scope other than the first scope and corresponding to a different physical memory hierarchical level from the first scope is sufficient for generating an input vector corresponding to the selected machine learning model;

generating an input vector corresponding to the selected machine learning model;

providing to the selected machine-learning model the input vector comprising at least a second attribute type of a second scope at a different physical memory hierarchical level from the first scope;

receiving an inference; and

passing the inference as an input to a subsequent step in the plurality of steps.

Assignments (5)
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 056285 FRAME 0292 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 056285/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2021
From: LLOYD, JONATHAN; GUPTA, ANAND; ACHTENBERG, STELLA; PELE, OFIR; TSAI, CHUN SEI; CHATTOPADHYAY, AMIT; SUVICHAKORN, AIMAMORN; GLADYSZ, KRZYSZTOF; JUNG, KAMERON
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 055336/0482 →
Continuity (2)
Provisional Application 63094067 · Oct 20, 2020
Related Publication 20220121930A1 · Apr 21, 2022
References Cited (67)
US 6725098B2 · Edwards et al. · 2004 [cited by applicant]
US 7707461B2 · Dougherty et al. · 2010 [cited by applicant]
US 7930507B2 · Perry et al. · 2011 [cited by applicant]
US 8489525B2 · Bisdikian et al. · 2013 [cited by applicant]
US 9305595B2 · Hwang et al. · 2016 [cited by applicant]
US 10108791B1 · Masterman · 2018 [cited by examiner]
US 10176829B1 · Li · 2019 [cited by applicant]
US 10310821B2 · Brown et al. · 2019 [cited by applicant]
US 10339448B2 · Guo et al. · 2019 [cited by applicant]
US 10719239B2 · Rowstron et al. · 2020 [cited by applicant]
US 10748582B1 · Feist · 2020 [cited by applicant]
US 10810512B1 · Wubbels et al. · 2020 [cited by applicant]
US 10817441B2 · Kumar et al. · 2020 [cited by applicant]
US 10861320B2 · Martin et al. · 2020 [cited by applicant]
US 10901628B2 · Das et al. · 2021 [cited by applicant]
US 10963394B2 · Kachare et al. · 2021 [cited by applicant]
US 10990092B2 · Ghosh et al. · 2021 [cited by applicant]
US 11243711B2 · Sato et al. · 2022 [cited by applicant]
US 11257002B2 · Faulhaber et al. · 2022 [cited by applicant]
US 11295209B2 · Thiruvengadam et al. · 2022 [cited by applicant]
US 11320165B2 · Venkatesh et al. · 2022 [cited by applicant]
US 11435924B2 · Akutsu et al. · 2022 [cited by applicant]
US 11449796B2 · Song et al. · 2022 [cited by applicant]
US 11503615B2 · Hu et al. · 2022 [cited by applicant]
US 11507860B1 · Hodgman et al. · 2022 [cited by applicant]
US 11521017B2 · Abelha Ferreira et al. · 2022 [cited by applicant]
US 11531831B2 · Jia et al. · 2022 [cited by applicant]
US 11587156B2 · Morin et al. · 2023 [cited by applicant]
US 11592984B2 · Tiotantra et al. · 2023 [cited by applicant]
US 11734143B2 · Raz et al. · 2023 [cited by applicant]
US 11790766B2 · Martin et al. · 2023 [cited by applicant]
US 11861467B2 · Gadelrab et al. · 2024 [cited by applicant]
US 11932274B2 · Woo et al. · 2024 [cited by applicant]
US 20030078680A1 · Edwards et al. · 2003 [cited by applicant]
US 20080180084A1 · Dougherty et al. · 2008 [cited by applicant]
US 20100169603A1 · Perry et al. · 2010 [cited by applicant]
US 20110289029A1 · Bisdikian et al. · 2011 [cited by applicant]
US 20130132638A1 · Horn et al. · 2013 [cited by applicant]
US 20150221333A1 · Hwang et al. · 2015 [cited by applicant]
US 20180053401A1 · Martin et al. · 2018 [cited by applicant]
US 20180197574A1 · Guo et al. · 2018 [cited by applicant]
US 20180349103A1 · Brown et al. · 2018 [cited by applicant]
US 20190156247A1 · Faulhaber et al. · 2019 [cited by applicant]
US 20190179547A1 · Szubbocsev · 2019 [cited by applicant]
US 20190317901A1 · Kachare et al. · 2019 [cited by applicant]
US 20190354283A1 · Rowstron et al. · 2019 [cited by applicant]
US 20200293200A1 · Das · 2020 [cited by examiner]
US 20200301595A1 · Akutsu · 2020 [cited by examiner]
US 20200310993A1 · Kumar et al. · 2020 [cited by applicant]
US 20200387152A1 · Ghosh et al. · 2020 [cited by applicant]
US 20210097329A1 · Jia et al. · 2021 [cited by applicant]
US 20210174238A1 · Song et al. · 2021 [cited by applicant]
US 20210192333A1 · Thiruvengadam · 2021 [cited by examiner]
US 20210199328A1 · Venkatesh · 2021 [cited by examiner]
US 20210204300A1 · Hu et al. · 2021 [cited by applicant]
US 20210233388A1 · Martin et al. · 2021 [cited by applicant]
US 20210240381A1 · Sato et al. · 2021 [cited by applicant]
US 20210279635A1 · Gadelrab et al. · 2021 [cited by applicant]
US 20210319354A1 · Raz · 2021 [cited by examiner]
US 20210334597A1 · Abelha Ferreira · 2021 [cited by examiner]
US 20210357783A1 · Cogan · 2021 [cited by examiner]
US 20210366031A1 · Morin · 2021 [cited by examiner]
US 20210380127A1 · Woo · 2021 [cited by examiner]
US 20220083230A1 · Tiotantra et al. · 2022 [cited by applicant]
US 20220188028A1 · Mesnier · 2022 [cited by examiner]
US 20220405635A1 · Zhang · 2022 [cited by examiner]
US 20240054384A1 · Catron et al. · 2024 [cited by applicant]