IP Library Granted Patent US 9,785,361
Granted Patent B1
US 9,785,361 · App. 14/667,470 · Granted Oct 10, 2017

Processing data access requests from multiple interfaces for data storage devices

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 9,785,361
App. No.
14/667,470
Granted
Oct 10, 2017
Kind
B1
Abstract

Systems and methods are disclosed for processing data access requests received from a direct access storage (DAS) interface and/or a network access storage (NAS) interface. The data access requests may be received from the DAS interface and the NAS interface substantially simultaneously. The data access requests may be scheduled based on priorities for the data access requests.

Claims (61)

1. A data storage device, comprising:

a non-volatile memory; and

a controller coupled to the non-volatile memory, the controller configured to:

determine whether to operate in a dual access mode, a direct-access mode, or a network-access mode, wherein:

the dual access mode allows the data storage device to receive data access requests from a direct-access storage interface and a network-access storage interface simultaneously;

the direct-access mode allows the data storage device to receive data access requests from the direct-access storage interface only; and

the network-access mode allows the data storage device to receive data access requests from the network-access storage interface only;

receive a first data access request from the direct-access storage interface and a second data access request from the network-access storage interface while operating in the dual access mode, wherein the first data access request and the second data access request are received simultaneously; and

schedule the first data access request and the second data access request while operating in the dual access mode.

2. The data storage device of claim 1 , further comprising:

a dynamic random-access memory (DRAM) coupled to the controller, wherein the controller is further configured to:

cache first data received from the direct-access storage interface in a first portion of the DRAM while operating in the dual access mode; and

cache second data received from the network-access storage interface in a second portion of the DRAM while operating in the dual access mode.

3. The data storage device of claim 2 , wherein the controller is further configured to:

receive a third data access request from the direct-access storage interface while operating in the direct-access mode; and

schedule the third data access request while operating in the direct-access mode.

4. The data storage device of claim 2 , wherein the controller is further configured to:

receive a third data access request from the network-access storage interface while operating in the network-access mode; and

schedule the third data access request while operating in the network-access mode.

5. The data storage device of claim 1 , wherein the controller is configured to schedule the first data access request and the second data access request by:

determining a first priority for the first data access request and a second priority for the second data access request; and

scheduling the first data access request and the second data access request based on the first priority and the second priority.

6. The data storage device of claim 5 , wherein:

the first data access request is scheduled before the second data access request responsive to the first priority being greater than or equal to the second priority; and

the first data access request is scheduled after the second data access request responsive to the first priority being less than the second priority.

7. The data storage device of claim 5 , wherein the first priority and the second priority are based on interface types associated with the first data access request and the second data access request.

8. The data storage device of claim 5 , wherein the first priority and the second priority are based on a first size for the first data access request and a second size for the second data access request.

9. The data storage device of claim 5 , wherein the first priority and the second priority are based on a first storage location associated with the first data access request and a second storage location associated with the second data access request.

10. The data storage device of claim 1 , wherein the controller is further configured to:

determine a logical block address for the second data access request.

11. The data storage device of claim 1 , wherein the first data access request comprises a logical block address.

12. A method, comprising:

determining whether to operate in a dual access mode or a direct-access mode, wherein:

the dual access mode allows a data storage device to receive data access requests from a direct-access storage interface and a network-access storage interface simultaneously; and

the direct-access mode allows the data storage device to receive data access requests from the direct-access storage interface only;

receiving a first data access request from the direct-access storage interface and a second data access request from the network-access storage interface while operating in the dual access mode, wherein the first data access request and the second data access request are received simultaneously; and

scheduling the first data access request and the second data access request while operating in the dual access mode.

13. The method of claim 12 , further comprising:

receiving a third data access request from the direct-access storage interface while operating in the direct-access mode; and

scheduling the third data access request while operating in the direct-access mode.

14. The method of claim 12 , further comprising:

determining whether to operate in a network-access mode, wherein the network-access mode allows the data storage device to receive data access requests from the network-access storage interface only;

receiving a third data access request from the network-access storage interface while operating in the network-access mode; and

scheduling the third data access request while operating in the network-access mode.

15. The method of claim 12 , wherein scheduling the first data access request and the second data access request comprises:

determining a first priority for the first data access request and a second priority for the second data access request; and

scheduling the first data access request and the second data access request based on the first priority and the second priority.

16. The method of claim 15 , wherein:

the first data access request is scheduled before the second data access request responsive to the first priority being greater than or equal to the second priority: and

the first data access request is scheduled after the second data access request responsive to the first priority being less than the second priority.

17. The method of claim 15 , wherein the first priority and the second priority are based on interface types associated with the first data access request and the second data access request.

18. The method of claim 15 , wherein the first priority and the second priority are based on a first size for the first data access request and a second size for the second data access request.

19. The method of claim 15 , wherein the first priority and the second priority are based on a first storage location associated with the first data access request and a second storage location associated with the second data access request.

20. The method of claim 12 , further comprising:

determining a logical block address for the second data access request.

21. A non-transitory computer readable storage medium comprising instructions that, responsive to being executed by a processing device, cause the processing device to perform operations comprising:

determining whether to operate in a dual access mode or a network-access mode, wherein:

the dual access mode allows a data storage device to receive data access requests from a direct-access storage interface and a network-access storage interface simultaneously; and

the network-access mode allows the data storage device to receive data access requests from the network-access storage interface only;

receiving a first data access request from the direct-access storage interface and a second data access request from the network-access storage interface while operating in the dual access mode, wherein the first data access request and the second data access request are received simultaneously; and

scheduling the first data access request and the second data access request.

Assignments (11)
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 - 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 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2015
From: MARONEY, JOHN E.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 036672/0966 →