CN105786725A - Memory management method and system based on heterogeneous hybrid memory - Google Patents

Memory management method and system based on heterogeneous hybrid memory Download PDF

Info

Publication number
CN105786725A
CN105786725A CN201410830292.1A CN201410830292A CN105786725A CN 105786725 A CN105786725 A CN 105786725A CN 201410830292 A CN201410830292 A CN 201410830292A CN 105786725 A CN105786725 A CN 105786725A
Authority
CN
China
Prior art keywords
internal memory
nvm
application
application request
address space
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.)
Granted
Application number
CN201410830292.1A
Other languages
Chinese (zh)
Other versions
CN105786725B (en
Inventor
马先明
庞观士
徐成泽
王志远
沈航
梁艳妮
陈志列
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.)
Shenzhen Yanxiang Smart Technology Co ltd
Original Assignee
EVOC Intelligent Technology Co Ltd
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 EVOC Intelligent Technology Co Ltd filed Critical EVOC Intelligent Technology Co Ltd
Priority to CN201410830292.1A priority Critical patent/CN105786725B/en
Publication of CN105786725A publication Critical patent/CN105786725A/en
Application granted granted Critical
Publication of CN105786725B publication Critical patent/CN105786725B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention provides a memory management method based on a heterogeneous hybrid memory. The method comprises the following steps of: receiving a memory application request; detecting whether a NVM mark exists in the memory application request or not; if the NVM mark exists in the memory application request, judging whether the memory application request accords with a permission request or not, if so, distributing a NVM according to the memory application request, and if not, ending; and, if the NVM mark does not exist in the memory application request, distributing a DRAM according to the memory application request. According to the method disclosed by the invention, whether the NVM mark exists in the memory application request is detected; whether the memory application request accords with the permission request is judged; whether the DRAM or the NVM is distributed is determined according to detection and judgment results; therefore, the NVM and the DRAM can be managed simultaneously; and the invention further provides a memory management system based on the heterogeneous hybrid memory.

Description

