Intel
®
81341 and 81342—Application DMA Unit
Intel
®
81341 and 81342 I/O Processors
Developer’s Manual
December 2007
494
Order Number: 315037-002US
5.7.3
XOR Operation with P+Q RAID-6
describes the XOR with P+Q RAID-6 implementation. In this illustrative
example, there are four blocks of source data to have a P+Q RAID-6 function
performed on them. The intermediate result is kept by the P and Q store queues in the
ADMA before being written back to local memory. The source data is located at
addresses 0 A000 0400H, 0 A000 0800H, 0 A000 0C00H and 0 A000 1000H
respectively.
All data transfers needed for this operation are controlled by chain descriptors located
in local memory. The Application DMA as a master on the internal bus initiates a data
transfer. The algorithm is implemented such that as data is read from local memory,
the ADMA executes the XOR operation to generate P, and applies the GF Multiply
function to the incoming source data followed by the XOR operation to generate Q.
Only a single descriptor is required and generates both check values. Each descriptor is
processed as illustrated in
Note:
Optionally, the user may disable the generation of P while generating Q.
Figure 59. The P+Q RAID6 Mode Algorithm
0 A000 0400H
Block 1
MSB
LSB
0 A000 0800H
0 A000 0C00H
0 A000 1000H
bitwise-XOR
(64-bit wide)
bitwise-XOR
(64-bit wide)
bitwise-XOR
(64-bit wide)
1K byte
byte 1
byte 8
1024 bytes
bytes 1-8
bytes 1-8
bytes 1-8
bytes 1-8
1024 bytes
Block 2
...
...
...
SAR2 = 0400 0000 A000 0C00H
Q_Destination = 0 B000 0400H
SAR3 = 0800 0000 A000 1000H
SAR1 = 0200 0000 A000 0800H
SAR0 = 0100 0000 A000 0400H
ABCR = 0000 0400H
ADCR = 0004 001FH
Control Register Values
0 B000 0400H
128-Deep
Store Queues
Local Memory
byte 8
byte 1
...
...
...
P Result
Q Result
0 B000 0800H
P_Destination = 0 B000 0800H
GF Multiply
GF Multiply
GF Multiply
DMLT1=01
DMLT2=02
DMLT3=04
GF Multiply
DMLT3=08
Block 3
1024 bytes
1024 bytes
Block 4
Note: P_Destination
and Q_Destination
Share the same
Upper Address
B6228-01