SSDsim_user_guide

SSDsim_user_guide

ID:37712974

大小:4.03 MB

页数:19页

时间:2019-05-29

SSDsim_user_guide_第1页
SSDsim_user_guide_第2页
SSDsim_user_guide_第3页
SSDsim_user_guide_第4页
SSDsim_user_guide_第5页
资源描述:

《SSDsim_user_guide》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、5固态盘模拟器SSDsim的设计实现作者:胡洋说明:本文摘自胡洋博士毕业论文。Yanghu@foxmail.com固态盘模拟器可以给研究开发人员提供一个前期功能验证的手段,通过固态盘模拟器的模拟,可以以最低开发成本,提前验证所设计的硬件结构,软件算法的有效性,而最终设计出满足预定目标的固态盘产品。目前开源的固态盘主要是两个:一个是微软开发的disksim的固态盘模块[46],另外一个是宾夕法尼亚州立大学开发的固态盘模拟器[47],这两个模拟器均未实现高级命令的模拟,也不能对能耗进行模拟,最重要的一点是,这两个模拟器没有经过验证,

2、无法确保模拟结果的准确性。本章介绍一个自主开发的高准确性、模块化、可配置的固态盘模拟器SSDsim,它能够对高级命令、能耗进行模拟,最终要的一点是它的模拟结果经过了基本的验证。本章从SSDsim的设计思路,总体框架,操作流程,SSDsim的验证工作,全面介绍SSDsim。本章的结构如下:5.1节阐述SSDsim的整体设计思路;5.2节介绍SSDsim的总体框架,包括重要的数据结构,模拟流程等;5.3节介绍了SSDsim的操作流程;5.4节给出了SSDsim的验证过程。5.5节是本章小结。5.1SSDsim的设计思路固态盘是一个既

3、有系统软件,又有系统硬件的嵌入式系统,SSDsim需要对固态盘进行模拟,就需要对固态盘上的软件算法,硬件行为进行模拟。SSDsim作为一个模拟软件,其上的软件算法与真实系统的系统软件基本类似,因此,模拟的关键在于对固态盘系统硬件的模拟。而固态盘的系统硬件是由多个通道、多个芯片组成,闪存作为固态盘硬件的核心,是SSDsim模拟的关键点。所以SSDsim的模拟就是围绕闪存的行为模拟进行的。SSDsim可以提供对时间和能耗的模拟。下面分别介绍SSDsim对时间和能耗的模拟原理。5.1.1时间模拟一般来说,模拟器的驱动方式分三种类型,即

4、时间驱动,事件驱动和请求驱动。时间驱动的模拟器需要设置一个时间的步进长度,每前进一个步进时间窗口,系统时间增加一个步进长度,在处理器的模拟器中经常用到这种类型的模拟方法;事件驱动的模拟器是根据系统内部各个部件的状态改变来修改系统时间,SSDsim就是采用的这种方式的驱动方法;请求驱动是根据外部请求的到达来修改系统时间,这种方法实现简单,但是精确性不高。在高性能固态盘中,存在三类主要的部件,既固态盘中的嵌入式处理器,内存颗粒,和闪存颗粒。处理器的时钟通常大于100MHz,既单个时钟的时间为10纳秒甚至更短;内存的读写操作时间是纳秒

5、级;与此形成对比的是,闪存颗粒的读写时间是微秒级。因此在SSDsim中,只考虑对闪存的读写擦除操作的时间开销,内存的读写时间开销取一个平均值,忽略处理器的时间开销。对于一个独立的读、写、擦除操作,可以根据公式5.1、5.2、5.3获得准确的时间开销。表5.1中介绍了三个公式中出现的变量,表中所列参数具体值取自具体的闪存芯片的数据手册[26]。读操作:7×tWC+tR+PS×tRC公式5.1写操作:7×tWC+PS×tWC+tPROG公式5.2擦除操作:5×tWC+tERASE公式5.3表5.1时间开销公式中的主要变量简称含义时间

6、tR数据从目标物理页中读到分组的寄存器所消耗的时间20微妙tPROG数据从分组的寄存器写到目标物理页所消耗的时间200微妙tERASE目标物理块的擦除时间1.5毫秒tWC通过数据总线上向寄存器传输一个字节的数据所消耗的时间25纳秒tRC通过数据总线从寄存器向外传输一个字节的数据所消耗的时间25纳秒PS传输的数据量图5.1是一个闪存读操作过程。从图中可以看到,一个读操作分成三个阶段:输入命令地址阶段、访问介质阶段、数据传输阶段。公式5.1中的三个部分分别对应这三个阶段。第一个部分是输入命令地址阶段耗费的时间。一个读请求,首先花费一

7、个tWC时间通过总线传输一个起始命令(00h),之后花费5个tWC时间通过总线传输读操作的地址,紧接着是花费一个tWC时间传输结束命令(30h),因此公式5.1中第一个部分是7个tWC;公式的第二个部分是闪存将数据从介质中读到分组的数据寄存器上,这个过程如图5.1中忙(busy)状态所指。在读操作中这个时间是tR;公式的第三个部分是数据的传输部分,在这个部分,上一阶段读出的数据将从数据寄存器通过总线传输到通道控制器的缓存中,这个部分的传输时间与传输的数据量有关,因此在公式5.1的的三个部分需要考虑传输的数据量PS大小。图5.1闪

8、存读操作流程图5.2闪存写操作流程图5.2是一个闪存写操作过程。从图中可以看到,一个写操作分成三个阶段:输入命令地址阶段、数据传输阶段、访问介质阶段。公式5.2中的三个部分分别对应这三个阶段。第一个部分是输入命令地址阶段耗费的时间。一个写请求,首先花费一个tWC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
相关文章
更多
相关标签