Memory system having flexible architecture and method
First Claim
1. A memory system comprising:
- a system bus;
a memory controller coupled to the system bus, with said memory controller being configured to issue memory program instructions and memory read instructions over the system bus, the memory controller is external fromat least one memory device coupled to the system bus, with the memory device comprisingan array of memory cells;
a plurality of volatile control registers which contain control parameters set by the memory instructions provided by the memory controller;
a memory operation manager coupled to the system bus, to the array and to the control registers, said memory operation manager being configured to receive the memory instructions over the system bus and to carry out memory read and program operations by applying operation voltages to the array during memory operations, wherein th memory operations manager is further configured to control a magnitude of at least one of the operation voltages in response to the control parameters.
6 Assignments
0 Petitions
Accused Products
Abstract
A memory system having a single memory controller connected to several memory devices by way of a common bus, with the memory controller configured to issue memory program, memory read and memory erase instructions over the system bus to a selected one of the memory devices. Each memory device has an array of memory cells and several volatile control registers which contain control parameters provided by the memory controller. The control parameters operate to control one or more of the voltages applied to the array in memory read, program and erase operations, including the timing of the application of the voltages and the magnitude of the voltages so that the memory operations can be optimized by the memory controller.
136 Citations
122 Claims
-
1. A memory system comprising:
-
a system bus; a memory controller coupled to the system bus, with said memory controller being configured to issue memory program instructions and memory read instructions over the system bus, the memory controller is external from at least one memory device coupled to the system bus, with the memory device comprising an array of memory cells; a plurality of volatile control registers which contain control parameters set by the memory instructions provided by the memory controller; a memory operation manager coupled to the system bus, to the array and to the control registers, said memory operation manager being configured to receive the memory instructions over the system bus and to carry out memory read and program operations by applying operation voltages to the array during memory operations, wherein th memory operations manager is further configured to control a magnitude of at least one of the operation voltages in response to the control parameters. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A memory system comprising:
-
a system bus; a memory controller coupled to the system bus, with said memory controller being configured to issue memory instructions over the system bus, the memory controller is external from at least one memory device coupled to the system bus, with the memory device comprising an array of memory cells; a plurality of volatile control registers which contain control parameters which are set by the memory instructions from the memory controller; a memory operation manager coupled to the system bus, to the array and to the control registers, said memory operation manager being configured to carry out memory program and read operations in response to the control parameters stored in the control registers, with the memory instructions including a program start command which sets a state of the control parameters such that at least one program operation voltage is applied to the array and a program stop command which sets a state of the control parameters such that the program operation voltage is removed from the array, wherein the memory operations manager is further configured to control a magnitude of the at least one program volta in response to the control parameter. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A memory system comprising:
-
a system bus which includes a tag bus and a data bus; a memory controller coupled to the system bus, with said memory controller being configured to issue memory program instructions, memory read instructions, memory erase instructions and control register write instructions over the system bus, with the control register write instructions including control register write data, the memory controller is external from a plurality of memory devices coupled to the system bus and separate from one another and from the memory controller, with each of the memory devices comprising an array of non-volatile memory cells having control gates connected to common word lines, drains connected to common bit lines and at least one source line; a plurality of volatile control registers; a memory operation manager coupled to the system bus, to the array and to the control registers, said memory operation manager being configured to receive the control register write instructions over the system bus and to transfer the control register write data to the control registers and to carry out memory read, program and erase operations using the control register write data in the control registers. - View Dependent Claims (28, 29, 30, 31, 32)
-
-
33. A memory system comprising:
-
a system bus; a memory controller coupled to the system bus, with said memory controller being configured to issue memory program instructions, memory read instructions, memory erase instructions and control register write instructions over the system bus, with the control register write instructions including control register write data, the memory controller is external from a plurality of memory devices coupled to the system bus and separate from one another and from the memory controller, with each of the memory devices comprising an array of non-volatile memory cells having control gates connected to common word lines, drains connected to common bit lines and sources connected to at least one source line; a plurality of volatile control registers; a memory operation manager coupled to the system bus, to the array and to the control registers, said memory operation manager being configured to receive the control register write instructions over the system bus and to transfer the control register write data to the control registers and to carry out memory read, program and erase operations using voltage control circuitry configured to apply voltages to the word lines, bit lines and at least one source line, with the control register write data operating to control a magnitude of at least one voltage applied to the array during the memory operations by the voltage control circuitry. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
-
-
57. A memory system comprising:
-
a system bus; a memory controller coupled to the system bus, with said memory controller being configured to issue memory program instructions, memory read instructions and control register write instructions over the system bus, with the control register write instructions including control register write data, the memory controller is external from at least one memory device coupled to the system bus, with the memory device comprising an array of memory cells; a plurality of volatile control registers; a memory operation manager coupled to the system bus, to the array and to the control registers, said memory operation manager being configured to receive the control register write instructions over the system bus and to transfer the control register write data to the control registers and to carry out memory read and program operations, with the memory operation manager comprising read array circuitry used in the memory read operations, with the read array circuitry comprising a plurality of sense amplifiers each of which includes a first input coupled to the array and a second input to be coupled to a compare voltage, with the control register write data operating to control a magnitude of the compare voltage. - View Dependent Claims (58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76)
-
-
77. A memory device for use in a memory system which comprises an external memory controller and the memory device coupled to the memory controller by way of a system bus, with the memory controller being configured to issue memory program instructions, memory read instructions, and control register write instructions over the system bus, with the control register write instruction including control register write data, said memory device comprising:
-
an array of memory cells; a plurality of volatile control registers; a memory operation manager coupled to the system bus, to the array and to the control registers, said memory operation manager being configured to receive the control register write instructions over the system bus and to transfer the control register write data to the control registers and to carry out memory read and program operations using voltage control circuitry configured to apply voltages to the array, with the control register write data operating to cause the voltage control circuitry to adjust a magnitude of a first voltage applied to the ar ray during at least the memory read operations. - View Dependent Claims (78, 79, 80, 81, 82, 83)
-
-
84. A memory device for use in a flash memory system which comprises a memory controller externally coupled to the memory device by way of a system bus, with the memory controller being configured to issue memory program instructions, memory read instructions, memory erase instructions and control register write instructions over the system bus, with the control register write instruction including control register write data, said memory device comprising:
-
an array of flash memory cells having control gates connected to common word lines, drains connected to common bit lines and sources connected to at least one source line; a plurality of volatile control registers; a memory operation manager coupled to the system bus, to the array and to the control registers, said memory operation manager being configured to receive the control register write instructions over the system bus and to transfer the control register write data to the control registers and to carry out memory read, program and erase operations using voltage control circuitry configured to apply voltages to the word lines, bit lines and at least one source line, with the control register write data operating to cause the voltage control circuitry to adjust a magnitude of a first voltage applied to the word lines during at least the memory read operations and with the operation manager further comprising read array circuitry which includes a plurality of sense amplifiers, each of which includes a first input coupled to one of the bit lines and a second input coupled to a compare voltage, with the control register write data further operating to control a magnitude of the compare voltage. - View Dependent Claims (85, 86)
-
-
87. A method of controlling operation of a memory system which includes a plurality of memory devices together by a common system bus, with each of the memory devices including an array of flash memory cells having control gates connected to common word lines, drains connected to common bit lines and sources connected to at least one source line, a plurality of control registers and a memory operation manager coupled to the system bus and to the array, said memory operation manager being configured to carry out memory write, program and erase operations on the array, said method comprising:
-
selecting one of the memory devices by transferring select information over the system bus; providing a memory array address to the selected memory device by transferring address information over the system bus; applying a first word line voltage to a word line of the array of the selected memory device based upon the memory array address by transferring a first word line control parameter over the system bus from an external controller; applying a first bit line voltage to at least one bit line of the array of the selected memory device based upon the memory address by transferring a first bit line control parameter over the system bus, with the first bit line control parameter being different from the first word line control parameter; reading at least one of the cells connected to the word line to which the first word line voltage is applied and connected to the bit line to which the first bit line voltage is applied thereby generating read data; transferring the read data out of the memory device over the system bus; removing, subsequent to said step of reading, the first word line voltage from the word line by transferring a second word line control parameter over the system bus; and removing, subsequent to said step of reading, the first bit line voltage from the bit line by transferring a second bit line control parameter over the system bus. - View Dependent Claims (88, 89, 90, 91, 92, 93, 94, 95)
-
-
96. A method of controlling operation of a memory system which includes a plurality of memory devices together by a common system bus, with each of the memory devices including an array of flash memory cells having control gates connected to common word lines, drains connected to common bit lines and sources connected to at least one source line, a plurality of control registers and a memory operation manager coupled to the system bus, to the array and to the control registers, said memory operation manager being configured to carry out memory write, program and erase operations on the array, said method comprising:
-
selecting one of the memory devices by transferring select information over the system bus; providing a memory array address to the selected memory device by transferring address information over the system bus; providing memory program data to the selected memory device by transferring program data information over the system bus; applying a first word line voltage to a word line of the array of the selected memory device based upon the memory array address by transferring a first word line control parameter over the system bus; applying a first bit line voltage to at least one bit line of the array of the selected memory device based upon the memory address by transferring a first bit line control parameter over the system bus from an external controller, with the first bit line control parameter being different from the first word line control parameter; programming at least one of the cells connected to the word line to which the first word line voltage is applied and connected to the bit line to which the first bit line voltage is applied with the program data; removing, subsequent to said step of programming, the first word line voltage from the word line by transferring a second word line control parameter over the system bus; and Removing, subsequent to said step of programming, the first bit line voltage from the bit line by transferring a second bit line control parameter over the system bus. - View Dependent Claims (97, 98)
-
-
99. A memory system comprising:
-
a system bus including a tag bus and a data bus; a memory controller coupled to the system bus, with said memory controller being configured to issue memory operation instructions over the system bus, with the memory operations including memory read, program and erase operations with the memory operation instructions including control register write instructions, with the control register write instructions including a control register select command transferred over the tag bus together with a control register address transferred over the data bus, a control register write command transferred over the tag bus together with control register write data over the data bus, the memory controller is external from at least one memory device coupled to the system bus, with the memory device comprising an array of non-volatile memory cells; a plurality of volatile control registers, with each of the control registers having an associated one of the control register addresses; a memory operation manager coupled to the system bus, to the array and to the control registers, said memory operation manager being configured to receive one of the control register select commands over the tag bus and to receive the control register address over the data bus and to select one of the control registers based upon the received control register address and being further configured to receive one of the control register write commands over the tag bus and the control register write data over the data bus and to transfer the control register write data to the selected control register and to carry out at least one of the memory operations utilizing the control register write data in the selected control register. - View Dependent Claims (100, 101, 102, 103, 104, 105)
-
-
106. A memory system comprising:
-
a system bus including a tag bus and a data bus; a memory controller coupled to the system bus, with said memory controller being configured to issue memory operation instructions over the system bus, with the memory operations including memory read, program and erase operations and with the memory operation instructions including control register write instructions, with the control register write instructions including a first control register address command to be transferred over the tag bus together with the first control register write data transferred over the data bus, the memory controller is external from at least one memory device coupled to the system bus, the memory devices comprising an array of non-volatile memory cells; a plurality of volatile control registers, with each of the control registers having an associated control register addresses; a memory operation manager coupled to the system bus, to the array and to the control registers, said memory operation manager being configured to receive one of the first control register address commands over the tag bus and to receive the first control register write data over the data bus and to select a first one of the control registers based upon the received first control register address command and being further configured to transfer the first control register write data to the selected first control register and to carry out at least one of the memory operations utilizing the first control register write data in the selected control register. - View Dependent Claims (107, 108, 109)
-
-
110. A method of controlling operation of memory device which includes an array of memory cells, a volatile control register block and a memory operation manager coupled to the array and to the control register block, said memory operation manager being configured to carry out memory read and program operations, said method comprising the following steps:
-
forwarding a memory address to the memory device over a system bus; storing the memory address in the control register block; forwarding memory program data to the memory device over the system bus; storing the memory program data in the control register block; forwarding memory program start instructions over the system bus from an external controller; storing a first set of control parameters based upon the program start instruction in control register block; initiating a program operation of the memory program data by applying at least one programming voltage to the array at a location of the array based upon the memory address, with the application of the programming voltage being controlled by the first set of control parameters; forwarding memory program stop instructions over the system bus; storing a second set of control parameters based upon the program stop instructions in the control register block; and terminating the program operation by removing the programming voltage from the array, with the removal of the voltage being controlled by the second set of control parameters. - View Dependent Claims (111, 112)
-
-
113. A method of controlling operation of memory device which includes an array of memory cells, a volatile control register block and a memory operation manager coupled to the array and to the control register block, said memory operation manager being configured to carry out memory read and program operations, said method comprising the following steps:
-
forwarding a memory address to the memory device over a system bus; storing the memory address in the control register block; forwarding memory read start instructions over the system bus from an external controller; storing a first set of control parameters based upon the read start instruction in the control register block; initiating a read operation by applying at least one read voltage to the array at a location of the array based upon the memory address, with the application of the read voltage being controlled by the first set of control parameters; forwarding memory read stop instructions over the system bus; storing a second set of control parameters based upon the read stop instructions in the control register block; terminating the read operation by removing the read voltage from the array, with the removal of the voltage being controlled by the second set of control parameters; and transferring data read from the array out of the memory device over the system bus. - View Dependent Claims (114, 115)
-
-
116. A method of controlling operation of memory device which includes an array of non-volatile memory cells, a volatile control register block and a memory operation manager coupled to the array and to the control register block, said memory operation manager being configured to carry out memory read, program and program operations, said method comprising the following steps:
-
forwarding memory erase start instructions over the system bus from an external controller; storing a first set of control parameters based upon the erase start instruction in the control register block; initiating an erase operation by applying at least one erase voltage to the array, wherein the first set of control parameters include a plurality of control parameters which determine a magnitude of the erase voltage; forwarding memory erase stop instructions over the system bus; storing a second set of control parameters based upon the erase stop instructions in the control register block; and terminating the erase operation by removing the erase voltage from the array, with the removal of the voltage being controlled by the second set of control parameters.
-
-
117. A memory device comprising:
-
an array of memory cells; a control register block for storing a plurality of control parameters; control register modification circuitry operably coupled to the control register block and configured to modify the control parameters in response to memory instructions provided by an external controller; addressing circuitry operably coupled to the array, memory operation circuitry operably coupled to the control block and to the array, said memory operation circuitry being configured to apply memory operation voltages to the array and to remove memory operation voltages from the array so as to carry out memory read operations and memory program operations, with the application and removal of the memory operation voltages being controlled, at least in part, by the control parameters, wherein the memory operation voltages have magnitudes controlled by a plurality of the control parameters.
-
-
118. A memory device comprising:
-
an array of memory cells; a control register block for storing a plurality of control parameters; control register modification circuitry operably coupled to the control register block and configured to modify the control parameters in response to memory instructions provided by an external controller; addressing circuitry operably coupled to the array; memory operation circuitry operably coupled to the control register block and to the array, said memory operation circuitry being configured to initiate memory program operations on the array when a first group of the control parameters are present in the control register block, to terminate the memory program operations when a second group of the control parameters are present in the control register block and to initiate memory read operations on the array when a third group of the control parameters are present in the control register block and to terminated the memory read operations when a fourth group of control parameters are present in the control register block. - View Dependent Claims (119, 120, 121, 122)
-
Specification