KR20150118207A - Memory management apparatus and control method thereof - Google Patents
Memory management apparatus and control method thereof Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0879—Burst 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
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
At this time, the
That is, the
The
The
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
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
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
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
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
The
The
That is, the
The
That is, the
The
The
The
In the meantime, the redundancy
Here, the
The
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
Then, in the
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
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
If the write buffer is not in the full state, the data write performing
On the other hand, when the write buffer is full, the data
When all the data (for example,
Such mapping information update A3 may be performed by the data recording performing
As described above, when the write command for specific data, e.g., data 4, is received, the data
Here, the
The redundancy
That is, when the write command for data 4 is received separately from the write command data 4 recorded in the
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
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
In addition, the redundancy
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
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
If the same data as the data 4 (hereinafter, duplicated data) is already recorded in the
Therefore, if the
When the
In the
Such eigenvalue mapping (recording) B6 may be performed by the
The
Here, the
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
The
More specifically, the
On the other hand, the
For this, when it is determined that the same redundant data (for example, data 4 ') as the data 4 is recorded in the
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
The garbage collection is performed whenever the available memory area in the
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
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
Here, the operation method of the
More specifically, the operation method of the
After step S110, the operation method of the
The operation method of the
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,
The operation method of the
As described above, the operation method of the
In step S110, the
More specifically, an operation method of the
As described above, the operation method of the
The operation method of the
Accordingly, when the
The method of operation of the
4, steps S150 and S155 are performed after step S125. However, the operation method of the
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
The operation method of the
In the operation method of the
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 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 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.
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.
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.
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.
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 memory device includes a plurality of flash-based memory chips,
Wherein the memory chip is an SSD (Solid State Drive).
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.
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 >
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 >
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)
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 |
-
2014
- 2014-04-08 KR KR1020140041984A patent/KR20150118207A/en active Search and Examination
Cited By (1)
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 |