存储设备软件层的识别和驱动方法及装置的制作方法

文档序号:6365387阅读:159来源:国知局
专利名称:存储设备软件层的识别和驱动方法及装置的制作方法
技术领域
本发明涉及到存储设备软件层的识别和驱动技术,特别涉及到一种存储设备软件层的识别和驱动方法及装置。
背景技术
现有技术中的固态存储设备,比如U盘、SD卡(Secure Digital Memory Card,安 全数码卡)、SSD(Solid State Disk,固态硬盘)等,其执行代码存储在Nand Flash中,通过Boot加载并切换执行由上述执行代码所组成的程序。不同标准的Flash具有不同的操作特性,需要Boot执行加载的方式也将不同,从而固态存储设备启动对Boot的兼容性提出了更高的要求。Boot :在IC设计和制造过程中,固化在IC中的代码,一旦制造完成,该部分代码无法修改;其主要具备代码加载和切換功能。在Toggle DDR和Normal类型Flash的识别方式上,一般通过检测外部特定GPIO(General Purpose Input Output,通用输入/输出)ロ的电平高低实现。上述方案不足之处在于需要占用ー个GPIO资源;以及,需要在设计时提供电平信号支持,比如需提供特定布线以及配合的上下拉电阻,増加了设计复杂度和产品生产エ序。

发明内容
本发明的主要目的为提供ー种存储设备软件层的识别和驱动方法,提升了产品的兼容性以及识别的效率。本发明提出ー种存储设备软件层的识别和驱动方法,包括步骤针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入;读取操作吋,以相同的读取方式进行数据读取。优选地,所述闪存的类型包括Normal 类型以及 Toggle DDR 类型。优选地,所述相应的写入方式分别为普通写入以及叠加写入。优选地,所述读取方式为普通读取。本发明还提出ー种存储设备软件层的识别和驱动装置,包括数据写入単元,用于针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入;数据读取単元,用于读取操作吋,以相同的读取方式进行数据读取。优选地,所述闪存的类型包括Normal 类型以及 Toggle DDR 类型。优选地,所述相应的写入方式分别为普通写入以及叠加写入。优选地,所述读取方式为普通读取。
本发明对于普通Flash,普通写入和普通读出,对于ToggleDDR,叠加写入普通读出;如此,可使得存储设备可不使用检测外部GPIO的办法识别Flash类型,并且可兼容识别Toggle DDR 和 Normal 类型的 Nand Flash,支持其 Boot 操作。


