CN1607508B - 自适应重构缓冲区的系统和方法 - Google Patents

自适应重构缓冲区的系统和方法 Download PDF

Info

Publication number
CN1607508B
CN1607508B CN2004100559892A CN200410055989A CN1607508B CN 1607508 B CN1607508 B CN 1607508B CN 2004100559892 A CN2004100559892 A CN 2004100559892A CN 200410055989 A CN200410055989 A CN 200410055989A CN 1607508 B CN1607508 B CN 1607508B
Authority
CN
China
Prior art keywords
data
buffer zone
size
specific dimensions
buffer
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.)
Expired - Fee Related
Application number
CN2004100559892A
Other languages
English (en)
Other versions
CN1607508A (zh
Inventor
维杰扬西马拉·K·阿南德
威廉·H·哈特纳
桑德拉·K·约翰逊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Trend Technology Corp.
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1607508A publication Critical patent/CN1607508A/zh
Application granted granted Critical
Publication of CN1607508B publication Critical patent/CN1607508B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management

Abstract

提供了一种自适应重构缓冲区池的系统和方法。缓冲区初始配置为一个尺寸(即当前尺寸)。每次由应用程序将数据放置在缓冲区中时,判定该数据尺寸是否大于缓冲区的当前尺寸。如果该数据尺寸大于缓冲区的当前尺寸,那么如果在缓冲区中存储该尺寸的数据的次数大于第一阈值,则将该缓冲区重构为该数据尺寸。然而,如果该数据尺寸小于缓冲区的当前尺寸,那么如果在缓冲区中存储该尺寸的数据的次数小于第二阈值,则将该缓冲区重构为该数据尺寸。

Description

自适应重构缓冲区的系统和方法
技术领域
本发明涉及存储系统。更具体地,本发明涉及一种自适应重构缓冲区的系统和方法。
背景技术
由于超大规模集成电路(VLSI)技术的持续发展,处理器性能已稳定地从一代增长到下一代。然而,辅助存储设备(例如盘驱动器、光盘驱动器等)的输入/输出(I/O)性能不能与其保持同步。特别是,定位和检索数据所需的时间量,另外称作查找和旋转次数,限制了盘的I/O性能。一般来说,随机存取盘的查找和旋转次数比在处理器和主存储器之间传输数据所需时间长多个数量级。由此,在处理器和盘之间存在吞吐量不均衡。为了减小该不均衡,使用缓冲区。
一般来说,在系统初始化期间,大多数计算机系统根据存储器尺寸和系统性能限制而给多个可配置缓冲区分配存储空间。在大多数操作条件下,这些缓冲区能容纳放置在其中的数据。然而在一些情况下,这些缓冲区可能不能处理数据的尺寸。具体说,当数据尺寸超出要放置其的缓冲区的尺寸时,可能跟着发生缓冲区溢出。当其发生时,超出的数据可能流入相邻缓冲区。如果在该相邻缓冲区中存储数据,则数据可能被破坏。
一些系统允许高级用户手动重构缓冲区。然而大多数用户经验不够丰富而不能完成这些。另外,如果他们不知道或不能预见要在缓冲区中放置的数据的尺寸,则即使高级用户也做不到这些。
因此,需要一种自适应重构缓冲区的系统和方法。
发明内容
本发明提供了一种自适应重构缓冲区池(pool of buffers)的系统和方法。缓冲区初始配置为一个尺寸(即当前尺寸)。每次由应用程序将数据放置在缓冲区中时,判定该数据尺寸是否大于缓冲区的当前尺寸。如果该数据尺寸大于缓冲区的当前尺寸,如果在该缓冲区中存储该尺寸的数据的次数大于第一阈值,则将该缓冲区重构为该数据尺寸。然而,如果该数据尺寸小于缓冲区的当前尺寸,如果在该缓冲区中存储该尺寸的数据的次数小于第二阈值,则将该缓冲区重构为该数据尺寸。如果由于系统限制使得缓冲区不能或不应被重构,则将发送提示到该程序以使用更大或更小尺寸的数据。由于这些系统限制,第一和第二阈值可被重构。
一方面,提供一种自适应重构缓冲区池的方法,该缓冲区具有当前尺寸,该方法包括以下步骤:接收将在一个缓冲区中存储的特定尺寸的数据;对每次接收特定尺寸的数据以存储在一个缓冲区中进行计数;判定该数据的特定尺寸是否大于缓冲区的当前尺寸;如果该数据的特定尺寸大于缓冲区的当前尺寸,并且如果在一个缓冲区中存储该特定尺寸数据的次数大于第一阈值,则将缓冲区的当前尺寸重构为该数据的特定尺寸。
另一方面,提供一种用于自适应重构缓冲区池的系统,该缓冲区具有当前尺寸,该系统包括:用于接收将在一个缓冲区中存储的特定尺寸的数据的装置;用于每次接收特定尺寸的数据以存储在一个缓冲区中进行计数的装置;用于判定该数据的特定尺寸是否大于缓冲区的当前尺寸的装置;用于如果该数据的特定尺寸大于缓冲区的当前尺寸并且如果在一个缓冲区中存储该特定尺寸数据的次数大于第一阈值则将该缓冲区的当前尺寸重构为该数据的特定尺寸的装置。
附图说明
所附权利要求中提出了本发明的新颖特征及可信特性。然而当结合附图阅读时,通过参考对示例实施例的以下详细描述,将更利于理解本发明自身、及其优选使用模式、其它目的和优点,其中:
图1描绘了计算机系统的存储子系统的概念图。
图2a和2b描绘了计数器的示例一维阵列。
图3(a)和3(b)是本发明可使用的第一处理的流程图。
图4(a)和4(b)是本发明可使用的第二处理的流程图。
图5是根据本发明的计算机系统的示例方框图。
具体实施方式
本发明允许为应用程序分配的缓冲区基于该程序的需求或使用而自适应地改变尺寸。为了确保有效满足所有应用程序和子系统需求,并避免对可用缓冲区的过度使用,对于为该自适应缓冲区管理子系统注册的每一应用程序设置了最大尺寸和最小尺寸阈值。利用最大尺寸和最小尺寸阈值来调整可用缓冲区的尺寸或调整正使用的数据的尺寸。
缓冲区可增加到作为其当前尺寸的倍数的尺寸,只要该增加的尺寸能容纳其中存储的数据。可替换地,通过将关于缓冲区可用性的建议/提示传递到应用程序,可减小正使用的数据尺寸以适合该缓冲区。这些建议可归入不同种类,例如关键的和非关键的。这些可在开始执行应用程序时,在该应用程序和系统之间协商(negotiated),并可尽可能频繁地再协商。
通过每一应用程序,系统可保持对缓冲区使用的试探(即对高/低数量的缓冲区的零星使用、或对高/低数量的缓冲区的持续使用)。通过这样做,系统可实现更有效的缓冲区管理。例如,如果系统认识到对于高数量的缓冲区的高请求流是暂时的,则系统可设法容纳这些请求,并一旦该请求流慢下来,则系统可收回这些缓冲区以用于系统中的其它目的或其它应用程序。系统也可将这些试探或从这些试探中得到的情报传达到应用程序,以确保这些程序支持这类缓冲区管理。在这样做的过程中,系统可考虑高速缓存仿射性(affinity)(即具体数据是否已被缓存),并在缓冲区从一个应用程序中脱身以用于其它地方时,警告高速缓存效果。
下面利用在计算机系统的系统存储器中分配的缓冲区来描述本发明。然而,应注意并不由此限制本发明。也就是说,缓冲区可包括在存储设备、网络设备、适配器、系统堆、高速缓存等中。结果,在系统存储器中分配的缓冲区的使用仅为了图示目的。
现在参考附图,图1描绘了计算机系统的存储子系统的概念图。该存储子系统包括文件系统管理器102、VMM 112和块设备层130。块设备层包括设备驱动器132和存储设备134。存储设备134可为盘、卡带、磁带或包括网络存储器在内的任何其它类型非易失性存储器。应注意图1所示的设备不是全包括在内的。存储子系统可使用更多的设备。因此,图1仅用作存储子系统的一个例子。
文件系统管理器102与执行的程序互相作用。例如,当执行的程序期望读取数据时,它将其期望通知给文件系统管理器102。然后文件系统管理器102检查VMM 112以查看数据是否已在存储器中(未示出)。如果数据在存储器中,则将其提供给程序。如果数据不在存储器中,则将该数据从盘中取出并提供给该请求程序。
存取该盘以读出或写入数据是相对慢的处理。因此,为了最小化盘存取的频率,在存储器中保持一个称作缓冲高速缓存的合用内部数据缓冲区组(未示出)。当从盘中读取数据时,其被高速缓存以备以后使用。类似地,写到该盘上的数据也被高速缓存以备以后使用。
如前所述,由于存储器尺寸和系统性能限制,缓冲区池可配置为某一尺寸。作为一个例子,假设将其配置为各4k字节。如果数据片段大于4k字节,将不得不使用多于一个缓冲区来缓存该数据。在某些情况下会浪费一些存储空间,而在其它情况下会发生缓冲区溢出。本发明用于减小当使用的数据持续大于高速缓存缓冲区的尺寸时可能浪费的存储空间量或可能发生的缓冲区溢出数量。
如上所述,利用最大和最小尺寸阈值来调整可用缓冲区的尺寸或向应用程序提供提示以调整正使用的数据尺寸。最大和最小尺寸阈值也用于确保缓冲区和/或数据的尺寸的持续再调整。例如,当持续使用尺寸大于可用缓冲区的数据时,如果使用大于可用缓冲区的数据的次数大于最大尺寸阈值,则可增加缓冲区的尺寸。相反,如果使用小于可用缓冲区的数据的次数大于最小尺寸阈值,则可减小缓冲区的尺寸。
基于负荷限制,不可重构缓冲区。在这样的情况下,操作系统可发送信号(即提示)到该应用程序以增加或减小正使用的数据尺寸。可替换地,操作系统可提供提示到该应用程序以增加或减小在某一时间周期内做出的数据请求的数目。
缓冲区可增加到作为其当前尺寸的倍数的尺寸或减小到其当前尺寸的一部分,只要其能容纳其中放置的数据。应注意可逐步改变缓冲区的尺寸。也就是说,如果已使用了4k字节数据片段,而可用缓冲区的尺寸为16k字节,则一旦接收到第一个信号,可用缓冲区的尺寸可减少到8k字节。如果接收了另一个信号,则缓冲区的尺寸可再次减少到4k字节等。同样,当接收到第一个信号时,缓冲区的尺寸可增加到8k字节,当接收到第二个信号时,可增加到16k字节,等等。
为了明了使用不同尺寸数据的次数,可使用计数器阵列。图2a描绘了示例一维计数器阵列。阵列中的每一位置与一数据尺寸关联。例如,阵列位置202可与4k字节数据尺寸关联。阵列位置204可与8k字节数据尺寸关联,而位置206可与16k字节数据尺寸关联,等等。每当使用数据片段时,更新该阵列。也就是说,根据该数据的尺寸为4k字节、8k字节或16k字节,位置202、204或206可分别递增1。
在该具体例子中,零记入位置202。这表示还没有使用4k字节数据片段。然而,已使用了20个8k字节数据片段,并使用了60个16k字节数据片段。如果最大尺寸阈值为59,则当一个计数器大于59时,例如在与图2a的位置206关联的计数器中,可发送信号给操作系统。操作系统可响应于该信号而重构该缓冲区,使得如果缓冲区的尺寸小于16k字节,则将其增加到16k字节。
图2b的阵列的位置202中具有条目40。因此,已使用了40个4k字节的数据片段。根据本发明,如果最小尺寸阈值为39,则当该计数器达到40(见计数器202)时,可发送信号给操作系统。如前,操作系统可使用该信号来减小可用缓冲区的尺寸或提供提示到应用程序以使用大于4k字节的数据。
在本发明的另一实施例中,如果正使用的数据大于分配的缓冲区尺寸,并且该阵列中所有计数器的条目之和大于最大尺寸阈值,则可增加缓冲区的尺寸。例如,图2a中的计数器之和为80,其大于最大尺寸阈值数59。因此,如果当前缓冲区尺寸为4k字节,而使用了16k字节的数据片段,则可发送信号给操作系统。再一次,操作系统可使用该信号来增加缓冲区的尺寸、提供提示到应用程序以使用较小尺寸的数据、或增加一时间周期内使用数据的次数同时减小该数据尺寸。
而且,如果该缓冲区的当前尺寸为16k字节,而正在使用4k字节的数据,那么如果该阵列中所有计数器之和大于最小尺寸阈值,则可将缓冲区的尺寸减小到请求的缓冲区尺寸。作为一个例子,假设最小尺寸阈值数为50,而阵列中所有计数器之和为60(见图2b),那么如果当缓冲区尺寸为16k字节时使用4k字节的数据片段,则可发送信号给操作系统。如上所述,一旦接收到该信号,操作系统可减小缓冲区的尺寸或提供提示到应用程序以增加请求的数据的尺寸。
图3是本发明可使用的第一处理的流程图。当应用程序开始执行时该处理开始(步骤300)。向OS注册该程序,并且对该程序设置最大和最小尺寸阈值(步骤302和304)。然后进行检查以判定是否正使用数据。如果是,则递增合适的计数器。为了断定递增哪个计数器,考虑正使用的数据的尺寸。也就是说,如果正使用4k字节的数据片段,则递增与4k字节的数据片段关联的计数器(步骤308)。
然后进行检查以判定数据尺寸是否大于缓冲区尺寸。如果是,则进行另一检查以判定该计数器中的条目是否大于最大尺寸阈值。如果该计数器中的条目大于最大尺寸阈值,则进行另一检查以判定是否可给该程序分配更多缓冲空间。这取决于该系统上正执行的程序数目和其它系统需求。在任何情况下,如果可给该程序分配更多空间,则缓冲区可重构为该数据的尺寸,然后在一个缓冲区中存储该数据。根据本发明的实现,在那时可以或不可以为该程序设置新的最大尺寸阈值。该处理然后跳回到步骤306(步骤310、314、318、322、324和306)。
如果不再有缓冲空间可分配给该程序,则OS可提供提示到该程序以减小正使用的数据尺寸,然后该处理跳回到步骤306(步骤318、320和306)。如果该计数器中的条目不大于最大尺寸阈值,则在一个缓冲区中存储该数据,并且该处理返回步骤306(步骤314、316和306)。如果该数据的尺寸不大于缓冲区的尺寸,则该处理可跳转到步骤326(步骤310、312和326)。
当该处理跳转到步骤326时,进行检查以判定数据尺寸是否等于缓冲区尺寸。如果是,则在一个缓冲区中存储该数据,并且该处理跳回到步骤306(步骤328、330和306)。如果数据尺寸不等于该缓冲区尺寸,则其小于缓冲区。这样的话,进行检查以判定计数器中的条目是否大于最小尺寸阈值。如果是,则进行检查以判定系统是否需要更多存储空间。如果系统需要更多存储空间,则将缓冲区重构为该数据尺寸,在一个缓冲区中存储该数据,在该处理跳回到步骤306(步骤332、334、336、338、340和342)之前设置新的最小尺寸阈值。注意根据实现,本发明可将缓冲区重构为较小的数据尺寸,而不管是否需要更多存储空间。
如果系统不需要更多存储空间或者如果该计数器中的条目不大于最小尺寸阈值,则在该处理跳回到步骤306(分别为步骤334、330和342或步骤332、330和342)之前在一个缓冲区中存储该数据。可对系统上运行的每一应用程序重复该处理,并在该系统关闭或复位时结束该处理。
图4是本发明可使用的第二处理的流程图。该处理与第一处理(即图3)基本相同,区别在于当拿计数器条目与最大或最小阈值比较时,步骤414和432中进行的检查考虑所有计数器中的条目之和,而图3的步骤314和332仅利用一个计数器即合适的计数器中的条目。
需要注意的是,在用于解释本发明的例子中,每当最大和最小尺寸阈值在一个时帧内被超出时,可将其重新调整或复位。然而,在本发明的某些其它实施例中其不需要复位。因此,应理解仅为了示例目的而使用对阈值的复位。
图5是图示了其中可实现本发明的数据处理系统的方框图。数据处理系统500是客户计算机的例子。数据处理系统500采用外围部件互连(PCI)局域总线结构。尽管所描绘的例子采用PCI总线,但也可使用例如加速图形接口(AGP)和工业标准结构(ISA)的其它总线结构。处理器502和主存储器504通过PCI桥508连接到PCI局域总线506。PCI桥508也可包括集成存储器控制器和处理器502的高速缓存。可通过直接元件互连或通过内插附件(add-in)板而向PCI局域总线506进行附加连接。在所描绘的例子中,局域网(LAN)适配器510、SCSI主机总线适配器512、和扩展总线接口514通过直接元件连接连接到PCI局域总线506。相反,音频适配器516、图形适配器518、和音频/视频适配器519通过插入到扩展槽中的内插附件板连接到PCI局域总线506。扩展总线接口514提供对键盘与鼠标适配器520、调制解调器522、以及附加存储器524之间的连接。小型计算机系统接口(SCSI)主机总线适配器512为硬盘驱动器526、磁带驱动器528、和DVD/CD-ROM驱动器530提供连接。典型PCI局域总线实现将支持三个或四个PCI扩展槽或内插附件连接器。
操作系统在处理器502上运行,并用于协调和提供对图5的数据处理系统500中的各种元件的控制。操作系统可为商业可用操作系统,如可从微软公司得到的Windows XP或IBM的产品AIX。可结合操作系统运行诸如Java的面向对象编程系统,并从Java程序或数据处理系统500上执行的应用程序提供对操作系统调用。“Java”是Sun Microsystems公司的商标。用于操作系统、面向对象操作系统、和应用程序或程序以及本发明的指令位于例如硬盘驱动器526的存储设备中,并可装载到主存储器504中以由处理器502执行。
本领域普通技术人员应理解,图5中的硬件可根据实现而改变。可在图5中描绘的硬件之外附加地使用例如闪存ROM(或等同的非易失性存储器)或光盘驱动器等的其它内部硬件或外围设备,或以其替换图5中描绘的硬件。而且,本发明的处理可应用到多处理器数据处理系统。
对本发明的描述为了图示和描述的目的而呈现,并不期望以公开的形式穷举或限制本发明。对于本领域普通技术人员而言,许多更改和变换是显而易见的。例如,可使用一个或多个阈值数。为了更好解释本发明的原理、实际应用,并为了使本领域普通技术人员能够理解适于预期的具体应用的具有各种变更的各种实施例的发明,而选择和描述了实施例。

Claims (18)

1.一种自适应重构缓冲区池的方法,该缓冲区具有当前尺寸,该方法包括以下步骤:
接收将在一个缓冲区中存储的特定尺寸的数据;
对每次接收特定尺寸的数据以存储在一个缓冲区中进行计数;
判定该数据的特定尺寸是否大于缓冲区的当前尺寸;和
如果该数据的特定尺寸大于缓冲区的当前尺寸,并且如果在一个缓冲区中存储该特定尺寸数据的次数大于第一阈值,则将缓冲区的当前尺寸重构为该数据的特定尺寸。
2.根据权利要求1的方法,其中该重构步骤包括在将缓冲区重构为该数据的特定尺寸之前判定是否可以分配更多存储空间的步骤。
3.根据权利要求2的方法,其中由应用程序从存储设备中读出或向其中写入正接收的数据,并且如果不可以分配更多存储空间,则发送信号给该应用程序以减小从该存储设备中读出或向其中写入的数据的尺寸。
4.根据权利要求1的方法,其中如果数据的特定尺寸小于缓冲区的当前尺寸,并且如果在一个缓冲区中存储该特定尺寸数据的次数小于第二阈值,则将缓冲区的当前尺寸重构为该数据的特定尺寸。
5.根据权利要求4的方法,其中在将缓冲区重构为该数据的特定尺寸之前,判定是否需要存储空间用于其它目的。
6.根据权利要求5的方法,其中由应用程序从存储设备中读出或向其中写入正接收的数据,并且如果不需要存储空间,则发送信号给该应用程序以增加从该存储设备中读出或向其中写入的数据的尺寸。
7.根据权利要求6的方法,其中基于系统需求而重构所述第一和第二阈值。
8.根据权利要求7的方法,其中如果对所有缓冲区尺寸的所有请求之和小于第二阈值,则重构缓冲区。
9.根据权利要求1的方法,其中如果对所有缓冲区尺寸的所有请求之和大于第一阈值,则重构缓冲区。
10.一种用于自适应重构缓冲区池的系统,该缓冲区具有当前尺寸,该系统包括:
用于接收将在一个缓冲区中存储的特定尺寸的数据的装置;
用于每次接收特定尺寸的数据以存储在一个缓冲区中进行计数的装置;
用于判定该数据的特定尺寸是否大于缓冲区的当前尺寸的装置;
用于如果该数据的特定尺寸大于缓冲区的当前尺寸并且如果在一个缓冲区中存储该特定尺寸数据的次数大于第一阈值则将该缓冲区的当前尺寸重构为该数据的特定尺寸的装置。
11.根据权利要求10的系统,进一步包括用于在将该缓冲区重构为该数据的特定尺寸之前判定是否可以分配更多存储空间的装置。
12.根据权利要求11的系统,进一步包括用于由应用程序从存储设备中读出或向其中写入正接收的数据的装置,以及用于如果不可以分配更多存储空间则发送信号给该应用程序以减小从该存储设备中读出或向其中写入的数据的尺寸的装置。
13.根据权利要求10的系统,进一步包括用于如果该数据的特定尺寸小于缓冲区的当前尺寸并且在一个缓冲区中存储该特定尺寸数据的次数小于第二阈值则将缓冲区的当前尺寸重构为该数据的特定尺寸的装置。
14.根据权利要求13的系统,进一步包括用于在将缓冲区重构为该数据的特定尺寸之前判定是否需要存储空间用于其它目的的装置。
15.根据权利要求14的系统,进一步包括用于由应用程序从存储设备中读出或向其中写入正接收的数据的装置,以及用于如果不需要存储空间则发送信号给该应用程序以增加从该存储设备中读出或向其中写入的数据尺寸的装置。
16.根据权利要求15的系统,进一步包括用于基于系统需求而重构所述第一和第二阈值的装置。
17.根据权利要求16的系统,进一步包括用于如果对所有缓冲区尺寸的所有请求之和小于第二阈值则重构缓冲区的装置。
18.根据权利要求10的系统,进一步包括用于如果对所有缓冲区尺寸的所有请求之和大于第一阈值则重构缓冲区的装置。
CN2004100559892A 2003-10-16 2004-08-03 自适应重构缓冲区的系统和方法 Expired - Fee Related CN1607508B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/687,259 2003-10-16
US10/687,259 US7143263B2 (en) 2003-10-16 2003-10-16 System and method of adaptively reconfiguring buffers

Publications (2)

Publication Number Publication Date
CN1607508A CN1607508A (zh) 2005-04-20
CN1607508B true CN1607508B (zh) 2010-05-26

Family

ID=34520918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004100559892A Expired - Fee Related CN1607508B (zh) 2003-10-16 2004-08-03 自适应重构缓冲区的系统和方法

Country Status (2)

Country Link
US (1) US7143263B2 (zh)
CN (1) CN1607508B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050040968A (ko) * 2003-10-29 2005-05-04 삼성전자주식회사 인터렉티브 정보저장매체의 재생을 위한 버퍼 메모리 관리장치, 관리 방법 및 그 정보저장매체
US7234008B1 (en) * 2004-06-02 2007-06-19 Unisys Corporation Method and system for exchanging data between a central processing unit and an input/output processor
US20080307146A1 (en) * 2006-08-22 2008-12-11 Freking Ronald E Structure for dynamically scalable queues for performance driven pci express memory traffic
US7496707B2 (en) * 2006-08-22 2009-02-24 International Business Machines Corporation Dynamically scalable queues for performance driven PCI express memory traffic
US20090144490A1 (en) * 2007-12-03 2009-06-04 Nokia Corporation Method, apparatus and computer program product for providing improved memory usage
US7882285B2 (en) * 2007-12-18 2011-02-01 International Business Machines Corporation Buffer cache management to prevent deadlocks
US20110040761A1 (en) * 2009-08-12 2011-02-17 Globalspec, Inc. Estimation of postings list length in a search system using an approximation table
US8205020B2 (en) * 2009-12-23 2012-06-19 Xerox Corporation High-performance digital image memory allocation and control system
US8793463B2 (en) * 2011-09-12 2014-07-29 Microsoft Corporation Allocation strategies for storage device sets
US9678860B2 (en) 2012-11-29 2017-06-13 Red Hat, Inc. Updating data fields of buffers
CN103077125B (zh) * 2012-12-13 2015-09-16 北京锐安科技有限公司 一种高效利用存储空间的自适应自组织塔式缓存方法
US9288163B2 (en) * 2013-03-15 2016-03-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Low-latency packet receive method for networking devices
JP7022300B2 (ja) * 2017-07-28 2022-02-18 セイコーエプソン株式会社 印刷制御装置、印刷制御装置の制御方法、及び、プログラム
WO2020004940A1 (ko) 2018-06-28 2020-01-02 엘지전자 주식회사 무선 전력 전송 시스템에서 데이터를 전송 또는 수신하는 장치 및 방법
CN111556361B (zh) * 2020-04-29 2021-08-03 腾讯科技(深圳)有限公司 蓝牙音频播放的缓冲区设置方法、装置、设备及存储介质
CN112737975B (zh) * 2020-12-25 2023-05-09 珠海西山居数字科技有限公司 缓冲区容量调整方法及装置
CN112711387B (zh) * 2021-01-21 2023-06-09 维沃移动通信有限公司 缓冲区容量的调整方法、装置、电子设备及可读存储介质
CN113805814B (zh) * 2021-09-22 2023-08-15 深圳宏芯宇电子股份有限公司 缓存管理方法、装置、存储设备和可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1120867A (zh) * 1993-03-09 1996-04-17 诺威尔股份有限公司 存储管理的方法和装置
US6032239A (en) * 1997-10-15 2000-02-29 Dell Usa, L.P. System and method for updating partition mappings to logical drives in a computer memory device
CN1255212A (zh) * 1997-03-21 2000-05-31 卡纳尔股份有限公司 计算机存储器组织

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262079A (ja) * 1994-03-16 1995-10-13 Fujitsu Ltd バッファ再割当システム
US6070202A (en) * 1998-05-11 2000-05-30 Motorola, Inc. Reallocation of pools of fixed size buffers based on metrics collected for maximum number of concurrent requests for each distinct memory size
US7127534B2 (en) * 2003-06-27 2006-10-24 Emulex Design & Manufacturing Corporation Read/write command buffer pool resource management using read-path prediction of future resources

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1120867A (zh) * 1993-03-09 1996-04-17 诺威尔股份有限公司 存储管理的方法和装置
CN1255212A (zh) * 1997-03-21 2000-05-31 卡纳尔股份有限公司 计算机存储器组织
US6032239A (en) * 1997-10-15 2000-02-29 Dell Usa, L.P. System and method for updating partition mappings to logical drives in a computer memory device

Also Published As

Publication number Publication date
US20050086448A1 (en) 2005-04-21
US7143263B2 (en) 2006-11-28
CN1607508A (zh) 2005-04-20

Similar Documents

Publication Publication Date Title
CN1607508B (zh) 自适应重构缓冲区的系统和方法
CN102483719B (zh) 基于块的非透明高速缓存
CN1135477C (zh) 实现动态显示存储器的方法和装置
CN105103144B (zh) 用于存储器的自适应控制的设备及方法
RU2509347C2 (ru) Гибкое увеличение страниц памяти
US7269708B2 (en) Memory controller for non-homogenous memory system
US11132300B2 (en) Memory hierarchy using page-based compression
CN102460400B (zh) 基于管理程序的本地和远程虚拟内存页面管理
US8131969B2 (en) Updating system configuration information
JP5384576B2 (ja) 複数の異種のソリッドステート・ストレージ・ロケーションの選択的利用
US10282292B2 (en) Cluster-based migration in a multi-level memory hierarchy
US20100262760A1 (en) Command processor for a data storage device
US7103763B2 (en) Storage and access of configuration data in nonvolatile memory of a logically-partitioned computer
US20100287217A1 (en) Host control of background garbage collection in a data storage device
CN111459844B (zh) 数据储存装置及用于存取逻辑至物理地址映射表的方法
CN101606130A (zh) 在处理器系统的指令级使能资源分配标识的方法和装置
CN102473138A (zh) 具有用于页面错误处理的闪存的扩展主存储器层次结构
CN101154192A (zh) 管理计算机存储器高速缓存中的访问冲突的方法和装置
US20150019813A1 (en) Memory hierarchy using row-based compression
US8583890B2 (en) Disposition instructions for extended access commands
CN109117085B (zh) 具有nand缓冲器的nand闪速存储设备
US6473845B1 (en) System and method for dynamically updating memory address mappings
KR20100101672A (ko) 캐스케이드 메모리 배열
CN113805791A (zh) 由存储设备向主机传送数据重定位信息以提高系统性能
CN110597742A (zh) 用于具有持久系统存储器的计算机系统的改进存储模型

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: TREND TECHNOLOGY CORP.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORP.

Effective date: 20100715

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: NEW YORK STATE, THE USA TO: TOKYO METROPOLIS, JAPAN

TR01 Transfer of patent right

Effective date of registration: 20100715

Address after: Tokyo, Japan, Japan

Patentee after: Trend Technology Corp.

Address before: The United States New York State

Patentee before: International Business Machines Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100526

Termination date: 20200803

CF01 Termination of patent right due to non-payment of annual fee