FR2618578A1 - On-board modular computer system with integrated virtual memory - Google Patents

On-board modular computer system with integrated virtual memory Download PDF

Info

Publication number
FR2618578A1
FR2618578A1 FR8710313A FR8710313A FR2618578A1 FR 2618578 A1 FR2618578 A1 FR 2618578A1 FR 8710313 A FR8710313 A FR 8710313A FR 8710313 A FR8710313 A FR 8710313A FR 2618578 A1 FR2618578 A1 FR 2618578A1
Authority
FR
France
Prior art keywords
memory
page
pages
primary
primary memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR8710313A
Other languages
French (fr)
Inventor
Olivier B Sebilleau
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digilog AB
Original Assignee
Digilog AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digilog AB filed Critical Digilog AB
Priority to FR8710313A priority Critical patent/FR2618578A1/en
Publication of FR2618578A1 publication Critical patent/FR2618578A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures

Abstract

The memory module 30 of the computer system consists of an integrated virtual memory comprising a primary memory 31 consisting of a RAM memory block, a secondary memory 32 consisting of a bulk memory and a memory management unit. The secondary memory 32 is divided into pages of fixed size which constitute the unit for access to this memory and is structured linearly, and the primary memory 31 is configured to contain a copy of a limited subset of pages of the secondary memory. An address translation device 33 comprises a set of static memories constituting a descriptive table comprising a number of page descriptors equal to the number of pages of the secondary memory 32 and a device 34 for managing transfers between the primary memory and the secondary memory comprises a set of static memories constituting an attached descriptive table comprising a number of page descriptors equal to the number of pages of the primary memory 31.

Description

SYSTEME INFORMATIQUE MODULAIRE EMBARQUE
A MEMOIRE VIRTUELLE INTEGREE
La présente invention a pour objet un système informatique modulaire embarqué comprenant au moins un bus global, un module d'unité centrale, un moduLe mémoire et un module d'entrée-sortie.
MODULAR ON-BOARD COMPUTER SYSTEM
INTEGRATED VIRTUAL MEMORY
The present invention relates to an on-board modular computer system comprising at least one global bus, a central processing unit module, a memory module and an input-output module.

Les équipements militaires embarqués comprennent des systèmes informatiques destinés le plus souvent à des applications de type temps réel, telles que la conduite d'armes, qui imposent de courts délais de réactionaux évènements externes mais sont en général suffisamment déterministes pour ne pas nécessiter de mécanismes complexes d'allocation dynamique de mémoire. On-board military equipment includes computer systems most often intended for real-time type applications, such as driving weapons, which impose short reaction times to external events but are generally sufficiently deterministic not to require complex mechanisms. dynamic memory allocation.

Toutefois, actuellement les exigences en capacité de mémorisation croissent rapidement, non pas tellement pour les programmes de traitement, mais surtout pour les données traitées bases de données tactiques, images numérisées ou synthétiques. Si ces données sont structurables en blocs de taille suffisamment faible pour résider individuellement en mémoire, une organisation classique par fichiers demeure appropriée. Ce n'est plus le cas si les données ne sont pas structurables a priori, par exemple lorsque le critère statistique de localisation des accès successifs ne peut etre respecté. However, currently the requirements for storage capacity are growing rapidly, not so much for processing programs, but especially for data processed in tactical databases, digital or synthetic images. If these data can be structured into blocks of sufficiently small size to reside individually in memory, a conventional organization by files remains appropriate. This is no longer the case if the data cannot be structured a priori, for example when the statistical criterion for locating successive accesses cannot be respected.

Par ailleurs, les applications informatiques militaires n'exigent pas toujours de façon systématique un délai d'accès court ou déterministe
Il est donc souhaitable de pouvoir disposer d'une mémoire de très grande capacité apparente capable d'être intégrée dans un système modulaire de type processeur à usage militaire sans imposer de contrainte fonctionnelle aux architectures matérielles et logicielles des machines existantes.
In addition, military computer applications do not always systematically require a short or deterministic access time
It is therefore desirable to be able to have a memory of very large apparent capacity capable of being integrated in a modular system of processor type for military use without imposing functional constraints on the hardware and software architectures of existing machines.

On a déjà proposé d'implanter sur des ordinateurs ou des micro-processeurs des unités de gestion de mémoire qui, grâce au principe de la segmentation, permettent La réalisation de systèmes à multiprogrammation et, grâce au mécanisme de La pagination, permettent en outre d'offrir une capacité d'adressage individuelle très grande à chaque processus.  It has already been proposed to install memory management units on computers or microprocessors which, thanks to the principle of segmentation, allow the realization of multiprogramming systems and, thanks to the pagination mechanism, also allow '' offer a very large individual addressing capacity for each process.

L'utilisation de telles techniques est cependant cantonnée dans le domaine des applications en temps réel, car les contraintes en termes de temps de réponse sont importantes. The use of such techniques is however limited to the field of real-time applications, since the constraints in terms of response time are significant.

Or, pour de nombreuses applications en temps réel, il convient de manipuler des volumes importants de données et les contraintes temporelles, bien que non négligeables, permettent de tolérer un très léger accroissement du temps d'accès à la mémoire centrale. However, for many real-time applications, it is necessary to handle large volumes of data and the time constraints, although not negligible, make it possible to tolerate a very slight increase in the access time to the central memory.

La présente invention vise précisément à prendre en compte ces applications et à permettre de fournir à un processeur, notamment un processeur d'équipement militaire embarqué, un espace d'adressage important, supérieur aux tailles de mémoire vive actuellement disponibles, sans que le temps d'accès à La mémoire soit augmenté de façon significative. The present invention aims precisely to take these applications into account and to make it possible to provide a processor, in particular a processor of on-board military equipment, with a large address space, greater than the sizes of random access memory currently available, without the time d memory is increased significantly.

