Memory Elements
Basic memory components in digital systems: latches, SRAM, DRAM, and ROM types.
The Role of Memory in Network Devices
At the heart of every modern network switch or router lies a sophisticated system of memory. Memory elements are not just for storing data; they are critical for the entire process of packet and cell switching. Their primary role is to temporarily store data units (packets, cells) to handle contention-situations where multiple data streams compete for the same output link. This temporary storage is known as buffering.
Network memory can be broadly categorized into two types: traditional electronic memory (like RAM), and specialized optical memory, which addresses the unique challenges of all-optical networking.
Electronic Memory in a Modern Router
A contemporary switching node, such as an IP router, utilizes several types of electronic memory, each with a distinct function, to manage its operations.
- : This is the router's active workspace. It stores critical, temporary information such as the current running configuration, routing tables (maps of the network), and most importantly, packet buffers. When packets arrive faster than they can be sent out, they are queued in RAM.
- : ROM holds the initial boot-up software. It contains essential instructions to start the router and find the main operating system, similar to the BIOS in a personal computer.
- : This is the permanent storage for the router's operating system and saved configuration files. Unlike RAM, Flash is non-volatile, meaning it retains its data even when the power is turned off.
Buffering Strategies in Electronic Switches
In ATM and high-speed packet switching, the way cells or packets are buffered significantly impacts performance. Buffering is essential to resolve contention, where multiple inputs want to send data to the same output simultaneously. The location and logic of the buffer define the switch's architecture.
1. Input Buffering and HOL Blocking
In this model, each input port has its own buffer to store incoming packets. An arbiter decides which input gets to transmit to an output in each time slot. While simple, this architecture suffers from a major drawback: . To solve this, advanced switches use Virtual Output Queues (VOQ), where each input port maintains a separate queue for each output port, eliminating HOL blocking.
2. Output Buffering
Here, packets are immediately passed through the switching fabric to a buffer located at each output port. This method completely avoids HOL blocking. However, it requires the switching fabric and the output buffer memory to operate times faster than the input line rate (where is the number of ports), as up to packets could arrive for the same output simultaneously. This makes it technologically demanding and expensive for large switches.
3. Shared Memory Buffering
This is a highly efficient architecture where a single, central memory buffer is shared by all input and output ports. Incoming packets are written into this shared memory, and a control unit manages pointers to create logical queues for each output port. The memory is dynamically allocated, leading to optimal use of buffer space. It also requires a memory speed of times the line rate for reads and writes.
The Challenge and Solution of Optical Buffering
All-optical packet switching promises enormous speeds by keeping data in the form of light, avoiding slow electronic conversions. However, it faces a fundamental problem: light cannot be easily "stopped" and stored. There is no cheap and common optical equivalent of electronic RAM.
The most common solution is the . Instead of storing a packet, it is sent on a detour through a precisely measured loop of fiber. This forces the packet to travel a longer distance, causing it to arrive at its destination at a later time, effectively "buffering" it.
Optical Buffer Architectures
- Traveling Type Buffers: These use a set of parallel FDLs, each with a different length corresponding to a different delay time (e.g., ). A packet requiring a certain delay is switched into the appropriate fiber loop.
- Recirculating Type Buffers: These use a single fiber loop. A packet can be made to circulate through the loop multiple times to achieve longer delays. This requires optical gates and switches to control the number of recirculations.
A key limitation is that typically only one packet can be written to or read from the buffer at any given moment. This can be overcome by applying WDM (Wavelength Division Multiplexing), where a single fiber loop can buffer multiple packets simultaneously on different wavelengths of light.