FTL 算法之Arbiter
背景:
随着NVMe的流行,高并发多线程多核的SSD必定是未来方向, sata的单核及FTL架构已不在适用于当前的NVMe firmware。
高性能低功耗是SSD未来的趋势,但随之而来的是复杂的设计,和各种内部IO,该如何平衡和合理分配资源将是Firmware设计的重中之重。
如果管理各种Internal IO
这里引进一个 机制---arbiter,来管理各种IO,让其有序执行,减少相互争夺资源,以便减少不必要的开销。
为了简单理解arbiter机制,这里讲一个简单的算法:
比如一个3室的房子有一个大门,只有一把钥匙,拿到钥匙才能进门,这里把token比作钥匙。这3个房间住着3个人,就是3个open block,但是由于某些限制这个套三只能同时有一个人呆在里面,所以需要一个规则来定义每个人一次性能在房间待多久,这里用credit来描述。只有credit还不够,还需要一个规则描述3个人进房间的比例,用ratio来描述。
FTL arbiter:
token:钥匙,要写资料必须拿到token。(当前token的credit消耗完,arbiter会仲裁token。)
credit:进门时间,(每次写多少)。(每次arbiter的时候,由ratio比例配置credit。)
ratio:决定进入时间比例(写比例)。(check free space,s2t,gc enable都会去配radio比)。
S2T/CKPT/GC/HOST-IO/SYS 通过arbiter得到token(钥匙),credit通过具体场景分配。
eg:host的credit写完了,ckpt/gc/s2t都没有达到触发条件,则host继续得到下一轮credit。消耗完这轮credit,如果s2t enable,则轮到arbiter 为bs分配credit,消耗完credit,如果gc enable,arbiter为gc分配credit。
FTL在trans write消耗credit,如果消耗完credit就需要切换token,HOST消耗完切换到GC,GC如果消耗完就切换到S2T,S2T直接给credit(eg: one short给3 superpage, two-pass program cnt 根据nand特性给cnt),CKPT如果enable也会轮到token。
FTL TRANS WRITE写一个Data Unit消耗一个credit,消耗完会进行下一次arbiter。
S2T : HOST = ?
S2T:消耗1 TLC,释放3 SLC。----->释放2个SLC blk.
为了最大的满足性能, 即释放=消耗, HOST:S2T = 2:1时,满足消耗=释放。
GC: HOST = ?
GC的情况较复杂,具体需要看GC是生产者还是消费者, SLC or TLC:
比如: GC是生产者的时候: GC : HOST = 1 : 1 (根据blokc valid count来配置)
ratio 该如何配置?
---未完待续
FTL 算法之Arbiter相关推荐
- 详细描述NAND FLASH FTL 层算法
NAND Flash FTL (Flash Translation Layer) 层算法是用来管理 NAND Flash 存储设备的软件层.它负责将逻辑块地址映射到物理块地址,并处理错误校正和块擦除等 ...
- 联邦学习 OR 迁移学习?No,我们需要联邦迁移学习
2020-11-18 13:40:43 机器之心分析师网络 作者:仵冀颖 编辑:H4O 在这篇文章中,作者通过 4 篇论文详细介绍了联邦学习中的联邦迁移学习问题,并探讨了向经典联邦学习中引入迁移学习的 ...
- 计算机组成原理之磁盘
一 机械硬盘结构 1.1 盘片(磁面)( platter) 盘片就是磁盘中存储数据的介质,磁盘是通过主轴连接的多个盘片构成的存储设备. 1.2 主轴 磁盘是通过将多张盘面连接而成或者看成是堆积而成的, ...
- 无法扩展该卷 因为群集的数量将超过文件系统_Ubifs文件系统分析
转载是一种动力 分享是一种美德 1. 引言 UBIFS,Unsorted Block Image File System,无排序区块图像文件系统.它是用于固态硬盘存储设备上,并与LogFS相互竞争, ...
- 给SSD(固态硬盘)编程
给SSD(固态硬盘)编程(1):简介和目录 本文由 伯乐在线 - 熊铎 翻译.未经许可,禁止转载! 英文出处: Emmanuel Goossaert (CodeCapsule.com) .欢迎加入 翻 ...
- 阿里云总监课,存储系统设计——NVMe SSD性能影响因素一探究竟
目录 1 存储介质的变革 2 NVME SSD成为主流 2.1 NAND FLASH介质发展 2.2 软件层面看SSD--多队列技术 2.3 深入理解SSD硬件 3 影响NVME SSD的性能因素 3 ...
- 阿里云储道深度解析存储系统设计——NVMe SSD性能影响因素一探究竟
NVMe SSD的性能时常捉摸不定,为此我们需要打开SSD的神秘盒子,从各个视角分析SSD性能影响因素,并思考从存储软件的角度如何最优化使用NVMe SSD,推进数据中心闪存化进程.本文从NVMe S ...
- 【阿里云总监课】存储系统设计——NVMe SSD性能影响因素一探究竟
目录 1 存储介质的变革 2 NVME SSD成为主流 2.1 NAND FLASH介质发展 2.2 软件层面看SSD--多队列技术 2.3 深入理解SSD硬件 3 影响NVME SSD的性能因素 3 ...
- 【易开嵌入式】rt-thread+stm32f407+nandflash,实现RL-FLASHFS文件系统移植
版权声明:本版面文章皆为原创.或参考其他技术网站.博客后自己动手做实验所得,转载请注明出处. 鸣谢:感谢eric硬汉 商务合作:lz_kwok@foxmail.com 易开嵌入式工作室 基于单片机系统 ...
- 固态硬盘(SSD)原理及相关介绍
1. 什么是SSD 固态硬盘(Solid State Drives),用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片.DRAM芯片)组成.固态硬盘在接口的规范和定义.功能及使 ...
最新文章
- spring boot第二讲
- 《移动项目实践》实验报告——Android数据存储
- WIN32控件使用大全
- Hive常见的属性配置
- 来自山西机器人乐队_冰山上的机器人X三十禁放映 | 庞宽、李霄云对谈预告
- 如何深入理解计算机视觉?(附思维导图)
- 圣诞节海报设计需要的手写字体素材
- 华为机试HJ105:记负均正II
- python数据包发送给云平台_用python发送短消息(基于阿里云平台)
- 如何在github上找到自己想要的代码_如何在 GitHub 上找到免费且实用的软件?
- 【图解CAN总线】-4-详述CANFD和Classic CAN的Frame帧结构差异
- 基于51单片机的酒精检测仪设计
- 解析java数值类型数据混合运算
- matlab太阳系行星,Matlab动画模拟太阳系行星运动.doc
- 【SEO网络推广】会被百度K站的原因
- 静态网页,动态网页,伪静态网页区别以及优缺点
- 使用python制作矢量图
- RSA之 两组e与φ(n)不互素解法
- Mac录屏想只要电脑内置的声音
- uniapp ui框架——uView 及其可视化搭建工具
热门文章
- 不同编码的MP4视频在各大游览器播放总结
- Dezender下载及使用说明
- 分治算法求螺丝螺母匹配问题
- SolidWorks2010
- 联想微型计算机如果进入BIos,联想笔记本各机型如何进入bios
- 单片机大学生实习感悟体验
- 监控网站与接口宕机,并推送 App 消息提醒的程序
- positionViewHolder{a1bbfa3 position=2 id=-1, oldPos=-1, pLpos:-1 no parent}
- 检测卡常见错误:1A、1B、20、21、22
- 树莓派通过CuteFTP 9.0 与 电脑互传文件