《存储设备软件层的识别和驱动方法及装置.pdf》由会员分享,可在线阅读,更多相关《存储设备软件层的识别和驱动方法及装置.pdf(8页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102662878 A(43)申请公布日 2012.09.12CN102662878A*CN102662878A*(21)申请号 201210045610.4(22)申请日 2012.02.27G06F 13/10(2006.01)(71)申请人深圳市硅格半导体有限公司地址 518057 广东省深圳市南山区高新区科技南十二路长虹科技大厦606-608室(72)发明人谭四方(74)专利代理机构深圳市世纪恒程知识产权代理事务所 44287代理人胡海国(54) 发明名称存储设备软件层的识别和驱动方法及装置(57) 摘要本发明揭示了一种存储设备软件层的识别和驱动方法及装置。该。
2、方法可包括步骤:针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入;读取操作时,以相同的读取方式进行数据读取。本发明对于普通Flash,普通写入和普通读出,对于ToggleDDR,叠加写入普通读出;如此,可使得存储设备可不使用检测外部GPIO的办法识别Flash类型,并且可兼容识别Toggle DDR和Normal类型的Nand Flash,支持其Boot操作。(51)Int.Cl.权利要求书1页 说明书4页 附图2页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书 1 页 说明书 4 页 附图 2 页1/1页21.一种存储设备软件层的识别和驱动方法,其特征在。
3、于,包括步骤:针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入;读取操作时,以相同的读取方式进行数据读取。2.根据权利要求1所述的存储设备软件层的识别和驱动方法,其特征在于,所述闪存的类型包括:Normal类型以及Toggle DDR类型。3.根据权利要求2所述的存储设备软件层的识别和驱动方法,其特征在于,所述相应的写入方式分别为:普通写入以及叠加写入。4.根据权利要求2或3所述的存储设备软件层的识别和驱动方法,其特征在于,所述读取方式为普通读取。5.一种存储设备软件层的识别和驱动装置,其特征在于,包括:数据写入单元,用于针对不同类型闪存读取数据量的不同,分别以相应的写入方式。
4、进行数据写入;数据读取单元,用于读取操作时,以相同的读取方式进行数据读取。6.根据权利要求5所述的存储设备软件层的识别和驱动装置,其特征在于,所述闪存的类型包括:Normal类型以及Toggle DDR类型。7.根据权利要求6所述的存储设备软件层的识别和驱动装置,其特征在于,所述相应的写入方式分别为:普通写入以及叠加写入。8.根据权利要求6或7所述的存储设备软件层的识别和驱动装置,其特征在于,所述读取方式为普通读取。权 利 要 求 书CN 102662878 A1/4页3存储设备软件层的识别和驱动方法及装置技术领域0001 本发明涉及到存储设备软件层的识别和驱动技术,特别涉及到一种存储设备软件。
5、层的识别和驱动方法及装置。背景技术0002 现有技术中的固态存储设备,比如U盘、SD卡(Secure Digital Memory Card,安全数码卡)、SSD(Solid State Disk,固态硬盘)等,其执行代码存储在Nand Flash中,通过Boot加载并切换执行由上述执行代码所组成的程序。不同标准的Flash具有不同的操作特性,需要Boot执行加载的方式也将不同,从而固态存储设备启动对Boot的兼容性提出了更高的要求。Boot:在IC设计和制造过程中,固化在IC中的代码,一旦制造完成,该部分代码无法修改;其主要具备代码加载和切换功能。0003 在Toggle DDR和Norma。
6、l类型Flash的识别方式上,一般通过检测外部特定GPIO(General Purpose Input Output,通用输入/输出)口的电平高低实现。上述方案不足之处在于:需要占用一个GPIO资源;以及,需要在设计时提供电平信号支持,比如需提供特定布线以及配合的上下拉电阻,增加了设计复杂度和产品生产工序。发明内容0004 本发明的主要目的为提供一种存储设备软件层的识别和驱动方法,提升了产品的兼容性以及识别的效率。0005 本发明提出一种存储设备软件层的识别和驱动方法,包括步骤:0006 针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入;0007 读取操作时,以相同的读取方式。
7、进行数据读取。0008 优选地,所述闪存的类型包括:0009 Normal类型以及Toggle DDR类型。0010 优选地,所述相应的写入方式分别为:0011 普通写入以及叠加写入。0012 优选地,所述读取方式为普通读取。0013 本发明还提出一种存储设备软件层的识别和驱动装置,包括:0014 数据写入单元,用于针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入;0015 数据读取单元,用于读取操作时,以相同的读取方式进行数据读取。0016 优选地,所述闪存的类型包括:0017 Normal类型以及Toggle DDR类型。0018 优选地,所述相应的写入方式分别为:001。
8、9 普通写入以及叠加写入。0020 优选地,所述读取方式为普通读取。说 明 书CN 102662878 A2/4页40021 本发明对于普通Flash,普通写入和普通读出,对于ToggleDDR,叠加写入普通读出;如此,可使得存储设备可不使用检测外部GPIO的办法识别Flash类型,并且可兼容识别Toggle DDR和Normal类型的Nand Flash,支持其Boot操作。附图说明0022 图1是本发明存储设备软件层的识别和驱动方法一实施例中步骤流程示意图;0023 图2是现有技术中Normal类型Nand Flash数据存取过程示意图;0024 图3是现有技术中Toggle DDR类型N。
9、and Flash数据存取过程示意图;0025 图4是本发明存储设备软件层的识别和驱动方法一实施例量产过程中Normal类型和Toggle DDR类型Nand Flash数据写入过程示意图;0026 图5是本发明存储设备软件层的识别和驱动方法一实施例代码加载中Normal类型和Toggle DDR类型Nand Flash数据读取过程示意图;0027 图6是本发明存储设备软件层的识别和驱动装置一实施例中结构示意图。0028 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式0029 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。0030 参。
10、照图1,提出本发明一种存储设备软件层的识别和驱动方法的一实施例。该方法可包括:0031 步骤S10、针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入;0032 步骤S11、读取操作时,以相同的读取方式进行数据读取。0033 本实施例的存储设备软件层的识别和驱动方法,根据Normal类型和Toggle DDR类型的Nand Flash读写操作过程中,数据操作个数在单个脉冲周期内存在双倍差异,因而在量产时,有针对两种不同类型的Nand Flash分别采用普通方式和叠加方式(奇偶跳列)量产。而在数据读取过程中,都以普通方式读出(单脉冲单数据),实现在软件层兼容两种类型的Flash启。
11、动。从而可保证两种类型Flash写入和读出数据的一致性,以及和原始数据的一致性。0034 可执行程序在Nand Flash中以二进制数据形式存储,以下以简单数据0xAA、0xBB、0xCC以及0xDD来说明整个存取过程。0035 参照图2,Normal类型Nand Flash数据存取特性,每个周期只有一个数据被读或写,步骤是数据的写入过程,步骤是数据读取过程。0036 参照图3,Toggle DDR类型Nand Flah数据存取特性,每个周期中会有两个数据被读或写,步骤是其数据写入过程,步骤是其数据读取过程。0037 由此,在本实施例的量产过程中,参照图4,首先利用量产工具通过读取FlashI。
12、D以及查找Flash类型表识别出Flash类型,比如Normal类型或者ToggleDDR或类型等,并根据Flash类型执行不同的量产流程(和):0038 对于Normal类型:执行流程,其量产过程是将数据写入Nand Flash;对于Toggle DDR类型:执行流程,在写入Flash时,通过硬件将数据做叠加处理,产生重叠数说 明 书CN 102662878 A3/4页5据,然后以Toggle DDR(叠加)方式写入Nand Flash。0039 参照图5,在代码(数据)加载时,上述Normal类型和Toggle DDR类型的Flash都按照Normal类型Flash的操作方式执行数据读取。。
13、0040 对于Normal类型Flash,其加载过程简单,如流程;对于Toggle DDR类型的Flash,其加载过程如流程,由于采用的是Normal方式读取数据(每个周期只采样一个数据),有一半数据会被丢掉(即重复的数据被丢掉其中一个),如此读取之后,将得到和原始写入一致的数据,实现代码的成功加载。0041 本实施例的存储设备软件层的识别和驱动方法,针对不同类型的闪存(比如Normal类型和Toggle DDR类型)在一个周期内读取一个数据还是两个数据的不同;在量产写入时,对于一个周期读出是两个数据的Flash,则写入叠加数据,再在读取时用普通方式读出两个数据,但是实际读取操作时严格遵守一个。
14、周期取一个数据,对于一个周期有两个数据的flash,此时会丢掉一个数据,因此由于写入方式的不同,通过上述方式读取的数据即可还原成了原写入的数据。针对Toggle DDR类型的Flash在量产过程中,以代码叠加的方式量产写入NandFlash;代码叠加过程,采用往前一致的原则,即偶数位置的数据与其前面的数据一致(第一个数据位置为1),可以增强一致性;因此,对于普通Flash,普通写入和普通读出,对于ToggleDDR,叠加写入普通读出;如此,可使得存储设备可不使用检测外部GPIO的办法识别Flash类型,并且可兼容识别Toggle DDR和Normal类型的Nand Flash,支持其Boot操。
15、作。0042 参照图6,提出本发明一种存储设备软件层的识别和驱动装置20的一实施例。该装置20可包括:数据写入单元21以及数据读取单元22;该数据写入单元21,用于针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入;该数据读取单元22,用于读取操作时,以相同的读取方式进行数据读取。0043 本实施例的存储设备软件层的识别和驱动装置20,根据Normal类型和Toggle DDR类型的Nand Flash读写操作过程中,数据操作个数在单个脉冲周期内存在双倍差异,因而在量产时,上述数据写入单元21针对两种不同类型的Nand Flash分别采用普通方式和叠加方式(奇偶跳列)量产。而在。
16、数据读取过程中,上述数据读取单元22都以普通方式读出(单脉冲单数据),实现在软件层兼容两种类型的Flash启动。从而可保证两种类型Flash写入和读出数据的一致性,以及和原始数据的一致性。0044 可执行程序在Nand Flash中以二进制数据形式存储,以下以简单数据0xAA、0xBB、0xCC以及0xDD来说明整个存取过程。0045 参照图2,Normal类型NandFlash数据存取特性,每个周期只有一个数据被读或写,步骤是数据的写入过程,步骤是数据读取过程。0046 参照图3,Toggle DDR类型Nand Flah数据存取特性,每个周期中会有两个数据被读或写,步骤是其数据写入过程,步。
17、骤是其数据读取过程。0047 由此,在本实施例的量产过程中,参照图4,首先利用量产工具通过读取FlashID以及查找Flash类型表识别出Flash类型,比如Normal类型或者Toggle DDR或类型等,并根据Flash类型执行不同的量产流程(和):0048 对于Normal类型:执行流程,其量产过程是将数据写入Nand Flash;对于Toggle DDR类型:执行流程,在写入Flash时,通过硬件将数据做叠加处理,产生重叠数说 明 书CN 102662878 A4/4页6据,然后以Toggle DDR(叠加)方式写入Nand Flash。0049 参照图5,在代码(数据)加载时,上述N。
18、ormal类型和Toggle DDR类型的Flash都按照Normal类型Flash的操作方式执行数据读取。0050 对于Normal类型Flash,其加载过程简单,如流程;对于Toggle DDR类型的Flash,其加载过程如流程,由于采用的是Normal方式读取数据(每个周期只采样一个数据),有一半数据会被丢掉(即重复的数据被丢掉其中一个),如此读取之后,将得到和原始写入一致的数据,实现代码的成功加载。0051 本实施例的存储设备软件层的识别和驱动装置20,针对不同类型的闪存(比如Normal类型和Toggle DDR类型)在一个周期内读取一个数据还是两个数据的不同;在量产写入时,对于一个。
19、周期读出是两个数据的Flash,则写入叠加数据,再在读取时用普通方式读出两个数据,但是实际读取操作时严格遵守一个周期取一个数据,对于一个周期有两个数据的flash,此时会丢掉一个数据,因此由于写入方式的不同,通过上述方式读取的数据即可还原成了原写入的数据。针对Toggle DDR类型的Flash在量产过程中,以代码叠加的方式量产写入NandFlash;代码叠加过程,采用往前一致的原则,即偶数位置的数据与其前面的数据一致(第一个数据位置为1),可以增强一致性;因此,对于普通Flash,普通写入和普通读出,对于ToggleDDR,叠加写入普通读出;如此,可使得存储设备可不使用检测外部GPIO的办法识别Flash类型,并且可兼容识别Toggle DDR和Normal类型的Nand Flash,支持其Boot操作。0052 以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。说 明 书CN 102662878 A1/2页7图1图2图3说 明 书 附 图CN 102662878 A2/2页8图4图5图6说 明 书 附 图CN 102662878 A。