ssdsimuserguide(用户手册)`.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ssdsimuserguide(用户手册)`

5固态盘模拟器SSDsim的设计实现作者:胡洋说明:本文摘自胡洋博士毕业论文。Yanghu@固态盘模拟器可以给研究开发人员提供一个前期功能验证的手段,通过固态盘模拟器的模拟,可以以最低开发成本,提前验证所设计的硬件结构,软件算法的有效性,而最终设计出满足预定目标的固态盘产品。目前开源的固态盘主要是两个:一个是微软开发的disksim的固态盘模块[46],另外一个是宾夕法尼亚州立大学开发的固态盘模拟器[47],这两个模拟器均未实现高级命令的模拟,也不能对能耗进行模拟,最重要的一点是,这两个模拟器没有经过验证,无法确保模拟结果的准确性。本章介绍一个自主开发的高准确性、模块化、可配置的固态盘模拟器SSDsim,它能够对高级命令、能耗进行模拟,最终要的一点是它的模拟结果经过了基本的验证。本章从SSDsim的设计思路,总体框架,操作流程,SSDsim的验证工作,全面介绍SSDsim。本章的结构如下:5.1节阐述SSDsim的整体设计思路;5.2节介绍SSDsim的总体框架,包括重要的数据结构,模拟流程等;5.3节介绍了SSDsim的操作流程; 5.4节给出了SSDsim的验证过程。5.5节是本章小结。SSDsim的设计思路固态盘是一个既有系统软件,又有系统硬件的嵌入式系统,SSDsim需要对固态盘进行模拟,就需要对固态盘上的软件算法,硬件行为进行模拟。SSDsim作为一个模拟软件,其上的软件算法与真实系统的系统软件基本类似,因此,模拟的关键在于对固态盘系统硬件的模拟。而固态盘的系统硬件是由多个通道、多个芯片组成,闪存作为固态盘硬件的核心,是SSDsim模拟的关键点。所以SSDsim的模拟就是围绕闪存的行为模拟进行的。SSDsim可以提供对时间和能耗的模拟。下面分别介绍SSDsim对时间和能耗的模拟原理。5.1.1时间模拟一般来说,模拟器的驱动方式分三种类型,即时间驱动,事件驱动和请求驱动。时间驱动的模拟器需要设置一个时间的步进长度,每前进一个步进时间窗口,系统时间增加一个步进长度,在处理器的模拟器中经常用到这种类型的模拟方法;事件驱动的模拟器是根据系统内部各个部件的状态改变来修改系统时间,SSDsim就是采用的这种方式的驱动方法;请求驱动是根据外部请求的到达来修改系统时间,这种方法实现简单,但是精确性不高。在高性能固态盘中,存在三类主要的部件,既固态盘中的嵌入式处理器,内存颗粒,和闪存颗粒。处理器的时钟通常大于100MHz,既单个时钟的时间为10纳秒甚至更短;内存的读写操作时间是纳秒级;与此形成对比的是,闪存颗粒的读写时间是微秒级。因此在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 时间开销公式中的主要变量简称含义时间tR数据从目标物理页中读到分组的寄存器所消耗的时间20微妙tPROG数据从分组的寄存器写到目标物理页所消耗的时间200微妙tERASE目标物理块的擦除时间1.5毫秒tWC通过数据总线上向寄存器传输一个字节的数据所消耗的时间25纳秒tRC通过数据总线从寄存器向外传输一个字节的数据所消耗的时间25纳秒PS传输的数据量图5.1是一个闪存读操作过程。从图中可以看到,一个读操作分成三个阶段:输入命令地址阶段、访问介质阶段、数据传输阶段。公式5.1中的三个部分分别对应这三个阶段。第一个部分是输入命令地址阶段耗费的时间。一个读请求,首先花费一个tWC时间通过总线传输一个起始命令(00h),之后花费5个tWC时间通过总线传输读操作的地址,紧接着是花费一个tWC时间传输结束命令(30h),因此公式5.1中第一个部分是7个tWC;公式的第二个部分是闪存将数据从介质中读到分组的数据寄存器上,这个过程如图5.1中忙(busy)状态所指。在读操作中这个时间是tR;公式的第三个部分是数据的传输部分,在这个部分,上一阶段读出的数据将从数据寄存器通过总线传输到通道控制器的缓存中,这个部分的传输时间与传输的数据量有关,因此在公式5.1的的三个部分需要考虑传输的数据量PS大小。图5.1 闪存读操作流程图5.2 闪存写操作流程图5.2是一个闪存写操作过程。从图中可以看到,一个写操作分成三个阶段:输入命令地址阶段、数据传输阶段、访问介质阶段。公式5.2中的三个部分分别对应这三个阶段。第一个部分是输入命令地址阶段耗费的时间。一个写请求,首先花费一个tWC时间通过总线

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档