0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分区存储助力QLC应用到嵌入式存储设备

yYjs_江波龙 来源:未知 2023-02-14 15:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

背景

目前应用在移动终端的嵌入式存储设备(这里主要指UFS/eMMC等,以下统称“嵌入式存储设备”)中主流介质还是TLC。但更高存储密度的QLC也已经产品化,比如一些数据中心(读密集型应用)已经在部署QLC存储设备。QLC可以给存储设备带来更低的成本,作为消费级产品的嵌入式存储设备,未来引入QLC也是势在必行。

但和当前主流TLC相比,QLC在性能和寿命上都相差很大,从下面某原厂TLC和QLC在性能和寿命方面的一个对比可见一斑。

ccaeabe4-ac35-11ed-bfe3-dac502259ad0.jpg

Table 1:某原厂TLC和QLC性能和寿命对比

因此,QLC要应用在嵌入式存储设备上,首先需要解决性能差和寿命短两大问题。

虽然QLC还不到TLC的1/4写入性能,但目前消费级固态存储产品都有成熟的SLC cache机制,能保证用户有比较好的突发写入性能(写SLC的性能)。由于嵌入式存储设备有比较充裕的空闲时间,存储设备可以利用空闲时间把数据从SLC搬到QLC,只要不是重度写入场景,这部分QLC写入性能,用户一般感知不到。

但数据一旦写到QLC,对比TLC,用户读取性能变差。针对这个读取性能差的问题,有一种方案是把热数据(经常读取)写回SLC,但这样无疑增加了设备复杂性,而且数据搬移带来了额外的写放大,这让寿命本来就不长的QLC“雪上加霜”。

如果说性能问题可以通过SLC解决或者缓解,那对于QLC寿命问题,在分区存储引入之前,可能的解决方案有:用户端使用类F2FS文件系统使用数据分流

F2FS文件系统化随机写为顺序写,这会减少存储设备内部垃圾回收导致的写放大,但F2FS文件系统本身的垃圾回收,会给存储设备带来额外的写。综合下来,F2FS文件系统给设备带来的写放大不一定减少。

数据分流需要主机和设备配合:主机端对数据进行冷热甄别,设备端根据数据的冷热程度把它们存储在不同的闪存块上。数据分流能一定程度上减少存储设备写放大,但具体能带来多大收益,这取决于用户冷热数据的比例,因此有一定的局限性。

今天要介绍减小写放大的终极大招——分区存储(Zoned Storage),它能消除QLC和TLC寿命之间的差异,而且能提升存储设备性能,让QLC应用到嵌入式存储设备上变得可能。

什么是分区存储?

分区存储概念最早来源于SMR HDD。SMR是“Shingled Magnetic Recording”(叠瓦式磁记录)的首字母缩写,是一种用于增加容量并降低硬盘每TB成本的重要技术。SMR硬盘把硬盘分成一个个的分区(Zone),每个分区内部必须顺序写,否则会发生数据覆盖从而导致之前写入的数据丢失问题。

ccc999a4-ac35-11ed-bfe3-dac502259ad0.jpg

(Figure 1:SMR HDD)

分区存储设备的逻辑空间被划分成一个个连续的分区,分区内部只能被顺序写入。每个分区都有一个写指针,用于跟踪下一次写入的位置。分区中的数据不能被覆盖,必须首先使用特殊命令(区域重置)擦除数据。

ccdc5242-ac35-11ed-bfe3-dac502259ad0.jpg

(Figure 2:分区存储概念)

除了HDD,基于闪存的固态存储设备,也是非常喜欢顺序写入的,因为顺序写性能好,而且导致的写放大也小。“让主机端顺序写入”一直是固态存储设备的梦想,在SMR HDD助力下,分区存储生态日趋完善,NVMe也制定了ZNS(Zoned Namespace)标准,SSD也算是“圆梦”了。

分区存储带来的好处

分区存储带来的一大好处就是能消除存储设备内部的垃圾回收。存储设备垃圾回收会导致两个主要问题:一是引入写放大,导致存储设备寿命减少;二是垃圾回收的同时如果伴有主机读写,垃圾回收操作则会影响主机读写性能。

ccf301b8-ac35-11ed-bfe3-dac502259ad0.jpg

(Figure 3:垃圾回收示例)

