输入/输出拦截器及使用其的输入/输出拦截方法_4

文档序号:9564568阅读:来源:国知局
缓冲器暂存队列505将写I/O从临时写暂存缓冲器(例如,Buffer 0、Buffer UBuffer 2和Buffer N)清空到一个或更多个非易失性存储装置135。在此实施例中,避免了对写I/ O的重新排序和重新映射,并且不需要额外的头部或尾部。另一方面,性能的提高不像上述 实施例一样明显,这是因为LBA基本上按照随机的方式被分送到一个或更多个非易失性存 储装置135。在突然断电的事件中,数据一致性仍被保持,这是因为应用意图对数据进行写 入的顺序被保存。
[0051] 图6是根据本发明构思的实施例的(图1和图2的)I/O智能逻辑部120的智能 冲洗控制逻辑部170和I/O拦截器逻辑部的临时写暂存缓冲器160的另一示例示图。图6 是与图5类似,但图6具有显著差异,LBA具有很大的差距。然而,此实施例的操作与以上 参照图5描述的操作相同或相似,因此不重复详细的描述。然而,将理解,图6中示出的具 有悬殊差距的LBA值的实施例落在本发明构思内,并可以以与以上参照图5描述的方式相 同或相似的方式来实现。
[0052] 图7至图12是根据本发明构思的实施例的图1的I/O拦截器逻辑部120可被嵌 入的各种装置的示意图。
[0053] 例如,如图7中可看到的,智能电话705可包括以上被详细描述的I/O拦截器逻辑 部120。类似地,图8中所示的平板电脑805、图9中所示的笔记本计算机905、图10中所示 的移动电话1005、图11中所示的相机1105和图12中所示的桌上型计算机1205可包括以 上被详细描述的I/O拦截器逻辑部120。将理解,使用非易失性存储器的任何适当装置可包 括以上被详细描述的I/O拦截器逻辑部120,或者可用以上被详细描述的I/O拦截器逻辑部 120进行操作。
[0054] 图13是示出根据本发明构思的实施例的用于使用I/O拦截器逻辑部(例如图1的 I/O拦截器逻辑部120)拦截来自应用的I/O的技术的流程图1300。此技术开始于1305, 其中,在1305,来自应用的多个写I/O和多个冲洗请求可被I/O拦截器逻辑部的I/O接口 拦截。在1310,由I/O接口接收的多个写I/O可被一个或更多个临时写暂存缓冲器存储。 在1315,重排序逻辑部可改变存储在一个或更多个临时写暂存缓冲器中的多个写I/O的顺 序。在1320,重排序逻辑部可将重排序的多个写I/O组合成组合的写I/O。
[0055] 在1325,智能冲洗控制逻辑部可从I/O接口接收多个冲洗请求。在1330,在多个 写I/O未被写入非易失性存储装置的情况下,智能冲洗控制逻辑部可将多个写I/O的写I/O 完成传送到应用。换句话说,在写I/O实际上被写入到一个或更多个非易失性存储装置135 中的任意一个之前,智能冲洗控制逻辑部可将写I/O的写I/O完成传送到应用。在1335,响 应于多个冲洗请求之中的预定义的第N冲洗请求、阈值数据量被累积或预定义的时间段期 满中的至少一个,智能冲洗控制逻辑部可促使组合的写I/O被写入到非易失性存储装置。
[0056] 图14是示出根据本发明构思的实施例的用于使用I/O拦截器逻辑部(例如图1 的I/O拦截器逻辑部120)拦截来自应用的I/O的另一技术的流程图1400。该技术开始于 1405,其中,在1405,可由I/O拦截器逻辑部的I/O接口从应用接收多个写I/O和多个冲洗 请求。在1410,由I/O接口拦截的多个写I/O可被多个临时写暂存缓冲器存储。在1415, 多缓冲器暂存队列可保持多个临时写暂存缓冲器。
[0057] 在1420,智能冲洗控制逻辑部可从I/O接口接收多个冲洗请求。在1425,在多个写 I/O未被写入到非易失性存储装置的情况下,智能冲洗控制逻辑部可将多个写I/O的写I/O 完成传送到应用。换句话说,在写I/O实际上被写入到一个或更多个非易失性存储装置135 中的任意一个之前,智能冲洗控制逻辑部可将写I/O的写I/O完成传送到应用。在1430,响 应于多个冲洗请求中的预定义的第N冲洗请求、阈值数据量被累积和预定义的时间段期满 中的至少一个,智能冲洗控制逻辑部可促使多缓冲器暂存队列将多个写I/O从临时写暂存 缓冲器清空到非易失性存储装置。
[0058] 图15是包括根据在此公开的本发明构思的实施例的I/O拦截逻辑部1530的 计算系统1500的框图。参照图15,计算系统1500也可包括时钟1510、随机存取存储 器(RAM) 1515、用户接口 1520、调制解调器1525(诸如基带芯片组)、固态驱动器/硬 盘(SSD) 1540、存储器控制器1545和/或电池1535,其中,时钟1510、随机存取存储器 (RAM) 1515、用户接口 1520、调制解调器1525、固态驱动器/硬盘(SSD) 1540、存储器控制器 1545和/或电池1535中的任意一个或全部可电连接到系统总线1505。I/O拦截器逻辑部 1530可与以上详细描述的I/O拦截器逻辑部120相应,并且如这里所阐述的,I/O拦截器逻 辑部1530也可电连接到系统总线1505。
[0059] 如果计算机系统1500是移动装置,则电池1040可向计算系统1500供电,并且,在 此描述的本发明构思的实施例的实现由于将数据更有效地写入存储器而可降低电池消耗。 虽然图15中未示出,但是计算系统1500还可包括应用芯片组、相机图像处理器(CIS)、移动 DRAM 等。
[0060] 在示例实施例中,计算机系统1500可被用作计算机、便携式计算机、超级移动 PC (UMPC)、工作站、上网本、PDA、web平板电脑、无线电话、移动电话、智能电话、电子书、 PMP (便携式多媒体播放器)、数字相机、数字音频记录器/播放器、数字图像/视频记录器/ 播放器、便携式游戏机、导航系统、黑匣子、3维电视机、能够在无线环境下发送信息和接收 信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构 成通讯网络的各种电子装置之一、RFID、或构成计算机系统的各种电子装置之一。
[0061] 以下讨论旨在提供一种对可实现本发明构思的特定方面的适当机器的简单的、一 般的描述。通常,机器包括系统总线,其中,系统总线连接到处理器、存储器(例如,随机存 取存储器(RAM)、只读存储器(ROM)或其它状态的保存介质)、存储装置、视频接口和输入/ 输出接口端口。机器可至少部被来自传统输入装置(诸如键盘、鼠标等)的输入以及来自另 一机器的指令、与虚拟现实(VR)环境的交互、生物计量反馈或其它输入信号控制。如在此 使用的,术语"机器"旨在广泛地包括单个机器、虚拟机器、或者通信连接的机器、虚拟机器 或共同操作的装置的系统。示例性机器包括计算装置(诸如个人计算机、工作站、服务器、 便携式计算机、手持装置、电话、平板电脑等)以及诸如私人或公共运输工具(例如汽车、火 车、出租车等)的运输装置。
[0062] 机器可包括嵌入式控制器,诸如可编程或非可编程逻辑装置或阵列、专用集成电 路(ASIC)、嵌入式计算机、智能卡等。机器可诸如通过网络接口、调制解调器或其它通信连 接来利用与一个或更多个远程机器的一个或更多个连接。机器可通过物理和/或逻辑网络 (诸如内联网、互联网、局域网、广域网等)相互连接。本领域技术人员将理解,网络通信可 利用各种有线和/或无线短距离或长距离载体和协议,包括射频(RF)、卫星、微波、电气电 子工程师协会(IEEE) 545. 11、蓝牙?、光纤、红外、电缆、激光等。
[0063] 本发明构思的实施例可参照或结合关联数据(包括函数、程序、数据结构、应用程 序等)被描述,其中,当关联数据被机器访问时导致机器执行任务或定义抽象数据类型或 底层硬件环境。关联数据可被存储在例如易失性和/或非易失性存储器(例如,RAM、ROM 等)中,或者可被存储在其它存储装置和它们的关联存储介质(包括硬件驱动器、软盘、光 学存储器、磁带、闪存、记忆棒、数字视频盘、生物学存储器等)中。关联数据可以以包、串行 数据、并行数据、传播信号等的形式经由传输环境(包括物理和/或逻辑网络)被传送。关 联数据可在分布式环境中被使用,并被本地和/或远程地存储已被机器访问。
[0064] 已参照示出的实施例描述和说明了本发明构思的原理,将认识到,所示出的实施 例可在不脱离所述原理的情况下在排列和细节上被修改,并可以以任何期望的形式被合 并。虽然前述讨论专注于特定实施例,但是其它配置被考虑。具体地,即使诸如"根据本发 明构思的实施例"等的表述在此被使用,这些短语用意在于涉及实施例的可能性,并不旨在 将本发明构思限制为特定实施例配置。如这里所使用的,这些术语可涉及被合并为其它实 施例的相同或不同实施例。
[0065] 本发明构思的实施例可包括非暂时性机器可读介质,其中,非暂时性机器可读介 质包括可由一个或更多个处理器执行的指令,包括包含用于执行如在此描述的本发明构思 的元件的指令的指令。
[0066] 上述说明性的实施例不应被解释为限制本发明构思。虽然已描述了一些实施例, 但是本领域的技术人员将容易理解,在不严重脱离本公开的新颖教导和优点的情况下,能 够对这些实施例进行很多修改。因此,所有的这些优点都应被包括在权利要求中限定的本 发明构思的范围内。
【主权项】
1. 一种输入/输出(I/O)拦截器,包括: I/O接口,被配置为与存储栈通信地连接,以拦截来自应用的多个写I/O和多个冲洗请 求; 至少一个临时写暂存缓冲器,被配置为从I/O接口接收所述多个写I/O并存储所述多 个写I/O; 智能冲洗控制逻辑部,被配置为从I/O接口接收所述多个冲洗请求,在所述多个写I/O未被写入到非易失性存储装置的情况下,将指示所述多个写I/O的写I/O完成的消息传送 到所述应用。2. 如权利要求1所述的I/O拦截器,其中,智能冲洗控制逻辑部,还被配置为响应于所 述多个冲洗请求之中的第N冲洗请求、阈值数据量被累积和预定义的时间段期满中的至少 一个,促使所述多个写I/O被写入到非易失性存储装置,其中,N是预定义的正整数值。3. 如权利要求2所述的I/O拦截器,还包括: 重排序逻辑部,通信地连接到所述至少一个临时写暂存缓冲器,并被配置为对存储所 述至少一个临时写暂存缓冲器中的所述多
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1