FR2880444A1 - Dispositif de stockage de donnees - Google Patents

Dispositif de stockage de donnees Download PDF

Info

Publication number
FR2880444A1
FR2880444A1 FR0500109A FR0500109A FR2880444A1 FR 2880444 A1 FR2880444 A1 FR 2880444A1 FR 0500109 A FR0500109 A FR 0500109A FR 0500109 A FR0500109 A FR 0500109A FR 2880444 A1 FR2880444 A1 FR 2880444A1
Authority
FR
France
Prior art keywords
file
memory
type
block
storage device
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
FR0500109A
Other languages
English (en)
Other versions
FR2880444B1 (fr
Inventor
Denis Praca
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.)
Gemplus SA
Original Assignee
Gemplus SCA
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 Gemplus SCA filed Critical Gemplus SCA
Priority to FR0500109A priority Critical patent/FR2880444B1/fr
Priority to US11/794,815 priority patent/US20080005531A1/en
Priority to JP2007549836A priority patent/JP4807683B2/ja
Priority to EP05807956A priority patent/EP1849054A1/fr
Priority to PCT/EP2005/055972 priority patent/WO2006072500A1/fr
Publication of FR2880444A1 publication Critical patent/FR2880444A1/fr
Application granted granted Critical
Publication of FR2880444B1 publication Critical patent/FR2880444B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/351Virtual cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

L'invention concerne un dispositif de stockage de données (10) comprenant un espace mémoire (20) divisé en blocs mémoires et des moyens de gestion d'un système de fichiers (30) interne organisant lesdits blocs mémoires pour stocker des données sous forme d'une structure de fichiers, lesdits moyens de gestion contrôlant l'accès aux données dans la mémoire selon un format de commande de type fichier, ledit dispositif étant caractérisé en ce qu'il comprend une interface de conversion de protocole (80) entre lesdits moyens de gestion du système de fichiers (30) et un dispositif hôte (40) comprenant de moyens (70) pour accéder aux données dans la mémoire dudit dispositif de stockage selon un format de commande de type bloc.

Description

