WO2020057479A1 - 地址映射表项页管理 - Google Patents

地址映射表项页管理 Download PDF

Info

Publication number
WO2020057479A1
WO2020057479A1 PCT/CN2019/106090 CN2019106090W WO2020057479A1 WO 2020057479 A1 WO2020057479 A1 WO 2020057479A1 CN 2019106090 W CN2019106090 W CN 2019106090W WO 2020057479 A1 WO2020057479 A1 WO 2020057479A1
Authority
WO
WIPO (PCT)
Prior art keywords
address mapping
entry page
page
mapping table
mapping entry
Prior art date
Application number
PCT/CN2019/106090
Other languages
English (en)
French (fr)
Inventor
唐侃毅
Original Assignee
新华三技术有限公司
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 新华三技术有限公司 filed Critical 新华三技术有限公司
Publication of WO2020057479A1 publication Critical patent/WO2020057479A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof

Definitions

  • a solid state drive (Solid State Disk, SSD) is a new generation of storage devices.
  • the solid state hard disk storage medium uses a solid state flash memory medium instead of the traditional magnetic medium. Since the flash memory medium is a highly integrated, super-capacity and non-volatile storage medium, compared with magnetic media, it has greatly improved read and write speeds, read and write delays, seismic safety, and power consumption.
  • flash memory does not support overwrite, that is, new data cannot be written to the storage space of stored data to overwrite the stored data. This makes it necessary to write the updated address mapping entry page in the new storage space after an entry in the address mapping entry page stored in the solid state hard disk is updated, and the address mapping entry page cannot be updated. In the previously occupied storage space, the address mapping table entry page is overwritten with the updated mapping table. In particular, when a large number of entries in the address mapping entry page are sequentially updated, a large amount of new storage space is required to sequentially store the address mapping entry page after each entry update.
  • FIG. 1 is a schematic diagram of an address mapping table entry page and a first sub-mapping table according to an exemplary embodiment of the present application
  • FIG. 2 is a flowchart of a method for managing an address mapping entry page according to an exemplary embodiment of the present application
  • FIG. 3 is a hardware structural diagram of a storage device according to an exemplary embodiment of the present application.
  • Fig. 4 is a block diagram of an address mapping table entry page management apparatus according to an exemplary embodiment of the present application.
  • first, second, third, etc. may be used in this application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other.
  • first information may also be referred to as second information, and similarly, the second information may also be referred to as first information.
  • word “if” as used herein can be interpreted as “at” or "when” or "in response to determination”.
  • the storage device described in this application may be an SSD, or other types of storage devices, etc.
  • the storage device is only exemplarily described, and the storage device is not specifically limited.
  • the solid state hard disk also has a controller (such as a CPU), a non-volatile storage medium (such as a flash memory), a volatile storage medium (such as a cache), and a communication interface.
  • a controller such as a CPU
  • non-volatile storage medium such as a flash memory
  • a volatile storage medium such as a cache
  • a communication interface such as a computer
  • the name of the solid-state hard disk includes "hard disk”
  • the solid-state hard disk is actually a storage device.
  • the non-volatile storage medium of the SSD can be called a hard disk.
  • the storage device can store hundreds of thousands or even millions of address mapping entries.
  • a certain number of address mapping entries are usually centrally managed in the form of units, which can manage a certain number of address mappings.
  • the unit of the entry is called the address mapping entry page.
  • the address mapping entry page includes multiple address mapping entries, and each address mapping entry is used to record a mapping relationship between a logical address and a physical address of data corresponding to the address mapping entry.
  • the following uses the storage device as a solid state drive as an example to introduce the address mapping table entry page in the solid state drive.
  • the table of address mapping entries in the SSD is shown in Table 1.
  • the sector of a solid state hard disk is the smallest storage unit of a solid state hard disk. Multiple sectors can form a page, multiple pages can form a block (physical block), and multiple blocks can form a plane. (Plane unit), a plurality of Planes form a Die (core unit).
  • the solid state hard disk usually includes multiple memory chips, and each memory chip is composed of multiple die.
  • the channel connecting each memory chip can be referred to as chan for short, in other words, chan is equivalent to the identification information of the memory chip.
  • the logical address "1" indicates a logical address identifier, such as the number of a logical unit.
  • the physical address "Achan, Bdie, Cplane, Dblock, p1, ps1" indicates that the data is actually stored in the physical block D of the plane cell C in the core unit B in the memory chip connected to the channel A.
  • the first page p1 that is, page1)
  • One sector s1 ie sector1).
  • Table 1 merely illustrates the address mapping entry page by way of example, and does not specifically limit the address mapping entry page.
  • the CPU of the SSD when the CPU of the SSD first reads all the address mapping table entry pages in the local hard disk to the internal cache of the SSD, the CPU of the SSD may separately create a first A sub mapping table.
  • the first sub mapping table is used to record one or more updated address mapping entries in the address mapping entry page corresponding to the first sub mapping table.
  • address mapping entry page 1 corresponds to the first sub-mapping table 1
  • address mapping entry page 2 corresponds to the first sub-mapping table 2
  • address mapping entry page 3 corresponds to the first sub-mapping table 3.
  • the gray address mapping entries in FIG. 1 are updated address mapping entries, and white are unupdated address mapping entries.
  • the address mapping entry page 1 Take the address mapping entry page 1 as an example.
  • the entry 4, the entry 7, the entry 10, ..., and the entry 998 in the address mapping entry page 1 are updated.
  • the first sub-mapping table 1 corresponding to the mapping entry page 1 records the updated entry 4, entry 7, entry 10, ..., and entry 998.
  • the content recorded by the first sub-mapping table 2 and the first sub-mapping table 3 is shown in FIG. 1, and details are not described herein again.
  • the CPU of the storage device can read all the address mapping table entry pages in the hard disk of the device into the cache of the device for recording.
  • the storage device may update the address mapping table entry page corresponding to the updated data in the cache.
  • the application does not immediately send the address mapping entry page to the hard disk, but waits for the address mapping entry page in the cache to meet the distribution conditions, in other words For example, after waiting for the difference between the address mapping entry page and the original address mapping entry page in the cache to meet certain requirements, the address mapping entry page that meets certain requirements is sent to the hard disk to update the storage on the hard disk. Address mapping entry page.
  • the hard disk uses a new physical space to store the updated address mapping table entry page.
  • the method provided in the present application first stores the updated address mapping in a cache. The entry page. When the difference between the address mapping entry page before and after the update meets certain requirements, the address mapping entry page in the cache is sent to the hard disk for hard disk address mapping entry page storage. This method reduces frequent Space loss caused by updating the address mapping table page.
  • the CPU may search the cache for an address mapping entry corresponding to the logical address of the data to be carried carried by the access request, and then read it according to the physical address recorded in the found address mapping entry.
  • Data instead of the existing address mapping table entry corresponding to the access request from the hard disk, because the speed of reading the address mapping table entry from the cache is faster than the speed of reading the address mapping table entry from the hard disk, so Improved the efficiency of reading data.
  • this application creates a first sub-mapping table for each address mapping entry page in the cache.
  • the first sub-mapping table is used to record the updated address mapping of the address mapping entry page corresponding to the first sub-mapping table.
  • FIG. 2 is a flowchart of a method for managing an address mapping entry page according to an exemplary embodiment of the present application.
  • the process can be applied to a storage device and can include the following steps.
  • Step 201 After the storage device is started, the storage device may read multiple address mapping table entry pages in the hard disk of the device to the cache of the device for recording.
  • the storage device After the storage device is powered off abnormally (for example, the storage device is suddenly powered off, etc.), the storage device can use its stored power to ensure that the data stored in the cache is delivered to the hard disk.
  • the storage device can use its stored power to ensure that the data stored in the cache is delivered to the hard disk.
  • this application creates a first sub-mapping table for each address mapping table entry page in the cache.
  • the first sub-mapping table is used to record the address mapping table corresponding to the first sub-mapping table.
  • the storage device related hardware When the storage device powers down abnormally, the storage device related hardware will generate a power-off interrupt signal.
  • the storage device CPU receives the power-off interrupt signal, it can map all the address mapping table entries in the current cache to the first The sub-map is delivered to the hard disk of the device. Because the specified address mapping entry page is not sent to the hard disk, the updated address mapping entry (that is, the first sub-mapping table) of the specified address mapping entry page is sent to the hard disk, which reduces abnormal power-down. The amount of data to be delivered. Since the amount of data to be delivered is reduced, the capacitance required by the storage device can be reduced accordingly, thereby reducing the cost of the storage device.
  • the first sub-mapping table may be stored in the hard disk at the time of the last abnormal power failure. It is necessary to read all the first sub-mapping tables in the hard disk. One sub-mapping table and all address mapping entry pages, and using the first sub-mapping table to update the address mapping entry page, write the address mapping entry page to the cache after the update is completed, making the address mapping entry page available Return to the state of the last abnormal power failure. If the first sub-mapping table is not stored in the hard disk, all the address mapping table entry pages in the hard disk can be directly read for recording.
  • the storage device can read all the address mapping table entry pages and all the first sub-mapping tables stored in the hard disk of the device. If at least one first sub-mapping table can be read, For each first sub-mapping table read, the first sub-mapping table is used to update the address mapping entry page corresponding to the first sub-mapping table; after the update is completed, all the current address mapping entry pages ( Including the updated address mapping table entry page and the unupdated address mapping table entry page) are recorded in the cache of the device. If an address mapping entry page does not have a corresponding first sub-mapping table, the address mapping entry page can be considered as an unupdated address mapping entry page.
  • the storage device may use the first sub-mapping table 5 to update the address mapping table entry page 5, use the first sub-mapping table 10 to update the address mapping table entry page 10, and then update the updated address mapping table entry page 5, address The mapping entry page 10 and the unupdated address mapping entry pages 1 to 4 and the address mapping entry pages 6 to 9 are recorded in the cache.
  • the storage device If the storage device cannot read any of the first sub mapping tables, it directly records all the read address mapping table entry pages in the cache.
  • Step 202 When the data stored in the storage device is updated, the address mapping table entry page corresponding to the updated data in the cache is updated.
  • the storage device may add a mapping relationship between the logical address and the physical address of the newly written data in any address mapping entry page in the cache.
  • the storage device can write the modified data to the new physical space, and then use the logical address of the data to be modified as a key to find it in the address mapping table entry page in the cache.
  • the address mapping entry corresponding to the keyword, and then the physical address in the found address mapping entry is modified to the address of the new physical space. It should be noted that the logical address in each address mapping entry is unique, so that the correct address mapping entry on the correct address mapping entry page can be found based on the logical address.
  • the storage device uses M as a key, and looks up the address mapping entry containing M in the address mapping entry page in the cache. Assume that the address mapping entry found is MB, where the logical address is M and the physical address is B. Then the physical address in the address mapping entry is changed from B to A, that is, the address in the address mapping entry page The mapping entry is changed to MA.
  • Step 203 The storage device may determine at least one designated address mapping entry page that has been updated among all the address mapping entry pages recorded in the cache, and determine the number of updates corresponding to each designated address mapping entry page.
  • the trigger conditions for performing steps 203 to 204 are not specifically limited here.
  • the device may perform steps 203 to 204 when it detects that an address mapping table entry page is updated in the cache; or, The device may also perform steps 203 to 204 periodically.
  • the address mapping entry page when the address mapping entry page is updated, it means that the address mapping entry in the address mapping entry page is updated, and the address mapping entry page is also updated. For example, if an address mapping entry is added to the address mapping entry page, the address mapping entry page is updated, if an address mapping entry is modified in the address mapping entry page, the address mapping entry page is updated. The updated address mapping entry page is the specified address mapping entry page.
  • the present application sets an update count variable for each address mapping entry page, and the initial value of the update count variable for each address mapping entry page is the same. This update count variable is used to count the update count of each address mapping entry page.
  • the storage device may update an update times variable corresponding to the updated address mapping table entry page.
  • the initial value of the update times variable may be 0, and each time the address mapping entry page is updated, the update times variable corresponding to the address mapping entry page is incremented by one.
  • the initial value of the update times variable may also be an integer greater than 0.
  • the storage device when the storage device detects that the specified address mapping entry page is delivered to the hard disk, it restores the update number variable corresponding to the issued specified address mapping entry page to Initial value. It should be noted that after the specified address mapping entry page is sent to the hard disk, the specified address mapping entry page is not deleted from the cache. The variable of the number of updates of the specified address mapping table entry page sent to the hard disk is restored to the initial value, the purpose of which is to re-use the address mapping table entry page in the cache as the unupdated address mapping table entry page, so as to perform update statistics .
  • the storage device may first find the value of the variable of update times corresponding to each address mapping entry page, and then set the value of the variable of update times greater than the initial value.
  • the address mapping entry page is determined to be the specified address mapping entry page.
  • the storage device when determining the update times of the specified address mapping entry page, may determine the update times of the specified address mapping entry page according to the value of the update times variable corresponding to the specified address mapping entry page.
  • the storage device may map the address of the update count variable value greater than 0.
  • the entry page is determined to be the specified address mapping entry page.
  • the storage device may directly use the update times variable value of the specified address mapping entry page as the specified address mapping table. Number of item page updates.
  • the storage device may add an address with an update count variable value greater than M.
  • the mapping entry page is determined to be the specified address mapping entry page.
  • the storage device may subtract M from the update times variable value of the specified address mapping entry page and divide Use the value obtained by P as the number of times the page of the specified address address mapping table is updated.
  • M and P are both integers greater than 0.
  • the storage device may also mark the page of the updated address mapping table entry with an update mark every time an update of the address mapping table entry page is detected.
  • the storage device may determine the address mapping table entry page carrying the update mark as the specified address mapping table entry page, and determine the total number of update marks on the specified address mapping table entry page as the number of updates of the specified address mapping.
  • the determination of the specified address mapping entry page and the number of times of updating of the specified address mapping entry page are exemplarily described, and they are not specifically limited.
  • Step 204 The storage device may determine the designated address mapping entry page to be issued that satisfies the distribution conditions according to the number of updates of each designated address mapping entry page, and send the designated address mapping entry page to be delivered to the device. To update the address map entry page stored in the hard disk.
  • the storage device may use the specified address mapping entry page with the number of updates greater than the preset update times threshold as the specified address mapping entry page to be issued and deliver the specified address mapping entry page to the hard disk of the device.
  • the preset update times threshold is 800 times
  • all address mapping entry pages that are updated more than 800 times are used as the specified address mapping entry page to be issued, and the specified address mapping entry page to be issued is delivered to The hard drive of this device.
  • the storage device can count the total number of pages of all specified address mapping entries.
  • the storage device can detect whether the total number of all specified address mapping entry pages is greater than the first number threshold. If the total number of all specified address mapping entry pages is greater than the first number threshold, the storage device can map all specified addresses The entry pages are sorted in ascending order.
  • the storage device starts with the first designated address mapping entry page, and sequentially sends the first N designated address mapping entry pages to the hard disk of the device in order, until the total number of the currently updated designated address mapping entry page is The number is less than the second number threshold.
  • the first number threshold is 30 and the second number threshold is 10, assuming that the number of pages of the specified address mapping table is 32.
  • the storage device can sort the 32 specified address mapping entry pages in order of the number of updates, and then send the first specified address mapping entry page to the hard disk. After the distribution is completed, the current detection is performed. Whether the total number of specified mapping tables in the cache is less than a second number threshold (ie, 10).
  • the second designated address mapping table entry page is then sent, and so on. Until the 23rd designated address mapping entry page is sorted, the total number of designated address mapping entry pages in the current cache (ie, 9) is less than the second number threshold (ie, 10).
  • the second number threshold can be set to a value greater than 0, or the second number threshold can be set to a small natural number, the purpose of which is to prevent the specified address mapping entry page with fewer updates from being written to the hard disk.
  • the setting of the first number threshold should not be too large or too small. If the first number threshold is set too large, when the storage device receives a shutdown instruction, there may be a large number of pages of the specified address mapping table to be written to the hard disk, thereby increasing the shutdown time. If the first number threshold is set too small, frequent writing of the specified address mapping entry page will be caused.
  • the specified address mapping entry page to be issued is sent to the hard disk to update the address mapping entry page in the hard disk, instead of directly sending the specified address mapping entry.
  • the page overwrites the original address mapping table entry page stored in the hard disk, but writes the specified address mapping table entry page to the new physical storage space.
  • this application does not send all the specified address mapping entry pages to the hard disk, but waits for the specified address mapping entry page to meet the conditions for delivery.
  • the specified address mapping entry page that meets the distribution conditions is sent to the hard disk to update the address mapping entry page in the hard disk. Therefore, this application does not issue the updated address mapping entry page every time the address mapping entry page update is detected, but when the address mapping entry page is updated more frequently, in other words, the updated address Only when the mapping entry page is different from the unupdated address mapping entry page will it be delivered to the hard disk.
  • the hard disk uses a new space to store the updated address mapping entry page.
  • This application first updates the address mapping entry page in the cache.
  • the updated address mapping entry page is delivered to the hard disk. Therefore, the management method of the present application can save space on the hard disk to store the updated address mapping table entry page.
  • the address mapping entry page is updated five times.
  • the hard disk will apply for 5 new spaces to store the updated address mapping entry page after each update.
  • the storage device may clear the first sub-mapping table corresponding to the page of the designated address mapping entry to be issued.
  • a specific address mapping entry page to be issued is delivered, only a copy of the specific address mapping entry page to be issued is delivered to the hard disk, and the specified address mapping entry to be issued is not cached.
  • the page is deleted, and the operation of issuing the page of the specified address mapping entry to be issued may further include clearing the first sub-mapping table corresponding to the page of the specified address mapping entry to be issued, the purpose of which is to make the specified
  • the address mapping table entry page is re-used as an unupdated address mapping table entry page in the cache to perform subsequent update and distribution operations.
  • the storage device when the storage device receives the shutdown instruction, the storage device may send all the specified address mapping entry pages in the current cache to the hard disk, and then execute the shutdown operation after the downloading is completed.
  • the hard disk uses a new space to store the updated address mapping entry page.
  • This application first addresses the addresses in the cache The mapping entry page is updated.
  • the updated address mapping entry page meets the release conditions, in other words, the updated address mapping entry page and the original address mapping entry page will be updated only when the difference between the updated address mapping entry page and the original address mapping entry page meets certain requirements.
  • the subsequent address mapping table entry page is sent to the hard disk, so using the management method of this application can save space on the hard disk to store the updated address mapping table entry page.
  • this application pre-configures a first sub-mapping table for each address mapping entry page.
  • the first sub-mapping table is used to record the updated address mapping entry in each address mapping entry page.
  • the first sub-mapping table of each specified address mapping table entry page in the cache is delivered to the hard disk. Because the specified address mapping entry page is not sent to the hard disk as a whole, the updated address mapping entry (that is, the first sub-mapping table) in the specified address mapping entry page is sent to the hard disk, which reduces exceptions. The amount of data that needs to be sent after powering up reduces the capacitor capacity, so the cost of storage devices can be reduced.
  • the hard disk uses the new storage space to store the same data as the original address mapping table entry page. It is relatively small, so it can effectively reduce write amplification (that is, repeatedly write the same data to the hard disk), and effectively save hard disk storage space.
  • all address mapping table entry pages in the hard disk of the device are read into the cache of the device for recording, so that when the storage device receives an access request, it can directly read from the cache.
  • the address mapping table entry corresponding to the access request and then read the data in the hard disk through the read address mapping table entry, instead of reading the address mapping table entry corresponding to the access request from the hard disk. Because the speed of reading the address mapping table entries from the cache is faster than the speed of reading the address mapping table entries from the hard disk, the efficiency of reading data is improved.
  • the following uses the storage device as an SSD and combines two specific embodiments to describe the address mapping table entry page management method provided in this application in detail.
  • the address mapping table entry page and the first sub mapping table stored in the hard disk are read. If at least one first sub-mapping table is read, for each read first sub-mapping table, use the first sub-mapping table to update an address mapping table entry page corresponding to the first sub-mapping table, and then Write the updated address mapping entry page and the unupdated address mapping entry page to the cache of the device for recording.
  • the read address mapping table entry page is directly written to the cache for recording.
  • the SSD may initialize an update number variable corresponding to each address mapping entry page and a first sub mapping table corresponding to each address mapping entry page.
  • the address mapping entry page corresponding to the updated data in the cache is updated, the value of the update times variable value of the address mapping entry page is updated, and after the update
  • the address mapping entry is written into the first sub-mapping table corresponding to the address mapping entry page.
  • the SSD can detect the total number of specified address mapping entry page when the address mapping entry page is updated in the cache, or periodically, and count the current update times variable value greater than the initial value, and according to the specified address mapping entry The value of the number of updates corresponding to the page variable determines the number of times the page of the specified address mapping entry is updated.
  • the SSD can detect whether the total number of the specified address mapping entry page is greater than the first number threshold. If the total number of the specified address mapping entry page is greater than the first number threshold, the update is performed in descending order. Sorting, and sending the first N specified address mapping entry pages to the hard disk so that the total number of specified address mapping entry pages in the current cache is less than the second number threshold. Then, the SSD may restore the value of the variable of update times of the first N designated address mapping entry pages to the initial value, and at the same time, clear the corresponding first sub mapping tables of the first N designated address mapping entry pages.
  • the SSD When the SSD receives the shutdown instruction, it can send all the specified address mapping entry pages in the current cache to the hard disk. After the download is complete, perform the shutdown operation again.
  • the SSD When the SSD receives the power-off interrupt signal, it can send the first sub-mapping table corresponding to all specified address mapping table entry pages in the current cache to the hard disk.
  • the address mapping table entry page and the first sub mapping table stored in the hard disk are read. If at least one first sub-mapping table is read, for each read first sub-mapping table, use the first sub-mapping table to update an address mapping table entry page corresponding to the first sub-mapping table, and then Write the updated address mapping entry page and the unupdated address mapping entry page to the cache of the device for recording.
  • the read address mapping table entry page is directly written to the cache for recording.
  • the SSD may initialize an update number variable corresponding to each address mapping entry page and a first sub mapping table corresponding to each address mapping entry page.
  • the address mapping entry page corresponding to the updated data in the cache is updated, the value of the update times variable value of the address mapping entry page is updated, and after the update
  • the address mapping entry is written into the first sub-mapping table corresponding to the address mapping entry page.
  • the SSD can determine the number of updates of each address mapping entry page when it detects that an address mapping entry page is updated in the cache, or periodically, based on the value of the variable of the number of updates of each address mapping entry page.
  • the address mapping entry page with a preset update times threshold is sent to the hard disk, and the value of the update times variable corresponding to the address mapping entry page delivered to the hard disk is restored to the initial value, and the issued address mapping is also mapped.
  • the first sub-mapping table corresponding to the entry page is cleared.
  • the SSD When the SSD receives the shutdown instruction, it can send all the specified address mapping entry pages in the current cache to the hard disk. After the download is complete, perform the shutdown operation again.
  • the SSD When the SSD receives the power-off interrupt signal, it can send the first sub-mapping table corresponding to all specified address mapping table entry pages in the current cache to the hard disk.
  • FIG. 3 is a hardware structural diagram of a storage device according to an exemplary embodiment of the present application.
  • the storage device includes a communication interface 301, a processor 302, a non-volatile machine-readable storage medium 303, a volatile machine-readable storage medium 304, and a bus 305.
  • the communication interface 301, the processor 302, the non-volatile machine-readable storage medium 303, and the volatile machine-readable storage medium 304 complete communication with each other through the bus 305.
  • the processor 302 can implement the address mapping table entry page management method described above by reading and executing machine executable instructions corresponding to the address mapping table entry page management control logic stored in the non-volatile machine-readable storage medium 303.
  • the non-volatile machine-readable storage medium 303 and volatile machine-readable storage medium 304 mentioned herein may be any electronic, magnetic, optical, or other physical storage medium, and may contain or store information such as executable instructions, Data, etc.
  • the non-volatile machine-readable storage medium 303 may be a non-volatile memory or a similar storage medium.
  • the non-volatile machine-readable storage medium 303 may be a flash memory, a hard disk, any type of storage disk (such as an optical disk, a DVD, etc.), or a similar storage medium, or a combination thereof.
  • the volatile machine-readable storage medium 304 referred to herein may be volatile memory.
  • the volatile machine-readable storage medium 304 may be RAM (Random Access Memory, Random Access Memory), SDRAM (Synchronous Dynamic RAM), DDR SDRAM (Double Data Rate SDRAM, double speed) Rate synchronous dynamic random access memory), DDR2 SDRAM, DDR3 SDRAM, or similar storage media, or a combination of them.
  • FIG. 4 is a block diagram of an address mapping table entry page management apparatus according to an exemplary embodiment of the present application.
  • the device may be applied to a storage device and may include the following units.
  • the recording unit 401 is configured to read multiple address mapping table entry pages in a hard disk of the storage device to a cache of the storage device for recording after the storage device is started.
  • the updating unit 402 is configured to update an address mapping table entry page corresponding to the updated data in the cache when the data stored in the storage device is updated.
  • the first determining unit 403 is configured to determine at least one designated address mapping entry page that has been updated among a plurality of address mapping entry pages recorded in the cache.
  • the second determining unit 404 is configured to determine the update times corresponding to each specified address mapping entry page.
  • the third determining unit 405 is configured to determine, according to the update times corresponding to the specified address mapping entry page, the specified address mapping entry page to be issued that meets the delivery condition.
  • the issuing unit 406 is configured to deliver the specified address mapping entry page to the hard disk to update the address mapping entry page stored in the hard disk.
  • the third determining unit 405 is specifically configured to determine the specified address mapping table entry page whose number of updates is greater than a preset number of update times as the specified address mapping table page to be issued; or, when determining the specified address
  • the total number of mapping entry pages is greater than the first number threshold, the top N designated address mapping entry pages with the greatest number of updates are determined as the designated address mapping entry page to be issued, so that the designated cached pages will
  • the total number of address mapping entry pages is less than a second number threshold, where the second number threshold is less than the first number threshold and N is an integer greater than zero.
  • the first determining unit 403 is specifically configured to find the update times variable values corresponding to the multiple address mapping entry page respectively; and determine the address mapping entry page with the update times variable value greater than the initial value as The page of the specified address mapping table is described.
  • the value of the variable of update times corresponding to the address mapping entry page in the cache is updated in the following manner: when it is detected that the address mapping entry page in the cache is updated, updating the corresponding value of the address mapping entry page Update times variable value; when the address mapping entry page is delivered to the hard disk, restore the update times variable value corresponding to the address mapping entry page to the initial value.
  • the issuing unit 406 is further configured to, when receiving the shutdown instruction, deliver all the specified address mapping entry pages in the current cache to the hard disk; and execute the shutdown operation after the completion of the delivery.
  • a corresponding first sub-mapping table is pre-created for each address mapping entry page in the cache, where the first sub-mapping table is used to record the updated An address mapping table entry; the issuing unit 406 is further configured to, when receiving a power-off interrupt signal, send the first sub-mapping tables corresponding to all the specified address mapping table entries in the current cache to the hard disk.
  • the recording unit 401 is specifically configured to read multiple address mapping entry pages and corresponding first sub-maps stored in a hard disk of the storage device after the storage device is started; if at least For a first sub-mapping table, for each first sub-mapping table read, use the read first sub-mapping table to update an address mapping entry corresponding to the first sub-mapping table read Page, after the update is completed, the current multiple address mapping table entry pages are recorded in the cache; if any first sub mapping table cannot be read, multiple address mapping table entry pages in the hard disk are read to the cache Make a record.
  • the apparatus further includes: a clearing unit configured to clear a first sub-mapping table corresponding to the designated address mapping entry page to be issued.
  • the relevant part may refer to the description of the method embodiment.
  • the device embodiments described above are only schematic, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, may be located One place, or it can be distributed across multiple network elements. Some or all of these modules can be selected according to actual needs to achieve the purpose of the solution of this application. Those of ordinary skill in the art can understand and implement without creative efforts.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种地址映射表项页管理方法及装置。作为一个方面,所述方法应用于存储设备,包括:在存储设备启动后,将存储设备的硬盘中多个地址映射表项页读取到存储设备的缓存进行记录;当存储设备储存的数据被更新时,更新缓存中与该被更新数据对应的地址映射表项页;在所述所述多个地址映射表项页中,确定被更新过的各指定地址映射表项页及其对应的更新次数;依据各指定地址映射表项页对应的更新次数,确定满足下发条件的待下发指定地址映射表项页,并将其下发至硬盘。

