IP Library Granted Patent US 7,167,944
Granted Patent B1
US 7,167,944 · App. 10/455,550 · Granted Jan 23, 2007

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 7,167,944
App. No.
10/455,550
Granted
Jan 23, 2007
Kind
B1
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 (28)

1. A nonvolatile memory system comprising:

nonvolatile memory for storing sector information, said nonvolatile memory being organized into blocks, each block including a plurality of sectors, each sector identified by a logical block address and for storing sector information; and

a controller coupled to said nonvolatile memory responsive to a host for writing sector information to said nonvolatile memory and responsive to the host for updating said 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, one or more blocks are 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.

2. A nonvolatile memory system as recited in claim 1 wherein free blocks are used to rearrange the updated sector information.

3. A nonvolatile memory system as recited in claim 1 wherein the controller is responsive to the host for writing a plurality of sectors initially arranged in sequential order based on their logical block addresses wherein rearranging these sectors into another block is avoided by the controller thereby saving move operations and improving system performance.

4. A nonvolatile memory system as recited in claim 3 wherein the plurality of sectors is written to a particular block.

5. A nonvolatile memory system as recited in claim 4 wherein the particular block is renumbered.

6. A method of storing sector information in nonvolatile memory organized into blocks, each block including a plurality of sectors, each sector identified by a logical block address comprising:

receiving sector information for storage into a block of the nonvolatile memory;

storing the received sector information into one or more blocks;

receiving updated sector information for storage into a block of the nonvolatile memory;

storing the received updated sector information into the next free or available sector(s) of a block such that upon multiple re-writes or updating of sector information, one or more blocks are filled with sector information; and

if needed, moving the updated sector information in sequential order based on their respective logical block addresses.

7. A method of storing sector information in nonvolatile memory organized into blocks, each block including a plurality of sectors, each sector identified by a logical block address comprising:

receiving sector information for storage into a block of the nonvolatile memory;

storing the received sector information into one or more blocks;

receiving updated sector information for storage into a block of the nonvolatile memory;

storing the received updated sector information into the next free or available sector(s) of a block such that upon multiple re-writes or updating of sector information, one or more blocks are filled with sector information; and

avoiding moving the updated sector information if the updated sector information belong to sectors of a predetermined order and the logical block addresses of the sectors of the updated sector information correspond to valid physical block addresses used to identify sectors within the nonvolatile memory.

8. A method of storing sector information as recited in claim 7 wherein the avoiding step further includes updating the correspondence between logical block addresses and physical block addresses based upon the updated sector information.

9. A method of storing sector information as recited in claim 8 further including the step of erasing the block that includes sector information which is superceded by the updated sector information.

10. A method of storing sector information in nonvolatile memory organized into blocks, each block including a plurality of sectors, each sector identified by a logical block address comprising:

receiving sector information for storage into a block of the nonvolatile memory;

storing the received sector information into one or more blocks;

receiving updated sector information for storage into a block of the nonvolatile memory;

storing the received updated sector information into the next free or available sector(s) of a block such that upon multiple re-writes or updating of sector information, one or more blocks are filled with sector information; and

if needed, moving the updated sector information into sectors identified within the nonvolatile memory by virtual physical block addresses corresponding to respective virtual logical block addresses and avoiding moving the updated sector information if the updated sector information belongs to sectors of a predetermined order and the virtual logical block addresses associated with sectors of the updated sector information correspond to valid virtual physical block addresses.

Assignments (7)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2003
From: ESTAKHRI, PETRO
To: LEXAR MEDIA, INC.
Reel/Frame 014153/0686 →