Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A method of isolating hidden data in a solid state memory system, the method comprising: obtaining a logical block address (LBA) image from the memory system; obtaining a physical block address (PBA) image; determining whether an error exists in the PBA image and correcting the error; calculating an error tolerant cyclic redundancy check (ETCRC) on each sector of the LBA image and building a search tree indexed on the ETCRC value; for each sector in the PBA image, computing the ETCRC value and searching for the ETCRC value in the LBA search tree; if the ETCRC value found, comparing a cyclic redundancy check (CRC) of the LBA and PBA sectors; and outputting to an output file the PBA sector as hidden data if either the ETCRC value is not found in the LBA search tree or the CRC comparison fails.
This method finds hidden data in a solid state drive (SSD). It gets a logical block address (LBA) image and a physical block address (PBA) image from the SSD. It checks the PBA image for errors and fixes them. It calculates an error-tolerant cyclic redundancy check (ETCRC) value for each sector in the LBA image and builds a search tree using these values as indexes. Then, for each sector in the PBA image, it calculates its ETCRC value and searches for it in the LBA search tree. If the ETCRC value is found, it compares the standard cyclic redundancy check (CRC) of the corresponding LBA and PBA sectors. If the ETCRC value isn't found or the CRC values don't match, the PBA sector is identified as hidden data and written to an output file.
2. The method according to claim 1 , further comprising: selecting one of several puncturing patterns for ETCRC values; building a punctured ETCRC working search tree from the LBA search tree; for each sector in the hidden data file, computing the punctured ETCRC value and searching for the punctured ETCRC value in the working search tree; if the ETCRC value is found, comparing the data of the LBA and hidden data sectors; and outputting to a new hidden data output file the previous hidden data file sector if either the ETCRC value is not found in the LBA search tree or the data comparison fails as specified by a predefined limit.
This method builds upon the method that finds hidden data in a solid state drive (SSD) by getting a logical block address (LBA) image and a physical block address (PBA) image from the SSD; checking the PBA image for errors and fixes them; calculating an error-tolerant cyclic redundancy check (ETCRC) value for each sector in the LBA image and builds a search tree using these values as indexes; calculating ETCRC values for PBA sectors and searching for them in the LBA search tree; comparing standard cyclic redundancy check (CRC) of corresponding LBA and PBA sectors, and outputting PBA sector as hidden data if the ETCRC value isn't found or the CRC values don't match. It also involves selecting a puncturing pattern for ETCRC values, building a "punctured" ETCRC search tree from the LBA search tree, computing the punctured ETCRC value for each sector in the hidden data file, and searching for it in the working search tree. If found, the data of the LBA and hidden data sectors are compared. The hidden data sector is written to a new output file only if the punctured ETCRC isn't found in the LBA tree or the data comparison fails according to a defined limit.
3. The method according to claim 1 , wherein the search tree indexed on the ETCRC value is an Adelson-Velsky and Landis' (AVL) tree.
This method for finding hidden data in a solid state drive uses an Adelson-Velsky and Landis' (AVL) tree as the search tree indexed by the error-tolerant cyclic redundancy check (ETCRC) value. The method gets a logical block address (LBA) image and a physical block address (PBA) image from the SSD, checks the PBA image for errors and fixes them, calculates an ETCRC value for each LBA sector and builds the AVL search tree using these values as indexes, calculates ETCRC values for PBA sectors and searching for them in the LBA search tree, compares standard cyclic redundancy check (CRC) of corresponding LBA and PBA sectors, and outputting PBA sector as hidden data if the ETCRC value isn't found or the CRC values don't match.
4. The method according to claim 1 , further comprising: after the step of obtaining a physical block address (PBA) image, determining whether an error exists in the PBA image and correcting the error.
This method for isolating hidden data in an SSD first obtains a physical block address (PBA) image, then determines and corrects any errors within that PBA image. This step occurs after obtaining the PBA image but before any error-tolerant cyclic redundancy check (ETCRC) calculations are performed or search trees are built as part of locating hidden data, using a logical block address (LBA) image and comparing CRC values between corresponding sectors.
5. The method according to claim 4 , wherein for each sector in the PBA image, the processing unit computes an ETCRC value and searches for the ETCRC value in the LBA search tree.
This method finds hidden data in a solid state drive (SSD). As part of this, the processing unit calculates an error-tolerant cyclic redundancy check (ETCRC) value for each sector in the physical block address (PBA) image, and then searches for this ETCRC value within the LBA search tree created earlier. This searching step is performed for each sector of the PBA image after errors are determined and corrected within the PBA image, and after obtaining the logical block address (LBA) image from the SSD.
6. The system method according to claim 5 , wherein the processing unit outputs to an output file the PBA sector as hidden data if either the ETCRC value is not found in the LBA search tree or the CRC comparison fails.
This method finds hidden data in a solid state drive (SSD). The processing unit outputs a specific physical block address (PBA) sector to an output file as "hidden data" under two conditions: if the error-tolerant cyclic redundancy check (ETCRC) value for that sector is not found within the logical block address (LBA) search tree, or if the cyclic redundancy check (CRC) comparison between the LBA and PBA sectors fails. This occurs after calculating the ETCRC value for each sector in the PBA image and after determining if an error exists in the PBA image and correcting that error.
7. A method of computing a total hash function of an array of values which limits the impact of a change in the array of values to a subfield in the hash value, the method comprising: dividing the array of values into a number of sections; computing a hash function over each section; and concatenating the computed hash function values to create a total hash function of the array of values, wherein a change in one of the array of values is reflected as a change in the total hash function in only one subfield; wherein the hash function is tolerant of bit errors in the source data.
This method computes a hash function for an array of values in a way that limits the impact of a single value change to only a small portion of the total hash. It divides the array into sections, calculates a separate hash for each section, and then combines these section hashes. A change in a single value will only affect the hash of its section, not the entire combined hash, and the hash function is tolerant of bit errors in the source data.
8. A hidden data determination system for locating hidden data in a memory array of a solid state device, the system comprising: an interface to access memory space on a memory device; a processing unit to create a plurality of hash values for a logical block address (LBA) memory space of the memory device and to create a plurality of hash values for a physical block address (PBA) memory space of the memory to identify data hidden within the PBA memory space from view of the LBA memory space; wherein the graphics processing unit: creates a PBA index table associated with the plurality of PBA hash values; compares the plurality of LBA hash values with the PBA index table; identifies matches of any of the plurality of LBA hash values and any of the plurality of PBA hash values resulting from the step of comparing; and identifies data hidden within the PBA memory space when data identified in the PBA index table has no identified with any of the plurality of LBA hash values; and a display device to show the data hidden.
This system finds hidden data within the memory of a solid state drive (SSD). It has an interface to access the memory, a processing unit, and a display. The processing unit creates hash values for both the logical block address (LBA) space and the physical block address (PBA) space. It builds an index table using the PBA hash values, compares the LBA hashes to this PBA index, identifies matching hashes, and flags data in the PBA space as hidden if it doesn't match any LBA hash. The display then shows this hidden data.
9. The system according to claim 8 , wherein the processing unit creates the hash value for both the LBA and PBA memory spaces as an error tolerant cyclic redundancy check (ETCRC) table for both the LBA memory space and PBA memory space.
In the hidden data determination system, the processing unit creates hash values for both the LBA and PBA memory spaces using an error-tolerant cyclic redundancy check (ETCRC) method. This results in an LBA ETCRC table and a PBA ETCRC table, used for identifying data hidden within the PBA memory space from the view of the LBA memory space. The ETCRC hash function provides tolerance for bit errors during the hidden data location process.
10. The system according to claim 9 , further comprising creating at least one of the LBA ETCRC table and the PBA ETCRC table with a search tree.
The hidden data determination system described previously further enhances its LBA ETCRC table and PBA ETCRC table by creating at least one of the tables (either the LBA or PBA ETCRC table) with a search tree data structure. This search tree improves the efficiency and speed of searching for matches between the LBA and PBA hash values when identifying data hidden within the PBA memory space from the view of the LBA memory space.
11. The system according to claim 8 , wherein the processing unit selectively ignores combinations of fields with the PBA ETCRC table and LBA ETCRC table to resolve any uncorrected bit errors in the PBA memory space.
In the hidden data determination system, the processing unit improves the accuracy of hidden data detection by selectively ignoring combinations of fields within the PBA ETCRC table and the LBA ETCRC table. This field selection helps resolve uncorrected bit errors that may exist within the PBA memory space, leading to a more robust identification of data hidden within the PBA memory space from the view of the LBA memory space.
12. The system according to claim 8 , wherein the processing unit identifies matches by removing the matches after initially identifying matches occurs and then creates a second LBA ETCRC table, and then repeats to identify matches to increase a rate of execution.
To increase the execution speed of the hidden data determination process, the processing unit initially identifies matches between LBA and PBA hash values, removes these matches, and then creates a second LBA ETCRC table. This process is then repeated to identify further matches. This iterative approach of identifying and removing matches allows for a faster overall rate of execution in locating data hidden within the PBA memory space from the view of the LBA memory space.
13. The system according to claim 8 , wherein the processing unit selectively ignores combinations of fields with the PBA ETCRC table and the second LBA ETCRC table to resolve any uncorrected bit errors in the PBA memory space.
In the hidden data determination system, after creating the second LBA ETCRC table for faster execution, the processing unit selectively ignores combinations of fields with the PBA ETCRC table and the second LBA ETCRC table to resolve any uncorrected bit errors in the PBA memory space. This field selection technique, applied with the second LBA ETCRC table, enhances the accuracy of identifying data hidden within the PBA memory space from the view of the LBA memory space, despite potential bit errors.
14. The system according to claim 8 , wherein the processing unit creates the LBA ETCRC table from each memory sector of the LBA memory space, and the processing unit creates the PBA memory space table from each memory sector of the PBA memory space.
In the hidden data determination system, the LBA ETCRC table is created from each individual memory sector of the logical block address (LBA) memory space. Similarly, the PBA memory space table is constructed from each individual memory sector of the physical block address (PBA) memory space. This sector-by-sector approach ensures a granular analysis for identifying data hidden within the PBA memory space from the view of the LBA memory space.
15. The system according to claim 8 , wherein hidden data located is located without regard to a flash translation layer (FTL) mapping relationship between the PBA memory space and LBA memory space.
The hidden data determination system locates hidden data without needing to know the Flash Translation Layer (FTL) mapping between the PBA and LBA memory spaces. It finds hidden data independently of the FTL, by directly comparing the hash values of the PBA and LBA memory spaces. This method operates without regard to how the FTL maps physical addresses to logical addresses, locating data hidden within the PBA memory space from the view of the LBA memory space.
16. The system according to claim 8 , wherein the search tree comprises an Adelson-Velsky and Landis' (AVL) tree.
The search tree used within the hidden data determination system is an Adelson-Velsky and Landis' (AVL) tree. This type of self-balancing binary search tree is used for efficiently searching the error-tolerant cyclic redundancy check (ETCRC) values of the logical block address (LBA) memory space to quickly locate matches within the physical block address (PBA) memory space, identifying data hidden within the PBA memory space from the view of the LBA memory space.
17. The system according to claim 8 , wherein the processing unit calculates an ETCRC on each sector of the LBA image and builds a search tree indexed on the ETCRC value.
In the hidden data determination system, the processing unit calculates an error-tolerant cyclic redundancy check (ETCRC) value for each sector within the logical block address (LBA) image. After these values are calculated, the system builds a search tree that is indexed by these ETCRC values. This index facilitates rapid searching of the LBA data, which is compared to the PBA data to identify hidden data.
18. The system according to claim 17 , wherein if the ETCRC value is found, the unit compares the cyclic redundancy check (CRC) of the LBA and PBA sectors.
As part of the hidden data determination system, after locating an error-tolerant cyclic redundancy check (ETCRC) value match between the logical block address (LBA) and physical block address (PBA) sectors, the unit performs a further comparison by checking the standard cyclic redundancy check (CRC) of both the LBA sector and the PBA sector. This additional CRC check confirms whether or not the corresponding sectors have the same underlying data when identifying data hidden within the PBA memory space from the view of the LBA memory space.
Unknown
October 3, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.