CN112765006A - Storage device log generation method and storage device thereof - Google Patents

Storage device log generation method and storage device thereof Download PDF

Info

Publication number
CN112765006A
CN112765006A CN202110245837.2A CN202110245837A CN112765006A CN 112765006 A CN112765006 A CN 112765006A CN 202110245837 A CN202110245837 A CN 202110245837A CN 112765006 A CN112765006 A CN 112765006A
Authority
CN
China
Prior art keywords
ftl
data frame
log data
log
solid state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110245837.2A
Other languages
Chinese (zh)
Inventor
于松海
路向峰
刘赞
刘福财
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Memblaze Technology Co Ltd
Original Assignee
Beijing Memblaze Technology Co Ltd
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 Beijing Memblaze Technology Co Ltd filed Critical Beijing Memblaze Technology Co Ltd
Priority to CN202110245837.2A priority Critical patent/CN112765006A/en
Publication of CN112765006A publication Critical patent/CN112765006A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Disclosed are a storage device log generating method and a storage device thereof. The log generation method of the storage device comprises the following steps: recording a logical address and a physical address which are corresponding to a write request and are used for the storage device based on the write request sent to the storage device; generating a write request log data frame by using a plurality of logical addresses and physical addresses for the storage device corresponding to the plurality of write requests; acquiring a part of an FTL table, and generating an FTL log data frame, wherein the FTL table reflects the corresponding relation between the logical address and the physical address of the storage device; storing the write request log data frame and the FTL log data frame on an NVM; and recording an address at which the FTL log data frame is stored on the NVM.

Description