图I是本发明存储设备软件层的识别和驱动方法一实施例中步骤流程示意图;图2是现有技术中Normal类型Nand Flash数据存取过程示意图;图3是现有技术中Toggle DDR类型Nand Flash数据存取过程示意图;图4是本发明存储设备软件层的识别和驱动方法一实施例量产过程中Normal类型和Toggle DDR类型Nand Flash数据写入过程示意图;
图5是本发明存储设备软件层的识别和驱动方法一实施例代码加载中Normal类型和Toggle DDR类型Nand Flash数据读取过程示意图;图6是本发明存储设备软件层的识别和驱动装置一实施例中结构示意图。本发明目的的实现、功能特点及优点将结合实施例,參照附图做进ー步说明。
具体实施例方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。參照图1,提出本发明ー种存储设备软件层的识别和驱动方法的ー实施例。该方法可包括步骤S10、针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入;步骤S11、读取操作吋,以相同的读取方式进行数据读取。本实施例的存储设备软件层的识别和驱动方法,根据Normal类型和Toggle DDR类型的Nand Flash读写操作过程中,数据操作个数在单个脉冲周期内存在双倍差异,因而在量产时,有针对两种不同类型的Nand Flash分别采用普通方式和叠加方式(奇偶跳列)量产。而在数据读取过程中,都以普通方式读出(单脉冲单数据),实现在软件层兼容两种类型的Flash启动。从而可保证两种类型Flash写入和读出数据的一致性,以及和原始数据的一致性。可执行程序在Nand Flash中以ニ进制数据形式存储,以下以简单数据OxAA、OxBB、OxCC以及OxDD来说明整个存取过程。參照图2,Normal类型Nand Flash数据存取特性,姆个周期只有一个数据被读或写,步骤①是数据的写入过程,步骤②是数据读取过程。參照图3,Toggle DDR类型Nand Flah数据存取特性,每个周期中会有两个数据被读或写,步骤③是其数据写入过程,步骤④是其数据读取过程。由此,在本实施例的量产过程中,參照图4,首先利用量产工具通过读取FlashID以及查找Flash类型表识别出Flash类型,比如Normal类型或者ToggleDDR或类型等,并根据Flash类型执行不同的量产流程(⑤和⑥)对于Normal类型执行流程⑤,其量产过程是将数据写入Nand Flash;对于Toggle DDR类型执行流程⑥,在写入Flash时,通过硬件将数据做叠加处理,产生重叠数据,然后以Toggle DDR(叠加)方式写入Nand Flash。參照图5,在代码(数据)加载时,上述Normal类型和Toggle DDR类型的Flash都按照Normal类型Flash的操作方式执行数据读取。对于Normal类型Flash,其加载过程简单,如流程⑦;对于Toggle DDR类型的Flash,其加载过程如流程⑧,由于采用的是Normal方式读取数据(每个周期只采样ー个数据),有一半数据会被丢掉(即重复的数据被丢掉其中ー个),如此读取之后,将得到和原始写入一致的数据,实现代码的成功加载。本实施例的存储设备软件层的识别和驱动方法,针对不同类型的闪存(比如Normal类型和Toggle DDR类型)在ー个周期内读取ー个数据还是两个数据的不同;在量产写入吋,对于ー个周期读出是两个数据的Flash,则写入叠加数据,再在读取时用普通方式读出两个数据,但是实际读取操作时严格遵守ー个周期取一个数据,对于ー个周期有两个数据的flash,此时会丢掉ー个数据,因此由于写入方式的不同,通过上述方式读取的数据即可还原成了原写入的数据。针对Toggle DDR类型的Flash在量产过程中,以代码叠加的 方式量产写入NandFlash ;代码叠加过程,采用往前一致的原则,即偶数位置的数据与其前面的数据一致(第一个数据位置为I),可以增强一致性;因此,对于普通Flash,普通写入和普通读出,对于ToggleDDR,叠加写入普通读出;如此,可使得存储设备可不使用检测外部GPIO的办法识别Flash类型,并且可兼容识别Toggle DDR和Normal类型的Nand Flash,支持其Boot操作。參照图6,提出本发明ー种存储设备软件层的识别和驱动装置20的ー实施例。该装置20可包括数据写入単元21以及数据读取単元22 ;该数据写入単元21,用于针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入;该数据读取单元22,用于读取操作吋,以相同的读取方式进行数据读取。本实施例的存储设备软件层的识别和驱动装置20,根据Normal类型和ToggleDDR类型的Nand Flash读写操作过程中,数据操作个数在单个脉冲周期内存在双倍差异,因而在量产时,上述数据写入単元21针对两种不同类型的Nand Flash分别采用普通方式和叠加方式(奇偶跳列)量产。而在数据读取过程中,上述数据读取単元22都以普通方式读出(单脉冲单数据),实现在软件层兼容两种类型的Flash启动。从而可保证两种类型Flash写入和读出数据的一致性,以及和原始数据的一致性。可执行程序在Nand Flash中以ニ进制数据形式存储,以下以简单数据OxAA、OxBB、OxCC以及OxDD来说明整个存取过程。參照图2, Normal类型NandFlash数据存取特性,姆个周期只有一个数据被读或写,步骤①是数据的写入过程,步骤②是数据读取过程。參照图3,Toggle DDR类型Nand Flah数据存取特性,每个周期中会有两个数据被读或写,步骤③是其数据写入过程,步骤④是其数据读取过程。由此,在本实施例的量产过程中,參照图4,首先利用量产工具通过读取FlashID以及查找Flash类型表识别出Flash类型,比如Normal类型或者Toggle DDR或类型等,并根据Flash类型执行不同的量产流程(⑤和⑥)对于Normal类型执行流程⑤,其量产过程是将数据写入Nand Flash;对于Toggle DDR类型执行流程⑥,在写入Flash时,通过硬件将数据做叠加处理,产生重叠数据,然后以Toggle DDR(叠加)方式写入Nand Flash。參照图5,在代码(数据)加载时,上述Normal类型和Toggle DDR类型的Flash都按照Normal类型Flash的操作方式执行数据读取。对于Normal类型Flash,其加载过程简单,如流程⑦;对于Toggle DDR类型的Flash,其加载过程如流程⑧,由于采用的是Normal方式读取数据(每个周期只采样ー个数据),有一半数据会被丢掉(即重复的数据被丢掉其中ー个),如此读取之后,将得到和原始写入一致的数据,实现代码的成功加载。本实施例的存储设备软件层的识别和驱动装置20,针对不同类型的闪存(比如Normal类型和Toggle DDR类型)在ー个周期内读取ー个数据还是两个数据的不同;在量产写入时,对于ー个周期读出是两个数据的Flash,则写入叠加数据,再在读取时用普通方式
读出两个数据,但是实际读取操作时严格遵守ー个周期取一个数据,对于ー个周期有两个数据的flash,此时会丢掉ー个数据,因此由于写入方式的不同,通过上述方式读取的数据即可还原成了原写入的数据。针对Toggle DDR类型的Flash在量产过程中,以代码叠加的方式量产写入NandFlash ;代码叠加过程,采用往前一致的原则,即偶数位置的数据与其前面的数据一致(第一个数据位置为I),可以增强一致性;因此,对于普通Flash,普通写入和普通读出,对于ToggleDDR,叠加写入普通读出;如此,可使得存储设备可不使用检测外部GPIO的办法识别Flash类型,并且可兼容识别Toggle DDR和Normal类型的Nand Flash,支持其Boot操作。以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种存储设备软件层的识别和驱动方法,其特征在于,包括步骤 针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入; 读取操作时,以相同的读取方式进行数据读取。
2.根据权利要求I所述的存储设备软件层的识别和驱动方法,其特征在于,所述闪存的类型包括 Normal类型以及Toggle DDR类型。
3.根据权利要求2所述的存储设备软件层的识别和驱动方法,其特征在于,所述相应的写入方式分别为 普通写入以及叠加写入。
4.根据权利要求2或3所述的存储设备软件层的识别和驱动方法,其特征在于,所述读取方式为普通读取。
5.一种存储设备软件层的识别和驱动装置,其特征在于,包括 数据写入单元,用于针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入; 数据读取单元,用于读取操作时,以相同的读取方式进行数据读取。
6.根据权利要求5所述的存储设备软件层的识别和驱动装置,其特征在于,所述闪存的类型包括 Normal类型以及Toggle DDR类型。
7.根据权利要求6所述的存储设备软件层的识别和驱动装置,其特征在于,所述相应的写入方式分别为 普通写入以及叠加写入。
8.根据权利要求6或7所述的存储设备软件层的识别和驱动装置,其特征在于,所述读取方式为普通读取。
全文摘要
本发明揭示了一种存储设备软件层的识别和驱动方法及装置。该方法可包括步骤针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入;读取操作时,以相同的读取方式进行数据读取。本发明对于普通Flash,普通写入和普通读出,对于ToggleDDR,叠加写入普通读出;如此,可使得存储设备可不使用检测外部GPIO的办法识别Flash类型,并且可兼容识别Toggle DDR和Normal类型的Nand Flash,支持其Boot操作。
文档编号G06F13/10GK102662878SQ201210045610
公开日2012年9月12日 申请日期2012年2月27日 优先权日2012年2月27日
发明者谭四方 申请人:深圳市硅格半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1