Mapping table updating method

文档序号:1435294 发布日期:2020-03-20 浏览:20次 中文

阅读说明:本技术 映射表更新方法 (Mapping table updating method ) 是由 许贵松 邹定衡 孙健玮 于 2019-05-06 设计创作,主要内容包括:一种映射表更新方法,执行于数据存储装置中,数据存储装置包括非易失性存储器与控制器,且所述映射表更新方法包括如下步骤。首先,令控制器处理自于主机所下达的命令,并且当命令为写入命令时,判断是否触发执行部分垃圾回收程序。如果是,控制器依照分段条件来将至少一来源区块内的局部有效数据复制到目的区块中,并且以所复制的局部有效数据的逻辑地址,及所述局部有效数据所在目的区块的物理地址来更新数据存储装置的逻辑至物理地址映射表,然后返回执行令控制器处理自于主机所下达的命令。(A mapping table updating method is executed in a data storage device, the data storage device comprises a nonvolatile memory and a controller, and the mapping table updating method comprises the following steps. First, the controller processes the command issued by the host, and when the command is a write command, determines whether to trigger execution of a partial garbage collection program. If so, the controller copies the local valid data in at least one source block into a destination block according to the segmentation condition, updates the logical-to-physical address mapping table of the data storage device by the logical address of the copied local valid data and the physical address of the destination block where the local valid data is located, and then returns to execute the command for the controller to process the command issued by the host.)

1. A mapping table updating method implemented in a data storage device, the data storage device comprising a non-volatile memory and a controller, the mapping table updating method comprising:

step A: the controller is enabled to process a command issued by a host, and when the command is a write-in command, whether a part of garbage recycling programs are triggered to be executed or not is judged;

if yes, executing step B: copying the local valid data in at least one source block into a destination block according to a segmentation condition; and

and C: and B, updating a logical-to-physical address mapping table of the data storage device by using the copied logical address of the local valid data and the physical address of the target block where the local valid data is located, and returning to execute the step A.

2. The method for updating a mapping table of claim 1, wherein the nonvolatile memory comprises a plurality of blocks, each of the plurality of blocks further comprises a plurality of pages, and the plurality of blocks are divided into an idle block, an active block and a data block, and the at least one source block is selected from the plurality of data blocks and the destination block is selected from the plurality of idle blocks.

3. The mapping table updating method of claim 2, wherein in the step B, the controller further creates a logical-to-physical address backup table for recording the logical address of the copied locally valid data and the physical address of the source block where the locally valid data is located.

4. The mapping table updating method of claim 3, wherein after determining that the execution of the partial garbage collector is triggered, the mapping table updating method further comprises:

judging whether the target block has an abnormal event or not, wherein the abnormal event comprises a power-off event or a write/read back failure;

if yes, step A1 is executed first: according to the logic-to-physical address backup table, the logic-to-physical address mapping table is repeated, and then the step B and the step C are continuously executed; and

if not, directly executing the step B and the step C.

Technical Field

The present invention relates to a mapping table updating method, and more particularly, to a mapping table updating method for a Logical-to-Physical Address (Logical-to-Physical Address) in response to a Garbage Collection (GC) program.

Background

Generally, a data storage device is composed of a controller and a nonvolatile memory, such as a flash memory (flash memory), and the usage of the nonvolatile memory is mainly managed by a mapping table, for example, a logical-to-physical address mapping table is used to display the mapping relationship between a logical address of a host and a physical address of the nonvolatile memory. Therefore, how to maintain the mapping table is an important issue in the art, and particularly, when the data storage device copies valid data in a Source Block (Source Block) to a Destination Block (Destination Block) in response to a garbage collection procedure, a method for accurately updating the logical-to-physical address mapping table is needed in the art.

Disclosure of Invention

To achieve the above objective, an embodiment of the present invention provides a mapping table updating method implemented in a data storage device, where the data storage device includes a nonvolatile memory and a controller, and the mapping table updating method includes the following steps. First, the controller processes the command issued by the host, and when the command is a write command, determines whether to trigger execution of a partial garbage collection program. If so, the controller copies the local valid data in at least one source block into a destination block according to the segmentation condition, updates the logical-to-physical address mapping table of the data storage device by the logical address of the copied local valid data and the physical address of the destination block where the local valid data is located, and then returns to execute the command for the controller to process the command issued by the host.

