IP Library Granted Patent US 7,734,862
Granted Patent B2
US 7,734,862 · App. 11/652,727 · Granted Jun 8, 2010

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,734,862
App. No.
11/652,727
Granted
Jun 8, 2010
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 (26)

1. A method of storing information in nonvolatile memory comprising:

receiving sectors of information for storage into the non-volatile memory, the non-volatile memory organized into blocks of sectors;

storing the received sectors of information into temporary blocks, starting with a block N, N being an integer value such that when block N is filled with the received sectors of information, any remaining received sectors of information that have not been stored within the block N prior to the block N becoming full, are stored in additional temporary blocks;

performing a ‘clean-up’ operation; and

arranging the sectors in sequential order within blocks, each identified and accessed by a virtual logical block address generated by a controller, other than the temporary blocks.

2. A method of storing information in non-volatile memory, as recited in claim 1 , further including the step of indicating whether or not the stored sector information is ‘old’.

3. A method of storing information in non-volatile memory, as recited in claim 2 , wherein during the arranging step, only sectors of information that are indicated as other than ‘old’ are arranged.

4. A nonvolatile memory system comprising:

nonvolatile memory organized into blocks, each block including sector locations for storing sector information; and

a controller coupled to the non-volatile memory for storing sector information of sectors, received from a host, to the non-volatile memory, the controller first for causing sector information to be temporarily stored in a first group of blocks and then for performing a ‘clean-up’ operation to arrange the received sectors in sequential order within blocks other than the temporary blocks wherein the controller is configured to generate virtual logical block addresses that identifies a unique block.

5. A nonvolatile memory system, as recited in claim 4 , wherein the received sectors are each identified by a logical block address (LBA).

6. A nonvolatile memory system, as recited in claim 4 , further including means indicative of the status of the sectors of a block.

7. A nonvolatile memory system, as recited in claim 4 , further including block N within the temporary blocks, wherein the received sectors are caused to be first stored in block N and when the sectors are re-written, the re-written sectors are stored in block N+M.

8. A nonvolatile memory system, as recited in claim 4 , wherein the nonvolatile memory further including free blocks for arranging the sectors.

9. A nonvolatile memory system, as recited in claim 4 , wherein the VLBAs are a function of the sequential order of the sectors associated therewith.

10. A nonvolatile memory system comprising:

a controller for use with a host that is in communication with nonvolatile memory for storing sector information of sectors, received from the host, nonvolatile memory organized into blocks, each block including sector locations for storing sector information, the controller first for causing sector information to be temporarily stored in a first group of blocks and then for performing a ‘clean-up’ operation to arrange the received sectors in sequential order within blocks other than the temporary blocks wherein the controller is configured to generate a virtual logical block address that identifies a unique block.

11. A nonvolatile memory system, as recited in claim 10 , wherein the received sectors are each identified by a logical block address (LBA).

12. A nonvolatile memory system, as recited in claim 10 , further including means indicative of the status of the sectors of a block.

13. A nonvolatile memory system, as recited in claim 10 , further including block N within the temporary blocks, wherein the received sectors are caused to be first stored in block N and when the sectors are re-written, the re-written sectors are stored in block N+M.

14. A nonvolatile memory system, as recited in claim 10 , wherein the nonvolatile memory further including free blocks for arranging the sectors.

15. A controller for use in a nonvolatile memory system comprising:

a space manager for use with a host that is in communication with nonvolatile memory for storing sector information of sectors, received from the host, nonvolatile memory organized into blocks, each block including sector locations for storing sector information, the controller first for causing sector information to be temporarily stored in a first group of blocks and then for performing a ‘clean-up’ operation to arrange the received sectors in sequential order within blocks, identified and accessed by virtual logical addresses, other than the temporary blocks, the controller configured to generate the virtual logical addresses.

16. A controller, as recited in claim 10 , wherein the received sectors are each identified by a logical block address (LBA).

17. A controller, as recited in claim 10 , further including means indicative of the status of the sectors of a block.

18. A controller, as recited in claim 10 , further including block N within the temporary blocks, wherein the received sectors are caused to be first stored in block N and when the sectors are re-written, the re-written sectors are stored in block N+M.

Assignments (8)
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 →
MERGER Recorded Mar 25, 2011
From: LEXAR MEDIA, INC.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 026024/0131 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2007
From: ESTAKHRI, PETRO
To: LEXAR MEDIA, INC.
Reel/Frame 018789/0836 →