CN101447982A - 存储模拟装置及其存取方法 - Google Patents

存储模拟装置及其存取方法 Download PDF

Info

Publication number
CN101447982A
CN101447982A CNA2008101286994A CN200810128699A CN101447982A CN 101447982 A CN101447982 A CN 101447982A CN A2008101286994 A CNA2008101286994 A CN A2008101286994A CN 200810128699 A CN200810128699 A CN 200810128699A CN 101447982 A CN101447982 A CN 101447982A
Authority
CN
China
Prior art keywords
order
command
storage
memory
memory cell
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
Application number
CNA2008101286994A
Other languages
English (en)
Inventor
刘建兴
林志桦
林士能
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aten International Co Ltd
Original Assignee
Aten International Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Aten International Co Ltd filed Critical Aten International Co Ltd
Publication of CN101447982A publication Critical patent/CN101447982A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明揭露一种存储模拟装置及其存取方法,其利用网络存取一存储单元,该存储模拟装置包括一虚拟存储模拟模块、一存储管理单元以及一通讯模块。虚拟存储模拟模块,用以模拟对应于该存储单元的虚拟存储单元,且接收存储存取命令。存储管理单元,用以辨识该存储存取命令为自续类型命令还是非自续类型命令。通讯模块,用以与该存储单元进行通讯。其中,当该存储管理单元辨识该存储存取命令是自续类型命令时,即产生与该存储存取命令对应的一自续命令响应,并且直接传回该自续命令响应;当该存储管理单元辨识该存储存取命令为非自续类型命令时,则通过该网络发送该存储存取命令,接收与该存储存取命令对应的命令响应,并且传回该命令响应。

Description

