Writing to flash memory
AssigneeAtmel Corporation
InventorsFrode Pedersen, Marc Laurent
Life of this patent
Estimating the term…
Abstract
Writing to a page of flash memory may include receiving write commands that are substantially independent of an internal architecture of the flash memory. In certain embodiments, two operand flash commands are received at a flash controller from a remote controller. In various implementations, the writing process may further include translating each two-operand write command into architecture-dependent flash commands; executing the architecture-dependent flash commands to fill a page buffer associated with the flash memory; and subsequently transferring contents of the page buffer to the page of flash memory.
Claims20
A method of writing to a page of flash memory that is arranged to contain a first number of logical data units, the method comprising:
- (a) receiving at a local controller from a remote controller via a bus, a write command comprising one logical data unit and an address;
- (b) translating the write command to a plurality of flash memory commands;
- (c) executing the flash memory commands to transfer the one logical data unit to a page buffer within the flash memory;
- (d) executing (a)-(c) a number of times equal to a first number, in order to fill the page buffer;
- and
- (e) causing contents of the page buffer to be transferred to the page of flash memory.
A method of writing to a page of embedded flash memory comprising:
- (a) receiving at an embedded flash programming unit, via a bus and from a controller remote from the embedded flash programming unit, a two-operand write command, the two-operand write command having a first operand specifying an address and a second operand specifying a data unit;
- (b) translating the two-operand write command into a plurality of flash commands;
- (c) executing (a)-(b) for a number of two-operand write commands corresponding to a number of data units in a page buffer;
- (d) executing the flash commands to fill the page buffer;
- and
- (e) upon filling the page buffer, writing contents of the page buffer to the page of embedded flash memory.
A system for storing data comprising:
- a flash memory being arranged in a plurality of pages and having a page buffer, each page of the plurality of pages storing a first number of logical data units, the page buffer also storing the first number of logical data units;
- and
- a flash programming unit comprising:
- an interface coupled to a controller remote from the flash programming unit and that receives two-operand write commands from the controller, each two-operand write command having a first operand specifying an address and a second operand specifying at least a portion of a logical data unit;
- a translation unit that translates each two-operand write command to a plurality of flash commands, the plurality of flash commands causing the at least a portion of a logical data unit to be written to the page buffer;
- and
- a controller to initiate the writing of the contents of the page buffer to a page of the plurality of pages when the page buffer has been written with the first number of logical data units.
Dependencies are inferred from the claim text.