多存储卡逻辑合一的读写方法及装置的制作方法

文档序号:6460676阅读:114来源:国知局
专利名称:多存储卡逻辑合一的读写方法及装置的制作方法
多存储卡逻辑合一的读写方法及装置技术领i或本发明涉及数字存储器信息的写入或读出装置,特别.是涉及输入/输出(i/o) 数据接口装置,尤其涉及视多存储卡为单一大容量逻辑设备的存储方法。
背景技术
存储卡是指用于移动电话、数码相机、便携式电脑、MP3和其他数码产品上的独立存储介质, 一般是卡片的形态,故统称为"存储卡",又称为"数码存储卡"、"数字 存储卡"、"储存卡"等,常见的存储卡指SD卡、MMC卡、SONY MemoryStick记忆棒等。读卡器是一种专用设备,有插槽可以插入存储卡,有端口可以联接到计算机,把适合 的存储卡插入插槽,端口与计算机相连并安装所需的驱动程序之后,计算机就把存储卡当 作一个可移动存储器,从而可以通过读卡器读写存储卡。按所兼容存储卡的种类分可以分 为SD卡读卡器、SIM卡读卡器、PCMICA卡读卡器以及记忆棒读写器等,还有双槽读卡器可以同时使用两种或两种以上的卡;按端口类型分可分为串行口读卡器(速度很慢,极 少见)、并行口读卡器(适合于早期主板的计算机)和USB读卡器(速度快,使用方便)。通用串行总线USB(Universal Serial Bus)是一种由Intel、 NEC、 Compaq、 DEC、 IBM、 Microsoft和NorthernTelecom等几个厂家联系制定的新型的计算机外设接口 。 USB具有 传输速度快(USB1. 1是12Mbps, USB2. 0是480Mbps),使用方便,支持热插拔,连接灵活, 独立供电等优点,可以连接鼠标、键盘、打印机、扫描仪、摄像头、闪存盘、MP3机、移 动电话、数码相机、移动硬盘、外置光软驱、USB网卡、和ADSL Modem、 Cable Modem等几乎所有的外部设备。USB组织定义了海量存储设备(Mass Storage Class)的规范,用于使用USB接口实现 存储类设备,Microsoft Windows中提供对Mass Storage协议的支持,因此USB移动设备 只要遵循Mass Storage协议来组织数据和处理命令,就可实现作为磁盘设备的形式与主 机交换数据。USB读卡器与PC主机间,使用USB接口和Mass Storage协议与主机进行通信,在PC 主机上表现为磁盘。目前的存储卡读卡装置中,包括多合一的读卡器,在主机装置中表现为多个逻辑磁盘 设备,每张存储卡表现各为一个存储设备,在电脑上显示一个盘符。当前存储卡受惠于半 导体存储技术的飞速发展,容量也不断升级,但在传输大容量数据时仍然受单张卡容量的限制。上面所述的读卡装置及存储方法存在以下不足1、 插入读卡装置的存储卡在主机中表现为多个逻辑磁盘,每张存储卡表现各为一个 存储设备,在电脑上显示一个盘符,不能整合使用各存储卡的总容量,不直观,使用不方便;2、 无法存储大于单个逻辑磁盘容量的数据。发明内容本发明要解决的技术问题在于避免上述现有技术的不足之处而提出一种视多 存储卡为单一大容量逻辑设备的存储方法和装置。本发明解决所述技术问题可以通过采用以下技术方案来实现 一种将多存储卡逻辑合 一的读写装置,该读写装置包括主机接口、主控制器CPU、各存储卡接口、只读存储器R0M、 随机存储器RAM、电源管理模块,所述主控制器CPU通过总线与各存储卡接口互连,以存 储在只读存储器ROM (103)上的固化软件控制各存储卡接口 (106)进行数据读写,从而 使所述各存储卡在主机上表现为逻辑上一体存在的、叠加各存储卡容量的单一外存储卡装 置。所述的存储卡包括SD卡、顧C卡、Memory St ick以及CF卡;主机接口釆用USB接口 , 并在与主机通信时执行Mass Storage通信协议。本发明解决所述的技术问题,还可以进一步采用以下技术方案来实现,提供一种视多 存储卡为单一大容量逻辑设备的存储方法,基于电连接至主机的将多存储卡进行逻辑合一 的读写装置,该读写装置包括主机接口、主控制器CPU、各存储卡接口、只读存储器R0M、 随机存储器RAM和电源管理模块,所述方法包括以下步骤A. 将所述读写装置之主机接口与主机相连,该装置从主机中取得电源,所述主控制 器CPU复位并运行,同时初始化软件运行环境及必要的硬件端口;B. 将当前存储卡序号设为O;C. 主控制器CPU检测当前存储卡是否可用,若检测结果为不可用,则在随机存储器 RAM中标记此存储卡无效,并跳至执行步骤F;D. 若步骤C中的检测结果为可用,则初始化此存储卡,若初始化卡失败,则直接跳 至执行步骤F;E. 若步骤D中的初始化卡成功,则在随机存储器MM中标记此存储卡为有效,并将 存储卡类型和容量记录在该随机存储器RAM中;F. 检测当前所读取的存储卡是否为最后一张卡,若检测结果为"否",则指向下一张卡,并返回步骤C;G. 若步骤F中的检测结果为"是",则将记录在随机存储器RAM中所有有效存储卡的 容量进行累加,算出所有有效存储卡的总容量;H. 所述主控制器CPU将向主机回复只有一个逻辑存储设备,并以指定的一种卡类型 回复主机;I. 主机询问逻辑存储设备容量,主控制器CPU将所有有效存储卡的总容量回复主 J.所述主控制器CPU接收主机指令并进行相应的读写操作。同现有技术相比较,本发明所采用的上述技术方案的有益效果在于1、 不改变单个存储卡结构、容量及主机装置,通过该存储卡读写装置,实现将多张 存储卡合并成一个大容量逻辑存储设备;2、 可以通过该装置存储大于单个逻辑磁盘容量的数据。附图i兑明图i是本发明多存储卡逻辑合一的读写装置内部逻辑框图;图2是所述主控制器CPU通过SD总线与存储卡接口相连的实施例一之接线图; 图3是所述主控制器CPU通过SPI总线与存储卡接口相连的实施例二之接线图; 图4是本发明多存储卡逻辑合一的读写装置在实现其逻辑合一功能时的控制流程图; 图5是本发明多存储卡逻辑合一的读写装置在向存储卡读取数据时的控制流程图; 图6是本发明多存储卡逻辑合一的读写装置在向存储卡写数据时的控制流程图; 图7是所述主控制器CPU采用单扇区和多扇区访问存储卡时的示意图; 图8是数据在同 一个存储卡上的访问示意图; 图9是数据在不同一个存储卡上的访问示意图;图io是存储卡在一读写装置中转移到另一相同读写装置中放置顺序说明示意图。
具体实施方式
以下结合各附图所示之最佳实施例作进一步详述。本发明之将多存储卡逻辑合一的读写装置100,如图l所示,包括主机接口 104、主 控制器CPU101、各存储卡接口106、只读存储器R0M103、随机存储器RAM102、电源管理 模块105,尤其是,所述主控制器CPU 101通过总线与各存储卡接口 106互连,以存储在 只读存储器ROM (103)上的固化软件控制各存储卡接口 U06)进行数据读写,从而使所 述各存储卡在主机上表现为逻辑上一体存在的、叠加各存储卡容量的单一外存储装置。所述的存储卡包括SD卡、MMC卡、Memory Stick以及CF卡;主机接口 104采用USB接口,并在与主机通信时执行Mass Storage通信协议。如图2和图3所示,所述主控制器CPUIOI与各存储卡接口 106之间可以根据存储卡的类型选择不同的总线进行电连接。如

