CN108628753A - Memory headroom management method and device - Google Patents
Memory headroom management method and device Download PDFInfo
- Publication number
- CN108628753A CN108628753A CN201710184680.0A CN201710184680A CN108628753A CN 108628753 A CN108628753 A CN 108628753A CN 201710184680 A CN201710184680 A CN 201710184680A CN 108628753 A CN108628753 A CN 108628753A
- Authority
- CN
- China
- Prior art keywords
- node
- file
- memory
- directory entry
- bitmap
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
Abstract
This application provides a kind of memory headroom management methods and device, this method to include:The file access request of first thread is received, this document access request includes the data of first object file to be stored;Obtain the first bitmap Kd-Trees corresponding with the first memory space belonging to the first thread, wherein, the first bitmap Kd-Trees includes N/S leaf node, wherein, the N is used to indicate the storage number of blocks that first memory space includes, which is used to indicate the number of the memory block in first memory space of each leaf node management;The first leaf node is determined in the first bitmap Kd-Trees;At least one free memory blocks are selected from S memory block of the first leaf node management;It will be in the data storage at least one free memory blocks of the first object file.The memory headroom management method and device of the embodiment of the present application, can be randomly assigned free memory blocks, to realize the abrasion equilibrium of memory, extend the service life of memory.
Description
Technical field
This application involves computer realms, and more particularly, to a kind of memory headroom management method and device.
Background technology
Nonvolatile memory (Non-Volatile Memory, NVM) is a kind of novel memory, it has very much
Advantage can such as be addressed according to byte, and data are not lost after power down, and storage density is high, and without frequently refreshing, and low energy consumption,
Therefore, it is well suited as memory (or main memory).But NVM is there is also some shortcomings, it is such as relatively long write delay,
It is limited etc. to write number.NVM can with existing dynamic random access memory (Dynamic Random Access Memory,
DRAM mixing memory) is collectively formed, the ephemeral data that application program generates is storable in DRAM, and application program generates lasting
Property data are storable in NVM.
It is traditional based on the file system of disk on NVM using the advantage that can not excavate out NVM well because it
For data I/O request have to that by very deep software stack whole flow process could be completed.It is existing in order to solve this problem
It such as can the lasting memory text of byte-accessed for the persistent file system for rebuilding byte granularity based on NVM there are some
Part system (Byte addressable Persisten File System, BPFS), storage class file memory file system
(Storage Class Memory File System, SCMFS), persistence memory file system (Persistent Memory
File System, PMFS) and hierarchical file system (Hierarchical File System, HiNFS) etc..But these are literary
The problem of aging of part system is seldom taken into account, for example, PMFS, after prolonged operation, with the establishment of file
It can be reduced with the running time increases with the efficiency of the accumulation of delete operation, system operation, it is, therefore, desirable to provide a kind of side
Method effectively manages memory headroom.
Invention content
A kind of memory headroom management method of the application offer and device, can be randomly assigned free memory blocks, realize storage
The abrasion equilibrium of device extends the service life of memory.
In a first aspect, providing a kind of memory headroom management method, the method is applied to have file system in memory
Storage device, wherein it is described in save as nonvolatile memory NVM, which is characterized in that including:
The file access request of first thread is received, the file access request includes first object file to be stored
Data;
Obtain the first bitmap Kd-Trees corresponding with the first memory space belonging to the first thread, wherein in described
It includes multiple memory spaces to deposit, and each memory space is respectively adopted different bitmap Kd-Trees and is managed, described first
Figure Kd-Trees includes N/S leaf node, wherein N is used to indicate the storage number of blocks that first memory space includes, S
It is used to indicate the number of the memory block in first memory space of each leaf node management, N is not less than 1 not less than 2, S,
N is not less than S;
The first leaf node is determined in the first bitmap Kd-Trees, wherein being recorded in first leaf node has
The information of free memory blocks, first leaf node are from the root node of the first bitmap Kd-Trees to the side of leaf node
To stochastic searching Logm(N/S) secondary rear lookup obtains, wherein m is used to indicate any one in the first bitmap Kd-Trees
The value of the number of the next stage child node of a node, m is not less than 2;
At least one free memory blocks are selected from S memory block of the first leaf node management, wherein described
Record has the use state information of the S memory block in one leaf node;
It will be in the data storage at least one free memory blocks of the first object file.
The memory headroom management method of the embodiment of the present application, receives the file access request of first thread, by obtain with
The corresponding first bitmap Kd-Trees of the first memory space belonging to the first thread determines first in the first bitmap Kd-Trees
Leaf node records the information of available free memory block in first leaf node, and first leaf node is from described
Direction stochastic searching Log of the root node of one bitmap Kd-Trees to leaf nodem(N/S) secondary rear searching acquisition, then from institute
It states in S memory block of the first leaf node management and selects at least one free memory blocks, by the number of the first object file
According in storage at least one free memory blocks, free memory blocks can be randomly assigned, to realize the abrasion of memory
Equilibrium extends the service life of memory.Also, in applying for embodiment, if desired recycling stores data in the block, can make
The corresponding bitmap of relevant block is quickly positioned with bitmap Kd-Trees, and changes elastic bitmap Kd-Trees, improves search efficiency, is searched
Better performances.
Optionally, can also include file identification in the file access request.File identification is that process opens the text
It is the file handle of the file destination distribution when part access request file destination to be accessed.In other words, the file identification
It is used to indicate the file destination to be accessed.Process can find the description information of the file destination according to the file identification.
Specifically, the file identification may include file type (catalogue file or the number of the store path of file destination, file destination
According to file) etc..
In the embodiment of the present application, the first thread operates in first memory space.First memory space
It is corresponding with the first bitmap Kd-Trees.
Optionally, the use state information of each memory block can be indicated using bitmap bitmap in S memory block.Than
Such as, 0 or 1 can be used to indicate whether memory block is idle.If specifically for example, by bit position 0, then it represents that memory block is idle, if
By bit position 1, then it represents that memory block is occupied or is unsatisfactory for condition;If alternatively, bit position 1 is indicated that memory block is empty
Spare time, if by bit position 0, then it represents that memory block is occupied.
In some possible realization methods, the method further includes:
The establishment file request of the first thread is obtained, the establishment file request includes the first object file
Routing information includes the first directory entry to be created, first directory entry in the routing information of the first object file
For the directory entry belonging to the first object file;
The directory entry of parent directory where obtaining the first object file according to the routing information;
It is empty from the first of the directory entry of the parent directory according to the required byte number of the first directory entry to be created
Between first node is determined in chained list, include P node in the space chained list, each node in the P node is used for
It indicates one in the corresponding first memory block of the directory entry of the parent directory idle section, includes the in the first node
The address information in one section, wherein P is the integer not less than 1;
First directory entry is stored in the first interval that the first node is directed toward.
In the embodiment of the present application, include P node in the space chained list, each node in the P node
It may be used to indicate an idle section in the corresponding first memory block of directory entry of the parent directory, wherein P is no less than 1
Integer.That is, in the corresponding first memory block of directory entry of parent directory where first object file, if there is sky
Not busy section (such as first interval) then can be used for storing the directory entry of first object file.
Optionally, include the address information of the first interval in the first node.For example, described address packet
Initial address and end address are included, alternatively, described address information includes initial address and offset (or length).In this way, memory
Space management device can determine specific location of the first interval in the chained list of space according to described address information, to
It will be in first directory entry storage to the first interval.
In some possible realization methods, the method further includes:
The second establishment file request from the first thread is obtained, the second establishment file request includes the second mesh
The second routing information for marking file includes the second directory entry to be created, second catalogue in second routing information
Item is the directory entry belonging to second file destination;
The directory entry of parent directory where obtaining second file destination according to second routing information;
It is not assignable in multiple memory blocks corresponding to the directory entry of parent directory where second file destination
When idle section, the corresponding first bitmap Kd-Trees of first memory space belonging to the first thread is obtained;
According to determining second leaf node in the first bitmap Kd-Trees, wherein recorded in second leaf node
There is the information of assignable free memory blocks, second leaf node is from the root node of the first bitmap Kd-Trees to leaf
The direction stochastic searching Log of child nodem(N/S) secondary rear lookup obtains;
At least one free time is selected to deposit from first memory space according to the bitmap of the second leaf node management
Store up block;
Second directory entry to be created is stored at least one free memory blocks.
Here, since the request of the second establishment file and the request of the first establishment file are to belong to same thread (the i.e. First Line
Journey) establishment file request, then for the second establishment file ask determine free memory blocks when, still in the first thread
It is searched in the corresponding first bitmap Kd-Trees of the first affiliated memory space, that is, searches its of the first bitmap Kd-Trees
His leaf node, such as the second leaf node.
In the embodiment of the present application, further, if desired increase directory entry for the file destination in a certain thread, if
There is no assignable free block in memory block corresponding to the directory entry of parent directory where file destination, then it can be in the thread institute
In the corresponding bitmap Kd-Trees of memory space of category, other leaf nodes are searched, to obtain free memory blocks, wait increasing to store
The directory entry added.
In some possible realization methods, the method further includes:
File deletion requests are received, include the path letter of the second file destination to be deleted in the file deletion requests
Breath;
The catalogue of the parent directory belonging to second file destination is determined according to the routing information of second file destination
;
The directory entry of parent directory belonging to second file destination searches belonging to second file destination
The address information of second interval belonging to the directory entry of the mark of two memory blocks and second file destination;
Calculate the cryptographic Hash of the mark of second memory block;
The second space chained list of the directory entry of the parent directory belonging to second file destination is searched according to the cryptographic Hash,
The second space chained list is used to record corresponding second memory block of directory entry of the parent directory belonging to second file destination
In available idle section;
It is inserted into second node in the second space chained list, wherein record has secondth area in the second node
Between address information.
It should be noted that " being inserted into second node in the second space chained list " indicate that the second node is can
, alternatively, second node has been recovered, alternatively, it can be appreciated that deleting the directory entry stored in second node
.Second space chained list indicates available section for recording.
Further, when recycling the second interval (for example, the item that deltrees in second file destination
When file1.txt), it is also necessary to recycle the inode of second file destination and the memory block of second file destination occupancy
(it can be appreciated that deleting memory block).
In some possible realization methods, the first leaf node is determined in the first bitmap Kd-Trees, including:
To the direction stochastic searching of leaf node to i-th of middle node since the root node of the first bitmap Kd-Trees
Point, wherein i-th of intermediate node is obtained since the root node after stochastic searching i times, the i not less than 1 and
No more than Logm(N/S), Logm(N/S) it is the natural number more than 1, i-th of intermediate node record has among described i-th
The number of available free memory blocks in the subtree of node;
When the number of available free memory blocks in the subtree of i-th of intermediate node is unsatisfactory for distributive condition, from
J-th of intermediate node is selected in the brotgher of node of i-th of intermediate node, wherein in the subtree of j-th of intermediate node
Include the free memory blocks for meeting distributive condition;
The first leaf node is determined in the subtree of j-th of intermediate node.
Here, the brotgher of node of i-th of intermediate node can be understood as the middle node in same level-one with i-th of intermediate node
Point.
That is, if the number of available free memory blocks is unsatisfactory for distributive condition in the subtree of a certain intermediate node
When, can be selected from the brotgher of node of the intermediate node one include the free memory blocks for meeting distributive condition middle node
Point, to store the directory entry of file destination.
In some possible realization methods, according to the bitmap of the first leaf node management from first space
At least one free memory blocks are selected, including:
At least one free memory blocks are randomly choosed according in S memory block of the first leaf node management.
Second aspect provides a kind of memory headroom managing device, for executing above-mentioned first aspect or first aspect
Method in arbitrary possible realization method.Specifically, which includes for executing above-mentioned first aspect or first aspect
The module or unit of method in arbitrary possible realization method.
Third method provides a kind of memory headroom managing device.The device includes that processor, memory and communication connect
Mouthful.Processor is connect with memory and communication interface.For storing instruction, processor communicates memory for executing the instruction
Interface with other network elements for being communicated under the control of a processor.When the processor executes the instruction of memory storage,
The execution makes the processor execute the method in the arbitrary possible realization method of first aspect or first aspect.
Fourth aspect provides a kind of computer readable storage medium, which has program,
It is above-mentioned in a first aspect, and its any one of various realization methods memory headroom that the program so that memory headroom managing device executes
Management method.
Description of the drawings
Fig. 1 is for a kind of a kind of application scenario diagram of next-generation nonvolatile storage provided by the embodiments of the present application.
Fig. 2 is the schematic layout figure of data structure in the file system according to the embodiment of the present application.
Fig. 3 is the schematic flow chart according to the memory headroom management method of the embodiment of the present application.
Fig. 4 is the schematic flow chart according to the memory headroom management method of another embodiment of the application.
Fig. 5 is the schematic flow chart according to the memory headroom management method of the application another embodiment.
Fig. 6 is the schematic diagram according to the example of a space chained list of the embodiment of the present application.
Fig. 7 is the schematic diagram according to an example of the bitmap Kd-Trees of the embodiment of the present application.
Fig. 8 is the schematic block diagram according to the memory headroom managing device of the embodiment of the present application.
Fig. 9 is the schematic block diagram according to the memory headroom managing device of another embodiment of the application.
Specific implementation mode
Below in conjunction with attached drawing, the technical solution in the application is described.
The technical solution of the embodiment of the present application can be applied to based on nonvolatile memory (Non-Volatile Memory,
NVM) in the computer system of memory.Wherein, operation has file system in NVM, for example, can the lasting memory file system of byte-accessed
It unites (Byte addressable Persisten File System, BPFS), storage class file memory file system
(Storage Class Memory File System, SCMFS), persistence memory file system (Persistent Memory
File System, PMFS) and hierarchical file system (Hierarchical File System, HiNFS).NVM is for storing text
The data and metadata of part system.Optionally, NVM can be with dynamic random access memory (Dynamic Random Access
Memory, DRAM) mixing memory is collectively formed, the ephemeral data that application program generates is storable in DRAM, application program production
Raw persistent data is storable in NVM.
Fig. 1 is a kind of a kind of application scenario diagram of next-generation nonvolatile storage (NVM) provided by the embodiments of the present application.
In a kind of application scenarios shown in FIG. 1, NVM 102 is used as memory.As shown in Figure 1, dynamic RAM DRAM 103
It is connected by rambus and central processing unit (Central Processing Unit, CPU) 101.In central processing unit
(CPU) 101 operating system and other software program are installed, to which central processing unit (CPU) 101 can be realized to DRAM
103, the access of disk 104 and NVM 102.It is understood that in the embodiment of the present application, central processing unit (CPU) 101
An only example of processor.Other than central processing unit (CPU) 101, processor can also be other specific integrated electricity
Road (Application Specific Integrated Circuit, ASIC), or be arranged to implement the application implementation
One or more integrated circuits of example.
DRAM 103 has the advantages that access speed is fast, CPU 101 can high speed access DRAM 103, in DRAM 103
Any storage unit carry out read or write, therefore usually DRAM 103 is used as main memory.Usual DRAM 103 is used for
The various softwares being currently running, the information etc. for outputting and inputting data and being exchanged with external memory in deposit operation system.However,
DRAM 103 is volatibility, and after computer closes power supply, the information in DRAM 103 will be preserved no longer.
Disk 104 can be used as external memory, for storing data.It is, of course, understood that the memory as external memory removes
Can be can also be the nonvolatile memories such as solid state disk (SSD) outside disk 104.Storage usually as external memory is situated between
Matter need to have the characteristics that it is non-volatile, when computer close power supply after, being stored in the data of external memory still can be saved.And
And the memory capacity of external memory is larger.
Novel nonvolatile memory (NVM) 102 can directly hang on rambus as with DRAM 103.Center
Processor (CPU) 101 can access NVM 102 by memory management unit (Memory Management Unit, MMU), to
Data are quickly stored in NVM 102 or read data from NVM 102.It is understood that in directly hanging over as NVM 102
It deposits in bus in use, the stand-by period (latency) of data access as DRAM 103, can be reduced.Also, with DRAM
103 compare, due to NVM 102 have it is non-volatile, so as to preferably preserve data.
It should be noted that the nonvolatile memory that can be hung on rambus described in the embodiment of the present application
May include:Phase transition storage (Phase Change Memory, PCM), resistance-variable storing device (Resistive Random
Access Memory, RRAM), magnetic storage (Magnetic Random Access Memory, MRAM) or ferroelectric deposit
The novel nonvolatile memories such as reservoir (Ferroelectric Random Access Memory, FRAM).These novel NVM
All have the characteristics that access speed is fast and it is non-volatile to have, also, these novel NVM can be addressed by byte (Byte), it will
Data are that unit is written in nonvolatile memory with position (bit).
It is understood that the storage that application scenarios shown in FIG. 1 can be applied to establish file system based on memory is set
In standby.In embodiments of the present invention, storage device may include that computer, server, storage array etc. establish text in memory
The equipment of part system.The application scenarios of the embodiment of the present invention are not defined herein.It should be noted that implementing in the present invention
In example, unless otherwise instructed, described memory is NVM.
In the embodiment of the present application, file system and file are stored in NVM 102.Those skilled in the art can know
Road, file system are the software configurations being responsible in operating system with storage file information.From the point of view of system perspective, file system
System is to carry out tissue and distribution to the space of file-storage device, is responsible for file and stores and the file of deposit is protected and examined
The system of rope.The central concept of file system is superblock (Super Block, SB), i-node (inode), data block (data
Block), directory block (directory block) and indirect block (indirection block).Superblock includes file system
Overall information, such as file system size.Inode includes all information of a file other than filename.
For filename there are in directory block together with inode numbers, catalogue entry includes the inode numbers of filename and file.In i-node
The only space of low volume data block, if necessary to which more, the pointer space for being directed toward data block can be dynamically distributed, these dynamic allocation
Block be indirect block.It in the embodiment of the present application, can be with the data and metadata of storage file in NVM 102.
Wherein, the specific descriptions of file system are referring to following content:
File system defines the access strategy of file for storing, organizing organization data.Data in file system are divided into member
Data and data, wherein data refer to the real data in ordinary file, and metadata refers to the feature for describing a file
System data.Metadata may include such as access rights, the distributed intelligence of file owner and file data blocks
(inode) etc..User needs to operate a file, and necessity obtains its metadata, can just navigate to the position of file first
And obtain the interior perhaps association attributes of file.Metadata is exactly the data of data, in each file pair of field of filesystems
Answer a metadata structure body.This structure includes the attribute of file, for example, document creation, modification and the time of access, text
Part owner, permission, map information etc..
File system is made of three parts:The interface of file system, the software assembly to file manipulation and management, number of files
According to and attribute.When process reads file or written document, operating system first can open the process target to be accessed text according to filename
Then part carries out read operation or write operation further according to the read request of reception or write request to open file destination.Wherein, file
Name can be the comspec of file, be the logical description of location information of the file destination in disk.Such as file destination
Filename can be:D:\FILE\file1.During opening file by the comspec of file, need according to file
Complete trails successively search, ceaselessly read disk, and corresponding data structure is created to indicate the catalogue of file destination in memory
Structure.After opening file, according to read request or write request access target file during, if according further to file destination
Comspec carries out read operation or write operation to file, can be related to frequently reading disk or write magnetic disk, and process is more complicated, when processing
Between also can be long.
Therefore, in practical application, during operating system opens file destination, operating system can be that the process accesses
File destination distribute file handle (also referred to as filec descriptor), and in one file sentence of process internal maintenance
Handle array.Wherein, file handle can be indicated by number, for example, file handle can be:Fd 0, fd1 or fd 2.Text
The pointer for being directed toward file description information is stored in part handle array.Include to be directed toward file directory knot in file description information
Structure, metadata (metadata) and the pointer for accessing the information such as position.Document directory structure is used to describe the logical bit of file
It sets, document directory structure is stored in memory, and process can position the position of file destination by document directory structure.Metadata
It is the data for describing file data, specifically, including the tissue, data field and its relationship of file data in metadata
Information.Access the initial position that position is used to indicate process current accessed.It can be a position in logic to access position.It is logical
Often, it can be 0 to access location information, accessed since the initial address of file for representing.During opening file
It is the other positions in addition to 0 that setting file access position can be called by system.In file (read/write file) process of access
In, process can also call setting file access position according to file handle by system.Those skilled in the art know, in random write
In the case of writing, it can be any one access position that setting is called by system to access position, the case where sequence is read and write
Under, the position that accesses of current accessed is the last end position accessed.Read operation or write operation are being carried out to file destination
During, process can find target text according to the file handle of the file destination in the file handle array that process is safeguarded
Part description information.The metadata of file is found in file description information and accesses the information such as position, to realize to target
The read operation of file or write operation.Know during read/write file destination it is understood that file handle is current process
A kind of file identification of other file destination.In the embodiment of the present application, file identification can also be its in addition to file handle
His filec descriptor, does not limit, identifies file destination as long as process can be made to pass through file identification and find target herein
The description information of file.
For the ease of understanding technical solution provided by the embodiments of the present application, lower the embodiment of the present application is described with reference to Fig. 2.
Fig. 2 shows the schematic layout figures of data structure in the file system of the embodiment of the present application.As shown in Fig. 2, the application is implemented
Example deposits each of multiple memory spaces (such as memory space shown in Fig. 20 to memory space N) of memory (such as NVM)
Storage space is individually managed using an elastic bitmap Kd-Trees (Flexible Bitmap Segment Tree, FBST).
The corresponding physical address spaces of NVM may include:Superblock (Super Block, SB), the regions Log and data area (Data
Area).Wherein, SB can preserve more parts;The regions Log are for writing daily record.In the spaces Data Area, a certain free space can
For storage catalogue item, for example useIndicate the memory space of storage catalogue item.Further, it will be used in the embodiment of the present application
The memory space of hash index table and space chained list to storage catalogue itemIt is managed.In fig. 2, it usesIndicate storage catalogue
The section of item data is usedIndicate free space, a certain idle section in the memory space for needing to recycle directory entryWhen,
Hash index table may be used to be searched.It should be understood that the structure chart in Fig. 2 simply facilitates those skilled in the art's understanding, it is not right
The embodiment of the present application, which is constituted, to be limited.
Memory headroom management method in the embodiment of the present application can be by the processor (Processor) in computer system
It executes, it further includes interior that operation, which has operating system (Operating System, OS), the computer system, in the processor
It deposits, being established in the memory has file system.For ease of description, it is hereafter illustrated so that processor is CPU as an example.
Fig. 3 shows the schematic flow chart of the memory headroom management method 300 according to the embodiment of the present application.The method
300 can be executed by CPU.The method 300 is applied to have the storage device of file system in memory, wherein the memory
For nonvolatile memory NVM, the method 300 includes:
S310, receives the file access request of first thread, and the file access request includes first object to be stored
The data of file;
Optionally, the file access request may include write request, and the write request is described to be stored for being written
The data of first object file.It should be understood that optionally, the file access request can also ask in access including file read request etc.
It asks.
Optionally, can also include file identification in the file access request.File identification is that process opens the text
It is the file handle of the file destination distribution when part access request file destination to be accessed.In other words, the file identification
It is used to indicate the file destination to be accessed.Process can find the description information of the file destination according to the file identification.
Specifically, the file identification may include file type (catalogue file or the number of the store path of file destination, file destination
According to file) etc..Wherein, a process may include multiple threads, and per thread is an execution entity in process, each line
Journey has unique identifier.
S320 obtains the first bitmap Kd-Trees corresponding with the first memory space belonging to the first thread, wherein institute
It includes multiple memory spaces to state memory, and each memory space is respectively adopted different bitmap Kd-Trees and is managed, and described
One bitmap Kd-Trees includes N/S leaf node, wherein N is used to indicate the storage block number that first memory space includes
Amount, S are used to indicate the number of the memory block in first memory space of each leaf node management, and N is not small not less than 2, S
It is not less than S in 1, N;
Due to including file identification in file access request, CPU can determine file access request according to file identification
Affiliated thread.And per thread has that unique identifier is corresponding with memory space, CPU can be known according to the identifier of thread
The corresponding memory space of thread then obtains the corresponding bitmap Kd-Trees of memory space.In other words, CPU is being obtained from a certain
After the file access request of thread, it is also known that the memory space that thread is run.
In the embodiment of the present application, the first thread operates in first memory space.First memory space
It is corresponding with the first bitmap Kd-Trees.Wherein, first memory space includes N (N is not less than 2) a memory block
(Block), the first bitmap Kd-Trees includes N/S leaf node, and each leaf node manages S memory block.Specifically,
Each leaf node can pass through each memory block in S (S is not less than 1) a memory block of bitmap (bitmap) to indicate its management
Use state information.For example, each memory block is indicated on bitmap using a bit position (bit) in S memory block, then
The digit of the bitmap of the leaf node management is S.
It should be noted that the intermediate node on the tree of the first bitmap Kd-Trees, which includes at least, the intermediate node
Subtree instruction free memory blocks quantity information, in order to subsequently search free memory blocks.In general, the middle node
Location information of the point not comprising free memory blocks.
Optionally, the first bitmap Kd-Trees can be the elastic bitmap Kd-Trees FBST in Fig. 2 or following FIG. 7.Bullet
Property bitmap Kd-Trees can be by adjusting the bitmap digit that leaf node includes, i.e. the value size of S, with realize tree height become
Change.And the height change of elastic bitmap Kd-Trees, can influence the time of memory block distribution and/or memory block recycling in memory opens
Pin.Wherein, the height change of elastic bitmap Kd-Trees can flexibly be configured according to the storage size of memory.
If it should be understood that there are multiple threads in memory, per thread operates in an independent memory space, each to store
Space can be managed using a bitmap line segment tree construction.
S330 determines the first leaf node, wherein remember in first leaf node in the first bitmap Kd-Trees
Record the information of available free memory block, first leaf node is from the root node of the first bitmap Kd-Trees to leaf node
Direction stochastic searching Logm(N/S) secondary rear lookup obtains, wherein m is used to indicate appointing in the first bitmap Kd-Trees
The value of the number of the next stage child node of one node of meaning, m is not less than 2;
Here, the first leaf node is to walk Log at random to the direction of leaf node from the root node of the first bitmap Kd-Treesm
(N/S) acquisition is searched after step, i.e., is searched using Random Walk Algorithm.Wherein, m is used to indicate the first bitmap line segment
The number of the next stage node of any one node of tree.For example, when m values are 2, the first bitmap Kd-Trees is one
The number of binary tree, the next stage node of any one node of the first bitmap Kd-Trees is 2.
It should be noted that described " walk Log at random from the root node of the first bitmap Kd-Trees to the direction of leaf nodem
(N/S) step " searches the first leaf node, necessarily refers to since root node, the lookup step by step to the child node of next stage, without
It is the lookup of same first nodes.
Optionally, first leaf node can be deposited by bitmap to record the S storage free time in the block of its management
Store up the information of block.
S340 selects at least one free memory blocks from S memory block of the first leaf node management, wherein
Record has the use state information of the S memory block in first leaf node;
Optionally, the use state information of each memory block can be indicated using bitmap bitmap in S memory block.Than
Such as, 0 or 1 can be used to indicate whether memory block is idle.If specifically for example, by bit position 0, then it represents that memory block is idle, if
By bit position 1, then it represents that memory block is occupied or is unsatisfactory for condition;If alternatively, bit position 1 is indicated that memory block is empty
Spare time, if by bit position 0, then it represents that memory block is occupied.
Optionally, S340 may include:
At least one free memory blocks are randomly choosed according in S memory block of the first leaf node management.
Specifically, whether the use state that the first leaf node records S memory block using bitmap mode is (i.e. empty
It is not busy) information.CPU in S memory block, can randomly choose at least one sky according to the use state information of each memory block
Not busy memory block.
S350, will be in the data storage at least one free memory blocks of the first object file.
Optionally, when storing the data of the first object file at least one free memory blocks, CPU can
To record its information the corresponding index node of first object file (inode) is inner.
The memory headroom management method of the embodiment of the present application, CPU are obtained by receiving the file access request of first thread
The first bitmap Kd-Trees corresponding with the first memory space belonging to the first thread is taken, is determined in the first bitmap Kd-Trees
First leaf node records the information of available free memory block in first leaf node, and first leaf node is from institute
The root node of the first bitmap Kd-Trees is stated to the direction stochastic searching Log of leaf nodem(N/S) secondary rear searching acquisition, then
At least one free memory blocks are selected from S memory block of the first leaf node management, by the first object file
Data storage at least one free memory blocks, free memory blocks can be randomly assigned, to realize memory
Abrasion equilibrium extends the service life of memory.Also, in applying for embodiment, if desired recycling stores data in the block, can
To use bitmap Kd-Trees quickly to position the corresponding bitmap of relevant block, and elastic bitmap Kd-Trees is changed, improves search efficiency,
Search performance is preferable.
The memory headroom management method of the embodiment of the present application can be executed by CPU, wherein operation has operating system in CPU.
CPU is during accessing file system, the storage using the memory headroom management method of the embodiment of the present application to memory (NVM)
Space is allocated, and to realize the abrasion equilibrium of NVM, improves the performance of file system.
It should be understood that each file in file system corresponds to an index node, accordingly, it is determined where file system
File destination is stored in memory block, it will be able to obtain the index node corresponding to file destination.
The data of storage first object file are described above, further, if the memory block of storage first object file
In there is also idle sections, then the catalogue file (directory entry) of the first object file can also be created, by first mesh
In catalogue file (directory entry) storage to idle section for marking file.It is described according to another implementation of the application below in conjunction with Fig. 4
The memory headroom management method 400 of example.The method 400 can be executed by CPU.As shown in figure 4, the method 400 includes:
S410 obtains the establishment file request of the first thread, and the establishment file request includes the first object
The routing information of file, includes the first directory entry to be created in the routing information of the first object file, and described first
Directory entry is the directory entry belonging to the first object file;
S420, the directory entry of parent directory where obtaining the first object file according to the routing information;
S430, according to the required byte number of the first directory entry to be created from the of the directory entry of the parent directory
First node is determined in one space chained list, includes each of P node, the P node in the chained list of first space
Node is used to indicate one in the corresponding first memory block of directory entry of the parent directory idle section, in the first node
Include the address information of first interval, wherein P is the integer not less than 1;
S440 stores first directory entry in the first interval that the first node is directed toward.
Specifically, CPU can also obtain the establishment file request of the first thread, the establishment file request includes
The store path information of the first object file includes to be created first in the routing information of the first object file
Directory entry, for example, the complete trails of the first object file is:/ dir1/123/file.txt, first mesh to be created
Recording item is:file.txt.CPU can obtain the first object file institute according to the routing information of the first object file
In the directory entry of parent directory, for example, the directory entry of parent directory is where the first object file:/dir1/123.In addition, tool
Body, CPU can calculate required byte number, so according to the length of the name character string of the first directory entry to be created
First node is determined from the space chained list of the directory entry of the parent directory (such as first space chained list) afterwards, in order to described
First directory entry is stored in the first interval that first node is directed toward.Optionally, CPU can be directed toward described first by pointer
Section.
In the embodiment of the present application, include P node in the space chained list, each node in the P node
It may be used to indicate an idle section in the corresponding first memory block of directory entry of the parent directory, wherein P is no less than 1
Integer.That is, in the corresponding first memory block of directory entry of parent directory where first object file, if there is sky
Not busy section (such as first interval) then can be used for storing the directory entry of first object file.
Optionally, the first interval can be described with length or range (extent), can specifically use (first,
Last it) indicates.Wherein, extent is a concept in file system.
Optionally, include the address information of the first interval in the first node.For example, described address packet
Initial address and end address are included, alternatively, described address information includes initial address and offset (or length).In this way, CPU can
To determine specific location of the first interval in the chained list of space according to described address information, thus by first catalogue
In item storage to the first interval.
It is described above the catalogue file (directory entry) of file destination, stores the mesh to the parent directory where file destination
Record the embodiment of the corresponding storage of item idle section (i.e. first interval) in the block.Optionally, if father's mesh where file destination
When there is no the idle section that can be distributed in the corresponding multiple memory blocks of directory entry of record, then need in the first bitmap line segment
In tree, free memory blocks are determined for directory entry to be created.It is carried out by taking the request of the second establishment file of first thread as an example below
Explanation.
Optionally, can also include as one embodiment, the method 300 or the method 400:
The second establishment file request from the first thread is obtained, the second establishment file request includes the second mesh
The second routing information for marking file includes the second directory entry to be created, second catalogue in second routing information
Item is the directory entry belonging to second file destination;
The directory entry of parent directory where obtaining second file destination according to second routing information;
It is not assignable in multiple memory blocks corresponding to the directory entry of parent directory where second file destination
When idle section, the corresponding first bitmap Kd-Trees of first memory space belonging to the first thread is obtained;
According to determining second leaf node in the first bitmap Kd-Trees, wherein recorded in second leaf node
There is the information of assignable free memory blocks, second leaf node is from the root node of the first bitmap Kd-Trees to leaf
The direction stochastic searching Log of child nodem(N/S) secondary rear lookup obtains;
At least one free time is selected to deposit from first memory space according to the bitmap of the second leaf node management
Store up block;
Second directory entry to be created is stored at least one free memory blocks.
Specifically, CPU can also obtain the second establishment file request of the first thread, second establishment file
Request includes the second file destination, includes the second directory entry to be created, second catalogue in second routing information
Item is the directory entry belonging to second file destination.CPU can obtain second target according to second routing information
The directory entry of parent directory where file.If it is judged that more corresponding to the directory entry of parent directory where second file destination
There is no assignable idle section in a memory block, then needs to obtain the first memory space correspondence belonged to described in the first thread
The first bitmap Kd-Trees.Similarly, CPU searches assignable free memory blocks in the first bitmap Kd-Trees,
Determine the second leaf node, wherein the process that the determination of the second leaf node is determined to the first leaf node above is similar
's.Finally, CPU selects at least one free time according to the bitmap of the second leaf node management in first memory space
Memory block, and store second directory entry to be created.
Here, since the request of the second establishment file and the request of the first establishment file are to belong to same thread (the i.e. First Line
Journey) establishment file request, then for the second establishment file ask determine free memory blocks when, still in the first thread
It is searched in the corresponding first bitmap Kd-Trees of the first affiliated memory space, that is, searches its of the first bitmap Kd-Trees
His leaf node, such as the second leaf node.
It should be understood that in the embodiment of the present application, introducing number " first " or " second " ... and being intended merely to distinguish different pairs
As for example, different " file destination " is distinguished, alternatively, different " leaf node " is distinguished, alternatively, distinguishing different " catalogues
", alternatively, different " establishment file request " is distinguished, alternatively, different " space chained list " is distinguished, alternatively, distinguishing different
" memory block " etc. does not constitute the embodiment of the present application and limits.
Therefore, in the embodiment of the present application, further, if desired increase catalogue for the file destination in a certain thread
, it, can be if there is no assignable free block in memory block corresponding to the directory entry of parent directory where file destination
In the corresponding bitmap Kd-Trees of memory space belonging to the thread, other leaf nodes are searched, to obtain free memory blocks, to
Store directory entry to be increased.
The data of storage file destination or the embodiment of directory entry is described above.Further, the embodiment of the present application is also
A kind of memory headroom management method is provided, memory space to be recycled can be managed by space chained list and hash index,
More specifically, memory space to be recycled is in the form of section or node in insertion space chained list.Root is described below in conjunction with Fig. 5
According to the memory headroom management method 500 of the application another embodiment.The method 500 can be executed by CPU.As shown in figure 5, institute
Stating method 500 includes:
S510, receives file deletion requests, includes the second file destination to be deleted in the file deletion requests
Routing information;
S520 determines the parent directory belonging to second file destination according to the routing information of second file destination
Directory entry;
S530, the directory entry of the parent directory belonging to second file destination search the second file destination institute
The address information of the second interval belonging to the mark of the second memory block and the directory entry of second file destination belonged to;
S540 calculates the cryptographic Hash of the mark of second memory block;
S550 searches the second space of the directory entry of the parent directory belonging to second file destination according to the cryptographic Hash
Chained list, the directory entry corresponding second that the second space chained list is used to record the parent directory belonging to second file destination are deposited
Store up available idle section in block;
S560 is inserted into second node in the second space chained list, wherein record has described the in the second node
The address information in two sections.
Specifically, CPU can also receive file deletion requests, can include to be deleted in the file deletion requests
The second file destination routing information, second target is then determined according to the routing information of second file destination
The directory entry of parent directory belonging to file.For example, the complete trails of second file destination is:/ dir2/123/file1.txt,
Then the directory entry of the parent directory belonging to second file destination is:/dir2/123.CPU can be according to second target text
The directory entry of parent directory belonging to part searches the mark and described the of the second memory block belonging to second file destination
The address information of second interval belonging to the directory entry of two file destinations.For example, second belonging to second file destination deposits
The mark for storing up block is indicated with (block_index_nr).Optionally, described address information includes the starting point of the second interval
The offset address of location and the second interval, for example, being expressed as (in_block_offset_start), (in_block_
offset_len);Or described address information includes the end of the initial address and the second interval of the second interval
Location, for example, being expressed as (in_block_offset_start), (in_block_offset_end).Then, CPU passes through Hash
It calculates, obtains the cryptographic Hash of the mark of second memory block, the cryptographic Hash can be understood as the address of the second interval
Then information searches second space chained list according to the cryptographic Hash, the second space chained list is for recording described the
Available free time section in corresponding second memory block of directory entry of parent directory belonging to two file destinations.Finally, CPU can be incited somebody to action
Second node is inserted into the second space chained list, and record has the address information of second interval, i.e. table in the second node
Show that the second interval has been released space and has been recovered in the second space chained list.In this way, a certain mesh in file system
In the case that record number of files is larger, space chained list is searched by cryptographic Hash, it is not efficient enough that the related operation of directory entry can be solved
Caused system bottleneck can realize the efficient distribution and release of memory space.
Specifically for example, the key of cryptographic Hash is the block number of the second memory block, value is the second memory block in second space chain
Initial address in table.
It should be noted that " being inserted into second node in the second space chained list " indicate that the second node is can
, alternatively, second node has been recovered, alternatively, it can be appreciated that deleting the directory entry stored in second node
.Wherein, second space chained list indicates available section for recording.
Further, when recycling the second interval (for example, the item that deltrees in second file destination
When file1.txt), it is also necessary to recycle the inode of second file destination and the memory block of second file destination occupancy
(it can be appreciated that deleting memory block).
Optionally, if the second interval and its adjacent section in second space chained list of recycling are complete adjacent
, then second interval section adjacent thereto can be merged operation.
Can be optionally, 1 by the bit position of the correspondence leaf node on bitmap Kd-Trees when deltreeing (or
Person can also be other identifier), illustrate that the memory block is idle state.
Fig. 6 shows the schematic diagram of the example of a space chained list according to the embodiment of the present application.As shown in fig. 6, space
Chained list includes multiple nodes (being respectively node 0, node 1, node 2 and node 3), and each node is used to indicate corresponding
Idle section in Block.Corresponding 4 memory blocks of 4 nodes are respectively:Block0, Block1, Block2 and
Block3.When receiving file deletion requests, this document removal request includes the file destination in Block2 to be deleted
Routing information, CPU search the directory entry of the parent directory belonging to file destination according to the routing information of file destination, and according to target
The directory entry of parent directory belonging to file searches the mark (ID) of the Block2 belonging to file destination and the catalogue of file destination
The address (such as initial address and offset) in the section belonging to.In figure 6, it usesIndicate area to be recycled in Block2
Between.CPU searches space chained list by the cryptographic Hash of the mark of calculating Block2 according to the cryptographic Hash.Then, it waits for back finding
After receiving section, CPU can be by section to be recycledThe catalogue entry deletion of middle storage, to discharge the section, then in space chained list
It is middle to be inserted into section to be recycledIt is possible to further by section to be recycledSection adjacent thereto merges, in order to rear
It is continuous to be allocated.
Therefore, in the embodiment of the present application, it is possible to further by calculate the second memory block mark cryptographic Hash,
And the second space chained list of the directory entry of the parent directory belonging to the second file destination is searched according to the cryptographic Hash, in second space
It is inserted into second node in chained list, idle section can be recycled, memory space is efficiently distributed and discharge to realize.
Optionally, as one embodiment, the first leaf node is determined in the first bitmap Kd-Trees, including:
To the direction stochastic searching of leaf node to i-th of middle node since the root node of the first bitmap Kd-Trees
Point, wherein i-th of intermediate node is obtained since the root node after stochastic searching i times, and i is not less than 1 and less
In Logm(N/S), Logm(N/S) it is the natural number more than 1, i-th of intermediate node record has i-th of intermediate node
Subtree in available free memory blocks number;
When the number of available free memory blocks in the subtree of i-th of intermediate node is unsatisfactory for distributive condition, from
J-th of intermediate node is selected in the brotgher of node of i-th of intermediate node, wherein in the subtree of j-th of intermediate node
Include the free memory blocks for meeting distributive condition;
The first leaf node is determined in the subtree of j-th of intermediate node.
Specifically, CPU can be carried out to the direction of leaf node step by step since the root node of the first bitmap Kd-Trees
It searches, and stochastic searching is to i-th of intermediate node.That is, i-th of intermediate node be since the root node with
What machine obtained after searching i times.Wherein, i-th of intermediate node record has the number of available free memory blocks in its subtree,
But the location information of available free memory blocks is not included.If the available free time deposits in the subtree of i-th of intermediate node
The off-capacity for storing up the number of block, can not accommodate the data of new file or file destination to be created, be unsatisfactory for demand in other words,
Then CPU can select j-th of intermediate node from the brotgher of node of i-th of intermediate node, wherein among described j-th
Include the free memory blocks for meeting distributive condition in the subtree of node, then in the subtree of j-th of intermediate node, Xiang Ye
The direction of child node continues to search for (Logm(N/S)-i) it is secondary, to find the first leaf node, then in the first leaf node management
Memory block in select at least one free memory blocks, by the storage of the data of file to be created or file destination at least one sky
In not busy memory block.
Here, the brotgher of node of i-th of intermediate node can be understood as being located at the centre with level-one with i-th of intermediate node
Node.
That is, if the number of available free memory blocks is unsatisfactory for distributive condition in the subtree of a certain intermediate node
When, can be selected from the brotgher of node of the intermediate node one include the free memory blocks for meeting distributive condition middle node
Point, to store the directory entry of file destination or the data of file destination.
The structure of bitmap Kd-Trees is described below in conjunction with Fig. 7.Fig. 7 shows the bitmap line segment according to the embodiment of the present application
The schematic diagram of an example for tree.It is simply facilitated it will be understood by those skilled in the art that bitmap Kd-Trees it should be understood that introducing Fig. 7, and
The embodiment of the present application is not constituted and limited, practical Bitmap Kd-Trees can have the transformation or adjustment of other forms.
It is set as shown in fig. 7, the bitmap Kd-Trees is 2 forks, i.e. Logm(N/S) the m values in are 2.The bitmap Kd-Trees pipe
The number N=64 (including storage block number 0- numbers 63) of the memory block of reason, specifically includes N/S=8 leaf node, Mei Geye
The number S=8 of the memory block of child node management, each leaf node have the use state of 8 memory blocks using bitmap method record
The height of information, the bitmap Kd-Trees is Log2(N/S)=3.Optionally, the height of the bitmap Kd-Trees can taking according to S
Value neatly adjust or change.Specifically, the root node of the bitmap Kd-Trees is level-one (the number 0- numbers of the top
63);The leaf node of the bitmap Kd-Trees is level-one bottom, i.e. 8 of each leaf node management in 8 leaf nodes
Memory block is:Number 0- numbers 7, number 8- numbers 15, number 16- numbers 23, number 24- numbers 31, number 32- numbers 39,
Number 40- numbers 47, number 48- numbers 55, number 56- numbers 63.Each leaf node usesIndicate 8 memory blocks
In each memory block use state;The root node of the bitmap Kd-Trees and the two-stage among leaf node are intermediate node.
Optionally, intermediate node (number 0- numbers 31) is properly termed as left child;Intermediate node (number 32- numbers 63) can claim
For right child.The left child and the right child brotgher of node each other.It can be used in the subtree of left child
The number of memory block when being unsatisfactory for distributive condition, it is assumed that include the idle storage for meeting distributive condition in right child
Block, then CPU leaf node can be selected from right child, free memory blocks are then selected in leaf node.
The method of the memory headroom management of the embodiment of the present application, can be randomly assigned free memory blocks, to realize storage
The abrasion equilibrium of device extends the service life of memory.Also, in applying for embodiment, if desired recycling stores number in the block
According to can quickly position the corresponding bitmap of relevant block using bitmap Kd-Trees, and change elastic bitmap Kd-Trees, improve lookup
Efficiency, search performance are preferable.Further, idle section can be recycled, memory space is efficiently distributed and discharge to realize.
It should be understood that technical solution provided by the embodiments of the present application, can be applied to (SuSE) Linux OS, can also apply
Possess the operating system in oneself exclusive space in other each processes.
It should also be understood that technical solution provided by the embodiments of the present application, hardware need not be transformed, versatility is stronger.
Above in conjunction with Fig. 1 to Fig. 7, the method that the memory headroom management according to the embodiment of the present application is described in detail, under
The memory headroom managing device according to the embodiment of the present application will be described in detail in conjunction with Fig. 8 to Fig. 9 in face.It should be understood that the application is implemented
The memory headroom managing device of example can be integrated in modular form in storage device, can also be individually present, be not construed as limiting to this.
Fig. 8 shows that the schematic block diagram of the memory headroom managing device 800 according to the embodiment of the present application, described device are answered
Storage device for having file system in memory, wherein save as nonvolatile memory NVM in described.Optionally, described
Device can also be individually present.As shown in figure 8, the device 800 includes:
Receiving module 810, the file access request for receiving first thread, the file access request include to be stored
First object file data;
Acquisition module 820, for obtaining the first bitmap line corresponding with the first memory space belonging to the first thread
Duan Shu, wherein the memory includes multiple memory spaces, and each memory space is respectively adopted different bitmap Kd-Trees and carries out
Management, the first bitmap Kd-Trees includes N/S leaf node, wherein the N is used to indicate in first memory space
Including storage number of blocks, the S is used to indicate the memory block in first memory space of each leaf node management
Number, N are not less than S not less than 2, S not less than 1, N;
Determining module 830, for determining the first leaf node in the first bitmap Kd-Trees, wherein described first
The information of available free memory block is recorded in leaf node, first leaf node is the root section from the first bitmap Kd-Trees
Direction stochastic searching Log of the point to leaf nodem(N/S) secondary rear searching acquisition, wherein the m is used to indicate described first
The value of the number of the next stage child node of any one node in figure Kd-Trees, m is not less than 2;
Selecting module 840, for selecting at least one free time to deposit from S memory block of the first leaf node management
Store up block, wherein record has the use state information of the S memory block in first leaf node;
Memory module 850, for storing the data of the first object file at least one free memory blocks
In.
Optionally, as one embodiment, the acquisition module 820 is additionally operable to:
The establishment file request of the first thread is obtained, the establishment file request includes the first object file
Routing information includes the first directory entry to be created, first directory entry in the routing information of the first object file
For the directory entry belonging to the first object file;Parent directory where obtaining the first object file according to the routing information
Directory entry;
Wherein, the determining module 830 is additionally operable to, according to the required byte number of the first directory entry to be created from
First node is determined in first space chained list of the directory entry of the parent directory, includes P node, institute in the space chained list
State the free area that each node in P node is used to indicate in the corresponding first memory block of directory entry of the parent directory
Between, include the address information of first interval in the first node, wherein P is the integer not less than 1;
The memory module 850 is additionally operable to, and described first is stored in the first interval that the first node is directed toward
Directory entry.
Optionally, as one embodiment, the acquisition module 820 is additionally operable to:
The second establishment file request from the first thread is obtained, the second establishment file request includes the second mesh
The second routing information for marking file includes the second directory entry to be created, second catalogue in second routing information
Item is the directory entry belonging to second file destination;The second file destination place is obtained according to second routing information
The directory entry of parent directory;May not be used in multiple memory blocks corresponding to the directory entry of parent directory where second file destination
When the idle section of distribution, the corresponding first bitmap line segment of first memory space belonging to the first thread is obtained
Tree;
The determining module 830 is additionally operable to, according to determining second leaf node in the first bitmap Kd-Trees, wherein
Record has the information of assignable free memory blocks in second leaf node, and second leaf node is from described first
Direction stochastic searching Log of the root node of bitmap Kd-Trees to leaf nodem(N/S) secondary rear lookup obtains;
The selecting module 840 is additionally operable to, empty from first storage according to the bitmap of the second leaf node management
Between at least one free memory blocks of middle selection;
The memory module 850 is additionally operable to, and described to be created second is stored at least one free memory blocks
Directory entry.
As shown in figure 9, optionally, as one embodiment, described device 800 includes:
Receiving module 810 includes to be deleted second for receiving file deletion requests, in the file deletion requests
The routing information of file destination;
Determining module 830, for determining the second file destination institute according to the routing information of second file destination
The directory entry of the parent directory of category;
Searching module 860, the directory entry for the parent directory belonging to second file destination search described second
The ground of second interval belonging to the directory entry of the mark of the second memory block belonging to file destination and second file destination
Location information;
Computing module 870, the cryptographic Hash of the mark for calculating second memory block;
The searching module 860 is additionally operable to, and the parent directory belonging to second file destination is searched according to the cryptographic Hash
Directory entry second space chained list, the second space chained list is used to record parent directory belonging to second file destination
Available free time section in corresponding second memory block of directory entry;
It is inserted into module 880, for being inserted into second node in the second space chained list, wherein in the second node
Record has the address information of the second interval.
Optionally, as one embodiment, the determining module 830 is specifically used for:
To the direction stochastic searching of leaf node to i-th of middle node since the root node of the first bitmap Kd-Trees
Point, wherein i-th of intermediate node is obtained since the root node after stochastic searching i times, the i not less than 1 and
No more than Logm(N/S), Logm(N/S) it is the natural number more than 1, i-th of intermediate node record has among described i-th
The number of available free memory blocks in the subtree of node;
When the number of available free memory blocks in the subtree of i-th of intermediate node is unsatisfactory for distributive condition, from
J-th of intermediate node is selected in the brotgher of node of i-th of intermediate node, wherein in the subtree of j-th of intermediate node
Include the free memory blocks for meeting distributive condition;
First leaf node is determined in the subtree of j-th of intermediate node.
Optionally, as one embodiment, the selecting module 840 is specifically used for:
At least one free memory blocks are randomly choosed according in S memory block of the first leaf node management.
It should be understood that according to the above and other of the modules in the memory headroom managing device 800 of the embodiment of the present application
Operation and/or function is respectively in order to realize each method (including each method in Fig. 3, Fig. 4 and Fig. 5) of embodiment above
Corresponding flow, for sake of simplicity, details are not described herein.
The memory headroom managing device 800 of the embodiment of the present application, receives the file access request of first thread, passes through acquisition
The first bitmap Kd-Trees corresponding with the first memory space belonging to the first thread determines the in the first bitmap Kd-Trees
One leaf node records the information of available free memory block in first leaf node, and first leaf node is from described
Direction stochastic searching Log of the root node of first bitmap Kd-Trees to leaf nodem(N/S) search after secondary and to obtain, then from
At least one free memory blocks are selected in S memory block of the first leaf node management, by the first object file
In data storage at least one free memory blocks, free memory blocks can be randomly assigned, to realize the mill of memory
Damage is balanced, extends the service life of memory.
It is possible to further the cryptographic Hash of the mark by calculating the second memory block, and the is searched according to the cryptographic Hash
The second space chained list of the directory entry of parent directory belonging to two file destinations, is inserted into second node, energy in second space chained list
Enough idle sections of recycling, memory space is efficiently distributed and discharges to realize.
Those of ordinary skill in the art may realize that lists described in conjunction with the examples disclosed in the embodiments of the present disclosure
Member and algorithm steps can be realized with the combination of electronic hardware or computer software and electronic hardware.These functions are actually
It is implemented in hardware or software, depends on the specific application and design constraint of technical solution.Professional technician
Each specific application can be used different methods to achieve the described function, but this realization is it is not considered that exceed
The range of the embodiment of the present application.
In several embodiments that the embodiment of the present application is provided, it should be understood that disclosed system, device and side
Method may be implemented in other ways.For example, the apparatus embodiments described above are merely exemplary, for example, described
The division of module, only a kind of division of logic function, formula that in actual implementation, there may be another division manner, such as multiple modules
Or component can be combined or can be integrated into another system, or some features can be ignored or not executed.Another point, institute
Display or the mutual coupling, direct-coupling or communication connection discussed can be by some interfaces, device or module
INDIRECT COUPLING or communication connection can be electrical, machinery or other forms.
The module illustrated as separating component may or may not be physically separated, aobvious as module
The component shown may or may not be physical module, you can be located at a place, or may be distributed over multiple
On network module.Some or all of module therein can be selected according to the actual needs to realize the mesh of this embodiment scheme
's.
In addition, each function module in applying for each embodiment of embodiment can be integrated in a processing module,
Can be that modules physically exist alone, can also two or more modules be integrated in a module.
It, can be with if the function is realized in the form of SFU software functional unit and when sold or used as an independent product
It is stored in a computer read/write memory medium.Based on this understanding, the technical solution of the embodiment of the present application is substantially
The part of the part that contributes to existing technology or the technical solution can embody in the form of software products in other words
Come, which is stored in a storage medium, including some instructions are used so that a computer equipment (can
To be personal computer, server or the network equipment etc.) execute each embodiment the method for the embodiment of the present application whole
Or part steps.And storage medium above-mentioned includes:USB flash disk, mobile hard disk, read-only memory (Read-Only Memory,
ROM), random access memory (Random Access Memory, RAM), magnetic disc or CD etc. are various can store program
The medium of code.
Claims (12)
1. a kind of memory headroom management method, the method is applied to have the storage device of file system in memory, wherein institute
Nonvolatile memory NVM is saved as in stating, which is characterized in that including:
The file access request of first thread is received, the file access request includes the number of first object file to be stored
According to;
Obtain the first bitmap Kd-Trees corresponding with the first memory space belonging to the first thread, wherein in the memory
Including multiple memory spaces, each memory space is respectively adopted different bitmap Kd-Trees and is managed, the first bitmap line
Duan Shu includes N/S leaf node, wherein N is used to indicate the storage number of blocks that first memory space includes, and S is used for
Indicate the number of the memory block in first memory space of each leaf node management, N is not less than 1, N not less than 2, S
Less than S;
The first leaf node is determined in the first bitmap Kd-Trees, wherein recorded in first leaf node available free
The information of memory block, first leaf node be from the root node of the first bitmap Kd-Trees to the direction of leaf node with
Machine searches Logm(N/S) secondary rear searching acquisition, wherein the m is used to indicate any one in the first bitmap Kd-Trees
The value of the number of the next stage child node of node, m is not less than 2;
At least one free memory blocks are selected from S memory block of the first leaf node management, wherein first leaf
Record has the use state information of the S memory block in child node;
It will be in the data storage at least one free memory blocks of the first object file.
2. according to the method described in claim 1, it is characterized in that, the method further includes:
The establishment file request of the first thread is obtained, the establishment file request includes the path of the first object file
Information includes the first directory entry to be created in the routing information of the first object file, and first directory entry is institute
State the directory entry belonging to first object file;
The directory entry of parent directory where obtaining the first object file according to the routing information;
First space beam of the directory entry according to the required byte number of the first directory entry to be created from the parent directory
First node is determined in table, includes P node in the space chained list, each node in the P node is used to indicate
One in the corresponding first memory block of directory entry of the parent directory idle section includes the firstth area in the first node
Between address information, wherein P is integer not less than 1;
First directory entry is stored in the first interval that the first node is directed toward.
3. method according to claim 1 or 2, which is characterized in that the method further includes:
The second establishment file request from the first thread is obtained, the second establishment file request includes the second target text
Second routing information of part, includes the second directory entry to be created in second routing information, and second directory entry is
Directory entry belonging to second file destination;
The directory entry of parent directory where obtaining second file destination according to second routing information;
There is no the assignable free time in multiple memory blocks corresponding to the directory entry of parent directory where second file destination
When section, the corresponding first bitmap Kd-Trees of first memory space belonging to the first thread is obtained;
According to determining the second leaf node in the first bitmap Kd-Trees, wherein have can for record in second leaf node
The information of the free memory blocks of distribution, second leaf node are from the root node of the first bitmap Kd-Trees to leaf section
The direction stochastic searching Log of pointm(N/S) secondary rear lookup obtains;
According to the bitmap of the second leaf node management at least one free memory blocks are selected from first memory space;
Second directory entry to be created is stored at least one free memory blocks.
4. according to the method in any one of claims 1 to 3, which is characterized in that the method further includes:
File deletion requests are received, include the routing information of the second file destination to be deleted in the file deletion requests;
The directory entry of the parent directory belonging to second file destination is determined according to the routing information of second file destination;
What the directory entry of the parent directory belonging to second file destination searched belonging to second file destination second deposits
Store up the address information of the second interval belonging to the mark of block and the directory entry of second file destination;
Calculate the cryptographic Hash of the mark of second memory block;
The second space chained list of the directory entry of the parent directory belonging to second file destination is searched according to the cryptographic Hash, it is described
Second space chained list can in corresponding second memory block of directory entry for recording the parent directory belonging to second file destination
Idle section;
It is inserted into second node in the second space chained list, wherein record has the second interval in the second node
Address information.
5. method according to claim 1 to 4, which is characterized in that described in the first bitmap Kd-Trees
The first leaf node of middle determination, including:
To the direction stochastic searching of leaf node to i-th of intermediate node since the root node of the first bitmap Kd-Trees,
Wherein, i-th of intermediate node is obtained since the root node after stochastic searching i times, and i is not less than 1 and is not more than
Logm(N/S), Logm(N/S) it is the natural number more than 1, i-th of intermediate node record has i-th of intermediate node
The number of available free memory blocks in subtree;
When the number of available free memory blocks in the subtree of i-th of intermediate node is unsatisfactory for distributive condition, from described
J-th of intermediate node is selected in the brotgher of node of i-th of intermediate node, wherein include in the subtree of j-th of intermediate node
There are the free memory blocks for meeting distributive condition;
First leaf node is determined in the subtree of j-th of intermediate node.
6. the method according to any one of claims 1 to 5, it is characterized in that, described according to first leaf node
The bitmap of management selects at least one free memory blocks from first space, including:
At least one free memory blocks are randomly choosed according in S memory block of the first leaf node management.
7. a kind of memory headroom managing device, described device is applied to have the storage device of file system in memory, wherein institute
Nonvolatile memory NVM is saved as in stating, which is characterized in that including:
Receiving module, the file access request for receiving first thread, the file access request include to be stored first
The data of file destination;
Acquisition module, for obtaining the first bitmap Kd-Trees corresponding with the first memory space belonging to the first thread,
In, the memory includes multiple memory spaces, and each memory space is respectively adopted different bitmap Kd-Trees and is managed, institute
It includes N/S leaf node to state the first bitmap Kd-Trees, wherein N is used to indicate the storage that first memory space includes
Number of blocks, S are used to indicate the number of the memory block in first memory space of each leaf node management, and N is not less than 2, S
It is not less than S not less than 1, N;
Determining module, for determining the first leaf node in the first bitmap Kd-Trees, wherein first leaf node
The middle information for recording available free memory block, first leaf node are from the root node of the first bitmap Kd-Trees to leaf
The direction stochastic searching Log of nodem(N/S) secondary rear lookup obtains, wherein m is used to indicate in the first bitmap Kd-Trees
Any one node next stage child node number, the value of m is not less than 2;
Selecting module, for selecting at least one free memory blocks from S memory block of the first leaf node management,
In, record has the use state information of the S memory block in first leaf node;
Memory module, in the data storage at least one free memory blocks by the first object file.
8. device according to claim 7, which is characterized in that the acquisition module is additionally operable to:
The establishment file request of the first thread is obtained, the establishment file request includes the path of the first object file
Information includes the first directory entry to be created in the routing information of the first object file, and first directory entry is institute
State the directory entry belonging to first object file;The mesh of parent directory where obtaining the first object file according to the routing information
Record item;
Wherein, the determining module is additionally operable to, according to the required byte number of the first directory entry to be created from the father
First node is determined in first space chained list of the directory entry of catalogue, includes P node in the space chained list, and the P is a
The idle section that each node in node is used to indicate in the corresponding first memory block of directory entry of the parent directory, institute
State in first node include first interval address information, wherein P is integer not less than 1;
The memory module is additionally operable to, and first directory entry is stored in the first interval that the first node is directed toward.
9. device according to claim 7 or 8, which is characterized in that the acquisition module is additionally operable to:
The second establishment file request from the first thread is obtained, the second establishment file request includes the second target text
Second routing information of part, includes the second directory entry to be created in second routing information, and second directory entry is
Directory entry belonging to second file destination;Father's mesh where obtaining second file destination according to second routing information
The directory entry of record;It can not distributed in multiple memory blocks corresponding to the directory entry of parent directory where second file destination
Idle section when, obtain the corresponding first bitmap Kd-Trees of first memory space belonging to the first thread;
The determining module is additionally operable to, according to determining second leaf node in the first bitmap Kd-Trees, wherein described second
Record has the information of assignable free memory blocks in leaf node, and second leaf node is from the first bitmap line segment
Direction stochastic searching Log of the root node of tree to leaf nodem(N/S) secondary rear lookup obtains;
The selecting module is additionally operable to, and is selected from first memory space according to the bitmap of the second leaf node management
At least one free memory blocks;
The memory module is additionally operable to, and second directory entry to be created is stored at least one free memory blocks.
10. the device according to any one of claim 7 to 9, which is characterized in that the receiving module is additionally operable to:
File deletion requests are received, include the routing information of the second file destination to be deleted in the file deletion requests;
The determining module is additionally operable to, and is determined belonging to second file destination according to the routing information of second file destination
Parent directory directory entry;
Described device further includes:
Searching module, the directory entry for the parent directory belonging to second file destination search second file destination
The address information of second interval belonging to the directory entry of the mark of the second affiliated memory block and second file destination;
Computing module, the cryptographic Hash of the mark for calculating second memory block;
The searching module is additionally operable to, and the directory entry of the parent directory belonging to second file destination is searched according to the cryptographic Hash
Second space chained list, the second space chained list is used to record the directory entry pair of parent directory belonging to second file destination
Available free time section in the second memory block answered;
It is inserted into module, for being inserted into second node in the second space chained list, wherein recorded in the second node
State the address information of second interval.
11. device according to any one of claims 7 to 10, which is characterized in that the determining module is specifically used for:
To the direction stochastic searching of leaf node to i-th of intermediate node since the root node of the first bitmap Kd-Trees,
Wherein, i-th of intermediate node is obtained since the root node after stochastic searching i times, and the i is not less than 1 and not
More than Logm(N/S), Logm(N/S) it is the natural number more than 1, i-th of intermediate node record has i-th of middle node
The number of available free memory blocks in the subtree of point;
When the number of available free memory blocks in the subtree of i-th of intermediate node is unsatisfactory for distributive condition, from described
J-th of intermediate node is selected in the brotgher of node of i-th of intermediate node, wherein include in the subtree of j-th of intermediate node
There are the free memory blocks for meeting distributive condition;
First leaf node is determined in the subtree of j-th of intermediate node.
12. the device according to any one of claim 7 to 11, which is characterized in that the selecting module is specifically used for:
At least one free memory blocks are randomly choosed according in S memory block of the first leaf node management.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710184680.0A CN108628753B (en) | 2017-03-24 | 2017-03-24 | Memory space management method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710184680.0A CN108628753B (en) | 2017-03-24 | 2017-03-24 | Memory space management method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108628753A true CN108628753A (en) | 2018-10-09 |
CN108628753B CN108628753B (en) | 2021-02-23 |
Family
ID=63707879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710184680.0A Active CN108628753B (en) | 2017-03-24 | 2017-03-24 | Memory space management method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108628753B (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109508326A (en) * | 2018-11-22 | 2019-03-22 | 北京百度网讯科技有限公司 | For handling the methods, devices and systems of data |
CN109522308A (en) * | 2018-11-06 | 2019-03-26 | 北京太星晨信息技术有限公司 | A kind of connection handle management method and device |
CN109710542A (en) * | 2018-12-28 | 2019-05-03 | 北京像素软件科技股份有限公司 | A kind of completely N-ary tree construction method and device |
CN110531940A (en) * | 2019-06-06 | 2019-12-03 | 重庆紫光华山智安科技有限公司 | Video file processing method and processing device |
CN111078920A (en) * | 2019-11-22 | 2020-04-28 | 北京云宽志业网络技术有限公司 | Data processing method, device, equipment and computer readable storage medium |
CN111722962A (en) * | 2020-06-19 | 2020-09-29 | 艾索信息股份有限公司 | Storage system and method for CDP data |
CN111857575A (en) * | 2020-06-24 | 2020-10-30 | 国汽(北京)智能网联汽车研究院有限公司 | Method, device and equipment for determining memory space of computing platform and storage medium |
CN112596908A (en) * | 2020-12-28 | 2021-04-02 | 中孚安全技术有限公司 | Memory management method and system based on complete binary tree |
CN112784264A (en) * | 2021-01-18 | 2021-05-11 | 北京洛塔信息技术有限公司 | Jail crossing state detection method, device, equipment and storage medium |
CN112947860A (en) * | 2021-03-03 | 2021-06-11 | 成都信息工程大学 | Hierarchical storage and scheduling method of distributed data copies |
CN113194127A (en) * | 2021-04-21 | 2021-07-30 | 统信软件技术有限公司 | Data storage method, data transmission method and computing equipment |
WO2021201986A1 (en) * | 2020-04-01 | 2021-10-07 | Microsoft Technology Licensing, Llc | Resource allocation for virtual machines |
CN114489508A (en) * | 2022-01-26 | 2022-05-13 | 重庆紫光华山智安科技有限公司 | Data management method, device, equipment and medium |
CN115168304A (en) * | 2022-09-06 | 2022-10-11 | 北京奥星贝斯科技有限公司 | Data processing method, device, storage medium and equipment |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7272698B2 (en) * | 2003-03-19 | 2007-09-18 | Autodesk, Inc. | Heap memory management |
US7356655B2 (en) * | 2003-05-15 | 2008-04-08 | International Business Machines Corporation | Methods, systems, and media for managing dynamic storage |
CN101329906A (en) * | 2008-07-24 | 2008-12-24 | 中国科学院上海微系统与信息技术研究所 | Non-volatile sequent modular memory, data storage and reading method |
CN101330529A (en) * | 2008-07-29 | 2008-12-24 | 杭州电子科技大学 | Method for distributing address of self-pruning type tree-shaped structure network |
CN101488153A (en) * | 2009-02-12 | 2009-07-22 | 浙江大学 | Method for implementing high-capacity flash memory file system in embedded type Linux |
US20100228914A1 (en) * | 2007-12-03 | 2010-09-09 | Tencent Technology (Shenzhen) Company, Ltd. | Data caching system and method for implementing large capacity cache |
CN102713826A (en) * | 2009-12-22 | 2012-10-03 | 苹果公司 | Methods and apparatuses to allocate file storage via tree representations of a bitmap |
US8375012B1 (en) * | 2011-08-10 | 2013-02-12 | Hewlett-Packard Development Company, L.P. | Computer indexes with multiple representations |
CN104021117A (en) * | 2013-03-01 | 2014-09-03 | 索尼公司 | Language processing method and electronic device |
CN106354890A (en) * | 2016-11-22 | 2017-01-25 | 中国科学院上海微系统与信息技术研究所 | Implementation method of random access file system based on N-ary tree structure |
CN106469123A (en) * | 2015-08-10 | 2017-03-01 | 北京忆恒创源科技有限公司 | A kind of write buffer distribution based on NVDIMM, method for releasing and its device |
-
2017
- 2017-03-24 CN CN201710184680.0A patent/CN108628753B/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7272698B2 (en) * | 2003-03-19 | 2007-09-18 | Autodesk, Inc. | Heap memory management |
US7356655B2 (en) * | 2003-05-15 | 2008-04-08 | International Business Machines Corporation | Methods, systems, and media for managing dynamic storage |
US20100228914A1 (en) * | 2007-12-03 | 2010-09-09 | Tencent Technology (Shenzhen) Company, Ltd. | Data caching system and method for implementing large capacity cache |
CN101329906A (en) * | 2008-07-24 | 2008-12-24 | 中国科学院上海微系统与信息技术研究所 | Non-volatile sequent modular memory, data storage and reading method |
CN101330529A (en) * | 2008-07-29 | 2008-12-24 | 杭州电子科技大学 | Method for distributing address of self-pruning type tree-shaped structure network |
CN101488153A (en) * | 2009-02-12 | 2009-07-22 | 浙江大学 | Method for implementing high-capacity flash memory file system in embedded type Linux |
CN102713826A (en) * | 2009-12-22 | 2012-10-03 | 苹果公司 | Methods and apparatuses to allocate file storage via tree representations of a bitmap |
US8375012B1 (en) * | 2011-08-10 | 2013-02-12 | Hewlett-Packard Development Company, L.P. | Computer indexes with multiple representations |
CN104021117A (en) * | 2013-03-01 | 2014-09-03 | 索尼公司 | Language processing method and electronic device |
CN106469123A (en) * | 2015-08-10 | 2017-03-01 | 北京忆恒创源科技有限公司 | A kind of write buffer distribution based on NVDIMM, method for releasing and its device |
CN106354890A (en) * | 2016-11-22 | 2017-01-25 | 中国科学院上海微系统与信息技术研究所 | Implementation method of random access file system based on N-ary tree structure |
Non-Patent Citations (1)
Title |
---|
李必刚等: "Design and Implementation of a Storage Virtualization", 《IEEE》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522308A (en) * | 2018-11-06 | 2019-03-26 | 北京太星晨信息技术有限公司 | A kind of connection handle management method and device |
CN109522308B (en) * | 2018-11-06 | 2023-06-20 | 北京太一星晨信息技术有限公司 | Connection handle management method and device |
CN109508326A (en) * | 2018-11-22 | 2019-03-22 | 北京百度网讯科技有限公司 | For handling the methods, devices and systems of data |
CN109508326B (en) * | 2018-11-22 | 2020-03-17 | 北京百度网讯科技有限公司 | Method, device and system for processing data |
CN109710542A (en) * | 2018-12-28 | 2019-05-03 | 北京像素软件科技股份有限公司 | A kind of completely N-ary tree construction method and device |
CN109710542B (en) * | 2018-12-28 | 2021-03-16 | 北京像素软件科技股份有限公司 | Full N-way tree construction method and device |
CN110531940A (en) * | 2019-06-06 | 2019-12-03 | 重庆紫光华山智安科技有限公司 | Video file processing method and processing device |
CN111078920A (en) * | 2019-11-22 | 2020-04-28 | 北京云宽志业网络技术有限公司 | Data processing method, device, equipment and computer readable storage medium |
WO2021201986A1 (en) * | 2020-04-01 | 2021-10-07 | Microsoft Technology Licensing, Llc | Resource allocation for virtual machines |
US11507431B2 (en) | 2020-04-01 | 2022-11-22 | Microsoft Technology Licensing, Llc | Resource allocation for virtual machines |
CN111722962A (en) * | 2020-06-19 | 2020-09-29 | 艾索信息股份有限公司 | Storage system and method for CDP data |
CN111857575A (en) * | 2020-06-24 | 2020-10-30 | 国汽(北京)智能网联汽车研究院有限公司 | Method, device and equipment for determining memory space of computing platform and storage medium |
CN112596908A (en) * | 2020-12-28 | 2021-04-02 | 中孚安全技术有限公司 | Memory management method and system based on complete binary tree |
CN112784264A (en) * | 2021-01-18 | 2021-05-11 | 北京洛塔信息技术有限公司 | Jail crossing state detection method, device, equipment and storage medium |
CN112784264B (en) * | 2021-01-18 | 2024-04-02 | 北京洛塔信息技术有限公司 | Jail-break state detection method, device, equipment and storage medium |
CN112947860A (en) * | 2021-03-03 | 2021-06-11 | 成都信息工程大学 | Hierarchical storage and scheduling method of distributed data copies |
CN113194127B (en) * | 2021-04-21 | 2022-08-12 | 统信软件技术有限公司 | Data storage method, data transmission method and computing equipment |
CN113194127A (en) * | 2021-04-21 | 2021-07-30 | 统信软件技术有限公司 | Data storage method, data transmission method and computing equipment |
CN114489508A (en) * | 2022-01-26 | 2022-05-13 | 重庆紫光华山智安科技有限公司 | Data management method, device, equipment and medium |
CN114489508B (en) * | 2022-01-26 | 2023-09-01 | 重庆紫光华山智安科技有限公司 | Data management method, device, equipment and medium |
CN115168304A (en) * | 2022-09-06 | 2022-10-11 | 北京奥星贝斯科技有限公司 | Data processing method, device, storage medium and equipment |
Also Published As
Publication number | Publication date |
---|---|
CN108628753B (en) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108628753A (en) | Memory headroom management method and device | |
US11656763B2 (en) | File management method, distributed storage system, and management node | |
US9134908B2 (en) | Logical volume space sharing | |
CN105100146B (en) | Date storage method, apparatus and system | |
CN106294190B (en) | Storage space management method and device | |
CN105389264B (en) | The method and system of garbage collection in storage system | |
CN102985909B (en) | Object for good lattice provides the method and apparatus of the high scalability network storage | |
EP2915051B1 (en) | Memory device and host device | |
CN104111924B (en) | A kind of Database Systems | |
CN105373342A (en) | Heterogeneous unified memory | |
CN108604165A (en) | Storage device | |
CN105579977A (en) | File access method, device and storage system | |
CN105045850B (en) | Junk data recovery method in cloud storage log file system | |
CN101526965B (en) | Locating method of index nodes of disk file and device thereof | |
CN100424699C (en) | Attribute extensible object file system | |
CN104054071A (en) | Method for accessing storage device and storage device | |
CN106713250B (en) | Data access method and device based on distributed system | |
CN107122130A (en) | A kind of data delete method and device again | |
CN104750432B (en) | A kind of date storage method and device | |
KR20150071500A (en) | Method and Apparatus for Managing Data | |
TWI397060B (en) | Disk layout method for object-based storage device | |
CN109460406A (en) | A kind of data processing method and device | |
CN102253985A (en) | File system data management method and system | |
CN109947669A (en) | The address conversion method and system of KV storage equipment | |
KR20090007926A (en) | Apparatus and method for managing index of data stored in flash 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 |