10149.datasector.ecc
上传用户:weiliju62
上传日期:2007-01-06
资源大小:619k
文件大小:1k
源码类别:
SCSI/ASPI
开发平台:
MultiPlatform
- Mode 1:
- <- sync -><- header, user data, edc, intermediate -><- p -><- q ->
- 0 12 2076 2248 2352
- <---------------------- 2352 ------------------------------------>
- <- fed into Reed-Solomon encoder (2064) ->
- <- fed into Reed-Solomon decoder (2340) ->
- Mode 2 Form 1:
- <- sync -><- header, subheader, user data, edc -><- p -><- q ->
- 0 12 2076 2248 2352
- <---------------------- 2352 ------------------------------------>
- <- fed into Reed-Solomon encoder (2064) ->
- <- fed into Reed-Solomon decoder (2340) ->
- Reed-Solomon Product Code for data sectors
- The 2340 bytes are structured in 16-bit-words.
- 2340 bytes of the 2352 bytes (B) are accessed in 16-bit words (S).
- S[n] = B[2n + 1 + 12] << 8 (MSB) + B[2n + 12] (LSB)
- Reed-Solomon operates on bytes. Reed-Solomon is applied to the MSByte
- of a word first, and then to the LSByte.
- Polynomial:
- P(x) = x^8 + x^4 + x^3 + x^2 + 1
- primitive element alpha of GF(2^8):
- alpha = (00000010) (MSBit - LSBit)
- first stage (P-parity)
- (26,24) Reed-Solomon code 16-bit-words over GF(2^8)
- P1[n] = sum over m (S[(m * 43) + n]
- P2[n] = sum over m (S[(m * 43) + n]
- second stage (Q-parity)
- (45,43) Reed-Solomon code 16-bit-words over GF(2^8)
- Q1[n] = sum over m (S[((m * 44) + 43*n) mod 1118]
- Q2[n] = sum over m (S[((m * 44) + 43*n) mod 1118]