METHODS FOR ADAPTIVELY PROGRAMMING FLASH MEMORY DEVICES AND FLASH MEMORY SYSTEMS INCORPORATING SAME
First Claim
1. A method for programming a plurality of data sequences into a corresponding plurality of flash memory functional units using a programming process having at least one selectable programming duration-controlling parameter controlling the duration of the programming process for a given data sequence, the method comprising:
- providing at least one indication of at least one varying situational characteristic;
determining a value for said at least one selectable programming duration-controlling parameter controlling the duration of the programming process for a given data sequence, for each flash memory functional unit, depending at least partly on said indication of said varying characteristic; and
for each individual flash memory functional unit from among said plurality of flash memory functional units, programming a sequence of bits into said individual flash memory functional unit using a programming process having at least one selectable parameter, said at least one selectable parameter being set at said value determined for said individual flash memory functional unit;
wherein the varying situational characteristic is selected out of a degradation state of at least one of the flash memory functional units and at least one characteristic of an application to which a flash memory functional unit of the plurality of flash memory functional units has been assigned.
9 Assignments
0 Petitions
Accused Products
Abstract
A method for programming data into a first plurality of rows within a second plurality of erase sectors of a flash memory device using a programming process having at least one selectable parameter, the method includes characterizing each of at least one row subsets, each row subset comprising at least one row from among said first plurality of rows, thereby to generate at least one row subset characteristic value; and programming data into at least a portion of at least one individual row belonging to at least one row subset, using a programming process having at least one selectable parameter, said at least one selectable parameter being set at least partly in accordance with the row subset characteristic value characterizing a row subset to which said individual row belongs; wherein at least two row subsets of an array of flash memory cells differ from each other by their row subset characteristic values.
-
Citations
19 Claims
-
1. A method for programming a plurality of data sequences into a corresponding plurality of flash memory functional units using a programming process having at least one selectable programming duration-controlling parameter controlling the duration of the programming process for a given data sequence, the method comprising:
- providing at least one indication of at least one varying situational characteristic;
determining a value for said at least one selectable programming duration-controlling parameter controlling the duration of the programming process for a given data sequence, for each flash memory functional unit, depending at least partly on said indication of said varying characteristic; and
for each individual flash memory functional unit from among said plurality of flash memory functional units, programming a sequence of bits into said individual flash memory functional unit using a programming process having at least one selectable parameter, said at least one selectable parameter being set at said value determined for said individual flash memory functional unit;
wherein the varying situational characteristic is selected out of a degradation state of at least one of the flash memory functional units and at least one characteristic of an application to which a flash memory functional unit of the plurality of flash memory functional units has been assigned. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
- providing at least one indication of at least one varying situational characteristic;
-
11. A system for programming a plurality of data sequences using a programming process having at least one selectable programming duration-controlling parameter controlling the duration of the programming process for a given data sequence, the system comprising:
- a plurality of flash memory functional units into which the plurality of data sequences are to be programmed;
a situational analyzer operative to provide at least one indication of at least one varying situational characteristic and to determine a value for said at least one selectable programming duration-controlling parameter controlling the duration of the programming process for a given data sequence, for each flash memory functional unit, depending at least partly on said indication of said varying characteristic; and
a bit sequence programmer operative, for each individual flash memory functional unit from among said plurality of flash memory functional units, to program a sequence of bits into said individual flash memory functional unit using a programming process having at least one selectable parameter which is set at said value determined for said individual flash memory functional unit;
wherein the varying situational characteristic is selected out of a degradation state of at least one of the flash memory functional units and at least one characteristic of an application to which a flash memory functional unit of the plurality of flash memory functional units has been assigned.
- a plurality of flash memory functional units into which the plurality of data sequences are to be programmed;
-
12. A method for programming data into a first plurality of rows within a second plurality of erase sectors of a flash memory device using a programming process having at least one selectable parameter, the method comprising:
- characterizing each of at least one row subsets, each row subset comprising at least one row from among said first plurality of rows, thereby to generate at least one row subset characteristic value; and
programming data into at least a portion of at least one individual row belonging to at least one row subset, using a programming process having at least one selectable parameter, said at least one selectable parameter being set at least partly in accordance with the row subset characteristic value characterizing a row subset to which said individual row belongs;
wherein at least two row subsets of an array of flash memory cells differ from each other by their row subset characteristic values. - View Dependent Claims (13, 14, 15, 16, 17, 18)
- characterizing each of at least one row subsets, each row subset comprising at least one row from among said first plurality of rows, thereby to generate at least one row subset characteristic value; and
-
19. A system for programming data into a first plurality of rows within a second plurality of erase sectors of a flash memory device using a programming process having at least one selectable parameter, the system comprising:
- a row subset analyzer operative to characterize each of at least one row subsets, each row subset comprising at least one row from among said first plurality of rows, thereby to generate at least one row subset characteristic value; and
a row subset-dependent programmer operative to program data into at least a portion of at least one individual row belonging to at least one row subset, using a programming process having at least one selectable parameter, said at least one selectable parameter being set at least partly in accordance with the row subset characteristic value characterizing a row subset to which said individual row belongs;
wherein at least two row subsets of an array of flash memory cells differ from each other by their row subset characteristic values.
- a row subset analyzer operative to characterize each of at least one row subsets, each row subset comprising at least one row from among said first plurality of rows, thereby to generate at least one row subset characteristic value; and
Specification