Almost all waveform digitize boards and oscilloscopes on the market share a common architecture for data storage: analog signals are converted to digital, and the resulting data stream is stored in traditional high speed memory. Once this capture is done, the data is analyzed by a computer for display, storage or signal processing. This memory architecture can be called Single Port Memory.

Single Port Memory is best defined by the following graphic:

Single Port Memory


There is one major drawback of this architecture: data can only be consumed (analyzed or stored) after the acquisition has finished. A corollary of this is that no new data can be captured into the high speed memory until the user’s software has finished consuming the data.

Yet, many applications require continuous, gapless measurement of analog signals. More importantly, OEMs need their waveform digitizer to work continuously for an infinite length of time. Think of an imaging system used by a surgeon: it must run continuously to provide the surgeon with immediate feedback.

One way to look at the problem is to compare a film-based camera that could only take a snapshot of the image in front of it to a modern video camera that can record the entire scene. A video camera will give you a much better chance of capturing a picture of your daughter scoring that goal!


In speaking with our customers, we realized the need for a better solution. In 2005, we invented Dual Port Memory for our line of PCI bus waveform digitizers.

This invention was made necessary by customer requirements for continuous monitoring of RF signals. Soon after, we realized that many other customers, particularly in bio-medical imaging, also needed this type real-time data acquisition. Since then, the list of applications that can take advantage of this technology has grown to include SS-OCT imaging, Fiber sensing, Quantum Computing, Radar signal analysis, Lidar, Two Photon Spectroscopy…

AlazarTech’s Dual Port Memory solution can be summarized in the following graphic:

AlazarTech dual port memory

AlazarTech’s Dual Port Memory technology is more than just adding a Dual Port Memory IC on the circuit board. A custom PCI Express DMA engine was designed that can guarantee continuous, gapless DMA over the bus.

A fully asynchronous device driver was created for Windows and Linux that communicates with the DMA engine, manages a buffer queue and provides a simple, high level API that users can deploy in their software without having to worry about what is under the hood.

Note that the buffers shown in the graphic above are buffers allocated by user application and exist in user space. This means that user can consume the data immediately after the end of a DMA transfer.

Some of our competitors claim to have Dual Port Memory, but they can stream data only to kernel mode memory, requiring data to be copied to a user buffer under CPU control. This results in slower data throughput.


Dual Port Memory allows users to:

  •  Stream very large gapless data across PCI and PCI Express bus for storage in fast disk drives

Acquiring analog signals using SINGLE PORT MEMORY
results in short snapshots of the data taken at intermittent times.

Acquiring the same signals using AlazarTech`s DUAL PORT MEMORY allows users to capture the full picture, without any breaks. This is why this type of signal acquisition is also referred to as GAPLESS STREAMING.

  •  Acquire image data for an infinite duration to provide real-time imaging systems for biomedical or other applications

  •  Provide ability to perform real-time DSP on acquired data using host CPU or GPU