8201, 8202, 8203, 8204 Acceleration Processor Data Sheet, DS-0157-05
Page 116
Exar Confidential
Maintain two entries into the command buffers to improve performance by
prefetching the next command's command structure and source data if all the
current command’s source data is consumed
Maintain the source descriptor head and tail pointer FIFO, which is used to indicate
the valid bytes in a single quad word because the source buffer starting address and
length is arbitrary
5.3.2
Channel Manager Source Buffer
The source buffer is implemented as a two-port 72-bit memory (64 bits of data and 8 bits
of ECC). The source buffer memory is segmented into multiple blocks; each block
comprises multiple cells. The cell size is fixed at 128-bytes, the minimum
max_read_request_size.
When a Channel Manager requests a block of source data, the length will be the cell size,
except the first and the last requests of a source descriptor because the starting address of
a source descriptor is arbitrary aligned. The number of cells in a block are a power of 2 and
depend on the parameter max_read_request_size which may be 128, 256, 512, 1K, or 2K
bytes. Each Channel Manager has a 4K byte deep source buffer, and supports
max_read_request_size equal 128, 256 or 512 bytes, therefore each block may consist of
1, 2, or 4 cells.
For data integrity, every 64 bits of data are protected by 8 bits of ECC.
Note: The default maximum read request size, max_read_request_size for the PCIe
specification is 512 bytes. If the host configures the max read request size to 1KB or 2KB,
the 820x will still send 512B read requests over the PCIe interface.
5.3.3
Channel Manager Outbound Data Controller
The Outbound Data Controller (ODC) controls the result data and command process status
writes to host. The main functions of the Outbound Data Controller are:
Issue data write requests to the POM when data in the result buffer exceeds the
maximum read request size
Issue destination descriptor read requests and free pool entry read requests
Issue hash/MAC values write requests to the POM if used
Issue free pool entry write requests if the free pool is used
Issue command structure result field write requests and result ring write requests
when a command completes
Organize the errors reported by the processing engines