CN102141897B - 用来增进存取效能的方法和装置 - Google Patents

用来增进存取效能的方法和装置 Download PDF

Info

Publication number
CN102141897B
CN102141897B CN 201010121082 CN201010121082A CN102141897B CN 102141897 B CN102141897 B CN 102141897B CN 201010121082 CN201010121082 CN 201010121082 CN 201010121082 A CN201010121082 A CN 201010121082A CN 102141897 B CN102141897 B CN 102141897B
Authority
CN
China
Prior art keywords
input
output request
driver
request package
usb
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
Application number
CN 201010121082
Other languages
English (en)
Other versions
CN102141897A (zh
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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to CN 201010121082 priority Critical patent/CN102141897B/zh
Publication of CN102141897A publication Critical patent/CN102141897A/zh
Application granted granted Critical
Publication of CN102141897B publication Critical patent/CN102141897B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

本发明涉及一种用来增进数据存取效能的方法,其包含有:监控由该个人电脑的操作系统的档案系统传送至多层驱动程序中的较高层的指令;以及当由该档案系统传送至该较高层的一指令用来存取数据量大于一预定阈值的数据时,则忽略该些层驱动程序中的至少两层之间所传送的多个输入/输出请求封包中的一部分、自动地产生用来回应该些被忽略的输入/输出请求封包的多个回应、以及修改剩余的输入/输出请求封包中的至少一输入/输出请求封包以通过较少的输入/输出请求封包数量来正确地存取该数据。本发明还涉及个人电脑、以及一储存媒体。本发明可增进通用串行主装置与通用串行总线大容量储存设备之间的数据存取的效能。

Description

用来增进存取效能的方法和装置
技术领域
本发明涉及通用串行总线大容量储存设备(Universal Serial Bus MassStorage,USB Mass Storage)的控制相关技术领域,更具体地说,涉及一种用来增进一部个人电脑(Personal Computer)与一通用串行总线大容量储存设备之间的数据存取(Access)效能的方法、相关的个人电脑、以及储存一相关的通用串行总线大容量储存设备驱动程序的一储存媒体。 
背景技术
当一通用串行总线大容量储存设备诸如通用串行总线快闪驱动器(USBFlash Drive)或通用串行总线快闪碟(USB Flash Disk)被电连接至一主装置(Host Device)诸如个人电脑时,在典型状况下,该主装置会利用其本身的一操作系统(Operating System,OS)原本所附上或提供的一些驱动程序来控制该通用串行总线大容量储存设备。依据相关技术,该主装置与该通用串行总线大容量储存设备之间的数据存取应当符合某些通用串行总线储存设备传输规范。尤其是,在该主装置利用一指令来存取该通用串行总线大容量储存设备且该指令指示大于64千字节(Kilobyte)的数据量的状况下,例如该数据量等于一兆字节(Megabyte),则一较高层的驱动程序首先产生16个输入/输出请求封包(Input/Output Request Package,IRP),然后一中间层的驱动程序对应地产生48个输入/输出请求封包。接下来所要存取的数据被分割为16部分以供通过该48个输入/输出请求封包中的16个输入/输出请求封包予以载送,其中每一部分具有64千字节。因此,以上运作造成使用者时间的不必要浪费。 
在该数据量远大于上述例子的状况下,使用者时间的不必要浪费确实成为一大问题,这是因为使用者可能会感到不悦。如此,需要一种新颖的方法 来增进该主装置与该通用串行总线大容量储存设备之间的数据存取的效能。 
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种用来增进一部个人电脑与一通用串行总线大容量储存设备之间的数据存取效能的方法、相关的个人电脑、以及储存一相关的通用串行总线大容量储存设备(Universal Serial Bus Mass Storage,USB Mass Storage)驱动程序的一储存媒体,以解决上述问题。 
本发明解决其技术问题所采用的技术方案之一是:构造一种用来增进存取效能的方法,该方法用来增进一部个人电脑与一通用串行总线大容量储存设备之间的数据存取的效能,该个人电脑配备有针对通用串行总线数据存取的多层(Layer)驱动程序,该些层驱动程序中的一较低层包含一总线驱动程序(Bus Driver),该方法包含有:监控由该个人电脑的一操作系统的档案系统(Operating System File System,OS File System)传送至该些层驱动程序中的一较高层的多个指令;以及当由该操作系统的档案系统传送至该较高层的一指令用来存取数据量达到一预定阈值的数据时,则忽略该些层驱动程序中的至少两层之间所传送的多个输入/输出请求封包(Input/Output RequestPackage,IRP)中的一部分、自动地产生用来回应该些被忽略的输入/输出请求封包的多个回应、以及修改该指令的剩余的输入/输出请求封包中的至少一输入/输出请求封包以通过较少的输入/输出请求封包数量来正确地存取该数据,其中该多个输入/输出请求封包关联于该指令。 
本发明所述的方法,其中该些层驱动程序中的该较高层包含一碟片驱动程序(Disk Driver),以及该些层驱动程序中的一中间层包含一通用串行总线储存设备驱动程序(USB Storage Driver)。 
本发明所述的方法,其中该至少两层之间所传送的该些输入/输出请求封包包含该较高层与该中间层之间所传送的输入/输出请求封包。 
本发明所述的方法,其中该至少两层之间所传送的该些输入/输出请求封包另包含该中间层与该较低层之间所传送的输入/输出请求封包。 
本发明所述的方法,其中该至少两层之间所传送的该些输入/输出请求封包包含该中间层与该较低层之间所传送的输入/输出请求封包。 
本发明所述的方法,其中修改该指令的该些剩余的输入/输出请求封包中的该至少一输入/输出请求封包的步骤另包含: 
修改该输入/输出请求封包的一标头(Header)中的一字段,其中修改后的该字段用来指出该些剩余的输入/输出请求封包中的至少一部分的数据量。 
本发明所述的方法,其中该预定阈值代表小于或等于64千字节(Kilobyte)的数据量。 
本发明解决其技术问题所采用的技术方案之二是:构造一种个人电脑,该个人电脑包含储存一通用串行总线大容量储存设备驱动程序的一储存媒体,该通用串行总线大容量储存设备驱动程序用来增进该个人电脑与一通用串行总线大容量储存设备之间的数据存取的效能,该个人电脑配备有针对通用串行总线数据存取的多层驱动程序,该些层驱动程序中的一较低层包含一总线驱动程序,该通用串行总线大容量储存设备电连接至该个人电脑的一通用串行总线端口(USB Port),其中当执行该通用串行总线大容量储存设备驱动程序时,该个人电脑依据一种方法来运作,该方法包含有:监控由该个人电脑的一操作系统的档案系统传送至该些层驱动程序中的一较高层的多个指令;以及当由该操作系统的档案系统传送至该较高层的一指令用来存取数据量达到一预定阈值的数据时,则忽略该些层驱动程序中的至少两层之间所传送的多个输入/输出请求封包中的一部分、自动地产生用来回应该些被忽略的输入/输出请求封包的多个回应、以及修改该指令的剩余的输入/输出请求封包中的至少一输入/输出请求封包以通过较少的输入/输出请求封包数量来正确地存取该数据,其中该多个输入/输出请求封包关联于该指令。 
本发明所述的个人电脑,其中该些层驱动程序中的该较高层包含一碟片驱动程序(Disk Driver),以及该些层驱动程序中的一中间层包含一通用串行总线储存设备驱动程序(USB Storage Driver)。 
本发明所述的个人电脑,其中该至少两层之间所传送的该些输入/输出 请求封包包含该较高层与该中间层之间所传送的输入/输出请求封包。 
本发明所述的个人电脑,其中该至少两层之间所传送的该些输入/输出请求封包另包含该中间层与该较低层之间所传送的输入/输出请求封包。 
本发明所述的个人电脑,其中该至少两层之间所传送的该些输入/输出请求封包包含该中间层与该较低层之间所传送的输入/输出请求封包。 
本发明所述的个人电脑,其中修改该指令的该些剩余的输入/输出请求封包中的该至少一输入/输出请求封包的步骤另包含: 
修改该输入/输出请求封包的一标头(Header)中的一字段,其中修改后的该字段用来指出该些剩余的输入/输出请求封包中的至少一部分的数据量。 
本发明所述的个人电脑,其中该预定阈值代表小于或等于64千字节(Kilobyte)的数据量。 
本发明解决其技术问题所采用的技术方案之三是:构造一种储存媒体,该储存媒体储存一通用串行总线大容量储存设备驱动程序,该通用串行总线大容量储存设备驱动程序用来增进一部个人电脑与一通用串行总线大容量储存设备之间的数据存取的效能,该个人电脑配备有针对通用串行总线数据存取的多层驱动程序,该些层驱动程序中的一较低层包含一总线驱动程序,该通用串行总线大容量储存设备电连接至该个人电脑的一通用串行总线端口,其中当执行该通用串行总线大容量储存设备驱动程序时,该个人电脑依据一种方法来运作,该方法包含有:监控由该个人电脑的一操作系统的档案系统传送至该些层驱动程序中的一较高层的多个指令;以及当由该操作系统的档案系统传送至该较高层的一指令用来存取数据量达到一预定阈值的数据时,则忽略该些层驱动程序中的至少两层之间所传送的多个输入/输出请求封包中的一部分、自动地产生用来回应该些被忽略的输入/输出请求封包的多个回应、以及修改该指令的剩余的输入/输出请求封包中的至少一输入/输出请求封包以通过较少的输入/输出请求封包数量来正确地存取该数据,其中该多个输入/输出请求封包关联于该指令。 
本发明所述的储存媒体,其中该些层驱动程序中的该较高层包含一碟片 驱动程序(Disk Driver),以及该些层驱动程序中的一中间层包含一通用串行总线储存设备驱动程序(USB Storage Driver)。 
本发明所述的储存媒体,其中该至少两层之间所传送的该些输入/输出请求封包包含该较高层与该中间层之间所传送的输入/输出请求封包。 
本发明所述的储存媒体,其中该至少两层之间所传送的该些输入/输出请求封包另包含该中间层与该较低层之间所传送的输入/输出请求封包。 
本发明所述的储存媒体,其中该至少两层之间所传送的该些输入/输出请求封包包含该中间层与该较低层之间所传送的输入/输出请求封包。 
本发明所述的储存媒体,其中修改该指令的该些剩余的输入/输出请求封包中的该至少一输入/输出请求封包的步骤另包含: 
修改该输入/输出请求封包的一标头(Header)中的一字段,其中修改后的该字段用来指出该些剩余的输入/输出请求封包中的至少一部分的数据量。 
本发明所述的储存媒体,其中该预定阈值代表小于或等于64千字节(Kilobyte)的数据量。 
实施本发明的技术方案,具有以下有益效果:本发明中,通过监控由个人电脑的操作系统的档案系统传送至多层驱动程序中的较高层的指令,且在由该档案系统传送至该较高层的一指令用来存取数据量大于一预定阈值的数据时,则忽略该些层驱动程序中的至少两层之间所传送的多个输入/输出请求封包中的一部分、自动地产生用来回应该些被忽略的输入/输出请求封包的多个回应、以及修改剩余的输入/输出请求封包中的至少一输入/输出请求封包以通过较少的输入/输出请求封包数量来正确地存取该数据,于是,可增进通用串行主装置与通用串行总线大容量储存设备之间的数据存取的效能。 
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中: 
图1是本发明一第一实施例的一种个人电脑的示意图; 
图2是本发明一实施例的一种用来增进一部个人电脑与一通用串行总线大容量储存设备之间的数据存取效能的方法的流程图; 
图3是本发明一实施例中针对通用串行总线数据存取的多层(Layer)驱动程序的示意图,其中依据图2所示方法所实施的一通用串行总线大容量储存设备驱动程序的一较高滤波器驱动程序(Upper Filter Driver)与一较低滤波器驱动程序(Lower Filter Driver)于逻辑上插入该些层驱动程序中的某些层之间或之上; 
图4绘示图3所示实施例中关于忽略多个输入/输出请求封包(Input/Output Request Package,IRP)中的一部分的实施细节; 
图5是本发明一第二实施例的一种个人电脑的示意图,其中该第二实施例为该第一实施例的变化例。 
【主要组件符号说明】 
  100,200   个人电脑
  105,205   通用串行总线大容量储存设备
  110   处理器
  110D   处理器所执行的驱动程序
  110S   处理器所执行的操作系统
  120   储存媒体
  120D   通用串行总线大容量储存设备驱动  程序
  130   南桥
  130H   通用串行总线主装置
  130P   通用串行总线端口
  310L   较低滤波器驱动程序
  310U   较高滤波器驱动程序
  401,402,…,416   输入/输出请求封包
[0038] 
  401-1,402-1,…,416-1   指令的输入/输出请求封包
  401-2,402-2,…,416-2   数据的输入/输出请求封包
  401-3,402-3,…,416-3   状态的输入/输出请求封包
  910   用来增进一部个人电脑与一通用串  行总线大容量储存设备之间的数据  存取效能的方法
  912,914   步骤
  1102S   操作系统的档案系统
  1102D   碟片驱动程序
  1104D   通用串行总线储存设备驱动程序
  1106D   总线驱动程序
具体实施方式
图1是本发明一第一实施例的一种个人电脑(Personal Computer)100的示意图。例如:个人电脑100为一膝上型(Laptop)计算机。又例如:个人电脑100为一桌上型(Desktop)计算机。如图1所示,个人电脑100包含:一处理器110;一储存媒体120;一南桥130,其包含至少一通用串行总线主装置(Universal Serial Bus Host,USB Host)130H;以及一通用串行总线大容量储存设备(USB Mass Storage)105,其电连接至个人电脑100的一通用串行总线端口(USB Port)130P;其中本实施例的通用串行总线大容量储存设备105可为一固态硬盘(Solid State Drive,SSD)或一卡片阅读机。然而,这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的一变化例,该通用串行总线大容量储存设备可从个人电脑100分解开来,其中本变化例的通用串行总线大容量储存设备105可为一通用串行总线快闪碟(USBFlash Disk)。依据其它实施例,该通用串行总线大容量储存设备可为一硬盘(Hard Disk,HD)、一音讯光驱(Compact Disc Drive,CD Drive)、或任何其它的通用串行总线大容量储存设备。 
依据本实施例,储存媒体120储存一通用串行总线大容量储存设备驱动程序120D,通用串行总线大容量储存设备驱动程序120D用来增进个人电脑100与通用串行总线大容量储存设备105之间的数据存取的效能。在此,标号110D用来代表由个人电脑100所执行的驱动程序;尤其是由处理器110所执行的驱动程序,其中驱动程序110D包含从储存媒体120读取的通用串行总线大容量储存设备驱动程序120D。另外,标号110S用来代表由个人电脑100所执行的操作系统(Operating System,OS);尤其是由处理器110所执行的操作系统。 
依据本实施例,储存媒体120代表一硬盘。然而,这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的一变化例,储存媒体120代表本变化例的个人电脑100的一光驱(Optical Disc Drive)所存取的光盘(Optical Disc)。例如:该光盘可为只读存储器型碟片(Compact Disc-ReadOnly Memory,CD-ROM)或可记录型碟片(CD-Recordable,CD-R)。又例如:该光盘可为数字多用途光盘(Digital Versatile Disc,DVD)诸如只读存储器型数字多用途光盘(DVD-ROM)、或符合DVD-R规格或DVD+R规格的数字多用途光盘。 
依据本实施例的另一变化例,储存媒体120代表非遗失性(Non-Volatile,NV)存储器。例如:储存媒体120可为基础输入输出系统只读存储器(BasicInput Output System ROM,BIOS ROM)。依据本实施例的另一变化例,储存媒体120代表本变化例的个人电脑100的一相关的接口电路所存取的非遗失性存储器。例如:该接口电路为一固态硬盘,而储存媒体120为该固态硬盘的闪存(Flash Memory)。依据本实施例的另一变化例,通用串行总线大容量储存设备驱动程序120D可储存于一可携式储存装置中的储存媒体,其中该可携式储存装置例如:记忆卡或通用串行总线快闪碟;本变化例中的储存媒体为闪存。 
图2是本发明一实施例的一种用来增进一部个人电脑与一通用串行总线大容量储存设备之间的数据存取效能的方法910的流程图,其中该个人电脑配备有针对通用串行总线数据存取的多层(Layer)驱动程序,且该些层驱动 程序中的一较低层包含一总线驱动程序(Bus Driver),而该总线驱动程序即所谓的「通用串行总线-总线驱动程序」(USB Bus Driver)。该方法可应用于图1所示的个人电脑100。另外,该方法可藉由利用图1所示的个人电脑100来实施。尤其是,当执行该通用串行总线大容量储存设备驱动程序120D时,个人电脑100依据图2所示的方法来运作;该方法说明如下: 
于步骤912中,处理器110所执行的通用串行总线大容量储存设备驱动程序120D监控由个人电脑100的操作系统110S的一档案系统传送至该些层驱动程序中的一较高层的多个指令。在此,该档案系统即所谓的「操作系统-档案系统」(OS File System),亦可称为操作系统的档案系统。 
于步骤914中,当由该操作系统的档案系统传送至该较高层的一指令用来存取数据量达到一预定阈值的数据时,则处理器110所执行的通用串行总线大容量储存设备驱动程序120D忽略该些层驱动程序中的至少两层之间所传送的多个输入/输出请求封包(Input/Output Request Package,IRP)中的一部分、自动地产生用来回应该些被忽略的输入/输出请求封包的多个回应、以及修改该指令的剩余的输入/输出请求封包中的至少一输入/输出请求封包以通过较少的输入/输出请求封包数量来正确地存取该数据,其中该多个输入/输出请求封包关联于该指令。尤其是,当由该操作系统的档案系统传送至该较高层的该指令用来存取数据量大于该预定阈值的数据时,则处理器110所执行的通用串行总线大容量储存设备驱动程序120D进行上述运作诸如忽略该部分输入/输出请求封包、自动地产生该些回应、以及修改至少一剩余的输入/输出请求封包等。 
实作上,该预定阈值代表等于64千字节(Kilobyte)的数据量。然而,这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的一变化例,该预定阈值可代表小于64千字节的数据量、或代表大于64千字节的数据量。 
图3是本发明一实施例中针对通用串行总线数据存取的多层驱动程序的示意图,其中依据图2所示方法910所实施的通用串行总线大容量储存设备驱动程序120D的一较高滤波器驱动程序(Upper Filter Driver)310U与一较 低滤波器驱动程序(Lower Filter Driver)310L于逻辑上插入该些层驱动程序中的某些层之间或之上。 
依据本实施例,该些层驱动程序中的该较高层包含一碟片驱动程序(DiskDriver)1102D,且该些层驱动程序中的一中间层包含一通用串行总线储存设备驱动程序(USB Storage Driver)1104D,其中标号1106D代表上述的总线驱动程序,而标号1102S代表上述的操作系统的档案系统。另外,该至少两层之间所传送的该些输入/输出请求封包包含该较高层与该中间层之间所传送的输入/输出请求封包。尤其是,该至少两层之间所传送的该些输入/输出请求封包另包含该中间层与该较低层之间所传送的输入/输出请求封包。然而,这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的一变化例,该至少两层之间所传送的该些输入/输出请求封包包含该中间层与该较低层之间所传送的输入/输出请求封包,而该较高层与该中间层之间所传送的输入/输出请求封包当中没有一个是被忽略的。 
图4绘示图3所示实施例中关于忽略多个输入/输出请求封包中的一部分的实施细节。于一实施例中,个人电脑100利用一指令来存取通用串行总线大容量储存设备105,其中该指令指示的数据量等于一兆字节(Megabyte)。较高滤波器驱动程序310U侦测到该数据量达到且大于一预定阈值(例如:64千字节),并且指示相关的驱动程序(例如:较低滤波器驱动程序310L)对应地回应此状况。请注意,通用串行总线大容量储存设备驱动程序120D中的较高滤波器驱动程序310U与较低滤波器驱动程序310L的顺序可以依需要而改变。该较高层的驱动程序首先产生16个输入/输出请求封包,然后该中间层的驱动程序对应地产生48个输入/输出请求封包,诸如图4所绘示的16组输入/输出请求封包401、402、…、与416,其中每一组输入/输出请求封包包含三个输入/输出请求封包,分别为指令的输入/输出请求封包(IRP of Command)、数据的输入/输出请求封包(IRP of Data)、与状态的输入/输出请求封包(IRP ofStatus)。尤其是,该16组输入/输出请求封包包含:第1组输入/输出请求封包{401-1,401-2,401-3}、第2组输入/输出请求封包{402-1,402-2,402-3}、…、与第16组输入/输出请求封包 {416-1,416-2,416-3}。另外,所要存取的数据被分割为16部分以供通过该48个输入/输出请求封包中的16个输入/输出请求封包401-2、402-2、…、与416-2予以载送,其中每一部分可达到最大64千字节的数据量。 
如图4所示,处理器110所执行的通用串行总线大容量储存设备驱动程序120D忽略输入/输出请求封包{401-3,402-1}、{402-3,403-1}、…、与{415-3,416-1},并且自动地产生用来回应该些被忽略的输入/输出请求封包{401-3,402-1}、{402-3,403-1}、…、与{415-3,416-1}的多个回应。于一实施例中,处理器110所执行的较低滤波器驱动程序310L忽略输入/输出请求封包{401-3,402-1}、{402-3,403-1}、…、与{415-3,416-1},并且自动地产生用来回应该些被忽略的输入/输出请求封包{401-3,402-1}、{402-3,403-1}、…、与{415-3,416-1}的该些回应。另外,处理器110所执行的通用串行总线大容量储存设备驱动程序120D修改剩余的输入/输出请求封包401-1、{401-2,402-2,…,416-2}、与416-3中的至少一输入/输出请求封包,以通过较少的输入/输出请求封包数量来正确地存取该数据。尤其是,处理器110所执行的通用串行总线大容量储存设备驱动程序120D修改输入/输出请求封包401-1的一标头(Header)中的一字段,其中修改后的该字段用来指出该些剩余的输入/输出请求封包中的至少一部分(例如:该些剩余的输入/输出请求封包中的一部分、或该些剩余的输入/输出请求封包的全部)的数据量。于一实施例中,处理器110所执行的较低滤波器驱动程序310L修改输入/输出请求封包401-1的一标头中的一字段。由于有许多输入/输出请求封包被忽略了,随同这些输入/输出请求封包的交握机制(Handshake Mechanism)也可跟着被忽略。于是,针对通用串行总线大容量储存设备105的数据存取效能就可被提升。 
图5是本发明一第二实施例的一种个人电脑200的示意图,其中该第二实施例为该第一实施例的变化例。 
在此,前述的通用串行总线大容量储存设备105被代换为位于个人电脑200的外的通用串行总线大容量储存设备205,其中使用者可在有需要时将通用串行总线大容量储存设备205从个人电脑200的通用串行总线端口130P 分解开来。本实施例与前述实施例/变化例相仿的处不再重复赘述。 
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。 

Claims (8)

1.一种用来增进存取效能的方法,该方法用来增进一部个人电脑与一通用串行总线大容量储存设备之间的数据存取的效能,该个人电脑配备有针对通用串行总线数据存取的多层驱动程序,该些层驱动程序中的一较低层包含一总线驱动程序,其特征在于,该方法包含有:
监控由该个人电脑的一操作系统的档案系统传送至该些层驱动程序中的一较高层的多个指令;以及
当由该操作系统的档案系统传送至该较高层的一指令用来存取数据量达到一预定阈值的数据时,则忽略该些层驱动程序中的至少两层之间所传送的多个输入/输出请求封包中第一组输入/输出请求封包中的状态的输入/输出请求封包,最后一组输入/输出请求封包中的指令的输入/输出请求封包,以及其它组输入/输出请求封包中的状态的输入/输出请求封包和指令的输入/输出请求封包;自动地产生用来回应该些被忽略的输入/输出请求封包的多个回应;以及修改剩余的输入/输出请求封包中的至少一输入/输出请求封包的一标头中的一字段,其中修改后的该字段用来指出该些剩余的输入/输出请求封包中的至少一部分的数据量,从而通过较少的输入/输出请求封包数量来正确地存取该数据,其中该多个输入/输出请求封包关联于该指令。
2.如申请专利范围第1项所述的方法,其特征在于,其中该些层驱动程序中的该较高层包含一碟片驱动程序,以及该些层驱动程序中的一中间层包含一通用串行总线储存设备驱动程序。
3.如申请专利范围第2项所述的方法,其特征在于,其中该至少两层之间所传送的该些输入/输出请求封包包含该较高层与该中间层之间所传送的输入/输出请求封包。
4.如申请专利范围第3项所述的方法,其特征在于,其中该至少两层之间所传送的该些输入/输出请求封包另包含该中间层与该较低层之间所传送的输入/输出请求封包。
5.如申请专利范围第2项所述的方法,其特征在于,其中该至少两层之间所传送的该些输入/输出请求封包包含该中间层与该较低层之间所传送的输入/输出请求封包。
6.如申请专利范围第1项所述的方法,其特征在于,其中修改该指令的该些剩余的输入/输出请求封包中的该至少一输入/输出请求封包的步骤另包含:
修改该输入/输出请求封包的一标头中的一字段,其中修改后的该字段用来指出该些剩余的输入/输出请求封包中的至少一部分的数据量。
7.如申请专利范围第1项所述的方法,其特征在于,其中该预定阈值代表小于或等于64千字节的数据量。
8.一种用来增进存取效能的装置,该装置用来增进一部个人电脑与一通用串行总线大容量储存设备之间的数据存取的效能,该个人电脑配备有针对通用串行总线数据存取的多层驱动单元,该些层驱动单元中的一较低层包含一总线驱动单元,其特征在于,该装置包含有:
用于监控由该个人电脑的一操作系统的档案系统传送至该些层驱动程序中的一较高层的多个指令的装置;以及
用于当由该操作系统的档案系统传送至该较高层的一指令用来存取数据量达到一预定阈值的数据时,忽略该些层驱动单元中的至少两层之间所传送的多个输入/输出请求封包中第一组输入/输出请求封包中的状态的输入/输出请求封包,最后一组输入/输出请求封包中的指令的输入/输出请求封包,以及其它组输入/输出请求封包中的状态的输入/输出请求封包和指令的输入/输出请求封包;自动地产生用来回应该些被忽略的输入/输出请求封包的多个回应;以及修改剩余的输入/输出请求封包中的至少一输入/输出请求封包的一标头中的一字段的装置,其中修改后的该字段用来指出该些剩余的输入/输出请求封包中的至少一部分的数据量,从而通过较少的输入/输出请求封包数量来正确地存取该数据,其中该多个输入/输出请求封包关联于该指令。
CN 201010121082 2010-02-02 2010-02-02 用来增进存取效能的方法和装置 Active CN102141897B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010121082 CN102141897B (zh) 2010-02-02 2010-02-02 用来增进存取效能的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010121082 CN102141897B (zh) 2010-02-02 2010-02-02 用来增进存取效能的方法和装置

Publications (2)

Publication Number Publication Date
CN102141897A CN102141897A (zh) 2011-08-03
CN102141897B true CN102141897B (zh) 2013-01-02

Family

ID=44409445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010121082 Active CN102141897B (zh) 2010-02-02 2010-02-02 用来增进存取效能的方法和装置

Country Status (1)

Country Link
CN (1) CN102141897B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874223B (zh) * 2017-01-24 2021-04-20 合肥兆芯电子有限公司 数据传输方法、存储器存储装置及存储器控制电路单元

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1912822A (zh) * 2006-08-25 2007-02-14 北京飞天诚信科技有限公司 一种使海量存储类设备能提供智能卡接口的装置及方法
EP1579334B1 (en) * 2002-12-16 2007-04-04 Unisys Corporation Universal multi-path driver for storage systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1579334B1 (en) * 2002-12-16 2007-04-04 Unisys Corporation Universal multi-path driver for storage systems
CN1912822A (zh) * 2006-08-25 2007-02-14 北京飞天诚信科技有限公司 一种使海量存储类设备能提供智能卡接口的装置及方法

Also Published As

Publication number Publication date
CN102141897A (zh) 2011-08-03

Similar Documents

Publication Publication Date Title
CN1122281C (zh) 一种多功能半导体存储装置
CN1324450C (zh) 存储系统和存储控制装置及存储控制装置的控制方法
US20130013852A1 (en) Memory controlling method, memory controller and memory storage apparatus
CN104951252A (zh) 一种数据访问方法及PCIe存储设备
CN101449248A (zh) 数据存储装置以及数据存储方法
CN101042632A (zh) 控制物理链接分配的计算机系统及方法
CN103905311A (zh) 流表匹配方法和装置以及交换机
US20230076381A1 (en) Data recovery method, system, and apparatus in storage system
CN103218416A (zh) 一种数据库加载方法、装置及系统
CN104598409B (zh) 一种处理输入输出请求的方法及设备
US9245613B2 (en) Storage interface apparatus for solid state drive tester
CN103389942A (zh) 控制装置、存储装置及存储控制方法
CN102656936A (zh) 一种lte基站中基带资源池的实现方法及装置
CN102141897B (zh) 用来增进存取效能的方法和装置
CN104035728A (zh) 一种硬盘热插拔处理方法、装置及节点
CN104808953A (zh) 控制数据存储的方法、装置及移动终端
CN1879343A (zh) 数据处理装置
CN101789259B (zh) 应用于快闪存储器的阶层化分层处理数据的方法及其装置
CN103970512A (zh) 多核处理器及其并行重放方法
CN110554833A (zh) 存储设备中并行处理io命令
CN115883022B (zh) Dma传输控制方法、装置、电子设备及可读存储介质
CN116185300A (zh) 一种在主机端基于深度学习完成固态硬盘高效垃圾回收的软硬件实现办法
CN106708445A (zh) 链路选择方法及装置
CN103973534A (zh) 一种模拟u盘共享方法以及设备
EP3534576A1 (en) Packet transmission

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