WO2017000821A1 - Storage system, storage management device, storage device, hybrid storage device, and storage management method - Google Patents
Storage system, storage management device, storage device, hybrid storage device, and storage management method Download PDFInfo
- Publication number
- WO2017000821A1 WO2017000821A1 PCT/CN2016/086757 CN2016086757W WO2017000821A1 WO 2017000821 A1 WO2017000821 A1 WO 2017000821A1 CN 2016086757 W CN2016086757 W CN 2016086757W WO 2017000821 A1 WO2017000821 A1 WO 2017000821A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- logical
- logical block
- memory
- data
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
Definitions
- the present invention relates to the field of storage technologies, and in particular, to a storage system, a storage management device, a memory, a hybrid storage device, and a storage management method.
- SSD Solid state disk
- the SSD cannot be written in place, only the original data can be erased before new data can be written, and the unit of data writing is a page (for example, 4 kb), and the unit of data erasing is a block (for example, 1024 KB).
- the Flash translation layer FTL is required to make the file system operate as an SSD.
- the operations that the FTL needs to perform include data writing, mapping of logical addresses and physical addresses, garbage collection, load balancing, and operations such as erasing physical blocks in the SSD.
- garbage collection garbage collection
- load balancing operations such as erasing physical blocks in the SSD.
- Embodiments of the present invention provide a memory management apparatus and method for managing memory by a management layer, thereby improving memory performance.
- a first aspect of the embodiments of the present invention provides a storage system, including a memory and a manager;
- the memory includes a plurality of physical blocks
- the manager is configured to receive a data write request, and determine a logic block for the data page to be written, Recording a logical address of the page to be written into the logic block, and transmitting a data write instruction to the memory, the data write instruction carrying the page to be written and the page to be written Logical space information;
- the memory is configured to receive the data write instruction, obtain information of the logic block by logical space information of the data page to be written in the data write instruction, and determine the logic according to information of the logic block
- the physical block corresponding to the block writes the page to be written into the physical block corresponding to the logical block.
- a correspondence between a physical block and a logical block is further pre-configured in the memory, where each physical block corresponds to one logical block, and each logical block corresponds to at least one physical a block; the memory, according to the logical block information, querying a correspondence between the physical block and the logical block to determine a physical block corresponding to the logical block.
- each logical block allocation identifier information is set in the memory, to identify whether each logical block is allocated a corresponding physical block;
- each physical block corresponds to one logical block, and each logical block corresponds to at least one physical block.
- the logical space information of the data page to be written is the logical block information.
- the logical space information of the data page to be written is a logical address of the data page to be written.
- Logging the logical block information of the memory in the memory, the storing The memory device receives the data write instruction, and determines information of the logic block according to the logical address of the data page to be written and the logical block information of the memory.
- the manager is further configured to determine, according to a data page corresponding to each logical block, a logical block to be erased, The memory sends an erase command, the erase command carrying information of the logic block to be erased;
- the memory is further configured to receive the erase instruction, and determine a physical block to be erased according to the information of the logical block to be erased in the erase instruction and the correspondence between the physical block and the logical block. And erasing the physical block to be erased.
- the memory after determining the physical block to be erased, the memory reallocates the physical block for the logical block to be erased, And updating the allocation identification information of the logical block to be erased, and then erasing the physical block to be erased.
- the manager is further configured to: when it is determined that the stored data page needs to be updated, The logical address of the stored data page recorded in the logical block corresponding to the stored data page is invalid;
- the determining, by the manager, the logical block to be erased according to the data page corresponding to each logical block specifically includes: selecting a logical block having a large number of invalid logical addresses as the logical block to be erased.
- the manager is further configured to perform the erasing instruction before sending the erasing instruction to the memory
- the valid logical address in the logical block to be erased is migrated, and the data page corresponding to the valid logical address is determined to be a data page to be migrated, and a data migration instruction is sent to the memory, where the data migration instruction carries Information of the data page to be migrated;
- the memory is further configured to migrate the data pages to be migrated in the memory according to the data migration instruction.
- a storage management apparatus for use in a storage system including a memory, the memory including a plurality of physical blocks, and the storage management apparatus includes:
- a logic block management module configured to receive a data write request, determine a logical block for the data page to be written, and record the logical address of the data page to be written into the logic block;
- a write indication module configured to send a data write instruction to the memory according to the logic block determined by the logic block management module for the data page to be written, wherein the data write instruction carries the data to be written a page and the logical space information of the data page to be written; the data write instruction is used to instruct the memory to write a page to be written corresponding to the logical block to the logical block according to the data write instruction In the physical block.
- the logical space information of the data page to be written is the logical block information.
- the logical space information of the data page to be written is a logical address of the data page to be written, and the logical block information of the memory is recorded in the memory.
- the memory determines the information of the logic block according to the logical address of the data page to be written and the logical block information of the memory.
- the storage management apparatus further includes an erasure instruction module, configured to determine, according to the data page corresponding to each logic block, the to-be-erased a logic block, sending an erase instruction to the memory, the erase instruction carrying information of the logic block to be erased, the erase instruction being used to indicate that the memory is according to the The information of the logical block to be erased and the corresponding relationship between the physical block and the logical block set in the memory, the physical block to be erased, and the physical block to be erased are erased.
- an erasure instruction module configured to determine, according to the data page corresponding to each logic block, the to-be-erased a logic block, sending an erase instruction to the memory, the erase instruction carrying information of the logic block to be erased, the erase instruction being used to indicate that the memory is according to the The information of the logical block to be erased and the corresponding relationship between the physical block and the logical block set in the memory, the physical block to be erased, and the physical block to be erased are erased.
- the logic block management module is further configured to: when it is determined that the stored data page needs to be updated, the stored The logical address of the stored data page recorded in the logical block corresponding to the data page is invalid;
- the determining, by the erasing instruction module, the logic block to be erased specifically includes: selecting invalid A logical block having a large number of logical addresses is used as the logical block to be erased.
- the storage management apparatus further includes a migration instruction module, where the erase instruction module sends the wipe to the memory
- the migration instruction module is configured to migrate a valid logical address in the logic block, determine a data page corresponding to the valid logical address as a data page to be migrated, and send a data migration instruction to the memory,
- the data migration instruction carries information about the data page to be migrated, and the data migration instruction is used to instruct the memory to migrate the data page to be migrated in the memory.
- a memory comprising:
- a receiving module configured to receive a data write instruction, where the data write instruction carries logical space information of the data page to be written and the data page to be written, where the data write instruction is received by the manager. Determining a logical block for the data page to be written, and recording the logical address of the data page to be written to the logical block after being sent;
- a writing module configured to acquire logical block information according to the logical space information of the data page to be written in the data write instruction, and determine a physical block corresponding to the logical block according to the logical block information, and the The write data page is written into the physical block corresponding to the logical block.
- a correspondence between a physical block and a logical block is further pre-configured in the memory, where each physical block corresponds to one logical block, and each logical block corresponds to at least one a physical block; the memory queries the corresponding relationship between the physical block and the logical block according to the logical block information to determine a physical block corresponding to the logical block.
- the allocation identifier information of each logical block is set in the memory, to identify whether the logical block is allocated a corresponding physical block;
- the memory Determining, by the memory, the physical block corresponding to the logical block according to the information of the logical block, the memory, by the memory, determining allocation identification information of the logical block according to information of the logical block, according to the allocation identifier of the logical block The information determines whether the logical block is allocated a corresponding physical block, and if it is determined that the logical block is not allocated a corresponding physical block, The logical block allocates a physical block, and records a correspondence between the allocated physical block and the logical block, where each physical block corresponds to one logical block, and each logical block corresponds to at least one physical block.
- the first possible implementation manner of the third aspect, or the second possible implementation manner, in a third possible implementation manner is the logic block information.
- the logical space information of the data page to be written is the to-be-written Entering a logical address of the data page, wherein the memory records logical block information of the memory, the memory receives the data write instruction, according to the logical address of the data page to be written and the logical block information of the memory, Determining information of the logical block.
- the receiving module is further configured to receive an erasing instruction sent by the manager, where the erasing instruction is the manager After determining the logical block to be erased, the erasing instruction carries information of the logical block to be erased;
- the memory further includes an erasing module, configured to determine a physical block to be erased according to information of the logical block to be erased in the erasing instruction and a correspondence between the physical block and the logical block, and The physical block to be erased is erased.
- an erasing module configured to determine a physical block to be erased according to information of the logical block to be erased in the erasing instruction and a correspondence between the physical block and the logical block, and The physical block to be erased is erased.
- the memory reallocates the physical block for the logical block to be erased, and Updating the allocation identification information of the logical block to be erased, and then erasing the physical block to be erased.
- the receiving module is further configured to receive a data migration instruction sent by a manager, where the data migration instruction is After the manager determines the data page to be migrated in the logical block to be erased, the data page to be migrated is a data page corresponding to a valid logical address in the logical block to be erased, and the data The migration instruction carries the number to be migrated According to the information on the page;
- the memory further includes a migration module, configured to migrate the data pages to be migrated in the memory according to the data migration instruction.
- a fourth aspect a hybrid storage device, comprising: a hard disk, the manager in any one of the implementations of the second aspect, and the memory according to any one of the third aspects, wherein the memory is The cache of disk storage.
- a fifth aspect provides a storage management method for a storage system including a memory, the memory including a plurality of physical blocks, the method comprising:
- Sending a data write instruction to the memory wherein the data write instruction carries logical space information of the page to be written and the page to be written; the data write instruction is used to indicate that the memory is
- the data write instruction writes a page to be written corresponding to the logical block into a physical block corresponding to the logical block.
- the logical space information of the data page to be written is the logical block information.
- the logical space information of the data page to be written is a logical address of the data page to be written, and the logical block information of the memory is recorded in the memory.
- the memory determines the information of the logic block according to the logical address of the data page to be written and the logical block information of the memory.
- the logic block to be erased is determined according to the data page corresponding to each logic block;
- the erase command carrying information of the logic block to be erased, the erase command being used to instruct the memory to be erased according to the erase command Information of the logical block and the physical block and logic set in the memory Corresponding relationships of blocks, determining physical blocks to be erased, and erasing the physical blocks to be erased.
- the method further includes: when determining that the stored data page needs to be updated, corresponding to the stored data page The logical address of the stored data page recorded in the logical block is invalid;
- a logical block having a large number of invalid logical addresses is selected as the logical block to be erased.
- the valid logical address in the logic block is migrated and determined
- the data page corresponding to the valid logical address is a data page to be migrated;
- a storage management method for use in a memory
- the data write instruction carrying logical space information of the data page to be written and the data page to be written, where the data write instruction is received by the manager, and the data write request is Entering a data page to determine a logical block, and recording the logical address of the data page to be written to the logical block and transmitting the logical address;
- a correspondence between a physical block and a logical block is further configured in the memory, where each physical block corresponds to one logical block, and each logical block corresponds to at least one Determining, according to the logical block information, the physical block corresponding to the logical block, according to the logical block information, querying a correspondence between the physical block and the logical block according to the logical block information to determine a physical body corresponding to the logical block Piece.
- the setting in the memory The allocation identifier information of the logical block is used to identify whether the logical block is allocated a physical block;
- each physical block corresponds to one logical block
- Each logical block corresponds to at least one physical block.
- the first possible implementation manner of the sixth aspect, or the second possible implementation manner, in a third possible implementation manner is the logic Block information.
- the method further includes:
- the logical space information of the data page to be written is a logical address of the data page to be written, the logical block information of the memory is recorded in the memory, and the memory receives the data write instruction, according to the waiting
- the logical address of the data page and the logical block information of the memory are written to determine information of the logical block.
- the method further includes:
- the erase command being sent after the manager determines a logic block to be erased, where the erase command carries information of the logic block to be erased;
- the method further includes receiving a data migration instruction, where the data migration instruction is After the processor determines the data page to be migrated in the logical block to be erased, the data page to be migrated is a data page corresponding to a valid logical address in the logical block to be erased, The data migration instruction carries information about the data page to be migrated;
- the data pages to be migrated in the memory are migrated according to the data migration instruction.
- a storage manager including: a processor, a memory, a bus, and a communication interface;
- the memory is for storing computer execution instructions
- the processor is coupled to the memory via the bus, and when the computing device is running, the processor executes the computer-executed instructions stored by the memory to enable
- the storage manager is as follows:
- Sending a data write instruction to the memory wherein the data write instruction carries logical space information of the page to be written and the page to be written; the data write instruction is used to indicate that the memory is
- the data write instruction writes a page to be written corresponding to the logical block into a physical block corresponding to the logical block.
- a storage manager including: a processor, a memory, a bus, and a communication interface;
- the memory is for storing computer execution instructions
- the processor is coupled to the memory via the bus, and when the computing device is running, the processor executes the computer-executed instructions stored by the memory to enable
- the storage manager performs the following methods:
- the data write instruction carrying logical space information of the data page to be written and the data page to be written, where the data write instruction is received by the manager, and the data write request is Entering a data page to determine a logical block, and recording the logical address of the data page to be written to the logical block and transmitting the logical address;
- a computer readable medium comprising computer executed instructions that, when executed by a processor of a computer, execute the following method:
- Sending a data write instruction to the memory wherein the data write instruction carries logical space information of the page to be written and the page to be written; the data write instruction is used to indicate that the memory is
- the data write instruction writes a page to be written corresponding to the logical block into a physical block corresponding to the logical block.
- a computer readable medium comprising computer executed instructions that, when executed by a processor of a computer, execute the following method:
- the data write instruction carrying logical space information of the data page to be written and the data page to be written, where the data write instruction is received by the manager, and the data write request is Entering a data page to determine a logical block, and recording the logical address of the data page to be written to the logical block and transmitting the logical address;
- the invention establishes the correspondence between the logical block and the physical block in the SSD by dividing the SSD into a logical block and recording the logical address of the data page stored in the SSD in the logical block, so that the management layer can record through the logical block
- the logical address of the data page manages the data pages stored in the SSD, thereby reducing the operations performed by the FTL and improving the performance of the SSD.
- FIG. 1 is an architectural diagram of a system used in the prior art for an SSD as a cache of an HDD.
- FIG. 2 is a schematic diagram showing changes in data addresses when data is updated by an SSD in the prior art.
- FIG. 3 is a structural diagram of a storage system according to an embodiment of the present invention.
- FIG. 4 is a schematic diagram of a correspondence relationship between a logical block and a physical block in the embodiment shown in FIG. 3.
- Figure 5 is a diagram showing the change of logical addresses in a logical block when updating stored data in the embodiment shown in Figure 3.
- FIG. 6 is a schematic diagram of migration of data in a physical block to be erased prior to erasing a physical block in the embodiment shown in FIG.
- FIG. 7 is a block diagram of a storage management apparatus according to an embodiment of the present invention.
- FIG. 8 is a structural diagram of an SSD provided in an embodiment of the present invention.
- FIG. 9 is a structural diagram of a hybrid storage device according to an embodiment of the present invention.
- FIG. 10 is a flow chart of a method for a manager to write data to an SSD in an embodiment of the present invention.
- FIG. 11 is a flowchart of a method for a manager to control an SSD for data erasing according to an embodiment of the present invention.
- FIG. 12 is a schematic structural diagram of a computer in an embodiment of the present invention.
- the memory in the embodiment of the present invention includes a plurality of physical blocks, the original data is erased to write new data, and the data is written in units of pages, and the data is erased in units of physical blocks.
- SSD memory the following example uses SSD as an example. Be explained.
- FIG. 1 is an architectural diagram of a system used in the prior art for an SSD as a cache of an HDD.
- the frequently accessed data is generally stored in the SSD 101, and the SSD 101 and the HDD 102 are collectively managed by the manager 103.
- the manager 103 records which HDD 102 data is cached in the SSD 101 through the mapping table.
- the manager 103 looks up the mapping table and determines whether the requested data is stored on the SSD 101. If the data is stored on the SSD 101, the data is read from the SSD 101; if the data is not on the SSD 101, the data is read from the HDD 102. If the data in the SSD 101 is full, the data is erased and the less frequently used data is replaced.
- the manager 103 may be a controller of the hybrid hard disk, and the SSD 101 and the HDD 102 respectively serve as independent devices.
- the manager 101 can be loaded into the operating system of the computer or loaded as a separate module in the computer.
- the SSD in Figure 1 is used as a cache of the HDD. In other application scenarios, the SSD can also be used as a storage device independently.
- the invention can be applied to the architecture shown in FIG. 1 and can also be applied to other application scenarios of the SSD.
- the SSD is generally a NAND flash memory and may include multiple physical blocks (eg, 1024), each of which includes multiple physical pages (eg, 64).
- the physical page is the basic unit for reading and writing data
- the physical block is the basic unit for data erasure by SSD.
- the SSD includes a Flash translation layer (FTL), and the FTL can be used to record a correspondence between a logical address (LBA) of a data and a physical block address (PBA) in the SSD.
- LBA logical address
- PBA physical block address
- the FTL may also write the updated “new data” to the idle physical page of the SSD 10 and update the correspondence between the LBA of the data and the PBA in the SSD, and Physical pages containing "old data" are marked as invalid pages.
- the FTL if the data update request is to update the data in page 0, the FTL writes the updated page 0 data to the physical page with the physical address n+2, and the page 0 The physical page ID of the physical address n is invalid.
- the FTL selects a physical block with a larger number of invalid pages to erase to free up space to store new data.
- the physical block erased by the SSD may include a large number of valid data pages, it is necessary to migrate the data pages of the valid pages to another free location, and then wipe the data in the physical block that needs to be erased. In addition, this process is garbage collection.
- FTL also performs operations such as load balancing.
- the technical solution provided by the embodiments of the present invention aims to reduce the operations performed by the FTL.
- the technical solution provided by the embodiment of the present invention is to manage the correspondence between the logical block and the physical block in the SSD by dividing the SSD into a logical block and recording the logical address of the data page stored in the SSD in the logical block, thereby managing
- the layer can manage the physical blocks in the SSD and the data pages stored in the physical blocks by logical addresses of the data pages recorded in the logical blocks and the logical blocks, thereby reducing the operations performed by the FTL, thereby improving the performance of the SSD.
- FIG. 3 it is an architectural diagram of a storage system 30 according to an embodiment of the present invention.
- the storage system 30 includes a manager 301 and an SSD 302.
- the SSD 302 includes a plurality of physical blocks 303.
- the manager 301 receives a data write request, determines a logical block for the page to be written, records a logical address of the page to be written into the logical block, and sends a data write instruction to the SSD 302.
- the data write instruction carries logical space information of the data page to be written and the data page to be written, and the logical space information may be the logical block information or a logical address of the data page to be written.
- the SSD 302 is configured to receive the data write instruction, obtain logic block information from logical space information of the data page to be written in the data write instruction, and determine a physical physics corresponding to the logic block according to the logic block information.
- Block 303 writing the page to be written into the physical block 303 corresponding to the logic block.
- the data write request received by the manager 301 is used to write data to the SSD 302, and the data written to the SSD 302 may be the data written to the storage system 30 for the first time, or may be The data that is updated on the data stored on the SSD 302 may also be data that is loaded into the SSD 302 from a hard disk (not shown).
- a corresponding relationship between the physical block 303 and the logical block is pre-configured in the SSD 302. As shown in FIG. 4, each physical block 303 corresponds to one logical block, and each logical block corresponds to at least one. Physical block 303. After the SSD 302 receives the data write command, the corresponding relationship between the physical block and the logical block may be queried according to the information of the logical block in the data write instruction, and the corresponding logical block is determined. The physical block 303 writes a page to be written corresponding to the logical block into the physical block 303 corresponding to the logical block.
- the logical block can be associated with the physical block, and the data page recorded in the physical block 303 is associated with the logical block by the logical address of the data page recorded in the logical block, that is, the management of the logical block can be performed. Management of the physical block 303 in the SSD 302 is implemented.
- the correspondence between the logical block and the physical block 303 is not preset, but is dynamically allocated.
- the allocation identifier information of the logical block is set in the memory, Determining whether the logical block is allocated a physical block 303 according to the logical block information, where the memory determines that the physical block 303 corresponding to the logical block is: the memory determines the logical block according to the logical block information.
- the logical address of the stored data page recorded in the logical block corresponding to the stored data page is set to invalid.
- the logical addresses LA0 of the data pages Page0, page3, page4, and page 5 recorded in the logical block A, LA3, LA4, LA5 are set to be invalid.
- the erasing of the physical block 303 in the SSD 302 can be controlled by the manager 301.
- the manager 301 determines a logical block to be erased, and sends an erase command to the SSD 302.
- the instruction carries information of the logical block to be erased.
- the SSD 302 receives the erase command, and determines a physical block 303 to be erased according to the information of the logical block to be erased in the erase command and the corresponding relationship between the physical block 303 and the logical block. And erasing the physical block 303 to be erased.
- the manager 301 selects a logical block having a large number of invalid logical addresses as the logical block to be erased.
- the SSD 302 After determining the physical block 303 to be erased, the SSD 302 reallocates the physical block for the logical block to be erased, and updates the allocation identification information of the logical block to be erased, and then erases the to-be-erased The erased physical block 303.
- the logic block to be erased can be reused immediately without waiting for the physical block to be erased, thereby improving the performance of the system.
- the manager 301 further migrates the valid logical address in the physical block 303 to be erased before transmitting the erasure instruction to the SSD 302, and determines that the valid The data page corresponding to the logical address is the data page to be migrated, and sends a data migration instruction to the SSD 302, where the data migration instruction carries the information of the data page to be migrated.
- the SSD 302 migrates the data pages to be migrated in the SSD 302 according to the data migration instruction.
- the information of the data page to be migrated carried by the data migration instruction is a logical address of a data page to be migrated, and the SSD 302 migrates according to the data after receiving the data migration instruction.
- the logical address of the data page to be migrated in the instruction finds a data page to be migrated in the physical block to be erased, and then migrates the data page to be migrated.
- the logical block A is selected as the logical block to be erased because the number of invalid logical pages is relatively large, but there are valid logical addresses LA16 and LA17 in the logical block A, the The valid logical addresses LA16 and LA17 are migrated to the logical block B.
- the SSD 302 After receiving the data migration instruction, the SSD 302 finds the data pages page 16 and page 17 to be migrated in the physical block B to be erased corresponding to the logical block A to be erased according to the logical addresses LA16 and LA17, and then waits The migrated data pages page 16 and page 17 are migrated to the physical block C corresponding to the logical block B. After the data migration is completed, the SSD 302 can erase the physical block A and the physical block B to be erased.
- FIG. 7 is a block diagram of a storage management apparatus according to an embodiment of the present invention.
- the storage management device 70 is applied to a storage system, the storage system including an SSD, and the SSD includes a plurality of physical blocks.
- the first storage management device 70 includes a logical block management module 702, a write indication module 703, an erase indication module 704, and a migration indication module 705.
- the logic block management module 702 is configured to receive a data write request for the data page to be written Determining a logical block, recording the logical address of the page to be written into the logical block.
- the write indication module 703 is configured to send a data write instruction to the SSD according to the logic block determined by the logic block management module 702 for the data page to be written, where the data write instruction carries the Writing a data page and the logical space information of the data page to be written; the data write instruction is used to instruct the SSD to write the data page to be written corresponding to the logical block into the data according to the data write instruction
- the logical block corresponds to the physical block.
- the logical space information of the data page to be written is the logical block information or the logical address of the data page to be written.
- the data write instruction further instructs the SSD to query a correspondence between a physical block and a logical block set in the SSD according to the information of the at least one specified logical block in the data write instruction, and determine the at least one designation.
- the physical block corresponding to the logical block, the page to be written corresponding to the at least one specified logical block is written into the physical block corresponding to the at least one specified logical block.
- the erasure indication module 704 is configured to determine a logic block to be erased, and send an erase instruction to the SSD, where the erase instruction carries information of the logic block to be erased, and the erase instruction is used to Instructing the SSD to determine a physical block to be erased according to the information of the logical block to be erased in the erasing instruction and the correspondence between the physical block and the logical block set in the SSD, and the erasing device The physical block to be erased.
- the logic block management module 702 sets the logical address of the stored data page recorded in the logical block corresponding to the stored data page when determining that the stored data page needs to be updated. Invalid;
- the erase indication module 704 selects a logical block having a large number of invalid logical addresses as the logical block to be erased.
- the migration instructing module 705 is configured to migrate the valid logical address in the logical block to be erased, and determine that the effective logical address is valid.
- the data page corresponding to the logical address is a data page to be migrated, and sends a data migration instruction to the SSD, where the data migration instruction carries information about the data page to be migrated, where the data migration instruction is used to indicate the SSD.
- the data pages to be migrated in the SSD are migrated.
- FIG. 8 is a block diagram of an SSD according to an embodiment of the present invention.
- the SSD80 It can be applied to a storage system that includes a manager.
- the SSD 80 includes a receiving module 802, a writing module 803, an erasing module 804, and a migration module 805.
- the receiving module 802 is configured to receive a data write instruction, where the data write instruction carries logical space information of a page to be written and the page to be written, where the data write instruction is received by the manager after receiving data Requesting, determining a logical block for the data page to be written, and recording the logical address of the data page to be written after the logical block is sent;
- the writing module 803 is configured to acquire logical block information according to the logical space information of the data page to be written in the data write instruction, and determine a physical block corresponding to the logical block according to the logical block information, The write data page is written into the physical block corresponding to the logical block.
- the receiving module 802 is further configured to receive an erase command sent by the manager, where the erase command is sent after the manager determines a logic block to be erased, and the erase command carries the to-be-erased Information about the logical block.
- the erasing module 804 is configured to determine, according to the information about the logical block to be erased in the erasing instruction and the corresponding relationship between the physical block and the logical block, the physical block to be erased, and the erasing device. The physical block to be erased.
- the receiving module 802 is further configured to receive a data migration instruction sent by the manager, where the data migration instruction is sent by the manager after determining the data page to be migrated in the logical block to be erased,
- the data page to be migrated is a valid logical address in the logical block to be erased, and the data migration instruction carries information of the data page to be migrated.
- the migration module 805 is configured to migrate the data pages to be migrated in the SSD according to the data migration instruction.
- FIG. 9 is a structural diagram of a hybrid storage device 90 according to an embodiment of the present invention.
- the hybrid storage device 90 includes a manager 901, an SSD 902, and an HDD 903 as a cache of the HDD, the SSD 902 including a plurality of physical blocks 904.
- the functions performed by the manager 901 are the same as those performed by the manager 301 of the storage system 30, and the functions performed by the SSD 902 are the same as those performed by the SSD 302 of the storage system 30, and are no longer Narration.
- An embodiment of the present invention further provides a storage management method, where the storage management method is applicable to a storage management system, where the storage management system includes a manager and an SSD,
- the SSD includes a plurality of physical blocks.
- the storage management method includes three parts. The first part is a method for the manager to write data to the SSD, and the third part is the method for the manager to control the SSD for data erasing.
- FIG. 10 a flowchart of a method for the manager to write data to the SSD.
- step S1001 the manager receives a data write request and determines a logical block for the page to be written.
- Step S1002 the manager records the logical address of the page to be written into the logical block.
- Step S1003 The manager sends a data write instruction to the SSD, where the data write instruction carries the logical space information of the page to be written and the page to be written.
- Step S1004 the SSD receives the data write instruction, acquires logical block information according to the logical space information of the data page to be written in the data write instruction, and determines, according to the logical block information, the corresponding logical block.
- Step S1005 the SSD writes the page to be written into a physical block corresponding to the logical block.
- the corresponding relationship between the physical block and the logical block is also pre-configured in the SSD, wherein each physical block corresponds to one logical block, and each logical block corresponds to at least one physical block, and then the step S1004 is performed according to the method.
- the logical block information determines that the physical block corresponding to the logical block is specifically: the physical block corresponding to the logical block is determined by querying a correspondence between the physical block and the logical block according to the logical block information.
- the allocation identifier information of the logical block is set in the SSD, and is used to identify whether the logical block is allocated a physical block. Then, in step S1004, the physical layer corresponding to the logical block is determined according to the logical block information.
- the block is specifically:
- the allocated physical block is a physical block corresponding to the logical block.
- FIG. 11 a flowchart of a method for the manager to control data erasure by the SSD.
- step S1101 the manager determines a logical block to be erased.
- Step S1102 The manager migrates a valid logical address in the logical block to be erased, and determines that the data page corresponding to the valid logical address is a data page to be migrated.
- Step 1103 The manager sends a data migration instruction to the SSD, where the data migration instruction carries information about the data page to be migrated.
- Step 1104 The SSD receives the data migration instruction, and migrates the data page to be migrated in the SSD according to the information of the data page to be migrated in the data migration instruction.
- Step 1105 the manager sends an erase command to the SSD, where the erase command carries information of the logical block to be erased.
- Step 1106 the SSD receives the erase command, and determines a physical block to be erased according to the information of the logical block to be erased in the erase command and the corresponding relationship between the physical block and the logical block. And erasing the physical block to be erased.
- the method further includes reallocating the physical block for the logical block to be erased, and updating the allocation identification information of the logical block to be erased, and then deleting The physical block to be erased
- the manager may determine a logical block to be erased according to the number of invalid logical addresses in the logical block, wherein the number of invalid logical addresses included in the logical block to be erased is greater than a preset value.
- FIG. 12 is a schematic structural diagram of a storage manager according to an embodiment of the present invention.
- the storage manager of the embodiment of the present invention may include:
- a processor 1701, a memory 1702, a system bus 1704, and a communication interface 1705 The CPU 1701, the memory 1702, and the communication interface 1705 are connected by the system bus 1704 and complete communication with each other.
- the processor 1701 may be a single core or multi-core central processing unit, or a specific integrated circuit, or one or more integrated circuits configured to implement embodiments of the present invention.
- the memory 1702 may be a high speed RAM memory or a non-volatile memory such as at least one disk memory.
- Memory 1702 is for computer execution instructions 1703. Specifically, the computer executes the instructions Program code can be included in 1703.
- the processor 1701 runs the computer execution instructions 1703, which may perform the method flow described in FIG. 10 or FIG.
- Embodiments of the present invention also provide a computer readable medium comprising computer executed instructions that, when executed by a processor of a computer, execute the method of FIG. 10 or FIG.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
Description
本发明涉及存储技术领域,特别涉及一种存储系统、存储管理装置、存储器、混合存储装置及存储管理方法。The present invention relates to the field of storage technologies, and in particular, to a storage system, a storage management device, a memory, a hybrid storage device, and a storage management method.
固态存储器(Solid state disk,SSD)具有高性能、低延迟、低功耗、环境适应性强等优点,同时成本也在不断降低,因此目前应用的越来越普遍,一般用作硬盘的缓存,也可以直接用作硬盘。Solid state disk (SSD) has the advantages of high performance, low latency, low power consumption, and strong environmental adaptability, and the cost is also decreasing. Therefore, the application is more and more common, and is generally used as a cache of a hard disk. It can also be used directly as a hard disk.
但由于SSD不能原地写,只能擦除原来的数据以后才能写入新的数据,且数据写入的单位为页(例如4kb),而数据擦除的单位为块(例如1024KB),这与磁盘存储器的工作原理不同,所以需要通过闪存转换层(Flash translation layer,FTL),使文件系统可以像操作磁盘存储器一样操作SSD。However, since the SSD cannot be written in place, only the original data can be erased before new data can be written, and the unit of data writing is a page (for example, 4 kb), and the unit of data erasing is a block (for example, 1024 KB). Unlike disk memory, the Flash translation layer (FTL) is required to make the file system operate as an SSD.
一般FTL需要执行的操作有数据的写入,逻辑地址与物理地址的映射、垃圾回收、负载均衡、还需要进行SSD中的物理块的擦除等操作。如此,在使用一段时间,SSD的性能也由于垃圾回收、块的擦除等操作变差。Generally, the operations that the FTL needs to perform include data writing, mapping of logical addresses and physical addresses, garbage collection, load balancing, and operations such as erasing physical blocks in the SSD. Thus, after a period of use, the performance of the SSD is also deteriorated due to garbage collection, block erasure, and the like.
发明内容Summary of the invention
本发明实施例提供存储器管理装置及方法,通过管理层管理存储器,从而提高存储器的性能。Embodiments of the present invention provide a memory management apparatus and method for managing memory by a management layer, thereby improving memory performance.
本发明实施例第一方面提供一种存储系统,包括存储器和管理器;A first aspect of the embodiments of the present invention provides a storage system, including a memory and a manager;
所述存储器包括多个物理块;The memory includes a plurality of physical blocks;
所述管理器用于接收数据写请求,为待写入数据页确定逻辑块, 将所述待写入数据页的逻辑地址记录至所述逻辑块中,并向所述存储器发送数据写指令,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;The manager is configured to receive a data write request, and determine a logic block for the data page to be written, Recording a logical address of the page to be written into the logic block, and transmitting a data write instruction to the memory, the data write instruction carrying the page to be written and the page to be written Logical space information;
所述存储器用于接收所述数据写指令,由所述数据写指令中的所述待写入数据页的逻辑空间信息获取所述逻辑块的信息,根据所述逻辑块的信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。The memory is configured to receive the data write instruction, obtain information of the logic block by logical space information of the data page to be written in the data write instruction, and determine the logic according to information of the logic block The physical block corresponding to the block writes the page to be written into the physical block corresponding to the logical block.
结合第一方面,在第一种可能的实现方式中,所述存储器中还预先配置物理块与逻辑块的对应关系,其中,每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块;则所述存储器根据所述逻辑块信息查询所述物理块与逻辑块的对应关系确定所述逻辑块对应的物理块。With reference to the first aspect, in a first possible implementation manner, a correspondence between a physical block and a logical block is further pre-configured in the memory, where each physical block corresponds to one logical block, and each logical block corresponds to at least one physical a block; the memory, according to the logical block information, querying a correspondence between the physical block and the logical block to determine a physical block corresponding to the logical block.
结合第一方面,在第二种可能的实现方式中,所述存储器中设置每个逻辑块分配标识信息,用于标识所述每个逻辑块是否被分配对应的物理块;With reference to the first aspect, in a second possible implementation, each logical block allocation identifier information is set in the memory, to identify whether each logical block is allocated a corresponding physical block;
所述存储器根据所述逻辑块的信息确定所述逻辑块对应的物理块具体包括:所述存储器根据所述逻辑块的信息确定所述逻辑块的分配标识信息,根据所述逻辑块的分配标识信息确定所述逻辑块是否被分配对应的物理块,若确定所述逻辑块未被分配对应的物理块,为所述逻辑块分配物理块,并记录所分配的物理块与所述逻辑块的对应关系,其中,每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块。Determining, by the memory, the physical block corresponding to the logical block according to the information of the logical block, the memory, by the memory, determining allocation identification information of the logical block according to information of the logical block, according to the allocation identifier of the logical block Determining whether the logical block is allocated a corresponding physical block, if it is determined that the logical block is not allocated a corresponding physical block, assigning a physical block to the logical block, and recording the allocated physical block and the logical block Correspondence relationship, wherein each physical block corresponds to one logical block, and each logical block corresponds to at least one physical block.
结合第一方面、第一种实现方式或者第二种实现方式,在第三种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述逻辑块信息。In conjunction with the first aspect, the first implementation, or the second implementation, in a third possible implementation, the logical space information of the data page to be written is the logical block information.
结合第一方面、第一种实现方式或者第二种实现方式,在第四种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述待写入数据页的逻辑地址,所述存储器中记录存储器的逻辑块信息,所述存 储器在接收到所述数据写指令,根据所述待写入数据页的逻辑地址及所述存储器的逻辑块信息,确定所述逻辑块的信息。With reference to the first aspect, the first implementation manner, or the second implementation manner, in a fourth possible implementation manner, the logical space information of the data page to be written is a logical address of the data page to be written. Logging the logical block information of the memory in the memory, the storing The memory device receives the data write instruction, and determines information of the logic block according to the logical address of the data page to be written and the logical block information of the memory.
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述管理器还用于根据每个逻辑块对应的数据页,确定待擦除的逻辑块,向所述存储器发送擦除指令,所述擦除指令携带所述待擦除的逻辑块的信息;In conjunction with the fourth possible implementation of the first aspect, in a fifth possible implementation, the manager is further configured to determine, according to a data page corresponding to each logical block, a logical block to be erased, The memory sends an erase command, the erase command carrying information of the logic block to be erased;
所述存储器还用于接收所述擦除指令,根据所述擦除指令中的所述待擦除的逻辑块的信息和所述物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。The memory is further configured to receive the erase instruction, and determine a physical block to be erased according to the information of the logical block to be erased in the erase instruction and the correspondence between the physical block and the logical block. And erasing the physical block to be erased.
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,在确定待擦除的物理块后,所述存储器为所述待擦除的逻辑块重新分配物理块,并更新所述待擦除的逻辑块的分配标识信息,之后再擦除所述待擦除的物理块。In conjunction with the fifth possible implementation of the first aspect, in a sixth possible implementation, after determining the physical block to be erased, the memory reallocates the physical block for the logical block to be erased, And updating the allocation identification information of the logical block to be erased, and then erasing the physical block to be erased.
结合第一方面的第五种或者第六种可能的实现方式,在第七种可能的实现方式中,所述管理器还用于在确定需要对已存储的数据页进行更新时,将所述已存储的数据页对应的逻辑块中记录的所述已存储的数据页的逻辑地址置为无效;In conjunction with the fifth or sixth possible implementation of the first aspect, in a seventh possible implementation, the manager is further configured to: when it is determined that the stored data page needs to be updated, The logical address of the stored data page recorded in the logical block corresponding to the stored data page is invalid;
所述管理器用于根据每个逻辑块对应的数据页,确定待擦除的逻辑块具体包括:选择无效逻辑地址数量多的逻辑块作为所述待擦除的逻辑块。The determining, by the manager, the logical block to be erased according to the data page corresponding to each logical block specifically includes: selecting a logical block having a large number of invalid logical addresses as the logical block to be erased.
结合第一方面的第七种可能的实现方式,在第八种可能的实现方式中,所述管理器在向所述存储器发送所述擦除指令之前,所述管理器还用于对所述待擦除的逻辑块中的有效的逻辑地址进行迁移,并确定所述有效的逻辑地址对应的数据页为待迁移的数据页,并向所述存储器发送数据迁移指令,所述数据迁移指令携带所述待迁移的数据页的信息;In conjunction with the seventh possible implementation of the first aspect, in an eighth possible implementation, the manager is further configured to perform the erasing instruction before sending the erasing instruction to the memory The valid logical address in the logical block to be erased is migrated, and the data page corresponding to the valid logical address is determined to be a data page to be migrated, and a data migration instruction is sent to the memory, where the data migration instruction carries Information of the data page to be migrated;
所述存储器还用于根据所述数据迁移指令将所述存储器中所述待迁移的数据页进行迁移。 The memory is further configured to migrate the data pages to be migrated in the memory according to the data migration instruction.
第二方面,提供一种存储管理装置,应用于包括存储器的存储系统,所述存储器包括多个物理块,所述存储管理装置包括:In a second aspect, a storage management apparatus is provided for use in a storage system including a memory, the memory including a plurality of physical blocks, and the storage management apparatus includes:
逻辑块管理模块,用于接收数据写请求,为待写入数据页确定逻辑块,将所述待写入数据页的逻辑地址记录至所述逻辑块中;a logic block management module, configured to receive a data write request, determine a logical block for the data page to be written, and record the logical address of the data page to be written into the logic block;
写入指示模块,用于根据所述逻辑块管理模块为所述待写入数据页确定的逻辑块,向所述存储器发送数据写指令,其中,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;所述数据写指令用于指示所述存储器根据所述数据写指令将所述逻辑块对应的待写入数据页写入所述逻辑块对应的物理块中。a write indication module, configured to send a data write instruction to the memory according to the logic block determined by the logic block management module for the data page to be written, wherein the data write instruction carries the data to be written a page and the logical space information of the data page to be written; the data write instruction is used to instruct the memory to write a page to be written corresponding to the logical block to the logical block according to the data write instruction In the physical block.
结合第二方面,在第一种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述逻辑块信息。With reference to the second aspect, in a first possible implementation, the logical space information of the data page to be written is the logical block information.
结合第二方面,在第二种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述待写入数据页的逻辑地址,所述存储器中记录存储器的逻辑块信息,所述存储器在接收到所述数据写指令,根据所述待写入数据页的逻辑地址及所述存储器的逻辑块信息,确定所述逻辑块的信息。With reference to the second aspect, in a second possible implementation, the logical space information of the data page to be written is a logical address of the data page to be written, and the logical block information of the memory is recorded in the memory. Receiving the data write instruction, the memory determines the information of the logic block according to the logical address of the data page to be written and the logical block information of the memory.
结合第二方面、第二方面的第一种实现方式或者第二种实现方式,所述存储管理装置还包括擦除指令模块,用于根据每个逻辑块对应的数据页,确定待擦除的逻辑块,向所述存储器发送擦除指令,所述擦除指令携带所述待擦除的逻辑块的信息,所述擦除指令用于指示所述存储器根据所述擦除指令中的所述待擦除的逻辑块的信息和所述存储器中设置的物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。With reference to the second aspect, the first implementation manner of the second aspect, or the second implementation manner, the storage management apparatus further includes an erasure instruction module, configured to determine, according to the data page corresponding to each logic block, the to-be-erased a logic block, sending an erase instruction to the memory, the erase instruction carrying information of the logic block to be erased, the erase instruction being used to indicate that the memory is according to the The information of the logical block to be erased and the corresponding relationship between the physical block and the logical block set in the memory, the physical block to be erased, and the physical block to be erased are erased.
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述逻辑块管理模块还用于在确定需要对已存储的数据页进行更新时,将所述已存储的数据页对应的逻辑块中记录的所述已存储的数据页的逻辑地址置为无效;In conjunction with the third possible implementation of the second aspect, in a fourth possible implementation, the logic block management module is further configured to: when it is determined that the stored data page needs to be updated, the stored The logical address of the stored data page recorded in the logical block corresponding to the data page is invalid;
所述擦除指令模块用于确定待擦除的逻辑块具体包括:选择无效 逻辑地址数量多的逻辑块作为所述待擦除的逻辑块。The determining, by the erasing instruction module, the logic block to be erased specifically includes: selecting invalid A logical block having a large number of logical addresses is used as the logical block to be erased.
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述存储管理装置还包括迁移指令模块,在所述擦除指令模块在向所述存储器发送所述擦除指令之前,所述迁移指令模块用于对逻辑块中有效的逻辑地址进行迁移,确定所述有效的逻辑地址对应的数据页为待迁移的数据页,并向所述存储器发送数据迁移指令,所述数据迁移指令携带所述待迁移的数据页的信息,所述数据迁移指令用于指示所述存储器将所述存储器中所述待迁移的数据页进行迁移。In conjunction with the fourth possible implementation of the second aspect, in a fifth possible implementation, the storage management apparatus further includes a migration instruction module, where the erase instruction module sends the wipe to the memory The migration instruction module is configured to migrate a valid logical address in the logic block, determine a data page corresponding to the valid logical address as a data page to be migrated, and send a data migration instruction to the memory, The data migration instruction carries information about the data page to be migrated, and the data migration instruction is used to instruct the memory to migrate the data page to be migrated in the memory.
第三方面,提供一种存储器,包括:In a third aspect, a memory is provided, comprising:
接收模块,用于接收数据写指令,所述数据写指令携带待写入数据页及所述待写入数据页的逻辑空间信息,所述数据写指令是由管理器在接收到数据写请求,为所述待写入数据页确定逻辑块,并将所述待写入数据页的逻辑地址记录至所述逻辑块之后发送的;a receiving module, configured to receive a data write instruction, where the data write instruction carries logical space information of the data page to be written and the data page to be written, where the data write instruction is received by the manager. Determining a logical block for the data page to be written, and recording the logical address of the data page to be written to the logical block after being sent;
写入模块,用于根据所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。a writing module, configured to acquire logical block information according to the logical space information of the data page to be written in the data write instruction, and determine a physical block corresponding to the logical block according to the logical block information, and the The write data page is written into the physical block corresponding to the logical block.
结合第三方面,在第一种可能的实现方式中,所述存储器中还预先配置物理块与逻辑块的对应关系,其中,所述每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块;则所述存储器根据所述逻辑块信息查询所述物理块与逻辑块的对应关系确定所述逻辑块对应的物理块。With reference to the third aspect, in a first possible implementation manner, a correspondence between a physical block and a logical block is further pre-configured in the memory, where each physical block corresponds to one logical block, and each logical block corresponds to at least one a physical block; the memory queries the corresponding relationship between the physical block and the logical block according to the logical block information to determine a physical block corresponding to the logical block.
结合第三方面,在第二种可能的实现方式中,所述存储器中设置每个逻辑块的分配标识信息,用于标识所述逻辑块是否被分配对应的物理块;With reference to the third aspect, in a second possible implementation, the allocation identifier information of each logical block is set in the memory, to identify whether the logical block is allocated a corresponding physical block;
所述存储器根据所述逻辑块的信息确定所述逻辑块对应的物理块具体包括:所述存储器根据所述逻辑块的信息确定所述逻辑块的分配标识信息,根据所述逻辑块的分配标识信息确定所述逻辑块是否被分配对应的物理块,若确定所述逻辑块未被分配对应的物理块,为所 述逻辑块分配物理块,并记录所分配的物理块与所述逻辑块的对应关系,其中,每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块。Determining, by the memory, the physical block corresponding to the logical block according to the information of the logical block, the memory, by the memory, determining allocation identification information of the logical block according to information of the logical block, according to the allocation identifier of the logical block The information determines whether the logical block is allocated a corresponding physical block, and if it is determined that the logical block is not allocated a corresponding physical block, The logical block allocates a physical block, and records a correspondence between the allocated physical block and the logical block, where each physical block corresponds to one logical block, and each logical block corresponds to at least one physical block.
结合第三方面、第三方面的第一种可能实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述逻辑块信息。With reference to the third aspect, the first possible implementation manner of the third aspect, or the second possible implementation manner, in a third possible implementation manner, the logical space information of the data page to be written is the logic block information.
结合第三方面、第三方面的第一种可能实现方式或第二种可能的实现方式,在第四种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述待写入数据页的逻辑地址,所述存储器中记录存储器的逻辑块信息,所述存储器在接收到所述数据写指令,根据所述待写入数据页的逻辑地址及所述存储器的逻辑块信息,确定所述逻辑块的信息。With reference to the third aspect, the first possible implementation manner of the third aspect, or the second possible implementation manner, in a fourth possible implementation manner, the logical space information of the data page to be written is the to-be-written Entering a logical address of the data page, wherein the memory records logical block information of the memory, the memory receives the data write instruction, according to the logical address of the data page to be written and the logical block information of the memory, Determining information of the logical block.
结合第三方面的第四种可能的实现,在第五种可能的实现方式中,所述接收模块还用于接收所述管理器发送的擦除指令,所述擦除指令为所述管理器确定待擦除的逻辑块后发送的,所述擦除指令携带所述待擦除的逻辑块的信息;With reference to the fourth possible implementation of the third aspect, in a fifth possible implementation, the receiving module is further configured to receive an erasing instruction sent by the manager, where the erasing instruction is the manager After determining the logical block to be erased, the erasing instruction carries information of the logical block to be erased;
所述存储器还包括擦除模块,用于根据所述擦除指令中的所述待擦除的逻辑块的信息和所述物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。The memory further includes an erasing module, configured to determine a physical block to be erased according to information of the logical block to be erased in the erasing instruction and a correspondence between the physical block and the logical block, and The physical block to be erased is erased.
结合第三方面的第五种可能的实现,在第六种可能的实现方式中,在确定待擦除的物理块后,所述存储器为所述待擦除的逻辑块重新分配物理块,并更新所述待擦除的逻辑块的分配标识信息,之后,再擦除所述待擦除的物理块。With reference to the fifth possible implementation of the third aspect, in a sixth possible implementation, after determining the physical block to be erased, the memory reallocates the physical block for the logical block to be erased, and Updating the allocation identification information of the logical block to be erased, and then erasing the physical block to be erased.
结合第三方面的第五种或者第六种可能的实现,在第七种可能的实现方式中,所述接收模块还用于接收管理器发送的数据迁移指令,所述数据迁移指令为所述管理器确定所述待擦除的逻辑块中待迁移的数据页后发送的,所述待迁移的数据页为所述待擦除的逻辑块中的有效逻辑地址对应的数据页,所述数据迁移指令携带所述待迁移的数 据页的信息;With reference to the fifth or the sixth possible implementation of the third aspect, in a seventh possible implementation, the receiving module is further configured to receive a data migration instruction sent by a manager, where the data migration instruction is After the manager determines the data page to be migrated in the logical block to be erased, the data page to be migrated is a data page corresponding to a valid logical address in the logical block to be erased, and the data The migration instruction carries the number to be migrated According to the information on the page;
所述存储器还包括迁移模块,用于根据所述数据迁移指令将所述存储器中所述待迁移的数据页进行迁移。The memory further includes a migration module, configured to migrate the data pages to be migrated in the memory according to the data migration instruction.
第四方面,提供一种混合存储装置,包括硬盘、如第二方面的任意一种实现方式中的管理器,以及第三方面的任意一种实现方式所述的存储器,所述存储器作为所述磁盘存储器的缓存。A fourth aspect, a hybrid storage device, comprising: a hard disk, the manager in any one of the implementations of the second aspect, and the memory according to any one of the third aspects, wherein the memory is The cache of disk storage.
第五方面,提供一种存储管理方法,应用于包括存储器的存储系统,所述存储器包括多个物理块,所述方法包括:A fifth aspect provides a storage management method for a storage system including a memory, the memory including a plurality of physical blocks, the method comprising:
接收数据写请求,为待写入数据页确定逻辑块;Receiving a data write request to determine a logical block for the page to be written;
将所述待写入数据页的逻辑地址记录至所述逻辑块中;Logging the logical address of the page to be written into the logical block;
向所述存储器发送数据写指令,其中,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;所述数据写指令用于指示所述存储器根据所述数据写指令将所述逻辑块对应的待写入数据页写入所述逻辑块对应的物理块中。Sending a data write instruction to the memory, wherein the data write instruction carries logical space information of the page to be written and the page to be written; the data write instruction is used to indicate that the memory is The data write instruction writes a page to be written corresponding to the logical block into a physical block corresponding to the logical block.
结合第五方面,在第一种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述逻辑块信息。With reference to the fifth aspect, in a first possible implementation, the logical space information of the data page to be written is the logical block information.
结合第五方面,在第二种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述待写入数据页的逻辑地址,所述存储器中记录存储器的逻辑块信息,所述存储器在接收到所述数据写指令,根据所述待写入数据页的逻辑地址及所述存储器的逻辑块信息,确定所述逻辑块的信息。With reference to the fifth aspect, in a second possible implementation, the logical space information of the data page to be written is a logical address of the data page to be written, and the logical block information of the memory is recorded in the memory. Receiving the data write instruction, the memory determines the information of the logic block according to the logical address of the data page to be written and the logical block information of the memory.
结合第五方面的第一种或者第二种可能的实现方式中,在第三种可能的实现方式中,根据每个逻辑块对应的数据页,确定待擦除的逻辑块;With reference to the first or the second possible implementation manner of the fifth aspect, in a third possible implementation manner, the logic block to be erased is determined according to the data page corresponding to each logic block;
向所述存储器发送擦除指令,所述擦除指令携带所述待擦除的逻辑块的信息,所述擦除指令用于指示所述存储器根据所述擦除指令中的所述待擦除的逻辑块的信息和所述存储器中设置的物理块与逻辑 块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。Sending an erase command to the memory, the erase command carrying information of the logic block to be erased, the erase command being used to instruct the memory to be erased according to the erase command Information of the logical block and the physical block and logic set in the memory Corresponding relationships of blocks, determining physical blocks to be erased, and erasing the physical blocks to be erased.
结合第五方面的第三种可能的实现方式,在第四种可能的实现方式中,所述方法还包在确定需要对已存储的数据页进行更新时,将所述已存储的数据页对应的逻辑块中记录的所述已存储的数据页的逻辑地址置为无效;With reference to the third possible implementation manner of the fifth aspect, in a fourth possible implementation, the method further includes: when determining that the stored data page needs to be updated, corresponding to the stored data page The logical address of the stored data page recorded in the logical block is invalid;
选择无效逻辑地址数量多的逻辑块作为所述待擦除的逻辑块。A logical block having a large number of invalid logical addresses is selected as the logical block to be erased.
结合第五方面的第四种可能的实现方式,在第五种可能的实现方式中,在所述向所述存储器发送所述擦除指令之前,对逻辑块中有效的逻辑地址进行迁移,确定所述有效的逻辑地址对应的数据页为待迁移的数据页;With reference to the fourth possible implementation manner of the fifth aspect, in a fifth possible implementation, before the sending the erasing instruction to the memory, the valid logical address in the logic block is migrated and determined The data page corresponding to the valid logical address is a data page to be migrated;
向所述存储器发送数据迁移指令,所述数据迁移指令携带所述待迁移的数据页的信息,所述数据迁移指令用于指示所述存储器将所述存储器中所述待迁移的数据页进行迁移。Transmitting, to the memory, a data migration instruction, where the data migration instruction carries information of the data page to be migrated, where the data migration instruction is used to instruct the memory to migrate the data page to be migrated in the memory .
第六方面,提供一种存储管理方法,应用于存储器;包括:In a sixth aspect, a storage management method is provided for use in a memory;
接收数据写指令,所述数据写指令携带待写入数据页及所述待写入数据页的逻辑空间信息,所述数据写指令是由管理器在接收到数据写请求,为所述待写入数据页确定逻辑块,并将所述待写入数据页的逻辑地址记录至所述逻辑块之后发送的;Receiving a data write instruction, the data write instruction carrying logical space information of the data page to be written and the data page to be written, where the data write instruction is received by the manager, and the data write request is Entering a data page to determine a logical block, and recording the logical address of the data page to be written to the logical block and transmitting the logical address;
根据所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。Acquiring logical block information according to the logical space information of the data page to be written in the data write instruction, determining a physical block corresponding to the logical block according to the logical block information, and writing the data page to be written The logical block corresponds to a physical block.
结合第六方面,在第一种可能的实现方式中,所述存储器中还预先配置物理块与逻辑块的对应关系,其中,所述每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块;则所述根据所述逻辑块信息确定所述逻辑块对应的物理块具体为:根据所述逻辑块信息查询所述物理块与逻辑块的对应关系确定所述逻辑块对应的物理块。With reference to the sixth aspect, in a first possible implementation manner, a correspondence between a physical block and a logical block is further configured in the memory, where each physical block corresponds to one logical block, and each logical block corresponds to at least one Determining, according to the logical block information, the physical block corresponding to the logical block, according to the logical block information, querying a correspondence between the physical block and the logical block according to the logical block information to determine a physical body corresponding to the logical block Piece.
结合第六方面,在第二种可能的实现方式中,所述存储器中设置 所述逻辑块的分配标识信息,用于标识所述逻辑块是否被分配物理块;In conjunction with the sixth aspect, in a second possible implementation, the setting in the memory The allocation identifier information of the logical block is used to identify whether the logical block is allocated a physical block;
所述根据所述逻辑块信息确定所述逻辑块对应的物理块具体为:Determining, according to the logical block information, that the physical block corresponding to the logical block is specifically:
根据所述逻辑块的信息确定所述逻辑块的分配标识信息;Determining, according to information of the logical block, allocation identification information of the logical block;
根据所述逻辑块的分配标识信息确定所述逻辑块是否被分配对应的物理块;Determining, according to the allocation identification information of the logical block, whether the logical block is allocated a corresponding physical block;
若确定所述逻辑块未被分配对应的物理块,为所述逻辑块分配物理块,并记录所分配的物理块与所述逻辑块的对应关系,其中,每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块。If it is determined that the logical block is not allocated a corresponding physical block, allocate a physical block for the logical block, and record a correspondence between the allocated physical block and the logical block, where each physical block corresponds to one logical block, Each logical block corresponds to at least one physical block.
结合第六方面、第六方面的第一种可能的实现方式或者第二种可能的实现方式,在第三种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述逻辑块信息。With reference to the sixth aspect, the first possible implementation manner of the sixth aspect, or the second possible implementation manner, in a third possible implementation manner, the logical space information of the data page to be written is the logic Block information.
结合第六方面、第六方面的第一种可能的实现方式或者第二种可能的实现方式,在第四种可能的实现方式中,还包括:With reference to the sixth aspect, the first possible implementation manner of the sixth aspect, or the second possible implementation manner, in a fourth possible implementation manner, the method further includes:
所述待写入数据页的逻辑空间信息为所述待写入数据页的逻辑地址,所述存储器中记录存储器的逻辑块信息,所述存储器在接收到所述数据写指令,根据所述待写入数据页的逻辑地址及所述存储器的逻辑块信息,确定所述逻辑块的信息。The logical space information of the data page to be written is a logical address of the data page to be written, the logical block information of the memory is recorded in the memory, and the memory receives the data write instruction, according to the waiting The logical address of the data page and the logical block information of the memory are written to determine information of the logical block.
结合第六方面的第一种或者第二种可能的实现方式,在第五种可能的实现方式中,所述方法还包括:In conjunction with the first or second possible implementation of the sixth aspect, in a fifth possible implementation, the method further includes:
接收擦除指令,所述擦除指令为所述管理器确定待擦除的逻辑块后发送的,所述擦除指令携带所述待擦除的逻辑块的信息;Receiving an erase command, the erase command being sent after the manager determines a logic block to be erased, where the erase command carries information of the logic block to be erased;
根据所述擦除指令中的所述待擦除的逻辑块的信息和所述物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。Determining a physical block to be erased according to the information of the logical block to be erased and the corresponding relationship between the physical block and the logical block in the erasing instruction, and erasing the physical block to be erased.
结合第六方面的第四种或者第五种可能的实现方式,在第六种可能的实现方式中,还包括接收数据迁移指令,所述数据迁移指令为管 理器确定所述待擦除的逻辑块中待迁移的数据页后发送的,所述待迁移的数据页为所述待擦除的逻辑块中的有效逻辑地址所对应的数据页,所述数据迁移指令携带所述待迁移的数据页的信息;With reference to the fourth or fifth possible implementation manner of the sixth aspect, in a sixth possible implementation, the method further includes receiving a data migration instruction, where the data migration instruction is After the processor determines the data page to be migrated in the logical block to be erased, the data page to be migrated is a data page corresponding to a valid logical address in the logical block to be erased, The data migration instruction carries information about the data page to be migrated;
根据所述数据迁移指令将所述存储器中所述待迁移的数据页进行迁移。The data pages to be migrated in the memory are migrated according to the data migration instruction.
第七方面,提供一种存储管理器,包括:处理器、存储器、总线和通信接口;In a seventh aspect, a storage manager is provided, including: a processor, a memory, a bus, and a communication interface;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述计算设备运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述存储管理器如下方法:The memory is for storing computer execution instructions, the processor is coupled to the memory via the bus, and when the computing device is running, the processor executes the computer-executed instructions stored by the memory to enable The storage manager is as follows:
接收数据写请求,为待写入数据页确定逻辑块;Receiving a data write request to determine a logical block for the page to be written;
将所述待写入数据页的逻辑地址记录至所述逻辑块中;Logging the logical address of the page to be written into the logical block;
向所述存储器发送数据写指令,其中,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;所述数据写指令用于指示所述存储器根据所述数据写指令将所述逻辑块对应的待写入数据页写入所述逻辑块对应的物理块中。Sending a data write instruction to the memory, wherein the data write instruction carries logical space information of the page to be written and the page to be written; the data write instruction is used to indicate that the memory is The data write instruction writes a page to be written corresponding to the logical block into a physical block corresponding to the logical block.
第八方面,提供一种存储管理器,包括:处理器、存储器、总线和通信接口;In an eighth aspect, a storage manager is provided, including: a processor, a memory, a bus, and a communication interface;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述计算设备运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述存储管理器执行如下方法:The memory is for storing computer execution instructions, the processor is coupled to the memory via the bus, and when the computing device is running, the processor executes the computer-executed instructions stored by the memory to enable The storage manager performs the following methods:
接收数据写指令,所述数据写指令携带待写入数据页及所述待写入数据页的逻辑空间信息,所述数据写指令是由管理器在接收到数据写请求,为所述待写入数据页确定逻辑块,并将所述待写入数据页的逻辑地址记录至所述逻辑块之后发送的;Receiving a data write instruction, the data write instruction carrying logical space information of the data page to be written and the data page to be written, where the data write instruction is received by the manager, and the data write request is Entering a data page to determine a logical block, and recording the logical address of the data page to be written to the logical block and transmitting the logical address;
根据所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。 Acquiring logical block information according to the logical space information of the data page to be written in the data write instruction, determining a physical block corresponding to the logical block according to the logical block information, and writing the data page to be written The logical block corresponds to a physical block.
在第九方面,提供一种计算机可读介质,包括计算机执行指令,当计算机的处理器执行所述计算机执行指令时,所述计算机执行如下方法:In a ninth aspect, a computer readable medium is provided comprising computer executed instructions that, when executed by a processor of a computer, execute the following method:
接收数据写请求,为待写入数据页确定逻辑块;Receiving a data write request to determine a logical block for the page to be written;
将所述待写入数据页的逻辑地址记录至所述逻辑块中;Logging the logical address of the page to be written into the logical block;
向所述存储器发送数据写指令,其中,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;所述数据写指令用于指示所述存储器根据所述数据写指令将所述逻辑块对应的待写入数据页写入所述逻辑块对应的物理块中。Sending a data write instruction to the memory, wherein the data write instruction carries logical space information of the page to be written and the page to be written; the data write instruction is used to indicate that the memory is The data write instruction writes a page to be written corresponding to the logical block into a physical block corresponding to the logical block.
在第十方面,提供一种计算机可读介质,包括计算机执行指令,当计算机的处理器执行所述计算机执行指令时,所述计算机执行如下方法:In a tenth aspect, a computer readable medium is provided, comprising computer executed instructions that, when executed by a processor of a computer, execute the following method:
接收数据写指令,所述数据写指令携带待写入数据页及所述待写入数据页的逻辑空间信息,所述数据写指令是由管理器在接收到数据写请求,为所述待写入数据页确定逻辑块,并将所述待写入数据页的逻辑地址记录至所述逻辑块之后发送的;Receiving a data write instruction, the data write instruction carrying logical space information of the data page to be written and the data page to be written, where the data write instruction is received by the manager, and the data write request is Entering a data page to determine a logical block, and recording the logical address of the data page to be written to the logical block and transmitting the logical address;
根据所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。Acquiring logical block information according to the logical space information of the data page to be written in the data write instruction, determining a physical block corresponding to the logical block according to the logical block information, and writing the data page to be written The logical block corresponds to a physical block.
本发明通过对SSD划为逻辑块,并在逻辑块中记录存储在SSD中的数据页的逻辑地址,建立逻辑块与SSD中的物理块的对应关系,从而管理层可以通过对逻辑块中记录的数据页的逻辑地址对SSD中存储的数据页进行管理,从而减少了FTL所执行的操作,提升了SSD的性能。The invention establishes the correspondence between the logical block and the physical block in the SSD by dividing the SSD into a logical block and recording the logical address of the data page stored in the SSD in the logical block, so that the management layer can record through the logical block The logical address of the data page manages the data pages stored in the SSD, thereby reducing the operations performed by the FTL and improving the performance of the SSD.
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面 将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following The drawings used in the embodiments or the description of the prior art will be briefly described. It is obvious that the drawings in the following description are only some embodiments of the present invention, and those of ordinary skill in the art Other drawings can also be obtained from these drawings on the premise of creative labor.
图1为现有技术中SSD作为HDD的缓存使用的系统的架构图。FIG. 1 is an architectural diagram of a system used in the prior art for an SSD as a cache of an HDD.
图2为现有技术中SSD进行数据更新时数据地址变化的示意图。FIG. 2 is a schematic diagram showing changes in data addresses when data is updated by an SSD in the prior art.
图3为本发明实施例提供的存储系统的架构图。FIG. 3 is a structural diagram of a storage system according to an embodiment of the present invention.
图4为图3所示的实施例中逻辑块与物理块的对应关系的示意图。4 is a schematic diagram of a correspondence relationship between a logical block and a physical block in the embodiment shown in FIG. 3.
图5为在图3所示的实施例中在对已存储的数据进行更新时,逻辑块中的逻辑地址变化的示意图。Figure 5 is a diagram showing the change of logical addresses in a logical block when updating stored data in the embodiment shown in Figure 3.
图6为在图3所示的实施例中在擦除物理块之前,对待擦除物理块中的数据进行迁移的示意图。6 is a schematic diagram of migration of data in a physical block to be erased prior to erasing a physical block in the embodiment shown in FIG.
图7为本发明实施例中提供的存储管理装置的方块图。FIG. 7 is a block diagram of a storage management apparatus according to an embodiment of the present invention.
图8为本发明实施例中提供的SSD的结构图。FIG. 8 is a structural diagram of an SSD provided in an embodiment of the present invention.
图9为本发明实施例提供的混合存储装置的结构图。FIG. 9 is a structural diagram of a hybrid storage device according to an embodiment of the present invention.
图10本发明实施例中管理器将数据写入SSD的方法的流程图。FIG. 10 is a flow chart of a method for a manager to write data to an SSD in an embodiment of the present invention.
图11为本发明实施例中管理器控制SSD进行数据擦除的方法的流程图。FIG. 11 is a flowchart of a method for a manager to control an SSD for data erasing according to an embodiment of the present invention.
图12为本发明实施例中的计算机的结构组成示意图。FIG. 12 is a schematic structural diagram of a computer in an embodiment of the present invention.
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, but not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
本发明实施例中的存储器为包括多个物理块,擦除原来的数据才能写入新的数据,且以页为单位写入数据,而以物理块为单位擦除数据,这种存储器的代表为SSD存储器,下面的实施例中即以SSD为例 进行说明。The memory in the embodiment of the present invention includes a plurality of physical blocks, the original data is erased to write new data, and the data is written in units of pages, and the data is erased in units of physical blocks. For SSD memory, the following example uses SSD as an example. Be explained.
如图1,为现有技术中SSD作为HDD的缓存使用的系统的架构图。一般将经常访问的数据存储在SSD101中,并通过管理器103对SSD101和HDD102进行统一管理。所述管理器103通过映射表记录着哪些HDD102数据缓存在SSD101中。当一个请求到达时,所述管理器103查找映射表,判断所请求的数据是否存储在SSD101上。如果数据存储在SSD101上,则从SSD101中读取数据;如果数据不在SSD101上,则从HDD102中读取数据。如果SSD101中的数据写满,则进行数据擦除,将不常用的数据替换出去。FIG. 1 is an architectural diagram of a system used in the prior art for an SSD as a cache of an HDD. The frequently accessed data is generally stored in the
对于图1所示的架构,当所述SSD101与所述HDD102作为混合硬盘使用时,所述管理器103可以为所述混合硬盘的控制器,当所述SSD101与所述HDD102分别作为独立的设备接入计算机时,所述管理器101可以装载在所述计算机的操作系统中或者作为独立的模块装载在所述计算机中。上述图1中SSD作为HDD的缓存使用,在其他的应用场景中,SSD也可以独立作为存储设备。本发明可以运用于如图1所示的架构中,也可以运用于SSD其它的应用场景中。For the architecture shown in FIG. 1 , when the
所述SSD一般为与非(not and,NAND)闪存,可以包括多个物理块(如1024个),每个物理块包括多个物理页(如64个)。其中物理页是读、写数据的基本单元,而物理块是SSD进行数据擦除的基本单元。The SSD is generally a NAND flash memory and may include multiple physical blocks (eg, 1024), each of which includes multiple physical pages (eg, 64). The physical page is the basic unit for reading and writing data, and the physical block is the basic unit for data erasure by SSD.
所述SSD包括闪存转换层(Flash translation layer,FTL),所述FTL可以用来记录数据的逻辑地址(Logical Block Address,LBA)与SSD中的物理地址(Physical Block Address,PBA)的对应关系,根据逻辑地址与物理地址的对应关系执行数据的读或者写操作。The SSD includes a Flash translation layer (FTL), and the FTL can be used to record a correspondence between a logical address (LBA) of a data and a physical block address (PBA) in the SSD. The reading or writing operation of the data is performed according to the correspondence between the logical address and the physical address.
另外,当需要对SSD上的数据进行更新时,所述FTL还可以把更新后的“新数据”写入到SSD10的空闲物理页并更新数据的LBA和SSD中的PBA的对应关系,并把包含“旧数据”的物理页标记为无效页。如图2所示,若所述数据更新请求为对page 0中的数据进行更新,则FTL将更新后的page0的数据写入到物理地址为n+2的物理页中,而将Page 0的所在的物理地址为n的物理页标识为无效。 In addition, when it is necessary to update the data on the SSD, the FTL may also write the updated “new data” to the idle physical page of the SSD 10 and update the correspondence between the LBA of the data and the PBA in the SSD, and Physical pages containing "old data" are marked as invalid pages. As shown in FIG. 2, if the data update request is to update the data in page 0, the FTL writes the updated page 0 data to the physical page with the physical address n+2, and the page 0 The physical page ID of the physical address n is invalid.
在SSD写满之后,需要进行物理块的替换,FTL选择无效页数量比较多的物理块进行擦除以释放空间存储新的数据。但由于SSD所擦除的物理块中可能包括大量的有效的数据页,这就需要把这些有效页的数据页迁移到另外的空闲位置后,再对需要擦除的物理块中的数据进行擦除,这个过程即为垃圾回收。After the SSD is full, physical block replacement is required, and the FTL selects a physical block with a larger number of invalid pages to erase to free up space to store new data. However, since the physical block erased by the SSD may include a large number of valid data pages, it is necessary to migrate the data pages of the valid pages to another free location, and then wipe the data in the physical block that needs to be erased. In addition, this process is garbage collection.
此外,FTL还要执行负载均衡等操作。In addition, FTL also performs operations such as load balancing.
本发明实施例所提供的技术方案旨在减少FTL所执行的操作。本发明实施例所提供的技术方案为通过对SSD划为逻辑块,并在逻辑块中记录存储在SSD中的数据页的逻辑地址,建立逻辑块与SSD中的物理块的对应关系,从而管理层可以通过对逻辑块及逻辑块中记录的数据页的逻辑地址对SSD中的物理块及物理块中存储的数据页进行管理,减少了FTL所执行的操作,从而提升了SSD的性能。The technical solution provided by the embodiments of the present invention aims to reduce the operations performed by the FTL. The technical solution provided by the embodiment of the present invention is to manage the correspondence between the logical block and the physical block in the SSD by dividing the SSD into a logical block and recording the logical address of the data page stored in the SSD in the logical block, thereby managing The layer can manage the physical blocks in the SSD and the data pages stored in the physical blocks by logical addresses of the data pages recorded in the logical blocks and the logical blocks, thereby reducing the operations performed by the FTL, thereby improving the performance of the SSD.
下面即通过本发明的不同的实施例对技术方案做详细的描述。The technical solution will be described in detail below through different embodiments of the present invention.
如图3所示,为本发明一实施例提供的存储系统30的架构图。所述存储系统30包括管理器301及SSD302。所述SSD302包括多个物理块303。所述管理器301接收数据写请求,为待写入数据页确定逻辑块,将所述待写入数据页的逻辑地址记录至所述逻辑块中,并向所述SSD302发送数据写指令,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息,所述逻辑空间信息可以为所述逻辑块信息或者所述待写入数据页的逻辑地址。As shown in FIG. 3, it is an architectural diagram of a
所述SSD302用于接收所述数据写指令,由所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块303,将所述待写入数据页写入所述逻辑块对应的物理块303中。The
所述管理器301所接收的所述数据写请求用于向所述SSD302写入数据,向所述SSD302写入的数据可以为第一次被写入所述存储系统30的数据,也可以为对已存储在SSD302上的数据进行更新的数据,也可以为从硬盘(图未示)中调入所述SSD302的数据。The data write request received by the
在所述SSD302预先配置了物理块303与逻辑块的对应关系,如图4所示,所述每个物理块303对应一个逻辑块,每个逻辑块对应至少一
个物理块303。如此,在所述SSD302在接收到所述数据写指令后,可以根据所述数据写指令中的所述逻辑块的信息查询所述物理块与逻辑块的对应关系,确定所述逻辑块对应的物理块303,将所述逻辑块对应的待写入数据页写入所述逻辑块对应的物理块303中。通过上面的方式,可以使逻辑块与物理块关联起来,且通过逻辑块中记录的数据页的逻辑地址将物理块303中记录的数据页与逻辑块关联起来,即可以通过对逻辑块的管理实现对SSD302中的物理块303的管理。A corresponding relationship between the
在另一种实现方式中,所述逻辑块与物理块303之间的对应关系不是预先设置好的,而是动态分配的,具体为:所述存储器中设置所述逻辑块的分配标识信息,用于标识所述逻辑块是否被分配物理块303;所述存储器根据所述逻辑块信息确定所述逻辑块对应的物理块303具体为:所述存储器根据所述逻辑块信息确定所述逻辑块的分配标识信息,根据所述分配标识信息确定所述逻辑块是否被分配物理块303,若确定所述逻辑块未被分配物理块303,则为所述逻辑块分配物理块303,并记录所分配的物理块303与逻辑块的对应关系,确定所分配的物理块303为所述逻辑块对应的物理块303。In another implementation manner, the correspondence between the logical block and the
进一步地,在本实施例中,在确定需要对已存储的数据页进行更新时,将所述已存储的数据页对应的逻辑块中所记录的所述已存储的数据页的逻辑地址置为无效。如图5所示,若记录在逻辑块A中的数据页Page0、page3、page4及page 5被更新,则记录在逻辑块A中的数据页Page0、page3、page4及page 5的逻辑地址LA0、LA3、LA4、LA5被设置为无效。Further, in this embodiment, when it is determined that the stored data page needs to be updated, the logical address of the stored data page recorded in the logical block corresponding to the stored data page is set to invalid. As shown in FIG. 5, if the data pages Page0, page3, page4, and
进一步地,本实施例可通过管理器301控制SSD302中物理块303的擦除,具体为:所述管理器301确定待擦除的逻辑块,向所述SSD302发送擦除指令,所述擦除指令携带所述待擦除的逻辑块的信息。Further, in this embodiment, the erasing of the
所述SSD302接收所述擦除指令,根据所述擦除指令中的所述待擦除的逻辑块的信息和所述物理块303与逻辑块的对应关系,确定待擦除的物理块303,以及擦除所述待擦除的物理块303。The
本实施例中,所述管理器301选择无效逻辑地址数量多的逻辑块作为所述待擦除的逻辑块。
In this embodiment, the
在确定待擦除的物理块303后,所述SSD302为所述待擦除的逻辑块重新分配物理块,并更新所述待擦除的逻辑块的分配标识信息,之后再擦除所述待擦除的物理块303。这样待擦除的逻辑块可以立即被重新使用,而不需要等到物理块擦除完之后再使用,从而提高了系统的性能。After determining the
进一步地,在本实施例中,所述管理器301在向所述SSD302发送所述擦除指令之前,还迁移所述待擦除的物理块303中的有效的逻辑地址,并确定所述有效的逻辑地址对应的数据页为待迁移的数据页,并向所述SSD302发送数据迁移指令,所述数据迁移指令携带所述待迁移的数据页的信息。Further, in this embodiment, the
所述SSD302根据所述数据迁移指令将所述SSD302中所述待迁移的数据页进行迁移。The
在进行数据迁移时,所述数据迁移指令携带的所述待迁移的数据页的信息为待迁移的数据页的逻辑地址,所述SSD302在接收到所述数据迁移指令后,根据所述数据迁移指令中的所述待迁移的数据页的逻辑地址在所述待擦除的物理块中找到待迁移的数据页,然后对待迁移的数据页进行迁移。The information of the data page to be migrated carried by the data migration instruction is a logical address of a data page to be migrated, and the
如图7所示,若逻辑块A因为无效的逻辑页的数量比较多而被选择为待擦除的逻辑块,但在逻辑块A中还存在有效的逻辑地址LA16及LA17,则将所述有效的逻辑地址LA16及LA17迁移到逻辑块B中。As shown in FIG. 7, if the logical block A is selected as the logical block to be erased because the number of invalid logical pages is relatively large, but there are valid logical addresses LA16 and LA17 in the logical block A, the The valid logical addresses LA16 and LA17 are migrated to the logical block B.
所述SSD302接收到所述数据迁移指令后,则根据逻辑地址LA16及LA17在待擦除的逻辑块A对应的待擦除的物理块B中找到待迁移的数据页page16及page17,然后将待迁移的数据页page16及page17迁移到逻辑块B所对应的物理块C中。在数据迁移完后,所述SSD302即可对待擦除的物理块A及物理块B进行擦除。After receiving the data migration instruction, the
如图7所示,为本发明一实施例中提供的存储管理装置的方块图。所述存储管理装置70应用于存储系统,所述存储系统包括SSD,所述SSD包括多个物理块。所述第一存储管理装置70包括逻辑块管理模块702、写入指示模块703、擦除指示模块704及迁移指示模块705。FIG. 7 is a block diagram of a storage management apparatus according to an embodiment of the present invention. The
所述逻辑块管理模块702用于接收数据写请求,为待写入数据页
确定逻辑块,将所述待写入数据页的逻辑地址记录至所述逻辑块中。The logic
所述写入指示模块703用于根据所述逻辑块管理模块702为所述待写入数据页确定的逻辑块,向所述SSD发送数据写指令,其中,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;所述数据写指令用于指示所述SSD根据所述数据写指令将所述逻辑块对应的待写入数据页写入所述逻辑块对应的物理块中。The
所述待写入数据页的逻辑空间信息为所述逻辑块信息或者所述待写入数据页的逻辑地址。The logical space information of the data page to be written is the logical block information or the logical address of the data page to be written.
所述数据写指令进一步指示所述SSD根据所述数据写指令中的所述至少一个指定的逻辑块的信息查询所述SSD中设置的物理块与逻辑块的对应关系,确定所述至少一个指定的逻辑块对应的物理块,将所述至少一个指定的逻辑块对应的待写入数据页写入所述至少一个指定的逻辑块对应的物理块中。The data write instruction further instructs the SSD to query a correspondence between a physical block and a logical block set in the SSD according to the information of the at least one specified logical block in the data write instruction, and determine the at least one designation. The physical block corresponding to the logical block, the page to be written corresponding to the at least one specified logical block is written into the physical block corresponding to the at least one specified logical block.
所述擦除指示模块704用于确定待擦除的逻辑块,向所述SSD发送擦除指令,所述擦除指令携带所述待擦除的逻辑块的信息,所述擦除指令用于指示所述SSD根据所述擦除指令中的所述待擦除的逻辑块的信息和所述SSD中设置的物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。The
进一步地,所述逻辑块管理模块702在确定需要对已存储的数据页进行更新时,将所述已存储的数据页对应的逻辑块中所记录的所述已存储的数据页的逻辑地址置为无效;Further, the logic
所述擦除指示模块704选择无效逻辑地址数量多的逻辑块作为所述待擦除的逻辑块。The erase
在所述擦除指示模块704在向所述SSD发送所述擦除指令之前,所述迁移指示模块705用于将所述待擦除的逻辑块中的有效的逻辑地址进行迁移,确定有效的逻辑地址对应的数据页为待迁移的数据页,并向所述SSD发送数据迁移指令,所述数据迁移指令携带所述待迁移的数据页的信息,所述数据迁移指令用于指示所述SSD将所述SSD中所述待迁移的数据页进行迁移。Before the erasing
如图8所示,为本发明一实施例提供的SSD的方块图。所述SSD80
可以应用于一存储系统,所述存储系统包括管理器。所述SSD80包括接收模块802、写入模块803、擦除模块804、及迁移模块805。FIG. 8 is a block diagram of an SSD according to an embodiment of the present invention. The SSD80
It can be applied to a storage system that includes a manager. The
所述接收模块802用于接收数据写指令,所述数据写指令携带待写入数据页及所述待写入数据页的逻辑空间信息,所述数据写指令是由管理器在接收到数据写请求,为所述待写入数据页确定逻辑块,并将所述待写入数据页的逻辑地址记录至所述逻辑块之后发送的;The receiving
所述写入模块803用于根据所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。The
所述接收模块802还用于接收所述管理器发送的擦除指令,所述擦除指令为所述管理器确定待擦除的逻辑块后发送的,所述擦除指令携带所述待擦除的逻辑块的信息。The receiving
所述擦除模块804用于根据所述擦除指令中的所述待擦除的逻辑块的信息和所述物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。The erasing
所述接收模块802还用于接收所述管理器发送的数据迁移指令,所述数据迁移指令为所述管理器确定所述待擦除的逻辑块中待迁移的数据页后发送的,所述待迁移的数据页为所述待擦除的逻辑块中有效的逻辑地址,所述数据迁移指令携带所述待迁移的数据页的信息。The receiving
所述迁移模块805用于根据所述数据迁移指令将所述SSD中所述待迁移的数据页进行迁移。The
如图9所示,为本发明一实施例提供的一种混合存储装置90的结构图。所述混合存储装置90包括包括管理器901、SSD902、及HDD903,所述SSD902作为所述HDD的缓存,所述SSD902包括多个物理块904。FIG. 9 is a structural diagram of a
所述管理器901所执行的功能与所述存储系统30的管理器301所执行的功能相同,所述SSD902所执行的功能与所述存储系统30的SSD302所执行的功能相同,在此不再赘述。The functions performed by the
本发明一实施例还提供一种存储管理方法,所述存储管理方法可以应用于存储管理系统,所述存储管理系统包括管理器及SSD,所述 SSD包括多个物理块。所述存储管理方法包括三部分,第一部分为管理器将数据写入SSD的方法,第三部分所述管理器控制所述SSD进行数据擦除的方法。An embodiment of the present invention further provides a storage management method, where the storage management method is applicable to a storage management system, where the storage management system includes a manager and an SSD, The SSD includes a plurality of physical blocks. The storage management method includes three parts. The first part is a method for the manager to write data to the SSD, and the third part is the method for the manager to control the SSD for data erasing.
如图10所示,为管理器将数据写入SSD的方法的流程图。As shown in FIG. 10, a flowchart of a method for the manager to write data to the SSD.
步骤S1001,所述管理器接收数据写请求,为待写入数据页确定逻辑块。In step S1001, the manager receives a data write request and determines a logical block for the page to be written.
步骤S1002,所述管理器将所述待写入数据页的逻辑地址记录至所述逻辑块中。Step S1002, the manager records the logical address of the page to be written into the logical block.
步骤S1003,所述管理器向所述SSD发送数据写指令,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息。Step S1003: The manager sends a data write instruction to the SSD, where the data write instruction carries the logical space information of the page to be written and the page to be written.
步骤S1004,所述SSD接收所述数据写指令,根据所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块;Step S1004, the SSD receives the data write instruction, acquires logical block information according to the logical space information of the data page to be written in the data write instruction, and determines, according to the logical block information, the corresponding logical block. Physical block
步骤S1005,所述SSD将所述待写入数据页写入所述逻辑块对应的物理块中。Step S1005, the SSD writes the page to be written into a physical block corresponding to the logical block.
在上述方法中,所述SSD中还预先配置物理块与逻辑块的对应关系,其中,所述每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块,则步骤S1004中根据所述逻辑块信息确定所述逻辑块对应的物理块具体为:根据所述逻辑块信息查询所述物理块与逻辑块的对应关系确定所述逻辑块对应的物理块。In the above method, the corresponding relationship between the physical block and the logical block is also pre-configured in the SSD, wherein each physical block corresponds to one logical block, and each logical block corresponds to at least one physical block, and then the step S1004 is performed according to the method. The logical block information determines that the physical block corresponding to the logical block is specifically: the physical block corresponding to the logical block is determined by querying a correspondence between the physical block and the logical block according to the logical block information.
可替换地,所述SSD中设置所述逻辑块的分配标识信息,用于标识所述逻辑块是否被分配物理块,则则步骤S1004中根据所述逻辑块信息确定所述逻辑块对应的物理块具体为:Alternatively, the allocation identifier information of the logical block is set in the SSD, and is used to identify whether the logical block is allocated a physical block. Then, in step S1004, the physical layer corresponding to the logical block is determined according to the logical block information. The block is specifically:
根据所述逻辑块信息确定所述逻辑块的分配标识信息;Determining, according to the logical block information, allocation identification information of the logical block;
根据所述分配标识信息确定所述逻辑块是否被分配物理块;若确定所述逻辑块未被分配物理块,为所述逻辑块分配物理块,并记录所分配的物理块与逻辑块的对应关系;Determining, according to the allocation identifier information, whether the logical block is allocated a physical block; if it is determined that the logical block is not allocated a physical block, assigning a physical block to the logical block, and recording a correspondence between the allocated physical block and the logical block relationship;
确定所分配的物理块为所述逻辑块对应的物理块。It is determined that the allocated physical block is a physical block corresponding to the logical block.
如图11所示,为所述管理器控制所述SSD进行数据擦除的方法的流程图。 As shown in FIG. 11, a flowchart of a method for the manager to control data erasure by the SSD.
步骤S1101,所述管理器确定待擦除的逻辑块。In step S1101, the manager determines a logical block to be erased.
步骤S1102,所述管理器迁移所述待擦除的逻辑块中的有效的逻辑地址,并确定所述有效的逻辑地址对应的数据页为待迁移的数据页。Step S1102: The manager migrates a valid logical address in the logical block to be erased, and determines that the data page corresponding to the valid logical address is a data page to be migrated.
步骤1103,所述管理器向所述SSD发送数据迁移指令,所述数据迁移指令携带所述待迁移的数据页的信息。Step 1103: The manager sends a data migration instruction to the SSD, where the data migration instruction carries information about the data page to be migrated.
步骤1104,所述SSD接收所述数据迁移指令,根据所述数据迁移指令中的所述待迁移的数据页的信息将所述SSD中所述待迁移的数据页进行迁移。Step 1104: The SSD receives the data migration instruction, and migrates the data page to be migrated in the SSD according to the information of the data page to be migrated in the data migration instruction.
步骤1105,所述管理器向所述SSD发送擦除指令,所述擦除指令携带所述待擦除的逻辑块的信息。
步骤1106,所述SSD接收所述擦除指令,根据所述擦除指令中的所述待擦除的逻辑块的信息和所述物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。
在上述方法中,在确定待擦除的物理块后,还包括为所述待擦除的逻辑块重新分配物理块,并更新所述待擦除的逻辑块的分配标识信息,之后,再删除所述待擦除的物理块In the above method, after determining the physical block to be erased, the method further includes reallocating the physical block for the logical block to be erased, and updating the allocation identification information of the logical block to be erased, and then deleting The physical block to be erased
所述管理器可以根据所述逻辑块中无效的逻辑地址的数量确定待擦除的逻辑块,其中,所述待擦除的逻辑块中包含的无效的逻辑地址的数量大于预设值。The manager may determine a logical block to be erased according to the number of invalid logical addresses in the logical block, wherein the number of invalid logical addresses included in the logical block to be erased is greater than a preset value.
如图12所示,为本发明实施例提供的存储管理器的结构组成示意图。本发明实施例的存储管理器可包括:FIG. 12 is a schematic structural diagram of a storage manager according to an embodiment of the present invention. The storage manager of the embodiment of the present invention may include:
处理器1701、存储器1702、系统总线1704和通信接口1705。CPU1701、存储器1702和通信接口1705之间通过系统总线1704连接并完成相互间的通信。A
处理器1701可能为单核或多核中央处理单元,或者为特定集成电路,或者为被配置成实施本发明实施例的一个或多个集成电路。The
存储器1702可以为高速RAM存储器,也可以为非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。The
存储器1702用于计算机执行指令1703。具体的,计算机执行指令
1703中可以包括程序代码。
当存储管理器运行时,处理器1701运行计算机执行指令1703,可以执行图10或者图11所述的方法流程。When the storage manager is running, the
本发明实施例还提供一种计算机可读介质,包括计算机执行指令,当计算机的处理器执行所述计算机执行指令时,所述计算机执行图10或者图11所述的方法。Embodiments of the present invention also provide a computer readable medium comprising computer executed instructions that, when executed by a processor of a computer, execute the method of FIG. 10 or FIG.
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来请求相关的硬件来完成,所述程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。A person of ordinary skill in the art may understand that all or part of the steps of the foregoing embodiments may be completed by a program requesting related hardware, and the program may be stored in a computer readable storage medium, and the storage medium may include : ROM, RAM, disk or CD.
以上对本发明实施例所提供的数据配置及其回退方法和设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。 The data configuration and the method and device for the fallback provided by the embodiments of the present invention are described in detail. The principles and implementations of the present invention are described in the specific examples. The description of the above embodiments is only for help. The method of the present invention and its core idea are understood; at the same time, for those skilled in the art, according to the idea of the present invention, there are changes in the specific embodiments and application scopes. It should be understood that the invention is limited.
Claims (42)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510369175.4 | 2015-06-29 | ||
| CN201510369175.4A CN106326132B (en) | 2015-06-29 | 2015-06-29 | Storage system, storage management device, memory, hybrid storage device, and storage management method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017000821A1 true WO2017000821A1 (en) | 2017-01-05 |
Family
ID=57607790
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2016/086757 Ceased WO2017000821A1 (en) | 2015-06-29 | 2016-06-22 | Storage system, storage management device, storage device, hybrid storage device, and storage management method |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN106326132B (en) |
| WO (1) | WO2017000821A1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109725853A (en) * | 2018-12-04 | 2019-05-07 | 浙江大华技术股份有限公司 | A kind of data recovery method and device |
| CN117389485A (en) * | 2023-12-13 | 2024-01-12 | 苏州元脑智能科技有限公司 | Storage performance optimization method, storage performance optimization device, storage system, electronic equipment and medium |
| CN120892212A (en) * | 2025-09-29 | 2025-11-04 | 苏州元脑智能科技有限公司 | Storage resource recycling methods and electronic devices |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3671423B1 (en) * | 2017-12-29 | 2021-09-01 | Huawei Technologies Co., Ltd. | Data access method and storage array |
| CN113868148B (en) * | 2020-06-30 | 2024-04-09 | 华为技术有限公司 | A method and device for writing data |
| CN118502647A (en) * | 2023-02-14 | 2024-08-16 | 华为技术有限公司 | Storage system, data access method, device and equipment |
| CN121008744A (en) * | 2024-05-23 | 2025-11-25 | 华为技术有限公司 | A storage system and a data storage method |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101477492A (en) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | Circulating rewriting flash memory equalization method used for solid state disk |
| CN101719103A (en) * | 2009-11-25 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | Memory device and information processing method based on same |
| CN102298555A (en) * | 2011-08-22 | 2011-12-28 | 宜兴市华星特种陶瓷科技有限公司 | Modular flash management system based on Not AND (NAND) technology |
| US20120023144A1 (en) * | 2010-07-21 | 2012-01-26 | Seagate Technology Llc | Managing Wear in Flash Memory |
| CN102375779A (en) * | 2010-08-16 | 2012-03-14 | 深圳市朗科科技股份有限公司 | Data processing method and data processing module |
| CN102650931A (en) * | 2012-04-01 | 2012-08-29 | 华为技术有限公司 | Method and system for writing data |
| US8438361B2 (en) * | 2010-03-10 | 2013-05-07 | Seagate Technology Llc | Logical block storage in a storage device |
| CN103761053A (en) * | 2013-12-30 | 2014-04-30 | 华为技术有限公司 | Data and method for data processing |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9183134B2 (en) * | 2010-04-22 | 2015-11-10 | Seagate Technology Llc | Data segregation in a storage device |
-
2015
- 2015-06-29 CN CN201510369175.4A patent/CN106326132B/en active Active
-
2016
- 2016-06-22 WO PCT/CN2016/086757 patent/WO2017000821A1/en not_active Ceased
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101477492A (en) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | Circulating rewriting flash memory equalization method used for solid state disk |
| CN101719103A (en) * | 2009-11-25 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | Memory device and information processing method based on same |
| US8438361B2 (en) * | 2010-03-10 | 2013-05-07 | Seagate Technology Llc | Logical block storage in a storage device |
| US20120023144A1 (en) * | 2010-07-21 | 2012-01-26 | Seagate Technology Llc | Managing Wear in Flash Memory |
| CN102375779A (en) * | 2010-08-16 | 2012-03-14 | 深圳市朗科科技股份有限公司 | Data processing method and data processing module |
| CN102298555A (en) * | 2011-08-22 | 2011-12-28 | 宜兴市华星特种陶瓷科技有限公司 | Modular flash management system based on Not AND (NAND) technology |
| CN102650931A (en) * | 2012-04-01 | 2012-08-29 | 华为技术有限公司 | Method and system for writing data |
| CN103761053A (en) * | 2013-12-30 | 2014-04-30 | 华为技术有限公司 | Data and method for data processing |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109725853A (en) * | 2018-12-04 | 2019-05-07 | 浙江大华技术股份有限公司 | A kind of data recovery method and device |
| CN109725853B (en) * | 2018-12-04 | 2022-10-04 | 浙江大华存储科技有限公司 | Data recovery method and device |
| CN117389485A (en) * | 2023-12-13 | 2024-01-12 | 苏州元脑智能科技有限公司 | Storage performance optimization method, storage performance optimization device, storage system, electronic equipment and medium |
| CN117389485B (en) * | 2023-12-13 | 2024-03-01 | 苏州元脑智能科技有限公司 | Storage performance optimization method, storage performance optimization device, storage system, electronic equipment and medium |
| CN120892212A (en) * | 2025-09-29 | 2025-11-04 | 苏州元脑智能科技有限公司 | Storage resource recycling methods and electronic devices |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106326132A (en) | 2017-01-11 |
| CN106326132B (en) | 2020-03-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106326133B (en) | Storage system, storage management device, memory, hybrid storage device and storage management method | |
| US11481144B1 (en) | Techniques for directed data migration | |
| KR100823171B1 (en) | Computer system with partitioned flash translation layer and partitioning method of flash translation layer | |
| US10776278B2 (en) | Storage control apparatus and computer-readable storage medium storing storage control program | |
| US20160283124A1 (en) | Multi-streamed solid state drive | |
| US9003159B2 (en) | Data caching in non-volatile memory | |
| US10761731B2 (en) | Array controller, solid state disk, and method for controlling solid state disk to write data | |
| JP4452261B2 (en) | Storage system logical volume management method, logical volume management program, and storage system | |
| WO2017000821A1 (en) | Storage system, storage management device, storage device, hybrid storage device, and storage management method | |
| CN106708423B (en) | Multimode Storage Management System | |
| US9053007B2 (en) | Memory system, controller, and method for controlling memory system | |
| CN107908571B (en) | Data writing method, flash memory device and storage equipment | |
| JP2018125025A (en) | Adaptive persistence system, method and interface | |
| US20170075614A1 (en) | Memory system and host apparatus | |
| JP2019079464A (en) | Memory system and control method | |
| TW201818249A (en) | Method of operating a storage device that manages multiple namespaces | |
| CN107391391A (en) | The method, system and solid state hard disc of data copy are realized in the FTL of solid state hard disc | |
| JP2018049522A (en) | Memory system and control method | |
| JP7178916B2 (en) | Memory system and control method | |
| US20130166828A1 (en) | Data update apparatus and method for flash memory file system | |
| CN106569742A (en) | Storage management method and storage equipment | |
| CN110309077B (en) | Method and device for constructing flash translation layer of cooperative work of host and equipment | |
| WO2016123748A1 (en) | Flash memory storage system and read/write and delete methods therefor | |
| CN117130553A (en) | Configuration method of solid state disk, solid state disk and partition storage method | |
| WO2018041258A1 (en) | Method for processing de-allocation command, and storage device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16817185 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 16817185 Country of ref document: EP Kind code of ref document: A1 |