| Patent application number | Description | Published |
| 20080301379 | Shared memory architecture - Disclosed herein is an apparatus which may comprise a plurality of nodes. In one example embodiment, each of the plurality of nodes may include one or more central processing units (CPUs), a random access memory device, and a parallel link input/output port. The random access memory device may include a local memory address space and a global memory address space. The local memory address space may be accessible to the one or more CPUs of the node that comprises the random access memory device. The global memory address space may be accessible to CPUs of all the nodes. The parallel link input/output port may be configured to send data frames to, and receive data frames from, the global memory address space comprised by the random access memory device(s) of the other nodes. | 12-04-2008 |
| 20090113096 | HIGH BANDWIDTH SPLIT BUS - A system includes a first bus segment and a second bus segment. The first bus segment is operatively coupled to one or more first bus agents, where the first bus agents are configured for writing messages to the first bus segment and reading messages from the first bus segment and the second bus segment, which is separate from the first bus segment, is operatively coupled to one or more second bus agents. The first bus agents are configured for writing messages to the first bus segment and reading messages from the first bus segment. The system also includes first electrical circuitry operably coupled to the first bus segment and the second bus segment and configured to read messages written on the first bus segment and to write the messages onto the second bus segment and second electrical circuitry operably coupled to the first bus segment and the second bus segment and configured to read messages written on the second bus segment and to write the messages onto the first bus segment. | 04-30-2009 |
| 20090240874 | FRAMEWORK FOR USER-LEVEL PACKET PROCESSING - A method of processing network packets can include allocating a first portion of a physical memory device to kernel-space control and allocating a second portion of the physical memory device to direct user-space process control. Network packets can be received from a computer network, and the received network packets can be written to the second portion of the physical memory without writing the received packets to the first portion of the physical memory. The network packets can be processed with a user-space application program that directly accesses the packets that have been written to the second portion of physical memory, and the processed packets can be sent over the computer network | 09-24-2009 |
| 20090265485 | RING-BASED CACHE COHERENT BUS - Managing data traffic among three or more bus agents configured in a topological ring can include numbering each bus agent sequentially and injecting messages from the bus agents into the ring during cycles of bus agent activity, where the messages include a binary polarity value and a queue entry value. Messages are received from the ring into two or more receive buffers of a receiving bus agent. The value of the binary polarity value is changed after succeeding N cycles of bus ring activity, where N is the number of bus agents connected to the ring. The received messages are ordered for processing by the receiving bus agent based on at least in part on the polarity value of the messages and the queue entry value of the messages. | 10-22-2009 |
| 20100030910 | SoC DEVICE WITH INTEGRATED SUPPORTS FOR ETHERNET, TCP, iSCSi, RDMA AND NETWORK APPLICATION ACCELERATION - A method for processing data is disclosed and may include performing by one or more processors and/or circuits on a chip that handles a plurality of networking protocols, receiving data for one or more network connections corresponding to one or more of the plurality of networking protocols. The chip may be configured for handling the received data based on whether the one or more of the plurality of networking protocols associated with the received data includes transmission control protocol and/or remote direct memory access protocol. The received data may be processed based on the configuration. At least one RDMA marker may be removed from the received data when the received data includes the RDMA protocol, and/or the received data is processed based on a transmission control protocol session identification within the received data. | 02-04-2010 |
| 20100036930 | APPARATUS AND METHODS FOR EFFICIENT INSERTION AND REMOVAL OF MPA MARKERS AND RDMA CRC DIGEST - The invention relates to insertion and removal of MPA markers and RDMA CRCs in RDMA data streams, after determining the locations for these fields. An embodiment of the invention comprises a host interface, a transmit interface connected to the host interface, and a processor interface connected to both transmit and host interfaces. The host interface operates under the direction of commands received from the processor interface when processing inbound RDMA data. The host interface calculates the location of marker locations and removes the markers. The transmit interface operates under the direction of commands received from the processor interface when processing outbound RDMA data. The transmit interface calculates the positions in the outbound data where markers are to be inserted. The transmit interface then places the markers accordingly. | 02-11-2010 |
| 20100070718 | Memory management in a shared memory system - Methods, systems and computer program products to maintain cache coherency, in a System On Chip (SOC) which is part of a distributed shared memory system are described. A local SOC unit that includes a local controller and an on-chip memory is provided. In response to receiving a request from a remote controller of a remote SOC to access a memory location, the local controller determines whether the local SOC has exclusive ownership of the requested memory location, sends data from the memory location if the local SOC has exclusive ownership of the memory location and stores an entry in the on-chip memory that identifies the remote SOC as having requested data from the memory location. The entry specifies whether the request from the remote SOC is for exclusive ownership of the memory location. The entry also includes a field that identifies the remote SOC as the requester. The requested memory location may be external or internal to the local SOC unit. | 03-18-2010 |
| 20100106899 | Global address space management - Methods, systems and computer program products for global address space management are described herein. A System on Chip (SOC) unit configured for a global address space is provided. The SOC includes an on-chip memory, a first controller and a second controller. The first controller is enabled to decode addresses that map to memory locations in the on-chip memory and the second controller is enabled to decode addresses that map to memory locations in an off-chip memory. | 04-29-2010 |
| 20100115195 | HARDWARE MEMORY LOCKS - Methods, systems and computer program products to implement hardware memory locks are described herein. A system to implement hardware memory locks is provided. The system comprises an off-chip memory coupled to a SOC unit that includes a controller and an on-chip memory. Upon receiving a request from a requester to access a first memory location in the off-chip memory, the controller is enabled to grant access to modify the first memory location based on an entry stored in a second memory location of the on-chip memory. In an embodiment, the on-chip memory is Static Random Access Memory (SRAM) and the off-chip memory is Random Access Memory (RAM). | 05-06-2010 |
| 20110167226 | SHARED MEMORY ARCHITECTURE - Disclosed herein is an apparatus which may comprise a plurality of nodes. In one example embodiment, each of the plurality of nodes may include one or more central processing units (CPUs), a random access memory device, and a parallel link input/output port. The random access memory device may include a local memory address space and a global memory address space. The local memory address space may be accessible to the one or more CPUs of the node that comprises the random access memory device. The global memory address space may be accessible to CPUs of all the nodes. The parallel link input/output port may be configured to send data frames to, and receive data frames from, the global memory address space comprised by the random access memory device(s) of the other nodes. | 07-07-2011 |