Ces buts sont atteints grâce à un système informatique moduLaire embarqué comprenant au moins un bus global, un module d'unité centrale, un module mémoire et un module d'entrée-sortie, caractérisé en ce que le module mémoire est constitué par une mémoire virtuelle intégrée comprenant une mémoire primaire constituée par un bloc de mémoire RAM ayant une capacité de l'ordre de quelques mégaoctets, une mémoire secondaire constituée par une mémoire de masse ayant une capacité de plusieurs centaines de mégaoctets, et une unité de gestion mémoire regroupant un dispositif de traduction d'adresse et un dispositif de gestion de transferts entre la mémoire primaire et la mémoire secondaire, en ce que la mémoire secondaire est divisée en pages de taille fixe qui constituent l'unité d'accès à cette mémoire et se trouve structurée de façon linéaire, en ce que la mémoire primaire est adaptée pour contenir la copie d'un sous-ensemble limité des pages de la mémoire secondaire, en ce que le dispositif de traduction d'adresse comprend un ensemble de mémoires statiques constituant une table descriptive comprenant un nombre de descripteurs de pages égal au nombre de pages de la mémoire secondaire et en ce que le dispositif de gestion de transferts entre la mémoire primaire et la mémoire secondaire comprend un ensemble de mémoires statiques constituant une table descriptive annexe comprenant un nombre de descripteurs de pages égal au nombre de pages de la mémoire primaire. These aims are achieved by an on-board modular computer system comprising at least one global bus, a central processing unit module, a memory module and an input-output module, characterized in that the memory module consists of a virtual memory. integrated comprising a primary memory constituted by a block of RAM memory having a capacity of the order of a few megabytes, a secondary memory constituted by a mass memory having a capacity of several hundred megabytes, and a memory management unit grouping a device address translation and a device for managing transfers between the primary memory and the secondary memory, in that the secondary memory is divided into pages of fixed size which constitute the access unit to this memory and is structured linearly, in that the primary memory is adapted to contain the copy of a limited subset of the pages of the secondary memory, in that the device d address translation comprises a set of static memories constituting a descriptive table comprising a number of page descriptors equal to the number of pages of the secondary memory and in that the device for managing transfers between the primary memory and the secondary memory comprises a set of static memories constituting an annex descriptive table comprising a number of page descriptors equal to the number of pages of the primary memory.

La table descriptive comprend pour chaque descripteur correspondant à une page un espace de stockage pour fournir
L'indication d'un numéro de page physique dans le cas où la page corr#espondante est effectivement présente en mémoire primaire, et un espace de stockage pour contenir des indications de protection associées à la page correspondante.
The descriptive table includes for each descriptor corresponding to a page a storage space to provide
The indication of a physical page number in the case where the corr # sponding page is actually present in primary memory, and a storage space for containing protection indications associated with the corresponding page.

La table descriptive annexe comprend pour chaque descripteur correspondant à une page un espace de stockage constituant un pointeur pour permettre de retrouver directement le numéro de page mémoire secondaire et un espace de stockage pour contenir des indications relatives à la fonction des pages de mémoire primaire telles que des indications de modification ou de date du dernier accès à la page correspondante. The descriptive annex table includes for each descriptor corresponding to a page a storage space constituting a pointer to allow direct retrieval of the secondary memory page number and a storage space to contain indications relating to the function of the primary memory pages such as indications of modification or date of last access to the corresponding page.

La mémoire virtuelle intégrée comprend en outre un dispositif matériel de communication avec l'unité centrale comprenant une pile FIFO matériel à double sens, des interruptions associées à la pile FIFO et un système de signalisation d'erreur de bus. The integrated virtual memory further comprises a hardware device for communication with the central unit comprising a two-way hardware FIFO stack, interrupts associated with the FIFO stack and a bus error signaling system.

L'invention est applicable à un système d'exploitation à adressage linéaire, dans Lequel les processus sont implantés à une adresse physique immuable ou à un système d'exploitation à multiprogrammation dans lequel les adresses générées par l'unité centrale sont des adresses logiques, les processus présentant des espaces Linéaires d'adressage qui se recoupent. The invention is applicable to a linear addressing operating system, in which the processes are located at an unchanging physical address or to a multiprogramming operating system in which the addresses generated by the central unit are logical addresses, processes with overlapping linear addressing spaces.

Dans ce dernier cas, le dispositif de gestion de transferts entre la mémoire primaire et la mémoire secondaire comprend une table descriptive de processus contenant pour chaque processus un espace de stockage pour fournir une indication de la taille du processus et un espace de stockage pour fournir une indication de L'adresse d'implantation en mémoire secondaire. In the latter case, the device for managing transfers between the primary memory and the secondary memory comprises a descriptive process table containing for each process a storage space to provide an indication of the size of the process and a storage space to provide a indication of the location address in secondary memory.

D'autres caractéristiques et avantages de L'invention ressortiront de la description suivante de modes particuliers de réalisation donnés à titre d'exemple, en référence aux dessins annexés, sur lesquels
- la figure 1 représente le schéma fonctionnel général d'un système informatique mettant en oeuvre l'invention ;
- la figure 2 représente le schéma d'un mécanisme possible de traduction d'adresse ;
- la figure 3 représente un schéma illustrant L'adressage logique d'une mémoire virtuelle intégrée dans le cas d'un espace d'adressage de processeur utilisant des adresses logiques ;
- la figure 4 représente le schéma fonctionnel complet d'une unité de gestion mémoire d'une mémoire virtuelle intégrée conforme à l'invention, applicable au cas d'un adressage logique selon la figure 3 ; et
- la figure 5 représente le schéma synoptique d'ensemble d'un système informatique à mémoire virtuelle intégrée réalisé selon l'invention.
Other characteristics and advantages of the invention will emerge from the following description of particular embodiments given by way of example, with reference to the appended drawings, in which
- Figure 1 shows the general block diagram of a computer system implementing the invention;
- Figure 2 shows the diagram of a possible address translation mechanism;
- Figure 3 shows a diagram illustrating the logical addressing of an integrated virtual memory in the case of a processor address space using logical addresses;
- Figure 4 shows the complete block diagram of a memory management unit of an integrated virtual memory according to the invention, applicable in the case of logical addressing according to Figure 3; and
- Figure 5 shows the block diagram of a computer system with integrated virtual memory produced according to the invention.

La figure 1 montre un système informatique prévu pour être embarqué sur un engin militaire, architecturé autour d'un bus global 10 et comportant un module d'unité centrale 20, un module mémoire 30 et un module d'entrée-sortie 50. FIG. 1 shows a computer system intended to be installed on a military vehicle, structured around a global bus 10 and comprising a central unit module 20, a memory module 30 and an input-output module 50.

