Memory device controller
A controller for a memory device and methods are provided. The controller has an updateable register bank adapted to send a first signal to an analog/memory core of the memory device for controlling operation of the analog/memory core. The analog/memory core has an array of flash memory cells and supporting analog access circuitry. A bus controller is coupled to the register bank. The bus controller is adapted to receive a second signal from the register bank and to send a third signal to the register bank for updating the register bank. A select register is coupled to the register bank. A processor is coupled to the bus controller and the select register.
1. A method of operating a memory device controller, the method comprising:
decrementing a number at a bus controller of the memory device controller;
determining whether the decremented number is at a predetermined value;
going to a next address of an algorithm of the memory device controller when the decremented number is not at the predetermined value;
jumping over one or more addresses to a predetermined address of the algorithm when the decremented number is at the predetermined value and carrying out an instruction specified at the predetermined address; and
sending the decremented number to a register bank of the memory device controller;
wherein an initial count of the number is selected from the group consisting of a number of voltage pulses to be applied to one or more memory cells of the memory device and a number of operating cycles to be executed by the memory device controller.
2. The method of claim 1 , further comprising receiving the number at the bus controller from the register bank before decrementing the number.
3. The method of claim 1 , further comprising, before decrementing the number:
receiving the number at the bus controller from a processor of the memory device controller; and
sending the number to a register bank.
4. The method of claim 1 , further comprising checking the decremented number at an expression checker of the memory device to determine whether the decremented number is at the predetermined value.
5. The method of claim 1 , further comprising receiving a control signal at the bus controller from a processor of the memory device controller that causes the bus controller to decrement the number.
6. The method of claim 1 , further comprising sending a control signal from the register bank to an analog/memory core of the memory device before sending the decremented number to the register bank.
7. A method of operating a memory device controller, the method comprising:
receiving a number at a bus controller of the memory device controller from a register bank of the memory device controller;
decrementing the number at the bus controller;
checking the decremented number at an expression checker of the memory device controller to determine whether the decremented number is at a predetermined value;
going to a next address of an algorithm of the memory device controller when the decremented number is not at the predetermined value;
jumping over one or more addresses to a predetermined address of the algorithm when the decremented number is at the predetermined value and carrying out an instruction specified at the predetermined address; and
sending the decremented number to the register bank of the memory device controller;
wherein an initial count of the number is selected from the group consisting of a number of voltage pulses to be applied to one or more memory cells of the memory device and a number of operating cycles to be executed by the memory device controller.
8. The method of claim 7 , further comprising receiving a control signal at the bus controller from a processor of the memory device controller that causes the bus controller to decrement the number.
9. The method of claim 7 , further comprising sending a control signal from the register bank to an analog/memory core of the memory device before sending the decremented number to the register bank.
10. A method of operating a memory device controller, the method comprising:
receiving a number at a bus controller of the memory device controller from a processor of the memory device controller;
sending the number to a register bank of the memory device controller from the bus controller;
receiving the number from the register bank at the bus controller;
decrementing the number from the register bank at the bus controller;
checking the decremented number at an expression checker of the memory device controller to determine whether the decremented number is at a predetermined value;
going to a next address of an algorithm of the memory device controller when the decremented number is not at the predetermined value;
jumping over one or more addresses to a predetermined address of the algorithm when the decremented number is at the predetermined value and carrying out an instruction specified at the predetermined address; and
sending the decremented number to the register bank of the memory device controller;
wherein an initial count of the number is selected from the group consisting of a number of voltage pulses to be applied to one or more memory cells of the memory device and a number of operating cycles to be executed by the memory device controller.
11. The method of claim 10 , further comprising receiving a control signal at the bus controller from a processor of the memory device controller that causes the bus controller to decrement the number.
12. The method of claim 10 , further comprising sending a control signal from the register bank to an analog/memory core of the memory device before sending the decremented number to the register bank.
13. A method of operating a memory device controller, the method comprising:
receiving a number at a bus controller of the memory device controller from a register bank of the memory device controller;
receiving a first control signal at the bus controller from a processor of the memory device controller;
decrementing the number at the bus controller in response to receiving the first control signal;
checking the decremented number at an expression checker of the memory device controller to determine whether the decremented number is at a predetermined value;
going to a next address of an algorithm of the memory device controller when the decremented number is not at the predetermined value;
jumping over one or more addresses to a predetermined address of the algorithm when the decremented number is at the predetermined value and carrying out an instruction specified at the predetermined address;
sending a second control signal from the register bank to an analog/memory core of the memory device; and
after sending the second control signal to the analog/memory core sending the decremented number to the register bank of the memory device controller;
wherein an initial count of the number is a number of voltage pulses to be applied to one or more memory cells of the memory device; and
wherein the second control signal causes one or more voltage circuits of the analog/memory core to send the number of voltage pulses to the one or more memory cells of the memory device.
14. A method of operating a memory device controller, the method comprising:
receiving a number at a bus controller of the memory device controller from a processor of the memory device controller;
sending the number to a register bank of the memory device controller from the bus controller;
receiving the number from the register bank at the bus controller;
receiving a first control signal at the bus controller from the processor of the memory device controller;
decrementing the number from the register bank at the bus controller in response to receiving the first control signal;
checking the decremented number at an expression checker of the memory device controller to determine whether the decremented number is at a predetermined value;
going to a next address of an algorithm of the memory device controller when the decremented number is not at the predetermined value;
jumping over one or more addresses to a predetermined address of the algorithm when the decremented number is at the predetermined value and carrying out an instruction specified at the predetermined address;
sending a second control signal from the register bank to an analog/memory core of the memory device; and
after sending the second control signal to the analog/memory core sending the decremented number to the register bank of the memory device controller;
wherein an initial count of the number is a number of voltage pulses to be applied to one or more memory cells of the memory device; and
wherein the second control signal causes one or more voltage circuits of the analog/memory core to send the number of voltage pulses to the one or more memory cells of the memory device.
15. A method of operating a memory device controller, the method comprising:
receiving a number at a bus controller of the memory device controller from a first register of a register bank of the memory device controller;
decrementing the number at the bus controller;
checking the decremented number at an expression checker of the memory device controller to determine whether the decremented number is at a predetermined value;
going to a next address of an algorithm of the memory device controller when the decremented number is not at the predetermined value;
jumping over one or more addresses to a predetermined address of the algorithm when the decremented number is at the predetermined value and carrying out an instruction specified at the predetermined address; and
sending the decremented number to the first register or a second register of the register bank of the memory device controller;
wherein an initial count of the number is selected from the group consisting of a number of voltage pulses to be applied to one or more memory cells of the memory device and a number of operating cycles to be executed by the memory device controller.
16. The method of claim 15 , further comprising sending a control signal from a third register of the register bank to an analog/memory core of the memory device before sending the decremented number to the first register or the second register of the register bank.
17. A method of operating a memory device controller, the method comprising:
receiving a number at a bus controller of the memory device controller from a processor of the memory device controller;
sending the number to a first register of a register bank of the memory device controller from the bus controller;
receiving the number from the first register of the register bank at the bus controller;
decrementing the number from the first register at the bus controller;
checking the decremented number at an expression checker of the memory device controller to determine whether the decremented number is at a predetermined value;
going to a next address of an algorithm of the memory device controller when the decremented number is not at the predetermined value;
jumping over one or more addresses to a predetermined address of the algorithm when the decremented number is at the predetermined value and carrying out an instruction specified at the predetermined address; and
sending the decremented number to the first register or a second register of the register bank of the memory device controller;
wherein an initial count of the number is selected from the group consisting of a number of voltage pulses to be applied to one or more memory cells of the memory device and a number of operating cycles to be executed by the memory device controller.
18. The method of claim 17 , further comprising sending a control signal from a third register of the register bank to an analog/memory core of the memory device before sending the decremented number to the first register or the second register of the register bank.
19. A method of operating a memory device controller, the method comprising:
receiving a number at a bus controller of the memory device controller from a first register of a register bank of the memory device controller;
receiving a first control signal at the bus controller from a processor of the memory device controller;
decrementing the number at the bus controller in response to receiving the first control signal;
checking the decremented number at an expression checker of the memory device controller to determine whether the decremented number is at a predetermined value;
going to a next address of an algorithm of the memory device controller when the decremented number is not at the predetermined value;
jumping over one or more addresses to a predetermined address of the algorithm when the decremented number is at the predetermined value and carrying out an instruction specified at the predetermined address;
sending a second control signal from a second register of the register bank to an analog/memory core of the memory device; and
sending the decremented number to the first register or a third register of the register bank of the memory device controller;
wherein an initial count of the number is a number of voltage pulses to be applied to one or more memory cells of the memory device; and
wherein the second control signal causes one or more voltage circuits of the analog/memory core to send the number of voltage pulses to the one or more memory cells of the memory device.
20. A method of operating a memory device controller, the method comprising:
receiving a number at a bus controller of the memory device controller from a processor of the memory device controller;
sending the number to a first register of a register bank of the memory device controller from the bus controller;
receiving the number from the first register of the register bank at the bus controller;
receiving a first control signal at the bus controller from the processor of the memory device controller;
decrementing the number from the first register at the bus controller in response to receiving the first control signal;
checking the decremented number at an expression checker of the memory device controller to determine whether the decremented number is at a predetermined value;
going to a next address of an algorithm of the memory device controller when the decremented number is not at the predetermined value;
jumping over one or more addresses to a predetermined address of the algorithm when the decremented number is at the predetermined value and carrying out an instruction specified at the predetermined address;
sending a second control signal from a second register of the register bank to an analog/memory core of the memory device; and
after sending the second control signal to the analog/memory core sending the decremented number to the first register or a third register of the register bank of the memory device controller;
wherein an initial count of the number is a number of voltage pulses to be applied to one or more memory cells of the memory device; and
wherein the second control signal causes one or more voltage circuits of the analog/memory core to send the number of voltage pulses to the one or more memory cells of the memory device.