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

文档序号:9564568阅读:319来源:国知局
输入/输出拦截器及使用其的输入/输出拦截方法
【技术领域】
[0001] 本发明构思涉及计算机存储技术,更具体地讲,涉及一种具有嵌入在计算机装置 (诸如智能电话或平板电脑)的存储栈内的智能冲洗(flush)控制逻辑的输入/输出(1/ 0)拦截器。
【背景技术】
[0002] 对移动装置(诸如移动电话或平板电脑)的性能要求正在提高。传统上在多种独 立的装置(诸如相机、计算器、个人计算机、服务器、全球定位系统(GPS)装置等)上完成的 事情现在由移动装置合并和处理。虽然在这种移动装置的处理器性能和无线数据速度稳步 提高,但是在这种移动装置内的本地存储栈未得到快速发展。通常被用于确保数据一致性 (consistency)的冲洗请求已成为性能的障碍,这是因为I/O在冲洗命令期间被堵塞。因 此,这种移动装置的存储栈以及关联的本地存储装置已成为性能瓶颈。本发明构思的实施 例解决本领域的这些和其它限制。

【发明内容】

[0003] 本发明构思的实施例可包括一种输入/输出(I/O)拦截器逻辑部。I/O拦截器逻 辑部可包括:I/O接口,与存储栈通信地连接并被配置为拦截来自应用的多个写I/O和多个 冲洗请求。一个或更多个临时写暂存缓冲器可被配置为从I/O接口接收所述多个写I/O并 存储所述多个写I/O。重排序逻辑部可通信地连接到所述一个或更多个临时写暂存缓冲器, 并被配置为改变存储在所述一个或更多个临时写暂存缓冲器中的所述多个写I/O的顺序。 另外,重排序逻辑部可将重排序的多个写I/O组合成组合写I/O。智能冲洗控制逻辑部可被 配置为从I/O接口接收所述多个冲洗请求。在所述多个写I/O未被写入到非易失性存储装 置的情况下,智能冲洗控制逻辑部可将所述多个写I/O的写I/O完成传送到所述应用。另 外,响应于所述多个冲洗请求之中的预定义的第N冲洗请求、阈值数据量被累积和预定义 的时间段期满中的至少一个,智能冲洗控制逻辑部可促使所述组合写I/O被写入到非易失 性存储装置中。
[0004] 本发明的实施例可包括一种输入/输出(I/O)拦截器逻辑部。I/O拦截器逻辑部 可包括:I/O接口,与存储栈通信地连接并配置为拦截来自应用的多个写I/O和多个冲洗请 求。多个临时写暂存缓冲器可被配置为从I/O接口接收所述多个写I/O并存储所述多个写 I/O。多缓冲器暂存队列可被配置为保持所述多个临时写暂存缓冲器。智能冲洗控制逻辑部 可被配置为从I/O接口接收所述多个冲洗请求。智能冲洗控制逻辑部可被配置为在多数多 个写I/O未被写入到非易失性存储装置中的情况下,将所述多个写I/O的写I/O完成传送 到所述应用。智能冲洗控制逻辑部可被配置为响应于所述多个冲洗请求之中的预定义的第 N冲洗请求、阈值数据量被累积和预定义的时间段期满中的至少一个,促使多缓冲器暂存队 列将所述多个写I/O从所述多个临时写暂存缓冲器清空到非易失性存储装置。
[0005] 本发明构思的的实施例可包括一种输入/输出(I/O)拦截器。所述I/O拦截器包 括:I/O接口,被配置为与存储栈通信地连接,以拦截来自应用的多个写I/O和多个冲洗请 求;至少一个临时写暂存缓冲器,被配置为从I/O接口接收所述多个写I/O并存储所述多个 写I/O;智能冲洗控制逻辑部,被配置为从I/O接口接收所述多个冲洗请求,在所述多个写 I/O未被写入到非易失性存储装置的情况下,将指示所述多个写I/O的写I/O完成的消息传 送到所述应用。
[0006] 本发明构思的实施例可包括一种计算机实现的用于使用输入/输出(I/O)拦截器 逻辑部拦截来自应用的I/O的方法。所述方法可包括:通过I/O拦截器逻辑部的I/O接口 拦截来自应用的多个写I/O和多个冲洗请求。所述方法可包括:通过一个或更多个临时写 暂存缓冲器存储由I/O接口拦截的所述多个写I/O。所述方法可包括:通过重排序逻辑部 改变被存储在所述一个或更多个临时写暂存缓冲器中的所述多个写I/O的顺序。所述方法 可包括:通过重排序逻辑部将重排序的多个写I/O组合成组合写I/O。所述方法可包括:通 过智能冲洗控制逻辑部从I/O接口接收所述多个冲洗请求。所述方法可包括:通过智能冲 洗控制逻辑部,在所述多个写I/O未被写入到非易失性存储装置中的情况下,将所述多个 写I/O的写I/O完成传送到所述应用。所述方法可包括:通过智能冲洗控制逻辑部,响应于 所述多个冲洗请求之中的预定义的第N冲洗请求、阈值数据量被累积或预定义的时间段期 满中的至少一个,促使所述组合写I/O被写入到非易失性存储装置中。
[0007] 本发明构思的实施例可包括一种计算机实现的用于使用输入/输出(I/O)拦截器 逻辑部拦截来自应用的I/O的方法。所述方法可包括:通过I/O接口拦截来自应用的多个 写I/O和多个冲洗请求。所述方法可包括:通过多个临时写暂存缓冲器存储通过I/O接口 拦截的所述多个写I/O。所述方法可包括:通过多缓冲器暂存队列保持所述多个临时写暂 存缓冲器。所述方法可包括:通过智能冲洗控制器逻辑部从I/O接口接收所述多个冲洗请 求。所述方法可包括:通过智能冲洗控制器逻辑部,在所述多个写I/O未被写入到非易失 性存储装置中的情况下,将所述多个写I/O的写I/O完成传送到所述应用。所述方法可包 括:通过智能冲洗控制器逻辑部,响应于所述多个冲洗请求之中的预定义的第N冲洗请求、 阈值数据量被累积和预定义的时间段期满中的至少一个,促使多缓冲器暂存队列将所述多 个写I/O从所述多个临时写暂存缓冲器清空到非易失性存储装置。
[0008] 本发明构思的示例性实施例可包括一种用于使用输入/输出(I/O)拦截器逻辑部 拦截来自应用的I/O的系统。所述系统可包括移动装置,其中,移动装置包括应用空间、内 核空间和一个或更多个物理硬件装置。所述系统可包括可在内核空间中操作的输入/输出 (I/O)拦截器逻辑部。I/O拦截器逻辑部可包括:1/〇接口,与存储栈通信地连接并被配置 为在应用空间内拦截来自应用的多个写I/O和多个冲洗请求;一个或更多个临时写暂存缓 冲器,被配置为从I/O接口接收所述多个写1/0,并存储所述多个写I/O ;重排序逻辑部,通 信地连接到所述一个或更多个临时写暂存缓冲器,并被配置为改变被存储在所述多个写暂 存缓冲器中的所述多个写I/O的顺序,并将重排序的多个写I/O组合成组合写I/O ;智能冲 洗控制逻辑部,被配置为从I/O接口接收所述多个冲洗请求,在所述多个写I/O未被写入到 一个或更多个物理硬件装置之中的非易失性存储装置中的情况下,将所述多个写I/O的写 I/O完成传送到所述应用,并响应于所述多个冲洗请求之中的预定义的第N冲洗请求、阈值 数据量被累积和预定义的时间段期满中的至少一个,促使所述组合写I/O被写入到非易失 性存储装置中。
[0009] 本发明构思的实施例可包括一种用于使用输入/输出(I/O)拦截器拦截来自应用 的I/O的方法。所述方法可包括:通过I/O拦截器的I/O接口,拦截来自应用的多个写I/O 和多个冲洗请求;通过I/O拦截器的至少一个临时写暂存缓冲器,存储由I/O接口拦截的所 述多个写I/O;通过I/O拦截器的智能冲洗控制逻辑部从I/O接口接收所述多个冲洗请求; 在所述多个写I/O未被写入到非易失性存储装置中的情况下,通过智能冲洗控制逻辑部将 表示所述多个写I/O的写I/O完成的消息传送到所述应用。
[0010] 本发明的某些特征可通过将它们实现在处理器中(诸如在ARM处理器核内)而被 最好地实现。其它类型的处理器或专用集成电路(ASIC)和/或固件可实现在此公开的本 发明原理。本发明构思可被实现在各种移动装置(诸如智能电话、平板电脑、笔记本计算机 等)或各种固定装置(诸如桌上型计算机、路由器等)的处理器和/或存储器模块内。
【附图说明】
[0011] 从结合附图进行的以下详细描述,本发明原理的前述和附加特征和优点将变得更 明显,其中:
[0012] 图1是根据本发明构思的实施例的包括应用空间、内核空间、物理硬件装置和I/O 拦截器逻辑部的系统栈的示例框图。
[0013] 图2是根据本发明构思的实施例的图1的系统栈的各种组件的示例示图,其中,示 例示图包括一系列与时间相关的事件。
[0014] 图3是根据本发明构思的实施例的图1的I/O拦截器逻辑部的重排序逻辑部以及 I/O拦截器逻辑部的临时写暂存缓冲器(temporary write holding buffer)的示例示图。
[0015] 图4是根据本发明构思的实施例的图1的I/O拦截器逻辑部的重排序逻辑部和I/ 〇拦截器逻辑部的重新映射存储器部的示例示图。
[0016] 图5是根据本发明构思的实施例的I/O拦截器逻辑部的智能冲洗控制逻辑部和1/ 〇拦截器逻辑部的临时写暂存缓冲器的示例示图。
[0017] 图6是根据本发明构思的实施例的图1的I/O拦截器逻辑部的智能冲洗控制逻辑 部和I/O拦截器逻辑部的临时写暂存缓冲器的另一示例示图。
[0018] 图7至图12是根据本发明构思的实施例的图1的I/O拦截器逻辑部可被嵌入的 各种装置的示意图。
[0019] 图13是示出根据本发明构思的实施例的用于使用I/O拦截器逻辑部拦截来自应 用的I/O的技术的流程图。
[0020] 图14是示出根据本发明构思的实施例的用于使用I/O拦截器逻辑部拦截来自应 用的I/O的另一技术的流程图。
[0021] 图15是包括根据在此公开的本发明构思的实施例的I/O拦截器逻辑部的计算机 系统的框图。
【具体实施方式】
[0022] 现在将详细描述本发明构思的实施例,附图中示出了本发明构思的示例。在以下 的详细描述中,许多特定细节被阐述用于实现对本发明构思的充分理解。然而,应理解,本 领域普通技术人员可在没有这些特定细节的情况下实践本发明构思。在其它情况下,不详 细描述公知方法、过程、组件、电路和网络,以免不必要地模糊实施例的各方面。
[0023] 将理解,虽然术语"第一"、"第二"等可在这里被用于描述各种元件,但是这些元件 不应受这些术语限制。这些术语仅被用于将一个元件与另一个元件区分开。例如,在不脱 离本发明构思的范围的情况下,
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1