Storage device log generation method and storage device thereof
Technical Field
The present invention relates to electronic devices, and in particular, to a log generation method, a log startup method, and a log startup device for a solid state disk.
Background
Referring to fig. 1, fig. 1 shows a block diagram of a Solid-State Storage Device (SSD) as an example of an electronic Device. The storage device 102 is coupled to a host for providing storage capabilities to the host. The host and the storage device 102 can be coupled by various means including, but not limited to, connecting the host and the storage device 102 by, for example, SATA, IDE, USB, PCIE, NVMe (NVM Express), SCSI, ethernet, fibre channel, wireless communication network, etc. The host may be an information processing device, such as a personal computer, tablet, server, portable computer, network switch, router, cellular telephone, personal digital assistant, etc., capable of communicating with the storage device in the manner described above. The Memory device 102 includes an interface 103, a control unit 104, one or more NVM (Non-Volatile Memory) Memory chips 105, and a firmware Memory 110. The interface 103 may be adapted to exchange data with a host by means such as SATA, IDE, USB, PCIE, NVMe, SCSI, ethernet, fibre channel, etc. The control unit 104 is used to control data transfer between the interface 103, the NVM memory chip 105 and the firmware memory 110, and also for memory management, host logical address to flash physical address mapping, erase balancing, bad block management, etc. The control component 104 can be implemented in a variety of ways including software, hardware, firmware, or a combination thereof. The control unit 104 may be in the form of an FPGA (Field-programmable gate array), an ASIC (Application Specific Integrated Circuit), or a combination thereof. The control component 104 may also include a processor or controller. Control unit 104 loads firmware from firmware memory 110 at runtime. Firmware memory 110 may be NOR flash, ROM, EEPROM, etc. The firmware is used to provide the electronic device's underlying functionality, such as BIOS, operating system loading, etc.
The memory Target (Target) is one or more Logic units (Logic units) that share a Chip Enable (CE) signal within the NAND flash package. Each logical Unit has a Logical Unit Number (LUN). One or more dies (Die) may be included within the NAND flash memory package. Typically, a logic cell corresponds to a single die. The logical unit may include a plurality of planes (planes). Multiple planes within a logical unit may be accessed in parallel, while multiple logical units within a NAND flash memory chip may execute commands and report status independently of each other. At the time of being available from
The meaning of target, logical Unit, LUN, Plane (Plane) is provided in "Open NAND Flash Interface Specification (replacement 3.0)" obtained from http:// www.micron.com// media/Documents/Products/Other% 20Documents/ONFI3_0 gold.
An MLC (Multi-Level Cell) NVM is a non-volatile memory capable of storing at least two bits of information in each memory Cell. Compared with SLC (single Level cell) NVM, it has the characteristics of large storage capacity and low cost, but the storage reliability is not as good as SLC, and data damage or loss may occur.
In the solid-state storage device, mapping information from logical addresses to physical addresses is maintained using FTL (Flash Translation Layer). The logical addresses constitute the storage space of the solid-state storage device as perceived by upper-level software, such as an operating system. The physical address is an address for accessing a physical memory location of the solid-state memory device. Address mapping may also be implemented in the prior art using an intermediate address modality. E.g. mapping the logical address to an intermediate address, which in turn is further mapped to a physical address.
A table structure storing mapping information from logical addresses to physical addresses is called an FTL table. FTL tables are important metadata in solid state storage devices. Usually, the data entry of the FTL table records the address mapping relationship in the unit of data page in the solid-state storage device. FTL tables of solid state memory devices have large sizes, e.g., several GB levels. When the solid-state storage device is turned off, the FTL table needs to be completely stored, and when the solid-state storage device is turned on, the FTL needs to be completely loaded.
In the prior art, each data page of a solid-state storage device additionally stores a logical address corresponding to the data page. When the solid-state storage device is started, all data pages need to be accessed to obtain the corresponding logical address of each data page, and the FTL table is reconstructed. However, such an operation would require a lot of time and result in a time-consuming start-up procedure of the solid-state storage device.
Disclosure of Invention
It is an object of the present invention to seek to solve the problem of solid-state storage devices that are time consuming to load FTL tables. It is yet another object of the present invention to be able to reliably store FTL tables for a limited time after power down of a solid state storage device.
According to a first aspect of the present invention, a method for starting a first solid state disk is provided, which includes obtaining a storage location of a Flash Translation Layer (FTL) log on the solid state disk, where the FTL log includes a plurality of FTL log data frames, and each FTL log data frame records a part of an FTL table; reading an FTL log and a write request log from the storage location; the write request log comprises a plurality of write request log data frames, and each write request log data frame comprises a logical address and a physical address corresponding to a plurality of write requests sent to the solid state disk after the previous write request log data frame is generated; reconstructing an FTL table by using the FTL log and the write request log; and finishing the starting of the solid state disk.
According to the first solid state disk boot method of the first aspect of the present invention, there is provided the second solid state disk boot method of the first aspect of the present invention, wherein reconstructing the FTL table using the FTL log and the write request log includes: building a first FTL table by using the FTL log; and updating the first FTL table by using the write request log to obtain a second FTL table.
According to the second solid state disk boot method of the first aspect of the present invention, there is provided the third solid state disk boot method of the first aspect of the present invention, wherein the updating the first FTL table using the write request log includes updating the first FTL table using each write request log data frame of the write request log in sequence.
According to the first and second solid state disk startup methods of the first aspect of the present invention, there is provided the fourth solid state disk startup method of the first aspect of the present invention, wherein all write requests sent to the solid state disk during the FTL log creation period are recorded in the write request log.
According to one of the foregoing solid state disk boot methods of the first aspect of the present invention, there is provided a fifth solid state disk boot method of the first aspect of the present invention, where the FTL table reflects a correspondence between a logical address and a physical address of the solid state disk.
According to one of the foregoing solid state disk booting methods of the first aspect of the present invention, there is provided a sixth solid state disk booting method of the first aspect of the present invention, wherein, on the solid state disk, FTL log data frames are stored in association with write request log data frames.
According to one of the foregoing solid state disk booting methods of the first aspect of the present invention, there is provided a seventh solid state disk booting method of the first aspect of the present invention, wherein each FTL log data frame sequentially records a portion of an entire FTL table.
According to one of the foregoing solid-state disk starting methods of the first aspect of the present invention, an eighth solid-state disk starting method of the first aspect of the present invention is provided, where each write request log data frame includes a logical address and a physical address corresponding to a write request sent to the solid-state disk before a previous write request log data frame is generated and a subsequent write request log data frame is generated.
According to one of the foregoing solid state disk booting methods of the first aspect of the present invention, there is provided a ninth solid state disk booting method of the first aspect of the present invention, wherein the FTL log records information of an entire FTL table.
According to one of the foregoing solid-state disk booting methods of the first aspect of the present invention, there is provided the tenth solid-state disk booting method of the first aspect of the present invention, wherein the solid-state disk includes an MLC NVM (Multi-Level Cell Non-Volatile Memory), and the NVM is accessed using a pSLC mode when the FTL log and the write request log are read from the storage location.
According to a second aspect of the present invention, there is provided a computer comprising a machine readable memory for storing program instructions; one or more processors for executing program instructions stored in the memory; the program instructions are for causing the one or more processors to perform one of the solid state disk boot methods according to the first aspect of the invention.
According to a third aspect of the present invention, there is provided a computer program for causing a computer to perform one of the solid state disk booting methods according to the first aspect of the present invention.
According to a fourth aspect of the present invention, there is provided a computer-readable storage medium having a recorded program stored thereon, wherein the program causes the computer to execute one of the solid state disk booting methods according to the first aspect of the present invention.
According to a fifth aspect of the present invention, there is provided a program which, when executed by a controller of a solid state disk, causes the solid state disk to perform one of the solid state disk boot methods according to the first aspect of the present invention.
According to a sixth aspect of the present invention there is provided a solid state disk comprising a machine readable memory for storing program instructions, one or more processors or controllers for executing the program instructions stored in the memory, the program instructions being for causing the one or more processors or controllers to perform one of the solid state disk boot methods according to the first aspect of the present invention.
According to a seventh aspect of the present invention, there is provided a first solid state disk startup device, including a log locating module, configured to obtain a storage location of an FTL (Flash Translation Layer) log on a solid state disk, where the FTL log includes a plurality of FTL log data frames, and each FTL log data frame records a part of an FTL table; the log acquisition module reads the FTL log and the write request log from the storage position; the write request log comprises a plurality of write request log data frames, and each write request log data frame comprises a logical address and a physical address corresponding to a plurality of write requests sent to the solid state disk after the previous write request log data frame is generated; an FTL table reconstructing module, configured to reconstruct an FTL table by using the FTL log and the write request log; and the starting module is used for finishing the starting of the solid state disk.
According to the first solid-state disk boot apparatus of the seventh aspect of the present invention, there is provided the second solid-state disk boot apparatus of the seventh aspect of the present invention, wherein the FTL table reconfiguration module includes: the FTL table building module is used for building a first FTL table by using the FTL log; and the FTL table updating module is used for updating the first FTL table by using the write request log to obtain a second FTL table.
According to a second solid state disk boot apparatus of a seventh aspect of the present invention, there is provided the third solid state disk boot apparatus of the seventh aspect of the present invention, wherein the FTL table updating module includes an FTL sequential updating module, configured to sequentially use each write request log data frame of the write request log to update the first FTL table.
According to the first or second solid state disk boot apparatus of the seventh aspect of the present invention, there is provided the fourth solid state disk boot apparatus of the seventh aspect of the present invention, wherein all write requests issued to the solid state disk during the FTL log creation are recorded in the write request log.
According to the foregoing solid state disk boot apparatus of the seventh aspect of the present invention, there is provided the fifth solid state disk boot apparatus of the seventh aspect of the present invention, wherein the FTL table reflects a correspondence relationship between a logical address and a physical address of the solid state disk.
According to the solid state disk boot apparatus of the seventh aspect of the present invention, there is provided the sixth solid state disk boot apparatus of the seventh aspect of the present invention, wherein on the solid state disk, FTL log data frames are stored in association with write request log data frames.
According to the solid state disk boot apparatus of the seventh aspect of the present invention, there is provided the seventh solid state disk boot apparatus of the seventh aspect of the present invention, wherein each FTL log data frame sequentially records a portion of the entire FTL table.
According to the foregoing solid-state disk boot apparatus of the seventh aspect of the present invention, there is provided an eighth solid-state disk boot apparatus of the seventh aspect of the present invention, wherein each write request log data frame includes a logical address and a physical address corresponding to a write request sent to the solid-state disk before a previous write request log data frame is generated and a subsequent write request log data frame is generated.
According to the solid state disk boot apparatus of the seventh aspect of the present invention, there is provided a ninth solid state disk boot apparatus of the seventh aspect of the present invention, wherein the FTL log records information of an entire FTL table.
According to the foregoing solid state disk boot apparatus of the seventh aspect of the present invention, there is provided the tenth solid state disk boot apparatus of the seventh aspect of the present invention, wherein the solid state disk includes an MLC NVM (Multi-Level Cell Non-Volatile Memory), and the NVM is accessed using a pSLC mode when the FTL log and the write request log are read from the storage location.
According to an eighth aspect of the present invention, a log generating method for a first solid state disk is provided, including recording a logical address and a physical address for a solid state disk, which correspond to a write request sent to the solid state disk, based on the write request; generating a write request log data frame by using a plurality of logical addresses and physical addresses for the solid state disk corresponding to the plurality of write requests; acquiring a part of an FTL table, and generating an FTL log data frame; storing the write request log data frame and the FTL log data frame on a Non-Volatile Memory (NVM); and recording an address at which the FTL log data frame is stored on the NVM.
According to the first solid state disk log generating method of the eighth aspect of the present invention, there is provided the second solid state disk log generating method of the eighth aspect of the present invention, further comprising: and when the solid state disk is powered off or is powered off, storing the recorded address of the FTL log data frame stored on the NVM into the NVM.
According to the first or second solid state disk log generating method of the eighth aspect of the present invention, there is provided the third solid state disk log generating method of the eighth aspect of the present invention, wherein the write request log data frame and the FTL log data frame are periodically stored on the NVM.
According to the first or second solid state disk log generating method of the eighth aspect of the present invention, there is provided the fourth solid state disk log generating method of the eighth aspect of the present invention, wherein after the write request log data frame is generated, the write request log data frame and the FTL log data frame are stored on an NVM, and wherein the write request log data frame includes a predetermined number of logical address and physical address pairs.
According to the solid state disk log generating method of the eighth aspect of the present invention, there is provided a fifth solid state disk log generating method of the eighth aspect of the present invention, where the obtaining the FTL table portion generates an FTL log data frame, including: and acquiring the part of the FTL table which is not used for generating the FTL log data frame to generate the FTL log data frame.
According to the first or second solid state disk log generating method of the eighth aspect of the present invention, there is provided a sixth solid state disk log generating method of the eighth aspect of the present invention, where the obtaining a part of the FTL table to generate an FTL log data frame includes: and selecting an FTL table with a preset length from a first address of the FTL table as a part of the FTL table for generating FTL log data frames, wherein the part of the FTL table before the first address is already used for generating the FTL log data frames.
According to the first or second solid state disk log generating method of the eighth aspect of the present invention, there is provided a seventh solid state disk log generating method of the eighth aspect of the present invention, where the obtaining a portion of the FTL table that is not used for generating FTL log entries includes: starting from a first address of the FTL table, the FTL table of a predetermined length is used as a part of the FTL table for generating FTL log data frame, wherein the FTL table part before the first address has been used for generating FTL log data frame.
According to the eighth solid state disk log generating method of the eighth aspect of the present invention, there is provided the eighth solid state disk log generating method of the eighth aspect of the present invention, wherein a total size of the write request log data frame and the FTL log data frame is an integer multiple of a data page size of the solid state disk.
According to the method of one of the sixth to eighth solid state disk log generating methods of the eighth aspect of the present invention, there is provided the ninth solid state disk log generating method of the eighth aspect of the present invention, wherein the NVM (Non-Volatile Memory) is an MLC NVM, and the NVM is accessed using a pSLC mode when storing the write request log data frame and the FTL log data frame on the NVM.
According to the solid state disk log generating method of the eighth aspect of the present invention, there is provided a tenth solid state disk log generating method 10 of the eighth aspect of the present invention, wherein on the NVM, the write request log data frame is stored in association with the FTL log data frame.
According to a ninth aspect of the present invention, there is provided a computer comprising a machine readable memory for storing program instructions; one or more processors for executing program instructions stored in the memory; the program instructions are for causing the one or more processors to perform one of the solid state disk log generation methods according to the eighth aspect of the invention.
According to a tenth aspect of the present invention, there is provided a computer program for causing a computer to execute one of the solid state disk log generating methods according to the eighth aspect of the present invention.
According to an eleventh aspect of the present invention, there is provided a computer-readable storage medium having a recorded program stored thereon, wherein the program causes the computer to execute one of the solid-state hard disk log generation methods according to the eighth aspect of the present invention.
According to a twelfth aspect of the present invention, there is provided a program which, when executed by a controller of a solid state disk, causes the solid state disk to perform one of the solid state disk log generation methods according to the eighth aspect of the present invention.
According to a thirteenth aspect of the present invention there is provided a solid state disk comprising a machine readable memory for storing program instructions, one or more processors or controllers for executing the program instructions stored in the memory, the program instructions being for causing the one or more processors or controllers to perform one of the solid state disk log generation methods according to the eighth aspect of the present invention.
According to a fourteenth aspect of the present invention, there is provided a log generating apparatus for a solid state disk in the fourteenth aspect of the present invention, including a write log recording module, configured to record, based on a write request issued to the solid state disk, a logical address and a physical address, corresponding to the write request, for the solid state disk; a write log data frame generating module, configured to generate a write request log data frame using multiple logical addresses and physical addresses for the solid state disk, where the multiple logical addresses and the physical addresses correspond to multiple write requests; the FTL log data frame generating module is used for acquiring a part of an FTL table and generating an FTL log data frame; a log storage module, configured to store the write request log data frame and the FTL log data frame on a Non-Volatile Memory (NVM); and the address recording module is used for recording the address of the FTL log data frame stored on the NVM.
According to the first log generating device for a solid state disk of the fourteenth aspect of the present invention, there is provided a second log generating device for a solid state disk of the fourteenth aspect of the present invention, further comprising: and the power failure storage module is used for storing the recorded address of the FTL log data frame stored on the NVM into the NVM when the solid state disk is powered off or powered off.
According to the log generating device for the solid state disk in the fourteenth aspect of the present invention, there is provided the log generating device for the solid state disk in the fourteenth aspect of the present invention, wherein the log storing module is configured to periodically store the write request log data frame and the FTL log data frame on the NVM.
According to the first or second log generating apparatus for a solid state disk of the fourteenth aspect of the present invention, there is provided the fourth log generating apparatus for a solid state disk of the fourteenth aspect of the present invention, wherein after the write request log data frame is generated, the write request log data frame and the FTL log data frame are stored on an NVM, and wherein the write request log data frame includes a predetermined number of logical address and physical address pairs.
According to a fourteenth aspect of the present invention, there is provided a log generating apparatus for a solid state disk, where the FTL log data frame generating module is configured to obtain a portion of the FTL table that is not used for generating FTL log data frames, so as to generate FTL log data frames.
According to one of the first to fourth log generating apparatuses for a solid state disk of the fourteenth aspect of the present invention, there is provided the sixth log generating apparatus for a solid state disk of the fourteenth aspect of the present invention, wherein the FTL log data frame generating module is configured to select, as a part of the FTL table, an FTL table of a predetermined length from a first address of the FTL table, which has been used to generate the FTL log data frame, the FTL table part before the first address.
According to a fifth log generating apparatus for a solid state disk of the fourteenth aspect of the present invention, there is provided a seventh log generating apparatus for a solid state disk of the fourteenth aspect of the present invention, wherein the obtaining a portion of an FTL table that is not used for generating FTL log entries includes: starting from a first address of the FTL table, the FTL table of a predetermined length is used as a part of the FTL table for generating FTL log data frame, wherein the FTL table part before the first address has been used for generating FTL log data frame.
According to one of the fifth to seventh log generating apparatuses for a solid state disk in the fourteenth aspect of the present invention, there is provided an eighth log generating apparatus for a solid state disk in the fourteenth aspect of the present invention, wherein a total size of the write request log data frame and the FTL log data frame is an integer multiple of a data page size of the solid state disk.
According to one of the sixth to eighth log generating apparatuses for a solid-state disk of the fourteenth aspect of the present invention, there is provided the ninth log generating apparatus for a solid-state disk of the fourteenth aspect of the present invention, wherein the NVM (Non-Volatile Memory) is an MLC NVM, and the NVM is accessed using a pSLC mode when storing the write request log data frame and the FTL log data frame on the NVM.
According to one of the log generating apparatuses for a solid state disk in the fourteenth aspect of the present invention, there is provided the log generating apparatus for a solid state disk in the tenth aspect of the present invention, wherein the write request log data frame is stored in association with the FTL log data frame on the NVM.
According to a fifteenth aspect of the present invention, there is provided a method for a solid state disk, comprising: recording a logic address and a physical address which are used for the solid state disk and correspond to a write request sent to the solid state disk based on the write request; generating a write request log data frame by using a plurality of logical addresses and physical addresses for the solid state disk corresponding to the plurality of write requests; acquiring a part of an FTL table, and generating an FTL log data frame; storing the write request log data frame and the FTL log data frame on a Non-Volatile Memory (NVM); recording an address for storing the FTL log data frame on the NVM; when the solid state disk is powered off or is powered off, storing the recorded address for storing the FTL log data frame on the NVM into the NVM; when the solid state disk is started, the storage position of the FTL log on the solid state disk is obtained through the address of the FTL log data frame stored in the NVM and stored on the NVM, wherein the FTL log comprises a plurality of FTL log data frames, and each FTL log data frame records a part of an FTL table; reading an FTL log and a write request log from the storage location; the write request log comprises a plurality of write request log data frames, and each write request log data frame comprises a logical address and a physical address corresponding to a plurality of write requests sent to the solid state disk after the previous write request log data frame is generated; reconstructing an FTL table by using the FTL log and the write request log; and completing the starting of the solid state disk.
According to a sixteenth aspect of the present invention, there is provided an apparatus for a solid state disk, comprising: the 'write' log recording module is used for recording a logical address and a physical address which are corresponding to a write request and are used for the solid state disk based on the write request sent to the solid state disk; a write log data frame generating module, configured to generate a write request log data frame using multiple logical addresses and physical addresses for the solid state disk, where the multiple logical addresses and the physical addresses correspond to multiple write requests; the FTL log data frame generating module is used for acquiring a part of an FTL table and generating an FTL log data frame; a log storage module, configured to store the write request log data frame and the FTL log data frame on a Non-Volatile Memory (NVM); an address recording module, configured to record an address where the FTL log data frame is stored on the NVM; the power failure protection module is used for storing the recorded address of the FTL log data frame stored on the NVM into the NVM when the solid state disk is powered off or powered off; the log positioning module is used for acquiring the storage position of the FTL log on the solid state disk by storing the address of the FTL log data frame on the NVM, wherein the address is stored in the NVM, and the FTL log comprises a plurality of FTL log data frames, and each FTL log data frame records part of an FTL table; a log obtaining module, configured to read the FTL log and the write request log from the storage location; the write request log comprises a plurality of write request log data frames, and each write request log data frame comprises a logical address and a physical address corresponding to a plurality of write requests sent to the solid state disk after the previous write request log data frame is generated; an FTL table reconstructing module, configured to reconstruct an FTL table by using the FTL log and the write request log; and the starting module is used for finishing the starting of the solid state disk.
Drawings
The invention, as well as a preferred mode of use and further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
FIG. 1 is a block diagram of a prior art storage device;
fig. 2 is a block diagram of the structure of an FTL table according to an embodiment of the present invention;
FIG. 3 is a block diagram of the structure of a "write" log according to an embodiment of the invention;
FIG. 4 is a block diagram of a solid state disk log according to an embodiment of the invention;
FIG. 5 is a flowchart of a solid state disk log generation method according to an embodiment of the invention;
FIG. 6 is a flowchart of a solid state disk log generation method according to yet another embodiment of the invention; and
fig. 7 is a flow chart of a device booting method according to an embodiment of the present invention.
Detailed Description
Fig. 2 is a block diagram of the structure of an FTL table according to an embodiment of the present invention. The FTL table includes a plurality of FTL table entries (or table entries). In one embodiment, each FTL table entry records a correspondence relationship between a logical page address and a physical page. In another embodiment, each FTL table entry records the corresponding relationship between the logical block address and the physical block address. In still another embodiment, the FTL table records the mapping relationship between logical block addresses and physical block addresses, and/or the mapping relationship between logical page addresses and physical page addresses.
In still another embodiment, FTL tables are stored in a continuous memory address space, a physical address is recorded in each FTL table entry, and a logical address corresponding to the physical address is represented by the memory address of each FTL table entry itself. The number of FTL table entries corresponds to the size of the solid state storage device logical address space.
The FTL tables are organized as data frames for the purpose of storing the FTL tables in the nonvolatile storage medium. Referring to fig. 2, the FTL table includes frames 1, data frame 2, data frame 3 … … data frame n. Each FTL table data frame includes a plurality of FTL table entries. The size of each FTL table data frame corresponds to a minimum write unit (e.g., page) of the nonvolatile storage medium. The data page size of a non-volatile storage medium is typically 2KB, 4KB, 8KB, or 16 KB. In one embodiment, the data page size of the nonvolatile storage medium is 16KB, while the data frame size of the FTL table is 2KB, 4KB or 8 KB. In another embodiment, the data page size of the nonvolatile storage medium is 4KB, and the data frame size of the FTL table is 512B, 1KB, or 2 KB. Generally, the data frame size of the FTL table is selected such that the data page size of the nonvolatile storage medium is an integer multiple of the FTL table data frame size in order to store a plurality of FTL table data frames to a data page that is a nonvolatile storage medium. In one example, frames 1, 2, and 3 … … contained in the FTL table are stored in memory sequentially at memory addresses.
When the solid-state storage device processes a write request, a physical address is allocated to the write request, and the corresponding relation between the logical address and the physical address of the write request is recorded in an FTL table. In another embodiment, a host accessing the solid-state storage device maintains an FTL table, when a write request needs to be issued to the solid-state storage, a physical address of the solid-state storage device is allocated to the write request, and a correspondence between a logical address and the physical address of the write request is recorded in the FTL table.
FIG. 3 is a block diagram of the structure of a "write" log according to an embodiment of the invention. While the solid-state storage device is processing write requests, a "write" log is also generated. The logical address and the physical address corresponding to the write operation are recorded in the write log.
For the purpose of storing the "write" log in a non-volatile storage medium, the "write" log is organized as a data frame 310 (see FIG. 3). Each "write" log data frame 310 includes a plurality of "write" log entries (322, 324, 32n) (or "entries"). Each "write" log entry (322, 324, or 32n) includes a logical address and a physical address corresponding thereto. Write log entries are generated and organized in write log data frames in the order in which write requests are received. Thus, in a "write" log, there may be "write" log entries having the same logical and/or physical address.
The size of each "write" log data frame corresponds to the minimum write unit (e.g., page) of the non-volatile storage medium. The data page size of a non-volatile storage medium is typically 2KB, 4KB, 8KB, or 16 KB. In one embodiment, the data page size of the nonvolatile storage medium is 16KB, while the data frame size of the "write" log is 2KB, 4KB, 8KB, or 16 KB. In another embodiment, the data page size of the nonvolatile storage medium is 4KB, while the data frame size of the "write" log is 512B, 1KB or 2KB or 4 KB. Generally, the data frame size of the "write" log is selected such that the data page size of the non-volatile storage medium is an integer multiple of the "write" log data frame size to facilitate storing one or more "write" log data frames to the data page of the non-volatile storage medium. In yet another embodiment, one or more FTL table data frames and one or more "write" log data frames constitute one data page of the non-volatile storage medium.
FIG. 4 is a block diagram of a solid state disk log according to an embodiment of the invention. In order to enable fast rebuild of the directory of FTL tables when the solid state disk is started, a solid state disk log 410 is provided according to an embodiment of the present invention. Solid state disk log 410 includes a plurality of solid state disk log data frames. In fig. 4, the plurality of solid state disk log data are represented as data frame 1(422), data frame 2(424), data frame 3, data frame 4 … …, and data frame m (42 m). In the embodiment of fig. 4, each solid state disk log data frame includes 3 FTL table data frames and 1 write log data frame. For example, the solid state disk log data frame 1(422) includes FTL table data frame 1(432), FT table L data frame 2(434), FTL table data frame 3(436), and "write" log data frame 1 (438). In the solid state disk log data frame 2(424), FTL table data frame 4(442), FTL table data frame 5(444), FTL table data frame 6(446), and "write" log data frame 2(448) are included. The solid state disk log data frame n (42m) comprises an FTL table data frame n-2(452), an FTL table data frame n-1(454), an FTL table data frame n (456) and a 'write' log data frame k (438).
In an embodiment according to the present invention, the size of the solid state disk log data frame is an integer multiple of the data page size of the nonvolatile storage medium, so as to store the solid state disk log data frame to the data page of the nonvolatile storage medium. In another embodiment according to the present invention, the nonvolatile storage medium is an MLC nonvolatile storage medium, and when the solid state disk log data frame is stored to the data page of the nonvolatile storage medium, the nonvolatile storage medium is accessed using a pSLC (pseudo-SLC) mode or an SLC mode, so as to speed up the solid state disk log data frame storage process and obtain higher data reliability.
One skilled in the art will appreciate that other numbers of FTL table data frames and/or "write" log data frames may be included in the data frames of solid state disk log 410. The FTL table data frame and the "write" log data frame may also be stored in the nonvolatile storage medium of the solid state disk, respectively.
In an embodiment according to the present invention, m solid state disk log data frames of solid state disk log 410 are organized as a circular queue. When the solid state disk log is written into the solid state disk, data frames 1(422), 2(424), 3 and 4 are written into the solid state disk in sequence until m (42 m). After the data frame m (42m) is written, if the solid state disk log needs to be written again, the data frame 1(422) is written again. A solid state disk log write pointer 450 is provided to indicate the last write location of the solid state disk log 410. The log write pointer 450 is stored on a non-volatile storage medium on the solid state disk. In one embodiment, the solid state disk log write pointer 450 is retained in the memory during normal operation of the solid state disk, and is written to the non-volatile storage medium when the solid state disk is turned off or powered down.
In the solid state disk log 410, a plurality of FTL table data frames are included. FTL tables can be reconstructed using the plurality of FTL table data frames in the solid state disk log 410.
In an embodiment in accordance with the invention, a complete FTL table comprises n FTL table data frames. In m solid state disk log data frames of the solid state disk log 410, n FTL table data frames in total are stored. In another embodiment according to the present invention, of the m solid state disk log data frames of solid state disk log 410, a total of 2n FTL table data frames are stored. In the plurality of solid state disk log data frames of the solid state disk log 410, FTL table data frames are stored in sequence, for example, FTL table data frames are stored from small to large or from large to small according to a storage address where the FTL table is located. In one embodiment, the FTL table, FTL table data frame 1(432), FTL table data frame 2(434), FTL table data frame 3(436), FTL table data frame 4(442), FTL table data frame 5(444), and FTL table data frame 6(446) are stored in a continuous memory, and the memory addresses of the FTL table portions corresponding to the FTL tables sequentially increase. In another embodiment, a bad block record table of the nonvolatile storage medium of the solid state disk is provided, and m solid state disk data frames of the available block storage solid state disk log 410 are selected according to the bad block record table. In still another embodiment, other FTL table data frame organization methods may be adopted by those skilled in the art for the purpose of reconstructing a complete FTL table from the solid state disk log 410.
In an embodiment in accordance with the invention, "write" log entries are generated and organized in write log data frames in the order write requests are received, and "write" log data frames 1(438), "write" log data frames 2(448), … …, "write" log data frame k (458) are generated in the order write requests are received.
The solid state disk log generation method according to the embodiment of the invention is described next. Fig. 5 is a flowchart of a solid state disk log generation method according to an embodiment of the present invention. When processing a write request, the correspondence (510) between the logical address and the physical address in the write request needs to be recorded, and the FTL table is updated accordingly. And caching the recorded corresponding relation between the logical address and the physical address, wherein the corresponding relation between each logical address and the physical address forms a 'write' log entry. A certain number of "write" log entries constitute one "write" log data frame. When the correspondence between the plurality of cached logical addresses and the physical addresses can constitute one "write" log data frame, the "write" log data frame is generated using the correspondence between the plurality of cached logical addresses and the physical addresses (520). A portion of the FTL table is selected to generate an FTL table data frame (530). The selected portion of the FTL table is the portion of the FTL table where the FTL table data frame has not been generated yet. The generated FTL table data frame and "write" log data frame constitute a solid state disk log data frame (e.g., data frame 1(422), see fig. 4). In a preferred embodiment, the size of the solid state disk log data frame corresponds to the data page size of the non-volatile storage medium of the solid state disk, so that the solid state disk log data frame can be written to the non-volatile storage medium of the solid state disk by one write operation of the non-volatile storage medium (540).
According to another embodiment of the present invention, each time a predetermined number of write requests are received, a "write" log data frame is generated, wherein the "write" log data frame can accommodate the mapping relationship between the logical address and the physical address corresponding to the predetermined number of write requests. And when one write log data frame is generated, selecting a part of the FTL table to generate one or more FTL table data frames, so that the generated write log data frame and the FTL table data frame form a solid state disk log data frame.
According to still another embodiment of the present invention, when a write request is processed, the correspondence between the logical address and the physical address corresponding to the write request is cached, and each correspondence between the logical address and the physical address forms a "write" log entry. And periodically generating a "write" log data frame using the cached "write" log entries. And selecting a part of the FTL table to generate one or more FTL table data frames every time one 'write' log data frame is generated, so that the generated 'write' log data frame and the FTL table data frame form a solid state disk log data frame.
According to yet another embodiment of the present invention, the "write" log data frames are stored physically separate from the FTL table data frames. The size of the "write" log data frame corresponds to the data page size of the non-volatile storage medium of the solid state disk, and the size of the FTL table data frame also corresponds to the data page size of the non-volatile storage medium of the solid state disk.
According to still another embodiment of the present invention, when one or more FTL table data frames are generated by selecting the FTL table portion, the FTL table portion is selected according to the memory address of the FTL table itself. For example, when a portion of an FTL is first selected, a portion of an FTL table of length L from address 0 is selected to constitute one or more FTL table data frames. And the second time the portion of the FTL table is selected, the portion of the FTL table of length L from address L is selected to form one or more FTL table data frames. And selecting the portion of the FTL table the nth time, selecting the portion of the FTL table of length L starting from address (N-1) × L to constitute one or more FTL table data frames. And when the part of the FTL table is selected, if the tail of the FTL table is reached, the part of the FTL table is continuously selected from the head of the FTL table. In this way, a complete FTL table can be recorded in the solid state disk log. For example, if the entire length of the FTL is N ═ N × L, the part of the FTL table having the length L from the address 0 is selected when the part of the FTL table is selected N +1 th time. For example, if the entire length of the FTL table is N × L +1, when the part of the FTL table is selected N +1 th time, the part of the FTL table having the length of 1 from the address N × L and the part of the FTL table having the length of L-1 from the address 0 are selected. There are still other ways to select portions of the FTL table such that the complete FTL table can be recorded in the solid state disk log, and also a "write" log of all write requests received during recording of the complete FTL table.
In this way, the solid state disk is stored one solid state disk log data frame at a time. Even if the solid state disk is powered off, only one log data frame of the solid state disk needs to be written into the solid state disk. Therefore, the FTL table can be stored within the limited working time of the standby power supply.
Those skilled in the art will appreciate that in some cases, the complete FTL table is not included in the solid state disk log. For example, for a new or blank solid state disk, a power failure occurs after 3 times of selecting a part of the FTL table to generate an FTL table data frame, and at this time, only 3 solid state disk log data frames are recorded in the solid state disk log. And identifying valid data frames in the solid state disk log by marking used data blocks and/or unused data blocks in the solid state disk log, so as to rebuild the FTL table when the solid state disk is powered down.
Fig. 6 is a flowchart of a solid state disk log generation method according to still another embodiment of the present invention. The method according to the embodiment of fig. 6 may be implemented by a solid state disk, or may be implemented by a host accessing the solid state disk.
When a write request is received (600), the correspondence between the logical address and the physical address in the write request needs to be recorded (610), and the FTL table is updated accordingly (615). And caching the recorded corresponding relation between the logical address and the physical address, wherein the corresponding relation between each logical address and the physical address forms a 'write' log entry. A certain number of "write" log entries constitute one "write" log data frame. Whether the corresponding relation between the plurality of cached logical addresses and the physical address can form a 'write' log data frame is judged (620), and when the corresponding relation between the plurality of cached logical addresses and the physical address can form the 'write' log data frame, the 'write' log data frame is generated by using the corresponding relation between the plurality of cached logical addresses and the physical address. And if the corresponding relation between the plurality of cached logical addresses and the physical address is not enough to fill one 'write' log data frame, waiting for the arrival of a subsequent write request.
When the correspondence between the plurality of cached logical addresses and the physical addresses can form a "write" log data frame, a part of the FTL table is also selected to generate the FTL table data frame (630). The selected portion of the FTL table is the portion of the FTL table where the FTL table data frame has not been generated yet. The generated FTL table data frame and "write" log data frame constitute a solid state disk log data frame (e.g., data frame 1(422), see fig. 4). In a preferred embodiment, the size of the solid state disk log data frame corresponds to the data page size of the non-volatile storage medium of the solid state disk, so that the solid state disk log data frame can be written to the non-volatile storage medium of the solid state disk by one write operation of the non-volatile storage medium (640).
For the purpose of reading out the solid state disk log from the solid state disk, each time a data frame of the solid state disk log is written to a nonvolatile storage medium of the solid state disk, a storage location (650) of the data frame of the solid state disk log on the nonvolatile storage medium is also recorded. In one embodiment, m solid state disk log data frames of the solid state disk log are organized as a circular queue, so that the complete solid state disk log can be accessed by storing the storage location where the solid state disk log was last written to the nonvolatile storage medium of the solid state disk. In another embodiment, a monotonically changing sequence number is provided in each solid state disk data frame, and the storage location of the solid state disk log written to the nonvolatile storage medium of the solid state disk last time is known by identifying the sequence number.
In this way, the solid state disk is stored one solid state disk log data frame at a time. Even if the solid state disk is powered off, only one log data frame of the solid state disk needs to be written into the solid state disk. Therefore, the storage of the log data frame of the solid state disk can be completed within the limited working time of the standby power supply.
Fig. 7 is a flow chart of a device booting method according to an embodiment of the present invention. The method according to the embodiment of fig. 7 may be implemented by a solid state disk, or may be implemented by a host accessing the solid state disk. Upon startup of a device such as a solid state disk, a storage location of a solid state disk log is obtained from a predetermined location in a non-volatile storage medium (710). According to one embodiment of the invention, a predetermined location of the non-volatile storage medium records a storage location of a last stored solid state disk log data frame. In the log data frames of the solid state disk m before the last storage position, a complete FTL table and a corresponding write log are recorded. Therefore, the starting storage position and the ending storage position of the solid state disk log can be obtained according to the last storage position.
And reading the log data frame of the solid state disk from the nonvolatile storage medium according to the storage position of the log of the solid state disk. In one example, the solid state disk log data frames include FTL table data frames and "write" log data frames (720). In another example, FTL table data frames are stored in association with write log data frames on a non-volatile storage medium, and if FTL data frames are obtained, write log data frames can be obtained, and vice versa.
A plurality of FTL table data frames, each of which includes a portion of an FTL table, are read from a non-volatile storage medium, and a complete FTL table can be reconstructed from the plurality of FTL table data frames (730).
And in a plurality of 'write' log data frames corresponding to the plurality of FTL table data frames, completely recording write requests processed by the solid state disk during generation of the plurality of FTL table data frames. The processing of write requests implies an update to the FTL table. Thus, on the basis of the FTL table reconstructed in step (730), the "write" log data frame entries recorded in the plurality of "write" log data frames are sequentially used to update the reconstructed FTL table (740), and the FTL table when the last solid state disk log data frame is written to the nonvolatile storage medium of the solid state disk is obtained. The booting of the solid state drive device is then complete (750) and the access request may be responded to with the updated FTL table.
In an embodiment according to the present invention, m solid state disk log data frames of a solid state disk log are organized into a circular queue, and by obtaining a storage location where the solid state disk log is written into a nonvolatile storage medium of a solid state disk for the last time, a complete FTL table with a length of n is stored in a solid state disk log data frame before the storage location in the circular queue. Reading a predetermined number of solid state disk log data frames in the circular queue to obtain a complete solid state disk log, and rebuilding an FTL table by using FTL table data frames in the solid state disk log.
As another example, referring again to fig. 4, solid state disk log write pointer 450 indicates that the last write location of solid state disk log 410 is data frame 4. In m solid state disk log data frames of the solid state disk log 410, n FTL table data frames in total are stored. Then a complete FTL table is stored in solid state disk log data frame 5 (not shown), solid state disk log data frame 6 (not shown), solid state disk log data frame 7 (not shown), … …, solid state disk log data frame m, solid state disk log data frames 1, … …, solid state disk log data frame 4, and a "write" log of requests occurring during storage of the complete FTL table is recorded in order. And reading the m solid state disk log data frames recorded with the complete FTL table from the circular queue, extracting 3 m FTL table data frames from the m solid state disk log data frames, and reconstructing the FTL table. And extracting m write log data frames from the m solid state disk log data frames, and sequentially updating the reconstructed FTL table according to the sequence generated by the m write log data frames by using the corresponding relation between the logical address and the physical address recorded in the m write log data frames, thereby obtaining the FTL table when the last solid state disk log data frame is written into the nonvolatile storage medium of the solid state disk.
The log generation method in the storage device and the process of starting the storage device using the generated log have been disclosed above. Those skilled in the art will also recognize that the methods or operational procedures disclosed in this disclosure may be implemented by software, firmware, hardware, and any combination thereof. The software and firmware for implementing the method or operation flow of the embodiment of the present invention may be executed by a CPU of a host accessing the storage device, or may be executed by an embedded processor or controller integrated with the storage device. Software and firmware for implementing the methods or operations of embodiments of the present invention may be stored on a network server, a host computer accessing a storage device, and/or a storage device. The methods or operational flows according to embodiments of the present invention may also be implemented by FPGAs and/or ASICs. The invention also provides electronic systems and/or control circuits that implement the disclosed methods or operational procedures.
The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art.

