[发明专利]具有用于实现内部固态驱动器操作的外部软件执行的固态驱动器在审
申请号: | 202011451905.2 | 申请日: | 2020-12-10 |
公开(公告)号: | CN113448504A | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | J·D·特伦戈;R·艾克;M·阿利森;E·霍夫曼 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 刘瑜 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 具有 用于 实现 内部 固态 驱动器 操作 外部 软件 执行 | ||
描述了一种方法。该方法包括执行来自计算系统的系统存储器的固态驱动器程序代码,以执行固态驱动器的垃圾收集、损耗均衡和逻辑块地址到物理块地址的转换例程中的任一项/全部,该固态驱动器耦合到系统存储器是其组件的计算系统。
技术领域
本发明的领域大体涉及计算科学,并且更具体地,涉及具有用于实现内部固态驱动器操作的外部软件执行的固态驱动器。
背景技术
随着云计算、“大数据”、人工智能和其他计算密集型环境的兴起,大容量存储装置正呈现为整体计算系统性能的关键的组件。因此,计算系统设计者一直在寻找减少延时、增加吞吐量、优化功率、和/或提供大容量存储设备的鲁棒性的方法。
附图说明
可以从结合以下附图的具体实施方式中获得对本发明的更好的理解,其中:
图1示出了具有固态驱动器的传统的计算系统;
图2示出了具有固态驱动器的改进的计算系统;
图3示出了由在系统存储器外执行的固态驱动器程序代码采用的数据结构;
图4示出了计算系统。
具体实施方式
图1示出了传统的多处理器计算机系统100。如图1所观察到的,计算机系统包括多个通用的、专用的和/或可重配置的处理核心101_1至101_N。处理核心中的每一个通常包括多个指令执行流水线,其中,这些流水线中的每一个都有其自己的专用L1高速缓存(为了便于说明,在图1中未示出)或便笺式存储器(scratch-pad memory)。每个处理核心还包括为其指令执行流水线提供服务的L2高速缓存102_1至102_N。处理核心101通过网络103互连到彼此、到L3高速缓存104(其为处理核心提供服务)、到系统存储器控制器105和外围控制集线器106。
如本领域中已知的,如果通过流水线中的一个执行的程序代码的线程需要不在流水线的寄存器空间中的数据,则该程序代码将执行存储器存取指令,该指令指定了所需的数据的存储器地址。不是立即从系统存储器107(也被称为“主”存储器)中提取数据,系统将替代地在流水线的L1高速缓存中查找数据项。如果该项不在L1高速缓存中,则系统接下来将查看流水线在其上被实例化的核心的L2高速缓存。如果该项不在L2高速缓存中,则系统将在L3高速缓存104中查找该数据项。如果该项不在L3高速缓存104中,则它将经由系统存储器控制器105(也被称为主存储器控制器105)从系统存储器107中提取该项。
各个核心的L1和L2高速缓存以及L3高速缓存104都是高速缓存一致的。高速缓存一致性是利用协议实现的(例如,在每个高速缓存位置处执行的修改的独占共享无效(MESI)协议),以确保系统不会写入两个不同的版本的数据项。在这里,由于流水线和/或核心中的一个或多个上的多个执行软件线程可能同时期望相同的数据,意图是利用新的信息更新它,因此高速缓存一致性协议有效地防止两个不同的软件线程利用不同的数据写入数据的两个不同的实例。
如图1所观察到的,在各个核心上正在执行的线程中的每一个在系统存储器107中都有其自己的专用操作空间或“占用空间”108_1至108_M。通常,针对系统当前正在执行的每个软件应用,都存在这样的占用空间。每个占用空间108通常包括其对应的线程的程序代码指令和数据。然而,线程的占用空间通常不包含可以被执行的所有程序代码或可以由该线程操作的所有数据。因此,程序代码和/或存储器的页面从大容量存储装置109中被调出(call up),并根据需要被写入线程的占用空间中(通常不包括写回大容量存储装置以给新页面腾出空间的线程的占用空间中的其他页面)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011451905.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具有沟道场管理结构的垂直串驱动器
- 下一篇:多电平单元(MLC)交叉点存储器