Quality of service (QoS) aware data storage decoder
AssigneeSK hynix Inc.
InventorsFan Zhang, Chenrong Xiong, Xuanxuan Lu, Meysam Asadi
Life of this patent
Estimating the term…
Abstract
Techniques related to a QoS-aware decoder architecture for data storage are described. In an example, QoS specifications include a QOS latency specification indicative of an acceptable latency for completing the processing of a data read command. The decoder may store this QOS latency specification. In operation, the decoder generates a latency measurement indicative of the actual latency for the processing. If a comparison of the latency measurement and QOS latency specification indicates a violation of the QOS latency specification, the decoder can terminate the decoding and generate a decoding failure.
Claims20
A computer-implemented method comprising:
- receiving, by an error correction code (ECC) decoder, a data read command during a time window, the data read command associated with a codeword stored in a memory;
- starting, by the ECC decoder, a decoding of the codeword based on an ECC procedure;
- measuring, by the ECC decoder, a latency associated with the decoding;
- determining a latency interval to which the latency belongs;
- maintaining, by the ECC decoder, a latency measurement for the time window based on the latency, wherein maintaining the latency measurement includes updating normalized counter values of the latency measurement corresponding to a plurality of latency intervals, including the latency interval, based on the determined latency interval;
- comparing, by the ECC decoder, the latency measurement and one or more threshold values to determine whether the latency measurement exceeds the one or more threshold values, the one or more threshold values generated based on a set of probabilities that are associated with one or more time latencies in a quality of service (QoS) latency specification, wherein comparing the latency measurement and the one or more threshold values includes comparing the normalized counter values to corresponding threshold values from the one or more threshold values;
- and
- terminating, by the ECC decoder, the decoding in response to determining that the latency measurement exceeds the one or more threshold values.
A system comprising:
- a memory;
- and
- error correction code (ECC) decoder communicatively coupled with the memory and configured to:
- receive a data read command during a time window, the data read command associated with codewords stored in the memory;
- start a decoding of the codewords based on an ECC procedure;
- measure a latency associated with the decoding;
- determine a latency interval to which the latency belongs;
- maintain a latency measurement for the time window based on the latency, wherein maintaining the latency measurement includes updating normalized counter values of the latency measurement corresponding to a plurality of latency intervals, including the latency interval, based on the determined latency interval;
- compare the latency measurement and one or more threshold values to determine whether the latency measurement exceeds the one or more threshold values, the one or more threshold values generated based on a set of probabilities that are associated with one or more time latencies in a quality of service (QoS) latency specification, wherein comparing the latency measurement and the one or more threshold values includes comparing the normalized counter values to corresponding threshold values from the one or more threshold values;
- and
- terminate the decoding in response to determining that the latency measurement exceeds the one or more threshold values.
A non-transitory computer-readable storage medium storing instructions that, upon execution on an error correction code (ECC) decoder, cause the ECC decoder to perform operations comprising:
- receiving a data read command during a time window, the data read command associated with a codeword stored in a memory;
- starting a decoding of the codewords based on an ECC procedure;
- measuring a latency associated with the decoding;
- determining a latency interval to which the latency belongs;
- maintaining a latency measurement for the time window based on the latency, wherein maintaining the latency measurement includes updating normalized counter values of the latency measurement corresponding to a plurality of latency intervals, including the latency interval, based on the determined latency interval;
- comparing the latency measurement and one or more threshold values to determine whether the latency measurement exceeds the one or more threshold values, the one or more threshold values generated based on a set of probabilities that are associated with one or more time latencies in a quality of service (QoS) latency specification, wherein comparing the latency measurement and the one or more threshold values includes comparing the normalized counter values to corresponding threshold values from the one or more threshold values;
- and
- terminating the decoding in response to determining that the latency measurement exceeds the one or more threshold values.
Dependencies are inferred from the claim text.