What is reflective memory?
A Reflective Memory network is a special type of shared memory system designed to enable multiple, separate computers (nodes) to share a common set of data.
Reflective memory network nodes place an independent copy of the entire shared memory set in 128 MB pages in each attached system node. Each attached system node has full, unrestricted rights to access and change this set of local data at the full speed of writing to local memory.
When data is written to the local copy of Reflective Memory, high speed FPGA logic simultaneously sends it to the next node on the ring network. Each subsequent node simultaneously writes this new data to its local copy and sends it on to the next node on the ring. When the message arrives back at the originating node, it is removed from the network and, depending on the specific hardware and number of nodes, every computer on the network has the same data at the same address within a few microseconds. Local processors can read this data at any time without network access. In this data transfer scheme, each computer always has an up-to-date local copy of the shared memory set. In the four-node example shown, it takes 2.1 μs for all computers to receive the data that was written to Reflective Memory*.
*This latency is calculated assuming no network traffic, short cable lengths and the largest packet size possible. Cable length and network traffic can cause the latency to increase, but as long as the bandwidth of the network is not exceeded, the latency should not increase significantly.
Where Do I Use Reflective Memory?
Reflective Memory may be used in any application that uses Ethernet, Fiber Channel, or other serial networks to connect computers or Programmable Logic Controllers (PLCs) together.
Reflective Memory is most relevant in systems where interaction in real time is a primary concern. In systems where determinism, low latency, and high-speed communication are necessary, Reflective Memory boards, while typically more expensive than lower performance hardware, provide a huge return in performance with the added benefit of ease of use.
Why Would I Choose Reflective Memory?
Reflective Memory LANs or Real-time Networks are usually constructed because the designer has needs or problems that are solved by one or more of the following Reflective Memory board characteristics:
- Deterministic data transfers
- High-speed performance
- Ease of use
- Operating system and processor independence
- Economics and available time-to-build systems
- Advantages over Standard LAN Technologies