IP Library Granted Patent US 10,474,391
Granted Patent B2
US 10,474,391 · App. 15/695,686 · Granted Nov 12, 2019

Storage system and method for executing file-based firmware commands and collecting response data

Inventors: Sivaraj Velusamy (Erode, IN); Vithya Kannappan (Bangalore, IN); Narendhiran Chinnaanangur Ravimohan (Bangalore, IN); Muralitharan Jayaraman (Bangalore, IN)
Assignee: Western Digital Technologies, Inc.
G06F3/0659G06F3/0604G06F3/0605G06F3/0643G06F3/0658G06F3/0664G06F3/0671G06F3/0688G06F16/196
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 10,474,391
App. No.
15/695,686
Granted
Nov 12, 2019
Kind
B2
Abstract

A storage system and method for executing file-based firmware commands and collecting response data are provided. In one embodiment, a storage system is provided comprising a memory and a controller. The controller is configured to: receive a request from a host in communication with the storage system to write data in a file, wherein the file is identified by a file path name; determine whether the file path name matches a predetermined file path name; in response to determining that the file path name does not match the predetermined file path name, write the data in the file; and in response to determining that the file path name matches the predetermined file path name, execute a command represented by the data. Other embodiments are provided.

Claims (55)

1. A storage system comprising:

a memory; and

a controller in communication with the memory, wherein the controller is configured to:

receive a request from a host in communication with the storage system to write data in a file, wherein the file is identified by a file path name and the host does not address logical block addresses in the memory and, thus, cannot access diagnostic or configuration functionality only accessible by logical block addresses;

determine whether the file path name matches a predetermined file path name;

in response to determining that the file path name does not match the predetermined file path name, write the data in the file; and

in response to determining that the file path name matches the predetermined file path name:

execute a command represented by the data;

write, in the file, a response to the command after the command is executed;

receive a request from the host to read the file; and

in response to receiving the request from the host to read the file, send the response written in the file to the host;

wherein:

the file is requested to be written to by the host to execute the command;

the file is read by the host to provide the response to the command; and

the command comprises a diagnostic command or a configuration command.

2. The storage system of claim 1 , wherein:

the command is encrypted; and

the controller is further configured to decrypt the command prior to executing the command.

3. The storage system of claim 1 , wherein the controller is further configured to:

identify a logical block address associated with the file path name; and

determine whether the file path name matches a predetermined file path name by determining whether the logical block address associated with the file path name matches a predetermined logical block address.

4. The storage system of claim 1 , wherein the memory comprises a three-dimensional memory.

5. The storage system of claim 1 , wherein the storage system is removably connected to the host.

6. A method for executing a command in a storage system, the method comprising:

performing the following in a storage system comprising a memory:

receiving a request from a host to write data in a file in the memory, wherein the host does not address logical block addresses in the memory and, thus, cannot access diagnostic or configuration functionality only accessible by logical block addresses;

based on a location of the file in a directory structure of the memory, determining that the data represents a command to be executed and not data to be written in the file;

executing the command;

writing, in the file, a response to the command after the command is executed;

receiving a request from the host to read the file; and

in response to receiving the request from the host to read the file, sending the response written in the file to the host;

wherein:

the file is requested to be written to by the host to execute the command;

the file is read by the host to provide the response to the command; and

the command comprises a diagnostic command or a configuration command.

7. The method of claim 6 , wherein:

the command is encrypted; and

the method further comprises decrypting the command prior to execution.

8. The method of claim 6 , wherein the storage system identifies the location of the file in the directory structure based on an associated logical block address.

9. The method of claim 6 , wherein the memory comprises a three-dimensional memory.

10. The method of claim 6 , wherein the storage system is removably connected to the host.

11. A storage system comprising:

a memory;

means for receiving a request from a host to write data in a file in the memory, wherein the host does not address logical block addresses in the memory and, thus, cannot access diagnostic or configuration functionality only accessible by logical block addresses;

means for determining that the data represents a command to be executed and not data to be written in the file, based on a location of the file in a directory structure of the memory;

means for executing the command;

means for writing, in the file, a response to the command after the command is executed;

means for receiving a request from the host to read the file; and

means for sending the response written in the file to the host in response to receiving the request from the host to read the file;

wherein:

the file is requested to be written to by the host to execute the command;

the file is read by the host to provide the response to the command;

at least one of the means comprises a processor; and

the command comprises a diagnostic command or a configuration command.

12. The storage system of claim 11 , wherein the memory comprises a three-dimensional memory.

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 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2017
From: VELUSAMY, SIVARAJ; KANNAPPAN, VITHYA; RAVIMOHAN, NARENDHIRAN CHINNAANANGUR; JAYARAMAN, MURALITHARAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 043490/0967 →
Continuity (1)
Related Publication 20190073156A1 · Mar 7, 2019