Brevet FR2980298A1 — publié le 20130322

Domaine Des modes de réalisation de la présente invention concernent un contrôleur pour dispositif de mémorisation et un procédé de commande du dispositif de mémorisation. Arrière-plan Un appareil de traitement d'informations à usage industriel délivrant en temps réel un contenu vidéo mémorisé dans des serveurs vidéo ou analogue utilise des dispositifs de mémorisation tels que des disques durs de grande capacité. L'appareil de traitement d'informations d'un tel type nécessite d'achever le traitement d'écriture ou de lecture des données vers et depuis le dispositif de mémorisation en une période de temps donnée. Ceci est dû au fait que si le temps nécessaire pour écrire ou lire les données dépasse une période de temps prédéterminée, l'image vidéo ou le son peut être interrompu. Les disques durs ont une grande capacité et sont économiques mais ils présentent des inconvénients de vitesse et de fiabilité. En conséquence, dans les systèmes à usage industriel on a utilisé au cours de ces dernières années des unités appelées en anglais « Solid State Drive » (notées ci-après SSD) en tant que dispositifs de mémorisation à grande vitesse (voir par exemple, JP, P2010-102369A). Toutefois, les SSD de grande capacité utilisés dans les systèmes à usage industriel sont coûteux. En conséquence, on souhaite utiliser des SSD de faible coût et à usage général, pouvant être connectés à des interfaces à usage général, par exemple ATA série. Toutefois, les dispositifs de mémorisation tels que les SSD à usage général ne sont pas garantis en termes de temps de retard pouvant se produire lors du traitement d'écriture ou de lecture de données. Dans es SSD en particulier, des phénomènes de retard spécifiques représentés pan la correction des parasites se produisent dans le processus d'écriture de données. En conséquence, on ne peut pas utiliser de SSD à usage général tels quels dans les appareils et les dispositifs qui effectuent une commande en temps réel comme par exemple les systèmes télédiffusion. Brève description des dessins L'invention sera bien comprise et ses avantages seront mieux compris à la lecture de la description détaillée qui suit. La description se rapporte aux dessins indiqués ci-après et qui sont donnés à titre d'exemples. La figure 1 illustre une configuration d'un contrôleur d'un premier mode de réalisation ; la figure 2 représente le contenu d'une table de modes ; la figure 3 est un diagramme de séquence représentant des opérations normales ; la figure 4 est un diagramme de séquence représentant des opérations dans le cas d'un retard dans un processus d'écriture ; et la figure 5 illustre une configuration de contrôleur d'un autre mode de réalisation. Description détaillée Selon un mode de réalisation, un contrôleur comporte une table de modes, une unité de moniteur, une mémoire tampon, un séquenceur, une unité de réponse à commande, une unité de traitement de données et une unité de commande de lecture. Dans la table de modes, le mode de fonctionnement du dispositif de mémorisation peut être réglé à un mode parmi « écriture/lecture » et « attente ». L'unité de moniteur surveille le mode de fonctionnement du dispositif de mémorisation et règle le mode de fonctionnement du dispositif de mémorisation dans la table de modes. La mémoire tampon comporte une première et une deuxième zone de mémorisation. Le séquenceur compte un temps donné fixé à l'avance en réponse à une instruction de début de. comptage et envoie une notification d'échéance lorsque le temps donné est atteint. Lorsqu'elle reçoit du système hôte une commande d'écriture, l'unité de réponse à commande reçoit des données d'écriture transmises par le système hôte dans une période prédéterminée après !a commande d'écriture., conserve les données d'écriture reçues dans la première zone de mémorisation de la mémoire tampon et fournit ensuite en sortie une instruction d'écriture pour écrire les données dans le dispositif de mémorisation si le mode de fonctionnement du dispositif de mémorisation est confirmé à « attente en référence à la table de modes. Lorsqu'elle reçoit du système hôte une commande de lecture, l'unité de réponse à commande demande au séquenceur de commencer à compter et fournit ensuite en sortie une instruction de lecture pour lire les données dans le système de mémorisation si l'état de fonctionnement du dispositif de mémorisation est estimé à « attente » en référence à la table de modes. En réponse à l'instruction d'écriture de l'unité de réponse à commande, l'unité de traitement de données lit les données dans la première zone de mémorisation de la mémoire tampon et écrit les données de lecture dans le système de mémorisation. En réponse à l'instruction de lecture de l'unité de réponse à commande, l'unité de traitement de données lit les données spécifiées dans le dispositif de mémorisation et conserve les données de lecture dans la deuxième zone de mémorisation de la mémoire tampon. L'unité de commande de lecture envoie au système hôte les données conservées dans la deuxième zone de mémorisation de la mémoire tampon lorsque la notification d'échéance est reçue du séquenceur. Une description détaillée d'un mode de réalisation est fournie ci-après en référence aux dessins. La figure 1 illustre une configuration d'un contrôleur 2 selon un premier mode de réalisation. Comme représenté sur la figure 1, le contrôleur de dispositif de mémorisation 2 comporte une interface externe 20 (appelée ci-après I/F 20) connectée à un système hôte 1, un séquenceur 21, une unité de réponse à une commande 22, une mémoire tampon 23, une unité de traitement de données 24, une table de modes 25, une unité de moniteur 26, une interface de disque 27 (appelée ci-après I/F de disque 27) et une unité de commande de lecture 40. Le système hôte 1. est par exemple un serveur vidéo. Le système hôte I est un système à usage industriel, tel qu'un système multimédia, un système de traitement d'informations et un système d'usine de fabrication et: il nécessite une garantie de temps de réponse dans le processus d'écriture de données dans un dispositif de mémorisation ou de lecture de données dans le dispositif de mémorisation. L'I/F de disque 27 est une interface de communication avec le dispositif de mémorisation externe 3 et par exemple, est un port ATA série (SATA-2.6 ou 3.0) ou PCI-e. Dans ce mode de réalisation, i'I/F de disque 27 est connectée au dispositif de mémorisation externe 3. Le dispositif de mémorisation externe 3 est un dispositif de mémorisation à usage général connecté à l'I/F de disque 27, qui est par exemple un SSD à usage général. Dans la description qui suit, le dispositif de mémorisation externe 3 est un SSD à usage général. L F 20 est une interface de communication avec le système hôte 1 et par exemple, est un port ATA série (SATA-2.6 ou 10) ou PCI-e. L'unité de réponse à une commande 22 demande au séquenceur 21 de démarrer une opération de comptage. Lorsque le temps compté atteint une échéance T fixée au préalable (un temps donné T), le séquenceur 21 envoie une notification d'échéance à l'unité de réponse à une commande 22 et à l'unité de commande de lecture 40. Le système hôte 1 doit achever le processus d'écriture de données dans le SSD 3 ou de lecture de données dans le SSD 3 sans dépasser un temps de réponse admissible, déterminé au préalable par les spécifications du système. L'échéance T est réglée à un temps calculé en soustrayant du temps de réponse admissible le temps de transfert d'une commande (une certaine période de temps déterminée par les spécifications de l'interface) entre le système hôte 1 et l'unité de réponse à une commande 22. Le contrôleur 2 commande ainsi le temps de retard du dispositif de mémorisation externe SSD 3 dans un temps donné du point de vue du système hôte 1. La période de temps admissible pour renvoyer une réponse au système hôte 1 dépend de l'utilisation prévue du système. Ce temps est par exemple de 33 ms (durée d'une trame d'images animées de télévision : 1/30 s) dans un système traitant des vidéos et de 1 ms à 10 ms dans un système de journalisation de données utilisé dans des usines de fabrication. L'échéance T (temps donné T) est le temps de retard admissible maximum pour renvoyer une réponse au système hôte 1. L'échéance T est réglée au préalable au niveau du séquenceur 21. L'échéance T peut être écrite de manière externe dans une mémoire pouvant être référencée par le séquenceur 21. L'unité de réponse à une commande 22 demande au séquenceur 21 de compter l'échéance T réglée au préalable. Lorsque l'échéance T est atteinte, le séquenceur 21 envoie une notification d'échéance à !'unité de réponse à une commande 22 et à l'unité de commande de lecture 40. L'unité de réponse à une commande 22 envoie et reçoit des commandes, des réponses et des données vers et depuis le système hôte 1. En réponse à une commande reçue du système hôte 1, l'unité de réponse à une commande 22 envoie à l'unité de traitement de données 24 un signal de commande fournissant une instruction d'écriture ou de lecture de données. Lorsqu'elle reçoit du système hôte 1 une commande d'écriture demandant d'écrire des données dans le SSD 3 ou une commande de lecture demandant de lire des données dans le SSD 3, l'unité de réponse à une commande 22 contrôle le mode de fonctionnement du SSD 3 (que le SSD 3 soit dans le mode « attente » ou dans le mode « écriture/lecture ») en référence à la table de modes 25. Si le mode de fonctionnement du SSD 3 est « attente », le SSD 3 est inscriptible et lisible. Si la commande reçue est une commande d'écriture, l'unité de réponse à une commande 22 reçoit des données d'écriture qui sont envoyées par le système hôte 1 dans une période donnée constante t, et elle conserve les données d'écriture reçues dans la mémoire tampon 23. Si la commande reçue est une commande d'écriture et que le mode de fonctionnement du SSD 3 est « attente », l'unité de réponse à une commande 22 fournit en sortie à l'unité de traitement de données 24 un signal de commande qui fournit une instruction d'écriture pour écrire des données dans le SSD 3. Si la commande reçue est une commande de lecture, l'unité de réponse à une commande 22 envoie au séquenceur 21 un signal de commande qui fournit urne instruction de début de comptage. Lorsque la commande reçue est une commande de lecture et que le mode de fonctionnement du SSD 3 est « attente )), l'unité de réponse à une commande 22 fournit en sortie à l'unité de traitement de données 24 un signal de commande qui fournit une instruction de lecture pour lire des données dans le SSD 3. Lorsqu'elle reçoit une notification d'échéance du séquenceur 21, l'unité de commande de lecture 40 envoie au système hôte 1 les données qui sont lues dans le SSD 3 et conservées dans la mémoire tampon 23. Lorsqu'elle reçoit une commande de lecture, l'unité de réponse à une commande 22 renvoie immédiatement une réponse à la réception d'une commande au système hôte 1. La période de temps allant jusqu'à l'échéance (temps donné T) est atteinte après s'être assuré que la réception de la commande de lecture est terminée en tant que temps de retard garanti dans le processus de lecture de données lorsqu'il y a un retard dans le processus d'écriture des données dans le SSD 3. La mémoire tampon 23 comporte une pluralité de zones de mémorisation, telles qu'une première zone de mémorisation 23a et une deuxième zone de mémorisation 23b. La première zone de mémorisation 23a est capable de conserver temporairement les données d'écriture reçues du système hôte 1. La deuxième zone de mémorisation 23b est capable de conserver temporairement les données de lecture qui sont lues dans le SSD 3. Dans la mémoire tampon 23, les données reçues du système hôte 1 ou du SSD 3 sont conservées temporairement (mises en réserve). La première zone de mémorisation 23a et/ou la deuxième zone de mémorisation 23b sont séparées en plusieurs sections. Le nombre de sections de chaque zone de mémorisation est déterminé en se basant sur la relation entre le temps de retard attendu pour écrire dans le SSD 3 et le temps admissible en tant que système complet pour que le système hôte 1 reçoive du système hôte une réponse à une commande. Dans le premier mode de réalisation, la première zone de mémorisation 23a comporte deux sections et la deuxième zone de mémorisation 23b comporte trois sections. Lorsqu'elle reçoit un signal de commande de l'unité de réponse à une commande 22, l'unité de traitement de données 24 se réfère à la table de modes 25 pour déterminer si le mode de fonctionnement du SSD 3 est attente ». Si le mode de fonctionnement du SSD 3 est Une description est ensuite fournie du fonctionnement du contrôleur 2 selon le mode de réalisation, séparément en termes de fonctionnement en temps normal et de fonctionnement dans le cas d'un retard de traitement d'écriture dans le SSD. Fonctionnement normal Une description est d'abord fournie du fonctionnement normal en référence à la figure 3. Transition d'état 1 Pour écrire des données dans le SSD 3, le système hôte 1 envoie d'abord une commande d'écriture au contrôleur 2. Dans le contrôleur 2, l'unité de réponse à une commande 22 interprète la commande d'écriture et contrôle l'adresse et la taille d'écriture incluses dans la commande d'écriture. Si le contrôleur 2 est activé pour recevoir les données d'écriture, l'unité de réponse à une commande 22 envoie au système hôte 1 une réponse recevable indiquant que le contrôleur 2 peut recevoir les données. Lorsqu'il reçoit la réponse recevable, le système hôte 1. commence à envoyer des données W-A. L'unité de réponse à une commande 22 envoie les données reçues W-A à la mémoire tampon 23 et demande à la mémoire tampon 23 d'écrire les données W-A dans la première zone de mémorisation 23a. Lorsque la première zone de mémorisation 23a comporte des données restant à écrie dans le SSD 3, l'unité de réponse à une commande 22 demande à la mémoire tampon 23 d'écrire dans une autre zone de mémorisation. L'unité de réponse à une commande 22 contrôle la taille des données déjà reçues. Lorsque la taille des données déjà reçues W-A atteint la taille d'écriture incluse dans la commande d'écriture, l'unité de réponse à une commande 22 envoie une réponse de fin d'écriture au système hôte 1. En même temps, l'unité de réponse à une commande 22 se réfère à la table de modes 25 pour contrôler le mode de fonctionnement du SSD 3. Le mode de fonctionnement du SSD 3 peut être contrôlé au moment où l'unité de réponse à une commande 22 termine de recevoir du système hôte 1 les données de taille unitaire (unité de données). Dans ce cas, il est nécessaire de surveiller si les données à écrire dans le SSD 3 ne sont pas en avance sur les données transmises par le système hôte 1. Transition d'état 2 Lorsque l'unité de réponse à une commande 22 confirme que le SSD 3 est dans le mode « attente » en conséquence de la référence à la table de modes 25, l'unité de réponse à une commande 22 envoie à l'unité de traitement de données 24 un signal de commande qui fournit une instruction d'écriture pour écrire des données dans le SSD 3. Le signal de commande qui fournit une instruction d'écriture comporte la commande d'écriture reçue du système hôte 1 et une section de la mémoire tampon 23 pour mémoriser les données destinées à être écrites dans le SSD 3. Si le SSD 3 est dans le mode « écriture/lecture » en conséquence de la référence à la table de modes 25, l'unité de réponse à une commande 22 se réfère régulièrement à la table de modes 25 et attend une commande du système hôte 1. Lorsque l'unité de traitement de données 24 confirme que le SSD 3 est dans le mode « attente » en référence à la table de modes 25, l'unité de traitement de données 24 envoie une commande d'écriture su SSD 3 par l'intermédiaire de l'unité de moniteur 26. En même temps, l'unité de moniteur 26 modifie l'indicateur de mode de fonctionnement de la table de modes 25 du mode « attente » au mode « écriture/lecture ». Après avoir reçu une réponse recevable du SSD 3, l'unité de traitement de données 24 lit les données W-A dans lu mémoire tampon 23 et envoie les données W-A au SSD 3. Les données W-A sont ainsi écrites dans le SSD :3. Lorsque la taille des données d'écriture atteint la taille d'écriture incluse dans la commande d'écriture, le SSD 3 envoie une réponse de fin d'écriture au contrôleur 2. L'unité de moniteur 26 reçoit la réponse de fin d'écriture et modifie l'indicateur de mode de fonctionnement de la table de modes 25 du mode « écriture/lecture » au mode « attente ». Transition d'état 3 Pour lire des données dans Je SSD 3, le système hôte 1 envoie une commande de lecture au contrôleur 2. L'unité de réponse à une commande 22 interprète la commande de lecture et contrôle l'adresse et la taille de lecture incluses dans la commande de lecture. En même temps, l'unité de réponse à une commande 22 envoie au séquenceur 21 un signal de commande qui fournit une instruction de début de comptage. L'unité de réponse à une commande 22 envoie une réponse de réception de commande au système hôte 1. En même temps, l'unité de réponse à une commande 22 se réfère à la table de modes 25 et contrôle l'indicateur de mode de fonctionnement du SSD 3. Lors de la confirmation du fait que le SSD 3 est dans le mode « attente », l'unité de réponse à une commande 22 envoie à l'unité de traitement de données 24 un signal de commande qui fournit une instruction de lecture pour lire des données dans le SSD 3. Le signal de commande qui fournit une instruction de lecture comporte la commande de lecture reçue du système hôte 1 et des informations indiquant une section de la mémoire tampon 23 pour mémoriser les données de lecture du SSD 3. Dans ce processus, lorsque les données restant à envoyer au système hôte 1 sont incluses dans la deuxième zone de mémorisation 23b, l'unité de réponse à une commande 22 demande à l'unité de traitement de données 24 d'écrire les données dans une autre section de la mémoire tampon 23. Lorsque l'indicateur de mode de fonctionnement du SSD 3 dans la table de modes 25 est « écriture/lecture », l'unité de réponse à une commande 22 se réfère régulièrement à la table de modes 25 et attend une commande du système hôte 1. L'unité de traitement de données 2c4 envoie une commande de lecture au SSD 3 par l'intermédiaire de l'unité de moniteur 26. En même temps, le moniteur 26 modifie l'indicateur de mode de fonctionnement de la table de modes 25 du mode « attente » au mode « écriture/lecture L'unité de traitement de données 24 reçoit des données R-a du SSD 3 et écrit les données R-a dans la mémoire tampon 23. Lorsque l'unité de moniteur 26 reçoit une réponse de fin de lecture du SSD 3 après que l'unité de traitement de données 24 a reçu les données du SSD 3, l'unité de moniteur 26 modifie l'indicateur de mode de fonctionnement de la table modes 25 du mode « écriturellecture » au mode « attente (Transition d'état 4) Lorsque le temps donné T est atteint depuis que le séquenceur 21 a commencé à compter, le séquenceur 21 envoie une notification d'échéance à l'unité de commande de lecture 40 et à l'unité de réponse à une commande 22. Dans ce mode de réalisation, le temps donné T est réglé à quatre fois la période donnée t. L'unité de commande de lecture 40 lit les données R-a dans la mémoire tampon 23 et envoie les données R-a au système hôte 1. Après avoir achevé l'envoi des données R-a, l'unité de réponse à une commande 22 envoie une réponse de fin de lecture au système hôte 1. Dans cet exemple, bien que les données R-a soient envoyées au système hôte 1, des données R-e sont reçues du SSD 3 et sont conservées dans la mémoire tampon 23. Une description des opérations dans le cas d'un retard dans le processus d'écriture dans le SSD 3 est ensuite donnée en référence à la figure 4. (Transition d'état 5) Lorsque l'unité de traitement de données 24 lit les données W-B dans la mémoire tampon 23 et envoie les données W-B au SSD 3, on suppose qu'il y a un retard dans le traitement d'écriture des données W-B dans le SSD 3. L'indicateur de mode de fonctionnement de la table de modes 25 est « écriture/lecture » jusqu'à ce que l'unité de moniteur 26 reçoive une réponse de fin d'écriture. Si le contrôleur 2 reçoit du système hôte 1 une commande de lecture pour les données suivantes R-b pendant le retard, l'unité de réponse à une commande 22 interprète la commande de lecture et contrôle l'adresse et la taille de lecture incluses dans la commande de lecture. En mème temps, l'unité de réponse à une commande 22 envoie au séquenceur 21 un signal de commande fournissant une instruction de début de comptage. D'autre part, lorsqu'elle reçoit la commande de lecture pour les données R-a, l'unité de réponse à une commande 22 envoie au séquenceur 21 un signal de commande qui fournit une instruction de début de comptage. En conséquence, le séquenceur 21 comporte sensiblement deux séquenceurs internes. L'unité de réponse à une commande 22 envoie une réponse de réception de commande au système hôte 1. En même temps, l'unité de 5 réponse à une commande 22 contrôle l'indicateur de mode de fonctionnement du SSD 3 en référence à la table de modes 25. Dans ce processus, puisqu'il existe un retard d'écriture dans le SSD 3, le résultat de la référence à la table de modes 25 est « écriture/lecture 10 De plus, l'unité de réponse à une commande 22 interprète une commande d'écriture pour les données W-C du système hôte 1 et contrôle l'adresse et la taille d'écriture incluses dans la commande d'écriture. Lorsque le contrôleur 2 est activé pour recevoir les données WC, l'unité de réponse à une commande 22 envoie une réponse recevable 15 au système hôte 1. Lorsqu'il reçoit la réponse recevable, le système hôte 1 commence à envoyer des données W-C. Dans la zone de la mémoire tampon 23 pour mémoriser les données d'écriture du système hôte 1, les données W-B restant à écrire dans le SSD 3 se trouvent dans la première section de la première zone de 20 mémorisation 23a de la mémoire tampon 23. En conséquence, l'unité de réponse à une commande 22 demande à la mémoire tampon 23 d'écrire les données W-C dans une deuxième section, qui est différente de la première section. Dans le cas de cet exemple, pour écrire que les données W-C 25 ne sont pas encore terminées à ce moment, l'unité de réponse à une commande 22 écrit les données W-C dans la deuxième section de la première zone de mémorisation 23a de la mémoire tampon 23 et connaît l'utilisation de la première zone de mémorisation 23a de la mémoire tampon 23 (le nombre de sections utilisées). 30 L'unité de réponse à une commande 22 écrit les données reçues dans la deuxième section de la première zone de mémorisation 23a de la mémoire tampon 23 en contrôlant la taille des données d'écriture. Lorsque la taille des données d'écriture atteint la taille d'écriture incluse dans la commande d'écriture, l'unité de réponse à une commande 22 35 envoie une réponse de fin d'écriture au système hôte 1. (Transition d'état 6) Lorsque le retard du processus d'écriture des données W-B dans le SSD 3 se termine et que l'unité de moniteur 26 reçoit une réponse de fin d'écriture du SSD 3, l'unité de moniteur 26 modifie l'indicateur de mode de fonctionnement au mode « attente Dans ce processus, l'unité de réponse à une commande 22 se réfère régulièrement à la table de modes 25 et contrôle si l'indicateur de mode de fonctionnement est modifié au mode « attente ». À titre de variante, lorsqu'elle reçoit une « réponse de fin d'écriture » du SSD 3, l'unité de moniteur 26 peut informer l'unité de réponse à une commande 22 de la fin de l'écriture. Après avoir confirmé que le SSD 3 est dans le mode « attente », l'unité de réponse à une commande 22 traite la commande de lecture pour les données R-b qui est une commande reçue à la suite de la commande d'écriture pour les données W-B. L'unité de réponse à une commande 22 envoie un signal de commande qui fournit une instruction de lecture et une commande de lecture à l'unité de traitement de données 24 pour demander à l'unité de traitement 24 de lire les données dans le SSD 3. Lorsque le mode de fonctionnement de la table de modes 25 est « écriture/lecture », d'une manière similaire à ce qui précède, l'unité de réponse à une commande 22 se réfère régulièrement à la table de modes et attend une commande du système hôte 1. En même temps, l'unité de réponse à une commande 22 informe l'unité de traitement de données 24 d'une section de la mémoire tampon 23 pour conserver les données de lecture. Dans ce processus, 25 lorsque les données restant à envoyer au système hôte 1 se trouvent dans la mémoire tampon 23, les données de lecture dans le SSD 3 sont écrites dans une section différente de la section de laquelle les données sont envoyées. L'unité de traitement de données 24 envoie au SSD 3 par l'intermédiaire de l'unité de moniteur 26 la commande de lecture envoyée par l'unité de réponse à une commande 22. En même temps, l'unité de moniteur 26 modifie l'indicateur de mode de fonctionnement de la table de modes 25 du mode attente » au mode « écriture/lecture ». Lorsque l'unité de moniteur 26 reçoit la réponse de fin de lecture du SSD 3 après que l'unité de traitement de données 24 a reçu les données R-b du SSD 3, l'unité de moniteur 26 modifie l'indicateur de mode de la table de modes de fonctionnement 25 au mode Selon le premier mode de réalisation, le système hôte 1 exécute alternativement des opérations de lecture et d'écriture à chaque période donnée t, et le contrôleur de dispositif de mémorisation 2 envoie su système hôte 1 les données de lecture qui sont lues dans le SSD 3 toujours un temps donné (quatre périodes) après avoir reçu la commande de lecture. En conséquence, le contrôleur de dispositif de mémorisation 2 absorbe le temps de retard provoqué per le processus d'écriture dans le SSD 3 et permet d'utiliser un SSD à usage général dans une commande en temps réel. Tant que les exigences susmentionnées pour l'échéance sont satisfaites, le temps donné T peut être réglé à un autre nombre pair de fois le période donnée t, par exemple deux fois ou six fois au lieu de quatre fois lorsque le système hôte 1 exécute l'opération de lecture et l'opération d'écriture à chaque période donnée t. C'est-à-dire qu'en conservant dans la mémoire tampon 23 les données de lecture dans le SSD 3 pendant le temps d'attente maximum autorisé par le système, le retard provoqué dans le processus d'écriture dans le SSD 3 est absorbé. En d'autres termes, en séparant le processus concernant le SSD 3 et le processus concernant le système hôte 1 dans le contrôleur 2, le retard de réponse du SSD 3 n'a pas d'influence sur le système hôte 1, garantissant ainsi le retard dans le processus d'écriture dans le SSD 3. Bien que certains modes de réalisation aient été décrits, ces modes de réalisation ont été présentés à titre d'exemple seulement et ne sont pas destinées à limiter la portée des inventions. En fait, les nouveaux modes de réalisation ici décrits peuvent être réalisés dans une diversité d'autres formes ; de plus, diverses omissions, remplacements et modifications dans la forme des modes de réalisation ici décrits peuvent être réalisés sans s'écarter de l'esprit des inventions. Les revendications anne:,:ees et leurs équivalents sont destinés à couvrir ces formes ou modifications et appartiennent à la portée et à l'esprit des inventions. Dans le mode de réalisation susmentionné, la mémoire tampon 23 comporte la première zone de mémorisation 23a pour l'écriture et le deuxième zone de mémorisation 23b pour la lecture. Toutefois, comme représenté par exemple sur b figure 5, le contrôleur 2 peut inclure une mémoire tampon 23c pour l'écriture et une mémoire tampon 23d pour la lecture. Dans ce cas, la fourniture des mémoires tampon augmente le coût du composant. Toutefois, les données de lecture et les données d'écriture peuvent être conservées dans les mémoires tampon qui sont indépendantes les unes des autres et les processus de lecture et d'écriture peuvent être exécutés indépendamment. En conséquence, la performance du traitement peut être améliorée. Les éléments constitutifs représentés dans le mode de réalisation peuvent être mis en oeuvre par des programmes installés dans un dispositif de mémorisation d'un ordinateur, par exemple un disque dur. Ces programmes peuvent être mémorisés sur un support électronique lisible par un ordinateur et un ordinateur lit le programme à partir du support électronique pour mettre en oeuvre les fonctions de la présente invention. Des exemples de supports électronique comportent un support d'enregistrement tel que des CD-ROM, des mémoires flash et un support amovible. De plus, les fonctions de la présente invention peuvent être mises en oeuvre en distribuant et en mémorisant les composants constituants dans différents ordinateurs connectés par l'intermédiaire d'un réseau et en faisant fonctionner les ordinateurs en tant que composants constituants pour communiquer entre eux.20 REVENDICATIONS1. Contrôleur (2) pour un dispositif de mémorisation (3), connecté à un système hôte (1) et au dispositif de mémorisation (3), le contrôleur (2) comprenant : une table de modes (25) dans laquelle le mode de fonctionnement du dispositif de mémorisation (3) peut être réglé à un mode parmi le mode « écriture/lecture » et le mode « attente un moniteur (26) qui surveille le mode de fonctionnement du dispositif de mémorisation (3) et règle le mode de fonctionnement du dispositif de mémorisation (3) dans la table de modes (25) ; une mémoire tampon (23) incluant une première et une deuxième zone de mémorisation (23a, 23b) ; un séquenceur (21) qui compte un temps donné fixé à l'avance en réponse à une instruction de commencer à compter et envoie une notification d'échéance lorsque le temps donné est atteint ; un dispositif de réponse à commande (22) qui, lorsqu'il reçoit du système hôte (1) une commande d'écriture, reçoit des données d'écriture transmises par le système hôte (1) en une période prédéterminée après la commande d'écriture, conserve les données d'écriture dans la première zone de mémorisation (23a) de la mémoire tampon (23) et fournit ensuite en sortie une instruction d'écriture pour écrire des données dans le dispositif de mémorisation (3) si le mode de fonctionnement du dispositif de mémorisation (3) est confirmé à « attente » en référence à la table de modes (25) et qui, lorsqu'il reçoit du système hôte (1) une commande de lecture, demande au séquenceur (21) de commencer à compter et fournit ensuite en sortie une instruction de lecture pour lire des données dans le système de mémorisation si l'état de fonctionnement du dispositif de mémorisation (3) est estimé à « attente » en référence à la table de modes (25) ; et un processeur de données (24) qui, en réponse à l'instruction d'écriture par le dispositif de réponse à commande (22), lit, les données dans la première zone de mémorisation (23a) de la mémoire tampon (23) et écrit les données de lecture dans le système de mémorisation et qui, en réponse à l'instruction de lecture par le dispositif de réponse à commande (22), lit les données spécifiées dans le dispositif de mémorisation (3) etconserve les données de lecture dans la deuxième zone de mémorisation (23b) de la mémoire tampon (23) ; et une unité de commande de lecture qui envoie au système hôte (1) les données conservées dans la deuxième zone de mémorisation (23b) de la mémoire tampon (23) lorsque la notification d'échéance est reçue du séquenceur (21). 2. Contrôleur (2) selon la revendication 1, dans lequel la première et/ou la deuxième zone de mémorisation (23b) de la mémoire tampon (23) comportent un certain nombre de sections, le nombre étant fixé en se basant sur la relation entre le temps de retard d'écriture attendu dans le dispositif de mémorisation (3) et le temps admissible en tant que système complet pour que le système hôte (1) reçoive une réponse du système hôte (1) à une demande. 3. Contrôleur (2) selon la revendication 1, dans lequel le contrôleur (2) comporte une première interface pouvant être connectée au système hôte (1) et une deuxième interface pouvant être connectée au dispositif de mémorisation (3), et le dispositif de mémorisation (3) est un disque électronique à usage général. 4. Contrôleur (2) selon la revendication 1, dans lequel l'instruction d'écriture du dispositif de réponse à une commande (22) comporte la commande d'écriture que le dispositif de réponse à commande (22) reçoit du système hôte (1) ; et des informations indiquant l'une des sections de la mémoire tampon (23) contenant les données destinées à être écrites dans le dispositif de mémorisation (3), et l'instruction de lecture du dispositif de réponse à commande (22) comporte : la commande de lecture que le dispositif de réponse à commande (22) reçoit du système hôte (1) ; et des informations indiquant que l'une des sections de la mémoire tampon (23) mémorise les données de lecture dans le dispositif de mémorisation (3). 5. Contrôleur (2) selon la revendication 4, dans lequel le processeur de données (24) envoie au dispositif de mémorisation (3) la commande d'écriture reçue par le dispositif de réponse à commande (22) du système hôte (1) et envoie au dispositif de mémorisation (13) la commande de lecture reçue du système hôte (1) par le dispositif de réponse à commande (22). 6. Procédé de commande d'un contrôleur (2) pour un dispositif de mémorisation (3), le contrôleur (2) étant connecté à un système hôte (1) et au dispositif de mémorisation (3) et incluant une mémoire tampon (23) comportant une première et une deuxième zone de mémorisation (23a, 23b), le procédé de commandes comprenant les étapes consistant à: surveiller le mode de fonctionnement du dispositif de mémorisation (3) qui est un mode « écriture/lecture » ou un mode « attente » et régler le mode de fonctionnement du dispositit de mémorisation (3) dans une table de modes (25) ; compter un temps donné fixé à l'avance en réponse à une instruction de début de comptage et envoyer une notification d'échéance lorsque le temps donné est atteint ; lors de la réception du système hôte (1) d'une commande d'écriture, recevoir des données d'écriture transmises par le système hôte (1) en une période prédéterminée après la commande d'écriture, conserver les données d'écriture reçues dans la première zone de mémorisation (23a) de la mémoire tampon (23) et fournir ensuite une instruction d'écriture pour écrire des données dans le dispositif de mémorisation (3) lorsque le mode de fonctionnement du dispositif de mémorisation (3) est confirmé à « attente » en référence à la table de modes (25), lire ensuite les données spécifiées par l'instruction d'écriture dans la première zone de mémorisation (23a) et écrire les données de lecture dans le dispositif de mémorisation (3), et lors de la réception du système hôte (1) d'une commande de lecture, demander au séquenceur (21) de commencer à compter et fournir ensuite en sortie une instruction de lecture pour lire des données dans le système de mémorisation lorsque le mode de fonctionnement du dispositif de mémorisation (3) est confirmé à « attente » en référence à la table de modes (25), puis lire les données spécifiées par l'instruction de lecture dans le dispositif de mémorisation (3) et conserver les données de lecture dans la deuxième zone de mémorisation (23h) de la mémoire tampon (23) ; et envoyer au système hôte (1) les données conservées dans la deuxième zone de mémorisation (23b) de la mémoire tampon (23) lorsque la notification d'échéance est reçue du séquenceur (21). 7. Procédé de commande selon la revendication 6, dans lequel la première et/ou la deuxième zone de mémorisation (23a, 23b) de la mémoire tampon (23) comportent un certain nombre de sections de mémorisation, le nombre étant fixé en se basant sur la relation entre le temps de retard d'écriture attendu dans le dispositif de mémorisation (3) et le temps admissible en tant que système complet pour que le système hôte (1) reçoive une réponse à une demande du système hôte ( 8. Contrôleur (2) comprenant : une table dans laquelle un mode de fonctionnement d'un dispositif de mémorisation (3) est enregistré à un mode parmi le mode « écriture/lecture » et le mode « attente » ; un moniteur (26) qui surveille le mode de fonctionnement du dispositif de mémorisation (3) et règle le mode de fonctionnement du dispositif de mémorisation (3) dans la table de modes (25) ; un tampon incluant une première et une deuxième zone de mémorisation (23a, 23b) un séquenceur (21) qui compte un temps donné fixé à l'avance et envoie une notification d'échéance lorsque le temps donné est atteint ; un dispositif de réponse à commande (22) configuré pour recevoir des données d'écriture transmises par le système hôte (1) en une période prédéterminée, conserver les données d'écriture dans la première zone de mémorisation (23b) de la mémoire tampon (23) et fournir ensuite en sortie une instruction d'écriture pour écrire des données dans le dispositif de mémorisation (3) si le mode de fonctionnement du dispositif de mémorisation (3) est confirmé à « attente », et demander au séquenceur (21) de commencer à compter et fournir ensuite en sorbe une instruction de lecture pour lire des données dans le système de mémorisation si l'état de fonctionnement du dispositif de mémorisation (3) est estimé à « attente » ; et un processeur de données (2.-i) configuré pour lire des données dans la première zone de mémorisation (23b) du tampon et écrire les données de lecture dans le système de mémorisation, lire les données spécifiées dans le dispositif de mémorisation (3) et conserver les données de lecture dans la deuxième zone de mémorisation (23b) du tampon ; etune commande de lecture qui envoie au système hôte (1) les données conservées dans la deuxième zone de mémorisation (23b) du tampon lorsque la notification d'échéance est reçue du séquenceur (21). 9. Contrôleur (2) selon la revendication 8, dans lequel la première et/ou la deuxième zone de mémorisation (23a, 23b) de la mémoire tampon (23) comportent un certain nombre de sections, le nombre étant fixé en se basant sur la relation entre le temps de retard d'écriture attendu dans le dispositif de mémorisation (3) et le temps admissible en tant que système complet pour que le système hôte (1) reçoive une réponse à une demande du système hôte (1). 10. Contrôleur (2) selon la revendication 8, dans lequel le contrôleur (2) comporte une première interface pouvant être connectée au système hôte (1) et une deuxième interface pouvant être connectée au dispositif de mémorisation (3), et le dispositif de mémorisation (3) est un disque électronique à usage général. 11. Contrôleur (2) selon la revendication 8, dans lequel l'instruction d'écriture du dispositif de réponse à commande (22) comporte la commande d'écriture que le dispositif de réponse à commande (22) reçoit du système hôte (1) ; et des informations indiquant l'une des sections de la mémoire tampon (23) contenant les données destinées à être écrites dans le dispositif de mémorisation (3), et l'instruction de lecture du dispositif de réponse à commande (22) comporte : la commande de lecture que le dispositif de réponse à commande (22) reçoit du système hôte (1) ; et des informations indiquant l'une des sections de la mémoire tampon (23) pour mémoriser les données de lecture dans le dispositif de mémorisation (3). 12. Contrôleur (2) selon la revendication 8, dans lequel le processeur de données (24) envoie au dispositif de mémorisation (3) la commande d'écriture reçue par le dispositif de réponse à commande (22) du système hôte (1) et envoie au dispositif de mémorisation (3) la commande de lecture reçue par le dispositif de réponse à commande (22) du système hôte (1).