For a better understanding of the nature and technical content of the present invention, reference should be made to the following detailed description of the invention and the accompanying drawings, which are provided for illustration purposes only and are not intended to limit the scope of the invention.

Drawings

FIG. 1 is a block diagram of a data storage device according to an embodiment of the present invention.

Fig. 2 is a schematic diagram illustrating an operation of the garbage recycling process according to an embodiment of the present invention.

Fig. 3 is a flowchart illustrating a mapping table updating method according to an embodiment of the present invention.

Fig. 4A to 4C are schematic diagrams illustrating operations of steps S320 to S330 in the mapping table updating method of fig. 3.

Fig. 5 is a flowchart illustrating a mapping table updating method according to another embodiment of the present invention.

FIG. 6 is a diagram illustrating operations of replying to the L2P table according to the L2P backup table in the mapping table updating method of FIG. 5.

Detailed Description

Hereinafter, the present invention will be described in detail by illustrating various embodiments of the present invention by means of the drawings. The inventive concept may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. Moreover, in the drawings, like reference numerals may be used to denote similar elements.

Referring to fig. 1, fig. 1 is a functional block diagram of a data storage device according to an embodiment of the present invention. The data storage device 1 includes a nonvolatile memory 110 and a controller 120, and the nonvolatile memory 110 includes a plurality of blocks (not shown), each block includes a plurality of Pages (Pages), and each page is used for storing one host data or a plurality of host data. In the present embodiment, a piece of host data is preferably 4KB, but the invention is not limited thereto. In summary, a page is the smallest unit for writing or reading data, and a block is the smallest unit for erasing data. Therefore, the blocks can be further divided into idle (Spare) blocks, Active (Active) blocks and data blocks according to their functions, wherein the idle blocks are blocks that can be selected and written with data, the Active blocks are blocks that have been selected and are being written with data, and the data blocks are blocks that complete data writing and are no longer written with data. It should be noted that the present invention is not limited to the specific implementation of the blocks and the pages, and those skilled in the art should be able to design them according to actual needs or applications. In addition, in the embodiment, the nonvolatile memory 110 is preferably implemented by a flash memory, but the invention is not limited thereto.

The controller 120 is electrically coupled to the nonvolatile memory 110 and is used for controlling data access in the nonvolatile memory 110. It should be understood that the data storage device 1 is generally used with the host 2, and writes host data to the nonvolatile memory 110 or reads host data from the nonvolatile memory 110 according to write/read commands issued by the host 2. Thus, in the present embodiment, the controller 120 is preferably a flash controller (FlashController) and includes interface logic 122, a microprocessor 124, and control logic 126. The microprocessor 124 is electrically coupled to the interface logic 122 and the control logic 126, and is configured to receive write/read commands issued by the host 2 through the interface logic 122 and access host data in the nonvolatile memory 110 through the control logic 126. In addition, in the present embodiment, the data storage device 1 further includes a Dynamic Random Access Memory (DRAM) 130 electrically coupled to the controller 120 and used as a data buffer. Alternatively, in other embodiments, the controller 120 of the data storage apparatus 1 may also directly use a DRAM (not shown) of the host 2 as a data buffer.

As mentioned above, in order to manage and access data, the data storage device 1 must establish and store at least one mapping table, such as a logical-to-physical address mapping table, which is abbreviated as L2P table in the present embodiment, and when the data storage device 1 is in operation, the microprocessor 124 reads the L2P table from the nonvolatile memory 110 and uploads the L2 table to the DRAM130 or the DRAM of the host 2, so as to increase the efficiency of data management and access. However, for the data storage device 1 in which the size of the DRAM130 or the DRAM of the host 2 is not large enough to store a whole L2P table, i.e. in the case where the DRAM130 or the DRAM of the host 2 can only store the local L2P table, the microprocessor 124 must frequently access the L2P table in the nonvolatile memory 110 to Swap (Swap) or replace the local L2P table temporarily stored in the DRAM130 or the DRAM of the host 2. Therefore, in order to effectively manage the L2P table, the L2P table is preferably divided into a plurality of sub L2P tables, such as 1024 sub L2P tables, so that the controller 120 can upload all or a plurality of sub L2P tables to the DRAM130 or the DRAM of the host 2 according to the size of the DRAM130 or the DRAM of the host 2.

