throbber
7 -
`
`I
`
`\
`
`~
`
`IEEE TRANSACTlONS ON COMPUTERS, VOL. 39. NO. 7. JULY 1990
`
`969
`
`0
`0
`11
`
`4.00
`
`lb.00
`
`11.00
`
`d.00
`61.00
`i o 0
`(LOGZNI
`NETWORK S I Z E
`rsus network size for various networks.
`Fig. 5 . Normalized throughput 1
`at the stage cycle i , i > n +
`mi, =k(m‘-‘
`“-1)
`mi = g(m‘.-‘ ,-,’ bf ’
`mh = f ( m , bb-’)
`bl-, = /(m::’l)
`
`4) Numeric Results and Comparisons: The normalized through-
`puts of the B-networks of various sizes are shown in Fig. 5 together
`with those of other networks.’ It shows that the normalized through-
`puts of the B-network are significantly higher than those of the
`crossbar, regular MIN’s,’ and the gamma network. The B-network’s
`higher performance than the crossbar’s is due to the elimination of
`memory conflicts via backward links at the last stage.
`Fig. 5 also shows that the throughputs of the B-network are much
`higher than those of single-buffered regular MIN’s. In buffered net-
`works, the routing decision cannot be made locally at an SE, because
`the decision for a packet to move forward at one stage depends on
`the buffer states of all the remaining stages of the network [8], [7].
`In the B-network, however, the routing decision is made locally at
`each SE. Moreover, each input (or output) port of an SE in buffered
`networks needs buffers as well as additional links to receive/pass the
`control signals (to prevent the overrun of the buffers). Considering
`these facts, the B-network can be a very cost-effective alternative to
`single-buffered networks.
`
`IV. CONCLUSION
`A new multistage interconnection network, the B-network, which
`employs backward links has been proposed and analyzed. A back-
`ward link provides an alternate path for a blocked request at a
`switch or memory. The bandwidth, the acceptance probability, and
`the throughput of the B-network have been analyzed. The B-network
`has been shown to exhibit much higher bandwidths and through-
`puts than the gamma network, single-buffered regular MIN’s based
`on (2 x 2) switches, and the crossbar switches, while its hardware
`
`I The values for the buffered regular MIN are from [8] and [ll], and the
`values for the gamma network are from [ 111. The buffered regular MIN
`denotes the single-buffered MIN based on (2 x 2) switches.
`MIN’s such as the omega, the regular SW banyan, the baseline. and delta
`networks based on (2 x 2) switches.
`
`cost is the same as that of the gamma network. The B-network is
`controlled by the destination tag control scheme.
`We were somewhat surprised by the performance results of the
`B-network exceeding those of the crossbar switch. The high perfor-
`mance is the combined effects of many causes: 1) the backward links
`function as implicit buffers, 2) the backward links at the very last
`switching stage of the B-network can handle memory contentions,
`which cannot be handled by the crossbar switch, 3) the original
`gamma network, on which the B-network is based, connects one
`network input point to a switch, effectively reducing the network
`input request rate.
`
`REFERENCES
`T. Feng, “A survey of interconnection networks,” IEEE Comput.
`Mag., vol. 14, pp. 12-27, Dec. 1981.
`C. Wu and T. k n g , Eds., Tutorial Interconnection Networks for
`Parallel and Distributed Processing, IEEE Computer Society Press,
`1984.
`D. S. Parker and C. S. Raghavendra, “The Gamma network,” IEEE
`Trans. Comput., vol. C-33, no. 4, pp. 367-373, Apr. 1984.
`H. Yoon and K. Y. Lee, “The B-network: A multistage interconnection
`network with backward links for multiprocessor systems,” Tech. Rep.
`OSU-CISRC-TR22, Dep. Comput. Inform. Sci., Ohio State Univ.
`C. Wu and T. Feng, “On a class of multistage interconnection net-
`works,” IEEE Trans. Comput., vol. C-29, no. 8, pp. 694-702, Aug.
`1980.
`J . H. Patel, “Performance of processor-memory
`interconnections for
`multiprocessors,” IEEE Trans. Comput., vol. C-30, no. 10, pp.
`771-780, Oct. 1981.
`D. M. Dias and J. R. Jump, “Analysis and simulation of buffered delta
`networks,” IEEE Trans. Comput., vol. C-30, no. 4 , pp. 273-282,
`Apr. 1981.
`Y. C. Jenq, “Performance analysis of a packet switch based on single-
`buffered banyan network,” IEEE J. Select. Areas Commun., vol.
`SAC-1, no. 6, pp. 1014-1021, Dec. 1983.
`C. P. K ~ s k a l and M. Snir, “The performance of multistage intercon-
`nection networks for multiprocessors,” IEEE Trans. Comput., vol.
`C-32, no. 12, pp. 1091-1098, Dec. 1983.
`M. Kumar and J. R. Jump, “Performance of unbuffered shuffle-
`exchange networks,” IEEE Trans. Comput., vol. C-35, no. 6, pp.
`573-578, June 1986.
`H. Yoon, K. Y. Lee, and M. T. Liu, “Performance analysis and
`comparison of packet switching interconnection networks,” in Proc.
`1987 Int. Conf. Parallel Processing, Aug. 1987, pp. 542-545.
`N. F. Tzeng, P. C. Yew, and C . Q . Zhu, “The performance of a
`fault-tolerant multistage interconnection network,” in P m . 1985 Int.
`Conf. Pamllel Processing, 1985, pp. 458-465.
`
`Analysis of Checksums, Extended-Precision Checksums, and
`Cyclic Redundancy Checks
`
`NIRMAL R. SAXENA AND EDWARD J. McCLUSKEY
`
`Absfract - This paper presents an extensive analysis of the effectiveness
`of extended-precision checksums. It is demonstrated that the extended-
`precision checksums most effectively exploit natural redundancy occur-
`ring in program codes. Honeywell checksums and cyclic redundancy
`checks are compared to extended-precision checksums. Two’s comple-
`
`Manuscript received November 8, 1987; revised August 12, 1988. This
`work was supported in part by the National Science Foundation under Grant
`MIP-8709128, in part by the Innovative Science and Technology Office of the
`Strategic Defense Initiative Organization and administered through the Office
`of Naval Research under Contract N00014-85-K-0600, and in part by Hewlett-
`Packard under the Honors Cooperative Program with Stanford University.
`The authors are with the Center for Reliable Computing, Stanford Univer-
`sity, Stanford, CA 93405.
`IEEE Log Number 9035146.
`
`OO18-9340/90/0700-0969$01 .OO @ 1990 IEEE
`
`Unified Patents
`EX1014
`Page 1 of 7
`
`

`