EMS memory management process and system based on isomery mixing internal memory
Technical field
The present invention relates to field of computer technology, particularly relate to a kind of EMS memory management process based on isomery mixing internal memory and system.
Background technology
Along with the emerging non-volatile random storage medium (Non-VolatileMemory that Memister, ferroelectric memory, phase transition storage etc. are representative, NVM) development of technology, advancing the development of memory technology, the generation for novel internal memory Yu storage architecture is laid a good foundation.By novel NVM and dynamic RAM (DynamicRandomAccessMemory, DRAM) are combined, build mixing memory architecture, form isomery mixing internal memory.Isomery mixing internal memory has the feature of NVM and DRAM simultaneously, not only possesses the function of conventional memory, is stored in the data in DRAM and can disappear immediately after a loss of power, is volatibility;Can also play NVM can also preserve the advantage of data after a loss of power simultaneously, gives full play to the non-volatile feature of NVM, is a kind of Novel internal memory mixing use.
Isomery mixing internal memory adopts compatible DDR3 (DoubleDataRate, Double Data Rate synchronous DRAM, the third generation) interface memory modules design, meet the conventional memory interface of existing industrial control equipment, without introducing new industrial control equipment or adding new auxiliary equipment, become a study hotspot.
The application of isomery mixing internal memory mainly needs the industrial control field that big data and big internal memory calculate, and (SuSE) Linux OS is due to its open source, and powerful being prone to again transplants optimization thus being widely adopted at industrial control field.The popularization of isomery mixing internal memory is of great importance by the memory management therefore realizing isomery mixing internal memory on (SuSE) Linux OS.
Isomery mixing internal memory is as a kind of Novel internal memory, NVM and DRAM is integrated in one, conventional EMS memory management process is the management to DRAM internal memory, the management to NVM internal memory and operation cannot be met, so will be no longer applicable for isomery mixing internal memory, it is therefore desirable to provide a kind of EMS memory management process that can be suitably used for isomery mixing internal memory, NVM internal memory and DRAM internal memory can be managed simultaneously.
Summary of the invention
Based on this, it is necessary to for above-mentioned technical problem, it is provided that a kind of EMS memory management process based on isomery mixing internal memory and system, NVM internal memory and DRAM internal memory can be managed simultaneously.
A kind of EMS memory management process based on isomery mixing internal memory, described method includes:
Receive internal memory application request;
Whether detection internal memory application request exists NVM mark;
If described internal memory application request exists NVM mark, then judging whether described internal memory application request meets jurisdictions mandate, if met, then according to described internal memory application request distribution NVM internal memory, if do not met, terminating;
If described internal memory application request is absent from NVM mark, then according to described internal memory application request distribution DRAM internal memory.
Wherein in an embodiment, described internal memory application request comprises the internal memory length of application;Described judge the step whether described internal memory application request meets jurisdictions mandate before, also include:
Judge that the internal memory length of described application is whether more than the total length of NVM internal memory, without exceeding, then enter the described step judging whether described internal memory application request meets jurisdictions mandate;If it does, then terminate.
Wherein in an embodiment, described internal memory application request comprises the internal memory length of application;The described step according to described application request distribution NVM internal memory includes:
The virtual address space of the internal memory length application formed objects according to described application also initializes, and described virtual address space comprises first address and the tail address of virtual address space;
The first address of described virtual address space is converted to physical address, in NVM, applies for the NVM internal memory of formed objects according to the internal memory length of described physical address and application.
Wherein in an embodiment, described virtual address space is arranged in the indirect mappers address space of the kernel spacing of Linux.
Wherein in an embodiment, the physical address of described NVM internal memory is pre-allocated in the ZONE_HIGHMEN district in linux kernel memory management district, is connected with the ZONE_NORMAL district in linux kernel memory management district.
A kind of internal storage management system based on isomery mixing internal memory, described system includes:
Receiver module, is used for receiving internal memory application request;
Detection module, is used for detecting in described internal memory application request whether there is NVM mark;
First judge module, if for there is NVM mark in described internal memory application request, then judging whether described internal memory application request meets jurisdictions mandate, if met, then according to described internal memory application request distribution NVM internal memory, if do not met, does not deal with;
Application module, if meeting jurisdictions mandate for described internal memory application request, then according to described internal memory application request distribution NVM internal memory;
It is absent from NVM mark if described application module is additionally operable in described internal memory application request or does not meet jurisdictions mandate, then according to described internal memory application request distribution DRAM internal memory.
Wherein in an embodiment, comprising the internal memory length of application in described internal memory application request, described system also includes:
Second judge module, for judging that the internal memory length of described application is whether more than the total length of NVM internal memory, without exceeding, then notifies that described first judge module judges described internal memory application asks whether meet jurisdictions mandate, if it does, then do not deal with.
Wherein in an embodiment, comprising the internal memory length of application in described internal memory application request, described application module includes:
Virtual address space application unit, is used for the virtual address space of the internal memory length application formed objects according to described application and initializes, and described virtual address space comprises first address and the tail address of virtual address space;
Address conversioning unit, for being converted to physical address by the first address of described virtual address space;
Internal memory application unit, for applying for the NVM internal memory of formed objects according to the internal memory length of described physical address and application in NVM.
Wherein in an embodiment, described virtual address space is arranged in the indirect mappers address space of the kernel spacing of Linux.
Wherein in an embodiment, the physical address of described NVM internal memory is pre-allocated in the ZONE_HIGHMEN district in linux kernel memory management district, is connected with the ZONE_NORMAL district in linux kernel memory management district.
The above-mentioned EMS memory management process based on isomery mixing internal memory and system, by detecting, whether internal memory application request exists NVM mark, and further to whether internal memory application request meets jurisdictions mandate and judge when there is NVM mark in internal memory application is asked, and select distribution DRAM internal memory or NVM internal memory according to detection and the result judged.The application of this EMS memory management process and system energy compatible conventional DRAM internal memory and distribution, can introduce application and the distribution of novel NVM internal memory simultaneously, it is thus possible to manage NVM internal memory and DRAM internal memory simultaneously, meets the use of isomery mixing internal memory.
Accompanying drawing explanation
Fig. 1 is the interface schema of isomery mixing internal memory in an embodiment;
Fig. 2 is the flow chart of the EMS memory management process in an embodiment based on isomery mixing internal memory;
Fig. 3 is the flow chart of the EMS memory management process in another embodiment based on isomery mixing internal memory;
Fig. 4 is the flow chart in an embodiment according to application request distribution NVM internal memory;
Fig. 5 is the scattergram of virtual address space in 64 linux systems in an embodiment;
Fig. 6 is the physical address space scattergram of isomery mixing internal memory in an embodiment;
Fig. 7 is the structured flowchart of the internal storage management system in an embodiment based on isomery mixing internal memory;
Fig. 8 is the structured flowchart of the internal storage management system in another embodiment based on isomery mixing internal memory;
Fig. 9 is the structured flowchart applying for module in an embodiment.
Detailed description of the invention
In order to make the purpose of the present invention, technical scheme and advantage clearly understand, below in conjunction with drawings and Examples, the present invention is further elaborated.Should be appreciated that specific embodiment described herein is only in order to explain the present invention, is not intended to limit the present invention.
Isomery mixing internal memory adopts the physical connection mode consistent with DDR3 (DoubleDataRate, Double Data Rate synchronous DRAM, the third generation) interface circuit.As it is shown in figure 1, for the interface schema of isomery mixing internal memory.This memory modules passes through JEDEC (JointElectronDeviceEngineeringCouncil, Joint Electronic Device Engineering Council) standard interface connector be inserted on conventional DDR3 interface circuit use, address (the Address that operating system is transmitted to isomery mixing internal memory, Addr), order (Command, Cmd) and the information such as data (Data) controller (Controller) can be input to by interface circuit, Controller controls DRAM internal memory and NVM internal memory by received data and internal logic.Wherein Controller can adopt MCU (MicroControlUnit, micro-control unit), FPGA (Field-ProgrammableGateArray, field programmable gate array), CPLD (ComplexProgrammableLogicDevice, CPLD) or ARM (AdvancedRISCMachine, Advanced Reduced Instruction Set machine) etc. processor realize, provide corresponding Read-write Catrol and sequential operation according to the respective characteristic of DRAM and NVM.The present invention is exactly the EMS memory management process based on isomery mixing internal memory and system that realize under interface environment as above.
In one embodiment, as shown in Figure 2, it is provided that a kind of EMS memory management process based on isomery mixing internal memory, the method includes:
Step S110, receives internal memory application request.
In the present embodiment, operating system driving, built-in function and application program all may need application internal memory, can send internal memory application request to operating system nucleus when applying for internal memory, and the internal memory application request that operating system nucleus meeting basis receives carry out storage allocation.
Whether step S120, existing NVM mark in detection internal memory application request, if existing, entering step S130, otherwise enter step S150.
In the present embodiment, in internal memory application is asked, it is likely to there is NVM flag bit, is such as saved in last position of internal memory application request.If be detected that internal memory application request exists NVM flag bit, then demonstrate the need for application NVM internal memory.If it is not, demonstrate the need for application DRAM internal memory.
Step S130, it is judged that whether internal memory application request meets jurisdictions mandate, if meeting, entering step S140, otherwise terminating.
User right is an aspect of Linux safety, and the authority that different user has is also different.Wherein root user can any file in operating system and order, have highest weight limit.Can specify which user has permission distribution NVM internal memory as required.In the present embodiment, the application of the NVM internal memory in isomery mixing internal memory only allows root user to operate, and other users do not apply for the authority of NVM internal memory.Send if internal memory application request is root user, be then judged as meeting jurisdictions mandate, otherwise do not meet jurisdictions mandate.
Step S140, according to internal memory application request distribution NVM internal memory.
In the present embodiment, NVM internal memory and DRAM internal memory can carrying out unified addressing in advance, and carry out paging in units of physical page, such as the size of each physical page is defaulted as 4KB.And NVM internal memory and DRAM internal memory are divided in different linux kernel memory management districts, ZONE_DMA, ZONE_NORMAL and ZONE_HIGHMEM are divided in linux kernel memory management, and NVM internal memory can be divided in any one memory management district.Application request can comprise some information, the internal memory length such as applied for, the memory management district type of application, application internal memory seriality requirement etc..Wherein, the internal memory length of application is used for determining the memory size needing distribution, and the memory management district type of application is used for determining distribution NVM internal memory in which memory management district above, and the internal memory seriality of application requires to be used for determining whether distribution continuous print internal memory.Linux kernel can according to these information realization Memory Allocation.
Step S150, according to internal memory application request distribution DRAM internal memory.
As it has been described above, NVM internal memory and DRAM internal memory carry out unified addressing in advance, and carrying out paging in units of physical page, such as the size of each physical page is defaulted as 4KB.And NVM internal memory and DRAM internal memory are divided in different linux kernel memory management districts, ZONE_DMA, ZONE_NORMAL and ZONE_HIGHMEM are divided in linux kernel memory management, and DRAM internal memory can be divided in any one memory management district.Application request can comprise some information, the internal memory length such as applied for, the memory management district type of application, application internal memory seriality requirement etc..Wherein, the internal memory length of application is used for determining the memory size needing distribution, and the memory management district type of application is used for determining distribution DRAM internal memory in which memory management district above, and the internal memory seriality of application requires to be used for determining whether distribution continuous print internal memory.Linux kernel can according to these information realization Memory Allocation.
In the present embodiment, by detecting, whether internal memory application request exists NVM mark, and further to whether internal memory application request meets jurisdictions mandate and judge when there is NVM mark in internal memory application is asked, and select distribution DRAM internal memory or NVM internal memory according to detection and the result judged.The application of this EMS memory management process and system energy compatible conventional DRAM internal memory and distribution, can introduce application and the distribution of novel NVM internal memory simultaneously, it is thus possible to manage NVM internal memory and DRAM internal memory simultaneously, meets the use of isomery mixing internal memory.
Additionally, before distribution NVM internal memory, judge whether internal memory application request meets jurisdictions mandate, only when internal memory application request meets jurisdictions mandate, such as ensure that only root user just can request that distribution NVM internal memory, ensure that the user of only highest weight limit just can be stored in nonvolatile storage space, it is to avoid the waste of unnecessary memory space, also can guarantee that safety.
In another embodiment, as shown in Figure 3, it is provided that a kind of EMS memory management process based on isomery mixing internal memory, the method includes:
Step S210, receives internal memory application request.
Whether step S220, existing NVM mark in detection internal memory application request, if existing, entering step S230, otherwise enter step S260.
Step S230, it is judged that whether the internal memory length of application is more than the total length of NVM internal memory, without exceeding, then enters step S240;If it does, then terminate.
In the present embodiment, comprising the internal memory length of application in internal memory application request, if the internal memory length of application is more than the total length of NVM internal memory, then NVM internal memory cannot meet internal memory application request, then can directly terminate this time application, returns a failed mark of distribution.
Step S240, it is judged that whether internal memory application request meets jurisdictions mandate, if meeting, entering step S250, otherwise terminating.
Step S250, according to internal memory application request distribution NVM internal memory.
Step S260, according to internal memory application request distribution DRAM internal memory.
In the present embodiment, during the maximum that the internal memory length in application allows more than the total capacity of NVM internal memory, it was shown that NVM internal memory cannot meet its memory requirement, can directly terminate.As such, it is possible to improve the efficiency of NVM Memory Allocation.
In one embodiment, internal memory application request comprises the internal memory length of application.As shown in Figure 4, the step according to application request distribution NVM internal memory includes:
Step S251, according to the virtual address space of internal memory length application formed objects of application and initialize, described virtual address space comprises first address and the tail address of virtual address space.
Step S252, is converted to physical address by the first address of virtual address space.
Step S253, applies for the NVM internal memory of formed objects according to the internal memory length of physical address and application in NVM.
The application of isomery mixing internal memory is mainly for the application of the big data of industrial control field and big internal memory calculating aspect, and its addressing space is relatively big, and in order to improve the reliability of big data access, isomery mixing internal memory is often used in the system of 64 bit processors.The popularization of isomery mixing internal memory is of great importance by the memory management therefore realizing isomery mixing internal memory on the linux system of 64.The principle of the EMS memory management process of the isomery mixing internal memory that the embodiment of the present invention provides is described below in detail for the linux system of 64.
As it is shown in figure 5, be the scattergram of the Linux virtual address space of 64.In 64 linux systems, virtual address space includes 128T user's space and 128T kernel spacing, is a huge cavity between user space and kernel space.Wherein, from 0x0000,0000,0000, the virtual address interval of 0000 to 0x0000,7FFFF, FFFF, F000 128T altogether is user's space, 0xFFFF, 8000,0000, the virtual address space of more than 0000 altogether 128T is kernel spacing, and from address 0x0000,7FFF, FFFF, F000 to 0xFFFF, 8000, it is a huge cavity between 0000,0000, is reserved for later extension.
In kernel spacing, from address 0xFFFF, 8800,0000,0000 arrives 0xFFFF, C7FF, FFFF, the virtual address space of FFFF 64T altogether can directly map with physical memory, namely directly maps with the DRAM internal memory in isomery mixing internal memory, and this is consistent with the distribution of traditional linux kernel virtual address space.
Further, in kernel spacing, from address 0xFFFF, C900,0000,0000 arrives the indirect mappers address space in the kernel spacing that the 32T address space between 0xFFFF, C8FF, FFFF, FFFF is Linux.So-called indirect mappers address space, refers to and does not directly map with physical memory, the address space of this part uses to preset function, applies for virtual address space by preset function.Owing to this partial virtual address space does not directly map with physical memory, therefore the virtual address space applied for can not obtain physical address by simple linear relationship, and physical address need to be converted to according to mapping relations, thus carry out storage allocation according to the physical address being converted to.
Preset function includes vmalloc function, ioremap function and nvmmalloc function, wherein vmalloc function and ioremap are the functions relevant to DRAM internal memory, vmalloc can be called to distribute DRAM internal memory, call ioremap and the DRAM internal memory of I/O (input/output, input/output port) interface is mapped to the virtual address space of kernel.And nvmmalloc function be newly increase for distributing NVM internal memory.The virtual address space of these three function distribution in the space of above-mentioned 32T dynamically arbitrarily, it does not have strict division, they three be used in conjunction with this block address, until this block address is used up.
In the present embodiment, internal memory application request comprises the internal memory length of application, for instance size parameter is used for identifying the internal memory length of application, and it, as the input parameter of nvmmalloc function, distributes NVM internal memory by nvmmalloc function.When nvmmalloc function is called, then in virtual address space, applies for the space of formed objects according to input parameter size and initialize, initializing and namely the value in the space of application is carried out clear 0.What nvmmalloc function returned is the first address of the virtual address space of application.Concrete, the virtual address space of nvmmalloc function application is arranged in the indirect mappers address space of the kernel spacing of above-mentioned linux system.
Furthermore it is also possible to other parameters of definition nvmmalloc function, as definition flags represents whether certain block virtual address space is assigned with, when certain block virtual address space is assigned with, it is carried out labelling, it is prevented that duplicate allocation.Also definable nvmflags represents that the virtual address space of distribution maps with NVM internal memory.
Meanwhile, nvmmalloc function can trigger the controller in isomery mixing internal memory time called, and the first address of virtual address space is converted to physical address by controller.Concrete, the first address of virtual address space is sent to controller by interface circuit by linux kernel, controller has the mapping relations of virtual address and physical address, virtual address can be converted to physical address, and in NVM, apply for the NVM internal memory of formed objects according to the internal memory length of described physical address and application.
In one embodiment, the physical address of NVM internal memory is pre-allocated in the ZONE_HIGHMEN district in linux kernel memory management district, is connected with the ZONE_NORMAL district in linux kernel memory management district.
Concrete, as shown in Figure 6, in advance NVM internal memory and DRAM internal memory are carried out unified addressing, and all physical memories are carried out paging by fixed size, and all of physical page is divided in 3 class memory management districts.The scope in ZONE_DMA district is 0~16M, and the physical page in this region uses for the DMA (DirectMemoryAccess, direct memory access (DMA)) of I/O equipment specially.Why need the physical page of independent managing DMA, being because DMA directly uses physical address to access internal memory, and need continuous print relief area, so in order to provide physically contiguous relief area, it is necessary to divide one section of region specially from physical address space for DMA.The scope in ZONE_NORMAL district is 16M to 60T, and the physical page in this region directly maps with virtual address space, is DRAM internal memory.The space of more than 60T is ZONE_HIGHMEM district, and the physical page in this region and virtual address space are indirect mappers.Due under existing level, the NVM storage medium access speed that can use is low, inefficient, NVM internal memory and virtual address space is not directly mapped in the present embodiment, but the physical address of NVM internal memory is pre-allocated in ZONE_HIGHMEN district, and it is connected with ZONE_NORMAL district.Additionally, the size of NVM internal memory can affect the size in ZONE_NORMAL district, wherein the summation of the total length of ZONE_DMA district, ZONE_NORMAL district and NVM internal memory is 64T, saves as 4T in such as the present embodiment in NVM, then the tail address in ZONE_NORMAL district is exactly 60T.Space from 60T to 64T is the NVM internal memory with virtual address space indirect mappers, and the space from 64T to 256T is consistent with traditional high memory, can use traditional method distribution and use this section of internal memory.
In the present embodiment, NVM internal memory and DRAM internal memory are carried out unifying rational distribution by the linux system of 64, and is found corresponding physical address by virtual address efficiently by controller, can quickly distribute NVM internal memory and DRAM internal memory.
As it is shown in fig. 7, in one embodiment, it is provided that a kind of internal storage management system based on isomery mixing internal memory, including:
Receiver module 310, is used for receiving internal memory application request.
Detection module 320, is used for detecting in internal memory application request whether there is NVM mark.
First judge module 330, if for there is NVM mark in internal memory application request, then judging whether internal memory application request meets jurisdictions mandate, if met, then according to internal memory application request distribution NVM internal memory, if do not met, does not deal with.
Application module 340, if meeting jurisdictions mandate for internal memory application request, then according to internal memory application request distribution NVM internal memory;It is absent from NVM mark if being additionally operable in internal memory application request or does not meet jurisdictions mandate, then according to internal memory application request distribution DRAM internal memory.
Internal memory application request can comprise the information such as the internal memory seriality requirement of the internal memory length of application, the memory management district type of application, application.
As shown in Figure 8, in another embodiment, it is provided that a kind of internal storage management system based on isomery mixing internal memory, the basis of embodiment illustrated in fig. 7 also includes:
Second judge module 350, for judging that the internal memory length of application is whether more than the total length of NVM internal memory, without exceeding, then notifies that the first judge module 330 judges whether internal memory application request meets jurisdictions mandate, if it does, then do not deal with.
In one embodiment, internal memory application request comprises the internal memory length of application, as it is shown in figure 9, above-mentioned application module 340 includes:
Virtual address space application unit 341, is used for the virtual address space of the internal memory length application formed objects according to application and initializes, and described virtual address space comprises first address and the tail address of virtual address space;
Address conversioning unit 342, for being converted to physical address by the first address of virtual address space;
Internal memory application unit 343, for applying for the NVM internal memory of formed objects according to the internal memory length of physical address and application in NVM.
In one embodiment, the virtual address space of said system is arranged in the indirect mappers address space of the kernel spacing of Linux.
In one embodiment, the physical address of the NVM internal memory of said system is pre-allocated in the ZONE_HIGHMEN district in linux kernel memory management district, is connected with the ZONE_NORMAL district in linux kernel memory management district.
Embodiment described above only have expressed the several embodiments of the present invention, and it describes comparatively concrete and detailed, but therefore can not be interpreted as the restriction to the scope of the claims of the present invention.It should be pointed out that, for the person of ordinary skill of the art, without departing from the inventive concept of the premise, it is also possible to making some deformation and improvement, these broadly fall into protection scope of the present invention.Therefore, the protection domain of patent of the present invention should be as the criterion with claims.

