咨询一下Primocache对二级写缓存的处理

交流 PrimoCache软件使用过程中遇到的问题以及心得等
这里提供官方的技术支持
回复
Fo0o0oX
4级用户
4级用户
帖子: 30
注册时间: 周一 10月 03, 2016 11:59 pm

咨询一下Primocache对二级写缓存的处理

帖子 Fo0o0oX »

版本:3.0.9普通版
问题1:在Primocache给HDD做Cache时,如果开了内存L1和SSD L2,请问写入时行为是如何?我观察到并不是程序->L1->L2->HDD这么一个过程,程序在写入时,优先写L1,同时L1会直接写HDD,直到L1满程序才开始写L2,同时L2也开始写入HDD,请问L1和L2是并行关系么?是不是只是优先级不同,有L1写L1,L1满写L2,但两者同级,往下都直接写HDD?
问题2:配置L2时,如果明确配置独立的读写空间,为何L2的写空间在数据写入HDD后不会清空?举个例子,假如程序要求写入数据A,A被写入L2,接着从L2写入HDD,那么现在程序要求读取A,若A还在L2写空间内,是否能命中缓存(从写空间直接移至L2读空间?),还是单独再拷贝一份A到L2的读空间?这样L2里同时有两份A数据。因为我观察到,L2写空间数据写入HDD后并不会马上恢复容量,也就是说写入数据还保存在L2写空间里。
谢谢。
头像
Support
技术支持组
技术支持组
帖子: 2663
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: 咨询一下Primocache对二级写缓存的处理

帖子 Support »

Fo0o0oX 写了: 周一 1月 07, 2019 12:40 am 问题1:在Primocache给HDD做Cache时,如果开了内存L1和SSD L2,请问写入时行为是如何?
目前的策略是:先写入L1,如果L1满了,L1会写入硬盘,同时如果有新的写入请求,新数据为写入L2。L1有空闲空间后,新数据又会写入L1。这样可以使写入速度达到最大。
Fo0o0oX 写了: 周一 1月 07, 2019 12:40 am 问题2:配置L2时,如果明确配置独立的读写空间,为何L2的写空间在数据写入HDD后不会清空?
一般情况下不需要清空缓存上的数据,因为如果Windows或其它应用正好需要读取这些数据时就可以直接从缓存读取。
软件会自动安排这些空间,当有新数据要写入时,就会分配这些空间,直接覆盖旧数据。

对于缓存软件而言,剩余空间为0并不意味缓存不能工作了,软件会自动根据算法循环利用已经缓存了数据的空间。
Primo Ramdisk | PrimoCache
Romex Software 技术支持组
回复