Ring bus structure and its use in flash memory systems
First Claim
1. A method of operating a memory system, said system comprising a plurality of re-programmable non-volatile memory units that each includes a data communications node and that each comprises memory storage cells grouped into blocks of memory cells that are simultaneously erased prior to reprogramming, by transferring data around a ring bus connecting said nodes and a controller together, said method comprising:
- passing controller configuration commands that include node identification information in a given direction around the ring bus from the controller to the command and data communications nodes, said node identification information in each of the configuration commands including information for identifying nodes to be established as source or destination nodes, the configuration commands being acted upon only by the nodes identified by said node identification information, causing nodes of a plurality of the memory units identified in a controller configuration command to be established as source nodes from which data is to be transferred through a subsequent controller transfer command and causing the nodes of a plurality of the memory units identified in the controller configuration command to be established as destination nodes to which data is to be transferred through a subsequent controller transfer command, wherein no data transfer occurs when said controller commands are passed around the ring bus,reading data to be transferred from the plurality of memory units of source nodes into temporary data storage provided at said source nodes,thereafter issuing said subsequent controller transfer command to transfer the read data from the temporary data storage at said source nodes to the data lines substantially simultaneously only in the given direction around the ring bus,writing the transferred read data in the data lines into temporary data storage provided at said destination nodes, andthereafter writing the transferred data from the temporary data storage at said destination nodes into the plurality of memory units of said destination nodes,wherein transferring the read data includes transferring data around the ring bus from said of source nodes in at least two sequential time slots and said at least two sequential time slots defining a cycle of C sequential time slots, and N time slots being used in the transferrin of read data, N and C being positive integers, wherein transferrin the read data additionally includes inserting one or more unused time slots so that N is equal to the total number of nodes on the ring bus minus the number of unused time slots, and adjusting N and C to reduce a number of any unused time slots.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and integrated circuit chips used in the system utilize a bus in the form of a ring to interconnect nodes of individual components for transfer of data and commands therebetween. An example system described is a memory having one or more re-programmable non-volatile memory cell arrays connected to each other and to a system controller by a ring bus.
-
Citations
37 Claims
-
1. A method of operating a memory system, said system comprising a plurality of re-programmable non-volatile memory units that each includes a data communications node and that each comprises memory storage cells grouped into blocks of memory cells that are simultaneously erased prior to reprogramming, by transferring data around a ring bus connecting said nodes and a controller together, said method comprising:
-
passing controller configuration commands that include node identification information in a given direction around the ring bus from the controller to the command and data communications nodes, said node identification information in each of the configuration commands including information for identifying nodes to be established as source or destination nodes, the configuration commands being acted upon only by the nodes identified by said node identification information, causing nodes of a plurality of the memory units identified in a controller configuration command to be established as source nodes from which data is to be transferred through a subsequent controller transfer command and causing the nodes of a plurality of the memory units identified in the controller configuration command to be established as destination nodes to which data is to be transferred through a subsequent controller transfer command, wherein no data transfer occurs when said controller commands are passed around the ring bus, reading data to be transferred from the plurality of memory units of source nodes into temporary data storage provided at said source nodes, thereafter issuing said subsequent controller transfer command to transfer the read data from the temporary data storage at said source nodes to the data lines substantially simultaneously only in the given direction around the ring bus, writing the transferred read data in the data lines into temporary data storage provided at said destination nodes, and thereafter writing the transferred data from the temporary data storage at said destination nodes into the plurality of memory units of said destination nodes, wherein transferring the read data includes transferring data around the ring bus from said of source nodes in at least two sequential time slots and said at least two sequential time slots defining a cycle of C sequential time slots, and N time slots being used in the transferrin of read data, N and C being positive integers, wherein transferrin the read data additionally includes inserting one or more unused time slots so that N is equal to the total number of nodes on the ring bus minus the number of unused time slots, and adjusting N and C to reduce a number of any unused time slots. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A memory system, comprising:
-
a plurality of re-programmable non-volatile memory units that each includes a data communications node, and that each comprises memory storage cells grouped into blocks of memory cells that are simultaneously erased prior to reprogramming, a host data input/output circuit having another data communications node, a bus connecting the individual data communication nodes together in a ring, and a controller including a micro-controller operably connected with the ring bus to cause a simultaneous transfer of multiple channels of data from a plurality of the data communications nodes completely around the ring bus in a single direction over a number of time-multiplexed data frames adapted to include the number of multiple channels of data being transferred, said controller passing controller configuration commands that include node identification information in a given direction around the ring bus from the controller to the nodes, said node identification information in each of the configuration commands including information for identifying nodes to be established as source or destination nodes, the configuration commands being acted upon only by nodes addressed by such node identification information, in order to establish nodes of a plurality of the memory units identified in the controller configuration command as source nodes from which data is to be transferred through a subsequent controller transfer command and to establish the nodes of a plurality of the memory units identified in the controller configuration command as destination nodes to which data is to be transferred through a subsequent controller transfer command, wherein no data transfer occurs when said controller configuration commands are passed around the ring bus, said controller thereafter issuing said subsequent controller transfer command to transfer data from the source nodes to the destination nodes in the given direction around the ring bus, wherein transferring the read data includes transferring data around the ring bus from said plurality of source nodes in at least two sequential time slots and said at least two sequential time slots defining a cycle of C sequential time slots, and N time slots being used in the transferring of read data, N and C being positive integers, wherein transferring the read data additionally includes inserting one or more unused time slots so that N is equal to the total number of nodes on the ring bus minus the number of unused time slots, and adjusting N and C to reduce a number of any unused time slots. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A method of operating a memory system, said system comprising a plurality of re-programmable non-volatile memory units that each includes a data communications node and that each comprises memory storage cells grouped into blocks of memory cells that are simultaneously erased prior to reprogramming, by transferring data around a ring bus connecting said nodes, at least one command node and a controller together, said method comprising:
-
passing controller configuration commands that include node identification information in a given direction around the ring bus from the controller to the command and data communications nodes, said node identification information in each of the configuration commands including information for identifying the nodes to be established as source or destination nodes, the configuration commands being acted upon only by the nodes identified by said node identification information, causing nodes of a plurality of the memory units identified in a controller configuration command to be established as source nodes from which data is to be transferred through a subsequent controller transfer command and causing the nodes of a plurality of the memory units identified in the controller configuration command to be established as destination nodes to which data is to be transferred through a subsequent controller transfer command, wherein no data transfer occurs when said controller commands are passed around the ring bus, reading data to be transferred from the plurality of memory units of source nodes into temporary data storage provided at said source nodes, wherein read commands for reading data and the node identification information identifying the source nodes are first stored at the at least one command node and then executed to cause such, transfer of data into the temporary data storage, thereafter issuing said subsequent controller transfer command to transfer the read data from the temporary data storage at said source nodes to the data lines substantially simultaneously only in the given direction around the ring bus, writing the transferred read data in the data lines into temporary data storage provided at said destination nodes, and thereafter writing the transferred data from the temporary data storage at said destination nodes into the plurality of memory units of said destination nodes, wherein transferring the read data includes transferring data around the ring bus from said plurality of source nodes in at least two sequential time slots, and said at least two sequential time slots defining a cycle of C sequential time slots, and N time slots being used in the transferring of read data, N and C being positive integers, wherein transferring the read data additionally includes inserting one or more unused time slots so that N is equal to the total number of nodes on the ring bus minus the number of unused time slots, and adjusting N and C to reduce a number of any unused time slots. - View Dependent Claims (35)
-
-
36. A memory system, comprising:
- a plurality of re-programmable non-volatile memory units that each includes a data communications node, and that each comprises memory storage cells grouped into blocks of memory cells that are simultaneously erased prior to reprogramming,
a host data input/output circuit having another data communications node, at least one command node, a bus connecting the individual data communication nodes and said at least one command node together in a ring, and a controller including a micro-controller operably connected with the ring bus to cause a simultaneous transfer of multiple channels of data from a plurality of the data communications nodes completely around the ring bus in a single direction over a number of time-multiplexed data frames adapted to include the number of multiple channels of data being transferred, said controller passing controller configuration commands that include node identification information in a given direction around the ring bus from the controller to the nodes, said node identification information in each of the configuration commands including information for identifying the nodes to be established as source or destination nodes, the configuration commands being acted upon only by the nodes addressed by such node identification information, in order to establish the nodes of a plurality of the memory units identified in the controller command as source nodes from which data is to be transferred through a subsequent controller transfer command and to establish the nodes of a plurality of the memory units identified in the controller command as destination nodes to which data is to be transferred through a subsequent controller transfer command, wherein no data transfer occurs when said controller configuration commands are passed around the ring bus, said controller thereafter issuing said subsequent controller transfer command to transfer data from the source nodes to the destination nodes in the given direction around the ring bus, wherein read commands for reading data and the node identification information identifying the source nodes are first stored at the at least one command node and then executed to cause such transfer of data into the temporary data storage, wherein transferring the read data includes transferring data around the ring bus from said plurality of source nodes in at least two sequential time slots, and said at least two sequential time slots defining a cycle of C sequential time slots, and N time slots being used in the transferring of read data, N and C being positive integers, wherein transferring the read data additionally includes inserting one or more unused time slots so that N is equal to the total number of nodes on the ring bus minus the number of unused time slots, and adjusting N and C to reduce a number of any unused time slots. - View Dependent Claims (37)
- a plurality of re-programmable non-volatile memory units that each includes a data communications node, and that each comprises memory storage cells grouped into blocks of memory cells that are simultaneously erased prior to reprogramming,
Specification