KR-20260066452-A - MEMORY DEVICE, OPERATING METHOD OF MEMORY DEVICE AND COMPRESSED MEMORY SYSTEM
Abstract
A memory device, a method of operating the memory device, and a compressed memory system are disclosed. The method of operating the memory device stores data of a first slot corresponding to the front portion of the data compressed from original data in a first area of memory, stores data of the remaining slots excluding the data of the first slot among the compressed data in a second area of memory, and stores metadata corresponding to the data of the remaining slots in a metadata table of a third area of memory.
Inventors
- 박진수
- 김유진
- 남지훈
- 박성욱
Assignees
- 삼성전자주식회사
Dates
- Publication Date
- 20260512
- Application Date
- 20241104
Claims (20)
- In the method of operating a memory device, A step of storing the data of the first slot corresponding to the front part of the data compressed from the original data in the first area of memory; A step of storing the data of the remaining slots, excluding the data of the first slot among the compressed data, in the second area of the memory; and Step of storing metadata corresponding to the data of the remaining slots in the metadata table of the third region of the memory A method of operating a memory device including
- In paragraph 1, The step of storing the data of the first slot in the first area of the memory A step of storing the data of the first slot in the first area of the memory in the same order as the blocks of the original data corresponding to the data of the first slot, for each block of the original data. A method of operating a memory device including
- In paragraph 1, The data of the first slot and the blocks of the original data are A method of operation of a memory device that is mapped 1:1 according to address order.
- In paragraph 1, The step of storing the data of the first slot in the first area of the memory A step of storing the data of the first slot in parallel by channel or rank in the first area of the memory. A method of operating a memory device including
- In paragraph 1, The above metadata table is It includes an entry of the metadata that stores the compressed size of the compressed data and location information of the data in the remaining slots, The entry in the above metadata is A method of operation of a memory device that maps 1:1 with the blocks of the original data above in address order.
- In paragraph 1, The above metadata A method of operating a memory device comprising the number of slots allocated to the data of the remaining slots and the physical address of the data of the remaining slots corresponding to each of the blocks of the original data.
- In paragraph 1, The size of the first area mentioned above is A method of operating a memory device that is dynamically adjusted according to at least one of the compression rate supported in the memory and the size of the memory.
- In paragraph 1, The above type of memory is It includes at least one of CXL (Compute eXpress Link) memory, GPU (Graphic Processing Unit) memory, accelerator memory, general memory, compressed memory, and storage, and The above type of memory is A method of operation of a memory device, determined by any one of the operating system, runtime, and user settings of an electronic device including the memory device.
- In paragraph 1, The step of storing the data of the first slot in the first area of memory is A step of dividing each of the blocks of the original data into a plurality of sub-blocks; and A step of storing data of a first sub-slot corresponding to the front section for each of the plurality of sub-blocks in the first area of the memory. A method of operating a memory device including
- In Paragraph 9, The step of storing metadata corresponding to the data of the remaining slots in the metadata table is A step of storing metadata corresponding to the data of the remaining sub-slots, excluding the data of the first sub-slot, for each of the above sub-blocks in the metadata table. A method of operating a memory device including
- In Paragraph 10, The above metadata A method of operating a memory device comprising at least one of the number of slots allocated to each of the data in the remaining sub-slots, the physical address of the data in the remaining sub-slots corresponding to each of the blocks of the original data, and the compression size of each of the data in the remaining sub-slots.
- A step of receiving a request from a host device to read target data among the compressed data stored in memory; A step of calculating the device physical address of the first slot and the entry of the metadata table corresponding to the target data in response to the above read request; A step of reading and decompressing data of a first slot according to the physical address of the device, and together with this, reading an entry of the metadata table to decompress data of the remaining slots excluding the first slot; and A step of transmitting to the host device block data combining the data of the first decompressed slot and the data of the remaining decompressed slots. A method of operating a memory device including
- In Paragraph 12, The step of receiving a read request for the above target data is Receiving the read request including the index of the target data A method of operating a memory device including
- In Paragraph 12, The above decompression step A step of determining, by means of the index of the target data, a first physical address of a first slot of a target block corresponding to the target data and a second physical address of a metadata table of the target block; A step of reading the data of the first slot based on the first physical address and decompressing the data of the first slot; A step of reading an entry of the metadata table based on the second physical address, along with reading the data of the first slot; and A step of obtaining the physical address of the data of the remaining slot from the entry of the above metadata table and decompressing the data of the remaining slot A method of operating a memory device including
- In Paragraph 14, The step of determining the first physical address and the second physical address is A step of determining the first physical address by adding the base address of the first region of the memory to the result of multiplying the index of the target block by the slot size; and A step of determining the second physical address by adding the base address of the third region of the memory to the result of multiplying the index of the target block by the size of the metadata. A method of operating a memory device including
- A computer program stored on a computer-readable storage medium in combination with hardware to execute the method of any one of claims 1 to 15.
- In a memory device, One or more processors; and Memory for storing instructions executable by the one or more processors mentioned above. Includes, If at least some of the above instructions are executed by the one or more processors, the at least some of the executed instructions cause the memory device, An operation of storing the data of the first slot corresponding to the front part of the data compressed from the original data in the first area of memory; The operation of storing the data of the remaining slots, excluding the data of the first slot among the compressed data, in the second area of the memory; and The operation of storing metadata corresponding to the data of the remaining slots in the metadata table of the third region of the memory. A memory device that controls the execution of
- Memory including at least one of a general memory area and a compressed memory area; A memory controller that generates a control signal for decompression of the target data in response to receiving a request to read the target data among the compressed data stored in the memory from a host device; and A compressor that stores the original data compressed into the memory and, according to the control signal, decompresses the target data. Includes, The above compressor At least one compression and decompression device that reads data of a first slot corresponding to the target data to decompress the data of the first slot, and reads an entry of the metadata table to decompress the data of the remaining slots; and A memory device that combines the data of the first decompressed slot and the data of the remaining decompressed slots and transmits them to the host device. A compressed memory system including
- In Paragraph 18, The above memory device Among the above compressed data, the data of the first compressed slot corresponding to the front end for each block of the original data is stored in the first area of the memory, and Among the compressed data, the data of the remaining slots, excluding the data of the first slot, is stored in the second area of the memory, and A compressed memory system that stores metadata corresponding to the data of the remaining slots in a third area of the memory.
- In Paragraph 18, The above memory device By the index of the target data above, a first physical address of a first slot of a target block corresponding to the target data and a second physical address of a metadata table of the target block are determined, and Based on the first physical address, the first slot data corresponding to the target data is read, and the compression of the first slot data is decompressed by the at least one compression and decompression device, and Along with reading the first slot data, an entry of a metadata table corresponding to the target data is read based on the second physical address, and A compressed memory system that obtains the physical address of the remaining slot data from an entry of the above metadata table and decompresses the remaining target slot data by the at least one compression and decompression device.
Description
Memory Device, Operating Method of Memory Device and Compressed Memory System The following embodiments relate to a memory device, a method of operating the memory device, and a compressed memory system. As memory-intensive applications such as big data and/or machine learning become widely utilized, the demand for memory devices in data centers is increasing. To meet this demand, devices capable of expanding main memory are being actively researched; however, expanding memory capacity through the addition of memory devices can increase the Total Cost of Ownership (TCO) of data centers due to device purchase costs and additional power consumption. Compressed memory technology is gaining attention as a solution to effectively reduce the TCO of data centers. Compressed memory technology can improve the effective capacity of memory devices by compressing data before storing it in the device. Figure 1 is a diagram illustrating the memory compression and densification process of a conventional compressed memory system. Figure 2 is a diagram illustrating a method for managing blocks of compressed data in a compressed memory system. FIG. 3a is a diagram illustrating a method for a memory device to manage compressed memory according to one embodiment. FIG. 3b is a diagram illustrating a method for a memory device to manage compressed memory according to one embodiment. FIG. 4 is a diagram illustrating the configuration of metadata per data block according to one embodiment. FIG. 5 is a diagram illustrating an example of the configuration of metadata according to one embodiment. FIG. 6 is a flowchart illustrating the operation method of a memory device according to one embodiment. FIG. 7 is a flowchart illustrating the operation method of a memory device according to one embodiment. FIG. 8 is a flowchart illustrating a method for decompressing according to one embodiment. FIG. 9 is a flowchart illustrating the process of handling a data read request in a compressed memory system according to one embodiment. FIG. 10 is a graph showing the data access delay time through priority reading for a first slot according to one embodiment. FIG. 11 is a block diagram of a memory device according to one embodiment. FIG. 12 is a block diagram of a compressed memory system according to one embodiment. FIG. 13a is a drawing illustrating an example of a compressed memory system composed of a plurality of compression and decompression devices according to one embodiment. FIG. 13b is a drawing illustrating an example of the configuration of data in a first slot in a compressed memory system composed of a plurality of compression and decompression devices according to one embodiment. Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only and may be modified and implemented in various forms. Accordingly, actual implementations are not limited to the specific embodiments disclosed, and the scope of this specification includes modifications, equivalents, or substitutions included in the technical concept described by the embodiments. Terms such as "first" or "second" may be used to describe various components, but these terms should be interpreted solely for the purpose of distinguishing one component from another. For example, the first component may be named the second component, and similarly, the second component may be named the first component. When it is stated that a component is "connected" to another component, it should be understood that it may be directly connected to or coupled with that other component, or that there may be other components in between. The singular expression includes the plural expression unless the context clearly indicates otherwise. In this specification, terms such as "comprising" or "having" are intended to specify the existence of the described features, numbers, steps, actions, components, parts, or combinations thereof, and should be understood as not precluding the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof. Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by those skilled in the art. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant technology, and should not be interpreted in an ideal or overly formal sense unless explicitly defined in this specification. Hereinafter, embodiments will be described in detail with reference to the attached drawings. In the description with reference to the attached drawings, identical components are given the same reference numeral regardless of the drawing number, and redundant descriptions thereof will be omitted. FIG. 1 is a diagram illustrating the memory compression and densification process of a conventional compressed memory syste