IP Library Granted Patent US 8,250,294
Granted Patent B2
US 8,250,294 · App. 13/216,291 · Granted Aug 21, 2012

Block management for mass storage

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,250,294
App. No.
13/216,291
Granted
Aug 21, 2012
Kind
B2
Abstract

An embodiment of the present invention includes a nonvolatile memory system comprising nonvolatile memory for storing sector information, the nonvolatile memory being organized into blocks with each block including a plurality of sectors, each sector identified by a logical block address and for storing sector information. A controller is coupled to the nonvolatile memory for writing sector information to the latter and for updating the sector information, wherein upon updating sector information, the controller writes to the next free or available sector(s) of a block such that upon multiple re-writes or updating of sector information, a plurality of blocks are substantially filled with sector information and upon such time, the controller rearranges the updated sector information in sequential order based on their respective logical block addresses thereby increasing system performance and improving manufacturing costs of the controller.

Claims (36)

1. A controller configured to:

associate a particular block of a first group of blocks of memory with a particular virtual logical block address (VLBA) if all sector information written or stored in the particular block is identified as current or new and is written or stored in accordance with a sequential ordering of logical block addresses (LBAs) associated with the sector information written or stored in the particular block; and

not write or store the sector information in sector locations of a second group of blocks when the sector information is written or stored in the particular block of memory of the first group of blocks and the sector information is identified as current or new,

wherein the controller is further configured to re-arrange sectors into a sequential order.

2. The controller of claim 1 wherein the controller being configured to associate the particular block of the first group of blocks of memory with a particular VLBA comprises the controller being configured to designate the current or new sector information as being current or new.

3. The controller of claim 1 wherein the current or new sector information is not old information.

4. The controller of claim 1 wherein the controller being configured to write or store sector information in accordance with the sequential ordering of LBAs associated with the sector information written or stored in the particular block comprises the controller being configured to find free blocks.

5. The controller of claim 1 wherein the controller is further configured to number VLBAs in a sequential order of the LBAs associated with sectors.

6. The controller of claim 1 wherein the controller is further configured to place information of sectors re-arranged in the sequential order into a particular block.

7. The controller of claim 1 wherein the controller further comprises a space manager.

8. A method comprising:

associating a particular block of a first group of blocks of memory with a particular virtual logical block address (VLBA) if all sector information written or stored in the particular block is identified as current or new and is written or stored in accordance with a sequential ordering of logical block addresses (LBAs) associated with the sector information written or stored in the particular block;

not write or store the sector information in sector locations of a second group of blocks when the sector information is written or stored in the particular block of memory of the first group of blocks and the sector information is identified as current or new; and

performing a clean-up operation when all blocks are filled with sector information, the clean-up operation comprising arranging sectors in sequential order within blocks.

9. The method of claim 8 and further including the step of indicating whether or not the stored sector information is old.

10. A system comprising:

first and second groups of blocks of memory; and

a controller configured to:

associate a particular block of the first group of blocks of memory with a particular virtual logical block address (VLBA) if all sector information written or stored in the particular block is identified as current or new and is written or stored in accordance with a sequential ordering of logical block addresses (LBAs) associated with the sector information written or stored in the particular block; and

not write or store the sector information in sector locations of a second group of blocks when the sector information is written or stored in the particular block of memory of the first group of blocks and the sector information is identified as current or new,

wherein the controller is further configured to find sectors from temporary block locations.

11. The system of claim 10 wherein the controller is further configured to designate old and new sector information using flags.

12. The system of claim 11 wherein the controller is further configured to use the flags to designate blocks as containing the old and the new information.

13. The system of claim 12 wherein the controller is further configured to modify the flags when new sector information is stored.

14. A system comprising:

first and second groups of blocks of memory; and

a controller configured to:

associate a particular block of the first group of blocks of memory with a particular virtual logical block address (VLBA) if all sector information written or stored in the particular block is identified as current or new and is written or stored in accordance with a sequential ordering of logical block addresses (LBAs) associated with the sector information written or stored in the particular block; and

not write or store the sector information in sector locations of a second group of blocks when the sector information is written or stored in the particular block of memory of the first group of blocks and the sector information is identified as current or new;

wherein the controller comprises a space manager that is configured to not maintain track of information stored in nonvolatile memory on a sector-by-sector basis.

15. A system comprising:

first and second groups of blocks of memory; and

a controller configured to:

associate a particular block of the first group of blocks of memory with a particular virtual logical block address (VLBA) if all sector information written or stored in the particular block is identified as current or new and is written or stored in accordance with a sequential ordering of logical block addresses (LBAs) associated with the sector information written or stored in the particular block; and

not write or store the sector information in sector locations of a second group of blocks when the sector information is written or stored in the particular block of memory of the first group of blocks and the sector information is identified as current or new;

wherein the controller is further configured to move sectors from the temporary block locations.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050937/0001 →
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047243/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 8, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 043079/0001 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 038954/0001 →
SECURITY INTEREST Recorded May 12, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038669/0001 →
MERGER Recorded Jun 11, 2013
From: LEXAR MEDIA, INC.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 030588/0368 →