Conformément à L'invention, le module mémoire 30 est réalisé sous la forme d'une mémoire virtuelle intégrée qui peut présenter une capacité allant jusqu a plusieurs centaines de mégaoctets. Le système informatique présente ainsi une capacité réelle de mémoire à accès direct très supérieure à la taille des mémoires vives actuellement disponibles, qui ne dépasse pas quelques mégaoctets. According to the invention, the memory module 30 is produced in the form of an integrated virtual memory which can have a capacity of up to several hundred megabytes. The computer system thus presents a real capacity of direct access memory much greater than the size of the random access memories currently available, which does not exceed a few megabytes.

Le module 30 de mémoire virtuelle intégrée (ci-après désignée par MVI) utilise de façon spécifique des techniques connues de pagination pour gérer l'ensemble de la mémoire et comprend des ensembles fonctionnels 31 à 34 qui seront énumérés ci-après. The integrated virtual memory module 30 (hereinafter referred to as MVI) specifically uses known paging techniques to manage all of the memory and comprises functional assemblies 31 to 34 which will be listed below.

Une mémoire primaire 31 est constituée par un bloc de mémoire vive RAM, dont la capacité typique peut être par exemple de 2 mégaoctets.  A primary memory 31 is constituted by a block of random access memory RAM, the typical capacity of which can be, for example, 2 megabytes.

Une mémoire secondaire 32 qui définit la capacité totale du module mémoire 30 est constituée par une unité de rangement périphérique de grande capacité, telle qu'un disque magnétique, et peut présenter une capacité par exemple de 256 mégaoctets. A secondary memory 32 which defines the total capacity of the memory module 30 is constituted by a large capacity peripheral storage unit, such as a magnetic disk, and can have a capacity for example of 256 megabytes.

Les mémoires primaire 31 et secondaire 32 sont divisées en pages de taille fixe, la page constituant l'unité d'accès à la mémoire secondaire 32. La mémoire primaire 31 contient la copie d'un sous-ensemble des pages de la mémoire secondaire 32. The primary 31 and secondary 32 memories are divided into pages of fixed size, the page constituting the secondary memory access unit 32. The primary memory 31 contains the copy of a subset of the pages of the secondary memory 32 .

Lors d'un accès à une mémoire 30 de type MVI, deux cas peuvent se présenter :
- la page qui contient la case mémoire qui est adressée par le processeur 20 est présente en mémoire primaire 31 : la donnée est alors disponible ;
- la page qui contient la case mémoire qui est adressée par le processeur n'est pas présente en mémoire primaire 31 : la page concernée doit alors être transférée de la mémoire secondaire 32 à la mémoire primaire 31.
When accessing an MVI type memory 30, two cases can arise:
the page which contains the memory box which is addressed by the processor 20 is present in primary memory 31: the data is then available;
the page which contains the memory box which is addressed by the processor is not present in primary memory 31: the page concerned must then be transferred from secondary memory 32 to primary memory 31.

La mémoire 30 doit ainsi comprendre une unité de gestion mémoire qui regroupe un dispositif 34 de- gestion des transferts entre la mémoire primaire 31 et la mémoire secondaire 32 et un dispositif 33 de traduction d'adresse. The memory 30 must thus include a memory management unit which groups together a device 34 for managing transfers between the primary memory 31 and the secondary memory 32 and a device 33 for address translation.

La mémoire secondaire 32 est structurée de façon linéaire de sorte que la correspondance entre L'adresse 110 (Fig. 2) d'une donnée émise par le processeur 20 et l'adresse de cette même donnée en mémoire secondaire 32 soit immédiate. The secondary memory 32 is structured in a linear fashion so that the correspondence between the address 110 (FIG. 2) of a datum transmitted by the processor 20 and the address of this same datum in the secondary memory 32 is immediate.

Ainsi, l'adresse 110 est constituée par un mot dont une partie fixe 111 contient le numéro de page et une partie fixe 112 constitue le déplacement. Thus, the address 110 is constituted by a word of which a fixed part 111 contains the page number and a fixed part 112 constitutes the movement.

Le processeur 20 accède aux données par l'intermédiaire de
La mémoire primaire 31 qui contient la copie d'un sous-ensemble limité des pages de la mémoire secondaire 32.
The processor 20 accesses the data via
The primary memory 31 which contains the copy of a limited subset of the pages of the secondary memory 32.

La gestion de la mémoire primaire 31 implique l'existence d'une table de descripteurs qui permet d'obtenir L'adresse d'une page en mémoire primaire 31, à partir de l'adresse générée par le processeur 20.  The management of the primary memory 31 implies the existence of a descriptor table which makes it possible to obtain the address of a page in primary memory 31, from the address generated by the processor 20.

L'unité de gestion mémoire doit permettre :
- de déterminer la page à laquelle appartient la donnée référencée,
- de déterminer si la page en question est présente en mémoire primaire 31,
- d'effectuer la traduction d'adresse dans le cas où la page est présente en mémoire primaire 31.
The memory management unit must allow:
- to determine the page to which the referenced data belongs,
- to determine if the page in question is present in primary memory 31,
- perform address translation if the page is present in primary memory 31.

Pour faciliter la compréhension de l'invention, on décrira d'abord, en référence à la figure 2, une architecture idéale pour une unité de gestion mémoire, laquelle architecture présente toutefois des difficultés pratiques de mise en oeuvre dans l'application envisagée. To facilitate understanding of the invention, an architecture which is ideal for a memory management unit will first be described, with reference to FIG. 2, which architecture however presents practical difficulties of implementation in the envisaged application.

Selon la solution de la figure 2, on utilise un ensemble 72 de registres descripteurs 120 en nombre égal au nombre de pages de la mémoire primaire 31. Chaque registre descripteur 120 contient dans une première partie 121 le numéro N de la page considérée et dans une seconde partie 122 un ensemble d'éléments binaires pour la gestion de la page (protection, indicateur de modification,....).  According to the solution of FIG. 2, a set 72 of descriptor registers 120 is used in a number equal to the number of pages of the primary memory 31. Each descriptor register 120 contains in a first part 121 the number N of the page considered and in a second part 122 a set of binary elements for managing the page (protection, modification indicator, etc.).

