CN106844224A - A kind of Memory Allocation chained list and memory allocation method based on NVRAM - Google Patents

A kind of Memory Allocation chained list and memory allocation method based on NVRAM Download PDF

Info

Publication number
CN106844224A
CN106844224A CN201611193373.0A CN201611193373A CN106844224A CN 106844224 A CN106844224 A CN 106844224A CN 201611193373 A CN201611193373 A CN 201611193373A CN 106844224 A CN106844224 A CN 106844224A
Authority
CN
China
Prior art keywords
chunk
bin
chained list
new
allocation
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
CN201611193373.0A
Other languages
Chinese (zh)
Other versions
CN106844224B (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201611193373.0A priority Critical patent/CN106844224B/en
Publication of CN106844224A publication Critical patent/CN106844224A/en
Application granted granted Critical
Publication of CN106844224B publication Critical patent/CN106844224B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a kind of Memory Allocation chained list based on NVRAM, belong to memory management field.The Memory Allocation chained list proposes new Memory Allocation chained list on the basis of traditional existing Memory Allocation technology, and the chained list includes delayed allocation chained list, Fastbins and Bins.Fast bin chained lists in Fastbins carry out the insertion or deletion of chunk in chained list using FIFO (first in first out) method, reduce the read-write operation of part bin;For each small bin and new bin chained list adds a distribution counting device in Bins, the distribution number of times of each bin is monitored, be that the bin of excessive distribution threshold value distributes new new bin to reduce the abrasion in read-write region high;Delayed allocation chained list is attached most importance to newly assigned region of memory one time delay of offer.Simultaneously present invention also offers a kind of memory allocation method based on NVRAM, the service wear of NVRAM internal memories can be effectively reduced using technical solution of the present invention, improve NVRAM internal memory service lifes.

Description

A kind of Memory Allocation chained list and memory allocation method based on NVRAM
Technical field
The invention belongs to memory management field, more particularly, to a kind of Memory Allocation chained list and internal memory based on NVRAM Distribution method.
Background technology
According to the curve change of 2014 to 2015 of Gartner technology maturities, big data has experienced the phase of expansion and height The peak phase, disappeared on the curve of 2015, basic conception that this shows big data, key technology and to it using having obtained Being widely recognized as industry, to big data Treatment Analysis, with the economic worth for finding wherein to contain, becomes the common recognition of industry.Greatly Data also for storage propose new challenge, towards big data internal memory calculate etc. new opplication need memory size be present 1000 times.And at the same time, the development of traditional DRAM (dynamic random access memory) has run into bottleneck:Existing DRAM Dimension process has reached the limit of 20nm, while power problemses produced by Refresh Data are with its capacity expansion, and become can not Ignore.
(spin transfer torque is stored for such as PCM (phase transition storage), ReRAM (resistive formula memory) and STT-RAM Device) etc. this kind of new nonvolatile storage has that non-volatile, position addressable, position can be changed, read latency is short, to read energy consumption low, need not The outstanding advantages such as refreshing so that it is very possible as the substitute for hosting.By taking PCM as an example, its contrast DRAM energy consumption is lower, together When its is non-volatile and relatively storage density high also causes that it turns into preferable internal memory substitute.Certainly, PCM is also defective, Particularly write performance, write power consumption and life problems.
For memory management and Memory Allocation, in recent decades, general memory allocator glibc malloc are always All it is the basic element of software, as shown in figure 1, the free memory distribution chained list of glibc malloc is by bins, that is, chain List data structure manages idle chunks, of different sizes based on the chunk for being managed, and is fast bin, small by bin points Bin, large bin and unsorted bin, in all of bin:Speed is more in Memory Allocation and release for fast bin Hurry up, fast bin record size with 8 bytes be incremented by free chunk single linked lists, the chunk in chained list is referred to as fast Chunk, size is 16~80 bytes, chunk sizes all same in each single linked list and using LIFO carries out chained list The insertion deletion of chunk;It is referred to as small chunk less than the chunk of 512 bytes, and preserves the bins of small chunk Be referred to as small bins, small bins than large bins in the speed of Memory Allocation/release faster, likewise, Small bins record the free chunk double-linked circular lists that size is incremented by with 8 bytes, in each double-linked circular list Chunk sizes all same and the insertion deletion of chunk in chained list is carried out using FIFO, two adjacent idle chunk can quilts The chunk of free time is merged into, but merging eliminates the influence of fragmentation slowed down the speed of release;More than or equal to 512 The chunk of byte is referred to as large chunk, and the bins for preserving large chunk is referred to as large bins.Each Large bin include a double-linked circular list of free time chunk, but chunk therein is not of uniform size fixed identical, to pass The form that subtracts is preserved, i.e., maximum chunk is stored in most preceding position and the chunk of minimum is stored in last position.Equally, Also two connected idle chunk can be merged into a bigger idle chunk.As small chunk and large chunk When being released, they are not added in above-mentioned respective bin, and are added to one and are " unsorted In bin ", it includes a double-linked circular list for preserving idle chunk, and without the limitation of chunk sizes, Ren He great Small chunk can be added.This approach gives distributor and reuses second machine for just having discharged chunk recently Meeting, the time overhead for thus finding suitable bin and chunk is just erased, therefore the distribution and release of internal memory also can be more It is quicker.
Nowadays the demand to dynamic memory management has nowadays been also transferred to NVRAM fields.But in glibc malloc Not only the Memory Allocation chained list design for depositing distributor is not suitable for NVRAM, and can accelerate the abrasion of NVRAM.
For NVRAM internal memories, there are two defects of aspect using existing memory allocator:(1) Memory Allocation plan Slightly cause NVRAM local hot spots;(2) the fixed mapping from virtual memory address to physical address causes original place internal memory to be write.
The content of the invention
For the disadvantages described above or Improvement requirement of existing conventional art, the invention provides a kind of internal memory based on NVRAM Distribution chained list and memory allocation method, in carrying out chained list using FIFO methods its object is to the fast bin chained lists in Fastbins The insertion or deletion of chunk;Bins is that each small bin and new bin chained list adds a distribution counting device, monitors each The distribution number of times of bin, is that the bin of excessive distribution threshold value distributes the new new bin reductions abrasion for reading and writing region high;Delayed allocation chain Table is attached most importance to newly assigned region of memory one time delay of offer.Thus existing nonvolatile storage NVRAM is solved in internal memory point The abrasion equilibrium problem that timing is present, in the hope of lifting the service life of NVRAM internal memories.
To achieve the above object, according to one aspect of the present invention, there is provided a kind of Memory Allocation chain based on NVRAM Table, the Memory Allocation chained list includes following part:
Fastbins, an array, for recording all fast bin chained lists, chained list is entered using FIFO (first in first out) method The insertion or deletion of chunk in row chained list;
Bins, an array, for recording all new bin, small bin and large bin chained lists, new bin and Small bin chained lists carry out the insertion or deletion of chunk in chained list using FIFO methods, each new bin and small bin chained list One counter is all set, respective distribution number of times is recorded, when number of times arrival allocation threshold k is distributed, then in the system free time Deposit space and apply for a new new bin, for depositing newly assigned chunk, the size N of new binnbFor
Nnb=k × Nc,
Wherein, NcIt is the size of new distribution chunk;The span of allocation threshold k is 100 < k < 50000, preferably k= 4096;
Delayed allocation chained list, for preserving the fast chunk, small chunk and the large that are just released by a user Chunk, chained list carries out the insertion or deletion of chunk in chained list using FIFO methods, and the chunk of each new entrance can be labeled one Window, window initial size is φ, and the span of φ is 1KB < φ < 4096KB, preferably φ=4KB;Update other simultaneously Distribute the size of window
Ni=Nin, i=1,2,3 ..., n-1,
Wherein, NiRepresent the size of i-th mark window into the chunk of delayed allocation chained list;δnIt is newly to enter to postpone Distribute the size of the chunk of chained list;Work as N1During < 0, the chunk that will at first enter in delayed allocation chained list takes out and is put back into other To treat next sub-distribution in free memory distribution chained list, while updating all chunk into the order i=i-1 of chained list.
Further, after the chunk in the new bin is released by a user, if the distribution number of times of new bin is more than distribution Threshold value, then discharge memory headroom shared by new bin;Memory headroom shared by new bin is not discharged otherwise, the chunk will be returned In new bin.
It is another aspect of this invention to provide that there is provided the memory allocation method based on NVRAM, the method includes following step Suddenly:
(1) size of user's request memory headroom is converted to the chunk space sizes for being actually needed distribution;
(2) whether chunk space sizes are judged less than 64B, if then carrying out step (3);Otherwise carry out step (4);
(3) a suitable chunk is found in Fastbins;It is assigned, into step (7);
(4) a suitable chunk is found in Bins;It is assigned;
(5) whether chunk is judged in small bin or large bin, if then entering step (7);Under otherwise entering One step;
(6) user's release chunk, judges that whether the distribution number of times of new bin, more than allocation threshold, is to discharge new Memory headroom shared by bin, terminates;Do not discharge memory headroom where new bin otherwise, terminate;
(7) user's release chunk, chunk enter delayed allocation chained list, terminate.
Further, the step (4) specifically includes following sub-step:
(41) size according to chunk finds correspondingly sized bin in small bin and large bin, if Suitable bin is found in small bin, then into step (42);Knot is distributed after suitable bin is otherwise found in large bin Beam;
(42) judge the distribution number of times of the bin whether less than allocation threshold k;If then entering step (45);Otherwise enter Next step;
(43) judge the new the bin whether chunk has applied, be to return to step (42);Otherwise enter next step;
(44) a new new bin, the size N of new bin if applying successfully are applied fornb=k × Nc, wherein NcFor new The size of chunk is distributed, step (42) is returned to afterwards;Otherwise error reporting system low memory, terminates distribution;
(45) chunk is chosen from the bin chained lists and returns to user, while the distribution number of times of the bin cumulative 1, point With end.
Further, the step (7) specifically includes following sub-step:
(71) size is δnChunk be released after enter delayed allocation chained list, delayed allocation chained list be its mark one Window, window initial size is φ;
(72) the size N of other chunk mark windows in delayed allocation chained list is updatedi=Nin, i=1,2,3 ..., n- 1, wherein i represent that chunk enters the order of delayed allocation chained list;
(73) N is judged1Whether < 0 sets up, and is, the chunk that will at first enter in delayed allocation chained list chained list takes out and puts back to To in other free memories distribution chained list to treat next sub-distribution, while all chunk into the order i=i-1 of chained list are updated, Terminate;Otherwise directly terminate.
Further, the span of allocation threshold k is 100 < k < 50000, preferably k=4096;Delayed allocation chained list Mark window initial size be φ, the span of φ is 1KB < φ < 4096KB, preferably φ=4KB,
In general, by the contemplated above technical scheme of the present invention compared with prior art, using the technology of the present invention Scheme can effectively reduce the service wear of NVRAM internal memories, improve NVRAM internal memory service lifes.
Brief description of the drawings
Fig. 1 is Memory Allocation chained list schematic diagram in glibc malloc memory allocators;
Fig. 2 is Memory Allocation chained list schematic diagram of the present invention;
Fig. 3 is the inventive method general flow chart;
Fig. 4 is the method flow diagram that the inventive method finds suitable bin in Bins according to chunk sizes;
Fig. 5 is the method flow diagram that the inventive method enters delayed allocation chained list in chunk.
Specific embodiment
In order to make the purpose , technical scheme and advantage of the present invention be clearer, it is right below in conjunction with drawings and Examples The present invention is further elaborated.It should be appreciated that the specific embodiments described herein are merely illustrative of the present invention, and It is not used in the restriction present invention.As long as additionally, technical characteristic involved in invention described below each implementation method Not constituting conflict each other can just be mutually combined.
Memory Allocation chain embodiment schematic diagram of the present invention is illustrated in figure 2, including:
Fastbins, an array, for recording all fast bin chained lists, chained list is carried out in chained list using FIFO methods The insertion or deletion of chunk;
Bins, an array, for recording all new bin, small bin and large bin chained lists, new bin and Small bin chained lists carry out the insertion or deletion of chunk in chained list using FIFO methods, each new bin and small bin chained list One counter is all set, respective distribution number of times is recorded, it is contemplated that the present NVRAM life-spans with PCM as representative are commonly 107 To 108Secondary write-in, int data types are 32 bits, 2 under widely used 64 machines32=4294967296, reach 109 The order of magnitude, so int data types are completely enough.The space expense that so this programme is additionally introduced is only:63 × 32bit= 252B, is very small.
Preset allocation threshold k=4096 now, i.e., when in certain bin chained list size be allocated for the chunks of 104B 4096 times afterwards, shows that frequently application size is the chunks of 104B to user.So in order to avoid to just release block Reuse, now just no longer from free time distribution chained list in obtain size for 104B chunk, but directly in units of 4KB to It is the region of memory of 104*4096/1024=416KB that operating system calls one piece of new size of application by mmap () system, New bin1 are named as the time being.Then new bin1 are divided by the size of chunk, and by the allocation threshold of new bin1 K is also configured as 4096, can be distributed once for each chunk after exactly dividing.Subsequently all is the chunk of n to size Distribution request all will by new bin1 treatment rather than by idle distribution chain list processing.If new bin1 after a period of time Distribution number of times has also reached allocation threshold k, then same, is first called by mmap () system to operating system in units of 4KB One piece of new size of application is the region of memory of 416KB, is named as new bin2, and new bin2 are equally pressed the size of chunk Divided, and the allocation threshold k of new bin2 is also configured as 4096.By that analogy.
If it is worth noting that, the chunk in new bin1 is released, new bin1 will be returned rather than the free time point With in chained list.In addition, the region of memory after application new bin2 shared by new bin1 is possible to be released.So ensure that To the mmap () region of operating system application nor what just release was gone back.
Delayed allocation chained list, for preserving the fast chunk, small chunk and the large that are just released by a user Chunk, chained list carries out the insertion or deletion of chunk in chained list using FIFO methods, and the chunk of each new entrance can be labeled one Window, it will be assumed now that window size φ=4KB for setting in advance, recently the size of 3 chunk of release be respectively δ=64B, δ1=24B and δ2=1024B.When first chunk is released, it will initially enter delayed allocation chained list and its window is big Small window_alloc is initialized as φ=4KB;When second size is δ1Chunk when being released into the chained list, just will The window size of first chunk is changed to φ-δ1, while being δ by second size1The window size of chunk be also initialized as φ=4KB;When the 3rd size is δ2Chunk enter chained list when, the window of first chunk is changed to φ-δ12, second The window of individual chunk is changed to φ-δ2, the 3rd size is δ2The window size of chunk be initialized as φ=4KB.
After new chunk is inserted every time, the inspection work to linked list head is all carried out.If the chunk of chained list head Window size after the chunk sizes for having just enter into chained list are subtracted be less than zero, then it is taken out and is put back into from chained list head Go to treat to be allocated next time in the idle distribution chained list of management chunks.Can so ensure same chunk in distribution φ Will not be again used to before the space of size, effectively prevent the reuse to just release block.
It is worth noting that, it can be seen that delayed allocation chained list can always take the space of φ sizes, φ can be by system Administrative staff set to adapt to different load balancing demands.When the abrasion of load is extremely uneven (such as malicious attack), φ can suitably set larger, help to realize the abrasion equilibrium in larger location space;When load is typically should relatively Used time, φ can suitably set smaller, and the number of times that reduction system is called contributes to the performance of lifting application distribution.
Memory allocation method of the present invention as shown in Figure 3 is comprised the following steps:
(1) size of user's request memory headroom is converted to the chunk space sizes for being actually needed distribution;
(2) whether chunk space sizes are judged less than 64B, if then carrying out step (3);Otherwise carry out step (4);
(3) a suitable chunk is found in Fastbins;It is assigned, into step (7);
(4) a suitable chunk is found in Bins;It is assigned;
(5) whether chunk is judged in small bin or large bin, if then entering step (7);Under otherwise entering One step;
(6) user's release chunk, judges that whether the distribution number of times of new bin, more than allocation threshold, is to discharge new Memory headroom shared by bin, terminates;Do not discharge memory headroom where new bin otherwise, terminate;
(7) user's release chunk, chunk enter delayed allocation chained list, terminate.
Step (4) includes following sub-step in step of the present invention as shown in Figure 4:
(41) size according to chunk finds correspondingly sized bin in small bin and large bin, if Suitable bin is found in small bin, then into step (42);Knot is distributed after suitable bin is otherwise found in large bin Beam;
(42) judge the distribution number of times of the bin whether less than allocation threshold k;If then entering step (45);Otherwise enter Next step;
(43) judge the new the bin whether chunk has applied, be to return to step (42);Otherwise enter next step;
(44) a new new bin, the size N of new bin if applying successfully are applied fornb=k × Nc, wherein NcFor new The size of chunk is distributed, step (42) is returned to afterwards;Otherwise error reporting system low memory, terminates distribution;
(45) chunk is chosen from the bin chained lists and returns to user, while the distribution number of times of the bin cumulative 1, point With end.
Step (7) includes following sub-step in step of the present invention as shown in Figure 5:
(71) size is δnChunk be released after enter delayed allocation chained list, delayed allocation chained list be its mark one Window, window initial size is φ;
(72) the size N of other chunk mark windows in delayed allocation chained list is updatedi=Nin, i=1,2,3 ..., n- 1, wherein i represent that chunk enters the order of delayed allocation chained list;
(73) N is judged1Whether < 0 sets up, and is, the chunk that will at first enter in delayed allocation chained list chained list takes out and puts back to To in other free memories distribution chained list to treat next sub-distribution, while all chunk into the order i=i-1 of chained list are updated, Terminate;Otherwise directly terminate.
Further, the span of allocation threshold k is 100 < k < 50000, preferably k=4096;Delayed allocation chained list Mark window initial size be φ, the span of φ is 1KB < φ < 4096KB, preferably φ=4KB,
Presently preferred embodiments of the present invention is the foregoing is only, is not intended to limit the invention, it is all in essence of the invention Any modification, equivalent and improvement made within god and principle etc., should be included within the scope of the present invention.

Claims (5)

1. a kind of Memory Allocation chained list based on NVRAM, it is characterised in that the distribution chained list includes following part:
Fastbins, an array, for recording all fast bin chained lists, chained list carries out chunk in chained list using FIFO methods Insertion or deletion;
Bins, an array, for recording all new bin, small bin and large bin chained lists, new bin and small Bin chained lists carry out the insertion or deletion of chunk in chained list using FIFO methods, and each new bin and small bin chained list is set One counter, records respective distribution number of times, when number of times arrival allocation threshold k is distributed, then to system free memory space One new new bin of application, for depositing newly assigned chunk, the size N of new binnbFor
Nnb=k × Nc,
Wherein, NcIt is the size of new distribution chunk;
Delayed allocation chained list, for preserving fast chunk, the small chunk and large chunk that are just released by a user, chain Table carries out the insertion or deletion of chunk in chained list using FIFO methods, and the chunk of each new entrance can be labeled a window, window Mouth initial size is φ, while updating the size of other distribution windows
Ni=Nin, i=1,2,3 ..., n-1,
Wherein, NiRepresent the size of i-th mark window into the chunk of delayed allocation chained list;δnIt is newly to enter delayed allocation The size of the chunk of chained list;Work as N1During < 0, the chunk that will at first enter in delayed allocation chained list takes out and is put back into other free time To treat next sub-distribution in Memory Allocation chained list, while updating all chunk into the order i=i-1 of chained list.
2. a kind of Memory Allocation chained list based on NVRAM according to claim 1, it is characterised in that in the new bin Chunk be released by a user after, if the distribution number of times of new bin is more than allocation threshold, internal memory shared by release new bin is empty Between;Memory headroom shared by new bin is not discharged otherwise, the chunk will be returned in new bin.
3. a kind of memory allocation method based on NVRAM, it is characterised in that the method is comprised the following steps:
(1) size of user's request memory headroom is converted to the chunk space sizes for being actually needed distribution;
(2) whether chunk space sizes are judged less than 64B, if then carrying out step (3);Otherwise carry out step (4);
(3) a suitable chunk is found in Fastbins;It is assigned, into step (7);
(4) a suitable chunk is found in Bins;It is assigned;
(5) whether chunk is judged in small bin or large bin, if then entering step (7);Otherwise enter next Step;
(6) user's release chunk, judges that whether the distribution number of times of new bin, more than allocation threshold, is then to discharge new bin institutes Memory headroom is accounted for, is terminated;Do not discharge memory headroom where new bin otherwise, terminate;
(7) user's release chunk, chunk enter delayed allocation chained list, terminate.
4. a kind of memory allocation method based on NVRAM according to claim 3, it is characterised in that step (4) tool Body includes following sub-step:
(41) size according to chunk finds correspondingly sized bin in small bin and large bin, if in small Suitable bin is found in bin, then into step (42);Otherwise to find distribute after suitable bin in large bin and terminate;
(42) judge the distribution number of times of the bin whether less than allocation threshold;If then entering step (45);Otherwise enter next Step;
(43) judge the new the bin whether chunk has applied, be to return to step (42);Otherwise enter next step;
(44) a new new bin, the size N of new bin if applying successfully are applied fornb=k × Nc, wherein NcIt is new distribution The size of chunk, returns to step (42) afterwards;Otherwise error reporting system low memory, terminates distribution;
(45) chunk is chosen from the bin chained lists and returns to user, while the distribution number of times of the bin cumulative 1, distribution knot Beam.
5. a kind of memory allocation method based on NVRAM according to claim 3, it is characterised in that step (7) tool Body includes following sub-step:
(71) size is δnChunk be released after enter delayed allocation chained list, delayed allocation chained list be one window of its mark, Window initial size is φ;
(72) the size N of other chunk mark windows in delayed allocation chained list is updatedi=Nin, i=1,2,3 ..., n-1, its Middle i represents that chunk enters the order of delayed allocation chained list;
(73) N is judged1Whether < 0 sets up, and is, the chunk that will at first enter in delayed allocation chained list chained list takes out and is put back into it To treat next sub-distribution in his free memory distribution chained list, while all chunk into the order i=i-1 of chained list are updated, knot Beam;Otherwise directly terminate.
CN201611193373.0A 2016-12-21 2016-12-21 A kind of Memory Allocation chained list and memory allocation method based on NVRAM Active CN106844224B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611193373.0A CN106844224B (en) 2016-12-21 2016-12-21 A kind of Memory Allocation chained list and memory allocation method based on NVRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611193373.0A CN106844224B (en) 2016-12-21 2016-12-21 A kind of Memory Allocation chained list and memory allocation method based on NVRAM

Publications (2)

Publication Number Publication Date
CN106844224A true CN106844224A (en) 2017-06-13
CN106844224B CN106844224B (en) 2019-06-07

Family

ID=59135894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611193373.0A Active CN106844224B (en) 2016-12-21 2016-12-21 A kind of Memory Allocation chained list and memory allocation method based on NVRAM

Country Status (1)

Country Link
CN (1) CN106844224B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108664411A (en) * 2018-05-03 2018-10-16 晶晨半导体(上海)股份有限公司 A kind of memory chained list and the optimization method of memory management
CN109375985A (en) * 2018-09-06 2019-02-22 新华三技术有限公司成都分公司 Dynamic memory management method and device
CN111444016A (en) * 2020-03-25 2020-07-24 福州瑞芯微电子股份有限公司 Memory allocation method and device
CN111831596A (en) * 2020-07-28 2020-10-27 山东有人信息技术有限公司 RTOS serial port network transmission method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567250A (en) * 2003-06-11 2005-01-19 中兴通讯股份有限公司 Structure of small object internal memory with high-speed fragments and allocation method thereof
CN101320351A (en) * 2008-06-27 2008-12-10 华中科技大学 Internal memory distribution, cleaning and releasing method, and internal memory management apparatus
CN103678169A (en) * 2013-11-11 2014-03-26 华中科技大学 Method and system for efficiently utilizing solid-state disk for caching
CN104850505A (en) * 2015-05-26 2015-08-19 左应鹏 Memory management method and system based on chain type stacking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567250A (en) * 2003-06-11 2005-01-19 中兴通讯股份有限公司 Structure of small object internal memory with high-speed fragments and allocation method thereof
CN101320351A (en) * 2008-06-27 2008-12-10 华中科技大学 Internal memory distribution, cleaning and releasing method, and internal memory management apparatus
CN103678169A (en) * 2013-11-11 2014-03-26 华中科技大学 Method and system for efficiently utilizing solid-state disk for caching
CN104850505A (en) * 2015-05-26 2015-08-19 左应鹏 Memory management method and system based on chain type stacking

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SCHWALB D,ET AL: "nvm malloc: Memory Allocation for NVRAM", 《ADMS@VLDB》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108664411A (en) * 2018-05-03 2018-10-16 晶晨半导体(上海)股份有限公司 A kind of memory chained list and the optimization method of memory management
CN109375985A (en) * 2018-09-06 2019-02-22 新华三技术有限公司成都分公司 Dynamic memory management method and device
CN109375985B (en) * 2018-09-06 2021-04-06 新华三技术有限公司成都分公司 Dynamic memory management method and device
CN111444016A (en) * 2020-03-25 2020-07-24 福州瑞芯微电子股份有限公司 Memory allocation method and device
CN111444016B (en) * 2020-03-25 2023-10-13 瑞芯微电子股份有限公司 Memory allocation method and device
CN111831596A (en) * 2020-07-28 2020-10-27 山东有人信息技术有限公司 RTOS serial port network transmission method and device
CN111831596B (en) * 2020-07-28 2022-01-21 山东有人物联网股份有限公司 RTOS serial port network transmission method and device

Also Published As

Publication number Publication date
CN106844224B (en) 2019-06-07

Similar Documents

Publication Publication Date Title
CN106844224B (en) A kind of Memory Allocation chained list and memory allocation method based on NVRAM
CN107239230B (en) Optimized hop-house multiple hash table for efficient memory inline deduplication applications
CN107168657B (en) Virtual disk hierarchical cache design method based on distributed block storage
US8706998B2 (en) Method for managing flash memories having mixed memory types
US10049717B2 (en) Wear leveling for storage or memory device
US20110246742A1 (en) Memory pooling in segmented memory architecture
CN101533408A (en) Processing method and processing device of mass data
CN109388590B (en) Dynamic cache block management method and device for improving multichannel DMA (direct memory access) access performance
TW201101309A (en) A solid state disk drive and a method for managing a memory device
US10108555B2 (en) Memory system and memory management method thereof
US7111289B2 (en) Method for implementing dual link list structure to enable fast link-list pointer updates
CN107368257A (en) Data routing inspection method and device in solid-state memory
CN106873912A (en) The dynamic partition storage method and device, system of TLC chip solid state hard discs
JP2017188094A (en) Memory module memory deduplication method, and memory module therefor
CN108959113A (en) Method and system for flash memory perception heap memory management
EP0032956A1 (en) Data processing system utilizing hierarchical memory
CN109656483B (en) Static wear balancing method and device for solid-state disk
CN108829346A (en) A kind of user's write request processing method for the solid state hard disk adapting to Hash memory pages difference
CN103617123A (en) Method and system for memory management by memory block
CN107145301B (en) Data access method and device based on hybrid disk
CN109324979A (en) The data buffer storage division methods and data distributing method of 3D flash memory solid-state disk system
CN103198021A (en) Method for improving solid state disk data transmission efficiency
CN108108309A (en) It is related to concurrent access method, solid state disk and the computer of more nand flash memories
CN109460406A (en) A kind of data processing method and device
CN104298615B (en) Method for equalizing swap partition loss of memory

Legal Events

Date Code Title Description
PB01 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