Brevet FR3023960A1 — publié le 20160122

AMÉLIORATION DE LA PERFORMANCE DES MÉMOIRES À CHANGEMENT DE PHASE AVEC LECTURE AVANT ÉCRITURE EN VUE D'ÉVITER LES ANNULATIONS D'ÉCRITURE Domaine de l'invention [001] La présente invention concerne de façon générale le domaine de la mémorisation de données et plus particulièrement un procédé, un appareil et un dispositif de mémorisation servant à améliorer la performance des mémoires à changement de phase (PCM) avec lecture avant écriture en vue d'éviter les annulations d'écriture avec lectures urgentes d'emplacements proches. Description de l'art connexe [002] La mémoire à changement de phase (PCM) est un support prometteur pour la prochaine génération de mémoire à état solide non volatile. Une des idiosyncrasies de PCM est la durée beaucoup plus longue nécessaire pour écrire un bit que pour le lire ; les opérations d'écriture sont environ cinquante fois plus longues que celles de lecture. [003] Pendant qu'une opération d'écriture est en cours, l'accès pour lecture ou écriture à une assez grande région de mémoire de la puce, telle qu'une région de puce appelée une partition, est bloqué. Cela signifie qu'une demande de lecture d'une partition en cours d'écriture doit être mise en attente jusqu'à la fin de l'écriture qui est potentiellement 50 fois plus longue que le temps de latence de lecture habituel. Une autre possibilité est d'interrompre l'opération d'écriture pour procéder à la lecture dans un délai convenable avant de reprendre de nouveau ultérieurement l'opération d'écriture. [4] Un besoin existe de fournir un mécanisme performant et efficace pour améliorer la performance de l'écriture de données pour des lecteurs à état solide (SSDs), par exemple, dont la mémoire à changement de phase (PCM) fait partie. [5] Dans la description et les revendications suivantes, le terme mémoire à changement de phase (PCM) doit être compris au sens large et comprend les dispositifs de mémoire ayant une grande asymétrie entre les temps de latence de lecture et d'écriture avec des lectures plus rapides que les écritures. Résumé de l'invention [6] Certains aspects des présents modes de réalisation consistent à mettre à disposition un procédé, un appareil et un dispositif de mémorisation pour l'amélioration de la performance des mémoires à changement de phase (PCM) avec lecture avant écriture. D'autres aspects importants consistent à fournir un procédé, un appareil et un dispositif de mémorisation sensiblement sans effet négatif et offrant une solution à certains inconvénients des agencements de l'art antérieur. [7] Pour résumer, un procédé, un appareil et un dispositif de mémorisation sont prévus pour améliorer la performance des mémoires à changement de phase (PCM) avec lecture avant écriture. Chaque écriture de la PCM est précédée d'une lecture en vue d'éviter les annulations d'écriture avec lectures urgentes à partir d'emplacements proches. Pour chaque écriture, un grand bloc de données est lu à partir d'une PCM, par exemple une partition entière, avant d'écrire dans la PCM. La copie en cache du grand bloc de données est conservée dans un dispositif de commande pendant toute la durée de l'écriture. Une demande de lecture à partir de la région chargée à l'avance est prévue à partir de la copie en cache, empêchant ainsi toute interruption pour lecture pendant l'opération d'écriture. Brève description des dessins [008] La présente invention vue conjointement avec les objets et avantages susmentionnés ainsi que d'autres peut être comprise à partir de la description détaillée suivante des modes de réalisation préférés de l'invention illustrés dans les dessins, dans lesquels : [009] La figure 1 est une représentation de schéma fonctionnel illustrant un système visant à améliorer les procédés de performance des mémoires à changement de phase avec lecture avant écriture, par exemple, des lecteurs à état solide (SSDs) selon les modes de réalisation préférés ; [0010] La figure 2 est un organigramme illustrant des exemples d'opération du système de la figure 1 pour améliorer la performance des mémoires à changement de phase avec lecture avant écriture, par exemple pour des lecteurs à état solide (SSDs) selon les modes de réalisation préférés ; [0011] la figure 3 illustre une écriture de données typique de l'art antérieur sur certains dispositifs de mémoire connus ; [0012] la figure 4 illustre une écriture de données sur une mémoire à changement de phase selon les modes de réalisation préférés ; [0013] la figure 5 est un schéma fonctionnel illustrant un produit de programme informatique selon les modes de réalisation préférés. Description détaillée des modes de réalisation préférés [0014] Dans la description détaillée suivante des modes de réalisation de l'invention, on fait référence aux dessins joints qui illustrent des exemples de réalisation pouvant être utilisés pour mettre en pratique l'invention. Il convient de comprendre que d'autres modes de réalisation peuvent être utilisés et que des changements structurels peuvent être apportés sans sortir de la portée de l'invention. [0015] Selon les caractéristiques des modes de réalisation préférés, un procédé, un appareil et un dispositif de mémorisation sont prévus pour améliorer la performance comprenant l'écriture améliorée de données sur une mémoire à changement de phase, par exemple pour des lecteurs à état solide (SSDs). L'écriture améliorée de données est mise en oeuvre en effectuant une lecture avant d'écrire des données sur la mémoire à changement de phase de modes de réalisation préférés. [0016] Selon les caractéristiques des modes de réalisation préférés, chaque écriture sur une mémoire à changement de phase (PCM) est précédée d'une lecture conservée dans le dispositif de commande pendant la durée de l'écriture, de sorte qu'une demande de lecture à partir de la région chargée à l'avance est prévue à partir de la copie en cache, évitant ainsi d'interrompre l'opération d'écriture pour une lecture. [0017] En référence maintenant aux dessins, la figure 1 illustre un exemple de système permettant de mettre oeuvre des procédés d'écriture améliorée de données pour une mémoire à changement de phase (PCM), par exemple pour des lecteurs à état solide (SSDs) généralement désignés par la référence 100 selon les modes de réalisation préférés. Le système 100 comprend un lecteur à état solide 102 et un ordinateur hôte 104. Le SSD 102 comprend une unité centrale de traitement de dispositif de commande (CPU) 106 comprenant une mémoire cache 107 pour mémoriser les blocs de données lus chargés à l'avance selon les modes de réalisation préférés. Le SSD 102 comprend le CPU de dispositif de commande 106 couplé à une mémoire principale ou à une mémoire à accès aléatoire dynamique (DRAM) 108, un code de commande 110 de mémoire à changement de phase (PCM) et une commande d'interface 112 de mémoire à changement de phase (PCM). [0018] Le SSD 102 comprend une pluralité de dispositifs ou puces 114 de mémoire à changement de phase (PCM) couplés à la commande d'interface 112 de PCM couplés au dispositif de commande 106. Le SSD 102 comprend une interface hôte 116 couplée entre l'ordinateur hôte 104 et la commande d'interface 112 du dispositif de commande 106 et de la mémoire à changement de phase (PCM). [0019] Bien que l'exemple de réalisation du système 100 soit décrit dans le contexte d'un lecteur à état solide 102, il convient de comprendre que les principes des modes de réalisation préférés sont appliqués de façon avantageuse à d'autres types de dispositifs de mémorisation de données comprenant la mémoire à changement de phase (PCM) et divers agencements de mémoire comprenant les dispositifs de mémoire ayant une grande asymétrie entre les temps de latence de lecture et d'écriture. [0020] Le système 100 est illustré sous une forme simplifiée suffisante pour comprendre les modes de réalisation préférés. Par exemple, le dispositif de commande 106 peut être fabriqué sur une ou de multiples puces de circuit intégré et est programmé de façon adaptée pour mettre en oeuvre les procédés selon les modes de réalisation préférés. [0021] Le SSD 102 met en oeuvre une écriture améliorée de données pour la mémoire à changement de phase (PCM) en utilisant une lecture avant écriture selon les modes de réalisation préférés. Le CPU de dispositif de commande 106 du SSD 102 comprend un micrologiciel, tel qu'un code de commande 110 de PCM selon les modes de réalisation préférés et est couplé à un bloc de commande d'interface 112 de PCM. Des informations par rapport au bloc de commande d'interface 112 du PCM sont fournies au micrologiciel du dispositif de commande 106 du SSD 102, par exemple à partir d'un code de commande 110 de PCM. [0022] La figure 2 illustre un organigramme illustrant des exemples d'opération du système de la figure 1 pour améliorer la performance comprenant l'écriture améliorée de données, par exemple pour des lecteurs à état solide (SSDs) selon les modes de réalisation préférés. [0023] Tel qu'indiqué dans un bloc 200, une écriture de données démarre selon les modes de réalisation préférés, par exemple en réponse à une demande d'écriture reçue. Avant d'écrire des données sur la PCM, un grand bloc de données est lu à partir d'une région de données chargée à l'avance de la PCM, avant l'écriture de données tel qu'indiqué dans un bloc 202. [0024] Le grand bloc de données lu à partir de la région de données chargée à l'avance est mémorisé sur le dispositif de commande du PCM tel qu'indiqué dans un bloc 204. Tel qu'indiqué dans un bloc 206, le grand bloc de données lu est conservé pendant la durée de l'opération d'écriture. Tel qu'indiqué dans un bloc 208, lorsque l'opération d'écriture de données est effectuée, une ou plusieurs demandes de lecture concernant la région de données chargée à l'avance sont reçues en option pendant l'écriture. Chaque demande reçue est traitée à partir de la copie de données en cache, à partir de la région de données chargée à l'avance dans le dispositif de commande, sans interruption d'écriture, comme l'indique un bloc 210 selon les caractéristiques des modes de réalisation préférés. [0025] La figure 3 illustre une écriture de données typique de l'art antérieur sur certains dispositifs de mémoire connus. Une lecture alentour interrompt l'écriture de données typique et une autre écriture est effectuée après la lecture alentour. [0026] La figure 4 illustre une écriture de données sur une mémoire à changement de phase généralement désignée par la référence 400 selon les modes de réalisation préférés. Avant l'écriture de données, un plus grand nombre de données est lu tel qu'indiqué à la ligne 402 comprenant un grand bloc de données. Pendant l'opération d'écriture, une lecture alentour telle qu'indiquée à la ligne 404 n'interrompt pas l'opération d'écriture. [0027] La figure 5 illustre un article manufacturé ou un produit de programme informatique 500 des modes de réalisation préférés. Le produit de programme informatique 500 comprend un support d'enregistrement lisible par ordinateur 502, tel qu'un lecteur de disquette, une mémoire en lecture seule à haute capacité prenant la forme d'un disque compact à lecture optique ou d'un CD-ROM, une bande ou tout autre produit de programme informatique similaire. Le support d'enregistrement lisible par ordinateur 502 mémorise les moyens de programme ou le code de commande 504, 506, 508, 510 sur le support 502 pour mettre en oeuvre les procédés d'amélioration de la performance pour l'écriture de données sur une mémoire à changement de phase (PCM) comprenant une lecture avant écriture selon les modes de réalisation préférés dans le système 100 de la figure 1. [0028] Une séquence d'instructions de programme ou un ensemble logique d'un ou plusieurs modules interconnectés définis par les moyens de programme enregistrés ou le code de commande 504, 506, 508, 510, dirigent le dispositif de commande 106 de SSD du système 100 pour améliorer la performance avec l'écriture de données sur la PCM de modes de réalisation préférés. [0029] Même si la présente invention a été décrite en référence aux détails des modes de réalisation de l'invention illustrés sur le dessin, ces détails ne visent pas à limiter la portée de l'invention telle que revendiquée dans les revendications annexées.20 REVENDICATIONS1. Procédé d'écriture de données sur une mémoire à changement de phase (PCM) comprenant : le démarrage d'une écriture de données ; la lecture d'un bloc de données provenant d'une région de données lue chargée à l'avance provenant de la PCM avant d'effectuer l'écriture de données sur la PCM ; et la conservation d'une copie en cache du bloc de données lu dans un dispositif de commande pendant la durée de l'opération d'écriture de données. 2. Procédé d'écriture de données selon la revendication 1, dans lequel le démarrage d'une écriture de données comprend la réception d'une demande d'écriture. 3. Procédé d'écriture de données selon la revendication 2, dans lequel la lecture du bloc de données provenant de la région de données lue chargée à l'avance à partir de la PCM comprend la lecture d'une partition entière à partir de la PCM, en réponse à la demande d'écriture reçue. 4. Procédé d'écriture de données selon la revendication 1, comprenant la réception d'une demande de lecture provenant de la région de données lue chargée à l'avance pendant l'opération d'écriture, la réalisation de la demande de lecture à partir de la copie de données en cache dans le dispositif de commande, empêchant ainsi toute interruption pour lecture pendant l'opération d'écriture de données. 5. Procédé d'écriture de données selon la revendication 4, comprenant la réception d'une seconde demande de lecture provenant de la région de données lue chargée à l'avance pendant l'opération d'écriture, la réalisation de la seconde demande de lecture à partir de la copie de données en cache dans le dispositif de commande, empêchant ainsi toute interruption pour lecture pendant l'opération d'écriture de données. 10 6. Appareil d'écriture de données sur une mémoire à changement de phase (PCM) comprenant : un dispositif de commande ; ledit dispositif de commande démarrant une écriture de données ; ledit dispositif de commande lisant un bloc de données provenant d'une région de données lue chargée à l'avance à partir de la PCM avant d'effectuer l'écriture de données sur la PCM ; et ledit dispositif de commande conservant une copie en cache du bloc de données pendant la durée de l'opération d'écriture de données. 7. Appareil d'écriture de données selon la revendication 6, comprenant un code de commande mémorisé sur un support lisible par ordinateur non transitoire et dans lequel ledit dispositif de commande utilise ledit code de commande pour l'écriture de données. 15 8. Appareil d'écriture de données selon la revendication 6, comprenant ledit dispositif de commande recevant une demande d'écriture et démarrant l'écriture de données. 9. Appareil d'écriture de données selon la revendication 6, dans lequel ledit dispositif de commande lisant le bloc de données provenant de la région de données lue chargée à 20 l'avance à partir de la PCM comprend ledit dispositif de commande lisant une partition entière à partir de la PCM, en réponse à la demande d'écriture reçue. 10. Appareil d'écriture de données selon la revendication 6, comprenant ledit dispositif de commande recevant une demande de lecture en provenance de la région de données 25 lue chargée à l'avance pendant l'opération d'écriture, ledit dispositif de commande réalisant la demande de lecture à partir de la copie en cache dans le dispositif de commande, empêchant ainsi toute interruption pour lecture pendant l'opération d'écriture de données. 11. Appareil d'écriture de données selon la revendication 10, dans lequel ledit dispositif de commande reçoit une seconde demande de lecture provenant de la région de données lue chargée à l'avance pendant l'opération d'écriture, ledit dispositif de commande effectuant la seconde demande de lecture à partir de la copie en cache dans le dispositif de commande, empêchant ainsi toute interruption pour lecture pendant l'opération d'écriture de données. 12. Dispositif de mémorisation de données comprenant : une mémoire à changement de phase (PCM) ; un dispositif de commande pour l'écriture de données sur la mémoire à changement de phase (PCM) ; ledit dispositif de commande démarrant une écriture de données ; ledit dispositif de commande lisant un bloc de données provenant d'une région de données lue chargée à l'avance à partir de la PCM avant d'effectuer l'écriture de données sur la PCM ; et ledit dispositif de commande conservant une copie en cache du bloc de données pendant la durée de l'opération d'écriture de données. 13. Dispositif de mémorisation de données selon la revendication 12, comprenant un code de commande mémorisé sur un support lisible par ordinateur non transitoire et dans lequel ledit dispositif de commande utilise ledit code de commande pour l'écriture de données. 14. Dispositif de mémorisation de données selon la revendication 12, comprenant ledit dispositif de commande recevant une demande d'écriture et démarrant l'écriture de données. 5 15. Dispositif de mémorisation de données selon la revendication 12, dans lequel ledit dispositif de commande lisant le bloc de données provenant de la région de données lue chargée à l'avance à partir de la PCM comprend ledit dispositif de commande lisant une partition entière à partir de la PCM, en réponse à la demande d'écriture reçue. 16. Dispositif de mémorisation de données selon la revendication 12, comprenant ledit dispositif de commande recevant une demande de lecture provenant de la région de données lue chargée à l'avance pendant l'opération d'écriture, ledit dispositif de commande réalisant la demande de lecture à partir de la copie en cache dans le dispositif 10 de commande, empêchant ainsi toute interruption pour lecture pendant l'opération d'écriture de données. 17. Dispositif de mémorisation de données selon la revendication 16, dans lequel ledit dispositif de commande reçoit une seconde demande de lecture provenant de la région 15 de données lue chargée à l'avance pendant l'opération d'écriture, ledit dispositif de commande réalisant la seconde demande de lecture à partir de la copie en cache dans le dispositif de commande, empêchant ainsi toute interruption pour lecture pendant l'opération d'écriture de données.