NAND闪存工厂编程技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

  揭秘NAND闪存的工厂编程 Understanding NAND Flash Factory Programming 来自BPM Microsystems 的白皮书   2008年10月 BPMMicrosystems5373WestSamHoustonPkwyN.Ste.250Houston,Texas77041USATelephone:+17136884600 2揭秘NAND闪存的工厂编程UnderstandingNANDFlashFactoryProgramming来自BPMMicrosystems的白皮书目录一、概况...............................................................................................................................................................31.NAND闪存的种类...........................................................................................................................................32.NAND闪存的架构...........................................................................................................................................43.非全页的编程(PartialPageProgramming).................................................................................................54.从NAND启动(BootingFromNAND).......................................................................................................5二、NAND闪存的可靠性问题...........................................................................................................................61.坏块管理(BadBlockManagement,BBM)................................................................................................72.坏块管理算法的规范(BBMAlgorithmSpecification)..............................................................................83.6个工厂编程的坏块管理的要素(SixBBMFactoryProgrammingElements)..........................................91)坏块的替换策略(BadBlockReplacementStrategy,BBR)...................................................................92)分区(Partitioning)..................................................................................................................................103)纠错码(ErrorCorrectionCodes,ECC).................................................................................................124)备用区的使用(SpareAreaPlacement,SAP).......................................................................................125)未用好块的格式(FreeGoodBlockFormatting)...................................................................................136)动态元数据(DynamicMetadata)...........................................................................................................134.系统举例.........................................................................................................................................................135.通用的工厂编程坏块管理方案(UniversalFactoryProgrammingBBMScheme)...................................166.第三方和客制化的坏块管理方案(Third-partyandCustomBBMSchemes)..........................................17三、对ManagedNAND编程(ProgrammingManagedNAND)..................................................................17四、NAND的序列号(SerializingNAND)...................................................................................................17五、结论.............................................................................................................................................................18附:图表目录图1-NAND闪存的分类............................................................................................................................................3图2-NAND闪存的架构............................................................................................................................................5图3-SLC(上)vs.MLC(下)存储单元(cell)值分布............................................................................................6图4-传统的芯片编程只需要一个算法,RAWNAND编程需要两个独立的算法...............................................8图5-跳过坏块的替换策略(SkipBadBlocksReplacementStrategy)..............................................................10图6-预留块区的替换策略(ReserveBlockAreaReplacementStrategy)...........................................................10图7-由于坏块的存在,分区侵占的例子。4个块的数据要写入NAND的0~3块,但由于块1是坏块,所以逻辑上要写入块3的数据被移到了分区B。..............................................................................................11图8-通过分配空白块来防止分区侵占。分区A含有两个额外的空白块:块4和块5。由坏块导致的逻辑数据顺移会被空白块接纳。这样,只要分区A中的坏块不超过2个,分区B就能总是从第6个物理块开始。.....................................................................................................................................................................11图9-未用好块格式化定义了分区中没有使用的块中的内容...............................................................................13图10-举例:一个嵌入式系统的NAND闪存分区示意.......................................................................................153揭秘NAND闪存的工厂编程UnderstandingNANDFlashFactoryProgramming来自BPMMicrosystems的白皮书一、概况在电子系统的制造过程中,很多空的非易失芯片(Non-volatileDevices)必须要写入初始化的数据内容。这使得目标系统可以启动并正常运行,这就是我们所说的“工厂编程(FactoryProgramming)”,也有人称作“工厂预编程(Factorypre-Programming)”,或者“整批编程”(BulkProgramming)。通常这个流程是非常简单易行的,而且在行业里也已经做了很多年。然而,NAND闪存却比以往复杂了很多。NAND闪存和其它的闪存(比如NOR闪存)相比而言,是一种高密度、非易失性的存储芯片,它需要的工厂编程算法更加复杂。这主要是由于当芯片从供应商出货时,就已经存在着坏块(BadBlock)以及其它的可靠性问题。NAND闪存的制造商允许芯片合格出厂,即便在制造中发现少量的存储块没有通过测试。这种方式使得NAND闪存具备了低成本、高密度的特点。相比而言,NOR闪存是不存在坏块的,但是每Bit成本要远高于NAND闪存,同样也很难达到NAND所具有的高密度。NAND在擦除和写入的效率上比NOR也有着显著的优势。相比而言,在读取内存的模式下,NOR是昀快的。1.NAND闪存的种类考虑不同的复杂因素,NAND闪存可以分为很多类型,如图1所示。对于不同类型的NAND闪存

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功