Claims (10)

1. A log generation method of a storage device comprises
Recording a logical address and a physical address which are corresponding to a write request and are used for the storage device based on the write request sent to the storage device;
generating a write request log data frame by using a plurality of logical addresses and physical addresses for the storage device corresponding to the plurality of write requests;
acquiring a part of an FTL table, and generating an FTL log data frame, wherein the FTL table reflects the corresponding relation between the logical address and the physical address of the storage device;
storing the write request log data frame and the FTL log data frame on an NVM; and
recording an address for storing the FTL log data frame on the NVM.
2. The method of claim 1, further comprising:
and when the storage equipment is powered off or powered down, storing the recorded address of the FTL log data frame stored on the NVM into the NVM.
3. The method of claims 1-2, wherein
Periodically storing the write request log data frames and the FTL log data frames on the NVM.
4. The method of claims 1-2, wherein
After the write request log data frame is generated, storing the write request log data frame and the FTL log data frame on an NVM, wherein the write request log data frame includes a predetermined number of logical address and physical address pairs.
5. The method according to one of claims 1 to 4, wherein
The obtaining the FTL table part generates an FTL log data frame, including: and acquiring the part of the FTL table which is not used for generating the FTL log data frame to generate the FTL log data frame.
6. The method according to one of claims 1 to 4, wherein
The obtaining the FTL table part generates an FTL log data frame, including: and selecting an FTL table with a preset length from a first address of the FTL table as a part of the FTL table for generating FTL log data frames, wherein the part of the FTL table before the first address is already used for generating the FTL log data frames.
7. The method of claim 5, wherein
The obtaining of the portion of the FTL table that is not used for generating FTL log entry includes: starting from a first address of the FTL table, the FTL table of a predetermined length is used as a part of the FTL table for generating FTL log data frame, wherein the FTL table part before the first address has been used for generating FTL log data frame.
8. The method of one of claims 5 to 7, wherein the size of the write request log data frames and the FTL log data frames in aggregate is an integer multiple of a data page size of a storage device.
9. The method of one of claims 6-8, wherein the NVM is an MLC NVM and the NVM is accessed using pSLC mode when storing the write request log data frames and the FTL log data frames on NVM.
10. A storage device comprising a machine readable memory for storing program instructions and one or more processors for executing the program instructions stored in the memory, wherein the one or more processors when executing the program instructions implement the method of any one of claims 1-9.
CN202110245837.2A 2015-07-21 2015-07-21 Storage device log generation method and storage device thereof Pending CN112765006A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110245837.2A CN112765006A (en) 2015-07-21 2015-07-21 Storage device log generation method and storage device thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110245837.2A CN112765006A (en) 2015-07-21 2015-07-21 Storage device log generation method and storage device thereof
CN201510430174.6A CN106354615B (en) 2015-07-21 2015-07-21 Solid state disk log generation method and device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201510430174.6A Division CN106354615B (en) 2015-07-21 2015-07-21 Solid state disk log generation method and device