Avec un tel ensemble 72 de registres descripteurs 120, le mécanisme de traduction d'adresse peut être très simple. Le numéro de page N peut en effet être déduit par troncature à partir de l'adresse 110 générée par le processeur, en supprimant la partie 112 correspondant au déplacement. Une recherche associative peut alors être effectuée dans L'ensemble 72 des registres descripteurs 120 entre les informations des parties 112 et 121. Lorsqu'il y a correspondance, le numéro i figurant dans la seconde partie 122 du registre descripteur 120 fournit le numéro de page de mémoire primaire. L'adresse 130 de mémoire primaire peut alors être obtenue en concaténant le numéro i qui figurera alors dans la partie d'adresse 131 avec le déplacement de la partie 112 qui constituera la seconde partie 132 de l'adresse 130. With such a set 72 of descriptor registers 120, the address translation mechanism can be very simple. The page number N can indeed be deduced by truncation from the address 110 generated by the processor, by removing the part 112 corresponding to the displacement. An associative search can then be carried out in the set 72 of the descriptor registers 120 between the information of the parts 112 and 121. When there is a match, the number i appearing in the second part 122 of the descriptor register 120 provides the page number of primary memory. The address 130 of primary memory can then be obtained by concatenating the number i which will then appear in the address part 131 with the displacement of the part 112 which will constitute the second part 132 of the address 130.

Un inconvénient de L'architecture idéale de la figure 2 réside toutefois dans le fait qu'il est difficile de réaliser avec un encombrement et un coût limités une mémoire associative présentant une taille suffisante pour la présente application.  A disadvantage of the ideal architecture of FIG. 2 however resides in the fact that it is difficult to produce, with limited space and cost, an associative memory having a size sufficient for the present application.

En effet, chaque mot de la mémoire associative contient un descripteur. Si la mémoire primaire 31 contient 2 mégaoctets découpés en pages de 4K, il faut que la mémoire associative comprenne 512 mots ayant une longueur d'une quarantaine de bits dont une vingtaine pour le numéro de page logique qui sert de clé d'accès associatif. La réalisation d'une mémoire associative d'une telle capacité reste complexe et diminue donc l'intérêt de l'architecture idéale de la figure 2. Indeed, each word of the associative memory contains a descriptor. If the primary memory 31 contains 2 megabytes cut into 4K pages, the associative memory must include 512 words having a length of around forty bits, of which about twenty are for the logical page number which serves as the associative access key. The realization of an associative memory of such a capacity remains complex and therefore reduces the interest of the ideal architecture of FIG. 2.

C'est pourquoi, selon un mode de réalisation de la présente invention, on n'associe pas de façon bi-u#ivoque une position mémoire de descripteur à une page physique et on n'utilise pas de mémoire vive pour les descripteurs. This is why, according to an embodiment of the present invention, a descriptor memory position is not bi-u # ivocally associated with a physical page and no random access memory is used for the descriptors.

Le schéma d'une unité de gestion mémoire selon l'invention est représentée sur la figure 4. The diagram of a memory management unit according to the invention is shown in FIG. 4.

Une table 63 de descripteurs de page est constituée par des mémoires statiques et comporte autant de descripteurs de page 330 que de pages en mémoire secondaire 32. Ainsi pour des pages de 4K et une mémoire secondaire 32 de 256 mégaoctets, la table 63 comporte 64K descripteurs. A table 63 of page descriptors is made up of static memories and comprises as many page descriptors 330 as there are pages in secondary memory 32. Thus for pages of 4K and a secondary memory 32 of 256 megabytes, table 63 has 64K descriptors .

La traduction d'adresses consiste alors simplement à remplacer la partie 111 de l'adresse processeur 110 contenant le numéro de page N par Le numéro de page physique N' contenu dans la partie 331 du descripteur de page 330, dans Le cas où la page N est effectivement présente en mémoire primaire 31 dans une position N'. Address translation then consists simply in replacing part 111 of processor address 110 containing the page number N by The physical page number N 'contained in part 331 of the page descriptor 330, in the case where the page N is actually present in primary memory 31 in a position N '.

La partie 332 du descripteur 330 appelée 11prote contient les indicateurs de protection associés à la page.Part 332 of descriptor 330 called 11prote contains the protection indicators associated with the page.

Selon L'invention, une table annexe 64 de descripteurs de page en mémoire primaire est constituée par des mémoires statiques et comporte autant de descripteurs de page 340 que de pages en mémoire primaire. Ainsi, pour des pages de 4K et une mémoire primaire 31, de L'ordre de 2 mégaoctets t2048 K), la table 64 comporte 512 descripteurs. According to the invention, an annex table 64 of page descriptors in primary memory is constituted by static memories and comprises as many page descriptors 340 as pages in primary memory. Thus, for pages of 4K and a primary memory 31, of the order of 2 megabytes (t2048 K), the table 64 comprises 512 descriptors.

La table 64 n'est pas utilisée pour la traduction d'adresse, mais chaque descripteur 340 comprend une partie 342 dite "serv" qui est mise#à jour à chaque accès à la page et contient les indicateurs nécessaires à la fonction des pages de mémoire primaire : indicateur de modification, temps de présence de la page en mémoire primaire (date du dernier accès). Chaque descripteur 340 comprend une autre partie 341 dite "pointeur descripteur" qui permet de retrouver directement Le numéro de page secondaire. Table 64 is not used for address translation, but each descriptor 340 includes a part called "serv" which is updated # each time the page is accessed and contains the indicators necessary for the function of the pages of primary memory: modification indicator, page presence time in primary memory (date of last access). Each descriptor 340 includes another part 341 known as a "descriptor pointer" which enables the secondary page number to be found directly.

La mise en oeuvre d'une table annexe 64 de descripteurs de page en mémoire primaire est avantageuse dans la mesure où elle évité l'implémentation des information "serv" dans les descripteurs de page de la table 63 qui ne serait pas satisfaisante car elle conduirait à une perte de place du fait que les informations "serv" ne sont utiles que pour les pages présentes en mémoire primaire. The implementation of an annex table 64 of page descriptors in primary memory is advantageous insofar as it avoids the implementation of "serv" information in the page descriptors of table 63 which would not be satisfactory because it would lead loss of space due to the fact that the "serv" information is only useful for pages present in primary memory.

Par ailleurs, une optimisation de La gestion des pages de mémoire primaire nécessite le balayage fréquent des descripteurs associés pour anticipation de chargement ou de vidage en mémoire secondaire, par exemple. Or ceci n'est pas envisageable sur une table de grande capacité telle que la table 63. Ainsi, la mise en oeuvre à la fois d'une grande table 63 de descripteurs de page et d'une table annexe 64 de taille réduite, comportant exclusivement des descripteurs de mémoire primaire, permet d'optimiser la gestion de la mémoire virtuelle intégrée. Furthermore, an optimization of the management of the primary memory pages requires frequent scanning of the associated descriptors for anticipation of loading or emptying into secondary memory, for example. However, this cannot be envisaged on a large capacity table such as table 63. Thus, the implementation of both a large table 63 of page descriptors and an annex table 64 of reduced size, comprising exclusively primary memory descriptors, optimizes the management of integrated virtual memory.

On notera qu'un système informatique à mémoire virtuelle intégrée se distingue d'une unité de gestion de mémoire paginée classique par plusieurs aspects. It will be noted that a computer system with integrated virtual memory differs from a conventional paged memory management unit by several aspects.

Ainsi, le concepteur d'une unité de gestion de mémoire paginée classique associée à un processeur n'a aucune connaissance a priori de la taille de la mémoire primaire qui sera utilisée dans les applications de cette unité de gestion mémoire. La réalisation matérielle est donc très complexe. Thus, the designer of a conventional paged memory management unit associated with a processor has no a priori knowledge of the size of the primary memory which will be used in the applications of this memory management unit. Material production is therefore very complex.

Au contraire, le concepteur d'un module MVI conforme å
L'invention définit lui-même la capacité de la mémoire primaire du module. Il peut alors mettre en oeuvre des techniques simplificatives ou accélératrices #optimisées pour cette capacité, notamment par l'utilisation de tables adressée par le numéro de page physique. La réalisation matérielle est ainsi grandement simplifiée.
On the contrary, the designer of an MVI module conforms to
The invention itself defines the capacity of the primary memory of the module. It can then implement simplifying or accelerating techniques # optimized for this capacity, in particular by the use of tables addressed by the physical page number. Material realization is thus greatly simplified.

Selon L'invention, la présence en mémoire de traduction d'adresse (table 63) de la totalité des descripteurs de page de la mémoire secondaire évite la gestion, pénible et lente, des défauts de descripteurs, qui est inévitable avec des unités de gestion mémoire classiques dont la table de traduction n'abrite qu'un petit nombre de descripteurs. According to the invention, the presence in address translation memory (table 63) of all the page descriptors of the secondary memory avoids the painful and slow management of descriptor faults, which is inevitable with management units conventional memory whose translation table contains only a small number of descriptors.

La mémoire de type MVI selon L'invention est par construction une mémoire non volatile, ce qui n'est pas le cas des unités de gestion mémoire paginées. The MVI type memory according to the invention is by construction a non-volatile memory, which is not the case for paged memory management units.

L'intégration de la gestion de la mémoire secondaire 32 au sein de la mémoire virtuelle intégrée n'entraîne que des modifications très minimes et faciles dans le système d'exploitation et constitue un facteur important pour l'amelio- ration des performances. The integration of the management of the secondary memory 32 into the integrated virtual memory causes only very minimal and easy modifications in the operating system and constitutes an important factor for improving performance.

Ainsi, la structure linéaire de la mémoire secondaire 32 évite les erreurs de direction d'adresse lors du transfert d'une page de mémoire primaire vers la mémoire secondaire. Thus, the linear structure of the secondary memory 32 avoids address direction errors during the transfer of a page from primary memory to the secondary memory.

De plus, la séparation physique de la mémoire secondaire par rapport au système de gestion de fichiers évite la traversée de couches du logiciel ainsi que les interférences avec ce dernier et rend les transferts de page très rapides. In addition, the physical separation of secondary memory from the file management system avoids crossing software layers and interference with the latter and makes page transfers very fast.

Selon l'invention, les mécanismes de gestion de mémoire virtuelle sont de type Local et quasi transparents pour le système d'exploitation du processeur central. Il suffit que ce dernier soit en mesure d'attendre le temps de chargement d'une page si celle-ci n'est pas en mémoire primaire. According to the invention, the virtual memory management mechanisms are of the Local type and almost transparent to the operating system of the central processor. It is sufficient that the latter is able to wait for the loading time of a page if it is not in primary memory.

L'accès multiprocesseur à une mémoire paginée pose de nombreux problèmes dans les architectures classiques où le dispositif de gestion de mémoire se trouve sur le module processeur lui-même. Ces problèmes concernent en particulier la cohérence entre les processeurs des tables de descripteurs de pages et la gestion de la pagination, c'est-à-dire des transferts entre mémoires primaire et secondaire. Au contraire, l'intégration de
L'ensemble des mécanismes dans un seul module résout par principe le problème des accès multiprocesseurs.
Multiprocessor access to paged memory poses many problems in conventional architectures where the memory management device is located on the processor module itself. These problems concern in particular the consistency between the processors of the page descriptor tables and the management of paging, that is to say transfers between primary and secondary memories. On the contrary, the integration of
The set of mechanisms in a single module in principle solves the problem of multiprocessor access.

Dans la description précédente, on a essentiellement pris en compte le cas d'un espace d'adressage du processeur qui est linéaire et de très grande capacité. Il s'agit alors de modes# d'adressage physique dans lesquels les processus ou tâches sont implantés à une adresse physique immuable. In the previous description, we have essentially taken into account the case of a processor address space which is linear and of very large capacity. These are then physical addressing modes # in which the processes or tasks are located at an immutable physical address.

Les contraintes liées å la multiprogrammation, qui existent dans les systèmes d'exploitation de type UNIX par exemple, peuvent toutefois être facilement prises en compte dans une mémoire virtuelle intégrée selon l'invention. The constraints linked to multiprogramming, which exist in operating systems of the UNIX type for example, can however be easily taken into account in an integrated virtual memory according to the invention.

Dans les systèmes à multiprogrammation, les adresses générées par le processeur sont des adresses logiques, chaque processus ou tache ayant un domaine d'adressage possible identique. In multiprogramming systems, the addresses generated by the processor are logical addresses, each process or task having an identical possible addressing domain.

