-
公开(公告)号:US10230393B2
公开(公告)日:2019-03-12
申请号:US15690962
申请日:2017-08-30
申请人: Tidal Systems, Inc.
发明人: Yingquan Wu , Alexander Hubris
摘要: A compression algorithm based on Huffman coding is disclosed that is adapted to be readily implemented using VLSI design. A data file may be processed to replace duplicate data with a copy commands including an offset and length, such as according to the LV algorithm. A Huffman code may then be generated for parts of the file. The Huffman code may be generated according to a novel method that generates Huffman code lengths for literals in a data file without first sorting the literal statistics. The Huffman code lengths may be constrained to be no longer than a maximum length and the Huffman code may be modified to provide an acceptable overflow probability and be in canonical order. Literals, offsets, and lengths may be separately encoded. The different values for these data sets may be assigned to a limited number of bins for purpose of generating usage statistics used for generating Huffman codes.
-
公开(公告)号:US09959077B2
公开(公告)日:2018-05-01
申请号:US14546997
申请日:2014-11-18
申请人: Tidal Systems, Inc.
发明人: Meng Kun Lee , Priyanka Thakore
CPC分类号: G06F3/0679 , G06F3/0623 , G06F3/064 , G06F3/0689 , G06F21/00
摘要: Data words written to an SSD device, or other device or output data stream, may be randomized using a seed based on physical addressing information, such as a page address, column address, and a cycle count for the page address. This enables the storage and de-randomization of variable length data blocks stored at random locations within a page without requiring storage of additional data, which would make recovery impossible if lost in prior approaches. The page address, column address, and block address are physical attributes of the storage location for the data word and do not need to be saved and therefore will not be lost making recovery of the seed always possible. The cycle count can be saved and, if lost, limited trials with range of cycle counts can be exercised to de-randomize the data word and decoding may be used to determine whether descrambling was successful.
-
公开(公告)号:US09934234B2
公开(公告)日:2018-04-03
申请号:US14824703
申请日:2015-08-12
申请人: Tidal Systems, Inc.
发明人: Alexander Hubris , Yingquan Wu
CPC分类号: G06F17/30153 , G06F17/30097 , G06F17/30138 , H03M7/3086
摘要: An input file is processed according to hash algorithm that references sets of literals to preceding sets of literals to facilitate copy-offset command generation. Preceding instances are identified by generating a hash of the literal set and looking up a corresponding entry in a hash table. The hash table may be accessed by placing look-up requests in a FIFO buffer. When the FIFO buffer is full, generation of the hash chain is suspended until it is no longer full. When repeated literals are found, generation of the hash chain is likewise suspended. The hash chain is used to generate a command file, such as according to the LZ algorithm. Runs of consecutive literals are replaced by a run-length command. The command file may then be encoded using Huffman encoding.
-
公开(公告)号:US20170366198A1
公开(公告)日:2017-12-21
申请号:US15690962
申请日:2017-08-30
申请人: Tidal Systems, Inc.
发明人: Yingquan Wu , Alexander Hubris
CPC分类号: H03M7/40 , H03M7/3084 , H03M7/4037 , H03M7/4056 , H03M7/4062 , H03M7/6047 , H03M7/6058
摘要: A compression algorithm based on Huffman coding is disclosed that is adapted to be readily implemented using VLSI design. A data file may be processed to replace duplicate data with a copy commands including an offset and length, such as according to the LV algorithm. A Huffman code may then be generated for parts of the file. The Huffman code may be generated according to a novel method that generates Huffman code lengths for literals in a data file without first sorting the literal statistics. The Huffman code lengths may be constrained to be no longer than a maximum length and the Huffman code may be modified to provide an acceptable overflow probability and be in canonical order. Literals, offsets, and lengths may be separately encoded. The different values for these data sets may be assigned to a limited number of bins for purpose of generating usage statistics used for generating Huffman codes.
-
公开(公告)号:US09577665B2
公开(公告)日:2017-02-21
申请号:US15042197
申请日:2016-02-12
申请人: Tidal Systems, Inc.
发明人: Yingquan Wu
CPC分类号: H03M7/3086 , H03M7/3095 , H03M7/40
摘要: A compression algorithm replaces duplicative strings with a copy pair indicating a location and length of a preceding identical string that is within a window from the duplicative string. Rather than a replacing a longest matching string within a window from a given point with a copy pair, the longest matching string may be used provide it is at least two bytes larger than the next longest matching string or is at a distance that is less than some multiple of a distance to the next longest matching string. In another aspect, the length of the window in which a matching string may be found is dependent on a length of the matching string. In yet another aspect, rather than labeling each literal and copy pair to indicate what it is, strings of non-duplicative literals are represented by a label and a length of the string.
摘要翻译: 压缩算法用复制对替代重复的字符串,指示来自重复字符串的窗口内的前一相同字符串的位置和长度。 可以使用最长的匹配字符串来提供窗口内最长匹配的字符串,而不是使用最长匹配的字符串来提供比下一个最长匹配字符串大至少两个字节,或者距离小于 距离下一个最长匹配字符串的距离的一些倍数。 在另一方面,可以找到匹配字符串的窗口的长度取决于匹配字符串的长度。 在另一方面,不是标记每个文字和复制对以指示它是什么,不重复文字的字符串由标签和字符串的长度表示。
-
6.
公开(公告)号:US09515680B2
公开(公告)日:2016-12-06
申请号:US14511551
申请日:2014-10-10
申请人: Tidal Systems, Inc.
发明人: Yingquan Wu , Xiaojie Zhang
CPC分类号: H03M13/112 , H03M13/114 , H03M13/6594
摘要: A method is disclosed for performing LDPC decoding, specifically layered min-sum decoding using a Tanner graph including check nodes (CN) and variable nodes (VN). Messages passed between nodes are quantized in a non-uniform manner. Values below a threshold are uniformly quantized whereas values above the threshold are non-uniformly quantized. A corresponding inverse-quantization is also defined.
摘要翻译: 公开了一种用于执行LDPC解码的方法,特别是使用包括校验节点(CN)和可变节点(VN)的Tanner图的分层最小和解码。 在节点之间传递的消息以不均匀的方式进行量化。 低于阈值的值被均匀地量化,而高于阈值的值被不均匀地量化。 还定义了相应的反量化。
-
公开(公告)号:US20160233881A1
公开(公告)日:2016-08-11
申请号:US15130054
申请日:2016-04-15
申请人: Tidal Systems, Inc.
发明人: Yingquan Wu , Alexander Hubris
CPC分类号: H03M7/40 , H03M7/3084 , H03M7/4037 , H03M7/4056 , H03M7/4062 , H03M7/6047 , H03M7/6058
摘要: A compression algorithm based on Huffman coding is disclosed that is adapted to be readily implemented using VLSI design. A data file may be processed to replace duplicate data with a copy commands including an offset and length, such as according to the LV algorithm. A Huffman code may then be generated for parts of the file. The Huffman code may be generated according to a novel method that generates Huffman code lengths for literals in a data file without first sorting the literal statistics. The Huffman code lengths may be constrained to be no longer than a maximum length and the Huffman code may be modified to provide an acceptable overflow probability and be in canonical order. Literals, offsets, and lengths may be separately encoded. The different values for these data sets may be assigned to a limited number of bins for purpose of generating usage statistics used for generating Huffman codes.
-
公开(公告)号:US09264068B2
公开(公告)日:2016-02-16
申请号:US14274364
申请日:2014-05-09
申请人: Tidal Systems, Inc.
发明人: Yingquan Wu
CPC分类号: H03M7/3086 , H03M7/3095 , H03M7/40
摘要: A compression algorithm replaces duplicative strings with a copy pair indicating a location and length of a preceding identical string that is within a window from the duplicative string. Rather than a replacing a longest matching string within a window from a given point with a copy pair, the longest matching string may be used provide it is at least two bytes larger than the next longest matching string or is at a distance that is less than some multiple of a distance to the next longest matching string. In another aspect, the length of the window in which a matching string may be found is dependent on a length of the matching string. In yet another aspect, rather than labeling each literal and copy pair to indicate what it is, strings of non-duplicative literals are represented by a label and a length of the string.
摘要翻译: 压缩算法用复制对替代重复的字符串,指示来自重复字符串的窗口内的前一相同字符串的位置和长度。 可以使用最长的匹配字符串来提供窗口内最长匹配的字符串,而不是使用最长匹配的字符串来提供比下一个最长匹配字符串大至少两个字节,或者距离小于 距离下一个最长匹配字符串的距离的一些倍数。 在另一方面,可以找到匹配字符串的窗口的长度取决于匹配字符串的长度。 在另一方面,不是标记每个文字和复制对以指示它是什么,不重复文字的字符串由标签和字符串的长度表示。
-
公开(公告)号:US10915467B2
公开(公告)日:2021-02-09
申请号:US16411822
申请日:2019-05-14
申请人: Tidal Systems, Inc.
发明人: Michael Ou , Jerry Wang , Meng Kun Lee
摘要: A buffer manager is generated by executing a script with respect to a buffer architecture template and a configuration file specifying parameters for the buffer such as, for example, number of memory banks, width of memory banks, depth of memory banks, and client bridge FIFO depth. The script converts the buffer architecture template into a hardware description language (HDL) description of a buffer manager having the parameters. Client bridges accumulate requests for memory banks in FIFO that is provided to a buffer manager upon the client bridge being granted arbitration. Accesses of memory banks may be performed one at a time in consecutive clock cycles in a pipelined manner. Client bridges and the buffer manager may operate in different clock domains. The clock frequency of the buffer manager may be increased or decreased according to requests from client devices.
-
公开(公告)号:US10175915B2
公开(公告)日:2019-01-08
申请号:US15965700
申请日:2018-04-27
申请人: Tidal Systems, Inc.
发明人: Meng Kun Lee , Priyanka Thakore
摘要: Data words written to an SSD device, or other device or output data stream, may be randomized using a seed based on physical addressing information, such as a page address, column address, and a cycle count for the page address. This enables the storage and de-randomization of variable length data blocks stored at random locations within a page without requiring storage of additional data, which would make recovery impossible if lost in prior approaches. The page address, column address, and block address are physical attributes of the storage location for the data word and do not need to be saved and therefore will not be lost making recovery of the seed always possible. The cycle count can be saved and, if lost, limited trials with range of cycle counts can be exercised to de-randomize the data word and decoding may be used to determine whether descrambling was successful.
-
-
-
-
-
-
-
-
-