行情
HOME
行情
正文内容
ecc签名nand 神奇的ECC,可将内存的成本进一步降低
发布时间 : 2024-10-10
作者 : 小编
访问数量 : 23
扫码分享至微信

神奇的ECC,可将内存的成本进一步降低

高端消费产品、网络和工业系统等内存密集型应用程序正面临着成本压力,这促使工程师寻找在提高性能的同时降低系统成本的新方法。错误码校正(ECC)是NAND闪存中维护可靠性和延长内存寿命的关键技术。为了在市场上实现基于NAND闪存的系统有更好的效率,与集成ECC的架构相比,开发人员更加倾向于在主机MCU中实现ECC架构。

本文将探讨集成的和基于主机的ECC之间的差异,比较一下每种方法对系统性能、可靠性和最终成本的影响。

ECC

简单说一下什么叫ECC。ECC内存即纠错内存,简单的说,其具有发现错误,纠正错误的功能,一般多应用在高档台式电脑/服务器及图形工作站上,这将使整个电脑系统在工作时更趋于安全稳定。

内存在其工作过程中难免会出现错误,而对于稳定性要求高的用户来说,内存错误可能会引起致命性问题。内存错误根据其原因还可分为硬错误和软错误。硬件错误是由于硬件的损害或缺陷造成的,因此数据总是不正确,此类错误是无法纠正的;软错误是随机出现的,例如在内存附近突然出现电子干扰等因素都可能造成内存软错误的发生。

当为一个系统选择闪存时,开发人员可以在NAND和NOR技术之间进行选择。NAND单元比NOR单元小,所以NAND的每位成本比NOR内存低。这反过来导致NAND闪存比NOR闪存可用的密度更高。此外,与NAND相比,NOR单元背后的物理原理导致了更长的程序擦除(P/E)时间。由于这些优点,NAND正以越来越快的速度被采用。

传统上NAND闪存的缺点是耐久性和读取性能较慢。随着时间的推移,NAND单元磨损或失去保持程序值的能力,将影响内存位转换状态。当一个块(Block)开始磨损时,它的数据可以转移到另一个块。随着单元的退化,为了防止数据丢失,我们便采用ECC技术。

ECC使用冗余来验证存储的数据是否与写入到内存的数据相匹配。此外,当检测到错误时,为了确保更高的数据完整性,ECC可以对每个块的错误数量进行修正。当超过某个错误阈值时,数据被移动到一个新块上。废弃的块被标记为“bad”,再也不会使用。因此,NAND闪存与ECC结合就可以提供高可靠性应用程序所需的完整性水平。

然而,由于ECC生成和检查需要时间过程,因此它会影响吞吐量和系统成本,这取决于它是如何实现的。通常,ECC可以与内存本身集成或由主机处理器在外部管理。集成方法有两种配置:

一种是单模方法,其中ECC是内存die的一部分,另一种是双模方法,其中控制器IC(具有串行接口和ECC)与内存die合并。在基于主机的方式下,ECC支持MCU NAND flash控制器去访问NAND。内存制造商提供的这三个选项允许OEM为他们的应用程序选择最佳的折衷方案。

一种灵活的ECC方法

将ECC集成到NAND闪存,具备了直接由存储器芯片本身管理ECC的优势。然而,尽管这种方法在某种程度上简化了系统设计,但代价是较高的内存成本和较低的读取性能。与主机处理器中使用的更高的内部时钟频率相比,闪存中较慢的内部时钟导致了读取性能的降低。

集成了ECC之后就增加了NAND闪存设备的大小和复杂性,因此内存成本会更高。考虑到一个8位ECC的硬件实现有大约50K。这表示对一个简单内存控制器的门数(gate count)(3000K)有~1.7%的影响。然而,如果集成在NAND存储器上,影响会在10-15%之间,并且会使存储器的成本增加更多。对于使用多内存设备的大内存需求系统,将ECC与NAND内存集成意味着要多次支付额外成本,而不是基于主机MCU一次性支付ECC。

此外,读取性能也有所下降,因为集成ECC会增加延迟,每个内存读取的时钟率低于主机控制器可以处理ECC检查的时钟率。下图显示了NOR flash、集成ECC的NAND flash以及基于主机的ECC的NAND flash的读取吞吐量比较。可以看出,集成ECC的NAND闪存的性能不到NOR闪存的一半。然而,当ECC是基于主机的时候,NAND闪存的读取性能几乎翻倍,几乎与NOR闪存持平。

当检测到错误(并纠正错误)时,基于主机的ECC提供了更好的性能。下图显示了错误对读取第一数据时间(RFDT)的影响。通过集成ECC, RFDT从45微秒增加到70微秒。对于基于主机的ECC, RFDT要好得多,仅从35微秒增加到45微秒。

NAND和闪存转换层(FTL)

我们使用的固态硬盘(SSD),U盘等存储设备,有别于机械硬盘,其实际存储颗粒为NAND。而NAND存储颗粒受其物理特性影响必然存在坏块,同时也不能直接写0写1。

NAND有别于机械硬盘,主要体现在一下几个方面。

一,如果你想往某个区域存储一个字节的数据,比如0x55,首先需要确认当前区域是没有写入过数据的,也就是必须是全部0xFF的,因为NAND写入的时候每个bit只能从1变成0,不能从0变成1。如果不是全FF,则需要擦除操作,讲该区域全部变成0xFF,才可以写入你想要的0x55写进去。

