IP Library Granted Patent US 10,740,231
Granted Patent B2
US 10,740,231 · App. 16/196,077 · Granted Aug 11, 2020

Data access in data storage device including storage class memory

Inventors: Viacheslav Dubeyko (San Jose, CA); Chao Sun (San Jose, CA)
Assignee: Western Digital Technologies, Inc.
G06F12/0802G06F3/0616G06F3/0625G06F3/0653G06F3/0659G06F12/10G06F2212/1024
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,740,231
App. No.
16/196,077
Granted
Aug 11, 2020
Kind
B2
Abstract

A device includes a Storage Class Memory (SCM) and a secondary memory with at least one of a greater read or write latency than the SCM. At least a portion of the SCM is provided as an address space of a processor. Data smaller than a smallest writable unit of the secondary memory is accessed in the SCM based on an instruction from the processor. In another aspect, unique identifiers are calculated for portions of data to be stored in the secondary memory using the portions of data. A mapping of the unique identifiers is stored with indications of physical locations where the corresponding portions of data are stored in the secondary memory. In yet another aspect, an operation instruction is received from the processor, and data is loaded from the secondary memory into the SCM for performing the operation.

Claims (40)

1. A device, comprising:

a Storage Class Memory (SCM) configured for byte-addressable access of data, wherein at least a portion of the SCM is further configured as at least a portion of an address space of a processor;

a secondary memory configured to store data using a secondary memory smallest writable unit for writing data in the secondary memory, wherein the secondary memory smallest writable unit is larger than an SCM smallest writable unit for writing data in the SCM, and

wherein the secondary memory has at least one of a greater read latency and a greater write latency than the SCM; and

control circuitry configured to:

receive an instruction from the processor for data smaller than the secondary memory smallest writable unit; and

access the data in the SCM in response to the instruction received from the processor.

2. The device of claim 1 , wherein the data accessed in the SCM is metadata related to data stored in the secondary memory.

3. The device of claim 1 , wherein the control circuitry is further configured to associate portions of data stored in the secondary memory with unique identifiers calculated using the portions of data.

4. The device of claim 3 , wherein the portions of data stored in the secondary memory have different data sizes based on at least one of data access patterns of different applications executed by the processor, a file type for the data, and a size of the data.

5. The device of claim 3 , wherein the control circuitry is further configured to store the unique identifiers in a tree structure that is used by an operating system executed by the processor.

6. The device of claim 3 , wherein the control circuitry is further configured to prevent storage of a duplicate portion of data in the device using a unique identifier stored in the SCM.

7. The device of claim 3 , wherein the control circuitry is further configured to store a mapping of the unique identifiers with indications of physical locations where the corresponding portions of data are stored in the secondary memory.

8. The device of claim 3 , wherein the control circuitry is further configured to store a mapping of the unique identifiers with indications of whether the corresponding portions of data are stored in the SCM.

9. The device of claim 1 , wherein the control circuitry is further configured to:

receive an operation instruction from the processor to perform an operation on data stored in the secondary memory; and

load the data from the secondary memory into the SCM for performance of the operation by the control circuitry of the device or by the processor.

10. The device of claim 9 , wherein the control circuitry is further configured to send a result of performing the operation on the data loaded into the SCM to the processor.

11. A method for operating a device including a Storage Class Memory (SCM) and a secondary memory that has at least one of a greater read latency and a greater write latency than the SCM, the method comprising:

providing at least a portion of the SCM to serve as at least a portion of an address space of a processor;

receiving an instruction from the processor to access data smaller than a secondary memory smallest writable unit for writing data in the secondary memory, wherein the secondary memory smallest writable unit is greater than an SCM smallest writable unit for writing data in the SCM;

in response to the instruction received from the processor to access data smaller than the secondary memory smallest writable unit, accessing the data for the instruction in the at least a portion of the SCM serving as the at least a portion of the address space of the processor;

receiving one or more commands from the processor to access data that is greater than the secondary memory smallest writable unit and in response to the one or more commands received from the processor to access data that is greater than the secondary memory smallest writable unit, accessing data in the secondary memory for the one or more commands received from the processor.

12. The method of claim 11 , wherein the data accessed in the SCM is metadata related to data stored in the secondary memory.

13. The method of claim 11 , further comprising calculating unique identifiers for portions of data to be stored in the secondary memory using the portions of data to be stored in the secondary memory.

14. The method of claim 13 , further comprising dividing data into differently sized portions to be stored in the secondary memory, wherein the different sizes of the portions are based on at least one of data access patterns of different applications executed by the processor, a file type for the data, and a size for the data.

15. The method of claim 13 , further comprising storing the unique identifiers in a tree structure that is used by an operating system executed by the processor.

16. The method of claim 13 , further comprising preventing storage of a duplicate portion of data in the device using a unique identifier stored in the SCM.

17. The method of claim 13 , further comprising storing a mapping of the unique identifiers with indications of physical locations where the corresponding portions of data are stored in the secondary memory.

18. The method of claim 13 , further comprising storing a mapping of the unique identifiers with indications of whether the corresponding portions of data are stored in the SCM.

19. The method of claim 11 , further comprising:

receiving an operation instruction from the processor to perform an operation on data stored in the secondary memory; and

loading the data from the secondary memory into the SCM for performance of the operation by control circuitry of the device or by the processor.

20. The method of claim 19 , further comprising sending a result of performing the operation on the data loaded into the SCM to the processor.

21. A non-transitory computer readable medium storing computer-executable instructions, wherein when the computer-executable instructions are executed by control circuitry of a device, the computer-executable instructions cause the control circuitry to:

provide at least a portion of a Storage Class Memory (SCM) of the device to serve as at least a portion of an address space of a processor;

receive an instruction from the processor to access data smaller than a secondary memory smallest writable unit of a secondary memory of the device, wherein the secondary memory smallest writable unit is larger than an SCM smallest writable unit for writing data in the SCM, and wherein the secondary memory has at least one of a greater read latency and a greater write latency than the SCM;

in response to receiving the instruction to access data smaller than the secondary memory smallest writable unit, access the data for the instruction in the at least a portion of the SCM serving as at least a portion of the address space of the processor;

receive one or more commands from the processor to access data that is greater than the secondary memory smallest writable unit; and

in response to the one or more commands received from the processor to access data that is greater than the secondary memory smallest writable unit, access data in the secondary memory for the one or more commands received from the processor.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2025
From: SANDISK TECHNOLOGIES, INC.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 070778/0175 →
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 Nov 20, 2018
From: DUBEYKO, VIACHESLAV; SUN, CHAO
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 047551/0535 →