Description

地址映射表项页管理 背景技术
固态硬盘(Solid State Disk,SSD),是一代新型的存储设备。固态硬盘的存储介质采用了固态的闪存介质替代了传统的磁介质。由于闪存介质是一种高集成度、超大容量且非易失的存储介质,所以与磁介质相比,在读写速度、读写延迟、抗震安全、功耗等方面均有很大的提升。
但是闪存介质也存在一些缺点,比如,闪存不支持覆盖写,即不能向已存储数据的存储空间写入新的数据覆盖已存储的数据。这就使得当固态硬盘中储存的地址映射表项页中的一条表项更新后,需要在新的存储空间中写入更新后的地址映射表项页,而不能在该地址映射表项页更新前所占用的存储空间中,用更新后的映射表覆盖该地址映射表项页。尤其是,当地址映射表项页中的大量表项依次更新时,需要大量新的存储空间来依次存放每次表项更新后的地址映射表项页。比如地址映射表项页中的表项1发生更新后,需要申请新的存储空间来存放表项1更新后的地址映射表项页,接着该地址映射表项页中的表项2也发生更新,则需要申请另一个新的存储空间来存放表项2更新后的地址映射表项页,浪费了固态硬盘的存储空间。
附图说明
图1是本申请一示例性实施例示出的一种地址映射表项页与第一子映射表的示意图;
图2是本申请一示例性实施例示出的一种地址映射表项页的管理方法的流程图;
图3是本申请一示例性实施例示出的一种存储设备的硬件结构图;
图4是本申请一示例性实施例示出的一种地址映射表项页管理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在 本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请所述的存储设备可以是SSD,也可以是其他类型的存储设备等,这里只是对存储设备进行示例性地说明,不对该存储设备进行具体地限定。需要说明的是,固态硬盘也具有控制器(如CPU)、非易失性的存储介质(如闪存)、易失性的存储介质(如缓存)、通信接口等。换言之,虽然固态硬盘名字中带有“硬盘”,但固态硬盘其实是一种存储设备,可以把SSD的非易失性的存储介质称为硬盘。
在介绍本申请提供的地址映射表项页的管理方法之前,先对本申请所涉及的一些概念进行介绍。
1)地址映射表项页
存储设备可存储几十万甚至上百万的地址映射表项,为了便于地址映射表项的管理,通常将一定数量的地址映射表项以单位的形式进行集中管理,可以把管理一定数量地址映射表项的单位称之为地址映射表项页。地址映射表项页包括多个地址映射表项,每个地址映射表项用于记录与该地址映射表项对应的数据的逻辑地址和物理地址的映射关系。
下面以存储设备为固态硬盘为例,对固态硬盘中的地址映射表项页进行介绍。固态硬盘中的地址映射表项页如表1所示。
地址映射表项序号 逻辑地址 物理地址
表项1 1 A chan B die C plane D block p1 s1
表项2 2 D chan E die F plane G block p1 s1
表项N N X chan X die X plane X block p1 s4
表1
需要说明的是,固态硬盘的Sector(扇区)是固态硬盘最小的存储单元,多个Sector可以组成一个Page(页),多个Page可以组成一个Block(物理块),多个Block组成一个Plane(平面单元),多个Plane组成一个Die(核心单元)。而固态硬盘通常包括多个存储芯片,每个存储芯片是由多个Die组成的,连接每个存储芯片的通道可以简称为chan,换句话来说chan相当于存储芯片的标识信息。
以表1中的表项1为例进行简要说明。逻辑地址“1”表示逻辑地址标识,比如是逻辑单元的编号等。物理地址“A chan B die C plane D block p1 s1”表示数据实际储存在与通道A相连的存储芯片中的核心单元B中的平面单元C的物理块D上第一页p1(即page1)第一扇区s1(即sector1)中。
表1只是对地址映射表项页进行示例性地说明,不对地址映射表项页进行具体地限定。
2)第一子映射表
在本申请实施例中,在SSD的CPU首次将本地硬盘中的所有地址映射表项页读取至SSD内部的缓存时,SSD的CPU可为缓存中每个地址映射表项页分别创建一个第一子映射表,第一子映射表里用于记录该第一子映射表对应的地址映射表项页中一个或多个更新后的地址映射表项。
如图1所示,假设有3个地址映射表项页,分别为地址映射表项页1、地址映射表项页2和地址映射表项页3。本申请为这3个地址映射表项页分别配置第一子映射表。其中,地址映射表项页1和第一子映射表1对应、地址映射表项页2和第一子映射表2对应、地址映射表项页3和第一子映射表3对应。
如图1所示,图1中灰色的地址映射表项为已更新的地址映射表项,白色是未更新的地址映射表项。
以地址映射表项页1为例,在图1中,地址映射表项页1中的表项4、表项7、表项10、...、以及表项998发生了更新,则与地址映射表项页1对应的第一子映射表1中记录了更新后的表项4、表项7、表项10、…、以及表项998。第一子映射表2和第一子映射表3记录的内容如图1所示,这里不再赘述。
首先,先简单介绍下本申请提供的地址映射表项页的管理方法。
在存储设备启动后,存储设备的CPU可将本设备硬盘中的所有地址映射表项页读取至本设备的缓存中进行记录。
在存储设备运行过程中,当本设备存储的数据发生更新时,存储设备可在缓存中更新与该被更新数据对应的地址映射表项页。
在将缓存中的地址映射表项页进行更新后,本申请并没有立即将地址映射表项页下发至硬盘中,而是等待缓存中的地址映射表项页满足下发条件,换句话来说,在等待缓存中更新后地址映射表项页与原地址映射表项页差别满足一定要求时,才将差别满足一定要求的地址映射表项页下发至硬盘中,以更新硬盘中存储的地址映射表项页。
相比于现有的每检测到地址映射表项页更新,硬盘就使用新的物理空间存储更新后的地址映射表项页的方法,本申请提供的方法通过先在缓存中存储更新的地址映射表项页,在更新前、后地址映射表项页差别满足一定要求时,才将缓存中的地址映射表项页下发到硬盘来进行硬盘地址映射表项页存储,这种方法减少了频繁更新地址映射表项页对硬盘造成的空间损耗。
此外,在接收到访问请求时,CPU可在缓存中查找与该访问请求携带的待访问数据的逻辑地址对应的地址映射表项,然后依据查找到的地址映射表项中记载的物理地址读取数据,而不是现有的从硬盘中读取与该访问请求对应的地址映射表项,由于从缓存中读取地址映射表项的速度快于从硬盘中读取地址映射表项的速度,所以提高了读取数据的效率。
此外,本申请为缓存里的每一个地址映射表项页创建了第一子映射表,第一子映射表用于记录与该第一子映射表对应的地址映射表项页更新后的地址映射表项,在本设备异常掉电时,可将各更新过的地址映射表项页对应的第一子映射表下发至硬盘。由于不是将更新过的地址映射表项页下发至硬盘,而是将指定地址映射表项页更新过的地址映射表项(即第一子映射表)下发至硬盘,所以减少了异常掉电后需要下发的数据量,由于需要下发的数据量减少了,所以使得存储设备所需的电容容量也可以相应减少,从而可以降低存储设备的成本。
下面详细介绍本申请提供的地址映射表项页的管理方法。
参见图2,是本申请一示例性实施例示出的一种地址映射表项页管理方法的流程图,该流程可应用在存储设备上,可包括如下所示步骤。
步骤201:在存储设备启动后,存储设备可将本设备的硬盘中多个地址映射表项页 读取到本设备的缓存进行记录。
在存储设备异常掉电(比如存储设备突然断电等)后,存储设备可利用自身的电容存储的电量保证将缓存中储存的数据下发到硬盘。存储设备自身电容容量越大,存储设备成本就越高。
为了降低存储设备成本,本申请为缓存中的每个地址映射表项页分别创建了一个上述第一子映射表,第一子映射表用于记录与该第一子映射表对应的地址映射表项页中更新后的地址映射表项。
当存储设备异常掉电后,存储设备相关硬件会产生一个下电中断信号,当存储设备的CPU接收到该下电中断信号后,可将当前缓存中的所有地址映射表项页对应的第一子映射表下发给本设备的硬盘。由于不是将指定地址映射表项页下发至硬盘,而是将指定地址映射表项页更新过的地址映射表项(即第一子映射表)下发至硬盘,所以减少了异常掉电后需要下发的数据量。由于需要下发的数据量减少了,所以使得存储设备所需的电容容量也可以相应减少,从而可以降低存储设备的成本。
因此,在本设备启动后,若硬盘里存储有至少一个第一子映射表,该第一子映射表可以是上次异常掉电时存储到硬盘中的,就需要读取硬盘中所有的第一子映射表和所有地址映射表项页,并利用第一子映射表对地址映射表项页进行更新,在更新完成后将地址映射表项页写入至缓存,使得地址映射表项页可恢复到上次异常掉电的状态。若硬盘里未存储第一子映射表,则可直接读取硬盘中的所有地址映射表项页进行记录。
在具体实现时,在本设备启动后,存储设备可读取本设备的硬盘中存储所有地址映射表项页和所有的第一子映射表,若能读取到至少一个第一子映射表,则对于每个读取到的第一子映射表,利用该第一子映射表更新与该第一子映射表对应的地址映射表项页;在更新完成后将当前所有地址映射表项页(包括更新后的地址映射表项页和未更新的地址映射表项页)在本设备的缓存中进行记录。若某个地址映射表项页没有其对应的第一子映射表,则可以认为该地址映射表项页为未更新的地址映射表项页。
比如,存储设备读取到的所有地址映射表项页有10个,分别为地址映射表项页1至地址映射表项页10,第一子映射表有2个,分别为第一子映射表5和第一子映射表10。其中,第一子映射表5与地址映射表项页5对应,第一子映射表10与地址映射表项页10对应。存储设备可利用第一子映射表5对地址映射表项页5进行更新,利用第一子映射表10对地址映射表项页10进行更新,然后将更新后的地址映射表项页5、地 址映射表项页10以及未更新的地址映射表项页1至4、以及地址映射表项页6至9在缓存中进行记录。
若存储设备不能读取到任一个第一子映射表,则直接将读取到的所有地址映射表项页在所述缓存中进行记录。
步骤202:当存储设备储存的数据被更新时,更新缓存中与该被更新的数据对应的地址映射表项页。
在存储设备运行过程中,当有新的数据写入或者已储存的数据需要修改时,可发生地址映射表项页的更新。
在实现时,当有新的数据写入时,存储设备可在该缓存中的任一地址映射表项页中添加该新写入数据的逻辑地址和物理地址的映射关系。
当有已存储的数据需要修改时,存储设备可将修改后的数据写入新的物理空间,然后以该需要修改的数据的逻辑地址为关键字,在缓存中的地址映射表项页中查找与该关键字对应的地址映射表项,然后将查找到的地址映射表项中的物理地址修改为该新的物理空间的地址。需要注意的是,每个地址映射表项中的逻辑地址是唯一的,这样就可以根据逻辑地址找到正确的地址映射表项页的正确的地址映射表项。
例如,假设需要修改数据的逻辑地址为M,存储设备将修改后的数据写入新的物理空间的物理地址为A。存储设备以M为关键字,在缓存中的地址映射表项页中查找包含M的地址映射表项。假设查找到的地址映射表项中为M-B,其中逻辑地址为M,物理地址为B,则将该地址映射表项中的物理地址由B修改为A,即将该地址映射表项页中的地址映射表项修改成M-A。
在更新缓存中与该被更新的数据对应的地址映射表项页的同时,还需要对更新的地址映射表项页对应的第一子映射表进行同步更新。
步骤203:存储设备可在所述缓存中记录的所有地址映射表项页中,确定被更新过的至少一个指定地址映射表项页,并确定各指定地址映射表项页对应的更新次数。
需要说明的是,这里不对执行步骤203至步骤204的触发条件进行具体地限定,比如,本设备可在检测到缓存中有地址映射表项页被更新时,执行步骤203至步骤204;或者,本设备还可周期性地执行步骤203至步骤204。
还需要说明的是,这里所述地址映射表项页的被更新,是指地址映射表项页里的地 址映射表项发生更新,则该地址映射表项页也发生更新。比如,地址映射表项页中增加了地址映射表项,则地址映射表项页被更新,地址映射表项页中有地址映射表项被修改,则地址映射表项页被更新。更新过的地址映射表项页为指定地址映射表项页。
在实现时,本申请为每个地址映射表项页设置了更新次数变量,每个地址映射表项页的更新次数变量的初始值相同。该更新次数变量用于统计每个地址映射表项页的更新次数。
当存储设备检测到该缓存中的有地址映射表项页被更新后,存储设备可将该被更新的地址映射表项页对应的更新次数变量进行更新。
需要说明的是,本申请并不对更新次数变量的初始值以及更新更新次数变量的方式进行具体地限定。比如,更新次数变量的初始值可以是0,地址映射表项页每更新一次,该地址映射表项页对应的更新次数变量加1。当然,该更新次数变量的初始值也可以是大于0的整数,地址映射表项页每更新一次,该地址映射表项页对应的更新次数变量增加预设值。这里只是示例性地说明,不进行具体地限定。
此外,在本申请实施例中,当存储设备检测到该缓存中有指定地址映射表项页被下发至硬盘后,则将该下发的指定地址映射表项页对应的更新次数变量恢复为初始值。需要说明的是,将指定地址映射表项页下发到硬盘后,缓存中并没有删除指定地址映射表项页。将下发到硬盘的指定地址映射表项页的更新次数变量恢复为初始值,其目的是将缓存中的该地址映射表项页重新作为未更新的地址映射表项页,以便重新进行更新统计。
在本申请实施例中,在确定被更新过的指定地址映射表项页时,存储设备可先查找每个地址映射表项页对应的更新次数变量值,然后将更新次数变量值大于初始值的地址映射表项页确定为指定地址映射表项页。
在本申请实施例中,在确定指定地址映射表项页的更新次数时,存储设备可依据指定地址映射表项页对应的更新次数变量值,确定该指定地址映射表项页的更新次数。
需要说明的是,依据指定地址映射表项页对应的更新次数变量值,确定该指定地址映射表项页的更新次数是与更新次数变量的更新方式有关的。
比如,假设更新次数变量的初始值为0,地址映射表项页每更新一次,该地址映射表项页对应的更新次数变量值加1,则存储设备可将更新次数变量值大于0的地址映射表项页确定为指定地址映射表项页。在依据指定地址映射表项页对应的更新次数变量值,确定该指定地址映射表项页的更新次数时,存储设备可直接将指定地址映射表项页的更 新次数变量值作为该指定地址映射表项页的更新次数。
再比如,假设更新次数变量的初始值为M,地址映射表项页每更新一次,该地址映射表项页对应的更新次数变量值加P,则存储设备可将更新次数变量值大于M的地址映射表项页确定为指定地址映射表项页。在依据指定地址映射表项页对应的更新次数变量值,确定该指定地址映射表项页的更新次数时,存储设备可将该指定地址映射表项页的更新次数变量值减去M后再除以P所得到的值作为指定地址地址映射表项页的更新次数。其中,M和P均为大于0的整数。这里只是示例性地说明,不进行具体地限定。
当然,存储设备还可在检测到地址映射表项页每发生一次更新时,为被更新的地址映射表项页打上更新标记。存储设备可将携带有更新标记的地址映射表项页确定为指定地址映射表项页,将指定地址映射表项页上的更新标记的总个数确定为该指定地址映射的更新次数。这里只是对确定指定地址映射表项页和该指定地址映射表项页的更新次数进行示例性地说明,不对其进行具体地限定。
步骤204:存储设备可依据各指定地址映射表项页的更新次数,确定满足下发条件的待下发指定地址映射表项页,并将待下发指定地址映射表项页下发至本设备的硬盘以更新硬盘中储存的地址映射表项页。
方式一
存储设备可将更新次数大于预设更新次数阈值的指定地址映射表项页作为待下发指定地址映射表项页并将待下发指定地址映射表项页下发至本设备的硬盘。
比如,预设更新次数阈值为800次,则将所有更新次数大于800次的地址映射表项页作为待下发指定地址映射表项页,并将待下发指定地址映射表项页下发至本设备的硬盘。
方式二
首先,存储设备可统计所有指定地址映射表项页的总个数。
然后,存储设备可检测所有指定地址映射表项页的总个数是否大于第一数量阈值,如果所有指定地址映射表项页的总个数大于第一数量阈值,存储设备可将所有指定地址映射表项页按照更新次数由大到小的顺序进行排序。
存储设备从排序第一的指定地址映射表项页开始,按照排序依次将前N个指定地址映射表项页下发至本设备的硬盘,直到当前被更新过的指定地址映射表项页的总个数小 于第二数量阈值。
比如,第一数量阈值为30,第二数量阈值为10,假设指定地址映射表项页的个数为32个。
存储设备可按照更新次数由大到小的顺序,对这32个指定地址映射表项页进行排序,然后将排序第一的指定地址映射表项页下发到硬盘,在下发完成后,检测当前缓存里的指定映射表的总个数是否小于第二数量阈值(即10)。
在本例中,当前缓存里的指定映射表的总个数(即31个)大于第二数量阈值(即10),则接着下发排序第二的指定地址映射表项页,依此类推。直至在下发完排序第23的指定地址映射表项页后,当前缓存里的指定地址映射表项页的总个数(即9个)小于第二数量阈值(即10)。
其中,可以将第二数量阈值设置为大于0的数值,或者可以将第二数量阈值设置为很小的自然数,其目的在于防止将更新次数较少的指定地址映射表项页写入硬盘。而第一数量阈值的设置不宜过大也不宜过小。如果第一数量阈值设置过大,存储设备在收到关机指令的时候时可能会存在大量的指定地址映射表项页需要写入到硬盘,从而增加了关机时间。如果第一数量阈值设置过小,则会造成指定地址映射表项页的频繁写入。
由于固态硬盘不支持覆盖写操作,所以将满足条件的待下发指定地址映射表项页下发至硬盘来更新硬盘中的地址映射表项页,并不是直接用下发的指定地址映射表项页覆盖硬盘中原来存储的地址映射表项页,而是将下发的指定地址映射表项页写入新的物理存储空间。
需要说明的是,无论是方式一,还是方式二,本申请并不是将所有的指定地址映射表项页下发到硬盘中,而是等待指定地址映射表项页满足下发条件时,才将满足下发条件的指定地址映射表项页下发到硬盘以更新硬盘中的地址映射表项页。因此,本申请并不是每检测到地址映射表项页更新,就下发更新后的地址映射表项页,而是当地址映射表项页更新次数比较多,换句话来说更新后的地址映射表项页与未更新的地址映射表项页差异比较大时,才会被下发至硬盘。
所以,相比于现有的每检测到地址映射表项页更新,硬盘就使用新的空间存储更新后的地址映射表项页的方法,本申请先在缓存里对地址映射表项页进行更新,当更新后地址映射表项页与原地址映射表项页差别满足一定要求时,才将更新后的地址映射表项页下发到硬盘。所以使用本申请的管理方法可以节省硬盘存储更新后的地址映射表项页 的空间。
比如,地址映射表项页被更新了5次,在现有方式中,硬盘会申请出5个新的空间,对每次更新后的地址映射表项页进行储存。而本申请是在缓存中对地址映射表项页每进行了一次更新后,可以判断是否满足下发条件,若不满足下发条件,则不进行下发操作。如果在更新5次后满足了下发条件,则将缓存中更新了5次后的地址映射表项页下发到硬盘里,此时硬盘可以只申请1个新的空间来对更新了5次的地址映射表项页进行储存,因此降低了硬盘存储过程中物理空间资源的消耗。
在本申请实施例中,在将待下发指定地址映射表项页下发至本设备的硬盘之后,存储设备可将该待下发指定地址映射表项页对应的第一子映射表清空。
由于下发某一待下发指定地址映射表项页,只是将该待下发指定地址映射表项页复制一份下发给硬盘,而不将缓存中的该待下发指定地址映射表项页删除,所以下发该待下发指定地址映射表项页的操作还可以包括将该待下发指定地址映射表项页对应的第一子映射表清空,其目的在于使得被下发的指定地址映射表项页在缓存中又被重新作为未更新的地址映射表项页以便进行后续可能存在的更新和下发操作。
此外,在本申请实施例中,当存储设备接收到关机指令时,存储设备可将当前缓存中所有的指定地址映射表项页下发至所述硬盘,在下发完成后,再执行关机操作。
由上述描述可知,一方面,相比于现有的每检测到地址映射表项页更新,硬盘就使用新的空间存储更新后的地址映射表项页的方法,本申请先在缓存里对地址映射表项页进行更新,当更新后地址映射表项页满足下发条件,换句话来说当更新后的地址映射表项页与原地址映射表项页差别满足一定要求时,才将更新后的地址映射表项页下发到硬盘,所以使用本申请的管理方法可以节省硬盘存储更新后的地址映射表项页的空间。
另一方面,本申请为各地址映射表项页预配置了第一子映射表,第一子映射表用于记录各地址映射表项页中更新后的地址映射表项。在接收到下电中断信号后,将缓存中的各指定地址映射表项页的第一子映射表下发到硬盘。由于不是将指定地址映射表项页整体下发至硬盘,而是将指定地址映射表项页中更新过的地址映射表项(即第一子映射表)下发至硬盘,所以减少了异常掉电后需要下发的数据量,从而电容容量也随之减少,所以可以降低存储设备的成本。
第三方面,由于下发的地址映射表项页与原地址映射表有较大差别,所以硬盘使用新的存储空间储存的下发地址映射表项页与原地址映射表项页相同的数据就比较少,所 以可以有效地减少写放大(即将相同的数据重复写入到硬盘),有效地节约硬盘存储空间。
第四方面,存储设备在本地启动后,就将本设备硬盘中所有地址映射表项页读取到本设备的缓存进行记录,使得存储设备在接收访问请求时,可以直接从缓存中读取与该访问请求对应的地址映射表项,再通过读取到的地址映射表项读取硬盘中的数据,而不是现有的从硬盘中读取与该访问请求对应的地址映射表项。由于从缓存中读取地址映射表项的速度快于从硬盘中读取地址映射表项的速度,所以提高了读取数据的效率。
下面以上述存储设备为SSD并结合两个具体地实施例,对本申请提供的地址映射表项页管理方法进行详细地说明。
实施例1
在SSD启动后,读取硬盘中存储的地址映射表项页和第一子映射表。若读取到至少一个第一子映射表,则对于每个读取到的第一子映射表,利用该第一子映射表更新与该第一子映射表对应的地址映射表项页,然后将更新过的地址映射表项页和未更新的地址映射表项页写入到本设备的缓存进行记录。
若无法读取到任一个第一子映射表,则直接将读取到的地址映射表项页写入至缓存进行记录。
此外,在SSD启动后,SSD可初始化各地址映射表项页对应的更新次数变量、以及各地址映射表项页对应的第一子映射表。
在SSD运行过程中,若检测到本地储存的数据被更新时,更新缓存中与该被更新数据对应的地址映射表项页,更新该地址映射表项页的更新次数变量值,并将更新后的地址映射表项写入至该地址映射表项页对应的第一子映射表中。
SSD可在检测到缓存中有地址映射表项页被更新时,或者周期性地,统计当前更新次数变量值大于初始值的指定地址映射表项页的总个数,并依据指定地址映射表项页对应的更新次数变量值确定该指定地址映射表项页的更新次数。
然后,SSD可检测指定地址映射表项页的总个数是否大于第一数量阈值,若指定地址映射表项页的总个数大于第一数量阈值,则按照更新次数由大到小的顺序进行排序,将排序靠前的前N个指定地址映射表项页下发至硬盘,以使得当前缓存中的指定地址映射表项页的总个数小于第二数量阈值。然后,SSD可将该前N个指定地址映射表项页的更新次数变量值恢复为初始值,同时将该前N个指定地址映射表项页的对应的第一子 映射表都进行清空。
当SSD接收到关机指令后,可将当前缓存中所有的指定地址映射表项页都下发到硬盘。在下发完成后,再执行关机操作。
当SSD接收到下电中断信号时,可将当前缓存中所有指定地址映射表项页对应的第一子映射表都下发到硬盘。
实施例2
在SSD启动后,读取硬盘中存储的地址映射表项页和第一子映射表。若读取到至少一个第一子映射表,则对于每个读取到的第一子映射表,利用该第一子映射表更新与该第一子映射表对应的地址映射表项页,然后将更新过的地址映射表项页和未更新的地址映射表项页写入到本设备的缓存进行记录。
若无法读取到任一个第一子映射表,则直接将读取到的地址映射表项页写入至缓存进行记录。
此外,在SSD启动后,SSD可初始化各地址映射表项页对应的更新次数变量、以及各地址映射表项页对应的第一子映射表。
在SSD运行过程中,若检测到本地储存的数据被更新时,更新缓存中与该被更新数据对应的地址映射表项页,更新该地址映射表项页的更新次数变量值,并将更新后的地址映射表项写入至该地址映射表项页对应的第一子映射表中。
SSD可在检测到缓存中有地址映射表项页被更新时,或者周期性地,依据各地址映射表项页的更新次数变量值确定各地址映射表项页的更新次数,并将更新次数大于预设更新次数阈值的地址映射表项页下发到硬盘中,并将下发到硬盘中的地址映射表项页对应的更新次数变量值恢复为初始值,同时将该被下发的地址映射表项页对应的第一子映射表清空。
当SSD接收到关机指令后,可将当前缓存中所有的指定地址映射表项页都下发到硬盘。在下发完成后,再执行关机操作。
当SSD接收到下电中断信号时,可将当前缓存中所有指定地址映射表项页对应的第一子映射表都下发到硬盘。
参见图3,是本申请一示例性实施例示出的一种存储设备的硬件结构图。
该存储设备包括:通信接口301、处理器302、非易失性机器可读存储介质303、易 失性机器可读存储介质304和总线305。其中,通信接口301、处理器302、非易失性机器可读存储介质303和易失性机器可读存储介质304通过总线305完成相互间的通信。处理器302通过读取并执行非易失性机器可读存储介质303存储的与地址映射表项页管理控制逻辑对应的机器可执行指令,可实现上文描述的地址映射表项页管理方法。
本文中提到的非易失性机器可读存储介质303和易失性机器可读存储介质304可以是任何电子、磁性、光学或其它物理存储介质,可以包含或存储信息,如可执行指令、数据,等等。例如,非易失性机器可读存储介质303可以是:非易失性存储器或者类似的存储介质。具体地,非易失性机器可读存储介质303可以是闪存、硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。本文中提到的易失性机器可读存储介质304可以是易失存储器。具体的,易失性机器可读存储介质304可以是RAM(Random Access Memory,随机存取存储器)、SDRAM(Synchronous Dynamic RAM,同步动态随机存取存储器)、DDR SDRAM(Double Data Rate SDRAM,二倍速率同步动态随机存取存储器)、DDR2 SDRAM、DDR3 SDRAM,或者类似的存储介质,或者它们的组合。
参见图4,是本申请一示例性实施例示出的一种地址映射表项页管理装置的框图。该装置可应用在存储设备上,可包括如下单元。
记录单元401,用于在存储设备启动后,将存储设备的硬盘中多个地址映射表项页读取到存储设备的缓存进行记录。
更新单元402,用于当存储设备储存的数据被更新时,更新缓存中与该被更新数据对应的地址映射表项页。
第一确定单元403,用于在所述缓存中记录的多个地址映射表项页中,确定被更新过的至少一个指定地址映射表项页。
第二确定单元404,用于确定各指定地址映射表项页对应的更新次数。
第三确定单元405,用于依据各指定地址映射表项页对应的更新次数,确定满足下发条件的待下发指定地址映射表项页。
下发单元406,用于将待下发指定地址映射表项页下发至硬盘,以更新硬盘中储存的地址映射表项页。
可选的,所述第三确定单元405,具体用于将更新次数大于预设的更新次数阈值的指定地址映射表项页确定作为待下发指定地址映射表项页;或者,在确定指定地址映 射表项页的总个数大于第一数量阈值时,将更新次数最大的前N个指定地址映射表项页确定作为待下发指定地址映射表项页,以使下发后的缓存中指定地址映射表项页的总个数小于第二数量阈值,其中,所述第二数量阈值小于所述第一数量阈值,N为大于零的整数。
可选的,所述第一确定单元403,具体用于查找所述多个地址映射表项页分别对应的更新次数变量值;将更新次数变量值大于初始值的地址映射表项页确定为所述指定地址映射表项页。
可选的,所述缓存中的地址映射表项页对应的更新次数变量值通过如下方式更新:当检测到缓存中的地址映射表项页被更新时,更新所述地址映射表项页对应的更新次数变量值;当所述地址映射表项页被下发到所述硬盘时,将所述地址映射表项页对应的更新次数变量值恢复至初始值。
可选的,所述下发单元406,还用于当接收到关机指令时,将当前缓存中的所有指定地址映射表项页下发至所述硬盘;在下发完成后执行关机操作。
可选的,所述缓存中的每个地址映射表项页被预创建一个对应的第一子映射表,其中,所述第一子映射表用于记录该地址映射表项页中更新后的地址映射表项;所述下发单元406,还用于当接收到下电中断信号时,将当前缓存中的所有指定地址映射表项页对应的第一子映射表下发至所述硬盘。
可选的,所述记录单元401,具体用于在存储设备启动后,读取存储设备的硬盘中存储的多个地址映射表项页和对应的第一子映射表;若能读取到至少一个第一子映射表,则对于每个读取到的第一子映射表,利用该读取到的第一子映射表更新与该读取到的第一子映射表对应的地址映射表项页,在更新完成后,将当前多个地址映射表项页在缓存中进行记录;若不能读取到任一个第一子映射表,则将硬盘中多个地址映射表项页读取至缓存进行记录。
可选的,所述装置还包括:清空单元,用于将所述待下发指定地址映射表项页对应的第一子映射表清空。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离 部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (15)

  1. 一种地址映射表项页管理方法,其特征在于,所述方法应用于存储设备,包括:
    在存储设备启动后,将所述存储设备的硬盘中多个地址映射表项页读取到所述存储设备的缓存进行记录;
    当所述存储设备储存的数据被更新时,更新所述缓存中与该被更新数据对应的地址映射表项页;
    在所述缓存中记录的所述多个地址映射表项页中,确定被更新过的至少一个指定地址映射表项页;
    确定各所述指定地址映射表项页对应的更新次数;
    依据各所述指定地址映射表项页对应的所述更新次数,确定满足下发条件的待下发指定地址映射表项页;并
    将所述待下发指定地址映射表项页下发至所述硬盘,以更新所述硬盘中储存的所述地址映射表项页。
  2. 根据权利要求1所述的方法,其特征在于,依据所述各指定地址映射对应的所述更新次数,确定满足所述下发条件的所述待下发指定地址映射表项页,包括:
    将所述更新次数大于预设的更新次数阈值的指定地址映射表项页确定作为所述待下发指定地址映射表项页;
    或者,
    在确定所述指定地址映射表项页的总个数大于第一数量阈值时,将更新次数最大的前N个指定地址映射表项页确定作为所述待下发指定地址映射表项页,以使下发后的所述缓存中的所述指定地址映射表项页的总个数小于第二数量阈值,其中,所述第二数量阈值小于所述第一数量阈值,N为大于零的整数。
  3. 根据权利要求1所述的方法,其特征在于,确定被更新过的所述至少一个指定地址映射表项页,包括:
    查找所述多个地址映射表项页分别对应的更新次数变量值;
    将所述更新次数变量值大于初始值的地址映射表项页确定为所述指定地址映射表项页。
  4. 根据权利要求3所述的方法,其特征在于,所述地址映射表项页对应的所述更新次数变量值通过如下方式更新:
    当检测到所述地址映射表项页被更新时,更新所述地址映射表项页对应的所述更新次数变量值;
    当所述地址映射表项页被下发到所述硬盘时,将所述地址映射表项页对应的所述更新次数变量值恢复至所述初始值。
  5. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    当接收到关机指令时,将当前所述缓存中的所有所述指定地址映射表项页下发至所述硬盘;
    在下发完成后执行关机操作。
  6. 根据权利要求1所述的方法,其特征在于,
    所述缓存中的每个所述地址映射表项页被预创建一个对应的第一子映射表,其中,所述第一子映射表用于记录该地址映射表项页中更新后的地址映射表项,
    所述方法还包括:
    当接收到下电中断信号时,将当前所述缓存中的所有所述指定地址映射表项页对应的第一子映射表下发至所述硬盘。
  7. 根据权利要求6所述的方法,其特征在于,将所述存储设备的所述硬盘中的所述多个地址映射表项页读取到所述存储设备的所述缓存进行记录,包括:
    在所述存储设备启动后,读取所述存储设备的所述硬盘中存储的所述多个地址映射表项页和对应的所述第一子映射表;
    若能读取到至少一个第一子映射表,
    则对于每个读取到的第一子映射表,利用该读取到的第一子映射表更新与该读取到的第一子映射表对应的地址映射表项页,
    在更新完成后,将当前所述多个地址映射表项页在所述缓存中进行记录;
    若不能读取到任一个第一子映射表,则将所述硬盘中所述多个地址映射表项页读取至所述缓存进行记录。
  8. 根据权利要求6所述的方法,其特征在于,在将所述待下发指定地址映射表项页下发至所述硬盘之后,所述方法还包括:
    将所述待下发指定地址映射表项页对应的第一子映射表清空。
  9. 一种地址映射表项页管理装置,其特征在于,所述装置应用于存储设备,包括:
    记录单元,用于在存储设备启动后,将所述存储设备的硬盘中多个地址映射表项页读取到所述存储设备的缓存进行记录;
    更新单元,用于当所述存储设备储存的数据被更新时,更新所述缓存中与该被更新数据对应的地址映射表项页;
    第一确定单元,用于在所述缓存中记录的所述多个地址映射表项页中,确定被更新 过的至少一个指定地址映射表项页;
    第二确定单元,用于确定各所述指定地址映射表项页对应的更新次数;
    第三确定单元,用于依据各所述指定地址映射表项页对应的所述更新次数,确定满足下发条件的待下发指定地址映射表项页;
    下发单元,用于将所述待下发指定地址映射表项页下发至所述硬盘,以更新所述硬盘中储存的所述地址映射表项页。
  10. 根据权利要求9所述的装置,其特征在于,所述第三确定单元,具体用于:
    将所述更新次数大于预设的更新次数阈值的指定地址映射表项页确定作为所述待下发指定地址映射表项页;或者,
    在确定所述指定地址映射表项页的总个数大于第一数量阈值时,将更新次数最大的前N个指定地址映射表项页确定作为所述待下发指定地址映射表项页,以使下发后的所述缓存中的所述指定地址映射表项页的总个数小于第二数量阈值,其中,所述第二数量阈值小于所述第一数量阈值,N为大于零的整数。
  11. 根据权利要求9所述的装置,其特征在于,所述第一确定单元,具体用于:
    查找所述多个地址映射表项页分别对应的更新次数变量值;
    将所述更新次数变量值大于初始值的地址映射表项页确定为所述指定地址映射表项页。
  12. 根据权利要求11所述的装置,其特征在于,所述地址映射表项页对应的更新次数变量值通过如下方式更新:
    当检测到所述地址映射表项页被更新时,更新所述地址映射表项页对应的所述更新次数变量值;
    当所述地址映射表项页被下发到所述硬盘时,将所述地址映射表项页对应的所述更新次数变量值恢复至所述初始值。
  13. 根据权利要求9所述的装置,其特征在于,所述下发单元,还用于:
    当接收到关机指令时,将当前所述缓存中的所有指定地址映射表项页下发至所述硬盘;
    在下发完成后执行关机操作。
  14. 根据权利要求9所述的装置,其特征在于,
    所述缓存中的每个所述地址映射表项页被预创建一个对应的第一子映射表,其中,所述第一子映射表用于记录该地址映射表项页中更新后的地址映射表项;
    所述下发单元,还用于当接收到下电中断信号时,将当前所述缓存中的所有所述指 定地址映射表项页对应的第一子映射表下发至所述硬盘;
    所述装置还包括清空单元,用于将所述待下发指定地址映射表项页对应的第一子映射表清空。
  15. 根据权利要求14所述的装置,其特征在于,所述记录单元,具体用于:
    在所述存储设备启动后,读取所述存储设备的所述硬盘中存储的所述多个地址映射表项页和对应的所述第一子映射表;
    若能读取到至少一个第一子映射表,
    则对于每个读取到的第一子映射表,利用该读取到的第一子映射表更新与该读取到的第一子映射表对应的地址映射表项页,
    在更新完成后,将当前所述多个地址映射表项页在所述缓存中进行记录;
    若不能读取到任一个第一子映射表,则将所述硬盘中所述多个地址映射表项页读取至所述缓存进行记录。
