WO2016086342A1 - Procédé, appareil et dispositif d'écriture de données, et système de stockage - Google Patents
Procédé, appareil et dispositif d'écriture de données, et système de stockage Download PDFInfo
- Publication number
- WO2016086342A1 WO2016086342A1 PCT/CN2014/092702 CN2014092702W WO2016086342A1 WO 2016086342 A1 WO2016086342 A1 WO 2016086342A1 CN 2014092702 W CN2014092702 W CN 2014092702W WO 2016086342 A1 WO2016086342 A1 WO 2016086342A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- write request
- atomic
- write
- written
- address
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
Definitions
- the present invention relates to computer technology, and in particular, to a data writing method, apparatus, device and storage system.
- the server writes data to the memory for caching, and then fetches the data from the memory to the disk; and, while the data is written to the disk, the memory also updates the metadata describing the data attributes. If a failure occurs during the process of writing data from the disk to the disk, the updated metadata will be inconsistent with the data actually written to the disk, making the file system inconsistent.
- the prior art adopts various methods, such as fsck mode, write-ahead log or Journal mode, and copy-on-write (Copy-on- Write) and so on.
- the server stores the data in the form of a log to the disk before actually writing the data, and then the server writes the data to the memory.
- the server can reload the log stored by the disk into the memory, and then find the original corresponding data according to the log, that is, rewrite the data to the disk according to the log. Until the data is successfully written to disk, this ensures that the updated metadata is consistent with the data stored on the disk.
- the invention provides a method, a device, a device and a storage system for data writing, which are used to solve the technical problem that the prior art guarantees high consistency of the file system and low efficiency of writing data to the disk.
- the present invention provides a data writing method, including:
- the non-volatile storage device NVM controller receives a first atomic write request sent by the central processor; the first atomic write request includes at least two non-conflicting write operations;
- the NVM controller stores the data corresponding to the first atomic write request and the to-be-written address corresponding to the first atomic write request to a write request memory; wherein the first atomic write request corresponds to be written
- the address is an address in the NVM medium, and the to-be-written address corresponding to the first atomic write request includes a to-be-written address corresponding to each write operation in the first atomic write request;
- the NVM controller performs collision detection on the first atomic write request, determines at least one first write operation concurrent group in the first atomic write request, and determines to each of the first atomic write requests Writing a data to a first sequence of data of the concurrent set of writes to the NVM medium; wherein the first write operation concurrent set of the first atomic write request includes writing at least one write of data to the NVM medium in parallel operating;
- the NVM controller according to the first sequence and the to-be-written address corresponding to the first atomic write request, data corresponding to each first write operation concurrent group in the first atomic write request from the write The memory is requested to be written to the NVM medium.
- the NVM controller performs collision detection on the first atomic write request, and determines at least one of the first atomic write requests.
- the write operation concurrently groups and determines a first sequence of writing data corresponding to each of the first write operations in the first atomic write request to the NVM medium, including:
- the NVM controller performs address conflict detection on each write operation in the first atomic write request to obtain a second write operation concurrent group in the first atomic write request; wherein, the first atomic write request The write-to-write address corresponding to each write operation in the second write operation concurrent group does not conflict;
- the NVM controller performs channel conflict detection on each write operation in the second write operation concurrent group of the first atomic write request, and determines at least one first write operation concurrent group in the first atomic write request;
- the first write operation of the first atomic write request does not conflict with the channel in which the data corresponding to each write operation in the concurrent set is written to the NVM medium;
- the NVM controller determines a first order in which data corresponding to each of the first write operations in the first atomic write request is written to the NVM medium.
- the second possible implementation in the first aspect performs an address conflict detection on each of the first atomic write requests, and obtains a second write operation in the first atomic write request.
- the NVM controller maps a to-be-written address corresponding to each write operation in the first atomic write request to a Bloom filter bitmap
- the NVM controller performs address conflict detection on each write operation in the first atomic write request according to the Bloom filter bitmap to obtain a second write operation concurrent group in the first atomic write request.
- the method further includes:
- the NVM controller receives a second atomic write request sent by the central processor; wherein the second atomic write request includes at least two non-conflicting write operations;
- the NVM controller stores data corresponding to the second atomic write request and a to-be-written address corresponding to the second atomic write request to the write request memory; wherein the second atomic write request corresponds to The write address is an address in the NVM medium, and the address to be written corresponding to the second atomic write request includes an address to be written corresponding to each write operation in the second atomic write request;
- the NVM controller maps a to-be-written address corresponding to each write operation in the second atomic write request to the Bloom filter bitmap, and pairs the second according to the Bloom filter bitmap
- Each of the write operations in the atomic write request performs address conflict detection to obtain a second write operation concurrently in the second atom write request; wherein the second write operation of the second atom write request concurrently writes each write in the group The address to be written corresponding to the operation does not conflict;
- the NVM controller performs channel conflict detection on each write operation in the second write operation concurrent group of the second atomic write request, and determines at least one first write operation concurrent group in the second atom write request;
- the first write operation of the second atomic write request does not conflict with the channel in which the data corresponding to each write operation in the concurrent set is written to the NVM medium;
- the NVM controller respectively corresponds to the first atom and the first atomic write request
- the address to be written, the second sequence, and the address to be written corresponding to the second atomic write request, and the data corresponding to each of the first write operations of the first atomic write request are concurrently combined with the second
- the data corresponding to each of the first write operations of the atomic write request is written to the NVM medium.
- the method further includes:
- the flag bit corresponding to the first atomic write request in the Bloom filter bitmap is cleared.
- the NVM controller performs the first atomic write request Collision detection, determining at least one first write operation concurrent group in the first atomic write request, and determining to write data corresponding to each first write operation concurrent set in the first atomic write request to the NVM medium After the first sequence, the method further includes:
- the NVM controller sends an atomic write success message to the central processor
- the NVM controller receives an atomic write end command sent by the central processor.
- an embodiment of the present invention provides a data writing apparatus, including:
- a receiving module configured to receive a first atomic write request sent by the central processor; the first atomic write request includes at least two non-conflicting write operations;
- a storage module configured to store data corresponding to the first atomic write request and a to-be-written address corresponding to the first atomic write request to a write request memory; wherein the first atomic write request corresponds to a write request
- the address is an address in the NVM medium, and the to-be-written address corresponding to the first atomic write request includes a to-be-written address corresponding to each write operation in the first atomic write request;
- a conflict detection module configured to perform collision detection on the first atomic write request, determine at least one first write operation concurrent group in the first atomic write request, and determine each of the first atomic write requests Writing a first sequence of concurrent write data to the first sequence of the NVM media; wherein the first write operation concurrent set of the first atomic write request includes writing data to at least one of the NVM media in parallel Write operation
- a data writing module configured to: according to the first sequence and the address to be written corresponding to the first atomic write request, data corresponding to each first write operation concurrent group in the first atomic write request from the A write request memory is written to the NVM medium.
- the conflict detection module includes:
- An address conflict detecting unit configured to perform address conflict detection on each write operation in the first atomic write request, to obtain a second write operation concurrent group in the first atomic write request; wherein the first atom write The second write operation of the request does not conflict with the address to be written corresponding to each write operation in the concurrent group;
- a channel conflict detecting unit configured to perform channel conflict detection on each write operation in the second write operation concurrent group of the first atomic write request, and determine at least one first write operation concurrent group in the first atomic write request Wherein the first write operation of the first atomic write request and the data corresponding to each write operation in the concurrent write group are written to the channel of the NVM medium without conflict;
- a determining unit configured to determine a first sequence of writing data corresponding to each of the first write operations in the first atomic write request to the NVM medium.
- the address conflict detection unit is specifically configured to: perform each write operation in the first atomic write request Corresponding to-be-written address is mapped to the Bloom filter bitmap, and address conflict detection is performed on each write operation in the first atomic write request according to the Bloom filter bitmap to obtain the first atomic write
- the second write operation in the request is concurrently grouped.
- the receiving module is further configured to receive a second atomic write request sent by the central processing unit;
- the second atomic write request includes at least two non-conflicting write operations;
- the storage module is further configured to store data corresponding to the second atomic write request and a to-be-written address corresponding to the second atomic write request to the write request memory; wherein the second atomic write request
- the corresponding address to be written is an address in the NVM medium, and the address to be written corresponding to the second atomic write request includes an address to be written corresponding to each write operation in the second atomic write request;
- the address conflict detecting unit is further configured to map the to-be-written address corresponding to each write operation in the second atomic write request to the Bloom filter bitmap, and according to the Bloom filter bitmap Performing address conflict detection on each write operation in the second atomic write request to obtain a second write operation concurrently in the second atom write request; wherein the second write operation of the second atom write request is concurrent The address to be written corresponding to each write operation in the group does not conflict; and, The Bloom filter bitmap determines that an address conflict occurs between the to-be-written address corresponding to each write operation in the first atomic write request and the to-be-written address corresponding to each write operation in the second atomic write request;
- the channel detecting unit is further configured to perform channel conflict detection on each write operation in the second write operation concurrent group of the second atom write request, and determine at least one first write operation in the second atom write request a concurrent group; wherein, the second write operation of the second atomic write request does not conflict with the channel in which the data corresponding to each write operation in the concurrent set is written to the NVM medium;
- the determining unit is further configured to determine a second sequence of writing data corresponding to each of the first write operations in the second atomic write request to the NVM medium;
- the data writing module is further configured to: according to the first sequence and the to-be-written address corresponding to the first atomic write request, the second sequence, and the to-be-written address corresponding to the second atomic write request And data corresponding to each first write operation concurrent group of the first atomic write request and data corresponding to each first write operation concurrent group of the second atomic write request are written in parallel to the NVM medium.
- the device further includes:
- a clearing module configured to: after the data writing module writes data corresponding to all write operations of the first atomic write request to the NVM medium, clear a Bloom filter bitmap corresponding to the first atomic write request Sign bit.
- the device further includes:
- a sending module configured to perform collision detection on the first atomic write request by the conflict detection module, determine at least one first write operation concurrent group in the first atomic write request, and determine to use the first atom After the first sequence of the first write operation concurrently in the write request is written into the first sequence of the NVM medium, an atomic write success message is sent to the central processor;
- the receiving module is further configured to receive an atomic write end command sent by the central processing unit.
- an embodiment of the present invention provides a storage system, including: a central processing unit, a write request memory, a non-volatile storage device NVM medium, and the NVM controller according to any one of claims 1 to 6.
- the method, device, device and storage system for data writing store the data corresponding to the received first atomic write request and the address to be written to the write request by the NVM controller. And performing, in the storage, the conflict detection of the first atomic write request, obtaining at least one first write operation concurrent group in the first atomic write request, and determining to concurrently execute each first write operation in the first atomic write request.
- the corresponding data of the group is written into the first sequence of the NVM medium, so that the data corresponding to each first write operation in the first atomic write request is concurrently grouped according to the first sequence and the address to be written corresponding to the first atomic write request.
- Write NVM media from the write request memory The method provided by the embodiment of the invention not only improves the efficiency of data writing, but also saves the cost of ensuring the consistency of the file system, and avoids unnecessary conflicts between the writing operations, thereby ensuring the reliability of the file system.
- FIG. 1 is a schematic diagram of a single client network architecture provided by the present invention.
- FIG. 2 is a schematic diagram of a multi-client network architecture provided by the present invention.
- FIG. 3 is a schematic flowchart diagram of Embodiment 1 of a method for writing data according to the present invention
- Embodiment 4 is a schematic flowchart of Embodiment 2 of a method for writing data according to the present invention
- FIG. 5 is a schematic flowchart diagram of Embodiment 3 of a method for writing data according to the present invention.
- FIG. 6 is a schematic flowchart diagram of Embodiment 4 of a method for writing data according to the present invention.
- FIG. 7 is a schematic structural diagram of Embodiment 1 of a data writing apparatus according to the present invention.
- FIG. 8 is a schematic structural diagram of Embodiment 2 of a data writing apparatus according to the present invention.
- FIG. 9 is a schematic structural diagram of Embodiment 3 of a data writing apparatus according to the present invention.
- FIG. 10 is a schematic structural diagram of Embodiment 4 of a data writing apparatus according to the present invention.
- Embodiment 5 of a data writing device according to the present invention.
- Embodiment 6 is a schematic structural diagram of Embodiment 6 of a data writing device according to the present invention.
- FIG. 13 is a schematic structural diagram of an embodiment of a storage system according to the present invention.
- the embodiment of the present invention can be applied to a scenario of a single client.
- the network architecture involved in the scenario specifically includes a client and at least one server, and the client can initiate a request for data atomic writing to multiple servers at the same time, or can be a single client.
- the terminal initiates a plurality of atomic write requests to the same server in a preset time period.
- FIG. 1 specifically shows that a single client initiates to multiple servers.
- a request written by an atom the embodiment of the present invention is applicable to a multi-client scenario, where the network architecture involved in the scenario includes multiple clients and at least one server, and multiple clients may initiate to the same server within a preset time period.
- the atomic write request can also initiate an atomic write request to multiple servers.
- multiple clients send to the same server.
- a request written by an atom may be a user-oriented communication device, and a plurality of servers shown in FIG. 1 or FIG. 2, each of which receives a request for atomic write of the client.
- the operations performed are the same. Therefore, the embodiments of the present invention are described in the specific implementation process of a server.
- the other servers are similar to the execution process of the server, and are not described in detail in the embodiments of the present invention.
- the embodiments of the present invention are directed to the technical problem that the prior art has high cost and low data writing efficiency when ensuring file system consistency.
- FIG. 3 is a schematic flowchart diagram of Embodiment 1 of a method for writing data according to the present invention.
- This embodiment relates to a non-volatile storage (NonVolatile Memory, hereinafter referred to as NVM) controller, a central processing unit, and a write request memory, which can be integrated into a server.
- NVM non-volatile storage
- the method includes:
- the NVM controller receives a first atomic write request sent by the central processor; the first atomic write request includes at least two non-conflicting write operations.
- the client sends a first atomic write request to the server.
- the central processor in the server first sends an atomic write request start command to the NVM controller; after receiving the atomic write request start command, the NVM controller pulls up the atomic write request signal.
- the level will be pulled up to identify to the central processor that the current atomic write request process begins, ie to the center
- the processor indicates that the current atomic write request process of the NVM controller is available.
- the NVM controller pulls up the atomic write request signal level by pulling the atomic write request signal level by means of a pulse.
- the central processor determines that the current atomic write request of the NVM controller is available according to the level of the atomic write request signal, and sends the received first atomic write request to the NVM controller.
- the first atomic write request includes at least two non-conflicting write operations. It should be noted that the write operation in the first atomic write request sent by the central processing unit is sent in a certain order. Therefore, the first atomic write request mentioned herein includes at least two non-conflicting write operations, which means The two adjacent write operations do not conflict, and the conflict here may be that the corresponding write addresses of the two adjacent write operations do not conflict and the data corresponding to the two adjacent write operations are written to the NVM medium. There is no conflict in the channel.
- the NVM controller stores the data corresponding to the first atomic write request and the to-be-written address corresponding to the first atomic write request to a write request memory, where the first atomic write request corresponds to be written.
- the address is an address in the NVM medium, and the to-be-written address corresponding to the first atomic write request includes a to-be-written address corresponding to each write operation in the first atomic write request.
- the NVM controller After receiving the first atomic write request sent by the central processing unit, the NVM controller stores the data corresponding to the first atomic write request and the to-be-written address corresponding to the first atomic write request to the write request memory. That is, the first received write operation, the corresponding data and the address to be written are first stored in the write request memory, and the subsequent write operation, the corresponding data and the address to be written are stored in the write request memory. It should be noted that the address to be written corresponding to the first atomic write request is actually an address in the NVM medium, and the address to be written corresponding to the first atomic write request includes the first atomic write request.
- the data to be written corresponding to each write operation includes data corresponding to each write operation in the first atomic write request. That is to say, the NVM controller finally writes the data corresponding to the first atomic write request into the NVM medium according to the address to be written corresponding to the first atomic write request.
- the write request memory has the characteristics of non-volatileness and small read delay, and may be a magnetic random access memory (MRAM) or a resistive random access memory (Resistive Random Access Memory). , hereinafter referred to as RRAM), may also be Ferromagnetic Random Access Memory (FRAM), or a new type of non-volatile memory such as Phase Change Random Access Memory (PCRAM). quality.
- the NVM controller performs collision detection on the first atomic write request, determines at least one first write operation concurrent group in the first atomic write request, and determines each of the first atomic write requests.
- the NVM controller performs collision detection on the received first atomic write request, and determines at least one first write operation concurrent group in the first atomic write request, and each write operation included in each first write operation concurrent group Is a write operation in which the corresponding data can be written to the NVM medium in parallel or simultaneously, and the addresses to be written corresponding to the respective write operations do not conflict with each other, and the channels corresponding to the data written by the respective write operations are not written into the NVM medium. A conflict has occurred. It should be noted that the addresses to be written corresponding to the respective write operations in the first write operation concurrent group do not conflict with each other, and may be on the Bloom filter bitmap of the NVM controller.
- the corresponding address to be written corresponds to the bit position on the Bloom filter bitmap does not overlap, and the detection result calculated by the computer according to a certain collision detection algorithm is different for the address to be written corresponding to each write operation by the computer;
- the channel used for writing the data corresponding to each write operation in the first write operation concurrent group does not conflict with the channel used for writing the NVM medium.
- the channel used for each write operation is different when the data is written to the NVM medium. of. That is to say, the data corresponding to each write operation in the first write operation concurrent group in the first atomic write request can be simultaneously written to the NVM medium through different channels.
- the NVM controller may also determine a first order between the concurrent sets of the first write operations in the first atomic write request when the first atomic write request is detected for conflict. That is, the first atomic write request may include at least one first write operation concurrent group, and the data of the different first write operation concurrent groups written to the NVM medium is written in the first order, and each write The data corresponding to each write operation in the operation concurrent group can be written to the NVM medium in parallel.
- the NVM controller receives the first atomic write request within a preset time period, and the first atomic write request includes three write operations, which are a, b, and c, respectively.
- the NVM controller performs collision detection on the first atomic write request after storing the data corresponding to the first atomic write request and the address to be written into the write request memory.
- the NVM controller is paired After the first atomic write request performs collision detection, it is known that a and b in the first atomic write request do not collide, but c and b collide, so the NVM controller determines that a and b constitute the first write operation and concurrently groups A, c constitutes the first write operation concurrent group B.
- the first sequence of the first write operation in the first atomic write request determined by the NVM controller is the first write operation, and the data corresponding to the group A is written to the NVM medium before the first write operation concurrent group B.
- S104 The NVM controller, according to the first sequence and the to-be-written address corresponding to the first atomic write request, data corresponding to each first write operation concurrent group in the first atomic write request from the write The memory is requested to be written to the NVM medium.
- the NVM controller first extracts data corresponding to a and b in the first write operation concurrent A in the first atomic write request from the write request memory, and writes the NVM in parallel. In the medium, the data corresponding to c is then taken out of the write request memory and written into the NVM medium.
- the NVM controller when the NVM controller receives the atomic write request, only the data corresponding to the write operation in the atom is written to the disk one by one in sequence, the data writing efficiency is very low, and the file system is consistent in the guarantee.
- the NVM controller when the NVM controller writes data to the NVM medium, the data corresponding to the write operation in the first atomic write request is concurrently executed. Recombination, the data corresponding to the write operation of the NVM medium can be concurrently written into the NVM medium, and the efficiency of data writing is improved.
- the embodiment of the present invention uses the write request memory to cache the data corresponding to the first atomic write request and
- the address to be written the non-volatile nature of the write request memory guarantees the consistency of the file system (that is, the process of writing data from the write request memory to the NVM medium, even if there is a failure, the data stored in the write request memory will not Lost, when the fault disappears, the data can continue to be written to the NVM media until it is successfully written to the NVM media), saving existing Log surgery cost disk, reducing the costs to ensure the consistency of the file system.
- a disk is used in the data writing process, and the storage write space on the disk is in units of memory blocks, that is, one memory block may include addresses corresponding to multiple write operations. Then, when a write operation wants to write data to its corresponding address (that is, write to the disk), it needs to occupy all the storage blocks. If the address corresponding to other write operations also belongs to the storage block, then other write operations are performed. A conflict occurs when data is written.
- the invention adopts With NVM media, the granularity of its storage space is in bits. It is also the scenario of writing data described above. Since each write operation is for different bits, there is no overlap between the two, so it will not cause conflict. Therefore, the NVM medium is used in the embodiment of the present invention to avoid unnecessary conflicts and ensure the reliability of the file system.
- the data writing method provided by the embodiment of the present invention stores the data corresponding to the received first atomic write request and the address to be written into the write request memory through the NVM controller, and conflicts with the first atomic write request. Obtaining at least one first write operation concurrently in the first atomic write request, and determining a first sequence of writing data corresponding to each first write operation concurrent set in the first atomic write request to the NVM medium, thereby And according to the first sequence and the address to be written corresponding to the first atomic write request, the data corresponding to each of the first write operations in the first atomic write request is written from the write request memory to the NVM medium.
- the method provided by the embodiment of the invention not only improves the efficiency of data writing, but also saves the cost of ensuring the consistency of the file system, and avoids unnecessary conflicts between the writing operations, thereby ensuring the reliability of the file system.
- FIG. 4 is a schematic flowchart diagram of Embodiment 2 of a method for writing data according to the present invention.
- the embodiment relates to the NVM controller performing collision detection on the received first atomic write request, and determining the first write operation concurrently in the first atomic write request.
- the method includes:
- S201 The NVM controller performs address conflict detection on each write operation in the first atomic write request, and obtains a second write operation concurrent group in the first atomic write request; wherein, the first atomic write request The second write operation does not conflict with the address to be written corresponding to each write operation in the concurrent group.
- the NVM controller after receiving the first atomic write request, performs address conflict detection on the address corresponding to each write operation in the first atomic write request.
- the NVM controller may be detected by using a preset detection algorithm, or may be detected by matching degrees between addresses, and may also be detected. It is mapped to a certain bit bitmap according to the address corresponding to each write operation, and is detected by checking whether the bit bitmap has overlap.
- the NVM controller writes each write operation in the first atomic write request.
- the method includes:
- S301 The NVM controller maps the to-be-written address corresponding to each write operation in the first atomic write request to the Bloom filter bitmap.
- the NVM controller divides the storage space of the NVM medium into a linear space according to a certain granularity, and establishes a bloom filter, and the address to be written corresponding to the write operation of the first atomic write request can be mapped.
- the bit on the bitmap of the Bloom filter that is, the address to be written corresponding to a write operation corresponds to one or more bits of the Bloom filter, so that a first mapping relationship can be optionally established, the first The mapping relationship includes the mapping relationship between the address to be written corresponding to the write operation in the first atomic write request and the bit on the Bloom filter bitmap.
- S302 The NVM controller performs address conflict detection on each write operation in the first atomic write request according to the Bloom filter bitmap, and obtains a second write operation concurrent group in the first atomic write request.
- the NVM controller may detect, according to the first mapping relationship in the Bloom filter, the to-be-written address corresponding to each write operation in the received first atomic write request, that is, the NVM controller is configured according to the first mapping.
- the relationship detecting whether the address to be written corresponding to each write operation in the first atomic write request corresponds to whether the bits on the Bloom filter bitmap overlap, and whether the address of each write operation in the first atomic write request occurs is known. Collision, thereby dividing the write operation in which the address conflict does not occur in the first atomic write request into the second write operation concurrent group.
- the first atomic write request includes five write operations of a, b, c, d, and e
- a corresponds to 1-on the Bloom filter bitmap.
- 10 bits corresponds to 11-20 bits on the Bloom filter bitmap
- c corresponds to 21-30 bits on the Bloom filter bitmap
- d corresponds to 30-40 bits on the Bloom filter bitmap
- e corresponds 41-50 bits on the Bloom filter bitmap.
- the NVM controller determines, according to the first mapping relationship, that the addresses to be written corresponding to a and b do not conflict, and the addresses to be written corresponding to c and b do not conflict, and the addresses to be written corresponding to d and c conflict, d
- the address to be written corresponding to e does not conflict. Therefore, the NVM controller determines that a, b, and c constitute a second write operation concurrently with group A, and d and e constitute a second write operation concurrently with group B. That is to say, the addresses to be written corresponding to the respective write operations included in the second write operation concurrent group do not conflict.
- S202 The NVM controller performs channel conflict detection on each write operation in the second write operation concurrent group of the first atomic write request, and determines at least one first write operation in the first atom write request.
- a concurrent group wherein, the first write operation of the first atomic write request does not conflict with the channel in which the data corresponding to each write operation in the concurrent set is written to the NVM medium.
- the NVM controller determines a first sequence of writing data corresponding to each of the first write operations in the first atomic write request to the NVM medium.
- the first write operation of the first atomic write request does not conflict with the write address of the write operation included in the concurrent group and the data written to the NVM medium.
- the NVM controller performs channel collision detection on the second write operation concurrent group A in the first atomic write request and the second write operation concurrent group B in the first atomic write request, respectively. Determining the second write operation in the first atomic write request.
- the data corresponding to a and b in the group A is written to the channel of the NVM medium without conflict, but the data corresponding to c is written into the channel of the NVM medium and the data corresponding to b.
- the channel written to the NVM medium conflicts, and the NVM controller determines that the second write operation in the first atomic write request includes two first write operations concurrent group A' and a first write operation concurrent group B'.
- the first write operation concurrent group A' includes a and b
- the first write operation concurrent group B' includes c (since the first write operation concurrent group B' includes only one c, so c performs channel writing when data is written
- the write operation of the first write operation concurrent group B' that does not exist does not of course conflict.
- the NVM controller also determines that the second write operation concurrently the data corresponding to d and e in the group B is written to the NVM medium, and the NVM controller determines that the second write operation includes a first A write operation concurrently groups C', the first write operation concurrent group C' including d and e.
- the NVM controller maps to a position on the Bloom filter bitmap and the first mapping relationship according to each write operation in the first atomic write request, and the NVM controller determines each of the first atomic write requests.
- the first sequence of data written to the NVM medium by a write operation concurrent group is: the data corresponding to the first write operation concurrent group A' is written to the NVM medium before the data corresponding to the first write operation concurrent group B' is written to the NVM medium.
- the data corresponding to the first write operation concurrent group B' is written to the NVM medium before the data corresponding to the first write operation concurrent group C' is written to the NVM medium.
- the NVM controller writes data corresponding to each first write operation to the NVM medium according to the first sequence determined above. That is, the NVM controller first writes the data corresponding to a and b in the first write operation concurrent group A' to the NVM medium in parallel, and then writes the data corresponding to c in the first write operation concurrent group B' to the NVM medium, and finally The data corresponding to d and e in the first write operation concurrent group C' is written into the NVM medium in parallel.
- the NVM controller determines the first write operation in the first atomic write request and the first sequence of the first write operation concurrent data is written into the first sequence of the NVM medium
- the NVM controller sends the NVM controller to the central processor.
- the NVM controller sends an atomic write request end command, which implicitly informs the NVM controller that the data cached in the write request memory can be written to the NVM medium.
- the NVM controller sends an atomic write request success message to the central processor on the premise that the central processor does not continue to send an atomic write request to the NVM controller in a short time, then the NVM controller determines the first order. After that, an atomic write request success message is sent to the central processor.
- the NVM controller writes the data corresponding to all the write operations of the first atomic write request to the NVM medium, the flag corresponding to the first atomic write request in the Bloom filter bitmap is cleared, and the write request is performed.
- the memory cache space is reclaimed to improve the storage space utilization of the write request memory.
- the data writing method provided by the embodiment of the present invention stores the data corresponding to the received first atomic write request and the address to be written into the MRAM through the NVM controller, and compares the first atom according to the Bloom filter bitmap. And obtaining, by the write request, the at least one first write operation concurrent group in the first atomic write request, and determining to write the data corresponding to each first write operation concurrent group in the first atomic write request to the first of the NVM medium And sequentially, according to the first sequence and the address to be written corresponding to the first atomic write request, the data corresponding to each first write operation concurrent group in the first atomic write request is written from the write request memory to the NVM medium.
- the method provided by the embodiment of the invention not only improves the efficiency of data writing, but also saves the cost of ensuring the consistency of the file system, and avoids unnecessary conflicts between the writing operations, thereby ensuring the reliability of the file system.
- FIG. 6 is a schematic flowchart diagram of Embodiment 4 of a method for writing data according to the present invention.
- the embodiment relates to data corresponding to the data of the first atomic write request and the second atomic write request after the NVM controller receives the second atomic write request sent by the central processor.
- the specific process of writing to NVM media As shown in FIG. 6, the method includes:
- the NVM controller receives a second atomic write request sent by the central processing unit; wherein the second atomic write request includes at least two non-conflicting write operations.
- the client after sending the first atomic write request to the server, the client still sends a second atomic write request to the server. Therefore, after transmitting the first atomic write request to the NVM controller, the central processor continues to send the second atomic write request to the NVM controller.
- the process by which the NVM controller processes the first atomic write request can be performed in synchronization with the process in which the NVM controller receives the second atomic write request.
- the write operation in the second atomic write request sent by the central processing unit is also sent in a certain order. Therefore, the second atomic write request mentioned herein includes at least two non-conflicting write operations, which refer to adjacent ones. The two write operations do not conflict, and the conflict here may be that the adjacent write addresses of the two adjacent write operations do not conflict, and the data corresponding to the two adjacent write operations are written into the NVM medium. No conflicts occur.
- the NVM controller stores the data corresponding to the second atomic write request and the to-be-written address corresponding to the second atomic write request to the write request memory; wherein the second atomic write request corresponds to The write address is an address in the NVM medium, and the address to be written corresponding to the second atomic write request includes a to-be-written address corresponding to each write operation in the second atomic write request.
- the NVM controller stores the data corresponding to the second atomic write request and the to-be-written address corresponding to the second atomic write request to the write request memory, and the NVM controller writes the first atom in the first embodiment.
- the process of requesting the corresponding data and the address to be written corresponding to the first atomic write request is stored in the write request memory, and details are not described herein again.
- the data corresponding to the second atomic write request includes data corresponding to each write operation in the second atomic write request.
- the NVM controller maps the to-be-written address corresponding to each write operation in the second atomic write request to the Bloom filter bitmap, and pairs the second according to the Bloom filter bitmap.
- Each of the write operations in the atomic write request performs address conflict detection to obtain a second write operation concurrently in the second atom write request; wherein the second write operation of the second atom write request concurrently writes each write in the group The corresponding address to be written to the operation does not conflict.
- the NVM controller not only maps the to-be-written address corresponding to the write operation of the first atomic write request to the Bloom filter bitmap, but also writes the second atomic write request.
- the corresponding to-be-written address of the operation is mapped to the Bron filter bitmap, and the specific mapping process may be performed by referring to the process of mapping the to-be-written address corresponding to the first atomic write request in the foregoing implementation to the Bloom filter. This will not be repeated here.
- the NVM controller detects, according to the mapping relationship between the address to be written and the bit in the Bron filter bitmap, that the address to be written corresponding to each write operation in the second atomic write request corresponds to Whether the bits on the Bloom filter bitmap overlap, it is possible to know whether an address conflict occurs in each write operation in the second atomic write request, thereby dividing the write operation in the second atomic write request without an address conflict into the first
- the second write operation in the two-atom write request is concurrently grouped.
- the NVM controller performs channel conflict detection on each write operation in the second write operation concurrent group of the second atomic write request, and determines at least one first write operation concurrent group in the second atomic write request; The first write operation of the second atomic write request does not conflict with the channel in which the data corresponding to each write operation in the concurrent set is written to the NVM medium.
- S405 The NVM controller determines a second sequence of writing data corresponding to each of the first write operations in the second atomic write request to the NVM medium.
- the specific process of the first write operation of the second atomic write request is obtained by the NVM controller, and the specific operation of the first write operation in the first atomic write request is obtained by referring to the NVM controller in the third embodiment. The process is performed, and details are not described herein again.
- the first write operation of the second atomic write request does not conflict with the write address and the data written to the NVM medium between the write operations included in the concurrent set.
- the NVM controller determines a process of writing data corresponding to each of the first write operations in the second atomic write request to the second sequence of the NVM medium, and determining the first atom by referring to the NVM controller in the third embodiment above.
- the process of writing the first sequence of the first write operation in the write request to the first sequence of the NVM medium is performed, and details are not described herein again.
- the NVM controller determines, according to the Bloom filter bitmap, a to-be-written address corresponding to each write operation in the first atomic write request and a write operation corresponding to each write operation in the second atomic write request.
- the address does not have an address conflict.
- the NVN controller determines, respectively, the first sequence of the first write operation in the first atomic write request and the first write operation in the first atomic write request
- the first sequence of the concurrent write data is written into the NVM medium
- the NVM controller continues to combine the Bloom filter.
- the mapping relationship between the address to be written and the bit corresponding to the write operation of the first atomic write request in the bitmap, and the mapping relationship between the address to be written and the bit corresponding to the write operation of the second atomic write request determine the first atomic write
- the address to be written corresponding to each write operation in the request does not have an address conflict with the to-be-written address corresponding to each write operation in the second atomic write request, that is, the first atomic write request and the second atomic write request may constitute One atom writes a concurrency group, and the atom writes a concurrency group
- the first atomic write request and the second atomic write request are executed by the data write process.
- the NVM controller performs parallel according to the first sequence and the to-be-written address corresponding to the first atomic write request, the second sequence, and the address to be written corresponding to the second atomic write request.
- the data corresponding to each of the first write operations of the first atomic write request and the data of the first write operation of the second atomic write request are written to the NVM medium.
- the “parallel” herein refers to the parallelism of the data writing process of the two atomic write requests. Executed, and the data corresponding to the atomic write request is still written to the NVM medium in the order of the respective first write operation concurrent groups. That is, the parallel execution of the data write process refers to the first atom write request.
- the second atom write request can also perform data writing, but the order of the data corresponding to the two atom write requests is written to the NVM medium. independent.
- the NVM controller when the NVM controller writes the data corresponding to the first atomic write request and the data corresponding to the second atomic write request into the NVM medium in parallel, it is assumed that the central processor does not continue to the NVM controller in a short time. After the atomic write request is sent, the NVM controller sends an atomic write request success message to the central processor after determining the first order and the second order.
- the NVM controller determines the data write of the first write operation concurrent group and each first write operation concurrent group in each atomic write request. After the first sequence of NVM media, address conflict detection is still performed on two adjacent atomic write requests in all atomic write requests (the atomic write requests received by the NVM controller are themselves sequential, because the central processor Is an atomic write request sent sequentially to determine the atomic write concurrency group, the atomic write concurrency group includes at least one atomic write request executed in parallel by the data write process (if an atomic write concurrency group includes an atomic write request, then Think of yourself as being in parallel with yourself).
- the NVM controller writes the atom to each atom in the concurrent group according to the first order of the first write operation concurrent data in each atomic write request and the first sequence of the NVM medium and the address to be written corresponding to the atomic write request.
- the data corresponding to each of the first write operations of the write request is written from the write request memory to the NVM medium.
- 1# atomic write request includes 3 write operations, which are a, b, c; 2# atomic write request includes 3 write operations, respectively d, e, f; 3# atomic write request includes 2 write operations , respectively, m, n.
- the NVM controller After the NVM controller performs collision detection on the 1# atomic write request, the NVM controller determines that a and b in the 1# atomic write request constitute the first write operation concurrent group A, and c constitutes the first write operation concurrent group B. After the NVM controller performs collision detection on the 2# atomic write request, it is determined that d constitutes the first write operation and the group C is formed, and e and f constitute the first write operation concurrent group D. Similarly, after the NVM controller performs collision detection on the 3# atomic write request, it is determined that m and n constitute the first write operation concurrent group E.
- the first sequence of the first write operation of the 1# atomic write request determined by the NVM controller is the first write operation, and the data corresponding to the send group A is written to the NVM medium before the first write operation concurrent group B; NVM The first write operation of the 2# atomic write request determined by the controller is the second write operation. The second write operation is performed by the first write operation. The data corresponding to the send group C is written to the NVM medium before the first write operation concurrent group D; the NVM controller determines The first write operation in the 3# atomic write request The second order of the concurrent write group is to directly write the data corresponding to the first write operation concurrent group E to the NVM medium.
- the NVM controller determines, according to the mapping relationship between the address to be written and the bit in the Bloom filter bitmap, that the 1# atomic write request, the 2# atomic write request, and the 3# atomic write request correspond to each other. Whether the bits of the bitmap of the filter overlap or not to determine the atomic write request concurrent group. Assuming that the bits of the Bloom filter bitmap do not overlap corresponding to the 1# atomic write request, the 2# atomic write request, and the 3# atomic write request, then the 1# atomic write request, the 2# atomic write request, and the 3 are determined.
- the # atomic write request can constitute an atomic write request concurrent group, that is, the 1# atomic write request, the 2# atomic write request, and the 3# atomic write request can simultaneously perform the data write process, and the three atomic write requests are used for data writing.
- the order is independent of each other. That is, when the NVM controller writes the data corresponding to the 1# atomic write request to the NVM medium, the NVM controller can also write the data corresponding to the 2# atomic write request and the 3# atomic write request to the NVM medium, respectively. However, the order in which the NVM controller writes the data corresponding to the 1# atomic write request, the 2# atomic write request, and the 3# atomic write request to the NVM medium is also performed in the order of the respective first write operations concurrently.
- the data writing method provided by the embodiment of the present invention determines, by the NVM controller, each of the to-be-written address and the second atomic write request corresponding to each write operation in the first atomic write request according to the Bloom filter bitmap.
- the address to be written corresponding to the write operation does not cause an address conflict, so that the address to be written, the second sequence, and the second atomic write request corresponding to the first atomic write request according to the first order and the second atomic write request, respectively
- the data corresponding to each first write operation of the first atomic write request and the data corresponding to the first write operation of the second atomic write request are written into the NVM medium in parallel, thereby further improving The efficiency of data writing.
- the foregoing program may be stored in a computer readable storage medium, and the program is executed when executed.
- the foregoing steps include the steps of the foregoing method embodiments; and the foregoing storage medium includes: a medium that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.
- FIG. 7 is a schematic structural diagram of Embodiment 1 of a data writing apparatus according to the present invention.
- the device can be integrated into the NVM controller or it can be an NVM controller.
- the apparatus includes: a receiving module 10, a storage module 11, a conflict detecting module 12, and a data writing module 13.
- the receiving module 10 is configured to receive a first atomic write request sent by the central processor; the first atomic write request includes at least two non-conflicting write operations; and the storage module 11 is configured to write the first atom And the address to be written corresponding to the first atomic write request is stored in the write request memory; wherein the address to be written corresponding to the first atomic write request is an address in the NVM medium, the first The address to be written corresponding to the atomic write request includes the address to be written corresponding to each write operation in the first atomic write request; the conflict detection module 12 is configured to perform collision detection on the first atomic write request, and determine Determining at least one first write operation concurrently in the first atomic write request, and determining a first sequence of writing data corresponding to each first write operation concurrent set in the first atomic write request to the NVM medium; The first write operation concurrent group in the first atomic write request includes at least one write operation of writing data to the NVM medium in parallel; the data write module 13 is configured to perform according to the first order The first
- the data writing device provided in the embodiment of the present invention may perform the foregoing method embodiments, and the implementation principle and technical effects thereof are similar, and details are not described herein again.
- FIG. 8 is a schematic structural diagram of Embodiment 2 of a data writing apparatus according to the present invention.
- the conflict detection module 12 further includes: an address conflict detecting unit 121, configured to perform address conflict detection on each write operation in the first atomic write request, Obtaining a second write operation in the first atomic write request and concurrently generating the group; wherein the first original The second write operation of the sub-write request does not conflict with the address to be written corresponding to each write operation in the concurrent group; the channel conflict detecting unit 122 is configured to perform the second write operation of the first atomic write request in the concurrent group Performing channel conflict detection for each write operation, determining at least one first write operation concurrent group in the first atomic write request; wherein, the first write operation of the first atomic write request corresponds to each write operation in the concurrent write group The channel in which the data is written to the NVM medium does not conflict; the determining unit 123 is configured to determine a first sequence of writing data corresponding to each of the first
- the address conflict detecting unit 121 is specifically configured to map the to-be-written address corresponding to each write operation in the first atomic write request to a Bloom filter bitmap, and according to the Bloom filter bit. The figure performs address conflict detection on each write operation in the first atomic write request, and obtains a second write operation in the first atomic write request to be concurrently grouped.
- the data writing device provided in the embodiment of the present invention may perform the foregoing method embodiments, and the implementation principle and technical effects thereof are similar, and details are not described herein again.
- the receiving module 10 is further configured to receive a second atomic write request sent by the central processing unit, where the second atomic write request includes at least two non-conflicting write operations;
- the storage module 11 is further configured to store the data corresponding to the second atomic write request and the to-be-written address corresponding to the second atomic write request to the write request memory; wherein the second atomic write request
- the corresponding address to be written is an address in the NVM medium, and the address to be written corresponding to the second atomic write request includes an address to be written corresponding to each write operation in the second atomic write request;
- the address conflict detecting unit 121 is further configured to map the to-be-written address corresponding to each write operation in the second atomic write request to the Bloom filter bitmap, and according to the Bloom filter bitmap Performing address conflict detection on each write operation in the second atomic write request to obtain a second write operation concurrently in the second atom write request; wherein the second write operation of the second atom write request is concurrent
- the address to be written corresponding to each write operation in the group does not conflict; and is further configured to determine, according to the Bloom filter bitmap, a to-be-written address corresponding to each write operation in the first atomic write request An address conflict does not occur in the address to be written corresponding to each write operation in the second atomic write request;
- the channel detecting unit 122 is further configured to perform a second write operation on the second atom write request and Each of the write operations in the issue group performs channel conflict detection to determine at least one first write operation concurrent set in the second atom write request; wherein the second write operation of the second atom write request is in each of the concurrent write groups The channel corresponding to the write operation is written to the channel of the NVM medium without conflict;
- the determining unit 123 is further configured to determine a second sequence of writing data corresponding to each of the first write operations in the second atomic write request to the NVM medium;
- the data writing module 13 is further configured to: according to the first sequence and the to-be-written address corresponding to the first atomic write request, the second sequence, and the to-be-written address corresponding to the second atomic write request And data corresponding to each first write operation concurrent group of the first atomic write request and data corresponding to each first write operation concurrent group of the second atomic write request are written in parallel to the NVM medium.
- the data writing device provided in the embodiment of the present invention may perform the foregoing method embodiments, and the implementation principle and technical effects thereof are similar, and details are not described herein again.
- FIG. 9 is a schematic structural diagram of Embodiment 3 of a data writing apparatus according to the present invention.
- the apparatus further includes: a clearing module 14 for writing, in the data writing module 13, data corresponding to all write operations of the first atomic write request to the NVM medium. Thereafter, the flag bit corresponding to the first atomic write request in the Bloom filter bitmap is cleared.
- FIG. 10 is a schematic structural diagram of Embodiment 4 of a data writing apparatus according to the present invention. Based on the embodiment shown in FIG. 8 above, as shown in FIG. 10, the device further includes: a sending module 14.
- the sending module 14 is configured to perform collision detection on the first atomic write request by the conflict detection module 12, determine at least one first write operation concurrent group in the first atomic write request, and determine After writing the data corresponding to each of the first write operations in the first atomic write request to the first sequence of the NVM medium, sending an atomic write success message to the central processor; then the receiving module 10, Also used to receive an atomic write end command sent by the central processor.
- the data writing device provided in the embodiment of the present invention may perform the foregoing method embodiments, and the implementation principle and technical effects thereof are similar, and details are not described herein again.
- FIG. 11 is a schematic structural diagram of Embodiment 5 of a data writing device according to the present invention. As shown in FIG. 11, the device includes a receiver 20 and a processor 21.
- the receiver 20 is configured to receive a first atomic write request sent by the central processor; the first atomic write request includes at least two non-conflicting write operations; and the processor 21 is configured to write the first atom
- the requesting corresponding data and the to-be-written address corresponding to the first atomic write request are stored in the write request memory; wherein the address to be written corresponding to the first atomic write request is a place in the NVM medium
- the address to be written corresponding to the first atomic write request includes a to-be-written address corresponding to each write operation in the first atomic write request; and is used to perform collision detection on the first atomic write request, and determine At least one of the first atomic write requests concurrently groups and determines a first order in which data corresponding to each of the first write operations in the first atomic write request is written to the NVM medium
- the first write operation concurrent set in the first atomic write request includes at least one write operation of writing data to the NVM medium in parallel; and is further configured to write according to the first sequence and
- the data writing device provided by the embodiment of the present invention may perform the foregoing method embodiments, and the implementation principle and technical effects thereof are similar, and details are not described herein again.
- the processor 21 is specifically configured to perform address conflict detection on each write operation in the first atomic write request, obtain a second write operation concurrently in the first atomic write request, and perform the The second write operation of the first atomic write request performs a channel conflict detection for each write operation in the concurrent set, determines at least one first write operation concurrent set in the first atomic write request, and determines to write the first atom
- the first sequence of concurrent write operations in the request is written to the first sequence of the NVM media.
- the channel in which the data corresponding to each write operation in the first write operation of the first atomic write request is written to the NVM medium does not conflict; the second write operation of the first atom write request is concurrent
- the addresses to be written corresponding to the individual write operations in the group do not conflict.
- the processor 21 is specifically configured to map a to-be-written address corresponding to each write operation in the first atomic write request to a Bloom filter bitmap, and according to the Bloom filter bitmap Address conflict detection is performed on each write operation in the first atomic write request, and a second write operation in the first atomic write request is obtained and concurrently grouped.
- the processor 21 is further configured to: after writing data corresponding to all write operations of the first atomic write request to the NVM medium, clear the first atomic write in the Bloom filter bitmap Request the corresponding flag bit.
- the data writing device provided by the embodiment of the present invention may perform the foregoing method embodiments, and the implementation principle and technical effects thereof are similar, and details are not described herein again.
- the receiver 20 is further configured to receive a second atomic write request sent by the central processing unit, where the second atomic write request includes at least two Conflicting write operation;
- the processor 21 is further configured to store the data corresponding to the second atomic write request and the to-be-written address corresponding to the second atomic write request to the write request memory, and write the second atom Addresses to be written corresponding to respective write operations in the request are mapped to the Bloom filter bitmap, and address conflict detection is performed on each write operation in the second atomic write request according to the Bloom filter bitmap Obtaining a second write operation in the second atomic write request concurrently, and determining, according to the Bloom filter bitmap, a to-be-written address corresponding to each write operation in the first atomic write request and the An address conflict does not occur in the address to be written corresponding to each write operation in the second atomic write request; and the channel conflict detection is performed on each write operation in the second write operation of the second atomic write request to determine the location At least one first write operation of the second atomic write request concurrently groups and determines a second sequence of writing data corresponding to each of the first write operations in the second atomic write request to the NVM medium, and Determin
- the address to be written corresponding to the second atomic write request is an address in the NVM medium, and the address to be written corresponding to the second atomic write request includes each write operation in the second atomic write request.
- Corresponding write address to be written; the second write operation request of the second atomic write request does not conflict with the address to be written corresponding to each write operation in the concurrent write group; the second write operation concurrent set of the second atomic write request.
- the data writing device provided by the embodiment of the present invention may perform the foregoing method embodiments, and the implementation principle and technical effects thereof are similar, and details are not described herein again.
- FIG. 12 is a schematic structural diagram of Embodiment 6 of a data writing device according to the present invention.
- the device includes: a transmitter 22, configured to perform collision detection on the first atomic write request by the processor 21, Determining at least one first write operation concurrent set in the first atomic write request, and determining to write data corresponding to each first write operation concurrent set in the first atomic write request to the first of the NVM medium After the sequence, an atomic write success message is sent to the central processor; the receiver 10 is further configured to receive an atomic write end command sent by the central processor.
- FIG. 13 is a schematic structural diagram of an embodiment of a storage system according to the present invention. As shown in Figure 13, this The storage system includes a central processing unit 30, a write request memory 31, an NVM medium 32, and an NVM controller 33 in the above embodiment. Further, the central processing unit 30, the write request memory 31, the NVM medium 32, and the NVM controller 33 are connected to one another via a bus 34.
- the storage system provided by the embodiment of the present invention may perform the foregoing method embodiments, and the implementation principles and technical effects thereof are similar, and details are not described herein again.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
L'invention concerne un procédé, un appareil et un dispositif d'écriture de données, ainsi qu'un système de stockage. Le procédé comprend les opérations suivantes : un dispositif de commande NVM reçoit une première requête d'écriture atomique envoyée par une unité centrale de traitement ; le dispositif de commande NVM stocke des données correspondant à la première requête d'écriture atomique et une adresse qui doit être écrite et correspond à la première requête d'écriture atomique dans une mémoire de requête d'écriture ; le dispositif de commande NVM réalise une détection de conflit sur la première requête d'écriture atomique, de façon à déterminer au moins un premier groupe de simultanéité d'opérations d'écriture dans la première requête d'écriture atomique et à déterminer une première séquence pour écrire des données correspondant à différents premiers groupes de simultanéité d'opérations d'écriture dans la première requête d'écriture atomique dans un support NVM ; et selon la première séquence et l'adresse qui doit être écrite et correspond à la première requête d'écriture atomique, le dispositif de commande NVM écrit les données correspondant à différents premiers groupes de simultanéité d'opérations d'écriture dans la première requête d'écriture atomique à partir de la mémoire de requête d'écriture dans le support NVM. Au moyen du procédé décrit dans la présente invention, l'efficacité d'écriture de données est améliorée, et les coûts pour garantir l'uniformité d'un système de fichier sont économisés.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201480038253.6A CN105849688B (zh) | 2014-12-01 | 2014-12-01 | 数据写入的方法、装置、设备和存储系统 |
| PCT/CN2014/092702 WO2016086342A1 (fr) | 2014-12-01 | 2014-12-01 | Procédé, appareil et dispositif d'écriture de données, et système de stockage |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2014/092702 WO2016086342A1 (fr) | 2014-12-01 | 2014-12-01 | Procédé, appareil et dispositif d'écriture de données, et système de stockage |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2016086342A1 true WO2016086342A1 (fr) | 2016-06-09 |
Family
ID=56090796
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2014/092702 Ceased WO2016086342A1 (fr) | 2014-12-01 | 2014-12-01 | Procédé, appareil et dispositif d'écriture de données, et système de stockage |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN105849688B (fr) |
| WO (1) | WO2016086342A1 (fr) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110504002A (zh) * | 2019-08-01 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种硬盘数据一致性测试方法与装置 |
| WO2020119050A1 (fr) * | 2018-12-11 | 2020-06-18 | Huawei Technologies Co., Ltd. | Détection de conflit d'écriture-écriture pour base de données de mémoire partagée multi-maître |
| CN112395245A (zh) * | 2019-08-16 | 2021-02-23 | 上海寒武纪信息科技有限公司 | 处理器的访问装置、方法及计算机设备 |
| CN112395243A (zh) * | 2019-08-16 | 2021-02-23 | 上海寒武纪信息科技有限公司 | 处理器的访问方法及装置 |
| CN112395244A (zh) * | 2019-08-16 | 2021-02-23 | 上海寒武纪信息科技有限公司 | 处理器的访问装置及方法 |
| US12511078B2 (en) | 2024-03-20 | 2025-12-30 | SanDisk Technologies, Inc. | Selective scanning of overlap-table in storage memories |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108228483B (zh) * | 2016-12-15 | 2021-09-14 | 北京忆恒创源科技股份有限公司 | 处理原子写命令的方法和设备 |
| CN113360081A (zh) * | 2020-03-06 | 2021-09-07 | 华为技术有限公司 | 数据处理方法及其设备 |
| CN111858514A (zh) * | 2020-07-27 | 2020-10-30 | 博泰车联网(南京)有限公司 | 一种数据写入方法、装置及计算机存储介质 |
| CN112187561B (zh) * | 2020-08-19 | 2022-05-27 | 深圳市广和通无线股份有限公司 | 通信模块测试方法、装置、计算机设备和存储介质 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080288819A1 (en) * | 2007-05-14 | 2008-11-20 | International Business Machines Corporation | Computing System with Transactional Memory Using Millicode Assists |
| CN102411491A (zh) * | 2011-12-31 | 2012-04-11 | 中国科学院自动化研究所 | 一种用于并行fft计算的数据存取方法及装置 |
| CN103530066A (zh) * | 2013-09-16 | 2014-01-22 | 华为技术有限公司 | 一种数据存储方法、装置及系统 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7173863B2 (en) * | 2004-03-08 | 2007-02-06 | Sandisk Corporation | Flash controller cache architecture |
| KR100881597B1 (ko) * | 2007-02-02 | 2009-02-03 | 지인정보기술 주식회사 | 읽기 요청 처리 시스템 및 방법 |
| CN101038571A (zh) * | 2007-04-19 | 2007-09-19 | 北京理工大学 | 一种块传输的多端口存储控制器 |
| CN101464781A (zh) * | 2008-12-31 | 2009-06-24 | 成都市华为赛门铁克科技有限公司 | 一种端口控制的方法、装置和固态硬盘 |
| CN102306115B (zh) * | 2011-05-20 | 2014-01-08 | 华为数字技术(成都)有限公司 | 异步远程复制方法、系统及设备 |
| CN102279712A (zh) * | 2011-08-10 | 2011-12-14 | 北京百度网讯科技有限公司 | 一种适用于互联网存储系统的存储控制方法、系统和装置 |
| WO2013158817A1 (fr) * | 2012-04-20 | 2013-10-24 | Violin Memory, Inc. | Gestion d'unités logiques (lun) par des contrôleurs raid distribués |
| KR101450157B1 (ko) * | 2013-08-19 | 2014-10-13 | 이화여자대학교 산학협력단 | 비휘발성 저널링 통합 버퍼 캐시와 비휘발성 스토리지를 위한 협동적 데이터 관리 장치 및 방법 |
-
2014
- 2014-12-01 WO PCT/CN2014/092702 patent/WO2016086342A1/fr not_active Ceased
- 2014-12-01 CN CN201480038253.6A patent/CN105849688B/zh active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080288819A1 (en) * | 2007-05-14 | 2008-11-20 | International Business Machines Corporation | Computing System with Transactional Memory Using Millicode Assists |
| CN102411491A (zh) * | 2011-12-31 | 2012-04-11 | 中国科学院自动化研究所 | 一种用于并行fft计算的数据存取方法及装置 |
| CN103530066A (zh) * | 2013-09-16 | 2014-01-22 | 华为技术有限公司 | 一种数据存储方法、装置及系统 |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020119050A1 (fr) * | 2018-12-11 | 2020-06-18 | Huawei Technologies Co., Ltd. | Détection de conflit d'écriture-écriture pour base de données de mémoire partagée multi-maître |
| CN110504002A (zh) * | 2019-08-01 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种硬盘数据一致性测试方法与装置 |
| CN112395245A (zh) * | 2019-08-16 | 2021-02-23 | 上海寒武纪信息科技有限公司 | 处理器的访问装置、方法及计算机设备 |
| CN112395243A (zh) * | 2019-08-16 | 2021-02-23 | 上海寒武纪信息科技有限公司 | 处理器的访问方法及装置 |
| CN112395244A (zh) * | 2019-08-16 | 2021-02-23 | 上海寒武纪信息科技有限公司 | 处理器的访问装置及方法 |
| US12511078B2 (en) | 2024-03-20 | 2025-12-30 | SanDisk Technologies, Inc. | Selective scanning of overlap-table in storage memories |
Also Published As
| Publication number | Publication date |
|---|---|
| CN105849688B (zh) | 2019-10-22 |
| CN105849688A (zh) | 2016-08-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2016086342A1 (fr) | Procédé, appareil et dispositif d'écriture de données, et système de stockage | |
| US11016941B2 (en) | Delayed asynchronous file replication in a distributed file system | |
| US9787773B2 (en) | Method and system for global namespace with consistent hashing | |
| US8347050B2 (en) | Append-based shared persistent storage | |
| CN103329111B (zh) | 一种基于块存储的数据处理方法、装置及系统 | |
| CN105393228B (zh) | 读写闪存中数据的方法、装置及用户设备 | |
| US12032849B2 (en) | Distributed storage system and computer program product | |
| CN107250995A (zh) | 存储器管理设备 | |
| CN104598168A (zh) | 一种数据恢复方法及对象存储设备 | |
| US20140244936A1 (en) | Maintaining cache coherency between storage controllers | |
| US20190220402A1 (en) | Data recovery method, data recovery system, and computer program product | |
| CN106445409A (zh) | 一种分布式块存储的数据写入方法及装置 | |
| CN110780816B (zh) | 一种数据同步方法、装置及介质 | |
| WO2019000423A1 (fr) | Procédé et dispositif de mémorisation de données | |
| CN104317716B (zh) | 分布式节点间的数据传输方法及分布式节点设备 | |
| US9606910B2 (en) | Method and apparatus for data reduction | |
| CN115730164A (zh) | 页面的处理方法和装置、处理器及电子设备 | |
| JP2015158910A (ja) | ラップ読出しから連続読出しを行うメモリサブシステム | |
| CN106843765A (zh) | 一种磁盘管理方法及装置 | |
| CN104615459A (zh) | 一种MoCA设备参数配置方法及装置 | |
| WO2016206070A1 (fr) | Procédé de mise à jour de fichier et dispositif de mémorisation | |
| US11940917B2 (en) | System and method for network interface controller based distributed cache | |
| US11175842B2 (en) | Method and system for performing data deduplication in a data pipeline | |
| US8108635B2 (en) | System, method and computer program product for copying data | |
| US9501290B1 (en) | Techniques for generating unique identifiers |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14907232 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 14907232 Country of ref document: EP Kind code of ref document: A1 |