A computer-implemented method and system for accelerating writes to a
storage controller by performing log-based sequential write caching of
data to be written on a storage device. The data in the log is moved to
the storage array later when the system is less active. As a result,
random writes are converted to sequential writes. Overall, performance
improves since the performance of sequential writes far exceeds that of
random writes. A write command containing data is received in a data
storage controller, wherein the data storage controller includes a write
cache having a sequential log. The data storage controller also includes
an index structure indicating the location of data in the sequential log.
If the data does not already exist on the log, the data is written to the
log contained in the write cache at a location recorded in the index
structure. If the data already exists on the log as indicated by the index
structure, the data on the index structure is invalidated and the new data
is written on the log at an available location determined by the index
structure. When an idle period exists, data in the log from a plurality of
write commands is transferred to the data storage medium.
Eine Computer-eingeführte Methode und ein System für die Beschleunigung schreibt zu einem Speichersteuerpult durch durchführendes Maschinenbordbuch-gegründetes aufeinanderfolgendes schreiben das Cachieren der auf eine Speichervorrichtung geschrieben zu werden Daten. Die Daten im Maschinenbordbuch werden auf die Speicherreihe später verschoben, wenn das System weniger aktiv ist. Infolgedessen gelegentlich schreibt werden umgewandelt in aufeinanderfolgendes schreibt. Gesamt, verbessert Leistung, da die Leistung von aufeinanderfolgendem übersteigt weit das von gelegentlichem schreibt schreibt. Ein schreibenbefehl, der Daten enthält, wird in einem Datenspeichersteuerpult empfangen, worin der Datenspeichersteuerpult einen schreibenpufferspeicher einschließt, der ein aufeinanderfolgendes Maschinenbordbuch hat. Der Datenspeichersteuerpult schließt auch eine Indexstruktur ein, welche die Position von Daten im aufeinanderfolgenden Maschinenbordbuch anzeigt. Wenn die Daten nicht bereits vom Maschinenbordbuch bestehen, werden die Daten zum Maschinenbordbuch geschrieben, das im schreibenpufferspeicher an einer Position enthalten wird, die in der Indexstruktur notiert wird. Wenn die Daten bereits vom Maschinenbordbuch bestehen, wie durch die Indexstruktur angezeigt, werden die Daten bezüglich der Indexstruktur ungültig erklärt und die neuen Daten werden auf das Maschinenbordbuch an einer vorhandenen Position geschrieben, die durch die Indexstruktur festgestellt wird. Wenn eine untätige Periode besteht, schreiben Daten im Maschinenbordbuch von einer Mehrzahl von Befehle werden gebracht auf das Datenspeichermedium.