垃圾回收原理:为腾出空闲闪存块,需要把有效数据A、B、C从源闪存数据块搬到新的闪存块,内部数据的搬移引入写放大。写放大 = 写入闪存的数据量/主机写入的数据量,写放大越大,对闪存磨损越厉害。

分区存储怎么就能消除存储设备垃圾回收的呢?

如果分区大小是存储设备闪存块大小的整数倍,这样一个分区的数据会被写到闪存设备的整数个闪存块内。由于分区不允许覆盖写,一个分区数据只能被整体无效掉,也就是意味着该分区对应的闪存块也是整体被无效掉(上面没有任何有效数据),因此存储设备内部回收闪存块无需垃圾回收——只需要一个擦除动作。

传统垃圾回收由于需要搬移闪存块上的有效数据,会导致写放大。还有,为减小写放大和加速垃圾回收,存储设备都会预留一些闪存空间(也就是我们常说的OP),以减少闪存块上有效数据数量。现在分区存储设备中由于不存在垃圾回收,因此没有写放大,同时这部分OP也可以省掉了(节省成本)。

cd0f381a-ac35-11ed-bfe3-dac502259ad0.jpg

(Figure 4:传统SSD数据存放和分区SSD数据存放比较)

分区存储带来的另一大好处就是大大减少了映射表大小,从而提升系统性能,减少存储设备成本。

基于闪存的传统存储设备一般按4KB逻辑块大小为映射粒度,其L2P映射表(逻辑地址到物理地址的映射)大小一般为存储设备容量的1/1024,比如一个512GB的UFS设备,其L2P映射表大小为512MB。企业级SSD一般都配有相应大小的DRAM来存储运行时的L2P映射表,比如512GB的企业级SSD需要搭载至少512MB的DRAM;而业界消费级存储设备则是出于成本考虑,一般都没有DRAM,它利用控制器小的SRAM缓存部分L2P映射表,而绝大多数L2P映射表都是存在闪存,固件按需从闪存加载映射关系数据到控制器SRAM。这种DRAM-less的存储设备,与带DRAM的存储设备相比,少了DRAM的成本,但性能无疑会大打折扣,因为控制器SRAM大小有限,对随机读取场景来说,映射表缓存命中率很低,固件很多时候需要先从闪存加载映射关系,然后再根据获得的物理地址去读用户数据,也就是说读取一笔数据需要访问几次闪存,意味着读取性能肯定比只访问一次闪存要慢得多。

问题的根因是传统存储设备映射粒度太细了,导致映射表巨大。而分区存储设备,我们可以按照分区大小为映射粒度。假设分区大小为128MB,一个512GB的设备有4096个分区,每个分区对应的物理地址用4字节表示,那么整个L2P映射表只有16KB!这么小的映射表完全可以存储在控制器SRAM中,因此在企业级SSD中可节省DRAM的使用;对消费级存储产品来说,L2P映射表可以常驻内存,无需从闪存中获取映射关系,读取一笔数据只需访问一次闪存,这大大加速了随机读取性能。

cd2218a4-ac35-11ed-bfe3-dac502259ad0.jpg

(Table 2:传统存储设备和分区存储设备映射对比)

分区存储助力QLC嵌入式存储设备

回到QLC应用到嵌入式存储设备的话题。

在传统嵌入式存储设备中,垃圾回收一般会引入3-4的写放大,即一个3000次擦写次数的TLC闪存,真正给到用户的擦写次数可能不到1000次。而分区存储的使用,由于不存在垃圾回收,因此写放大可以做到接近1,也就是一个1500次擦写次数的QLC,给到用户就是实打实的1500次。这意味着:传统用3000次擦写次数TLC的存储设备,假设TBW为100TB,现在如果用QLC,虽然QLC的擦写次数只有TLC的一半,但由于分区存储的使用,TBW反而能提升到150TB。

对分区存储设备,由于L2P映射表很小,完全能够存放在控制器SRAM,因此可快速更新和获取映射关系,从而大幅提升系统读写性能。传统基于TLC的嵌入式存储设备,在随机读取一笔数据(4KB)的时候,由于L2P映射缓存很小(几百KB),固件大概率要先从闪存上加载L2P映射关系,这个时间大概40us左右,然后再花60us左右的时间从闪存加载用户数据——随机读取一笔数据的时间大概需要花100us左右;而现在基于分区存储的嵌入式存储设备,由于省掉了加载映射关系的时间,虽然读取闪存的时间QLC要比TLC长,但总的时间下来,两者是相当的。

