Storage methods and devices with secure customer-updatable machine learning models
A data storage device stores a set of pre-trained machine learning (ML) models along with corresponding customer digital certificates and other information. Techniques are provided herein for allowing customers to access selected ML models using a digital certificate and a public key so that the selected ML models may then be loaded into a data storage controller of the data storage device for use, for example, by firmware of the controller to intelligently control data pre-fetch, data relocation, or other data processing functions. Techniques are also provided to allow customers to selectively update or replace ML models with customer-supplied models, subject to authentication of the customer and verification of the compatibility of the ML model within the data storage controller. Still other techniques are provided for allowing ML models from the data storage device to be loaded into a secure enclave within the host to execute within the secure enclave.
1 . A data storage device, comprising:
a memory configured to store a plurality of machine learning models and corresponding customer digital certificates each comprising respective cryptographic key information; and
a data storage controller comprising one or more processors configured, individually or collectively, to:
receive, from a customer host computer, a customer digital certificate comprising respective cryptographic key information and corresponding to one of the plurality of machine learning models stored in the memory of the data storage device;
retrieve, from the memory, a machine learning model that corresponds to the received customer digital certificate;
load the retrieved machine learning model into a processing component configured to execute the retrieved machine learning model, wherein the processing component is a processing circuit that is configured to obtain information from the retrieved machine learning model; and
process customer data using the information obtained from the machine learning model executed on the processing component.
2 . The data storage device of claim 1 , wherein the processing component is a processing circuit of the data storage device.
3 . The data storage device of claim 1 , wherein the memory is further configured to store the customer data, and wherein the data storage controller is further configured to process the customer data by being further configured to relocate the customer data within the memory based on the information obtained from the executed machine learning model.
4 . The data storage device of claim 1 , wherein the data storage controller is further configured to process the customer data by being further configured to prefetch the customer data from the memory based on predictions obtained from the executed machine learning model.
5 . The data storage device of claim 1 , wherein the data storage controller is further configured to modify or replace the machine learning model that corresponds to the received customer digital certificate based on instructions received from the customer host computer.
6 . The data storage device of claim 1 , wherein the data storage controller is further configured to receive a pre-trained binary of a replacement machine learning model to replace the machine learning model that corresponds to the received customer digital certificate.
7 . The data storage device of claim 1 , wherein the stored plurality of machine learning models comprises at least one default machine learning model provided by an original equipment manufacturer (OEM) of the data storage device.
8 . The data storage device of claim 7 , wherein the data storage controller is further configured to replace the at least one default machine learning model with a customer-provided machine learning model.
9 . The data storage device of claim 8 , wherein the data storage controller is further configured to verify the customer-provided machine learning model before replacing the at least one default machine learning model with the customer-provided machine learning model.
10 . The data storage device of claim 9 , wherein the data storage controller is further configured to verify the customer-provided machine learning model by being further configured to detect out-of-range outputs from the customer-provided machine learning model.
11 . The data storage device of claim 1 ,
wherein the processing component is within the customer host computer, and
wherein the data storage controller is further configured to load the retrieved machine learning model into the processing component by being further configured to transfer a copy of the retrieved machine learning model to the processing component of the customer host computer for execution therein.
12 . The data storage device of claim 11 , wherein the data storage controller is further configured to transfer secure enclave execution information to the customer host computer to enable execution of the copy of the retrieved machine learning model within a secure enclave within the customer host computer.
13 . The data storage device of claim 12 , wherein the data storage controller is further configured to verify an integrity of the secure enclave by being further configured to:
request the secure enclave of the customer host computer to calculate a current hash value for the copy of the retrieved machine learning model;
receive the calculated hash value from the secure enclave of the customer host computer and a digital certificate signed with a customer private key; and
verify the integrity of the secure enclave based on the calculated hash value and the digital certificate signed with the customer private key.
14 . The data storage device of claim 1 ,
wherein the plurality of machine learning models comprises two or more models configured for different workloads or applications, and
wherein the data storage controller is further configured to process the customer data using a particular machine learning model selected from the two or more models based on a particular workload or application of the different workloads or applications.
15 . A method for use by a data storage controller of a data storage device, the method comprising:
receiving, from a customer host computer, a customer digital certificate comprising respective cryptographic key information and corresponding to one of a plurality of machine learning models stored in a memory of the data storage device along with corresponding customer digital certificates each comprising respective cryptographic key information;
retrieving, from the memory, a machine learning model that corresponds to the received customer digital certificate;
loading the retrieved machine learning model into a processing component configured to execute the retrieved machine learning model, wherein the processing component is a processing circuit that is configured to obtain information from the retrieved machine learning model; and
processing customer data using the information obtained from the machine learning model executed on the processing component.
16 . The method of claim 15 , wherein loading the retrieved machine learning model into the processing component comprises loading the retrieved machine learning model into a processing circuit of the data storage device.
17 . The method of claim 15 , wherein the customer data is stored in the memory and wherein processing the customer data comprises relocating customer data within the memory based on the information obtained from the executed machine learning model.
18 . The method of claim 15 , wherein processing the customer data comprises prefetching customer data from the memory based on predictions obtained from the executed machine learning model.
19 . The method of claim 15 , further comprising:
modifying or replacing the machine learning model that corresponds to the received customer digital certificate based on instructions received from the customer host computer.
20 . The method of claim 15 , wherein the stored plurality of machine learning models comprises at least one default machine learning model provided by an original equipment manufacturer (OEM) of the data storage device, and wherein the method further comprises replacing the at least one default machine learning model with a customer-provided machine learning model.
21 . The method of claim 15 , wherein the plurality of machine learning models comprises a transferable machine learning model, and wherein the method further comprises transferring a copy of the transferable machine learning model to the customer host computer for execution therein.
22 . The method of claim 21 , further comprising:
transferring secure enclave execution information to the customer host computer along with the copy of the transferable machine learning model to enable execution of the transferable machine learning model within a secure enclave within the customer host computer.
23 . The method of claim 22 , further comprising: verifying an integrity of the secure enclave by:
requesting the secure enclave of the customer host computer to calculate a current hash value for the copy of the transferable machine learning model;
receiving the calculated hash value from the enclave of the customer host computer and a digital certificate signed with a customer private key; and
verifying the integrity of the secure enclave based on the calculated hash value and the digital certificate signed with the customer private key.
24 . The method of claim 15 ,
wherein the plurality of machine learning models comprises two or more models configured for different workloads or applications, and
wherein the method further comprises processing the customer data using a particular machine learning model selected from the two or more models based on a particular workload or application of the different workloads or applications.
25 . An apparatus for use with a data storage device, the apparatus being implemented by one or more circuits comprising:
means for receiving, from a customer host computer, a customer digital certificate comprising respective cryptographic key information and corresponding to one of a plurality of machine learning models stored in a memory of the data storage device along with corresponding customer digital certificates each comprising respective cryptographic key information;
means for retrieving, from the memory, a machine learning model that corresponds to the received customer digital certificate;
means for loading the retrieved machine learning model into a processing component configured to execute the retrieved machine learning model, wherein the processing component is a processing circuit that is configured to obtain information from the retrieved machine learning model; and
means for processing customer data using the information obtained from the machine learning model executed on the processing component.