2880444 DISPOSITIF DE STOCKAGE DE DONNEES
La présente invention concerne de manière générale le domaine des systèmes de stockage de données numériques.
Elle se rapporte plus particulièrement à un dispositif de stockage de données comprenant des moyens pour assurer la gestion de la sécurité des données contenues dans le dispositif au niveau fichiers de données.
Actuellement, la plupart des cartes mémoires à semi-conducteur, (SmartMedia, compact flash, SD card, etc.), ainsi que les dispositifs de stockage magnétique de type disques durs présentent un espace de stockage divisé en blocs. Ainsi, lorsque de tels dispositifs de stockage coopèrent avec un dispositif hôte, c'est ce dernier qui a en charge de gérer ces blocs mémoires de manière à pouvoir stocker et organiser des données, typiquement sous forme d'un système de fichiers. Pour ce faire, l'interface entre le dispositif de stockage et le dispositif hôte met en oeuvre un protocole classiquement basé sur des commandes de type bloc pour la lecture et l'écriture de blocs de données en mémoire. Une commande de type bloc utilisée pour effacer un bloc de données en mémoire peut également être prévue.
La figure 1 illustre ainsi l'organisation en mémoire d'un dispositif de stockage dont les accès s'effectuent à travers des commandes de lecture et d'écriture de blocs mémoires, telle qu'elle est vue du dispositif hôte, avec selon cet exemple, l'information 2880444 2 de partition, la table d'allocation des fichiers, le répertoire racine, les fichiers 1, 2, 3, écrits dans les différents blocs mémoires référencés i à n. Il en ressort donc l'organisation physique des données en mémoire, qui permet d'assurer la gestion et la manipulation des fichiers.
A partir de ce formatage de l'espace mémoire du dispositif de stockage, le dispositif hôte est alors capable de retrouver une structure de fichiers. Plus particulièrement, le système d'exploitation du dispositif hôte est en charge de gérer les blocs mémoires ainsi formatés pour permettre à des applications d'utiliser un système de fichiers, se présentant par exemple selon une structure logique arborescente où les fichiers sont rangés de façon hiérarchique dans un ensemble de répertoires et sous-répertoires, comme illustrée à la figure 2. Le système de fichiers permet donc de masquer l'organisation physique sous- jacente de la mémoire utilisée.
Les dispositifs hôtes, pour construire et organiser un tel système de fichier, accèdent donc à la mémoire à travers des commandes de lecture et d'écriture de blocs. La conséquence est que le dispositif de stockage lui-même n'a aucun contrôle sur l'accès aux fichiers dans sa mémoire, sauf à verrouiller l'accès au niveau des blocs de la mémoire, sans toutefois que cela ait une relation avec les fichiers. La gestion des droits d'accès à la mémoire sur ce type de dispositif de stockage s'effectue donc à l'heure actuelle, au niveau de la totalité des blocs présents ou sur un groupe de blocs avec la nécessité 2880444 3 alors de fragmenter l'espace mémoire en plusieurs groupes de blocs ayant des droits d'accès différents.
Outre cet aspect concernant l'incapacité pour le dispositif de stockage de contrôler l'accès à la mémoire au niveau fichier, le problème posé par une telle gestion de la mémoire de type bloc, est qu'elle ne permet pas de tenir compte des spécificités du type de mémoire dans la gestion des blocs. Par exemple, on sait que les cartes mémoires de type flash supportent un nombre limité de cycles d'effacement/écriture. Ainsi, il peut être intéressant d'organiser le système de fichiers en tenant compte de cette caractéristique et en évitant donc de stocker des informations susceptibles d'être fréquemment modifiées à une place fixe dans la mémoire (cas des tables d'allocation de fichiers dans les systèmes FAT par exemple). Afin d'éviter que ce type de mémoire voit sa durée de vie limitée par ce phénomène de vieillissement de certains blocs, une solution de l'art antérieur prévoit que les dispositifs de stockage les incluant ajoutent une couche logicielle communément appelée Flash Translation layer selon la terminologie anglo-saxonne, prévue pour virtualiser les adresses mémoires des blocs mémoires visibles de l'extérieur du dispositif de stockage afin de pouvoir stocker les d'informations susceptibles d'être fréquemment modifiées à des adresses physiques différentes à chaque écriture.
De tels dispositifs de stockage se révèlent cependant limités dans leur utilisation avec des dispositifs hôtes gérant des accès de type bloc, dès 2880444 4 lors que l'on souhaite les rendre plus intelligents, notamment en leur ajoutant des caractéristiques de sécurité plus évoluées pour la gestion des droits d'accès aux données dans leur mémoire. En effet, la gestion des droits d'accès sur ce type de dispositif ne peut s'effectuer qu'au niveau des blocs présents en mémoire.
Par opposition, sur des dispositifs de stockage de type carte à puce, disposant d'une mémoire embarquée reprogrammable dite EEPROM (Electrically Erasable Programmable Read Only Memory en langue anglo- saxonne), la gestion des droits d'accès aux données contenues dans la mémoire s'effectue au niveau des fichiers de données. Autrement dit, ce type de dispositif de stockage gère son propre système de fichiers. Ainsi, les accès à la carte à puce par le dispositif hôte et le contrôle des accès aux données sont prévus pour s'effectuer au niveau fichier, au travers de commandes de type fichier, permettant l'ouverture, la lecture et l'écriture de fichiers. Ce type d'accès aux données est donc beaucoup plus intéressant du point de vue de la gestion de la sécurité pour l'accès aux données en mémoire, par rapport aux dispositifs de stockage précédemment évoqués dont les accès s'effectuent à travers des commandes de lecture et d'écriture de blocs, puisqu'il permet un contrôle de la sécurité très fin et très flexible en fonction de l'application souhaitée. On peut en effet prévoir autant de conditions d'accès aux données différentes qu'il y a de fichiers dans le dispositif de stockage.
2880444 5 Dans ce cas, le dispositif hôte ne dispose d'aucune vision sur l'organisation de la mémoire interne dans la carte et doit disposer d'une interface adaptée avec la carte, capable de mettre en uvre un protocole d'accès de type fichier pour accéder aux données dans la carte. Aussi, les dispositifs de stockage type carte à puce ne peuvent pas coopérer avec des dispositifs hôtes prévus pour gérer des mémoires de type bloc.
Les deux technologies évoquées d'accès à l'espace mémoire d'un dispositif de stockage coopérant avec un dispositif hôte, l'une basée sur des commandes de lecture et d'écriture de blocs et l'autre basée sur des commandes de lecture et d'écriture de fichiers, nécessitent donc des interfaces différentes, mettant en oeuvre des protocoles soit de type bloc, soit de type fichier, les rendant incompatibles.
Ainsi, il est par exemple impossible d'utiliser un dispositif de stockage type carte à puce possédant son propre gestionnaire de fichiers impliquant une gestion des accès mémoire de type fichier, dans un dispositif hôte prévu pour gérer des mémoires de type bloc. De plus, à cause des différences entre les structures d'interface de type bloc et de type fichier et de la façon dont les données sont stockées et accédées, un dispositif de stockage est structuré pour un système d'accès de type bloc ou de type fichier, mais pas pour les deux.
Or, à partir du moment où l'on souhaite faire évoluer les dispositifs de stockage de données en leur permettant une gestion plus fine et plus sécurisée de 2880444 6 leur mémoire, il est nécessaire que ces dispositifs gèrent leur propre système de fichiers comme dans les dispositifs de type carte à puce, de manière à ce que la gestion de la sécurité des données contenues dans le dispositif s'effectue au niveau des fichiers de données. Une telle évolution pose alors le problème de la compatibilité avec les dispositifs hôtes existants prévus pour gérer des mémoires de type bloc.
La présente invention a pour but de concilier les deux types de technologie de gestion mémoire précitée, en proposant un dispositif de stockage permettant un contrôle des accès aux données contenues en mémoire au niveau fichier, tout en pouvant coopérer avec un dispositif hôte utilisant une interface standard selon un format de commande de type bloc.
Avec cet objectif en vue, l'invention a pour objet un dispositif de stockage de données comprenant un espace mémoire divisé en blocs mémoires et des moyens de gestion d'un système de fichiers interne organisant lesdits blocs mémoires pour stocker des données sous forme d'une structure de fichiers, lesdits moyens de gestion contrôlant l'accès aux données dans la mémoire selon un format de commande de type fichier, ledit dispositif étant caractérisé en ce qu'il comprend une interface de conversion de protocole entre lesdits moyens de gestion du système de fichiers et un dispositif hôte comprenant de moyens pour accéder aux données dans la mémoire dudit dispositif de stockage selon un format de commande de type bloc.
2880444 7 Selon un mode de réalisation, l'interface de conversion de protocole comprend des moyens pour simuler, à partir de l'organisation logique du système de fichier interne, une image en mémoire de type bloc des fichiers accessibles par ledit dispositif hôte, ladite image étant visible par ledit dispositif hôte.
Avantageusement, l'interface de conversion de protocole comprend des moyens de transcription des commandes de type bloc reçues du dispositif hôte en des commandes de type fichier à destination des moyens de gestion du système de fichiers.
De préférence, les moyens de transcription des commandes de type bloc en commandes de type fichier comprennent des moyens de détermination du type de bloc accédé parmi une zone système, une zone de table d'allocation de fichiers ou une zone de fichier du système de fichiers interne.
Avantageusement, l'interface de conversion de protocole comprend des moyens pour transmettre, d'une part, les commandes de type bloc transcrites vers les moyens de gestion du système de fichiers et, d'autre part, des réponses de type bloc correspondantes vers le dispositif hôte.
Selon un mode de réalisation, l'interface de conversion de protocole comprend des moyens pour construire les réponses de type bloc en fonction de droits d'accès associés au dispositif hôte.
Avantageusement, l'interface de conversion de protocole comprend des moyens de modification des données accédées par le dispositif hôte en fonction du 2880444 8 type de données accédées et/ou de droits d'accès associés au dispositif hôte.
De préférence, l'interface de conversion du protocole est sous forme logicielle sous le contrôle des moyens de gestion du système de fichiers.
D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante donnée à titre d'exemple illustratif et non limitatif et faite en référence aux figures annexées dans lesquelles: -la figure 1 est un schéma illustrant l'organisation physique des données dans une mémoire de type bloc et a déjà été décrite; -la figure 2 est un schéma illustrant l'organisation logique d'un système de fichiers et a déjà été décrite, et -la figure 3 est un schéma illustrant un exemple d'architecture d'un dispositif de stockage selon la présente invention coopérant avec un dispositif hôte.
L'invention vise donc à faire cohabiter un gestionnaire de système de fichiers prévu en interne d'un dispositif de stockage de données de type carte mémoire, avec une interface en externe mettant en oeuvre un protocole d'accès aux données basé sur des commandes de lecture et d'écriture de blocs.
Comme illustré à la figure 3, un dispositif de stockage 10 selon l'invention comprend un espace mémoire 20 typiquement divisé en blocs mémoires pour le stockage de données. Le dispositif de stockage intègre un système d'exploitation supportant un gestionnaire de système de fichiers 30 pour organiser les blocs de 2880444 9 mémoire et construire un système de fichiers en mémoire selon une structure prédéfinie, par exemple un système de fichiers de type FAT 16 ou FAT 32 ( File Allocation Table ).
Grâce au gestionnaire de système de fichiers 30, le dispositif de stockage dispose ainsi de ses propres moyens de gestion de fichiers en interne, par l'intermédiaire desquels le dispositif peut maîtriser l'accès à ses fichiers en mémoire et les droits d'accès aux fichiers, typiquement au travers de commandes de type ouverture fichier , lecture fichier et écriture fichier . La gestion de la sécurité des données contenues dans l'espace mémoire 20 du dispositif s'effectue donc au niveau des fichiers de données selon des droits d'accès qui peuvent être définis pour chacun d'eux. Chaque fichier est ainsi associé avec une liste de contrôle d'accès qui mémorise les opérations que des tiers sont autorisés à exécuter sur le fichier.
Un tel dispositif de stockage 10 est prévu pour coopérer avec un dispositif hôte 40, dans lequel il est par exemple inséré. Le dispositif hôte 40 comprend son propre système d'exploitation, supportant des moyens 50 normalement prévu pour formater l'espace mémoire d'un dispositif de stockage avec lequel il coopère selon un arrangement défini, en vue de mettre en place un système de fichiers permettant d'assurer la gestion et la manipulation de fichiers de données dans la mémoire. Une application 60 du dispositif hôte peut alors utiliser ce système de fichiers pour manipuler des données sur le dispositif de stockage.
2880444 10 Dans le contexte de la présente invention, la mise en place d'un système de fichiers par le système d'exploitation du dispositif hôte 40 repose sur une gestion des blocs de mémoire du dispositif de stockage.
Ainsi, le dispositif hôte est prévu pour voir l'espace mémoire du dispositif de stockage comme un ensemble de blocs, tel qu'il a été illustré à la figure 1 déjà décrite, en vue d'utiliser cette mémoire pour mettre en place le système de fichiers au travers de commandes de types bloc.
L'interface entre le dispositif hôte 20 et le dispositif de stockage 10 met donc en oeuvre un protocole 70 classiquement basé sur un format de commande de type bloc pour la lecture et l'écriture de blocs de données en mémoire.
Un tel dispositif hôte 40 ne devrait donc pas pouvoir être utilisé avec le dispositif de stockage 10 puisque ce dernier gérant déjà son propre système de fichiers, les accès à la mémoire et le contrôle des accès aux données doit s'effectuer au niveau des fichiers de données au travers de commande de type fichier. Le dispositif hôte 40 ne supporte pas un tel protocole.
Pour pallier cette incompatibilité, le dispositif de stockage 10 comprend alors selon l'invention, une interface de conversion de protocole 80, se présentant sous la forme d'une couche logicielle supplémentaire sous le contrôle de la couche logicielle 30 en charge de la gestion du système de fichiers interne au dispositif de stockage. La fonction de l'interface de conversion 80 est ainsi de réaliser une émulation d'une 2880444 11 interface de type bloc vis-à-vis du dispositif hôte 40 en simulant une mémoire à accès de type bloc sur le dispositif de stockage, de sorte à pouvoir utiliser le dispositif de stockage 10 possédant des accès de type fichier avec le dispositif hôte 40 prévu pour gérer des accès de type bloc.
L'interface de conversion de protocole 80 implémentée dans le dispositif de stockage 10, permet donc de simuler vis-à-vis de l'extérieur du dispositif de stockage et en particulier pour le dispositif hôte où le dispositif de stockage est inséré, une image en mémoire de type bloc des fichiers accessibles par le dispositif hôte, à partir de l'organisation logique du système de fichiers interne au dispositif de stockage et en fonction des droits d'accès associés au dispositif hôte. Ainsi, seuls les fichiers accessibles par le dispositif hôte en fonction de ses droits d'accès seront visibles par le dispositif hôte sous forme de blocs mémoires.
L'interface de conversion 80 est alors chargée de la transcription des commandes de type bloc reçues de la part du dispositif hôte 40 en des commandes de type fichier à destination des moyens de gestion des fichiers 30 internes au dispositif de stockage.
Autrement dit, l'interface de conversion 80 interprète les demandes du dispositif hôte, qui se présentent sous forme de commandes de lecture/écriture de blocs, pour les transformer en commande pour le système de fichiers interne, typiquement des commandes de type Ouvrir fichier/créer fichier/lire fichier/écrire fichier.
Suivant le type de message de commande issu du 2880444 12 dispositif hôte, l'interface de conversion de protocole transmet alors éventuellement une réponse de type bloc des moyens de gestion du système de fichier interne vers le dispositif hôte.
De ce fait, le dispositif de stockage peut organiser son système de fichiers en tenant compte des droits d'accès associés au dispositif hôte et donc contrôler les accès au niveau fichier même en recevant des commandes d'accès de type bloc.
Le dispositif de stockage peut également organiser son système de fichiers en tenant compte des spécificités du type de mémoire utilisé. En effet, l'interface de conversion 80 permet avantageusement de virtualiser les adresses des blocs mémoires visibles de l'extérieur du dispositif de stockage pour stocker ces blocs à des adresses physiques différentes à chaque écriture. Cet aspect est particulièrement avantageux dans le cas de mémoire flash supportant un nombre limité de cycles d'effacement/écriture.
L'implémentation exacte de l'interface de conversion 80 va dépendre du type de système de fichiers que l'on veut simuler pour le dispositif hôte.
Prenons un exemple d'implémentation basé sur le cas le plus courant d'un système de fichiers de type FAT, conduisant à construire une mémoire de type bloc où différentes zones sont identifiées parmi lesquelles on trouve classiquement une zone système avec des secteurs de partition et de boot, une zone de table d'allocation de fichiers et des zones fichiers.
D'autres systèmes d'organisation de fichiers peuvent 2880444 13 également être envisagés sans pour autant sortir du cadre de la présente invention.
Selon l'exemple, l'interface de conversion 80 réalise les opérations suivantes. A la réception d'une requête d'accès, en lecture ou en écriture, d'un bloc mémoire reçue du dispositif hôte, elle détermine tout d'abord le type de bloc accédé, à savoir si ce bloc appartient à une zone système, à une zone de table d'allocation de fichiers ou à une zone de fichiers.
Pour ce faire, l'interface de conversion 80 utilise les d'informations sur le formatage de la mémoire 20 dont elle dispose par l'intermédiaire du gestionnaire de système de fichiers interne 30, décrivant la correspondance entre les adresses mémoires et les différentes zones du système de fichiers. Ainsi, à partir de l'adresse du bloc accédé, l'interface de conversion en déduit son type.
A la suite de cette etape préliminaire, l'interface 80, suivant le type de bloc accédé et l'action requise, va transmettre une réponse de type bloc consistant à construire dynamiquement un bloc de données à renvoyer vers le dispositif hôte, ou modifier sa structure de fichiers interne pour refléter le changement requis par le dispositif hôte.
Ainsi, si la commande de type bloc reçu du dispositif hôte correspond, en fonction de l'adresse mémoire du bloc, à une commande de lecture de données dans la zone système, l'interface de conversion renvoi un bloc constant vers le dispositif hôte. Une commande d'écriture de bloc correspondant à l'écriture de 2880444 14 données dans la zone système sera par contre ignorée par l'interface de conversion.
Pour répondre à une commande de lecture de bloc reçue du dispositif hôte correspondant à la lecture de données de la table d'allocation de fichiers, le traitement appliqué par l'interface de conversion consiste alors à construire les données de la table à partir de la liste des fichiers internes au travers de commandes de type fichier envoyées au gestionnaire de fichier interne permettant d'accéder aux données correspondantes et à envoyer la table au dispositif hôte, visible alors par lui comme un ensemble de blocs. La table est de plus construite à partir des droits d'accès du dispositif hôte puisque certains fichiers éventuellement ne sont pas visibles du dispositif hôte.
Une commande d'écriture de bloc reçue du dispositif hôte correspondant à l'écriture de la table d'allocation de fichiers, sera transcrite par l'interface de conversion en commandes de type fichier à destination du gestionnaire de fichiers interne permettant une mise à jour du système de fichiers interne (effacement de fichier, création, modification).
Pour répondre ensuite à une commande de lecture de bloc reçue du dispositif hôte correspondant à la lecture de la zone de données proprement dite du système de fichiers, l'interface de conversion doit déterminer quel fichier est accédé à partir du numéro de bloc et de la table d'allocation de fichiers précédemment envoyée au dispositif hôte. La commande de lecture de bloc est alors transcrite par l'interface de 2880444 15 conversion en commande de lecture de la portion de fichier concernée dans le système de fichiers interne du dispositif de stockage, et l'interface renvoie le bloc correspondant au dispositif hôte, éventuellement modifié en fonction de droits d'accès associés au dispositif hôte.
Une commande d'écriture de bloc reçue du dispositif hôte correspondant à l'écriture de la zone de données du système de fichiers sera traitée différemment par l'interface de conversion selon que le bloc en question concerne un fichier déjà existant ou n'était pas alloué précédemment. Si le bloc de données concerne un fichier déjà existant, l'interface de conversion transcrit cette commande d'écriture de bloc en une commande de modification du fichier interne. Si le bloc de données n'était par contre pas alloué précédemment, l'interface de conversion transcrit la commande de bloc en une commande de création d'un fichier temporaire à partir du bloc. Les fichiers temporaires seront ré-assemblés lors de la mise à jour de la table d'allocations des fichiers par le dispositif hôte.
La présente invention permet donc une gestion des droits d'accès au niveau fichier sur les dispositifs de stockage dotés d'un système de fichier en interne qui coopèrent avec dispositifs hôtes mettant en oeuvre des accès à la mémoire de type bloc. Cette possibilité de pouvoir contrôler l'accès à la mémoire et l'utilisation de cette mémoire au niveau fichier tout en gardant la compatibilité avec des dispositifs hôtes gérant un accès par blocs ouvre de nombreuses perspectives 2880444 16 d'application. Notamment, un exemple d'application de la présente invention concerne le contrôle d'un dispositif de stockage du type précité utilisé par un tiers. Dans ce type de configuration, l'utilisateur tiers pourrait avoir le droit de stocker des données sur le dispositif de stockage, de les effacer, mais il ne pourrait avoir accès qu'à une partie des données seulement qu'il a précédemment stockées. Seul le propriétaire du dispositif de stockage bénéficiant des droits d'accès pourra récupérer l'intégralité des données stockées et pourra par exemple faire payer ce service à l'utilisateur tiers du dispositif de stockage. Grâce à l'interface de conversion de format prévu dans le dispositif de stockage, ce type d'utilisation est rendue possible sans modifier le dispositif hôte de l'utilisateur du dispositif de stockage.
Par exemple, le propriétaire du dispositif de stockage pourrait être un fournisseur de service d'impression photographique fournissant à des utilisateurs une carte mémoire pour stocker leurs images. L'utilisateur va insérer cette carte mémoire dans un dispositif hôte de type appareil photo numérique et va pouvoir utiliser la mémoire pour stocker ses photos. En interne de la carte, chaque photo correspond à un fichier, qui pourra donc être traité et dont les accès pourront être contrôlés par l'intermédiaire de l'interface de conversion implémenté sur la carte. Par exemple, si l'utilisateur ne s'authentifie pas comme étant autorisé à accéder complètement à ces fichiers, on pourra faire en sorte 2880444 17 que la carte n'autorise un accès aux fichiers pour le dispositif hôte que dans une qualité volontairement modifiée ou dégradée (réduction de format, ajout d'une bannière sur l'image, etc.). Ainsi, seul le fournisseur d'impression, après authentification auprès de la carte, pourra récupérer les fichiers dans leurs pleine qualité et les imprimer pour l'utilisateur contre rémunération.
La présente invention est destinée à s'appliquer à 10 tous les formats de carte mémoire, dès lors que la carte gère son propre système de fichiers en interne.
2880444 18

Claims (8)

REVENDICATIONS
1. Dispositif de stockage de données (10) comprenant un espace mémoire (20) divisé en blocs mémoires et des moyens de gestion d'un système de fichiers (30) interne organisant lesdits blocs mémoires pour stocker des données sous forme d'une structure de fichiers, lesdits moyens de gestion contrôlant l'accès aux données dans la mémoire selon un format de commande de type fichier, ledit dispositif étant caractérisé en ce qu'il comprend une interface de conversion de protocole (80) entre lesdits moyens de gestion du système de fichiers (30) et un dispositif hôte (40) comprenant de moyens (70) pour accéder aux données dans la mémoire dudit dispositif de stockage selon un format de commande de type bloc.
2. Dispositif de stockage selon la revendication 1, caractérisé en ce que ladite interface de conversion de protocole (80) comprend des moyens pour simuler, à partir de l'organisation logique du système de fichier interne, une image en mémoire de type bloc des fichiers accessibles par ledit dispositif hôte, ladite image étant visible par ledit dispositif hôte.
3. Dispositif de stockage selon la revendication 1 ou 2, caractérisé en ce que ladite interface de conversion de protocole (80) comprend des moyens de transcription des commandes de type bloc reçues du dispositif hôte en des commandes de type fichier à 2880444 19 destination des moyens de gestion du système de fichiers (30).
4. Dispositif de stockage selon la revendication 3, caractérisé en ce que les moyens de transcription des commandes de type bloc en commandes de type fichier comprennent des moyens de détermination du type de bloc accédé parmi une zone système, une zone de table d'allocation de fichiers ou une zone de fichier du système de fichiers interne.
5. Dispositif de stockage selon la revendication 3 ou 4, caractérisé en ce que l'interface de conversion de protocole (80) comprend des moyens pour transmettre, d'une part, les commandes de type bloc transcrites vers les moyens de gestion du système de fichiers (30) et, d'autre part, des réponses de type bloc correspondantes vers le dispositif hôte (40).
6. Dispositif selon la revendication 5, caractérisé en ce que l'interface de conversion de protocole (80) comprend des moyens pour construire les réponses de type bloc en fonction de droits d'accès associés au dispositif hôte.
7. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que l'interface de conversion de protocole (80) comprend des moyens de modification des données accédées par le dispositif hôte en fonction du type de données accédées et/ou de droits d'accès associés au dispositif hôte.
2880444 20
8. Dispositif de stockage selon l'une quelconque des revendications précédentes, caractérisée en ce que l'interface de conversion du protocole (18) est sous forme logicielle sous le contrôle des moyens de gestion du système de fichiers (30).
FR0500109A 2005-01-06 2005-01-06 Dispositif de stockage de donnees Expired - Fee Related FR2880444B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR0500109A FR2880444B1 (fr) 2005-01-06 2005-01-06 Dispositif de stockage de donnees
US11/794,815 US20080005531A1 (en) 2005-01-06 2005-11-15 Data Storage Device
JP2007549836A JP4807683B2 (ja) 2005-01-06 2005-11-15 データ記憶装置
EP05807956A EP1849054A1 (fr) 2005-01-06 2005-11-15 Dispositif de stockage de donnees
PCT/EP2005/055972 WO2006072500A1 (fr) 2005-01-06 2005-11-15 Dispositif de stockage de donnees

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0500109A FR2880444B1 (fr) 2005-01-06 2005-01-06 Dispositif de stockage de donnees

Publications (2)

Publication Number Publication Date
FR2880444A1 true FR2880444A1 (fr) 2006-07-07
FR2880444B1 FR2880444B1 (fr) 2007-03-09

Family

ID=34954319

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0500109A Expired - Fee Related FR2880444B1 (fr) 2005-01-06 2005-01-06 Dispositif de stockage de donnees

Country Status (5)

Country Link
US (1) US20080005531A1 (fr)
EP (1) EP1849054A1 (fr)
JP (1) JP4807683B2 (fr)
FR (1) FR2880444B1 (fr)
WO (1) WO2006072500A1 (fr)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4781033B2 (ja) * 2004-08-10 2011-09-28 キヤノン株式会社 認証システム、処理方法、プログラム及び記録媒体
JP4575410B2 (ja) * 2007-08-29 2010-11-04 株式会社東芝 半導体記憶装置およびその動作方法
US8239395B2 (en) 2008-12-26 2012-08-07 Sandisk Il Ltd. Storage device presenting to hosts only files compatible with a defined host capability
US8166067B2 (en) * 2008-12-26 2012-04-24 Sandisk Il Ltd. Method and apparatus for providing access to files based on user identity
US20100169395A1 (en) * 2008-12-26 2010-07-01 Sandisk Il Ltd. Device and method for filtering a file system
US8943409B2 (en) * 2008-12-26 2015-01-27 Sandisk Il Ltd. Storage device managing playable content
WO2011026530A1 (fr) * 2009-09-07 2011-03-10 Tomtom International B.V. Appareil de navigation et procédé de support d'une communication vocale main libre
CN102870101A (zh) * 2009-10-26 2013-01-09 韦尔埃布尔股份有限公司 对在块存取设备和图形存取设备之间共享的存储器池的并行存取
US8321703B2 (en) 2009-12-12 2012-11-27 Microsoft Corporation Power aware memory allocation
DE102011106608A1 (de) * 2011-06-16 2012-12-20 Giesecke & Devrient Secure Flash Solutions Gmbh Speichermedium mit Zugriffsschutz sowie Verfahren zum Betreiben eines solchen Speichermediums
TW201327161A (zh) * 2011-12-23 2013-07-01 Ibm 記憶體控制方法與實施此方法之電腦系統
TWI465814B (zh) * 2012-04-23 2014-12-21 Au Optronics Corp 液晶顯示面板
US10169149B2 (en) * 2016-09-06 2019-01-01 International Business Machines Corporation Standard and non-standard dispersed storage network data access

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1100001A2 (fr) * 1999-10-25 2001-05-16 Sun Microsystems, Inc. Système de stockage permettant des accès au niveau fichier et au niveau bloc
WO2002050433A1 (fr) * 2000-12-18 2002-06-27 Spinnaker Networks, Inc. Mecanisme de gestion des acces a des fichiers distants de niveau bloc et de niveau fichier, au moyen du meme serveur
EP1239411A1 (fr) * 1999-11-30 2002-09-11 Kabushiki Kaisha Toshiba Carte a circuit integre et procede de gestion de la memoire volatile de la carte a circuit integre

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3609739B2 (ja) * 1991-11-26 2005-01-12 株式会社日立製作所 半導体記憶装置
JPH07141479A (ja) * 1993-11-18 1995-06-02 Toshiba Corp Icメモリカードおよびそのicメモリカードを使用したファイル管理システム
JP3233079B2 (ja) * 1997-09-30 2001-11-26 ソニー株式会社 データ処理システム及びデータ処理方法
US6393517B1 (en) * 1999-08-31 2002-05-21 Sony Corporation SCSI port filter driver for enhanced audio data
JP2001282596A (ja) * 2000-03-30 2001-10-12 Sony Corp ファイル管理方法、ファイル管理装置
US6779063B2 (en) * 2001-04-09 2004-08-17 Hitachi, Ltd. Direct access storage system having plural interfaces which permit receipt of block and file I/O requests
US7873700B2 (en) * 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
JP2004220216A (ja) * 2003-01-14 2004-08-05 Hitachi Ltd San/nas統合型ストレージ装置
US7549044B2 (en) * 2003-10-28 2009-06-16 Dphi Acquisitions, Inc. Block-level storage device with content security
JP4146380B2 (ja) * 2004-03-29 2008-09-10 東芝ソリューション株式会社 ストレージシステム、ブロック再配置制御方法及びプログラム
JP4943081B2 (ja) * 2006-07-27 2012-05-30 株式会社日立製作所 ファイル格納制御装置及び方法
JP2008152695A (ja) * 2006-12-20 2008-07-03 Hitachi Ltd 電子的な保護対象に要求される保護能力で該保護対象を保護する記憶制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1100001A2 (fr) * 1999-10-25 2001-05-16 Sun Microsystems, Inc. Système de stockage permettant des accès au niveau fichier et au niveau bloc
EP1239411A1 (fr) * 1999-11-30 2002-09-11 Kabushiki Kaisha Toshiba Carte a circuit integre et procede de gestion de la memoire volatile de la carte a circuit integre
WO2002050433A1 (fr) * 2000-12-18 2002-06-27 Spinnaker Networks, Inc. Mecanisme de gestion des acces a des fichiers distants de niveau bloc et de niveau fichier, au moyen du meme serveur

Also Published As

Publication number Publication date
US20080005531A1 (en) 2008-01-03
EP1849054A1 (fr) 2007-10-31
WO2006072500A1 (fr) 2006-07-13
JP4807683B2 (ja) 2011-11-02
JP2008527511A (ja) 2008-07-24
FR2880444B1 (fr) 2007-03-09

Similar Documents

Publication Publication Date Title
FR2880444A1 (fr) Dispositif de stockage de donnees
EP1151384B1 (fr) Systeme de memorisation comprenant des moyens de gestion d'une memoire avec anti-usure et procede de gestion anti- usure d'une memoire
US10303649B2 (en) Storage media abstraction for uniform data storage
US8239395B2 (en) Storage device presenting to hosts only files compatible with a defined host capability
US8463802B2 (en) Card-based management of discardable files
US7533133B1 (en) Externally managed file versions
CN101535966A (zh) 受限命名空间环境中的反向名称映射
US20080228693A1 (en) Recycle Bin Function
EP2102768A1 (fr) Procédé et dispositif de gestion de données dans un environnement distribué
EP2413233B1 (fr) Téléphone mobile sous android comprenant une chaîne de mise à disposition de contenus
US20100311451A1 (en) Data processing system
CN112597102B (zh) 一种高效的镜像文件***实现方法
EP2531921B1 (fr) Gestion du lieu de stockage de donnees dans un systeme de stockage distribue
US20050177571A1 (en) Systems, methods, and computer-readable mediums for accessing local and remote files
EP2304559B1 (fr) Procédé de basculement entre deux versions d'une même application au sein d'un dispositif de traitement de l'information et ledit dispositif
WO2007104649A1 (fr) Procede d'exploitation et de gestion de la memoire libre dans une memoire non-volatile reinscriptible, et memoire associee
EP3084591A1 (fr) Émulation d'équipements physiques
EP2144169B1 (fr) Gestion d'une mémoire physique partitionnée dans une entité électronique: procédé et dispositif
FR2911203A1 (fr) Procede de gestion de l'environnement d'execution sur des postes clients legers
FR2901380A1 (fr) Support personnel de memoire de masse portatif et systeme informatique d'acces securise a un espace utilisateur via un reseau
EP1859369A2 (fr) Procede de gestion dynamique d'une base de donnees
FR2864741A1 (fr) Dispositif et methode de stockage de donnees audio/video dans un reseau domestique.
WO2007082900A1 (fr) Dispositif electronique portable apte a fournir un contenu dynamique
FR2901387A1 (fr) Systeme informatique d'acces securise a un reseau par des utilisateurs
FR2901385A1 (fr) Support personnel de memoire de masse portatif et systeme informatique.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20091030