存储模拟装置及其存取方法
技术领域
本发明关于一种模拟装置及其存取方法,特别是有关于一种通过网络存取一存储系统的存储模拟装置及其存取方法。
背景技术
图1显示现有技术中本地端计算机(主机系统)100通过网络存取一连接至远程计算机(存储系统)140的存储单元102的系统示意图。上述存取该存储单元102的系统包括一本地端计算机100、一远程计算机104以及一连接于该远程计算机104的存储单元102。该本地端计算机100通过利用设置于该本地端计算机100的一网络适配卡(未图示),来以远程方式读取存储于该存储单元102的数据或是将数据写入至该存储单元102。
当该本地端计算机100存取该存储单元102内的数据时,该要存取的数据必须暂时存放在该远程计算机104,然后通过网络传送至该本地端计算机100。然而由于该存储单元102是以间接方式经由网络耦接于该本地端计算机100,因此该本地端计算机100的命令会有逾时(time-out)问题,因此远程计算机104无法及时地依据该命令响应一信息给该本地端计算机100。
发明内容
本发明的目的是提供一种存储模拟装置及其存取方法,用以使主机系统通过网络存取连接于存储系统的存储单元,如同该存储单元直接连接于该主机系统,从而使得该主机系统能够存取该存储单元。
本发明的另一目的是提供一种存储模拟装置及其存取方法,用以在主机系统存取该存储系统时,来降低逾时的问题。
根据上述目的,本发明提出一种存储模拟装置及其存取方法,该存储模拟装置包括一虚拟存储模拟模块、一存储管理单元以及一通讯模块。虚拟存储模拟模块用以在该主机系统上模拟与该存储单元对应的至少一虚拟存储单元,并且用以接收来自该主机系统的存储存取命令。存储管理单元用以辨识该存储存取命令是一自续类型命令还是一非自续类型命令,自续类型命令是一种存储模拟装置可以直接自续、执行的命令;非自续类型命令是一种存储模拟装置无法直接自续、执行的命令。本发明的存储模拟装置具有各种类型命令的处理能力,以处理各种自续类型命令以及非自续类型命令。举例而言,该自续类型命令可以是选自于查询命令、模式检测命令以及请求检测命令所组成的族群中任意一种。该非自续类型命令可以是选自于读取命令、写入命令以及格式化命令所组成的族群中的任意一种。通讯模块通过该网络与该存储系统的存储单元进行通讯。
该存储管理单元包括一解析单元、一第一命令执行单元、一第二命令传送单元、一缓冲存储装置、一状态模块以及一型态管理单元。解析单元用以解析该存储存取命令,以辨识该存储存取命令是该自续类型命令还是该非自续类型命令。第一命令执行单元用以执行该自续类型命令,以产生该自续命令响应。也即该第一命令执行单元在存储管理单元的内部执行该自续类型命令,并且将该自续命令响应存储于该缓冲存储装置。第二命令传送单元用以传送该非自续类型命令至该通讯模块,并且用以触发该通讯模块,以使该通讯模块传送该非自续类型命令至该存储系统。缓冲存储装置用以存储该存储存取命令、该命令响应以及该自续命令响应。通过该数据输出路径将该存储存取命令中属于非自续类型命令的命令传送至该通讯模块,通过该数据输入路径接收来自该通讯模块的命令响应,并且将该自续命令响应传回至该虚拟存储模拟模块。
因此,该存储管理单元选择性地传送该非自续类型命令并且保留该自续类型命令来执行,以节省网络的数据传输负载量,从而降低存储系统相对于该主机系统的逾时问题。
本发明实施例中执行存储模拟装置的存取方法包括下列步骤:
(a)虚拟存储模拟模块模拟与该存储单元对应的至少一虚拟存储单元,以用于该主机系统。
(b)虚拟存储模拟模块接收来自该主机系统的存储存取命令。
(c)存储管理单元辨识该存储存取命令是自续类型命令还是非自续类型命令。
(d)当该存储管理单元辨识该存储存取命令是该自续类型命令时,该存储管理单元依该存储存取命令产生一自续命令响应,并且直接传回该自续命令响应至该主机系统。
(e)当该存储管理单元辨识该存储存取命令是该非自续类型命令时,该存储管理单元通过该网络发送该存储存取命令至该存储系统,且依该存储存取命令接收来自于该存储系统的一命令响应,并且传回该命令响应至该主机系统。
根据上述,本发明的存储模拟装置能够辨识存储存取命令,以决定是否传送该存储存取命令至该存储系统,因而降低主机系统与该存储系统之间的流量负载量,以减少逾时的问题。
为让本发明的上述内容能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下:
附图说明
图1显示现有技术中本地端计算机通过网络存取一远程存储单元的示意图;
图2显示本发明实施例中存储模拟装置通过网络存取一存储单元的示意图,其中该存储单元连接于一存储系统;
图3显示本发明实施例中图2所示的虚拟存储模拟模块的示意图;
图4显示本发明实施例中图2所示的存储管理单元的示意图;
图5显示本发明实施例中图2所示的通讯模块的示意图;
图6显示本发明实施例中图2所示的应用程序模块的示意图;以及
图7显示本发明实施例中执行图2的存储模拟装置的存取方法流程图。
主要组件符号说明
100  本地端计算机      102  存储单元
104  远程计算机        200  存储模拟装置
202  主机系统          204  存储系统
206  存储单元          208  虚拟存储模拟模块
210  存储管理单元      214  通讯模块
216  应用程序模块      218  存储驱动模块
300  装置列举单元      302  协议标准解码装置
304  第一命令传送单元  400  解析单元
402  第一命令执行单元  404  第二命令传送单元
406  缓冲存储装置      408  状态模块
410  型态管理单元      500  命令封包单元
502  传收单元          504  第一网络模块
600  命令接收装置      602  命令解码装置
604  第二命令执行单元  606  命令响应传送装置
具体实施方式
图2显示本发明实施例中存储模拟装置200通过网络存取一存储单元206的示意图,其中该存储单元206连接于一存储系统204。存储模拟装置200通过该网络连接一主机系统202与包含该存储单元206的该存储系统204,其中该主机系统202可以是设有通用序列接口(USB)的主机。该存储模拟装置200包括一虚拟存储模拟模块208、一存储管理单元210以及一通讯模块214。该存储模拟装置200允许主机系统202通过网络存取该存储系统204的存储单元206。例如当主机系统202传送一存储存取命令至该存储系统204时,该主机系统202利用该存储模拟装置200读取存储于该存储系统204的存储单元206内的数据或是将数据写入至该存储单元206内,如同该主机系统202直接连接于该存储单元206一样。本发明所属技术领域中具有通常知识者应注意的是,该存储模拟装置200也可以应用于其它系统中,例如键盘-屏幕-鼠标(KVM)切换系统。
虚拟存储模拟模块208连接该主机系统202,存储管理单元210耦接该虚拟存储模拟模块208与通讯模块214,而该通讯模块214通过网络耦接至该存储系统204,网络可以是局域网络(LAN)、企业网络(Intranet)、以太网络(Ethernet)、广域网络(WAN)、或是因特网(Internet)。该存储系统204还包括一应用程序模块216以及一存储驱动模块218,该应用程序模块216以及该存储驱动模块218分别耦接于该存储单元206,且该应用程序模块216耦接于该存储驱动模块218。该应用程序模块216通过网络耦接该存储单元206至该存储模拟装置200的通讯模块214。在一较佳实施例中,该存储单元206是选自于软盘驱动器(floppy disk drive,FDD)、硬盘驱动器(hard disk drive,HDD)、光驱(CD-ROM)、快闪磁盘装置(flash disk drive)、磁盘映像文件(imagefile)如光驱的映像文件、数字多媒体光驱(DVD-ROM)、物理(physical)存储装置以及逻辑(logical)存储装置所组成的族群中的任意一种。
虚拟存储模拟模块208用以对应于该存储单元206进行模拟,以在该主机系统上形成至少一虚拟存储单元,并且用以接收来自该主机系统202的一存储存取命令(storage accessing command)。在一实施例中,该存储存取命令兼容于小型计算机系统接口(SCSI)。
存储管理单元210用以辨识该存储存取命令是一自续类型命令(self-sustaining type command)还是一非自续类型命令(non-self-sustaining typecommand),自续类型命令是一种存储模拟装置200可以直接自续、执行的命令;非自续类型命令是一种存储模拟装置200无法直接自续、执行的命令,其需要将这类的非自续类型命令发送至该存储系统204,以便作进一步处理。本发明的存储模拟装置200具有各种类型命令的处理能力,以处理各种自续类型命令以及非自续类型命令。举例而言,该自续类型命令可以是选自于查询命令、模式检测命令以及请求检测命令所组成的族群中的任意一种。该非自续类型命令可以是选自于读取命令、写入命令以及格式化命令所组成的族群中的任意一种。通讯模块214通过该网络与该存储系统204的该存储单元206进行通讯。
一方面,当该存储管理单元210辨识该存储存取命令是该自续类型命令时,即依该存储存取命令产生一自续命令响应,并且直接传回该自续命令响应至该主机系统202。换言之,该存储管理单元210能够执行该自续类型命令,并且将其执行结果直接响应给该主机系统202。
另一方面,当该存储管理单元210辨识该存储存取命令是该非自续类型命令时,该存储管理单元210通过该网络发送该存储存取命令至该存储系统204。进一步地,该存储管理单元210依据该存储存取命令接收来自于该存储系统204的一命令响应(command response),并且传回该命令响应至该主机系统202。也即,该存储系统204执行该非自续类型命令,该存储管理单元210接收来自于该存储系统204的响应信息并将之传给该主机系统202。
参考图2以及图3,图3显示本发明实施例中图2所示的虚拟存储模拟模块208的示意图。虚拟存储模拟模块208包括一装置列举单元300、一协议标准解码装置302以及一第一命令传送单元304。装置列举单元300连接于该协议标准解码装置302,该协议标准解码装置302通过一接口协议标准耦接于该主机系统202,其中该接口协议标准可以是USB接口或是无线(wireless)技术接口,该第一命令传送单元304耦接该协议标准解码装置302至该存储管理单元210。
装置列举单元300依据该接口协议标准,用以列举(enumerate)相对应于该存储单元206的至少一虚拟存储单元。以USB接口为例,装置列举单元300依据该USB接口协议标准列举相关于该存储单元206的装置信息,以在该主机系统202上产生该虚拟存储单元。协议标准解码装置302依据该USB接口协议标准,用以对来自该主机系统202的存储存取命令进行译码。第一命令传送单元304用以传送译码后的存储存取命令至该存储管理单元210。在一较佳实施例中,当若干个存储存取命令由该主机系统202发送至该虚拟存储模拟模块208时,该协议标准解码装置302依序对每一存储存取命令进行译码。然后,该第一命令传送单元304依序将译码后的存储存取命令传送至该存储管理单元210。
具体来说,在该主机系统202发送该存储存取命令至该存储系统204之前,装置列举单元300模拟该存储单元206,使得该主机系统202能够存取该存储单元206,如同该存储单元206直接连接于该主机系统202上,而模拟该存储单元206所需要的信息是由该存储系统204产生,接着根据产生的模拟信息在该主机系统202模拟该存储单元206。较佳实施例中,定期地依据来自该存储系统204的装置信息来更新该存储模拟装置200,使得该主机系统202能够撷取存储于该存储模拟装置200内的装置更新信息。该存储系统204将存储单元206的装置信息输出(export)至存储模拟装置200的虚拟存储模拟模块208,其中该装置信息可以是存储容量以及/或储单元的数量,然后该主机系统202找到输出的装置信息并且将该存储单元206视为本地端(也即主机系统202)可存取的装置。较佳实施例中,在该主机系统202发送该存储存取命令之前,装置列举单元300列举相关于该存储单元206的装置信息,以使该主机系统202依据该接口协议标准建立与该存储单元206之间的联机。
请参考图2-4,图4显示本发明实施例中图2所示的存储管理单元210的示意图。该存储管理单元210包括一解析单元400、一第一命令执行单元402、一第二命令传送单元404、一缓冲存储装置406、一状态模块408、以及一型态管理单元410。该解析单元400耦接于虚拟存储模拟模块208的第一命令传送单元304,该第一命令执行单元402耦接该解析单元400与该缓冲存储装置406,该第二命令传送单元404耦接该解析单元400与该缓冲存储装置406,该状态模块408耦接该通讯模块214与该解析单元400,且该型态管理单元410连接至该解析单元400。
解析单元400用以解析该存储存取命令,以辨识该存储存取命令是该自续类型命令还是该非自续类型命令。第一命令执行单元402用以执行该自续类型命令,以产生该自续命令响应。也即,该第一命令执行单元402在存储管理单元210的内部执行该存储存取命令的自续类型命令,并且将该自续命令响应存储于该缓冲存储装置406。第二命令传送单元404用以传送该非自续类型命令至该通讯模块214,并且用以触发该通讯模块214,以使该通讯模块传送该非自续类型命令至该存储系统204。缓冲存储装置406用以存储该存储存取命令、该命令响应以及该自续命令响应。通过该数据输出路径将该存储存取命令中属于非自续类型命令传送至该通讯模块214,通过该数据输入路径接收来自该通讯模块214的命令响应,并且将该自续命令响应传回至该虚拟存储模拟模块208,如图2所示。
因此,该存储管理单元210选择性地传送该非自续类型命令并且保留该自续类型命令来执行,以节省网络的数据传输负载量,从而降低存储系统204相对于该主机系统的逾时(time-out)问题。
状态模块408用以监视该存储单元206的存储状态的变动事件(storagestate change event),并且记录该存储单元206的存储状态。该状态模块408进一步监视该主机系统202的状态并且记录该状态。较佳实施例中,存储系统204以该存储单元206的装置信息来更新该存储模拟装置200的状态模块408。在一实施例中,该解析单元400检查该状态模块408以决定该主机系统202是否备妥。例如,在一开机盘片插入至该存储单元206之后,例如光驱,则该开机盘片的是否备妥的状态被记录于该状态模块408中,使得该解析单元400在本地端利用该状态模块408,以使该主机系统202致能(enable)而以该开机盘片进行开机步骤。相反地,假如该开机盘片尚未备妥,则未备妥的状态也会记录于该状态模块408中,并且该解析单元400在本地端通知该主机系统202,该开机盘片尚未备妥而无法开机。在一较佳实施例中,该解析单元400持续地检查该状态模块408直至在该状态模块408的状态为备妥状态,以利用该开机盘片对该主机系统202进行开机。
型态管理单元410,用以记录若干个装置型态,并且检查若干个命令型态。该解析单元400依据该些装置型态辨识该存储单元206的装置型态,并且决定即将被执行的命令型态。也即该解析单元400判断来自该主机系统202的存储存取命令是否与该存储单元206的命令型态一致,举例来说,该存储单元206是符合SCSI接口的磁盘驱动器,当该主机系统202通过该存储模拟装置200传送一DVD多媒体命令至该存储系统204时,该解析单元400比较该SCSI接口的磁盘驱动器的装置型态与该DVD的装置型态,以决定该存储单元206是否支持来自该主机系统202的多媒体命令。假如该多媒体命令无法兼容于该存储单元206的命令型态,则该存储系统204无法执行多媒体命令,为解决此问题,存储管理单元210通知该主机系统202重新传送一新命令,以兼容于存储于该型态管理单元410内的命令型态。
参考图2、图4以及图5,图5显示本发明实施例中图2所示的通讯模块214的示意图。该通讯模块214包括一命令封包单元500以及一传收单元(transceiver)502,该命令封包单元500耦接该存储管理单元210的第二命令传送单元404与该传收单元502,该传收单元502通过第一网络模块504耦接于该应用程序模块216,且分别耦接于该存储管理单元210的缓冲存储装置406以及状态模块408。
当接收来自该第二命令传送单元404的触发信号,命令封包单元500包装来自该缓冲存储装置406且经由该数据输出路径的非自续类型命令。然后,命令封包单元500将包装后的非自续类型命令发送给该传收单元502。较佳实施例中,命令封包单元500将该命令包装成为封包型式,并且将此封包型式的命令传给存储系统204。传收单元502通过该网络传送该包装后该非自续类型命令至该存储系统204,并且经由第一网络模块504以及网络接收来自该存储单元206的命令响应。接着,传收单元502经由数据输入路径将接收到的命令响应传送至该缓冲存储装置406,并且将相关于存储单元206的存储状态之变动事件传递至状态模块408,如图4所示。
参考图2、图5以及图6,图6显示本发明实施例中图2所示的应用程序模块216的示意图。该存储系统204还包括该应用程序模块216,用以通过该网络与该通讯模块214进行通讯。该应用程序模块216包括一命令接收装置600、一命令解码装置602、一第二命令执行单元604以及一命令响应传送装置606。命令接收装置600通过该第二网络模块608耦接于该通讯模块214的第一网络模块504,命令解码装置602耦接于命令接收装置600与第二命令执行单元604之间。第二命令执行单元604分别耦接于存储驱动模块218以及该存储单元206,命令响应传送装置606耦接该第二网络模块608至该通讯模块214的第一网络模块504。
该命令接收装置600用以接收来自该传收单元502的包装后的非自续类型命令。该命令解码装置602用以将包装后的非自续类型命令译码成为一执行命令。该第二命令执行单元604用以执行该执行命令,以存取该存储单元206。该命令响应传送装置606用以传送该执行命令的命令响应至该通讯模块214的传收单元502。
在一实施例中,当应用程序模块216仅适用于一部分特定种类的存储单元206时,存储驱动模块218用以支持更多种类的存储单元206。也即存储驱动模块218能够针对各种包装后的非自续类型命令进行译码,执行该命令以存取该存储单元206,并且产生命令响应,然后将该命令响应传给该应用程序模块216的命令响应传送装置606。
继续参考图2,本发明的非自续类型命令包装成为命令封包(commandpacket)时,其格式包括装置信息封包(device information packet)、控制封包(control packet)、中断封包(interrupt packet)、装置状态封包(device statuspacket)、装置状态请求封包(device status request packet)以及响应结果封包(response result packet),上述的封包详述如下。
装置信息封包包括一封包辨识码”Packet ID”、一装置辨识码”DeviceID”、一装置信息长度”Device Info Length”以及一装置信息”Device Info”等字段(field),其中该封包辨识码”Packet ID”用以表示封包的型态;装置辨识码”Device ID”表示存储系统204的磁盘驱动器代号;装置信息长度”Device Info Length”表示装置信息的长度,例如16位(bits);该装置信息”Device Info”表示该装置的相关信息,例如查询信息(inquiry)、容量(capacity)、读取格式容量(read format capacities)以及模式状态(mode sense)。较佳实施例中,存储系统204传送磁盘驱动器的信息至该存储模拟装置200,例如存储系统204分成四次将装置信息封包传送至存储单元206,首先查询信息被传送至该存储模拟装置200且其封包辨识码”Packet ID”系以8位”0000-0001”表示;接着容量信息被传送至该存储模拟装置200且其封包辨识码”Packet ID”是以8位”0000-0002”表示;然后,读取格式容量被传送至该存储模拟装置200且其封包辨识码”Packet ID”是以8位”0000-0003”表示;最后,模式状态被传送至该存储模拟装置200且其封包辨识码”Packet ID”是以8位”0000-0004”表示。
控制封包包括一封包辨识码”Packet ID”、一装置辨识码”Device ID”、一命令描述方块”CDB”、”CDB”的长度”CDB Length”、一数据长度”Data Length”以及数据”Data”等字段,其中封包辨识码”Packet ID”及装置辨识码”Device ID”的意义如上所述;命令描述方块”CDB”表示命令具有固定的长度,例如16位(bits);”CDB”的长度”CDB Length”表示”CDB”的长度;数据”Data”用以存储输入/输出数据。控制封包用以控制该存储模拟装置200与存储系统204之间的命令传送、命令操作程序以及命令执行结果,也即由该存储模拟装置200至该存储系统204,或是由该存储系统204至该存储模拟装置200。例如,在该存储模拟装置200与该存储系统204之间传送格式化单位命令”Format Unit”的控制封包,其中格式化的参数系存储于数据”Data”字段;由该存储模拟装置200至该存储系统204传送读取命令”Read”的控制封包,其中”CDB”字段表示所要的数据区段(sector);然后该存储模拟装置200自该存储系统204辨识出该读取命令”Read”之后,将其控制封包由该存储系统204传送至存储模拟装置200,其中操作码存储于命令描述方块”CDB”字段。
中断封包包括一封包辨识码”Packet ID”、一装置辨识码”Device ID”以及一USB磁盘驱动器接口状态数据”UFI sense data”等字段。封包辨识码”Packet ID”及装置辨识码”Device ID”的意义如上所述。该USB磁盘驱动器接口状态数据”UFI sense data”表示在该存储模拟装置200执行控制封包之后,将信息由存储单元206传送至存储模拟装置200。较佳实施例中,中断封包由该存储系统204传送至存储模拟装置200。
装置状态封包包括一封包辨识码”Packet ID”、一装置辨识码”DeviceID”以及一装置状态”Device Status”等字段,该封包辨识码”Packet ID”以及该装置辨识码”Device ID”的定义如上所述,该装置状态”Device Status”表示存储单元206目前的状态,这些状态包括"无反应”、”未备妥”、”硬件错误”、或是”未联机”等,较佳实施例中,装置状态封包由该存储系统204传送至存储模拟装置200。
装置状态请求封包包括一封包辨识码”Packet ID”以及一装置辨识码”Device ID”等字段,其意义如上所述。当存储模拟装置200需要侦测存储单元206的状态时,存储模拟装置200发出装置状态请求封包至该存储单元206且该存储单元206回复装置状态封包给存储模拟装置200,以响应该侦侧请求。较佳实施例中,装置状态请求封包是由存储模拟装置200传送至该存储系统204。
响应结果封包包括一封包辨识码”Packet ID”以及一响应结果”Response result”等字段,封包辨识码”Packet ID”的意义如上所述,响应结果”Response result”用以通知该存储模拟装置200的命令执行结果至该存储系统204,或是通知该存储系统204的命令执行结果至该存储模拟装置200。例如,当响应结果”Response result”为成功”Success”时,则表示目前的命令已经被成功执行,并且接着执行下一个命令。当响应结果”Responseresult”为失败”Fail”时,则表示该存储模拟装置200或是该存储系统204无法执行目前的命令。
较佳实施例中,中断封包被传送至该存储模拟装置200或是该存储系统204,以响应该控制封包。响应结果封包被传送至该存储模拟装置200或是该存储系统204,以响应该装置信息封包、装置状态封包以及装置状态请求封包,以确认该命令是否成功地被执行。
参考图2-6以及图7,图7显示本发明实施例中执行图2的存储模拟装置200的存取方法的流程图。该存取方法用以使一主机系统202通过一网络存取连接于一存储系统204的存储单元206,如同该存储单元206直接连接于该主机系统202,本发明的存取方法包括下列步骤:
在步骤S700中,虚拟存储模拟模块208模拟对应于该存储单元206的至少一虚拟存储单元,以用于该主机系统202。
在步骤S702中,虚拟存储模拟模块208接收来自该主机系统202的存储存取命令。
在步骤S704中,存储管理单元210辨识该存储存取命令是一自续类型命令还是一非自续类型命令。
在步骤S706中,当该存储管理单元210辨识该存储存取命令是该自续类型命令时,该存储管理单元210依该存储存取命令产生一自续命令响应,并且直接传回该自续命令响应至该主机系统202。
在步骤S708中,当该存储管理单元210辨识该存储存取命令是该非自续类型命令时,该存储管理单元210通过该网络发送该存储存取命令至该存储系统204,且依该存储存取命令接收来自于该存储系统204的一命令响应,并且传回该命令响应至该主机系统202。
在一实施例中,该自续类型命令可以是选自于查询命令、模式检测命令以及请求检测命令所组成的族群中的任意一种。该非自续类型命令可以是选自于读取命令、写入命令以及格式化命令所组成的族群中的任意一种。
综上所述,虽然本发明已以较佳实施例揭露如上,但该较佳实施例并非用以限制本发明,该领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。

