SSD
文章平均质量分 71
JEWELCCL
我给你时间成就编织未来,但是请记住我的时间有限
展开
-
SSDsim源码分析之make_aged
SSDsim是一个针对SSD进行模拟仿真的软件系统,所以针对已经使用过的SSD也需要进行一定程度的模拟,因为SSD存在着磨损耐性的问题。在SSD上存储的数据,除了无法进行覆盖写操作之外,其擦除数据的操作也是对块级block为单位进行整块擦除的,因此每一个block都会有一个对应的擦除上限。一旦该block的擦除次数达到了earse_limit,则该block便无法像正常的block一样能够保证数据的原创 2016-10-03 23:18:46 · 1753 阅读 · 4 评论 -
SSDsim源码分析之get_ppn_for_pre_process
get_ppn_for_pre_process()介绍前面我们介绍了SSDsim的读请求预处理函数,其功能就是将IOtrace文件中的所有IO读请求先预先处理,整体上的功能和过程就是为了模拟经过一段IO处理后整个SSD的状态。其中,在pre_process_for_page()函数中,有一个非常重要的调用子函数get_ppn_for_pre_process(),这个函数是在程序判断当前IO原创 2016-10-08 12:23:24 · 1895 阅读 · 0 评论 -
SSDsim源码分析之 load_parameters
这篇博文将继续分析SSDsim的初始化过程,主要的分析对象函数是这个load_parameters()函数,接下来让我们分析下这个函数的主要框架以及给出相应的源码注释。load_parameters()函数的主要功能 load_parameters函数的主要功能是负责将参数文件parameter中的SSD相关设置参数一一传输至ssd->parameters这个结构体定义中。其中,load_p原创 2016-10-03 22:29:24 · 1774 阅读 · 1 评论 -
SSDsim源码分析之pre_process_page
pre_process_page() 从本篇博文开始,我们将会对SSDsim中最核心的部分进行详细的分析和注解,SSDsim仿真器最核心的部分在于三大函数: **pre_preocess_page()页读请求预处理函数** **simmulate()核心模拟函数** **statistic_output()统计输出信息函数** 其中最为重要和庞大的函数当属simmu原创 2016-10-05 15:37:23 · 4334 阅读 · 0 评论 -
SSDsim源码分析之Buffer_management()
Buffer_management()也就是缓存管理函数,这个是核心函数模块之一,其主要模拟数据缓存层cache的功能。但是在SSDsim中,所谓的缓存其实主要就是一个写buffer,主要优先为写操作服务,当写请求命中时,会直接在buffer中进行一个更新;未命中时,首先根据缓存的空闲容量情况,写请求会分布成多个子请求写入缓存中。当缓存容量不足时,则先会从LRU队列中写回缓存队列中的数据,以便腾出空原创 2017-01-26 15:03:34 · 1999 阅读 · 0 评论 -
SSDsim源码分析之creat_sub_request()
Creat_sub_request()函数的功能主要是根据传输参数lpn、size、state和IO请求项req创建一个子请求sub_req。每一个创建出来的sub_req的操作区域都是当前lpn的区域,也就是说,可能存在创建出来的子请求sub_req的size是小于当前的lpn的大小的,但是每一个sub_req的操作目标区域都是在当前lpn所在的区域之中。这个函数可谓在初始化处理IO请求项的过程原创 2017-06-26 13:38:46 · 1584 阅读 · 4 评论