Storage system and method for using proactive device timeout information
A storage system and method for using proactive device timeout information are provided. In one embodiment, a storage system is provided comprising a memory and a controller. The controller is configured to receive a command from a host; determine whether the command can be executed within a time-out window; and in response to determining that the command cannot be executed within the time-out window, send a request to the host to extend the time-out window. Other embodiments are provided.
1. A storage system comprising:
a memory; and
a controller configured to:
receive a command from a host to access a plurality of sectors in the memory;
determine that an internal operation is being performed in a specific sector of the plurality of sectors, which introduces a latency in releasing the specific sector for use by the host;
determine that, because of the latency, the command from the host cannot be executed in the specific sector within a sector-wise time allowance specified for the storage system;
in response to determining that the command from the host cannot be executed in the specific sector within the sector-wise time allowance, send a request to the host to extend the sector-wise time allowance only for the specific sector, and
in response to receiving confirmation from the host that the sector-wise allowance time period has been extended, execute the command.
2. The storage system of claim 1 , wherein the request is based on an amount of time needed to execute the command.
3. The storage system of claim 2 , wherein the amount of time is determined based on one or more of the following: a number of memory channels, a status of a cache, a number of dies in the memory, a time to access a logical-to-physical address table, and a time to transfer data to the host.
4. The storage system of claim 1 , wherein the controller is further configured to wait for the confirmation before executing the command.
5. The storage system of claim 1 , wherein the controller is further configured to receive information from the host that the host is configured to receive the request.
6. The storage system of claim 1 , wherein the controller is further configured to receive information from the host identifying the sector-wise time allowance.
7. The storage system of claim 1 , wherein the command comprises one of an initialization command, a read command, or a write command.
8. The storage system of claim 1 , wherein the memory comprises a three-dimensional memory.
9. The storage system of claim 1 , wherein the controller is further configured to detect a delay to or from the host beyond a specified limit.
10. The storage system of claim 9 , wherein the controller is further configured to communicate the detected delay to the host.
11. The storage system of claim 9 , wherein the detected delay is due to the internal operation being performed in the storage system.
12. A method comprising:
performing the following in a storage system comprising a memory, wherein the storage system is in communication with a host:
receiving a command from the host to access a plurality of sectors in the memory;
determining that an internal operation is being performed in a specific sector of the plurality of sectors, which introduces a latency in releasing the specific sector for use by the host;
determining that, because of the latency, the command from the host cannot be executed in the specific sector within a sector-wise time allowance specified for the storage system;
in response to determining that the command from the host cannot be executed in the specific sector within the sector-wise time allowance, sending a request to the host to extend the sector-wise time allowance only for the specific sector, and
in response to receiving confirmation from the host that the sector-wise allowance time period has been extended, executing the command.
13. The method of claim 12 , wherein the request is based on an amount of time needed to execute the command.
14. The method of claim 13 , wherein the amount of time is determined based on one or more of the following: a number of memory channels, a status of a cache, a number of dies in the memory, a time to access a logical-to-physical address table, and a time to transfer data to the host.
15. The method of claim 12 , further comprising executing the set of atomic operations only after receiving the confirmation.
16. The method of claim 12 , further comprising receiving information from the host that the host is able to receive the request.
17. The method of claim 12 , further comprising receiving information from the host identifying the sector-wise time allowance.
18. The method of claim 12 , further comprising detecting a delay to or from the host beyond a specified limit.
19. The method of claim 18 , further comprising communicating the detected delay to the host.
20. A storage system comprising:
a memory;
means for receiving a command from the host to access a plurality of sectors in the memory;
means for determining that an internal operation is being performed in a specific sector of the plurality of sectors, which introduces a latency in releasing the specific sector for use by the host;
means for determining that, because of the latency, the command from the host cannot be executed in the specific sector within a sector-wise time allowance specified for the storage system;
means for sending a request to the host to extend the sector-wise time allowance only for the specific sector in response to determining that the command from the host cannot be executed in the specific sector within the sector-wise time allowance; and
means for executing the command in response to receiving confirmation from the host that the sector-wise allowance time period has been extended.