动态管理可插拔装置的方法与系统的制作方法

文档序号:6470122
专利名称:动态管理可插拔装置的方法与系统的制作方法
技术领域
本发明与装置管理方法有关,尤指一种可自动地让不同的外围互连接口(Peripheral Component Interconnect)装置功能来分别管理符合安全数字(SecureDigital, SD)规格的存储卡或符合安全数字10 (Secure Digital 10)规格的SD 10卡的方法及其相关装置。
背景技术
一般而言,外围互连接口 (PCI)装置具有三个识别编号,分别为总线编号(Busnumber)、装置编号(Device number)以及功倉g编号(Function number), 而一个传统的外围互连接口(PCI)系统最多可接有256组总线,其中每组总线最多可接32个装置,而每个装置最多可拥有8种不同功能。
对于支持多种不同规格的传统多功能卡片阅读机(Card Reader)而言,譬如说能支持符合安全数字(Secure Digital, SD)规格、多媒体卡(MultiMediaCard,醒C)规格、存储条(Memory Stick, MS)规格以及xD图片(Extreme Digital Picture,xD Picture)规格的存储卡的多功能卡片阅读机,当此一多功能卡片阅读机连结至系统总线时(例如一外围互连接口或一高速互连接口 (PCI Express)),系统将会根据此多功能卡片阅读机不同的装置功能编号(Function number)来分别枚举(enumerate)出四个不同的主机端控制器(Host Controller) : SD主机端控制器、醒C主机端控制器、MS主机端控制器以及xD主机端控制器,在枚举出这些主机端控制器后,系统便会加载相对应的驱动程序软件(Driver software)。
对系统而言,每个装置功能分别等效于一单独实体装置,也就是说,当一 SD存储卡被插入此多功能卡片阅读机时,将只经由前述的SD主机端控制器来管理;相似地,当插入多功能卡片阅读机的存储卡为符合MMC规格的存储卡时,将只经由醒C主机端控制器来管理;插入MS规格的存储卡时,MS存储卡将经由MS主机端控制器来管理;而插入xD图片存储卡时,只会由xD主机端控制器来加以管理。
5由于现今计算机系统的操作系统(Operating System, OS)—般可直接支持SD主机端控制器,所以传统的多功能卡片阅读机并不需要提供卡片阅读机系统特有的SD驱动程序软件,而是直接使用操作系统本身所提供(内建)的原生驱动程序软件(Native Driver software)。请参阅图1,图1所示为传统技术中一 SD存储卡插入一多功能卡片阅读机的示意图。如图l所示,当计算机系统根据此多功能卡片阅读机而枚举一 SD主机端控制器120时,系统将加载经由操作系统提供的原生SD驱动程序130 (例如原生SD总线驱动程序,Native SD bus driver (sdbus. sys));而当使用者将SD装置插入前述的多功能卡片阅读机之后,原生SD总线驱动程序130便告知计算机系统的操作系统以依据SD装置的规格来将所需的SD驱动程序(例如原生SFF储存驱动程序140 (native SFF storage driver))加载;举例来说,当插入的SD装置为SD存储卡110时,操作系统将会加载sffdisk. sys(NativeSD storage class driver)以及sffp一sd, sys (storage miniport driver), 并经由SD总线式库((SD bus library) 142于前述原生SD总线驱动程序130的上层来进行管理(如图l所示。
请参阅图2,图2所示为传统技术中一安全数字输入/输出(secure digital1/0, SDIO)卡210插入一多功能卡片阅读机的示意图。如图2所示,当使用者将一SDIO卡210 (其可为具有SDIO接口的全球定位卫星系统(GPS)接收机或一无线网络(wireless LAN)卡等等)插入前述的多功能卡片阅读机时,则SD主机端控制器220告知操作系统以便加载由装置生产厂商所提供的驱动程序软件240来管理此一 SDIO卡210,也就是说,为管理SDIO卡210,除了计算机系统的操作系统提供的原生驱动程序软件(例如原生SD总线驱动程序230)之外,更需使用由装置厂商自行提供的非原生(相较于操作系统而言)的驱动程序软件,例如在图2中,更加载了非原生驱动程序240 (Third Party SDIO Device driver)以管理前述的SDIO卡210。
然而,对传统技术而言,使用操作系统所提供的原生驱动程序软件来管理SD存储卡110,将导致当其它新式SD规格需被支持时,计算机系统本身并无法立即提供相对应的更新,而需要等到新版的操作系统时才能随之更新。举例来说,微软的XP操作系统本身并不支持较新型的高容量SD存储卡(Secure Digital HighCapacity, SDHC Card),只有较新的Vista操作系统才能支持此SDHC卡。除此之外,传统管理方法更会使得高速SD存储卡的存取效能(Performance)受到不良的影响,举例来说,若使用者使用符合SDHCClass6规格的存储卡时,操作系统本身提供(内建)的原生驱动程序软件能达到的最高读取速度仅能达到此高速SD存储卡所容许的读取速度的8(m ,而若使用特定驱动程序软件来管理的话,读取速度则能达到此高速SD存储卡所容许的读取速度的100°/。,完全符合使用者对高速SD存储卡的期待。"
另一方面,由于SDIO产品多样性的特质,为了提供稳定的兼容性,使用计算机系统的操作系统提供的原生驱动程序软件来管理SDIO卡仍然是必须的。
因此,亟需提供一种新颖的管理机制以改善使用操作系统提供的原生驱动程序软件管理SD存储卡的缺点,并同时保有利用操作系统的原生驱动程序软件来管理SDIO卡的优点,以提供使用者更加便利且更具有效率的使用环境。

发明内容
因此本发明的目的之一即在于提供一种可自动地根据不同外围互连接口装置功能来分别管理符合安全数字规格的SD存储卡或符合安全数字输入/输出规格的SDIO卡的方法及系统,以解决前述问题。
根据本发明一实施例,其揭露一种动态管理一可插拔装置的方法。此动态管理一可插拔装置的方法包含有当检测到对应该可插拔装置的一插入事件时,发出一装置插入中断以指示该可插拔装置已插入至一连接接口 ;于对应该连接接口的一处理机制处理该装置插入中断之前,清除该装置插入中断;以及辨识该可插拔装置的规格,并依据该可插拔装置的规格来动态管理该可插拔装置。当该可插拔装置的规格符合一第一规格时,执行一第一管理机制来管理该可插拔装置,以及当该可插拔装置的规格符合异于该第一规格的一第二规格时,执行一第二管理机制来管理该可插拔装置。
根据本发明的另一实施例,其揭露一种动态管理一可插拔装置的系统。此动态管理一可插拔装置的系统包含有 一控制装置,以及一主机装置。该控制装置系用以于检测到对应该可插拔装置的一插入事件时发出一装置插入中断,以指示该可插拔装置已插入至耦接至该控制装置的一连接接口;以及该主机装置,其耦接于该
控制装置,用以接收该装置插入中断,该主机装置于对应该连接接口的一处理机制
7处理该装置插入中断之前,清除该装置插入中断,并辨识该可插拔装置的规格以依据该可插拔装置的规格来动态管理该可插拔装置。当该可插拔装置的规格符合一第一规格时,该主机装置执行一第一管理机制来管理该可插拔装置,以及当该可插拔装置的规格符合异于该第一规格的一第二规格时,该主机装置执行一第二管理机制来管理该可插拔装置。


图1为传统技术中一SD存储卡插入一多功能卡片阅读机的示意图。图2为传统技术中一SDI0卡插入一多功能卡片阅读机的示意图。图3为本发明管理SD卡/SDIO卡的管理系统的一实施例的功能方块示意图。图4为本发明使用图3的管理系统来动态管理SD存储卡或SDIO卡的方法的一实施例的流程图。
图5为当所插入的装置为SD存储卡时的管理流程图。图6为当所插入的装置为SDIO卡时的管理流程图。
具体实施例方式
请参阅图3,图3为根据本发明管理SD卡/SDIO卡的管理系统300的功能方块示意图。如图3所示,管理系统300包含有一 SD主机端控制器310以及耦接于SD主机端控制器310的一主机装置320 (如一个人计算机)。SD主机端控制器310用以根据所插入的装置的规格以控制插入的SD卡或SDIO卡的存取运作,而主机装置320在本实施例中为一个人计算机,其内储存有前述可插拔的SD卡或SDIO卡所需的驱动程序。但请注意到,这并非为本发明的限制条件,此外,用个别的功能方块来表示SD主机端控制器310以及主机装置320只是为了说明之用,也可能有符合本发明精神的其它硬件配置方式,而这些硬件配置方式亦属于本发明的范围之中。举例来说,于一实施方式中,SD主机端控制器310设置于外接卡片阅读机,而主机装置320则是一个人计算机,而于另一实施方式中,SD主机端控制器310与主机装置320均整合于同一个人计算机中,而这些设计上的变化均符合本发明的精神。本发明的动态管理SD卡与SDI0卡的方法将于下详细揭露之。
请一并参阅图3以及图4,图4为本发明使用图3所示的管理系统300来动态管理SD存储卡或SDIO卡的方法的一实施例的流程图。请注意到,倘若实质上可达 到相同的结果,并不一定需要遵照图4所示的流程中的步骤顺序来依序进行。本流 程包含有以下步骤
步骤410:检测到一装置插入事件(亦即一SD卡或一SDIO卡)而发出一装置 插入中断(亦即卡插入中断(Card Insert Interrupt))。
步骤420:于一原生SD总线驱动程序处理该装置插入中断之前,本发明所提 供的一特定驱动程序会清除该装置插入中断(亦即卡插入中断)。
步骤430:此特定驱动程序接着辨识所插入的装置的规格为SD存储卡的规格 或为SDIO卡的规格。当所插入之装置为一SD存储卡时,则执行步骤440;否则, 则执行步骤450。
步骤440:经由该特定驱动程序来管理SD存储卡。
步骤450:产生另一装置插入中断(亦即另一卡插入中断)以告知一原生驱动 程序(亦即原生SD总线驱动程序)。
步骤460:经由该原生驱动程序来管理SDIO卡。
当所插入的可插拔装置为一 SD存储卡时,整个管理SD存储卡的详细步骤可 另说明如下。请对照图3、图4来看图5,图5为当所插入的装置为SD存储卡时的 管理流程图。请注意到,倘若实质上可达到相同的结果,并不一定需要遵照图5 所示的流程中的步骤顺序来依序进行。本流程包含有以下步骤
步骤510: —装置插入SD主机端控制器310的插槽(亦即SD插槽)。
步骤520: SD主机端控制器310产生一~f^插入中断(Card Insert Interrupt), 而此卡插入中断会由本发明所提供的一特定驱动程序所拦截与接收。
步骤530:此特定驱动程序会清除此卡插入中断并辨识所插入的装置的类型而 判断出此装置为一SD存储卡。
步骤540:该特定驱动程序加载另一原生磁盘驱动程序(native disk driver) 来管理SD存储卡的存取运作。
另一方面,当所插入的装置为一 SDIO卡时,整个管理SDIO存储卡的详细步 骤可另说明如下。请对照图3、图4来看图6,图6为当所插入的装置为SDIO卡时 的管理流程图。请注意到,倘若实质上可达到相同的结果,并不一定需要遵照图6 所示的流程中的步骤顺序来依序进行。本流程所包含有以下步骤步骤610: —装置插入SD主机端控制器310的插槽(亦即SD插槽)。 步骤620: SD主机端控制器310产生一卡插入中断,而此卡插入中断会由本
发明所提供的一特定驱动程序所拦截与接收。
步骤630:此特定驱动程序清除此卡插入中断并辨识所插入的装置的类型而判 断此装置为一SDIO卡。
步骤640:该特定驱动程序控制SD主机端控制器310产生另一卡插入中断。
步骤650:该另一卡插入中断为一原生SD总线驱动程序(native SD bus driver)所顺利接收。
步骤660:该原生SD总线驱动程序辨识所插入的装置,从而判断此装置为一 SDIO卡。
步骤670:原生SD总线驱动程序加载一非原生驱动程序(亦即third party SDIO device driver)以管理SDIO卡的存取运作。
经由前述的揭露可知,本发明提供一特定驱动程序,通过使用此一特定驱动 程序以及SD主机端控制器310,则可解决传统技术处理高速SD存储卡时存取速度 不佳的问题;除此之外,在本发明的其它实施例中,主机装置320亦可为一笔记本 计算机,则此时经由特定的驱动程序来管理SD存储卡则可提供使用者更多的功能 (例如一D3 State Enhancement (D3ETM)功能,其可减少不必要的电力消耗,以 节省笔记本计算机的待机电力使用)。
针对SDIO卡时,本发明所揭露的管理方法及其系统仍然保留了使用操作系统 提供的原生SD总线驱动程序来管理SDIO卡,以达到最佳的兼容性并避免硬件冲突 的状况发生。
总结来说,本发明所提出的管理方法及系统通过特定驱动程序来管理所插入 的SD存储卡或SDIO卡以解决传统技术所存在的种种问题。然而此并不为本发明的 限制条件之一,任何其它符合本发明的精神而于一处理机制(例如原生SD总线驱 动程序)接收并处理卡插入中断之前将其拦截并据此动态地依据所插入的装置的规 格来采取不同的管理机制(例如步骤530、 540系为第一管理机制,而步骤640 670则为第二管理机制)皆属于本发明的范畴。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与 修饰,皆应属本发明的涵盖范围。
权利要求
1.一种动态管理一可插拔装置的方法,其包含有当检测到对应该可插拔装置的一插入事件时,发出一装置插入中断以指示该可插拔装置已插入至一连接接口;于对应该连接接口的一处理机制处理该装置插入中断之前,清除该装置插入中断;以及辨识该可插拔装置的规格,并依据该可插拔装置的规格来动态管理该可插拔装置,其中当该可插拔装置的规格符合一第一规格时,执行一第一管理机制来管理该可插拔装置,以及当该可插拔装置的规格符合异于该第一规格的一第二规格时,执行一第二管理机制来管理该可插拔装置。
2. 如权利要求l所述的方法,其特征在于,该连接接口为一安全数字插槽。
3. 如权利要求2所述的方法,其特征在于,对应该连接接口的该处理机制为内建于一操作系统的一原生安全数字总线驱动程序。
4. 如权利要求2所述的方法,其特征在于,该第一规格为一安全数字卡规格,该第二规格为一安全数字输入/输出规格,以及辨识该可插拔装置的规格的步骤包含有辨识该可插拔装置符合该安全数字卡规格或该安全数字输入/输出规格。
5. 如权利要求4所述的方法,其特征在于,该第一管理机制包含有经由一特定的非原生驱动程序加载一内建于一操作系统的原生磁盘驱动程序来管理该可插拔装置。
6. 如权利要求4所述的方法,其特征在于,该第二管理机制包含有于该可插拔装置仍插入至该连接接口之下,重新触发另一装置插入中断;以及使用对应该连接接口的该处理机制来处理该另一装置插入中断,以执行非内 建于一操作系统且对应该安全数字输入/输出规格的一非原生驱动程序来管理该可 插拔装置。
7. 如权利要求6所述的方法,其特征在于,对应该连接接口的该处理机制为 内建于该操作系统的一原生SD总线驱动程序。
8. —种动态管理一可插拔装置的系统,其包含有一控制装置,用以于检测到对应该可插拔装置的一插入事件时发出一装置插入中断,以指示该可插拔装置已插入至耦接至该控制装置的一连接接口;以及一主机装置,耦接于该控制装置,用以接收该装置插入中断,该主机装置于 对应该连接接口的一处理机制处理该装置插入中断之前,清除该装置插入中断,并 辨识该可插拔装置的规格以依据该可插拔装置的规格来动态管理该可插拔装置;其中当该可插拔装置的规格符合一第一规格时,该主机装置执行一第一管理 机制来管理该可插拔装置,以及当该可插拔装置的规格符合异于该第一规格的一第 二规格时,该主机装置执行一第二管理机制来管理该可插拔装置。
9. 如权利要求8所述的系统,其特征在于,该连接接口为一安全数字插槽。
10. 如权利要求9所述的系统,其特征在于,对应该连接接口的该处理机制为 内建于一操作系统的一原生安全数字总线驱动程序。
11. 如权利要求9所述的系统,其特征在于,该第一规格为一安全数字卡规格, 该第二规格为一安全数字输入/输出规格,以及该主机装置辨识该可插拔装置符合 该安全数字卡规格或该安全数字输入/输出规格。
12. 如权利要求11所述的系统,其特征在于,该主机装置执行该第一管理机 制以执行内建于一操作系统且对应该安全数字卡规格的一原生驱动程序来管理该 可插拔装置。
13. 如权利要求11所述的系统,其特征在于,该主机装置执行该第二管理机 制以于该可插拔装置仍插入至该连接接口之下,重新触发另一装置插入中断,以及 使用对应该连接接口的该处理机制来处理该另一装置插入中断,以执行非内建于一 操作系统且对应该安全数字输入/输出规格的一非原生驱动程序来管理该可插拔装 置。
14. 如权利要求13所述的系统,其特征在于,对应该连接接口的该处理机制 为内建于该操作系统的一原生SD总线驱动程序。
全文摘要
本发明揭露一种动态管理一可插拔装置的方法与系统,包含有当检测到对应该可插拔装置的一插入事件时,发出一装置插入中断以指示该可插拔装置已插入至一连接接口;于对应该连接接口的一处理机制处理该装置插入中断之前,清除该装置插入中断;以及辨识该可插拔装置的规格,并依据该可插拔装置的规格来动态管理该可插拔装置。当该可插拔装置的规格符合一第一规格时,执行一第一管理机制来管理该可插拔装置,以及当该可插拔装置的规格符合异于该第一规格的一第二规格时,执行一第二管理机制来管理该可插拔装置。
文档编号G06F13/10GK101661444SQ200810214679
公开日2010年3月3日 申请日期2008年8月29日 优先权日2008年8月29日
发明者巫启台, 赖昆彬, 赖治维 申请人:智微科技股份有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1