Différents formats pour le stockage des données

In document en fr (Page 110-114)

capteurs sans fil

3.2 La gestion de la mémoire Flash

3.2.2 Les concepts définis pour la gestion des données

3.2.2.1 Différents formats pour le stockage des données

La plupart du temps, dans les RCSF, le ou les types de données manipulées par une application sont connus, à l’avance, avant le déploiement in-situ. Les applications d’acquisition de données environnementales ou de détection et de suivi d’intrusions en sont des exemples.

La connaissance de ces éléments permet de préconfigurer le système pour accueillir des données dont la taille et les traitements associés sont connus. Le format des données est ainsi défini et intégré au système et permet un stockage et un accès adapté (voir Figure 3.5).

Ces informations sont importantes pour organiser la mémoire Flash afin d’accueillir les différents éléments à stocker et réserver l’espace nécessaire.

CemOA : archive ouverte d'Irstea / Cemagref

Figure 3.5 – Structures préétablies pour la gestion des données collectées

Une gestion intelligente de la mémoire Flash n’est possible qu’en disposant des renseignements sur chaque page. Les principaux sont l’état de la page à savoir occupée ou non et, le nombre d’écritures déjà subies par celle-ci. Selon le type d’application, d’autres renseignements peuvent être requis comme la date de la dernière écriture utile pour connaître la durée durant laquelle la page n’a pas été utilisée.

Un autre attribut est ajouté par rapport à la politique de gestion de la mémoire assumée au sein du système LiveFile. Cet attribut exprime les caractéristiques des données stockées dans la page concernée. Les 3 valeurs que peut prendre cet attribut sont :

• valeur « RECORD » ;

• valeur « FILE » ;

• valeur « CHECKPOINT ».

La valeur « RECORD » indique que la page contient un ensemble d’enregistrements dont le nombre dépend de la taille de ceux-ci. Les données enregistrées dans des fichiers clairement identifiés sont stockées dans des pages de type « FILE ».

Le rôle de la mémoire Flash est de conserver les données de manière non volatile. Ainsi, en cas de panne d’énergie ou d’un redémarrage système, les données ne sont pas perdues.

Cependant, pour récupérer les données, il faut savoir où elles se situent et comment elles étaient organisées. Les pages « CHECKPOINT » contiennent les informations nécessaires à la restauration, au niveau des données gérées, du système dans l’état où il était avant son arrêt.

Elles peuvent également contenir la liste des emplacements libres situés au sein des pages utilisées. Les pages sont remplies au fur et à mesure de la réception des données à stocker.

Elles le sont de manière à laisser le moins d’espace inutilisé. La programmation d’une page est, par exemple, exécutée quand l’espace restant dans celle-ci est inférieure à la taille d’un enregistrement. Au bout d’un certain temps, des enregistrements d’une page peuvent être considérés comme obsolètes ou inutiles et donc libérés des emplacements qui pourront être utilisés plus tard. Des données ne sont pas immédiatement insérées dans ces espaces libres pour ne pas surexploiter certaines pages par rapport à d’autres (voir Figure 3.6).

CemOA : archive ouverte d'Irstea / Cemagref

La présence de cet attribut implique qu’une page ne peut stocker qu’un seul type de données. Ce choix s’explique, d’une part, par le fait que pour économiser les ressources disponibles, les traitements engendrés par le système LiveFile doivent être les plus simples et les plus performants possibles.

Figure 3.6 – Création d’un espace libre au sein de pages utilisées

Alterner entre la sauvegarde d’enregistrements et de fichiers au sein d’une même page accélère l’étape de programmation mais complexifie la récupération des données. En interdisant ce mode de fonctionnement, on peut établir une liste de pages de chaque type.

D’autre part, la majorité des applications manipulent uniquement des enregistrements ou des fichiers. Il arrive parfois qu’une application stocke des enregistrements et, à un moment donné, qu’elle doive s’occuper de la sauvegarde d’un fichier. Ainsi, elle pourra créer un emplacement de stockage principal ou prioritaire pour les enregistrements et un autre pour les fichiers qui pourraient potentiellement être réceptionnés.

La liste principale des attributs d’une page sont donc :

• l’état de la page ;

• le type de données stockées ;

• le nombre d’écritures ;

• la date de dernière écriture.

Désormais, la nouvelle problématique mise en avant est de déterminer où conserver l’ensemble de ces renseignements. La mémoire Flash est limitée par le nombre d’écritures qu’elle peut supporter mais pas par le nombre de lectures. Par conséquent, le stockage de ces renseignements au sein de la page concernée semble être le mieux indiqué. Sous le système Livefile, les attributs d’une page sont stockés au début de celle-ci à la manière d’un en-tête de message réseau. A chaque opération de programmation, on récupère les données de l’en-tête de la page et on les modifie pour les adapter aux nouvelles données. C’est le cas du nombre d’écritures qui est ainsi transmis, au cours du temps, de programmations en programmations.

Chaque application ou déploiement du système LiveFile implique d’établir la structure des attributs utiles de la page (voir Figure 3.7).

Figure 3.7 – Exemple d’attributs de l’en-tête d’une page

CemOA : archive ouverte d'Irstea / Cemagref

Une autre solution envisageable pour le stockage des informations d’une page est de les garder dans un bloc de pages situé à un emplacement connu en début ou en fin de l’espace mémoire disponible au sein de la mémoire Flash. En procédant de cette manière, la vision de l’occupation de la mémoire Flash est rapidement établie et ne nécessite pas d’accéder à toutes les pages. A l’inverse, pour réaliser la programmation d’une page, il faudrait accéder à au moins 2 pages plutôt qu’une. Le processus d’écriture en est donc complexifié et surtout certaines pages s’usent plus rapidement que d’autres (voir Figure 3.8).

Figure 3.8 – Une autre solution pour le stockage des attributs d’une page

L’organisation de la mémoire Flash est adaptée par le système LiveFile aux besoins de l’application au cours du temps (voir Figure 3.9).

Figure 3.9 – Organisation générale de la mémoire Flash gérée par le système LiveFile

CemOA : archive ouverte d'Irstea / Cemagref

In document en fr (Page 110-114)