SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


    [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

    RE: iSCSI Data Integrity - Digests



    David,
    
    Once dealing with 32-bit wide memory accesses, adding and subtracting are
    hardly difficult operations nor more difficult than that needed for CRC.
    Adler32 does not involve division in most implementations and requires few
    gates between states so minor pipe-lining easily handles any perceived
    difficulty.  You will notice that s2 does not feed into s1.
    
    Here is the repetitive operation of adler32:
    
         s1 += *buf++;
         if (s1 >= BASE)
             s1 -= BASE;
         s2 += s1;
         if (s2 >= BASE)
             s2 -= BASE;
    
    Doug
    
    
    > > I am not sure I understand the difficulty imposed by adler32
    > with respect
    > to
    > > hardware. Optimal assembly code looks different with about three
    > > instructions per byte.
    >
    > I believe the concern is about how fast a hot-rodded ASIC can go.
    > The arithmetic involved in CRCs doesn't have to cope with carry/borrow
    > propagation in contrast to the arithmetic involved in the Adler-32
    > modulus.
    >
    > --David
    > ---------------------------------------------------
    > David L. Black, Senior Technologist
    > EMC Corporation, 42 South St., Hopkinton, MA  01748
    > +1 (508) 435-1000 x75140     FAX: +1 (508) 497-8500
    > black_david@emc.com       Mobile: +1 (978) 394-7754
    > ---------------------------------------------------
    >
    >
    
    


Home

Last updated: Tue Sep 04 01:05:36 2001
6315 messages in chronological order