Improving NAND Flash Based Disk Caches阅读笔记

   这篇文章我是带着一定目的性去看的,主要是想知道FLASH CACHE做缓存,跟NVRAM作缓存,相同优势有哪些?不同优势有哪些?缺陷又在哪里?接下来就对文章做一个全面的总结~

    FLASH近些年被广泛使用在存储系统,主要是由于它具非易失,高密度,低成本的优势。但是它的缺陷也是很明显的,它的可管理性和可靠性是必须要解决的两个挑战性问题,可靠性上:即使FLASH是非易失的,在某种情况下,依然存在不一致性,cell的写穿也是其考虑的重点问题。跟NVRAM对比,NVRAM同样具有非易失,高密度,访问速度接近DRAM的优势,但是缺陷在于,cost比较高,一致性问题仍然存在,写寿命问题也是关注重点。具体对比如下图所示:
     Improving NAND Flash Based Disk Caches阅读笔记_第1张图片

    鉴于以上对比,我们进一步详细了解,到底为什么可以使用FLASH做cache?
  •      使用NAND FLASH能够降低系统memory的power
Improving NAND Flash Based Disk Caches阅读笔记_第2张图片
          如上图所示,FLASH在激活power,空闲power上远远小于DRAM,而在读延迟,写延迟上,比DRAM慢一个数量级,若把DRAM的大小减少,将FLASH加入memory系统,扩展内存容量,会达到节能1/4的效果。
  • 使用NAND Flash做disk caches
      之前的研究就有使用NOR cells,我们要让NAND Flash做cache,只需要简单修改一下NAND。
      用NAND Flash做disk caches,两个噩待解决的问题:
  1. 垃圾回收的问题,当Flash的使用率在80%的时候,GC的开销占全部开销的20%,再往上走,开销能达到80%~100%
  2. memory需要存储Flash data structures的开销。
      要使用FLASH做disk cache就必须解决这两个问题。
      为了解决第一个问题,文章提出: (分为read region和write region,垃圾回收的开销会减小)
      为了解决第二个问题,文章提出: (在flash上层接DRAM,缓存这些数据结构)
 
    3 Architecture of the Flash based disk cache
          
FlashCache hash table (FCHT)- stores the mapping
between addresses on disk and Flash. The FCHT was
first introduced in [16].
•Flash page status table (FPST)- stores error correction
code (ECC) strength, SLC/MLC mode and a saturating
access counter. It also stores a valid bit field.
•Flash block status table (FBST)- records the number
of erase operations performed on each block as well as
the degree of wear out.
•Flash global status table (FGST)- tracks average latency and miss rate of the Flash based disk cache.
   Improving NAND Flash Based Disk Caches阅读笔记_第3张图片


   写不是单纯地写,写完之后,可能变成读块。读也是不完全独立地读,要对读的块进行写,要从读块evict,在写块中新建?两个怎样进行交互?
    1. 将FLASH cache分为两个不同的领域,读或者写区域
    2. 实现FLASH控制器
        4 Putting it all together
      read流程:(涉及miss的情况)
      
      write流程:(写的过程更复杂一些)
      Improving NAND Flash Based Disk Caches阅读笔记_第4张图片
  将buffer cache和journaling结合在一起,怎么实现?
  我的想法是,FLASH cache已经分为两个区域了,而读region不存在日志问题,所以只需要对write区域做缓存和日志的结合。
  根据上述写的过程


 补充:
  1. NOR 和 NAND的区别:
读比NAND快,写比NAND慢
能擦除的次数比NAND少
NOR的密度比较小
现在都不用NOR了
NAND FLASH 1page(2kb+64b的校验码),1block=64pages,1plane=2048blocks,1die=4planes,1 package=2dies

你可能感兴趣的:(cache,Flash)