METHOD AND SYSTEM FOR PROGRAMMING A MULTI-LAYER NON-VOLATILE MEMORY HAVING A SINGLE FOLD DATA PATH
First Claim
1. A method of managing data comprising:
- performing, in a non-volatile memory system having a non-volatile memory with a plurality of layers and a controller in communication with the at least one non-volatile memory, each of the plurality of layers having a different bit-per-cell data capacity, the following steps;
only directing data received from a host to a first of the plurality of layers;
prior to programming the data received from the host into the first layer, determining whether a maintenance operation is necessary for the first layer; and
in response to determining that the maintenance operation is necessary for the first layer;
selecting a maintenance cycle type from a predetermined set of maintenance cycle types for the non-volatile memory based on a status of the first layer; and
when the selected maintenance cycle type includes instructions to transfer data from the first layer to a second layer of the plurality of layers, executing the selected maintenance cycle type by transferring valid data from the first layer to a single open block in the second layer, wherein the non-volatile memory system only assigns a new open block in the second layer for receiving data from the first layer after the single open block is fully programmed.
2 Assignments
0 Petitions
Accused Products
Abstract
A method is disclosed for only permitting data from a host to be written to a first non-volatile memory layer and only permitting data to be written into a second non-volatile memory layer via a maintenance operation over a single data path between the layers. The single data path may be an on-chip copy data path. A memory system includes a multi-layer non-volatile memory and data management circuitry, where the data management circuitry includes data flow path circuitry defining only a single data path for programming any data into the second layer. Maintenance manager circuitry and programming interleave circuitry in the data management circuitry are configured to select a maintenance schedule, and to interleave programming of host data with maintenance operation writes for the selected maintenance schedule only along the one or more data paths defined by the data flow path circuitry.
4 Citations
20 Claims
-
1. A method of managing data comprising:
performing, in a non-volatile memory system having a non-volatile memory with a plurality of layers and a controller in communication with the at least one non-volatile memory, each of the plurality of layers having a different bit-per-cell data capacity, the following steps; only directing data received from a host to a first of the plurality of layers; prior to programming the data received from the host into the first layer, determining whether a maintenance operation is necessary for the first layer; and in response to determining that the maintenance operation is necessary for the first layer; selecting a maintenance cycle type from a predetermined set of maintenance cycle types for the non-volatile memory based on a status of the first layer; and when the selected maintenance cycle type includes instructions to transfer data from the first layer to a second layer of the plurality of layers, executing the selected maintenance cycle type by transferring valid data from the first layer to a single open block in the second layer, wherein the non-volatile memory system only assigns a new open block in the second layer for receiving data from the first layer after the single open block is fully programmed. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A memory system, comprising:
at least one non-volatile memory having a first layer and a second layer of non-volatile memory cells, wherein the first layer has only non-volatile memory cells configured at a first bit-per-cell capacity and the second layer has only non-volatile memory cells configured at a second bit-per-cell capacity that is greater than the first bit-per-cell capacity; and data management circuitry in communication with the at least one non-volatile memory, wherein the data management circuitry comprises; data flow path circuitry defining a plurality of predetermined data paths for programming data received from a host or maintenance operation data into the first layer, and defining only a single data path for programming any data into the second layer; maintenance manager circuitry configured to select a foreground maintenance schedule to free space in at least one of the first and second layers based on a status of at least one of the first and second layers; and program interleaving circuitry configured to interleave programming of data received from the host with maintenance operation writes for the foreground maintenance schedule selected by the maintenance manager circuitry along one or more data paths defined by the data flow path circuitry. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20)
-
16. A memory system, comprising:
-
at least one non-volatile memory having a first layer and a second layer of non-volatile memory cells, wherein the first layer has only non-volatile memory cells configured at a first bit-per-cell capacity and the second layer has only non-volatile memory cells configured at a second bit-per-cell capacity that is greater than the first bit-per-cell capacity; and a controller in communication with the at least one non-volatile memory, wherein the controller is configured to; identify a type of data received from a host and determine whether a maintenance operation is necessary in the first layer before programming the received data; select a maintenance cycle type from a predetermined set of maintenance cycle types for the non-volatile memory based on a status of the first layer; when the selected maintenance cycle type includes instructions to move data to the second layer, interleave programming of an amount of the received data into the first layer with re-programming of valid data from a closed block in the first layer to the second layer; and only direct data received from the host to the first layer and to only permit programming of data into an open maintenance block in the second layer from the first layer via an on-chip copy operation.
-
Specification