Brevet FR3037676A1 (20161223)
REVENDICATIONS1. Appareil comprenant : une unité de mémoire destinée à stocker des flux de données ; et un processeur couplé à ladite unité de mémoire, le processeur étant configuré pour exécuter une opération de compression et une opération de déduplication en une seule passe, ledit processeur pouvant être utilisé pour utiliser un sous-ensemble de données issu d'un flux de données pour générer un bloc de données de référence correspondant audit sous-ensemble de données, pour comparer une première valeur de hachage calculée pour ledit sous-ensemble de données à une deuxième valeur de hachage calculée pour ledit bloc de données de référence, pour générer une représentation compressée dédupliquée dudit sous-ensemble de données au moins en modifiant les données d'en-tête correspondant audit sous-ensemble de données en réaction à une concordance détectée entre ladite première valeur de hachage et ladite deuxième valeur de hachage dans l'une desdites tables de hachage séparées, ladite première valeur de hachage et ladite deuxième valeur de hachage étant stockées dans des tables de hachage séparées.\n<CLM>\1\tAppareil selon la revendication 1, dans lequel ledit processeur peut être utilisé pour comparer ladite première valeur de hachage et ladite deuxième valeur de hachage en parallèle en utilisant lesdites tables de hachage séparées.\n<CLM>\1\tAppareil selon la revendication 1, dans lequel lesdites tables de hachage séparées comprennent une table de hachage de référence et une table de hachage de compression.\n<CLM>\1\tAppareil selon la revendication 3, dans lequel ledit processeur peut être utilisé pour générer ladite représentation compressée en utilisant ledit bloc de données de référence en 3037676 37 réaction à une détection d'une concordance entre ladite première valeur de hachage et ladite deuxième valeur de hachage, ladite deuxième valeur de hachage étant stockée dans ladite table de référence. 5\n<CLM>\1\tAppareil selon la revendication 4, dans lequel ledit processeur peut être utilisé pour générer un verrouillage mutuel en initiant des procédures de décompression lors du stockage dudit bloc de données de référence dans ledit tampon de mémoire.\n<CLM>\1\tAppareil selon la revendication 1, dans lequel ledit processeur peut être utilisé pour 10 modifier lesdites données d'en-tête en utilisant un format de codage avec référence antérieure basé sur une heuristique.\n<CLM>\1\tAppareil selon la revendication 1, dans lequel ladite première valeur de hachage et ladite deuxième valeur de hachage sont calculées en utilisant une même fonction. 15\n<CLM>\1\tProcédé mis en oeuvre par ordinateur pour exécuter des opérations de réduction des données sur un flux de données d'entrée pendant une passe unique, ledit procédé comprenant : la réception d'un sous-ensemble de données de la part d'un flux de données ; 20 la sélection d'un bloc de données de référence correspondant audit sous-ensemble de données, ledit bloc de données de référence étant stocké dans un tampon de mémoire ; la comparaison d'une première valeur de hachage calculée pour ledit sous-ensemble de données à une deuxième valeur de hachage calculée pour ledit bloc de données de référence, ladite première valeur de hachage et ladite deuxième valeur de hachage étant stockées dans des 25 tables de hachage séparées ; et la génération d'une représentation compressée dudit sous-ensemble de données au moins en modifiant les données d'en-tête correspondant audit sous-ensemble de données en 3037676 38 réaction à une concordance détectée entre ladite première valeur de hachage et ladite deuxième valeur de hachage dans l'une desdites tables de hachage séparées.\n<CLM>\1\tProcédé selon la revendication 8, dans lequel ladite comparaison comprend en outre 5 la comparaison de ladite première valeur de hachage et de ladite deuxième valenr de hachage en parallèle en utilisant lesdites tables de hachage séparées.\n<CLM>\1\tProcédé selon la revendication 8, dans lequel lesdites tables de hachage séparées comprennent une table de hachage de référence et une table de hachage de compression. 10\n<CLM>\1\tProcédé selon la revendication 10, dans lequel ladite génération comprend en outre la génération de ladite représentation compressée en utilisant ledit bloc de données de référence en réaction à une détection d'une concordance entre ladite première valeur de hachage et ladite deuxième valeur de hachage, ladite deuxième valeur de hachage étant stockée dans ladite table 15 de référence.\n<CLM>\1\tProcédé selon la revendication 8, comprenant en outre : la génération d'un verrouillage mutuel en initiant des procédures de décompression lors du stockage dudit bloc de données de référence dans ledit tampon de mémoire. 20\n<CLM>\1\tProcédé selon la revendication 8, dans lequel ladite modification comprend en outre la modification desdites données d'en-tête en utilisant un format de codage avec référence antérieure basé sur une heuristique. 25\n<CLM>\1\tProcédé selon la revendication 8, dans lequel ladite première valeur de hachage et ladite deuxième valeur de hachage sont calculées en utilisant une même fonction. 3037676 39\n<CLM>\1\tAppareil comprenant : une unité de mémoire destinée à stocker des tampons de mémoire ; et un processeur couplé à ladite unité de mémoire et configuré pour : 5 recevoir un sous-ensemble de données de la part d'un flux de données ; stocker ledit sous-ensemble de données dans un tampon de mémoire d'entrée de données ; 10 calculer une signature pour ledit sous-ensemble de données ; sélectionner un bloc de données de référence en utilisant ladite signature calculée, ledit bloc de données de référence étant stocké dans un tampon de mémoire résidant dans ladite 15 unité de mémoire ; comparer une première valeur de hachage calculée pour ledit sous-ensemble de données à une deuxième valeur de hachage calculée pour ledit bloc de référence, ladite première valeur de hachage et ladite deuxième valeur de hachage étant stockées dans des tables de hachage séparées ; et 20 générer une représentation compressée dudit sous-ensemble de données en modifiant les données d'en-tête correspondant audit sous-ensemble de données en réaction à une concordance détectée entre ladite première valeur de hachage et ladite deuxième valeur de hachage dans l'une desdites tables de hachage séparées. 25\n<CLM>\1\tAppareil selon la revendication 15, dans lequel ledit processeur peut être utilisé pour comparer ladite première valeur de hachage et ladite deuxième valeur de hachage en parallèle en utilisant lesdites tables de hachage séparées.\n<CLM>\1\tAppareil selon la revendication 15, dans lequel lesdites tables de hachage séparées comprennent une table de hachage de référence et une table de hachage de compression. 3037676 40\n<CLM>\1\tAppareil selon la revendication 17, dans lequel ledit processeur peut être utilisé pour générer ladite représentation compressée en utilisant ledit bloc de données de référence-cil réaction à une détection d'une concordance entre ladite première valeur de hachage et ladite 5 deuxième valeur de hachage, ladite deuxième valeur de hachage étant stockée dans ladite table de référence.\n<CLM>\1\tAppareil selon la revendication 18, dans lequel ledit processeur peut être utilisé pour générer un verrouillage mutuel en initiant des procédures de décompression lors du stockage 10 dudit bloc de données de référence dans ledit tampon de mémoire.\n<CLM>\1\tAppareil selon la revendication 15, dans lequel ledit processeur peut être utilisé pour modifier lesdites données d'en-tête en utilisant un format de codage avec référence antérieure basé sur une heuristique. 15\n<CLM>\1\tAppareil selon la revendication 15, dans lequel ladite première valeur de hachage et ladite deuxième valeur de hachage sont calculées en utilisant une même fonction.