PCT/CN2019/106090 2018-09-20 2019-09-17 地址映射表项页管理 WO2020057479A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811099080.5A CN109408416B (zh) 2018-09-20 2018-09-20 一种地址映射表项页管理方法及装置
CN201811099080.5 2018-09-20

Publications (1)

Publication Number Publication Date
WO2020057479A1 true WO2020057479A1 (zh) 2020-03-26

Family

ID=65465622

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/106090 WO2020057479A1 (zh) 2018-09-20 2019-09-17 地址映射表项页管理

Country Status (2)

Country Link
CN (1) CN109408416B (zh)
WO (1) WO2020057479A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408416B (zh) * 2018-09-20 2021-01-26 新华三技术有限公司 一种地址映射表项页管理方法及装置
CN112433674B (zh) * 2020-11-16 2021-07-06 连邦网络科技服务南通有限公司 一种计算机用数据迁移系统及方法
CN112698986A (zh) * 2020-12-25 2021-04-23 北京浪潮数据技术有限公司 一种数据恢复方法、装置及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872326A (zh) * 2010-06-24 2010-10-27 济南大学 一种嵌入式环境下otp闪存的数据存储管理方法
US20110040930A1 (en) * 2009-08-17 2011-02-17 Heedong Shin Method for Accessing Flash Memory Device and Memory System Including the Same
US20120297117A1 (en) * 2011-05-18 2012-11-22 Jo Han-Chan Data storage device and data management method thereof
CN109408416A (zh) * 2018-09-20 2019-03-01 新华三技术有限公司 一种地址映射表项页管理方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5031341B2 (ja) * 2006-11-30 2012-09-19 株式会社日立製作所 記憶システム及びデータ管理方法
US8990502B2 (en) * 2010-11-23 2015-03-24 International Business Machines Corporation Write cache structure in a storage system
CN102984687A (zh) * 2011-09-06 2013-03-20 中兴通讯股份有限公司 一种移动性管理方法和系统
CN102866955A (zh) * 2012-09-14 2013-01-09 记忆科技(深圳)有限公司 一种闪存数据管理方法及系统
CN103544110A (zh) * 2013-10-08 2014-01-29 华中科技大学 一种基于固态盘的块级连续数据保护方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110040930A1 (en) * 2009-08-17 2011-02-17 Heedong Shin Method for Accessing Flash Memory Device and Memory System Including the Same
CN101872326A (zh) * 2010-06-24 2010-10-27 济南大学 一种嵌入式环境下otp闪存的数据存储管理方法
US20120297117A1 (en) * 2011-05-18 2012-11-22 Jo Han-Chan Data storage device and data management method thereof
CN109408416A (zh) * 2018-09-20 2019-03-01 新华三技术有限公司 一种地址映射表项页管理方法及装置

