CN107402894A - 用于执行自适应中断控制的计算机系统及其控制中断的方法 - Google Patents
用于执行自适应中断控制的计算机系统及其控制中断的方法 Download PDFInfo
- Publication number
- CN107402894A CN107402894A CN201710298925.2A CN201710298925A CN107402894A CN 107402894 A CN107402894 A CN 107402894A CN 201710298925 A CN201710298925 A CN 201710298925A CN 107402894 A CN107402894 A CN 107402894A
- Authority
- CN
- China
- Prior art keywords
- storage device
- interruption
- main frame
- computer system
- request
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Bus Control (AREA)
Abstract
一种计算机系统包括主机和存储设备。主机提供输入/输出请求(IO请求)。存储设备从主机接收IO请求,并在完成IO请求之后向主机发送通知输入/输出完成(IO完成)的中断。主机使用延迟IO的数量来调整存储设备所生成的中断的数量。计算机系统可以基于CPU的负载状态或延迟IO的数量来自适应地控制存储设备的中断生成。可以调整存储设备的中断生成以获得CPU增益,同时不损失计算机系统的性能或处理时间。
Description
相关申请的交叉引用
本申请要求于2016年5月19日向韩国知识产权局递交的韩国专利申请No.10-2016-0061337的优先权,其公开通过引用全部合并于此。
背景技术
本发明构思的示例实施例总体上涉及计算机系统和/或其控制方法。例如,至少一些示例实施例涉及一种用于执行自适应中断控制的计算机系统和/或用于控制其中断的方法。
计算机系统可以包括主机和存储设备。主机可以是计算机主体机或服务器系统。存储设备可以电连接到主机。存储设备可以从主机接收输入/输出(IO)请求并处理接收到的IO请求。存储设备完成IO请求并且可以向主机提供中断,从而向主机通知IO完成。
常规存储设备可能具有比主机的数据处理速度更低的数据处理速度。因此,当存储设备处理IO请求时,主机可以执行另一程序以增强系统的性能。当主机经由IO请求从存储设备接收到中断时,在执行另一程序时,主机可停止正在执行的程序并处理中断。在处理中断之后,主机可以恢复停止的程序并执行恢复的程序。
随着半导体制造技术的进步,存储设备的输入/输出处理速度已经提高到接近主机的数据处理速度。随着存储设备的数据处理速度的提高,存储设备可能会生成太多的中断,从而降低计算机系统的性能。
发明内容
示例实施例涉及一种计算机系统和/或用于控制计算机系统的中断的方法。
根据本发明构思的示例实施例的计算机系统包括主机和存储设备。存储设备可以被配置为接收输入/输出(IO)请求,并且在完成IO请求之后发送通知输入/输出(IO)完成的中断;以及主机可以被配置为生成IO请求,并且基于延迟IO的数量来调整存储设备所生成的中断的数量。
根据本发明构思的示例实施例的计算机系统包括:第一存储设备,被配置为接收第一输入/输出(IO)请求,并且在完成第一IO请求之后发送通知第一IO完成的中断;第二存储设备,被配置为接收第二IO请求,并且在完成第二IO请求之后发送通知第二IO完成的中断;以及主机,包括第一处理器和第二处理器,所述主机被配置为通过基于所述主机和所述第一存储设备之间的延迟IO的数量调整所述第一存储设备所生成的中断的数量来执行所述第一处理器的自适应中断控制,并且通过基于所述主机和所述第二存储设备之间的延迟IO的数量调整所述第二存储设备所生成的中断的数量来执行所述第二处理器的自适应中断控制。
根据本发明构思的示例实施例的控制连接到主机的存储设备的中断的方法包括:从主机接收输入/输出(IO)请求;基于所述主机和所述存储设备之间的延迟IO的数量来调整所述存储设备所生成的中断的数量;完成从所述主机接收到的IO请求;以及基于经调整的所生成的中断的数量,向所述主机发送指示输入/输出(IO)完成的中断。
根据本发明构思的示例实施例的主机设备可以包括:接口,被配置为与存储设备通信;以及处理器,被配置为基于与所述主机设备相关联的空闲率和在所述主机设备处未决的中断数量中的一个或多个来激活自适应中断控制(AIC),所述AIC指示所述存储设备减少发送到所述主机设备的中断的数量。
附图说明
下面将参照本发明构思的非限制性示例实施例的附图更详细地描述本发明构思的示例实施例的前述和其它特征,其中相同的附图标记在不同视图中表示相同的部件。附图不必成比例,而是重点在于图示本发明构思的原理。在附图中:
图1是计算机系统的框图;
图2是概述图1所示的计算机系统的操作的流程图;
图3是根据本发明构思的示例实施例的计算机系统的框图;
图4是图3所示的AIC单元的框图;
图5是概述图4所示的负载监视器的操作的流程图;
图6是概述图4所示的决策制定器的操作的流程图;
图7和图8分别是概述图4所示的中断控制器的操作的流程图;
图9是示出了图4所示的提交队列和完成队列的操作的概念图;
图10是定义图9所示的延迟IO的表格;
图11是根据本发明构思的示例实施例的计算机系统的框图;以及
图12是根据本发明构思的示例实施例的计算机系统的框图。
具体实施方式
图1是根据示例实施例的计算机系统100的框图。
参考图1,如所示出的,计算机系统100包括主机110和存储设备120。主机110可以是诸如服务器计算机、台式计算机、膝上型计算机和/或平板个人计算机(PC)之类的电子设备。主机110可以连接到除存储设备120之外的外围设备(例如,键盘、鼠标、打印机、显示器等)。
主机110可以处理数据,并且可以向存储设备120发出数据输入/输出请求。在下文中,主机110向存储设备120发出数据输入/输出请求的一系列操作将被简称为“IO请求”。
存储设备120可以电连接到主机110。存储设备120可以是基于闪存的存储介质,诸如固态驱动器(SSD)、个人计算机存储卡国际协会(PCMCIA)、紧凑型闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC,RS-MMC或MMCmicro)、SD卡(SD、miniSD、microSD或SDHC)、通用串行总线(USB)存储卡和/或通用闪速存储器(UFS)。存储设备120可以使用诸如嵌入式多媒体卡(eMMC)、UFS和/或完美页面新型(PPN)存储器之类的嵌入式存储器来实现。
继续参考图1,主机110可以向存储设备120发出数据输入/输出请求(IO请求)。例如,主机110可以提供将数据写入存储设备120的写入请求或从存储设备120读取数据的读取请求。存储设备120可以接收IO请求并且可以处理所接收的IO请求。存储设备120可以完成IO请求并且可以生成中断。存储设备120可以通过中断向主机110通知IO完成。
图2是概述图1所示的计算机系统100的操作的流程图。
参考图2,在操作S110中,主机110可以发出IO请求以将数据写入存储设备120或从存储设备120读取数据。例如,当主机110希望将图像文件存储在存储设备120中时,主机110可以向存储设备120发出写入请求。当主机110希望读取(或者备选地,查看)存储在存储设备120中的图像时,主机110可以发出读取请求。
在操作S120中,存储设备120可以从主机110接收IO请求,并且可以执行IO请求。存储设备120可以包括具有高输入/输出处理速度的第一存储介质和用于长时间保持数据的第二存储介质。第一存储介质可以使用随机存取易失性存储器(例如,DRAM)或非易失性存储器(例如,PRAM或MRAM)来实现。第二存储介质可以使用诸如闪存的非易失性存储器来实现。然而,示例实施例不限于此。
在写入请求的情况下,存储设备120可以接收写入请求并且可以将数据存储在第一存储介质中。存储设备120可以将存储在第一存储介质中的数据内部地移动到第二存储介质。存储设备120可以在空闲时间或后台操作期间执行将数据移动到第二存储介质的操作。
在操作S130中,存储设备120可以完成IO请求并且可以向主机110提供中断。例如,当从主机110接收的数据被存储在第一存储介质中时,存储设备120可以生成IO完成。也就是说,即使当存储设备120尚未完成将数据内部地移动到第二存储介质时,存储设备120也可以对IO完成进行处理。存储设备120可以向主机110提供中断以通知IO完成。
在操作S140中,主机110从存储设备120接收中断并保存正在执行的上下文(context)。
在操作S150中,在保存了正在执行的上下文之后,主机110处理中断。
在操作S160中,在处理了中断之后,主机110恢复保存的上下文。
在操作S170中,在恢复了上下文之后,主机110可以重新调整调度。
存储设备120的IO处理速度可以低于主机110的IO处理速度。当存储设备120处理IO请求时,主机110等待直到存储设备120处理了IO请求。为了降低开销,主机110可以在存储设备120执行IO请求的同时执行另一上下文。当主机110在执行上下文时接收到中断时,主机110保存正在执行的上下文并处理该中断。
图1所示的计算机系统100可以在存储设备120的IO处理速度低时降低主机110的开销。也就是说,主机110可以在存储设备120执行IO请求的同时使用中断执行另一上下文。
图3是根据本发明构思的示例实施例的计算机系统1000的框图。
参考图3,如所示出的,计算机系统1000包括主机1100、存储设备1200和输入/输出(IO)设备1300。主机1100可以通过外部总线连接到存储设备1200和IO设备1300。存储设备1200可以是高速操作的存储介质,诸如固态设备(SSD)。IO设备1300可以是用于输入或输出数据的设备,诸如键盘、鼠标、监视器和打印机。
仍然参考图3,主机1100可以包括中央处理单元(CPU)1110、随机存取存储器(RAM)1120、自适应中断控制(AIC)单元1130和外部存储器接口1140。
CPU 1110执行主机1100的程序命令。也就是说,CPU 1110可以解译程序命令,并且可以根据解译的程序命令来控制主机1100的整体操作。另外,CPU 1110不仅可以执行诸如加法、减法、乘法和除法之类的算术运算,还可以执行诸如AND、OR、NOT和XOR之类的逻辑运算。
可以基于每秒执行的IO操作的数量来测量CPU 1110的性能。CPU 1110的处理速度可以由作为频率单位的赫兹(Hz)来表示。频率值越大,CPU 1110的速度越高。另外,可以基于包括在CPU 1110中的内核的数量来评估CPU 1110的性能。随着多核CPU的出现,CPU 1110的处理速度可以变得高很多。
RAM 1120可以用于执行CPU 1110的算术运算或者用于驱动操作系统(OS)或设备驱动程序。RAM 1120可以用作主存储器设备。RAM 1120可以使用诸如DRAM或SRAM的易失性存储器来实现。另外,RAM 1120可以使用诸如PRAM或MRAM的非易失性存储器来实现。
AIC单元1130可以包括用于驱动存储设备1200的设备驱动程序。可以以软件或固件的形式通过互联网下载设备驱动程序,或者可以通过存储介质(例如,CD或USB存储器)执行设备驱动程序。备选地,可以将设备驱动程序从存储设备1200或与主机1100相关联的非易失性存储器(未示出)加载到主机1100。设备驱动程序可以由CPU 1110执行,以将CPU1110配置为执行AIC单元1130的操作。
AIC单元1130可以调整存储设备1200的中断生成。例如,AIC单元1130可以感测CPU1110的IO负载以调整中断生成。另外,AIC单元1130可以在主机1100和存储设备1200的IO操作期间通过延迟IO来调整中断生成。以下将详细地描述AIC单元1130的配置和操作原理。
外部存储器接口1140可以通过外部总线连接到存储设备1200。外部存储器接口1140可以具有各种接口方案。例如,外部存储器接口1140可以通过诸如SATA、PATA、eMMC、UFS、USB、PCIe和NVMe之类的标准与存储设备1200交换数据。
根据数据IO速度,存储设备1200可以被分类为高速存储设备和低速存储设备。可以根据存储介质的类型和接口来决定存储设备1200的数据IO速度。通常,高速存储设备可以基于闪存,低速存储设备可以基于磁盘。
当存储设备1200以高速输入和输出数据时,可能会生成太多中断。当生成了太多中断时,在主机1100中可能发生过多的开销。例如,将假设存储设备1200具有每秒1兆IO(1MIOPS)的输入/输出速度。也就是说,存储设备1200可以每秒在算术上生成一百万次中断。当在存储设备1200中每秒生成一百万次中断时,主机1100执行一系列操作,以停止正在执行的上下文,处理中断并恢复上下文一百万次。
当存储设备1200高速操作时,由中断引起的开销不断增加。为此,在Linux系统中,特定的CPU周期被占用数十秒以仅处理中断,因此出现软锁定错误。由于在高速存储设备中太频繁生成的中断,计算机系统1000的性能可能劣化。
计算机系统1000可以基于CPU的负载状态和/或延迟IO的数量,通过AIC单元1130自适应地控制存储设备1200的中断生成。可以调整存储设备1200的中断生成以确保CPU增益,同时不损失计算机系统1000的性能或处理时间。
图4是图3所示的AIC单元1130的框图。如上所述,在一些示例实施例中,CPU 1110可以执行软件模块,使得CPU 1110执行AIC单元1130的操作以控制存储设备1200。在其他示例实施例中,AIC单元1130的功能可以由包括在主机1100中的专用电路执行。存储设备1200可以是基于闪存的高速存储设备。例如,存储设备1200可以是NVMe SSD。
参考图4,AIC单元1130包括负载监视器1131、决策制定器1132和中断控制器1133。
AIC单元1130可以监视CPU 1110的IO负载,以在主机1100和存储设备1200的IO操作期间自适应地控制中断生成。因此,计算机系统1000可以减少主机1100的中断处理负荷,并且可以提高CPU 1110的周期增益。此外,计算机系统1000可以减少所生成的中断的数量,以防止IO性能的劣化或由IO完成处理时间延迟导致的所需处理时间的延迟。
负载监视器1131可以定期地检查CPU负载状态。在将CPU负载状态划分为用户模式、系统模式、IO未决模式和空闲状态模式之后,负载监视器1131可以检查CPU负载状态。例如,负载监视器1131可以使用空闲率来激活自适应中断控制(AIC)。
负载监视器1131可以通过将空闲率与阈值进行比较来激活AIC。例如,当空闲率低于阈值(例如,10%)时,负载监视器1131可以激活AIC。相反,当空闲率高于阈值(例如,10%)时,负载监视器1131可以停用AIC。
决策制定器1132可以控制存储设备1200的中断生成。当主机1100期望控制存储设备1200的中断时,决策制定器1132可以确定中断控制级(ICL)。决策制定器1132可以使用延迟IO来确定ICL。可以使用主机1100中的提交IO和存储设备1200中的完成IO来获得延迟IO。
决策制定器1132可以基于在特定时间点在主机1100中提交的IO(以下称为“IOsq”)和在特定时间点在存储设备1200中完成的IO(以下称为“IOcq”)来计算延迟IO的数量。在示例实施例中,可以使用IOsq和IOcq之一或它们的和或差来计算延迟IO的数量。例如,决策制定器1132可以使用IOsq和IOcq之差来计算延迟IO的数量。延迟的数量意味着计算机系统1000中当前未决的IO的数量。
决策制定器1132可以基于延迟IO的数量来决定中断控制级ICL。决策制定器1132可以使用用于决定中断控制级ICL的决策函数。可以以各种方式定义决策函数。例如,可以通过将延迟IO的数量除以二来确定决策函数。决策函数可以通过执行算术运算和模运算两者来决定ICL。备选地,决策函数可以通过对延迟IO的数量执行算术运算和模运算两者来决定中断控制级ICL。
当决策制定器1132太频繁地改变中断控制级ICL时,主机1100和存储设备1200之间的IO性能可能劣化。为了防止IO性能的劣化,可以使用模运算将中断控制级ICL调整为固定的窗口大小。为了实现这一点,在主机1100和存储设备1200之间使用期望的(或者备选地,预定的)协议来执行自适应中断控制AIC。例如,NVMe可以通过中断合并/中断向量配置管理命令(设置/获取特征0x8,0x9)来建立协议。
决策制定器1132可以决定中断控制级ICL以减少存储设备1200的中断生成。例如,假设中断控制级ICL为24,则存储设备1200可以省略23次的中断生成,并且可以仅生成一次中断。因此,决策制定器1132可以减少中断生成并防止中断处理时间延迟。
中断控制器1133可以从决策制定器1132接收中断控制级ICL,并且可以向存储设备1200提供中断控制命令CTRL。中断控制器1133可以增加或减少存储设备1200所生成的中断的数量。
仍然参考图4,AIC单元1130可以包括提交队列(SQ)1134和完成队列(CQ)1135。在一些示例实施例中,提交队列1134可以包括在AIC单元1130中。提交队列1134和完成队列1135可以由主机1100的RAM 1120(参见图3)驱动。
提交队列1134可以存储从CPU 1110提供的IO请求,并且可以将存储的IO请求顺序地提供给存储设备1200。提交队列1134可以将IO请求存储在RAM 1120(参见图3)中。另一方面,完成队列1135可以顺序地存储在存储设备1200中完成的IO请求。完成队列1135可以从存储设备1200接收通知IO完成的中断,并且可以存储完成的IO请求。完成队列1135可以将IO完成存储在RAM 1120中。存储设备1200可以接收中断控制命令CTRL并且可以根据中断控制级ICL生成中断。
图5是概述图4所示的负载监视器1131的操作的流程图。
参考图5,如上所述,在一些示例实施例中,CPU 1110可以执行软件模块,使得CPU1110执行包括负载监视器1131在内的AIC单元1130的操作。在其他示例实施例中,AIC单元1130的功能可以由包括在主机1100中的专用电路执行。
在操作S210中,负载监视器1131检查当前CPU 1110的负载状态。负载监视器1131可以接收IO信息并且可以定期地检查负载状态。
在操作S220中,负载监视器1131可以计算CPU 1110的空闲率。CPU 1110的负载状态可以被划分为用户模式、系统模式、IO未决模式和空闲状态模式。CPU的空闲率意味着CPU的空闲状态与整个负载状态的比率。AIC单元1130可以基于空闲率激活自适应中断控制(AIC)。
在操作S230中,负载监视器1131将空闲率与阈值进行比较。例如,负载监视器1131可以确定空闲率是否低于阈值。当空闲率高于或等于阈值(否)时,负载监视器1131可以不执行AIC。如果自适应中断控制正在被执行,则负载监视器1131可以停用自适应中断控制。同时,当空闲率低于阈值(是)时,负载监视器1131进行到操作S240。
在操作S240中,当空闲率低于阈值时,负载监视器1131可以激活AIC。例如,当空闲率低于阈值(例如,10%)时,负载监视器1131可以激活AIC。负载监视器1131可以向决策制定器1132提供用于激活AIC的信号。
图6是概述图4所示的决策制定器1132的操作的流程图。
参考图6,如上所述,在一些示例实施例中,CPU 1110可以执行软件模块,使得CPU1110执行包括决策制定器1132在内的AIC单元1130的操作。在其他示例实施例中,AIC单元1130的功能可以由包括在主机1100中的专用电路执行。
在操作S310中,决策制定器1132可以获得未决的延迟IO的数量。决策制定器1132可以使用提交IO IOsq和完成IO IOcq来计算延迟IO的数量。例如,决策制定器1132可以使用IOsq和IOcq之差来计算延迟IO的数量。延迟IO的数量意味着在计算机系统1000中等待处理的IO的数量。
在操作S320中,决策制定器1132基于延迟IO的数量来计算中断控制级ICL。可以通过期望的(或备选地,预定的)决策函数来获得中断控制级ICL。例如,将假设决策函数是延迟IO的数量的一半。当IOsq为100并且IOcq为10时,延迟IO的数量为90,这是IOsq和IOcq之差。因此,中断控制级ICL由决策函数计算为45。当中断控制级ICL为45时,存储设备1200省略44次的中断生成,并且生成一次中断。
在操作S330中,决策制定器1132将中断控制级ICL与阈值级进行比较。当在操作S320中应用了模运算时,决策制定器1132可以执行操作S330。决策制定器1132可以使用模运算将ICL调整为固定的窗口大小。决策制定器1132确定ICL是否高于阈值级。当ICL低于或等于阈值级(否)时,决策制定器1132可以不执行自适应中断控制(AIC)。相反,当ICL高于阈值级(是)时,决策制定器1132进行到操作S340。
在操作S340中,决策制定器1132可以启用自适应中断控制(AIC)。例如,当中断控制级ICL高于阈值级时,决策制定器1132可以向存储设备1200提供中断控制命令CTRL。
图7和图8是概述图4所示的中断控制器1133的操作的流程图。图7示出了中断控制器1133基于CPU的负载状态和未决IO的数量执行自适应中断控制(AIC)的示例,图8示出了中断控制器1133基于未决IO的数量执行AIC的示例。
参考图7,如上所述,在一些示例实施例中,CPU 1110可以执行软件模块,使得CPU1110执行包括中断控制器1133在内的AIC单元1130的操作。在其他示例实施例中,AIC单元1130的功能可以由包括在主机1100中的专用电路执行。
在操作S410中,中断控制器1133确定是否激活AIC。如图5的操作S230中所述,可以根据CPU空闲率是否高于阈值来确定AIC的激活。当AIC未被激活时,中断控制器1133可以不向存储设备1200提供中断控制命令CTRL。同时,当AIC被激活时,流程进行到S420。
在操作S420中,中断控制器1133可以确定是否启用AIC。如图6的操作S330中所述,可以根据中断控制级(ICL)是否高于阈值来确定AIC的启用。当AIC被启用时,流程进行到S430。
在操作S430中,中断控制器1133向存储设备1200发送中断控制命令CTRL。中断控制器1133可以向存储设备1200提供中断控制命令CTRL以调整所生成的中断的数量。
根据图7所示的中断控制器133的操作方法,可以基于CPU的负载状态和延迟IO的数量来自适应地控制存储设备1200的中断生成。可以调整存储设备1200的中断生成以确保CPU增益,同时不损失计算机系统1000的性能或处理时间。
参考图8,在操作S510中,中断控制器1133确定是否启用AIC。可以通过将中断控制级ICL与阈值级进行比较来进行该确定。当AIC未被启用时,中断控制器1133可以不向存储设备1200提供中断控制命令CTRL。
在操作S520中,当AIC被启用时,中断控制器1133向存储设备1200发送中断控制命令CTRL。中断控制器1133可以向存储设备1200提供中断控制命令CTRL以调整所生成的中断的数量。
图9是示出了图4所示的提交队列和完成队列的操作的概念图。
参考图9,提交队列(SQ)1134包括第一提交队列SQ1至第m提交队列SQm。从CPU1110接收的IO请求被存储在第一提交队列SQ1至第m提交队列SQm中。完成队列(CQ)1135包括第一完成队列CQ1至第n完成队列CQn。从存储设备1200接收的完成信息被存储在第一完成队列CQ1至第n完成队列CQn中。可以通过提交队列(SQ)1134和完成队列(CQ)1135来获得延迟IO的数量。
决策制定器1132可以基于延迟IO的数量来决定中断控制级ICL。等式(1)示出了使用延迟IO的数量决定中断控制级ICL的过程。将假设提交队列IOsq是100(m=100),并且完成队列IOcq是10(n=10)。
P1=IOsq-IOcq 等式(1)
决策制定器1132可以利用等式(1),使用提交队列SQ和完成队列CQ之差(IOsq-IOcq)来计算延迟IO的数量(P1)。在等式(1)中,延迟IO的数量是90。
P2=P1/2 等式(2)
决策制定器1132可以利用等式(2)作为用于获得中断控制级ICL的决策函数。根据等式(2),决策函数(P2)是90/2。也就是说,中断控制级ICL是45。当中断控制级ICL是45时,存储设备1200省略44次的中断生成,并且可以仅生成一次中断。
P3=P2%(windowsize) 等式(3)
决策制定器1132可以利用等式(3)作为用于使用模运算获得中断控制级ICL的决策函数。将假设窗口大小windowsize为24。决策制定器1132对在等式(2)中获得的P2执行模运算以计算中断控制级ICL。决策制定器1132可以通过中断控制级ICL减少存储设备1200的中断生成。
存储设备1200可以接收中断控制命令CTRL以调整中断生成。存储设备1200从提交队列(SQ)1134提取IO请求并执行IO请求。在完成IO请求之后,存储设备1200根据中断控制命令CTRL向完成队列(CQ)1135发送中断。
图10是定义图9所示的延迟IO的表格。
参考图10,可以以各种方式定义延迟IO。可以使用提交队列SQ的数量来定义第一延迟IO。在图10的示例中,第一延迟IO可以为m。可以使用完成队列CQ的数量来定义第二延迟IO。在图10的示例中,第二延迟IO可以为n。可以使用提交队列SQ与完成队列CQ之和(IOsq+IOcq)来定义第三延迟IO。在图10的示例中,第三延迟IO可以为m+n。可以使用提交队列SQ和完成队列CQ之间的差(IOsq-IOcq)来定义第四延迟IO。在图10的示例中,第四延迟IO可以为m-n(m>n)。
图11是根据本发明构思的示例实施例的计算机系统2000的框图。
参考图11,如所示出的,计算机系统2000可以包括主机2100和多个存储设备2210至2230。主机1100可以包括多个中央处理单元(CPU)2111至2113和多个自适应中断控制单元2131至2133。
第一AIC单元2131可以检测第一CPU 2111的负载状态。第一AIC单元2131可以基于主机2100和第一存储设备2210的延迟IO的数量来决定中断控制级ICL。第一AIC单元2131可以向第一存储设备2210发送第一中断控制命令CTRL1。第一存储设备2210可以根据第一中断控制命令CTRL1来调整所生成的中断的数量。第一存储设备2210可以从第一AIC单元2131接收第一IO请求REQ1。在完成第一IO请求REQ1之后,第一存储设备2210可以根据第一中断控制命令CTRL1向第一AIC单元2131发送第一中断INT1。
类似地,第二AIC单元2132可以向第二存储设备2220发送第二中断控制命令CTRL2。在完成第二IO请求REQ2之后,第二存储设备2220可以根据第二中断控制命令CTRL2向第二AIC单元2132发送第二中断INT2。在完成第三IO请求REQ3之后,第三存储设备2230可以根据第三中断控制命令CTRL3向第三AIC单元2133发送第三中断INT3。
即使当主机2100包括多个CPU时,计算机系统2000也可以执行自适应中断控制(AIC)。计算机系统2000可以通过自适应中断控制(AIC)有效地减少所生成的中断的数量。
图12是根据本发明构思的示例实施例的计算机系统3000的框图。
参考图12,如所示出的,计算机系统3000包括主机3100和存储设备3200。主机3100包括中央处理单元(CPU)3110、随机存取存储器(RAM)3120、设备驱动程序3130和外部存储器接口3140。
CPU 3110可以控制主机3100的总体操作。RAM 3120可以用于驱动操作系统(OS)或设备驱动程序3130。设备驱动程序3130可以是用于驱动存储设备3200的软件。外部存储器接口3140可以通过外部总线连接到存储设备3200。
存储设备3200包括闪存3210、存储器控制器3220和自适应中断控制器3230。
存储设备3200可以是基于闪存3210的高速存储设备。当存储设备3200高速执行IO操作时,由于太多的中断,可能在主机3100中产生开销。
在一些示例实施例中,存储器控制器3220可以执行软件模块,使得存储器控制器3220执行AIC控制器3230的操作。在其他示例实施例中,AIC控制器3230可以是专用处理器和/或被设计为执行该处理的电路。
白适应中断控制器3230可以调整存储设备3200的中断生成。自适应中断控制器3230可以在主机3100和存储设备3200的IO操作期间通过延迟IO的数量来调整中断生成。自适应中断控制器3230可以包括图4所示的决策制定器1132和中断控制器1133。
自适应中断控制器3230可以使用提交IO IOsq和完成IO IOcq来计算延迟IO的数量。自适应中断控制器3230可以使用延迟IO的数量来计算中断控制级ICL。存储设备3200可以使用中断控制级ICL自适应地控制中断生成。图12所示的计算机系统3000在存储设备3200中包括自适应中断控制器3230。计算机系统3000可以使用自适应中断控制器3230自适应地调整中断生成,以确保CPU增益,同时不损失计算机系统3000的性能或处理时间。
图12所示的计算机系统3000可以在主机3100的设备驱动程序3130中包括负载监视器1131(参见图4)。设备驱动程序3130可以定期地检查CPU负载状态。设备驱动程序3130可以使用CPU的空闲率来激活自适应中断控制(AIC)。
计算机系统3000可以在存储设备3200中包括自适应中断控制器3230。另外,计算机系统3000可以在设备驱动程序3130中包括负载监视器。计算机系统3000可以基于CPU的负载状态或延迟IO的数量来自适应地控制存储设备3200的中断生成。可以调整存储设备3200的中断生成以确保CPU增益,同时不损失计算机系统3000的性能或处理时间。
如上所述,根据本发明构思的示例实施例的计算机系统可以基于CPU的负载状态或延迟IO的数量来控制存储设备的中断生成。可以有效地调整存储设备的中断生成以增强计算机系统的性能。
以上公开的主题应被视为示例性的而非限制性的,并且所附权利要求意在覆盖落入本发明构思的真实精神和范围之内的所有这种修改、改进和其他特征。因此,在法律允许的最大范围内,本发明构思的范围应由所附权利要求及其等同物的最宽允许解释来确定,并且不应受限于之前的详细说明。尽管已经具体示出和描述了一些示例实施例,但是本领域普通技术人员将理解,在不脱离权利要求的精神和范围的情况下,可以在其中进行形式和细节上的变化。
Claims (22)
1.一种计算机系统,包括:
存储设备,被配置为接收输入/输出IO请求,并且在完成IO请求之后发送通知输入/输出IO完成的中断;以及
主机,被配置为生成IO请求,并且基于延迟IO的数量来调整所述存储设备所生成的中断的数量。
2.根据权利要求1所述的计算机系统,其中,所述主机包括:
存储器,包括:
提交队列,被配置为存储IO请求,和
完成队列,被配置为存储IO完成。
3.根据权利要求2所述的计算机系统,其中,延迟IO的数量等于存储在提交队列中的IO请求的数量。
4.根据权利要求2所述的计算机系统,其中,延迟IO的数量等于存储在完成队列中的IO完成的数量。
5.根据权利要求2所述的计算机系统,其中,延迟IO的数量等于存储在提交队列中的IO请求的数量与存储在完成队列中的IO完成的数量之和。
6.根据权利要求2所述的计算机系统,其中,延迟IO的数量等于存储在提交队列中的IO请求的数量与存储在完成队列中的IO完成的数量之差。
7.根据权利要求1所述的计算机系统,其中,所述主机被配置为确定延迟IO的数量,并基于延迟IO的数量确定中断控制级。
8.根据权利要求7所述的计算机系统,其中:
所述主机被配置为在所述主机确定中断控制级之后向所述存储设备发送中断控制命令,以及
所述存储设备被配置为基于中断控制命令调整所生成的中断的数量。
9.根据权利要求1所述的计算机系统,其中,所述主机被配置为:
监视中央处理单元的负载状态,以及
基于所述负载状态和延迟IO的数量来调整所述存储设备所生成的中断的数量。
10.根据权利要求9所述的计算机系统,其中,所述主机被配置为基于中央处理单元的空闲率和阈值来激活对所述存储设备的自适应中断控制。
11.根据权利要求9所述的计算机系统,其中,所述主机被配置为:
基于延迟IO的数量确定中断控制级,以及
基于中断控制级向所述存储设备发送中断控制命令。
12.根据权利要求11所述的计算机系统,其中,所述主机被配置为确定中央处理单元的负载状态。
13.根据权利要求12所述的计算机系统,其中,所述主机被配置为执行设备驱动程序以驱动所述存储设备。
14.一种计算机系统,包括:
第一存储设备,被配置为接收第一输入/输出IO请求,并且在完成第一IO请求之后发送通知第一IO完成的中断;
第二存储设备,被配置为接收第二IO请求,并且在完成第二IO请求之后发送通知第二IO完成的中断;以及
主机,包括第一处理器和第二处理器,所述主机被配置为:
通过基于所述主机和第一存储设备之间的延迟IO的数量调整第一存储设备所生成的中断的数量,来执行第一处理器的自适应中断控制,以及
通过基于所述主机和第二存储设备之间的延迟IO的数量调整第二存储设备所生成的中断的数量,来执行第二处理器的自适应中断控制。
15.根据权利要求14所述的计算机系统,其中,第一处理器和第二处理器中的每一个被配置为:
确定延迟IO的数量,
基于延迟IO的数量确定中断控制级,以及
基于中断控制级向第一存储设备和第二存储设备发送中断控制命令。
16.根据权利要求15所述的计算机系统,其中,所述主机还被配置为监视第一处理器和第二处理器的负载状态。
17.根据权利要求16所述的计算机系统,其中,所述主机被配置为:
基于第一处理器的空闲率和第一阈值来激活对第一存储设备的自适应中断控制,以及
基于第二处理器的空闲率和第二阈值来激活对第二存储设备的自适应中断控制。
18.一种控制连接到主机的存储设备的中断的方法,所述方法包括:
从主机接收输入/输出IO请求;
基于所述主机和所述存储设备之间的延迟IO的数量来调整所述存储设备所生成的中断的数量;
完成从所述主机接收到的IO请求;以及
基于经调整的所生成的中断的数量,向所述主机发送指示输入/输出IO完成的中断。
19.根据权利要求18所述的方法,还包括:
基于延迟IO的数量确定中断控制级;以及
基于中断控制级调整所生成的中断的数量。
20.根据权利要求19所述的方法,还包括:
监视所述主机中的中央处理单元的负载状态;
向所述存储设备发送所述负载状态;以及
基于所述负载状态激活对所述存储设备的自适应中断控制。
21.一种主机设备,包括:
接口,被配置为与存储设备通信;以及
处理器,被配置为基于与所述主机设备相关联的空闲率和在所述主机设备处未决的中断数量中的一个或多个来激活自适应中断控制AIC,所述AIC指示所述存储设备减少发送到所述主机设备的中断的数量。
22.根据权利要求21所述的主机设备,其中,所述处理器被配置为通过以下操作激活AIC:
确定所述主机设备未决的中断的数量,
基于在所述主机设备处未决的中断的数量来确定中断控制级ICL,以及
如果ICL大于阈值,则指示所述存储设备执行AIC。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160061337A KR102649324B1 (ko) | 2016-05-19 | 2016-05-19 | 적응 인터럽트 제어를 수행하는 컴퓨터 시스템 및 그것의 인터럽트 제어 방법 |
KR10-2016-0061337 | 2016-05-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107402894A true CN107402894A (zh) | 2017-11-28 |
CN107402894B CN107402894B (zh) | 2022-02-11 |
Family
ID=60330136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710298925.2A Active CN107402894B (zh) | 2016-05-19 | 2017-04-27 | 用于执行自适应中断控制的计算机系统及其控制中断的方法 |
Country Status (3)
Country | Link |
---|---|
US (3) | US10318174B2 (zh) |
KR (1) | KR102649324B1 (zh) |
CN (1) | CN107402894B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086232A (zh) * | 2018-07-26 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种事务处理的方法及装置 |
CN110362517A (zh) * | 2018-04-11 | 2019-10-22 | 苹果公司 | 用于动态地调整在计算设备和存储设备之间传输i/o请求的方式的技术 |
CN110618952A (zh) * | 2018-06-20 | 2019-12-27 | 三星电子株式会社 | 半导体装置、主机装置和半导体系统 |
CN111796915A (zh) * | 2019-04-09 | 2020-10-20 | 上海宝存信息科技有限公司 | 中断优化的数据储存装置以及系统 |
CN111857996A (zh) * | 2020-06-30 | 2020-10-30 | 山东云海国创云计算装备产业创新中心有限公司 | 一种中断处理方法、系统、设备及计算机可读存储介质 |
CN113439260A (zh) * | 2018-09-21 | 2021-09-24 | 微软技术许可有限责任公司 | 针对低时延存储设备的i/o完成轮询 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102278721B1 (ko) * | 2016-07-22 | 2021-07-16 | 삼성전자주식회사 | 비휘발성 메모리 익스프레스(NVMe) 장치의 커맨드의 실행 조정을 위한 시스템 및 방법 |
US10452278B2 (en) * | 2017-03-24 | 2019-10-22 | Western Digital Technologies, Inc. | System and method for adaptive early completion posting using controller memory buffer |
US10509569B2 (en) | 2017-03-24 | 2019-12-17 | Western Digital Technologies, Inc. | System and method for adaptive command fetch aggregation |
US10423550B2 (en) * | 2017-10-25 | 2019-09-24 | International Business Machines Corporation | Managing efficient selection of a particular processor thread for handling an interrupt |
CN109445996B (zh) * | 2018-11-09 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种分配io流的方法、系统及相关组件 |
US10635355B1 (en) * | 2018-11-13 | 2020-04-28 | Western Digital Technologies, Inc. | Bandwidth limiting in solid state drives |
JP2021056550A (ja) | 2019-09-26 | 2021-04-08 | キオクシア株式会社 | メモリシステム、メモリシステムの制御方法、および情報処理システム |
CN111221755B (zh) * | 2019-12-28 | 2020-11-10 | 重庆秦嵩科技有限公司 | 一种FPGA2子模块的io中断控制方法 |
KR102549360B1 (ko) * | 2020-12-14 | 2023-06-28 | 재단법인대구경북과학기술원 | 인터럽트 제어 장치 및 방법 |
KR102625723B1 (ko) * | 2020-12-30 | 2024-01-17 | 재단법인대구경북과학기술원 | 전자 장치 및 전자 장치의 제어 방법 |
KR102503579B1 (ko) * | 2020-12-31 | 2023-02-24 | 재단법인 대구경북과학기술원 | 송신 큐에 기초하여 인터럽트를 제어하는 전자 장치 및 이의 제어 방법 |
JP2022107229A (ja) * | 2021-01-08 | 2022-07-21 | 富士通株式会社 | 情報処理装置、制御方法及び制御プログラム |
US20220374149A1 (en) * | 2021-05-21 | 2022-11-24 | Samsung Electronics Co., Ltd. | Low latency multiple storage device system |
US12067254B2 (en) | 2021-05-21 | 2024-08-20 | Samsung Electronics Co., Ltd. | Low latency SSD read architecture with multi-level error correction codes (ECC) |
US11789654B2 (en) | 2021-09-29 | 2023-10-17 | Western Digital Technologies, Inc. | Data storage device and method for file-based interrupt coalescing |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030079067A1 (en) * | 2001-09-28 | 2003-04-24 | Schmidt Donald W. | I/O generation responsive to a workload heuristics algorithm |
CN101000589A (zh) * | 2006-12-22 | 2007-07-18 | 清华大学 | 一种自适应的外部存储设备io性能优化方法 |
US20090319835A1 (en) * | 2007-03-20 | 2009-12-24 | Fujitsu Microelectronics Limited | Processor system optimization supporting apparatus and supporting method |
US20110087814A1 (en) * | 2009-10-09 | 2011-04-14 | Emulex Design & Manufacturing Corporation | Enhanced I/O Performance in a Multi-Processor System Via Interrupt Affinity Schemes |
CN102063335A (zh) * | 2009-11-13 | 2011-05-18 | 大唐移动通信设备有限公司 | 中断控制器以及多核处理器共享设备中断的处理方法 |
CN102622316A (zh) * | 2010-12-22 | 2012-08-01 | 西部数据技术公司 | 选择性地使能主机传递中断 |
CN102789439A (zh) * | 2012-06-16 | 2012-11-21 | 北京忆恒创源科技有限公司 | 控制数据传输过程中的中断的方法 |
CN102945214A (zh) * | 2012-10-19 | 2013-02-27 | 北京忆恒创源科技有限公司 | 基于io延迟时间分布优化中断处理任务的方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5671365A (en) * | 1995-10-20 | 1997-09-23 | Symbios Logic Inc. | I/O system for reducing main processor overhead in initiating I/O requests and servicing I/O completion events |
JP2910694B2 (ja) | 1996-09-12 | 1999-06-23 | 日本電気株式会社 | I/oコントローラ |
US6434630B1 (en) * | 1999-03-31 | 2002-08-13 | Qlogic Corporation | Host adapter for combining I/O completion reports and method of using the same |
JP2002055830A (ja) | 2000-05-29 | 2002-02-20 | Seiko Epson Corp | 割込信号生成装置及び割込信号の生成方法 |
JP2001337838A (ja) | 2000-05-29 | 2001-12-07 | Seiko Epson Corp | 中央処理装置への割込信号発生装置及び割込方法 |
JP2003015888A (ja) | 2001-07-02 | 2003-01-17 | Nec Eng Ltd | Cpu負荷計測方式 |
US7054972B2 (en) * | 2002-12-13 | 2006-05-30 | Lsi Logic Corporation | Apparatus and method for dynamically enabling and disabling interrupt coalescing in data processing system |
CN100470498C (zh) | 2003-08-27 | 2009-03-18 | 皇家飞利浦电子股份有限公司 | 用于支撑和监视微控制器的电路装置和方法 |
JP4009608B2 (ja) | 2004-03-25 | 2007-11-21 | Necエンジニアリング株式会社 | 監視制御装置 |
JP2006252015A (ja) | 2005-03-09 | 2006-09-21 | Nec Engineering Ltd | データ転送制御装置 |
JP2008262370A (ja) | 2007-04-11 | 2008-10-30 | Nec Saitama Ltd | 情報処理装置及び情報処理装置の監視制御方法 |
US7617345B2 (en) * | 2007-07-02 | 2009-11-10 | International Business Machines Corporation | Prioritization of interrupts in a storage controller based on interrupt control directives received from hosts |
JP2010055296A (ja) | 2008-08-27 | 2010-03-11 | Fujitsu Ltd | 負荷分散プログラム及び負荷分散装置 |
JP5804075B2 (ja) | 2011-11-11 | 2015-11-04 | 富士通株式会社 | 電子計算機及び割り込み制御方法 |
WO2013162523A1 (en) | 2012-04-24 | 2013-10-31 | Intel Corporation | Dynamic interrupt reconfiguration for effective power management |
CN102799392B (zh) * | 2012-06-16 | 2015-12-16 | 北京忆恒创源科技有限公司 | 存储设备及其中断控制方法 |
US9298652B2 (en) * | 2013-03-15 | 2016-03-29 | Microsoft Technology Licensing, Llc | Moderated completion signaling |
WO2014209395A1 (en) | 2013-06-28 | 2014-12-31 | Intel Corporation | Adaptive interrupt coalescing for energy efficient mobile platforms |
-
2016
- 2016-05-19 KR KR1020160061337A patent/KR102649324B1/ko active IP Right Grant
-
2017
- 2017-04-27 CN CN201710298925.2A patent/CN107402894B/zh active Active
- 2017-05-18 US US15/598,850 patent/US10318174B2/en active Active
-
2019
- 2019-05-17 US US16/415,068 patent/US11023137B2/en active Active
-
2021
- 2021-05-04 US US17/307,098 patent/US11543968B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030079067A1 (en) * | 2001-09-28 | 2003-04-24 | Schmidt Donald W. | I/O generation responsive to a workload heuristics algorithm |
CN101000589A (zh) * | 2006-12-22 | 2007-07-18 | 清华大学 | 一种自适应的外部存储设备io性能优化方法 |
US20090319835A1 (en) * | 2007-03-20 | 2009-12-24 | Fujitsu Microelectronics Limited | Processor system optimization supporting apparatus and supporting method |
US20110087814A1 (en) * | 2009-10-09 | 2011-04-14 | Emulex Design & Manufacturing Corporation | Enhanced I/O Performance in a Multi-Processor System Via Interrupt Affinity Schemes |
CN102063335A (zh) * | 2009-11-13 | 2011-05-18 | 大唐移动通信设备有限公司 | 中断控制器以及多核处理器共享设备中断的处理方法 |
CN102622316A (zh) * | 2010-12-22 | 2012-08-01 | 西部数据技术公司 | 选择性地使能主机传递中断 |
CN102789439A (zh) * | 2012-06-16 | 2012-11-21 | 北京忆恒创源科技有限公司 | 控制数据传输过程中的中断的方法 |
US20150193360A1 (en) * | 2012-06-16 | 2015-07-09 | Memblaze Technology (Beijing) Co., Ltd. | Method for controlling interruption in data transmission process |
CN102945214A (zh) * | 2012-10-19 | 2013-02-27 | 北京忆恒创源科技有限公司 | 基于io延迟时间分布优化中断处理任务的方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362517A (zh) * | 2018-04-11 | 2019-10-22 | 苹果公司 | 用于动态地调整在计算设备和存储设备之间传输i/o请求的方式的技术 |
CN110618952A (zh) * | 2018-06-20 | 2019-12-27 | 三星电子株式会社 | 半导体装置、主机装置和半导体系统 |
CN110618952B (zh) * | 2018-06-20 | 2024-08-06 | 三星电子株式会社 | 半导体装置、主机装置和半导体系统 |
CN109086232A (zh) * | 2018-07-26 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种事务处理的方法及装置 |
CN113439260A (zh) * | 2018-09-21 | 2021-09-24 | 微软技术许可有限责任公司 | 针对低时延存储设备的i/o完成轮询 |
CN111796915A (zh) * | 2019-04-09 | 2020-10-20 | 上海宝存信息科技有限公司 | 中断优化的数据储存装置以及系统 |
CN111857996A (zh) * | 2020-06-30 | 2020-10-30 | 山东云海国创云计算装备产业创新中心有限公司 | 一种中断处理方法、系统、设备及计算机可读存储介质 |
CN111857996B (zh) * | 2020-06-30 | 2023-04-07 | 山东云海国创云计算装备产业创新中心有限公司 | 一种中断处理方法、系统、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20190272107A1 (en) | 2019-09-05 |
US11543968B2 (en) | 2023-01-03 |
CN107402894B (zh) | 2022-02-11 |
US10318174B2 (en) | 2019-06-11 |
KR20170131738A (ko) | 2017-11-30 |
US20210255780A1 (en) | 2021-08-19 |
KR102649324B1 (ko) | 2024-03-20 |
US20170336988A1 (en) | 2017-11-23 |
US11023137B2 (en) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107402894A (zh) | 用于执行自适应中断控制的计算机系统及其控制中断的方法 | |
CN106909314B (zh) | 存储器系统及控制方法 | |
US20190087332A1 (en) | Operation method of memory controller and operation method of storage device including the same | |
KR102098246B1 (ko) | 호스트, 저장 장치, 및 이를 포함하는 시스템의 동작 방법 | |
KR20170014874A (ko) | 스토리지 장치, 스토리지 장치를 포함하는 시스템 및 그것의 동작 방법 | |
US20170185354A1 (en) | Techniques for a Write Transaction at a Storage Device | |
KR20130081532A (ko) | 데이터 압축 기능을 갖는 데이터 저장 장치 | |
CN107783729B (zh) | 数据存储装置 | |
CN109426442A (zh) | 数据存储装置及其操作方法 | |
KR20240116679A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20160011939A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20200249980A1 (en) | Adaptive write acknowledgment for storage devices | |
WO2017027747A1 (en) | Adaptive data compression for data storage in a memory device | |
CN108008917A (zh) | 存储设备及控制其链接状态的方法 | |
CN107507638A (zh) | 数据存储装置及其操作方法 | |
CN109426627A (zh) | 数据存储装置及其操作方法 | |
CN110489056A (zh) | 控制器以及包括该控制器的存储器系统 | |
US11436486B2 (en) | Neural network internal data fast access memory buffer | |
CN107229581A (zh) | 数据存储装置及其操作方法 | |
KR102634776B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN112214095A (zh) | 一种控制硬盘功耗的方法和设备 | |
CN104011682A (zh) | 应用级推测性处理 | |
US20220197540A1 (en) | Storage device and method of operating the same | |
US20220044102A1 (en) | Fault tolerant artificial neural network computation in deep learning accelerator having integrated random access memory | |
CN109918322A (zh) | 存储器系统及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |