Memory device with pointer structure to map logical to physical addresses
First Claim
1. A non-volatile memory system comprising:
- a controller for externally transferring data identified by logical sector addresses; and
a memory connected to the controller, comprising;
an array comprised of a plurality of sectors, wherein each sector contains a plurality of data storage elements and is identified by a physical address; and
a pointer structure storing correspondences between logical sector addresses and physical sector addresses, wherein the pointer structure concurrently maintains a first correspondence between a logical sector address and a first physical sector address at which currently valid data identified by the logical sector address is stored and a second correspondence between the logical sector address and a second distinct physical sector address at which previously valid data identified by the logical sector address has been stored.
3 Assignments
0 Petitions
Accused Products
Abstract
A pointer structure on the storage unit of a non-volatile memory maintains a correspondence between the physical and logical address. The controller and storage unit transfer data on the basis of logical sector addresses with the conversion between the physical and logical addresses being performed on the storage unit. The pointer contains a correspondence between a logical sector address and the physical address of current data as well as maintaining one or more previous correspondences between the logical address and the physical addresses at which old data is stored. New and old data can be kept in parallel up to a certain point. When combined with background erase, performance is improved. In an exemplary embodiment, the pointer structure is one or more independent non-volatile sub-arrays, each with its own row decoder. Each pointer has a flag to indicate if it is active in addition to storing the current correspondence between a logical address and a physical address and one or more previous correspondences. When new data is written, it is written to an available, empty memory sector and the pointer is concurrently updated. Defective sectors can be removed from the pool of available sectors in a row redundancy scheme. A random, binary, or other search technique can be used to find the available erased sectors.
82 Citations
38 Claims
-
1. A non-volatile memory system comprising:
-
a controller for externally transferring data identified by logical sector addresses; and
a memory connected to the controller, comprising;
an array comprised of a plurality of sectors, wherein each sector contains a plurality of data storage elements and is identified by a physical address; and
a pointer structure storing correspondences between logical sector addresses and physical sector addresses, wherein the pointer structure concurrently maintains a first correspondence between a logical sector address and a first physical sector address at which currently valid data identified by the logical sector address is stored and a second correspondence between the logical sector address and a second distinct physical sector address at which previously valid data identified by the logical sector address has been stored. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An integrated circuit comprising:
-
a non-volatile memory array comprised of a plurality of sectors, each containing a plurality of data storage elements and each identified by a physical address;
an interface connected to the memory array for transferring externally to the integrated circuit data identified by logical sector addresses; and
a pointer connected to the interface to receive said logical sector addresses, said pointer storing correspondences between the logical sector addresses and physical sector addresses, wherein the pointer structure concurrently maintains a first correspondence between a first logical sector address and a first physical sector address at which currently valid data identified by the first logical sector address is stored and a second correspondence between the first logical sector address and a second distinct physical sector address at which previously valid data identified by the first logical sector address has been stored. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method of operating a memory system comprising a controller and a memory, the memory including a pointer structure and an array comprised of a plurality of sectors, wherein each sector is identified by a physical address and contains a plurality of non-volatile data storage elements, the method comprising:
-
receiving at the controller unit from a host a first data set and a logical sector address whereby the host identifies the first data set;
transferring the first data set and the logical sector address from the controller to the memory;
storing the first data set at a first physical sector address of the array;
storing a first correspondence between the logical sector address and the first physical sector address in the pointer structure;
subsequent to said storing the first data set and said storing the first correspondence, receiving at the controller from the host a second data set to be stored at the logical sector address;
transferring the second data set from the controller to the memory;
storing the second data set at a second physical sector address of the array; and
storing a second correspondence between the logical sector address and the second physical sector address in the pointer structure, wherein the memory retains the first data set at the first physical sector address and the first correspondence in the pointer structure subsequent to said storing the second data set and said storing the second correspondence. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A method of operating a non-volatile memory comprising a pointer structure and an array having a plurality of sectors each containing a plurality of storage element, the method comprising:
-
writing a first data set accessible external to the memory by a logical sector address into a first physical sector;
storing a first correspondence between the logical sector address and the first physical sector in the pointer structure;
subsequent to said writing the first data set and storing the first correspondence, writing a second data set accessible external to the memory by the logical sector address into a second physical sector; and
storing a second correspondence between the logical sector address and the second physical sector in the pointer structure, wherein the first data set is retained in the first physical sector address and the first correspondence is retained in the pointer subsequent to writing the second data set and storing the second correspondence. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A method of operating a non-volatile memory system comprising a controller and a memory, wherein data is stored in the memory based on physical address, the method comprising:
-
transferring data between a host and the controller based on a logical sector addresses;
transferring data between the controller and the memory based on the logical sector address;
converting on the memory the logical sector address into a corresponding physical sector address; and
accessing data stored in the memory at the corresponding physical address.
-
Specification