US5584015A - Buffer memory management method, recording medium, and computer system incorporating same - Google Patents

Buffer memory management method, recording medium, and computer system incorporating same Download PDF

Info

Publication number
US5584015A
US5584015A US08/284,670 US28467094A US5584015A US 5584015 A US5584015 A US 5584015A US 28467094 A US28467094 A US 28467094A US 5584015 A US5584015 A US 5584015A
Authority
US
United States
Prior art keywords
buffer
threshold position
referenced
buffers
list
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 - Lifetime
Application number
US08/284,670
Inventor
Michel Villette
Herve Servant
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.)
Bull SA
Original Assignee
Bull SA
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 Bull SA filed Critical Bull SA
Assigned to BULL S.A. reassignment BULL S.A. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SERVANT, HERVE, VILLETTE, MICHEL
Application granted granted Critical
Publication of US5584015A publication Critical patent/US5584015A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list

Definitions

  • the invention concerns a management method for set of buffers making up a buffer memory. It also has as subsidiary purposes a recording medium, such as a diskette or magnetic tape, incorporating software for implementing the method, as well as a computer system for implementing the method, and more particularly a data base management system, more popularly known by its acronym DBMS.
  • a recording medium such as a diskette or magnetic tape
  • DBMS data base management system
  • a buffer memory constitutes a rapid, small-capacity interface between a processor and a generally slow, large-capacity data memory.
  • the buffer memory is made up of a set of buffers intended to store extracts from the data memory. It can be a cache memory for receiving blocks of data from the data memory.
  • the example chosen to illustrate the invention concerns the buffer memory of a DBMS.
  • a DBMS is operated by the computer's operating system by means of a processor provided with virtual memory constituting all or part of the central memory of the computer and representative of the buffer memory.
  • the extracts of data stored in the buffer memory are commonly pages of the refresh memory making up the data base.
  • the buffer memory is therefore referred to as a pages cache memory.
  • the management of the buffers in the cache memory is achieved by a buffer manager operated by the processor.
  • the processing which frequently access a small number of pages in the cache memory is called local processing, and that less frequently accessing a large number of pages in the cache memory is referred to as non-local processing.
  • the cache memory is divided under the control of the buffer manager. This division poses a major problem for managing the cache memory.
  • the buffer managers are currently and logically optimized for processing for local access.
  • the cache memory is operated by an algorithm referred to as Least Recently Used (LRU).
  • LRU Least Recently Used
  • This algorithm draws up a list of the buffers in the cache memory according to the date of their last use. In principle, each time a buffer is referenced, the LRU rechains it to the head of the list. It follows that the buffers ahead of it in the list move down one place on the list. It is said that these buffers age by one place.
  • LRU designates the buffer which was least recently referenced in order to record the new page.
  • the invention solves both these problems by permitting the optimization of the management of a set of buffers operated by local and non-local processing at the same time.
  • the invention has as its purpose a method for managing a set of buffers by means of a list which arranges the buffers by order of their least recent utilization (LRU), with the distinguishing characteristic that it consists of arranging the buffer according to its position with respect to a threshold position on the list, when one of the buffers is referenced.
  • LRU least recent utilization
  • the invention also has as its purpose a computer system which includes a processor connected to a data memory through a set of buffers operated by a buffer manager, according to an LRU algorithm, with the distinguishing characteristic that it includes the means for generating at least one threshold position, and a means of comparison connected to the generating means and to the algorithm.
  • the invention also has the subsidiary purpose of a recording medium with the characterized by the fact that it includes software for implementing the method.
  • FIG. 1 is an overall view of a computer system in conformity with the invention made up of a management system for a data base and including a set of buffers operated according to the method of the invention;
  • FIG. 2 illustrates, by means of a flow chart, a method for managing a set of buffers represented in FIG. 1
  • FIG. 1 represents with an overall view a computer system 10 comprising a central processor 11 connected by means of a central memory 12 to a refresh memory 13 constituting a data base in the example.
  • the central memory 12 thus acts as a buffer memory between the central processor 11 and the data base 13.
  • the central memory 12 includes a set 14 of n buffer memories 15 and a manager 16 of the set 14 based on an LRU algorithm.
  • the n buffers 15 are each suitable for storing an extract from the data base 13, one page of 4 kilobytes in the example given.
  • the n buffers 15 are chained in an order 1, 2, . . . n determined by the LRU.
  • the processor 11 accesses the set 14 to implement local processing 17 and non-local processing 18. Under the control of the manager 16 the pages requested for processing 17 and 18 are copied in the set 14 starting from the external data base 13.
  • the set 14 is thus divided between simultaneous local and non-local processing.
  • the computer system 10 also contains in the standard manner, in this case in the manager 16 as illustrated, a device 19 for calculating the current number of pages in the set 14 with respect to the total number of pages requested by the processor.
  • This rate is currently referred to as the buffer access hit rate. It is said that there is a hit when the address of a page requested by the processor 11 is one of the addresses contained in the directory of the buffer set.
  • the hit rate is regularly updated, for example at every 1,000 references.
  • a buffer when referenced, it is arranged in the list by the manager 16 according to its position p with respect to a threshold position t on the list.
  • An illustrative example of the method according to the invention is represented by the flow chart in FIG. 2.
  • the threshold position t is defined in relation to the buffer access hit ratio.
  • the information device 10 contains, preferably in the manager 16 as illustrated, a generator 20 of the threshold position which receives the hit rate provided by the device 19 and a position comparison device 21 receiving from the generator 20 the threshold position t and from the LRU the position p of the buffer referenced in the list.
  • the position p of the buffer incorporating it is compared with the threshold position t. If the position p is a position i preceding the position t as illustrated in FIG. 1, that is, if p ⁇ t, the manager 16 does not change the position i of the buffer 15. It is therefore considered that the page requested is in a stable or fresh portion of the list. In other words, all the working set pages placed in front of the threshold position t are not aged after the reading of a page. On the other hand, if position p is a position k corresponding to the threshold position or one following it, that is, if p ⁇ t, it is put at the head of the list. Aging takes place only in this case.
  • the requested page is not found in the set 14, it is placed in the threshold position t so that the reading of this page does not age the pages in the stable zone, which are considered as active. In this way, only if the page is referenced again will it be chained to the head of the list, in conformity with the preceding comparison criteria.
  • the determination of the threshold position t is a simple correspondence of this rate with the total positions in the LRU list.
  • the determination of the threshold position can be a more sophisticated function of the value of the hit ratio, being capable of leading to a changing threshold position t, or to several threshold values.
  • the threshold position t could be a fixed predetermined value for a range of hit rate values.
  • the threshold position t would be 900 for a ratio between 80% and 100%, 700 for a ratio between 60% and 80%, etc.
  • this example can be combined with the preceding one.
  • the threshold position t chosen in the illustrated example is defined in relation to the buffer access hit ratio, it is clear that it can be simply a predetermined fixed position.
  • the method consists of comparing the position p with one or more fixed threshold positions. In this way it is understood that, more generally, a variable threshold position could be defined in relation to a different parameter than the hit ratio and that a variable position could be added to a fixed position.
  • the method of the invention is related to the management of a set of buffers by means of a list which arranges the buffers by the order of their least recent utilization (LRU) and consists, when a buffer is referenced, of arranging the buffer in relation to its position p with respect to a threshold position in the list.
  • the threshold position can be fixed or variable. If it is variable, it will be appropriately defined in relation to the buffer access hit ratio. If the information, a page in the illustrated example, is already present in the referenced buffer, the method of the invention consists of maintaining the buffer's position if it precedes the threshold position, and of rechaining it in the list in the contrary case.
  • the rechaining can be carried out to the head of the list, or to another threshold position t 2 which precedes it. If the referenced buffer receives any new information, the method of the invention consists of placing it in the threshold position. If there are several threshold positions, the buffer will be placed in the last threshold position.
  • the invention can be applied to every buffer memory between any processor and any memory, referred to as a data memory to avoid any ambiguity.
  • the data memory would be the central memory of the computer system.
  • the invention thus has as its further purpose a computer system comprising a processor connected to a data memory by means of a set of buffers managed by a manager according to an LRU algorithm, means for generating at least one threshold position, and means of comparison connected to the generating devices and the LRU.
  • the computer system includes a device for calculating the current buffer access hit rate, the device will be connected to the generating means in order to define at least one of the threshold positions in relation to the buffer access hit ratio.

