1v2.22 Intel Intelligent Storage Acceleration Library Release Notes 2================================================================== 3 4RELEASE NOTE CONTENTS 51. KNOWN ISSUES 62. FIXED ISSUES 73. CHANGE LOG & FEATURES ADDED 8 91. KNOWN ISSUES 10---------------- 11 12* Perf tests do not run in Windows environment. 13 14* 32-bit lib is not supported in Windows. 15 162. FIXED ISSUES 17--------------- 18v2.22 19 20* Fix ISA-L builds for other architectures. Base function and examples 21 sanitized for non-IA builds. 22 23* Fix fuzz test script to work with llvm 6.0 builtin libFuzz. 24 25v2.20 26 27* Inflate total_out behavior corrected for in-progress decompression. 28 Previously total_out represented the total bytes decompressed into the output 29 buffer or temp internal buffer. This is changed to be only the bytes put into 30 the output buffer. 31 32* Fixed issue with isal_create_hufftables_subset. Affects semi-dynamic 33 compression use case when explicitly creating hufftables from histogram. The 34 _hufftables_subset function could fail to generate length symbols for any 35 length that were never seen. 36 37v2.19 38 39* Fix erasure code test that violates rs matrix bounds. 40 41* Fix 0 length file and looping errors in igzip_inflate_test. 42 43v2.18 44 45* Mac OS X/darwin systems no longer require the --target=darwin config option. 46 The autoconf canonical build should detect. 47 48v2.17 49 50* Fix igzip using 32K window and a shared object 51 52* Fix igzip undefined instruction error on Nehalem. 53 54* Fixed issue in crc performance tests where OS optimizations turned cold cache 55 tests into warm tests. 56 57v2.15 58 59* Fix for windows register save in gf_6vect_mad_avx2.asm. Only affects windows 60 versions of ec_encode_data_update() running with AVX2. A GP register was not 61 properly restored resulting in corruption on return. 62 63v2.14 64 65* Building in unit directories is no longer supported removing the issue of 66 leftover object files causing the top-level make build to fail. 67 68v2.10 69 70* Fix for windows register save overlap in gf_{3-6}vect_dot_prod_sse.asm. Only 71 affects windows versions of erasure code. GP register saves/restore were 72 pushed to same stack area as XMM. 73 743. CHANGE LOG & FEATURES ADDED 75------------------------------ 76v2.22 77 78* Igzip: AVX2 version of level 3 compression added. 79 80* Erasure code examples 81 - New examples for standard EC encode and decode. 82 - Example of piggyback EC encode and decode. 83 84v2.21 85 86* Igzip improvements 87 - New compression levels added. ISA-L fast deflate now has more levels to 88 balance speed vs. target compression level. Level 0, 1 are as in previous 89 generations. New levels 2 & 3 target higher compression roughly comparable 90 to zlib levels 2-3. Level 3 is currently only optimized for processors with 91 AVX512 instructions. 92 93* New T10dif & copy function - crc16_t10dif_copy() 94 - CRC and copy was added to emulate T10dif operations such as DIF insert and 95 strip. This function stitches together CRC and memcpy operations 96 eliminating an extra data read. 97 98* CRC32 iscsi performance improvements 99 - Fixes issue under some distributions where warm cache performance was 100 reduced. 101 102v2.20 103 104* Igzip improvements 105 - Optimized deflate_hash in compression functions. 106 Improves performance of using preset dictionary. 107 - Removed alignment restrictions on input structure. 108 109v2.19 110 111* Igzip improvements 112 113 - Add optimized Adler-32 checksum. 114 115 - Implement zlib compression format. 116 117 - Add stateful dictionary support. 118 119 - Add struct reset functions for both deflate and inflate. 120 121* Reflected IEEE format CRC32 is released out. Function interface is named 122 crc32_gzip_refl. 123 124* Exact work condition of Erasure Code Reed-Solomon Matrix is determined by new 125 added program gen_rs_matrix_limits. 126 127v2.18 128 129* New 2-pass fully-dynamic deflate compression (level -1). ISA-L fast deflate 130 now has two levels. Level 0 (default) is the same as previous generations. 131 Setting to level 1 will switch to the fully-dynamic compression that will 132 typically reach higher compression ratios. 133 134* RAID AVX512 functions. 135 136v2.17 137 138* New fast decompression (inflate) 139 140* Compression improvements (deflate) 141 - Speed and compression ratio improvements. 142 - Fast custom Huffman code generation. 143 - New features: 144 * Run-time option of gzip crc calculation and headers/trailer. 145 * Choice of static header (BTYPE 01) blocks. 146 * LARGE_WINDOW, 32K history, now default. 147 * Stateless full flush mode. 148 149* CRC64 150 - Six new 64-bit polynomials supported. Normal and reflected versions of ECMA, 151 ISO and Jones polynomials. 152 153v2.16 154 155* Units added: crc, raid, igzip (deflate compression). 156 157v2.15 158 159* Erasure code updates. New AVX512 versions. 160 161* Nasm support. ISA-L ported to build with nasm or yasm assembler. 162 163* Windows DLL support. Windows builds DLL by default. 164 165v2.14 166 167* Autoconf and autotools build allows easier porting to additional systems. 168 Previous make system still available to embedded users with Makefile.unx. 169 170* Includes update for building on Mac OS X/darwin systems. Add --target=darwin 171 to ./configure step. 172 173v2.13 174 175* Erasure code improvments 176 - 32-bit port of optimized gf_vect_dot_prod() functions. This makes 177 ec_encode_data() functions much faster on 32-bit processors. 178 - Avoton performance improvements. Performance on Avoton for 179 gf_vect_dot_prod() and ec_encode_data() can improve by as much as 20%. 180 181v2.11 182 183* Incremental erasure code. New functions added to erasure code to handle 184 single source update of code blocks. The function ec_encode_data_update() 185 works with parameters similar to ec_encode_data() but are called incrementally 186 with each source block. These versions are useful when source blocks are not 187 all available at once. 188 189v2.10 190 191* Erasure code updates 192 - New AVX and AVX2 support functions. 193 - Changes min len requirement on gf_vect_dot_prod() to 32 from 16. 194 - Tests include both source and parity recovery with ec_encode_data(). 195 - New encoding examples with Vandermonde or Cauchy matrix. 196 197v2.8 198 199* First open release of erasure code unit that is part of ISA-L. 200