可扩容闪存盘的制作方法

文档序号:6409492阅读:135来源:国知局
专利名称:可扩容闪存盘的制作方法
技术领域
本发明涉及闪存盘的数据存储技术,特别涉及一种可扩容的闪存盘及其扩容方法。
背景技术
在目前的市场上,闪存盘产品绝大部分都是由控制芯片、闪存芯片(Flash)及其外围元器件组成,且随着闪存盘越来越普及,消费者需要存储的数据越来越多,大容量的闪存盘也就随之出现,其存储容量是固定的,但对于在大多数情况下闪存盘的存储容量是够用的,只是偶尔需更大的存储容量的使用者来说,大容量闪存盘并没有得到充分利用。
这种现象在集体使用的情况中体现得尤为明显,例如,假设公司有40个员工,那么如果购买40个32M的闪存盘,每位员工一个,有些时候32M的容量可能会不够用,这种情况下如果需要拷贝的数据是多个小文件,则还可以用多个32M的闪存盘分批拷贝,只是操作会比较烦琐,但如果是一个大于32M的文件,则即使有多个32M的闪存盘也派不上用场;如果是购买40个64M的闪存盘,那大多数时候又造成浪费;若分容量购买则不好分配。
为了能够灵活的改变闪存盘的存储容量,业界推出了可更换闪存芯片的闪存盘,通过更换闪存芯片来改变闪存盘的存储容量,如本申请人的第03159669.X号中国专利申请“存储介质固定装置及使用该固定装置的移动存储器”,以及第200310115102.X号中国专利申请“移动存储装置的数据管理方法”等。但经常性更换闪存盘的存储芯片不仅操作烦琐,而且易造成闪存盘的磨损。
若能使两个独立的闪存盘通过简单连接实现一个存储容量为两个闪存盘容量之和的大容量闪存盘,则能很好地解决上述问题。
另外,目前闪存盘的使用中存在的另一个问题是,因为USB协议是主从协议,两个闪存盘之间无法直接进行数据拷贝,虽然目前的USB OTG(On The Go)技术可以支持两个闪存盘之间直接进行数据交换,但OTG主要是基于USB协议实现数据交换,其实现较为复杂,且因为两个闪存盘间存在USB这个中间层,数据交换的速度会受到一定的影响。所以,如何使两个独立的闪存盘通过简单连接就能实现数据交换,成为亟待解决的问题。

发明内容
因此,本发明的目的是提供一种可方便地实现容量扩展的可扩容的闪存盘,用以克服现有技术中闪存盘容量扩展不便,以及两个闪存盘之间无法直接交换数据的问题。
为实现上述目的,本发明提供了一种可扩容闪存盘,所述可扩容闪存盘包括控制单元和闪存单元,所述控制单元中设有固化软件,其特征在于所述可扩容闪存盘还包括与所述控制单元和闪存单元连接的外部接口,可通过所述外部接口连接有相应物理接口的闪存盘,当所述可扩容闪存盘与主机连接时,所述可扩容闪存盘与所连接的闪存盘作为一个整体实现与主机的数据交换。
优选地,所述外部接口的数据线与所述闪存单元的数据线并联,其控制线与所述闪存单元的数据线并联,其片选引脚单独与所述控制单元的片选端连接。
优选地,所述可扩容闪存盘与主机连接且与所连接的闪存盘作为一个整体实现与主机的数据交换时,所述固化软件执行以下步骤2-1)从主机获取电源完成上电检测;2-2)接收来自主机的数据读写命令;2-3)解析所述命令中指向的地址;2-4)判断所述地址的范围,若所述地址超出了所述可扩容闪存盘的地址范围;则,2-5)根据所述地址对所连接的闪存盘进行对应的数据读写操作。
优选地,所述可扩容闪存盘还包括显示单元和操作键,可通过所述显示单元及操作键实现未与主机连接的情况下直接对所连接的闪存盘进行数据读写操作。
本发明还提供另一种可扩容闪存盘,所述可扩容闪存盘包括控制单元和闪存单元,所述控制单元中设有固化软件,其特征在于所述闪存盘还包括与所述控制单元和闪存单元连接的外部接口,通过所述外部接口连接存储卡,当所述可扩容闪存盘与主机连接时,所述可扩容闪存盘与所连接的存储卡作为一个整体实现与主机的数据交换。
优选地,所述可扩容闪存盘与所连接的存储卡作为一个整体实现与主机的数据交换时,所述固化软件执行以下步骤10-1)从主机获取电源完成上电检测,划分地址空间,进入待命状态;10-2)接收来自主机的数据读写命令;10-3)解析所述命令中指向的地址;10-4)判断所述地址的范围,若所述地址超出了所述可扩容闪存盘的地址范围;则,10-5)根据该地址计算对应的所连接的存储卡中的偏移地址;10-6)根据所述偏移地址对所连接的存储卡进行对应的数据读写操作。
采用本发明的可扩容闪存盘,可方便地实现闪存盘容量的扩展,以及两个闪存盘之间数据的直接交换。


