Patent ID: 9104580
Filing Date: 2015-08-11
Classification: G06F

Abstract:
1. A method for data storage, comprising: in a data storage system that includes a main storage device and a non-volatile memory, assessing a respective quality level of each memory block of a plurality of memory blocks of the non-volatile memory; identifying a first subset of memory blocks of the plurality of memory blocks, wherein the quality level of each memory block of the first subset of memory blocks is less than a predefined quality threshold; adjusting the predefined quality threshold to generate an updated quality threshold, wherein a second number of memory blocks included in a second subset of memory blocks of the plurality of memory blocks is different than a first number of memory blocks included in the first subset of memory blocks, and wherein each memory block included in the second subset of memory blocks has an assessed quality level less than the updated quality threshold; assigning the second subset of memory blocks to serve as read cache memory; and reading data from the main storage device via the read cache memory, including the assigned memory blocks; wherein assessing the respective quality level of each memory block of the plurality of memory blocks in the non-volatile memory includes determining a respective number of post-programming errors in each memory block; wherein the predefined quality threshold corresponds to a number of post-programming errors in a given memory block; and wherein determining the respective number of post-programming errors in each memory block includes determining the respective number of post-programming errors in each memory block responsive to a determination that a period of time has elapsed since a first group of memory cells in each memory block has been programmed prior to programming a second group of memory cells in each memory block, and responsive to a determination that a temperature change has occurred since the first group of memory cells in each memory block has been programmed.