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

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

3天内不再提示

关于存储的TBW和写入放大

mkfounder 来源:mkfounder 作者:mkfounder 2023-07-25 14:38 次阅读

引言:

TBW(Total Bytes Written)是衡量闪存存储器寿命和耐用性的重要指标。但由于写入放大的影响,实际TBW值可能会偏离理论值。本文将介绍TBW的概念以及写入放大系数,并探讨如何降低写入放大对存储器的影响。

TBW:

TBW代表在整个闪存存储器的使用寿命内,可以写入的总字节数。它等于存储产品的容量乘以PE(Program/Erase)次数。然而,由于写入放大现象,实际写入的数据量与期望写入的数据量不一致。

比如"MK-米客方德"的64GB工业级存储卡耐用性高达 1920 TBW,3万次 P/E周期

wKgaomS_bEiASbWZAAIIJfdfSEk840.png

写入放大系数:

写入放大系数是一个衡量闪存存储器性能的指标,它表示实际写入到存储介质中的数据量与主机请求写入的数据量之间的比率。造成写入放大的主要原因是闪存的工作原理,涉及到存储介质的组织结构,包括page、block、plane、die和闪存片等。

SD NAND、SD Card、eMMC、SSD的组成:

Page(页面):通常大小为4KB。其他的有2K,8K,16K

Block(块):通常由64个page组成,有些是128个。

Plane(平面):多个block组成。

写入放大过程:

当主机请求写入一个较小的数据块时,闪存可能需要先读取整个block,并将原有数据和新数据一起写入到新的block中,然后再将原有的block擦除。这个过程导致实际写入的数据量大于主机请求的数据量,从而产生了写入放大。

写入放大系数的计算:

写入放大系数的计算需要每次写入同样大小的文件,在相同的时间间隔内进行,然后计算实际写入的数据量与期望写入的数据量之间的比率。

如何减少写入放大系数:

为了降低写入放大系数,可以采取以下方法:

1,块对齐写入:确保主机写入的数据是以闪存块为单位进行的,这样可以避免跨多个闪存块的写入操作,减少数据冗余。

2,块擦除:在更新闪存块之前,先执行块擦除操作。这样可以确保整个闪存块为空白状态,避免原有数据和新数据的合并写入。

3,垃圾回收:定期进行垃圾回收操作,将无效或已删除的数据块清除掉。垃圾回收可以整理闪存存储,减少数据碎片,从而降低写入放大系数。

4,数据合并:在闪存中,不同数据块之间可能存在空白区域。将新写入的数据合并到这些空白区域中,而不是单独写入新的数据块,可以减少数据冗余。

5,写入放大感知算法:实现写入放大感知的算法,通过调整写入策略和数据管理,尽量减少写入放大的发生。

6,使用高质量的闪存控制器:选择性能良好的闪存控制器,它可以更好地管理写入操作,减少不必要的写入。

7,避免频繁的小写入:尽量避免频繁地进行小块的写入操作,而是优先进行较大块的写入,从而降低写入放大。

8,使用SLC NAND:选择SLC(Single-Level Cell)闪存而不是MLC(Multi-Level Cell)或TLC(Triple-Level Cell)闪存。SLC闪存通常有较低的写入放大系数,但相应的成本也更高。

总结:

所以一般的存储产品的TBW值是由PE,容量和写入放大系数决定,

“TBW=PE*容量/写入放大系数”

为了最大效率的利用TBW,写入的数据要以page为单位,大于或者少于这个数据都会造成TBW的浪费。

减少写入放大系数对于提高存储器性能和延长寿命至关重要。合理的数据管理、写入策略和硬件选择是实现这一目标的关键。根据具体情况,选择适合的优化策略,将为存储设备提供更好的性能和可靠性。

审核编辑 黄宇

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

    关注

    16

    文章

    1688

    浏览量

    114234
  • 存储卡
    +关注

    关注

    0

    文章

    235

    浏览量

    27884