Abstract

A buffer memory management method for a buffer memory consisting of a set (14) of buffers (15), using a list of buffers arranged by order of least recent use (LRU). The method comprises, when a buffer (15) is referenced, classifying the buffer according to its position (p) relative to a threshold list position (t). The threshold position is advantageously defined according to the current buffer access hit rate. The method is suitable for operating the buffer memory with concurrent local and non-local processing.

Description

FIELD OF THE INVENTION
The invention concerns a management method for set of buffers making up a buffer memory. It also has as subsidiary purposes a recording medium, such as a diskette or magnetic tape, incorporating software for implementing the method, as well as a computer system for implementing the method, and more particularly a data base management system, more popularly known by its acronym DBMS.
BACKGROUND OF THE INVENTION
A buffer memory constitutes a rapid, small-capacity interface between a processor and a generally slow, large-capacity data memory. The buffer memory is made up of a set of buffers intended to store extracts from the data memory. It can be a cache memory for receiving blocks of data from the data memory. The example chosen to illustrate the invention concerns the buffer memory of a DBMS. A DBMS is operated by the computer's operating system by means of a processor provided with virtual memory constituting all or part of the central memory of the computer and representative of the buffer memory. The extracts of data stored in the buffer memory are commonly pages of the refresh memory making up the data base. The buffer memory is therefore referred to as a pages cache memory. The management of the buffers in the cache memory is achieved by a buffer manager operated by the processor.
A distinction is usually made between two types of processing by the method, use of a buffer memory and, in particular, use of the pages cache memory in the example considered. The processing which frequently access a small number of pages in the cache memory is called local processing, and that less frequently accessing a large number of pages in the cache memory is referred to as non-local processing. For the simultaneous execution of local and non-local processing, the cache memory is divided under the control of the buffer manager. This division poses a major problem for managing the cache memory.
The buffer managers are currently and logically optimized for processing for local access. Ordinarily the cache memory is operated by an algorithm referred to as Least Recently Used (LRU). This algorithm draws up a list of the buffers in the cache memory according to the date of their last use. In principle, each time a buffer is referenced, the LRU rechains it to the head of the list. It follows that the buffers ahead of it in the list move down one place on the list. It is said that these buffers age by one place. When the buffer manager does not find a page in the cache memory, it requests the extraction of the page from the data base and its loading into the cache memory, while the LRU designates the buffer which was least recently referenced in order to record the new page. This optimization for local processing is especially unsuitable to the simultaneous operation of the cache memory for non-local processing. In effect, the access to new pages occurs much more frequently for non-local processing. There then follows a rapid modification of the head of the LRU list, and therefore a premature aging of the content of the other buffers. This premature aging greatly disturbs the management of local processing, and considerably slows down its execution.
Another problem, which stems from the rechaining at the head of the LRU list of the recently referenced buffers, arises especially in a multiprocessor environment. The rechaining to the head of the list must be independent in order to preserve the integrity of the list. In a multiprocessor system, this makes it necessary to take an exclusive lock during the dechaining and rechaining operation in order to move the buffer in the list. Taking an exclusive lock constitutes what is known as a critical section. A critical section can only be executed by a single processor at a given instant, and thus causes the multiprocessor's production to deteriorate.
The invention solves both these problems by permitting the optimization of the management of a set of buffers operated by local and non-local processing at the same time.
SUMMARY OF THE INVENTION
The invention has as its purpose a method for managing a set of buffers by means of a list which arranges the buffers by order of their least recent utilization (LRU), with the distinguishing characteristic that it consists of arranging the buffer according to its position with respect to a threshold position on the list, when one of the buffers is referenced.
As a corollary, the invention also has as its purpose a computer system which includes a processor connected to a data memory through a set of buffers operated by a buffer manager, according to an LRU algorithm, with the distinguishing characteristic that it includes the means for generating at least one threshold position, and a means of comparison connected to the generating means and to the algorithm.
The invention also has the subsidiary purpose of a recording medium with the characterized by the fact that it includes software for implementing the method.
BRIEF DESCRIPTION OF THE DRAWINGS
The characteristics and advantages of the invention are brought out in the following descriptions, given by way of example and illustrated in the attached drawings.
In these drawings:
FIG. 1 is an overall view of a computer system in conformity with the invention made up of a management system for a data base and including a set of buffers operated according to the method of the invention; and
FIG. 2 illustrates, by means of a flow chart, a method for managing a set of buffers represented in FIG. 1
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1 represents with an overall view a computer system 10 comprising a central processor 11 connected by means of a central memory 12 to a refresh memory 13 constituting a data base in the example. The central memory 12 thus acts as a buffer memory between the central processor 11 and the data base 13. The central memory 12 includes a set 14 of n buffer memories 15 and a manager 16 of the set 14 based on an LRU algorithm. The n buffers 15 are each suitable for storing an extract from the data base 13, one page of 4 kilobytes in the example given. The n buffers 15 are chained in an order 1, 2, . . . n determined by the LRU. The processor 11 accesses the set 14 to implement local processing 17 and non-local processing 18. Under the control of the manager 16 the pages requested for processing 17 and 18 are copied in the set 14 starting from the external data base 13. The set 14 is thus divided between simultaneous local and non-local processing.
The computer system 10 also contains in the standard manner, in this case in the manager 16 as illustrated, a device 19 for calculating the current number of pages in the set 14 with respect to the total number of pages requested by the processor. This rate is currently referred to as the buffer access hit rate. It is said that there is a hit when the address of a page requested by the processor 11 is one of the addresses contained in the directory of the buffer set. The hit rate is regularly updated, for example at every 1,000 references.
According to the invention, when a buffer is referenced, it is arranged in the list by the manager 16 according to its position p with respect to a threshold position t on the list. An illustrative example of the method according to the invention is represented by the flow chart in FIG. 2.
Consider, for example, that the set 14 is made up of 1,000 buffers 15 (n=1,000). In the example, the threshold position t is defined in relation to the buffer access hit ratio. The function selected in the example given is the simple correspondence of the hit rate to the number of buffers in the set 14. In this way, if the hit rate is 85%, for example, the threshold position t in the set 14 of 1,000 buffers 15 corresponds to the position t=850. The information device 10 contains, preferably in the manager 16 as illustrated, a generator 20 of the threshold position which receives the hit rate provided by the device 19 and a position comparison device 21 receiving from the generator 20 the threshold position t and from the LRU the position p of the buffer referenced in the list.
If a referenced page is already in the set 14, the position p of the buffer incorporating it is compared with the threshold position t. If the position p is a position i preceding the position t as illustrated in FIG. 1, that is, if p<t, the manager 16 does not change the position i of the buffer 15. It is therefore considered that the page requested is in a stable or fresh portion of the list. In other words, all the working set pages placed in front of the threshold position t are not aged after the reading of a page. On the other hand, if position p is a position k corresponding to the threshold position or one following it, that is, if p≧t, it is put at the head of the list. Aging takes place only in this case.
If the requested page is not found in the set 14, it is placed in the threshold position t so that the reading of this page does not age the pages in the stable zone, which are considered as active. In this way, only if the page is referenced again will it be chained to the head of the list, in conformity with the preceding comparison criteria.
The example illustrating the method of the invention can have many variations. In this method, the determination of the threshold position t is a simple correspondence of this rate with the total positions in the LRU list. However, it is clear that the determination of the threshold position can be a more sophisticated function of the value of the hit ratio, being capable of leading to a changing threshold position t, or to several threshold values. For example, an initial threshold position t1 could be the one previously defined for the insertion of a new page and the comparison of a present page position p, and another position t2 could have a lesser value, for example, t2 =t1 /2 to correspond to a first rechaining. In this way, one page already present and having a position following threshold position t1 could be rechained to position t2. In another example, the threshold position t could be a fixed predetermined value for a range of hit rate values. For example, the threshold position t would be 900 for a ratio between 80% and 100%, 700 for a ratio between 60% and 80%, etc. Of course, this example can be combined with the preceding one. On the other hand, even though the threshold position t chosen in the illustrated example is defined in relation to the buffer access hit ratio, it is clear that it can be simply a predetermined fixed position. Thus, the method consists of comparing the position p with one or more fixed threshold positions. In this way it is understood that, more generally, a variable threshold position could be defined in relation to a different parameter than the hit ratio and that a variable position could be added to a fixed position.
In a general way, it follows from these considerations that the method of the invention is related to the management of a set of buffers by means of a list which arranges the buffers by the order of their least recent utilization (LRU) and consists, when a buffer is referenced, of arranging the buffer in relation to its position p with respect to a threshold position in the list. The threshold position can be fixed or variable. If it is variable, it will be appropriately defined in relation to the buffer access hit ratio. If the information, a page in the illustrated example, is already present in the referenced buffer, the method of the invention consists of maintaining the buffer's position if it precedes the threshold position, and of rechaining it in the list in the contrary case. It has been seen that the rechaining can be carried out to the head of the list, or to another threshold position t2 which precedes it. If the referenced buffer receives any new information, the method of the invention consists of placing it in the threshold position. If there are several threshold positions, the buffer will be placed in the last threshold position.
Moreover, even though the example has to do with a buffer memory in relation to a data base as a data memory, we have seen that the invention can be applied to every buffer memory between any processor and any memory, referred to as a data memory to avoid any ambiguity. In the particular case of a central processor, the data memory would be the central memory of the computer system. The invention thus has as its further purpose a computer system comprising a processor connected to a data memory by means of a set of buffers managed by a manager according to an LRU algorithm, means for generating at least one threshold position, and means of comparison connected to the generating devices and the LRU. Preferably, if the computer system includes a device for calculating the current buffer access hit rate, the device will be connected to the generating means in order to define at least one of the threshold positions in relation to the buffer access hit ratio.
While this invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, the preferred embodiments of the invention as set forth herein, are intended to be illustrative, not limiting. Various changes may be made without departing from the spirit and scope of the invention as set forth herein and defined in the claims.

