CN101661444B - 动态管理一可插拔装置的方法与系统 - Google Patents
动态管理一可插拔装置的方法与系统 Download PDFInfo
- Publication number
- CN101661444B CN101661444B CN2008102146799A CN200810214679A CN101661444B CN 101661444 B CN101661444 B CN 101661444B CN 2008102146799 A CN2008102146799 A CN 2008102146799A CN 200810214679 A CN200810214679 A CN 200810214679A CN 101661444 B CN101661444 B CN 101661444B
- Authority
- CN
- China
- Prior art keywords
- push
- pull device
- card
- secure digital
- driver
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明揭露一种动态管理一可插拔装置的方法与系统,包含有:当检测到对应该可插拔装置的一插入事件时,发出一装置插入中断以指示该可插拔装置已插入至一连接接口;于对应该连接接口的一处理机制处理该装置插入中断之前,清除该装置插入中断;以及辨识该可插拔装置的规格,并依据该可插拔装置的规格来动态管理该可插拔装置。当该可插拔装置的规格符合一第一规格时,执行一第一管理机制来管理该可插拔装置,以及当该可插拔装置的规格符合异于该第一规格的一第二规格时,执行一第二管理机制来管理该可插拔装置。
Description
技术领域
本发明与装置管理方法有关,尤指一种可自动地让不同的外围互连接口(Peripheral Component Interconnect)装置功能来分别管理符合安全数字(SecureDigital,SD)规格的存储卡或符合安全数字IO(Secure Digital IO)规格的SD IO卡的方法及其相关装置。
背景技术
一般而言,外围互连接口(PCI)装置具有三个识别编号,分别为总线编号(Busnumber)、装置编号(Device number)以及功能编号(Function number),而一个传统的外围互连接口(PCI)系统最多可接有256组总线,其中每组总线最多可接32个装置,而每个装置最多可拥有8种不同功能。
对于支持多种不同规格的传统多功能卡片阅读机(Card Reader)而言,譬如说能支持符合安全数字(Secure Digital,SD)规格、多媒体卡(MultiMediaCard,MMC)规格、存储条(Memory Stick,MS)规格以及xD图片(Extreme Digital Picture,xD Picture)规格的存储卡的多功能卡片阅读机,当此一多功能卡片阅读机连结至系统总线时(例如一外围互连接口或一高速互连接口(PCI Express)),系统将会根据此多功能卡片阅读机不同的装置功能编号(Function number)来分别枚举(enumerate)出四个不同的主机端控制器(Host Controller):SD主机端控制器、MMC主机端控制器、MS主机端控制器以及xD主机端控制器,在枚举出这些主机端控制器后,系统便会加载相对应的驱动程序软件(Driver software)。
对系统而言,每个装置功能分别等效于一单独实体装置,也就是说,当一SD存储卡被插入此多功能卡片阅读机时,将只经由前述的SD主机端控制器来管理;相似地,当插入多功能卡片阅读机的存储卡为符合MMC规格的存储卡时,将只经由MMC主机端控制器来管理;插入MS规格的存储卡时,MS存储卡将经由MS主机端控制器来管理;而插入xD图片存储卡时,只会由xD主机端控制器来加以管理。
由于现今计算机系统的操作系统(Operating System,OS)一般可直接支持SD主机端控制器,所以传统的多功能卡片阅读机并不需要提供卡片阅读机系统特有的SD驱动程序软件,而是直接使用操作系统本身所提供(内建)的原生驱动程序软件(Native Driver software)。请参阅图1,图1所示为传统技术中一SD存储卡插入一多功能卡片阅读机的示意图。如图1所示,当计算机系统根据此多功能卡片阅读机而枚举一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的上层来进行管理(如图1所示。
请参阅图2,图2所示为传统技术中一安全数字输入/输出(secure digitalI/O,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)受到不良的影响,举例来说,若使用者使用符合SDHC Class6规格的存储卡时,操作系统本身提供(内建)的原生驱动程序软件能达到的最高读取速度仅能达到此高速SD存储卡所容许的读取速度的80%,而若使用特定驱动程序软件来管理的话,读取速度则能达到此高速SD存储卡所容许的读取速度的100%,完全符合使用者对高速SD存储卡的期待。”
另一方面,由于SDIO产品多样性的特质,为了提供稳定的兼容性,使用计算机系统的操作系统提供的原生驱动程序软件来管理SDIO卡仍然是必须的。
因此,亟需提供一种新颖的管理机制以改善使用操作系统提供的原生驱动程序软件管理SD存储卡的缺点,并同时保有利用操作系统的原生驱动程序软件来管理SDIO卡的优点,以提供使用者更加便利且更具有效率的使用环境。
发明内容
因此本发明的目的之一即在于提供一种可自动地根据不同外围互连接口装置功能来分别管理符合安全数字规格的SD存储卡或符合安全数字输入/输出规格的SDIO卡的方法及系统,以解决前述问题。
根据本发明一实施例,其揭露一种动态管理一可插拔装置的方法。此动态管理一可插拔装置的方法包含有:当检测到对应该可插拔装置的一插入事件时,发出一装置插入中断以指示该可插拔装置已插入至一连接接口;于对应该连接接口的一处理机制处理该装置插入中断之前,清除该装置插入中断;以及辨识该可插拔装置的规格,并依据该可插拔装置的规格来动态管理该可插拔装置。当该可插拔装置的规格符合一第一规格时,执行一第一管理机制来管理该可插拔装置,以及当该可插拔装置的规格符合异于该第一规格的一第二规格时,执行一第二管理机制来管理该可插拔装置。
根据本发明的另一实施例,其揭露一种动态管理一可插拔装置的系统。此动态管理一可插拔装置的系统包含有:一控制装置,以及一主机装置。该控制装置系用以于检测到对应该可插拔装置的一插入事件时发出一装置插入中断,以指示该可插拔装置已插入至耦接至该控制装置的一连接接口;以及该主机装置,其耦接于该控制装置,用以接收该装置插入中断,该主机装置于对应该连接接口的一处理机制处理该装置插入中断之前,清除该装置插入中断,并辨识该可插拔装置的规格以依据该可插拔装置的规格来动态管理该可插拔装置。当该可插拔装置的规格符合一第一规格时,该主机装置执行一第一管理机制来管理该可插拔装置,以及当该可插拔装置的规格符合异于该第一规格的一第二规格时,该主机装置执行一第二管理机制来管理该可插拔装置。
附图说明
图1为传统技术中一SD存储卡插入一多功能卡片阅读机的示意图。
图2为传统技术中一SDIO卡插入一多功能卡片阅读机的示意图。
图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卡与SDIO卡的方法将于下详细揭露之。
请一并参阅图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产生一卡插入中断(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 busdriver)所顺利接收。
步骤660:该原生SD总线驱动程序辨识所插入的装置,从而判断此装置为一SDIO卡。
步骤670:原生SD总线驱动程序加载一非原生驱动程序(亦即third partySDIO device driver)以管理SDIO卡的存取运作。
经由前述的揭露可知,本发明提供一特定驱动程序,通过使用此一特定驱动程序以及SD主机端控制器310,则可解决传统技术处理高速SD存储卡时存取速度不佳的问题;除此之外,在本发明的其它实施例中,主机装置320亦可为一笔记本计算机,则此时经由特定的驱动程序来管理SD存储卡则可提供使用者更多的功能(例如一D3 State Enhancement(D3ETM)功能,其可减少不必要的电力消耗,以节省笔记本计算机的待机电力使用)。
针对SDIO卡时,本发明所揭露的管理方法及其系统仍然保留了使用操作系统提供的原生SD总线驱动程序来管理SDIO卡,以达到最佳的兼容性并避免硬件冲突的状况发生。
总结来说,本发明所提出的管理方法及系统通过特定驱动程序来管理所插入的SD存储卡或SDIO卡以解决传统技术所存在的种种问题。然而此并不为本发明的限制条件之一,任何其它符合本发明的精神而于一处理机制(例如原生SD总线驱动程序)接收并处理卡插入中断之前将其拦截并据此动态地依据所插入的装置的规格来采取不同的管理机制(例如步骤530、540系为第一管理机制,而步骤640~670则为第二管理机制)皆属于本发明的范畴。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (2)
1.一种动态管理一可插拔装置的方法,其包含有:
当检测到对应该可插拔装置的一插入事件时,发出一装置插入中断以指示该可插拔装置已插入至一安全数字插槽,其中该可插拔装置是一安全数字卡或者一安全数字输入/输出卡;
于内建于一操作系统的一原生安全数字总线驱动程序处理该装置插入中断之前,清除该装置插入中断;以及
辨识该可插拔装置符合一安全数字卡规格或一安全数字输入/输出规格,并依据该可插拔装置的规格来动态管理该可插拔装置,其中当该可插拔装置的规格符合该安全数字卡规格时,经由一特定的非原生驱动程序加载一内建于该操作系统的原生磁盘驱动程序来管理该可插拔装置,以及当该可插拔装置的规格符合该安全数字输入/输出规格时,于该可插拔装置仍插入至该安全数字插槽之下,重新触发另一装置插入中断,使用内建于该操作系统的该原生安全数字总线驱动程序来处理该另一装置插入中断,以执行非内建于该操作系统且对应该安全数字输入/输出规格的一非原生驱动程序来管理该可插拔装置。
2.一种动态管理一可插拔装置的系统,其包含有:
第一装置,当检测到对应该可插拔装置的一插入事件时,发出一装置插入中断以指示该可插拔装置已插入至安全数字插槽,其中该可插拔装置是一安全数字卡或者一安全数字输入/输出卡;
第二装置,于内建于一操作系统的一原生安全数字总线驱动程序处理该装置插入中断之前,清除该装置插入中断;
第三装置,辨识该可插拔装置符合一安全数字卡规格或一安全数字输入/输出规格,并依据该可插拔装置的规格来动态管理该可插拔装置,其中当该可插拔装置的规格符合该安全数字卡规格时,经由一特定的非原生驱动程序加载一内建于该操作系统的原生磁盘驱动程序来管理该可插拔装置,以及当该可插拔装置的规格符合该安全数字输入/输出规格时,于该可插拔装置仍插入至该安全数字插槽之下,重新触发另一装置插入中断,使用内建于该操作系统的该原生安全数字总线驱动程序来处理该另一装置插入中断,以执行非内建于该操作系统且对应该安全数字输入/输出规格的一非原生驱动程序来管理该可插拔装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102146799A CN101661444B (zh) | 2008-08-29 | 2008-08-29 | 动态管理一可插拔装置的方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102146799A CN101661444B (zh) | 2008-08-29 | 2008-08-29 | 动态管理一可插拔装置的方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101661444A CN101661444A (zh) | 2010-03-03 |
CN101661444B true CN101661444B (zh) | 2011-07-27 |
Family
ID=41789481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102146799A Active CN101661444B (zh) | 2008-08-29 | 2008-08-29 | 动态管理一可插拔装置的方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101661444B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255750B (zh) * | 2018-02-01 | 2021-04-13 | 超越科技股份有限公司 | 一种基于国产嵌入式平台的密码模块接口的实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1100000A2 (en) * | 1999-11-14 | 2001-05-16 | Guoshun c/o Netac Technology Co. Ltd. Deng | Electronic flash memory external storage method and device |
CN1471043A (zh) * | 2002-07-27 | 2004-01-28 | ���ǵ�����ʽ���� | 通过对插入卡的识别来建立数据传送模式的装置和方法 |
CN1808384A (zh) * | 2005-01-21 | 2006-07-26 | 慧荣科技股份有限公司 | 具自动执行功能的控制器 |
-
2008
- 2008-08-29 CN CN2008102146799A patent/CN101661444B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1100000A2 (en) * | 1999-11-14 | 2001-05-16 | Guoshun c/o Netac Technology Co. Ltd. Deng | Electronic flash memory external storage method and device |
CN1471043A (zh) * | 2002-07-27 | 2004-01-28 | ���ǵ�����ʽ���� | 通过对插入卡的识别来建立数据传送模式的装置和方法 |
CN1808384A (zh) * | 2005-01-21 | 2006-07-26 | 慧荣科技股份有限公司 | 具自动执行功能的控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN101661444A (zh) | 2010-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107423169B (zh) | 用于测试高速外围设备互连设备的方法和系统 | |
US6311242B1 (en) | Method and apparatus for supporting dynamic insertion and removal of PCI devices | |
EP2788866B1 (en) | Method and a portable computing device (pcd) for exposing a peripheral component interface express (pcie) coupled device to an operating system operable on the pcd | |
US8745304B2 (en) | USB to SD bridge | |
US20140280960A1 (en) | Methods and apparatus for dynamically allocating devices between multiple controllers | |
US7908417B2 (en) | Motherboard system, storage device for booting up thereof and connector | |
US9098640B2 (en) | Controller, electronic equipment unit, and USB device control method | |
CN103645945A (zh) | 一种虚拟网卡的自动探测及驱动加载方法 | |
TW201227516A (en) | System and method for facilitating wireless communication during a pre-boot phase of a computing device | |
US20100023669A1 (en) | Host controller disposed in multi-function card reader | |
CN104021101A (zh) | 基于lpc1768平台的usb接口系统及实现方法 | |
US9280493B2 (en) | Method and device for enumerating input/output devices | |
CN101699415B (zh) | 核心逻辑电路、计算机系统及外围设备初始化方法 | |
CN103842980B (zh) | 用于协议中立织物的方法、系统和装置 | |
CN113656076A (zh) | 一种基于硬件复用通道的bios启动方法及装置 | |
CN111615691A (zh) | 直接存储器访问适配器 | |
CN101853142B (zh) | 一种带虚拟光驱的usb设备的识别方法 | |
CN101661444B (zh) | 动态管理一可插拔装置的方法与系统 | |
KR20150072963A (ko) | 다중시스템 및 이의 부팅 방법 | |
CN100440181C (zh) | 计算机外围设备联机处理方法及系统 | |
CN100377135C (zh) | 双总线适配卡 | |
CN102270184B (zh) | 基于多个处理器的pci-e插槽控制系统及方法 | |
CN104021006A (zh) | 可延伸韧体接口外接显示卡、主机系统、及相关开机方法 | |
CN100409165C (zh) | 一种使海量存储类设备能提供智能卡接口的装置及方法 | |
US20090083451A1 (en) | Method and system for creating a computer peripheral interface port that detects wireless protocol-switchable devices and enables seamless switching to a wireless connection upon safe removal from the computer peripheral interface port |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |