IP Library Granted Patent US 10,078,449
Granted Patent B2
US 10,078,449 · App. 15/134,499 · Granted Sep 18, 2018

Flash memory architecture with separate storage of overhead and user data

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 10,078,449
App. No.
15/134,499
Granted
Sep 18, 2018
Kind
B2
Abstract

A memory device has a plurality of dedicated data blocks for storing user data and a plurality of dedicated overhead blocks for storing overhead data. A dedicated overhead block of the plurality of dedicated overhead blocks has a plurality of overhead segments. The overhead segments have physical block address registers configured to store physical block addresses defining respective dedicated data blocks.

Claims (68)

1. A memory device, comprising:

a plurality of physical memory blocks, each physical memory block of the plurality of physical memory blocks having a corresponding physical block address, and the plurality of physical memory blocks organized as:

a plurality of dedicated data blocks to store user data; and

a plurality of dedicated overhead blocks to store overhead data;

wherein the memory device is to store supporting overhead data for a dedicated data block of the plurality of dedicated data blocks to a corresponding dedicated overhead block of the plurality of dedicated overhead blocks having a different physical block address than the physical block address of the corresponding dedicated data block; and

wherein the memory device is to determine that a dedicated overhead block of the plurality of dedicated overhead blocks is full in response to determining that only one page of the dedicated overhead block of the plurality of dedicated overhead blocks is full.

2. The memory device of claim 1 , wherein the dedicated overhead block determined to be full is a first dedicated overhead block of the plurality of dedicated overhead blocks, wherein the memory device is to move overhead data in an overhead segment that is current in the only one page of the first dedicated overhead block to a second dedicated overhead block of the plurality of dedicated overhead blocks in response to determining that the only one page of the first dedicated overhead block is full.

3. The memory device of claim 2 , wherein the overhead segment that is current in the only one page of the first dedicated overhead block is an only overhead segment that is current in the only one page of the first dedicated overhead block.

4. The memory device of claim 2 , wherein the memory device being to move the overhead data in the overhead segment that is current in the only one page of the first dedicated overhead block to the second dedicated overhead block, comprises the memory device being to move the overhead data in the overhead segment that is current in the only one page of the first dedicated overhead block to only one page of the second dedicated overhead block.

5. The memory device of claim 1 , wherein the only one page of the dedicated overhead block determined to be full comprises a plurality of overhead segments, and wherein the memory device is to determine that the only one page of the dedicated data overhead block is full in response to determining that only one of the plurality of overhead segments is current and determining that each of the remaining overhead segments of the plurality of overhead segments is obsolete.

6. A memory device, comprising:

a plurality of dedicated data blocks to store user data, and

a plurality of dedicated overhead blocks to store overhead data;

wherein the memory device is to determine that a dedicated overhead block of the plurality of dedicated overhead blocks is full in response to determining that only one page of the dedicated overhead block of the plurality of dedicated overhead blocks is full;

wherein the dedicated overhead block determined to be full is a first dedicated overhead block of the plurality of dedicated overhead blocks;

wherein the memory device is to move overhead data in an overhead segment that is current in the only one page of the first dedicated overhead block to a second dedicated overhead block of the plurality of dedicated overhead blocks in response to determining that the only one page of the first dedicated overhead block is full;

wherein the memory device being to move the overhead data in the overhead segment that is current in the only one page of the first dedicated overhead block to the second dedicated overhead block, comprises the memory device being to move the overhead data in the overhead segment that is current in the only one page of the first dedicated overhead block to only one page of the second dedicated overhead block; and

wherein the only one page of the first dedicated overhead block is a first page of the first dedicated overhead block and the only one page of the second dedicated overhead block is a first page of the second dedicated overhead block, wherein the memory device is to move overhead data in a current segment in a second page of the first dedicated overhead block to only a second page of the second dedicated overhead block before the second page of the first dedicated overhead block is full in response to determining that the first page of the first dedicated overhead block is full.

7. The memory device of claim 6 , wherein the current segment in the second page of the first dedicated overhead block is an only current segment in the second page of the first dedicated overhead block.

8. A memory device, comprising:

a plurality of dedicated data blocks to store user data; and

a plurality of dedicated overhead blocks to store overhead data;

