| CPC G06F 3/0653 (2013.01) [G06F 3/0656 (2013.01); G06F 3/0658 (2013.01); G06F 3/0679 (2013.01); G06F 3/0604 (2013.01)] | 18 Claims |

|
1. A memory system comprising:
a non-volatile memory; and
a controller including a memory having a lower access latency than the non-volatile memory, the controller configured to:
temporarily store, in the memory, data to be written into the non-volatile memory and data read from the non-volatile memory;
track logical addresses of data stored in the non-volatile memory that were subject to a first limited number of recent wear leveling processes, in a ring buffer configured in the memory of the controller;
perform a current wear leveling process on first data stored in the non-volatile memory, and determine whether an logical address of the first data subject to the current wear leveling process is included in the tracked logical addresses and whether the first data is stored in the memory; and
upon determining that the logical address of the first data is included in the tracked logical addresses and that the first data is stored in the memory, perform a pinning process to disable overwrite of the first data stored in the memory.
|