Patent ID: 9026757
Filing Date: 2015-05-05
Classification: G06F,G11C

Abstract:
1. A process for programming non-volatile storage, comprising: programming a first set of data into a first set of non-volatile storage elements; prior to the programming of the first set of data, storing an additional copy of nearby data in one or more auxiliary locations that are different from intended non-volatile storage elements in the non-volatile storage for the nearby data, wherein the nearby data is data that is stored on proximate word lines with respect to a word line to which the first set of non-volatile storage elements are connected; determining whether the first set of data was programmed correctly; if the first set of data was programmed correctly, releasing at least a portion of the additional copy of nearby data; and if the first set of data was not programmed correctly, re-programming the first set of data to non-volatile storage elements different than the first set of non-volatile storage elements and recovering at least a portion of the nearby data from the additional copy and programming the recovered nearby data to additional non-volatile storage elements that are different than the intended non-volatile storage elements.