缓冲写入和存储页面控制的制作方法

文档序号:6477245阅读:145来源:国知局
专利名称:缓冲写入和存储页面控制的制作方法
背景技术
计算设备典型地包括处理器、存储器和存储控制器以对处理器以及该计算设备的其它部件提供对存储器的访问。这种计算设备的性能受到计算设备的存储器等待时间的强烈影响。通常,“存储器读等待时间”是指在处理器请求存储控制器以从存储器检索数据,和存储控制器为处理器提供所请求的数据之间的时间长度。类似地,“存储器写等待时间”通常是指在处理器请求存储控制器以对存储器写入数据,和存储控制器指示处理器该数据已被或将被写入存储器之间的时间长度。
为减小存储器等待时间对计算设备的影响,存储控制器一般缓冲处理器的写事务处理,并在之后更合适的时间将该事务处理的数据写入存储器。就处理器而言,写事务处理只要由存储控制器缓冲后就完成。因此,处理器可以继续工作而无需等待写事务处理的数据实际写入存储器。相反地,对处理器而言,直到数据从存储器读出并返回到处理器,读事务处理才完成。因此,比起写等待时间,计算设备的性能一般更取决于读等待时间。据此,存储控制器倾向偏爱服务于读事务处理胜过服务于写事务处理。
并且,存储器等待时间受到遇到的页命中,页失误和页空事务处理的比例的影响。计算设备一般包括分级存储器结构,其中存储器以通道、排(rank)、组、页和列配置。特别地,每个通道可包括一个或多个排,每排可包括一个或多个组,每组可包括一个或多个页。再者,每个页可包括一个或多个列。当访问存储器时,存储控制器一般打开存储器中的一页,然后访问所打开的页中的一列或多列。对页命中访问,存储控制器可能在访问了先前的存储请求的一页中的一列后,让该页打开,并可访问该打开页中的不同列。对页失误访问,存储控制器可关闭一组中的一打开页,而打开相同组中的另一页,并访问新打开页中的一列。页失误访问的等待时间通常为页命中访问3倍。对页空访问,存储控制器可打开一组中的一关闭页,并访问为存储事务处理而新打开的页中的一列。页空访问的等待时间通常为页命中访问2倍。


