找回密码
 注册
关于网站域名变更的通知
查看: 442|回复: 1
打印 上一主题 下一主题

转——Open-Channel SSD

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-4-9 09:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
转——Open-Channel SSD
3 A+ m" r* X5 x0 Q$ h

% R7 E2 @" r' S  R& h
妾身千万难,FTL将栖身何处? 我们知道SSD控制器内部算法核心是FTL(Flash Translation Layer),把用户的地址LBA转换为SSD内部Flash芯片的物理地址。一般的消费级SSD控制器内置FTL,因为功能比较简单和统一,消费级市场 经过WinTel联盟多年的锤炼,各种接口非常统一,大家的需求也很单一,只要支持Intel主板、Windows操作系统就可以了,大大简化了各种外设 的硬件设计。 但是进入了企业级市场,真是群雄并立,有各种各样的客户和存储厂家,大家使用多种多样的操作系统和主板架构,甚至Google、Facebook、BAT 都可以自己定义硬件、Linux底层。在这种情况下,FTL放在SSD控制器里面已经难以满足需求了,用户希望能够自定义FTL,根据自己的数据特点设计 高效的FTL,比如: 搜索引擎可以把索引表和SSD物理地址对应起来; 日志数据可以直接流式写入SSD内部Flash通道; 数据库希望key-value能对应到SSD物理地址。 这种自定义后面如果有FTL,导致几大缺点: latency变长; 达不到最优的性能; 垃圾回收、磨损平衡等浪费了SSD的存储空间和寿命。; N" i5 |! ?( D2 c7 N; z8 }" z. `
5 ]& s9 P' q7 c' u2 b
Open-Channel SSD架构

5 x8 q3 S. @4 e8 G/ ]8 `
CNEXlabs的SSD控制器把SSD内部的通道开放给用户使用,这样控制器只负责Flash数据传输、ECC、RAID、垃圾回收引擎、错误处理、坏块管理等工作,而FTL层的设计由Host自己根据需求实现。这样也方便用几个控制器组成一个大的SSD,甚至阵列。6 I" H. d9 u. h- n4 ~1 X/ y7 m

4 f4 A# r: i' D4 S" E如下图,这样做的一个好处是中间处理变简单了,latency就减少了
) T+ k: ?6 ^" j- B0 O7 [
在软件定义存储中的优势 可以集中管理多个SSD; 软件可定制; 根据需求定义FTL; FTL可以不断修改; 针对不同应用开发不同软件。 如下RocksDB例子,数据以日志形式直接写入Flash的块,有点像百度自己做的SSD。CNEXlabs还提供了Linux驱动,支持NVMe以及NULL Driver做FTL性能测试和Debug。; a* |+ P7 ~! b4 F4 ]6 g

$ d; G$ p# S4 o- [" k4 H
( x8 _' G, m3 [! \* n7 H

  U- a/ @! u& S6 t  {1 S3 R1 Z

该用户从未签到

2#
发表于 2019-4-9 15:38 | 只看该作者
发帖是心得 回帖是美德
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-29 21:54 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表