In addition, the Logical Address of the Host shown in the L2P table can be implemented in various forms, such as a Logical Block Address (LBA) or a Global Host Page (GHP), and the Logical Block Address LBA and the Global Host Page GHP preferably correspond to Host data with different sizes, such as 512B and 4KB Host data, respectively. In addition, the L2P table is preferably established in the order of the global host pages GHP, i.e., the global host pages GHP can be the entry (index) values, and the physical address of the non-volatile memory 110 can be the content value of the entry (index), so that the size of the L2P table can be effectively reduced. However, for the convenience of the following description, the L2P table of the present embodiment preferably uses the global host page GHP as an index, and records which physical address of the nonvolatile memory 110, i.e., which page of which block the host data of each global host page GHP is stored in, but the invention is not limited thereto.

On the other hand, the non-volatile memory 110 has a special physical property that the data update is not duplicated at the same physical address, but the updated host data is written to an idle physical address, and the global host page GHP is mapped to a new physical address, and the old host data at the original physical address can be converted into invalid data. Thus, frequent write operations inevitably flood the nonvolatile memory 110 with invalid data, and garbage collection procedures are developed accordingly. In this embodiment, the triggering condition for executing the garbage collection procedure may be, for example, that the total number of the idle blocks of the nonvolatile memory 110 is lower than a first threshold, or that the number of times of reading any data block is higher than a second threshold, or that the setup time of any data block is longer than a third threshold, but the invention is not limited thereto. In summary, the present invention is not limited to the triggering condition for executing the garbage collection procedure, and those skilled in the art should be able to design the triggering condition according to the actual requirement or application. Next, fig. 2 will be used to explain the operation principle of the garbage collection program of the present embodiment, wherein the hatched portion of fig. 2 is used to indicate invalid data.

As shown in fig. 2, if two data blocks, for example, the block Blk2 and the block Blk3, are selected as the source block, the data storage device 1 will continuously copy all valid data in the source block Blk2 and the source block Blk3, for example, host data of global host pages GHP 0-GHP 5, to the destination block, for example, the block Blk10, selected in response to the garbage collection procedure, so as to complete the garbage collection procedure. It is understood that the destination block Blk10 is preferably selected from a pool of idle blocks (not shown) comprising a plurality of idle blocks, but the invention is not limited thereto, and the destination block Blk10 can be redefined as an active block when performing the garbage collection procedure, so the reference numeral can be also denoted as Act1, but the invention is not limited thereto. In addition, when the valid data in the source block Blk2 or the source block Blk3 are copied successfully, the data storage device 1 may further erase the source block Blk2 or the source block Blk3 and redefine the source block Blk3 as a spare block to release the storage space. Alternatively, in other embodiments, the data storage device 1 may redefine the source block Blk2 or the source block Blk3 as an idle block, and then perform the erasing operation only when the block Blk2 or the block Blk3 is selected as an active block.

However, in order to simplify the complexity of the garbage collection procedure, the conventional mapping table updating method is to update the logical address and the physical address in the destination block Blk10 to the L2P table "once" after the destination block Blk10 is full of data and redefined as a data block, that is, all valid data in the source block Blk2 and the source block Blk3 have been successfully copied, and the destination block Blk10 is full of data. However, since the data storage device 1 cannot process/respond to the write/read command issued from the host 2 during the period of updating the L2P table, the overall performance of the data storage device 1 is significantly reduced, and the reduction is more significant in the data storage device 1 configured with only a small number of data buffers, because the microprocessor 124 must frequently access the non-volatile memory 110 during the updating of the L2P table, i.e., read the appropriate sub-L2P table and write the updated sub-L2P table back to the non-volatile memory 110, so that there is a longer time without a way to process/respond to the write/read command issued from the host 2.

