The present invention includes a Command Queuing Engine (CQE) that is a
firmware-assist block which processes some of the firmware tasks related
to command and context management preferably for SCSI. When enabled, CQE
will decode SCSI commands as they arrive, and determine if DMA contexts
can be automatically configured and started to transfer the data for those
commands. CQE can also program DMA contexts to automatically return status
information either after the disk has completed a transfer (as in
non-cached writes) or after the DMA transfer is completed (as in reads or
cached writes). CQE also utilizes a buffer-based linked-list to queue the
SCSI commands as they arrive for future DMA context configuration. The
present invention provides automated recognition and linking of commands
belonging to a common thread, i.e., are sequential. The present invention
also provides extensive thread boundary information and flexible firmware
control for reordering commands. Automatic TE entry generation and storage
to buffer memory, and automatic TE retrieval from the buffer memory and
execution of entire command threads are further features provided by the
present invention. As a result, bus command response latency is decreased
by reducing the delay for the command to be started and at the end of the
data transfer for status to be send. Disk efficiency is increased by
reducing the latency to back-fill or empty a buffer memory segment of data
that will be transferred. Furthermore, the present invention is a low-cost
trade-off between hardware and firmware functionality.
Присытствыющий вымысел вклюает двигатель команды queuing (CQE) фирмшаре-pomogaet блоку обрабатывает некоторые из задач firmware отнесенных к управлению команды и смысла предпочтительн для SCSI. После того как я включано, CQE расшифрует команды SCSI по мере того как они приезжает, и обусловливает если смыслы dma можно автоматически установить и начать для возвращения данных для тех команд. CQE может также запрограммировать смыслы dma автоматически для того чтобы возвратить статус информации или после того как диск завершал переход (как в non-cached пишет) или после того как переход dma завершит (как внутри читает или спрятал в тайнике пишет). CQE также использует буфер-osnovanny1 соединять-spisok для того чтобы queue команды SCSI по мере того как они приезжает для будущей конфигурации смысла dma. Присытствыющий вымысел обеспечивает автоматизированное опознавание и соединять команд принадлежа к общей резьбе, т.е., последовательный. Присытствыющий вымысел также предусматривает обширные данные по границы резьбы и гибкое управление firmware для переупорядочивать команды. Автоматическим поколением входа TE и хранением для того чтобы амортизировать память, и автоматическим возвращением TE от памяти буфера и исполнением всех резьб команды будут более дополнительные характеристики обеспеченные присытствыющим вымыслом. В результате, латентность реакции команды шины уменьшита путем уменьшение задерживает для команды быть начатым и на конце передачи данных для состояния, котор нужно быть пошлите. Эффективность диска увеличена путем уменьшение латентности для того чтобы back-fill или опорожнить этап памяти буфера данных будут возвращены. Furthermore, присытствыющим вымыслом будет low-cost trade-off между оборудованием и функциональностью firmware.