| CPC G06F 3/0659 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0673 (2013.01); G06F 12/0646 (2013.01); G06F 2212/1016 (2013.01)] | 16 Claims | 

| 
               1. A device comprising: 
            at least one memory array configured on a plurality of dies; and 
                at least one processor configured to: 
              select a write policy of programming a plurality of pages of data to the at least one memory array, wherein the write policy is selected from a plurality of schemes including: 
                  a first addressing scheme in which the plurality of pages are programmed on one of the plurality of dies sequentially one page after another; and 
                    a second addressing scheme in which the plurality of pages are distributed to the plurality of dies for programming in parallel for the plurality of pages; 
                  reserve a memory buffer according to the write policy selected to program the data into the memory array, wherein the memory buffer is of a first size for programming the data according to the first addressing scheme and of a second size different from the first size for programming the data according to the second addressing scheme; and 
                  program the data, received from a host using the memory buffer, according to the write policy. 
                 |