Fig. 3 is a flowchart illustrating a mapping table updating method according to an embodiment of the present invention, it should be noted that the mapping table updating method of fig. 3 can be implemented in the data storage device 1 of fig. 1, but the present invention is not limited to that the mapping table updating method of fig. 3 can only be implemented in the data storage device 1 of fig. 1. In addition, as mentioned above, the triggering condition for executing the garbage collection procedure is not limited in the present invention, but in order to process the write/read command issued from the host 2 in time, the garbage collection procedure of the present embodiment is executed in segments, each segment of the garbage collection procedure is also called a partial garbage collection procedure, and the controller 120 can also process the write/read command issued from the host 2 during the execution of each segment of the partial garbage collection procedure. First, in step S300, the present embodiment enables the controller 120 to process the command issued from the host 2, and when the command is a write command, the present embodiment continues to perform step S310, and if not, returns to perform step S300. In step S310, the controller 120 determines whether execution of a partial garbage collection program is triggered. If yes, the step S320 is executed, otherwise, the step S300 is executed.

In step S320, the controller 120 copies the local valid data in at least one source block into the destination block according to a segmentation condition, for example, referring to fig. 2, when the step S320 is executed for the first time, the controller 120 may copy 2 valid data in the source block Blk2 and the source block Blk3 into the destination block Blk10, and then when the step S320 is executed for the second time, the controller 120 may copy another 2 valid data in the source block Blk2 and the source block Blk3 into the destination block Blk 10; alternatively, when the step S320 is executed for the first time, the controller 120 may copy the valid data in the 64 pages in the source block Blk2 and the source block Blk3 to the destination block, and all or only part of the 64 pages may store the valid data at this time, but the present invention is not limited thereto, and then when the step S320 is executed for the second time, the controller 120 may copy the valid data in the other 64 pages in the source block Blk2 and the source block Blk3 to the destination block. In summary, the present invention is not limited to the specific implementation of the segmentation condition, and those skilled in the art should be able to design the segmentation condition according to the actual requirement or application. In addition, the location of the destination block to which valid data in the source block is copied is preferably determined by the controller 120.

On the other hand, in step S320, the controller 120 may further establish a logical-to-physical address backup table, which is referred to as L2P backup table in this embodiment, for recording the logical address of the copied locally valid data and the physical address of the source block where the locally valid data is located, and in order to effectively manage the L2P backup table, the controller 120 may preferably store the L2P backup table in a table block (not shown), where the table block is also selected from a free block pool including a plurality of free blocks, but the invention is not limited thereto. Next, in step S330, the controller 120 updates the L2P table with the copied logical address of the locally valid data and the physical address of the destination block where the locally valid data is located, and returns to execute step S300. It is understood that when a certain host data is stored to a page of an active Block, the controller 120 preferably records the logical address of the host data to a free area (spare area) of the active Block or to Block close information (End of Block, EOB) of the active Block. Then, after the active block is redefined as a data block and selected as a source block, when the host data is copied to a destination block as valid data, the controller 120 preferably obtains the logical address of the host data from the free area or block closing information and updates the L2P table directly in accordance with the physical address of the destination block to which the host data is copied.

In detail, if the command of step S300 is a non-write command, the embodiment will not continue to execute step S310, i.e. return to execute step S300, until the controller 120 processes the write command to the host 2, the embodiment will not continue to execute step S310. For convenience of the following description, the present embodiment will discuss the segmentation condition of step S320 as referring to copying only 2 valid data blocks into the destination block at a time, but the present invention is not limited thereto. Therefore, referring to fig. 4A to 4C together, fig. 4A to 4C are schematic diagrams illustrating operations of step S320 to step S330 in the mapping table updating method of fig. 3, wherein fig. 4A to 4C are illustrated by using the source block example of fig. 2, but the invention is not limited thereto. As shown in fig. 4A, after the controller 120 determines that the execution of the partial garbage collection procedure of the first segment is triggered, the controller 120 may copy 2 valid data in the source block Blk2 and the source block Blk3, such as host data of global host pages GHP 0-GHP 1 in the source block Blk2, into pages P # 0-P #1 of the destination block Blk10, and then the controller 120 directly updates the L2P table with the logical address of the copied host data and the physical address of the destination block Blk10 where the host data is located. That is, the L2P table records the host data with the logical addresses of global host pages GHP0 GHP1 stored in pages P #0 to P #1 of the destination block Blk10, but the L2P backup table (not shown) still records the host data with the logical addresses of global host pages GHP0 GHP1 stored in pages P #0 and P #2 of the source block Blk 2.

