SSDsim源码分析之make_aged

SSDsim是一个针对SSD进行模拟仿真的软件系统,所以针对已经使用过的SSD也需要进行一定程度的模拟,因为SSD存在着磨损耐性的问题。在SSD上存储的数据,除了无法进行覆盖写操作之外,其擦除数据的操作也是对块级block为单位进行整块擦除的,因此每一个block都会有一个对应的擦除上限。一旦该block的擦除次数达到了 earse_limit,则该block便无法像正常的block一样能够保证数据的存储正确率。也就是说虽然此时可以继续写入数据,但是这种状态下的block下无法保证数据的正确率。因此,不同的SSD具有不同的磨损程度。这篇博文我们先简单介绍下关于SSD的存储原理以及存储单元的物理特性,接着介绍下SSDsim中针对磨损程度进行的模拟函数make_aged。

SSD存储原理

而今常见的SSD为基于Flash介质的SSD,所有类型的ROM和Flash芯片都使用了一种名为“浮动门场效应晶体管”的基本存储介质。与传统的HDD使用磁性介质不同,这种晶体管(也称为cell)是使用了电荷来标识数据的存储情况。在计算机中的数据只有0和1这两种状态,所以传统的磁盘介质是使用了一块磁粒子区来保存1或者0,而SSD的cell当充电时表示状态0,放电后表示状态1。cell是一个逻辑电路,这个电路通过被二氧化硅绝缘层包裹着,通过外部的门电路进行控制,在Word_line(即字线)上抬高电荷电势产生一个电场,这个电场就被这个绝缘层所填充,由于电势的抬高,电子从这一电极流向另一个源电极,在其流动中具有足够动能的电子便会穿过该绝缘层到达浮动门。在这个充电过程中电子便会存储在这个浮动门中,而且由于绝缘层的物理特性,在字线恢复电势后控制门便会断开电场,此时电子可以保存在被绝缘层包裹的浮动门中长达数年之久。这就是SSD的存储介质的存储原理。下面是关于浮动门的相关图解:
浮动门电路图解

而cell主要有两种类型:MLC(Multi Level Cell)和SLC(Single Level Cell),其中SLC的cell可以保存1B的数据,而MLC可以保存2B的数据。所以MLC容量是SLC的两倍,但是SLC的IO速度却比MLC要快得多。而且无论是SLC还是MLC都需要有一个额外的区域ECC作为存储校验信息。

至此我们可以了解到,Cell是通过浮动门中的充电情况来判断是存储1或0的。以上的cell存储情况便是SLC的cell,而MLC的cell则是通过让cell具备4个阀值,其中每个阀值都表示了一种状态。每次充电时都利用特定电路控制充电程度,充电至一定阀值之上而低于特定的某一阀值。这样可以用MLC的cell表示4中状态分别是00、01、10、11.
如下图所示是cell 的阵列示意图。我们可以看到每一个cell串都是由多个cell串联而成,每一次读/写时只能在一个cell串中读写其中的某一个cell,而多个cell串并联就可以实现同时并行读写多位数据。所以SSD读写的基本单元是page,故每一个page中的所有bit都会位于一个cell串中相同的位置上,从而形成了字线的长度。字线便是将每个cell串上属于同一个page的所有cell串联起来的导线,而将每个cell串中所有cell串联起来的称为位线。

这里写图片描述

在SSD的数据写入过程中,待写入的数据必须经过ECC校验后才可以和校验完成后的ECC数据一齐写入存储芯片中,而读取数据过程中,数据则会和ECC信息一起读出同时做校验,只有校验成功后才会通过外部总线发送出去。因此ECC校验计算有一个专用的运算器,这个会定制在SSD的内部处理器中。而SSD会有一块很大容量的DRAM。并且还有专属于自己的CPU操作代码和体系。

旧化模拟函数make_aged

从上面关于SSD存储原理的介绍我们可以了解到浮动门电路的物理存储特性,对于整个block的page上所有浮动门电路来说,都会有一个最大的充放电次数的限制。因此SSD的耐性通常比HDD要差很多就是因为这种物理特性。

SSDsim提供了一个模拟函数make_aged进行旧化率的模拟,主要的功能是模拟真实使用过一段时间的SSD,此时的SSD中有部分物理特性参数会发生改变,这个函数便是通

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值