Flash基础入门之IBM全闪存阵列--FlashSystem(Data Protection)
小标 2018-11-27 来源 : 阅读 1464 评论 0

摘要:本文主要向大家介绍了Flash基础入门之IBM全闪存阵列--FlashSystem(Data Protection),通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。

本文主要向大家介绍了Flash基础入门之IBM全闪存阵列--FlashSystem(Data Protection),通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。

一、Flash Technology

上图是一个8Gb 50nm的SLC颗粒内部架构,每个page有33,792个存储单元,每个存储单元代表1bit(SLC),所以每个page容量为4096Byte + 128Byte(SA区)。每个Block由64个page组成,所以每个Block容量为262,144Byte + 8192Byte (SA区)。Page是NAND Flash上最小的读取/写入(编程)单位(一个Page上的单元共享一根字符线Word line),Block是NAND Flash上最小的擦除单位。不同厂牌不同型号颗粒有不同的Page和Block容量。

如上所述,大家应该发现了,写入时,是在字符线上加压以写入数据,擦除时则是在位线上加压,因为一个块共享一条位线,这也是擦除的单位是块而不是页的原因,同理写入的最小单位是页的原因大家想必也已明白。

下图是个8Gb 50nm的SLC芯片,4KB+128字节的页大小,256KB+8KB的块大小。图中每个页内4096字节用于存储数据,另外128字节用于管理和ECC等。

NAND闪存还会利用多Plane设计以提升性能,请看下图:

多Plane设计的原理很简单,从上图中(Micron 25nm L73A)我们看到,一个晶片内部分成了2个Plane,而且2个Plane内的Block编号是单双交叉的,想象我们在操作时,也可以进行交叉操作(一单一双)来提升性能,根据测试,某些情况下性能可以比单Plane设计提高约50%以上。

上图向大家清楚说明了多Plane设计提升性能的原因。

 

通过这篇文章,我们知道在闪存中,plane>block>page,数据以page为单位写,以block为单位擦除。如果还有不理解的可以去搜索下杨总写的一篇文章《漫谈SSD原理与应用实践-v0.1.pdf》。

-------------------------------------------------------------------

二、Variable Stripe RAID

再说Flashsystem 840,在IBM Flash系列中,提供了两层的数据保护,一个是module-level的VSR(可变条带RAID),一个是System-level的RAID。System-level很好理解,就是横跨多个module组RAID,可横跨4(2D+1P+1S)、8(6D+1P+1S)或者12(10D+1P+1S)闪存模块 ,类似于传统的多块磁盘组RAID5。而module-level的VSR是一个flash module内部提供的data protection。下面我们着重讲VSR。

Variable Stripe RAID (VSR?) is a unique IBM technology that provides data protection of the memory page, block, or whole chip,  是IBM的专利,避免了在一个memory chip 或者plane failure时就更换整个Flash module,延长了Flash module寿命。

Due to the massive parallelism of DMA operations controlled by each FPGA and parallel access to chip sets, dies, planes, blocks,and pages, the implementation of VSR has minimal impact on performance.

-- Patented VSR allows RAID stripe sizes to vary.    
-- If one die fails in a ten-chip stripe, only the failed die is bypassed, then data is restriped across the remaining nine chips.    
-- VSR reduces maintenance intervals caused by flash failures

The value of the IBM FlashSystem Variable Stripe RAID

VSR特点:

VSR是被一个module里的4个Flash controller控制和管理的

以8KB一个Page写,以1MB一个Flash blocks erase

每个Chip有16个planes

如果一个plane坏掉,前提是一个plane里至少有256个Flash blocks fail

一个plane也可以整体fail

64个planes坏了或者4个chips坏了,才会认为整个module 坏掉

当一个Flash module坏了,2D Flash RAID会负责data protection

VSR主要作用在Plane级,横跨闪存层,采用9+1(Plane) RAID 5的方式实现条带化,RAID条带可根据闪存模块中的闪存Plane故障情况自动调整,比如9+1、8+1、7+1,甚至6+1。当一个或多个Plane发生故障,其将自动重新进行条带化以省却人工干预,并自动继续执行和操作从主机设备过来的读写请求。

 

Two-dimensional (2D) Flash RAID 是指module-level的VSR和system-level的RAID5。为每个系统提供了两个独立的RAID 5数据保护层。

 

在 Flashsystem 中有以下四种Data protection的方式:

Various types of IBM FlashSystem protection

 

总结:VSR是第一层的数据保护(module level),system-level RAID是以防Flash controller failure或者module failure,都是基于传统的RAID5。

 

三、Garbage Collection

本篇之前提到过说由于Flash memory的特性,Flashsystem 中数据以page(由多个cells组成)为单位写,以block为单位擦除。实现方式是“Erase-on-Rewrite”。具体情况下图 Garbage Collection

-- Flash memory是可编程、有限次数可擦除,Limited Program/Erase Cycles(P/E cycles) 就是指Flash memory最大能可编程/擦除多少次。

-- Single-level cell (SLC) 有更高性能,更耐用,一般在5K~100K

-- eMEL的P/E cycles一般是30K~10K, cMLC是5K~1K

 

Wear leveling均衡读写

如果某些flash cell被PE的很频繁,而另一些则用的很少,那就会导致这些flash cell会比整个flash module磨损的更快,因此有了wear leveling来使所有的write/erase分散。这样,单个Flash block就不会由于频繁PE而过早地fail。

以上就介绍了Flash的相关知识,希望对Flash有兴趣的朋友有所帮助。了解更多内容,请关注职坐标常用软件Flash频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程