图1是本发明的可扩容的闪存盘的电路方框图;图2是本发明的可扩容的闪存盘第一实施例的电路原理图;图2是本发明的可扩容的闪存盘第一实施例的读写流程图;图4是对本发明可扩容的闪存盘另一实施例的读写流程图。
具体实施例方式
下面结合附图详细介绍本发明,附图仅用于说明,不是对本发明专利保护范围的限制。
请参阅图1,本发明可扩容闪存盘包括控制单元、闪存单元和外部接口,所述控制单元中设有固化软件,所述外部接口的数据/地址线与所述闪存单元的数据线并联,其控制线与所述闪存单元的控制线并联,其外部接口的片选引脚是单独与所述控制控制相连的,该外部接口可对应一个或多个物理接口,可扩容闪存盘可通过所述外部接口与另一可扩容闪存盘连接,也可与提供了相应物理接口的普通闪存盘连接实现容量扩展功能,所述提供了相应物理接口的普通闪存盘是指在现有闪存盘的基础上提供了与可扩容闪存盘连接的相应的物理接口的闪存盘,且该闪存盘的固化软件相对于现有闪存盘不需要作任何改变。
所述可扩容闪存盘还可包括电源单元、显示单元和操作键(图1未示),以实现未与主机连接的情况下,直接对与其连接的闪存盘的文件进行管理以及数据读写操作。
请参阅图2,所述控制单元可通过图2所示的控制芯片U1实现,所述闪存单元可通过图2所示的闪存芯片U2实现,所述外部接口可通过图5所示的接口J5实现。如图所示,闪存芯片U2的数据线I/O1-I/O7及接口J5的数据线E0-E7并联在控制芯片U1的管脚PD0-PD7上,闪存芯片U2的控制信号线及接口J5的控制信号线并联在控制芯片U1的管脚的PA0-PA5上,闪存芯片U2的片选端CE1和接口J5的片选端CE分别连接控制芯片U1的管脚PB7/D7和PB6/D6。
本实施例所述的闪存盘存在以下两种工作方式(下文中的主闪存盘是指,将两个闪存盘通过外部接口连接后,其中用来直接与主机连接的闪存盘,或者不与主机连接而直接读取与其相连的闪存盘中的数据的闪存盘,显然,此处的从闪存盘就是指与主闪存盘连接的闪存盘)一、与主机连接的工作方式将两个所述可扩容闪存盘连接,并使其中一个闪存盘与主机连接作为主闪存盘工作,另一个则作为从闪存盘工作;所述可扩容闪存盘也可连接提供了相应物理接口的普通闪存盘实现容量扩展功能,可扩容闪存盘连接主机作为主闪存盘工作,所连接的普通的闪存盘作为从闪存盘工作,通过主机对主闪存盘和从闪存盘实现数据操作,该主机将所述主闪存盘和从闪存盘视为一个整的存储设备。
二、不与主机连接的工作方式将两个所述可扩容闪存盘连接,其中一个闪存盘以主闪存盘方式工作,对另一个闪存盘进行数据操作;将所述可扩容闪存盘连接提供了相应物理接口的普通闪存盘实现容量扩展功能,所述可扩容闪存盘作为主闪存盘工作,所连接的普通闪存盘作为从闪存盘作为从闪存盘工作,通过主闪存盘对从闪存盘进行数据操作。
请参阅图3,在前述第一种工作方式即与主机连接的工作方式中,所述固化软件将执行以下流程步骤10,可扩容闪存盘与主机连接后,即作为主闪存盘工作,主闪存盘上电检测时会自动检测是否有从闪存盘接入,而从闪存盘的控制芯片和程序都不工作,所述检测流程如下所述主闪存盘的固化软件检测时,先假设所述外部接口已经连接了从闪存盘,然后读取该从闪存盘的Flash型号ID,如果能够读取到,则说明的确有从闪存盘连接,否则意味着未连接从闪存盘。
若未连接从闪存盘,则按普通闪存盘的读写方式工作,普通闪存盘的读写方式已为业界知悉,在此不再赘述;若连接有从闪存盘,则进入步骤12;步骤12,接收到数据读写指令;步骤14,解析所述数据读写指令指向的地址;步骤16,判断该地址指向的存储区还是扩展区,所述扩展区指外部接口所连接的闪存盘即从闪存盘。所述判断是看所述地址值是否超过了主闪存盘的存储容量,若没超过主闪存盘的存储容量则进入步骤18直接读写该主闪存盘;]若该地址值超过主闪存盘的存储容量则进入步骤20;步骤20,再次检测所述从闪存盘是否仍存在;若读到了闪存盘的Flash型号ID则进入步骤22;步骤22,计算偏移地址,该地址减去主闪存盘的存储容量既为需读写的从闪存盘中的偏移地址值;步骤24,根据该地址值对从闪存盘进行对应的数据读写操作。
需要说明的是,当两个闪存盘第一次连接在一起时,主闪存盘中的文件系统不包括从闪存盘中,故需要将连接在一起的两个闪存盘格式化后才能正常使用。此后若要分开单独使用,又需要分别对两个闪存盘格式化才行。
下面对前述第二种工作方式即不与主机连接的工作方式进行说明当可扩容闪存盘需要在不与主机连接的情况下工作时,则需在闪存盘中加入电池等电源单元,来实现不需要连接主机的两闪存盘之间的数据交换,若再加入LCD或其它显示设备作为显示单元,以及适当的操作键,则可方便地实现两个闪存盘在无主机参与的情况下的文件管理。该种工作方式中,固化软件执行的流程如下在闪存盘上电时检测是电池供电还是通过USB等PC数据线提供的电源;如果是USB等PC数据线提供的电源,则按照前述与主机连接时的工作流程处理;如果是电池供电,则先类似前述步骤10检测是否连接了从闪存盘,如果判断结果是连接了闪存盘,则准备启动双闪存盘文件管理模式,所述双闪存盘文件管理模式为主闪存盘先检测其自身的闪存芯片上的文件系统,并载入该文件系统,然后检测从闪存盘上的闪存芯片,并载入其使用的文件系统。主闪存盘将其自身的闪存芯片和从闪存盘的闪存芯片作为两个独立的存储载体处理即认为各自的闪存芯片都有各自的文件系统,可相互拷贝数据。
假设有提供LCD,则初始化LCD,并显示两个闪存盘上的文件内容,并根据按键功能来进行适当的响应,所述按键的功能可预先设定。
如果两个闪存盘都未与主机连接,且都只带电源的情况下,因为开启电源会有先后顺序,后打开电源的设备通过一根检测电源的连接线就可以检测到另一个闪存盘已经带电,就停止上电操作,并把自己关闭。而先打开电源的设备因为没有检测到另一端的电源,就不会自动关闭,则作为主闪存盘备上电。
作为本发明的另一实施例,所述闪存盘提供的外部接口可以是SD卡,MMC卡,CF卡等存储卡接口,此时外部接口电路与读卡器卡电路相同,在此不赘述。所述闪存盘可以通过一张多媒体卡来扩展,也可以通过多张多媒体卡扩展,两者不同的就是预先定义的地址范围需要划分成多段,在地址映射和偏移时根据多段地址定义范围来处理。
请参阅图4,本实施例中所述可扩容闪存盘的工作流程如下首先,参阅步骤30,当闪存盘上电时,在完成内嵌Flash的初始化后,就可进行对外部存储卡的检测,不同的类型的卡对应不同的接口,可根据不同卡各自的相关协议进行检测,比如CF卡可以通过检测CD1和CD2引脚来判断卡是否有接入,而SD卡可以通过检测CD/DAT3引脚来实现相同的判断,其它不同的卡都有类似方法来实现卡的检测。
完成上电检测后,根据检测到的卡的存储容量大小和类型来进行地址空间划分,例如,闪存盘的存储容量为32M,在上电时检测到SD卡和CF卡各一个已经接入,并且得到了卡的容量分别为64M和128M,可知总容量为224M,对应逻辑地址空间为0x00000000到0x0DFFFFFF,其中闪存盘自身的FLASH容量占据0x00000000到0x01FFFFFF的地址空间,安排SD卡占据0x02000000到0x05FFFFFF的地址空间,而CF卡占据0x06000000到0x0DFFFFFF的地址空间。作好容量划分后,则进入等待主机命令的阶段。
步骤32,固化软件接收来自主机端的数据读写命令;步骤34,解析所述数据读写命令的地址;然后进入步骤26,判断所述地址范围,根据预先定义的地址划分来分析该地址,以判断所述数据读写命令欲操作的是闪存盘自身的存储区还是其扩展区;若所述地址对应闪存盘自身的存储区,则进入步骤38,对闪存盘进行对应数据读写操作;若所述地址对应闪存盘的扩展区,则进入步骤40,则检测是否有存储卡接入,检测卡是否插入的检测方法和普通读卡器一样;然后进入步骤42计算偏移地址,如果收到的命令所指向的地址对应着多媒体卡分配的地址范围的话,则将该地址进行偏移转换,比如闪存盘的Flash对应0x00000000到0x0DFFFFFF的地址,而一张SD卡对应了0x02000000到0x05FFFFFF的地址,那么在收到的指令是针对0x02000120的时候,可以将该地址减去0x02000000,可知该地址对应了SD卡的0x0120地址,则通过正常的读写多媒体卡流程对SD卡的这个地址执行该条指令。
如果有两张扩展卡的情况,假设地址划分和卡容量符合前述的例子,闪存盘的存储容量为32M,在上电时检测到SD卡和CF卡各一个已经接入,并且得到了卡的容量分别为64M和128M,可知总容量为224M,对应逻辑地址空间为0x00000000到0x0DFFFFFF,其中闪存盘自身的FLASH容量占据0x00000000到0x01FFFFFF的地址空间,安排SD卡占据0x02000000到0x05FFFFFF的地址空间,而CF卡占据0x06000000到0x0DFFFFFF的地址空间。则如果主机发送来的命令是指向地址0x09244343的,那么通过对该地址的解析,可知该指令将实际操作到CF卡上,且对应了CF卡的0x09244343-0x06000000=0x03244343的实际地址,那么可以通过CF卡的控制读写协议,把主机需要传输的数据发向CF卡的这个地址。如果在读写过程中多媒体卡被突然移除,则需要进行相应的错误处理,该处理流程与从闪存盘被非法移除处理的流程相同,在此不再赘述。
步骤44,根据偏移地址对扩展区即存储卡进行对应的数据读写操作。
以上所述仅为本发明的优选实施方式,本领域技术人员可以理解,这些实施方案不应构成对本发明专利保护范围的限制,凡在本发明的说明书及附图所公开内容的基础上进行的等效结构变换,都包括在本发明的权利要求书所限定的本发明的专利保护范围内。
权利要求
1.一种可扩容闪存盘,所述可扩容闪存盘包括控制单元和闪存单元,所述控制单元中设有固化软件,其特征在于所述可扩容闪存盘还包括与所述控制单元和闪存单元连接的外部接口,通过所述外部接口连接有相应物理接口的闪存盘,当所述可扩容闪存盘与主机连接时,所述可扩容闪存盘与所连接的闪存盘作为一个整体实现与主机的数据交换。
2.根据权利要求1所述的可扩容闪存盘,其特征在于,所述外部接口的数据线与所述闪存单元的数据线并联,其控制线与所述闪存单元的数据线并联,其片选引脚单独与所述控制单元的相应管脚连接。
3.根据权利要求1所述的可扩容闪存盘,其特征在于,所述可扩容闪存盘与主机连接且与所连接的闪存盘作为一个整体实现与主机的数据交换时,所述固化软件执行以下步骤2-1)从主机获取电源完成上电检测;2-2)接收来自主机的数据读写命令;2-3)解析所述命令中指向的地址;2-4)判断所述地址的范围,若所述地址超出了所述可扩容闪存盘的地址范围;则,2-5)根据所述地址对所连接的闪存盘进行对应的数据读写操作。
4.根据权利要求3所述的可扩容闪存盘,其特征在于,步骤2-5)进一步包括检测所连接的闪存盘是否仍然存在,若存在则将所述地址减去所述可扩容闪存盘的容量得到偏移地址,再根据该偏移地址对所连接的闪存盘进行对应的数据读写操作。
5.根据权利要求1所述的可扩容闪存盘,其特征在于,所述可扩容闪存盘还包括电源单元,所述可扩容闪存盘可在未与主机连接的情况下直接对所连接的闪存盘进行数据读写操作。
6.根据权利要求5所述的可扩容闪存盘,其特征在于,所述可扩容闪存盘还包括显示单元和操作键,可通过所述显示单元及操作键实现在未与主机连接的情况下直接对所连接的闪存盘进行数据读写操作。
7.根据权利要求5或6所述的可扩容闪存盘,其特征在于,所述可扩容闪存盘直接对所连接的闪存盘进行数据读写操作包括以下步骤接通电源检测外部接口是否连接了闪存盘,如果外部接口连接了闪存盘则启动双闪存盘文件管理模式。
8.根据权利要求7所述的可扩容闪存盘,其特征在于,所述双闪存盘文件管理模式为可扩容闪存盘先检测其自身的闪存单元上的文件系统,并载入该文件系统;然后检测外部接口连接的闪存盘上的闪存单元,并载入其使用的文件系统;所述可扩容闪存盘将其自身的闪存单元和所连接的闪存盘的闪存单元作为两个独立的存储载体处理,认为各自的闪存单元都有各自的文件系统,可相互拷贝数据。
9.一种可扩容闪存盘,所述可扩容闪存盘包括控制单元和闪存单元,所述控制单元中设有固化软件,其特征在于所述可扩容闪存盘还包括与所述控制单元和闪存单元连接的外部接口,通过所述外部接口连接存储卡,当所述可扩容闪存盘与主机连接时,所述可扩容闪存盘与所连接的存储卡作为一个整体实现与主机的数据交换。
10.根据权利要求9所述的可扩容闪存盘,其特征在于,与所连接的存储卡作为一个整体实现与主机的数据交换时,所述固化软件执行以下步骤10-1)从主机获取电源完成上电检测,划分地址空间,进入待命状态;10-2)接收来自主机的数据读写命令;10-3)解析所述命令中指向的地址;10-4)判断所述地址的范围,若所述地址超出了所述可扩容闪存盘的地址范围;则,10-5)根据该地址计算对应的所连接的存储卡中的偏移地址;10-6)根据所述偏移地址对所连接的存储卡进行对应的数据读写操作。
全文摘要
本发明公开了一种可扩容闪存盘,用以克服现有技术中闪存盘容量扩展不便,以及两个闪存盘之间无法直接交换数据的问题。本发明的可扩容闪存盘包括控制单元和闪存单元,所述控制单元中设有固化软件,其特征在于所述闪存盘还包括与所述控制单元和闪存单元连接的外部接口,所述外部接口的数据线与所述闪存单元的数据线并联,其控制线与所述闪存单元的数据线并联,其片选引脚单独与所述控制单元的片选端连接。所述可扩容闪存盘通过所述外部接口与有相应物理接口的闪存盘连接时,可直接对所连接的闪存盘进行数据读写操作,或与主机连接且与所连接的闪存盘作为一个整体实现与主机的数据交换。
文档编号G06F12/00GK1744062SQ20041005137
公开日2006年3月8日 申请日期2004年8月31日 优先权日2004年8月31日
发明者刘宇峰, 成晓华 申请人:深圳市朗科科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1