Claims (20)

1.一种存储模拟装置,用以使一主机系统通过一网络存取连接于一存储系统的一存储单元,如同该存储单元直接连接于该主机系统,其特征在于:该存储模拟装置包括:
一虚拟存储模拟模块,耦接于该主机系统,用以相对应该存储单元模拟至少一虚拟存储单元于该主机系统上,且接收来自该主机系统的一存储存取命令;
一存储管理单元,用以辨识该存储存取命令为一自续类型(self-sustainingtype)命令或是一非自续类型(non-self-sustaining type)命令;以及
一通讯模块,通过该网络与该存储系统的该存储单元进行通讯;
其中,当辨识该存储存取命令为该自续类型命令时,该存储管理单元依该存储存取命令产生一自续命令响应,并且直接传回该自续命令响应至该主机系统,当辨识该存储存取命令为该非自续类型命令时,该存储管理单元通过该网络发送该存储存取命令至该存储系统,且依该存储存取命令接收来自于该存储系统的一命令响应,并且传回该命令响应至该主机系统。
2.根据权利要求1所述的存储模拟装置,其特征在于:该非自续类型命令选自于读取命令、写入命令以及格式化命令所组成的族群中的任意一种。
3.根据权利要求1所述的存储模拟装置,其特征在于:该自续类型命令选自于查询命令、模式检测命令以及请求检测命令所组成的族群中的任意一种。
4.根据权利要求1所述的存储模拟装置,其特征在于:该存储单元选自于软盘驱动器、硬盘驱动器、光驱、快闪磁盘装置以及磁盘映像文件所组成的族群中的任意一种。
5.根据权利要求1所述的存储模拟装置,其特征在于:该虚拟存储模拟模块还包括:
一装置列举单元,依据一接口协议标准,用以列举相对应于该存储单元的至少一虚拟存储单元;
一协议标准解码装置,依据该接口协议标准,用以对来自该主机系统的该存储存取命令进行译码;以及
一第一命令传送单元,用以传送译码后的该存储存取命令至该存储管理单元。
6.根据权利要求5所述的存储模拟装置,其特征在于:该接口协议标准为一通用序列总线的一接口标准。
7.根据权利要求1所述的存储模拟装置,其特征在于:该存储管理单元还包括:
一解析单元,用以解析该存储存取命令,以辨识该存储存取命令是该自续类型命令还是该非自续类型命令;
一第一命令执行单元,用以执行该自续类型命令,以产生该自续命令响应;以及
一第二命令传送单元,用以传送该非自续类型命令至该通讯模块,并且触发该通讯模块,以使该通讯模块传送该非自续类型命令至该存储系统。
8.根据权利要求7所述的存储模拟装置,其特征在于:该存储管理单元还包括一缓冲存储装置,用以存储该存储存取命令、该命令响应以及该自续命令响应。
9.根据权利要求7所述的存储模拟装置,其特征在于:该存储管理单元还包括一状态模块,用以监视该存储单元的一存储状态的变动事件,并且记录该存储单元的存储状态。
10.根据权利要求9所述的存储模拟装置,其特征在于:该状态模块还包括用以监视该主机系统的状态并且记录该状态。
11.根据权利要求7所述的存储模拟装置,其特征在于:该存储管理单元还包括一型态管理单元,用以记录若干个装置型态,且检查若干个命令型态。
12.根据权利要求11所述的存储模拟装置,其特征在于:该解析单元依据该些装置型态辨识该存储单元的一装置型态,并且决定即将被执行的一命令型态。
13.根据权利要求1所述的存储模拟装置,其特征在于:该通讯模块还包括:
一命令封包单元,用以封包来自该存储管理单元的该非自续类型命令;以及
一传收单元,通过该网络,用以传送该封包后的该非自续类型命令至该存储系统,并且接收来自该存储单元的该命令响应。
14.根据权利要求13所述的存储模拟装置,其特征在于:该存储系统还包括一应用程序模块,通过该网络与该通讯模块进行通讯。
15.根据权利要求14所述的存储模拟装置,其特征在于:该应用程序模块还包括:
一命令接收装置,用以接收来自该传收单元的封包后的该非自续类型命令;
一命令解码装置,用以将封包后的该非自续类型命令译码成为一执行命令;以及
一第二命令执行单元,用以执行该执行命令,以存取该存储单元。
16.根据权利要求15所述的存储模拟装置,其特征在于:该应用程序模块还包括一命令响应传送装置,用以传送该执行命令的该命令响应至该通讯模块的该传收单元。
17.一种存取方法,用以使一主机系统通过一网络存取连接于一存储系统的一存储单元,如同该存储单元直接连接于该主机系统,其特征在于:该存取方法包括下列步骤:
模拟相对应于该存储单元的至少一虚拟存储单元,以用于该主机系统;
接收来自该主机系统的一存储存取命令;
辨识该存储存取命令是一自续类型命令还是一非自续类型命令;
当辨识该存储存取命令为该自续类型命令时,依该存储存取命令产生一自续命令响应,并且直接传回该自续命令响应至该主机系统;以及
当辨识该存储存取命令是该非自续类型命令时,通过该网络发送该存储存取命令至该存储系统,依该存储存取命令接收来自于该存储系统的一命令响应,并且传回该命令响应至该主机系统。
18.根据权利要求17所述的存取方法,其特征在于:该非自续类型命令选自于读取命令、写入命令以及格式化命令所组成的族群中的任意一种。
19.根据权利要求17所述的存取方法,其特征在于:该自续类型命令选自于查询命令、模式检测命令以及请求检测命令所组成的族群中的任意一种。
20.根据权利要求17所述的存取方法,其特征在于:该存储单元选自于软盘驱动器、硬盘驱动器、光驱、快闪磁盘装置以及磁盘映像文件所组成的族群中的任意一种。
CNA2008101286994A 2007-11-30 2008-06-20 存储模拟装置及其存取方法 Pending CN101447982A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/948,652 2007-11-30
US11/948,652 US7774560B2 (en) 2007-11-30 2007-11-30 Storage emulator and method thereof