收藏 人收藏

    评论

    相关推荐

    关于stm32 flash写入遇到的疑问求解

    关于stm32 flash写入有两个疑问: 1. 是否每次写操作都需要擦除一个扇区?看到资料说,Flash写入只能由1改成0,因此先要擦除一个整个扇区才能写。 2. 我尝试
    发表于 04-10 06:05

    存储芯片是什么样存储信息的

    存储信息时,对于动态存储器,行地址首先将RAS锁存于芯片中,然后列地址将CAS锁存于芯片中,当WE有效时,写入数据则被存储于指定的单元中。
    的头像 发表于 03-29 15:32 651次阅读
    <b class='flag-5'>存储</b>芯片是什么样<b class='flag-5'>存储</b>信息的

    浅谈flash存储器的特点和优缺点

    Flash存储器的写操作具有特殊性,它只能将数据位从1写成0,而不能从0写成1。因此,在对存储器进行写入操作之前,必须先执行擦除操作,将预写入的数据位初始化为1。
    的头像 发表于 02-19 11:37 917次阅读
    浅谈flash<b class='flag-5'>存储</b>器的特点和优缺点

    单片机芯片怎么写入程序

    单片机芯片的程序写入是通过将程序代码写入单片机芯片的非易失性存储器(如Flash)中实现的。 在计算机科学和电子工程领域,单片机是一种集成电路,它集成了处理器核心、内存、输入/输出接口等组件
    的头像 发表于 01-05 14:06 2801次阅读

    关于半导体存储的最强入门科普

    关于半导体存储的最强入门科普
    的头像 发表于 11-30 17:16 457次阅读
    <b class='flag-5'>关于</b>半导体<b class='flag-5'>存储</b>的最强入门科普

    关于运算放大器轨到轨输出的问题

      昨天群友在群里问了一个关于运算放大器轨到轨输出的问题,对此我写一下我对此的理解,以及结合仿真,梳理给各位同好。
    的头像 发表于 11-03 18:10 958次阅读
    <b class='flag-5'>关于</b>运算<b class='flag-5'>放大</b>器轨到轨输出的问题

    Cache写入方式原理简介

    的一致性,避免CPU在读写过程中将Cache中的新数据遗失,造成错误地读数据,确保Cache中更新过程的数据不会因覆盖而消失,必须将Cache中的数据更新及时准确地反映到主存储器中,这是一个Cache写入过程,Cache写入的方
    的头像 发表于 10-31 11:43 631次阅读

    如何使用Python和pandas库读取、写入文件

    在本文中,我将介绍如何使用 Python 和 pandas 库读取、写入文件。 1、安装 pip install pandas 2、读取 import pandas as pd df
    的头像 发表于 09-11 17:52 794次阅读

    博科开放系统磁带流水线、快速写入存储优化的TCP

    电子发烧友网站提供《博科开放系统磁带流水线、快速写入存储优化的TCP.pdf》资料免费下载
    发表于 08-30 16:51 0次下载
    博科开放系统磁带流水线、快速<b class='flag-5'>写入</b>和<b class='flag-5'>存储</b>优化的TCP

    日志结构存储下数据放置的方法浅析

    日志结构存储在当今存储系统中被广泛使用,然而其中的垃圾回收会将有效数据重新写入导致写放大现象。
    发表于 07-28 10:31 237次阅读
    日志结构<b class='flag-5'>存储</b>下数据放置的方法浅析

    关于存储TBW写入放大

    TBW(Total Bytes Written)是衡量闪存存储器寿命和耐用性的重要指标。但由于写入放大的影响,实际TBW值可能会偏离理论值。
    的头像 发表于 07-25 14:34 998次阅读
    <b class='flag-5'>关于</b><b class='flag-5'>存储</b>的<b class='flag-5'>TBW</b>和<b class='flag-5'>写入</b><b class='flag-5'>放大</b>

    如何降低写入放大系数对存储器的影响

    TBW(Total Bytes Written)是衡量闪存存储器寿命和耐用性的重要指标。但由于写入放大的影响,实际TBW值可能会偏离理论值。
    的头像 发表于 07-25 14:19 279次阅读

    TBW的概念及写入放大系数 如何降低写入放大存储器的影响

    TBW(Total Bytes Written)是衡量闪存存储器寿命和耐用性的重要指标。但由于写入放大的影响,实际TBW值可能会偏离理论值。
    发表于 07-25 14:18 2694次阅读

    RAM/ROM存储器的设计

    随机存储器可以随时从任何一个指定地址中读出数据,也可以随时将数据写入任何一个指定的存储单元中
    发表于 06-05 15:49 909次阅读
    RAM/ROM<b class='flag-5'>存储</b>器的设计

    非易失性内存有写入限制吗?

    我们正在构建一个设备来测量消耗。电路 ACS712 读取那一刻的消耗量,所以,我需要做一个每秒累加的方法。问题:非易失性内存有写入限制,所以我需要使用易失性内存。写入易失性存储器是否有一些限制?我们的想法是每秒读取一次 ACS7
    发表于 05-30 08:48