Flash memory architecture with separate storage of overhead and user data
First Claim
Patent Images
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.
7 Assignments
0 Petitions
Accused Products
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.
124 Citations
20 Claims
-
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. - View Dependent Claims (2, 3, 4, 5)
-
-
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. - View Dependent Claims (7)
-
-
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. - View Dependent Claims (9)
-
-
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. - View Dependent Claims (12)
-
-
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. - View Dependent Claims (17, 18)
-
-
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. - View Dependent Claims (20)
-
Specification