TRANSIENT STATE MANAGEMENT OF AN INPUT/OUTPUT IMPACTED STORAGE DEVICE
A storage device may mitigate impact to a quality-of-service requirement on the storage device during a transient state. The storage device includes a memory to store a logical-to-physical (L2P) table and a volatile memory to cache the L2P table. A controller may set an IO impacted (IOI) bit during initialization of the storage device to cause the storage device to enter the transient state. The controller may provide a first indication to a host to notify the host to transmit host IO requests to be processed without a performance guarantee. During the initialization, the controller may prioritize loading a first category of L2P entries in the volatile memory. After the initialization, the controller may reset the IOI bit and send a second indication to the host to notify the host to transmit the host IO requests to be processed according to the performance guarantee.
1 . A storage device to manage a transient state during which input/output (IO) operations in a namespace is impacted and to mitigate impacts to a quality-of-service requirement on the storage device during the transient state, the storage device comprises:
a memory to store a logical-to-physical (L2P) table;
a volatile memory to cache the L2P table; and
a controller to set an IO impacted (IOI) bit during initialization of the storage device to cause the storage device to enter a transient state, provide a first indication to a host to notify the host to transmit host IO requests to be processed without a performance guarantee, prioritize loading a first category of L2P entries in the volatile memory, reset the IOI bit after initialization of the storage device, and send a second indication to the host to notify the host to transmit the host IO requests to be processed according to the performance guarantee.
2 . The storage device of claim 1 , further comprising a learning module to identify a priority loading policy to load a L2P table in the volatile memory during the transient state.
3 . The storage device of claim 2 , wherein the learning module learns the priority policy from an initialization IO operation and modifies the priority based on a last used range.
4 . The storage device of claim 1 , wherein the controller loads a second category of L2P entries after loading the first category of L2P entries.
5 . The storage device of claim 1 , wherein the first category of L2P entries includes L2P entries for pages that are likely to be in host read requests received during the transient state.
6 . The storage device of claim 1 , wherein the first category of L2P entries includes at least one of dirty L2P entries and L2P entries associated with at least one of dirty pages and recently used pages.
7 . The storage device of claim 1 , further comprising a biasing module to track pages being processed on the storage device prior to initialization of the storage device.
8 . The storage device of claim 7 , wherein the biasing module tracks at least one of dirty pages and recently used pages on the storage device.
9 . The storage device of claim 7 , wherein the controller caches the L2P entries for pages tracked by a biasing module during a first period and caches other L2P entries during one or more subsequent periods after the first period.
10 . The storage device of claim 1 , wherein the controller receives a host write request in the transient state, creates a transient delta segment in the volatile memory, and stores a L2P entry for the host write request in the transient delta segment.
11 . The storage device of claim 10 , wherein after loading an entire L2P table in the volatile memory, the controller consolidates L2P entries in the transient delta segment with the other L2P entries in the volatile memory and discards the L2P entries in the transient delta segment.
12 . The storage device of claim 1 , further comprising a latency tracking module to track latency triggered by a latency condition.
13 . The storage device of claim 12 , wherein when the controller identifies that a latency condition has occurred, the controller sets the IOI bit, sends the first indication to the host, corrects the latency condition, and sends a second notification to the host.
14 . The storage device of claim 1 , further wherein when the controller receives a host IO request in the transient state, the storage device processes the host IO request with the performance guarantee.
15 . A method in a storage device for mitigating impacts to a quality-of-service requirement on the storage device during a transient state during which input/output (IO) operations in a namespace is impacted, the storage device comprises a controller to execute the method comprising:
beginning initialization of the storage device;
setting an IO impacted (IOI) bit during initialization of the storage device to cause the storage device to enter a transient state;
providing a first indication to a host to notify the host to transmit host IO requests to be processed without a performance guarantee;
prioritizing loading a first category of L2P entries in a volatile memory;
resetting the IOI bit after initialization of the storage device; and
sending a second indication to the host to notify the host to transmit the host IO requests to be processed according to the performance guarantee.
16 . The method of claim 15 , further comprising loading a second category of L2P entries after loading the first category of L2P entries.
17 . The method of claim 15 , further comprising assigning at least one of dirty L2P entries and L2P entries at least one of associated with dirty pages and recently used pages to the first category.
18 . The method of claim 15 , further comprising receiving a host write request in the transient state, creating a transient delta segment in the volatile memory, storing a L2P entry for the host write request in the transient delta segment, loading an entire L2P table in the volatile memory, consolidating L2P entries in the transient delta segment with the other L2P entries in the volatile memory, and discarding the L2P entries in the transient delta segment.
19 . The method of claim 16 , further comprising tracking latency triggered by a latency condition, and when the latency condition has occurred, setting the IOI bit, sending the first indication to the host, correcting the latency condition, and sending a second notification to the host.
20 . A method in a storage device for mitigating impacts to a quality-of-service requirement on the storage device, the storage device comprises a controller to execute the method comprising:
determining that a latency condition has occurred on the storage device;
setting an IO impacted (IOI) bit to cause the storage device to enter a transient state;
providing a first indication to a host to notify the host to transmit host IO requests to be processed without a performance guarantee;
correcting a latency condition;
resetting the IOI bit; and
sending a second indication to the host to notify the host to transmit the host IO requests to be processed according to the performance guarantee.