多通道闪存卡控制装置及其控制方法

文档序号:6383608阅读:108来源:国知局
专利名称:多通道闪存卡控制装置及其控制方法
技术领域
本发明涉及一种多通道闪存卡控制装置及其控制方法,特别涉及一种基于高速串行通信协议的多通道闪存卡控制装置及其控制方法。
背景技术
近些年高速串行通信协议大有彻底取代传统并行传输协议的趋势,例如串行硬盘接口(SATA)取代并行硬盘接口(PATA),个人计算机扩展快速总线接口(PCI Express)取代个人计算机扩展总线接口(PCI)等,与此同时,由于闪存卡大容量小体积高速率并且使用方便的特点,已经在日常工作生活中扮演了越来越重要的角色,各种类型闪存卡的传输速率也突飞猛进,例如安全数码卡的最高传输速率已达到每秒104兆字节,而紧凑闪存卡的最高传输速率已达到每秒167兆字节,此时传统的并行传输协议已不能满足需要,因此基于高速串行通信协议的闪存卡访问产品已成为一种趋势,使用基于高速串行通信协议的闪存卡访问产品虽然提高了数据传输速率,但仍未充分利用高速串行通信协议的带宽,其瓶颈在于闪存卡的传输速率,已有技术的多通道闪存卡控制装置及其控制方法将闪存卡看作多个数据存储设备,对其在不同时刻分别进行读写数据的操作,造成了带宽上极大地浪费,因此,一种能充分利用高速串行通信协议传输带宽的多通道闪存卡控制装置及其控制方法必然会受到市场的追捧。

发明内容
本发明所要解决的主要技术问题在于,克服现有技术存在的上述缺陷,通过多通道闪存卡控制装置及其控制方法,对高速串行通信协议主机端发送过来的主机端命令,由命令数据处理单元拆分为多个子命令,并通过多个闪存卡接口单元对多个闪存卡同时进行数据访问,来提高访问容量和访问速度。本发明解决其技术问题所采用的技术方案是做为本发明的一种多通道闪存卡控制装置,包括主机端接口单元、命令数据处理单元、多个闪存卡接口单元,该主机端接口单元接收来自高速串行通信协议主机端的主机端命令、主机端写数据并将其传递给命令数据处理单元,接收来自命令数据处理单元的主机端读数据并将其传递给高速串行通信协议主机端,命令数据处理单元接收来自主机端接口单元的主机端命令、主机端写数据,接收来自多个闪存卡接口单元的闪存卡读数据,发送闪存卡命令、闪存卡写数据到多个闪存卡接口单元,发送主机端读数据到主机端接口单元,多个闪存卡接口单元接收来自命令数据处理单元的闪存卡命令、闪存卡写数据,接收来自多个闪存卡的闪存卡读数据,发送闪存卡读数据到命令数据处理单元,发送闪存卡命令、闪存卡写数据到多个闪存卡。其中,该高速串行通信协议主机端写操作中,由命令数据处理单元拆分产生的多条闪存卡命令和多笔闪存卡写数据,经过多个闪存卡接口单元发送到多个闪存卡的过程在时间上是重合的,该高速串行通信协议主机端读操作中,由命令数据处理单元经过多个闪存卡接口单元接收多个闪存卡的闪存卡读数据的过程在时间上是重合的。其中,由该命令数据处理单元拆分产生的多笔闪存卡写数据的总长度,等于由命令数据处理单元接收到的主机端写数据的长度,由该命令数据处理单元接收到的多笔闪存卡读数据的总长度,等于由命令数据处理单元拼合组成的主机端读数据的长度。其中,该命令数据处理单元根据连接到多个闪存卡接口单元的闪存卡容量和数量信息,将从高速串行通信协议主机端发送过来的主机端命令进行拆分,产生发送到多个闪存卡接口单元的多条闪存卡命令,在高速串行通信协议主机端写操作中,该命令数据处理单元将收到的主机端写数据进行拆分,产生发送到多个闪存卡接口单元的多笔闪存卡写数据,经由多个闪存卡接口单元在时间上重合的将数据写入到多个闪存卡中,在高速串行通信协议主机端读操作中,多个闪存卡接口单元在时间上重合的从多个闪存卡读取数据,形成多笔闪存卡读数据并将其发送给该命令数据处理单元,由命令数据处理单元将多笔闪存卡读数据拼合成为发送到主机端接口单元的主机端读数据。做为本发明的一种多通道闪存卡控制装置的控制方法,在高速串行通信协议主机端写操作中,从高速串行通信协议主机端接收主机端命令、主机端写数据,分别将主机端命令和主机端写数据拆·分为多条闪存卡命令和多笔闪存卡写数据,将拆分后的多条闪存卡命令和多笔闪存卡写数据送给多个闪存卡,在高速串行通信协议主机端读操作中,从高速串行通信协议主机端接收主机端命令,将主机端命令拆分为多条闪存卡命令,将拆分后的多条闪存卡命令送给多个闪存卡,接收多个闪存卡的闪存卡读数据,将多笔闪存卡读数据拼合组成主机端读数据,发送拼合后的主机端读数据到高速串行通信协议主机端。本发明多通道闪存卡控制装置及其控制方法的有益效果是,通过多通道闪存卡控制装置,使高速串行通信协议主机端将多个小容量闪存卡视为一个大容量闪存卡,并通过同时对多个闪存卡进行数据访问,提高了访问容量和访问速率,充分利用了高速串行通信协议的传输带宽,降低了用户的使用成本,增强了使用的灵活性。


