Flashsim simulation 安装实例

上传人:206****923 文档编号:56900508 上传时间:2018-10-17 格式:PPTX 页数:25 大小:1.23MB
返回 下载 相关 举报
Flashsim simulation 安装实例_第1页
第1页 / 共25页
Flashsim simulation 安装实例_第2页
第2页 / 共25页
Flashsim simulation 安装实例_第3页
第3页 / 共25页
Flashsim simulation 安装实例_第4页
第4页 / 共25页
Flashsim simulation 安装实例_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《Flashsim simulation 安装实例》由会员分享,可在线阅读,更多相关《Flashsim simulation 安装实例(25页珍藏版)》请在金锄头文库上搜索。

1、FLASHSIM模拟仿真器 安装使用简析,SSD开发基础之,PPT讲述流程,Flashsim的设计简述,FTL的相关简介,Flashsim的设计概述,Flashsim 是一款对SSD盘仿真模拟,对其中的一些算法(如FTL,DFTL算法)进行性能评估的基于disksim,运行在linux下的仿真软件。 FLASH simulation 硬件模拟图:,Flashsim的设计简述,上图中的各部件的简述: SSD:提供一个SSD类,向用户提供SSD接口。对于外界的访问,返回该访问的时间。 RAM:SSD中的缓冲区模型,该模型模拟controller向BUS总线发送数据的缓冲区,运行中RAM类还需要计算

2、其自身的读写时间。 Controller:接收来至SSD的访问请求,调用FTL算法完成访问操作。发送虚拟的访问数据至RAM中。 Bus:包含了许多Channel通道,通过控制器仲裁数据访问经过哪个channel。 Channel:访问芯片的通道,在模拟器中负责安排对SSD盘操作的事物顺序,和记录各个操作的时间。一次只能执行一个操作。 Package:共享一个channel的一组flash芯片虚拟封装包。简化channel下的编址。 Die:一个die就是一个flash芯片,die与channel相连。内部被分为若干plane。 Plane:由一些block构成。每个plane都含有一个page

3、大小的regist,为与总线交换的数据和plane内部的合并操作提供缓存。该层的操作时间为合并时间 + 寄存器时延。 Block:每个block被划分为不同的页,块是擦除操作的最小单位(因为按页擦除的花费太高)。Block的寿命主要受擦除操作的影响,擦除操作只能限定一定的次数内。该层操作时间为擦除所用时间。 Page:定义为ssd读写操作的最小单位,有三种状态(I,V,F)。该层的操作时间为读写时间。,Flashsim的设计概述,Flashsim软件构造结构图:,左图,是用C+语言为硬件描述的各个部件类,Flashsim的设计简述,软件结构块分析,Flashsim的设计简述,Algorithm

4、_1 描述,该算法,主要是将外界的请求访问操作,在FTL算法下划分为一系列的对ssd的子操作单元,经过channel通道的安排执行这些操作单元,这部分的操作时间,主要是channel的处理时延 + package中的处理时延,Flashsim的设计简述,Algorithm_2 描述,Package中的操作有:die内的块合并,plane内的块合并,block内的擦除, block的磨损情况记录,page内的读写。这些操作的用各自的操作时间代替。其中,擦除操作还要记录擦除的次数。,Flashsim安装,OS:uBuntu 10.04(最好) GCC:2.95 bison & flex-old d

5、isksim-3.0 flashsim(src),Flashsim安装,一、Gcc 2.95 安装方法 sudo apt-get install build-essential 安装GCC 2.95 下载网址:http:/old- 将下列5个文件依次下载: cpp-2.95_2.95.4-24_i386.deb; gcc-2.95_2.95.4-24_i386.deb; g+-2.95_2.95.4-24_i386.deb; libstdc+2.10-glibc2.2_2.95.4-24_i386.deb ; libstdc+2.10-dev_2.95.4-24_i386.deb 在存放上述文

6、件的文件夹中按照上面所下载的顺序一次安装,安装的命令是 sudo dpkg -force-depends -i xxx.deb,然后更改系统中gcc的软链接(命令如下): sudo ln -fs /usr/bin/gcc-2.95 /usr/bin/gcc 查看gcc版本: gcc v 如果版本是gcc 2.95 安装成功。,Flashsim安装,二、bison & flex-old安装方法安装bison sudo apt-get install bison 安装 flex-old sudo apt-get install flex-old检测bison 和 flex-old 的版本flex:

7、词法分析程序自动构造工具 Bison:语法分析程序自动构造工具,Flashsim安装,三、编译disksim源程序Disksim3.0下载地址: http:/www.pdl.cmu.edu/DiskSim/disksim3.0.shtml解压后名为disksim-3.0,编译指令: x13x13-desktop:/home/flashsim/disksim-3.0 #进入disksim-3.0文件夹 x13x13-desktop:/home/flashsim/disksim-3.0 / make # 运行makefile 文件如没有提示编译错误,则可以进入/disksim-3.0/valid目

