PrimoCache 概述

PrimoCache是一款可以将物理内存、SSD硬盘或闪存盘等虚拟成硬盘缓存的软件。它可以自动将硬盘中读取的数据存入物理内存等速度较快的设备,当系统再次需要该数据时它可以很快从缓存设备中读取,而无需再次访问速度较慢的硬盘,从而有效提升物理硬盘的访问性能。

它能做什么?

  • 如果您的计算机装有4GB或更多内存,您可以使用一部分内存作为缓存加速本地磁盘,包括机械硬盘、SSD固态硬盘、闪存盘等,或iSCSI磁盘。
  • 如果您的计算机有一部分内存不能被Windows使用,通常是32位Windows系统,您可以使用这部分“丢失”的内存作为缓存来加速本地磁盘和iSCSI磁盘。
  • 如果您的计算机一个SSD硬盘和一个普通机械硬盘,您可以使用一部分或全部SSD空间作为缓存来加速机械硬盘。
  • 如果您有一个空闲的USB 3.0 闪存盘,您可以用这个闪存盘作为缓存加速普通机械硬盘。

功能特性简介

PrimoCache基于双级缓存系统架构设计,该架构由一个一级缓存(level-1 cache)和一个二级缓存(level-2 cache)组成。一级缓存使用物理内存作为缓存设备,而二级缓存则通常使用SSD固态硬盘、闪存盘或其它永续性存储设备。很明显地,一级缓存的访问速度远快于二级缓存,尽管一级缓存通常容量小于二级缓存。另一方面,一级缓存中存储的缓存数据在断电后会消失,而二级缓存则具有永久保存的特性。PrimoCache支持任意配置单双级缓存,即可以仅使用一级缓存或仅使用二级缓存,也可以同时使用一级缓存和二级缓存。

由于二级缓存存储设备具有数据永续性的特性,二级缓存中的缓存内容在计算机关机后不会丢失。因此当计算机再次启动后,所需要的常用数据可以直接从二级缓存中读取,而无需访问速度较慢的机械硬盘。对于操作系统或应用程序安装在机械硬盘的计算机,这个特性可以显著减少系统启动时间以及加快应用程序的启动运行。

PrimoCache也支持缓写功能,即可以将系统请求写入的数据先存入缓存设备中,在一定时间后再将数据从缓存设备写入物理硬盘中。缓写功能使系统的写入请求可以快速完成,从而极大地提升硬盘的写入性能。

此外,PrimoCache具备未识别内存管理接口(UIMMI),支持检测系统未识别内存并将其作为一级缓存。由于Windows操作系统和硬件对内存总量的限制,部分系统无法识别所有安装的物理内存,例如,32位桌面Windows系统最大仅支持4GB内存,多余的内存则无法使用。PrimoCache对未识别内存的支持则克服了Windows操作系统的限制,充分利用全部物理内存。

PrimoCache内置智能缓存调度算法,可自动优化决定当缓存空间已满的情况下哪些缓存内容可被丢弃已便腾出空间存储新内容。该算法结合了常用的LFU和LRU算法,并具有自适应调整性,可提供更好的命中率,并无需用户进行参数设置。

PrimoCache支持多种缓存策略以及灵活的缓存设置。您可轻松为您的物理硬盘创建缓存,提高硬盘的读写性能。由于PrimoCache是在Windows驱动层中实现功能,在创建缓存后,系统和其它应用程序无需作任何改变即可自动应用缓存。

基本原理

PrimoCache主要部件位于Windows驱动层,它拦截并处理系统发送至硬盘的IO请求。如果IO请求读取的数据已经在缓存中,则直接读取缓存中的数据并完成IO请求。否则数据则从硬盘中读取出来,并存入缓存,同时完成IO请求。由此可见,从缓存读取的数据量越多,则系统性能提升的越多。

PrimoCache Principle Fig. 1
PrimoCache Principle Fig. 2

主要特性列表

  • 支持物理内存、SSD固态硬盘、闪存盘等作为缓存设备,
  • 采用双级缓存系统架构,
  • 支持永久二级缓存
  • 支持“直接写入”和“延迟写入”两种写入模式,
  • 支持 TRIM 指令,
  • 支持系统未识别内存
  • 支持预取数据到缓存,
  • 内置自适应智能缓存调度算法,
  • 支持三种缓存策略:读写缓存、仅读缓存和仅写缓存,
  • 支持性能数据监视和统计,
  • 支持同时缓存多个硬盘和多个分区,
  • 支持缓存采用自定义文件系统的分区,
  • 支持缓存动态硬盘的分区,
  • 支持即插即用,
  • 支持命令行接口

为什么使用PrimoCache?

Windows操作系统本身已经实现了基于文件的缓存系统,为什么还需要额外再使用PrimoCache?

  • PrimoCache采用基于逻辑块的缓存机制,而Windows是基于文件的缓存机制。这两个缓存机制各有优缺点,PrimoCache可以是Windows缓存系统的一个很好补充。
  • 某些应用程序会绕过Windows的缓存系统,但无法绕过PrimoCache,这是因为PrimoCache比Windows缓存位于系统更底层位置。
  • Windows缓存是基于全局进行调度,即对所有数据进行缓存,而PrimoCache可以根据用户需要,设置仅对某些特定分区进行缓存。在同等缓存容量下,后者将更具目标性,也具有更高的缓存命中率。
  • PrimoCache支持将SSD固态硬盘或闪存盘用作机械硬盘的缓存,可以有效提升计算机的启动时间和应用程序运行速度。Windows缓存则无法做到。
  • PrimoCache可以根据不同需要对缓写功能做更多的参数配置,Windows缓存不能。
  • PrimoCache可以识别系统未识别内存,克服部分Windows操作系统对内存总量的现在,充分利用物理内存。

软件截图

PrimoCache Main UIPrimoCache UI 2

支持的操作系统

PrimoCache 普通版:
Windows XP/Vista/7/8/8.1/10,包括32位和64位版本。

PrimoCache 服务器版:
Windows Server 2003(R2)/2008(R2)/2012(R2), 包括32位和64位版本。

更多信息