However, in order to avoid the data storage device 1 being in the garbage collection process and unable to respond to the command issued from the host 2, after updating the L2P table of fig. 4A, the controller 120 may instead process other commands issued from the host 2, such as a read command. Then, if the controller 120 processes the (next) write command again, the controller 120 determines whether to trigger execution of the partial garbage collection procedure of the second segment. In this embodiment, the controller 120 preferably processes a predetermined number of host commands before executing the garbage collection procedure of each segment, but the invention is not limited thereto. That is, in the embodiment, the triggering condition for executing the partial garbage collection program may be that the processed host commands exceed the preset number, or that the controller 120 executes step S320 again when the execution time of step S300 exceeds the preset time duration, that is, executes the partial garbage collection program of the next stage. In summary, the present invention is not limited to the specific implementation of the controller 120 processing the host command and determining whether to trigger the execution of the partial garbage collection procedure (of each segment), and those skilled in the art should be able to design the implementation according to the actual requirement or application.

Then, as shown in FIG. 4B, when the controller 120 executes step S320 again, i.e. executes the partial garbage collection procedure of the second stage, the controller 120 will collect another 2 valid data in the source block Blk2 and the source block Blk3, for example, the host data of the global host pages GHP2 GHP3 in the source block Blk2 are copied to the pages P # 2P #3 of the destination block Blk10, the controller 120 then directly updates the L2P table with the logical address of the copied host data, and the physical address of the destination block Blk10 where the host data is located, so the L2P table at this time records the host data with the logical addresses of the global host pages GHP2 GHP3 stored in pages P # 2P #3 of the destination block Blk10, however, the L2P backup table still records host data with logical addresses global host pages GHP2 GHP3 stored in pages P #4 and P #5 of the source block Blk 2.

Similarly, as shown in fig. 4C, when the controller 120 performs step S320 again, that is, the partial garbage collection procedure of the third section is executed, the controller 120 will collect the valid data of the source block Blk2 and the valid data of the source block Blk3, for example, the host data of the global host pages GHP4 GHP5 in the source block Blk3 are copied to the pages P # 4P #5 of the destination block Blk10, the controller 120 then directly updates the L2P table with the logical address of the copied host data, and the physical address of the destination block Blk10 where the host data is located, so the L2P table at this time records the host data with the logical addresses of the global host pages GHP4 GHP5 stored in pages P # 4P #5 of the destination block Blk10, however, the L2P backup table still records host data with logical addresses global host pages GHP4 GHP5 stored in pages P #1 and P #4 of the source block Blk 3.

In summary, the present embodiment employs a partial garbage collection procedure to copy the valid data in the source block Blk2 and the source block Blk3, such as the host data of the global host pages GHP0 to GHP3 and the global host pages GHP4 to GHP5, into the destination block Blk10 in segments, and directly update the L2P table of the data storage apparatus 1 according to the copied local valid data, instead of updating the L2P table once after the destination block Blk10 is full of host data, such as the host data of the global host pages GHP0 to GHP5, has been copied successfully. In addition, before executing the partial garbage collection procedure (or performing the copy/update procedure) of each segment, the controller 120 can further process the command issued from the host 2 through insertion, so as to achieve the purpose of improving the overall performance degradation.

In other embodiments, the host data copied by performing the partial garbage collection procedure may also come from different source blocks, for example, if the source block Blk2 and the source block Blk3 in fig. 2 are also used for illustration, and it is assumed that the segmentation condition is changed to copy 3 valid data to the destination block Blk10 each time, therefore, when performing the partial garbage collection procedure of the first segment, the controller 120 may copy the host data of the global host pages GHP0 to GHP2 of the source block Blk2 to the destination block Blk10, but when performing the partial garbage collection procedure of the second segment, the controller 120 copies the host data of the global host pages GHP3 of the source block Blk2 and the host data of the global host pages GHP4 to GHP5 of the source block Blk3 to the destination block Blk 10. In summary, as mentioned in the foregoing, the present invention is not limited to the specific implementation of the segmentation condition, and those skilled in the art should be able to design the segmentation condition according to the actual requirement or application.