Publications (1)

Publication Number Publication Date
CN112765006A true CN112765006A (en) 2021-05-07

Family

ID=57842770

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110245837.2A Pending CN112765006A (en) 2015-07-21 2015-07-21 Storage device log generation method and storage device thereof
CN201510430174.6A Active CN106354615B (en) 2015-07-21 2015-07-21 Solid state disk log generation method and device

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201510430174.6A Active CN106354615B (en) 2015-07-21 2015-07-21 Solid state disk log generation method and device

Country Status (1)

Country Link
CN (2) CN112765006A (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536619B (en) * 2017-03-03 2021-12-14 北京忆恒创源科技股份有限公司 Method and device for rapidly recovering FTL table
CN109086219B (en) * 2017-06-14 2022-08-05 北京忆恒创源科技股份有限公司 De-allocation command processing method and storage device thereof
CN107515827B (en) * 2017-08-21 2021-07-27 湖南国科微电子股份有限公司 PCIE SSD custom log storage method and device and SSD
CN107506311B (en) * 2017-08-30 2020-10-20 苏州浪潮智能科技有限公司 Method and device for flashing FTL (flash translation layer) table of solid state disk
CN108182154A (en) * 2017-12-22 2018-06-19 深圳大普微电子科技有限公司 A kind of reading/writing method and solid state disk of the journal file based on solid state disk
CN110235098B (en) 2017-12-26 2021-06-22 华为技术有限公司 Storage system access method and device
CN109976664B (en) * 2017-12-28 2024-01-19 北京忆恒创源科技股份有限公司 Log data organization for solid state storage devices
EP3726364B1 (en) 2017-12-28 2022-07-27 Huawei Technologies Co., Ltd. Data write-in method and solid-state drive array
CN108762989B (en) * 2018-06-05 2021-08-31 郑州云海信息技术有限公司 Data storage method, device and equipment of solid state disk and readable storage medium
KR102592902B1 (en) * 2018-09-05 2023-10-24 에스케이하이닉스 주식회사 Memory system and operation method of the same
CN111367830B (en) * 2018-12-06 2023-11-14 北京忆恒创源科技股份有限公司 Method for rebuilding FTL table with participation of host and storage device thereof
CN111506255B (en) * 2019-01-31 2023-09-26 山东存储之翼电子科技有限公司 NVM-based solid-state hard disk metadata management method and system
CN112148645A (en) * 2019-06-28 2020-12-29 北京忆芯科技有限公司 De-allocation command processing method and storage device thereof
CN110990301A (en) * 2019-11-15 2020-04-10 苏州浪潮智能科技有限公司 Sequential reading method of multi-plane storage medium and related device
CN111597159A (en) * 2020-07-27 2020-08-28 成都智明达电子股份有限公司 Method for improving read-write speed of EXT4 file system
CN111782622B (en) * 2020-09-04 2021-03-16 阿里云计算有限公司 Log processing method, device, server and storage medium
CN113093997B (en) * 2021-04-19 2021-09-28 深圳市安信达存储技术有限公司 Method for separating data Based on Host-Based FTL (fiber to the Home) architecture

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110072205A (en) * 2009-12-22 2011-06-29 연세대학교 산학협력단 Nonvolatile memory device and data storing method thereof
CN102591589A (en) * 2010-11-15 2012-07-18 三星电子株式会社 Data storage device, user device and data write method
CN103197897A (en) * 2012-01-09 2013-07-10 三星电子株式会社 Storage device and nonvolatile memory device and operating method thereof
CN103456357A (en) * 2012-06-01 2013-12-18 三星电子株式会社 Storage device having nonvolatile memory device and write method
CN104346290A (en) * 2013-08-08 2015-02-11 三星电子株式会社 Storage device, computer system and methods of operating same
CN104375956A (en) * 2013-08-16 2015-02-25 Lsi公司 A method for using a variable-size flash translation layer and a device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013222435A (en) * 2012-04-19 2013-10-28 Toshiba Corp Semiconductor storage device and method of controlling the same
CN103279366B (en) * 2013-04-24 2016-08-10 中国科学院苏州纳米技术与纳米仿生研究所 Method based on solid state hard disc quick turn-on after solid state hard disc and power down
CN104182674A (en) * 2014-08-12 2014-12-03 清华大学深圳研究生院 Protective device for solid-state disk
CN104731674B (en) * 2015-02-02 2020-09-01 北京忆恒创源科技有限公司 Method and apparatus for storing electronic system firmware using MLC NVM

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110072205A (en) * 2009-12-22 2011-06-29 연세대학교 산학협력단 Nonvolatile memory device and data storing method thereof
CN102591589A (en) * 2010-11-15 2012-07-18 三星电子株式会社 Data storage device, user device and data write method
CN103197897A (en) * 2012-01-09 2013-07-10 三星电子株式会社 Storage device and nonvolatile memory device and operating method thereof
CN103456357A (en) * 2012-06-01 2013-12-18 三星电子株式会社 Storage device having nonvolatile memory device and write method
CN104346290A (en) * 2013-08-08 2015-02-11 三星电子株式会社 Storage device, computer system and methods of operating same
CN104375956A (en) * 2013-08-16 2015-02-25 Lsi公司 A method for using a variable-size flash translation layer and a device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
吴俊军;刘震宇;: "一种基于功能表的高效FTL算法", 计算机工程与科学, no. 11, 15 November 2010 (2010-11-15) *
邵亚刚;戴冠中;刘航;: "基于日志式混合映射的FTL算法设计与实现", 计算机测量与控制, no. 07, 25 July 2009 (2009-07-25) *

Also Published As

Publication number Publication date
CN106354615B (en) 2021-06-01
CN106354615A (en) 2017-01-25

Similar Documents

Publication Publication Date Title
CN106354615B (en) Solid state disk log generation method and device
TWI679537B (en) Data moving method and storage controller
US10802733B2 (en) Methods and apparatus for configuring storage tiers within SSDs
KR102553261B1 (en) Memory controller, storage device including the same, and operating method of the memory controller
US10909031B2 (en) Memory system and operating method thereof
CN107908571B (en) Data writing method, flash memory device and storage equipment
CN116088760A (en) Memory system and control method
CN107179996A (en) Data storage device and its operating method
US11620066B2 (en) Storage device with expandible logical address space and operating method thereof
CN109101185B (en) Solid-state storage device and write command and read command processing method thereof
US20190317892A1 (en) Memory system, data processing system, and operating method of memory system
CN107797934B (en) Method for processing de-allocation command and storage device
KR20200086143A (en) Storage device and data processing method thereof
US11210226B2 (en) Data storage device and method for first processing core to determine that second processing core has completed loading portion of logical-to-physical mapping table thereof
US11422930B2 (en) Controller, memory system and data processing system
CN108228483B (en) Method and apparatus for processing atomic write commands
CN107943710B (en) Memory management method and memory controller using the same
US10339045B2 (en) Valid data management method and storage controller
CN107544912B (en) Log recording method, loading method and device
CN108628762B (en) Solid-state storage device and IO command processing method thereof
CN110865945B (en) Extended address space for memory devices
CN110515861B (en) Memory device for processing flash command and method thereof
CN110096452B (en) Nonvolatile random access memory and method for providing the same
US11113205B2 (en) Die addressing using a reduced size translation table entry
KR20160119607A (en) Data storage device and operating method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100192 room A302, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing

Applicant after: Beijing yihengchuangyuan Technology Co.,Ltd.

Address before: 100192 room A302, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing

Applicant before: BEIJING MEMBLAZE TECHNOLOGY Co.,Ltd.