二,NAND还存在另外一个特性是数据容易出错,写进去的是0x55,回读可能是0x5A,这时候需要ECC算法将错误的数据纠正过来,ECC算法比较复杂,在此不论述。

三,NAND存储颗粒的擦写次数是有限的,一般一个块也就是3000次左右,不能无线擦写。

四,NAND存储颗粒是存在坏块的,也就是实际物理地址上的某个区域是不能正常存储数据的。

这些特性都导致电脑不能向机械硬盘一样直接操作NAND。比如我们的电脑管理了全部文件内容,管理这些文件内容的功能叫文件系统。类似FAT文件系统会在固定的区域存储所有的文件信息,包括文件名,大小,作者等,例如存储在地址0里面。而我们需要频繁的修改文件,那么地址0存储的文件信息就需要频繁的更新,假如存储地址0对应NAND地址0,那么这块控件将很快达到其擦写次数寿命,导致损坏,我们的文件信息就会发生错乱。而且NAND不接受直接写入,必须先擦除再写入,还需要记录NAND中的坏块在哪里,避免写入已经坏掉的区域。读取的时候还需要进行ECC纠错,防止数据出错,这都会大大增加系统的负担,是不会被厂家接受的。大家都懒,谁愿意为了你的问题而改变自己呢,除非你给钱。

FTL闪存转换增这时候被提出来了,其作用就是文件系统和NAND之间的沟通桥梁。对于文件系统来说,它操作的实际第一对象是FTL,依然向机械硬盘一样管理所有的数据,不需要变动,什么都不需要改,除了问题一定是你的,因为我没改。这样系统方恨开心。但是管理NAND的脏活累活就得FTL来做了,谁让SSD等厂家想卖钱呢。

FTL算法,其实就是一种逻辑地址到物理地址的映射。当文件系统发送指令要写入或者更新一个特定的逻辑页时,FTL实际上是把数据写入到一个不同的空闲物理页并更新映射表(逻辑地址和物理地址的关联数据),并把这个页上包含的"旧数据"标记为"无效"(更新后的数据已经写入新的物理地址,旧地址的数据自然就失效了)。正是因为FTL的存在,操作系统才能把SSD当成机械硬盘那样操作,因此FTL转换的性能也就直接影响SSD的性能表现,而且FTL算法也是影响SSD寿命及稳定性的决定因素之一。

FTL还需要管理坏块,磨损均衡(与NAND寿命直接相关),ECC算法等功能,只有这样才能伪装的自己是一个机械硬盘,别人才会用你。

相关问答

norflash和nandflash的区别?

NANDflash和NORflash的区别一、NANDflash和NORflash的性能比较flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的....

想问一下三星内存条的型号有什么区别-ZOL问答

三星内存条常见的有ECC和非ECC版本,ECC用于服务器级稳定性要求高的环境。另外还有V-NAND技术的存储型内存,提供更快的数据读写速度。记住查看带宽标识如PC3-1...

急需知道:深圳市高端 ECC 价格, ECC 专不专业??

[回答]ECC英文全名叫ErrorCorrectionCoding或者ErrorChechingandCorrecting,中文译做电路误差校正内存,是一种具有自动纠错的内存.主要用于商业计算...

哪位老司机 有谁能回答一下吗:进口 ECC 价格, ECC 服务体验好不...

[回答]也就是说iNand本身自己完成存储系统的ECC功能,SoC使用iNand时自己不用写代码来进行ECC相关操作,大大简化了SoC的编程难...(NandFlash分2种:SLC和ML...

chia收割机需要什么配置?

价格11999算力:18TCPU(澜起科技-津逮):【津逮C08108C2.10GHz11MB85W】X1;内存(SAMSUNG):【16GBDDR4-2933ECCREGR...

英特尔固态硬盘,老的120G的520和新出的120G 540S,哪个比较好?

540S使用SATA3接口的规格,标准的SATA3接口,支持6Gb/s的读写速率,这也是现在SATA接口SSD的性能极限所在。独家采用SiliconMotion专利的NANDXtendECC技...

如何评价慧荣发布最新的主控SM2271?

...慧荣SM2271是一款8通道企业级闪存控制器,不过是SATA6Gbps接口的,支持3DTLC和QLC闪存,最大容量16TB,连续读写速度为540/520MB/s,可为读取密集型工作负载....

东芝有什么好的SSD吗?

东芝在固态硬盘领域属于第一阵营,因为它在主控芯片和NAND颗粒都是自己的产品,不会受制于人。以SATA接口举例吧,这个是适应性最广泛的接口。东芝目前旗舰级可以...

三星860evo m2500g怎么样?

.860evo有三种接口,除了常见的主流接口SATA与M.2还有mSATA接口,SATA受限于接口它的实力并不能完全发挥,通过跑分软件CrystalDiskMark的测试,连续读取563MB/S,....

固态硬盘容量这么小,和普通硬盘比有什么优势?RAID0是什么?

[回答]简介固态硬盘(SolidStateDisk、IDEFLASHDISK、SerialATAFlashDisk)是由控制单元和存储单元(FLASH芯片)组成,简单的说就是用固态电子存储芯....

 冯思广  拒绝黄赌毒 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部