Brevet FR2980008A1 — publié le 20130315

CONTRÔLEUR POUR DISPOS11IF DE MÉMORISATION ET PROCÉDÉ DE COMMANDE D'UN DISPOSITIF DE MÉMORISATION DOMAINE Des modes de réalisation ici décrits concernent un contrôleur pour dispositif de mémorisation et un procédé de commande du dispositif de mémorisation. ARRIÈRE-PLAN Des dispositifs de mémorisation, tels qu'un disque dur, sont utilisés comme dispositifs pour des applications industrielles effectuant une distribution en temps réel d'un contenu vidéo mémorisé par un serveur vidéo et analogue. Ce type de dispositif nécessite d'achever l'écriture et la lecture des données en une période de temps donnée, définie en fonction d'un système. 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. Bien que les disques durs aient une grande capacité et un faible coût, ils présentent des inconvénients de vitesse et de fiabilité. En conséquence, dans les systèmes d'applications industrielles, on a utilisé au cours de ces dernières années des disques électroniques (appelés ci-après SSD) en tant que dispositifs de mémorisation à grande vitesse. Les SSD utilisés par le système d'application industrielle sont coûteux si la capacité devient importante. Pour cette raison, l'utilisation de SSD à usage général à faible coût, pouvant être connectés à des interfaces à usage général, par exemple ATA série et analogue, est requise. Puisque le temps de retard d'écriture ou de lecture n'est pas garanti pour les dispositifs de mémorisation tels que les SSD à usage général, un retard du traitement: des données peut se produire dans les appareils de traitement d'informations. Pour cette raison, on ne peut pas utiliser des dispositifs de mémorisation tels que des SSD à usage générai dans l'appareil effectuant une commande en temp- Au cours de ces dernières années, une technologie permettant de garantir le temps de réponse d'écriture sur disque dans un dispositif de mémorisation a été mise au point au moyen d'une technique miroir utilisant deux tampons d'E/S et deux disques (voir par exemple, la description du brevet JP n° 2016-227923). D'autre part, puisqu'avec cette technologie on écrit les mêmes données sur deux disques, lorsque les deux disques s'approchent de leur fin de vie en même temps, il est nécessaire de remplacer les deux disques en même temps. Il apparaît donc une période d'impossibilité d'utilisation du dispositif de mémorisation. 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 10 rapporte aux dessins indiques ci-après et qui sont donnés à titre d'exemples. La figure 1 est une figure représentant la configuration du dispositif de commande du premier mode de réalisation. La figure 2 est une figure représentant le contenu de la table 15 d'états du dispositif de commande du premier mode de réalisation. La figure 3 est un organigramme représentant le fonctionnement du dispositif de commande du premier mode de réalisation. La figure 4 est une figure représentant la configuration du 20 dispositif de commande du deuxième mode de réalisation. La figure 5 est un organigramme représentant le fonctionnement du dispositif de commande du deuxième mode de réalisation. La figure 6 est une figure représentant la configuration du 25 dispositif de commande du troisième mode de réalisation. La figure 7 est une figure représentant le contenu de la table de gestion de données fictives dans le dispositif de commande du troisième mode de réalisation. La figure S est une figure représentant un exemple de 30 configuration dans laquelle le nombre de SSD en parallèle complète le troisième mode de réalisation en une configuration à trois ensembles, La figure 9 est une figure représentant la configuration du dispositif de commande du duatrlème mode de réalisation. La figure 10 est une figure représentant un e:,:emple de la table de gestion de données de parité du dispositif de commande du quatrième mode de réalisation. La figure 11 est un organigramme montrant le fonctionnement du dispositif de commande du quatrième mode de réalisation. La figure 12 est une figure destinée à expliquer le fonctionnement du dispositif- de commande du quatrième mode de réalisation. DESCRIPTION DÉTAILLÉE En général et selon un mode de réalisation, un contrôleur pour dispositif de mémorisation comporte des interfaces pouvant être connectées à un système hôte, un premier dispositif de mémorisation et un deuxième dispositif de mémorisation. Des données situées dans le premier dispositif de mémorisation et des données situées dans le deuxième dispositif de mémorisation sont dupliquées. Une table d'états contient l'état de fonctionnement du premier dispositif de mémorisation et du deuxième dispositif de mémorisation, l'état de fonctionnement indiquant la lecture, l'écriture ou l'attente. Un moniteur surveille les interfaces et règle l'état de fonctionnement dans la table d'états. Une mémoire tampon retient les données destinées à être écrites dans le premier dispositif de mémorisation et le deuxième dispositif de mémorisation. Une unité de réponse à une commande reçoit les données destinées à être écrites et la demande d'écriture d'un système hôte et demande l'écriture des données dans le premier dispositif de mémorisation et le deuxième dispositif de mémorisation tout en retenant les données reçues dans la mémoire tampon. Un processeur de données envoie au dispositif de mémorisation les données retenues dans la mémoire tampon inscriptible, en référence à la table d'états en fonction de la demande d'écriture de l'unité de réponse à une commande. Une unité d'addition de données est agencée entre le processeur de données et l'une ou l'autre des interfaces connectées au premier dispositif de mémorisation ou au deuxième dispositif de mémorisation, ajoute des donnder; fictives aux données destinées à être envoyées au dispositif de mémorisation et écrit les données auxquelles sont ajoutées des données fictives dans le dispositif de mémorisation. [Premier mode de réalisabon] Un mode de réalisation est décrit en détail ci-après en référence aux dessins. La figure 1 est une figure montrant la configuration du contrôleur 2 fonctionnant comme un dispositif à retard garanti. Comme représenté sur la figure 1, le contrôleur 2 du premier mode de réalisation possède une interface externe 20 (appelée ci-après 1/F externe 20 >>) à laquelle est connecté un système hôte 1, un séquenceur 21, une unité de réponse à une commande 22, une mémoire tampon 23, un processeur de données 24, une table d'états 25, un moniteur 26, des interfaces de disque 27 et 28 (appelées ci-après « 1/F de disque 27, 28 »), une unité d'addition de données 30 agencée entre le processeur de données 24 et l'une des 1/F de disque (dans cet exemple, l'I/F de disque 28). Le système hôte 1 est un dispositif nécessitant la garantie du temps de réponse (temps à partir du moment où un système hôte transmet une commande jusqu'à ce qu'un système hôte reçoive la réponse) de lecture des données depuis le dispositif de mémorisation et d'écriture dans le dispositif de mémorisation. Le système hôte 1 est un système d'application industrielle, tel qu'un serveur vidéo, un système multimédia, un système de traitement d'informations et un système d'usine de fabrication, par exemple. Les TIF de disque 27 et 28 sont des interfaces permettant de communiquer avec un dispositif de mémorisation externe, par exemple, ATA série (SATA-2.6 ou 3.0) ou PCI-e. Dans ce mode de réalisation, chacun des SSD à usage général 3, 4 est respectivement connecté aux 1/F de disque 27 et 28 en tant que dispositif de mémorisation externe. L'I/F externe 20 est une interface pour communiquer avec le système hôte 1, par exemple, ATA série (SATA-2.6 ou 3.0) et port PCI-e. Le séquenceur 21 envoie l'avertissement d'échéance à l'unité de réponse à une commande 22, si le temps de début de fonctionnement du séquenceur avec les demandes de l'unité de réponse à une commande 22 et qui a été compté, atteint l'échéance fixée à l'avance. De plus, le système hôte 1 doit achever l'écriture des données et la lecture des données dans le temps de réponse acceptable pour lequel il a été prévu avec la spécification du système. Temps de réponse signifie ici le temps à partir du moment où le système hôte 1 a transmis une commande jusqu'à ce que la réponse revienne en retour. Temps de réponse acceptable signifie le temps de réponse le plus grand admissible. A partir du temps de réponse acceptable, temps dont on déduit le temps e transfert (période de temps définie imposée par la spécification de l'interface) de la commande entre le système hôte 1 et l'unité de réponse à une commande 22, par détermination de l'échéance, le dispositif de commande 2 commande le temps de retard du dispositif de mémorisation externe du point de vue du dispositif hôte 1 en un temps fixé. Le temps de retour d'une réponse diffère selon l'utilisation d'un élément du système hôte 1. Ce temps est de 1 ms à 10 ms (millisecondes) dans le cas de l'enregistreur de données utilisé dans une usine de fabrication, ce temps est de 33 ms dans le cas d'un système traitant de la vidéo par exemple. L'échéance est le temps maximum du retard de traitement autorisé par le système auquel appartient un système hôte, lors du retour d'une réponse au système hôte 1. L'échéance est fixée à l'avance par le séquenceur 21. De plus, l'échéance peut être écrite dans la mémoire pouvant se référer au séquenceur 21 de l'extérieur. C'est-à-dire que si le séquenceur 21 compte le temps en demandant le début du comptage depuis l'unité de réponse à une commande 22 et compte jusqu'à l'échéance, il envoie l'avertissement d'échéance à l'unité de réponse à une commande 22. L'unité de réponse à une commande 22 effectue une 20 commande, une réponse et un échange de données entre les systèmes hôtes 1. L'unité de réponse à une commande 22 envoie le signal de commande qui demande l'écriture de données ou la lecture de données au processeur de données 24 en fonction de la commande reçue depuis le système hôte 1. 25 De plus, l'unité de réponse à une commande 22 envoie le signal de commande qui demande le début du comptage au séquenceur 21, si la commande d'écriture nécessitant l'écriture de données depuis le système hôte 1 est reçue. De plus, lorsque l'unité de réponse à une commande 22 a reçu 30 la commande d'écriture depuis le système hôte 1, l'unité de réponse à une commande 22 vérifie l'état de fonctionnement (attente ou écriture) des SSD 3, 4, en référence à la table d'états 25, sélectionne le SSD de l'emplacement d'écriture des données en fonction de l'état de fonctionnement, règle l'emplacement d'écriture des données selon la table 35 d'états 25 et fournit en sortie le signal de commande qui demande l'écriture dans le SSD (SSD 3 ou SSD 4). De plus, l'unité de réponse à une commande 22 retient une par une les données destinées à être écrites envoyées par le système hôte 1, dans le temps unitaire fixé après la commande d'écriture dans la mémoire tampon 23. De plus, lors de la sélection du SSD d'un emplacement d'écriture, si l'état de fonctionnement du SSD 3 est « attente », l'unité de réponse à une commande 22 modifie l'indicateur d'état de fonctionnement du SSD à « en cours d'écriture » et modifie l'emplacement d'écriture dans d'autres SSD. D'autre part, si l'unité de réponse à une commande 22 reçoit l'avertissement d'échéance depuis le séquenceur 21, lorsqu'elle est avertie, l'unité de réponse à une commande 22 renvoie la réponse de fin d'écriture à une commande d'écriture au système hôte 1. C'est-à-dire que l'unité de réponse à une commande 22 ne renvoie pas immédiatement une réponse de fin d'écriture, même si la mise en tampon des données dans la mémoire tampon 23 est terminée, mais attend l'échéance qui est le temps de réponse d'un système, et renvoie une réponse de fin d'écriture. Le temps de retard garanti est assuré lorsqu'il en résulte le retard de l'écriture de données après la fin de la réception des données jusqu'à l'échéance par les SSD 3, 4. La mémoire tampon 23 est configurée pour retenir 20 temporairement les données. La mémoire tampon 23 retient temporairement les données d'écriture reçues depuis le système hôte 1. Si le signal de commande qui demande l'écriture depuis l'unité de réponse à une commande 22 est reçu, le processeur de données 24 sélectionne le SSD (le SSD 3 ou '1) inscriptible en référence à la table 25 d'états 25 et le processeur de données 24 transmet les données lues dans la mémoire tampon 23 au SSD sélectionné vers l'I/F de disque (I/F de disque 27 ou TIF de disque 28) connectée au SSD concerné. L'unité d'addition de données 30 envoie au SSD 4 les données ajoutées aux données fictives de taille fixe aux données provenant du 30 processeur de données 24 et les données fictives ajoutées par l'intermédiaire de l'IIF de disque 28. De plus, l'unité d'addition de données 30 fournit en sortie les données en extrayant les données fictives des données lues dans le SSD 4 en se basant sur la commande de lecture des données provenant du 35 système hôte 1 et dans lequel les données fictives ont été extraites du processeur de données 24. L'état de fonctionnement des SSD 3, 4, connectés aux 1/F de disque 27, 28, et celui du SSD d'un emplacement d'écriture sont réglés dans la table d'états 25. L'état de fonctionnement des SSD 3, 4, est indiqué en utilisant un indicateur d'état. Un emplacement d'écriture est indiqué en utilisant un indicateur d'emplacement d'écriture. Le moniteur 26 surveille la commande des 1/F de disque 27, 28, ou l'entrée et la sortie des données. C'est-à-dire que le moniteur 26 surveille les SSD 3, 4, par l'intermédiaire des 1/F de disque 27, 28, et règle l'état de fonctionnement des SSD 3, 4, dans la table d'états 25 en tant que résultat de surveillance. Concrètement, le moniteur 26 règle les SSD 3, 4 de l'état de fonctionnement en tant que résultat de surveillance, dans la table d'états 25 en utilisant l'indicateur d'état qui indique soit attente, soit écriture. C'est-à-dire que le moniteur 25 modifie l'indicateur d'état de fonctionnement d'écriture à attente, si une réponse recevable est reçue depuis les SSD 3, 4. L'indicateur d'état de fonctionnement qui indique l'état de fonctionnement des SSD 3, 4 est à « 0 » ou « 1 » par exemple. « 0 » indique attente (état ou aucune écriture n'est effectuée dans aucun des SSD) et « 1 » indique en cours d'écriture (pendant l'écriture de données dans l'un des SSD 3, 4). De plus, l'indicateur d'emplacement d'écriture qui indique un emplacement d'écriture est à « 0 » ou « 1 » par exemple. « 0 » indique que l'emplacement d'écriture des données est le SSD 3 et l'origine de lecture des données est le SSD 4. « 1 » indique que l'emplacement d'écriture des données est le SSD 4 et l'origine de lecture des données est le SSD 3. Par exemple, un indicateur d'emplacement d'écriture à signifie permission d'écriture des données du SSD 3 et permission de lecture dans le SSD 4. Le processeur de données 24 écrit les données demandées par le signal de commande qui demande l'écriture depuis l'unité de réponse à une commande 22 en référence à la table d'états 25 dans le SSD (soit le SSD 3, soit le SSD 4) inscriptible. De plus, le processeur de données 24 lit les données demandées avec le signal de commande qui demande la lecture dans l'unité de réponse à une commande 22 en référence à la table d'états 25 depuis le. SSD (soit le SSD 3, soit le SSD 4) lisible. Le processeur de données 24 duplique les données dans une pluralité de SSD 3, 4, qui étaient connectés aux UF de disque 27, 28. Après que le processeur de données 24 a écrit dans le SSD 3 les données retenues dans la mémoire tampon 23, en lisant ces mêmes données qui ont été écrites dans le SSD 3 dans la mémoire tampon 23 et écrites dans le SSD 4, la synchronisation des données est effectuée sur une pluralité de SSD 3, 4. Le fonctionnement du contrôleur 2 pour le dispositif de mémorisation de ce premier mode de réalisation et ensuite expliqué en 10 référence à l'organigramme de la figure 3. L'écriture et la lecture d'un cycle fixe et d'une taille de données fixe sont toujours nécessaires depuis le contrôleur 2 du système hôte 1. Ce contrôleur 2 maintient le SSD qui est toujours d'un côté entre les deux ensembles de SSD 3, 4, dans l'état lisible, afin de proposer un retard garanti au système hôte 1. 15 Dans ce but, deux SSD doivent mémoriser les mêmes données. Pour cette raison, l'unité de réponse à une commande 22 répond en correspondance avec la commande d'écriture ou la commande de lecture provenant du système hôte 1, en commutant les SSD 3, 4 d'un emplacement d'écriture et d'un emplacement de lecture. 20 Dans le cas de ce contrôleur 2, le moniteur 26 contrôle l'entrée et la sortie de la commande ou des données envoyées aux 1/F de disque 27, 28 (étape 5101 de la figure 3). Le moniteur 26 règle l'état de fonctionnement et l'emplacement d'écriture des SSD 3, 4 dans la table d'états 25 en fonction du résultat de la surveillance (étape S102). 25 (Opération d'écriture de données) Lorsque le système hôte externe 1 écrit des données dans le SSD (le SSD 3 ou le SSD 4), le système hôte 1 transmet la commande d'écriture de données à l'unté de réponse à une commande 22. Si l'unité de réponse à une commande 22 reçoit la commande 30 d'écriture transmise par le système hôte 1 (étape S103), l'unité de réponse à une commande 22 détermine si la commande reçue est une commande d'écriture ou une commande de lecture (étape 8103). S'il s'agit d'une commande d'écriture, l'unité de réponse à une commande 22 confirme que les SSD (les cieux SSD 3, 4) sont en attente un référence à la 35 table d'états 25 pendant l'envoi du signal de commande qui demande le démarrage du comptage au séquenceur 21. Lorsque le SSD est en attente, l'unité de réponse à une commande 22 modifie l'indicateur d'emplacement d'écriture de la table d'états 25 en envoyant le signal de commande qui demande une modification de. l'emplacement d'écriture à la table d'états 25. Dans le cas par exemple ou l'indicateur d'emplacement d'écriture est à « 0 » et où l'indicateur d'état est à 0 », ce qui indique attente, si l'unité de réponse à une commande 2? a reçu la commande d'écriture, l'unité de réponse à une commande 22 modifie l'indicateur d'emplacement d'écriture à « 1 ». C'est-à-dire que l'unité de réponse à une commande 22 règle un indicateur d'emplacement d'écriture en permission d'écriture (protection contre l'écriture du SSD b3) du SSD 4. Le séquenceur 21 démarre un comptage en réponse au signal de commande de début de comptage. De plus, l'unité de réponse à une commande 22 renvoie une réponse recevable au système hôte 1. Si cette commande de réponse recevable est reçue, le système hôte 1 envoie une par une les données écrites. Bien que l'unité de réponse à une commande 22 retienne une par une les données reçues depuis le système hôte 1 dans la mémoire tampon 23 (étape S105), l'unité de réponse à une commande 22 envoie le signal de commande qui demande l'écriture au processeur de données 24 (étape 5106). Le signal de commande qui demande l'écriture comporte la commande d'écriture reçue depuis le système hôte 1. Le processeur de données 24 choisît le SSD inscriptible en référence à la table d'états 25, si le signal de commande qui indique l'écriture depuis l'unité de réponse à une commande 22 est reçu. Le processeur de données 24 détermine par exemple que le SSD 4 est un emplacement d'écriture en se basant sur l'indicateur d'emplacement d'écriture de la table d'états 25 et transmet une commande d'écriture à 111F de disque 2$ à laquelle le SSD 4 est connecté. Le SSD 4 ayant reçu la commande d'écriture renvoie une réponse recevable. Si cette réponse recevable est reçue par le processeur de données 24 par l'intermédiaire de de disque 28, le processeur de données 24 lit une par une les données de longueur fixe dans la mémoire tampon 23 et les transmet à 11/F de disque 28 à laquelle est connecté le SSD 4 (étape S107). De plus, le moniteur 26 fait passer l'indicateur d'état de la table d'états à ce qui indique écriture, par rapport à ce qui indique attente, si une réponse recevable est reçue. L'unité d'addition de données 30 disposée entre le processeur de données 24 et l'I/F de disque 28 ajoute ensuite les données fictives de longueur fixe aux données reçues et écrit les données ajoutées aux données fictives par !'intermédiaire de l'I/F de disque 28 dans le SSD 4 de l'emplacement d'écriture (étape 5108). D'autre part, le séquenceur 21 envoie l'indication d'échéance à l'unité de réponse à une commande 22, si l'échéance (le temps de réponse acceptable) est atteinte après démarrage d'un comptage. L'unité de réponse à une commande 22 ne renvoie pas de réponse de fin d'écriture même si les données sont retenues en une seule fois dans la mémoire tampon 23, mais l'unité de réponse à une commande 22 attend la réception de l'indication d'échéance depuis le séquenceur 21. Il s'agit du temps pour un retard garanti de ce temps qui est en attente. D'autre part, l'unité de réponse à une commande 22 transmet une réponse de fin d'écriture au système hôte 1 si l'indication d'échéance est reçue. De plus, le SSD 4 renvoie une réponse de fin d'écriture si l'écriture des données est terminée. Cette réponse de fin d'écriture est reçue par le moniteur 26 et le processeur de données 24 par l'intermédiaire de l'I/F de disque 28. Le moniteur 26 fait passer l'indicateur d'état de la table d'états 25 à « 0 », ce qui indique attente, par rapport à « 1 », qui indique écriture, si une réponse de fin d'écriture est reçue. Le système hôte 1 transmet la commande d'écriture des données suivantes, si une réponse de fin d'écriture est reçue depuis l'unité de réponse à une commande 22. L'unité de réponse à une commande 22 fait passer l'indicateur d'emplacement d'écriture de la table d'états 25 à « 0ce qui indique la permission d'écriture dans le SSD 3, par rapport à qui indique la permission d'écriture dans le SSD 4, si la commande est reçue. Le processeur de données 24 vérifie l'indicateur d'emplacement d'écriture de la table d'état 25 et si une réponse de fin d'écriture est reçue depuis le SSD 4. Dans cet exemple, puisque l'indicateur d'emplacement d'écriture est à », ce qui indique la permission d'écriture dans le SSD 3, la commande d'écriture de données est transmise au SSD 3 pour synchronisation des données. Le moniteur 26 fait passer l'indicateur d'état de la table d'états 25 à « 1 ce qui indique écriture, si une commande d'écriture est reçue. Le SSD 3 ayant reçu la commande d'écriture renvoie une réponse recevable. Si cette réponse recevable est reçue par le processeur de données 24 par l'intermédiaire de 11,,T de disque 27 et du moniteur 26, le processeur de données 24 lit une par une les données retenues dans la mémoire tampon 23 et écrit les données dans le SSD 3 d'un emplacement d'écriture par l'intermédiaire de IV- de disque 27. De plus, le moniteur 26 fait passer l'indicateur d'état de la table d'états 25 à « 1 », ce qui indique écriture, par rapport à « 0 », ce qui indique attente, si une réponse recevable est reçue. Le SSD 3 renvoie une réponse de fin d'écriture si l'écriture des données est terminée. Cette réponse de fin d'écriture est reçue par le moniteur 26 et le processeur de données 24 par l'intermédiaire de l'I/F de disque 27. Le moniteur 26 fait passer l'indicateur d'état de la table d'états 25 à « 0 », ce qui indique attente, par rapport à « 1 », qui indique écriture, si la commande de fin d'écriture est reçue. (Opérations de lecture de données) Lorsque le système hôte 1 lit des données dans un dispositif de mémorisation, le système hôte 1 transmet la commande de lecture de données à l'unité de réponse à une commande 22. Si la commande de lecture transmise par le système hôte 1 est reçue (étape S103), l'unité de réponse à une commande 22 détermine si la commande reçue est la commande d'écriture ou la commande de lecture (étape S104), s'il s'agit d'une commande de lecture, l'unité de réponse à une commande 22 envoie le signal de commande qui demande la lecture des données au processeur de données 24 (étape S109). Le signal de commande qui demande la lecture des données contient la commande de lecture provenant du système hôte 1. Si le signal de commande gui demande le début de la lecture provenant de l'unité de réponse a une commande 22 est reçu, le processeur de données 24 contrôle le SSD auquel la permission de lecture est accordée en référence à la table d'états 25 et transmet une commande de début de lecture au SSD (le SSD 3 ou le SSD 4) de permission de lecture par l'intermédiaire de l'I/F de disque 27 ou de l'I/F de disque 28 (étape 5110). ci, en conséquence de la référence à la table d'états 25, un indicateur d'emplacement d'écriture suppose que l'indicateur est mis à « 0 », ce qui indique la permission d'écriture dans le SSD 3, en d'autres termes, l'indicateur indique la permission de lecture dans le SSD 4. Dans ce cas, le processeur de données 24 transmet une commande de lecture au SSD 4 par l'intermédiaire du moniteur 26 et de l'I/F de disque 28. Le SSD 4 qui a reçu la commande de lecture lit les données une par une et envoie les données à l'I/F de disque 28. L'unité d'addition de données extrait les données fictives des données du SSD 4 et envoie les données sans les données fictives au processeur de données 24, si les données du SSD 4 sont reçues (étape S110). Le processeur de données 24 envoie les données reçues au système hôte 1 (étape S111). Dans ce cas, les données reçues depuis le SSD 4 ne passent pas par la mémoire tampon 23. Le SSD 4 envoie une réponse de fin de lecture à l'unité de réponse à une commande 22 par l'intermédiaire de l'I/F de disque 28, du moniteur 26 et du processeur de données 24. La transmission des données est alors terminée et l'unité de réponse à une commande 22 transmet une réponse de fin de lecture au système hôte 1. Ainsi, selon ce premier mode de réalisation, la synchronisation des données (données redondantes ou duplication de données) est réalisée en utilisant deux ensembles de SSD 3, 4. De plus, les données sont écrites dans un SSD en attente, le SSD de l'autre côté est protégé en écriture et les données sont lues dans le SSD de l'autre côte. Ceci permet ainsi de faire correspondre un dispositif de mémorisation à la lecture des données dans une commande en temps réel. Lorsqu'un retard est garanti en effeewant synchronisation de données (données redondantes ou duplications de données) en utilisant deux SSD ou plus, puisque le SSD atteint la valeur limite du nombre d'écritures de données plutôt que le SSD dans lequel on n'écrit pas de données fictives, l'écriture de données fictives dans un SSD provoque l'écriture de données de taille inégale dans chaque SSD. Ceci permet ainsi de rendre inégales les durées de vie de chaque SSD 3 et 4. De plus, l'unité de réponse à une commande 22 ou le processeur de données 24 compte le nombre d'écritures ou le nombre de données fictives de ces données fictives, lorsqu'un nombre de comptage prédéterminé est dépassé, le voyant d'alarme s'allume, une alarme sonore est fournie en sortie par un haut-parieur bien que n'étant pas illustrée. Ceci permet d'avertir un opérateur de remplacer le SSD qui atteint sa fin de vie. En conséquence, on peut empêcher deux SSD ou plus d'atteindre leur fin de vie presque simultanément et les données mémorisées dans le SSD peuvent être protégées en remplaçant le SSD dont la fin de vie est atteinte. Par opposition à la demande d'écriture des données depuis le système hôte 1, le contrôleur 2 retient les données du système hôte 1 dans la mémoire tampon 23 et il écrit les données dans les SSD 3, 4 à partir de la mémoire tampon 23 en remplaçant l'état entre l'état d'écriture et l'état de lecture des SSD 3, 4. Le contrôleur 2 permet ainsi d'absorber le retard généré dans les SSD 3, 4. C'est-à-dire que le contrôleur 2 sépare le traitement dans les SSD 3, 4 et le traitement dans le système hôte 1 et permet au retard de réponse des SSD 3, 4 de ne pas influencer le système hôte 1. Ainsi, le retard dans les SSD du point de vue du système hôte peut tenir dans un temps d'autorisation de réponse prédéterminé. De plus, lorsque l'écriture des données depuis le système hôte 1 est terminée, sans renvoyer immédiatement une réponse de fin d'écriture, même si l'on retient les données envoyées par le système hôte 1 dans la mémoire tampon 23, le système hôte 1 renvoie la réponse de fin d'écriture de données au système hôte 1 en fonction du cycle qui a envoyé les données. Puisque la réception des données ne reste pas dans la mémoire tampon 23 même lorsqu'un retard se produit dans l'écriture des données dans les SSD 3, 4, l'influence du retard est absorbée. Ainsi, on peut utiliser pour une commande en temps réel des SSD 3 4 à usage général pour lesquels le temps de retard n'est pas garanti. De plus, selon le contrôleur 2 pour le dispositif de mémorisation de ce mode de réalisation, les effets suivants sont acquis. 1) En reliant un dispositif de mémorisation à usage général (SSD et HDD) au contrôleur 2, celui-ci n'est plus influencé par le retard généré par un dispositif de mémorisation dans ie cas de l'écriture de données et la lecture de données. 2) La fonction de l'UF de disque 27, 28 du contrôleur 2 est simplement modifiée et elle peut répondre à tous les dispositifs de mémorisation normalisés actuellement et dans l'avenir. C'est-à-dire qu'une modification vers un dispositif de mémorisation de nouvelle génération peut être facilement effectuée. 3) Le contrôleur 2 peut être réalisé dans une fonction étendue telle qu'un ordinateur et un serveur et il peut être facilement également construit dans le dispositif industriel d'un objet réalisé. Le deuxième mode de réalisation et ensuite décrit en référence à la figure 4 et à la figure 5. Ce deuxième mode de réalisation est une modification du premier mode de réalisation, les mêmes indications sont mentionnées pour les mêmes configurations que le premier mode de réalisation et une explication identique est omise. Comme représenté sur la figure 4, le contrôleur 2 du deuxième mode de réalisation comporte un compteur 31, une mémoire 32 et une unité de commande 33 pour commander l'unité d'addition de données 30. Le compteur 31 compte le volume de données des données fictives ajoutées aux données envoyées par le processeur de données 24 au moyen de l'unité d'addition de données 30 et mémorise le volume de données comptées dans la mémoire 32. En ce qui concerne la mémoire 32, des mémoires non volatiles telles qu'une mémoire flash sont utilisées, par exemple. Cette mémoire 32 contient le volume de données des données fictives comptées par le compteur 31. L'unité de commande 33 envoie le signal de commande pour arrêter d'ajouter des données fictives à l'unité d'addition de données 30, lorsque le volume total de données des données fictives comptées par le compteur mémorisé dans lu ME:?frOit-E: 32 atteint la valeur de seuil fixée à l'avance. Dans le cas de ce deuxième mode de réalisation, fonctionnement pour un retard garanti est le même que le premier mode de réalisation, mais le fonctionnement dans le cas d'écriture de données dans le SSD 4 diffère du fonctionnement dans le cas de ta lecture de données dans le SSD 4. Le fonctionnement dans le cas de l'écriture de données dans le SSD 4 et le fonctionnement dans le cas de la lecture de données dans le SSD 4 sont ici expliqués. Si les données provenant du processeur de données 24 sont reçues lors de l'écriture de données dans le SSD 4, l'unité d'addition de données 30 ajoute les données fictives d'une certaine taille aux données reçues et les envoie au SSD 4. Comme représenté sur la figure 5, le compteur 31 compte le volume de données des données fictives ajoutées par l'unité d'addition de données 30 (étape S201) et les enregistre dans la mémoire 32. À chaque fois que le volume de données des données fictives mémorisées dans la mémoire 32 est mis à jour, l'unité de commande 33 mesure la quantité de données fictives actuellement mémorisées dans la mémoire 32, avec la valeur de seuil réglée à l'avance dans la mémoire 32 (étape 5202) lorsque le volume total de données des données fictives ajoutées atteint une valeur de seuil (Oui à l'étape S202), l'unité de commande 33 envoie le signal de commande pour arrêter d'ajouter des données fictives à l'unité d'addition de données 30 (étape S203). En d'autres termes, la limite supérieure d'écriture de données fictives est fixée à 1 Go en tant que valeur de seuil du SSD 4, par exemple, et l'unité de commande 33 arrête d'ajouter des données fictives lorsque la valeur totale dépasse la valeur de seuil de 1 Go, en comparant le total des données fictives à une valeur de seuil. Ainsi, les données fictives supérieures à une valeur de seuil ne sont plus ajoutées au SSD 4 et ceci peut empêcher uniquement le SSD 4 de l'un des deux SSD d'atteindre très précocement sa fin de vie. Ainsi, selon ce deuxième mode de réalisation, on peut empècher un seul SSD 4 d'atteindre très précocement sa fin de vie, bien que la taille des données écrites dans chaque SSD 3, 4 devienne inégale et rende inégale la fin de vie des SSD 3, 4. Le troisième moue de réalisation et ensuite décrit en référence à la figure 6, la figure 7 et ia figure S. Ce troisième mode de réalisation est une modification du premier mode de réalisation, les mêmes indications sont mentionnées pour les mérnes configurations que le premier mode de réalisation et une explication identique est omise. Comme représenté sur la figure 6, le contrôleur 2 du troisième mode de réalisation comporte l'unité d'addition de données 30 et une tables de gestion de données fictives 34. L'unité d'addition de données 30 est agencée entre au moins l'une des I/F de disque 27, 28 au moyen de laquelle une pluralité des SSD 3, 4 sont connectés au processeur de données 24. C'est-à-dire que l'unité d'addition de données 30 peut-être agencée respectivement à la fois dans l'I/F de disque 27 et de disque 28 et l'unité d'addition de données 30 peut être connectée à l'une ou l'autre parmi l'I/F de disque 27 ou l'I/F de disque 28. Comme représenté sur la figure 7, la taille des données fictives ajoutées aux données écrites dans chacun des SSD 3, 4 est mémorisée dans la table de gestion de données fictives 34. On suppose par exemple que l'unité d'addition de données 30 ajoute des données fictives uniquement au SSD 4 sans ajouter de données fictives au SSD 3. Dans ce cas, l'unité d'addition de données 30 n'ajoute pas de données fictives aux données écrites dans le SSD 3 parmi les données transmises par le système hôte 1. L'unité d'addition de données 30 est réglée pour ajouter une quantité différente pour chaque temps d'écriture, par exemple 10 ko de données fictives, 5 ko de données fictives et 2 ko de données fictives la première fois, la deuxième fois et les troisième données d'écriture écrites dans le SSD 4 respectivement. Dans ce cas, si la quantité totale de données fictives à ajouter est maintenue à une valeur inférieure à la quantité fixe de données fictives écrites dans le premier mode de réalisation, on peut écrire un nombre de données plus grand différent des données fictives dans la capacité de mémorisation du disque. De plus, lors de l'enregistrement de données de longueur variable, l'unité d'addition de données 30 peut être configurée de telle sorte due la quantité de données fictives ajoutées à chaque fois aux données de longueur variable soit modifiée en fonction des données de longueur variable. De plus, cette table de gestion de données fictives 34 mémorise l'adresse logique (LBA (H)) indiquant la position d'écriture pour chaque SSD et la taille des données d'écriture, comme informations spécifiées par le système hôte 1, l'adresse logique (LBA (C)) indiquant la position d'écriture pour chaque SSD et la taille des données d'écriture, comme informations après addition des données fictives et les données à écrire sont enregistrées par l'unité d'addition de données 30. Ici, « l'adresse. logique (LBA (C)) après addition des données fictives » est une adresse transformée en adresse logique après avoir ajouté la taille des données fictives réglée à l'avance par l'unité d'addition de données 30 à l'adresse logique (LBA (H)) spécifiée par le système hôte 1. De plus, « la taille après addition des données fictives » est la valeur avec laquelle Selon ce troisième mode de réalisation, la table de données fictives 34 gérant les données fictives ajoutée pour chaque SSD, la taille des données fictives ajoutées aux données d'écriture et les informations (adresse logique et taille) pour extraire des données fictives des données lues dans le SSD peuvent être enregistrées dans deux ensembles de SSD 3, 4 ou plus. C'est-à-dire que l'on peut proposer le contrôleur 2 avec une plus grande souplesse. Le quatrième mode de réalisation est ensuite décrit en référence à la figure 9 jusqu'à la figure 12. Ce quatrième mode de réalisation est une modification du troisième mode de réalisation, les mêmes indications sont mentionnées pour les mêmes configurations que le premier mode de réalisation et une explication identique est omise. En ce qui concerne ce quatrième mode de réalisation, on utilise des données de parité au lieu des données fictives. Comme représenté sur la figure 9, le contrôleur 2 du quatrième mode de réalisation comporte l'I/F externe 20, le séquenceur 21, l'unité de réponse à une commande 22, la mémoire tampon 23, le processeur de données 24, la table d'états 25, le moniteur 26, l'I/F de disque 28, le processeur de données 24, l'unité d'addition de données 40, des unités pour commander dans quel SSD les données de parité sont écrites par cette unité d'addition de données 40 (le compteur 41, la mémoire 42, l'unité de commande 43, etc.) et la table de gestion de données de parité 44. De plus, le SSD 3a, le SSD 3b, le SSD4a et le SSD 4b sont connectés à l'I/F de disque 28. Le SSD 3a et le SSD3b constituent le groupe de SSD 1. Le SSD 4a et le SSD 4b constituent le groupe de SSD 2. Les mêmes données sont écrites pour chaque groupe de SSD. De plus, les données divisées qui sont les données dans lesquelles les données écrites dans le groupe de SSD ont été divisées en nombre de SSD sont écrites dans chaque SSD constituant un groupe de SSD. Ici, puisqu'un groupe de SSD est constitué de deux SSD, les données écrites dans un groupe de SSD sont divisées en deux. De [Dus, l'unité d'addition de données 40 génère des données de parité en tant que données redondantes des données divisées. L'unité d'addition de données 40 détermine dans quel SSD sont écrites les données de parité et envoie les données de parité au SSD d'un emplacement d'écriture par l'intermédiaire de l'I/F de disque 28. C'est-à-dire que l'unité d'addition de données 40 divise les données en deux, écrit les données divisées dans le premier dispositif de mémorisation, écrit les autres données divisées dans le deuxième dispositif de mémorisation et écrit les données redondantes des données divisées dans l'un ou l'autre des deux dispositifs de mémorisation. À ce moment, l'unité d'addition de données 40 d,±ti.rmine dans quel dispositif de mémorisation sont écrites les données de parité. Le compteur 41 compte le volume total de données des données de parité générées par l'unité d'addition de données 40. En ce qui concerne la mémoire 42, des mémoires non volatiles telles qu'une mémoire flash sont utilisées par exemple. Cette mémoire 42 contient le volume de données des données de parité comptées par le compteur 41. La mémoire 42 est configurée de façon que le maximum de la quantité d'écriture de données de parité ou les conditions d'un rapport d'écriture qui ont été déterminées à l'avance pour chaque groupe de SSD ou chaque SSD soit mémorisé. Cette condition est configurée pour déterminer à l'avance que la quantité totale d'écriture ou le rapport d'écriture des données de parité écrites dans chaque SSD peut être différente entre tous les dispositifs de mémorisation. L'unité d'addition de données 40 écrit les données de parité générées à partir des données divisées conformément à cette condition dans le groupe de dispositifs de mémorisation. Les conditions pour que les quantités totales de données de parité diffèrent sont expliquées. Si les conditions pour que les quantités totales de données de parité diffèrent, on règle respectivement à a, b, c et d, le volume total de données des données de parité écrites dans les SSD 3a et 3b, 4a et 4b, avec a,b--c,d. Cette condition indique la quantité de ce qui est écrit pour les données de parité dans un SSD. De plus, cette condition est une valeur de seuil indiquant le cadencement modifié du maximum de la quantité des données de parité écrites dans les SSD 3a et 3b, 4a et 4b et le procédé d'addition de données de parité basé sur ce maximum. Un exemple de procédé d'addition des données de parité déterminées comme condition est présenté. ci-dessous. L'unité d'addition de données 40 écrit les données de parité dans l'un ou l'autre des dispositifs de mémorisation inscriptible parmi le premier dispositif de mémorisation d'un groupe de dispositifs de mémorisation ou le deuxième dispositif de mémorisation du groupe de dispositifs de mémorisation jusqu'à ce que le volume total des données de parité écrites dans le SSD atteigne une valeur de seuil. L'unité d'addition de données 40 n'écrit pas de données de parité dans le SSD 3a du groupe de SSD 3. À chaque fois que l'unité d'addition de données 40 écrit des données divisées, il écrit des données de parité dans le SSD 3b à chaque fois. C'est-à-dire qu'à chaque fois qu'il écrit données des données divisées dans le SSD 3a et qu'il écrit les données de l'autre côté dans le SSD 3b, des données de parité sont écrites dans le SSD 3b. Lorsque l'unité d'addition de données 40 écrit des données de parité dans le groupe de SSD 4, il écrit les premières données de parité dans le SSD 4a, écrit les deuxième données de parité dans le SSD 4b et écrit les troisième données de parité dans le SSD 4b. C'est-à- dire que l'une des fois où l'emplacement d'écriture des données de parité écrit des données de parité trois fois est le SSD 4a et deux des fois où l'emplacement d'écriture des données de parité écrit des données de parité trois fois sont le SSD 4b. Lorsque la quantité totale d'écriture des données de parité atteint une valeur de seuil, l'unité d'addition de données 40 écrit tour à tour les données de parité dans le SSD 3a et le SSD 3b, après écriture des données divisées dans chaque SSD. De plus, en ce qui concerne également le groupe de SSD 4, l'unité d'addition de données 40 écrit tour à tour les données de parité dans le SSD 4a et le SSD 4b. Lorsque le groupe de SSD (par exemple, le groupe de SSD 4) de l'autre côté est inscriptible après avoir écrit les données dans le groupe de SSD (par exemple, le groupe de SSD 3) inscriptible, les données de la mémoire tampon 23 sont écrites dans le groupe de SSD 4 en fonction des conditions. Les conditions d'après lesquelles le rapport dans l'écriture des données de parité diffère sont expliquées. S[ les conditions pour que le rapport dans l'écriture de données de parité diffèrent, on règle respectivement a a, b, c et d, le volume total de données des données de parité écrites dans le SSD 3a, le SSD 3b, le SSD 4a et le SSD 4b, avec c:d. L'unité de commande 43 envoie le signal de commande produisant l'addition des données de parité à un seul SSD 3h à l'unité d'addition 40, lorsque le volume total de données des données de parités actuellement mémorisées dans la mémoire 42 n'atteint pas la valeur de seuil déterminée à l'avance pour chaque groupe de SSD ou chaque SSD. Lorsque la quantité totale atteint une valeur de seuil, l'unité de commande 43 envoie le signal de commande provoquant l'écriture des données de parité dans deux SSD 3a, 3b, également à l'unité d'addition de données 40. C'est-à-dire que l'unité de commande 43 commande l'unité d'addition de données 40 pour modifier le SSD de l'emplacement d'écriture qui ajoute des données de parité en fonction des conditions de la quantité totale d'écriture déterminée à l'avance pour chaque groupe de SSD ou chaque SSD, ou un rapport d'écriture. Par exemple, lorsque le volume total de données des données de parité comptées atteint la valeur de seuil déterminée à l'avance, l'unité de commande 43 commande l'unité d'addition de données 40 pour écrire tour à tour des données de parité suivantes dans le SSD 3a et le SSD 3b. Comme représenté sur la figure 10, les données de traduction d'adresse pour modifier l'adresse du SSD dans la table de gestion de données de parité 44 en fonction de la taille de données des données de parité ajoutées à chaque SSD 3a, 3b, 3c et 3d dans chaque groupe de SSD 3, 4, sont mémorisées. Dans cet exemple, les données de parité ne sont pas ajoutées au début au SSD 3a. La traduction d'adresse n'est pas non plus effectuée. Dans cet exemple, on suppose que la traduction d'adresse des données de parité est ajoutée et effectuée dans le SSD 3b. La table de gestion de données de parité 44 mémorise l'adresse logique (LBA (H)) qui indique la position d'écriture pour chaque SSD et la taille des données d'écriture comme informations demandées par le système hôte 1 et l'adresse logique (LBA (C)) indiquant la position d'écriture pour chaque SSD et la taille des données d'écriture est enregistrée par l'unité d'addition de données 40 pour chaque SSD comme informations de spécification après addition des données de parité. Dans ce cas, l'unité d'addition de données 10 n'ajoute pas de données de parité au SSD 3a aux données provenant du système hôte 1. L'unité d'addition de données 40 génère les données de parité Pah d'après les données divisées a, b, après division des premières données d'écriture Dl (se référer à la figure 12) depuis le système hôte 1 pour le SSD 3b. Après écriture des données de parité Pab dans le SSD 3b, l'unité d'addition de données 40 écrit les données suivantes à l'adresse décalée de la taille des données des données de parité Pab. De plus, l'adresse logique (LBA (C)) et la taille des données après addition des données de parité constituent la valeur ajoutée à la taille de données des données de parité générées à l'avance par l'unité d'addition de données 40 aux informations de spécifications sur le système hôte 1 (taille d'une adresse logique (LBA (H)) et des données). C'est-à-dire que la table de gestion de données de parité 44 est une table de mappage d'adresses pour écrire à l'adresse d'écriture de données spécifiée par le système hôte, incluant les données de parité. L'unité d'addition de données 40 est agencée entre le processeur de données 24 et l'I/F de disque 28. L'unité d'addition de données 40 divise les données Dl d'écriture en de données divisées a, b, et si le groupe de dispositifs de mémorisation d'écriture est le groupe de SSD 3, l'unité d'addition de données 40 écrit les données divisées a, b, dans le groupe de SSD 3 par une opération de nettoyage. L'unité d'addition de données 40 écrit les données de parité Pab générées d'après d'autres données divisées a, b, dans le SSD de l'emplacement d'écriture demandé par l'unité de commande 43. Par exemple, en conséquence de la mesure avec une valeur de seuil, le volume total de données écrites dans les données de parité pour chaque SSD, lorsque le volume total de données n'a pas atteint une valeur de seuil, l'unité d'addition de données 40 provoque la production d'une différence entre les SSD par la quantité d'occupation de données, en ajoutant des données de parité seulement à l'un des SSD 3b du groupe de SSD 3. De plus, le volume total de données écrites dans les données de parité pour chaque SSD atteint une valeur de seuil et lorsque la quantité d'occupation de données de la zone de mémorisation du SSD devient inégale dans une certaine mesure, l'unité d'addition de données 40 écrit tour à tour les données de parité écrites dans le groupe de SSD 3 dans le SSD 3a et le SSD 3b. On peut empêcher la valeur de la différence d'occupation de données entre les SSD de s'étendre davantage. D'autre part, lorsqu'on peut écrire dans le groupe de SSD 4 qui est un groupe de dispositifs de mémorisation de l'autre côté, on écrit dans l'unité d'addition de données 40 de façon que les conditions puissent être satisfaites dans le groupe de SSD 4 qui est un groupe de dispositifs de mémorisation de l'autre côté concernant les données actuellement mémorisées dans la mémoire tampon 23. Expliqué en détail, l'unité d'addition de données 40 divise les données DI d'écriture en de données divisées a et b. Si le groupe de dispositifs de mémorisation d'écriture est le groupe de SSD 3, l'unité d'addition de données 40 écrit des données divisées a dans le SSD 3a (premier dispositif de mémorisation). L'unité d'addition de données 4 écrit les données divisées b de l'autre côté dans le SSD 3b (deuxième dispositif de mémorisation) du groupe de SSD 3. L'unité d'addition de données 40 écrit les données de parité Pab générées d'après de données divisées a, b, en fonction des conditions déterminées à l'avance dans l'un ou l'autre du SSD 3a ou du SSD 3b (dans cet exemple, le SSD 3b). D'autre part, si on peut écrire dans le groupe de SSD 4, l'unité d'addition de données 40 divise en données divisées a et b les données d'écriture Dl qui étaient retenues dans la mémoire tampon 23. L'unité d'addition de données 40 écrit des données divisées dans le SSD 4a (premier dispositif de mémorisation) du groupe de SSD 4 qui est un groupe de dispositifs de mémorisation d'écriture. L'unité d'addition de données 40 écrit les données divisées b de l'autre côté dans le SSD 4b (deuxième dispositif de mémorisation) du groupe de SSD 4. L'unité d'addition de données 40 écrit les données de parité Pab générées d'après de données divisées e et h en fonction des conditions déterminées à l'avance dans l'un ou l'autre du SSD 4a ou du SSD 4b (dans cet exemple, le SSD 4a). Toutefois, puisqu'une différence d'utilisation est produite par le groupe de SSD 4 et le groupe de SSD 3, l'unité d'addition de données 40 écrit une fois les données de. parité dans le SSD 4a du groupe de SSD 4, tout en écrivant trois fois les données de parité dans le groupe de SSD 4, en fonction des conditions. L'addition de données 40 écrit deux fois les données de parité dans le SSD 4b du groupe de SSD 4, tout en écrivant trois fois les données de parité dans le groupe de SSD 4. Il existe ici des valeurs de seuil (par exemple, 1 Go) du volume total de données des données de parité écrites dans le groupe de SSD dans certaines conditions. L'unité d'addition de données 40 modifie l'emplacement d'écriture des données de parité selon que la (quantité totale a atteint cette valeur de seuil. C'est-à-dire que les données de parité sont écrites uniquement dans le SSD 3b jusqu'à ce que le volume total de données d'écriture de données de parité dans le groupe de SSD ait atteint une valeur de seuil, après que la quantité totale a atteint une valeur de seuil, l'emplacement d'écriture des données de parité est modifié tour à tour, par exemple le SSD 3a, le SSD 3b et le SSD 3a,..., et ces données de parité sont écrites. Dans cet exemple, si les quantités totales d'addition de données de parité sont inférieures à une valeur de seuil (par exemple, 1 Go, etc.), l'unité d'addition de données 40 écrit les données de parité suivantes dans le SSD 3b en se basant sur cette condition. Lorsque la quantité totale a atteint une valeur de seuil, l'unité d'addition de données 40 écrit tour à tour les données de parité dans le SSD 3a et le SSD 3b. Dans le cas de ce quatrième mode de réalisation, le fonctionnement pour un retard garanti est le même que pour le premier ou le troisième mode de réalisation. De plus, le quatrième mode de réalisation constitue le groupe de SSD dans lequel des données sont écrites, pour accélérer l'écriture et la lecture de données par une opération de nettoyage. La configuration de groupe de ce quatrième mode de réalisation est constituée de deux ensembles du SSD 3a et du SSD 3h dans un groupe de SSD 3 et le groupe de SSD 4 de l'autre côté constitué de deux ensembles du SSD 4a et du SSD 4b. Dans ce quatrième mode de réalisation, les données écrites dans un SSD (dans cet exemple, le SSD 3b, 4b) de chaque groupe de SSD 3, 4, sont des données de parité, en tant que données avec une relation qui n'étaient pas des données fictives, mais d'autres données. C'est-à-dire que dans ce quatrième mode de réalisation, après division des données pour écriture, l'écriture dans le SSD 3a du groupe de SSD 3 et 3b est accélérée par nettoyage. De plus, en écrivant les données de parité dans un SSD 3b, on peut obtenir la valeur d'occupation entre le SSD 3a et 3b permettant de produire une différence et en conséquence, la fiabilité des données s'améliore. Les données divisées des données retenues par la mémoire tampon 23 sont écrites dans le groupe de SSD pouvant maintenant être écrites dans le SSD 4a, 4b, la valeur d'occupation entre les SSD 3a, 3b, 4a et 4h produit une différence d'écriture inégale des données de parité générées par ces données divisées dans le SSD 4a et le SSD 4b. Le fonctionnement de ce quatrième mode de réalisation est expliqué ci-après en référence à la figure 11 et à la figure 12. Dans ce quatrième mode de réalisation, les opérations suivantes sont les mêmes que dans le premier mode de réalisation (organigramme de la figure 3) : le moniteur 26 surveille l'I/F de disque 28, le processeur de données 24 ayant reçu la commande d'un système hôte détermine le SSD pour traitement, une commande d'écriture ou une commande de lecture est envoyée à l'unité d'addition de données 40. L'opération qui suit est ici expliquée. Si le processeur de données 24 écrit dans l'unité d'addition de données 40 et que les données cible (par exemple, les données Dl indiquées sur la figure 12) sont reçues, elle divise les données reçues Dl en données divisées a et b. L'unité d'addition de données 40 écrit des données divisées a dans le SSD 3a parmi les données divisées a et b. L'unité d'addition de données 40 écrit les données divisées b de l'autre côté dans le SSD 3b (étape 5208 de la figure 11). L'unité d'addition de données 40 génère ensuite des données de parité à partir des données divisées a et b. L'unité d'addition de données 40 écrit les données de parité générées dans le SSD de l'emplacement d'écriture spécifié par l'unité de commande 43. À ce moment, le compteur 11 compte le volume de données des données de parité générées par l'unité d'addition de données 40 et mémorise le volume de données dans la mémoire 42. L'unité de commande 43 détermine si le volume total de données des données de parité écrites mémorisées dans la mémoirc. -12 à chaque fois que le volume de données de la mémoire 42 est mis à joar, atteint la valeur de seuil H (étape S209). L'unité de commande -13 commande l'emplacement d'écriture dans l'unité d'addition de données 40 en fonction du résultat. Par exemple, lorsque le volume total de données des données de parité écrites n'a pas atteint la valeur de seuil S (Non à l'étape S209), l'unité de commande 43 commande l'unité d'addition de données 40 pour écrire les données de parité seulement dans le SSD lb. Au moyen de cette commande, l'unité d'addition de données 40 écrit les données de parité générées d'après les données divisées a, b dans un seul SSD 3b (étape S210). D'autre part, l'unité de réponse à une commande 22, si le groupe de SSD est inscriptible en référence à la table d'états 25 en conséquence, l'unité d'addition de données 40 écrit les données qui sont retenues par la mémoire tampon 23 pour l'écriture et les données de parité générées d'après les données pour l'écriture par l'intermédiaire de l'I/F de disque 28 du groupe de SSD cible 4 (étape S211). Lors de l'écriture des données dans chaque SSD 4a, 4b du groupe de SSD 4 comme représenté sur la figure 12, les données de parité sont écrites seulement une fois sur trois dans lequel le SSD 4a du groupe de SSD 4 écrit les données de parité. Les données de parité sont écrites seulement deux fois sur trois dans lequel le SSD 4b du groupe de SSD 4 écrit les données de parité. En conséquence, on peut rendre inégale la valeur de la différence d'occupation des données entre chaque SSD 4a, 4b. Ceci permet de rendre inégale la valeur de la différence d'occupation des données de la zone de mémorisation des groupes de SSD 3, 4 et chaque SSD 3a à 4b. De plus, lorsque l'écriture des données dans un groupe de SSD progresse, par exemple, les données D5 de la figure 12 sont écrites, si la quantité totale de données de parité à écrire a atteint la valeur de seuil S (Oui à l'étape S209), l'unité de commande 13 commande l'unité d'addition de données 40 pour écrire tour à tour les données de parité à écrire dans ie SSD la et le SSD 3b. Au moyen de cette commande, si les données d'écriture sont les données D5, l'unité d'addition de données 40, les données de parité Pij générées par lés données divisées I, j, sont écrites dans le SSD 3a et les données de parité Pmn des données suivantes D6 sont écrites dans le SSD 3b (étape 5212). En d'autres termes, on fixe à l'avance à 1. Go la limite supérieure d'écriture des données de parité et la valeur de seuil S parmi les groupes de SSD 3, 4 au SSD ayant le [AIS grand nombre d'écritures de données de parité, par exemple SSD 3b. L'unité de commande 43 compare le volume total de données et la valeur de seuil S des données de parité qui ont été comptées, lorsque la valeur de comptage dépasse la valeur de seuil S, par exemple de 1 Go, l'unité d'addition de données 40 effectue une commande provoquant l'écriture tour à tour de données de parité dans le SSD 3a et le SSD 3b. De plus, en ce qui concerne le traitement de lecture des données de la commande de lecture des étapes S213 à S216, les données fictives expliquées dans le premier mode de réalisation (organigramme de la figure 3) sont transformés en données de parité et elles changent et le SSD est transformé en un groupe de SSD. Dans ce quatrième mode de réalisation, puisque le traitement de l'étape S215 diffère de celui du premier mode de réalisation, ce traitement est expliqué. Dans le cas du traitement de l'étape S215, l'unité d'addition de données 40 lit les données divisées en données et données de parité pour lecture à partir de deux SSD du groupe de SSD pouvant lire des données, l'unité d'addition de données 40 combine les données divisées en données et les transmet au processeur de données 24 après avoir effectué le contrôle de parité des données divisées. Ainsi, entre les SSD 3a, 3b (et entre les SSD 4a et 4b), si la différence d'une certaine quantité fixe d'occupation de données se produit, la différence n'est plus augmentée. En conséquence, on peut empêcher seulement les SSD 3b, 4b d'un côté de chaque groupe de SSD 3, 4 d'atteindre très précocement leur fin de vie. Ainsi, selon ce quatrième mode de réalisation, quatre ensembles de SSD 3a, 3b, 4a, 4b sont utilisés. Les SSD 3a, 3b constituent le groupe de SSD 3 (premier groupe de dispositifs de mémorisation), le groupe de SSD 4 (deuxième groupe de dispositifs de mémorisation) pour garantir le temps de réponse est constitué. D'autre part un groupe de SSD des deux groupes de SSD 3, 1, est maintenu dans l'état dans lequel il est toujours possible de lire des données, tandis qu'un nettoyage utilisant chaque SSD 3a, 3b du groupe de SSD 3 est effectué. Il est simultanément réalisable non seulement de rendre inégale la durée de vie de chaque SSD :3a, 3b, 4a, 4b, mais aussi d'améliorer la vitesse du temps d'écriture des données et la garantie du temps de réponse. En conséquence, on peut obtenir simultanément l'inégalité de la durée de vie de chaque SSD et l'amélioration de la vitesse par nettoyage de l'écriture et de la lecture des données, offrant une garantie de temps de réponse. De plus, on peut réaliser chaque composant représenté dans le mode de réalisation au moyen du programme installé dans une mémoire, par exemple un disque dur d'ordinateur. De plus, le programme est mémorisé sur un support électronique dans lequel la lecture par un ordinateur est possible et on peut faire exécuter par un ordinateur la fonction de la présente invention en faisant lire par un ordinateur un programme sur un support électronique. En tant que support électronique, des supports d'enregistrement tels qu'un CD-ROM, une mémoire flash et un support amovible et analogue sont inclus, par exemple. De plus, un composant peut être distribué et mémorisé dans un ordinateur différent connecté par le réseau et une communication peut être réalisée entre les ordinateurs dans lesquels chaque composant a été utilisé. 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 de l'invention. Les nouveaux modes de réalisation ici décrits peuvent en fait être réalisés dans une diversité d'autres formes ; de plus, diverses omissions, substitutions et modifications de la forme des modes de réalisation ici décrits peuvent être réalisées sans s'écarter de l'esprit des inventions. Les revendications annexées et leurs équivalents sont destinés à couvrir ces formes ou modifications apparaissant dans la portée et l'esprit des inventions. REVENDICATIONS1. Contrôleur (2) comportant des interfaces pouvant être connectées à un système hôte (1), un premier dispositif de mémorisation et un deuxième dispositif de mémorisation, dans lequel des données dans le premier dispositif de mémorisation et des données dans le deuxième dispositif de mémorisation sont dupliquées, comprenant : une table d'états (25) configurée pour mémoriser l'état de fonctionnement du premier dispositif de mémorisation et du deuxième dispositif de mémorisation, dans lequel l'état de fonctionnement comporte l'écriture, la lecture ou l'attente ; un moniteur (26) configuré pour surveiller les interfaces et régler la table d'états (25) ; une mémoire tampon (23) configurée pour retenir les données à écrire dans le premier dispositif de mémorisation et le deuxième dispositif de mémorisation ; une unité de commande (22) configurée pour recevoir des données d'écriture et une demande d'écriture d'un système hôte (1), demander l'écriture des données dans le premier dispositif de mémorisation et le deuxième dispositif de mémorisation tout en faisant retenir les données reçues par la mémoire tampon (23) ; un processeur de données configuré pour envoyer les données retenues dans la mémoire tampon (23) vers le dispositif de mémorisation inscriptible en référence à la table d'états (25) en fonction de la demande d'écriture provenant de l'unité de commande (22) ; et un additionneur configuré pour être agencé entre le processeur de données et l'une ou l'autre interface connectée au premier dispositif de mémorisation ou au deuxième dispositif de mémorisation, ajouter des données fictives aux données destinées à être envoyées au dispositif de mémorisation et écrire les données et les données fictives ajoutées dans le dispositif de mémorisation. 2. Serveur vidéo incluant un contrôleur selon la revendication 1, dans lequel, l'additionneur extrait les données fictives des données qui sont lues dans le dispositif de mémorisation, en se basant sur la demande delecture du système hôte (1) et fournit en sortie au processeur de données les données dont les données fictives ont été extraites. 3. Serveur vidéo incluant un contrôleur selon la revendication le contrôleur comprenant en outre, une mémoire de comptage ; un compteur de données fictives configuré pour compter la quantité de données des données fictives ajoutées et mémoriser la quantité de données dans la mémoire de comptage ; et une unité de commande (22) configurée pour demander l'arrêt de l'addition des données fictives à l'unité d'addition de données si la quantité de données fictives ajoutées mémorisées dans la mémoire atteint une valeur de seuil. 4. Serveur vidéo selon la revendication 2, dans lequel le contrôleur comprend en outre, une mémoire ; un compteur de données fictives configuré pour compter la quantité de données des données fictives ajoutées et mémoriser la quantité de données dans la mémoire ; et une unité de commande (22) configurée pour demander l'arrêt de l'addition des données fictives à l'unité d'addition de données si la quantité de données des données fictives ajoutées mémorisées à l'avance dans la mémoire atteint la valeur de seuil. 5. Contrôleur (2) pour un dispositif de mémorisation comportant des interfaces pouvant être connectées à un système hôte (1) et une pluralité de dispositifs de mémorisation, dans lequel les données dans la pluralité de dispositifs sont dupliquées, comprenant une table d'états (25) configurée pour mémoriser l'état de fonctionnement de la pluralité de dispositifs de mémorisation, dans lequel l'état de fonctionnement comporte l'écriture, la lecture ou l'attente ; un moniteur (26) configuré pour surveiller les interfaces et régler la table d'états (25), une mémoire tampon (23) configurée pour retenir les données à écrire dans la pluralité de dispositifs de mémorisation ; une unité de commande (22) configurée pour recevoir des données d'écriture et une demande d'écriture d'un système hôte (1),demander l'écriture des données dans la pluralité de dispositifs de mémorisation tout en faisant retenir les données reçues par la mémoire tampon (23) ; un processeur de données configuré pour envoyer les données retenues dans la mémoire tampon (23) vers le dispositif de mémorisation inscriptible en référence à la table d'états (25) en fonction de la demande d'écriture provenant de l'unité de commande (22) une table de gestion de données fictives configurée pour régler la quantité de données fictives afin d'ajouter des données dans chaque dispositif de mémorisation ; et un additionneur configuré pour être agencé entre le processeur de données et parmi les interfaces connectées à la pluralité de dispositifs de mémorisation, ajouter des données fictives aux données destinées à être envoyées aux dispositifs de mémorisation et écrire les données et les données fictives ajoutées dans le dispositif de mémorisation. 6. Serveur vidéo incluant un contrôleur selon la revendication 5, dans lequel, l'additionneur extrait les données fictives des données qui sont lues dans le dispositif de mémorisation, en se basant sur la demande de lecture du système hôte (1) et fournit en sortie au processeur de données les données dont les données fictives ont été extraites, 7. Serveur vidéo incluant un contrôleur selon la revendication 5, le contrôleur comprenant en outre, une mémoire de comptage ; un compteur de données fictives configuré pour compter la quantité de données des données fictives ajoutées et mémoriser la quantité de données dans la mémoire de comptage ; et une unité de commande (22) configurée pour demander l'arrêt l'addition des données fictives à l'unité d'addition de données si la quantité de données fictives ajoutées mémorisées dans la mémoire atteint une valeur de seuil. 8. Serveur vidéo selon revendication 6, le contrôleur comprenant en outre, une mémoire de comptage ;un compteur de données fictives configure pour compter la quantité de données des données fictives ajoutées et mémoriser la quantité de données dans la mémoire de comptage ; et une unité de commande (22) configurée pour demander l'arrêt de l'addition des données fictives à l'unité d'addition de données si la quantité de données des données fictives ajoutées à avance mémorisées dans la mémoire atteint la valeur de seuil. 9. Procédé pour commander un premier dispositif de mémorisation et un deuxième dispositif de mémorisation avec des interfaces pouvant être connectées à un système hôte (1), dans lequel des données dans le premier dispositif de mémorisation et des données dans le deuxième dispositif de mémorisation sont dupliquées, comprenant : la surveillance des états de fonctionnement des interfaces des premier et deuxième dispositifs de mémorisation ; le réglage d'une table d'états (25) avec les états de fonctionnement surveillés des premier et deuxième dispositifs de mémorisation, les états de fonctionnement incluant l'écriture, la lecture ou l'attente ; la réception d'une commande d'écriture et de données destinées à être écrites depuis le système hôte (1), la mise en tampon des données du système hôte (1) dans une mémoire tampon (23) ; la transmission des données retenues dans l'un ou l'autre des dispositifs de mémorisation en fonction de la table d'états (25) et de la commande d'écriture ; l'addition de données fictives aux données envoyées au dispositif de mémorisation ; et l'écriture des données fictives et des données dans le dispositif de mémorisation. 10. Contrôleur (2) pour dispositifs de mémorisation comportant des interfaces pouvant être connectées à un système hôte (1), les dispositifs de mémorisation comprenant un premier groupe de dispositifs de mémorisation incluant une i_-)luralité de dispositifs de mémorisation et un deuxième groupe de dispositifs de mémorisation incluant une pluralité de dispositifs de mémorisation, dans lequel des données dans le premiergroupe de dispositifs de mémorisation et des données dans le deuxième groupe de dispositifs de mémorisation sont dupliquées, comprenant une table d'états (25) configuré pour mémoriser les états de fonctionnement de la pluralité de groupes de dispositifs de mémorisation, dans lequel les états de fonctionnement comportent l'écriture, la lecture ou l'attente ; un moniteur (26) configuré pour surveiller les interfaces et peupler la table d'états (25) ; une mémoire tampon (23) configurée pour retenir les données à écrire dans la pluralité de groupes de dispositifs de mémorisation ; une unité de réponse à une commande configurée pour recevoir les données d'écriture et une demande d'écriture d'un système hôte (1), demander l'écriture des données dans la pluralité de groupes de dispositifs de mémorisation et demander à la mémoire tampon (23) de retenir les données reçues ; un additionneur agencé entre le processeur de données et les interfaces connectées à la pluralité de groupes de dispositifs de mémorisation et configuré pour ajouter des données fictives aux données destinées à être envoyées aux groupes de dispositifs de mémorisation et écrire les données et les données fictives ajoutées dans les groupes de mémorisation ; un processeur de données configuré pour envoyer les données retenues dans la mémoire tampon (23) aux groupes de dispositifs de mémorisation inscriptibles en référence à la table d'états (25) en fonction de la demande d'écriture provenant de l'unité de commande (22) ; et un additionneur configuré pour : diviser les données entre des premières données divisées et des deuxièmes données divisées, écrire les premières données divisées dans un premier dispositif de mémorisation du premier groupe de dispositifs de mémorisation, écrire les deuxièmes données divisées dans un deuxième dispositif d mémorisation du premier groupe de dispositifs de mémorisation, écrire des données redondantes générées par les premières données divisées et les deuxièmes données divisées dans le premierdispositif de mémorisation du premier groupe, le deuxième dispositif de mémorisation du premier groupe, un premier dispositif de mémorisation du deuxième groupe de dispositifs de mémorisation ou un deuxième dispositif de mémorisation du deuxième groupe. 11. Contrôleur (2) selon la revendication 10, dans lequel, premier groupe de dispositifs de mémorisation et le deuxième groupe de dispositifs de mémorisation comportent respectivement un premier dispositif de mémorisation et un deuxième dispositif de mémorisation, l'unité d'addition de données écrit les données redondantes dans l'un des dispositifs de mémorisation selon une condition prédéterminée. 12. Contrôleur (2) selon la revendication 10, dans lequel, si le premier groupe de dispositifs de mémorisation et le deuxième groupe de dispositifs de mémorisation comportent respectivement un premier dispositif de mémorisation et un deuxième dispositif de mémorisation, l'unité d'addition de données écrit les données redondantes dans l'un des dispositifs de mémorisation du premier groupe de dispositifs de mémorisation, les données redondantes sont écrites une fois sur trois, dans lequel l'un des dispositifs de mémorisation du deuxième groupe de dispositifs de mémorisation écrit les données redondantes et elles sont écrites deux fois sur trois dans lequel l'autre dispositif de mémorisation du deuxième groupe de dispositifs de mémorisation écrit les données de parité. 13. Contrôleur (2) selon la revendication 11, dans lequel, après que le processeur de données a écrit les données retenues dans l'un ou l'autre du premier groupe de dispositifs de mémorisation ou du deuxième groupe de dispositifs de mémorisation, si l'autre groupe de dispositifs de mémorisation est inscriptible, le processeur de données écrit les données retenues dans l'autre groupe de dispositifs de mémorisation selon la condition prédéterminée. 14. Contrôleur ) selon la revendication 12, dans lequel, après que le processeur de données a écrit les données retenues dans l'un ou l'autre du premier groupe de dispositifs de mémorisation ou du deuxième groupe de dispositifs de mémorisation, si l'on peut écrire dans l'autre groupe de dispositifs de mémorisation, le processeur de données écrit lesdonnées retenues dans l'autre groupe de dispositifs de mémorisation selon la condition prédéterminée. 15. Contrôleur selon la revendication 10, comprenant en outre : une mémoire au comptage ; un compteur de données fictives configure pour compter la quantité de données des données fictives ajoutées et mémoriser la quantité de données dans la mémoire de comptage ; et une unité de commande (22) configurée pour commander 10 l'unité d'addition de données pour écrire tour à tour les données redondantes dans tous les dispositifs de mémorisations. 16. Contrôleur (2) selon la revendication 10, dans lequel les données redondantes sont écrites dans le premier dispositif de mémorisation du premier groupe, le deuxième dispositif de mémorisation 15 du premier groupe, un premier dispositif de mémorisation du deuxième groupe de dispositifs de mémorisation, ou un deuxième dispositif de mémorisation du deuxième groupe en fonction du fait que la quantité totale d'écriture ou le rapport d'écriture de données redondantes écrites dans chaque dispositif de mémorisation est inégal dans l'ensemble des 20 dispositifs de mémorisation. 17. Procédé de commande d'un dispositif de mémorisation comportant des interfaces pouvant être connectées à un système hôte (1), les dispositifs de mémorisation comprenant un premier groupe de dispositifs de mémorisation incluant une pluralité de dispositifs de 25 mémorisation et un deuxième groupe de dispositifs de mémorisation incluant une pluralité de dispositifs de mémorisation, dans lequel des données dans le premier groupe de dispositifs de mémorisation et des données dans le deuxième groupe de dispositifs de mémorisation sont dupliquées, comprenant : 30 la surveillance des états de fonctionnement des interfaces ; le réglage d'une table d'états (25) avec les états de fonctionnement du premier groupe de dispositifs de mémorisation et du deuxième groupe de dispositifs de mémorisation, lesdits états incluant l'écriture, la lecture ou l'attente ; 35 la réception d'une commande d'écriture et de données destinées à être écrites depuis le système hôte (1),la mise en tampon des données provenant du système hôte dans une mémoire tampon (23), l'écriture des données retenues dans le premier groupe dispositifs de mémorisation et le deuxième groupe de dispositifs mémorisation en fonction de la commande d'écriture ; la transmission des données retenues dans un ou l'autre des groupes de dispositifs de mémorisation inscriptibles en référence à la table d'états (25) en fonction de la commande d'écriture ; l'écriture de données redondantes dans l'un des dispositifs de mémorisation du premier groupe de dispositifs de mémorisation, l'écriture de données redondantes une fois sur trois dans lequel l'un des dispositifs de mémorisation du deuxième groupe de dispositifs de mémorisation écrit les données redondantes ; et l'écriture des données redondantes deux fois sur trois dans lequel l'autre dispositif de mémorisation du deuxième groupe de dispositifs de mémorisation écrit les données redondantes.