CN101782835A - 储存***及其指令处理方法 - Google Patents
储存***及其指令处理方法 Download PDFInfo
- Publication number
- CN101782835A CN101782835A CN200910001276A CN200910001276A CN101782835A CN 101782835 A CN101782835 A CN 101782835A CN 200910001276 A CN200910001276 A CN 200910001276A CN 200910001276 A CN200910001276 A CN 200910001276A CN 101782835 A CN101782835 A CN 101782835A
- Authority
- CN
- China
- Prior art keywords
- instruction
- order structure
- control card
- order
- application program
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种储存***及其指令处理方法。储存***包括一应用程序、一控制卡、一转换单元以及一中介单元。指令处理方法首先由应用程序输出具有一第一指令结构的一指令。接着,转换单元判断储存***的一控制卡是否对应于一第二指令结构。当判断出控制卡对应于第二指令结构时,转换单元将指令由第一指令结构转换为第二指令结构。再来,中介单元接收指令,并输出指令至控制卡。控制卡用以依据指令进行一动作。
Description
技术领域
本发明是有关于一种储存***及其指令处理方法,且特别是有关于一种应用窗口操作***的驱动程序架构的储存***及其指令处理方法。
背景技术
由于使用者对于数据储存的安全性有着愈来愈高的要求,使得具有备份功能的磁盘阵列***愈趋受到重视。目前市面上常见的磁盘阵列***,是采用小型计算器***接口(Small Computer System Interface,SCSI)的指令格式。磁盘阵列***利用应用程序输出指令至磁盘阵列控制卡,以对于磁盘阵列中的各实体磁盘驱动器进行数据的读写动作。
然而,目前业界出现非应用市面上标准的SCSI指令格式的磁盘阵列控制卡,例如惠普公司的智能阵列卡(smart array card)。智能阵列卡是采用一种名为康柏智能储存次***(Compaq Intelligent Storage Subsystem,CISS)的指令格式。因此,一般采用SCSI作为指令格式的应用程序,无法兼容于采用非标准SCSI指令格式的磁盘阵列控制卡。
目前的解决办法是针对此种特殊指令格式的磁盘阵列控制卡,另外撰写一套应用程序。因此,磁盘阵列***必须搭配不同指令格式的应用程序,以对应不同指令格式的磁盘阵列控制卡。此种方法提高了应用程序撰写的复杂度以及成本,同时更降低了磁盘阵列***使用上的便利性。
发明内容
本发明的目的就是在提供一种储存***及其指令处理方法,其是利用转换一指令的指令结构的方式,使得对应于第一指令结构的应用程序可兼容于对应第二指令结构的控制卡。
为了实现上述目的,本发明一方面提供一种储存***的指令处理方法。首先,由一应用程序输出具有一第一指令结构的一指令。接着,判断储存***的一控制卡是否对应于一第二指令结构。当判断出控制卡对应于第二指令结构时,将指令由第一指令结构转换为第二指令结构。其次,输出指令至控制卡。
为了实现上述目的,本发明的另一方面提供一种储存***,包括一应用程序、一控制卡、一转换单元以及一中介单元。应用程序用以输出具有一第一指令结构的一指令。控制卡用以依据指令执行一动作。转换单元位于应用程序及控制卡之间,用以判断控制卡是否对应于一第二指令结构。当判断出控制卡对应于第二指令结构时,转换单元更用以将指令由第一指令结构转换为第二指令结构。中介单元位于应用程序及控制卡之间,用以接收指令,并将指令输出至控制卡。
本发明利用转换单元将具有第一指令结构的指令转换为第二指令结构,使应用程序输出的对应第一指令结构的指令,兼容于对应第二指令结构的控制卡。如此,不需另外撰写对应第二指令结构的应用程序,即可让同一应用程序兼容于对应第一指令结构以及对应第二指令结构的控制卡,可提升使用上的便利性。
附图说明
为让本发明的上述和其它目的、特征、优点与实施例能更明显易懂,所附附图的详细说明如下:
图1是依照本发明一较佳实施例的储存***的功能方块图;
图2是依照本发明一较佳实施例的储存***的指令处理方法的流程图;
图3是本实施例的具有第二指令结构的指令字段区块示意图;
图4是图1的中介单元的示意图。
【主要组件符号说明】
100:储存*** 110:应用程序
130:转换单元 150:中介单元
151:功能驱动程序 153:总线驱动程序
170:控制卡 B1:指令标头字段区块
B2:指令描述字段区块 B3:错误信息描述字段区块
B4:分散/集中列表字段区块
具体实施方式
本发明的一较佳实施例的储存***及其指令处理方法,利用转换单元将指令由第一指令结构转换为第二指令结构,使得应用程序输出的第一指令结构的指令,可兼容于对应第二指令结构的控制卡。以下针对本发明一较佳实施例的储存***进行说明。请参照图1,其是依照本发明一较佳实施例的储存***的功能方块图。储存***100包括一应用程序110、一控制卡170、一转换单元130以及一中介单元150。应用程序110用以输出一指令,指令具有一第一指令结构。控制卡170用以根据指令执行一动作。转换单元130位于应用程序110与控制卡170之间,用以判断控制卡170是否对应于一第二指令结构。当判断出控制卡170对应于第二指令结构时,转换单元130用以将指令由第一指令结构转换为第二指令结构。中介单元150位于应用程序110及控制卡170之间,用以接收指令,并将指令输出至控制卡170。本实施例中,当控制卡170与应用程序110对应于不同的指令结构时,储存***100利用转换单元130转换指令的指令结构。借此,应用程序110输出的指令可兼容于控制卡170,使控制卡170可依据指令执行对应的动作。因此,应用程序110除了可以兼容于对应第一指令结构的控制卡外,更可兼容于对应第二指令的控制卡170。
请参照图2,其是依照本发明一较佳实施例的储存***的指令处理方法的流程图。此处是以应用于上述依照本发明一较佳实施例的储存***100进行说明。本实施例中,储存***100是以包含有一磁盘阵列控制卡的磁盘阵列***进行说明。本实施例的指令处理方法主要包括以下步骤。
首先,如步骤S1所示,由应用程序110输出具有第一指令结构的指令。本实施例中,第一指令结构为一小型计算器***接口的指令结构。此小型计算器***接口的指令结构包含有一指令描述字段区块(Command DescriptorBlock,CDB)。
接着,进行步骤S2,判断储存***100的控制卡170是否对应于第二指令结构。本实施例中,此判断的步骤是由转换单元130进行。转换单元130较佳地为符合窗口操作***的驱动程序架构的筛选驱动程序(filter driver)。
接下来,当判断出控制卡170对应于第二指令结构时,进行步骤S3,将指令由第一指令结构转换为第二指令结构。储存***100是应用转换单元130进行指令结构的转换。然而,在另一实施方式中,储存***100亦可应用一判断单元进行步骤S2的判断步骤,并且在判断出控制卡170对应于第二指令结构时,再利用转换单元130进行指令结构的转换。
本实施例中,第二指令结构为一康柏智能储存次***(Compaq IntelligentStorage Subsystem,CISS)的指令结构。储存***100的控制卡170为对应此CISS指令结构的惠普(Hewlett-Packard,HP)公司的一智能阵列卡(smart arraycard)。实际应用上,步骤S3包括增加多个字段区块至指令的步骤。请参照图3,其是本实施例的具有第二指令结构的指令字段区块示意图。这些增加的字段区块包括一指令标头(command header)字段区块B1、一错误信息描述(error info descriptor)字段区块B3及一分散/集中列表(scatter/gather)字段区块B4。指令标头字段区块B1中例如包含有逻辑单元编号(Logical UnitNumber,LUN)地址信息以及装置识别信息(target ID)等信息。错误信息描述字段区块B3中例如包含有残余计数(residual count)、额外错误信息(additional error info)及检测信息(sense info)等信息。分散/集中列表字段区块B4例如包含有多个分散/集中描述符、缓冲区长度(buffer length)等信息。
经由步骤S3转换后的指令具有第二指令结构,其包含有指令描述字段区块B2、指令标头字段区块B1、错误信息描述字段区块B3及分散/集中列表字段区块B4。本实施例中,由应用程序110输出的SCSI指令结构的指令,被筛选驱动程序转换为具有CISS指令结构的指令。
本实施例的指令处理方法接下来进行步骤S4,输出指令至控制卡170。本实施例中,当判断出控制卡170对应第二指令结构时,步骤S4中是输出具有第二指令结构的指令至控制卡170。控制卡170依据接收到的具有第二指令结构的指令内容执行一动作,例如抓取所需的数据,并将数据传回至应用程序110。
另外一方面,本实施例的指令处理方法在步骤S2中,当转换单元130判断出控制卡170不对应第二指令结构时,是直接执行输出指令至控制卡170的步骤。由于应用程序110输出的指令不经过转换的步骤,因此是将具有第一指令结构的指令输出至控制卡170。因此,当控制卡170对应于第一指令结构时,步骤S4中是输出具有第一指令结构的指令至控制卡170。控制卡170依据接收到的具有第一指令结构的指令内容执行动作。
请参照图4,其是图1的中介单元的示意图。本实施例的储存***100中,中介单元150例如包括符合窗口操作***驱动程序架构的一功能驱动程序(function driver)151及一总线驱动程序(bus driver)153。更进一步来说,功能驱动程序包括一类别驱动程序(class driver)及一端口驱动程序(portdriver)。应用程序110输出的指令依序通过转换单元130、功能驱动程序151及总线驱动程序153输出至控制卡170。
以下是将测试***110以实际应用于惠普的磁盘阵列***中为例进行说明。首先,应用程序110输出的SCSI指令结构的指令,由筛选驱动程序转换为CISS指令结构。接着,转换为CISS指令结构的指令通过类别驱动程序、端口驱动程序、总线驱动程序153,传递至智能阵列卡。智能阵列卡依照指令内容执行动作,例如抓取数据。接着,智能阵列卡是将抓取的数据传响应用程序110。如此一来,对应SCSI指令结构的应用程序110可以兼容于智能阵列卡的CISS指令结构。
上述依照本发明一较佳实施例的储存***及其指令处理方法中,首先由应用程序输出具有第一指令结构的指令,接着判断控制卡是否对应于第二指令结构。当判断出控制卡对应于第二指令结构时,是将应用程序输出的指令由第一指令结构转换为第二指令结构。并接着将具有第二指令结构的指令输出至控制卡。当判断出控制卡不对应第二指令结构时,是将具有第一指令结构的指令输出至控制卡。借此,同一套应用程序可兼容于对应不同指令结构的控制卡,降低了应用程序撰写的成本,并且提升了储存***使用上的便利性。
虽然本发明已以一较佳实施例揭露如上,然其并非用以限定本发明,任何熟悉此技术的人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当以权利要求书所界定的范围为准。
Claims (10)
1.一种储存***的指令处理方法,其特征在于,包括:
由一应用程序输出具有一第一指令结构的一指令;
判断该储存***的一控制卡是否对应于一第二指令结构;
当判断出该控制卡对应于该第二指令结构时,将该指令由该第一指令结构转换为该第二指令结构;以及
输出该指令至该控制卡。
2.根据权利要求1所述的处理方法,其特征在于,在输出该指令的该步骤中,该第一指令结构为一小型计算器***接口的指令结构。
3.根据权利要求2所述的处理方法,其特征在于,该第二指令结构为一康柏智能储存次***的指令结构。
4.根据权利要求3所述的处理方法,其特征在于,在输出该指令的该步骤中,该指令包含一指令描述字段区块,转换该指令的该步骤包括:
增加多个字段区块至该指令。
5.根据权利要求4所述的处理方法,其特征在于,在增加该些字段区块的该步骤中,该些增加的字段区块包括一指令标头字段区块、一错误信息描述字段区块及一分散/集中列表字段区块。
6.根据权利要求3所述的处理方法,其特征在于,在判断该控制卡的该步骤中,该控制卡为惠普公司的一智能阵列卡。
7.根据权利要求1所述的处理方法,其特征在于,在输出该指令的该步骤中,是输出具有该第二指令结构的该指令。
8.根据权利要求1所述的处理方法,其特征在于,该处理方法还包括:
当判断出该控制卡不对应该第二指令结构时,执行输出该指令至该控制卡的该步骤。
9.根据权利要求8所述的处理方法,其特征在于,在输出该指令的该步骤中,是输出具有该第一指令结构的该指令。
10.一种储存***,其特征在于,包括:
一应用程序,用以输出一指令,该指令具有一第一指令结构;
一控制卡,用以依据该指令执行一动作;
一转换单元,位于该应用程序及该控制卡之间,用以判断该控制卡是否对应于一第二指令结构,当判断出该控制卡对应于该第二指令结构时,该转换单元用以将该指令由该第一指令结构转换为该第二指令结构;以及
一中介单元,位于该应用程序及该控制卡之间,用以接收该指令并将该指令输出至该控制卡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910001276A CN101782835A (zh) | 2009-01-16 | 2009-01-16 | 储存***及其指令处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910001276A CN101782835A (zh) | 2009-01-16 | 2009-01-16 | 储存***及其指令处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101782835A true CN101782835A (zh) | 2010-07-21 |
Family
ID=42522853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910001276A Pending CN101782835A (zh) | 2009-01-16 | 2009-01-16 | 储存***及其指令处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101782835A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104880149A (zh) * | 2014-02-28 | 2015-09-02 | 江苏永钢集团有限公司 | 基于立体影像分析的大型散料货堆体积测量方法及其设备 |
-
2009
- 2009-01-16 CN CN200910001276A patent/CN101782835A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104880149A (zh) * | 2014-02-28 | 2015-09-02 | 江苏永钢集团有限公司 | 基于立体影像分析的大型散料货堆体积测量方法及其设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102959502B (zh) | 在***中提供异步事件通知的方法 | |
CN100407123C (zh) | 数据存储设备、重构控制设备、重构控制方法 | |
US7007127B2 (en) | Method and related apparatus for controlling transmission interface between an external device and a computer system | |
CN1987843B (zh) | Usb协议自适应方法 | |
CN1825294A (zh) | 计算机***及其控制方法 | |
KR101654807B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN103176924A (zh) | 输出设备以及输出设备的日志信息收集方法 | |
CN104123495A (zh) | 一种用于清除阻止计算机运行的恶意软件的方法 | |
JP4445535B2 (ja) | データ転送装置,情報処理システム,データ転送プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 | |
CN103810440B (zh) | 存取***及方法 | |
US6948015B2 (en) | Storage control device | |
CN102262600B (zh) | 一种usb设备的识别方法及*** | |
CN111124985A (zh) | 一种移动终端只读控制方法及装置 | |
US20090144487A1 (en) | Storage emulator and method thereof | |
CN109558369A (zh) | 多cpu单串口的控制方法、装置、设备及*** | |
US9921555B2 (en) | Device control system, host device, and control method of a host device | |
US8645586B2 (en) | SCSI reservation status information on a SAN disk | |
CN101782835A (zh) | 储存***及其指令处理方法 | |
US11882038B2 (en) | Transaction analyzer for communication bus traffic | |
CN203658991U (zh) | 一种计算机取证*** | |
US9122806B2 (en) | SATA data appliance for providing SATA hosts with access to a configurable number of SATA drives residing in a SAS topology | |
CN109697144B (zh) | 一种电子设备的硬盘检测方法及电子设备 | |
CN101853213B (zh) | 存储器集成装置及方法 | |
CN115203116B (zh) | 一种axi总线传输方法、***和芯片 | |
CN103914263A (zh) | Sd卡和访问sd卡的设备及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20100721 |