Storage system and method for host memory access
AssigneeWestern Digital Technologies, Inc.
InventorsRotem Sela, Amir Shaharabany, Eliad Adi Klein
Life of this patent
Estimating the term…
Abstract
A storage system and method for host memory access are provided. In one embodiment, a storage system is provided comprising a memory and a controller. The controller is configured to receive a write command from the host that is recognized by the storage system as a read host memory command; in response to receiving the write command, send an identification of a location in the host memory to the host; and receive, from the host, data that is stored in the location in the host memory. Other embodiments are provided.
Claims19
A storage system comprising:
- a memory;
- and
- a controller configured to communicate with the memory and with a host comprising host memory, wherein the controller is further configured to:
- receive a write command from the host, wherein the write command comprises a command name parameter that indicates that the write command and is actually a read host memory command sent by the host to initiate establishment of a read channel between the host memory and the controller;
- in response to recognizing the write command as the read host memory command because of the command name parameter, establish the read channel between the host memory and the controller;
- receive a read command from the host, wherein the read command comprises a command name parameter that indicates that the read command is actually a write host memory command sent by the host to initiate establishment of a write channel between the host memory and the controller;
- in response to recognizing the read command as the write host memory command because of the command name parameter, establish the write channel between the host memory and the controller;
- send, to the host via the write channel, at least a part of a logical-to-physical address table stored in the memory for storage in the host memory;
- receive a read command from the host comprising a logical block address;
- send, to the host via the read channel, an identification of a location in the host memory that stores an entry for the logical block address in the at least a part of the logical-to-physical address table stored in the host memory;
- and
- receive, from the host via the read channel, the entry for the logical block address;
- wherein:
- the write and read channels are kept open until the storage system powers off;
- and
- the host is configured to ignore timeouts to keep the write and read channels open.
A method comprising:
- performing the following in a storage system in communication with a host comprising host memory, wherein the storage system comprises a memory and a controller:
- receiving a read command from the host, wherein the read command comprises a command name parameter that indicates that the read command is actually a write host memory command sent by the host to initiate establishment of a write channel between the host memory and the controller;
- in response to recognizing the read command as the write host memory command because the command name parameter indicates that the read command is the write host memory command, establishing the write channel between the host memory and the controller;
- receiving a read command from the host comprising a logical block address in the memory;
- and
- in response to receiving the read command:
- predicting a next logical block address to be read requested by the host;
- and
- sending, to the host via the write channel, data stored in the next logical block address in the memory for storage in the host memory;
- wherein:
- the write channel is kept open until the storage system powers off;
- and
- the host is configured to ignore timeouts to keep the write channel open.
A storage system comprising:
- a memory;
- a controller;
- means for receiving a write command from a host comprising host memory, wherein the write command comprises a command name parameter that indicates that the write command is actually a read host memory command sent by the host to initiate establishment of a read channel between the host memory and the controller;
- means for establishing Rail the read channel between the host memory and the controller in response to recognizing the write command as the read host memory command because the command name parameter indicates that the write command is the read host memory command;
- means for receiving a read command from the host, wherein the read command comprises a command name parameter that indicates that the read command is actually a write host memory command sent by the host to initiate establishment of a write channel between the host memory and the controller;
- means for establishing the write channel between the host memory and the controller in response to recognizing the read command as the write host memory command because the command name parameter indicates that the read command is the write host memory command;
- means for sending, to the host via the write channel, data stored in a volatile memory in the storage system prior to a sleep or power-down operation;
- means for sending, to the host via the read channel after powering up after sleep or power-down, an identification of a location in the host memory that stores the data;
- and
- means for receiving, from the host via the read channel, the data;
- wherein:
- the write and read channels are kept open until the storage system powers off;
- and
- the host is configured to ignore timeouts to keep the write and read channels open.
Dependencies are inferred from the claim text.