Storing data in non-volatile memory devices
AssigneeIntel Corporation
InventorsSebastian T. Uribe, Daniel R. Elmhurst
Life of this patent
Estimating the term…
Abstract
Cells in a non-volatile memory are programmed in parallel using a variable program bandwidth. The variable program bandwidth is an automatic variation in the number of cells pulsed in parallel based upon a predefined electrical current provisioning capability. The variation in programming number may be based upon whether a program pulse represents an initial pulse or a re-pulse. Additionally, or alternatively, the variation in programming number may be based upon a cell level to be programmed by a pulse in a MLC device.
Claims29
A machine-implemented method comprising:
- receiving data to be stored in a non-volatile memory device comprising multi-level storage cells and a charge pump having a predefined electrical current provisioning capability;
- varying a programming number of the storage cells based upon the predefined electrical current provisioning capability of the charge pump and based upon a cell level to be programmed by a pulse;
- and
- pulsing the varying programming number of the storage cells in the memory device to store the received data in the memory device.
A machine-implemented method comprising:
- receiving data to be stored in a non-volatile memory device comprising storage cells and a charge pump having a predefined electrical current provisioning capability;
- varying a programming number of the storage cells based upon the predefined electrical current provisioning capability of the charge pump and based upon whether a program pulse comprises an initial pulse or a re-pulse;
- and
- pulsing the varying programming number of the storage cells in the memory device to store the received data in the memory device.
A memory comprising:
- an array of multi-level electrically erasable and programmable non-volatile memory cells;
- a charge pump having an electrical current provisioning capability;
- and
- a variable program bandwidth controller configured to program a varying number of the non-volatile memory cells, which varying number is based upon the electrical current provisioning capability of the charge pump and based upon a cell level to be programmed by a pulse.
A memory comprising:
- an array of electrically erasable and programmable non-volatile memory cells;
- a charge pump having an electrical current provisioning capability;
- and
- a variable program bandwidth controller configured to program a varying number of the non-volatile memory cells, which varying number is based upon the electrical current provisioning capability of the charge pump and based upon whether a program pulse comprises an initial pulse or a re-pulse.
A system comprising:
- an electrically erasable and programmable non-volatile memory;
- a charge pump coupled with the non-volatile memory;
- and
- an execution area configured to program the electrically erasable and programmable non-volatile memory using a variable program bandwidth that varies based upon a cell level to be programmed by a pulse.
A system comprising:
- an electrically erasable and programmable non-volatile memory;
- a charge pump coupled with the non-volatile memory;
- and
- an execution area configured to program the electrically erasable and programmable non-volatile memory using a variable program bandwidth that varies based upon whether a program pulse comprises an initial pulse or a re-pulse.
Microcode for a programmable control engine for a non-volatile memory, the microcode comprising:
- instructions to vary a memory programming bandwidth based upon a predefined electrical current provisioning capability and based upon whether a program pulse comprises an initial pulse or a re-pulse;
- and
- instructions to pulse at the varying memory programming bandwidth to store data.
A machine-readable medium embodying information indicative of instructions for causing one or more machines to perform operations comprising:
- receiving data to be stored in a non-volatile memory device comprising storage cells and a charge pump having a predefined electrical current provisioning capability;
- varying a programming number of the storage cells based upon the predefined electrical current provisioning capability of the charge pump and based upon a cell level to be programmed by a pulse;
- and
- pulsing the varying programming number of the storage cells in the memory device to store the received data in the memory device.
A machine-readable medium embodying information indicative of instructions for causing one or more machines to perform operations comprising:
- receiving data to be stored in a non-volatile memory device comprising storage cells and a charge pump having a predefined electrical current provisioning capability;
- varying a programming number of the storage cells based upon the predefined electrical current provisioning capability of the charge pump and based upon whether a program pulse comprises an initial pulse or a re-pulse;
- and
- pulsing the varying programming number of the storage cells in the memory device to store the received data in the memory device.
Microcode for a programmable control engine for a non-volatile memory, the microcode comprising:
- instructions to vary a memory programming bandwidth based upon a predefined electrical current provisioning capability and based upon a cell level to be programmed by a pulse;
- and
- instructions to pulse at the varying memory programming bandwidth to store data.
Dependencies are inferred from the claim text.