La distinction entre des adresses identiques de processus différents est faite par le numéro de processus attribué par le système lors de sa création. Comme on peut le voir sur la figure 3, l'espace total 11 d'adressage du processeur n'est pas constitué par un seul espace linéaire dont la dimension correspond à celui de la mémoire secondaire 32, mais par un ensemble de plusieurs espaces
Linéaires qui correspondent aux différents processus et se recouvrent, la réunion des divers espaces linéaires correspondant à la taille de La mémoire secondaire.
The distinction between identical addresses of different processes is made by the process number assigned by the system when it was created. As can be seen in FIG. 3, the total address space 11 of the processor is not constituted by a single linear space whose dimension corresponds to that of the secondary memory 32, but by a set of several spaces
Linear which correspond to the different processes and overlap, the union of the various linear spaces corresponding to the size of the secondary memory.

Dans ce cas, le mécanisme de traduction d'adresse doit permettre la correspondance entre un ensemble constitué par une adresse logique du processeur et un numéro de processus, une adresse de page de mémoire primaire et une adresse de page de mémoire secondaire. In this case, the address translation mechanism must allow correspondence between a set consisting of a logical address of the processor and a process number, a primary memory page address and a secondary memory page address.

Chaque processus P1, P2,... est stocké de façon linéaire dans la mémoire secondaire 32. Each process P1, P2, ... is stored linearly in the secondary memory 32.

Afin d'optimiser l'encombrement de chaque processus en mémoire, on n'effectue pas une correspondance directe entre
L'ensemble numéro de processus et adresse logique d'une part et
L'adresse de page de mémoire secondaire d'autre part. Ceci imposerait en effet une taille maximum égale pour chaque processus et donc une perte de place en mémoire secondaire.
In order to optimize the size of each process in memory, we do not make a direct correspondence between
The whole process number and logical address on the one hand and
The secondary memory page address on the other hand. This would indeed impose a maximum equal size for each process and therefore a loss of space in secondary memory.

On crée en revanche une table descriptive de processus contenant pour chaque processus ta taille et l'adresse d'implantation en mémoire secondaire. Cette table n'intervient pas dans la traduction d'adresse processeur en adresse mémoire primaire, mais seulement lors des transferts de page entre mémoire primaire et mémoire secondaire. On the other hand, a descriptive process table is created containing for each process your size and the location address in secondary memory. This table is not involved in the translation of processor address into primary memory address, but only during page transfers between primary memory and secondary memory.

Dans le cas d'une multiprogrammation, l'unité de gestion mémoire prend en compte le numéro de processus courant (initialisé à chaque commutation de processus par le processeur central 20) pour effectuer la traduction d'adresse selon le schéma de la figure 4. In the case of multiprogramming, the memory management unit takes into account the current process number (initialized at each process switching by the central processor 20) to perform the address translation according to the diagram in FIG. 4.

C'est pourquoi on a représenté sur la figure 4 deux registres 35, 36 définissant L'implantation des descripteurs du processus couvrant une table de traduction : un registre 36 de "base" qui pointe sur le premier descripteur et un registre 35 "de taille qui définit le nombre de pages logiques du processus. This is why FIG. 4 shows two registers 35, 36 defining the location of the process descriptors covering a translation table: a "basic" register 36 which points to the first descriptor and a size register 35 " which defines the number of logical pages of the process.

Il existe une contrainte sur la taille des espaces adressables par les processus : leur somme doit être inférieure ou égale à la taille de la mémoire secondaire 32. There is a constraint on the size of the spaces addressable by the processes: their sum must be less than or equal to the size of the secondary memory 32.

Pour tenir compte de cela, le registre de taille 35 est associé à un dispositif logique de protection contre les risques de débordement. De cette manière, un processus qui tenterait d'accéder à une adresse logique au-delà de la zone qui Lui est allouée, donc à un descripteur ne lui appartenant pas, sera automatiquement refoulé par une information "d'erreur bus" complétée d'un bit d'identification dans le registre d'état de la mémoire virtuelle intégrée. To take this into account, the size register 35 is associated with a logic device for protection against the risks of overflow. In this way, a process that tries to access a logical address beyond the area allocated to it, therefore to a descriptor that does not belong to it, will be automatically driven back by "bus error" information supplemented by an identification bit in the status register of the integrated virtual memory.

On notera que le cas d'un adressage Linéaire constitue simplement un cas particulier mettant en oeuvre un processus unique ayant une taille correspondant à celle de la mémoire secondaire. Ce cas particulier est donc bien pris en compte par le schéma de la figure 4. Note that the case of Linear addressing is simply a special case implementing a single process having a size corresponding to that of the secondary memory. This particular case is therefore well taken into account by the diagram in FIG. 4.

Par ailleurs, La table auxiliaire 64 adressable par numéro de page physique permet de gérer le partage de pages entre plusieurs processus et contient tous les indicateurs nécessaires à la fonction des pages de mémoire primaire, comme indiqué précédemment.  Furthermore, the auxiliary table 64 addressable by physical page number makes it possible to manage the sharing of pages between several processes and contains all the indicators necessary for the function of the pages of primary memory, as indicated previously.

La figure 5 représente le schéma synoptique du système informatique à mémoire virtuelle intégrée décrit ci-dessus. Hormis l'unité de gestion mémoire 42 et la mémoire double accès jouant le rôle de mémoire primaire 31, l'architecture de la MVI est analogue à celle d'un micro-ordinateur monocarte et comprend un microprocesseur 44 et une mémoire privée 46 reliés à un bus interne 49 de La MVI. De façon optionnelle, la MVI peut comprendre un moniteur de mise au point 45, résident en EPROM, associé à un coupleur série asynchrone 47 permettant la connexion d'un terminal de dialogue. FIG. 5 represents the block diagram of the computer system with integrated virtual memory described above. With the exception of the memory management unit 42 and the dual-access memory playing the role of primary memory 31, the architecture of the MVI is similar to that of a single-board microcomputer and includes a microprocessor 44 and a private memory 46 connected to an internal bus 49 of MVI. Optionally, the MVI can include a focus monitor 45, resident in EPROM, associated with an asynchronous serial coupler 47 allowing the connection of a dialogue terminal.

La mémoire de masse constituant la mémoire secondaire 32 est reliée par un bus 52 à un coupleur 48 de type SCSI qui est relié au bus interne 49. The mass memory constituting the secondary memory 32 is connected by a bus 52 to a coupler 48 of the SCSI type which is connected to the internal bus 49.

L'ensemble de la mémoire virtuelle-intégrée 30 est relié par une interface 41 à un bus local 10 de liaison avec une unité centrale 20. The whole of the integrated virtual memory 30 is connected by an interface 41 to a local bus 10 for connection with a central unit 20.

