FR2983321A1 - Procede de gestion de volumes de stockage de donnees et infrastructure correspondante - Google Patents

Procede de gestion de volumes de stockage de donnees et infrastructure correspondante Download PDF

Info

Publication number
FR2983321A1
FR2983321A1 FR1160717A FR1160717A FR2983321A1 FR 2983321 A1 FR2983321 A1 FR 2983321A1 FR 1160717 A FR1160717 A FR 1160717A FR 1160717 A FR1160717 A FR 1160717A FR 2983321 A1 FR2983321 A1 FR 2983321A1
Authority
FR
France
Prior art keywords
cluster
storage units
storage
pieces
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1160717A
Other languages
English (en)
Other versions
FR2983321B1 (fr
Inventor
Pierre Evenou
Gouriellec Louis Le
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ROZO SYSTEMS, FR
Original Assignee
FIZIANS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FIZIANS filed Critical FIZIANS
Priority to FR1160717A priority Critical patent/FR2983321B1/fr
Publication of FR2983321A1 publication Critical patent/FR2983321A1/fr
Application granted granted Critical
Publication of FR2983321B1 publication Critical patent/FR2983321B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Abstract

L'invention concerne un procédé de gestion du stockage, sur un ensemble (1) d'unités de stockage (U11,..., U24). A partir d'un bloc (B1) de données d'un fichier (FL) numérique, on génère un nombre donné de morceaux (M11, M12, M13), noté N, encodés pour reconstruire ledit bloc (B1) avec un nombre donné, noté M, de morceaux (M11, M12), M étant inférieur à N. On regroupe lesdites unités de stockage en cluster (C1, C2) comprenant chacun au moins L unités de stockage, L étant supérieur ou égal à N, de même capacité de stockage. On détermine parmi lesdits clusters (C1, C2), le cluster (C1) de charge minimale. On répartit les N morceaux du bloc (B1) sur N unités de stockage distinctes appartenant audit cluster (C1) de charge minimale. L'invention concerne également un produit de programme d'ordinateur et une infrastructure de stockage de données numériques correspondante.

Description

La présente invention concerne de manière générale le stockage de données numériques. L'invention concerne plus particulièrement un procédé de gestion du stockage, sur un ensemble d'unités de stockage, des morceaux d'au moins un bloc de données d'un fichier numérique. L'invention concerne également un produit de programme d'ordinateur et une infrastructure de stockage de données numériques correspondante.
On connait de l'état de la technique des installations de stockage permettant de répliquer les données d'un fichier à l'identique sur deux unités de stockages, de sorte que toutes les données de ce fichier sont présentes sur une même unité et que l'autre unité sert de stockage de secours. Ainsi, si l'une des deux unités n'est pas disponible, l'autre unité peut être utilisée pour accéder audit fichier.
Cependant, le fait de devoir enregistrer l'intégralité du fichier sur chacune des deux unités nécessite des capacités de stockage importantes, ce qui augmente le coût de l'installation ainsi que celui du service de stockage associé. Une telle solution technique de redondance n'est donc pas du tout optimale en ce qui concerne le volume de stockage consommé. En outre, une telle solution génère aussi un risque important au niveau de la confidentialité dudit fichier, puisque ledit fichier est intégralement présent sur chacune des deux unités de stockage.
Il est également connu d'appliquer au fichier que l'on souhaite stocker un code à effacement, de manière à générer plusieurs morceaux encodés de telle sorte qu'un nombre inférieur de morceaux suffit à reformer l'intégralité du fichier.
Dans ce cas, les morceaux du fichier sont répartis sur différentes unités de stockage, ce qui permet de ne pas avoir à dupliquer l'intégralité du fichier sur deux unités de stockage. Une telle solution permet de réduire le volume de stockage consommé tout en bénéficiant d'une grande fiabilité d'accès au fichier, puisque ledit fichier peut être reconstruit à partir d'un nombre de morceaux inférieur à ceux générés.
Cependant, on observe que la répartition des morceaux sur les différentes unités n'est pas optimale. En effet, dans les solutions connues de l'état de la technique, la répartition des morceaux s'effectue de manière homogène sur l'ensemble des unités de sorte que la capacité utilisable de chaque unité de stockage correspond à celle de l'unité de plus faible capacité. Autrement dit, si l'on rajoute des unités de stockage de plus grandes capacités que celles déjà présentes, la capacité utile de ces unités sera limitée à celle des unités déjà présentes, puisque cette solution cherche à répartir uniformément les morceaux sur l'ensemble des unités de stockage. Dans ce cas, pour bénéficier de l'intégralité de la capacité de stockage de chacune des unités ajoutées, il est nécessaire de remplacer également les unités précédentes par de nouvelles unités de mêmes capacités, c'est-à-dire de maintenir un parc d'unités dont les unités présentent toutes la même capacité de stockage. La présente invention a pour but de proposer un procédé et une infrastructure 20 informatique permettant d'améliorer la répartition de la charge des données sur les unités de stockage d'un ensemble d'unités, de manière à pouvoir utiliser pleinement la capacité de stockage de chaque unité. En particulier, la présente invention a pour but d'autoriser l'ajout d'unités de 25 stockage de capacités différentes, en particulier supérieures, par rapport aux capacités des unités déjà présentes, sans avoir à remplacer lesdites unités de capacité inférieure déjà présentes et tout en assurant une gestion optimale de l'espace libre des unités et un accès fiable aux fichiers stockés. 30 A cet effet, l'invention a pour objet un procédé de gestion du stockage, sur un ensemble d'unités de stockage, des morceaux d'au moins un bloc de données d'un fichier numérique, caractérisé en ce que ledit procédé comprend les étapes suivantes : a) - à partir d'un bloc de données d'un fichier numérique, on génère un nombre donné de morceaux, noté N, lesdits morceaux étant codés de manière à permettre de reconstruire ledit bloc avec un nombre donné, noté M, de 5 morceaux, M étant inférieur à N, b) - on regroupe lesdites unités de stockage en groupes d'unités de stockage, appelés clusters, chaque cluster comprenant au moins L unités de stockage, L étant supérieur ou égal à N, et les unités de stockage d'un même cluster présentant une même capacité de stockage, 10 - on détermine parmi lesdits clusters, le cluster de plus grand espace de stockage disponible, appelé cluster de charge minimale, d) - on répartit les N morceaux du bloc sur N unités de stockage distinctes appartenant audit cluster de charge minimale, 15 Un tel regroupement des unités de stockage en clusters et une telle répartition des morceaux du fichier sur des unités du cluster de charge minimale, permet d'équilibrer la charge de stockage de données sur les différentes unités de l'installation correspondante, tout en permettant de profiter pleinement de la capacité de stockage de chaque unité. En outre, la fragmentation du fichier à 20 l'aide d'un code à effacement pour générer N morceaux à écrire sur un nombre L d'unités d'un cluster, permet de récupérer de manière fiable un nombre M suffisant de morceaux pour pouvoir reconstituer ledit fichier. Ainsi, cette solution permet simultanément, d'une part, d'équilibrer la charge sur 25 les différentes unités et de profiter pleinement de leur capacité de stockage, même lorsque les clusters présentent différentes capacités et, d'autre part, de nécessiter un volume de stockage réduit tout en conservant une grande fiabilité d'accès aux morceaux, pour construire les fichiers correspondants. 30 En effet, à chaque écriture des morceaux d'un fichier, on identifie le cluster de charge minimale de sorte que ledit cluster peut être différent d'un fichier à un autre, et que la faible capacité d'un cluster ne bride pas l'utilisation d'un cluster de plus grande capacité. Cette solution s'applique de manière particulièrement avantageuse pour le stockage de fichiers de données qui sont fragmentés à l'aide d'un code à 5 effacement. Le procédé selon l'invention permet ainsi de lisser le volume de stockage de données sur les unités de stockage pour optimiser la répartition des morceaux de fichiers sur des unités de stockage de différentes capacités, tout en 10 permettant d'exploiter pleinement la capacité de chaque unité de stockage de chaque cluster. Selon une caractéristique avantageuse de l'invention, le nombre L d'unités de stockage correspond au nombre minimum d'unités de stockage nécessaire 15 pour écrire les N morceaux du bloc de fichier sur N unités de stockage avec une probabilité de succès d'écriture supérieure à une valeur P' donnée. Selon une caractéristique avantageuse de l'invention, les N unités de stockage distinctes appartenant au cluster de charge minimale et sur lesquelles sont 20 écrits les N morceaux du bloc, sont les N unités de stockage de plus grand espace de stockage disponible, appelées unités de charge minimale, présentes dans ledit cluster de charge minimale. Préférentiellement, en cas de défaillance d'écriture d'un morceau sur l'une 25 desdites N unités de stockage de charge minimale, une autre unité de stockage dudit cluster de charge minimale est choisie pour écrire ledit morceau. Selon une caractéristique avantageuse de l'invention, les informations d'identification des unités de stockage du cluster sur lesquelles sont répartis les 30 morceaux du bloc, sont mémorisées. Pour reconstruire ledit bloc, on récupère, à partir desdites informations d'identification des unités de stockage sur lesquelles sont répartis les morceaux du bloc, M morceaux différents stockés par M unités de stockage du cluster correspondant audit bloc.
L'invention concerne également une infrastructure de stockage de données numériques comprenant un ensemble d'unités de stockage, caractérisée en ce que ladite infrastructure comprend aussi : - des moyens d'encodage configurés pour générer à partir d'un bloc de données d'un fichier numérique, un nombre donné, noté N, de morceaux 10 encodés de manière à permettre de reconstruire ledit bloc du fichier avec un nombre donné, noté M, de morceaux différents, M étant inférieur à N ; - des moyens de regroupement des unités de stockage en groupes d'unités de stockage, appelés clusters, chaque cluster comprenant au moins L unités de stockage, L étant supérieur ou égal à N, et les unités de stockage d'un même 15 cluster présentant une même capacité de stockage, - des moyens de gestion d'espace configurés pour déterminer le cluster de plus grand espace de stockage disponible, appelé cluster de charge minimale, et - des moyens de répartition configurés pour répartir les N morceaux du bloc de fichier sur N unités de stockage distinctes appartenant audit cluster de charge 20 minimale. Selon une caractéristique avantageuse de l'invention, lesdits moyens de répartition sont configurés pour écrire lesdits N morceaux sur les N unités de stockage de charge minimale dudit cluster de charge minimale. 25 Selon une caractéristique avantageuse de l'invention, en cas de défaillance d'écriture d'un morceau sur l'une desdites N unités de stockage de charge minimale, lesdits moyens de répartition sont configurés pour écrire ledit morceau sur une autre unité de stockage dudit cluster de charge minimale. 30 Selon une caractéristique avantageuse de l'invention, ladite infrastructure comprend des moyens de génération d'informations d'identification des unités de stockage du cluster sur lesquelles sont répartis les morceaux dudit bloc.
L'invention sera bien comprise à la lecture de la description suivante d'exemples de réalisation, en référence aux dessins annexés dans lesquels : - la figure 1 est une vue schématique de l'infrastructure selon l'invention illustrant le procédé d'écriture des morceaux d'un premier bloc d'un fichier ; - la figure 2 est une vue schématique de l'infrastructure selon l'invention 10 illustrant le procédé d'écriture des morceaux d'un deuxième bloc dudit fichier. En référence aux figures et comme rappelé ci-dessus, l'invention concerne une infrastructure et un procédé de gestion de stockage, sur un ensemble 1 d'unités de stockage U11 à U15 et U21 à U24, des morceaux d'au moins un 15 bloc B1 d'un fichier numérique FL comme détaillé ci-après. On entend par unité (ou point) de stockage, au moins une mémoire de données numériques sur laquelle et à partir de laquelle des données numériques peuvent être, en l'absence de défaillance, écrites et récupérées (c'est-à-dire 20 lues). Avantageusement, chaque unité de stockage peut être formée par un serveur. L'ensemble des unités peut alors être formé par un réseau de serveurs appelé couramment "Scale out NAS", c'est-à-dire un réseau de serveurs dans une infrastructure localisée. 25 L'ensemble des unités de stockage peut également être réalisé sous la forme d'un nuage informatique, usuellement appelé "cloud storage", comprenant une pluralité de serveurs distants les uns des autres. On distingue l'espace libre de stockage d'une unité par rapport à sa capacité 30 totale de stockage qui correspond à la somme de son espace libre et de son espace occupé.
Comme illustré aux figures 1 et 2, ladite infrastructure de stockage de données numériques comporte des moyens de traitement de données 2 qui comprennent des moyens d'encodage 21 permettant de générer à partir d'un bloc B1 de données d'un fichier FL numérique, un nombre donné, noté N, de morceaux M11, M12, M13 encodés de manière à permettre de reconstruire ledit bloc B1 de fichier avec un nombre donné, noté M, de morceaux différents M11, M12 ou M12, M13 ou M11,M13. Le nombre M est inférieur à N. Ladite infrastructure comprend également un système de gestion 3 des unités de stockage. Ledit système de gestion 3 peut être centralisé ou distribué. Ledit système de gestion se présente sous la forme d'un système électronique et informatique qui comprend par exemple un microprocesseur et une mémoire de travail. Comme détaillé ci-après, les moyens de traitement de données 2 sont aussi formés par un système électronique et informatique, tel qu'un ordinateur, qui comprend par exemple un microprocesseur et une mémoire de travail. Ainsi, lorsqu'il est précisé que ledit système de gestion 3 ou que les moyens de traitement de données 2 comprennent des moyens pour réaliser une action donnée, cela signifie que le système électronique et informatique correspondant comprend des instructions permettant d'exécuter ladite action.
Ledit système de gestion 3 comprend des moyens de regroupement 31 des unités de stockage en groupes d'unités de stockage Cl, C2, appelés clusters. Chaque cluster Cl, C2 comprend au moins L unités de stockage. L est supérieur ou égal à N. Les unités de stockage d'un même cluster présentent une même capacité de stockage. Pour chaque cluster, le nombre L d'unités de stockage correspond au nombre minimum d'unités de stockage nécessaire pour écrire les N morceaux du bloc B1 de fichier sur N unités de stockage avec une probabilité de succès supérieure à une valeur P' donnée. En pratique, chaque cluster peut comprendre un nombre d'unités supérieur à L et différent d'un cluster à un autre. On peut prévoir de rajouter une unité de stockage dans un cluster ou encore de rajouter un cluster. Étant donné un bloc B1 divisé en M morceaux et encodé en N morceaux stockés sur des unités de stockages distinctes dont la probabilité d'accès est P', la probabilité P d'accéder au bloc B1, c'est-à-dire de pouvoir reconstruire le bloc B-1 et pour ce faire d'accéder à au moins M morceaux parmi N, est: On utilise alors l'algorithme suivant pour déterminer le nombre N optimal connaissant M, P et P' M TANT QUE pf p I 'zXJRE N N + 1 FIN TANT QUE L'algorithme similaire suivant est également appliqué pour trouver le nombre L optimal connaissant N, P et P'. = L TANT Q UE P 1;1 - P j < P FAIRE =N L L- 1 FIN TANT QUE Ledit système de gestion 3 comprend des moyens de gestion d'espace 32 configurés pour déterminer le cluster de plus grand espace de stockage 2 9 8332 1 9 disponible, appelé cluster de charge minimale, et pour déterminer les N unités de stockage de plus grand espace de stockage disponible, appelées unités de charge minimale, présentes dans ledit cluster de charge minimale. L'espace de stockage disponible correspond à la capacité libre additionnée des unités qui 5 composent ledit cluster. Les moyens de traitement de données 2 comprennent des moyens de répartition 22 configurés pour communiquer avec le système de gestion 3 et répartir les N morceaux M11, M12, M13 du bloc Bi sur N unités de stockage 10 distinctes du cluster de charge minimale. En particulier, lesdits moyens de répartition 22 sont configurés pour répartir les N morceaux M11, M12, M13 du bloc B1 sur les N unités de stockage distinctes du cluster de charge minimale déterminées par les moyens de gestion d'espace 32 du système de gestion 3. 15 Avantageusement, les moyens de traitement de données 2 sont réalisés sous la forme d'une application installée sur chaque poste client et qui est configurée pour communiquer avec le système de gestion 3 et les unités de stockage. Le système de gestion 3 comprend aussi des moyens de génération 33 20 d'informations d'identification des unités de stockage du cluster sur lesquelles sont répartis les morceaux M11, M12, M13 dudit bloc B1. Le procédé de stockage de fichier peut être mis en oeuvre de la manière suivante.
Généralement, le fichier est de grande taille et il convient de le diviser en plusieurs blocs. En variante, on peut prévoir que ledit bloc forme à lui seul ledit fichier.
Le procédé est détaillé ci-après pour un exemple d'infrastructure comprenant des unités de stockage U11 à U15 de même capacité de stockage par comparaison entre elles, ainsi que des unités de stockage U21 à U24 de même capacité de stockage par comparaison entre elles, mais de capacité différente par rapport à celle des unités U11 à U15. A partir d'un bloc B1 de données d'un fichier FL numérique, on génère un 5 nombre donné de morceaux M11, M12, M13, noté N. Lesdits morceaux du bloc de fichier sont sensiblement de mêmes tailles. Lesdits morceaux M11, M12, M13 sont codés de manière à permettre de reconstruire ledit bloc B1 avec un nombre M de morceaux inférieur à N. Plus 10 précisément, ledit bloc de fichier est encodé à l'aide d'un code à effacement. L'utilisation d'un code à effacement, tel qu'une transformée de Mojette, permet d'introduire une redondance d'information autorisant une correction d'erreurs. Le lecteur se reportera utilement à l'article "Internet distributed image information system" de J.P. Guédon, B. Parrein et N. Normand, publié dans 15 "Integrated Computer - Aided Engineering", 8 (2001), pages 205-214, ISSN 1069-2509, IOS Press, pour tout complément d'information sur la transformée de Mojette et ses propriétés. Cette transformée génère une pluralité de N projections pour un bloc à 20 transmettre. Les N projections sont transmises, et, à l'extrémité de réception, un nombre minimal de M projections suffit pour reconstruire l'image, avec M<N. La transformée de Mojette est une transformée de Radon discrète exacte qui n'utilise que des additions et soustractions. C'est une transformée redondante, 25 qui permet de profiter d'une surinformation tout en disposant cette information en projections. Cette transformation utilise la géométrie discrète pour assembler de l'information sur un support géométrique discret. Ce support est ensuite projeté dans des directions discrètes pour partager l'information initiale sur ces projections. Lesdites projections forment les morceaux du bloc encodé 30 à l'aide de la transformée de Mojette. Lorsque l'on dispose d'assez de projections, on peut reconstruire l'information 2 9 8332 1 11 initiale. Les moyens de regroupement 31 du système de gestion 3 regroupent les unités de stockage U11, U12, U13, U14, U15, U21, U22, U23 et U24 en 5 clusters C1, C2. Chaque cluster C1, C2 comprend au moins L unités de stockage, L étant déterminé comme expliqué ci-dessus. Ainsi, les unités de stockage Ull, U12, U13, U14, U15 présentent une même capacité de stockage et sont regroupées au sein d'un même cluster Cl. Les 10 unités de stockage U21, U22, U23, U24 sont regroupées au sein d'un même cluster C2, distinct du cluster C1, et présentent également une même capacité de stockage, différente de celle des unités du cluster Cl. Les moyens de gestion 32 déterminent alors parmi lesdits clusters C1, C2, le 15 cluster de charge minimale, c'est-à-dire celui dont l'espace libre additionné des unités qui le composent est le plus grand. Les moyens de gestion 32 déterminent aussi les N unités du cluster de charge minimale qui présentent la plus faible charge. 20 Les moyens de gestion 32 transmettent aux moyens de répartition 22 les adresses des N unités identifiées et lesdits moyens de répartition 22 répartissent les N morceaux M11, M12, M13 du bloc B1 sur lesdites N unités de stockage distinctes présentes dans ledit cluster de charge minimale. 25 L'exemple illustré aux figures 1 et 2 a été réalisé pour M = 2, N= 3 et L = 4, ce qui permet d'écrire les trois morceaux du bloc B1 sur trois unités d'un cluster parmi quatre unités dudit cluster, avec une probabilité P' égale à 0, 999 et pour permettre de lire au moins deux morceaux du fichier avec une probabilité P égale à 0, 999997. 30 Dans cet exemple illustré à la figure 1, les moyens de répartition 22 des moyens de traitement de données 2 communiquent avec le système de gestion 3 pour déterminer, à l'aide des moyens de gestion d'espace 32, le cluster de plus faible charge. On supposera pour l'exemple que le cluster Cl présente à cet instant un espace libre plus important que l'espace libre du cluster C2.
Lesdits moyens de gestion 32 déterminent aussi, parmi les unités du cluster C1, les trois unités de stockage de plus faible charge. Dans l'exemple illustré à la figure 1, ces trois unités de plus faible charge sont les unités Ull, U12, U13. Le système de gestion 3 envoie alors les adresses correspondantes de ces 10 trois unités U11, U12, U13 aux moyens de traitement de données 2. Les moyens de répartition 22 répartissent alors les trois morceaux M11, M12, M13 sur les trois unités de stockage U11, U12, U13. En l'absence de défaillance, lesdites N unités de stockage sur lesquelles sont 15 écrits les N morceaux sont les N unités de stockage de charge minimale dudit cluster Cl de charge minimale. En cas de défaillance d'écriture d'un morceau sur l'une des unités de stockage Ull, U12, U13 choisies parmi lesdites unités de stockage de charge minimale, 20 une autre unité de stockage U14 dudit cluster Cl de charge minimale est choisie pour écrire ledit morceau. Dans ce cas, il se peut que ladite autre unité du cluster présente une charge supérieure à celle de l'unité défaillante. Ladite unité défaillante voit ensuite sa 25 charge baisser relativement à celle des autres unités du cluster, de sorte que ladite unité défaillante remonte dans l'ordre des unités de plus faible charge, et qu'ainsi, si ladite défaillance n'est que temporaire, ladite unité défaillante redevient prioritaire pour le stockage des morceaux d'un autre bloc, ce qui permet de maintenir une bonne répartition des volumes de stockage sur les 30 différentes unités d'un cluster et sur les différents clusters. De manière similaire, comme illustré à la figure 2, pour stocker un autre bloc B2 de données du fichier FL, on encode, à l'aide des moyens d'encodage 21 des moyens de traitement de données 2, ledit bloc B2 en trois morceaux M21, M22 et M23, de telle sorte que deux morceaux suffisent à reconstruire ledit bloc B2.
Les moyens de répartition 22 des moyens de traitement de données 2 communiquent avec le système de gestion 3 pour déterminer, à l'aide des moyens de gestion d'espace 32, le cluster de plus faible charge. On supposera pour l'exemple que le cluster Cl présente encore à ce moment un espace libre plus important que l'espace libre du cluster C2.
Lesdits moyens de gestion d'espace 32 déterminent aussi, parmi les unités du cluster C1, les trois unités de stockage de plus faible charge. Dans l'exemple illustré à la figure 2, ces trois unités de plus faible charge sont les unités U14, U15 et l'une des unités U11 à U13, par exemple l'unité U11.
Le système de gestion 3 envoie les adresses correspondantes de ces trois unités U14, U15, Ull aux moyens de traitement de données 2. Les moyens de répartition 22 répartissent alors les trois morceaux M21, M22, M23 sur les trois unités de stockage U14, U15, U11.
Lorsque, pour l'écriture des morceaux d'un autre bloc, le cluster Cl présente un espace libre inférieur à celui du cluster C2, les morceaux de cet autre bloc sont répartis sur les unités de ce cluster C2. On peut ainsi exploiter pleinement la capacité de stockage de chaque cluster et donc de chaque unité de stockage.
Une telle solution selon l'invention permet de concevoir une installation de stockage qui comprend des serveurs d'un constructeur donné présentant chacun une capacité donnée, puis de rajouter par la suite des serveurs, par exemple d'un autre constructeur, de plus grande capacité, sans avoir à remplacer les anciens serveurs par de nouveaux serveurs de même capacité que les nouveaux. En effet, la solution selon l'invention permet de s'adapter aux différentes caractéristiques des serveurs utilisés en regroupant les serveurs suivant leur capacité de stockage. En outre, la combinaison de cette solution de regroupement des unités par cluster avec l'utilisation d'un code à effacement pour fragmenter un bloc de 5 fichier ou un fichier, permet d'utiliser des unités de stockage dont la probabilité de bon fonctionnement, c'est-à-dire la fiabilité d'accès, est plus faible, ce qui permet de réduire les coûts de l'installation. En effet, la plus faible fiabilité d'accès d'au moins une partie des unités est compensée par le nombre L minimum d'unités déterminé pour chaque cluster et les nombres M et N de Io morceaux déterminés. Les métadonnées d'identification des unités de stockage des clusters C1, C2 sur lesquelles sont répartis les morceaux du bloc B1 et du bloc B2 sont mémorisées dans les moyens 33 du système de gestion 3. Avantageusement, 15 on peut prévoir que lesdites métadonnées soient encodées et fragmentées pour être réparties sur différentes unités. Pour reconstruire ledit bloc B1, on récupère, à partir desdites informations d'identification des unités de stockage sur lesquelles sont répartis les morceaux 20 du bloc B1, M morceaux M11, M12 différents stockés par M unités de stockage, par exemple Ull, U12, du cluster Cl correspondant audit bloc B1. La reconstruction du bloc B2 s'effectue de manière similaire. Les moyens de récupération sont par exemple intégrés dans les moyens de 25 traitement de données 2 et sont apte à communiquer avec le système de gestion 3 et les unités des clusters pour leur adresser des requêtes de lecture en fonction des informations transmises par le système de gestion 3 auxdits moyens de traitement de données 2. 30 Avantageusement, les moyens de traitement de données 2 comprennent aussi des moyens de décodage permettant de reconstruire le bloc de fichier souhaité à partir des morceaux récupérés.
La présente invention n'est nullement limitée aux modes de réalisation décrits et représentés, mais l'homme du métier saura y apporter toute variante conforme à son esprit.

Claims (10)

  1. REVENDICATIONS1. Procédé de gestion du stockage, sur un ensemble (1) d'unités de stockage (U11,..., U15 ; U21, ..., U24), des morceaux d'au moins un bloc de données 5 d'un fichier numérique, caractérisé en ce que ledit procédé comprend les étapes suivantes : a) - à partir d'un bloc (B1) de données d'un fichier (FL) numérique, on génère (21) un nombre donné de morceaux (M11, M12, M13), noté N, lesdits morceaux (M11, M12, M13) étant codés de manière à permettre de reconstruire ledit bloc 10 (B1) avec un nombre donné, noté M, de morceaux (M11, M12), M étant inférieur à N, b) - on regroupe lesdites unités de stockage (U11,..., U15 ; U21, ..., U24) en groupes d'unités de stockage (C1, C2), appelés clusters, chaque cluster (C1, C2) comprenant au moins L unités de stockage, L étant supérieur ou égal à N, 15 et les unités de stockage d'un même cluster présentant une même capacité de stockage, c) - on détermine parmi lesdits clusters (C1, C2), le cluster (C1) de plus grand espace de stockage disponible, appelé cluster de charge minimale, d) -on répartit (22) les N morceaux (M11, M12, M13) du bloc (B1) sur N unités 20 de stockage distinctes (U11, U12, U13) appartenant audit cluster (C1) de charge minimale.
  2. 2. Procédé selon la revendication 1, caractérisé en ce que le nombre L d'unités de stockage (U11,..., U15 ; U21, ..., U24) correspond au nombre minimum 25 d'unités de stockage nécessaire pour écrire les N morceaux du bloc (B1) de fichier sur N unités de stockage avec une probabilité de succès supérieure à une valeur donnée.
  3. 3. Procédé selon l'une des revendications précédentes, caractérisé en ce que 30 les N unités de stockage (U11, U12, U13) distinctes appartenant au cluster (C1) de charge minimale et sur lesquelles sont écrits les N morceaux (M11, M12, M13) du bloc (B1), sont les N unités de stockage (U11, U12, U13) de plus grand espace de stockage disponible, appelées unités de charge minimale,présentes dans ledit cluster (C1) de charge minimale.
  4. 4. Procédé selon l'une des revendications précédentes, caractérisé en ce que, en cas de défaillance d'écriture d'un morceau sur l'une desdites N unités de stockage (U11, U12, U13) de charge minimale, une autre unité de stockage (U14) dudit cluster (C1) de charge minimale est choisie pour écrire ledit morceau.
  5. 5. Procédé selon l'une des revendications précédentes, caractérisé en ce que 10 les informations d'identification des unités de stockage des clusters (C1, C2) sur lesquelles sont répartis les morceaux (M11, M12, M13) du bloc (B1), sont mémorisées.
  6. 6. Procédé selon la revendication 5, caractérisé en ce que, pour reconstruire 15 ledit bloc (B1), on récupère, à partir desdites informations d'identification des unités de stockage sur lesquelles sont répartis les morceaux du bloc (B1), M morceaux (M11, M12) différents stockés par M unités de stockage (U11, U12) du cluster (C1) correspondant audit bloc (B1). 20
  7. 7. Infrastructure de stockage de données numériques comprenant un ensemble d'unités de stockage (U11,..., U15 ; U21, ..., U24), caractérisée en ce que ladite infrastructure comprend aussi : - des moyens d'encodage (21) configurés pour générer à partir d'un bloc (B1) de données d'un fichier (FL) numérique, un nombre donné, noté N, de 25 morceaux (M11, M12, M13) encodés de manière à permettre de reconstruire ledit bloc (B1) de fichier avec un nombre donné, noté M, de morceaux (M11, M12) différents, M étant inférieur à N ; - des moyens de regroupement (31) des unités de stockage en groupes d'unités de stockage (C1, C2), appelés clusters, chaque cluster (C1, C2) 30 comprenant au moins L unités de stockage, L étant supérieur ou égal à N, et les unités de stockage d'un même cluster présentant une même capacité de stockage, - des moyens de gestion d'espace (32) configurés pour déterminer le cluster(C1) de plus grand espace de stockage disponible, appelé cluster de charge minimale, et - des moyens de répartition (22) configurés pour répartir les N morceaux du bloc (B1) de fichier sur N unités de stockage (U11, U12, U13) distinctes 5 appartenant audit cluster (C1) de charge minimale.
  8. 8. Infrastructure selon la revendication 7, caractérisée en ce que lesdits moyens de répartition (22) sont configurés pour écrire lesdits N morceaux sur les N unités de stockage (U11, U12, U13) de charge minimale dudit cluster de charge 10 minimale.
  9. 9. Infrastructure selon l'une des revendications 7 ou 8, caractérisée en ce que lesdits moyens de répartition (22) sont configurés pour, en cas de défaillance d'écriture d'un morceau sur l'une desdites N unités de stockage (U11, U12, 15 U13), écrire ledit morceau sur une autre unité de stockage (U14) dudit cluster de charge minimale.
  10. 10. Infrastructure selon l'une des revendications 7 à 9, caractérisée en ce que ladite infrastructure comprend des moyens de génération (33) d'informations 20 d'identification des unités de stockage du cluster (C1) sur lesquelles sont répartis les morceaux (M11, M12, M13) dudit bloc (B1).
FR1160717A 2011-11-24 2011-11-24 Procede de gestion de volumes de stockage de donnees et infrastructure correspondante Active FR2983321B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1160717A FR2983321B1 (fr) 2011-11-24 2011-11-24 Procede de gestion de volumes de stockage de donnees et infrastructure correspondante

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1160717A FR2983321B1 (fr) 2011-11-24 2011-11-24 Procede de gestion de volumes de stockage de donnees et infrastructure correspondante

Publications (2)

Publication Number Publication Date
FR2983321A1 true FR2983321A1 (fr) 2013-05-31
FR2983321B1 FR2983321B1 (fr) 2013-11-15

Family

ID=45888354

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1160717A Active FR2983321B1 (fr) 2011-11-24 2011-11-24 Procede de gestion de volumes de stockage de donnees et infrastructure correspondante

Country Status (1)

Country Link
FR (1) FR2983321B1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5943690A (en) * 1997-04-07 1999-08-24 Sony Corporation Data storage apparatus and method allocating sets of data
US6311251B1 (en) * 1998-11-23 2001-10-30 Storage Technology Corporation System for optimizing data storage in a RAID system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5943690A (en) * 1997-04-07 1999-08-24 Sony Corporation Data storage apparatus and method allocating sets of data
US6311251B1 (en) * 1998-11-23 2001-10-30 Storage Technology Corporation System for optimizing data storage in a RAID system

Also Published As

Publication number Publication date
FR2983321B1 (fr) 2013-11-15

Similar Documents

Publication Publication Date Title
CA2642158C (fr) Systeme de stockage d&#39;egal a egal efficace et fiable
US10083083B2 (en) Data storage system and method by shredding and deshredding
FR2878673A1 (fr) Systeme et procede de sauvegarde distribuee perenne
US10110676B2 (en) Parallel transparent restructuring of immutable content in a distributed object storage system
FR3025041A1 (fr)
US20140244672A1 (en) Asymmetric distributed data storage system
EP3123721A2 (fr) Systeme et procede de traitement de donnees
FR2942054A1 (fr) Dispositif de traitement de donnees et procede traitement de donnees
US10802914B2 (en) Method of using common storage of parity data for unique copy recording
WO2006016085A1 (fr) Procede de sauvegarde distribuee sur des postes clients dans un reseau informatique
FR2808904A1 (fr) Systeme d&#39;acces a des memoires redondantes
FR2983321A1 (fr) Procede de gestion de volumes de stockage de donnees et infrastructure correspondante
FR2961613A1 (fr) Procede de protection memoire configurable contre les erreurs permanentes et transitoires et dispositif apparente
GB2482112A (en) Distributed data storage and recovery
EP0662227A1 (fr) Procede de gestion de memoires d&#39;un systeme informatique, systeme informatique et memoire mettant en uvre le procede
FR2981766A1 (fr) Procede de stockage de donnees numeriques sur une pluralite de sites et infrastructure correspondante
EP3422239B1 (fr) Procédés de partage et d&#39;utilisation d&#39;un secret
EP3776871B1 (fr) Récupération d&#39;effacement dans un système de stockage distribué
EP1912408A1 (fr) Procédé de gestion d&#39;une base de données partitionnée dans un réseau de communication
FR3041796A1 (fr) Stockage et lecture d&#39;un code d&#39;authentification de message dans une memoire externe
Ribeiro et al. Exploiting rateless coding in structured overlays to achieve data persistence
WO2020233765A2 (fr) Système de stockage distribué dans le fog computing
FR2961616A1 (fr) Dispositif et procede de stockage securise de donnees biometriques
FR2913784A1 (fr) Gestion de donnees pour un traitement d&#39;images
CN116126817A (zh) 用于数据重删业务的数据存储方法与设备

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

CD Change of name or company name

Owner name: ROZO SYSTEMS, FR

Effective date: 20180522

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12