DYNAMICALLY ALLOCATING NUMBER OF BITS PER CELL FOR MEMORY LOCATIONS OF A NON-VOLATILE MEMORY
First Claim
1. A method of accessing a memory location of a non-volatile memory device, the method comprising:
- dynamically allocating a first number of bits per cell to the memory location;
accessing the memory location based on the first number of bits per cell;
erasing the memory location;
dynamically assigning a second number of bits per cell to the memory location; and
accessing the memory location based on the second number of bits per cell.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are provided for dynamically allocating a number of bits per cell to memory locations of a non-volatile memory (“NVM”) device. In some embodiments, a host may determine whether to store data in the NVM device using SLC programming or MLC programming operations. The host may allocate an erased block as an SLC block or MLC block based on this determination regardless of whether the erased block was previously used as an SLC block, MLC block, or both. In some embodiments, to dynamically allocate a memory location as SLC or MLC, the host may provide an address vector to the NVM package, where the address vector may specify the memory location and the number of bits per cell to use for that memory location.
-
Citations
27 Claims
-
1. A method of accessing a memory location of a non-volatile memory device, the method comprising:
-
dynamically allocating a first number of bits per cell to the memory location; accessing the memory location based on the first number of bits per cell; erasing the memory location; dynamically assigning a second number of bits per cell to the memory location; and accessing the memory location based on the second number of bits per cell. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of storing information in a non-volatile memory device, the method comprising:
-
selecting an erased memory location of the non-volatile memory device in which to store the information; deciding on a number of bits per cell to use for the erased memory location; and programming the information into the erased memory location of the non-volatile memory device based on the deciding. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method of retrieving information from a non-volatile memory (“
- NVM”
) package, wherein the NVM package comprises at least one NVM device, the method comprising;identifying, at a host, a memory location of the at least one NVM device in which the information is stored; determining, at the host, a number of bits per cell associated with the memory location; providing, from the host to the NVM package, an address vector indicating the memory location and a result of the determining; reading, at the NVM package, the information from the memory location of the at least one NVM device based on address vector. - View Dependent Claims (14, 15, 16, 17)
- NVM”
-
18. A memory system comprising:
-
a managed non-volatile memory (“
NVM”
) package comprising;at least one NVM device, and a NVM controller configured to access the at least one NVM device; and a host controller configured to direct the NVM controller to access a memory location of the at least NVM device using an address vector, wherein the address vector indicates a number of bits per cell to use when accessing the memory location. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. A memory system comprising:
-
a raw non-volatile memory (“
NVM”
) package comprising;at least one NVM device comprising a plurality of blocks, an address input for receiving a selection of one of the plurality of blocks, and a SLC/MLC input for receiving an indication of a number of bits per cell associated with the one of the plurality of blocks selected through the address input; and a host controller operable to access at least one of the plurality of blocks using the address input and the SLC/MLC input. - View Dependent Claims (26, 27)
-
Specification