Claims (33)

We claim:
1. A buffer memory management method for a buffer memory having a set (14) of buffers (15) for storing respective desired information, the method comprising:
referencing said set of buffers and classifying said buffers in a list by order of their least recent utilization (LRU), determining a threshold position (t) in said list of buffers in relation to a current buffer access hit rate and, when a buffer is referenced at a position (p) in said list, said classifying step further comprises classifying said referenced buffer in relation to said position (p) relative said threshold position (t) in said list of buffers.
2. A method according to claim 1, said step of further classifying comprises, when the desired information is already in said referenced buffer, maintaining said referenced buffer's position when said referenced buffer position precedes said threshold position, and rechaining said referenced buffer in said list of buffers if the contrary holds.
3. A method according to claim 2, further comprising determining in said list of buffers at least one additional threshold position preceding said threshold position and wherein said referenced buffer receives the desired information and said step of further classifying comprises placing said referenced buffer at that of said at least one additional threshold position nearest said threshold position.
4. A method according to claim 3, wherein the nearest additional threshold position is determined in relation to said current buffer access hit rate.
5. A method according to claim 3, wherein said nearest additional threshold position has a predetermined fixed value.
6. A method according to claim 2, wherein said step of rechaining said referenced buffer advances said referenced buffer to a position preceding the threshold position.
7. A method according to claim 2, wherein said referenced buffer receives the desired information and said step of further classifying comprises placing said referenced buffer at said threshold position.
8. A method according to claim 2, wherein said list of buffers has a head buffer and said step of rechaining said referenced buffer advances said referenced buffer to be said head buffer.
9. A method according to claim 1, wherein said referenced buffer receives the desired information and said step of further classifying comprises placing said referenced buffer at said threshold position.
10. A method according to claim 1, further comprising determining in said list of buffers at least one additional threshold position preceding said threshold position and wherein said referenced buffer receives the desired information and said step of further classifying comprises placing said referenced buffer at that of said at least one additional threshold position nearest said threshold position.
11. A method according to claim 10, wherein said nearest additional threshold position is determined in relation to said current buffer access hit rate.
12. A method according to claim 10, wherein said nearest additional threshold position has a predetermined fixed value.
13. A method according to claim 1, further comprising determining at least one additional threshold position in relation to said current buffer access hit rate.
14. A method according to claim 1, further comprising determining at least one additional threshold position having a predetermined fixed value.
15. A method according to claim 1, wherein said threshold position has a predetermined fixed value corresponding to a predetermined range of values of said current buffer access hit rate.
16. A computer system (10) comprising a data memory, processor (11) connected to the data memory (12) through a set of buffers (15), means (16) for classifying said buffers in a list according to an LRU algorithm, means (20) for determining a threshold position (t) in said list, means (19) for calculating a current buffer access hit rate, said means (19) for calculating being connected to said determining means (20) in order to determine said threshold position in relation to said current buffer access hit rate, comparison means (21) connected to said determining means and said classifying means for comparing said threshold position with a position (p) of a referenced buffer in said list, and means (16) for further classifying said referenced buffer in said list in relation to said position (p) relative to said threshold position (t).
17. A system according to claim 16, wherein said threshold position has a predetermined fixed value corresponding to a predetermined range of values of said current buffer access hit rate.
18. A system according to claim 16, wherein said determining means also determines at least one additional threshold position.
19. A system according to claim 18, wherein said at least one additional threshold position is also determined in relation to said current buffer access hit rate.
20. A system according to claim 19, wherein said at least one additional threshold position has a predetermined fixed value corresponding to a respective predetermined range of values of said current buffer access hit rate.
21. A system according to claim 19, wherein said at least one additional threshold position has a predetermined fixed value.
22. A buffer memory management method for a buffer memory having a set (14) of buffers (15) for storing respective desired information, the method comprising: referencing said set of buffers and classifying said buffers in a list by order of their least recent utilization (LRU), determining a threshold position (t) in said list of buffers in relation to a current buffer access hit rate and, when a buffer is referenced at a position (p) in said list, said classifying step further comprises classifying said referenced buffer in relation to said position (p) relative to said threshold position (t) in said list of buffers whereby said method is optimized when said set of buffers are operated by simultaneous local and non-local processing.
23. A method according to claim 22, said step of further classifying comprises, when the desired information is already in said referenced buffer, maintaining said referenced buffer's position when said referenced buffer's position precedes said threshold position, and rechaining said referenced buffer in said list of buffers when the referenced buffer's position does not precede said threshold position.
24. A method according to claim 23, wherein said step of rechaining said referenced buffer advances said referenced buffer to a position preceding the threshold position.
25. A method according to claim 22, wherein said referenced buffer receives the desired information and said step of further classifying comprises placing said referenced buffer at said threshold position.
26. A method according to claim 22, further comprising determining in said list of buffers at least one additional threshold position preceding said threshold position and wherein said referenced buffer receives the desired information and said step of further classifying comprises placing said referenced buffer at that of said at least one additional threshold position nearest said thresholds position.
27. A method according to claim 22, further comprising determining at least one additional threshold position in relation to said current buffer access hit rate.
28. A computer system (10) comprising a data memory, a set of buffers and a processor (11) connected to the data memory (12) through the set of buffers (15), said set of buffers (15) being operated by local and non-local processing means (16) for classifying said buffers in a list according to a LRU algorithm, means (20) for determining a threshold position (t) in said list, means (19) for calculating a current buffer access hit rate, said means (19) for calculating being connected to said determining means (20) in order to determine said threshold position in relation to said current buffer access hit rate, comparison means (21) connected to said determining means and said classifying means for comparing said threshold position with a position (p) of a referenced buffer in said list, and means (16) for further classifying said referenced buffer in said list in relation to said position (p) relative to said threshold position (t).
29. A system according to claim 28, wherein said threshold position has a predetermined fixed value corresponding to a predetermined range of values of said current buffer access hit rate.
30. A system according to claim 28, wherein said determining means also determines at least one additional threshold position.
31. A system according to claim 30, wherein said at least one additional threshold position is also determined in relation to said current buffer access hit rate.
32. A system according to claim 31, wherein said at least one additional threshold position has a predetermined fixed value corresponding to a respective predetermined rate of values of said current buffer access hit rate.
33. A system according to claim 31, wherein said at least one additional threshold position has a predetermined fixed value.
US08/284,670 1992-12-22 1993-12-21 Buffer memory management method, recording medium, and computer system incorporating same Expired - Lifetime US5584015A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9215519 1992-12-22
FR9215519A FR2699703B1 (en) 1992-12-22 1992-12-22 Method for managing a buffer memory, recording medium and computer system incorporating it.
PCT/FR1993/001285 WO1994015292A1 (en) 1992-12-22 1993-12-21 Buffer memory management method, recording medium and computer system incorporating same

