2012年6月12日 星期二

ioMemory virtual storage layer

http://www.fusionio.com/overviews/vsl-technical-overview/ 轉


 有了virtual memory subsystem,當main meory不足夠的時候可以把某些 "page” swap出到secondary storage,
通常是HDD; 如今SSD開始進攻,此 subsystem也該做一下最佳化了吧~~

yes, fusion IO did it as followed:

@ 原本的page table 變成 block table 。
另外這個translation的動作也從 device 移到 host上去做。

---------片段----

With the addition of VSL, the Fusion ioMemory architecture now brings the full disruptive potential of solid state memory to the enterprise.

A HYBRID ARCHITECTURE

Fusion's VSL is a flash-based subsystem to accelerate today's enterprise-class operating systems. It virtualizes NAND flash arrays, combining key elements of the two pillars of modern operating systems: the I/O subsystem and the virtual memory subsystem.
VSL combines the advantages of a virtual memory architecture with a transactional file system approach on an array of NAND flash.

I/O SUBSYSTEM EMULATION

The I/O subsystem in today's operating systems includes a common interface for block-based applications, such as file systems, volume managers, and applications, to access persistent data (storage). VSL utilizes this block interface to present ioMemory modules (i.e. ioDrives) to the operating system as easily accessible block-based storage that existing file systems, volume managers, and applications can use just like a conventional disk.

VIRTUAL MEMORY SUBSYSTEM EMULATION

The virtual memory subsystem abstracts logical data addresses from their physical location by creating a directory of data locations. In modern OSs, a 64-bit virtual address space is used to organize and partition data used by the applications and users. Below this virtual address space lays the physical RAM, which has a much smaller address space. Operating systems and applications use this virtual interface to RAM (called the page table) to look up the physical location of data using a directory rather than requiring massive quantities of RAM just to satisfy each application's memory address space.
Similar to page tables in the host virtual memory subsystem, VSL virtualizes Flash via "block tables." VSL translates block requests to physical ioMemory addresses, also analogous to the virtual memory subsystem. It's important to note that these block tables are stored in host memory. This is a key advantage over other solid-state architectures (e.g. SSDs) that store block tables only in embedded RAM, where block tables are accessible only behind legacy storage protocols.

KEY BENEFITS OF VSL

  • Direct storage Access. With VSL, the CPU seamlessly interacts with ioMemory as though it were just another memory tier below DRAM. VSL provides direct access from each CPU core to the Flash media across the system bus, independent of other cores, and in parallel. This access results in extremely low latency, near linear performance scaling, and minimal performance degradation with mixed read/write workloads.
Without VSL, SSDs must serialize access through RAID controllers and use embedded processors to perform block mapping. As data is copied and re-copied through multiple layers of memory and embedded processors, the result is unnecessary context switching, queuing bottlenecks, and I/O storms, which all increase latency.

沒有留言:

張貼留言