IP Library Granted Patent US 11,782,648
Granted Patent B2
US 11,782,648 · App. 17/717,748 · Granted Oct 10, 2023

Storage system and method for host memory access

Inventors: Rotem Sela (Haifa, IL); Amir Shaharabany (Kochav Yair, IL); Eliad Adi Klein (Sunnyvale, CA)
Assignee: Western Digital Technologies, Inc.
G06F3/0659G06F3/0619G06F3/0653G06F3/0683G06F9/30189G06F11/1435
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 11,782,648
App. No.
17/717,748
Granted
Oct 10, 2023
Kind
B2
Abstract

A storage system and method for host memory access are provided. In one embodiment, a storage system is configured to receive a write command from a host that is recognized by the storage system as a read host memory command and receive a read command from the host that is recognized by the storage system as a write host memory command. This provides a communication channel that allows the storage system to access the host memory. The storage system can use the host memory as a backup write cache and/or to stream data of different types stored in different areas of the host memory. Hibernation can be avoided, and timeout delays can be ignored. Other embodiments are provided.

Claims (39)

1. A method comprising:

performing the following in a storage system in communication with a host, the storage system comprising a controller and a storage system memory, and the host comprising a host memory:

receiving a write command from the host that is recognized by the storage system as a read host memory command and establishes a read channel between the host memory and the controller without performing a write operation in the storage system memory;

receiving a read command from the host that is recognized by the storage system as a write host memory command and establishes a write channel between the host memory and the controller without performing a read operation in the storage system memory;

sending, to the host via the write channel, data of different types to be stored in different areas of the host memory; and

streaming, via the read channel, data from one of the areas of the host memory and writing the data in the storage system memory.

2. The method of claim 1 , wherein the different types comprise different expected access or change frequencies.

3. The method of claim 1 , wherein the different types comprise different metadata characteristics.

4. The method of claim 1 , wherein the streaming is performed in response to the data being aligned in the host memory to a predetermined write granularity.

5. The method of claim 4 , wherein the predetermined write granularity comprises a page size.

6. The method of claim 1 , wherein the streaming is performed in response to a flush command from the host.

7. The method of claim 1 , further comprising receiving an indication from the host that the host will ignore a timeout of the write command and/or the read command.

8. The method of claim 1 , further comprising avoiding hibernation to allow the storage system to continue accessing the host memory.

9. The method of claim 8 , wherein hibernation is avoided in response to recognizing that the write command is a read host memory command and/or in response to recognizing that the read command is a write host memory command.

10. The method of claim 8 , wherein hibernation is avoided in response to a flag set in the storage system.

11. A storage system comprising:

a storage system memory; and

a controller configured to communicate with the storage system memory and with a host comprising a host memory, wherein the controller is further configured to:

receive a write command from the host that is recognized by the storage system as a read host memory command and establishes a read channel between the host memory and the controller without performing a write operation in the storage system memory;

receive a read command from the host that is recognized by the storage system as a write host memory command and establishes a write channel between the host memory and the controller without performing a read operation in the storage system memory;

send, to the host via the write channel, data of different types to be stored in different areas of the host memory; and

stream, via the read channel, data from one of the areas of the host memory and writing the data in the storage system memory.

12. The storage system of claim 11 , wherein the different types comprise different expected access or change frequencies.

13. The storage system of claim 11 , wherein the different types comprise different metadata characteristics.

14. The storage system of claim 11 , wherein the streaming is performed in response to the data being aligned in the host memory to a predetermined write granularity.

15. The storage system of claim 14 , wherein the predetermined write granularity comprises a page size.

16. The storage system of claim 11 , wherein the streaming is performed in response to a flush command from the host.

17. The storage system of claim 11 , wherein the controller is further configured to receive an indication from the host that the host will ignore a timeout of the write command and/or the read command.

18. The storage system of claim 11 , wherein the controller is further configured to avoid hibernation to allow the storage system to continue accessing the host memory.

19. The storage system of claim 18 , wherein hibernation is avoided in response to at least one of the following:

recognizing that the write command is a read host memory command and/or recognizing that the read command is a write host memory command; or

a flag set in the storage system.

20. A storage system comprising:

a storage system memory;

a controller;

means for receiving a write command from a host that is recognized by the storage system as a read host memory command and establishes a read channel between a host memory and the controller without performing a write operation in the storage system memory;

means for receiving a read command from the host that is recognized by the storage system as a write host memory command and establishes a write channel between the host memory and the controller without performing a read operation in the storage system memory;

means for sending, to the host via the write channel, data of different types to be stored in different areas of the host memory; and

means for streaming, via the read channel, data from one of the areas of the host memory and writing the data in the storage system memory.

Assignments (8)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2022
From: SELA, ROTEM; SHAHARABANY, AMIR; KLEIN, ELIAD ADI
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059563/0227 →
Continuity (2)
Division 16874101 · May 14, 2020
Related Publication 20220236919A1 · Jul 28, 2022