IP Library Granted Patent US 7,870,457
Granted Patent B2
US 7,870,457 · App. 11/618,686 · Granted Jan 11, 2011

Page by page ECC variation in a memory device

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,870,457
App. No.
11/618,686
Filed
Dec 29, 2006
Granted
Jan 11, 2011
Kind
B2
Art Unit
2112
USPC
714/752
Abstract

A method of storing memory device data overhead information in data cells in a row of cells, the row being one of a plurality of rows comprising a unit of data, is disclosed. The method includes storing user data attribute information in an overhead portion of a data sector in the row adjacent to a portion of the data sector storing user data. Data attributes for user data in data sectors in other rows is stored in the overhead portion of the data sector, said row having greater user data integrity than others of said rows.

Claims (30)

1. A method of storing information in data cells organized as a plurality of pages in a memory device, a subset of the plurality of pages comprising a block of data, comprising:

storing user data in a page of said block, said page having a higher degree of data integrity than others of said plurality of pages;

storing data attribute information including error correction code (ECC) in a portion of a data sector of the page; and

storing block level data attributes in a second portion of the data sector, said second portion of the data sector being a location occupied by ECC information in said others of said pages.

2. The method of claim 1 wherein the step of storing block level data attributes includes storing logical block information.

3. The method of claim 1 wherein the step of storing block level data attributes includes storing one or more of a block hot count, compressed block hot count, a block rewrite flag, and logical to physical translation information.

4. The method of claim 1 wherein the step of storing attribute information includes storing information for less than 8 bits of ECC resolution.

5. The method of claim 1 wherein the step of storing block level data attributes includes storing logical block information in the last programmed row in a page.

6. The method of claim 1 wherein the step of storing block level data attributes includes storing logical block information in a row having a greater level of isolation from other rows in the page.

7. The method of claim 1 wherein the step of storing block level data attributes includes storing logical block information in at least one to seven bytes of information in the page.

8. A method of storing memory device data overhead information in data cells in a row of cells, the row being one of a plurality of rows comprising a unit of data, each of the plurality of rows including data and user attribute data, the user attribute data including ECC data, comprising:

storing user data in a first portion of a data sector of a row having a greater data reliability than others of said rows; and

storing said block level data attributes in a second portion of the data sector.

9. The method of claim 8 wherein the step of storing comprises storing said block level attributes in the second portion of the data sector wherein said second portion of the data sector in said others of said rows is occupied by error correction code (ECC) information.

10. The method of claim 8 wherein the step of storing data attributes includes storing logical block information.

11. The method of claim 8 wherein the step of storing data attributes includes storing one of a block hot count, compressed block hot count, a block rewrite flag, and logical to physical translation information.

12. The method of claim 8 wherein the step of storing data attributes includes storing logical block information in the last programmed row in a page.

13. The method of claim 8 wherein the step of storing block level data attributes includes storing logical block information in a row having a greater level of isolation from other rows in the page.

14. The method of claim 8 wherein the step of storing data attributes includes storing logical block information in at least one to seven bytes of information in the page.

15. The method of claim 8 wherein the step of storing user attribute data includes storing information for less than 8 bits of ECC information for the user data.

16. A method of operating a memory device, comprising:

reading user data from addressable pages and blocks in a data array, the user data having associated attribute data;

reading page attribute information including error correction code (ECC) information from a data sector of a first page, the page attribute information being stored adjacent to user data; and

reading block level data attributes from the data sector, the first page having a higher degree of data integrity than others of said pages.

17. The method of claim 16 wherein the step of reading data attributes includes reading logical block information.

18. The method of claim 16 wherein the step of reading data attributes includes reading one of a block hot count, compressed block hot count, a block rewrite flag, and logical to physical translation information.

19. The method of claim 16 wherein the step of reading data attributes includes reading logical block information from the last programmed row in a page.

20. The method of claim 16 further including the steps, prior to said steps of reading, of:

storing page attribute information including error correction code (ECC) in a portion of the data sector; and

storing block level data attributes for the user data of the data sector of said first page.