A system, a method, and program products for buffering data from a file in
a hierarchical data storage system allocates data buffers and buffer
management structures' in memory to optimize performance of no recall
requests. Buffer management structures, such as buffer headers and hash
queue headers, are used to optimize performance of insert, search, and
data buffer reuse operations. Buffer headers are managed in a
least-recently-used queue in accordance with a relative availability
status. Buffer headers are also organized in hash queue structures in
accordance with file-based identifiers to facilitate searching for
requested data in the buffers. Data buffers can be used to buffer
different data blocks within the same file and can be recycled to buffer
data from other data blocks and other files from the secondary storage
device. Data in a data block may be reread by the requesting process or by
other processes as long as the requested data remains valid. Lock fields
are used to coordinate multi-thread and multi-user accesses.
Ein System, eine Methode und Programmprodukte für Pufferbetrieb Daten von einer Akte in einem hierarchische Datenspeicherung System teilt Datenpuffer und der Pufferverwaltungstrukturen im Gedächtnis zu, um Leistung ohne Rückrufanträge zu optimieren. Pufferverwaltungstrukturen, wie Pufferüberschriften und Durcheinanderwarteschlange Überschriften, werden benutzt, um Leistung des Einsatzes, der Suche und der Datenpufferwiederverwendung Betriebe zu optimieren. Pufferüberschriften werden in einer am wenigsten gebrauchten Warteschlange in Übereinstimmung mit einem relativen Verwendbarkeit Status gehandhabt. Pufferüberschriften werden auch in den Durcheinanderwarteschlange Strukturen in Übereinstimmung mit Akte-gegründeten Bezeichnern organisiert, um nach, erbetenen Daten in den Puffern zu suchen zu erleichtern. Datenpuffer können benutzt werden, um unterschiedliche Datenblöcke innerhalb der gleichen Akte abzudämpfen und können aufbereitet werden, um Daten von anderen Datenblöcken und von anderen Akten von der Fremdspeichervorrichtung abzudämpfen. Daten in einem Datenblock können durch den erbittenen Prozeß oder durch andere Prozesse so lang neugelesen werden, wie die erbetenen Daten gültig bleiben. Verriegelung fängt werden verwendet, die mehrgängigen Gewinde- und Multibenutzerzugänge zu koordinieren auf.