[go: up one dir, main page]

WO2017000821A1 - Système de mémoire, dispositif de gestion de mémoire, mémoire, mémoire hybride et procédé de gestion de mémoire - Google Patents

Système de mémoire, dispositif de gestion de mémoire, mémoire, mémoire hybride et procédé de gestion de mémoire Download PDF

Info

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
Application number
PCT/CN2016/086757
Other languages
English (en)
Chinese (zh)
Inventor
张子刚
熊劲
蒋德钧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of WO2017000821A1 publication Critical patent/WO2017000821A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, 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

La présente invention concerne un système de mémoire, un dispositif de gestion de mémoire, une mémoire, une mémoire hybride et un procédé de gestion de mémoire. Le système de mémoire comprend la mémoire et un gestionnaire. La mémoire comprend de multiples blocs physiques. Le gestionnaire est utilisé pour recevoir une demande d'écriture de données et déterminer un bloc logique pour une page de données à écrire (S1001) ; enregistrer une adresse logique de la page de données à écrire dans le bloc logique (S1002) ; et transmettre une instruction d'écriture de données à un disque à circuits intégrés (SSD), l'instruction d'écriture de données portant la page de données à écrire et les informations d'espace logique de la page de données à écrire (S1003). L'instruction d'écriture de données est reçue, les informations du bloc logique sont acquises sur la base des informations d'espace logique de la page de données à écrire dans l'instruction d'écriture de données et un bloc physique correspondant au bloc logique est déterminé sur la base des informations du bloc logique (S1004) ; et la page de données à écrire est écrite dans le bloc physique correspondant au bloc logique (S1005). Le procédé réduit le travail d'une couche de traduction flash de la mémoire, ce qui permet d'augmenter les performances de la mémoire.
PCT/CN2016/086757 2015-06-29 2016-06-22 Système de mémoire, dispositif de gestion de mémoire, mémoire, mémoire hybride et procédé de gestion de mémoire Ceased WO2017000821A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510369175.4 2015-06-29
CN201510369175.4A CN106326132B (zh) 2015-06-29 2015-06-29 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法

Publications (1)

Publication Number Publication Date
WO2017000821A1 true WO2017000821A1 (fr) 2017-01-05

Family

ID=57607790

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/086757 Ceased WO2017000821A1 (fr) 2015-06-29 2016-06-22 Système de mémoire, dispositif de gestion de mémoire, mémoire, mémoire hybride et procédé de gestion de mémoire

Country Status (2)

