IP Library Granted Patent US 7,383,375
Granted Patent B2
US 7,383,375 · App. 11/016,271 · Granted Jun 3, 2008

Data run programming

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,383,375
App. No.
11/016,271
Granted
Jun 3, 2008
Kind
B2
Abstract

Data in data runs are stored in a non-volatile memory array in adaptive metablocks that are configured according to the locations of data boundaries. A serial flash buffer is used to store some data, while other data are directly stored in non-volatile memory. Data may be stored with alignment to data boundaries during updating of the data to improve efficiency of subsequent updates.

Claims (20)

1. A removable memory card for storage of data, comprising:

a non-volatile memory array having a minimum unit of erase of an erase block and having a first part in which erase blocks are grouped into adaptive metablocks containing different numbers of erase blocks that are programmed in parallel, the number of erase blocks selected according to locations of logical boundaries in data to be stored, the memory array having a second part in which data is stored in metablocks in a manner that is not dependent on locations of data boundaries in data to be stored in the second part of the memory array; and

a controller that determines whether a portion of data received by the memory card is initially sent to the first part or the second part of the memory array depending on whether the portion of data contains a logical boundary or not.

2. The removable memory card of claim 1 wherein the portion of data contains the logical boundary and the portion of data is sent to the second part of the memory array and is subsequently copied to the first part of the memory array.

3. The removable memory card of claim 2 wherein the copying to the first part of the memory array is in parallel with copying of additional data from the second part of the memory array to the first part of the memory array.

4. The removable memory card of claim 2 wherein the copying to the first part of the memory array is in parallel with copying of additional data from the second part of the memory array in a copying operation using maximum parallelism of the non-volatile memory array.

5. The removable memory card of claim 1 wherein the portion of data contains the logical boundary and is initially sent to the second part of the memory array and is subsequently copied from the second part of the memory array to an adaptive metablock of minimum size in the first part of the memory array.

6. The removable memory card of claim 1 wherein the first part of the memory array consists of a first plurality of erase blocks, the second part of the memory array consists of a second plurality of erase blocks, erase blocks that make up the first and second pluralities being interchangeable such that an individual erase block is one of the first plurality of erase blocks at a first time and one of the second plurality of erase blocks at a second time.

7. The removable memory card of claim 1 further comprising a third part in which erase blocks do not contain valid data and are not grouped into metablocks, individual erase blocks in the third part being transferred to the first and second parts to store data and individual erase blocks of the first and second parts being transferred to the third part when they do not contain valid data.

8. The removable memory card of claim 1 wherein the first part comprises a first plurality of dedicated erase blocks, individual ones of the first plurality forming adaptive metablocks that contain data, additional individual ones of the first plurality not containing data and not grouped into adaptive metablocks.

9. The removable memory card of claim 8 wherein the controller selects erase blocks from the additional individual ones of the first plurality to form new adaptive metablocks to store data.

10. The removable memory card of claim 1 wherein the second part comprises a second plurality of dedicated erase blocks, individual ones of the second plurality forming metablocks that contain data, additional individual ones of the second plurality not containing data and not grouped into metablocks.

11. The removable memory card of claim 10 wherein the controller selects erase blocks from the additional individual ones of the second plurality to form new metablocks to store data.

12. A method of storing data in adaptive metablocks in a memory array, an adaptive metablock comprising an individually selected number of erase blocks, an erase block being a minimum unit of erase of the memory array, the memory array including a serial flash buffer that comprises one or more buffer metablocks of maximum size, comprising:

storing a first portion of data that contains a first logical boundary in a buffer metablock in the serial flash buffer;

subsequently copying the first portion of data from the buffer metablock to a first adaptive metablock that is not in the serial flash buffer, the first adaptive metablock consisting of one erase block; and

storing a second portion of data that does not contain a logical boundary in a second adaptive metablock that is not in the serial flash buffer, the second adaptive metablock comprising more than one erase block.

13. The method of claim 12 wherein the second adaptive metablock is a metablock of maximum size.

14. The method of claim 12 wherein the copying of the first portion of data from the buffer metablock is in parallel with copying of additional data from the serial flash buffer to locations in the memory array that are not in the serial flash buffer.

15. The method of claim 14 wherein the additional data includes a second portion of data that contains a second logical boundary, the second portion of data copied to a third adaptive metablock consisting of one erase block.

Assignments (6)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038813/0004 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2011
From: SANDISK CORPORATION
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 026339/0707 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2005
From: SINCLAIR, ALAN WELSH
To: SANDISK CORPORATION
Reel/Frame 016065/0680 →