KR101544309B1 - Method and apparatus for controlling non-volatile memory based on stream - Google Patents
Method and apparatus for controlling non-volatile memory based on stream Download PDFInfo
- Publication number
- KR101544309B1 KR101544309B1 KR1020140022316A KR20140022316A KR101544309B1 KR 101544309 B1 KR101544309 B1 KR 101544309B1 KR 1020140022316 A KR1020140022316 A KR 1020140022316A KR 20140022316 A KR20140022316 A KR 20140022316A KR 101544309 B1 KR101544309 B1 KR 101544309B1
- Authority
- KR
- South Korea
- Prior art keywords
- data sets
- stream
- volatile memory
- data
- pages
- 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
-
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
Abstract
Description
The following description relates to a method of controlling a non-volatile memory, and more particularly to a method of controlling a non-volatile memory based on a stream detected from data sets written to the non-volatile memory.
Flash memory based storage devices are used in a variety of electronic devices, including embedded systems, smart phones and laptops. In particular, recently, the use range of a flash memory based storage device has been extended to an enterprise environment including a server. As the range of use of flash memory based storage devices expands, the demand for large capacity and high performance flash memory is also increasing.
Flash memory based storage devices may include memory controllers and flash modules (flash chips or dies).
Writing of data to the flash memory may be performed only on a page-by-page basis, and erasing of data written to the flash memory may be performed only on a block-by-block basis. Therefore, in order to erase the data written to the flash memory, first, other valid pages belonging to the same block as the page on which data to be erased is written are copied to another block, and then data to be erased is written Blocks should be erased.
However, copying of repeated pages and erasing of blocks may increase the load of the flash memory and may shorten the life of the flash memory.
Therefore, there is a need for a method that can reduce the load on the nonvolatile memory when the data written to the nonvolatile memory such as the flash memory is erased, while increasing the access parallelism to the data written to the nonvolatile memory.
Korean Patent Laid-Open No. 10-2012-0074707 (filed on Jul. 06, 2012) includes a step of judging a writing pattern of data, a block mapping method of forming a mapping unit into blocks of a predetermined size, Selecting at least one mapped method among a page mapping constituting a mapping unit to a page of a size and a range mapping constituting a mapping unit with the size of the data, allocating a page for the data corresponding to the write pattern, A method for managing address mapping and data page allocation of a flash memory including a flash memory is disclosed.
One embodiment includes a method for detecting at least one set of data that meets a predetermined condition in the data sets as a stream and determining the blocks of the non-volatile memory and the page of the block in which the data set of the detected stream is to be written, Device can be provided.
One embodiment detects at least one data set of data sets as a stream based on the causal relationship of updates between data sets, and determines whether the data set of the detected stream corresponds to the blocks of non-volatile memory to be written, Can be provided.
In one aspect, there is provided a method comprising: receiving one or more write requests for one or more sets of data, performed by an electronic device comprising a non-volatile memory; receiving at least one data set Determining one or more pages of the non-volatile memory and the one or more pages of the block into which the at least one data set of the detected stream is to be written, And writing the data set of the non-volatile memory.
The at least one data set of the stream may be written to a separate page for each data set.
The non-volatile memory control method may further include setting a predetermined stream size.
The detected stream may include a greater number of data sets than the predetermined scream size.
The predetermined stream size may be set based on the size of the block of the non-volatile memory.
The predetermined stream size may be set adaptively based on the workload of the electronic device.
The stream may be a collection of correlated data sets with properties that are updated together.
The step of detecting the at least one data set as a stream may comprise identifying a logical page number (LPN) of at least one logical page to which each of the write requests is directed.
The step of detecting the at least one data set as a stream may include determining data sets for consecutive logical pages indicated by the write requests as a stream based on the identified LPN.
Wherein determining the at least one data set as the stream comprises determining data sets for the contiguous logical pages as a stream if the number of data sets for the contiguous logical pages exceeds a predetermined stream size .
Wherein detecting the at least one data set as a stream comprises:
And identifying logical pages in which update histories within a predetermined time of the logical pages indicated by the write requests exist.
The step of determining the at least one data set as the stream may include determining data sets for the identified logical pages as a stream.
The detecting the at least one data set as a stream may include identifying data sets that are related to each other among the data sets based on a causal relationship of updates between the data sets.
The detecting the at least one data set as a stream may comprise determining the identified associated data sets as a stream.
Wherein identifying the interrelated data sets may identify first data sets belonging to a first one of the data sets as the interrelated data sets.
The identifying the mutually related data sets may identify the second set of data belonging to a plurality of files associated with each other among the data sets as the mutually related data sets.
Wherein detecting the at least one data set as a stream includes receiving at least one of the received times of one or more other write requests received that indicate different data sets for the first logical pages and at least one of the received write requests And determining a causal relationship of the predetermined update based on the one.
Wherein identifying the interrelated data sets may identify the data sets pointed to by at least one write request having a causal relationship of the determined ones of the write requests as interrelated data sets.
In another aspect, there is provided a computer program product for receiving one or more write requests for a non-volatile memory and one or more data sets comprising one or more blocks, and for receiving at least one data set satisfying a predetermined condition among the data sets as a stream Determining at least one block of the blocks and the one or more pages of the at least one block in which the at least one data set of the detected stream is to be written and writing the data sets to the determined pages , An electronic device is provided.
At least one data set that satisfies a predetermined condition among the data sets is detected as a stream and the data sets of the detected stream are written to the same block of the nonvolatile memory so that nonvolatile A method and apparatus are provided to reduce the load of garbage collection of memory.
By writing the data sets associated with each other among the data sets as a stream in the same block of the nonvolatile memory, it is possible to reduce the number of pages to be copied and the number of erased blocks in erasing of the associated data sets written in the nonvolatile memory, A method and apparatus are provided that can improve the lifetime of the memory.
1 shows an electronic device according to an embodiment.
2 shows a method of operation of an electronic device according to an embodiment.
Figure 3 illustrates a method of writing data sets to a non-volatile memory of an electronic device.
4 illustrates a method for updating or erasing data sets written to a non-volatile memory of an electronic device.
5 shows a method of controlling a non-volatile memory of an electronic device according to an embodiment.
6 illustrates a method of detecting at least one data set as a stream based on a logical page number (LPN) of a logical page represented by each of write requests according to an example.
7 shows a method for detecting at least one data set as a stream based on the update history of logical pages indicated by write requests according to an example.
Figure 8 illustrates a method for detecting at least one data set as a stream based on the causal relationship of updates between data sets according to an example.
9 illustrates a method of writing data sets to a non-volatile memory of an electronic device according to an example.
10 illustrates a method for updating or erasing data sets written to a non-volatile memory of an electronic device according to an example.
11 illustrates a method for detecting a stream from data sets according to an example.
In the following, embodiments will be described in detail with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements.
1 shows an electronic device according to an embodiment.
The
The
The
Nonvolatile The
Non-volatile
The
The
The operation method of the
The
2 shows a method of operation of an electronic device according to an embodiment.
As described above with reference to FIG. 1, the
A write request from the
The illustrated
The
The
The FTL unit may assign each of the data sets pointed to by the write requests to each page of the
The
The technical contents described above with reference to FIG. 1 can be applied as it is, so a detailed description will be omitted below.
In FIGS. 3, 4, 9 and 10, which will be described later, the
Figure 3 illustrates a method of writing data sets to a non-volatile memory of an electronic device.
The
The
The data sets pointed to by the same write request may have a causality of update. For example, the data sets pointed to by the same write request may be updated simultaneously or within a predetermined time.
The
That is to say, each of the data sets D1 to D39 can be sequentially allocated so that the access parallelism between the
If the data sets D1 to D39 are written to the
The manner in which the data sets D1 to D39 written to the
The technical contents described with reference to FIG. 1 and FIG. 2 may be applied as they are, so a detailed description will be omitted below.
4 illustrates a method for updating or erasing data sets written to a non-volatile memory of an electronic device.
The data sets written to the
FIG. 4 shows the state of the
If a request to update or erase data sets D7 to D15 from
In one embodiment, the
The method by which the
The technical contents described with reference to Figs. 1 to 3 can be applied as it is, and a detailed description will be omitted below.
5 shows a method of controlling a non-volatile memory of an electronic device according to an embodiment.
5, the
At
In
The stream size may be set based on the size of the block of
Alternatively, the stream size may be set adaptively based on the workload of the
In
The
Alternatively, the
The manner in which the
The detected stream may include a number of data sets equal to or greater than a predetermined scream size set at
In
The
In
Each of the data sets pointed out by the write requests from the
In other words, the
The technical contents described above with reference to Figs. 1 to 4 can be applied as they are, so that a more detailed description will be omitted below.
6 illustrates a method of detecting at least one data set as a stream based on a logical page number of a logical page represented by each of write requests according to an example.
Step 520 described above with reference to FIG. 5 may include
In
In
The data sets for the contiguous logical pages may be interrelated data sets and may be likely to be updated simultaneously or within a predetermined time period by locality.
The
The technical contents described above with reference to Figs. 1 to 5 may be applied as they are, so that a more detailed description will be omitted below.
7 shows a method for detecting at least one data set as a stream based on the update history of logical pages indicated by write requests according to an example.
Step 520 described above with reference to FIG. 5 may include
In
Alternatively, the
In
The technical contents described above with reference to Figs. 1 to 6 can be applied as they are, so that a more detailed description will be omitted below.
Figure 8 illustrates a method for detecting at least one data set as a stream based on the causal relationship of updates between data sets according to an example.
Step 520 described above with reference to FIG. 5 may include
In
Alternatively, the
In
Alternatively, the
Alternatively, the
In
In
The technical contents described with reference to Figs. 1 to 7 can be applied as they are, so that a more detailed description will be omitted below.
9 illustrates a method of writing data sets to a non-volatile memory of an electronic device according to an example.
5, data sets D1 and D2, data sets D7 through D15, data sets D37 through D39, and data sets D22 and D27, .
The
The
Compared to the method described above with reference to Fig. 3, which writes all data sets D1 to D39 in pages in a round-robin manner, the depicted method is similar to the method described above with reference to Fig. 3, It is possible to maintain the parallelism between accesses.
If sufficient data sets can not be stored because the size of the
The technical contents described with reference to Figs. 1 to 8 can be applied as they are, so that a more detailed description will be omitted below.
10 illustrates a method for updating or erasing data sets written to a non-volatile memory of an electronic device according to an example.
FIG. 10 shows the state of the
If a request to update or erase data sets D7 to D15 from
Compared to the method described above with reference to Fig. 4, which erases the data sets D7 to D15, in the illustrated method the number of pages required to be copied can be reduced from 7 to 3, Can be reduced from 4 to 3.
That is to say, the illustrated method can reduce the load on the
The technical contents described with reference to FIGS. 1 to 9 can be applied as they are, so that a more detailed description will be omitted below.
11 illustrates a method for detecting a stream from data sets according to an example.
In Fig. 10, a method of detecting the stream described above with reference to Figs. 5 to 8 performed by the
5, the
Alternatively, the
Alternatively, the
The technical contents described above with reference to Figs. 1 to 10 can be applied as they are, so that a detailed description will be omitted below.
The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA) A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
The method according to an embodiment may be implemented in the form of a program command 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 to be recorded on the medium may be those specially designed and configured for the embodiments 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 embodiments, 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. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
100: Electronic device
110:
120: Nonvolatile memory
310: write buffer
320: FTL part
Claims (15)
Receiving one or more write requests for one or more data sets;
Detecting as a stream at least one data set indicated by the write request among the data sets;
Determining one or more blocks of the non-volatile memory and one or more pages of the blocks into which the at least one data set of the detected stream is to be written; And
Writing the at least one data set to the determined pages
Volatile memory.
Wherein the at least one data set of the stream is written to a separate page for each data set.
Setting a predetermined stream size
Further comprising:
Wherein the detected stream comprises a number of data sets equal to or greater than the predetermined scrim size.
Wherein the predetermined stream size is set based on a size of a block of the non-volatile memory.
Wherein the predetermined stream size is set adaptively based on a workload of the non-volatile memory storage device.
Wherein the stream is a collection of correlated data sets having characteristics that are updated together.
Wherein detecting the at least one data set as a stream comprises:
Identifying a logical page number (LPN) of at least one logical page pointed to by each of the write requests; And
Determining data sets for consecutive logical pages indicated by the write requests as a stream based on the identified LPN
Volatile memory.
The step of determining as the stream
And determines the data sets for the contiguous logical pages as a stream if the number of data sets for the contiguous logical pages exceeds a predetermined stream size.
Wherein detecting the at least one data set as a stream comprises:
Identifying logical pages in which there is an update history within a predetermined time of the logical pages indicated by the write requests; And
Determining data sets for the identified logical pages as a stream
Volatile memory.
Wherein detecting the at least one data set as a stream comprises:
Identifying data sets associated with each other of the data sets based on a causal relationship of the updates between the data sets; And
Determining the identified associated data sets as a stream
Volatile memory.
Wherein identifying the interrelated data sets identifies first data sets belonging to a first one of the data sets as the interrelated data sets.
Wherein identifying the interrelated data sets identifies, as the interrelated data sets, second data sets belonging to a plurality of files associated with each other among the data sets.
Wherein detecting the at least one data set as a stream comprises:
Determining a causal relationship of a given update based on at least one of a received time of one or more other write requests received that indicate different data sets for the first logical pages and a received order of each of the other write requests step
Lt; / RTI >
Wherein identifying the interrelated data sets identifies, as interrelated data sets, data sets pointed to by at least one write request having a causal relationship of the determined ones of the write requests.
The method comprising: receiving one or more write requests for one or more data sets, detecting as a stream a set of at least one of the data sets indicated by the write request, and wherein the at least one data set of the detected stream is to be written Determine at least one block of the blocks and one or more pages of the at least one block, and write the data sets to the determined pages.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140022316A KR101544309B1 (en) | 2014-02-26 | 2014-02-26 | Method and apparatus for controlling non-volatile memory based on stream |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140022316A KR101544309B1 (en) | 2014-02-26 | 2014-02-26 | Method and apparatus for controlling non-volatile memory based on stream |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101544309B1 true KR101544309B1 (en) | 2015-08-12 |
Family
ID=54060989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140022316A KR101544309B1 (en) | 2014-02-26 | 2014-02-26 | Method and apparatus for controlling non-volatile memory based on stream |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101544309B1 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180052465A (en) * | 2016-11-10 | 2018-05-18 | 삼성전자주식회사 | Solid state drive device and storage system having the same |
KR20180119473A (en) * | 2017-04-25 | 2018-11-02 | 삼성전자주식회사 | Methods for multi-stream garbage collection |
US10216417B2 (en) | 2016-10-26 | 2019-02-26 | Samsung Electronics Co., Ltd. | Method of consolidate data streams for multi-stream enabled SSDs |
US10656838B2 (en) | 2015-07-13 | 2020-05-19 | Samsung Electronics Co., Ltd. | Automatic stream detection and assignment algorithm |
US10698808B2 (en) | 2017-04-25 | 2020-06-30 | Samsung Electronics Co., Ltd. | Garbage collection—automatic data placement |
US10824576B2 (en) | 2015-07-13 | 2020-11-03 | Samsung Electronics Co., Ltd. | Smart I/O stream detection based on multiple attributes |
US10866905B2 (en) | 2016-05-25 | 2020-12-15 | Samsung Electronics Co., Ltd. | Access parameter based multi-stream storage device access |
US11461010B2 (en) | 2015-07-13 | 2022-10-04 | Samsung Electronics Co., Ltd. | Data property-based data placement in a nonvolatile memory device |
US11907568B2 (en) | 2020-10-14 | 2024-02-20 | Samsung Electronics Co., Ltd. | Storage controller, storage device, and operation method of storage device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005196447A (en) | 2004-01-07 | 2005-07-21 | Toshiba Corp | Memory control device and memory card using it |
-
2014
- 2014-02-26 KR KR1020140022316A patent/KR101544309B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005196447A (en) | 2004-01-07 | 2005-07-21 | Toshiba Corp | Memory control device and memory card using it |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11392297B2 (en) | 2015-07-13 | 2022-07-19 | Samsung Electronics Co., Ltd. | Automatic stream detection and assignment algorithm |
US10656838B2 (en) | 2015-07-13 | 2020-05-19 | Samsung Electronics Co., Ltd. | Automatic stream detection and assignment algorithm |
US10824576B2 (en) | 2015-07-13 | 2020-11-03 | Samsung Electronics Co., Ltd. | Smart I/O stream detection based on multiple attributes |
US11461010B2 (en) | 2015-07-13 | 2022-10-04 | Samsung Electronics Co., Ltd. | Data property-based data placement in a nonvolatile memory device |
US10866905B2 (en) | 2016-05-25 | 2020-12-15 | Samsung Electronics Co., Ltd. | Access parameter based multi-stream storage device access |
US10216417B2 (en) | 2016-10-26 | 2019-02-26 | Samsung Electronics Co., Ltd. | Method of consolidate data streams for multi-stream enabled SSDs |
US10739995B2 (en) | 2016-10-26 | 2020-08-11 | Samsung Electronics Co., Ltd. | Method of consolidate data streams for multi-stream enabled SSDs |
US11048411B2 (en) | 2016-10-26 | 2021-06-29 | Samsung Electronics Co., Ltd. | Method of consolidating data streams for multi-stream enabled SSDs |
KR102610537B1 (en) * | 2016-11-10 | 2023-12-06 | 삼성전자주식회사 | Solid state drive device and storage system having the same |
KR20180052465A (en) * | 2016-11-10 | 2018-05-18 | 삼성전자주식회사 | Solid state drive device and storage system having the same |
US10698808B2 (en) | 2017-04-25 | 2020-06-30 | Samsung Electronics Co., Ltd. | Garbage collection—automatic data placement |
US11194710B2 (en) | 2017-04-25 | 2021-12-07 | Samsung Electronics Co., Ltd. | Garbage collection—automatic data placement |
US11048624B2 (en) | 2017-04-25 | 2021-06-29 | Samsung Electronics Co., Ltd. | Methods for multi-stream garbage collection |
KR102252724B1 (en) | 2017-04-25 | 2021-05-17 | 삼성전자주식회사 | Methods for multi-stream garbage collection |
US11630767B2 (en) | 2017-04-25 | 2023-04-18 | Samsung Electronics Co., Ltd. | Garbage collection—automatic data placement |
KR20180119473A (en) * | 2017-04-25 | 2018-11-02 | 삼성전자주식회사 | Methods for multi-stream garbage collection |
US11907568B2 (en) | 2020-10-14 | 2024-02-20 | Samsung Electronics Co., Ltd. | Storage controller, storage device, and operation method of storage device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101544309B1 (en) | Method and apparatus for controlling non-volatile memory based on stream | |
CN111742291B (en) | Method and system for user space storage I/O stack with user space flash translation layer | |
CN106354745B (en) | Method for providing an interface of a computer device and computer device | |
US10732905B2 (en) | Automatic I/O stream selection for storage devices | |
US9569351B2 (en) | Storing corresponding data units in a common storage unit | |
US9122585B2 (en) | Method for managing data in storage device and memory system employing such a method | |
KR101390134B1 (en) | Handling dynamic and static data for a system having non-volatile memory | |
US11237742B2 (en) | Apparatus and method for controlling data stored in memory system | |
US20080195833A1 (en) | Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit | |
KR102387935B1 (en) | A data storage device including nonexclusive and exclusive memory region | |
US20170075614A1 (en) | Memory system and host apparatus | |
US20140281158A1 (en) | File differentiation based on data block identification | |
US11301173B2 (en) | Method and system for facilitating evaluation of data access frequency and allocation of storage device resources | |
CN110928807A (en) | Apparatus and method for checking valid data in a memory system | |
CN113138939A (en) | Memory system for garbage collection and method of operating the same | |
US8984251B2 (en) | Hinting of deleted data from host to storage device | |
US9600209B2 (en) | Flash storage devices and methods for organizing address mapping tables in flash storage devices | |
US20190042405A1 (en) | Storing data based on writing frequency in data storage systems | |
KR20130081526A (en) | Storage device, electronic device having the same, and data management methods thereof | |
CN110088722B (en) | System and method for location detection in memory devices | |
US20200326874A1 (en) | Storage device and control method thereof | |
KR20200014175A (en) | Apparatus and method for performing garbage collection to predicting required time | |
Kwon et al. | Data pattern aware FTL for SLC+ MLC hybrid SSD | |
KR101834082B1 (en) | Apparatus and method of managing multi solid state disk system | |
KR20160065644A (en) | Memory controller, system including the same, and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180702 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190624 Year of fee payment: 5 |