Publications (1)

Publication Number Publication Date
US5584015A true US5584015A (en) 1996-12-10

Family

ID=9436951

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/284,670 Expired - Lifetime US5584015A (en) 1992-12-22 1993-12-21 Buffer memory management method, recording medium, and computer system incorporating same

Country Status (6)

Country Link
US (1) US5584015A (en)
EP (1) EP0604310B1 (en)
JP (1) JP2655755B2 (en)
DE (1) DE69327391T2 (en)
FR (1) FR2699703B1 (en)
WO (1) WO1994015292A1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732201A (en) * 1996-01-09 1998-03-24 Samsung Electronics Co., Ltd. Method for divisionally utilizing memory area
US5829023A (en) * 1995-07-17 1998-10-27 Cirrus Logic, Inc. Method and apparatus for encoding history of file access to support automatic file caching on portable and desktop computers
US5915265A (en) * 1995-12-22 1999-06-22 Intel Corporation Method and apparatus for dynamically allocating and resizing the dedicated memory in a shared memory buffer architecture system
US6278900B1 (en) * 1996-05-16 2001-08-21 Casio Computer Co., Ltd. Audio storing and reproducing apparatus
US6430191B1 (en) 1997-06-30 2002-08-06 Cisco Technology, Inc. Multi-stage queuing discipline
US6487202B1 (en) 1997-06-30 2002-11-26 Cisco Technology, Inc. Method and apparatus for maximizing memory throughput
US6535484B1 (en) * 1996-05-15 2003-03-18 Cisco Technology, Inc. Method and apparatus for per traffic flow buffer management
US6631446B1 (en) * 2000-10-26 2003-10-07 International Business Machines Corporation Self-tuning buffer management
US6745292B1 (en) * 1995-12-08 2004-06-01 Ncr Corporation Apparatus and method for selectively allocating cache lines in a partitioned cache shared by multiprocessors
US6775292B1 (en) 2000-01-24 2004-08-10 Cisco Technology, Inc. Method for servicing of multiple queues carrying voice over virtual circuits based on history
US20060074872A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation Adaptive database buffer memory management using dynamic SQL statement cache statistics
US7142558B1 (en) 2000-04-17 2006-11-28 Cisco Technology, Inc. Dynamic queuing control for variable throughput communication channels

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761716A (en) * 1996-05-01 1998-06-02 International Business Machines Corporation Rate based memory replacement mechanism for replacing cache entries when the cache is full

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0086886A2 (en) * 1982-02-24 1983-08-31 International Business Machines Corporation Hierarchical data storage system for digital computers
EP0509231A1 (en) * 1991-04-19 1992-10-21 International Business Machines Corporation Method of replacing data in a cache

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0652060A (en) * 1992-07-28 1994-02-25 Hitachi Ltd Lru list control system
JPH0689232A (en) * 1992-09-08 1994-03-29 Fujitsu Ltd Control method for cache memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0086886A2 (en) * 1982-02-24 1983-08-31 International Business Machines Corporation Hierarchical data storage system for digital computers
US4636946A (en) * 1982-02-24 1987-01-13 International Business Machines Corporation Method and apparatus for grouping asynchronous recording operations
EP0509231A1 (en) * 1991-04-19 1992-10-21 International Business Machines Corporation Method of replacing data in a cache

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
IBM Systems Journal, vol. 23, No. 2, 1984, Armonk, US; pp. 211 218; J. Z. Teng et al., Managing IBM Database 2 Buffers to Maximize Performance . *
IBM Systems Journal, vol. 23, No. 2, 1984, Armonk, US; pp. 211-218; J. Z. Teng et al., "Managing IBM Database 2 Buffers to Maximize Performance".
IBM Technical Disclosure Bulletin, vol. 30, No. 5, Oct. 1987, New York, US; pp. 358 359, Upgrading LRU Positions in Cache Management . *
IBM Technical Disclosure Bulletin, vol. 30, No. 5, Oct. 1987, New York, US; pp. 358-359, "Upgrading LRU Positions in Cache Management".

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5829023A (en) * 1995-07-17 1998-10-27 Cirrus Logic, Inc. Method and apparatus for encoding history of file access to support automatic file caching on portable and desktop computers
US6745292B1 (en) * 1995-12-08 2004-06-01 Ncr Corporation Apparatus and method for selectively allocating cache lines in a partitioned cache shared by multiprocessors
US5915265A (en) * 1995-12-22 1999-06-22 Intel Corporation Method and apparatus for dynamically allocating and resizing the dedicated memory in a shared memory buffer architecture system
US5732201A (en) * 1996-01-09 1998-03-24 Samsung Electronics Co., Ltd. Method for divisionally utilizing memory area
US6535484B1 (en) * 1996-05-15 2003-03-18 Cisco Technology, Inc. Method and apparatus for per traffic flow buffer management
US6278900B1 (en) * 1996-05-16 2001-08-21 Casio Computer Co., Ltd. Audio storing and reproducing apparatus
US6430191B1 (en) 1997-06-30 2002-08-06 Cisco Technology, Inc. Multi-stage queuing discipline
US6487202B1 (en) 1997-06-30 2002-11-26 Cisco Technology, Inc. Method and apparatus for maximizing memory throughput
US6775292B1 (en) 2000-01-24 2004-08-10 Cisco Technology, Inc. Method for servicing of multiple queues carrying voice over virtual circuits based on history
US7142558B1 (en) 2000-04-17 2006-11-28 Cisco Technology, Inc. Dynamic queuing control for variable throughput communication channels
US6631446B1 (en) * 2000-10-26 2003-10-07 International Business Machines Corporation Self-tuning buffer management
US20060074872A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation Adaptive database buffer memory management using dynamic SQL statement cache statistics

