Primary Storage Architected for Flash
- At the system’s core lies a resilient, highly available deep mesh of thousands of flash dies that work in concert to continuously optimize performance, latency, and longevity.
- Violin Intelligent Memory Modules (VIMM) organize this mesh of individual dies into intelligent flash management units. VIMMs provide a hardware-based Flash Translation Layer with garbage collection, wear leveling, and error/fault management.
- VIMMs are integrated into the patented Violin Switched Memory (vXM) architecture, designed from the ground-up for power efficiency and performance.
- Finally, VIMMs and the vXM layer work in conjunction with vRAID, Violin’s patented hardware-based RAID algorithm specifically designed to increase reliability and reduce latency.
Collectively, these deeply integrated layers – the mesh of flash dies organized into VIMMs integrated with vXM and overlain by vRAID – make up the Violin Flash Memory Fabric.
Violin’s Flash Memory Fabric works with the Violin Memory Operating System (vMOS) to enable profoundly reliable, highly available storage at the speed of memory that offers multiple industry leading benefits:
- Spike-free Low Latency – The Violin Flash Memory Fabric delivers spike-free and predictable latency that is 95% lower than hard disk drives (HDD) and 70% lower than SSD (flash in an HDD form) and PCIe card solutions.
- High Bandwidth – A single Violin flash Memory Array supports over 4000 flash devices and 500 independent flash interfaces. This provides the bandwidth needed for outstanding flash performance with 4 times greater bandwidth than other storage systems and 50 times greater than most SSDs.
- Extreme Reliability – All active components of the Flash Memory Fabric are hot-swappable for enterprise grade reliability and serviceability.
Violin Intelligent Memory Module
Violin Intelligent Memory Modules function as a hardware-based Flash Translation Layer within the Flash Memory Fabric, providing garbage collection, wear leveling, and error/fault management. Data is written and read to and from VIMMs. Each VIMM operates its own instance of a Flash Translation Layer. Data is written to VIMMs using the Logical Page Address (LPA), which assigns the page to a Physical Page Address (PPA) within the Flash of the VIMM. Metadata is used to map between logical addresses and physical addresses. Each VIMM includes:
- High-performance logic-based flash memory controller
- Management processor
- DRAM for metadata
- NAND flash for storage
VIMMs are designed to enable the scalability of large arrays of flash memory. The advantages of this architecture over a simple PCIe card are significant:
- Integrated garbage collection for sustained write performance
- Low latency access to DRAM metadata and flash memory
- Safe access and local storage of metadata for fault recovery
- Integrated monitoring and management of flash memory health
- Distributed ECC correction for maximum bandwidth
- Hot swap and redundancy management
- 3 port design so that single port failures do not impact data access. Unlike most SSDs and PCIe cards, a failed flash device does not cause a VIMM to lose data or be taken out of service. ECC and RAID protection are used to manage the data.
VIMMs work in conjunction with Violin Memory’s patented vRAID to ensure a very high degree of system availability and data integrity using multiple techniques, including:
- Data protection: Robust Error Correction Code (ECC) and Cyclic Redundancy Check (CRC) algorithms detect and correct bit errors in the system.
- Data validation: Extra data is stored with each block of flash so that invalid data is detected rather than passed on.
- Data scrubbing: All data in the system is read on a weekly basis and scanned for errors. Any errors found are then repaired. Violin does this without any noticeable impact on user performance. It greatly reduces data loss rates and increases data endurance.
- Flash wear leveling: The Violin array distributes data reads and writes evenly to all the flash devices in all the modules of a system. No specific Logical Unit (LUN) is tied to a specific module and hence active LUNs do not wear out specific flash devices.
- Flash monitoring: All read, write, and error statistics are captured and reported. VIMMs behaving below specification are automatically taken out of service and the error events logged. The data from that VIMM is moved to a spare VIMM using the vRAID algorithm to rebuild the data. This is done in the background without administrative intervention or any significant impact on access to user data. The system may have one to four spares and hence replacement of the module is not an urgent requirement and may be hot-swapped monthly or quarterly.
The combination of VIMMs and vRAID resolve the issues of flash errors, reliability, and wear and deliver an enterprise-grade flash array with a far greater life expectancy than typical HDD arrays. For example, Violin flash Memory Arrays using SLC NAND flash can sustain a write rate of 8TB/hour – greater than 2GB/s – for over 10 years. The truth is, in all the time that Violin Memory has been shipping flash arrays, no customer has worn out a VIMM. They have failed due to component failures, but typical enterprise use has resulted in wear rates of significantly less than 10% per year. It may be 10 years before Violin Memory sees any VIMM wear out.
Low Latency Flash vRAID
Other solid state storage solutions and architectures, such as SSDs and PCIe cards, use processors and software to perform RAID, page mapping, and garbage collection. Violin implements these functions in hardware to reduce latency and dramatically increase sustained random Write IOPS from less than 10,000 to more than a million.
Violin’s patent-pending flash vRAID technology, designed specifically to enhance NAND flash system performance, provides full RAID data protection and a fundamentally more efficient and higher performance solution. Existing RAID 5 and 6 solutions rely on Read-Modify-Write operations that are unsuited to flash. Unlike inefficient RAID 1 (50% efficient) solutions, Violin’s vRAID enables 80% usable capacity and bandwidth.
vRAID guarantees spike-free latency under load by making sure there aren’t any reads blocked by erases. Notably, microsecond latency of the Violin 6000 Series flash Memory Array is 80% lower than Tier-1 storage cache (DRAM) and significantly improves metrics such as File Read & Write, response, and query times.
➲ Subscribe to Newsletter
Violin Memory’s Products
- 3000 Series Flash Memory Arrays
- 6000 Series Flash Memory Arrays
- Force Memory Appliance
- Performance Benchmarks
- Technology Architecture
- Velocity PCIe Flash Memory Cards
- Violin Maestro Memory Software Suite
- Violin Symphony
- vMOS: Violin Memory Operating System
❝ We had some big jobs with millions of records and updates. We deployed the Violin array and everything changed. That was staggering. ❞
~VP of Operations, Stanley Wu, Violin customer DataQuick
❝ The ultimate software optimization is hardware. ❞
~Larry Ellison, Oracle