Flash Sector Seeding to Reduce Program Times
First Claim
1. A computer program product comprising a computer recordable medium having a computer readable program recorded thereon, wherein the computer readable program, when executed on a computing device, causes the computing device to:
- initialize a non-volatile memory system comprising a plurality of non-volatile memory portions to be programmed with data values; and
seed one of the plurality of non-volatile memory portions to form a seeded non-volatile memory portion such that a first set of data values may be written to an unseeded non-volatile memory portion within the plurality of non-volatile memory portions with a reduced programming time and a second set of data values may be written to the seeded non-volatile memory portion with a reduced programming time.
2 Assignments
0 Petitions
Accused Products
Abstract
A non-volatile flash memory comprises a plurality of non-volatile memories where a first non-volatile memory is pre-programmed (erased) with all ones, and at least a second non-volatile memory is pre-programmed with a seed value that takes advantage of the reduced programming time for less than six zeros. When writing (programming) a data byte, the memory system looks up the data byte in one or more seed tables to determine a portion of non-volatile memory to which the memory system may write the data byte with a reduced programming time. The memory system then records the location of the data byte in an address translation table so the data byte may be accessed.
-
Citations
20 Claims
-
1. A computer program product comprising a computer recordable medium having a computer readable program recorded thereon, wherein the computer readable program, when executed on a computing device, causes the computing device to:
-
initialize a non-volatile memory system comprising a plurality of non-volatile memory portions to be programmed with data values; and seed one of the plurality of non-volatile memory portions to form a seeded non-volatile memory portion such that a first set of data values may be written to an unseeded non-volatile memory portion within the plurality of non-volatile memory portions with a reduced programming time and a second set of data values may be written to the seeded non-volatile memory portion with a reduced programming time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method, in a data processing system, for flash sector seeding, the method comprising:
-
initializing a non-volatile memory system comprising a plurality of non-volatile memory portions to be programmed with data values; and seeding one of the plurality of non-volatile memory portions to form a seeded non-volatile memory portion such that a first set of data values may be written to an unseeded non-volatile memory portion within the plurality of non-volatile memory portions with a reduced programming time and a second set of data values may be written to the seeded non-volatile memory portion with a reduced programming time. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A memory system comprising:
-
a controller; a volatile memory; and a non-volatile memory, wherein the non-volatile memory is used to store data from the volatile memory; wherein the controller is configured to initialize a non-volatile memory system comprising a plurality of non-volatile memory portions to be programmed with data values and seed one of the plurality of non-volatile memory portions to form a seeded non-volatile memory portion such that a first set of data values may be written to an unseeded non-volatile memory portion within the plurality of non-volatile memory portions with a reduced programming time and a second set of data values may be written to the seeded non-volatile memory portion with a reduced programming time. - View Dependent Claims (18, 19, 20)
-
Specification