由于分区存储设备的使用,再加上成熟的SLC缓存机制,这两大特性弥补了QLC寿命短和性能差两大短板,让QLC应用到嵌入式存储设备上变得可行。现在典型的嵌入式存储设备为UFS设备,如果引入了分区存储,像UFS中的HPB、FBO等特性完全可以抛弃,这也无疑简化了UFS设备的设计。

嵌入式存储设备技术展望

前端接口协议方面,应用于安卓平台上的嵌入式存储设备当前主流是UFS设备,相信未来很长一段时间也会沿着UFS路线继续向前。UFS4.0协议今年8月份发布,三星早前也发布了UFS4.0存储设备。

cd3964e6-ac35-11ed-bfe3-dac502259ad0.jpg

(Figure 5:嵌入式存储协议发展路线)

存储介质方面,作为消费级产品,嵌入式存储设备对成本敏感,随着QLC闪存的成熟,QLC必然会应用到未来的嵌入式存储设备上,无论是厂商还是消费者,都要做好这个心理准备。事实上,今年(2022年)年初铠侠已经发布了基于QLC的UFS3.1产品。

QLC应用到嵌入式存储设备上,要让消费者用得放心,这需要相关的技术来解决QLC介质可靠性差、寿命短、性能差等问题。因此在技术趋势方面,一方面是嵌入式存储控制器纠错能力需要变得越来越强;另一方面,像数据分流、分区存储这些能减小写放大的技术也会被引入,来弥补QLC寿命短这块短板。

目前,江波龙具有基于主流3D TLC闪存的丰富的嵌入式存储产品,从eMMC到高性能UFS3.1,从消费级存储到车规级存储,产品矩阵全面。同时,公司也在思考怎么把存储密度更高的QLC应用到嵌入式存储产品上,并开展相关技术预研工作。未来,江波龙会持续给客户带来更多超越期望的嵌入式存储产品。


原文标题:分区存储助力QLC应用到嵌入式存储设备

文章出处:【微信公众号:江波龙电子】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 江波龙
    +关注

    关注

    4

    文章

    308

    浏览量

    28043

原文标题:分区存储助力QLC应用到嵌入式存储设备