Also Published As

Publication number Publication date
CN109408416A (zh) 2019-03-01
CN109408416B (zh) 2021-01-26

Similar Documents

Publication Publication Date Title
US10678768B2 (en) Logical band-based key-value storage structure
US8499121B2 (en) Methods and apparatus to access data in non-volatile memory
US10649897B2 (en) Access request processing method and apparatus, and computer device
US9092323B2 (en) Systems and methods for recovering addressing data
WO2018033036A1 (zh) 固态硬盘和应用于固态硬盘的数据存取方法
WO2018194772A1 (en) Persistent memory for key-value storage
US20150331624A1 (en) Host-controlled flash translation layer snapshot
WO2020057479A1 (zh) 地址映射表项页管理
US20150248349A1 (en) Physically-addressable solid state disk (ssd) and a method of addressing the same
WO2018171296A1 (zh) 一种文件合并方法及控制器
US11030092B2 (en) Access request processing method and apparatus, and computer system
US8296270B2 (en) Adaptive logging apparatus and method
WO2017213908A1 (en) Method and apparatus for improving performance of sequential logging in a storage device
CN109407985B (zh) 一种数据管理的方法以及相关装置
US20140219041A1 (en) Storage device and data processing method thereof
CN115794669A (zh) 一种扩展内存的方法、装置及相关设备
WO2016206070A1 (zh) 一种文件更新方法及存储设备
CN112995257B (zh) 基于云存储架构的缓存扩容方法、装置以及存储介质
KR102085272B1 (ko) 비휘발성 메모리를 이용한 인메모리 데이터베이스의 데이터 처리 방법 및 인메모리 데이터베이스
KR102053406B1 (ko) 데이터 저장 장치 및 그 동작 방법
US11748259B2 (en) System and method to conserve device lifetime for snapshot generation
KR101341995B1 (ko) 공유 데이터 저장소 관리 장치 및 방법
WO2021212337A1 (zh) 一种数据访问方法及装置
KR20230090993A (ko) 전원 손실 상황에서 데이터의 영속성을 선택적으로 보장하기 위한 솔리드 스테이트 드라이브
JP6157158B2 (ja) 情報処理装置、その制御方法及びプログラム

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: 19863527

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: 19863527

Country of ref document: EP

Kind code of ref document: A1