On the other hand, it is contemplated that the destination block Blk10 may have to be discarded due to an abnormal event, such as a power down event, or a write/read back failure. To avoid the above problem, the mapping table updating method of the present invention can be further improved, please refer to fig. 5, and fig. 5 is a flowchart illustrating the mapping table updating method according to another embodiment of the present invention. It should be noted that the mapping table updating method of fig. 5 can be implemented in the data storage apparatus 1 of fig. 1, but the present invention does not limit the mapping table updating method of fig. 5 to be implemented only in the data storage apparatus 1 of fig. 1. In addition, the same flow steps in fig. 5 as those in fig. 3 are denoted by the same reference numerals, and therefore, the details thereof will not be described in detail herein. Compared to step S310 in fig. 3, after the controller 120 determines to trigger the execution of the partial garbage collection procedure, the mapping table updating method in fig. 5 further includes step S312 and step S314.

In step S312, the controller 120 determines whether an abnormal event has occurred in the destination block. If yes, go to step S314 first, and then continue to go to step S320 and step S330; if not, step S320 and step S330 are executed directly. In step S314, the controller 120 replies (Roll Back) to the L2P table of the data storage apparatus 1 according to the L2P backup table, that is, the L2P table is restored based on the logical address recorded in the L2P backup table, and the physical address (source block) corresponding to the logical address in the L2P backup table is substituted for the physical address (destination block) corresponding to the logical address in the L2P table.

FIG. 6 is a diagram illustrating operations of replying to the L2P table according to the L2P backup table in the mapping table updating method of FIG. 5. For example, after the controller 120 performs a partial garbage collection procedure, the host data of the source block Blk2 and the global host pages GHP0 to GHP5 in the source block Blk3 are copied to the destination block Blk10 in segments, and the L2P table is updated directly in segments, but if an abnormal event occurs at this time and the destination block Blk10 needs to be discarded by the controller 120, the controller 120 returns the L2P table of the data storage device 1 according to the L2P backup table, so that the L2P table is restored to record the mapping relationship between the logical addresses of the host data of the source block Blk2 and the source block Blk3 and the physical addresses of the nonvolatile memory 110. Since the mapping relationship between the logical address and the physical address is correctly recovered (or replaced), discarding the destination block Blk10 does not cause loss of host data or trouble in data management.

Of course, since the destination block Blk10 is discarded, in order to perform the partial garbage collection procedure, the controller 120 preferably selects another free block from the free block pool, such as the block Blk12 (not shown) as a new destination block, and in the following step S320, the controller 120 also preferably selects the partial garbage collection procedure of the first segment to perform from the beginning, i.e., the host data of the global host pages GHP 0-GHP 1 in the block Blk2 are copied to the (new) destination block Blk12 according to the segmentation condition, and the L2P table is directly updated, and then the step S320 is executed by returning the controller 120 to process the command issued by the host 2 until the controller 120 performs the step S320 again, and the controller 120 copies the host data of the global host pages GHP 2-GHP 3 in the block Blk2 to the destination block Blk12, and so on. In summary, before each step S330, the controller 120 further uses the L2P backup table to backup the mapping relationship of the valid data recorded in the L2P table about the current replication.

It should be understood that the resource or cost required for creating the L2P backup table is small, but the technical problem caused by the abnormal event can be effectively overcome, taking the data storage device 1 with a size of 256GB as an example, the size of the L2P table is 256MB, but the size of the L2P backup table may be less than 4 MB. In addition, the present invention is not limited to the kind of abnormal event, which may be a power-off event, or a write/read back failure, etc., and in sum, those skilled in the art should be able to design the abnormal event according to actual requirements or applications.

To sum up, the mapping table updating method provided by the embodiments of the present invention employs a partial garbage collection procedure to copy valid data in at least one source block to a destination block in segments, and directly updates the L2P table of the data storage device according to the copied local valid data, instead of updating the L2P table once after all valid data in the source block have been successfully copied, and interleaving a command issued from the host before each copy/update is performed, so as to improve the overall performance degradation. In addition, before each copy is performed (or before each segment of the garbage collection procedure is performed), the embodiment further checks whether the L2P table needs to be restored according to the established L2P backup table, so as to prevent the updated L2P table from pointing to the destination block that was interrupted due to a sudden power failure event or a write/read back failure, and before each update is performed, the embodiment uses the L2P backup table to backup the mapping relationship of the valid data recorded in the L2P table about the current copy.

Although the present invention has been described with reference to a preferred embodiment, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:内存缓存管理方法、多媒体服务器及计算机存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类