`970
`
`IEEE TRANSACTIONS ON COMPUTERS, VOL. 39, NO. 7 , JULY 1990
`
`ment, unsigned, and one's complement arithmetic checksums are treated
`in a unified manner. Results are also extended to any general radix?
`arithmetic checksum. Asymptotic and closed form formulas of aliasing
`probabilities for the various error models are derived.
`
`denoted as [ A I , A 2 , . . . ,AS]'. Block ( n , S ) can also be defined in
`terms of columns. Block ( n , S ) is a block of n , length S, columns
`and is denoted as [c,, c, - 1 , . . , C I ] .
`Definition 4: The checksum K of an ( n , S) block is given by
`
`I
`
`Index Terms- Aliasing probability, checksums, cyclic redundancy
`check, generating functions, linear feedback shift registers.
`
`I. INTRODUCTION
`Checksums are considered one of the least expensive methods of
`error detection. These methods are used for detecting errors in stor-
`age and transmission of data. System firmware or recovery routines
`in most of the commercial computer systems are checksum-protected
`[I]. The checksum of a block of words is formed by adding to-
`gether all of the words in the block modulo-m, where m is arbitrary.
`These words could be data in memory or instructions in a checksum-
`protected code. The choice of m limits the number of bits in the
`checksum. This computed checksum validates the data or code in-
`tegrity. Since checksums are essentially a form of compaction, error
`masking can occur. The metric used to quantify the effectiveness
`of checksums is the error masking probability (aliasing probability)
`under various error models.
`Analysis of the effectiveness of checksums in [2] and [3] has
`largely been based on unidirectional errors. The detection of double
`and triple errors in low cost arithmetic codes has been analyzed in
`[4]. A closed form expression for the probability of checksum vio-
`lation, assuming independent errors, appears in [5]. Error detection
`in serial transmission by arithmetic checksum, as an alternative to
`cyclic redundancy check (CRC), has been considered in [6]. The
`use of checksums is also considered in watchdog processors [7].
`However, one problem that has not been examined in detail is
`the effectiveness of checksums under extended-precision arithmetic.
`Extended-precision checksums are described in [ 11, but their ef-
`fectiveness has not been quantified. The effectiveness of extended-
`precision checksums as a function of the static distribution of in-
`struction words in a program code is examined in Section 111. The
`extended-precision checksums are effective when the static distribu-
`tion of instructions is not uniform. Actual measurements on some
`firmware code show nonuniform distribution of instructions and it is
`believed that, in general, this will be true for other program codes.
`Results reported in [8] suggest this nonuniform distribution.
`Restricted column errors or restricted word errors are analyzed.
`The motivation for this analysis is that some failures [2] in storage
`devices can be modeled as restricted column or word errors. The
`generating function presented in Section I1 provides a framework to
`analyze unsigned, two's complement, and one's complement arith-
`metic checksums. Results are extended to any general radix-p arith-
`metic checksums.
`
`11. GENERATING F~SCTION
`In this section, a generating function f(X) is defined after the
`following definitions.
`Definition I: An n-bit word A , is defined as a string of binary
`symbols U,,, and is denoted as u n , , a n - ~ , ,
`' . , a l , , . The magnitude
`IA, I of A, is given by
`
`/All = C 2 " u , , , .
`, = I
`Definition 2: A length S column C, is a column of binary sym-
`bols a,,, and is denoted by [a,, I , a,, 2 , . . . ,u,,slT. The magnitude
`IC, I of C , is given by
`
`S
`
`i = l
`Definition 3: Block ( n , S) is a block of S n-bit words A i and is
`
`n
`
`S
`
`IC, I =
`
`IA, I.
`
`K =
`, = I
`, = I
`If the addition is performed without any loss of precision then K is
`the extended-precision checksum. K mod 2" and K mod (2" - 1) are
`two's complement and one's complement checksums, respectively.
`Definition 5: C ( S , K , n ) is defined as the number of possible dis-
`tinct ( n , S) blocks that have the same extended-precision checksum
`K .
`The following example illustrates the use of a generating function
`in enumerating C ( S , K , n).
`Example I: Let n = 2, S = 4. Four 2-bit wide words are possi-
`ble. The generating function in this case is
`f(X) = (1 + X + X 2 + X 3 ) 4
`= XI2 + 4X" + 10X'O + 20X9 + 31X8 + 40X' + 44X6
`+40X5+31X4+20X3+10X2+4X+1.
`There are four possible 2-bit (single-precision) checksum: 0, 1,
`2, and 3. For example, the number of distinct ways of producing
`checksum 1 by adding 4 2-bit words is the sum of the coefficients of
`X I , X 5 , X 9 . Adding the coefficients results in 4 + 40 + 20 = 64,
`which is simply 2' x4-2. The same result is obtained for the other
`2-bit checksum values. In the case of extended-precision, modulo-x
`addition is assumed. For example, the number of distinct ways of
`producing checksum 8 under extended-precision is the coefficient of
`X s which is 3 1.
`Generalizing Example 1: The number of distinct ( n , S ) blocks,
`A {, . . , A ; , having the same checksum K is enumerated by the coef-
`ficient of X K in f(X). The function f(X) is given by the following
`relation:
`f(X) = (1 + X + X 2 + . . . +X2'-')s.
`(1)
`ThereareSidenticalfactors,f,=l, ..s = ( l + X + . . . + X 2 " - ' ) , in
`f(X) corresponding to S words. The exponents of X in each factor
`represent 2" distinct values (0, . . ,2" - 1) a word can assume. The
`exponent Ea, of the product of S terms, picking a term
`from
`each f, , will be the checksum of S words. Therefore, the coefficient,
`denoted by C ( S , K , n), of X K in f(X) will be the number of ways
`of obtaining the same checksum K .
`The generating function f(X) can also be written as
`
`Let k' be the number formed by considering only the n least sig-
`nificant bits of K . Thus, k'
`is a single-precision checksum and
`0 5 k' 5 2" - 1. The number of distinct blocks of S words that
`produce the same checksum k' is the sum of the coefficients of
`. . . Xk'tB'n, where fi is the greatest integer less than
`Xk' , Xk'+'' 9
`or equal to (S(2n - 1) - k')/2". This number is evaluated by
`B
`
`9
`
`
`
`(3)
`
`w=o
`
`Expression (3) can be evaluated by using a coset counting argument.
`Function f ( X ) can be reinterpreted as
`f ( X ) = (1 + X + . . . +X~"-')s--l(l + X + . . . +x2"--I ).
`Powers of X in ( 1 + X + . . . +X2"--1)s-1 can be reduced to 2"
`modulo-2" residue classes: class(O), . . . ,class(i), . . ,class(2" - 1).
`Class(r] contains all those terms of ( 1 + X + . . +X2'-I)s-' such
`
`Unified Patents
`EX1014
`Page 2 of 7
`
`

`

`IEEE TRANSACTIONS ON COMPUTERS, VOL. 39, NO. 7. JULY 1990
`
`97 I
`
`term X j in (1 + X + . . . + X 2 " - ' ) can be picked such that
`that the powers of X are i modulo-2". For every class(r] a unique
`
`Rewriting (2)
`f(X) = ( 1 -X)-S(l -X2")S
`
`Since the classes exhaust all possible powers of X in ( 1 + X + . . . +
`X z " - ' ) s - ' , the summation CC(S k'+w2", n ) is simply the sum of
`the coefficients in ( l + X + . . .+X21-')s-'. The foregoing expression
`at X = 1 evaluates to the sum of the coefficients. Therefore, the
`following identities are obtained:
`
`B
`
`C C ( S , k' + w2", n) = 2ns-n.
`
`w=o
`
`(4)
`
`From (4), the error masking probability P for single-precision check-
`sums with modulo 2" addition can be derived as
`
`In the case of single-precision checksums, it is clear that the masking
`probability is independent of the value of k' when all error patterns
`are possible. As shall be seen later, this will not be true for restricted
`classes of errors. Relation (5) also applies for two's complement
`arithmetic; however, for one's complement a different relation is
`obtained. The onset of data dependency as the checksum precision
`is increased from n-bits is illustrated in the next example. By data
`dependency, it is meant that the number of possible ways of obtaining
`a particular checksum not only depends on the type of checksum
`computation but also depends on the checksum value. This will be
`illustrated by Example 2.
`Example 2: Let S = 5, n = 2. The generating function is
`f(X) = (1 +x +x* +X3)5
`= X" + 5X14 + 15XI3 + 35X" + 65X" + 101X'O
`+ 135X9 + 155X8 + 155X7 + 135X6
`+ 101X5 + 65X4 + 35X3 + 15X2 + 5X + 1 .
`Following the approach in Example 1, it can be shown that the num-
`ber of ways of obtaining the same 2-bit checksum is 256. Extending
`the precision of the checksum result by 1 bit, we have modulo-2"+'
`addition. With this new precision, there are eight possible checksums:
`0, . . . ,7. For example, the number of ways of producing checksum 7
`is the sum of the coefficients of X7 and X I 5 , which is 156 (155 + 1).
`The number of ways of producing checksum 3 is the sum of the
`coefficients of X 3 and X I 1 , which is 90 (35 + 65). It can readily
`be seen that the number of ways of producing n + 1 bit precision
`checksum also depends on the checksum value.
`
`III. EXTENDED-PRECISION
`CHECKSUMS
`It is easy to show that the checksum value for a block of S n-bit
`wide words cannot exceed S(2" - 1). In a checksum-protected code,
`it is extremely unlikely that S would exceed 2". For instance, in a 32-
`bit computer (n = 32) it is very unlikely that the number of words in
`a checksum-protected code would exceed Z3'. Thus, almost always,
`only a 2n-bit precision result is needed. Furthermore, only an n-bit
`precision adder and a counter to count the overflow carries from
`this n-bit adder is required. The counter is incremented whenever an
`overflow carry is generated by the n-bit adder while computiy the
`checksum. Unbounded precision can be achieved by 11"'
`an n-bit
`adder and a binary counter of variable length. The number of ways
`checksum K is preserved is simply the coefficient of X K in the series
`expansion o f f (X). In this section, exact and asymptotic values of
`the coefficient of X K are derived.
`
`(6)
`In Example 1, the coefficient ofX" is 10. The same result is obtained
`using (6). Substituting S = 4 and n = 2 in (6),
`
`= 286 - 336 +60 = 10.
`C ( S , K, n) now can be defined recursively. Rewriting ( l ) ,
`f(X) = (1 +x + .. . +X2"-')s-'(l + X + . . . +x2'-' ).
`From the above factorization of f(X), the following recurrence re-
`lations are obtained.
`If K > 2" - 1 then
`C ( S , K , n) = C ( S - 1, K, n ) + . . . + C ( S - 1, K -2" + 1 , n).
`(7)
`
`(8)
`
`I f K 5 2 " - 1 then
`C ( S , K, n) = C(S - 1, K , n)
`+ C ( S - l , K - l , n ) + . . . + C ( S - l , O , n ) .
`Some of the boundary conditions for (7) and (8) are as follows:
`C ( S , 0, n) = 1 for all S > 0.
`C(0, K, n) = 1 if K = 0 else C(0, K , n) = 0.
`C(1, K , n) = 1 for all 0 5 K 5 2" - 1 .
`C ( S , S(2" - l), n) = 1.
`The effect of K on error masking is not readily apparent from the
`exact relation (6), unless a simple closed form for C ( S , K, n) ex-
`ists. It appears that there is no simple closed form expression for
`C ( S , K , n); in fact, a special case of this is an open research prob-
`lem in [9]. Therefore, an asymptotic formula for C ( S , K, n) is de-
`rived. As a result of this analysis certain important observations with
`regard to checksum-protected codes are made.
`A . Asymptotic Formula f o r C(S, K, n )
`Functions of the type f(X) belong to a class of functions called
`unimodal functions. The coefficients in the polynomial representa-
`tion of these functions can be approximated by Gaussian distribu-
`tion density functions. The following is an asymptotic approximation
`of C ( S , K , n)
`
`The following is a sketch of the derivation of the asymptotic formula:
`substituting X = 1 in f(X),
`
`f(1) = 2"s.
`Define g ( X ) = f ( X ) / f ( 1); then g( 1) = 1.
`
`Unified Patents
`EX1014
`Page 3 of 7
`
`

`

`972
`
`IEEE TRANSACTIONS ON COMPUTERS, VOL. 39, NO. 7, JULY 1990
`
`The function g ( X ) has the characteristics of a probability gener-
`ating function. The mean p , is given by g’(l), and the variance U:
`(g’( I))? + g ’ ( I).
`is given by g”( I)
`
`g’(X)]x,, = - [ S ( 1 - x . . . +x*’-’ ) -
`
`~
`
`1
`2“s
`
`s
`
`. ( 1 + 2 X . . . + ( 2 ”
`Simplifying the above expression,
`
`px = S(2” - I).
`2
`Taking the second derivative of g ( X ) and following the above pro-
`cedure the variance U; is obtained.
`
`2617
`
`3290 x10’* 5619 x10”
`
`36720,
`
`~
`
`2498
`
`3 167 x10” 5364 xlOl2I
`
`3792O,
`
`1
`
`~
`
`3140
`
`5571 x10” 6743 xlO”[
`
`16860,
`..________
`
`l C
`
`1 E
`
`The coefficient C ( S , K , n) can be approximated by (using normal
`distribution)
`
`The coefficient of X9 in Example 2 can be estimated by (1 1) by sub-
`stituting S = 5, K = 9, and n = 2 . From expression (1 l), C(5, 9, 2)
`evaluates to 136.48 which closely agrees with the exact value 135.
`Error masking probability closely relates to C ( S , K , n ) ; therefore, it
`strongly depends on the value of K. This is evident from expression
`(11). Modest deviations of K from the mean value, S/2(2” - l),
`can reduce error masking probability significantly. If the data are
`program code then the performance of checksums under extended-
`precision clearly depends on the static instruction distribution. The
`static instruction frequency can influence the checksum value K and
`therefore the error masking probability.
`For extended-precision checksums to be effective it is desirable that
`the static distribution of instructions be nonuniform. Extensive study
`of the distribution of instructions in program codes of the various
`computer architectures has been done in [8]. Results in [8] show a
`nonuniform static distribution of high-level language statements. It is
`quite likely that instructions in the machine code of these high-level
`programs would also have nonuniform distribution characteristics.
`From an information theoretic standpoint most of the program
`codes (at the machine instruction level) have inherent redundancy.
`This is so because not all instruction encodings are meaningful; for
`example, a 32-bit instruction may not have meaning for all 232 en-
`codings of the instruction word. Also, in most of the program codes
`some instructions occur more often than the others. An analogy can
`be drawn with the encoding of decimal digits. Again from an infor-
`mation theoretic standpoint only 3.3219 (log, 10) bits are required
`to represent decimal digits. However, the number of bits must be
`a whole number; therefore, 4 bits are chosen to represent decimal
`digits. This inherent or natural redundancy cannot be avoided if a
`regular representation of decimal numbers is desired. Sometimes this
`natural redundancy is well suited for error detection. In checksum-
`protected program codes, it is highly desirable to have checksum
`values to be far away from the mean value; this will decrease the
`error masking in extended-precision checksums significantly. Next,
`it will be shown how this natural redundancy in program codes can
`be exploited to further enhance error detection in extended-precision
`checksums.
`A typical instruction word is a structured field having an opode,
`register, and other opode-extension fields. Assume that the opcode
`field is the most significant field in the instruction word. If opcodes
`are assigned such that
`an all zero opcode is assigned to that instruction which has, on
`the average, a high frequency of occurrence in program codes,
`
`and increasing values of opcodes are assigned to instructions
`that, on the average, occur in decreasing order of the frequency of
`occurrence
`then this will accomplish the task of moving the checksum value away
`from the mean px . Likewise, compilers can be designed to allocate
`registers in the following manner: registers are allocated starting
`with the register which has the smallest allowed binary encoding
`(for example, register 0) and the rest of the registers are allocated
`in increasing order of their binary value.
`In Table I, the measured checksum values of five different
`checksum-protected codes in the HP-9000 series/840 computers are
`listed. The instructions in these codes are based on the HP Preci-
`sion Instruction Set [ 101; these instructions are 32-bit wide. There-
`fore, n = 32 in this case. It is interesting to note that all the mea-
`sured checksum values differ significantly from their respective mean
`values listed in the table. This would make the extended-precision
`checksums very effective. In fact, for code D , the extended-precision
`checksums would be most effective. The deviations of the measured
`values are given (Table I) in terms of the standard deviation. The
`deviations are considered significant if they are greater than 3a,.
`
`B . Equivalent CRC Length
`One way to quantify the effectiveness of extended-precision check-
`sums is to compare it to CRC. CRC in this case would be equivalent
`to multiple input signature analysis (MISA) [7]. It is known that for
`MISA with signature polynomial degree L the number of masking er-
`rors [I 11 is equal to 2nS-L, when all error patterns are equally likely.
`Masking errors are those errors that escape detection. Equivalent
`CRC length Le is defined similar to that discussed in [ 111. Le is
`the length of the MISA signature register that would mask the same
`number of errors as extended-precision checksums would for a given
`block of data. Following a procedure similar to that discussed in [ 1 I]
`and using expression (1 l),
`
`(12)
`Le grows as the square of the difference between K and S/2(2“ - 1).
`The number of bits required to store extended-precision checksums is
`at most [log, (S(2“ - 1) + I)]. For example, in code C , Le evaluates
`to 1010; the extended-precision checksum value for this code requires
`only 45 bits. Table I1 lists the equivalent lengths for the various codes.
`For values of K close to S/2(2“ - I), CRC would perform better
`than extended-precision checksums.
`Actual measurements on program codes do show significant dif-
`ference between measured K and S/2(2” - 1).
`Conceivably all the node signatures in control flow checking [7]
`could be replaced by extended-precision checksums. However, the
`tradeoff between the cost of adder and the cost of LFSR must be
`considered.
`
`Unified Patents
`EX1014
`Page 4 of 7
`
`

`

`I"-
`
`4
`i
`
`i
`
`IEEE TRANSACTIONS ON COMPUTERS. VOL. 39. NO. 7 . JULY 1990
`
`973
`
`CRC EQUIVALENT LENGTH --
`
`TABLE I1
`
`are equivalent to unsigned arithmetic checksums. This is so, because
`in both cases addition is done in the same manner. The difference
`lies only in the way the checksum number is interpreted. However, in
`one's complement arithmetic, addition is modulo 2" - 1. These dis-
`tinctions do not arise in extended-precision checksums because addi-
`tion is done without loss of precision. In this section, an analysis for
`single-precision one's complement arithmetic checksums using the
`generating function f(X) is presented. Let Q(S, k') be the number
`of possible ways of producing the checksum k' in single-precision
`one's complement arithmetic for a block of S n-bit words. There are
`2" possible checksum values. In one's complement addition, the only
`way block of S n-bit words produce an all zero n-bit checksum is
`when all the S words are zero. This will become clear as Example 3
`is discussed, later in this section. To enumerate Q(S, k') for k' not
`equal to zero, a coset counting argument similar to that in Section
`I
`I1 will be used. The generating function f(X) can be factored as
`follows:
`
`- 44
`
`I
`-
`
`242
`
`46
`
`C. Honeywell Checksums
`The equivalent length measure is also useful in comparing the
`relative effectiveness of extended-precision checksums to Honeywell
`checksums [I], [2]. Honeywell checksums are a modified form of
`double-precision checksums. In Honeywell checksums, all pairs of
`successive words are concatenated and are treated as double-precision
`words. These double-precision words are summed to accumulate a
`double-precision checksum. This is equivalent to analyzing a single-
`precision type checksum where there are S/2 words and each word
`is 2n bits wide. For both S odd or even, the number of possible
`ways (assuming all possible error patterns) of obtaining the same
`Honeywell checksum is 2ns-2n. This can be easily derived by using
`an approach similar to that developed in Section 11.
`The form of the number of masking errors in Honeywell check-
`sums resembles the form of the number of masking errors, 2"s-L, in
`MISA. Therefore, the equivalent length measure can be easily ex-
`tended to Honeywell checksums. When L, is less than 2n, Honeywell
`checksums will be more effective than extended-precision checksums
`(for example, in Codes A , B). However, for cases where Le is
`greater than 2n, extended-precision checksums are more effective. It
`is important to note that a 2n-bit adder is required to compute Hon-
`eywell checksums as opposed to an n-bit adder in extended-precision
`checksums. It is also important to note that the effectiveness measure
`developed in this section is dependent on the error model. Equally
`likely errors were considered for the Le effectiveness measure.
`If the unidirectional-error model [l], [2] is assumed then
`extended-precision checksums will be most effective because they
`guarantee complete coverage under this model. Honey well check-
`sums and MISA do not have complete coverage [l] with respect to
`this error model.
`D . Incremental Precision Analysis
`The effect of increasing the checksum precision on the masking
`probability is examined in this section. Let K be the checksum value
`assuming extended-precision, then under incremental precision the
`checksum value will be k', where k' is the least n + a significant
`bits of K . The number of distinct ways of preserving k' is given by
`
`the following expression: 2 C ( S , k' + j2n+or, n )
`
`(13)
`
`J =o
`where /3 in this case is the greatest integer less than or equal to
`(S(2" - 1) - k')/2"+*. For large S, expression (1 1) can be used to
`evaluate C ( S , k'+j2"+", n ) . In Example 2, a = 1. Let us compute
`(13) using approximation (1 1) for k' = 6. Notice that the approx-
`imate value, 142.04, evaluated using (11) closely agrees with the
`exact value 141.
`
`IV. ONE'S COMPLEMENT CHECKSUMS
`Thus far, the results presented were for unsigned arithmetic check-
`sums. In so far as two's complement checksums are concerned they
`
`Let a ( X ) = (1 + X + , . . +X2n--')s-i and b ( X ) = (1 + X +
`. . . + X 2 n - ' ) . Therefore, f(X) = a ( X ) b ( X ) .
`Powers of X in a ( X ) can be reduced to 2" - 1 mod-(2" - 1) residue
`classes: class(O), . . . ,class(i), . . . ,class(2" - 2 ) . Class(i) contains all
`those terms of a ( X ) such that the powers of X are i mod - (2"
`1).
`For every class(i), a unique term X j in b ( X ) -X2"-' can be picked
`such that
`
`~
`
`X j X i m o d ( Z " - I ) - - ~ k ' m o d ( Z " - - l )
`
`Note that X2"--' was not included in b ( X ) - X2'-'. Terms of the
`form Xk' mod (2"--1)
`can be found in a ( X ) . The sum of the coefficients
`of these terms will be Q(S - 1 k'). Multiplying the left out X Z n - '
`term by the foregoing terms Xk"Od ('"-I) in ' a ( X ) will preserve their
`powers to k' mod (2" - 1) and also the sum of their coefficients to
`Q(S - 1, k'). Thus, the following recurrence on Q:
`
`Solving (14),
`
`~
`
`for k' > 0.
`
`(15)
`
`2"s - 1
`Q(S, k') =
`2 " - 1 '
`Q ( S , k') is independent of checksum value when k'is greater than
`zero. However, Q(S, 0) = 1. The following example will illustrate
`the counting procedure for one's complement checksums.
`Example 3: Let S = 2, n = 2. There are four possible check-
`sums: 0, 1, 2, and 3. These checksums correspond to 2-bit patterns
`00, 01, 10, and 11, respectively. The only way checksum 00 is ob-
`tained is by adding 00 and 00. However, checksum 11 can be pro-
`duced in the following five distinct ways: 11 + 11 = 1 1, 01 + 10 = 11,
`10 +01 = 11, 11 +OO = 11, and 00 + 11 = 11. This is also enu-
`merated by (15) which is 5 for n = 2 and S = 2. Enumeration for
`other checksum values can also be verified.
`From (15) the probability of error masking with one's complement
`checksums is
`
`when k' = 0, the error masking probability is zero.
`
`V. WORD A N D COLUMN ERRORS
`This section examines the error masking probability for single-
`precision and extended-precision checksums under restricted errors.
`For restricted word errors, a straightforward extension of the results
`derived in the previous sections is possible. To analyze restricted
`column errors, the generating function f(X) is useful.
`A . Restricted Word Errors
`Assume that only r specific words in a block of S words,
`A I , . , A s , are in error. Extending previous results for single-
`
`Unified Patents
`EX1014
`Page 5 of 7
`
`

`

`974
`
`IEEE TRANSACTIONS ON COMPUTERS, VOL. 39, NO. I, JULY 1990
`
`precision checksums,
`1) For unsigned arithmetic or two's complement checksums the
`error masking probability is (2,,-" - 1)/(2"' - 1).
`2) For one's complement checksum the masking probability is
`l(2" - 1) - 142" - 1).
`The following can be inferred from 1) and 2). All single word
`errors ( r = 1) in two's complement or one's arithmetic checksums
`are detected. If the restricted r words have sum K, under extended-
`precision the number of masking errors is obtained by substituting
`S = r and K = K, in expression (11).
`B . Restricted Column Errors
`Let the n-bit pattern of word A, be represented as A ,
`=
`an, a, -I, I . . . a I, I , where 1 5 i 5 S . For column t , the column sum
`c, is
`cr = E a f , , .
`
`S
`
`j = I
`The checksum value K under extended-precision can be interpreted
`as
`
`n
`K = z 2 J - l c j .
`j = l
`Analogous to this interpretation of K is the following form of gen-
`erating function:
`+xy.
`f(X) = ( 1 + x ~ ' - ' ) ~ ( 1 + X 2 " - z ) ~ . . . ( 1
`The number of possible sums provided by column t corresponds to
`the factor (1 +X2')' in f ( X ) . Columns vary from 0 to n - 1. With
`this formulation of the generating function f ( X ) , restricted column
`errors can be analyzed very easily. Consider single column errors,
`the number of ways the two's complement checksum is preserved
`when errors occur in column t is given by the expression
`
`0 = [(S - c,)/2"-'1 and h = [ct/2"-'j. Similarly, the number of
`ways in which the single-precision one's complement checksum is
`preserved when errors occur in column t is enumerated by
`
`Here 0 = [(S - ct)/(2" - l)] and h = [c! /(2" - l)]. In two's com-
`plement checksum, error masking is

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket