IP Library Granted Patent US 7,441,090
Granted Patent B2
US 7,441,090 · App. 11/201,612 · Granted Oct 21, 2008

System and method for updating data sectors in a non-volatile memory using logical block addressing

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,441,090
App. No.
11/201,612
Granted
Oct 21, 2008
Kind
B2
Abstract

A device is disclosed for storing mapping information for mapping a logical block address identifying a block being accessed by a host to a physical block address, identifying a free area of nonvolatile memory, the block being selectively erasable and having one or more sectors that may be individually moved. The mapping information including a virtual physical block address for identifying an “original” location, within the nonvolatile memory, wherein a block is stored and a moved virtual physical block address for identifying a “moved” location, within the nonvolatile memory, wherein one or more sectors of the stored block are moved. The mapping information further including status information for use of the “original” physical block address and the “moved” physical block address and for providing information regarding “moved” sectors within the block being accessed.

Claims (26)

1. A method of updating sectors of data in a nonvolatile storage system comprising:

receiving a command from a host for updating one or more sectors of data into a location within the nonvolatile memory storage, said location defined by a particular block having previously-written one or more sectors of data, said particular block caused to be identified by a first group of logical block addresses, corresponding to a group of sectors, and including two or more sectors of data, each sector for storing a sector of data;

selecting one or more new blocks within the nonvolatile storage;

writing said updated one or more sectors of data to one or more new blocks caused to be identified by said first group of logical block addresses without copying the previously-written sectors of data in the particular block that are not updated; and

in response to receiving a new write command from the host to rewrite a second sector of data defined to be a sector of data within the particular block that is other than the first sector of data, rewriting the second sector of data into the one or more new blocks identified by the first group of logical block addresses without moving and copying the previously written sectors of data in the particular block that are not updated.

2. The method of claim 1 , further comprising receiving additional commands from the host for further updating, one or more times, sectors of data, wherein the previously-written sectors of data in the particular block are not moved every time a sector of data is updated.

3. The method of claim 1 , further comprising moving the previously-written sectors of data that are not updated from the particular block after writing the updated one or more sectors of data to one or more new blocks.

4. The method of claim 3 , further comprising erasing the particular block after moving the previously-written sectors of data that are not updated from the particular block.

5. The method of claim 1 , further comprising writing said updated one or more sectors of data to one or more new blocks caused to be identified by said first group of logical block addresses without moving the previously-written sectors of data in the particular block that are not updated.

6. The method of claim 1 , wherein receiving the command from the host further comprises receiving the first group of logical block addresses from the host.

7. A method of updating sectors of data in a nonvolatile storage system comprising:

receiving a command from a host for updating one or more sectors of data into a location within the nonvolatile memory storage, said location defined by a particular block having previously-written one or more sectors of data, said particular block caused to be identified by a first group of logical block addresses, corresponding to a group of sectors, and including two or more sectors of data, each sector for storing a sector of data;

selecting one or more new blocks within the nonvolatile storage;

writing said updated one or more sectors of data to one or more new blocks caused to be identified by said first group of logical block addresses without copying the previously-written sectors of data in the particular block that are not updated;

receiving additional commands from the host for further updating, one or more times, sectors of data;

moving the previously-written sectors of data that are not updated from the particular block after writing the updated one or more sectors of data to one or more new blocks; and

in response to receiving a new write command from the host to rewrite a second sector of data defined to be a sector of data within the particular block that is other than the first sector of data, rewriting the second sector of data into the one or more new blocks identified by the first group of logical block addresses without moving and copying the previously written sectors of data in the particular block that are not updated.

8. The method of claim 7 , further comprising erasing the particular block after moving the previously-written sectors of data that are not updated from the particular block.

9. The method of claim 7 , wherein receiving the command from the host further comprises receiving the first group of logical block addresses from the host.

10. A method of updating sectors of data in a nonvolatile storage system comprising:

receiving a command and a first group of logical block addresses from a host for updating one or more sectors of data into a location within the nonvolatile memory storage, said location defined by a particular block having previously-written one or more sectors of data, said particular block caused to be identified by the first group of logical block addresses, corresponding to a group of sectors, and including two or more sectors of data, each sector for storing a sector of data;

selecting one or more new blocks within the nonvolatile storage;

writing said updated one or more sectors of data to one or more new blocks caused to be identified by said first group of logical block addresses without moving and without copying the previously-written sectors of data in the particular block that are not updated;

moving the previously-written sectors of data that are not updated from the particular block after writing the updated one or more sectors of data to one or more new blocks; and

in response to receiving a new write command from the host to rewrite a second sector of data defined to be a sector of data within the particular block that is other than the first sector of data, rewriting the second sector of data into the one or more new blocks identified by the first group of logical block addresses without moving and copying the previously written sectors of data in the particular block that are not updated.

11. The method of claim 10 , further comprising erasing the particular block after moving the previously-written sectors of data that are not updated from the particular block.

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 →
MERGER Recorded Mar 25, 2011
From: LEXAR MEDIA, INC.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 026024/0131 →