La mémoire primaire 31 est reliée directement à l'interface 41, ce qui permet notamment un téléchargement de programme. The primary memory 31 is directly connected to the interface 41, which allows in particular a program download.

Outre les liaisons de contrôle et de commande logique entre l'interface 41 et l'unité de gestion mémoire 42, un bus 51 assure une liaison entre l'interface 41 et un module 43 de communication de la MVI avec l'unité centrale 20. In addition to the logical control and command links between the interface 41 and the memory management unit 42, a bus 51 provides a link between the interface 41 and a module 43 for communication of the MVI with the central unit 20.

La mémoire virtuelle intégrée 30 est en effet parfaitement "transparente" à L'utilisation, mais nécessite un minimum de communication avec le système central notamment pour le compte rendu des tests à la mise sous tension, la communication d'un événement "page présente" après un défaut de page, le compte rendu des erreurs d'adressage (en cas de débordement, protection), l'initialisation de L'espace d'adressage processus (dans une utilisation en mode adresses logiques). The integrated virtual memory 30 is indeed perfectly "transparent" in use, but requires a minimum of communication with the central system, in particular for the reporting of tests at power-up, the communication of an event "present page" after a page fault, the reporting of addressing errors (in case of overflow, protection), the initialization of the process addressing space (in use in logical address mode).

Le module 43 de communication comprend essentiellement des moyens matériels constitués par une pile FIFO matériel à double sens, des interruptions associées à la pile FIFO et des moyens de signalisation d'une erreur de bus.  The communication module 43 essentially comprises hardware means constituted by a two-way hardware FIFO stack, interrupts associated with the FIFO stack and means for signaling a bus error.

La génération d'une erreur de bus a lieu lors de chaque échec de traduction d'une adresse processeur en adresse mémoire primaire. Un compte rendu est alors déposé dans un registre dédié avec affectation automatique d'un numéro de défaut s'il s'agit d'un défaut de page. The generation of a bus error takes place each time a translation from a processor address to a primary memory address fails. A report is then deposited in a dedicated register with automatic assignment of a fault number if it is a page fault.

Lorsqu'à la suite d'un défaut de page, la page est chargée en mémoire primaire 31, le module 43 prévient le système central 20 par l'intermédiaire de la pile FIFO avec référence au numéro de défaut donné précédemment. Le système central 20 peut alors redémarrer la tâche ayant provoqué le défaut de page.  When following a page fault, the page is loaded into primary memory 31, the module 43 notifies the central system 20 via the FIFO stack with reference to the fault number given above. The central system 20 can then restart the task that caused the page fault.

Claims (9)

REVENDICATIONS 1. Système informatique modulaire embarqué comprenant au moins un bus global (10), un module d'unité centrale (20), un module mémoire (30) et un module d'entrée-sortie (50), caractérisé en ce que le module mémoire (30) est constitué par une mémoire virtuelle intégrée comprenant une mémoire primaire (31) constituée par un bloc de mémoire RAM ayant une capacité de l'ordre de quelques mégaoctets, une mémoire secondaire (32) constituée par une mémoire de masse ayant une capacité de plusieurs centaines de mégaoctets, et une unité de gestion mémoire (42) regroupant un dispositif (33) de traduction d'adresse et un dispositif (34) de gestion de transferts entre la mémoire primaire et la mémoire secondaire, en ce que la mémoire secondaire (32) est divisée en pages de taille fixe qui constituent L'unité d'accès à cette mémoire et se trouve structurée de façon linéaire, en ce que la mémoire primaire (31) est adaptée pour contenir la copie d'un sous-ensemble limité des pages de la mémoire secondaire, en ce que1. On-board modular computer system comprising at least one global bus (10), a central processing unit module (20), a memory module (30) and an input-output module (50), characterized in that the module memory (30) is constituted by an integrated virtual memory comprising a primary memory (31) constituted by a block of RAM memory having a capacity of the order of a few megabytes, a secondary memory (32) constituted by a mass memory having a capacity of several hundred megabytes, and a memory management unit (42) grouping together an address translation device (33) and a device (34) for managing transfers between the primary memory and the secondary memory, in that the secondary memory (32) is divided into pages of fixed size which constitute the access unit to this memory and is structured linearly, in that the primary memory (31) is adapted to contain the copy of a sub - limited set of pages of secondary memory re, in that Le dispositif (33) de traduction d'adresse comprend un ensemble de mémoires statiques constituant une table descriptive (63) comprenant un nombre de descripteurs de pages (330) égal au nombre de pages de La mémoire secondaire (32) et en ce que le dispositif (34) de gestion de transferts entre la mémoire primaire et la mémoire secondaire comprend un ensemble de mémoires statiques constituant une table descriptive annexe (64) comprenant un nombre de descripteurs de pages (340) égal au nombre de pages de la mémoire primaire (31).The address translation device (33) comprises a set of static memories constituting a descriptive table (63) comprising a number of page descriptors (330) equal to the number of pages of the secondary memory (32) and in that the device (34) for managing transfers between the primary memory and the secondary memory comprises a set of static memories constituting an additional descriptive table (64) comprising a number of page descriptors (340) equal to the number of pages of the primary memory ( 31). 2. Système selon la revendication 1, caractérisé en ce que la table descriptive (63) comprend pour chaque descripteur (330) correspondant à une page un espace de stockage (331) pour fournir2. System according to claim 1, characterized in that the descriptive table (63) comprises for each descriptor (330) corresponding to a page a storage space (331) for providing L'indication d'un numéro de page physique dans le cas où la page correspondante est effectivement présente en mémoire primaire, et un espace de stockage (332) pour contenir des indications de protection associées à la page correspondante.The indication of a physical page number in the case where the corresponding page is actually present in primary memory, and a storage space (332) for containing protection indications associated with the corresponding page. 3. Système selon la revendication 1, caractérisé en ce que la table descriptive annexe (64) comprend pour chaque descripteur (340) correspondant à une page un espace de stockage (341) constituant un pointeur pour permettre de retrouver directement le numéro de page mémoire secondaire et un espace de stockage (342) pour contenir des indications relatives à la fonction des pages de mémoire primaire telles que des indications de modification ou de date du dernier accès à la page correspondante.3. System according to claim 1, characterized in that the annex descriptive table (64) comprises for each descriptor (340) corresponding to a page a storage space (341) constituting a pointer to enable the memory page number to be retrieved directly secondary and a storage space (342) for containing indications relating to the function of the pages of primary memory such as indications of modification or of date of last access to the corresponding page. 4. Système selon L'une quelconque des revendications 1 à 3, caractérisé en ce que la mémoire virtuelle intégrée comprend en outre un dispositif matériel (43) de communication avec l'unité centrale (20) comprenant une pile FIFO matériel à double sens, des interruptions associées à la pile FIFO et un système de signalisation d'erreur de bus.4. System according to any one of claims 1 to 3, characterized in that the integrated virtual memory further comprises a hardware device (43) for communication with the central unit (20) comprising a two-way hardware FIFO stack, interrupts associated with the FIFO stack and a bus error reporting system. 5. Système selon L'une quelconque des revendications 1 à 4, caractérisé en ce qu il est appliqué à un système d'exploitation à adressage linéaire, dans lequel les processus sont implantés à une adresse physique immuable.5. System according to any one of claims 1 to 4, characterized in that it is applied to a linear addressing operating system, in which the processes are located at an immutable physical address. 6. Système selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu il est appliqué à un système d'exploitation à multiprogrammation dans lequel les adresses générées par l'unité centrale sont des adresses logiques, les processus présentant des espaces linéaires d'adressage qui se recoupent.6. System according to any one of claims 1 to 4, characterized in that it is applied to a multiprogramming operating system in which the addresses generated by the central unit are logical addresses, the processes having linear spaces of overlapping addressing. 7. Système selon la revendication 6, caractérisé en ce que le dispositif (34) de gestion de transferts entre la mémoire primaire et la mémoire secondaire comprend une table descriptive de processus contenant pour chaque processus un espace de stockage pour fournir une indication de la taille du processus et un espace de stockage pour fournir une indication de l'adresse d'implantation en mémoire secondaire.7. System according to claim 6, characterized in that the device (34) for managing transfers between the primary memory and the secondary memory comprises a process descriptive table containing for each process a storage space to provide an indication of the size of the process and storage space to provide an indication of the location address in secondary memory. 8. Système selon la revendication 6 ou la revendication 7, caractérisé en ce que l'unité de gestion mémoire comprend en outre un registre de base (36) pour la prise en compte du numéro de processus courant et un registre de taille (35) qui définit le nombre de pages logiques du processus courant. 8. System according to claim 6 or claim 7, characterized in that the memory management unit further comprises a basic register (36) for taking into account the current process number and a size register (35) which defines the number of logical pages of the current process. 9. Système selon la revendication 8, caractérisé en ce qu'un dispositif logique de protection contre les risques de débordement à une adresse logique au-delà de la zone allouée est associé au registre de taille (35). 9. System according to claim 8, characterized in that a logic device for protection against the risks of overflow at a logic address beyond the allocated area is associated with the size register (35).
FR8710313A 1987-07-21 1987-07-21 On-board modular computer system with integrated virtual memory Withdrawn FR2618578A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR8710313A FR2618578A1 (en) 1987-07-21 1987-07-21 On-board modular computer system with integrated virtual memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8710313A FR2618578A1 (en) 1987-07-21 1987-07-21 On-board modular computer system with integrated virtual memory

