Controlling flash memory program and erase pulses
First Claim
1. An operation control apparatus comprising:
- a timer circuit adapted to provide a done signal upon completion of timing a predetermined elapsed time interval initiated by a start signal;
a blocking circuit adapted to receive the done signal and to provide the done signal as output if the done signal is not blocked when received;
a control circuit adapted to receive a begin signal and a limit signal, the begin signal indicating that the operation is to be performed, the limit signal indicating whether a condition exists that would prevent the operation from being completed in a single step;
if the limit signal indicates the operation can be completed in the single step, the control circuit starting the timing circuit and controlling performance of the single step until the done signal is received;
if the limit signal indicates the operation cannot be completed in the single step, the control circuit dividing the single step into at least two sub-steps, during each sub-step, the control circuit starting the timing circuit and controlling performance of the sub-step until the done signal is received, the control circuit blocking the done signal during each sub-step until a final sub-step.
0 Assignments
0 Petitions
Accused Products
Abstract
An operation control method and apparatus are described. The apparatus includes a timer circuit, a blocking circuit and a control circuit. The timer circuit provides a done signal upon completion of timing a predetermined elapsed time interval initiated by a start signal. The blocking circuit receives the done signal and provides the done signal as output if the done signal is not blocked when received. The control circuit receives a begin signal indicating that the operation is to be performed and a limit signal to indicate whether or not a condition exists that would prevent the operation from being completed in a single step. If the limit signal indicates the operation can be completed in the single step, the control circuit starts the timing circuit and controls performance of the single step until the done signal is received. If the limit signal indicates the operation cannot be completed in the single step, the control circuit divides the single step into at least two sub-steps, during each sub-step, the control circuit starts the timing circuit and controls performance of the sub-step until the done signal is received. The control circuit blocks output of the done signal from the blocking circuit during each sub-step until a final sub-step. For one embodiment, the operation to be performed is an erase operation specified by a write state machine that specifies an erase block to be erased within a flash memory. Alternately, the operation to be performed is a program operation specified by a write state machine that specifies data to be programmed within a flash memory.
63 Citations
40 Claims
-
1. An operation control apparatus comprising:
-
a timer circuit adapted to provide a done signal upon completion of timing a predetermined elapsed time interval initiated by a start signal; a blocking circuit adapted to receive the done signal and to provide the done signal as output if the done signal is not blocked when received; a control circuit adapted to receive a begin signal and a limit signal, the begin signal indicating that the operation is to be performed, the limit signal indicating whether a condition exists that would prevent the operation from being completed in a single step; if the limit signal indicates the operation can be completed in the single step, the control circuit starting the timing circuit and controlling performance of the single step until the done signal is received; if the limit signal indicates the operation cannot be completed in the single step, the control circuit dividing the single step into at least two sub-steps, during each sub-step, the control circuit starting the timing circuit and controlling performance of the sub-step until the done signal is received, the control circuit blocking the done signal during each sub-step until a final sub-step. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An operation control method comprising the steps of:
-
receiving an indication that an operation is to be performed; determining whether a condition exists that would prevent the operation from being completed in a single step; if the operation can be completed in the single step, performing the single step; if the operation cannot be completed in the single step, dividing the single step into at least two sub-steps and performing each of the sub-steps until the operation has been performed; and generating an indication that the operation has been performed when the operation to be performed has been completed. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. Method comprising the steps of:
receiving an erase command for a portion of a memory, and, in response to the erase command; (1) dividing an erase operation into sequential erase operations performed on two or more respective subsections of the portion of the memory if an amount of current available for erasure is below a predetermined amount; and
;(2) performing an erase operation on the portion of the memory without dividing the portion of the memory with respect to erase operations if the amount of current available for erasure is above the predetermined amount. - View Dependent Claims (36, 37)
-
38. A method comprising the steps of:
-
(1) generating an erase command for a portion of a memory array, wherein the erase command is not dependent upon an amount of current available for erasure; (2) receiving the erase command, and, in response to the erase command; (a) dividing an erase operation into sequential erase operations performed on two or more respective subsections of the portion of the memory array if the amount of current available for erasure is below a predetermined amount, and; (b) performing an erase operation on the portion of the memory array without dividing the portion of the memory array with respect to erase operations if the amount of current available for erasure is above the predetermined amount.
-
-
39. A method comprising the steps of:
receiving a program command for a portion of memory, and, in response to the program command; (1) dividing a program operation into sequential program operations performed on two or more respective subsections of the portion of memory if an amount of current available for programming is below a predetermined amount; and
,(2) performing a program operation on the portion of memory without dividing the portion of memory with respect to program operations if the amount of current available for programming is above the predetermined amount.
-
40. A method comprising the steps of:
receiving a program command for a portion of memory, and, in response to the program command; (1) dividing a program operation into sequential program operations performed by applying two or more different bit patterns to the portion of memory if an amount of current available for programming is below a predetermined amount, and, (2) performing a program operation on the portion of memory without sequentially applying two or more different bit patterns to the portion of memory if the amount of current available for programming is above a predetermined amount.
Specification