Patent ID: 9336133
Filing Date: 2016-05-10
CPC Classification: G06F,G11C

Claim Text:
1. A method of managing data in a memory system having at least one flash memory die having a plurality of layers, each of the plurality of layers having a different bit-per-cell data capacity, and a controller in communication with the at least one flash memory die, the method comprising the controller: receiving requests to program data from a host; determining a program cycle, in advance of programming data associated with the requests, the program cycle comprising a set of a host data write programming operation and maintenance programming operations in at least one of the plurality of layers, for programming a predetermined amount of host data associated with the received requests and freeing an amount of memory capacity for a subsequent host data write programming operation of the predetermined amount of host data; determining an amount of data necessary to be programmed in the maintenance programming operations by reviewing a status of each of the plurality of layers of the at least one flash memory die and determining a number of maintenance operations in each of the plurality of layers required to free an amount of space sufficient to program the predetermined amount of host data in response to a subsequent request to program data without a need for prior maintenance operations; and after determining the program cycle, executing the host data write programming operation and any maintenance program operations in the determined program cycle.