Memory Flexibility

Choosing memory for an application depends on performance, reliability, scalability and cost requirements. An application in a large organization may need DRAM for the lower latency and higher IOPS. In a smaller organization, the same application may run very well from Flash.

Memory technologies are also constantly changing. Flash wasn’t interesting a few years ago, but price reductions and capacity increases now make it viable in the data center. In a few years, one of the newer memory technologies like Phase Change Memory or Memristors may become available and have even better characteristics than Flash.

Violin Switched Memory (VXM) is designed to support any memory technology. DRAM and Single Level Cell (SLC) Flash are the initially supported memory types. Other memories including MLC Flash are planned for the future.

Which is the right technology for your application?

The choice of memory requires an understanding of the applications and the latency, IOPS, block size, capacity and persistence required. The following table summarizes the differences:

Memory type DRAM SLC Flash
Size

500GB per 2U,
Ideal <1TB

4TB per 2U,
Ideal >1TB

Cost

< $250/GB

< $60 per GB

Latency (Read)

3 microseconds

70–300 microseconds

Latency (Write)

3 microseconds

> 200 microseconds

IOPS (Random Write)

100K–3Million

10K–100K

Block Size

128 Bytes or greater

4Kbytes or greater

Persistence

Needs software & UPS

Inherent

As a simpler rule of thumb:

DRAM is better for smaller databases with smaller objects (indices, metadata, and text) and very high performance requirements.

Flash is better for larger file systems and databases with larger objects (files, images, videos).