US8902910B2 - Ring-of-clusters network topologies - Google Patents
Ring-of-clusters network topologies Download PDFInfo
- Publication number
- US8902910B2 US8902910B2 US14/057,102 US201314057102A US8902910B2 US 8902910 B2 US8902910 B2 US 8902910B2 US 201314057102 A US201314057102 A US 201314057102A US 8902910 B2 US8902910 B2 US 8902910B2
- Authority
- US
- United States
- Prior art keywords
- cluster
- slave
- ring
- master
- memory modules
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4637—Interconnected ring systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/01—Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
- H01L2224/26—Layer connectors, e.g. plate connectors, solder or adhesive layers; Manufacturing methods related thereto
- H01L2224/31—Structure, shape, material or disposition of the layer connectors after the connecting process
- H01L2224/32—Structure, shape, material or disposition of the layer connectors after the connecting process of an individual layer connector
- H01L2224/321—Disposition
- H01L2224/32135—Disposition the layer connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
- H01L2224/32145—Disposition the layer connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/01—Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
- H01L2224/42—Wire connectors; Manufacturing methods related thereto
- H01L2224/47—Structure, shape, material or disposition of the wire connectors after the connecting process
- H01L2224/48—Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
- H01L2224/481—Disposition
- H01L2224/48135—Connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
- H01L2224/48145—Connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/01—Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
- H01L2224/42—Wire connectors; Manufacturing methods related thereto
- H01L2224/47—Structure, shape, material or disposition of the wire connectors after the connecting process
- H01L2224/48—Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
- H01L2224/481—Disposition
- H01L2224/48151—Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive
- H01L2224/48221—Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked
- H01L2224/48225—Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation
- H01L2224/48227—Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation connecting the wire to a bond pad of the item
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/73—Means for bonding being of different types provided for in two or more of groups H01L2224/10, H01L2224/18, H01L2224/26, H01L2224/34, H01L2224/42, H01L2224/50, H01L2224/63, H01L2224/71
- H01L2224/732—Location after the connecting process
- H01L2224/73251—Location after the connecting process on different surfaces
- H01L2224/73265—Layer and wire connectors
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2924/00—Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
- H01L2924/15—Details of package parts other than the semiconductor or other solid state devices to be connected
- H01L2924/151—Die mounting substrate
- H01L2924/153—Connection portion
- H01L2924/1531—Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface
- H01L2924/15311—Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface being a ball array, e.g. BGA
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the disclosure relates generally to ring-type network topologies and, in particular, to a modified ring topology, called a ring of clusters topology, in which groups of slave devices are accessed in parallel thereby reducing latency while improving fault-tolerance and other properties.
- each device in the ring has exactly one other device immediately “before” and exactly one device that is immediately “after” it.
- the ring In many ring-topology networks, the ring is physically, and electrically, broken by each device in it.
- the ring itself is made up of a number of ring segments that connect the devices in the ring. The number of segments equals the number of devices in the ring. Communication on each segment is unidirectional and each has a driver end where exactly one device drives information onto the segment, and a one receiver end where exactly one device receives information from the driving device. From the perspective of a device on the ring, the segment of the ring on which it receives information is called its input segment, while the segment onto which it drives information is called its output segment.
- the master device It is typical for one device in the ring to be special in that it is the master device. It is often and synonymously referred to as the controller.
- the master or controller is typically responsible for both issuing read and write and other commands to the memories on the ring under its control, and for orchestrating data communication around the ring.
- the other devices in the ring are slaves and are typically but not exclusively memories. These slaves respond to commands from the controller sent over the ring and, in the case of read and other commands, send data back to the controller, also over the ring.
- the timing of communication on the ring is determined by the controller and not freely initiated by the slaves.
- Ring topologies are popular because they are conceptually simple, generally extensible and can require only a few pins per device. Also, since only point-to-point communication is used, issues of signal integrity and segment length are much more tractable than with many other interconnect topologies. However, three significant drawbacks evident with this class of ring-topology interconnect relate to latency, failure tolerance and power consumption.
- the latency of the operation has two primary components: the intrinsic latency of the operation within the slave, and the communication latency around the ring. Since the ring goes through each of the devices, each of these devices will present some small latency to the commands and data flowing round the ring. In addition the ring segments themselves can add a non-trivial amount to communication latency.
- total latency around the ring is the sum of all the latency through the devices plus the latency of the ring segments connecting those devices.
- the total latency around the ring is important since the total slave read access time from a controller to a device and back is the sum of the total ring latency and the slave device's internal read access latency. Reducing total ring latency is an important perquisite for circumstances in which total access latency is a significant component contributing to system-level performance.
- a ring topology network may be able to support a large number of devices, on the basis of latency alone, it may be impractical for all applications that involve more than a small handful of devices.
- ring-topology networks are fault-intolerant. If any of the devices or segments on the ring fails, communication around the ring is impossible, even if the other devices are still completely functional. This characteristic of ring-topology networks is significant in some system environments and not others. However, for memory systems in particular, there are many system applications that impose the requirement that the memory subsystem be able to operate flawlessly even in the presence of a single bad device.
- a third significant problem with ring-topology networks is that every device in the ring expends power to communicate each packet around the network. Depending on the signaling technology, every slave in the ring expends power on every command packet (regardless of the receiver) and on every read data packet (regardless of the source). In contrast, with some other network topologies, slave devices only expend power to communicate read data back to the controller. So, even though the power expended by a slave per bit transmitted can be less given the point-to-point communication, the total power efficiency of a ring-topology network can be significantly worse than some non-ring alternatives.
- a third technique is to create a hierarchy of rings, in which each of the devices on the primary ring (i.e. the ring controlled the overall master) is an agent acting as a master for a subring of slaves (See FIG. 1 ). Commands targeted at specific slaves are intercepted by the appropriate agent and translated into commands on the single specific sub-ring that includes the targeted slave.
- a fourth method of dealing with the deficiencies is to have a ring of agents that in turn control non-ring based devices. For example in FIG. 2 , each agent controls a traditional parallel memory subsystem.
- the ring of rings topology has been calculated to reduce the communication latency for a system with n slaves to 2 ⁇ sqrt(n) plus any additional scheduling delay in the agent. Reducing the per-slave delay reduces the constant of proportionality, but the total communication latency still remains proportional to the number of devices in the ring. Limiting the number of devices in the ring to a small number caps the total communications latency, but also limits the utility of the interconnect in larger systems.
- Multi-chip modules are packaging structures in which more than one integrated circuit is housed together with a common set of signal pins to the board or carrier on which the multichip module is mounted.
- a more precise definition is provided in the Detailed Description section.
- the straightforward application of integrated circuits in multi-chip modules to a ring-topology interconnect is to serially connect all the devices in the multi-chip module into the ring.
- the topology and latency of this configuration are as if each integrated circuit was in its own package and the packages were serially connected into the ring.
- the result would be a package cross section comparable to that shown in FIG. 3 , where one can see the link coming into the lowest device on bonding wires, leaving the lowest device and entering the one above it, and so up the stack, culminating with bonding wires connecting the topmost device with the package to form the outbound ring segment.
- FIG. 3 The configuration of FIG. 3 is less than ideal for several reasons. First, although these devices appear as a single package, they present logically as five devices, presenting five devices worth of latency. Second, this particular arrangement of incoming and outgoing segments on opposing sides of devices may not be convenient. In general, a multi-chip module of n devices presents physically as one device but logically as n devices. This configuration fails to adequately take advantage of the close proximity of the integrated circuits in the multi-chip package to address some of the limitations of large rings where a multi-chip module approach is not taken.
- Embodiments of the invention reside in a modified ring topology, called a ring of clusters topology, in which groups of slave devices (called clusters) are accessed in parallel.
- the clusters in some respects behave as a single node in the ring.
- the latency around the ring is proportional to the number of clusters and not proportional to the number of integrated circuits.
- Power consumption associated with data communication is less than that in a comparable traditional ring network, and embodiments afford a high degree of fault tolerance.
- the topology interconnect is well adapted to the use of multi-chip modules and/or individually packaged integrated circuits.
- groups of devices are connected in parallel, sharing input and output ring segments.
- Clusters include one or more devices, and in practice the number of devices per cluster would be relatively small.
- packets arriving on the input segment are received and interpreted by all the devices in a cluster.
- none, some or all but one slaves per cluster are asleep or otherwise disabled so that they do not input and interpret incoming packets.
- the slaves of a cluster cooperate, potentially under the controller's direction, to ensure that at most one of them is actively driving the output segment at any given time.
- a ring-of-clusters network topology comprises a controller device in packetized communication with a plurality of slave devices interconnected to input and output segments in a ring configuration, wherein at least some of the slave devices are connected in parallel, farming a cluster that shares the same input and output segments.
- the devices that are addressed by the combination of a cluster ID and a device ID, thereby dramatically reducing the number of bits required and the associated latency.
- a device designated as a cluster master is operative to coordinate the slaves of that cluster so that at most one slave in the cluster is driving the output segment.
- the slaves of the cluster may communicate over a single wire to the cluster master that a specific slave is primed for data transfer from the input to the output segment.
- the slaves of the cluster may communicate with the cluster master over a single multi-source single-destination conductor.
- the cluster master interprets all of the commands targeted at all slaves in the cluster enabling the cluster master to determine which slave is primed without receiving information directly from the slaves.
- the cluster master is operative to forward command packets from the input segment to the output segment regardless of which, if any, slaves are primed.
- some embodiments of the invention are suited to exploit multi-chip module implementations and other forms of vertical stacking in that individual clusters may be assigned to different levels in the stack. This allows the input segment to arrive to all devices on one side of the stack and the output segment to leave from the other side of the stack.
- the bond wires may connect the input segment bonding pads on one device to bonding pads on the vertically adjacent device, and with a comparable set of connections on the output segment side of the stack.
- the various devices in the inventive network may be memory devices, although the invention is not limited in this regard.
- FIG. 1 shows a diagram of a ring of rings in accordance with a topology of the prior art
- FIG. 2 shows a diagram of a ring of subsystems in accordance with a network topology of the prior art
- FIG. 3 shows, in cross section, a diagram of a multi-chip module with a ring topology network passing through each device in accordance with the prior art
- FIG. 4 shows a diagram of an example of a ring topology interconnection network in which one of the devices is a controller or master;
- FIG. 5 shows a further diagram of a ring topology network, the diagram showing signals associated with input and output segments
- FIG. 6 shows a timing diagram of a Command Packet and a Data Packet flowing into and then out of a slave device of the ring network of FIG. 5 ;
- FIG. 7 shows a diagram of the internal structure of a Command Packet
- FIG. 8 shows a diagram of a first example of a ring of clusters in accordance with a network topology of an example embodiment
- FIG. 9 shows a diagram of a second example of a ring of clusters having a different intra-cluster communication signals arrangement than that of FIG. 8 ;
- FIG. 10 shows how an intra-cluster ring used to arbitrate the temporary cluster master status is used to communicate device IDs
- FIG. I 1 A shows, in cross section, a diagram of a multi-chip module in which the devices are stacked vertically and which all the devices in the stack form a single cluster in a ring of clusters network;
- FIG. I 1 B shows, in cross section, a diagram of an alternative multi-chip module in which the devices are stacked vertically and which all the devices in the stack form a single cluster in a ring of clusters network;
- FIG. 12 shows a diagram of a cluster within a ring of clusters topology interconnection network in accordance with at least one example
- FIG. 13 shows a diagram of a single slave for a previously illustrated ring network
- FIG. 14 illustrates a third example of a ring of clusters having a different intra-cluster communication signals arrangement than the first or second example.
- Embodiments of the invention address the problem that ring topology interconnects can have long latencies when many devices are included in the ring, which can limit the utility or effectiveness of the interconnect. Embodiments of the invention also solve problems associated with the high power consumption and poor fault-tolerance associated with existing ring network topologies.
- Embodiments of the invention relate to ring-topology electronic interconnects in which one device in the ring is controller, but the invention is not limited in this regard and would equally apply of other variations of ring-topology networks and other system and subsystem types.
- the terms “master” and “controller” are used synonymously.
- slaves and memories are used synonymously without limiting embodiments of the invention to slave devices that are primarily memory devices. It is understood that the present invention applies equally to rings including all or some non-memory slaves as well.
- “interconnect,” “network” and “interconnection network” are used synonymously to mean an arbitrary collection of wires (in whole or in part collected into one or more buses) directly or indirectly connect a collection of electronic or comparable devices.
- Embodiments of invention also relate to the use multi-chip modules in electronic systems.
- multiple pieces of silicon are packaged together into a single substrate or package. This is commonly done both vertically in which the pieces of silicon are placed on top of one another in a stack, or horizontally, in which the pieces of silicon as placed beside one another within a single package or module.
- a variant is where multiple pieces of silicon (or more generally, a thin piece of semiconductor material with electronic components manufactured on at least one surface) are individually packaged and then the packages are mounted vertically in a stack. At least example embodiments apply to all these cases, though a disclosed embodiment is described in terms of a stack of pieces of silicon packaged together.
- multi-chip module is defined to be a general term for all such packaging or mounting techniques, and not limited to anyone style or type of such structure.
- an integrated circuit is defined to be a piece of silicon or other semiconductor material with electronic components such as, but not limited to, wires, transistors, diodes, and sensors, fabricated into or on one or more surfaces of the material.
- the terms device and integrated circuits are used synonymously herein.
- module is defined to be the package or substrate or like structure onto or into which the integrated circuits are mounted and which facilitates the connection of those integrated circuits to conductors on the medium on which the module itself is ultimately mounted.
- the module itself mayor more not include other structures other than interconnects and mayor may not have other components mounted into or onto it other than integrated circuits.
- bond wires connect the integrated circuits to each other and/or the module itself.
- the integrated circuits make direct connect to the conductors that are part of the module.
- one common form of multi-chip module is a package in which several integrated circuits are mounted one atop another into a vertical stack and in which bonding wires connect the integrated circuits to the conductors in the module and to each other.
- FIG. 4 shows a diagram of example ring topology interconnection network 400 .
- information flows around a unidirectional ring flowing from device to device.
- the figure shows a ring in which one of the devices is a controller or master device 410 accessing memories or other memory or non-memory slave devices 411 - 415 .
- Address, data and control information all flows around the ring in the same direction, typically with the same timing, and typically in part on the same conductors.
- FIG. 5 shows the signals of one such ring topology network 500 .
- the segments of the ring that connect the devices 510 - 513 into a ring comprise a data path of four conductors, and two strobe signals.
- Information flows around the ring in packets.
- FIG. 4 also indicates that each slave in the ring has a unique address. In the illustrated case, the slave addresses begin with 0 with the first slave to receive packets from the controller, and increase consecutively from there to the last slave.
- the packets comprise either of data originating in a slave device flowing back to the controller or command packets originating at the controller and flowing to one or more slave devices. These two types of packets are called Read Data Packets and Command Packets, respectively.
- Command Packets include a device address and a command for one or more slaves to execute. The device address portion of the Command Packet is the first byte of the packet and it specifies which device or devices are to execute the command. Depending on the semantics of the command, the remainder of the command packet may include an address of some data storage within the target device(s) and possibly some data as well.
- FIG. 6 shows the relationship between the two strobes and Command or Data Packets flowing into and out of a single slave.
- CSI Command Strobe In
- DSI Data Strobe In
- the latency though each device is a small number of clock cycles and it is likely—but not necessarily—fixed as part of the design of the device, though different devices on the ring can have different flow through latencies.
- the slave implicitly illustrated in the example of FIG. 6 exhibits a flow-through latency of one cycle as both Command and Data Packets appear on the output segment data lines (Q 0 . . . 3 ) one full cycle after they were latched on the input segment. On the output segment, the slave delimits the packets on the output data lines by driving Command Strobe Out and Data Strobe Out correspondingly.
- FIG. 7 shows the structure of command packets which could correspond to the command packet shown in FIG. 6 .
- the first byte comprises the device address of the slave that is to execute the command.
- the second byte is a one byte command.
- the number and semantics of subsequent bytes are dependent on the actual command specified. Since the controller determines the subsequent bytes are dependent on the specific command specified in the second byte. In particular, when the controller wishes to write data into a slave's storage, the subsequent bytes would include the slave-local address of that storage and the write data.
- the command packet illustrated in FIG. 7 is sent most-significant nibble first.
- the most significant nibble being bits 4 , 5 , 6 and 7 are sent on the data line DO, D 1 , D 2 , and D 3 .
- the least significant nibble of the first byte being bits 0 , 1 , 2 , and 3 , are sent on the corresponding data lines.
- the same pattern follows for all subsequent bytes of the command. In the case of an address with more than 8 bits, such as illustrated in the three command specific bytes of FIG. 7 , the sequence of the nibbles and bytes corresponds to least significant byte first and most significant nibble first.
- Data Packets can be used to communicate data of all sorts from a slave back to the controller.
- the controller wants the slave to return data back to it, it sends a read data transfer command that primes the slave for the arrival of data packet.
- the read data transfer command indicates what data the controller wants the slave to return to it.
- the controller is ready to receive the requested data, it sends a Data Packet down the ring with arbitrary data in it.
- the start and end of the Data Packet are indicated by the rising and falling edge on the Data Strobe signals (CSO and CSI correspondingly).
- the primed slave detects the arrival of the read data packet, it ignores the incoming data in the packet and instead of duplicating it onto the output segment, drives the data previously requested by the data instead.
- the amount of data to be transferred is not specified in the read data transfer command, but instead is specified by the number of clock cycles between the rising and falling edge of the Data Strobe In/Out.
- a ring of clusters clusters ring
- devices are connected in parallel, sharing input and output ring segments.
- Clusters include one or more devices, and in practice the number of devices per cluster would be relatively small
- packets arriving on the input segment are received and interpreted by all the devices in a cluster.
- none, some or all but one slave per cluster are asleep or otherwise disabled so that they do not input and interpret incoming packets.
- the slaves of a cluster cooperate, potentially under the controller's direction, to ensure that at most one of them is actively driving the output segment at any given time.
- Different examples of embodiments of the invention disclosed herein vary primarily according to how the devices of a cluster cooperate to accomplish this.
- FIG. 8 is a diagram of an example ring of clusters network 800 showing a ring of one controller 810 and four clusters 811 - 814 .
- the clusters have four slaves 820 - 823 , three slaves 830 - 832 , one slave 840 , and two slaves 850 - 851 in them, respectively, though the invention is not limited to any specific range of clusters or slaves per cluster.
- the clusters are given unique cluster IDs.
- the first cluster has cluster ID 0 and subsequent clusters have cluster IDs of 1 , 2 , and 3 .
- the devices are also given unique device IDs.
- a first slave in the cluster is given a device ID of 0
- subsequent slaves are given devices of 1 , 2 , 3 , and so on.
- the word “device” should not be taken to mean “discrete.” While the various embodiments may be implement with discrete devices, the “devices” may also be integrated onto the same integrated circuit.
- Each device in the ring is thereby uniquely identified by the union of its cluster ID and its device ID.
- a network that supports up to 16 clusters of up to 16 slaves per cluster could have a one byte device address field which was comprised of a 4-bit cluster ID field and a 4-bit device ID field.
- a fully populated network would have a communications latency of 16 cycles.
- the ring topology network of FIG. 4 with the same number of devices, also with a flow through latency of one, would have a communication latency of 256 cycles. In this way, the ring of clusters topology allows for systems with many more devices without linearly compounding their latencies.
- the device in each cluster with device ID 0 is called the Cluster Master (it will be understood that some other device ill could be used to identify the cluster master).
- a role of the cluster master is to coordinate the slaves of the cluster so that at most one slave in the cluster is driving the outbound segment.
- the Cluster Master is responsible for driving the output segment (strobes as well as the output data bus) except when a Data Packet is received and another slave in the cluster is primed.
- the Cluster Mater drives the Data Strobe Out signal but releases the Data Out signals (i.e. its output drivers enter a high impedance state) so that the primed slave can insert its read data into the Data Packet.
- a single conductor connects all the slaves in the cluster. In such an embodiment, the following condition would hold: at most one slave in the entire ring can be primed at once, so there can be at most one primed slave per cluster. Therefore a single multisource single-destination conductor (also referred to an n: 1 communication) can be used to indicate to the master that a slave is primed.
- the Cluster Master interprets all of the commands targeted at all slaves in its cluster so that it knows when any other slaves in its cluster are primed and so it does not need to receive an indication from the other slaves in the cluster that they are individually primed or not.
- This embodiment could be valuable in situations where the Cluster Master device knows a priori the command set of all the other slaves in the cluster. This would certainly be the case in homogenous clusters, and less likely in heterogeneous clusters in which devices coupled together into a cluster were of completely different types or of different versions of the same type.
- the primed slave can also be responsible for driving the Data Strobe Out signal as well as the Data Out Signal when it is primed and a Data Packet arrives.
- the Cluster Master would remain responsible for forwarding Command Packets from the cluster's Input Segment to its Output Segment regardless of which if any slaves are primed.
- a primed device becomes a temporary master and becomes responsible for forwarding Command Packets as well as Data Packets from the Input Segment to output Segment, regardless of whether it's currently inserting read data into a Data Packet.
- Cluster Master can either revert to device 0 of the cluster when a primed device no longer becomes primed. Depending on the specifics of the network protocol this could be at the end of the Data Packet, at the start of a new Command Packet after end of the Data Packet into which the primed slave device has inserted read data, or some other condition. This reversion to an unprimed state can be communicated to the Cluster Master by any of the previously described methods or implicitly understood by the Cluster Master.
- temporary master status remains with a primed device even after it is not primed, and does so until such time as some other slave in the cluster becomes primed. At that point temporary master status transfers to the newly primed device and remains with that device until some other device in the cluster becomes primed.
- communication of primed status can be communicated by means of a ring of single conductors, or by a shared wire.
- a newly primed device sends a rising edge down the intra-cluster single-conductor ring (see FIG. 9 ). Each device in the link forwards the rising edge to the next slave in the intra-cluster ring.
- the beginning of one packet follows the end of the previous packet by at least one half cycle. This gap ensures that there is an opportunity for clusters to shift responsibility for driving all of some elements of the cluster's output segment while there is no data being transferred.
- the signaling technology used on the outbound segment is of a wired-AND type.
- this type of signaling technology if more than one devices drives a signal, then the received value is the logical AND of the two driven values.
- an open-collector driver with an external pull-up resistor is an example of a wired-AND signaling technology: if either of two driving devices pulls the output signal low, then the received value is low.
- Other wired-AND and their counterpart wired-OR signaling technologies are well known to those skilled in the art.
- the Cluster Master continuously drives the Output Segment, copying incoming Command and Data Packets to the output segment, exactly as in the network of FIG. 8 .
- Non-Cluster Master Slaves only drive read data onto the outgoing segment Data Out Lines, overwriting the data placed there by the controller.
- the controller fills all outgoing Data packets with 1 s so that when the data in the Data Packet is logical ANDed with the read data from a primed slave, the resulting data that reaches the controller is exactly the read data from the primed device.
- the slaves need not communicate with their cluster-mates. They only need to be aware of whether they are a Cluster Master or not.
- the initial value inserted into outbound Data Packets from the controller are filled with the identity value for the logical function implemented by the signaling technology.
- each device in the ring is uniquely identified with an address.
- the slaves have a device ID that is unique within each cluster.
- each slave determines its Cluster ID and Device ID by sensing the voltage on dedicated ID input lines (equal in number to the number of bits in the union of the Cluster ID and the Device ID).
- the Device IDs may set after reset by taking advantage of a reset signal that is daisy chained though each of the devices in the cluster. Every slave has both a Reset In signal and a Reset Out signal.
- the Reset In of the Cluster Master slave can be connected to the global system reset.
- the Reset Out signal of each cluster master can be connected to the Reset In signal of the slaves in their respective cluster that will end up with a device ID of 1 , and so on.
- the ring subsystem comes out of a reset state with a simple high to low transition of Reset.
- the first device in each cluster recognizes that simple, single transition on Reset In as indication that it is the corresponding Cluster Master and that its device ID is 0 .
- Each Cluster Master then de-asserts Reset Out with a series of three transitions: high to low, low to high then high to low again.
- the next device recognizes the series of three transitions on reset as an indication that it is the second device in the cluster and that therefore its device ID is 1 .
- the cluster ID values can be set the same way that the device IDs can be set: after the ring is reset, the controller sends a special packet down the ring with all zeros. Every slave in the entire network takes the value as its cluster ID.
- the Cluster Master of each cluster increments the value in the special packet before sending it on to the next cluster.
- the controller can fill the special packet with some other value and the Cluster Masters can increment, decrement or otherwise operate on the value in the special packet to create the cluster ID of the next cluster.
- the sense of the reset signal is not of inventive significance.
- FIG. 10 shows a diagram of another ring of clusters network 1000 in accordance with another example embodiment.
- the network 1000 includes a controller 1010 and three clusters 1011 - 1013 .
- the clusters have four slaves 1020 - 1023 , three slaves 1030 - 1032 , and two slaves 1040 - 1041 in them, respectively, though it is again noted that the invention is not limited to any specific range of clusters or slaves per cluster.
- the intra-cluster ring used to arbitrate the temporary cluster master status is used to communicate device IDs. All slaves have a Reset In input. All slaves that are not Cluster Masters have those inputs grounded. The Cluster Masters have their Reset In inputs connected to the global ring reset.
- Cluster Masters On the recognition of a high to low transition of Reset In, the Cluster Masters recognize their status as Cluster Masters, set their device IDs to zero, and send a comparable growing pulse stream down the intra-cluster ring to sequentially initialize the cluster IDs of all the other devices in the cluster.
- the indication of which device in each cluster in the Cluster Master is hard wired by use of a dedicated signal.
- the cluster IDs are set first, using the procedure described above for setting the cluster IDs, followed by the setting of the device IDs, again by the procedure described above for setting the device IDs.
- a dedicated set of signals, separate from the reset signals and the temporary cluster master arbitration signals are used to initialize the device IDs in accordance with techniques apparent to those of skill in the art.
- FIG. 11A a vertically stacked multi-chip module 1100 is shown in which all devices 1110 - 1113 in the stack constitute a single cluster.
- the input segment arrives to all devices on one side and the output segment leaves out the other side of the module.
- FIG. 11B shows the same stack of devices 1110 - 1113 in an alternate module 1150 differing from the module 1100 in that the bond wires connect the input segment bonding pads on one device to bonding pads on the vertically adjacent device, and with a comparable set of connections on the output segment side of the stack.
- the stack may include more than one cluster, one or more clusters and a controller, and so forth.
- any device fails, round-trip communication between the controller and all the devices ceases.
- a non-cluster master fails completely, communication would continue unobstructed. The failed device would never assert its indicator that it had been primed. If the failed device failed in such a way as to continuously assert that it had been primed, then the ability to communicate with the devices of that cluster might be inhibited. However, communication with the other clusters would be unaffected. If a Cluster Master failed, then round-trip communication would be interrupted.
- FIG. 12 represents an alternative embodiment that is able to function despite the failure of anyone device per ring.
- each slave has two intra cluster outputs (called Next Out and Skip Out) and two intra cluster inputs called Next In and Skip In.
- Next Out of each device is connected to Next In of the logically next device in the cluster, and Next Out of the last device is connected to Next In of the first device—the device that is normally the Cluster Master.
- the Next signals thereby form a simple intra cluster ring.
- each fault-tolerant cluster has at least two slaves in it, and therefore it is always unambiguous which is the next but one slave connects to which via the Skip signals.
- the Reset In signals of the first two slaves in the cluster are connected to two ring-global signals, called Primary Reset and Backup Reset.
- Initialization and assignment of device IDs proceeds as follows.
- the controller raises Primary Reset and maintains it high for a sufficient time for it to be recognized by the first slave in each cluster.
- This first slave then assigns itself to be Cluster Master and sets its device ID to be 0 . It then raises Next Out and Skip Out, and all other slaves in the cluster propagate a high level on either Skip In or Next In to both Skip Out and Next Out and put themselves into a reset state.
- the Cluster Master When Primary Reset drops, the Cluster Master recognizes the falling edge and sends a pulse train of three transitions to the second device on Next Out (high to low, low to high, then high to low again), and a pulse train of five transitions on Skip Out. Every other slave in the cluster follows the following rules: when either Next In or Skip Out is high for an extended period, enter a reset state and clear the slave's device ID and cluster ID; When in a reset state watch for a transition train on both Next In and Skip In. If a transition train comes in on either signal, count the number of transitions, subtract one and divide by two and set the device ID to the result. Ignore subsequent transition trains on either input.
- the controller is unable to see a packet go all the way around the ring, it is possible that one of the primary cluster masters is dead in the sense that it has failed in a manner that prevents normal operation. In which case it should reinitialize using the Backup Set. This will set the second slave in each cluster to be the Cluster Master with Device ID 0 .
- This embodiment facilitates operation with one dead slave per ring.
- a related embodiment that functions despite up to one slave failure per cluster is identical except that the controller has the ability to use the primary or backup reset on a cluster-by-cluster basis. As such, if the first slave on the first cluster and the second device in the second cluster are both bad, the controller can still separately assign Cluster Masters in the two clusters accordingly. Additional embodiments utilizing extensions of this concept are possible that facilitate operation with multiple device failures per cluster.
- a single ring can include a mix of fault tolerant clusters and non-fault tolerant clusters.
- FIG. 13 is diagram of a device 1300 , which can be used within networks in accordance with example embodiments, and which is disclosed in additional detail in U.S. provisional patent application No. 60/902,003 entitled “Non-volatile Memory System”.
- the device 1300 has an input port consisting of, in this case, an input data bus, and two input strobe signals that are used to indicate when information is flowing on the input data bus.
- the data bus segments are shown to be 4 bits wide, however, data width can be of any width greater or equal to one bit as the present invention is operable regardless of the data bus width.
- the device has an output port consisting of an output data bus and two output strobe signals to indicate when data is begin driven by the salve onto the output data bus.
- the output data bus width of 4 bits in this an all other figures is purely exemplary and not indicative of the scope of the present invention.
- this particular device has a small number of additional non-power signals.
- the device also has a clock input (in this case single ended, but also potentially differential), a reset input to initialize the device into a known initial state, and a Chip Enable input which is used to turn on the input and output ports and thereby enable communication around the ring.
- FIG. 14 shows a diagram of another ring of clusters network 1400 in accordance with another example embodiment.
- the network 1400 includes a controller 1410 and four clusters 1411 - 1414 .
- the clusters have four slaves 1420 - 1423 , three slaves 1430 - 1432 , one slave 1440 , and two slaves 1450 - 1451 in them, respectively, though it is again noted that the invention is not limited to any specific range of clusters or slaves per cluster. Examples in accordance with FIG. 14 are characterized in that slave addressing is linear and not composed of a cluster number and a intra-cluster device ID.
- the device address is set after reset by means of a single-bit serial scan chain that daisy chains through all the devices in the ring, though other such mechanisms would be obvious to one of ordinary skill in the art without undue experimentation.
- a dedicated signal pulled high indicates which device in each cluster is to the initial or permanent cluster master. The controller would use the scan chain to initialize the device addresses and then to query all devices as to whether they were a cluster master or not, thereby determining the exact network topology.
- the controller can inform the cluster masters of the device addresses of the devices in their clusters so they understand which device addresses they need to respond to.
- the cluster masters can query the non-master slaves in their clusters to determine which devices are in their respective clusters.
- the cluster masters do not need to know the device addresses of the devices in their respective clusters and only change their behavior based on indications from those slaves that they have been primed for data out on the next Data Packet.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/057,102 US8902910B2 (en) | 2008-01-11 | 2013-10-18 | Ring-of-clusters network topologies |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/013,148 US8594110B2 (en) | 2008-01-11 | 2008-01-11 | Ring-of-clusters network topologies |
US14/057,102 US8902910B2 (en) | 2008-01-11 | 2013-10-18 | Ring-of-clusters network topologies |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/013,148 Continuation US8594110B2 (en) | 2008-01-11 | 2008-01-11 | Ring-of-clusters network topologies |
Publications (2)
Publication Number | Publication Date |
---|---|
US20140115190A1 US20140115190A1 (en) | 2014-04-24 |
US8902910B2 true US8902910B2 (en) | 2014-12-02 |
Family
ID=40364475
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/013,148 Expired - Fee Related US8594110B2 (en) | 2008-01-11 | 2008-01-11 | Ring-of-clusters network topologies |
US14/057,102 Expired - Fee Related US8902910B2 (en) | 2008-01-11 | 2013-10-18 | Ring-of-clusters network topologies |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/013,148 Expired - Fee Related US8594110B2 (en) | 2008-01-11 | 2008-01-11 | Ring-of-clusters network topologies |
Country Status (7)
Country | Link |
---|---|
US (2) | US8594110B2 (en) |
EP (1) | EP2243257A1 (en) |
JP (2) | JP2011509634A (en) |
KR (1) | KR101507196B1 (en) |
CN (1) | CN101971574B (en) |
TW (1) | TWI457765B (en) |
WO (1) | WO2009088574A1 (en) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7688652B2 (en) * | 2007-07-18 | 2010-03-30 | Mosaid Technologies Incorporated | Storage of data in memory via packet strobing |
US8312088B2 (en) * | 2009-07-27 | 2012-11-13 | Sandisk Il Ltd. | Device identifier selection |
US8392614B2 (en) * | 2009-07-27 | 2013-03-05 | Sandisk Il Ltd. | Device identifier selection |
WO2011074708A1 (en) * | 2009-12-17 | 2011-06-23 | Kabushiki Kaisha Toshiba | Semiconductor system, semiconductor device, and electronic device initializing method |
DE102010041427A1 (en) | 2010-09-27 | 2012-03-29 | Robert Bosch Gmbh | Method for transmitting data |
CN102346726A (en) * | 2011-09-20 | 2012-02-08 | 四川卫士通信息安全平台技术有限公司 | High-speed annular interconnection method of plurality of chips on board |
US8825967B2 (en) | 2011-12-08 | 2014-09-02 | Conversant Intellectual Property Management Inc. | Independent write and read control in serially-connected devices |
JP2014048979A (en) * | 2012-08-31 | 2014-03-17 | Fujitsu Ltd | Information processing system, identification information determination device, identification information determination method, and program |
US9740178B2 (en) * | 2013-03-14 | 2017-08-22 | GM Global Technology Operations LLC | Primary controller designation in fault tolerant systems |
KR101816944B1 (en) * | 2013-10-02 | 2018-01-09 | 엘에스산전 주식회사 | Method for automatically setting ID in UART Ring communication |
US9672182B2 (en) * | 2014-08-21 | 2017-06-06 | Infineon Technologies Ag | High-speed serial ring |
KR102023534B1 (en) | 2015-04-17 | 2019-09-23 | 엘에스산전 주식회사 | Slave device and mehtod controlling thereof |
US10567195B2 (en) | 2015-09-30 | 2020-02-18 | Hewlett Packard Enterprise Development Lp | Network nodes in a ring network |
CN108291710B (en) * | 2015-10-16 | 2021-04-06 | 豪倍公司 | Modular ceiling illuminator |
MX2018008949A (en) | 2016-02-26 | 2018-09-03 | Micro Motion Inc | Communicating with two or more slaves. |
JP6594813B2 (en) * | 2016-03-24 | 2019-10-23 | 株式会社神戸製鋼所 | Communication control system and communication control method |
DE102017208836A1 (en) * | 2017-05-24 | 2018-11-29 | Wago Verwaltungsgesellschaft Mbh | Status signal output |
US10488892B1 (en) * | 2017-10-20 | 2019-11-26 | Smart Modular Technologies, Inc. | Portable module system |
US10585689B1 (en) * | 2017-12-20 | 2020-03-10 | Cisco Technology, Inc. | Shared memory interface for application processes |
US10872291B2 (en) * | 2017-12-22 | 2020-12-22 | Alibaba Group Holding Limited | On-chip communication system for neural network processors |
DE102021105919A1 (en) * | 2021-03-11 | 2022-09-15 | Ebm-Papst Mulfingen Gmbh & Co. Kg | Addressable master-slave system and method for addressing slave units |
Citations (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4617566A (en) | 1983-12-15 | 1986-10-14 | Teleplex Corporation | Addressable-port, daisy chain telemetry system with self-test capability |
US4663706A (en) | 1982-10-28 | 1987-05-05 | Tandem Computers Incorporated | Multiprocessor multisystem communications network |
US5132635A (en) | 1991-03-05 | 1992-07-21 | Ast Research, Inc. | Serial testing of removable circuit boards on a backplane bus |
US5204669A (en) | 1990-08-30 | 1993-04-20 | Datacard Corporation | Automatic station identification where function modules automatically initialize |
US5243703A (en) | 1990-04-18 | 1993-09-07 | Rambus, Inc. | Apparatus for synchronously generating clock signals in a data processing system |
US5319598A (en) | 1990-12-10 | 1994-06-07 | Hughes Aircraft Company | Nonvolatile serially programmable devices |
US5323060A (en) | 1993-06-02 | 1994-06-21 | Micron Semiconductor, Inc. | Multichip module having a stacked chip arrangement |
EP0607546A2 (en) | 1992-12-29 | 1994-07-27 | International Business Machines Corporation | Apparatus for fiber distributed data interface dynamic station bypass via skipping and hopping |
US5404460A (en) | 1994-01-28 | 1995-04-04 | Vlsi Technology, Inc. | Method for configuring multiple identical serial I/O devices to unique addresses through a serial bus |
US5430859A (en) | 1991-07-26 | 1995-07-04 | Sundisk Corporation | Solid state memory system including plural memory chips and a serialized bus |
US5452259A (en) | 1993-11-15 | 1995-09-19 | Micron Technology Inc. | Multiport memory with pipelined serial input |
US5475854A (en) | 1994-01-28 | 1995-12-12 | Vlsi Technology, Inc. | Serial bus I/O system and method for serializing interrupt requests and DMA requests in a computer system |
US5502289A (en) | 1992-05-22 | 1996-03-26 | National Semiconductor Corporation | Stacked multi-chip modules and method of manufacturing |
US5602780A (en) | 1993-10-20 | 1997-02-11 | Texas Instruments Incorporated | Serial to parallel and parallel to serial architecture for a RAM based FIFO memory |
US5671178A (en) | 1995-02-04 | 1997-09-23 | Samsung Electronics Co., Ltd. | Erase verifying circuit for a nonvolatile semiconductor memory with column redundancy |
US5740379A (en) | 1994-08-19 | 1998-04-14 | Siemens Aktiengesellschaft | Method for generating unique addresses for electrical devices from input bit patterns being verifiable for admissibility |
US5778419A (en) | 1995-08-16 | 1998-07-07 | Microunity Systems Engineering, Inc. | DRAM with high bandwidth interface that uses packets and arbitration |
US5777345A (en) | 1996-01-03 | 1998-07-07 | Intel Corporation | Multi-chip integrated circuit package |
US5802399A (en) | 1995-09-22 | 1998-09-01 | Sharp Kabushiki Kaisha | Data transfer control unit for reducing memory requirements in an information processor by converting bit width of data being transferred between memory and processing parts |
US5828899A (en) | 1996-01-04 | 1998-10-27 | Compaq Computer Corporation | System for peripheral devices recursively generating unique addresses based on the number of devices connected dependent upon the relative position to the port |
US5841974A (en) | 1993-04-02 | 1998-11-24 | University Research Foundation, Inc. | Ultra high speed data collection, processing and distriubtion ring with parallel data paths between nodes |
US5859809A (en) | 1996-12-31 | 1999-01-12 | Hyundai Electronics Industries Co., Ltd. | Semiconductor device of daisy chain structure having independent refresh apparatus |
US5941974A (en) | 1996-11-29 | 1999-08-24 | Motorola, Inc. | Serial interface with register selection which uses clock counting, chip select pulsing, and no address bits |
US6002638A (en) | 1998-01-20 | 1999-12-14 | Microchip Technology Incorporated | Memory device having a switchable clock output and method therefor |
US6144576A (en) | 1998-08-19 | 2000-11-07 | Intel Corporation | Method and apparatus for implementing a serial memory architecture |
US6148364A (en) | 1997-12-30 | 2000-11-14 | Netlogic Microsystems, Inc. | Method and apparatus for cascading content addressable memory devices |
US6304921B1 (en) | 1998-12-07 | 2001-10-16 | Motorola Inc. | System for serial peripheral interface with embedded addressing circuit for providing portion of an address for peripheral devices |
US6317350B1 (en) | 2000-06-16 | 2001-11-13 | Netlogic Microsystems, Inc. | Hierarchical depth cascading of content addressable memory devices |
US6317352B1 (en) | 2000-09-18 | 2001-11-13 | Intel Corporation | Apparatus for implementing a buffered daisy chain connection between a memory controller and memory modules |
US6392991B1 (en) | 1997-07-08 | 2002-05-21 | Canon Kabushiki Kaisha | Communication network, node apparatus used in the network, and their control method |
US20020188781A1 (en) | 2001-06-06 | 2002-12-12 | Daniel Schoch | Apparatus and methods for initializing integrated circuit addresses |
US20030014462A1 (en) | 2001-06-08 | 2003-01-16 | Bennett Andrew Jonathan | Method and system for efficient distribution of network event data |
US20030043855A1 (en) | 1997-11-12 | 2003-03-06 | Takashisa Yamamoto | Communication network, and node device used therein and control method therefor |
TW532011B (en) | 2001-09-21 | 2003-05-11 | Jiun-Sheng Chen | Network topology structure on board of computer cluster |
US6594183B1 (en) | 1991-09-13 | 2003-07-15 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US6658509B1 (en) | 2000-10-03 | 2003-12-02 | Intel Corporation | Multi-tier point-to-point ring memory interface |
US20040001380A1 (en) | 2002-06-28 | 2004-01-01 | Oswald Becca | Method and apparatus for interconnecting content addressable memory devices |
US6680904B1 (en) | 1999-12-27 | 2004-01-20 | Orckit Communications Ltd. | Bi-directional chaining of network access ports |
US20040024960A1 (en) | 2002-07-31 | 2004-02-05 | Lawrence King | CAM diamond cascade architecture |
US6763426B1 (en) | 2001-12-27 | 2004-07-13 | Cypress Semiconductor Corporation | Cascadable content addressable memory (CAM) device and architecture |
US20040148482A1 (en) | 2003-01-13 | 2004-07-29 | Grundy Kevin P. | Memory chain |
US6779072B1 (en) | 2000-07-20 | 2004-08-17 | Silicon Graphics, Inc. | Method and apparatus for accessing MMR registers distributed across a large asic |
US6816933B1 (en) | 2000-05-17 | 2004-11-09 | Silicon Laboratories, Inc. | Serial device daisy chaining method and apparatus |
US20040230752A1 (en) | 2003-05-12 | 2004-11-18 | International Business Machines Corporation | Bus protocol for a "switchless" distributed shared memory computer system |
US6853557B1 (en) | 2000-09-20 | 2005-02-08 | Rambus, Inc. | Multi-channel memory architecture |
US6853573B2 (en) | 2002-09-02 | 2005-02-08 | Samsung Electronics Co., Ltd. | Non-volatile semiconductor memory device for connecting to serial advanced technology attachment cable |
US20050030902A1 (en) | 2003-08-06 | 2005-02-10 | Do-In Choi | IEEE 1394-based unidirectional ring system for indoor backbone network |
US20050166006A1 (en) | 2003-05-13 | 2005-07-28 | Advanced Micro Devices, Inc. | System including a host connected serially in a chain to one or more memory modules that include a cache |
US6928501B2 (en) | 2001-10-15 | 2005-08-09 | Silicon Laboratories, Inc. | Serial device daisy chaining method and apparatus |
US6950325B1 (en) | 2004-10-07 | 2005-09-27 | Winbond Electronics Corporation | Cascade-connected ROM |
US20060031593A1 (en) | 2004-08-09 | 2006-02-09 | Sinclair Alan W | Ring bus structure and its use in flash memory systems |
JP2006079618A (en) | 2004-09-08 | 2006-03-23 | Hewlett-Packard Development Co Lp | High-availability cluster node removal and communication |
US7031221B2 (en) | 2003-12-30 | 2006-04-18 | Intel Corporation | Fixed phase clock and strobe signals in daisy chained chips |
US7032039B2 (en) | 2002-10-30 | 2006-04-18 | Atmel Corporation | Method for identification of SPI compatible serial memory devices |
US20060104270A1 (en) | 2004-11-16 | 2006-05-18 | Inching Chen | Method and apparatus for communicating within a segmented network |
US20060140150A1 (en) | 2004-11-05 | 2006-06-29 | Interdigital Technology Corporation | Wireless communication method and system for implementing media independent handover between technologically diversified access networks |
KR20060079117A (en) | 2004-12-30 | 2006-07-05 | 노키아 인크 | Virtual multicast routing for a cluster having state synchronization |
TWI264956B (en) | 2004-03-12 | 2006-10-21 | Univ Nat Chiao Tung | Method for performing access point handoff for mobile node |
US7130958B2 (en) | 2003-12-02 | 2006-10-31 | Super Talent Electronics, Inc. | Serial interface to flash-memory chip using PCI-express-like packets and packed data for partial-page writes |
US7180778B2 (en) | 2001-07-17 | 2007-02-20 | Kabushiki Kaisha Toshiba | Semiconductor storage device having page copying function |
US20070064629A1 (en) | 2001-07-09 | 2007-03-22 | Zvi Regev | High speed ring/bus |
US20070076479A1 (en) | 2005-09-30 | 2007-04-05 | Mosaid Technologies Incorporated | Multiple independent serial link memory |
US20070076502A1 (en) | 2005-09-30 | 2007-04-05 | Pyeon Hong B | Daisy chain cascading devices |
TWI283978B (en) | 2005-09-27 | 2007-07-11 | Alpha Networks Inc | A dynamic wireless meshing networks supporting load balance and flow control |
US7262506B2 (en) | 2001-06-21 | 2007-08-28 | Micron Technology, Inc. | Stacked mass storage flash memory package |
US20070234071A1 (en) | 2006-03-28 | 2007-10-04 | Mosaid Technologies Incorporated | Asynchronous ID generation |
US20070233903A1 (en) | 2006-03-28 | 2007-10-04 | Hong Beom Pyeon | Daisy chain cascade configuration recognition technique |
US7309923B2 (en) | 2003-06-16 | 2007-12-18 | Sandisk Corporation | Integrated circuit package having stacked integrated circuits and method therefor |
US20080016269A1 (en) | 2004-03-17 | 2008-01-17 | Super Talent Electronics Inc. | Flash / Phase-Change Memory in Multi-Ring Topology Using Serial-Link Packet Interface |
US20090009406A1 (en) | 2007-07-02 | 2009-01-08 | Te-Yi Chu | Miniature combo built-in antenna structure |
US7739526B2 (en) | 2005-03-16 | 2010-06-15 | International Business Machines Corporation | System for regulating system power by controlling memory usage based on an overall system power measurement |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4014A (en) * | 1845-04-26 | Improvement in machines for skimming liquids | ||
US8397011B2 (en) * | 2007-10-05 | 2013-03-12 | Joseph Ashwood | Scalable mass data storage device |
-
2008
- 2008-01-11 US US12/013,148 patent/US8594110B2/en not_active Expired - Fee Related
- 2008-11-26 CN CN200880124561.5A patent/CN101971574B/en not_active Expired - Fee Related
- 2008-11-26 KR KR1020107016557A patent/KR101507196B1/en active IP Right Grant
- 2008-11-26 EP EP08869521A patent/EP2243257A1/en not_active Withdrawn
- 2008-11-26 JP JP2010542225A patent/JP2011509634A/en active Pending
- 2008-11-26 WO PCT/US2008/084869 patent/WO2009088574A1/en active Application Filing
-
2009
- 2009-01-09 TW TW098100742A patent/TWI457765B/en not_active IP Right Cessation
-
2013
- 2013-09-10 JP JP2013187109A patent/JP5678310B2/en not_active Expired - Fee Related
- 2013-10-18 US US14/057,102 patent/US8902910B2/en not_active Expired - Fee Related
Patent Citations (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4663706A (en) | 1982-10-28 | 1987-05-05 | Tandem Computers Incorporated | Multiprocessor multisystem communications network |
US4617566A (en) | 1983-12-15 | 1986-10-14 | Teleplex Corporation | Addressable-port, daisy chain telemetry system with self-test capability |
US5243703A (en) | 1990-04-18 | 1993-09-07 | Rambus, Inc. | Apparatus for synchronously generating clock signals in a data processing system |
US5204669A (en) | 1990-08-30 | 1993-04-20 | Datacard Corporation | Automatic station identification where function modules automatically initialize |
US5319598A (en) | 1990-12-10 | 1994-06-07 | Hughes Aircraft Company | Nonvolatile serially programmable devices |
US5132635A (en) | 1991-03-05 | 1992-07-21 | Ast Research, Inc. | Serial testing of removable circuit boards on a backplane bus |
US5430859A (en) | 1991-07-26 | 1995-07-04 | Sundisk Corporation | Solid state memory system including plural memory chips and a serialized bus |
US6715044B2 (en) | 1991-07-26 | 2004-03-30 | Sandisk Corporation | Device and method for controlling solid-state memory system |
US6594183B1 (en) | 1991-09-13 | 2003-07-15 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US5502289A (en) | 1992-05-22 | 1996-03-26 | National Semiconductor Corporation | Stacked multi-chip modules and method of manufacturing |
EP0607546A2 (en) | 1992-12-29 | 1994-07-27 | International Business Machines Corporation | Apparatus for fiber distributed data interface dynamic station bypass via skipping and hopping |
US5841974A (en) | 1993-04-02 | 1998-11-24 | University Research Foundation, Inc. | Ultra high speed data collection, processing and distriubtion ring with parallel data paths between nodes |
US5323060A (en) | 1993-06-02 | 1994-06-21 | Micron Semiconductor, Inc. | Multichip module having a stacked chip arrangement |
US5602780A (en) | 1993-10-20 | 1997-02-11 | Texas Instruments Incorporated | Serial to parallel and parallel to serial architecture for a RAM based FIFO memory |
US5452259A (en) | 1993-11-15 | 1995-09-19 | Micron Technology Inc. | Multiport memory with pipelined serial input |
US5475854A (en) | 1994-01-28 | 1995-12-12 | Vlsi Technology, Inc. | Serial bus I/O system and method for serializing interrupt requests and DMA requests in a computer system |
US5404460A (en) | 1994-01-28 | 1995-04-04 | Vlsi Technology, Inc. | Method for configuring multiple identical serial I/O devices to unique addresses through a serial bus |
US5740379A (en) | 1994-08-19 | 1998-04-14 | Siemens Aktiengesellschaft | Method for generating unique addresses for electrical devices from input bit patterns being verifiable for admissibility |
US5671178A (en) | 1995-02-04 | 1997-09-23 | Samsung Electronics Co., Ltd. | Erase verifying circuit for a nonvolatile semiconductor memory with column redundancy |
US5778419A (en) | 1995-08-16 | 1998-07-07 | Microunity Systems Engineering, Inc. | DRAM with high bandwidth interface that uses packets and arbitration |
US5802399A (en) | 1995-09-22 | 1998-09-01 | Sharp Kabushiki Kaisha | Data transfer control unit for reducing memory requirements in an information processor by converting bit width of data being transferred between memory and processing parts |
US5777345A (en) | 1996-01-03 | 1998-07-07 | Intel Corporation | Multi-chip integrated circuit package |
US5828899A (en) | 1996-01-04 | 1998-10-27 | Compaq Computer Corporation | System for peripheral devices recursively generating unique addresses based on the number of devices connected dependent upon the relative position to the port |
US5941974A (en) | 1996-11-29 | 1999-08-24 | Motorola, Inc. | Serial interface with register selection which uses clock counting, chip select pulsing, and no address bits |
US5859809A (en) | 1996-12-31 | 1999-01-12 | Hyundai Electronics Industries Co., Ltd. | Semiconductor device of daisy chain structure having independent refresh apparatus |
US6392991B1 (en) | 1997-07-08 | 2002-05-21 | Canon Kabushiki Kaisha | Communication network, node apparatus used in the network, and their control method |
US20030043855A1 (en) | 1997-11-12 | 2003-03-06 | Takashisa Yamamoto | Communication network, and node device used therein and control method therefor |
US6148364A (en) | 1997-12-30 | 2000-11-14 | Netlogic Microsystems, Inc. | Method and apparatus for cascading content addressable memory devices |
US6002638A (en) | 1998-01-20 | 1999-12-14 | Microchip Technology Incorporated | Memory device having a switchable clock output and method therefor |
US6144576A (en) | 1998-08-19 | 2000-11-07 | Intel Corporation | Method and apparatus for implementing a serial memory architecture |
US6304921B1 (en) | 1998-12-07 | 2001-10-16 | Motorola Inc. | System for serial peripheral interface with embedded addressing circuit for providing portion of an address for peripheral devices |
US6680904B1 (en) | 1999-12-27 | 2004-01-20 | Orckit Communications Ltd. | Bi-directional chaining of network access ports |
US6944697B2 (en) | 2000-05-17 | 2005-09-13 | Silicon Laboratories, Inc. | Serial device daisy chaining method and apparatus |
US6816933B1 (en) | 2000-05-17 | 2004-11-09 | Silicon Laboratories, Inc. | Serial device daisy chaining method and apparatus |
US6317350B1 (en) | 2000-06-16 | 2001-11-13 | Netlogic Microsystems, Inc. | Hierarchical depth cascading of content addressable memory devices |
US6779072B1 (en) | 2000-07-20 | 2004-08-17 | Silicon Graphics, Inc. | Method and apparatus for accessing MMR registers distributed across a large asic |
US6317352B1 (en) | 2000-09-18 | 2001-11-13 | Intel Corporation | Apparatus for implementing a buffered daisy chain connection between a memory controller and memory modules |
US6853557B1 (en) | 2000-09-20 | 2005-02-08 | Rambus, Inc. | Multi-channel memory architecture |
US6658509B1 (en) | 2000-10-03 | 2003-12-02 | Intel Corporation | Multi-tier point-to-point ring memory interface |
US20020188781A1 (en) | 2001-06-06 | 2002-12-12 | Daniel Schoch | Apparatus and methods for initializing integrated circuit addresses |
US6996644B2 (en) | 2001-06-06 | 2006-02-07 | Conexant Systems, Inc. | Apparatus and methods for initializing integrated circuit addresses |
US20030014462A1 (en) | 2001-06-08 | 2003-01-16 | Bennett Andrew Jonathan | Method and system for efficient distribution of network event data |
US7262506B2 (en) | 2001-06-21 | 2007-08-28 | Micron Technology, Inc. | Stacked mass storage flash memory package |
US20070064629A1 (en) | 2001-07-09 | 2007-03-22 | Zvi Regev | High speed ring/bus |
US7180778B2 (en) | 2001-07-17 | 2007-02-20 | Kabushiki Kaisha Toshiba | Semiconductor storage device having page copying function |
TW532011B (en) | 2001-09-21 | 2003-05-11 | Jiun-Sheng Chen | Network topology structure on board of computer cluster |
US6928501B2 (en) | 2001-10-15 | 2005-08-09 | Silicon Laboratories, Inc. | Serial device daisy chaining method and apparatus |
US6763426B1 (en) | 2001-12-27 | 2004-07-13 | Cypress Semiconductor Corporation | Cascadable content addressable memory (CAM) device and architecture |
US20040001380A1 (en) | 2002-06-28 | 2004-01-01 | Oswald Becca | Method and apparatus for interconnecting content addressable memory devices |
US20040024960A1 (en) | 2002-07-31 | 2004-02-05 | Lawrence King | CAM diamond cascade architecture |
US6853573B2 (en) | 2002-09-02 | 2005-02-08 | Samsung Electronics Co., Ltd. | Non-volatile semiconductor memory device for connecting to serial advanced technology attachment cable |
US7032039B2 (en) | 2002-10-30 | 2006-04-18 | Atmel Corporation | Method for identification of SPI compatible serial memory devices |
US20040148482A1 (en) | 2003-01-13 | 2004-07-29 | Grundy Kevin P. | Memory chain |
US20040230752A1 (en) | 2003-05-12 | 2004-11-18 | International Business Machines Corporation | Bus protocol for a "switchless" distributed shared memory computer system |
US20050166006A1 (en) | 2003-05-13 | 2005-07-28 | Advanced Micro Devices, Inc. | System including a host connected serially in a chain to one or more memory modules that include a cache |
US7309923B2 (en) | 2003-06-16 | 2007-12-18 | Sandisk Corporation | Integrated circuit package having stacked integrated circuits and method therefor |
CN1581838A (en) | 2003-08-06 | 2005-02-16 | 三星电子株式会社 | IEEE 1394-based unidirectional ring system for indoor backbone network |
US20050030902A1 (en) | 2003-08-06 | 2005-02-10 | Do-In Choi | IEEE 1394-based unidirectional ring system for indoor backbone network |
US7130958B2 (en) | 2003-12-02 | 2006-10-31 | Super Talent Electronics, Inc. | Serial interface to flash-memory chip using PCI-express-like packets and packed data for partial-page writes |
US7031221B2 (en) | 2003-12-30 | 2006-04-18 | Intel Corporation | Fixed phase clock and strobe signals in daisy chained chips |
TWI264956B (en) | 2004-03-12 | 2006-10-21 | Univ Nat Chiao Tung | Method for performing access point handoff for mobile node |
US7475174B2 (en) | 2004-03-17 | 2009-01-06 | Super Talent Electronics, Inc. | Flash / phase-change memory in multi-ring topology using serial-link packet interface |
US20080016269A1 (en) | 2004-03-17 | 2008-01-17 | Super Talent Electronics Inc. | Flash / Phase-Change Memory in Multi-Ring Topology Using Serial-Link Packet Interface |
US20060031593A1 (en) | 2004-08-09 | 2006-02-09 | Sinclair Alan W | Ring bus structure and its use in flash memory systems |
JP2006079618A (en) | 2004-09-08 | 2006-03-23 | Hewlett-Packard Development Co Lp | High-availability cluster node removal and communication |
US6950325B1 (en) | 2004-10-07 | 2005-09-27 | Winbond Electronics Corporation | Cascade-connected ROM |
US20060140150A1 (en) | 2004-11-05 | 2006-06-29 | Interdigital Technology Corporation | Wireless communication method and system for implementing media independent handover between technologically diversified access networks |
US20060104270A1 (en) | 2004-11-16 | 2006-05-18 | Inching Chen | Method and apparatus for communicating within a segmented network |
US20060146821A1 (en) | 2004-12-30 | 2006-07-06 | Nokia Inc. | Virtual multicast routing for a cluster having state synchronization |
JP2006202280A (en) | 2004-12-30 | 2006-08-03 | Nokia Inc | Virtual multicast routing for cluster having state synchronization |
KR20060079117A (en) | 2004-12-30 | 2006-07-05 | 노키아 인크 | Virtual multicast routing for a cluster having state synchronization |
US7739526B2 (en) | 2005-03-16 | 2010-06-15 | International Business Machines Corporation | System for regulating system power by controlling memory usage based on an overall system power measurement |
TWI283978B (en) | 2005-09-27 | 2007-07-11 | Alpha Networks Inc | A dynamic wireless meshing networks supporting load balance and flow control |
US20070109833A1 (en) | 2005-09-30 | 2007-05-17 | Pyeon Hong B | Daisy chain cascading devices |
US20070076502A1 (en) | 2005-09-30 | 2007-04-05 | Pyeon Hong B | Daisy chain cascading devices |
US20070076479A1 (en) | 2005-09-30 | 2007-04-05 | Mosaid Technologies Incorporated | Multiple independent serial link memory |
US20070234071A1 (en) | 2006-03-28 | 2007-10-04 | Mosaid Technologies Incorporated | Asynchronous ID generation |
US20070233903A1 (en) | 2006-03-28 | 2007-10-04 | Hong Beom Pyeon | Daisy chain cascade configuration recognition technique |
US20090009406A1 (en) | 2007-07-02 | 2009-01-08 | Te-Yi Chu | Miniature combo built-in antenna structure |
Non-Patent Citations (17)
Title |
---|
"A Practical Guide to Serial Storage Architecture for AIX", 1-196, Jul. 1, 1996. |
Diamond, Steven L., "Synclink: High-Speed DRAM for the Future", Micro Standards, IEEE Micro, Dec. 1996, 74-75. |
Erciyes, Kayhan, "Distributed Mutual Exclusion Algorithms on a Ring of Clusters", Lecture Notes in Computer Science Dept. 2004, 1-10. |
Final Office Action dated Apr. 26, 2012; U.S. Appl. No. 12/013,148, filed Jan. 11, 2008; 24 pages. |
Final Office Action dated Apr. 4, 2013; U.S. Appl. No. 12/013,148, filed Jan. 11, 2008; 26 pages. |
Final Office Action dated Mar. 1, 2011; U.S. Appl. No. 12/013,148, filed Jan. 11, 2008; 20 pages. |
IEEE Standard for a High Perfomance Serial Bus; IEEE Std. 1394-1995, 392 pages, Jul. 22, 1996. |
IEEE Standard for High-Bandwidth Memory Interface Based on Scalable Coherent Interface (SCI) Signaling Technology (RAMLINK), IEEE Std. 1596.4-1996, The Institute of Electrical Electronics Engineers, Inc., 98 pages, Mar. 19, 1996. |
Kennedy, Joseph et al, "A 2GB/S Point to Point Heterogeneous Voltage Capagle DRAM Interface for Capacity-Scalable Memory Subsystems" ISSCC 2004/ Session 1/ DRAM/ 11.8, IEEE International Solid-State Circuits Conference, 1-10, Feb. 15, 2004. |
King, Craig, L. et al, "Communicating With Daisy Chained MCP42XXX Digital Potentiometers" Microchip AN747, 1-8, Jan. 30, 2001. |
Notice of Allowance dated Jul. 19, 2013; U.S. Appl. No. 12/013,148, filed Jan. 11, 2008; 13 pages. |
Office Action dated Aug. 5, 2010; U.S. Appl. No. 12/013,148, filed Jan. 11, 2008; 21 pages. |
Office Action dated Oct. 17, 2011; U.S. Appl. No. 12/013,148, filed Jan. 11, 2008; 19 pages. |
Office Action dated Oct. 25, 2012; U.S. Appl. No. 12/013,148, filed Jan. 11, 2008; 20 pages. |
Oshima, Y. et al, "High-Speed Memory Architectures for Multimedia Applications-Meeting The Requirements of Higher Performance", Circuits and Devices, IEEE 8755-3996/97, Jan. 1997, 8-13,. |
Przybylski, Steven A.; U.S. Appl. No. 12/013,148, filed Jan. 11, 2008; Ring-Of-Clusters Network Topolgies. |
Taiwanese Search Report; Application No. 098100742; Dec. 23, 2013; 1 page. |
Also Published As
Publication number | Publication date |
---|---|
JP5678310B2 (en) | 2015-03-04 |
WO2009088574A9 (en) | 2009-10-08 |
KR20100126665A (en) | 2010-12-02 |
CN101971574A (en) | 2011-02-09 |
CN101971574B (en) | 2015-01-21 |
JP2014014160A (en) | 2014-01-23 |
TWI457765B (en) | 2014-10-21 |
EP2243257A1 (en) | 2010-10-27 |
US20090180483A1 (en) | 2009-07-16 |
US20140115190A1 (en) | 2014-04-24 |
KR101507196B1 (en) | 2015-03-31 |
WO2009088574A1 (en) | 2009-07-16 |
JP2011509634A (en) | 2011-03-24 |
US8594110B2 (en) | 2013-11-26 |
TW200939036A (en) | 2009-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8902910B2 (en) | Ring-of-clusters network topologies | |
US7640386B2 (en) | Systems and methods for providing memory modules with multiple hub devices | |
US7593288B2 (en) | System for providing read clock sharing between memory devices | |
US7952944B2 (en) | System for providing on-die termination of a control signal bus | |
US7395485B2 (en) | Check codes mapped across multiple frames | |
US7957173B2 (en) | Composite memory having a bridging device for connecting discrete memory devices to a system | |
US7219294B2 (en) | Early CRC delivery for partial frame | |
CN101405708B (en) | Memory systems for automated computing machinery | |
US7269088B2 (en) | Identical chips with different operations in a system | |
US20070025131A1 (en) | Semiconductor memory module and system | |
CN112513827A (en) | High bandwidth chip-to-chip interface using HBM physical interface | |
US20100005214A1 (en) | Enhancing bus efficiency in a memory system | |
US20090187794A1 (en) | System and method for providing a memory device having a shared error feedback pin | |
EP1683019A2 (en) | Lane testing with variable mapping | |
US20230359526A1 (en) | Fault tolerant memory systems and components with interconnected and redundant data interfaces | |
EP2052308A2 (en) | Distributed autonomous power management in a memory system | |
TW201411482A (en) | Ring topology status indication | |
TW202318183A (en) | Devices using chiplet based storage architectures | |
CN112286842A (en) | Bus for interconnecting memory controller and memory device | |
CN116501668A (en) | Apparatus using chiplet-based memory architecture | |
WO2013185293A1 (en) | Serial bus memory and serial bus transmission system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
AS | Assignment |
Owner name: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC., CANADA Free format text: CHANGE OF NAME;ASSIGNOR:MOSAID TECHNOLOGIES INCORPORATED;REEL/FRAME:032457/0560 Effective date: 20140101 Owner name: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC., Free format text: CHANGE OF NAME;ASSIGNOR:MOSAID TECHNOLOGIES INCORPORATED;REEL/FRAME:032457/0560 Effective date: 20140101 |
|
AS | Assignment |
Owner name: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC., CANADA Free format text: CHANGE OF ADDRESS;ASSIGNOR:CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.;REEL/FRAME:033678/0096 Effective date: 20140820 Owner name: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC., Free format text: CHANGE OF ADDRESS;ASSIGNOR:CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.;REEL/FRAME:033678/0096 Effective date: 20140820 |
|
AS | Assignment |
Owner name: ROYAL BANK OF CANADA, AS LENDER, CANADA Free format text: U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS);ASSIGNOR:CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.;REEL/FRAME:033706/0367 Effective date: 20140611 Owner name: CPPIB CREDIT INVESTMENTS INC., AS LENDER, CANADA Free format text: U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS);ASSIGNOR:CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.;REEL/FRAME:033706/0367 Effective date: 20140611 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC., Free format text: RELEASE BY SECURED PARTY;ASSIGNORS:CPPIB CREDIT INVESTMENTS INC.;ROYAL BANK OF CANADA;REEL/FRAME:034979/0850 Effective date: 20150210 |
|
AS | Assignment |
Owner name: NOVACHIPS CANADA INC., CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.;REEL/FRAME:035102/0702 Effective date: 20150129 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL) |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551) Year of fee payment: 4 |
|
AS | Assignment |
Owner name: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC., CANADA Free format text: RELEASE OF U.S. PATENT AGREEMENT (FOR NON-U.S. GRANTORS);ASSIGNOR:ROYAL BANK OF CANADA, AS LENDER;REEL/FRAME:047645/0424 Effective date: 20180731 Owner name: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC., Free format text: RELEASE OF U.S. PATENT AGREEMENT (FOR NON-U.S. GRANTORS);ASSIGNOR:ROYAL BANK OF CANADA, AS LENDER;REEL/FRAME:047645/0424 Effective date: 20180731 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20221202 |