Brevet FR3072476A1 (20190419)

REVENDICATIONS1. Une interface de mémoire Flash comprenant : une unité de gestion de mémoire (302) comprenant un comparateur (306) configuré pour déterminer si l'adresse d'une opération d'accès à la mémoire Flash correspond à une adresse logique ou physique en comparant cette adresse à une ou plusieurs plages d'adresses ; une unité logique de mémoire (304) configurée pour convertir les adresses logiques en adresses physiques et pour fournir les adresses physiques à la mémoire Flash ; dans laquelle l'unité de gestion de mémoire (302) est configurée pour envoyer les adresses physiques vers la mémoire Flash et pour envoyer les adresses logiques vers l'unité logique de mémoire (302) pour les convertir en adresses physiques.\n<CLM>\1\tInterface de mémoire Flash selon la revendication 1, 15 dans laquelle l'unité de gestion de mémoire (302) comprend en outre une mémoire de configuration (308) stockant une indication desdites une ou plusieurs plages d'adresses.\n<CLM>\1\tInterface de mémoire Flash selon la revendication 1 ou 2, dans laquelle l'unité de mémoire logique (304) comprend : 20 un générateur d'adresse (312) configuré pour générer une adresse physique à partir de l'adresse logique et d'un identificateur de bloc identifiant un ou plusieurs blocs dans la mémoire Flash, dans lequel le générateur d'adresse (312) comprend un convertisseur d'adresse (314) configuré pour convertir chaque 25 adresse logique en un identificateur de bloc correspondant.\n<CLM>\1\tInterface de mémoire Flash selon la revendication 3, dans laquelle le générateur d'adresses (312) comprend un ou plusieurs des éléments suivants : un élément de gestion de stockage (318) configuré pour 30 gérer l'utilisation de blocs et/ou de pages dans la mémoire Flash ; un traducteur (320) configuré pour mettre en correspondance les adresses logiques et/ou les identificateurs de bloc B16012 17-ZV2-0089 16 avec des adresses physiques dans la mémoire Flash à partir d'au moins un décalage ; un module de rotation (322) configuré pour attribuer des adresses physiques dans la mémoire Flash à des adresses logiques 5 et/ou à des identificateurs de bloc par rotation entre les adresses physiques disponibles ; et un circuit cryptographique (324) configuré pour générer des adresses physiques à partir d'un décryptage de l'adresse logique. 10\n<CLM>\1\tInterface de mémoire Flash selon l'une quelconque des revendications 1 à 4, dans laquelle l'unité de gestion de mémoire (302) et l'unité logique de mémoire (304) sont en outre configurées pour : fournir chaque adresse physique à un contrôleur 15 d'écriture (311) de la mémoire Flash si l'opération d'accès à la mémoire Flash correspond à une opération d'écriture ; et fournir chaque adresse physique à un contrôleur de lecture de la mémoire Flash si l'opération d'accès à la mémoire Flash correspond à une opération de lecture. 20\n<CLM>\1\tInterface de mémoire Flash selon l'une quelconque des revendications 1 à 5, dans laquelle l'unité de gestion de mémoire (302) est mise en oeuvre par l'un des éléments suivants : un logiciel exécuté par un ou plusieurs processeurs ; ou 25 un ou plusieurs circuits matériels ; ou une combinaison d'un logiciel exécuté par un ou plu- sieurs processeurs et d'un ou plusieurs circuits matériels.\n<CLM>\1\tInterface de mémoire Flash selon l'une quelconque des revendications 1 à 6, dans laquelle l'unité de mémoire logique 30 (302) est mise en oeuvre par l'un des éléments suivants : un logiciel exécuté par un ou plusieurs processeurs ; OU un ou plusieurs circuits matériels ; ou une combinaison d'un logiciel exécuté par un ou plu-35 sieurs processeurs et d'un ou plusieurs circuits matériels.\n<CLM>\1\tSystème de traitement de données comprenant : B16012 17-ZV2-0089 17 une unité de traitement (102) ; une mémoire Flash (106) ; et une interface de mémoire Flash (108) selon l'une quelconque des revendications 1 à\n<CLM>\1\t5\n<CLM>\1\tSystème de traitement de données selon la revendication 8, dans lequel la mémoire Flash (106) comprend un contrôleur de programmation/effacement (202).\n<CLM>\1\tProcédé d'accès à une mémoire Flash, consistant à : déterminer si une adresse d'une opération d'accès en 10 mémoire Flash correspond à une adresse logique ou physique en comparant l'adresse avec une ou plusieurs plages d'adresses ; si l'on détermine que l'adresse est une adresse physique, diriger l'adresse physique vers la mémoire Flash ; et si l'on détermine que l'adresse est une adresse logique, 15 convertir l'adresse logique en une adresse physique et fournir l'adresse physique à la mémoire Flash.\n<CLM>\1\tProcédé selon la revendication 10, dans lequel les une ou plusieurs plages d'adresses sont stockées dans une mémoire de configuration (308). 20\n<CLM>\1\tProcédé selon la revendication 10 ou 11, dans lequel la conversion de l'adresse logique en adresse physique consiste a: convertir l'adresse logique en identificateur d'un ou plusieurs blocs dans la mémoire Flash ; et 25 générer une adresse physique à partir de l'adresse logique et de l'identificateur.\n<CLM>\1\tProcédé selon la revendication 12, dans lequel la génération de l'adresse physique à partir de l'identificateur comprend une ou plusieurs des actions suivantes : 30 la gestion de blocs et/ou de pages dans la mémoire Flash par un élément de gestion de stockage ; la mise en correspondance de l'adresse logique et/ou de l'identificateur de bloc avec une adresse physique dans la mémoire Flash à partir d'au moins un décalage ; B16012 17-ZV2-0089 18 l'attribution d'une adresse physique dans la mémoire Flash à une adresse logique et/ou à un identificateur de bloc par rotation entre les adresses physiques disponibles ; et le décryptage de l'adresse logique. 5\n<CLM>\1\tProcédé selon l'une quelconque des revendications 10 à 13, consistant en outre à : fournir chaque adresse physique à un contrôleur d'écriture (311) de la mémoire Flash si l'opération d'accès à la mémoire Flash correspond à une opération d'écriture ; et 10 fournir chaque adresse physique à un contrôleur de lecture de la mémoire Flash si l'opération d'accès à la mémoire Flash correspond à une opération de lecture.