Also Published As

Publication number Publication date
DE69327391D1 (en) 2000-01-27
DE69327391T2 (en) 2000-05-11
EP0604310B1 (en) 1999-12-22
WO1994015292A1 (en) 1994-07-07
FR2699703B1 (en) 1995-01-13
FR2699703A1 (en) 1994-06-24
EP0604310A1 (en) 1994-06-29
JP2655755B2 (en) 1997-09-24
JPH07500441A (en) 1995-01-12

Similar Documents

Publication Publication Date Title
US5008820A (en) Method of rapidly opening disk files identified by path names
US5778430A (en) Method and apparatus for computer disk cache management
US6615318B2 (en) Cache management system with multiple cache lists employing roving removal and priority-based addition of cache entries
US6192432B1 (en) Caching uncompressed data on a compressed drive
US4603380A (en) DASD cache block staging
US5537568A (en) System for dynamically controlling cache manager maintaining cache index and controlling sequential data access
US6115787A (en) Disc storage system having cache memory which stores compressed data
US5584015A (en) Buffer memory management method, recording medium, and computer system incorporating same
US20030217080A1 (en) System and method for intelligent write management of disk pages in cache checkpoint operations
US5996047A (en) Method and apparatus for caching file control information corresponding to a second file block in a first file block
JPH02281350A (en) Cache memory management
JPH0628257A (en) Data exchange method at inside of cache memory
US6697797B1 (en) Method and apparatus for tracking data in a database, employing last-known location registers
US6256644B1 (en) Control system for storing data in accordance with predefined characteristics thereof
US5581726A (en) Control system for controlling cache storage unit by using a non-volatile memory
JPS63186348A (en) Apparatus for heightening utility of single writing/multiple reading memory medium
KR100443320B1 (en) Reclaim space reserve for a compressed memory system
WO2020024933A1 (en) Data writing method and server
US6029229A (en) Digital data storage subsystem including directory for efficiently providing formatting information for stored records
US6134562A (en) System for modifying a database using a transaction log
US5900009A (en) System and method for accessing records in a cache slot which are associated with a current owner storage element or at least one previous owner storage element
JPS59220853A (en) Disc cache system
US6324633B1 (en) Division of memory into non-binary sized cache and non-cache areas
JPH01303547A (en) Control system for information memory
US6467033B2 (en) Method and apparatus for implementing locking of non-data page operations

Legal Events

Date Code Title Description
AS Assignment

Owner name: BULL S.A., FRANCE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VILLETTE, MICHEL;SERVANT, HERVE;REEL/FRAME:007201/0688

Effective date: 19940909

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12