VNX FAST Cache利用SSD盘的高性能,将机械硬盘上反复读写命中的数据 (颗粒度为64KB),通过复制,升级至FAST CacheSSD盘中,之后命中的IO将通过FAST Cache处理,以获得更好的性能表现。当然,存在于FAST Cache中的数据也会从FAST Cache中复制回机械硬盘,以释放FAST Cache的空间和将更改数据落回原地。

    从这个角度看,FAST Cache可以看成是系统缓存的延伸。但是,FAST Cache并不是系统缓存,需要和系统缓存相互配合使用。VNX2 VNX1FAST Cache与系统缓存的配合上,是有着较明显区别的。VNX2更加优化了性能。下面我们比较一些两者的区别。下图为读操作在两代系统中的流程图:

1.GIF.gif

   先看看VNX1:

1任何读操作都需要先检查FAST Cache记录表确定该数据是否存在于FAST Cache中。

2 然后再读取系统缓存确认是否数据存在于系统缓存。如果数据存在于系统缓存,直接反馈给主机。如果数据不存在于系统缓存,则根据第一步的结果,从FAST Cache或者数据卷中读取数据。

   再看VNX2:

1 先检查系统缓存,如果命中,直接反馈主机。

2 如果未命中系统缓存,再检查FAST Cache记录表,根据结果从FAST Cache或者数据卷中读取数据。

   所以,如果数据直接命中系统缓存,无需通过FAST Cache的检查和判断,提高了性能。

     那写操作是如何表现的呢?下图为写操作在两代系统中的流程图:

2.GIF.gif

    在VNX1中:

1 同样先检查FAST Cache的记录表,确认是否命中。

2 无论命中FAST Cache与否,将主机写操作写入系统缓存,反馈主机完成写操作。

3 根据第一步中判断FAST Cache是否命中,将系统缓存中的数据落入相应的数据卷或者FAST Cache

   

    在VNX2中:

1 直接写入系统缓存,然后反馈主机完成写操作。

2 当系统缓存需要落下数据时,检查FAST Cache记录表,根据是否命中,将数据落入数据卷或者FAST Cache

 

    总而言之,VNX2优化了FAST Cache和系统缓存的配合,将FAST Cache放于系统缓存之后。当获得IO请求时,VNX2先通过系统缓存处理,如果命中系统缓存,直接反馈主机,避免了VNX1中第一步检查FAST Cache,提高性能。