图1所示,所述电源管理模块105从主机获取的5V电源,将其转为3. 3V或1. 8V 用于为主控制器CPU 101和各存储卡接口 106使用。为了解决本发明所提出的技术问题,其技术方案还可以是,提供一种视多存储卡为单 一大容量逻辑设备的存储方法,基于电连接至主机的将多存储卡进行逻辑合一的读写装置 100,该读写装置IOO包括主机接口 104、主控制器CPU 101、各存储卡接口 106、只读存 储器R0M 103、随机存储器RAM 102、电源管理模块105,尤其是,包括以下步骤A. 如图4所示步骤401,将所述读写装置之主机接口 104与主机相连,该装置100从 主机中取得电源,所述主控制器CPU 101复位并运行,同时初始化软件运行环境 及必要的硬件端口;B. 将当前存储卡序号设为0,如图4所示步骤402;C. 如图4所示步骤403,主控制器CPU101检测当前存储卡是否可用,若检测结果为 不可用,则在随机存储器RAM 102中标记此存储卡无效,并跳至执行步骤F;D. 如图4所示步骤404,若步骤C中的检测结果为可用,则初始化此存储卡,若初始化卡失败,则直接跳至执行步骤F;E. 如图4所示步骤405,若步骤D中的初始化卡成功,则在随机存储器RAM102中标 记此存储卡为有效,并将存储卡类型和容量记录在该系统随机存储器RAM 102中;F. 如图4所示步骤406,检测当前所读取的存储卡是否为最后一张卡,若检测结果为"否",则指向下一张卡,如图4所示步骤408,并返回步骤C;G. 若步骤F中的检测结果为"是",则将记录在随机存储器RAM 102中所有有效存储 卡的容量进行累加,算出所有有效存储卡的总容量,如图4所示步骤"7;H. 所述主控制器CPU 101将向主机回复只有一个逻辑存储设备,并以指定的一种卡 类型回复主机;I. 主机询问逻辑存储设备容量,主控制器CPU 101将所有有效存储卡的总容量回复 主机;J.所述主控制器CPU IOI接收主机指令并进行相应的读写操作。 上面步骤H所述的特定卡类型为Mass Storage Class。 所述步骤J中的读操作依次包括步骤a. 如图5所示步骤501,主机发送读数据指令到所述所述主控制器CPU 101;b. 所述主控制器CPU101分析读数据指令的参数,得到需要读的起始扇区号及需要读取的扇区总数;c. 如图5所示步骤502,所述主控制器CPU IOI根据需要读的起始扇区号及需要读取的扇区总数,判断需要读取的数据的结東扇区号,即起始扇区号加上需要读取的 扇区总数是否超过所述逻辑存储设备的总容量,如果判断结果为"是",则跳到执行步骤g;d. 如图5所示步骤503,如果步骤c中的判断结果为"否",则判断需要读取的扇区总数是否为零,若为零,则直接跳至执行步骤g;e. 如图5所示步骤504,如果步骤d中的判断结果不为零,即主机读取的数据位于存储卡内有效扇区内,则计算当前读取的扇区号所在存储卡序号,并计算出在该存 储卡中的偏移地址;f. 如图5所示步骤505从该存储卡上读取当前扇区号中的数据并返回给主机,同时将 当前扇区号加上一个特定数值,将需要读取的扇区总数减去一个特定数值,如图5 所示步骤506并返回执行步骤d;g. 读数据过程结東。所述步骤J中的写操作依次包括步骤a. 如图6所示步骤601,主机发送写数据指令到所述所述主控制器CPU 101;b. 所述主控制器CPU IOI分析写数据指令的参数,得到需要写的起始扇区号及需要 写入的扇区总数;c. 如图6所示步骤602,所述主控制器CPU101根据需要写的起始扇区号及需要写入 的扇区总数,判断需要写入的数据的末尾扇区号,即起始扇区号加上需要写入的 扇区总数是否超过所述逻辑存储设备的总容量,如果判断结果为"是",则跳到执 行步骤g;d. 如图6所示步骤603,如果步骤c中的判断结果为"否",则判断需要写入的扇区总数是否为零,若为零,则直接跳至执行步骤g;e. 如图6所示步骤604,如果步骤d中的判断结果不为零,即主机写入的数据位于存储卡内有效扇区内,则计算当前写入的扇区号所在存储卡序号,并计算出在该存 储卡中的偏移地址;f. 如图6所示步骤605,从该存储卡上当前扇区号中写入数据,同时将当前扇区号加 上一个特定数值,将需要读取的扇区总数减去一个特定数值,如图6所示步骤606, 并返回步骤d;g. 写数据过程结束。在上面所介绍的读、写过程,所述对应步骤f中的特定定数值在单扇区访问时设置为1;多扇区访问时将所述额定数值设置为需要访问的扇区总数。可以通过运行在只读存储器ROM 103中的固化软件定义主控制器CPU 101访问数 据所在的扇区是釆用单扇区访问还是多扇区访问的方式,主控制器CPU 101在接到主机读写数据的命令后根据需访问的数据所在扇区对应的存储卡的类型决定是采用单扇 区访问还是多扇区访问方式,主控制器对存储器单扇区访问方式和多扇区访问的示意图如图7所示。当主控制器CPU 101访问的数据在同一个存储器上时,如图8所示,访问的起始 地址Address,长度为Length,主控cpu根据此信息及所有卡的状态容量,计算出当 前操作起始扇区所在的卡序号及在卡中的偏移地址及长度Lengthl,并对数据进行访 问。如果当前访问Length大于某一存储卡中的剩余长度Lengthl,如图9所示,则需 要访问下一张存储卡,访问起始地址为下一张存储卡的地址O,数据长度为 Length2=Length-Lengthl,主机需要访问的数据分布在两张不同的存储卡时,在访问 完当前存储卡的扇区时,会跳至下一张存储卡上进行访问,直到访问完主机要求访问 的全部数据为止。当各存储卡从原多存储卡逻辑合一的读写装置100转移到另 一个同样类型的读写 装置100时,存储卡放置的顺序必须与放置在原读写装置100的顺序一致,这个过程 可以参照图10。
权利要求
1、一种将多存储卡逻辑合一的读写装置(100),包括主机接口(104)、主控制器CPU(101)、各存储卡接口(106)、只读存储器ROM(103)、随机存储器RAM(102)和电源管理模块(105),其特征在于所述主控制器CPU(101)通过总线与各存储卡接口(106)互连,读出存储在只读存储器ROM(103)内的固化软件用以控制各存储卡接口(106)进行数据读写,从而使所述各存储卡在主机上表现为逻辑上一体存在的、叠加各存储卡容量的单一外存储装置。
2、 如权利要求l所述的将多存储卡逻辑合一的读写装置,其特征在于所述存储卡包括SD卡、匿C卡、Memory Stick以及CF卡。
3、 如权利要求l所述的将多存储卡逻辑合一的读写装置,其特征在于所述主机接口 (104)釆用USB接口,并在与主机通信时执行Mass Storage通信协议。
4、 如权利要求l所述的将多存储卡逻辑合一的读写装置,其特征在于所述主控制器CPU (101)与各存储卡接口 (106)之间根据各该存储卡的类型不 同而选择不同的总线作电连接。
5、 如权利要求l所述的将多存储卡逻辑合一的读写装置,其特征在于所述电源管理模块(105)从主机获取5V电源,将其转换为3. 3V或1.8V用于为 主控制器CPU (101)和各存储卡接口 (106)供电。
6、 一种视多存储卡为单一大容量逻辑设备的存储方法,基于电连接至主机的将张多存储 卡逻辑合一的读写装置UOO),该读写装置(IOO)包括主机接口 (l(H)、主控制器CPU(101)、各存储卡接口 (106)、只读存储器ROM (103)、随机存储器RAM (102)和电 源管理模块U05),其特征在于,所述方法包括以下步骤A. 将所述读写装置(100)之主机接口 (104)与主机相连,该装置(100)从主机取 得电源,所述主控制器CPU (101)复位并运行,同时初始化软件运行环境及必要 的硬件端口;B. 将当前存储卡序号设为O;C. 主控制器CPU (101)检测当前存储卡是否可用,若检测结果为不可用,则在随机 存储器RAM(102)中标记此存储卡无效,并跳至执行步骤F;D. 若步骤C中的检测结果为可用,则初始化此存储卡,若初始化此存储卡失败,则直接跳至执行步骤F;E. 若步骤D中的初始化此存储卡成功,则在随机存储器RAM (102)中标记此存储卡 为有效,并将存储卡类型和容量记录在该随机存储器RAM (102)中;F. 检测当前所读取的存储卡是否为最后一张卡,若检测结果为"否",则指向下一张 卡,并返回执行步骤C;G. 若步骤F中的检测结果为"是",则将记录在随机存储器RAM (102)中所有有效存 储卡的容量进行累加,算出所有有效存储卡的总容量;H. 所述主控制器CPU (101)将向主机回复只有一个逻辑存储设备,并以指定的一种 卡类型回复主机;I. 主机询问逻辑存储设备容量,主控制器CPU (101)将所有有效存储卡的总容量回 复主机;J.所述主控制器CPU (101 )接收主机指令并进行相应的读写操作。
7、 如权利要求6所述的视多存储卡为单一大容量逻辑设备的存储方法,其特征在于步骤H所述的指定的一种卡类型为Mass StorageClass。
8、 如权利要求6所述的视多存储卡为单一大容量逻辑设备的存储方法,其特征在于所述步骤J中的读操作依次包括步骤a. 主机发送读数据指令到所述主控制器CPU (101 );b. 所述主控制器CPU (101)分析读数据指令的参数,得到需要读的起始扇区号及需 要读取的扇区总数;c. 所述主控制器CPU (101)根据需要读的起始扇区号及需要读取的扇区总数,判断 需要读取的数据的结東扇区号,即起始扇区号加上需要读取的扇区总数是否超过 所述逻辑存储设备的总容量,如果判断结果为"是",则跳到执行步骤g;d. 如果步骤c中的判断结果为"否",则判断需要读取的扇区总数是否为零,若为零, 则直接跳至执行步骤g;e. 如果步骤d中的判断结果不为零,即主机读取的数据位于存储卡内有效扇区内, 则计算当前读取的扇区号所在存储卡序号,并计算出在该存储卡中的偏移地址;f. 从该存储卡上读取当前扇区号中的数据并返回给主机,同时将当前扇区号加上一个特定数值,将需要读取的扇区总数减去一个特定数值,并返回步骤d;g. 读数据过程结東。
9、如权利要求6所述的视多存储卡为单一大容量逻辑设备的存储方法,其特征在于 所述步骤J中的写操作依次包括步骤a. 主机发送写数据指令到所述所述主控制器CPU (101 );b. 所述主控制器CPU (101)分析写数据指令的参数,得到需要写的起始扇区号及需 要写入的扇区总数;c. 所述主控制器CPU (101)根据需要写的起始扇区号及需要写入的扇区总数,判断 需要写入的数据的末尾扇区号,即起始扇区号加上需要写入的扇区总数是否超过 所述逻辑存储设备的总容量,如果判断结果为"是",则跳到执行步骤g;d. 如果步骤c中的判断结果为"否",则判断需要写入的扇区总数是否为零,若为零, 则直接跳至执行步骤g;e. 如果步骤d中的判断结果不为零,即主机写入的数据位于存储卡内有效扇区内, 则计算当前写入的扇区号所在存储卡序号,并计算出在该存储卡中的偏移地址;f. 从该存储卡上当前扇区号中写入数据,同时将当前扇区号加上一个特定数值,将 需要读取的扇区总数减去一个特定数值,并返回执行步骤d;g. 写数据过程结束。
10、 如权利要求6所述的视多存储卡为单一大容量逻辑设备的存储方法,其特征在于可以通过运行在只读存储器R0M(103)中的固化软件定义主控制器CPU (101)访 问数据所在的扇区是采用单扇区访问还是多扇区访问的方式,主控制器CPU (101)在 接到主机读写数据的命令后根据需访问的数据所在扇区对应的存储卡的类型决定是釆 用单扇区访问还是多扇区访问方式。
11、 如权利要求8或9所述的视多存储卡为单一大容量逻辑设备的存储方法,其特征在于:所述步骤f中的特定数值在单扇区访问时设置为1;多扇区访问时将所述特定数 值设置为需要访问的扇区总数。
12、 如权利要求6所述的视多存储卡为单一大容量逻辑设备的存储方法,其特征在于主机需要访问的数据分布在两张不同的存储卡时,在访问完当前存储卡的扇区 时,会跳至下一张存储卡上进行访问,直到访问完毕主机要求访问的全部数据为止。
13、 如权利要求6所述的视多存储卡为单一大容量逻辑设备的存储方法,其特征在于当各存储卡从原多存储卡逻辑合一的读写装置(ioo)转移到另一个同样类型的 读写装置(100 )时,存储卡放置的顺序必须与放置在原读写装置(100 )的顺序一致。
全文摘要
一种多存储卡逻辑合一的读写方法及装置,包括主机接口(104)、主控制器CPU(101)、各存储卡接口(106)、只读存储器ROM(103)、随机存储器RAM(102)和电源管理模块(105),尤其是,所述主控制器CPU(101)读出存储在只读存储器ROM(103)内的固化软件用以控制各存储卡接口(106)进行数据读写,从而使所述各存储卡在主机上表现为逻辑上一体存在的、叠加各存储卡容量的单一外存储装置,所述方法包括步骤初始化软件运行环境及硬件端口;检测当前存储卡;初始化存储卡;标记此存储卡相关信息;有效存储卡的容量累加过程;回复主机此逻辑存储设备类型及容量过程;所述主控制器CPU(101)接收主机指令进行读写过程。使用本发明,在不改变单个存储卡结构、容量及主机装置的情况下就可实现将多张存储卡合并成一个大容量逻辑存储设备,从而存储大于单个逻辑磁盘容量的数据。
文档编号G06F13/40GK101404000SQ20081006512
公开日2009年4月8日 申请日期2008年1月4日 优先权日2008年1月4日
发明者李志雄, 蔡华波, 钟衍徽 申请人:深圳市江波龙电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1