Claims (10)

1., based on an EMS memory management process for isomery mixing internal memory, described method includes:
Receive internal memory application request;
Whether detection internal memory application request exists NVM mark;
If described internal memory application request exists NVM mark, then judging whether described internal memory application request meets jurisdictions mandate, if met, then according to described internal memory application request distribution NVM internal memory, if do not met, terminating;
If described internal memory application request is absent from NVM mark, then according to described internal memory application request distribution DRAM internal memory.
2. method according to claim 1, it is characterised in that comprise the internal memory length of application in described internal memory application request;Described judge the step whether described internal memory application request meets jurisdictions mandate before, also include:
Judge that the internal memory length of described application is whether more than the total length of NVM internal memory, without exceeding, then enter the described step judging whether described internal memory application request meets jurisdictions mandate;If it does, then terminate.
3. method according to claim 1, it is characterised in that comprise the internal memory length of application in described internal memory application request;The described step according to described application request distribution NVM internal memory includes:
The virtual address space of the internal memory length application formed objects according to described application also initializes, and described virtual address space comprises first address and the tail address of virtual address space;
The first address of described virtual address space is converted to physical address, in NVM, applies for the NVM internal memory of formed objects according to the internal memory length of described physical address and application.
4. method according to claim 3, it is characterised in that described virtual address space is arranged in the indirect mappers address space of the kernel spacing of Linux.
5. method according to claim 1, it is characterised in that the physical address of described NVM internal memory is pre-allocated in the ZONE_HIGHMEN district in linux kernel memory management district, is connected with the ZONE_NORMAL district in linux kernel memory management district.
6. the internal storage management system based on isomery mixing internal memory, it is characterised in that described system includes:
Receiver module, is used for receiving internal memory application request;
Detection module, is used for detecting in described internal memory application request whether there is NVM mark;
First judge module, if for there is NVM mark in described internal memory application request, then judging whether described internal memory application request meets jurisdictions mandate, if met, then according to described internal memory application request distribution NVM internal memory, if do not met, does not deal with;
Application module, if meeting jurisdictions mandate for described internal memory application request, then according to described internal memory application request distribution NVM internal memory;
If described application module is additionally operable in described internal memory application request is absent from NVM mark, then according to described internal memory application request distribution DRAM internal memory.
7. system according to claim 6, it is characterised in that comprising the internal memory length of application in described internal memory application request, described system also includes:
Second judge module, for judging that the internal memory length of described application is whether more than the total length of NVM internal memory, without exceeding, then notifies that described first judge module judges described internal memory application asks whether meet jurisdictions mandate, if it does, then do not deal with.
8. system according to claim 6, it is characterised in that comprising the internal memory length of application in described internal memory application request, described application module includes:
Virtual address space application unit, is used for the virtual address space of the internal memory length application formed objects according to described application and initializes, and described virtual address space comprises first address and the tail address of virtual address space;
Address conversioning unit, for being converted to physical address by the first address of described virtual address space;
Internal memory application unit, for applying for the NVM internal memory of formed objects according to the internal memory length of described physical address and application in NVM.
9. system according to claim 8, it is characterised in that described virtual address space is arranged in the indirect mappers address space of the kernel spacing of Linux.
10. system according to claim 6, it is characterised in that the physical address of described NVM internal memory is pre-allocated in the ZONE_HIGHMEN district in linux kernel memory management district, is connected with the ZONE_NORMAL district in linux kernel memory management district.
CN201410830292.1A 2014-12-25 2014-12-25 Memory management method and system based on heterogeneous hybrid memory Active CN105786725B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410830292.1A CN105786725B (en) 2014-12-25 2014-12-25 Memory management method and system based on heterogeneous hybrid memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410830292.1A CN105786725B (en) 2014-12-25 2014-12-25 Memory management method and system based on heterogeneous hybrid memory

