戏说FTL (3) – 华容道

原创内容,转载请注明:  [http://www.ssdfans.com]  谢谢!

蛋蛋是个有技术,有理想,有节操的科技工作者。

前段时间他结合自己业余时间看小电影的经验讲解什么是SSD的OP ,还画了下面一系列图片详细解释什么在下载,观看,删除,再下载过程中,OP是如何在SSD上发挥作用的。

简单放两张图,放多了蛋蛋要说我骗稿费了。

  1. 新买的SSD

 

  1. 蛋蛋看了一礼拜小电影以后的SSD

我当时真诚的跟蛋蛋商量,把他这篇”FTL之垃圾回收、写放大和OP”命名为戏说FTL (2)。

他不,他端着,他说他这个不是”戏”说。

任我苦苦劝说,晓之以理,动之以情,蛋蛋还是不从。    

那我自己写呗,后续系列中如有和蛋蛋雷同的部分 – 纯属故意。

有次我们腐败,等位的时候蛋蛋掏出手机开始玩游戏 。

下面那个预留出来的空间,作用正好跟SSD的OP差不多

 

出来混总是要还的,刘邦的汉朝一统天下四百多年,即将走到尽头。

东汉末年曹委员长一统北方,执了大半只牛耳,为了凑齐整只牛耳,他发大兵南下准备Neng死孙刘两位书记,最后自己差点被Neng死 – 这就是著名的赤壁之战。

先说曹操的兵力:

演义中的版本:曹操本身兵力50万,荆州降军28万,合计约80万


正史中的版本:曹操本身兵力30万,荆州降军不足10万,合计最多40万


演义有夸大的成分,正史的部分,这个30+10,其实也有待商榷:

  1. 曹操夸大军力震慑对手 – 反正没人能数清楚
  2. 将领夸大军力多获取军饷 –将领的俸禄不高,打仗的时候克扣军粮影响士气,变通的方法就是弄假编制多领军饷。

这部分多出来的编制在三国演义英文版中,就被翻译为OP (Over Provision) ,计算公式如下:

OP=(上报的编制-实际人数)/实际人数

当时不同级别的武将OP的规则是这样的:

官阶

兵力

OP

骠骑将军

10

20%

车骑将军

5

15%

卫将军

2

10%

中郎将

1

5%

校尉

1

3%

 

这个概念后来被攻城狮们应用到了SSD的设计里面,还叫OP,计算公式如下:

OP=(实际容量-用户容量)/用户容量

消费级和企业级通常使用不同的OP

Physical capacity

User capacity

% Over-Provisioning

Application class

64 GB

60 GB

7%

Client

96 GB

90 GB

7%

Client

128 GB

120 GB

7%

Client

128 GB

100 GB

28%

Enterprise

256 GB

240 GB

7%

Client

256 GB

200 GB

28%

Enterprise

512 GB

480 GB

7%

Client

512 GB

400GB

28%

Enterprise

 

面对来势汹汹的敌军,周瑜、诸葛两位政委临危不乱,采用远距离兵种出战并开发了一种全新的战术 — 微操车轮战。

  1. 且战且退,保持对方在本方远程攻击范围内
  2. 生力军顶在前线跟敌军短兵相接
  3. 不断把受伤的士兵调配到队伍最后方
  4. 没有生力军的情况下,选择受伤最轻的士兵顶在前线

该战术图解如下:

所有人一边挑衅:”你来砍我呀”,一边使劲突突


年轻力壮的殿后突突,其他人一边后撤一边突突


换另一拨年轻力壮的殿后突突,刚才受伤的到队伍最后方,所有人继续突突


搞定收工


战术的关键就是有足够的空间,如果被敌人围住,后果你懂的…


 

微操车轮战后来被翻译为Wearleveling,不出所料又被攻城狮们放到了SSD设计中。

  • 士兵的生命值=PE Cycle
  • 上海=Erase
  • 火力=Read/Write Performance

这个战术的核心思想就是将敌方造成的伤害均衡的分布到所有士兵身上,以空间换取单体的战斗时间,从而延长整个建制的战斗时间(宁伤十指,不断一指),保证整个建制火力输出。

同理,在SSD的实际使用中,OP作为备用交换空间,提高使用寿命的同时,也提高了读写性能。

正所谓伤敌一千,自损八百,一场战斗下来,一个作战单位就变成了右边这个样子。


这个时候就需要强大的支持系统(Background Operation),包括:

队伍整编(Garbage Collection):

  • 确定队伍里的伤兵 (Trim the page which data is invalid)
  • 没有受伤的士兵重新编队继续出战 ( merge the pages has valid data into a new block)
  • 伤兵集中由军医进行治疗 ( Erase the block)

番号重建 (Bad Block Management):

  • 建制完全打残的队伍(Bad Block),需要重建(Bad Block management).
  • 保留其番号(Logical page),从预备队(OP)找一支队伍(another block)代替(modify map table)

预备队直接上战场 (use OP space to write data)

  • 不用等待整编(GC)完成
  • 第一时间保证前线的战斗力(Write Throughput)

可以看到OP在不同的地方都能发挥非常重要的作用。

最后,我们用一份Kingston官方数据愉快的结束 — 不同OP对4K RW Performance的影响。

分类目录 未分类.
扫一扫二维码或者微信搜索公众号ssdfans关注(添加朋友->点最下面的公众号->搜索ssdfans),可以经常看到SSD技术和产业的文章(SSD Fans只推送干货)。
ssdfans微信群介绍
技术讨论群 覆盖2000多位中国和世界华人圈SSD以及存储技术精英
固件、软件、测试群 固件、软件和测试技术讨论
异构计算群 讨论人工智能和GPU、FPGA、CPU异构计算
ASIC-FPGA群 芯片和FPGA硬件技术讨论群
闪存器件群 NAND、3D XPoint等固态存储介质技术讨论
企业级 企业级SSD、企业级存储
销售群 全国SSD供应商都在这里,砍砍价,会比某东便宜20%
工作求职群 存储行业换工作,发招聘,要关注各大公司招聘信息,赶快来
高管群 各大SSD相关存储公司高管和创始人、投资人

想加入这些群,请微信扫描下面二维码,或搜索nanoarchplus,加阿呆为微信好友,介绍你的昵称-单位-职务,注明群名,拉你进群。SSD业界需要什么帮助,也可以找阿呆聊。