的发明由附图中的例子来示出且不局限于此。为例示的简洁和清楚,图中所示的元件无需按比例画出。例如,为了清楚,某些元件的尺寸可能相对其它元件放大。另外,在认为合适的地方,标号在图中被重复以表示相应或类似的元件。
图1示出计算设备的实施例;图2示出图1中的计算设备的存储控制器的实施例;图3示出一方法的实施例,该方法可由图2中的存储控制器使用以调度事务处理和关闭存储器中的页。
具体实施例方式
以下描述说明了试图通过智能地关闭存储器中的页来减小总的存储等待时间的技术。在以下描述中,详细描述了众多具体细节,例如逻辑实现、操作码、指定操作数的方式、资源分配/共享/复制实现、系统元件的类型和相互关系以及逻辑划分/集成选择,以便提供对发明的更彻底的理解。然而,本领域的熟练人员可以理解的是,本发明可以不需要这些具体细节就实现。在其它例子中,没有详细示出控制结构、门级电路和完整的软件指令序列,以免使本发明难以理解。本领域的普通人员通过所包含的描述,将能够实现适当的功能而无需过多试验。
说明书提到的“一个实施例”、“实施例”、“例示实施例”等表示所描述的实施例可包含一种特定特征、结构或者特性,但各个实施例并不一定都包含该特定特征、结构或者特性。并且这样的措词并不一定指同一实施例。另外,当特定特征、结构或者特性和实施例结合一起描述时,即认为和其它实施例结合可实现该特征、结构或者特性,在本领域熟练人员知识范围内,无论其是否明确描述。
本发明的实施例可用硬件、固件、软件,或它们的任意组合来实现。本发明的实施例也可用储存在机器可读媒介中的指令来实现,该指令可被一个或多个处理器读出和执行。机器可读媒介可包括任何以机器(比如计算设备)可读的形式储存或传输信息的任何机构。例如,机器可读媒介可包括只读存储器(ROM);随机存储器(RAM);磁盘存储媒介;光存储媒介;闪存器件;电、光、声或其它形式的传播信号(例如载波、红外信号、数字信号等),以及其它。另外,固件、软件、例程、指令在此可描述成执行某些动作。然而,应当理解这样描述仅是为了方便,并且这些动作实际上由计算设备、处理器、控制器或其它器件执行固件、软件、例程、指令等等而产生。
图1示出计算设备100的一例实施例。计算设备100可包括一个或多个处理器102。处理器102可随执行指令而执行事务处理。例如,处理器102在处理器总线104上发出事务处理,比如存储器读事务处理和存储器写事务处理。
计算设备100还包括一芯组组106。芯组组106可包括将处理器102连接到存储器108、基本输入/输出系统(BIOS)固件110和其它部件112(例如鼠标、键盘、视频控制器、硬盘、软件等等)的一个或多个集成电路封装或芯组。芯组组106可包括处理器总线接口114,用以从处理器102接收事务处理,以及将事务处理经由处理器总线104发送给处理器102。芯组组106还可包括存储控制器116,用以经由存储器总线118发送读和写事务处理给存储器108。芯组组106还可包括一个或多个部件接口(未显示),以通过总线120,例如外围部件互连(PCI)总线、图形加速端口(AGP)总线、通用串行总线(USB)、低针计数(LPC)总线和/或其它I/O总线,来访问其它部件112。
在一实施例中,BIOS固件110包含了可让计算设备100在系统启动时执行的例程,以初始化处理器102、芯组组106以及计算设备100的其它部件。并且,BIOS固件110可包括可让计算设备100执行的例程或驱动程序,以和计算设备100的一个或多个部件通讯。
存储器108可包括提供可寻址的存储单元的存储器件,存储控制器116可从该存储单元中读出数据和/或写入数据。存储器108可包括一个或多个不同类型的存储器件,例如动态随机存储器(DRAM)、同步动态随机存储器(SDRAM),双倍数据传输率(DDR)SDRAM器件,四倍数据传输率(QDR)SDRAM或其它易失的或不易失的存储器件。并且,存储器108可被配置成分级形式。例如,存储器108可用通道、排、组、页和列配置。
如图2所示,存储控制器116可包括写高速缓存198,其包括读缓冲器200和写缓冲器202。存储控制器116还包括控制逻辑电路204和存储器接口206。读缓冲器200可缓冲读事务处理的地址和数据,直到所请求的数据从存储器108被检索并返回到请求者(例如处理器102)。类似地,写缓冲器202可缓冲写事务处理的地址和数据,直到该数据写入存储器108。读缓冲器200和写缓冲器202可各自支持一次或多次事务处理的缓冲。
控制逻辑电路204可根据各种不同标准来从缓冲器200和202中选择事务处理,并请求存储器接口206服务于所选择的事务处理。比起存储器写性能,计算机性能一般更取决于存储器读性能。因此,在一个实施例中,控制逻辑电路204通常偏向读事务处理超过偏向写事务处理,这样通常致使写事务处理要等到读缓冲器变空。在另一实施例中,控制逻辑电路204可能要进一步等到写缓冲器202中的写入数据回到存储器108之前,数据需要从写高速缓存198中逐出时。
然而,在某些条件下,例如写缓冲器202变满或写缓冲器202中待处理的写事务处理的数量和一指示写缓冲器将满的上限有预定关系时,控制逻辑电路204可优先选择写事务处理而非读事务处理。在该情况下,控制逻辑电路204可完全充满写缓冲器,这样将所有待处理的写事务处理交给存储器接口206服务。控制逻辑电路204也可选择部分充满写缓冲器。例如,控制逻辑电路204可交给存储器接口206预定数量的写事务处理(比如4)或可从写缓冲器202中将写事务处理交给存储器接口206,直到待处理的写事务处理数量和一下限有预定关系。
控制逻辑电路204还可用储存在写高速缓存198中的数据来满足读事务处理。用来自写缓冲器202的数据来满足读事务处理可以减少读事务处理的等待时间,因为存储控制器116能够满足该请求而不用从存储器108检索数据。另外,用写缓冲器202中的高速缓存数据来服务读事务处理有助于减少其它读事务处理的等待时间,该等待时间由少数读事务处理占用存储控制器116和存储器108之间的带宽引起。此外,控制逻辑电路204可以在写缓冲器202中结合以存储器108的相同单元为目标的写事务处理的数据。而且,在写缓冲器202中结合写事务处理可以减少存储事务处理的等待时间,因为写入结合可以减小存储控制器116和存储器108之间的写事务处理的数量。
存储器接口206可响应读事务处理来从存储器108中读数据,并可以响应写事务处理来对存储器108写入数据。特别地,存储器接口206可解码事务处理的地址,并可将存储器选择信号施加给存储器,以打开存储器108中的页,用于读和/或写。并且,存储器接口208可通过发出一预充电命令或通过用一自动预充电限定器发出事务处理给存储器108来关闭一打开的页,该自动预充电限定器使得存储器108在服务于事务处理之后关闭该事务处理的页。
如上所述,控制逻辑电路204偏向读事务处理胜过偏向写事务处理。因此,写事务处理易于散布在读事务处理之间,读事务处理由处理器102在写事务处理相当之后发出。在这种环境中,因为它们的时间相隔,读事务处理易于呈现出和写事务处理较低的空间位置相关。若由写事务处理所访问的页保持打开,那么紧接写事务处理系列中最后一次写事务处理的读事务处理易于产生较高的页失误访问对页命中访问比例。为了减少总的存储器等待时间,在一个实施例中,控制逻辑电路204关闭由最后一次写事务处理所访问的一页,以减小紧接最后一次写事务处理的读事务处理造成页失误访问的可能性。如前所述,页空访问的等待时间大约为页命中访问的2倍,但页失误访问的等待时间为页命中访问的3倍。因此,如果保留一次或多次连续写事务处理的最后一次所访问的页会造成比页命中访问更多的页失误访问,那么关闭该页将减少紧接写事务处理的读事务处理的等待时间。
因此,如图3所示,试图减少存储器等待时间的存储控制器116可调度事务处理,并以试图减少由处理器经历的总的存储器等待时间的方式关闭页。图3的方法通常偏向读事务处理胜过偏向写事务处理,且通常关闭存储器108中由一系列的一次或多次写事务处理中的最后一次写事务处理访问的页。然而,存储控制器116可根据附加的标准来关闭存储器108的页。
根据确定有一可用的时间组用于发出存储事务处理,模块300中的控制逻辑电路204可确定是否有待处理的存储事务处理。特别地,若读缓冲器200和写缓冲器202都不包含发送给存储器108的事务处理,则控制逻辑电路204可确定没有待处理的存储事务处理。根据确定没有待处理的事务处理,控制逻辑电路204可进入空闲状态或者退出图3中的调度方法,直到下一可用于发出存储事务处理的时间组来临。
否则,模块302中的控制逻辑电路204可根据选择标准或规则来从读缓冲器200或写缓冲器202中选择事务处理。例如,在一个实施例中,控制逻辑电路204偏向读事务处理胜过偏向写事务处理,且如果读缓冲器200含有读事务处理,则选择读事务处理。根据读缓冲器200不包含发送给存储器108的读事务处理,控制逻辑电路204可从写缓冲器202中选择写事务处理。在另一实施例中,控制逻辑电路204还可从写缓冲器202中选择写事务处理,即使读缓冲器200含有待处理的读事务处理。特别地,根据确定写缓冲器202是满的,或者确定写缓冲器202含有一指示写缓冲器202将满的写事务处理的上限,控制逻辑电路204可选择写事务处理。在又一个实施例中,根据检测到写缓冲器202是满的或将满之后,控制逻辑电路204可相应继续选择写事务处理而非读事务处理,直到已经选择预定数量(比如4)的写事务处理,直到写缓冲器202是空的,或者直到写缓冲器202含有一写事务处理的下限。例如,该下限可对应于写缓冲器202半充满。
在模块304中,控制逻辑电路204可确定所选择的事务处理是读事务处理或写事务处理。根据确定所选择的事务处理是读事务处理,模块306中的控制逻辑电路204可使存储器接口206发送所选择的读事务处理给存储器,以便从存储器108获取所请求的数据。否则,模块308中的控制逻辑电路204可确定所选择的写事务处理是否是一系列的一次或多次写事务处理的最后一次。例如,在一个实施例中,控制逻辑电路204可根据确定写缓冲器202不包含其它待处理的事务处理来确定所选择的写事务处理是最后一次写事务处理。在另一实施例中,控制逻辑电路204还可根据确定读缓冲器200含有至少一次发送给存储器108的读事务处理来确定所选择的写事务处理是最后一次写事务处理。控制逻辑电路204还可根据确定写缓冲器不再含有对存储器108中的一页访问的写事务处理,该页将被所选择的写事务处理访问,来确定所选择的写事务处理是最后一次写事务处理。控制逻辑电路204也可由存储器接口206所发出一预定数目的连续写事务处理给存储器108来确定所选择的写事务处理是最后一次写事务处理。此外,控制逻辑电路204还可根据确定写缓冲器202含有一写事务处理的下限来确定所选择的写事务处理是一系列写事务处理的最后一次。应当理解成,控制逻辑电路204可根据一个或多个上述确定的标准和/或其它标准来确定一系列的一次或多次写事务处理的最后一次写事务处理。
根据确定所选择的写事务处理不是一系列写事务处理的最后一次写事务处理,模块310中的控制逻辑电路204可使存储器接口206发送所选择的写事务处理给存储器108,用于将该写事务处理提供的数据写入存储器108。否则,模块312中的控制逻辑电路204可指示存储器接口206关闭由写事务处理访问的一页。
根据被指示关闭由写事务处理所访问的页,模块314中的存储器接口206可发送所选择的写事务处理给存储器108,并关闭由写事务处理所访问的页。在一个实施例中,存储器接口206可发送写事务处理给存储器108,然后发出一预充电命令给存储器108以在写事务处理后关闭该页。在另一实施例中,存储器接口206可利用一自动预充电限定器来发送写事务处理给存储器,该自动预充电限定器使存储器108在写事务处理的数据写入由写事务处理访问的页之后关闭该页。
根据执行机器可读媒介,例如只读存储器(ROM)、随机存储器(RAM)、磁盘存储媒介、光存储媒介、闪存器件、和/或电、光、声或其它形式的传播信号,例如载波、红外信号、数字信号、模拟信号中的指令,计算设备100可相应执行示例方法的全部或一子集。此外,尽管示例方法被描述成一序列操作,但是在某些实施例中,计算设备100可以并行或以不同次序执行该方法中的操作。
尽管参照示例实施例描述了本发明的某些特征,但是该描述并非旨在以限定意义来解释。对于和本发明有关的本领域熟练人员来说显而易见的示例实施例的多种修改,以及本发明的其它实施例,都认为在本发明的精神和领域之内。
权利要求
1.一种方法,其特征在于,所述方法包括检测对存储器的一系列写入的最后一次写入,和根据检测到所述对存储器的最后一次写入,关闭存储器中的页。
2.如权利要求1所述的方法,其特征在于,根据确定写缓冲器是空的,来检测最后一次写入。
3.如权利要求1所述的方法,其特征在于,根据确定对存储器的读出为待处理,来检测最后一次写入。
4.如权利要求1所述的方法,其特征在于,根据确定待处理的写入的数量和一下限有预定关系,来检测最后一次写入。
5.如权利要求1所述的方法,其特征在于,关闭包括发送一关闭该页的命令给存储器。
6.如权利要求1所述的方法,其特征在于,关闭包括用一限定器发送最后一次写入给存储器,该限定器促存储器关闭该页。
7.一种方法,其特征在于,所述方法包括检测对存储器中的一页的最后一次写入,和根据检测到对存储器中的该页的最后一次写入,关闭存储器中的该页。
8.如权利要求7所述的方法,其特征在于,根据确定写缓冲器是空的,来检测最后一次写入。
9.如权利要求7所述的方法,其特征在于,根据确定对存储器的读出为待处理,来检测最后一次写入。
10.如权利要求7所述的方法,其特征在于,根据确定待处理的写入的数量和一下限有预定关系,来检测最后一次写入。
11.如权利要求7所述的方法,其特征在于,根据确定对存储器中的页的待处理的写入数量和一下限有预定关系,来检测最后一次写入。
12.如权利要求7所述的方法,其特征在于,关闭包括发送关闭该页的命令给存储器。
13.如权利要求7所述的方法,其特征在于,关闭包括用限定器发送最后一次写入给存储器,该限定器促使存储器在最后一次写入之后关闭该页。
14.一存储控制器,其特征在于,所述存储控制器包括读缓冲器,用以储存发送给存储器的读事务处理,写缓冲器,用以储存发送给存储器的写事务处理,存储器接口,用以发送读事务处理和写事务处理给存储器,以及关闭由一系列写事务处理的最后一次写事务处理所访问的存储器中的一页,和控制逻辑电路,用以根据选择标准而从读缓冲器和写缓冲器中选择事务处理,促使存储器接口发送所选择的事务处理,以及指示存储器接口根据检测到系列的最后一次写事务处理而关闭由该系列的最后一次写事务处理所访问的页。
15.如权利要求14所述的存储控制器,其特征在于,控制逻辑电路根据确定写缓冲器是空的,确定写事务处理是一系列写事务处理的最后一次。
16.如权利要求14所述的存储控制器,其特征在于,控制逻辑电路根据确定读缓冲器包含至少一次读事务处理,确定写事务处理是一系列写事务处理的最后一次。
17.如权利要求14所述的存储控制器,其特征在于,控制逻辑电路根据确定读缓冲器包含对存储器的写事务处理的下限,确定写事务处理是一系列写事务处理的最后一次。
18.如权利要求14所述的存储控制器,其特征在于,控制逻辑电路根据确定读缓冲器包含对存储器中的该页的写事务处理的下限,确定写事务处理是一系列写事务处理的最后一次。
19.如权利要求14所述的存储控制器,其特征在于,控制逻辑电路根据确定写缓冲器不包含对存储器中的该页的写事务处理,确定写事务处理是一系列写事务处理的最后一次。
20.如权利要求14所述的存储控制器,其特征在于,存储器接口用于发送一命令给存储器,以便关闭由一系列写事务处理的最后一次所访问的页。
21.如权利要求14所述的存储控制器,其特征在于,存储器接口用于用一限定器发送最后一次写事务处理给存储器,该限定器促使存储器关闭由最后一次写入所访问的页。
22.一种系统,其特征在于,所述系统包括易失性随机存储器,处理器,用于发送读事务处理和写事务处理,和存储控制器,用于缓冲由处理器所发出的读事务处理和写事务处理,根据选择标准来发送读事务处理和写事务处理给易失性随机存储器,以及关闭由一系列写事务处理的最后一次写事务处理所访问的一页。
23.如权利要求22所述的系统,其特征在于,存储控制器根据确定没有写事务处理被缓冲检测最后一次写入。
24.如权利要求22所述的系统,其特征在于,存储控制器根据确定至少有一次读事务处理为待处理,检测最后一次写入。
25.如权利要求22所述的系统,其特征在于,存储控制器根据确定存储控制器具有一缓冲的写事务处理的下限,检测最后一次写入。
26.如权利要求22所述的系统,其特征在于,存储控制器根据确定存储控制器具有一缓冲的对该页的写事务处理的下限,检测最后一次写入。
27.如权利要求22所述的系统,其特征在于,存储控制器发送一预充电命令给存储器,以关闭由最后一次写事务处理所访问的页。
28.如权利要求22所述的系统,其特征在于,存储控制器用一自动预充电限定器发送最后一次写入给存储器,以使存储器关闭由最后一次写入所访问的页。
29.一机器可读媒介,包括多条指令,随着其被执行,使计算设备检测对存储器的一系列写入的最后一次写入,和根据检测到对存储器的最后一次写入,发出存储器中的一页将被关闭的信号。
30.如权利要求29所述的机器可读媒介,其特征在于,该多条指令还使计算设备根据确定写缓冲器是空的,确定一系列写入中的一次写入是该系列的最后一次写入。
31.如权利要求29所述的机器可读媒介,其特征在于,该多条指令还使计算设备根据确定对存储器的读出为待处理,确定一系列写入中的一次写入是该系列的最后一次写入。
32.如权利要求29所述的机器可读媒介,其特征在于,该多条指令还致使计算设备根据确定待处理的写入的数量和一下限有预定关系,确定一系列写入中的一次写入是该系列的最后一次写入。
全文摘要
描述了对存储器发出事务处理的机器可读媒介、方法和装置。在某些实施例中,存储控制器可根据选择标准来选择待处理的事务处理,并发送所选择的事务处理给存储器。此外,根据确定写事务处理是一系列的一次或多次写事务处理的最后一次写事务处理,存储控制器可关闭写事务处理访问的存储器中的一页。
文档编号G06F13/16GK1742264SQ200480002772
公开日2006年3月1日 申请日期2004年1月2日 优先权日2003年2月10日
发明者J·杜兹 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1