Memory block identified by group of logical block addresses, storage device with movable sectors, and methods
First Claim
Patent Images
1. A storage device, comprising:
- a non-volatile memory organized into physical blocks, wherein each physical block comprises a plurality of sectors corresponding to a plurality of logical block addresses; and
a controller coupled to the memory;
wherein only one sector in each physical block comprises a sector status location configured to store information that indicates a move status of each sector of a respective physical block; and
wherein the only one sector in each physical block that comprises the sector status location is configured to store a sector of data in addition to the information that indicates the move status.
7 Assignments
0 Petitions
Accused Products
Abstract
In an embodiment, a non-volatile memory has erasable blocks of memory cells. The one or more of the erasable blocks include a particular block to be identified by a particular group of logical block addresses corresponding to a predetermined group of sectors.
264 Citations
25 Claims
-
1. A storage device, comprising:
-
a non-volatile memory organized into physical blocks, wherein each physical block comprises a plurality of sectors corresponding to a plurality of logical block addresses; and a controller coupled to the memory; wherein only one sector in each physical block comprises a sector status location configured to store information that indicates a move status of each sector of a respective physical block; and wherein the only one sector in each physical block that comprises the sector status location is configured to store a sector of data in addition to the information that indicates the move status. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-volatile memory, comprising:
-
erasable blocks of memory cells; wherein one or more of the erasable blocks includes a particular block to be identified by a particular group of logical block addresses corresponding to a predetermined group of sectors of the particular block; wherein fewer than all of the sectors of the predetermined group of sectors of the particular block can be moved to an erasable block other than the particular block; wherein only one sector of the particular block comprises a sector status location for storing information indicating the move status of each of the sectors of the predetermined group of sectors of the particular block; and wherein the only one sector of the particular block that comprises the sector status location is configured to store a sector of data in addition to the information that indicates the move status.
-
-
7. A method of operating a storage system, comprising:
-
transferring a sector of data from a first used erasable block within a non-volatile memory over a data bus to a temporary storage location within a memory controller that is located externally of the non-volatile memory and that is coupled to the non-volatile memory by the data bus; and transferring the sector of data over the data bus from the temporary storage location within memory controller to a free erasable block within the non-volatile memory; wherein the sector of data transferred from the first used erasable block replaces a sector of data in a sector of a plurality of sectors in a second used erasable block, wherein each sector of the plurality of sectors in the second used erasable block corresponds to a logical block address and is configured to store a sector of data; and wherein only one sector of the plurality of sectors in the second used erasable block comprises a sector status location that indicates a move status of each of the sectors of the second used erasable block so that the only one sector of the plurality of sectors in the second used erasable block is configured to store the sector of data in addition to the move status of each of the sectors of the second used erasable block. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A method of operating a storage system, comprising:
-
receiving a logical block address at a controller, the logical block address corresponding to a particular sector of a plurality of sectors, corresponding to a plurality of logical block addresses, of a first erasable memory block of a non-volatile memory, wherein only one sector of the plurality of sectors of a the first erasable memory block comprises a sector status location that is configured to store information indicating a replacement status of each of the sectors in the first erasable memory block; determining at the controller whether the particular sector of the plurality of sectors of the first erasable memory block is programmed; if the particular sector of the plurality of sectors of the first erasable memory block is programmed, finding an unprogrammed sector within a second erasable memory block of the non-volatile memory; writing data to the unprogrammed sector within the second erasable memory block so that the unprogrammed sector within the second erasable memory block is now a programmed sector within the second erasable memory block; and writing information to the sector status location indicating that the particular sector of the plurality of sectors of the first erasable memory block is replaced; wherein the only one sector of the plurality of sectors of the first erasable memory block that comprises the sector status location is further configured to store a sector of data in addition to the information indicating the replacement status of each of the sectors in the first erasable memory block. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A non-volatile memory, comprising:
-
erasable blocks of memory cells; wherein one or more of the erasable blocks includes a particular block to be identified by a particular group of logical block addresses corresponding to a predetermined group of sectors of the particular block; wherein fewer than all of the sectors of the predetermined group of sectors of the particular block can be moved to an erasable block other than the particular block; and wherein only one sector of the particular block comprises a sector status location for storing information indicating the move status of each of the sectors of the predetermined group of sectors of the particular block; and wherein the only one sector of the particular block that comprises the sector status location further comprises a sector data location configured to store a sector of data. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification