Open Cache Acceleration Software (Open CAS), formerly Intel Cache Acceleration Software (Intel CAS), is computer data storage software for solid-state drive (SSD) caching. CAS manages SSD storage as a cache layer for slower backend storage (e.g., spinning hard drives), keeping a cached copy of recently used data in faster SSD storage to improve I/O performance. [1]
Open CAS is an open-source project encompassing block caching software libraries, adapters, and tools, hosted on GitHub under the BSD 3-Clause license. It originated as a proprietary product by Intel and was open-sourced in 2018. [2] [3]
CAS entered Intel's product line following Intel's August 2012 acquisition of Nevex Virtual Technologies, a Canadian startup. [4] Intel rebranded the Nevex CacheWorks product as Intel Cache Acceleration Software with the release of version 2.0 in December 2012. [5] Intel CAS was available in three variants: Windows Enterprise, Windows Workstation, and Linux. [4]
CAS for Windows was an application-aware file-based cache that could be tuned by system administrators. It integrated with the operating system's buffer cache, creating a multi-tier cache architecture. [5] CAS was also aware of some virtualization technologies such as vMotion, maintaining a hot SSD cache during VM migration. [6]
CAS worked with enterprise-class Intel SSD products, such as the DC S3700 SATA drives and the DC P3700 NVMe PCI Express devices, as well as cache devices across SANs. [4] Intel CAS for Linux consisted of a GPL-licensed loadable kernel module paired with a closed-source user-space administration tool. The Linux version supported CentOS, Red Hat Enterprise Linux, and SUSE Linux Enterprise Server. [6] The Windows Enterprise version supported 64-bit Windows Server 2008 R2 SP1 and Windows Server 2012 R2, while the Windows Workstation version supported 64-bit Windows 7, 8.1, and 10. [4]
A workstation version, called CAS-W, was announced in September 2013 by Dell under an exclusive agreement to offer CAS-W only for Dell Precision workstations. [7] [8]
In 2018, Intel open-sourced the Linux version of CAS, creating the Open CAS project. Open CAS Linux has the same features and capabilities as the former Intel CAS for Linux, but is distributed and implemented differently. Both Intel CAS for Linux and Intel CAS for Windows (the proprietary versions) reached end-of-life in 2023. Intel recommends users transition to Open CAS, which can be used with no license fee. [9]
At the core of Open CAS is the Open CAS Framework (OCF), a high-performance block storage caching meta-library written in C. OCF is entirely platform- and system-independent, accessing system APIs through user-provided environment wrapper layers. It is designed to be embedded into other software stacks rather than compiled as a standalone library. [10] [11]
OCF serves as the foundation upon which adapter implementations are built for specific platforms. The two primary adapters are Open CAS Linux and the SPDK OCF block device. [2]
Open CAS Linux provides kernel adapters for OCF, implementing a complete caching solution for Linux operating systems. It installs as a kernel module into the GNU/Linux operating system, providing a cache solution that is transparent to users and applications and requires no storage migration or application changes. [3]
Open CAS Linux accelerates applications by caching active ("hot") data from slower backend block devices (such as HDDs or networked storage) to local high-performance flash media (such as NVMe SSDs or Intel Optane SSDs), positioning the cache as close as possible to the CPU to minimize storage latency. [3]
Open CAS also provides an OCF adapter for the Storage Performance Development Kit (SPDK), enabling high-performance caching-aware applications built with SPDK. The SPDK OCF block device is independent from Open CAS Linux, implementing a different type of adapter while still utilizing the shared OCF core. [2]
Open CAS Linux supports multiple caching modes: [3]
CAS supports workload classification and stratification, allowing administrators to categorize I/O by block size, file, directory/path, or metadata for flexible cache tuning. [3]
The Open CAS project includes a Container Storage Interface (CSI) driver (open-cas-csi) for deploying Open CAS in Kubernetes environments, using the Kernel Module Management Operator to manage kernel module builds across cluster nodes. [12]
Intel Virtual RAID on CPU (Intel VROC), Intel's enterprise integrated RAID solution for Intel Xeon Scalable processors, included VROC Integrated Caching, an enterprise-supported and validated version of Open CAS delivered as part of the VROC product. It supported configuring Intel Optane SSDs as a cache-tier storage layer with RAID protection. [13] This feature reached end-of-life in 2023 alongside the proprietary Intel CAS products.
| Version | Release date |
|---|---|
| 1.0 (Nevex CacheWorks) | 2011 |
| 2.0 | February 2013 |
| 2.1 | May 2013 |
| 2.5 | August 2013 |
| 2.6 | December 2013 |
| 2.7 | July 2014 |
| 2.8 | December 2014 |
| 2.9 | June 2015 |
| 3.0 | December 2015 |
| 3.1 | May 2016 |
| 3.5 | July 2017 |
| 3.6 | May 2018 |
| 3.7 | August 2018 |
| 3.8 | December 2018 |
| Version | Release date | Notable changes |
|---|---|---|
| 19.3 | March 2019 | Initial open-source release |
| 20.3 | March 2020 | Support for kernel up to 5.5; improved I/O classification |
| 20.12 | December 2020 | Support for kernel up to 5.9; performance improvements |
| 21.3 | March 2021 | Support for kernel up to 5.11; metadata double-buffering for power-failure safety |
| 21.6 | June 2021 | Support for kernel up to 5.13; promote-on-hit configurable threshold |
| 22.3 | April 2022 | Introduce cache standby mode; support for kernel up to 5.12; remove atomic writes support |
| 22.6 | July 2022 | Support for kernel up to 5.15; disable cleaner option; composite volumes |
| 24.9 | October 2024 | Support for kernel up to 6.9; forward IO interface; module consolidation; ARM support in OCF |
| 25.03 | April 2025 | Cache attach/detach; kernel up to 6.14; Ceph devicesfile support |
| 25.12 | December 2025 | Max dirty ratio for ALRU; kernel up to 6.16 |