文章出处:【微信号:江波龙电子,微信公众号:江波龙电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    芯盛智能嵌入式eMMC E210系列斩获2025年度嵌入式存储产品金奖

    11月18日, 一年一度中国数据与存储峰会在北京顺利召开,备受关注的2025存储风云榜同期揭晓。作为领先的存储控制器与解决方案提供商,芯盛智能受邀参会,凭借自主研发的嵌入式eMMC E
    的头像 发表于 11-18 17:17 1120次阅读
    芯盛智能<b class='flag-5'>嵌入式</b>eMMC E210系列斩获2025年度<b class='flag-5'>嵌入式</b><b class='flag-5'>存储</b>产品金奖

    串行接口MRAM存储芯片面向工业物联网和嵌入式系统的应用

    、BBSRAM、NVSRAM及NOR存储器件,专为应对工业物联网、嵌入式系统及高性能存储应用的严苛需求而设计。旨在通过其高性能、高可靠性及广泛的适用性,为下一代存储架构提供支撑。
    的头像 发表于 11-05 15:31 197次阅读

    姑苏秋叙 共话QLC:江波龙携手Solidigm共探嵌入式存储新蓝海

    10月31日,江波龙携手全球知名存储解决方案商Solidigm(思得),在苏州举办“姑苏秋叙共话QLC”主题沙龙活动。来自智能终端平台及厂商的数十家代表齐聚一堂,共探QLC嵌入式
    的头像 发表于 10-31 19:14 825次阅读
    姑苏秋叙 共话<b class='flag-5'>QLC</b>:江波龙携手Solidigm共探<b class='flag-5'>嵌入式</b><b class='flag-5'>存储</b>新蓝海

    CPM系列核心板,一款存储灵活的嵌入式核心板

    嵌入式产品开发中,存储空间不足是一个常见问题。一旦硬件设计定型,后期想扩容往往面临成本飙升、周期拉长、可靠性风险等难题。本文将介绍一种创新的解决方案,帮助开发者灵活应对存储空间不足的挑战。硬件定型
    的头像 发表于 08-13 11:34 383次阅读
    CPM系列核心板,一款<b class='flag-5'>存储</b>灵活的<b class='flag-5'>嵌入式</b>核心板

    华芯星重新定义嵌入式存储品质标准

    在物联网设备爆发式增长、工业4.0与汽车智能化加速的当下,嵌入式存储芯片正面临前所未有的性能与可靠性挑战。凭借铠侠(KIOXIA)全球领先的BiCS FLASH 3D闪存技术与SMI(慧荣
    的头像 发表于 07-22 09:11 1878次阅读

    AMD嵌入式处理器为您的应用添能助力

    AMD 面向嵌入式应用打造高性能、高能效处理器,全方位满足网络、存储、汽车、工业、零售、医疗、测试与测量等领域的各种需求。无论您的应用是涉及 AI 加速、机器视觉、安全数据处理还是高分辨率显示
    的头像 发表于 07-07 14:09 1667次阅读

    半导体存储芯片核心解析

    速度(MB/s, IOPS)、耐久度(TBW, DWPD)、类型(SLC/MLC/TLC/QLC)。 3.4 NOR Flash - 代码存储/嵌入式系统 原理:也是浮栅晶体管,但单元独立可寻址(类似
    发表于 06-24 09:09

    如何正确选择嵌入式文件系统?

    Linux嵌入式系统中,文件系统和缓存机制常导致数据存储稳定性问题。本文通过案例分析原因,对比不同文件系统特性,为开发者提供优化建议,助力提升数据稳定性和系统可靠性。前言基于Linux的嵌入式
    的头像 发表于 03-17 11:35 856次阅读
    如何正确选择<b class='flag-5'>嵌入式</b>文件系统?

    大华存储闪耀2025德国嵌入式展会 以全场景存储解决方案引领智能存储新方向

    杭州2025年3月12日 /美通社/ -- 德国时间3月11日,2025年全球嵌入式技术领域顶级盛会——德国嵌入式展(Embedded World)在纽伦堡会展中心盛大开幕。浙江华忆芯科技有限公司
    的头像 发表于 03-14 18:19 473次阅读
    大华<b class='flag-5'>存储</b>闪耀2025德国<b class='flag-5'>嵌入式</b>展会 以全场景<b class='flag-5'>存储</b>解决方案引领智能<b class='flag-5'>存储</b>新方向

    从eMMC到NAND,嵌入式系统存储的软件优化策略

    嵌入式希望通过对存储相关知识的分享,助力大家构建完整的存储知识体系框架。 首先,嵌入式场景中常用来存储
    的头像 发表于 03-13 15:06 909次阅读
    从eMMC到NAND,<b class='flag-5'>嵌入式</b>系统<b class='flag-5'>存储</b>的软件优化策略

    嵌入式系统存储的软件优化策略

    嵌入式希望通过对存储相关知识的分享,助力大家构建完整的存储知识体系框架。 首先,嵌入式场景中常用来存储
    发表于 02-28 14:17

    嵌入式机器学习的应用特性与软件开发环境

    设备和智能传感器)上,这些设备通常具有有限的计算能力、存储空间和功耗。本文将您介绍嵌入式机器学习的应用特性,以及常见的机器学习开发软件与开发环境。
    的头像 发表于 01-25 17:05 1205次阅读
    <b class='flag-5'>嵌入式</b>机器学习的应用特性与软件开发环境

    QLC存储新里程:德明利探索高效存储之路,赋能数据时代新需求

    在大数据和人工智能时代,数据存储需求呈指数级增长,市场对存储媒介的性能、容量和能效提出了更高要求。随着闪存技术向高存储密度发展,一个存储单元可以存储
    的头像 发表于 01-21 16:00 1461次阅读
    <b class='flag-5'>QLC</b><b class='flag-5'>存储</b>新里程:德明利探索高效<b class='flag-5'>存储</b>之路,赋能数据时代新需求

    MPU在嵌入式系统中的应用

    一、MPU的基本功能 微处理器单元(MPU)是嵌入式系统中的大脑,负责执行程序指令、处理数据和控制其他硬件设备。MPU的基本功能包括: 指令执行:MPU能够从存储器中读取指令,解码这些指令,并执行
    的头像 发表于 01-08 09:26 1493次阅读

    EMMC存储如何影响设备性能

    在当今的数字时代,存储技术的发展对于设备性能的提升至关重要。EMMC作为一种嵌入式存储解决方案,已经在智能手机、平板电脑、车载系统等多个领域得到广泛应用。 EMMC
    的头像 发表于 12-25 09:40 2987次阅读