Publications (2)

Publication Number Publication Date
CN105786725A true CN105786725A (en) 2016-07-20
CN105786725B CN105786725B (en) 2020-10-27

Family

ID=56389627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410830292.1A Active CN105786725B (en) 2014-12-25 2014-12-25 Memory management method and system based on heterogeneous hybrid memory

Country Status (1)

Country Link
CN (1) CN105786725B (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106569960A (en) * 2016-11-08 2017-04-19 郑州云海信息技术有限公司 Last stage cache management method for mixed main store
CN106648938A (en) * 2016-12-30 2017-05-10 郑州云海信息技术有限公司 Linux system application program memory management method and system
WO2017107163A1 (en) * 2015-12-25 2017-06-29 研祥智能科技股份有限公司 Memory management method and system based on heterogeneous hybrid memory
CN106909515A (en) * 2017-02-11 2017-06-30 郑州云海信息技术有限公司 Towards multinuclear shared last level cache management method and device that mixing is hosted
CN107193497A (en) * 2017-05-22 2017-09-22 电子科技大学 A kind of automobile ECU Dynamic Management method based on RAM and NVM mixing internal memories
CN109977037A (en) * 2017-12-28 2019-07-05 龙芯中科技术有限公司 A kind of DMA data transfer method and system
CN117234432A (en) * 2023-11-14 2023-12-15 苏州元脑智能科技有限公司 Management method, management device, equipment and medium of hybrid memory system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022139990A1 (en) * 2020-12-21 2022-06-30 Arris Enterprises Llc Method and system for memory management on the basis of zone allocations and optimization using improved lmk

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060167895A1 (en) * 2005-01-25 2006-07-27 Shim Sang Y Database system and method for adapting a main database components in a main memory thereof
CN103092534A (en) * 2013-02-04 2013-05-08 中国科学院微电子研究所 Scheduling method and device for internal memory structure
CN103793332A (en) * 2014-02-28 2014-05-14 中国科学院微电子研究所 Data storage method and device based on memory, processor and electronic equipment
CN104102590A (en) * 2014-07-22 2014-10-15 浪潮(北京)电子信息产业有限公司 Heterogeneous memory management method and device
CN104239225A (en) * 2014-09-04 2014-12-24 浪潮(北京)电子信息产业有限公司 Method and device for managing heterogeneous hybrid memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060167895A1 (en) * 2005-01-25 2006-07-27 Shim Sang Y Database system and method for adapting a main database components in a main memory thereof
CN103092534A (en) * 2013-02-04 2013-05-08 中国科学院微电子研究所 Scheduling method and device for internal memory structure
CN103793332A (en) * 2014-02-28 2014-05-14 中国科学院微电子研究所 Data storage method and device based on memory, processor and electronic equipment
CN104102590A (en) * 2014-07-22 2014-10-15 浪潮(北京)电子信息产业有限公司 Heterogeneous memory management method and device
CN104239225A (en) * 2014-09-04 2014-12-24 浪潮(北京)电子信息产业有限公司 Method and device for managing heterogeneous hybrid memory

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李功: "基于PDRAM混合内存架构的Linux内存管理算法", 《微电子学与计算机》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017107163A1 (en) * 2015-12-25 2017-06-29 研祥智能科技股份有限公司 Memory management method and system based on heterogeneous hybrid memory
CN106569960A (en) * 2016-11-08 2017-04-19 郑州云海信息技术有限公司 Last stage cache management method for mixed main store
CN106569960B (en) * 2016-11-08 2019-05-28 郑州云海信息技术有限公司 A kind of last level cache management method mixing main memory
CN106648938A (en) * 2016-12-30 2017-05-10 郑州云海信息技术有限公司 Linux system application program memory management method and system
CN106648938B (en) * 2016-12-30 2021-01-12 苏州浪潮智能科技有限公司 Linux system application program memory management method and system
CN106909515A (en) * 2017-02-11 2017-06-30 郑州云海信息技术有限公司 Towards multinuclear shared last level cache management method and device that mixing is hosted
CN107193497A (en) * 2017-05-22 2017-09-22 电子科技大学 A kind of automobile ECU Dynamic Management method based on RAM and NVM mixing internal memories
CN109977037A (en) * 2017-12-28 2019-07-05 龙芯中科技术有限公司 A kind of DMA data transfer method and system
CN109977037B (en) * 2017-12-28 2021-01-22 龙芯中科技术股份有限公司 DMA data transmission method and system
CN117234432A (en) * 2023-11-14 2023-12-15 苏州元脑智能科技有限公司 Management method, management device, equipment and medium of hybrid memory system
CN117234432B (en) * 2023-11-14 2024-02-23 苏州元脑智能科技有限公司 Management method, management device, equipment and medium of hybrid memory system

Also Published As

Publication number Publication date
CN105786725B (en) 2020-10-27

Similar Documents

Publication Publication Date Title
CN105786725A (en) Memory management method and system based on heterogeneous hybrid memory
KR101311116B1 (en) Dynamic allocation of power budget for a system having a non-volatile memory
US10078453B1 (en) Storage system, computer program product, and method for managing a hybrid memory device system
TWI645334B (en) Method, memory module, and host device for managing operational state data
WO2017084565A1 (en) Storage data access method, related controller, device, host, and system
US11010079B2 (en) Concept for storing file system metadata within solid-stage storage devices
CN110737608B (en) Data operation method, device and system
CN103927130B (en) Based on external memory framework in the unification of memory management unit MMU
CN103150257A (en) Memory management method and memory management device
CN105335308A (en) Method, apparatus and system for processing access information of storage device
TW201432452A (en) Dynamic central cache memory
US20220100406A1 (en) Hard disk control method and related device
KR101331098B1 (en) Compressed memory swap for virtualized embedded systems and the method
CN113296886A (en) Virtual machine memory management method, device and system and physical machine
WO2017107163A1 (en) Memory management method and system based on heterogeneous hybrid memory
CN104750425A (en) Storage system and control method for nonvolatile memory of storage system
CN103116640A (en) Method and device for formatting FAT (file allocation table) file system
CN116342365A (en) Techniques for expanding system memory via use of available device memory
CN102662883B (en) Machine type identification method for multi-hardware-platform FeiTeng server
CN104951406B (en) A kind of paging type address space menagement method and controller
CN113778333A (en) Combined chip, storage device and operation method for storage object
CN114489487A (en) Data storage protection method and system
CN104424124A (en) Memory device, electronic equipment and method for controlling memory device
CN109726149B (en) Method and device for accessing NAND FLASH through AXI bus
KR101041838B1 (en) Mobile storage control device and method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230713

Address after: 518057 1701, Yanxiang science and technology building, 31 Gaoxin middle Fourth Road, Maling community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Yanxiang Smart Technology Co.,Ltd.

Address before: 518057 Guangdong city of Shenzhen province Nanshan District high in the four EVOC Technology Building No. 31

Patentee before: EVOC INTELLIGENT TECHNOLOGY Co.,Ltd.