KR20150118207A - Memory management apparatus and control method thereof - Google Patents

Memory management apparatus and control method thereof Download PDF

Info

Publication number
KR20150118207A
KR20150118207A KR1020140041984A KR20140041984A KR20150118207A KR 20150118207 A KR20150118207 A KR 20150118207A KR 1020140041984 A KR1020140041984 A KR 1020140041984A KR 20140041984 A KR20140041984 A KR 20140041984A KR 20150118207 A KR20150118207 A KR 20150118207A
Authority
KR
South Korea
Prior art keywords
data
mapping information
recorded
specific data
memory device
Prior art date
Application number
KR1020140041984A
Other languages
Korean (ko)
Inventor
류준길
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020140041984A priority Critical patent/KR20150118207A/en
Publication of KR20150118207A publication Critical patent/KR20150118207A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0879Burst mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The present invention relates to a method and apparatus for writing data according to a write command to a memory device due to a flash-based specific environment of a flash-based device such as an SSD, and at the same time, The present invention proposes a hybrid deduplication technique that can effectively achieve the object of eliminating redundant data while improving the disadvantages of the existing immediate deduplication and deduplication methods.

Description

[0001] MEMORY MANAGEMENT APPARATUS AND CONTROL METHOD THEREOF [0002]

The present invention relates to a storage system composed of a plurality of flash-based SSDs, and more particularly, to a flash-based specific environment of a flash-based device such as an SSD, At the same time, it is possible to improve the disadvantages of the existing instant deduplication method and the deduplication deduction method by judging whether or not the data according to the write command is redundant in parallel, will be.

Recently, SSD (Solid State Drive) with improved performance compared to HDD (Hard Disk Drive) has been widely used, and a storage system adopting a plurality of flash-based SSDs has been configured to provide data service through a network .

For example, a storage system may serve as a SAN (Storage Area Network) / NAS (Network Attached Storage) to provide a data service by simply supporting a block-level storage service, It can also provide data services directly (eg DB, Web service) by operating an application server.

Such a storage system employs a deduplication technique that removes redundant data in order to expand storage capacity. Such deduplication techniques are largely classified into in-line de-duplication and post-deduplication -processing de-duplication.

The immediate deduplication method is a method for performing deduplication on a path for writing data according to a write command to the storage, which has a disadvantage of degrading the write performance of the system.

On the other hand, the reserved deduplication method is a method in which data according to a write command is written to the storage, and data is read out later to perform deduplication. Thus, the overhead due to the subsequent I / O occurs and the effect of deduplication is temporally There is a drawback that it is delayed.

On the other hand, in a storage system composed of a plurality of flash-based SSDs, the above-mentioned immediate redundancy elimination method which does not record the data overlapping with the previously written data in the storage is taken into consideration in consideration of the weak flash characteristic of writing.

It should be noted that a flash-based device such as an SSD has a unique environment for managing mapping information for a flash-based specific environment such as the entire data to be recorded due to flash characteristics, and using a garbage collection function Is the point.

Accordingly, in the present invention, in a storage system composed of a plurality of flash-based SSDs, due to a flash-based specific environment of a flash-based device such as an SSD, data according to a write command is written to the storage, The present invention aims at effectively eliminating redundant data while improving disadvantages of the existing immediate deduplication method and the reserved deduplication method by judging whether data is redundant or not in parallel.

SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and it is an object of the present invention to provide a flash-based SSD, The data to be written according to the write command is stored in the storage, and at the same time, the data according to the write command is judged to be redundant in parallel, thereby eliminating redundant data while improving disadvantages of the existing immediate deduplication and deduplication The goal is to achieve efficiency as well.

According to a first aspect of the present invention, there is provided a memory control apparatus comprising: a data recording performing unit for performing a data recording operation for recording the specific data in a memory device when a write command for specific data is received; A redundancy judgment unit for performing a redundancy judgment operation for judging whether or not redundant data identical to the specific data is written in the memory device in parallel with the data writing operation; And a control unit for deleting the specific data recorded in the memory device according to a result of the duplication determination operation.

Preferably, the data write operation includes: an operation of buffering the specific data of the write command in a write buffer; and, when the write buffer is in a full state, all data including the specific data buffered in the write buffer, And writing to the memory device.

