《应用于储存装置的沟通方法.pdf》由会员分享,可在线阅读,更多相关《应用于储存装置的沟通方法.pdf(10页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN101989233A43申请公布日20110323CN101989233ACN101989233A21申请号200910161167522申请日20090729G06F12/0620060171申请人智微科技股份有限公司地址中国台湾新竹科学工业园区创新一路十三号一楼72发明人李嘉雄卢政伟74专利代理机构上海专利商标事务所有限公司31100代理人任永武54发明名称应用于储存装置的沟通方法57摘要本发明提供一种应用于一储存装置与一应用软件的沟通方法,包含有下列步骤该应用软件于该储存装置中动态地选取出一区块地址作为一特定的区块地址;以及该应用软件通过对该特定的区块地址进行指令写入或。
2、状态读取来与该储存装置进行沟通。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书5页附图2页CN101989233A1/2页21一种应用于一储存装置的沟通方法,包含有A于该储存装置中动态地选取出一区块地址;以及B通过对该区块地址进行指令写入或状态读取来与该储存装置进行沟通。2根据权利要求1所述的方法,其特征在于,另包含有与该储存装置进行一交换预设控制信号程序以判定该储存装置是否为一预定的储存装置;其中步骤B是于该储存装置被判定为该预定的储存装置之后才执行。3根据权利要求2所述的方法,其特征在于,该交换预设控制信号程序包含有写入至少一第一预设指令至该储存装置,其。
3、中该至少一第一预设指令用以使该预定的储存装置进入一预设状态;以及判断该储存装置是否处于该预设状态来判定该储存装置是否为该预定的储存装置,其中当该储存装置处于该预设状态时,该储存装置判定为该预定的储存装置。4根据权利要求3所述的方法,其特征在于,该预设状态是一正常沟通状态,步骤B是于该储存装置处于该正常沟通状态之下所执行,以及该方法另包含有当处于一结束沟通状态的该预定的储存装置接收到该至少一第一预设指令时,则将该预定的储存装置由该结束沟通状态切换至该正常沟通状态;以及当处于该正常沟通状态的该预定的储存装置接收到至少一第二预设指令时,则将该预定的储存装置由该正常沟通状态切换至该结束沟通状态。5根据。
4、权利要求4所述的方法,其特征在于,该至少一第一预设指令包含有一准备沟通指令以及一正常沟通指令,该准备沟通指令用以使该预定的储存装置进入一准备沟通状态,该正常沟通指令用以使该预定的储存装置进入该正常沟通状态,以及将该预定的储存装置由该结束沟通状态切换至该正常沟通状态的步骤包含有当处于该结束沟通状态的该预定的储存装置接收到该准备沟通指令时,则将该预定的储存装置由该结束沟通状态切换至该准备沟通状态;当该预定的储存装置进入该准备沟通状态时,开始计时一时间值;当该预定的储存装置于该时间值内接收到该正常沟通指令时,则将该预定的储存装置由该准备沟通状态切换至该正常沟通状态;以及当该预定的储存装置于该时间值内。
5、未接收到该正常沟通指令时,则将该预定的储存装置由该准备沟通状态切换回该结束沟通状态。6根据权利要求4所述的方法,其特征在于,该至少一第二预设指令包含有一准备结束沟通指令以及一结束沟通指令,该准备结束沟通指令用以使该预定的储存装置进入一准备结束沟通状态,该结束沟通指令用以使该预定的储存装置进入该结束沟通状态,以及将该预定的储存装置由该正常沟通状态切换至该结束沟通状态的步骤包含有当处于该正常沟通状态的该预定的储存装置接收到该准备结束沟通指令时,则将该预定的储存装置由该正常沟通状态切换至该准备结束沟通状态;当该预定的储存装置进入该准备结束沟通状态时,开始计时一时间值;当该预定的储存装置于该时间值内接。
6、收到该结束沟通指令时,则将该预定的储存装置由该准备结束沟通状态切换至该结束沟通状态;以及当该预定的储存装置于该时间值内未接收到该结束沟通指令时,则将该预定的储存装权利要求书CN101989233A2/2页3置由该准备结束沟通状态切换回该正常沟通状态。7根据权利要求1所述的方法,其特征在于,步骤A包含有依据该储存装置中未被使用的一储存区块所对应的地址来设定该区块地址。8根据权利要求7所述的方法,其特征在于,设定该区块地址的步骤包含有分析该储存装置的一磁盘分割表以寻找出该磁盘分割表中未被使用的一磁区;以及以该磁区的地址来设定该区块地址。9根据权利要求1所述的方法,其特征在于,步骤A包含有于该储存装。
7、置中建立一暂存文件;以及以该暂存文件所配置的地址来设定该区块地址。10根据权利要求1所述的方法,其特征在于,步骤B包含有当该储存装置进行对应该区块地址的写入动作时,判断所接收的数据是否为一合法指令;当所接收的数据为该合法指令时,则执行该合法指令;以及当所接收的数据并非为该合法指令时,则将所接收的数据写入至该区块地址。11根据权利要求1所述的方法,其特征在于,步骤B包含有当该储存装置进行对应该区块地址的读取动作时,判断先前是否有一合法指令在该储存装置进行对应该区块地址的写入动作时被执行;当有该合法指令在该储存装置进行对应该区块地址的写入动作时被执行,则并回传该合法指令的一执行结果;以及当没有该合。
8、法指令在该储存装置进行对应该区块地址的写入动作时被执行,则回传该区块地址所储存的数据内容。12根据权利要求1所述的方法,其特征在于,一第一应用程序通过对该区块地址进行指令写入或状态读取来与该储存装置进行沟通,以及该方法另包含有于该第一应用程序欲通过对该区块地址进行指令写入或状态读取来与该储存装置进行沟通时,检查该区块地址目前是否有被该第一应用程序之外的一第二应用程序所存取;以及当该区块地址目前有被该第一应用程序之外的该第二应用程序所存取时,则重新执行步骤A与步骤B以在该储存装置中选择另一区块地址来使该第一应用程序通过对该另一区块地址进行指令写入或状态读取来与该储存装置进行沟通。权利要求书CN1。
9、01989233A1/5页4应用于储存装置的沟通方法技术领域0001本发明是关于一种应用于一储存装置与一应用软件的沟通方法,尤指动态地于该储存装置中选取出一区块地址来作为该储存装置与该应用软件的沟通方法。背景技术0002一般而言,在计算机系统中,当一应用程序对一储存装置执行一自订指令或读取该储存装置的状态等时,必须先与该储存装置建立起一套沟通机制。在现有的作法中,该应用程序会先与该储存装置的控制器利用频内INBAND的方式固定出一个沟通磁区地址。接着,该应用程序就可以通过该沟通磁区地址来进行与储存装置的沟通。或者是当应用程序与储存装置控制器使用频外OUTOFBAND的方沟通时,储存装置控制器则。
10、不需要固定出一个沟通磁区地址就可以通过该特定的其它传输接口沟通了。然而,现有的作法会存有不少的问题与缺点。举例来说,在使用频外的方式进行沟通时,该应用程序的指令必须符合该储存装置的传输接口的信号形式,也就是该储存装置所附属的主机系统必须增加支持该传输接口的硬件,并再通过一传输连接线方可进行频外方式的沟通,如此一来就增加了该储存装置的成本。另一方面,若使用频内的方式进行沟通时,当该应用程序要在进行沟通之前固定出该沟通磁区地址时,为了避开该计算机系统的文件系统所使用到的地址范围,该应用程序会决定出一个很大的地址,例如利用该储存装置的主要开机记录MASTERBOOTRECORD,MBR的最后一个可用。
11、磁区地址例如,0XFFFFFFFF或是大于该储存装置容量的磁区地址作为该沟通磁区地址,如此一来就产生了兼容性的问题,因为该地址可能不是某些系统装置控制器或操作系统的合法磁区地址,而使得沟通失效。同时,上述频内的方式也会有延伸性的问题,因为随着该计算机系统的储存装置的容量日益扩增下,当该固定的磁区地址在小于储存装置的容量时,该固定的磁区地址就会因为和文件系统分配到的磁区地址发生冲突,而变成不合法的直接存取磁区地址,也使得沟通失效。此外,在现有技术中另外一种频内的沟通方式是利用该应用软件的生产商预设的或预先保留的指令来与该储存装置进行沟通,其也是会遇到兼容性的问题,这是由于某些系统装置控制器并不支。
12、持其标准指令以外的指令,或者必须要加入自订的驱动程序来解决其兼容性的问题。因此,从上述的现有技术可以得知,如何实现一个高兼容性且高延伸性的储存装置沟通方法已成为业界亟需解决的问题。发明内容0003因此,本发明的目的在于提供一种动态地于一储存装置中选取出一区块地址来作为该储存装置与一应用软件的沟通方法。0004本发明提供一种应用于一储存装置与一应用软件的沟通方法,包含有下列步骤该应用软件于该储存装置中动态地选取出一区块地址作为一特定的区块地址;以及该应用软件通过对该特定的区块地址进行指令写入或状态读取来与该储存装置进行沟通。说明书CN101989233A2/5页5附图说明0005图1的依据本发明。
13、应用于一储存装置的沟通方法的实施例流程图。0006图2是本发明的一交换预设控制信号程序的一实施例状态图。具体实施方式0007在说明书及后续的权利要求书当中使用了某些词汇来指称特定的元件。所属领域中具有通常知识者应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本说明书及后续的权利要求书并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。在通篇说明书及后续的请求相当中所提及的“包含”是一开放式的用语,故应解释成“包含但不限定于”。此外,“耦接”一词在此是包含任何直接及间接的电气连接手段,因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接电气连接于。
14、该第二装置,或者通过其它装置或连接手段间接地电气连接至该第二装置。0008请参考图1。图1所示是依据本发明应用于一储存装置的沟通方法100的实施例流程图。为了更清楚描述本发明的精神所在,本发明实施例的沟通方法100,是以一应用软件对一硬盘HARDDISK装置之间的沟通方法作为说明,然而,此并不作为本发明的限制。换句话说,在不限定一操作系统环境以及一传输接口下,任何具有对该储存装置进行读写磁区数据的能力的应用软件均可利用本发明的沟通方法100进行沟通,此亦属本发明的范畴所在。请注意,倘若大体上可达到相同的结果,并不需要一定照图1所示的流程中的步骤顺序来进行,且图1所示的步骤不一定要连续进行,亦即。
15、其它步骤亦可插入其中。应用于该储存装置的沟通方法100包含有下列步骤0009步骤102开始;0010步骤104动态地通过该应用软件选定该储存装置中的一磁区,并设定该磁区的地址来作为沟通方法100的一特定区块地址;0011步骤106与该储存装置进行一交换预设控制信号程序,以判定该储存装置是否为一预定的储存装置;0012步骤108判断该交换预设控制信号程序是否成功,若是则跳至步骤112,若否则跳至步骤110;0013步骤110判定该储存装置不是该预定的储存装置,并结束对该储存装置的沟通;0014步骤112判定该储存装置是该预定的储存装置,并锁定和储存该特定区块地址;0015步骤114当该储存装置的。
16、一控制装置处于一正常沟通状态时,该控制装置通过对该特定区块地址进行指令写入或状态读取来与该储存装置进行沟通;0016步骤116是否结束该交换预设控制信号程序,若是则跳至步骤118,若否则跳至步骤114;0017步骤118结束该交换预设控制信号程序,且在结束该交换预设控制信号程序后进入一结束沟通状态。0018本发明的沟通方法100中,为了执行该交换预设控制信号程序,该应用软件会在该储存装置中选择一磁区,并设定该磁区的地址来作为执行该交换预设控制信号程序所需的该特定区块地址步骤104。请注意,本发明并未限定该应用软件选择该特定区块地址的方法。换句话说,在本发明的另一实施例中,该应用软件是分析该储存。
17、装置的主要开机记说明书CN101989233A3/5页6录MASTERBOOTRECORD,MBR或磁盘分割表GUIDPARTITIONTABLE,GPT来找出没有被使用的磁区,并选取该磁区的地址来作为该特定区块地址。此外,在本发明的另一实施例中,该应用软件在进行沟通之前先建立一暂存文件,且通过一计算机系统的文件系统自动产生配置给该暂存文件的一区块地址,并选取该区块地址来作为该特定区块地址。请注意,为了保存该特定区块地址的原始数据,本发明沟通方法100在选定该特定区块地址后,该应用软件会对该特定区块地址进行读取动作,并将相对应于该特定区块地址的数据内容先进行备份。当本发明的沟通方法100在步骤。
18、108完成判断该交换预设控制信号程序后就会还原该特定区块地址的数据内容,因为在步骤108中,当其判定该储存装置不是该预定的储存装置时,该特定区块就不会被存取了。反之,当步骤108判定该储存装置是该预定的储存装置时,该储存装置就会进入正常的沟通状态,此时只要是合法的指令或预设的交换控制信号皆不会被写入该特定区块。0019接着在步骤106中,该应用软件与该储存装置的一控制装置进行该交换预设控制信号程序,以判定该储存装置是否为该预定的储存装置。请参考图2,图2所示是本发明的该交换预设控制信号程序的一状态图。依据本发明图1的实施例,该交换预设控制信号程序包含有四个预设状态,亦即一开放状态202、一锁定。
19、状态204、一非锁定状态206以及一结束状态208,其中在开放状态202时,该应用软件与该储存装置的该控制装置之间是处于一准备沟通状态,在锁定状态204时,该应用软件与该储存装置的该控制装置之间是处于一正常沟通状态,在非锁定状态206时,该应用软件与该储存装置的该控制装置之间是处于一准备结束沟通状态,在结束状态208时,该应用软件与该储存装置的该控制装置之间是处于一关闭沟通状态。请注意,虽然本发明的该交换预设控制信号程序包含有四个状态,然而此并不为本发明所限。换句话说,本发明的该交换预设控制信号程序亦可用其它个数的状态来实现。举例来说,在本发明的另一实施例中,本发明的该交换预设控制信号程序仅以。
20、锁定状态204与结束状态208来实现。在本发明的另一实施例中,本发明的该交换预设控制信号程序仅以开放状态202、锁定状态204与结束状态208来实现。在本发明的另一实施例中,本发明的该交换预设控制信号程序仅以锁定状态204、非锁定状态206与结束状态208来实现。0020请再次参考图2。当本发明沟通方法100在选定该特定区块地址后,该应用软件与该储存装置的该控制装置之间是处于该关闭沟通状态,亦即结束状态208。在结束状态208下,该应用软件无法对该储存装置进行存取,该应用程序必需对该控制装置发送一第一预设指令才能从结束状态208切换至锁定状态204,其中该第一预设指令包含有一准备沟通指令OPE。
21、N_CMD以及一正常沟通指令LOCK_CMD,准备沟通指令OPEN_CMD用以使该控制装置进入开放状态202,正常沟通指令LOCK_CMD用以使该控制装置进入锁定状态204。因此,当处于结束状态208的该储存装置的该控制装置接收到准备沟通指令OPEN_CMD时,该控制装置就会由结束状态208切换至开放状态202。当该控制装置进入开放状态202时,该控制装置就会开始计时一第一时间值T1,而该应用程序必需在第一时间值T1结束前传送正常沟通指令LOCK_CMD至该控制装置才能将该控制装置从开放状态202切换至锁定状态204。依据本发明的实施例,当该控制装置切换至锁定状态204时就代表步骤106的该交。
22、换预设控制信号程序成功完成,亦即判定该储存装置是该预定的储存装置步骤112。因此,在锁定状态204下步骤114,该应用程序得以对该特定区块地址进行指令写入或状态读取来说明书CN101989233A4/5页7与该储存装置进行沟通,且该应用程序可以正常与该储存装置进行存取。反之,当该控制装置在第一时间值T1结束前未接收到来自该应用程序的正常沟通指令LOCK_CMD,则该控制装置会在第一时间值T1结束后自动切换回结束状态208,并判定该储存装置不是该预定的储存装置,以结束对该储存装置的沟通步骤110。因此依据本发明所揭露的实施例可以得知,利用第一时间值T1来限制正常沟通指令LOCK_CMD的写入时机。
23、的退回机制可以防止意外数据写入时刚好符合准备沟通指令OPEN_CMD的数据格式而改变了该控制装置当下的状态,亦即结束状态208。0021另一方面,当该应用程序欲结束与该储存装的锁定状态204时步骤116,该应用程序必需对该控制装置发送一第二预设指令才能从锁定状态204切换至结束状态208,其中该第二预设指令包含有一准备结束沟通指令UNLOCK_CMD以及一结束沟通指令CLOSE_CMD,准备结束沟通指令UNLOCK_CMD用以使该控制装置进入非锁定状态206,结束沟通指令CLOSE_CMD用以使该控制装置进入结束状态208。因此,当处于锁定状态204的该储存装置的该控制装置接收到准备结束沟通指。
24、令UNLOCK_CMD时,该控制装置就会由锁定状态204切换至非锁定状态206。当该控制装置进入非锁定状态206时,该控制装置就会开始计时一第二时间值T2,而该应用程序必需在第二时间值T2结束前传送结束沟通指令CLOSE_CMD至该控制装置才能将该控制装置从非锁定状态206切换至结束状态208。依据本发明的实施例,当该控制装置切换至结束状态208时就代表该应用程序无法再存取该储存装置步骤118。反之,当该控制装置在第二时间值T2结束前未接收到来自该应用程序的结束沟通指令CLOSE_CMD,则该控制装置会在第二时间值T2结束后自动切换回锁定状态204。因此依据本发明所揭露的实施例可以得知,利用第。
25、二时间值T2来限制结束沟通指令CLOSE_CMD的写入时机的退回机制可以防止意外数据写入时刚好符合准备结束沟通指令UNLOCK_CMD的数据格式而改变了该控制装置当下的状态,亦即锁定状态204。0022此外,当该交换预设控制信号程序成功进入锁定状态204后,该控制装置即锁定该特定区块地址并启动针对该特定区块地址的单一地址追踪,也就是当该控制装置要对该特定区块地址进行写入动作时,该控制装置会判断所接收的数据是否为来自该应用程序的一合法指令。当所接收的数据为该合法指令时,则执行该合法指令。反之,当所接收的数据并非合法指令时,则将所接收的数据写入至该特定区块地址。换句话说,该控制装置系针对该特定区块。
26、地址且传输长度符合的数据,才会进行判断所接收的数据是否为上述的准备沟通指令OPEN_CMD、正常沟通指令LOCK_CMD、准备结束沟通指令UNLOCK_CMD和结束沟通指令CLOSE_CMD中任一指令。更进一步来说,当所接收的数据的地址和长度符合时,该控制装置除了判断该所接收的数据是否为上述的准备沟通指令OPEN_CMD、正常沟通指令LOCK_CMD、准备结束沟通指令UNLOCK_CMD和结束沟通指令CLOSE_CMD中任一指令外,也会判断该所接收的数据是否合法的写入指令。另一方面,若所接收的数据的区块地址或长度不符时,则不进行数据内容分析;该应用程序亦会储存该特定区块地址来做为后续读写动作的。
27、传输地址,以完成锁定与储存该特定区块地址的机制。0023在该应用程序确定该特定区块地址后,本发明的沟通方法100就可以通过一写入读取机制来对该特定区块地址进行写入指令或读取该控制装置状态的动作。依据本发明的该实施例,该写入读取机制就是为了避免未知的写入或读取动作影响了该应用程序与该储存装置利用图2的该交换预设控制信号程序所制定的机制。当该应用程序对每一个该特说明书CN101989233A5/5页8定区块地址的读取状态动作之前,必须先对该特定区块地址进行写入动作,同时该写入数据必须是一个合法的指令,则该控制装置执行该合法的指令并准备好一执行结果。接着,当该应用程序对该特定区块地址进行读取状态时,。
28、该控制装置就回传该执行结果给该应用程序。如此一来,该应用程序与该储存装置的沟通才会正常地完成。请注意,依据本发明的实施例,该写入数据和该执行结果并不会真正写入至该储存装置的该特定区块地址,而只是暂时存在该控制装置上的一内存中。此外,若该应用程序在读取该控制装置的状态之前没有一个合法的指令写入动作,则该控制装置会将该储存装置内对应于该特定区块地址的数据回传给该应用程序。如此一来,此非指令写入与非状态读取的该写入读取机制可让其它应用程序对该特定区块地址的存取动作正常完成。0024此外,当该第一应用程序通过对该特定区块地址进行指令写入或状态读取来与该储存装置进行沟通时,该控制装置亦同时会检查该区块地。
29、址目前是否有被该第一应用程序之外的一第二应用程序所存取。当该区块地址目前有被该第一应用程序之外的该第二应用程序所存取时,则该控制装置会将此状况回报至该应用程序,再由该应用程序重新选取一新的区块地址来与该储存装置建立沟通,以完成一更改地址的机制,亦即重新执行沟通方法100的步骤。因此,本发明的该应用程序就可以动态地选取该特定的区块地址来与该储存装置建立沟通。换句话说,为了判定该区块地址目前是否有被该第一应用程序之外的该第二应用程序所存取,当所接收的数据的地址和长度符合时,该控制装置除了判断该所接收的数据是否为上述的四个指令外,也会判断该所接收的数据是否合法的写入指令。请注意,熟悉此项技术者在阅读。
30、完本发明图1和图2所揭露的实施例后,必可轻易了解该更改地址的机制的操作步骤,在此不另赘述。0025综上所述,本发明的应用于该储存装置的沟通方法100具备了高兼容性与高延展性,即此方法可在一储存装置的有效磁区地止内变动存取的磁区地址,而不会与不合法的磁区地址有冲突而无法使用,且当该储存装置的容量增加时也不会面临磁区地址延伸性的问题。另一方面,本发明的沟通方法100亦不受限于一计算机的操作系统与该储存装置的传输接口,即只要该应用程序可以在该操作系统下能够进行读/写一个磁区的动作,就可以建立与该储存装置的沟通渠道。此外,由于该应用程序在对该特定区块地址进行指令写入与状态读取时,并不会真正写入到该储存装置的区块中,而只是暂存于该储存装置的控制装置的存储器中,因此本发明的沟通方法100会较现有技术更快及更有效。0026以上所述仅为本发明的较佳实施例,凡是根据本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。说明书CN101989233A1/2页9图1说明书附图CN101989233A2/2页10图2说明书附图。