wherein the memory device is to determine that a dedicated overhead block of the plurality of dedicated overhead blocks is full in response to determining that only one page of the dedicated overhead block of the plurality of dedicated overhead blocks is full;

wherein the dedicated overhead block determined to be full is a first dedicated overhead block of the plurality of dedicated overhead blocks;

wherein the memory device is to move overhead data in an overhead segment that is current in the only one page of the first dedicated overhead block to a second dedicated overhead block of the plurality of dedicated overhead blocks in response to determining that the only one page of the first dedicated overhead block is full; and

wherein the memory device being to move the overhead data in the overhead segment that is current in the only one page of the first dedicated overhead block to the second dedicated overhead block, comprises the memory device being to move the overhead data in the overhead segment that is current in the only one page of the first dedicated overhead block to only one unused and non-defective overhead segment in only one page of the second dedicated overhead block.

9. The memory device of claim 8 , wherein the only one page of the first dedicated overhead block is a first page of the first dedicated overhead block and the only one page of the second dedicated overhead block is a first page of the second dedicated overhead block, wherein the memory device is to move overhead data in a current segment in a second page of the first dedicated overhead block to only one unused and non-defective overhead segment in only a second page of the second dedicated overhead block before the second page of the first dedicated overhead block is full in response to determining that the first page of the first dedicated overhead block is full.

10. A memory device, comprising:

a plurality of dedicated data blocks to store user data; and

a plurality of dedicated overhead blocks to store overhead data;

wherein the memory device is to determine that a dedicated overhead block of the plurality of dedicated overhead blocks is full in response to determining that only one page of the dedicated overhead block of the plurality of dedicated overhead blocks is full; and

wherein a dedicated overhead block of the plurality of dedicated overhead blocks comprises a plurality of pages, wherein a page of the plurality of pages of the dedicated overhead block comprises a plurality of overhead segments, wherein each overhead segment of the page of the plurality of pages of the dedicated overhead block is to indicate whether it is current, obsolete, or unused and non-defective.

11. A memory device, comprising:

a plurality of dedicated data blocks to store user data; and

a plurality of dedicated overhead blocks to store overhead data;

wherein the memory device is to determine that a dedicated overhead block of the plurality of dedicated overhead blocks is full in response to determining that only one page of the dedicated overhead block of the plurality of dedicated overhead blocks is full; and

wherein a dedicated overhead block of the plurality of dedicated overhead blocks comprises a plurality of pages, wherein a page of the plurality of pages of the dedicated overhead block is to store overhead data for the user data of only one of the plurality of dedicated data blocks.

12. The memory device of claim 11 , wherein the page of the plurality of pages of the dedicated overhead block comprises a plurality of overhead segments, wherein each of the plurality of overhead segments comprises a physical block address register to store a single physical block address that identifies a physical location in the memory device of the only one of the plurality of dedicated data blocks.

13. A memory device, comprising:

a plurality of dedicated data blocks to store user data; and

a plurality of dedicated overhead blocks to store overhead data;

wherein the memory device is to determine that a dedicated overhead block of the plurality of dedicated overhead blocks is full in response to determining that only one page of the dedicated overhead block of the plurality of dedicated overhead blocks is full; and

wherein a dedicated overhead block of the plurality of dedicated overhead blocks comprises a plurality of pages, wherein a page of the plurality of pages of the dedicated overhead block comprises a plurality of overhead segments, wherein the memory device is to cause overhead data for the user data of only one of the plurality of dedicated data blocks to be stored in one unused and non-defective overhead segment of the plurality of overhead segments at a time.

14. A memory device, comprising:

a plurality of dedicated data blocks to store user data; and

a plurality of dedicated overhead blocks to store overhead data;

wherein the memory device is to determine that a dedicated overhead block of the plurality of dedicated overhead blocks is full in response to determining that only one page of the dedicated overhead block of the plurality of dedicated overhead blocks is full; and

wherein a dedicated overhead block of the plurality of dedicated overhead blocks comprises a plurality of pages, wherein a page of the plurality of pages of the dedicated overhead block comprises a plurality of overhead segments, wherein the memory device is to cause overhead data for the user data in only one of the plurality of dedicated data blocks to be stored in a different one of the plurality of overhead segments each time the user data in the only one of the plurality of dedicated data blocks is updated.

15. A memory device, comprising:

a plurality of dedicated data blocks to store user data; and

a plurality of dedicated overhead blocks to store overhead data;

wherein the memory device is to determine that a dedicated overhead block of the plurality of dedicated overhead blocks is full in response to determining that only one page of the dedicated overhead block of the plurality of dedicated overhead blocks is full;

wherein a dedicated overhead block of the plurality of dedicated overhead blocks comprises a plurality of pages, wherein a page of the plurality of pages of the dedicated overhead block comprises a plurality of overhead segments, wherein the memory device is to cause overhead data for the user data of only one of the plurality of dedicated data blocks to be stored in a first unused and non-defective overhead segment of the plurality of overhead segments and to cause the first unused and non-defective overhead segment to indicate that it is a current overhead segment in response to the overhead data for the user data of the only one of the plurality of dedicated data blocks being stored in the first unused and non-defective overhead segment, and wherein the memory device is to cause overhead data for updated user data of the only one of the plurality of dedicated data blocks to be stored in a second unused and non-defective overhead segment of the plurality of overhead segments and to cause the current overhead segment to indicate that it is an obsolete overhead segment in response to the overhead data for the updated user data of the only one of the plurality of dedicated data blocks being stored in the second unused and non-defective overhead segment.

16. A memory device, comprising:

a plurality of dedicated data blocks to store user data; and

a plurality of dedicated overhead blocks to store overhead data;

wherein the memory device is to determine that a particular dedicated overhead block of the plurality of dedicated overhead blocks is full in response to determining that only one page of the particular dedicated overhead block of the plurality of dedicated overhead blocks is full;

wherein the one page of the particular dedicated overhead block of the plurality of dedicated overhead blocks is one page of a plurality of pages of the particular dedicated overhead block of the plurality of dedicated overhead blocks; and

wherein respective ones of the plurality of pages of the particular dedicated overhead block of the plurality of dedicated overhead blocks are to respectively store overhead data for the user data stored in respective ones of the plurality of dedicated data blocks.

17. The memory device of claim 16 , wherein the particular dedicated overhead block is a first dedicated overhead block of the plurality of dedicated overhead blocks, wherein the memory device is to move the overhead data respectively stored in the respective ones of the plurality of pages of the first dedicated overhead block respectively to respective ones of a plurality of pages of a second dedicated overhead block of the plurality of dedicated overhead blocks in response to determining that the only one page of the first dedicated overhead block is full and regardless of any other page of the plurality of pages of the first dedicated overhead block being full.

18. The memory device of claim 17 , wherein the memory device being to move the overhead data respectively stored in the respective ones of the plurality of pages of the first dedicated overhead block respectively to the respective ones of the plurality of pages of the second dedicated overhead block comprises the memory device being to move overhead data respectively stored in respective ones of current overhead segments respectively in the respective ones of the plurality of pages of the first dedicated overhead block respectively to respective ones of unused and non-defective overhead segments respectively in the respective ones of the plurality of pages of the second dedicated overhead block.

19. A memory device, comprising:

a plurality of dedicated data blocks to store user data; and

a plurality of dedicated overhead blocks to store overhead data;

wherein a particular dedicated overhead block of the plurality of dedicated overhead blocks comprises a plurality of pages, wherein each page of the plurality of pages of the particular dedicated overhead block is assigned to a different dedicated data block of the plurality of dedicated data blocks;

wherein each page of the plurality of pages of the particular dedicated overhead block comprises a plurality of overhead segments, wherein each overhead segment of a page of the plurality of pages of the particular dedicated overhead block is to store a single physical block address that identifies a location in the memory device of the dedicated data block assigned to that page of the plurality of pages of the particular dedicated overhead block; and

wherein the memory device is to determine that the particular dedicated overhead block is full in response to determining that only one page of the plurality of pages of the particular dedicated overhead block is full.

20. The memory device of claim 19 , wherein the memory device is to determine that the only one page of the particular dedicated overhead block is full in response to determining that only one of the plurality of overhead segments of the only one page of the particular dedicated overhead block is current and determining that each of the remaining overhead segments of the only one page of the particular dedicated overhead block is obsolete.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
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 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/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 →