Preferably, the memory control device stores mapping information mapping a recording position where data is recorded for each data recorded in the memory device and an eigenvalue of the data; The duplication determination operation may include: calculating an eigenvalue for the specific data of the write command; searching for mapping information having the same eigenvalue as the calculated eigenvalue; And determining that the data corresponding to the searched mapping information is duplicate data identical to the specific data.

Preferably, in the memory control device, when the specific data is recorded in the memory device, the mapping information of the recording position at which the specific data is recorded is updated, and the unique value calculated for the specific data is stored in the updated mapping information Can be mapped.

Preferably, when it is determined that duplication data identical to the specific data is recorded as a result of the duplication determination operation, the controller displays an invalid identifier in the updated mapping information, and then, by the garbage collection The specific data recorded at the recording position of the mapping information in which the invalid identifier is displayed can be deleted.

The controller may link the recording position of the redundant data to the updated mapping information if it is determined that the same redundant data as the specific data is recorded as a result of the redundant determination operation.

Advantageously, the memory device comprises a plurality of flash-based memory chips, and the memory chips may be a solid state drive (SSD).

According to a second aspect of the present invention, there is provided a method of operating a memory control device, comprising the steps of: when receiving a write command for specific data, step; Performing redundancy judgment operation for judging whether or not redundant data identical to the specific data is recorded in the memory device in parallel with the data writing operation; And a control step of deleting the specific data recorded in the memory device in accordance with a result of performing the duplication determination operation.

Preferably, when the specific data is recorded in the memory device, the mapping information of the recording position at which the specific data is recorded is updated. And mapping the eigenvalues calculated for the specific data to the updated mapping information.

Preferably, the control step may include the step of linking the recording position of the redundant data to the updated mapping information if it is determined that duplication data identical to the specific data is recorded as a result of the duplication determination operation, And displaying an invalid identifier in the updated mapping information so that the specific data recorded at the recording position of the mapping information in which the invalid identifier is displayed by the garbage collection can be deleted.

Therefore, according to the memory control device and the operation method of the memory control device of the present invention, in a storage system composed of a plurality of flash-based SSDs, due to a flash-based specific environment of a flash-based device such as an SSD, Data is stored in the storage but at the same time, the redundancy is judged in parallel with the data according to the write command, thereby improving the disadvantages of the existing immediate deduplication method and the deduplication method, The effect that can be achieved is derived.

1 is a block diagram illustrating a configuration of a storage system including a memory controller according to a preferred embodiment of the present invention.
2 is a block diagram illustrating a memory control apparatus according to an exemplary embodiment of the present invention.
3 is an exemplary diagram showing a path in which a data write operation is performed and a path in which a duplicate determination operation is performed in the memory control device according to the preferred embodiment of the present invention.
4 is a flowchart illustrating an operation method of a memory control apparatus according to a preferred embodiment of the present invention.

Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.

First, a configuration of a storage system including a memory controller according to a preferred embodiment of the present invention will be described with reference to FIG.

1, the storage system includes a memory device 10 as a storage space, a file system or application (hereinafter referred to as a file system 200) for attempting memory operation to the memory device 10, And a memory control device (100) for controlling the memory device (10) between the file system (200) and the memory device (10).

At this time, the memory device 10 includes a plurality of flash-based memory chips composed of a plurality of flash memories, wherein the memory chip is preferably a flash-based device such as a solid state drive (SSD).

