IP Library › Granted Patent US 8,458,568
Granted Patent B2
US 8,458,568 · App. 12/889,692 · Granted Jun 4, 2013

Systems and methods for memory devices

Inventors: Roy D. Cideciyan (Rueschlikon, CH); Xiao-Yu Hu (Horgen, CH)
Assignee: International Business Machines Corporation
H04L1/0009H04L1/0057H03M13/35G06F11/1068
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 8,458,568
App. No.
12/889,692
Granted
Jun 4, 2013
Kind
B2
Abstract

A method for writing data to a memory array includes receiving a write request including data from a processor, compressing the data, assigning a page strength to the compressed data, the page strength defined by a compression ratio used to compress the data, generating a parity data block associated with the compressed data, and saving the compressed data and the parity data block in a page of the memory array, the page of the memory array having a page strength corresponding to the assigned page strength of the compressed data.

Claims (39)

1. A method for writing data to a memory array, the method including:

receiving a write request including data from a processor;

compressing the data;

assigning a page strength to the compressed data, the page strength defined by a compression ratio used to compress the data;

generating a parity data block associated with the compressed data;

saving the compressed data and the parity data block in a page of the memory array, the page of the memory array having a page strength corresponding to the assigned page strength of the compressed data;

reading the compressed data and the parity block associated with the compressed data from the page;

correcting possible errors in compressed data by decoding the read page;

calculating the number of errors that are corrected;

determining whether the number of errors that are corrected exceeds the first threshold value without exceeding the second threshold value; and

associating a page strength with the page, the associated page strength corresponding to the number of errors that are corrected being within a range of values defined by the first and the second threshold values.

2. The method of claim 1 , wherein the method further includes dividing the compressed data into chunks of data responsive to assigning the page strength to the compressed data.

3. The method of claim 2 , wherein the generating a parity data block associated with the compressed data includes generating a parity data block for each chunk of data.

4. The method of claim 1 , wherein the method further includes saving metadata associated with the compressed data in the page of the memory array.

5. The method of claim 1 , wherein the memory array is divided into a plurality of pages.

6. The method of claim 1 , wherein each page of the plurality of pages includes at least one compressed data region and at least one parity data region.

7. A system for writing data to a memory array, the system including:

a memory array; and

a processor operative to receive a write request including data, compress the data, assign a page strength to the compressed data, the page strength defined by a compression ratio used to compress the data, generate a parity data block associated with the compressed data, and save the compressed data and the parity data block in a page of the memory array, the page of the memory array having a page strength corresponding to the assigned page strength of the compressed data, to read the compressed data and the parity block associated with the compressed data from the page, correct possible errors in compressed data by decoding the read page, calculate the number of errors that are corrected, determine whether the number of errors that are corrected exceeds the first threshold value without exceeding the second threshold value, and associate a page strength with the page, the associated page strength corresponding to the number of errors that are corrected being within a range of values defined by the first and the second threshold values.

8. The system of claim 7 , wherein the processor is further operative to divide the compressed data into chunks of data responsive to assigning the page strength to the compressed data.

9. The system of claim 8 , wherein the generating a parity data block associated with the compressed data includes generating a parity data block for each chunk of data.

10. The system of claim 7 , wherein the processor is further operative to save metadata associated with the compressed data in the page of the memory array.

11. The system of claim 7 , wherein the memory array is divided into a plurality of pages.

12. The system of claim 7 , wherein each page of the plurality of pages includes at least one compressed data region and at least one parity data region.

13. A non-transitory computer readable medium including instructions for:

receiving a write request including data from a processor;

compressing the data;

assigning a page strength to the compressed data, the page strength defined by a compression ratio used to compress the data;

generating a parity data block associated with the compressed data;

saving the compressed data and the parity data block in a page of a memory array, the page of the memory array having a page strength corresponding to the assigned page strength of the compressed data;

reading the compressed data and the parity block associated with the compressed data from the page;

correcting possible errors in compressed data by decoding the read page;

calculating the number of errors that are corrected;

determining whether the number of errors that are corrected exceeds the first threshold value without exceeding the second threshold value; and

associating a page strength with the page, the associated page strength corresponding to the number of errors that are corrected being within a range of values defined by the first and the second threshold values.

14. The computer readable medium of claim 13 , wherein the computer readable medium further includes instructions for dividing the compressed data into chunks of data responsive to assigning the page strength to the compressed data.

15. The computer readable medium of claim 14 , wherein the generating a parity data block associated with the compressed data includes generating a parity data block for each chunk of data.

16. The computer readable medium of claim 13 , wherein the computer readable medium further includes instructions for saving metadata associated with the compressed data in the page of the memory array.

17. The computer readable medium of claim 13 , wherein the memory array is divided into a plurality of pages.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2010
From: CIDECIYAN, ROY D.; HU, XIAO-YU
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 025038/0607 →
Continuity (1)
Related Publication 20120079351A1 · Mar 29, 2012