摘要: 原文地址:http://www.360doc.com/content/13/0805/16/13247663_304923435.shtml1 FIFO1.1. 原理按照“先进先出(First In,First Out)”的原理淘汰数据。1.2. 实现FIFO队列,具体实现如下:1. 新访问的数据插... 阅读全文
posted @ 2015-11-11 10:31 L_free 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 原文地址 :http://www.360doc.com/content/13/0805/16/13247663_304916783.shtml1. LFU类1.1. LFU1.1.1. 原理LFU(Least Frequently Used)算法根据数据的历史访问频率来淘汰数据,其核心思想是“如果数... 阅读全文
posted @ 2015-11-11 10:30 L_free 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.360doc.com/content/13/0805/15/13247663_304901967.shtml参考地址(一系列关于缓存的,后面几篇也都在这里有):http://www.360doc.com/userhome.aspx?userid=13247663&ci... 阅读全文
posted @ 2015-11-11 10:27 L_free 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 引言我们都听过 cache,当你问他们是什么是缓存的时候,他们会给你一个完美的答案,可是他们不知道缓存是怎么构建的,或者没有告诉你应该采用什么标准去选择缓存框架。在这边文章,我们会去讨论缓存,缓存算法,缓存框架以及哪个缓存框架会更好。面试“缓存就是存贮数据(使用频繁的数据)的临时地方,因为取原始数据... 阅读全文
posted @ 2015-11-10 17:14 L_free 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.cnblogs.com/carekee/articles/1630789.html1.sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得... 阅读全文
posted @ 2015-11-06 19:51 L_free 阅读(167) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2015-11-06 15:06 L_free 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 我们来假设模拟一个小型的模型来分析写和垃圾回收的过程假设只有一个die,4个block,每个block4个page,每个page8KB那么PageMap就是Page[0][0]到Page[0][15]BlockMap就是Block[0][0]到Block[0][3]GcMap就是GC[0][0]到G... 阅读全文
posted @ 2015-11-04 14:57 L_free 阅读(1095) 评论(0) 推荐(0) 编辑
摘要: FTL的整个流程如下:下面先来看写的流程:写的代码如下: 1 if((hostCmd.reqInfo.Cmd == IDE_COMMAND_WRITE_DMA) || (hostCmd.reqInfo.Cmd == IDE_COMMAND_WRITE)) 2 ... 阅读全文
posted @ 2015-11-02 16:27 L_free 阅读(888) 评论(0) 推荐(0) 编辑
摘要: 从主函数跳到ReqHandler,在ReqHandler内先初始化SSD--InitNandReset,然后建立映射表InitFtlMapTable 1 void InitNandReset() 2 { 3 // reset SSD 4 int i, j; 5 for(... 阅读全文
posted @ 2015-10-29 10:54 L_free 阅读(867) 评论(0) 推荐(0) 编辑
摘要: 1. NOR FLASH 的简单介绍NOR FLASH 是很常见的一种存储芯片,数据掉电不会丢失.NOR FLASH支持Execute On Chip,即程序可以直接在FLASH片内执行(这意味着存储在NOR FLASH上的程序不需要复制到RAM就可以直接运行).这点和NAND FLASH不一样.因... 阅读全文
posted @ 2015-10-26 10:00 L_free 阅读(389) 评论(0) 推荐(0) 编辑