Brevet FR2887661A1 — publié le 20061229

DISPOSITIF ET PROCEDE DE TRANSMISSION DE DONNEES Domaine technique La présente invention concerne un dispositif et un procédé de transmission de données et, plus particulièrement, un dispositif de transmission de données connectant un jeu de puces avec des mémoires à l'intérieur d'un ordinateur. La présente invention s'applique également à un démarrage rapide d'ordinateur. Description de l'art connexe Référence est faite à la figure 1, qui est un schéma de principe d'un ordinateur classique. L'unité centrale (UC) 70 accède à des données à partir d'une unité de mémoire 74 via une puce de pont nord 71 dite North bridge et communique avec les dispositifs périphériques via une puce de pont sud 72 dite South bridge (selon la terminologie anglo- saxonne). La puce de Pont sud 72 se connecte avec les dispositifs périphériques externes via une interface PCI (PCI pour Peripheral Component Interconnect, Interconnexion de composants périphériques) 721, une interface IDE ( Integrated Drive Electronics ou lecteur électronique intégré ) 722 ou une puce d'entrée/sortie 73. En général, les dispositifs périphériques connectés à la puce d'entrée/sortie 73 tels qu'une disquette, un clavier, une souris ou un manche à balais (manette de jeu), ont une vitesse de transmission de données lente. En outre, les dispositifs périphériques ayant une vitesse de transmission supérieure sont connectés à l'interface PCI 721 et à l'interface IDE 722. A titre d'exemple, le dispositif périphérique peut être une carte d'affichage ou une carte Ethernet connectée à l'interface PCI 721, ou un disque dur ou un pilote optique connecté à l'interface IDE 722. Pour un système informatique, la mémoire principale est un disque dur. Le disque dur présente l'avantage d'avoir une grande capacité de mémorisation. Toutefois, la vitesse d'accès du disque dur est beaucoup plus lente que celle de l'unité de mémoire 74. De ce fait, lorsque L'UC a besoin d'accéder à une grande quantité de données à partir du disque dur, elle ne peut pas atteindre une vitesse d'accès suffisante en raison des limitations de la largeur de bande de transmission de l'interface IDE 722 et de l'architecture d'accès mécanique du disque dur. Ainsi, le rendement opérationnel global de l'ordinateur est limité. De plus, le disque dur est habituellement utilisé pour mémoriser les données nécessaires pour démarrer l'ordinateur. En raison de la vitesse d'accès lente du disque dur, le temps de démarrage de l'ordinateur est très long. Exposé de l'invention Un objectif de la présente invention consiste à proposer un dispositif et un procédé de transmission de données qui peuvent être utilisés pour ajuster de manière flexible la largeur de bande de transmission. La présente invention peut être utilisée pour éviter de mémoriser les données dans une seule mémoire, et pour augmenter la largeur de bande de l'interface pour augmenter la vitesse de transmission de données et la vitesse de démarrage d'un système informatique. Pour atteindre l'objectif ci-dessus, la présente invention propose un dispositif de transmission de données, qui est appliqué pour communiquer avec un jeu de puces d'un système informatique. Le dispositif de transmission de données comprend une première mémoire, une seconde mémoire et une unité de commande de transmission. L'unité de commande de transmission est électriquement connectée à la première mémoire et à la seconde mémoire. L'unité de commande de transmission est utilisée pour commander l'opération de transfert de données entre le jeu de puces, la première mémoire et la seconde mémoire. Lorsque l'opération de transfert de données est effectuée entre le jeu de puces et la première mémoire, le dispositif de commande de transmission vérifie si un dispositif de destination est capable de recevoir et traiter complètement les données envoyées, dans lequel le dispositif de destination est le jeu de puces ou la première mémoire. Si le résultat dispositif de immédiatement le les données. Si négatif, le envoie tout de la vérification est positif, le commande de transmission amène dispositif de destination à recevoir le résultat de la vérification est dispositif de commande de transmission d'abord une partie des données au dispositif de destination et mémorise temporairement une partie restante des données dans la seconde mémoire. Puis, la seconde mémoire envoie la partie restante des données mémorisées dans la seconde mémoire au dispositif de destination. L'interface de l'unité de 30 commande de transmission et du jeu de puces est une Pour atteindre l'objet ci-dessus, la présente invention propose un procédé de transmission de données, qui est appliqué pour communiquer avec un jeu de puces d'un système informatique. Le procédé de transmission de données comprend les étapes suivantes: une unité de commande de transmission est formée, et commande le jeu de puces pour envoyer les données à une première mémoire. L'unité de commande de transmission est utilisée pour recevoir des données envoyées à partir du jeu de puces. L'unité de commande de transmission est utilisée pour vérifier si la première mémoire est capable de recevoir et traiter complètement les données envoyées à partir du jeu de puces. Si le résultat de la vérification est positif, la première mémoire est utilisée pour recevoir les données envoyées à partir du jeu de puces directement sous la commande de l'unité de commande de transmission. Si le résultat de la vérification est négatif, une première partie des données est temporairement mémorisée dans une seconde mémoire, une seconde partie, à savoir une partie restante, des données est directement envoyée à la première mémoire, puis la première partie des données temporairement mémorisées dans la seconde mémoire est envoyée vers la première mémoire après que la première mémoire finit de recevoir et de traiter la seconde partie des données. Pour atteindre l'objectif ci-dessus, la présente invention propose également un procédé destiné à démarrer rapidement un système informatique. Le procédé comprend les étapes suivantes. Une unité de commande de transmission connectant un jeu de puces à une unité de mémoire est formée. L'unité de commande de transmission commande le fonctionnement du transfert de données entre le jeu de puces et l'unité de mémoire, dans laquelle unité de mémoire les données de démarrage nécessaires sont mémorisées. Le jeu de puces est utilisé pour accéder aux données de démarrage nécessaires à partir de l'unité de mémoire via l'unité de commande de transmission lorsque le système informatique est allumé. Lorsque le système informatique est éteint, l'unité de mémoire obtient une quantité d'électricité à partir d'une alimentation électrique de secours. Toutefois, lorsque le système informatique est allumé, l'unité de mémoire obtient une quantité d'électricité à partir d'une alimentation électrique principale du système informatique. Dans le dispositif de transmission de données et le procédé de la présente invention, lorsque des données sont transférées entre le jeu de puces et la première mémoire, l'unité de commande de transmission vérifie la vitesse de réception de données du dispositif de destination par avance, puis mémorise de manière flexible une partie des données dans la seconde mémoire. De ce fait, bien que la vitesse de réception de données du dispositif de destination ne soit pas suffisante, le rendement de transmission global du système informatique n'est pas affecté. De plus, puisque l'interface de l'interface de commande de transmission et du jeu de puces est une interface PCIExpresse (PCI-E), la largeur de bande de transmission est accrue. De plus, puisque le dispositif de démarrage nécessaire peut être mémorisé dans la seconde mémoire, à savoir, une unité de mémoire, il n'est pas nécessaire d'accéder aux données de démarrage à partir du disque dur mais directement à partir de l'unité de mémoire connectée à l'unité de commande de transmission. Ainsi, la vitesse de démarrage du système informatique est accrue. De nombreuses particularités, et nombreux bénéfices et détails additionnels de la présente invention, sont décrits dans la description détaillée qui suit. Brève description des dessins: D'autres caractéristiques et avantages de l'invention ressortiront plus clairement à la lecture de la description ci-après, faite en référence aux dessins annexés, sur lesquels: la figure 1 est un schéma de principe d'un ordinateur classique; la figure 2 est un schéma de principe d'un mode de réalisation préféré selon la présente invention; la figure 3 est un organigramme montrant une procédure de transfert de données selon la présente invention; la figure 4 est un organigramme montrant une autre procédure de transfert de données selon la présente 25 invention; et la figure 5 est un organigramme montrant une procédure pour allumer/éteindre un système informatique selon la présente invention. Référence est faite à la figure 2, qui est un schéma de principe d'un mode de réalisation préféré selon la présente invention. Un jeu de puces 10 prévu dans la présente invention comprend une interface PCIExpress (PCI-E) et un jeu de puces Pont sud ( South Bridge selon la terminologue anglo-saxonne) ou Pont nord ( North Bridge selon la terminologue anglosaxonne). Le jeu de puces 10 est connecté électriquement à une unité de commande de transmission 20. L'interface de transmission entre l'unité de commande de transmission 20 et le jeu de puces 10 est une interface PCIExpresse (PCI-E). De plus, l'unité de commande de transmission 20 intègre de multiples lignes PCI-E pour augmenter la largeur de bande de transmission et la vitesse de traitement des données. L'unité de commande de transmission 20 est une puce dans ce mode de réalisation. L'unité de commande de transmission 20 est connectée respectivement à une première mémoire 21 et une seconde mémoire 22 et est utilisée pour commander le transfert de données parmi le jeu de puces 10, la première mémoire 21 et la seconde mémoire 22. A titre d'exemple, via l'unité de commande de transmission 20, les données peuvent être transférées du jeu de puces 10 à la première mémoire 21 ou de la première mémoire 21 au jeu de puces 10. La seconde mémoire 22 fournit un espace de mémorisation pour mémoriser temporairement les données lorsque le transfert de données est effectué. Ainsi, via la seconde mémoire 22, l'unité de commande de transmission 20 peut ajuster la largeur de bande de transmission de manière flexible pendant le transfert de données. Dans ce mode de réalisation, la première mémoire 21 peut être un disque dur avec une interface IDE, SATA, 1394 ou SCSI. La seconde mémoire 22 est une unité de mémoire ayant une vitesse d'accès plus grande que celle du disque dur. Pendant le transfert de données, l'unité de commande de transmission 20 vérifie la condition de la réception de données. Si le dispositif de destination est occupé ou ne peut pas fournir une vitesse de réception suffisante, l'unité de commande de transmission 20 mémorise temporairement les données dans la seconde mémoire 22, à savoir l'unité de mémoire. Le dispositif de destination mentionné dans ce mode de réalisation est le jeu de puces 10 ou la première mémoire 21. En conséquence, via l'unité de commande de transmission 20, la présente invention peut se connecter avec un disque dur qui a une grande capacité de mémorisation et une unité de mémoire qui a une vitesse d'accès de données supérieure. Le disque dur et l'unité de mémoire sont la première mémoire 21 et la seconde mémoire 22 mentionnées dans ce mode de réalisation, respectivement. La seconde mémoire 22 de ce mode de réalisation est une unité de mémoire enfichée dans un emplacement pour module de mémoire d'une carte mère qui s'étend sur et est connectée à l'unité de commande de transmission 20. Selon la quantité de données requérant une transmission, ce mode de réalisation peut comporter de multiples premières mémoires 21 et de multiples secondes mémoires 22 pour augmenter la vitesse de transmission de données. Dans ce mode de réalisation, l'interface entre le jeu de puces 10 et l'unité de commande de transmission 20 est une interface PCI-E; PCI-Exl signifie que l'interface à une ligne de transmission ayant une vitesse de transmission de 250 mégaoctets/seconde (Mo/s). L'interface PCI-E a diverses normes, telles que PCI-Exl, PCI-Ex2, PCI-Ex4, PCI-Ex8, PCI-Ex16 et PCI- Ex32. Dans un mode de transmission bidirectionnel, par exemple, l'interface PCI-Ex16 a une vitesse de transmission de 8 Go/s, qui bien plus élevée que la vitesse d'accès d'une unité de mémoire ou d'un disque dur communs. Sur la base de ce fait, dans ce mode de réalisation, le système de base d'entrée/sortie (BIOS) d'un système informatique peut être établi pour utiliser la seconde unité 22 à des fins de démarrage. Les données nécessaires pour le démarrage peuvent être mémorisées vers la seconde mémoire 22 par avance. De cette manière, le système informatique peut avoir une opération de démarrage plus rapide. Afin d'empêcher les données mémorisées dans la seconde mémoire 22 d'être supprimées lorsque le système informatique est éteint, ce mode de réalisation comporte une alimentation électrique de secours pour fournir de l'électricité à la seconde mémoire 22 lorsque le système informatique est éteint. Les données nécessaires pour le démarrage peuvent être de multiples fichiers de démarrage, de multiples fichiers d'enregistrement, de multiples fichiers exécutifs ou de multiples fichiers associés d'un système d'exploitation (SE), tel que le système Windows, le système OS2 ou le système Linux. Les données nécessaires pour le démarrage peuvent également être un fichier d'images de démarrage. Référence est faite à la figure 3, qui est un organigramme montrant une procédure de transmission de données selon la présente invention. La figure 3 montre la procédure du transfert de données à partir du jeu de puces 10 à la première mémoire 21 commandée par l'unité de commande de transmission 20. La procédure de transfert de données présente les étapes suivantes. Au commencement, le jeu de puces 10 commence à transmettre des données pour la première mémoire 21 (S301). Ensuite, l'unité de commande de transmission 20 reçoit les données transmises à partir du jeu de puces 10 (S303). L'unité de commande de transmission 20 détermine si la première mémoire 21 peut recevoir et traiter la totalité des données immédiatement (S305) ; en d'autres termes, l'unité de commande de transmission 20 vérifie si la quantité de données qui peuvent être reçues et traitées par la première mémoire 21 excède celle des données transmises à partir du jeu de puces 10. Si le résultat de la détermination est oui, la première mémoire 21 reçoit immédiatement les données transmises à partir du jeu de puces 10 (S307). Sinon, l'unité de commande de transmission 20 mémorise temporairement une partie des données transmises à partir du jeu de puces 10 dans la seconde mémoire 22 (S309) et envoie directement la partie restante à la première mémoire 21 (S311). Après que la première mémoire 21 finit de recevoir la partie de données envoyée à partir de l'unité de commande de transmission 20 (S313), la partie des données temporairement mémorisée dans la seconde mémoire 22 est ensuite envoyée à la première mémoire 21 (S315). Référence est faite à la figure 4, qui est un organigramme montrant une autre procédure de transfert de données selon la présente invention. La figure 4 montre la procédure du transfert de données de la première mémoire 21 au jeu de puces 10 commandée par l'unité de commande de transmission 20. La procédure de transfert de données comporte les étapes suivantes. Au commencement, la première mémoire 21 commence à transmettre les données pour le jeu de puces 10 (S401). Ensuite, l'unité de commande de transmission 20 reçoit les données transmises à partir de la première mémoire 21 (S403). L'unité de commande de transmission 20 détermine si le jeu de puces 10 peut immédiatement recevoir et traiter la totalité des données (S405) ; en d'autres termes, l'unité de commande de transmission 20 vérifie si la quantité de données qui peut être reçue et traitée par le jeu de puces 10 excède celle des données transmises à partir de la première mémoire 21, et si le jeu de puces 10 n'est pas occupé. Si le résultat de la détermination est oui, le jeu de puces 10 reçoit immédiatement les données transmises à partir de la première mémoire 21 (S407). Sinon, l'unité de commande de transmission 20 mémorise temporairement une partie des données transmises à partir de la première mémoire 21 dans la seconde mémoire 22 (S409) et envoie directement la partie restante au jeu de puces 10 (S411). Après que le jeu de puces 10 finit de recevoir la partie de données envoyée à partir de l'unité de commande de transmission 20 (S413), la partie des données temporairement mémorisée dans la seconde mémoire 22 est ensuite envoyée au jeu de puces 10 (S415). En conséquence, l'unité de commande de transmission 20 fournie dans ce mode de réalisation peut commander le transfert de données entre le jeu de puces 10 et la première mémoire 21 selon la quantité de données transmise. Lorsque la quantité de données est plus petite que celle capable d'être reçue et traitée par le dispositif de destination, le dispositif de destination reçoit directement les données transmises. Sinon, lorsque la quantité de données est plus grande que celle capable d'être reçue et traitée par le dispositif de destination, seule une partie des données qui peut être reçue et traitée par le dispositif de destination est transmise. La partie restante des données est temporairement mémorisée dans la seconde mémoire 22. Après que le dispositif de destination finit de recevoir et de traiter les données envoyées à partir de l'unité de commande de transmission 20, la partie restante des données est envoyée de la seconde mémoire 22 au dispositif de destination. Puisque la seconde mémoire est prévue pour mémoriser des données temporairement, assurant ainsi une fonction similaire à celle d'une mémoire cache, la vitesse de transmission des données transférées entre le jeu de puces 10 et la première mémoire 21 est améliorée. Référence est faite à la figure 5, qui est un organigramme montrant une procédure pour allumer/éteindre un système informatique selon la présente invention. La seconde mémoire 22 mémorise les données de démarrage nécessaires par avance. De ce fait, lorsque le système informatique est allumé, le jeu de puces 10 accède aux données de démarrage nécessaires mémorisées dans la seconde mémoire 22 via l'unité de commande de transmission 20 (S501). Ainsi, on peut accéder rapidement aux données de démarrage nécessaires. Selon les données, le système informatique est activé (S503). Le procédé de démarrage du système informatique proposé dans ce mode de réalisation est plus rapide que le procédé classique où les données de démarrage doivent être acquise à partir d'un disque dur. Lorsque l'ordinateur doit être éteint ou doit rentrer dans un mode d'attente, les données de démarrage sont mémorisées dans la seconde mémoire par avance (S505). De ce fait, la prochaine fois que le système informatique est allumé, on peut directement accéder aux données de démarrage à partir de la seconde mémoire 22. Bien que la présente invention ait été décrite en référence au mode de réalisation préféré de celle-ci, il sera compris que l'invention n'est pas limitée aux détails de celui-ci. Diverses substitutions et modifications ont été suggérées dans la description précédente, et d'autres apparaîtront à l'homme du métier. En conséquence, la totalité de telles substitutions et modifications est englobée dans la portée de l'invention, comme définie dans les revendications annexées. REVENDICATIONS 1. Dispositif de transmission de données, caractérisé en ce qu'il est appliqué pour communiquer avec un jeu de puces (10) d'un système informatique, le dispositif de transmission de données étant caractérisé en ce qu'il comprend: une première mémoire (21) ; une seconde mémoire (22) ; et une unité de commande de transmission (20) connectée électriquement à la première mémoire (21) et la seconde mémoire (22), l'unité de commande de transmission (20) étant utilisée pour commander le fonctionnement du transfert de données entre le jeu de puces (10), la première mémoire (21) et la seconde mémoire (22) ; dans lequel lorsque l'opération de transfert de données est effectuée entre le jeu de puces (10) et la première mémoire (21), le dispositif de commande de transmission (20) vérifie si un dispositif de destination est capable de recevoir et de traiter complètement les données envoyées, le dispositif de destination étant le jeu de puces (10) ou la première mémoire (21) ; dans lequel si un résultat de la vérification est positif, le dispositif de commande de transmission amène le dispositif de destination à recevoir les données immédiatement et, si le résultat de la vérification est négatif, le dispositif de commande de transmission (20) envoie tout d'abord une partie des données au dispositif de destination et mémorise une partie restante des données dans la seconde mémoire (22) temporairement, puis la seconde mémoire (22) envoie la partie restante des données au dispositif de destination. 2. Dispositif de transmission de données selon la revendication 1, caractérisé en ce que la seconde mémoire est une unité de mémoire. 3. Dispositif de transmission de données selon la revendication 1 ou 2, caractérisé en ce qu'une interface de l'unité de commande de transmission (20) et le jeu de puces (10) est une interface PCI-E. 4. Procédé de transmission de données, caractérisé en ce qu'il est appliqué pour une communication avec un jeu de puces (10) d'un système informatique, le procédé étant caractérisé en ce qu'il comprend les étapes consistant à : fournir une unité de commande de transmission (20) commandant le jeu de puces (10) pour envoyer des données à une première mémoire (21) ; utiliser l'unité de commande de transmission (20) pour recevoir les données envoyées à partir du jeu de 25 puces (10) ; utiliser l'unité de commande de transmission pour vérifier si la première mémoire (21) est capable de recevoir et de traiter complètement les données envoyées à partir du jeu de puces (10) ; utiliser la première mémoire (21) pour recevoir les données envoyées à partir du jeu de puces (10) directement sous la commande de l'unité de commande de transmission (20) si un résultat des vérifications est positif; et si le résultat de la vérification est négatif, mémoriser une première partie des données dans une seconde mémoire temporairement et directement en envoyant une seconde partie, une partie restante, des données à la première mémoire, puis en envoyant la première partie des données temporairement mémorisée dans la seconde mémoire (22) à la première mémoire (21) après que la première mémoire finit de recevoir et de traiter la seconde partie des données. 5. Procédé selon la revendication 4, caractérisé en ce que la première mémoire est capable de recevoir et de traiter complètement les données envoyées à partir du jeu de puces (10) lorsque la première mémoire (21) est capable de recevoir et de traiter une quantité de données excédant une quantité des données envoyées à partir du jeu de puces (10) à la première mémoire (21). 6. Procédé de transmission de données, caractérisé en ce qu'il est appliqué pour une communication avec un jeu de puces (10) d'un système informatique, le procédé étant caractérisé en ce qu'il comprend les étapes consistant à : fournir une unité de commande de transmission (20) commandant une première mémoire (21) pour envoyer des données au jeu de puces (10); utiliser l'unité de commande de transmission (20) pour recevoir les données envoyées à partir de la première mémoire (21) ; utiliser l'unité de commande de transmission (20) pour vérifier si le jeu de puces (10) est capable de recevoir et de traiter complètement les données envoyées à partir de la première mémoire (21) ; utiliser le jeu de puces (10) pour recevoir les données envoyées à partir de la première mémoire (21) directement sous la commande de l'unité de commande de transmission (20) si un résultat de la vérification est positif; et si le résultat de la vérification est négatif, mémoriser temporairement une première partie des données dans une seconde mémoire et envoyer directement une seconde partie, une partie restante, des données au jeu de puces, puis envoyer la première partie des données temporairement mémorisées dans la seconde mémoire (22) vers le jeu de puces (10) après que le jeu de puces (10) finit de recevoir et de traiter la seconde partie des données. 7. Procédé selon la revendication 6, caractérisé en ce que le jeu de puces (10) est capable de recevoir et de traiter complètement les données envoyées à partir de la première mémoire (21) lorsque le jeu de puces (10) est capable de recevoir et de traiter une quantité de données excédant une quantité de données envoyée de la première mémoire (21) au jeu de puces (10). 18 2887661 8. Procédé pour démarrer rapidement un système informatique, caractérisé en ce qu'il comprend les étapes consistant à : fournir une unité de commande de transmission (20) connectant un jeu de puces (10) avec une unité de mémoire, l'unité de commande de transmission (20) commandant le fonctionnement du transfert de données entre le jeu de puces (10) et l'unité de mémoire, dans lequel l'unité de mémoire mémorise les données de démarrage nécessaires et obtient de l'électricité à partir d'une source d'alimentation; et utiliser le jeu de puces (10) pour accéder aux données de démarrage nécessaires à partir de l'unité de mémoire via l'unité de commande de transmission (20). 9. Procédé selon la revendication 8, caractérisé en ce qu'une interface de l'unité de commande de transmission (20) et du jeu de puces (10) est une interface PCI-E. 10. Procédé selon la revendication 8 ou 9, caractérisé en ce qu'il comprend en outre les étapes consistant à : établir un système de base d'entrée/sortie (BIOS) 25 du système informatique pour utiliser l'unité de mémoire pour un démarrage; mémoriser les données de démarrage nécessaires dans l'unité de mémoire avant que l'ordinateur soit allumé ; et mémoriser les données de démarrage nécessaires dans l'unité de mémoire lorsque le système informatique doit être éteint ou doit entrer dans un mode d'attente.