Publications (1)

Publication Number Publication Date
FR2618578A1 true FR2618578A1 (en) 1989-01-27

Family

ID=9353380

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8710313A Withdrawn FR2618578A1 (en) 1987-07-21 1987-07-21 On-board modular computer system with integrated virtual memory

Country Status (1)

Country Link
FR (1) FR2618578A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2644260A1 (en) * 1989-03-08 1990-09-14 Nec Corp Device for control of access to memory capable of acting on a single command

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2533736A1 (en) * 1982-09-29 1984-03-30 Apple Computer MEMORY MANAGEMENT UNIT FOR A DIGITAL COMPUTER

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2533736A1 (en) * 1982-09-29 1984-03-30 Apple Computer MEMORY MANAGEMENT UNIT FOR A DIGITAL COMPUTER

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
4th EUROMICRO SYMPOSIUM ON MICROPROCESSING AND MICROPROGRAMMING, Munich, 17-19 octobre 1978, pages 130-139, North-Holland Publishing Co., Amsterdam, NL; G.L. REIJNS et al.: "Application of virtual memory technique for coupled microprocessors" *
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 14, no. 12, mai 1972, page 3827, New York, US; W.J. KELLEY et al.: "Real-to-virtual address translation" *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2644260A1 (en) * 1989-03-08 1990-09-14 Nec Corp Device for control of access to memory capable of acting on a single command

Similar Documents

Publication Publication Date Title
Aguilera et al. Remote regions: a simple abstraction for remote memory
US20220171740A1 (en) Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device
US6549918B1 (en) Dynamic information format conversion
US10303649B2 (en) Storage media abstraction for uniform data storage
US11061622B2 (en) Tiering data strategy for a distributed storage system
US5535381A (en) Apparatus and method for copying and restoring disk files
US10782904B2 (en) Host computing arrangement, remote server arrangement, storage system and methods thereof
US5991777A (en) System and method for performing defined actions when grafting the name space of one storage medium into the name space of another storage medium
US10372329B1 (en) Managing storage devices in a distributed storage system
US20130290643A1 (en) Using a cache in a disaggregated memory architecture
US20080005145A1 (en) Data processing
FR3033061A1 (en)
DE112013004250T5 (en) Systems, methods and interfaces for adaptive persistence
US8074027B2 (en) Multi-level read caching for multiplexed transactional logging
US20080127221A1 (en) System and method for providing execute-in-place functionality
US20040221134A1 (en) Invariant memory page pool and implementation thereof
US20160313920A1 (en) System and method for an accelerator cache and physical storage tier
CN100437524C (en) Cache method and cache system for storing file's data in memory blocks
US20080005524A1 (en) Data processing
GB2439576A (en) Storing related small data fragments in the same block
CN112463753A (en) Block chain data storage method, system, equipment and readable storage medium
Howells Fs-cache: A network filesystem caching facility
US8176087B2 (en) Data processing
EP1341087B1 (en) Method and system for the management of a personal event journal
FR2618578A1 (en) On-board modular computer system with integrated virtual memory

Legal Events

Date Code Title Description
ST Notification of lapse