Country Link
CN (1) CN106326132B (fr)
WO (1) WO2017000821A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109725853A (zh) * 2018-12-04 2019-05-07 浙江大华技术股份有限公司 一种数据回收方法及装置
CN117389485A (zh) * 2023-12-13 2024-01-12 苏州元脑智能科技有限公司 存储性能优化方法、装置、存储系统、电子设备和介质
CN120892212A (zh) * 2025-09-29 2025-11-04 苏州元脑智能科技有限公司 存储资源回收方法和电子设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3671423B1 (fr) * 2017-12-29 2021-09-01 Huawei Technologies Co., Ltd. Procédé d'accès à des données et réseau de stockage
CN113868148B (zh) * 2020-06-30 2024-04-09 华为技术有限公司 一种数据写入的方法及装置
CN118502647A (zh) * 2023-02-14 2024-08-16 华为技术有限公司 一种存储系统、数据访问方法、装置及设备
CN121008744A (zh) * 2024-05-23 2025-11-25 华为技术有限公司 一种存储系统以及数据存储方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477492A (zh) * 2009-01-21 2009-07-08 华中科技大学 一种用于固态硬盘的循环重写闪存均衡方法
CN101719103A (zh) * 2009-11-25 2010-06-02 成都市华为赛门铁克科技有限公司 基于存储设备的信息处理方法以及存储设备
CN102298555A (zh) * 2011-08-22 2011-12-28 宜兴市华星特种陶瓷科技有限公司 基于nand技术的模块化闪存管理系统
US20120023144A1 (en) * 2010-07-21 2012-01-26 Seagate Technology Llc Managing Wear in Flash Memory
CN102375779A (zh) * 2010-08-16 2012-03-14 深圳市朗科科技股份有限公司 一种数据处理方法以及数据处理模块
CN102650931A (zh) * 2012-04-01 2012-08-29 华为技术有限公司 一种写入数据的方法及系统
US8438361B2 (en) * 2010-03-10 2013-05-07 Seagate Technology Llc Logical block storage in a storage device
CN103761053A (zh) * 2013-12-30 2014-04-30 华为技术有限公司 一种数据处理方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477492A (zh) * 2009-01-21 2009-07-08 华中科技大学 一种用于固态硬盘的循环重写闪存均衡方法
CN101719103A (zh) * 2009-11-25 2010-06-02 成都市华为赛门铁克科技有限公司 基于存储设备的信息处理方法以及存储设备
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 (zh) * 2010-08-16 2012-03-14 深圳市朗科科技股份有限公司 一种数据处理方法以及数据处理模块
CN102298555A (zh) * 2011-08-22 2011-12-28 宜兴市华星特种陶瓷科技有限公司 基于nand技术的模块化闪存管理系统
CN102650931A (zh) * 2012-04-01 2012-08-29 华为技术有限公司 一种写入数据的方法及系统
CN103761053A (zh) * 2013-12-30 2014-04-30 华为技术有限公司 一种数据处理方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109725853A (zh) * 2018-12-04 2019-05-07 浙江大华技术股份有限公司 一种数据回收方法及装置
CN109725853B (zh) * 2018-12-04 2022-10-04 浙江大华存储科技有限公司 一种数据回收方法及装置
CN117389485A (zh) * 2023-12-13 2024-01-12 苏州元脑智能科技有限公司 存储性能优化方法、装置、存储系统、电子设备和介质
CN117389485B (zh) * 2023-12-13 2024-03-01 苏州元脑智能科技有限公司 存储性能优化方法、装置、存储系统、电子设备和介质
CN120892212A (zh) * 2025-09-29 2025-11-04 苏州元脑智能科技有限公司 存储资源回收方法和电子设备

Also Published As

Publication number Publication date
CN106326132A (zh) 2017-01-11
CN106326132B (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
CN106326133B (zh) 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法
US11481144B1 (en) Techniques for directed data migration
KR100823171B1 (ko) 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
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 (ja) ストレージシステムの論理ボリューム管理方法、論理ボリューム管理プログラム、及びストレージシステム
WO2017000821A1 (fr) Système de mémoire, dispositif de gestion de mémoire, mémoire, mémoire hybride et procédé de gestion de mémoire
CN106708423B (zh) 多模存储管理系统
US9053007B2 (en) Memory system, controller, and method for controlling memory system
CN107908571B (zh) 一种数据写入方法、闪存装置及存储设备
JP2018125025A (ja) 適応持続性システム、方法、インタフェース
US20170075614A1 (en) Memory system and host apparatus
JP2019079464A (ja) メモリシステムおよび制御方法
TW201818249A (zh) 操作對多重名稱空間進行管理的儲存裝置的方法
CN107391391A (zh) 在固态硬盘的ftl实现数据拷贝的方法、系统及固态硬盘
JP2018049522A (ja) メモリシステム及び制御方法
JP7178916B2 (ja) メモリシステムおよび制御方法
US20130166828A1 (en) Data update apparatus and method for flash memory file system
CN106569742A (zh) 存储管理方法及存储设备
CN110309077B (zh) 主机与设备协同工作的闪存转换层构建方法及装置
WO2016123748A1 (fr) Système de stockage de mémoire flash et ses procédés de suppression et de lecture/écriture
CN117130553A (zh) 固态硬盘的配置方法、固态硬盘及分区存储方法
WO2018041258A1 (fr) Procédé de traitement de commande de désattribution, et dispositif de mémoire

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