Publications (1)

Publication Number Publication Date
CN101447982A true CN101447982A (zh) 2009-06-03

Family

ID=40676943

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008101286994A Pending CN101447982A (zh) 2007-11-30 2008-06-20 存储模拟装置及其存取方法

Country Status (3)

Country Link
US (1) US7774560B2 (zh)
CN (1) CN101447982A (zh)
TW (1) TW200923668A (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8543756B2 (en) * 2009-02-02 2013-09-24 Marvell World Trade Ltd. Solid-state drive command grouping
TWI463501B (zh) * 2010-12-16 2014-12-01 Asolid Technology Co Ltd 快閃記憶體發展系統
US20130297718A1 (en) * 2012-05-07 2013-11-07 Samsung Electronics Co., Ltd. Server device, client device, data sharing system and method for sharing data between client device and server device thereof
WO2014069145A1 (ja) * 2012-10-31 2014-05-08 株式会社Future Tech Lab 情報システム、サーバ装置、端末装置、および情報処理方法
US9501591B2 (en) * 2013-12-09 2016-11-22 International Business Machines Corporation Dynamically modifiable component model
US11216211B1 (en) * 2018-09-25 2022-01-04 Amazon Technologies, Inc. Emulated block storage for devices

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438674A (en) * 1988-04-05 1995-08-01 Data/Ware Development, Inc. Optical disk system emulating magnetic tape units
EP0640924A3 (en) * 1993-08-17 1997-04-23 Sony Corp Data reproducing apparatus.
US6505281B1 (en) * 1998-06-02 2003-01-07 Raymond C. Sherry Hard disk drives employing high speed distribution bus
JP3718602B2 (ja) * 1999-03-08 2005-11-24 パイオニア株式会社 チェンジャ装置
JP2004005085A (ja) * 2002-05-31 2004-01-08 Hitachi Ltd ストレージネットワーク性能測定システム
US7200546B1 (en) * 2002-09-05 2007-04-03 Ultera Systems, Inc. Tape storage emulator
JP4383148B2 (ja) * 2003-11-25 2009-12-16 株式会社日立製作所 処理オフロード機能モジュールを備えた磁気ディスクアレイ装置
US7370156B1 (en) * 2004-11-04 2008-05-06 Panta Systems, Inc. Unity parallel processing system and method
JP4756545B2 (ja) * 2006-05-15 2011-08-24 株式会社日立製作所 複数のテープ装置を備えるストレージシステム
JP4863765B2 (ja) * 2006-05-15 2012-01-25 株式会社日立製作所 バックアップ及び/又はリストアを行う記憶制御方法及びシステム
US20090119452A1 (en) * 2007-11-02 2009-05-07 Crossroads Systems, Inc. Method and system for a sharable storage device

Also Published As

Publication number Publication date
TW200923668A (en) 2009-06-01
US7774560B2 (en) 2010-08-10
US20090144487A1 (en) 2009-06-04

Similar Documents

Publication Publication Date Title
CN101452369B (zh) 用于控制usb大容量存储设备的逻辑单元的方法和系统
US5473765A (en) Apparatus for using flash memory as a floppy disk emulator in a computer system
CN102460405B (zh) 用于通过存储器装置来控制主机存储器存取的方法及系统
US8381029B2 (en) Processing method, storage system, information processing apparatus, and computer-readable storage medium storing program
US20120131576A1 (en) Virtual computer system and migration method of virtual computer
CN101840306B (zh) VxWorks操作系统中实现驱动SATA设备的方法和系统
CN103793182A (zh) 可扩展存储保护
CN101447982A (zh) 存储模拟装置及其存取方法
JPH11272427A (ja) データ退避方法および外部記憶装置
GB2428320A (en) Data flow and bridging architecture enhancing performance of removable data storage systems
US7395368B2 (en) Information processing system, storage unit, and storage control program recorded computer-readable recording medium
US7007119B2 (en) System and method for supporting split transactions on a bus
JP4884721B2 (ja) 記憶装置のフォーマットを不要としたストレージシステム及び記憶制御方法
CN102843284B (zh) iSCSI存储节点、架构以及读取、写入方法
CN115756556A (zh) 一种基于图形处理器的bios更新方法
US8631166B2 (en) Storage devices with bi-directional communication techniques and method of forming bi-directional communication layer between them
US20040243755A1 (en) USB apparatus having dual-function of host and hub, and control method thereof
US20110231674A1 (en) Independent drive power control
US20100325373A1 (en) Duplexing Apparatus and Duplexing Control Method
US20040177183A1 (en) Interface circuit, disc controller, disc drive apparatus and interface control method
CN116486868A (zh) 计算高速链路(CXL)上的高速非易失性存储器(NVMe)
US7831741B2 (en) Indexing device and method for data storage system
US20090300306A1 (en) Data copying method
US7921238B2 (en) USB host system and method for transferring transfer data
JP5661313B2 (ja) 記憶装置

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: 20090603