IP Library Granted Patent US 10,025,516
Granted Patent B2
US 10,025,516 · App. 15/728,419 · Granted Jul 17, 2018

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 10,025,516
App. No.
15/728,419
Granted
Jul 17, 2018
Kind
B2
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 (91)

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 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;

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 1 , 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 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.

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

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

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

6. The data storage device of claim 4 , 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.

7. The data storage device of claim 4 , 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.

8. The data storage device of claim 4 , 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.

9. 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.

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

11. 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 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;

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.

12. The data storage device of claim 11 , 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.

13. The data storage device of claim 11 , 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.

14. The data storage device of claim 11 , 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.

15. The data storage device of claim 14 , wherein:

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

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

16. The data storage device of claim 14 , 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.

17. The data storage device of claim 14 , 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.

18. The data storage device of claim 14 , 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.

19. A method 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 while operating in the dual access mode.

20. The method of claim 19 , further comprising:

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.

21. The method of claim 19 , 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.

22. The method of claim 19 , 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.

23. The method of claim 22 , wherein:

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

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

24. The method of claim 22 , 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.

25. The method of claim 22 , 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.

26. The method of claim 22 , 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.

27. The method of claim 19 , further comprising:

determining whether to operate in the dual access mode or a direct-access mode, wherein the direct-access mode allows the data storage device to receive data access requests from the direct-access storage interface only.

28. A data storage device, comprising:

data storage means; and

control means coupled to the data storage means, the control means configured to:

determine 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;

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.

29. A data storage device, comprising:

data storage means; and

control means coupled to the data storage means, the control means configured to:

determine 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;

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.

Assignments (9)
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 - 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 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 →