下面结合附图和实施例对本发明进一步说明图1为本发明多通道闪存卡控制装置的整体模块2为本发明多通道闪存卡控制装置中命令数据处理单元的外部连接信号3为本发明多通道闪存卡控制装置中命令数据处理单元的内部组成及连接信号4为本发明多通道闪存卡控制装置中闪存卡接口单元的外部连接信号5为本发明多通道闪存卡控制装置中主机端接口单元的外部连接信号6为本发明多通道闪存卡控制装置中高速串行通信协议主机端写操作时数据处理单元内部功能模块7为本发明多通道闪存卡控制装置中高速串行通信协议主机端读操作时数据处理单元内部功能模块图其中I 高速串行通信协议主机端 1001主机端命令1003主机端写数据1005主机端读数据
1006闪存卡命令1008闪存卡写数据1010闪存卡读数据1011数据存储控制信息1000命令处理单元2000数据处理单元3000闪存卡接口单元5000主机端接口单元8000命令数据处理单元4000闪存卡2100数据选择器2200数据缓存区8 多通道闪存卡控制装置
具体实施例方式下面,结合附图中的实施例对本发明多通道闪存卡控制装置及其控制方法进行进一步说明。如图1所示,该多通道闪存卡控制装置8包括主机端接口单元5000、命令数据处理单元8000和闪存卡接口单元3000,主机端接口单元5000与高速串行通信协议主机端I之间交互主机端命令和主机端读写数据,闪存卡接口单元3000与多个闪存卡4000之间交互各自的闪存卡命令和闪存卡读写数据。在高速串行通信协议主机端I写操作中,由命令数据处理单元8000拆分产生的多条闪存卡命令1006和多笔闪存卡写数据1008,经过多个闪存卡接口单元3000分别向多个闪存卡4000发送。命令数据处理 单元8000先确认闪存卡接口单元3000上连接着闪存卡4000后,即开始从闪存卡接口单元3000向闪存卡4000写入数据,确认需要一个微乎其微的时间段非常短暂,可以忽略不计,当各闪存卡接口单元3000 —一启动后,进入了发送过程,各闪存卡接口单元3000和各闪存卡4000——对应,每个闪存卡接口单元3000都在向对应那个闪存卡4000发送数据,而每个闪存卡4000都在向对应那个闪存卡接口单元3000接受数据,而闪存卡接口单元3000发送过程在时间上是重合的。每个闪存卡4000接受的数据的长短可以是不同的,接受的数据的长度较短的闪存卡4000因较早地完成数据接收工作而停止接收,使各闪存卡4000 —个一个地完成任务则停止接收,直至最后一个闪存卡4000停止接收整个发送过程停止了。各闪存卡接口单元3000分别向各闪存卡4000发送数据的整个发送过程,所持续的时间仅相当于接受数据量最大的一个闪存卡4000持续接收信息的时间,而已有技术整个发送过程所持续的时间要相当于各闪存卡接口单元分别向各闪存卡发送信息时间的总和,本发明的技术效果非常明显。在该高速串行通信协议主机端I读操作中,命令数据处理单元8000确认闪存卡接口单元3000上连接有闪存卡4000后,即使闪存卡接口单元3000开始从闪存卡4000读取数据,确认时段非常短暂,可以忽略不计,各闪存卡接口单元3000和各闪存卡4000仍是一一对应,在各闪存卡接口单元3000 —一启动后的接收过程中,每个闪存卡接口单元3000都在向对应那个闪存卡4000接收数据,而每个闪存卡4000都在向对应那个闪存卡接口单元3000发送数据,每个闪存卡接口单元3000在向闪存卡4000接收数据的同时,将数据传输到命令数据处理单元8000。每个闪存卡接口单元3000接受的数据的长短可以是不同的,接受的数据的长度较短的闪存卡接口单元3000因较早地完成数据接收工作而停止接收,使各闪存卡接口单元3000 —个个地完成任务而停止接收,直至最后一个闪存卡接口单元3000停止接收整个接收过程停止了。因此,由命令数据处理单元8000经过多个闪存卡接口单元3000接收多个闪存卡4000的闪存卡读数据1010的过程在时间上也是重合的。整个接收过程所持续的时间仅相当于接受数据量最大的一个闪存卡接口单元3000持续接收信息的时间,技术效果同样明显。如图2所示,该多通道闪存卡控制装置8中,命令数据处理单元8000根据连接到多个闪存卡接口单元3000的闪存卡容量和数量信息,将从高速串行通信协议主机端I发送过来的主机端命令1001进行拆分,产生发送到多个闪存卡接口单元3000的多条闪存卡命令1006 ;在高速串行通信协议主机端写操作中,命令数据处理单元8000将收到的主机端写数据1003进行拆分,产生发送到多个闪存卡接口单元3000的多笔闪存卡写数据1008,拆分后的命令可以在一个闪存卡接口单元3000工作的同时,传递给另一个闪存卡接口单元3000,使另一个闪存卡接口单元3000也开始了工作,以此类推,各闪存卡接口单元3000可以都在进行着写操作。在高速串行通信协议主机端读操作中,命令数据处理单元8000将主机端命令1001拆分为多条闪存卡命令1006,通过多个闪存卡接口单元3000送给多个闪存卡4000,命令数据处理单元8000通过多个闪存卡接口单元3000接收多个闪存卡4000的闪存卡读数据1010,拆分后的命令可以在一个闪存卡接口单元3000工作的同时传递给另一个闪存卡接口单元3000,使另一个闪存卡接口单元3000也开始工作,因而各闪存卡接口单元3000可以都在进行着读操作。命令数据处理单元8000从多个闪存卡接口单元3000接收多笔闪存卡读数据1010后,由命令数据处理单元8000将多笔闪存卡读数据1010拼合成为发送到主机端接口单元5000的主机端读数据1005,这一方法将成功实现了将主机端命令1001拆分为多条闪存卡命令。如图3所示,做为对本发明多通道闪存卡控制装置及其控制方法的进一步改进,该多通道闪存卡控制装置8中,命令数据处理单元8000包括命令处理单元1000和数据处理单元2000,命令处理单元1000根据连接到多个闪存卡接口单元3000的闪存卡容量和数量信息,将从高速串行通信协议主机端I发送过来的主机端命令1001进行拆分,产生发送到多个闪存卡接口单元3000的多条闪存卡命令1006,并产生发送给数据处理单元2000的数据存储控制信息1011 ;在高速串行通信协议主机端写操作中,数据处理单元2000根据从命令处理单元1000发送过来的数据存储控制信息1011,将主机端写数据1003拆分为多笔闪存卡写数据1008,发送到多个闪存卡接口单元3000,在高速串行通信协议主机端读操作中,多个闪存卡接口单元3000将多笔闪存卡读数据1010发送到数据处理单元2000,数据处理单元2000根据从命令处理单元1000发送过来的数据存储控制信息1011,将多笔闪存卡读数据1010拼合成主机端读数据1005,发送到主机端接口单元5000。命令数据处理单元8000拆分产生的多笔闪存卡写数据1008的总长度,等于由命令数据处理单元8000接收到的主机端写数据1003的长度,由该命令数据处理单元8000接收到的多笔闪存卡读数据1010的总长度,等于由命令数据处理单元8000拼合组成的主机端读数据1005的长度。如图4所示,该多通道闪存卡控制装置中,多个闪存卡接口单元3000接收来自命令数据处理单元8000的多条闪存卡命令1006,并将其发送到多个闪存卡4000,在高速串行通信协议主机端写操作中,多个闪存卡接口单元3000接收来自命令数据处理单元8000的多笔闪存卡写数据1008,并在时间上重合的将多笔闪存卡写数据1008发送到多个闪存卡4000 ;在高速串行通信协议主机端读操作中,多个闪存卡接口单元3000在时间上重合的从多个闪存卡4000读取数据,并将多笔闪存卡读数据1010发送到命令数据处理单元8000。如图5所示,该多通道闪存卡控制装置8中,主机端接口单元5000将来自高速串行通信协议主机端I的主机端命令1001发送到命令数据处理单元8000,在高速串行通信协议主机端写操作中,主机端接口单元5000将来自高速串行通信协议主机端I的主机端写数据1003发送到命令数据处理单元8000,在高速串行通信协议主机端读操作中,主机端接口单元5000接收来自命令数据处理单元8000的主机端读数据1005,并将其发送到高速串行通信协议主机端I。如图6所示,该多通道闪存卡控制装置8中,在高速串行通信协议主机端写操作中,数据处理单元2000根据从命令处理单元1000发送过来的数据存储控制信息1011,经由内部的数据选择器2100将主机端写数据1003拆分为多笔写入到指定的数据缓存区2200中,多个闪存卡接口单元3000从多个数据缓存区2200中取得多笔闪存卡写数据1008,在时间上重合的将多笔闪存卡写数据1008写入到多个闪存卡4000中。如图7所示,该多通道闪存卡控制装置8中,在高速串行通信协议主机端I读操作中,多个闪存卡接口单元3000在时间上重合的从多个闪存卡4000读取数据,形成多笔闪存卡读数据1010发送到数据处理单元2000内部的多个数据缓存区2200中,数据处理单元2000根据从命令处理单元1000发送过来的数据存储控制信息1011,经由内部的数据选择器2100从指定的数据缓存区2200中取得多笔闪存卡读数据1010并拼合成主机端读数据1005,数据处理单元2000再将主机端读数据1005发送到主机端接口单元5000进而发送到高速串行通信协议主机端I。该多通道闪存卡控制装置8中,主机端接口单元5000可以为通用串行总线3. 0(USB3. 0)协议主机端接口单元,也可以为串行硬盘接口(SAT)协议主机端接口单元,还可以为个人计算机扩展快速总线接口(PCIExpress)协议主机端接口单元,又可以为雷电(Thunderbolt or LightPeak)协议主机端接口单元。该多通道闪存卡控制装置中,多个闪存卡接口单元3000可以为安全数码卡(Secure Digital Card,简称 SD 卡)接 口单兀、微型安全数码卡(Micro Secure DigitalCard,简称microSD卡或TF卡)接口单兀、紧凑闪存卡(Compact Flash Card,简称CF卡)接口单元、多媒体卡(Multimedia Card,简称MMC卡)接口单元、嵌入式多媒体卡(EmbeddedMultimedia Card,简称 eMMC 卡)接口 单兀和记忆棒(Memory Stick,简称 MS 卡)接口单元中的一种或几种。命令数据处理单元8000通过接口控制器控制闪存卡接口单元3000的性能,接口控制器可插拔地设置于闪存卡接口单元3000,更换接口控制器可使闪存卡接口单元3000从如上所述的接口单元中的一种变为另一种,这样可以提高闪存卡接口单元3000的兼容性,大幅降低制造成本。本发明所解决的主要技术问题在于,克服现有技术存在的缺陷,通过多通道闪存卡控制装置及其控制方法,通过对高速串行通信协议主机端发送的主机端命令进行拆分,分解为多个闪存卡命令,经过多个闪存卡接口单元同时对多个闪存卡进行数据访问,达到了扩大访问容量和提高访问速率的效果。综上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
权利要求
1.一种多通道闪存卡控制装置,包括主机端接口单元(5000)、命令数据处理单元(8000)和多个相互独立的闪存卡接口单元(3000),其特征在于,在高速串行通信协议主机端(I)写操作中,所述命令数据处理单元(8000)通过主机端接口单元(5000)从高速串行通信协议主机端(I)接收主机端命令(1001)、主机端写数据(1003),命令数据处理单元(8000)分别将主机端命令(1001)和主机端写数据(1003)拆分为多条闪存卡命令(1006)和多笔闪存卡写数据(1008),通过多个闪存卡接口单元(3000)送给多个闪存卡(4000),在高速串行通信协议主机端(I)读操作中,所述命令数据处理单元(8000)通过主机端接口单元(5000)从高速串行通信协议主机端(I)接收主机端命令(1001),命令数据处理单元(8000)将主机端命令(1001)拆分为多条闪存卡命令(1006),通过多个闪存卡接口单元(3000)送给多个闪存卡(4000),命令数据处理单元(8000)通过多个闪存卡接口单元(3000)接收多个闪存卡(4000)的闪存卡读数据(1010),经过命令数据处理单元(8000)进行拼合组成主机端读数据(1005),通过主机端接口单元(5000)发送到高速串行通信协议主机端(I)。
2.根据权利要求1所述的多通道闪存卡控制装置,其特征在于,所述高速串行通信协议主机端(I)写操作中,由命令数据处理单元(8000)拆分产生的多条闪存卡命令(1006)和多笔闪存卡写数据(1008),经过多个闪存卡接口单元(3000)发送到多个闪存卡(4000)的过程在时间上是重合的,所述高速串行通信协议主机端(I)读操作中,由命令数据处理单元(8000)经过多个闪存卡接口单元(3000)接收多个闪存卡(4000)的闪存卡读数据(1010)的过程在时间上是重合的。
3.根据权利要求1所述的多通道闪存卡控制装置,其特征在于,由所述命令数据处理单元(8000)拆分产生的多笔闪存卡写数据(1008)的总长度,等于由命令数据处理单元(8000)接收到的主机端写数据(1003)的长度,由所述命令数据处理单元(8000)接收到的多笔闪存卡读数据(1010)的总长度,等于由命令数据处理单元(8000)拼合组成的主机端读数据(1005)的长度。
4.根据权利要求1所述的多通道闪存卡控制装置,其特征在于,所述命令数据处理单元(8000)包括命令处理单元(1000)和数据处理单元(2000),命令处理单元(1000)根据连接到本装置的闪存卡(4000)数量和容量产生发送到数据处理单元(2000)的数据存储控制信息(1011),在高速串行通信协议主机端(I)写操作中,数据存储控制信息(1011)指示数据处理单元(2000)内部的数据选择器(2100)将主机端写数据(1003)进行拆分并写入到指定的数据缓存区(2200),在高速串行通信协议主机端(I)读操作中,数据存储控制信息(1011)指示数据处理单元(2000)内部的数据选择器(2100)从指定的数据缓存区(2200)中取数并拼合成为主机端读数据(1005)。
5.根据权利要求1至4中的任何一项所述的多通道闪存卡控制装置,其特征在于,所述主机端接口单元(5000)为通用串行总线3. O协议主机端接口单元。
6.根据权利要求1至4中的任何一项所述的多通道闪存卡控制装置,其特征在于,所述主机端接口单元(5000)为串行硬盘接口协议主机端接口单元。
7.根据权利要求1至4中的任何一项所述的多通道闪存卡控制装置,其特征在于,所述主机端接口单元(5000)为个人计算机扩展快速总线接口协议主机端接口单元。
8.根据权利要求1至4中的任何一项所述的多通道闪存卡控制装置,其特征在于,所述主机端接口单元(5000)为雷电协议主机端接口单元。
9.根据权利要求1至4中的任何一项所述的多通道闪存卡控制装置,其特征在于,多个所述闪存卡接口单元(3000)中之任一个可为安全数码卡接口单元。
10.根据权利要求1至4中的任何一项所述的多通道闪存卡控制装置,其特征在于,多个所述闪存卡接口单元(3000)中之任一个可为微型安全数码卡接口单元。
11.根据权利要求1至4中的任何一项所述的多通道闪存卡控制装置,其特征在于,多个所述闪存卡接口单元(3000)中之任一个可为紧凑闪存卡接口单元。
12.根据权利要求1至4中的任何一项所述的多通道闪存卡控制装置,其特征在于,多个所述闪存卡接口单元(3000)中之任一个可为多媒体卡接口单元。
13.根据权利要求1至4中的任何一项所述的多通道闪存卡控制装置,其特征在于,多个所述闪存卡接口单元(3000)中之任一个可为嵌入式多媒体卡接口单元。
14.根据权利要求1至4中的任何一项所述的多通道闪存卡控制装置,其特征在于,多个所述闪存卡接口单元(3000)中之任一个可为记忆棒接口单元。
15.一种多通道闪存卡控制装置的控制方法,其特征在于,在高速串行通信协议主机端(I)写操作中,从高速串行通信协议主机端(I)接收主机端命令(1001)、主机端写数据(1003),分别将主机端命令(1001)和主机端写数据(1003)拆分为多条闪存卡命令(1006)和多笔闪存卡写数据(1008),然后将拆分后的多条闪存卡命令(1006)和多笔闪存卡写数据(1008)送给多个闪存卡(4000),在高速串行通信协议主机端(I)读操作中,从高速串行通信协议主机端(I)接收主机端命令(1001),先将主机端命令(1001)拆分为多条闪存卡命令(1006),再将拆分后的多条闪存卡命令(1006)送给多个闪存卡(4000),然后接收多个闪存卡(4000)的闪存卡读数据(1010),先将多笔闪存卡读数据(1010)拼合组成主机端读数据(1005),再发送拼合后的主机端读数据(1005)到高速串行通信协议主机端(I)。
16.根据权利要求15所述多通道闪存卡控制装置的控制方法,其特征在于,所述高速串行通信协议主机端(I)写操作中,由主机端命令(1001)、主机端写数据(1003)拆分产生的多条闪存卡命令(1006)和多笔闪存卡写数据(1008),发送到多个闪存卡(4000)的过程在时间上是重合的,所述高速串行通信协议主机端(I)读操作中,从多个闪存卡(4000)接收到闪存卡读数据(1010)的过程在时间上是重合的。
17.根据权利要求15所述多通道闪存卡控制装置的控制方法,其特征在于,由主机端写数据(1003)拆分产生的多笔闪存卡写数据(1008)的总长度,等于接收到的主机端写数据(1003)的长度,从多个闪存卡(4000)接收到的多笔闪存卡读数据(1010)的总长度,等于拼合组成的主机端读数据(1005)的长度。
18.根据权利要求15所述多通道闪存卡控制装置的控制方法,其特征在于,根据连接到本控制装置的闪存卡(4000)数量和容量产生数据存储控制信息(1011),在高速串行通信协议主机端(I)写操作中,数据存储控制信息(1011)指示数据选择器(2100)将主机端写数据(1003)进行拆分并写入到指定的数据缓存区(2200),在高速串行通信协议主机端(I)读操作中,数据存储控制信息(1011)指示数据选择器(2100)从指定的数据缓存区(2200)中取数并拼合成为主机端读数据(1005)。
全文摘要
本发明提供了一种多通道闪存卡控制装置及其控制方法,该多通道闪存卡控制装置包括主机端接口单元、命令数据处理单元、闪存卡接口单元,主机端接口单元与高速串行通信协议主机端之间交互主机端命令和主机端读写数据,闪存卡接口单元与多个闪存卡之间交互各自的闪存卡命令和闪存卡读写数据,本发明通过拆分高速串行通信协议主机端发送的命令为多条子命令给闪存卡接口单元,并通过在时间上重合的与多个闪存卡进行命令和数据的交互,达到了扩展访问容量和提高访问速度的目的,降低了产品使用的成本,扩展了闪存卡使用的灵活性。
文档编号G06F13/38GK103034603SQ20121052654
公开日2013年4月10日 申请日期2012年12月7日 优先权日2012年12月7日
发明者陈淼, 王元龙 申请人:天津瑞发科半导体技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1