1. A data storage system, comprising: a non-volatile memory array; and a controller configured to: maintain usage information and corresponding temporal data in the non-volatile memory array, the usage information reflective of a current wear level of the non-volatile memory array, the usage information comprising a plurality of counter values associated with a plurality of data blocks of the non-volatile memory array, wherein the controller is configured to: add the plurality of counter values to derive a sum of the counter values; and divide the sum of the counter values by a pre-determined threshold value, the threshold value being reflective of an estimated total number of program/erase cycles of the non-volatile memory array; estimate an amount of the remaining useful life of the data storage system based on the usage information obtained from two or more different time periods; and in response to a request received from a host system, provide the estimated amount of the remaining useful life to the host system.