一种系统级芯片利用NAND闪存启动的方法技术方案

技术编号:6168092 阅读:190 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种系统级芯片利用NAND闪存启动的方法,其特征在于从NAND闪存读取启动标头信息,根据启动标头信息读取NAND闪存中的启动代码,执行启动代码。根据本发明专利技术的方法可以用较小的代价来标识NAND闪存的规格信息,使得系统级芯片能从任意新型的NAND闪存启动,同时仍保持使用足够的ECC强度保护用户标识的信息,可靠性高。

【技术实现步骤摘要】

本专利技术涉及一种系统级芯片利用NAND闪存启动的方法
技术介绍
NAND闪存是flash内存的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。NAND-flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。然而,当前的系统级芯片-SoC(System on Chip) 一般支持直接从NAND闪存启动, 并支持尽可能多的NAND闪存。但由于NAND闪存技术发展较快,NAND闪存器件提供商也越来越多,NAND闪存的标识没有统一的标准,导致当初已固化的SoC并不一定都支持最新的 NAND闪存。SoC从NAND闪存启动需事先读取NAND闪存的一些规格信息,包括数据总线宽度、 地址宽度、页大小、空闲区大小、ECC(错误检查和纠正)强度信息和擦除块大小。如图1所示NAND-Flash ±夬结构图。图1中,页大小(Page Size)可以是小页512B和大页2048B、 4096B、8192B(字节);空闲区大小可以是16B、64B、128B、218B、216B、224B或未来其它字节数,空闲区用以存储包括ECC强度信息和坏块标记;NAND闪存以页为单位读写数据,而以块为单位擦除数据,为了跳过不可靠块或坏块,擦除块大小需要被标识,擦除块大小包括一个块64页或者一个块1 页或更多。目前常用的NAND闪存规格信息标识方法有以下几种1、增加启动模式管脚(Boot Mode Pins),例如三星公司的S3C6410芯片的启动模式支持NAND闪存512B-3、512B-4、2KB-5、5KB-5,分别是页大小512字节3个地址,512字节 4个地址,2048字节5个地址,4096字节5个地址。它的缺点是只支持8位数据总线宽度的 NAND且不支持16位宽度的NAND闪存。又如中飞思卡尔i. MX31的两个启动管脚分别表示页大小512或2048字节,数据总线宽度8或16位。但该方法灵活性较差,将给SoC增加了额外的管脚,且所支持的NAND闪存种类有限。2、通过读取NAND闪存的IDs,包括厂商码,设备码,扩展码,来识别NAND闪存的规格。如Read ID(90H)命令(不需要任何参数)被所有的NAND闪存闪存所支持。TI的 0MAP3430采用此方法,但硅片(die)在4GB及其以上的NAND闪存开始不遵循以往的编码规定。ONFI (Open Nand flash Interface)标准的NAND闪存虽然有统一的编码,但几乎没得到应用,尤其是ONFI 1.X。3、君正JZ4760Aburst650使用了一种复杂的方法标识NAND闪存,基本做到了能从任意一种的NAND闪存启动,但该方法的缺点是(1)、标识信息虽然有响应的ECC保护,但在实际启动读取这些标识信息时,没用且无法用ECC进行错误检查和纠正。只能利用本身的冗余字节来规避NAND闪存的读取错误;O)、启动速度慢,要试错读多次才可能获取标识信息,由于小页(512字节)和大页NAND闪存的读序列不同;地址宽度需要进行多次尝试获取;所采用的固定M-bit ECC进行错误检查和纠正影响启动速度。(3)、缺少擦除块大小信息,不具备跳过不可靠块或坏块的功能特点。
技术实现思路
本专利技术的目的是提供一种低成本、可靠性高且易于使用的NAND闪存的标识方法, 以便快速启动系统级芯片。为实现上述目的,本专利技术提供了一种系统级芯片利用NAND闪存启动的方法,其特征在于从NAND闪存读取启动标头(Boot Header)信息,根据启动标头信息读取NAND闪存中的启动代码,执行启动代码。根据本专利技术的方法可以用较小的代价来标识NAND的规格信息,使得系统级芯片能从任意新型的NAND启动,同时仍保持使用足够的ECC强度保护用户标识的信息,可靠性高。系统级芯片总是能够按照大页的方式序列读出启动标头及其ECC码,根据启动标头所标识的信息,系统级芯片可以正常读出主区域中的启动代码,并执行启动代码。附图说明通过以下结合附图以举例方式对本专利技术的具体实施方案进行详细描述后,本专利技术的其他特征、特点和优点将会更加明显。附图中图1为NAND闪存块结构图;图2为本专利技术一实施例的NAND闪存结构图;图3为本专利技术一实施例的NAND闪存的启动头标结构图;图4为本专利技术另一实施例的NAND闪存的启动头标结构图;图5为本专利技术另一实施例的NAND闪存的启动头标结构图。具体实施例方式图2为本专利技术一实施例的NAND闪存结构图。在图2中,NAND的第一块的第一页中的前半部分用于存放启动标头(Boot Header)信息、错误检查和纠正(ECC)码,启动标头和它的ECC码具有固定的长度,例如启动标头采用512byte,ECC码采用16-byte。优选地, ECC码采用8-bit纠错的BCH算法,NAND的第一块的第二页用于存放启动代码(Boot loader code),相应的空闲区部分用于存放启动代码相应的ECC码。启动标头用于标识NAND闪存的页大小信息、空闲区大小信息、擦除块大小信息、 地址宽度信息、ECC模式信息、预留信息以及ECC强度信息。NAND闪存规格信息中的数据总线宽度不需要标识,由于数据总线宽度广泛运用8-bit NAND闪存,若要支持16-bit NAND 闪存可以通过Read ID的方法来获取NAND闪存的设备码或厂商码,因为厂商码、设备码的编码已经得到很好的遵循。启动时,系统级芯片从NAND-Flash闪存读取启动标头信息,根据启动标头信息读取NAND-Flash闪存中的启动代码,执行启动代码。在NAND-Flash闪存存储有所述启动标头信息的ECC码的情况下,从NAND-Flash 闪存读取ECC码,并且根据ECC码对启动标头信息纠错。在NAND-Flash闪存存储有启动代码的ECC码的情况下,从NAND-Flash闪存中读取ECC码并且根据ECC码对启动代码纠错。根据本专利技术,可以采用不同的NAND闪存的启动头标,以适用不同类型的NAND闪存。图3为本专利技术一实施例的NAND闪存的启动头标结构图。图3示意了长度为 512-byte的启动标头和长度为16-byte的ECC码。启动标头中的页大小采用4_byte长度来标识信息,如NAND闪存的每页为2048-byte的定义为大页,需要在启动标头中被标识,小页(512-byte)NAND闪存无需标识,通过Read ID的方法来区分;空闲区大小采用4_byte长度来标识信息,当需要自动计算ECC强度时需要标识(不同的ECC强度需要占用不同大小的空闲区)。擦除块大小采用4-byte长度来标识信息,NAND闪存是以页为单位读写数据,而以块为单位擦除数据,以便跳过不可靠块或坏块;地址宽度采用Ι-byte长度来标识信息, 早期NAND闪存只接受固定的地址宽度,3个或4个字节地址,但同时那个时期的NAND闪存有着规范的编码方式,通过Read ID的方式可以区分地址宽度。最新的NAND闪存总是能够接受5个字节的地址宽度,即使多余,也能够被忽略掉最后一行,所以地址宽度可以标识出来,以加快启动速度。ECC模式采用Ι-byte长度来标识本文档来自技高网
...

【技术保护点】
1.一种系统级芯片利用NAND闪存启动的方法,其特征在于:从NAND闪存读取启动标头信息,根据启动标头信息读取NAND闪存中的启动代码,执行启动代码。

【技术特征摘要】

【专利技术属性】
技术研发人员:陆伟
申请(专利权)人:北京凡达讯科技有限公司
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1