That is, the memory device 10 includes a plurality of flash-based memory chips (# 0, # 1, # 2, 2 ...).

The memory device 10 may employ a redundant algorithm (for example, Redundant Array of Independent Disks (RAID) algorithm). Depending on the type of redundant algorithm employed, the memory device 10 may group memory chips, It can also be operated as a group.

The memory control device 100 may be a control module or control software that controls the memory device 10 between the file system 200 and the memory device 10. [

Currently, a memory array system having a plurality of arrays, that is, a storage system, is constructed by using a storage system employing a plurality of flash-based SSDs as described above as an array, and an external client computer Not shown) to provide data services.

Such a storage system employs a deduplication technique that removes redundant data in order to expand storage capacity. Such deduplication techniques are largely classified into in-line de-duplication and post-deduplication -processing de-duplication.

Here, the duplication elimination method is a method of performing deduplication on a path for writing data in accordance with a write command to the storage, that is, the memory device 10, and has a drawback of degrading the writing performance of the system.

On the other hand, the reserved deduplication method is a method in which data according to a write command is written to the storage, that is, the memory device 10, and data is read thereafter to perform deduplication, resulting in overhead due to subsequent I / There is a disadvantage in that the effect of removal is delayed in time.

On the other hand, in the case of a flash-based device such as an SSD, it has a unique environment for managing mapping information on a flash-based specific environment such as a whole data to be recorded due to flash characteristics, and using a garbage collection function.

In other words, the flash-based SSD is weak in random writing. Therefore, in order to improve the random write performance, the mapping information is managed, and in particular, mapping information is managed for all the data, not the partial data to be recorded.

In addition, the most basic read / write among the memory operations for the flash memory is performed in page units (for example, 4 KB, 8 KB, 16 KB), and writing is performed on pages in which data is not recorded, that is, erased pages . On the other hand, erasing during the memory operation for the flash memory is performed in units of blocks in which a plurality of pages are gathered.

As described above, since the write unit and the erase unit are different, the garbage collection function is indispensable in the memory device 10 configured with the flash-based SSD.

Accordingly, in the present invention, due to the above-described flash-based specific environment of the flash-based device such as SSD, i.e., mapping information and garbage collection, data according to a write command is written to the storage device 10, It is possible to improve the disadvantages of the existing immediate deduplication method and the reserved deduplication method by judging whether or not the data according to the command is redundant in parallel and to perform the hybrid deduplication method We propose a memory control device that realizes this.

Hereinafter, a memory control apparatus according to an embodiment of the present invention will be described in detail with reference to FIG. For convenience of explanation, the description will be made using the reference numeral of the memory control device 100 corresponding to FIG. 1 described above.

The memory control device 100 according to the present invention includes a command receiving unit 110, a data recording unit 110 for performing a data recording operation of writing the specific data to the memory device 10 when a write command for specific data is received, A redundancy judgment unit 130 for judging whether redundant data identical to the specific data is recorded in the memory device 10 in parallel with the data writing operation, And a control unit (140) for deleting the specific data recorded in the memory device (10) according to the result of the duplication determination operation.

The memory control device 100 stores and manages mapping information 150 in which a recording position where data is recorded for each data recorded in the memory device 10 and an eigenvalue of the data are mapped.

That is, the mapping information 150 indicates mapping information corresponding to each of all the data recorded in the memory device 10, which may be the latest information in real time.

The memory device 10 includes a plurality of flash-based memory chips composed of a plurality of flash memories, wherein the memory chip is preferably a flash-based device such as a solid state drive (SSD).

That is, the memory device 10 includes a plurality of flash-based memory chips (# 0, # 1, # 2, 2 ...). Hereinafter, for convenience of explanation, a memory chip and an SSD can be used in combination.

The memory control device 100 according to the present invention is a memory control device for controlling a memory device 10 composed of a plurality of flash based SSDs and may be in the form of a control module or control software, (For example, a write buffer, etc.) in order to store the data.

The command receiving unit 110 receives a command to the memory device 10 from the file system 200 to attempt a memory operation. Hereinafter, a case where a write command is received for explanatory convenience of the present invention will be described.

The data recording unit 120 performs a data recording operation to record specific data in the memory device 10 when a write command for specific data is received through the command receiving unit 110. [

In the meantime, the redundancy judgment performing unit 130, in parallel with the data writing operation performed by the data recording performing unit 120, as described above, the same redundant data as the specific data according to the writing command is stored in the memory device 10 And performs a duplicate determination operation for determining whether or not it is recorded.

Here, the memory control device 100 writes data according to a write command in the storage, that is, the memory device 10, with respect to the data of each of the write commands received through the command receiving unit 110, The hybrid deduplication scheme of the present invention for determining whether duplication is performed in parallel is applied. For the sake of convenience of description, a write command for one write command, for example, data 4 will be mainly described below.

The data recording unit 120 immediately performs a data recording operation of writing the data 4 to the memory device 10 when a write command for the specific data, for example, data 4 is received.

At this time, the data write operation is performed by writing all the data including the data 4 buffered in the write buffer to the memory device 10, when the write buffer becomes full, As shown in FIG.

Then, in the memory control device 100, when specific data, for example, data 4 is recorded in the memory device 10, the mapping information of the recording position at which the data 4 is recorded is updated in the mapping information 150. [

3 is an exemplary diagram showing a path in which a data write operation is performed and a path in which a duplicate determination operation is performed.

Hereinafter, the process of performing the data write operation will be described in more detail with reference to FIG.

When the write command for the data 4 is received, the data recording unit 120 copies the data 4 according to the write command, allocates a slot corresponding to the size of the data 4 in the write buffer of the memory buffer pool, The data 4 is buffered in the write buffer (A1).

Here, a separate process may be responsible for allocating a slot in the write buffer of the memory buffer pool to the data of the received write command (e.g., data 4).

Then, the data recording performing unit 120 checks whether the write buffer is in a full state.

If the write buffer is not in the full state, the data write performing unit 120 buffers the data corresponding to the next write command received in the write buffer until the write buffer becomes full I will repeat.

On the other hand, when the write buffer is full, the data record performing unit 120 extracts all the data (e.g., data 1, 2, 3, 4) including the data 4 buffered in the write buffer from the write buffer By writing to the memory device 10, the data 4 can be written to the memory device 10 (A2).

When all the data (for example, data 1, 2, 3, 4) buffered in the write buffer as described above is recorded in the memory device 10, The mapping information of the recording position at which the corresponding data is recorded is updated in the mapping information 150 (A3).

Such mapping information update A3 may be performed by the data recording performing unit 120 or may be performed by the memory device 10. [

As described above, when the write command for specific data, e.g., data 4, is received, the data record performing unit 120 performs the data write operation (A1, A2 or A1, A2, A3) ). ≪ / RTI >

Here, the data recording unit 120 may mean the path itself in which the above-described data recording operation is performed.

The redundancy judgment performing unit 130 may write the redundant data identical to the specific data such as the data 4 in the memory device 10 in parallel with the data writing operation performed by the data recording performing unit 120, And a duplicate determination operation is performed.

That is, when the write command for data 4 is received separately from the write command data 4 recorded in the memory device 10 by the data record performing unit 120 as described above It is judged whether or not the same redundant data as the data 4 of the write command is recorded in the memory device 10 so that the redundant judgment operation is performed in parallel with the data write operation performed on the data 4 according to one write command .

At this time, the duplicate determination operation includes an operation of calculating an eigenvalue for the specific data of the write command, for example, data 4, an operation of searching mapping information having the same eigenvalue as the calculated eigenvalue, , It is determined that the data corresponding to the searched mapping information is the same data as the data 4.

Hereinafter, with reference to FIG. 3, the process of performing the duplicate determination operation will be described in more detail as follows.

When a write command for data 4 is received, the duplicate determination unit 130 inserts the received write command into the empty tail of the write request queue (B1).

Here, putting the received write command into the write request queue may be handled by a separate process. More preferably, the same process as the process responsible for allocating a slot in the write buffer of the above-mentioned memory buffer pool is responsible .

In addition, the redundancy judgment unit 130 sequentially fetches the write requests at the head of the write request queue, which are not empty, and places them in the empty tail of the eigenvalue calculation request queue (B2).

In addition, the redundancy judgment performing unit 130 takes out the write requests at the head of the non-empty value of the eigenvalue calculation request queue in order, calculates the eigenvalues based on the data according to the write request (B4 ), The corresponding write request that has completed the eigenvalue computation is put into the empty tail of the calculation completion queue (B5).

In this way, during the process of processing the write command through the write request queue, the unique value calculation request queue, and the calculation completion queue, the redundancy judgment performing unit 130 also fetches the write request for the data 4 and calculates the unique value for the data 4 .

Here, the eigenvalue is a value showing the uniqueness of the data, and may be a hash value. In addition, any type of value can be used as long as it can show uniqueness of data only.

At this time, when the eigenvalue of data 4 is calculated, the duplication determination unit 130 searches the mapping information 150 for mapping information having the same eigenvalue as the calculated eigenvalue.

If the same data as the data 4 (hereinafter, duplicated data) is already recorded in the memory device 10, the mapping information in which the duplicated data is recorded and the eigenvalues are already mapped in the mapping information 150 .

Therefore, if the mapping information 150 having the same eigenvalue as the eigenvalue of the data 4 is retrieved from the mapping information 150, it means that the same redundant data as the data 4 has been already recorded in the memory device 10, The data corresponding to the mapping information retrieved from the data 4 may be duplicated data identical to the data 4.

When the mapping information 150 having the same eigenvalue as the eigenvalue of the data 4 is searched in the mapping information 150, the duplication determination unit 130 replaces the data corresponding to the searched mapping information with the duplicated data (e.g., : Data 4 ').

In the memory control device 100, as described above, the writing request from the non-empty head is sequentially fetched from the calculation completion queue in which write requests for which the eigenvalues have been calculated are inserted, The corresponding eigenvalue is mapped (recorded) to the mapping information of the recording position at which the data (e.g., data 4) of the recording position is recorded (B6).

Such eigenvalue mapping (recording) B6 may be performed by the redundancy judgment unit 130 or may be performed by a separate process in the memory control device 100. [

The redundancy judgment unit 130 performs the redundancy judgment operation (B1, B2, B3, B4 or B1, B2, B3, B4, B5, B6) when receiving the write command for the specific data, It is possible to determine whether the data 4 is duplicated or not.

Here, the redundancy judgment unit 130 may mean the path itself in which the above-mentioned redundancy judgment operation is performed.

At this time, the data of the write command (e.g., data 4) is recorded in the memory device 100 (A2 in Fig. 3), the write request is issued from the calculated completion queue, Among the mapping (recording) eigenvalues (B6 in Fig. 3), what will be performed first will depend on the state of the storage system (e.g., write buffer status, processing power, etc.).

As described above, in the memory control device 100 of the present invention, when a write command is received, the data record performing unit 120 performs a data write operation on the write command data (e.g., data 4) On the other hand, the redundancy judgment performing unit 130 performs redundancy judgment operation on the data (for example, data 4) of the write command and the mapping information corresponding to the data (for example, data 4) (Recording position and eigenvalue) is updated in the mapping information 150. [

The control unit 140 deletes (removes) the specific data recorded in the memory device 10 in accordance with the result of the duplication determination operation.

More specifically, the control unit 140 determines whether or not the duplicate data identical to the data 4 based on the execution result of the duplication determination operation, that is, the data 4 based on the write command, is recorded in the memory device 10 The mapping information (recording position and eigenvalue) corresponding to the updated data 4 in the mapping information 150 may be left as it is.

On the other hand, the control unit 140 writes the duplicate data (e.g., data 4 ') identical to the data 4 as the result of the duplication determination operation in the duplication determination unit 130, (Deletes) the data 4 recorded in the memory device 10. [0064]

For this, when it is determined that the same redundant data (for example, data 4 ') as the data 4 is recorded in the memory device 10, the control unit 140 sets a mapping corresponding to the updated data 4 in the mapping information 150 And links the recording position of the redundant data (e.g., data 4 ') to the information.

As described above, if the recording position of the redundant data (e.g., data 4 ') is linked to the mapping information corresponding to the data 4, if a memory operation is attempted to read the data 4 thereafter, The data 4 'can be read from the recording position of the redundant data (for example, data 4') linked to the mapping information corresponding to the data 4 '.

On the other hand, when it is determined that the same redundant data (e.g., data 4 ') as the data 4 is recorded in the memory device 10, the control unit 140 updates mapping information 150 corresponding to the updated data 4 in the mapping information 150 (For example, invalid) is displayed in the map information so that the data 4 recorded at the recording position of the mapping information in which an invalid identifier (for example, invalid) is later displayed by the garbage collection can be deleted (removed).

The garbage collection is performed whenever the available memory area in the memory device 10 is insufficient. That is, when the available memory area in the memory device 10 is insufficient, the victim data block to be cleaned is selected in the memory device 10 for performing the garbage collection, and only valid data is copied from the selected victim data, A garbage collection is performed to write to the device 10 and delete invalid data.

For example, when the victim data is selected, the data (for example, data 4) recorded in the recording position of the mapping information in which the invalid identifier (e.g., invalid) is displayed is selected so as to be included in the victim data, (For example, data 4) recorded in the recording position of the mapping information in which an invalid identifier (for example, invalid) is displayed is recognized as invalid data. In this case, (e.g., data 4) recorded at the recording position of the mapping information in which the invalidation information (e.g., invalid) is displayed can be deleted (removed).

As described above, an invalid identifier (for example, invalid) is displayed in the mapping information corresponding to the data 4 to indicate that the memory device 10 is externally deleted, 4 will be recognized as a usable memory area.

As described above, according to the memory control device of the present invention, due to the flash-based specific environment of the flash-based device such as the SSD, data according to the write command is written to the memory device, It is possible to efficiently obtain the object of eliminating the duplicated data while improving the disadvantages of the existing immediate deduplication method and the deduplication deduction method by judging whether the data is redundant or not in parallel.

Hereinafter, an operation method of a memory control device according to a preferred embodiment of the present invention will be described with reference to FIG. For convenience of explanation, the reference numerals of Figs. 1 to 3 will be described.

The operation method of the memory control device 100 according to the present invention is a method in which when a write command for specific data is received (S100), a data recording operation for recording specific data in the memory device 10, A duplication elimination method for simultaneously determining whether or not the data is recorded in the memory device 10 is applied.

Here, the operation method of the memory control device 100 according to the present invention applies a hybrid deduplication method to data of each of the received write commands. Hereinafter, for convenience of explanation, one write command, for example, data 4 will be described with emphasis on the write command.

More specifically, the operation method of the memory control apparatus 100 according to the present invention is a method in which when a write command for specific data, such as data 4, is received, the received write command is written to the tail of the write request queue, The data 4 according to the write command is copied to allocate a slot corresponding to the size of the data 4 in the write buffer of the memory buffer pool and then the data 4 is written in the allocated slot so that the data 4 is buffered in the write buffer (S110).

After step S110, the operation method of the memory control device 100 according to the present invention checks whether the write buffer is in a full state (S130).

The operation method of the memory control device 100 according to the present invention is such that if the write buffer is not in a full state (No in S130) And buffering the data in the write buffer.

Meanwhile, when the write buffer is in the full state (Yes in S130), all the data including the data 4 buffered in the write buffer (for example, data 1, 2 , 3, 4) from the write buffer and writes the data 4 to the memory device 10 (S135).

The operation method of the memory control device 100 according to the present invention is such that when all the data (for example, data 1, 2, 3, 4) buffered in the write buffer as described above is recorded in the memory device 10, The mapping information of the recording position in which the corresponding data is recorded for each of the data 1, 2, 3, and 4 is updated in the mapping information 150 (S140).

As described above, the operation method of the memory control device 100 according to the present invention is a method of operating the memory control device 100 in which when a write command for specific data, for example, data 4 is received, the data recording operation is performed through steps S110 to S135, (10).

In step S110, the memory control apparatus 100 according to the present invention calculates an eigenvalue for the data 1 (S120).

More specifically, an operation method of the memory control device 100 according to the present invention is a method of operating the memory control device 100 according to the present invention, in which, in the above-described step S110, from the write request queue into which a write command for data 4 is written, And puts them into the empty tail of the eigenvalue computation request queue and takes out the write requests in turn from the eigenvalue computation request queue in the head of the nonempty sequence in order to generate data based on the write request , And performs the process of putting the write request that has completed the eigenvalue calculation into the empty tail of the calculation completion queue.

As described above, the operation method of the memory control device 100 according to the present invention is a method of extracting a write request for data 4 from a write request queue, a unique value calculation request queue, and a calculation completion queue, 4 (S120).

The operation method of the memory control device 100 according to the present invention searches for mapping information 150 having the same eigenvalue as the calculated eigenvalue in the mapping information 150 when the eigenvalue for the data 4 is calculated (S125) .

Accordingly, when the mapping information 150 having the same eigenvalue as the eigenvalue of the data 4 is searched in the mapping information 150 (Yes in S125), the operation method of the memory control device 100 according to the present invention is such that, It can be determined that the data is the same redundant data as the data 4 (e.g., data 4 ').

The method of operation of the memory control device 100 according to the present invention may be performed in the same manner as described above, regardless of whether the mapping information 150 having the same eigenvalue as the eigenvalue of the data 4 is searched in the mapping information 150 The write request from the non-empty head is sequentially fetched from the calculated completion queue into which the write requests for which the value calculation has been completed, and the mapping information of the write position in which the data (for example, data 4) (Recording) the corresponding eigenvalue (S150, S155).

4, steps S150 and S155 are performed after step S125. However, the operation method of the memory control device 100 according to the present invention is different from that of the first embodiment in that, in step S120, , It may perform steps S150 and S155 of mapping (recording) the eigenvalue to the mapping information of the recording position in which the data (e.g., data 4) of the write request is recorded before the determination of step S125.

At this time, the write command data (e.g., data 4) is written in the memory device 100 (S135), the corresponding write request is taken out from the calculated completion queue, and the unique value of the data 4 is written to the mapping information of the write position where the data 4 is written Among the mapping (writing) (S150, S155), what will be performed first depends on the state of the storage system (for example, writing buffer status, processing power, etc.).

As described above, in the method of operating the memory control device 100 according to the present invention, when a write command is received, the data write operation is performed on the write command data (e.g., data 4) And the mapping information (recording position and eigenvalue) corresponding to the data (e.g., data 4) recorded in the memory device 10 is stored in the mapping information 150 ).

The operation method of the memory control device 100 according to the present invention is such that if it is determined in step S125 that the same redundant data as the data 4 is not recorded in the memory device 10, The mapping information (recording position and eigenvalue) corresponding to the updated data 4 may be left as it is.

In the operation method of the memory control device 100 according to the present invention, if it is determined that the same redundant data (for example, data 4 ') as the data 4 is recorded in the memory device 10 in step S125 (S125) (E.g., data 4 ') is linked to the mapping information (the recording position and the eigenvalue) corresponding to the updated data 4 in the mapping information 150, and an invalid identifier (e.g., invalid) is displayed (S160).

As described above, if the recording position of the redundant data (e.g., data 4 ') is linked to the mapping information corresponding to the data 4, if a memory operation is attempted to read the data 4 thereafter, The data 4 'can be read from the recording position of the redundant data (for example, data 4') linked to the mapping information corresponding to the data 4 '.

If invalid identifier (for example, invalid) is displayed in the mapping information corresponding to data 4, data 4 recorded at the recording position of the mapping information in which an invalid identifier (for example, invalid) is displayed by garbage collection is deleted (Removed).

As described above, according to the method of operating the memory control device of the present invention, due to the flash-based specific environment of the flash-based device such as the SSD, data according to the write command is written to the memory device, It is possible to improve the drawbacks of the existing instant deduplication method and the deduplication dedication method, and to obtain the effect of efficiently eliminating the duplicated data.

The method of operating the memory controller according to an exemplary embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and configured for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

According to the memory control device and the operation method of the memory control device according to the present invention, due to the flash-based specific environment of the flash-based device such as the SSD, data according to the write command is written to the memory device, In order to improve the shortcomings of the existing instant deduplication method and the deduplication deduction method by judging whether or not the data is redundant in parallel, it is possible to effectively eliminate the redundant data. It is not only the use of the related technology but also the possibility of commercialization or operation of the applied device as well as the possibility of being practically and practically usable.

10: Memory device
100: memory control device
110: command receiving unit 120: data recording performing unit
130: Duplicate judgment performing unit 140:
150: mapping information
200: File system / application

Claims (10)

A data recording unit for performing a data recording operation for recording the specific data in a memory device when a write command for specific data is received;
A redundancy judgment unit for performing a redundancy judgment operation for judging whether or not redundant data identical to the specific data is written in the memory device in parallel with the data writing operation; And
And a control unit for deleting the specific data recorded in the memory device according to a result of the duplication determination operation.
The method according to claim 1,
The data recording operation may include:
An operation of buffering specific data of the write command in a write buffer and an operation of writing all data including the specific data buffered in the write buffer to the memory device when the write buffer becomes full Wherein the memory control device is a memory control device.
The method according to claim 1,
Wherein the memory control device stores mapping information mapping a recording position where data is recorded for each data recorded in the memory device and an eigenvalue of the data;
The duplication determination operation may include:
Calculating an eigenvalue for the specific data of the write command, searching for mapping information having the same eigenvalue as the calculated eigenvalue, searching for mapping information corresponding to the searched mapping information when the same eigenvalue mapping information is searched, And determining that the data is duplicate data identical to the specific data.
The method according to claim 1,
In the memory control device,
Wherein when the specific data is recorded in the memory device, the mapping information of the recording position at which the specific data is recorded is updated, and the eigenvalues calculated for the specific data are mapped to the updated mapping information.
5. The method of claim 4,
Wherein,
If it is determined that duplicate data identical to the specific data is recorded as a result of performing the duplication determination operation, an invalid ID is displayed in the updated mapping information, and then garbage collection is performed, So that the specific data recorded in the recording position can be deleted.
6. The method of claim 5,
Wherein,
And links the recording position of the redundant data to the updated mapping information if it is determined that the same redundant data as the specific data is recorded as the result of the redundant determining operation.
The method according to claim 1,
The memory device includes a plurality of flash-based memory chips,
Wherein the memory chip is an SSD (Solid State Drive).
Performing a data write operation of writing the specific data to a memory device when a write command for the specific data is received;
Performing redundancy judgment operation for judging whether or not redundant data identical to the specific data is recorded in the memory device in parallel with the data writing operation; And
And a control step of deleting the specific data recorded in the memory device in accordance with a result of the duplication determination operation.
9. The method of claim 8,
When the specific data is recorded in the memory device, mapping information of a recording position at which the specific data is recorded is updated;
And mapping the eigenvalues calculated for the specific data to the updated mapping information. ≪ Desc / Clms Page number 19 >
10. The method of claim 9,
Wherein the control step comprises:
Linking the recording position of the redundant data to the updated mapping information if it is determined that the same redundant data as the specific data is recorded as a result of the redundant determining operation;
And displaying an invalid identifier in the updated mapping information so that the specific data recorded at the recording position of the mapping information in which the invalid identifier is indicated by the garbage collection can be deleted. Lt; / RTI >
KR1020140041984A 2014-04-08 2014-04-08 Memory management apparatus and control method thereof KR20150118207A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140041984A KR20150118207A (en) 2014-04-08 2014-04-08 Memory management apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140041984A KR20150118207A (en) 2014-04-08 2014-04-08 Memory management apparatus and control method thereof

Publications (1)

Publication Number Publication Date
KR20150118207A true KR20150118207A (en) 2015-10-22

Family

ID=54426702

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140041984A KR20150118207A (en) 2014-04-08 2014-04-08 Memory management apparatus and control method thereof

Country Status (1)

Country Link
KR (1) KR20150118207A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10579264B2 (en) 2017-02-02 2020-03-03 SK Hynix Inc. Memory system and operating method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10579264B2 (en) 2017-02-02 2020-03-03 SK Hynix Inc. Memory system and operating method thereof

Similar Documents

Publication Publication Date Title
JP6870246B2 (en) Storage device and storage control device
US9128855B1 (en) Flash cache partitioning
KR101678868B1 (en) Apparatus for flash address translation apparatus and method thereof
US10621051B2 (en) Logical to physical table restoration from stored journal entries
CN107924291B (en) Storage system
TWI531963B (en) Data storage systems and their specific instruction enforcement methods
WO2015162758A1 (en) Storage system
KR20170010729A (en) Storage system and method for metadata management in Non-volatile memory
WO2016041384A1 (en) Duplicate data deletion method and device
US8862819B2 (en) Log structure array
KR101374065B1 (en) Data Distinguish Method and Apparatus Using Algorithm for Chip-Level-Parallel Flash Memory
CN110515550B (en) Method and device for separating cold data and hot data of SATA solid state disk
US20180253253A1 (en) Storage apparatus
US20190042134A1 (en) Storage control apparatus and deduplication method
US20180307440A1 (en) Storage control apparatus and storage control method
US9513804B2 (en) Virtual tape device and virtual tape device control method
CN105915595B (en) Method for cluster storage system to access data and cluster storage system
KR101554550B1 (en) Memory management apparatus and control method thereof
US8151053B2 (en) Hierarchical storage control apparatus, hierarchical storage control system, hierarchical storage control method, and program for controlling storage apparatus having hierarchical structure
US20150127891A1 (en) Write performance preservation with snapshots
JP6988445B2 (en) Storage system, control device and control method
CN108334457B (en) IO processing method and device
US20110264848A1 (en) Data recording device
WO2016032955A2 (en) Nvram enabled storage systems
KR20150118207A (en) Memory management apparatus and control method thereof

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2015101006957; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20151125

Effective date: 20170329