8、录下,运行runvalid文件。若能准确运行,说明disksim-3.0的编译是正确的,Flashsim安装,四、编译flashsim源程序Flashsim simulation就是在disksim中的src文件中添加关于flash仿真部分,所以就是对disksim-3.0/src进行改动,然后编译disksimFlashsim下载地址http:/csl.cse.psu.edu/?q=node/322依次下载Src.release.tar.gz 解压后放到disksim-3.0文件下,并命名为src替换原来的src文件夹将网页上的patch文件拷贝到src文件夹中(名称如下),并在当前文件夹路

9、径下执行命令sudo apt-get install patch patch -p1 -i flashsim-2010324.patch 此过程为对src文件的打补丁操作,注意不要随意改动(src文件夹下的代码文件)patch通过之后,退回到disksim-3.0目录下,再次编译,如果你的flashsim安装过程中,patch时出错,可根据提示信息手动修改。如我本人在10.04下出现的错误是: Patching file dftl.c Patchjng file disksim_logorg,c Patching file fast.c Patching file flash.c Patchi

10、ng file pagemap.c Patching file syssim_driver.c Hunk #1 FAILED at 129. Hunk #2 FAILED at 139. saving rejects to file syssim_driver.c,rej上述代码是在 syssim_driver,c打补丁时出错,观察flashsim-20100324.patch发现是增加6个变量没有成功,所以手动修改,make disksim3.0成功。,Flashsim的基本操作,Flashsim的测试命令格式disksim parmeter overrides disksim : 可执行文

11、件的执行名。 parfile: 参数文件命。 outfile: 输出文件名。 tracetype:输入测试数据的格式 tracetype: 输入的测试数据文件 synthgen:测试数据由模拟器生成 Parameter overrides:命令行中修改参数文件中的配置参数。,Flashsim的基本操作,Disksim建立硬盘仿真的拓扑结构,DRIVERS: 访问驱动位于存储系统的最上层,主要声明I/O访问特性,比如,多个访问排队操作,按照某些算法下一个I/O访问等。CTLR:存储系统的控制器,参数中含有控制器的控制级别,处理时延,块传输时延等。BUS:传输总线,声明总线是单一传输还是可以并行传

12、输。标明总线的仲裁策略和仲裁时延,R/W 块时延等。DEVICE:存储介质,要模拟SSD盘时,设备应选为flash NAND介质。参数标明该盘的块数目,FTL算法类型等参数。,Flashsim的基本操作,Flashsim模拟FTL的两个重要的文件,Parfile文件,在该文件中设置你所要仿真的ssd盘的所有参数。FTL算法,ssd的block数量,etra block数量,ssd盘的接口,总线,控制器参数,和访问调度策略都是在该文件中声明。,FTL算法程序,以.c和.h的形式存放在 disksim/src/ 文件夹下,其中.c文件是开发者自己的FTL的具体实现,.h文件是开发者为自己编写的FT

13、L算法所声明的函数库头文件,这写头文件在disksim_iodriver.c ssd_interface.c disksim_main.c 和disksim_simpleflash.c中以选择的形式,供disksim执行模拟仿真。,Flashsim的基本操作,参数文件的配置结构,Flashsim的基本操作,Parv文件的简单介绍:GLOBAL BLOCK:主要是设置模拟器运行时的时间参数,为计算操作时间,和合成测试量做准备。 STATS BLOCK:主要是设置要打印输出的一些参数。这些参数包括存储设备各部件的运行参数等。 I/O 不见参数设置块:设置DRIVERS,DEVICES,BUS,CO

14、NTROLS等模拟参数。 COMPONENT INSTANTIATION:对上面的各个部件参数块实例化。 TOPOLOGY & LOGORG:主要声明模拟的存储系统的拓扑结构图。声明各个部件的结合特性。 SYNTHETIC BLOCK:合成测试数据参数设置块。 Process-Flow:声明处理器数量和 处理事物开销。,Flashsim的基本操作,Trace文件格式分析:,访问操作相对于仿真器启动到来时间 (Request arrival time ),存储设备数,单个设备(为0)(device number),访问块的起始地址(Block number),访问块的大小 (Request si

15、ze),访问操作标志 0为write,1 为read(Request flags),Flashsim的基本操作,开发FTL流程,相关连接,Flashsim: A Simulator for NAND Flash-based Solid-State Drives youngjae Kim, Brendan Tauras, Aayush Gupta, Dragos Mihai Nistor, Bhu Urgaonkar. The DiskSim Simulation Environment Version 3.0 Reference Manual John S.Bucy, Gregory R.Ganger,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号