A system to dynamically calculate a root hash value from a plurality of leaf hash values includes a flat associative memory and a hash parser. The flat associative memory stores a plurality of leaf hash values. The hash parser extracts a compressed number of branch nodes from the plurality of leaf hash values, determines branch node relationships from the plurality of leaf hash values, and saves the compressed number of branch nodes, and the branch node relationships.
Legal claims defining the scope of protection, as filed with the USPTO.
2. The system of claim 1 wherein said plurality of leaf hash values is stored in columns of said flat associative memory.
3. The system of claim 1 wherein said hash parser to extract said compressed number of branch nodes, and said branch node relationships are determined from a top root node down to a set of leaves.
4. The system of claim 1 wherein said hash parser to parse said plurality of leaf hash values from a most significant byte to a least significant byte of said plurality of leaf hash values.
5. The system of claim 1 wherein said hash parser to find common prefixes between said plurality of leaf hash values.
6. The system of claim 1 and also comprising a node calculator to calculate branch node hash values, and said root hash value according to said branch node relationships.
7. The system of claim 6 and also comprising at least one flat node table to save said compressed number of branch nodes, and said branch node relationships.
8. The system of claim 7 wherein said at least one flat node table to record said branch node hash values, and said root hash value.
9. The system of claim 8 wherein said node calculator to recalculate a new root hash value using at least one newly calculated branch node hash value and said branch node hash values stored in said at least one flat node table.
10. The system of claim 1 wherein said hash parser is implemented in an associative processing unit.
11. The system of claim 8 wherein said at least one flat node table is implemented in CPU memory.
12. The system of claim 6 wherein said node calculator is implemented on a CPU.
14. The method of claim 13 wherein said storing comprises storing said plurality of leaf hash values in columns of said flat associative memory.
15. The method of claim 13 wherein said extracting and said determining comprise extracting and determining from a top root node down to a set of leaves.
16. The method of claim 13 wherein said extracting comprises extracting from a most significant byte to a least significant byte of said plurality of leaf hash values.
17. The method of claim 13 wherein said extracting comprises finding common prefixes between said plurality of leaf hash values.
18. The method of claim 13 and also comprising calculating branch node hash values, and said root hash value according to said branch node relationships.
19. The method of claim 18 wherein said saving comprises saving to at least one flat node table.
20. The method of claim 19 and also comprising recording said branch node hash values, and said root hash value to said at least one flat node table.
21. The method of claim 20 and also comprising recalculating a new root hash value using at least one newly calculated branch node hash value and said branch node hash values stored in said at least one flat node table.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
February 7, 2022
May 21, 2024
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.