Method of accessing a storage device and related products

By introducing a mapping relationship between host logical addresses and device logical addresses, the security and access continuity issues of hidden storage data are resolved, enabling normal host access and data protection in different modes.

CN117311591BActive Publication Date: 2026-07-07CHENGDU STARBLAZE TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHENGDU STARBLAZE TECH CO LTD
Filing Date
2022-06-21
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

In existing technologies, data stored in hidden locations is at risk of being tampered with or deleted by the host operating system or applications, and the host cannot access the discontinuous logical address space caused by the hidden space.

Method used

The concepts of host logical address space and device logical address space are introduced. By maintaining the mapping relationship between the two, the hidden space can be managed, and the working mode can be switched in different modes to ensure the continuity of the host logical address space and support normal access.

Benefits of technology

It improves the security of hidden storage data, ensures that the host can access the storage device normally in different modes, avoids the risk of data tampering, and maintains the continuity of the logical address space.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117311591B_ABST
    Figure CN117311591B_ABST
Patent Text Reader

Abstract

The application relates to a method for accessing a storage device and a related product, wherein the method comprises the following steps: in response to receiving an IO command sent by a host, taking a logical address indicated in the IO command as a host logical address; converting the host logical address into a device logical address according to a mapping relationship between the host logical address and the device logical address; converting the device logical address into a physical address by using an FTL table; and accessing an NVM chip according to the physical address as a response to the IO command. The technical scheme of the application can maintain a continuous and complete LBA space for a user, so as to meet actual requirements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application generally relates to the field of storage technology. More specifically, this application relates to methods for accessing storage devices and control components for performing the aforementioned methods. Background Technology

[0002] Figure 1A A block diagram of a solid-state storage device (SSD) is shown. The SSD 102 is coupled to a host computer to provide storage capabilities. The host computer and the SSD 102 can be coupled in various ways, including but not limited to connections via SATA (Serial Advanced Technology Attachment), SCSI (Small Computer System Interface), SAS (Serial Attached SCSI), IDE (Integrated Drive Electronics), USB (Universal Serial Bus), PCIe (Peripheral Component Interconnect Express), NVMe (NVM Express), Ethernet, Fibre Channel, and wireless communication networks. The host computer can be an information processing device capable of communicating with the storage device via the above methods, such as a personal computer, tablet computer, server, laptop computer, network switch, router, cellular phone, or personal digital assistant. Storage device 102 (hereinafter referred to as storage device) includes interface 103, control unit 104, one or more NVM chips 105 and DRAM (Dynamic Random Access Memory) 110.

[0003] The aforementioned NVM chip 105 includes common storage media such as NAND flash memory, phase-change memory, FeRAM (Ferroelectric RAM), MRAM (Magnetic Random Access Memory), and RRAM (Resistive Random Access Memory).

[0004] The aforementioned interface 103 can be adapted to exchange data with the host via methods such as SATA, IDE, USB, PCIe, NVMe, SAS, Ethernet, and Fibre Channel.

[0005] The aforementioned control unit 104 is used to control data transmission between interface 103, NVM chip 105, and DRAM 110, and also for memory management, host logical address to flash physical address mapping, erase leveling, bad block management, etc. Control unit 104 can be implemented in various ways, including software, hardware, firmware, or combinations thereof. For example, control unit 104 can be in the form of an FPGA (Field-programmable gate array), ASIC (Application Specific Integrated Circuit), or a combination thereof. Control unit 104 may also include a processor or controller, in which software is executed to manipulate the hardware of control unit 104 to process I / O (Input / Output) commands. Control unit 104 can also be coupled to DRAM 110 and can access data in DRAM 110. FTL tables and / or cached I / O command data can be stored in DRAM.

[0006] The control unit 104 includes a flash interface controller (or media interface controller, flash channel controller), which is coupled to the NVM chip 105. The flash interface controller issues commands to the NVM chip 105 in accordance with the interface protocol of the NVM chip 105 to operate the NVM chip 105, and receives the command execution results output from the NVM chip 105. Known NVM chip interface protocols include "Toggle", "ONFI", etc.

[0007] In storage device 102, an FTL (Flash Translation Layer) is used to maintain the mapping information from logical addresses (LBAs) to physical addresses. Logical addresses constitute the storage address space of the solid-state storage device as perceived by upper-layer software such as the operating system. Physical addresses are the addresses used to access the physical storage units of the solid-state storage device. In related technologies, address mapping can also be implemented using intermediate address formats. For example, a logical address can be mapped to an intermediate address, and then the intermediate address can be further mapped to a physical address. The table structure that stores the mapping information from logical addresses to physical addresses is called the FTL table. The FTL table is important metadata in the storage device. The entries in the FTL table record the address mapping relationships in the storage device, in units of data pages.

[0008] For some storage devices, the File Transfer Table (FTL) is provided by the host coupled to the storage device. The host's memory stores the FTL table, and the host's CPU executes the FTL software. In other cases, a storage management unit positioned between the host and the storage device provides the FTL. In these situations, the read / write commands received by the storage device indicate the physical address.

[0009] Commands provided by the host to the storage device may access the logical addresses corresponding to one or more entries in the FTL table. The control unit may also modify the format of commands received from interface 103 (e.g., split commands according to the size of the logical address space corresponding to the FTL entry) and process the modified commands. For clarity, this document describes the example of a read / write command received by the storage device accessing a single FTL entry.

[0010] Figure 1B This diagram illustrates a logical address space in the prior art. In the prior art, the logical address space is the storage address space provided by the storage device, and the host can use elements (logical addresses) in the logical address space to access the storage device. Generally, the size of the logical address (LBA) space that the host can access is the same as the size of the LBA space provided by the storage device. For the logical address space, the storage device manages the mapping between logical addresses and physical addresses through an FTL table.

[0011] Figure 1C A diagram illustrating host access to storage devices is shown. Figure 1C In this process, the host sends an I / O command (read / write command) to the storage device. The I / O command indicates the logical address (LBA address) to be accessed. The storage device translates the LBA address into a physical block address (PBA) based on the FTL table managed in the control unit. Then, the control unit accesses the NVM chip based on the PBA address.

[0012] With the continuous improvement of data storage technology, various types of data are stored in storage devices, such as user data, operating system data, application data, or data required for restoring the host to factory settings. To improve data security, some data should not be seen by users (such as data required for restoring the host to factory settings). This data can be stored in a hidden manner on the storage device. Hidden storage of data means that users or applications cannot see or access this data on the host side. Summary of the Invention

[0013] The hidden storage data mentioned in existing technology typically refers to data hidden from host applications but visible to the host operating system. If the operating system is compromised or accidentally manipulated, the hidden storage data is at risk of being tampered with or deleted. To improve the security of hidden storage data, the data stored in the storage device is hidden from both host applications and the operating system. Under normal circumstances, the host cannot access or modify the hidden storage data through applications or the operating system. The host can only access the hidden storage data when it is needed. For example, when the host needs to restore factory settings, it can access the data hidden in the storage device required for the factory reset to perform the reset.

[0014] To achieve the function of hiding stored data from both host applications and the operating system, the logical address space provided by the storage device is typically partitioned, and the data to be hidden is stored in the hidden space. The hidden space refers to the portion of the logical address space that the storage device does not normally provide to the host; neither the host's applications nor the operating system can access the data stored in the hidden space. The hidden space can be located anywhere within the complete logical address space (the logical address space maintained by the storage device). For example, the logical address range corresponding to the complete logical address space might be LBA0 to LBA100, while the logical address range corresponding to the hidden space might be LBA50 to LBA80. Under normal circumstances, since the hidden space is not provided to the host, the logical address range accessible to the host is LBA0 to LBA49 and LBA81 to LBA100. That is, under normal circumstances, the existence of the hidden space may result in a non-contiguous logical address space accessible to the host. However, the host's existing management mechanisms support access to contiguous LBA spaces, making it impossible for the host's existing management mechanisms to properly access the storage device.

[0015] This application introduces the concepts of host logical address space and device logical address space. The device logical address space is the storage address space provided by the storage device. The host uses elements of the host logical address space to access the storage device and process host-provided I / O commands. The storage device also maintains a mapping relationship between the host logical address space and the device logical address space. Through this mapping relationship, discontinuous device logical address spaces are mapped to a contiguous host logical address space. This ensures that when the host processes host-provided I / O commands based on host logical addresses within the host logical address space, it accesses a contiguous logical address space. Consequently, even with hidden space, the host can still access the storage device normally.

[0016] A method for accessing a storage device according to a first aspect of this application includes: in response to receiving an IO command sent by a host, using the logical address indicated in the IO command as a host logical address; converting the host logical address to a device logical address according to a mapping relationship between host logical addresses and device logical addresses; converting the device logical address to a physical address using an FTL table; and accessing an NVM chip according to the physical address as a response to the IO command.

[0017] According to the first method for accessing a storage device according to the first aspect of this application, a second method for accessing a storage device according to the first aspect of this application is provided, further comprising: in response to receiving a command triggering the storage device to adjust its operating mode, setting the operating mode of the storage device, wherein the operating mode includes a normal mode and a hidden mode; and in response to setting the operating mode of the storage device, adjusting the mapping relationship between the host logical address and the device logical address.

[0018] According to the second method for accessing a storage device according to the first aspect of this application, a third method for accessing a storage device according to the first aspect of this application is provided, wherein in response to setting the operating mode of the storage device to a hidden mode, a first mapping relationship between a host logical address and a device logical address is maintained; or in response to setting the operating mode of the storage device to a normal mode, a second mapping relationship between a host logical address and a device logical address is maintained, wherein the second mapping relationship includes the host logical address maintained by the first mapping relationship and a newly added host logical address, and in the hidden mode, the newly added host logical address is hidden from the host.

[0019] According to the third method for accessing a storage device according to the first aspect of this application, a fourth method for accessing a storage device according to the first aspect of this application is provided, wherein the newly added host logical address in the second mapping relationship is located after the host logical address maintained by the first mapping relationship, and the first mapping relationship and the second mapping relationship maintain a contiguous host logical address space.

[0020] According to the fourth method for accessing a storage device according to the first aspect of this application, a fifth method for accessing a storage device according to the first aspect of this application is provided, wherein the second mapping relationship maintains a mapping relationship between host logical addresses and all or part of device logical addresses.

[0021] According to one of the methods for first to fifth accessing a storage device according to the first aspect of this application, a method for sixth accessing a storage device according to the first aspect of this application is provided, the method further comprising: in response to receiving an Identify command, feeding back the size of the maintained host logical address space to the host.

[0022] According to one of the methods for first to sixth accessing a storage device according to the first aspect of this application, a method for seventh accessing a storage device according to the first aspect of this application is provided, the method further comprising: maintaining a mapping relationship between a host logical address and a device logical address for each user.

[0023] According to the seventh method for accessing a storage device according to the first aspect of this application, an eighth method for accessing a storage device according to the first aspect of this application is provided, the method comprising: in response to a first user and a second user accessing the storage device, maintaining the storage device in a normal mode for the first user accessing the storage device, and the storage device in a hidden mode for the second user accessing the storage device.

[0024] According to the eighth method for accessing a storage device according to the first aspect of this application, a ninth method for accessing a storage device according to the first aspect of this application is provided, which maintains a third mapping relationship between the host logical address and the device logical address in normal mode for a first user, so that the first user can access the storage device in normal mode; and maintains a fourth mapping relationship between the host logical address and the device logical address in hidden mode for a second user, so that the second user can access the storage device in hidden mode.

[0025] According to the ninth method for accessing a storage device according to the first aspect of this application, a tenth method for accessing a storage device according to the first aspect of this application is provided, wherein in response to receiving a first command sent by a first user, the host logical address indicated by the first command is converted into a device logical address according to the third mapping relationship in normal mode; and in response to receiving a second command sent by a second user, the host logical address indicated by the second command is converted into a device logical address according to the fourth mapping relationship in hidden mode.

[0026] According to the seventh method for accessing a storage device according to the first aspect of this application, an eleventh method for accessing a storage device according to the first aspect of this application is provided, the method comprising: maintaining a hidden space for each user, wherein the visible space in the device logical address space precedes the hidden space, and the visible space and the hidden space of each user are not contiguous in the device logical address space; in response to any user accessing the storage device in normal mode, setting the hidden space corresponding to the any user after its corresponding visible space, so that the any user sees that its corresponding hidden space and visible space are contiguous.

[0027] According to the seventh method of accessing a storage device according to the first aspect of this application, a twelfth method of accessing a storage device according to the first aspect of this application is provided, the method comprising: in response to multiple users accessing the storage device, maintaining a separate hidden space for each user, and each user independently accessing the storage device in hidden mode without affecting other users accessing the storage device in normal mode, or each user independently accessing the storage device in normal mode without affecting other users accessing the storage device in hidden mode.

[0028] According to the eleventh or twelfth method of accessing a storage device according to the first aspect of this application, a thirteenth method of accessing a storage device according to the first aspect of this application is provided, wherein the hidden space is located in any part of the device logical address space.

[0029] According to the thirteenth method of accessing a storage device according to the first aspect of this application, a fourteenth method of accessing a storage device according to the first aspect of this application is provided, in response to a hidden space being located inside a visible space, wherein the visible space is continuous in the host logical address space and is not interrupted by the hidden space.

[0030] According to the seventh method for accessing a storage device according to the first aspect of this application, a fifteenth method for accessing a storage device according to the first aspect of this application is provided, the method comprising: mapping host logical addresses of different users to the same device logical address.

[0031] According to the seventh method for accessing a storage device according to the first aspect of this application, a sixteenth method for accessing a storage device according to the first aspect of this application is provided, wherein a namespace represents the user's visible space, and the method further includes: in response to the storage device switching to normal mode, the namespace displayed to the user becomes larger.

[0032] According to one of the methods for accessing a storage device from the seventh to the sixteenth method of the first aspect of this application, a method for accessing a storage device according to the first aspect of this application is provided, wherein the storage device has multiple namespaces, and maintaining a mapping relationship between a host logical address and a device logical address for each user includes: in response to serving multiple users based on multiple namespaces, maintaining a mapping relationship between a host logical address and a device logical address for each namespace.

[0033] According to the seventeenth method of accessing a storage device according to the first aspect of this application, an eighteenth method of accessing a storage device according to the first aspect of this application is provided, wherein there is overlap or independence between the device logical addresses mapped by the host logical addresses maintained for different namespaces or different users.

[0034] According to the twelfth method of accessing a storage device according to the first aspect of this application, a nineteenth method of accessing a storage device according to the first aspect of this application is provided, the method further comprising: in response to the overlap of device logical address spaces mapped by host logical address spaces corresponding to at least two users maintained by the storage device and the existence of data conflicts, the user manages the data conflicts himself.

[0035] According to the eighteenth method of accessing a storage device according to the first aspect of this application, a twentieth method of accessing a storage device according to the first aspect of this application is provided, wherein the host logical addresses maintained for different namespaces or different users are independent of each other.

[0036] According to one of the seventeenth to twentieth methods for accessing a storage device according to the first aspect of this application, a twenty-first method for accessing a storage device according to the first aspect of this application is provided, the method further comprising: adjusting the mapping relationship between the corresponding host logical address and the device logical address in response to a change in the size of the namespace or the device storage address space corresponding to the user.

[0037] According to the method for accessing a storage device according to the first aspect of this application, a method for accessing a storage device according to the first aspect of this application is provided in twenty-second, the method further comprising: responding to adjusting the mapping relationship between the host logical address corresponding to a namespace or user and the device logical address, wherein there is overlap between some of the host logical addresses corresponding to the namespace or user.

[0038] According to one of the eighteenth to twenty-second methods for accessing a storage device according to the first aspect of this application, a twenty-third method for accessing a storage device according to the first aspect of this application is provided, the method further comprising: responding to a host accessing the storage device using an overlapping portion of a host logical address, wherein the storage device determines its corresponding namespace or user based on namespace information or user information indicated by an IO command sent by the host, converting the host logical address indicated by the IO command to a device logical address according to the mapping relationship between the host logical address and the device logical address corresponding to the namespace or user, converting the device logical address to a physical address using an FTL table, and accessing an NVM chip based on the physical address as a response to the IO command.

[0039] According to the control component of the second aspect of this application, the control component is used to implement the method for accessing a storage device as described in the first aspect of this application.

[0040] The storage device according to the third aspect of this application includes a storage medium and a control component as described in the second aspect of this application. Attached Figure Description

[0041] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings.

[0042] Figure 1A A block diagram of a solid-state storage device is shown.

[0043] Figure 1B This diagram illustrates the logical address space (LBA) in the prior art.

[0044] Figure 1C This diagram illustrates a host accessing a storage device in the prior art.

[0045] Figure 2 This application illustrates a schematic diagram of a host accessing a storage device according to an embodiment of the present application.

[0046] Figure 3A This application provides a schematic diagram illustrating the mapping between the host logical address space and the device logical address space in the hidden mode.

[0047] Figure 3B This application provides a schematic diagram illustrating the mapping between the host logical address space and the device logical address space in a normal mode, as provided in an embodiment of this application.

[0048] Figure 3C This application provides a schematic diagram illustrating the mapping between the host logical address space and the device logical address space in another normal mode, as provided in an embodiment of this application.

[0049] Figure 4A This illustration shows a mapping diagram between a host logical address space and a device logical address space provided in an embodiment of this application.

[0050] Figure 4B This application illustrates a schematic diagram showing the mapping relationship between maintaining a separate host logical address space and a device logical address space for each user, according to an embodiment of this application; and

[0051] Figure 4C This illustration shows another mapping relationship between the host logical address space and the device logical address space maintained by each user, as provided in an embodiment of this application. Detailed Implementation

[0052] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.

[0053] According to embodiments of this application, the storage device can be configured with multiple operating modes, including at least a hidden mode and a normal mode. In hidden mode, the storage device provides a portion, but not all, of its logical address space to the host, so that the host only knows a portion of the storage device's logical address space. Furthermore, if the host attempts to access a logical address space present in the storage device but not provided to the host, the storage device will reject such access requests and report an error.

[0054] Normal mode is a working mode that contrasts with the hidden mode described above. In normal mode, the hidden logical address space is visible to the host. Optionally, in normal mode, the logical address space provided by the storage device to the host is the same as or smaller than the logical address space maintained internally by the storage device. Understandably, in some implementations, the storage device also maintains other ranges of logical address space internally, which are not visible to the host in either normal mode or hidden mode.

[0055] As an example, a storage device can respond to a command that triggers it to adjust its operating mode, setting its operating mode (e.g., normal mode or hidden mode). In one implementation, the aforementioned command can be sent from the host to the storage device. Specifically, when a user discovers the need to use hidden data to perform certain tasks or operations (e.g., a user discovers malicious code (such as a virus) on the host's operating system), or when the use of hidden data is not required, the host can send a command to the storage device. Upon receiving the command, the storage device can adjust its operating mode to normal mode or hidden mode accordingly.

[0056] As another example, the aforementioned command for adjusting the operating mode may include a mode switching command or a Set Feature command defined by the NVMe protocol. The mode switching command is a custom command, not a protocol-defined command. However, its format conforms to the protocol (such as the NVMe protocol). For example, a mode switching command includes a "command code" and optionally "command parameters." The command code has a specified value to indicate that the current command is a mode switching command. The host specifies the content of the mode switching command or the parameter values. For example, the mode switching command provided by the host to the storage device only includes a command code (without specifying command parameters). The storage device recognizes the received command as a mode switching command based on the command code and changes its current mode accordingly. For example, if the storage device is currently in hidden mode, it changes to normal mode in response to receiving the mode switching command; and / or if the storage device is currently in normal mode, it changes to hidden mode in response to receiving the mode switching command. In yet another example, the mode switching command provided by the host to the storage device includes a command code and command parameters. The storage device recognizes the received command as a mode switching command based on the command code and then determines the mode the storage device wants to enter based on the command parameters. When the command parameter is, for example, 0, it indicates switching from hidden mode to normal mode; when the command parameter is, for example, 1, it indicates switching from normal mode to hidden mode.

[0057] The host defines the content of the mode switching command to instruct the storage device to perform a working mode switching operation after receiving the mode switching command, or to configure the parameters of the mode switching command. For example, the host instructs the storage device to perform a working mode switching operation after receiving the mode switching command by setting the value of the command parameter in the mode switching command.

[0058] When the host defines the content of the mode switching command, the storage device switches its current operating mode according to the command. For example, in response to receiving the mode switching command in normal mode, the storage device switches from normal mode to hidden mode; or in response to receiving the mode switching command in hidden mode, the storage device switches from hidden mode to normal mode. When the host configures the command parameters of the mode switching command, the storage device switches its operating mode according to the value of the command parameters. For example, the host configures the command parameters of the mode switching command based on the current operating mode of the storage device. For instance, if the current operating mode of the storage device is hidden mode, and the command parameter is configured to 0 to control the storage device to switch to normal mode, the storage device switches to normal mode according to the command parameter value; if the current operating mode of the storage device is normal mode, and the command parameter is configured to 1 to control the storage device to switch to hidden mode, the storage device switches to hidden mode according to the command parameter value.

[0059] As an example, the specific format of the host-defined mode switching command may also include a command code and two or more command parameters to implement more functions. In one implementation, by carrying different command parameters, the mode switching command instructs the storage device to: set to hidden mode, set to normal mode, and set the size of the hidden LBA space. The functions of setting to hidden mode and setting to normal mode are suitable for use during storage device operation, while the function of setting the size of the hidden LBA space is suitable for use during storage device manufacturing to provide users with a storage device with a specified size of hidden space. When the mode switching command instructs the setting of the hidden LBA space size, further command parameters describe the value of the hidden LBA space size.

[0060] Furthermore, a command parameter of the mode switching command indicates the length of data to be transmitted in the current command, to meet the requirements of the host and storage device. The host and / or storage device determine whether the processing of the current command is complete by recognizing the length of data to be transmitted in the command parameter. Since the mode switching command does not require data transmission between the host and storage device, this command parameter is set to 0 in the mode switching command.

[0061] Similarly, another command parameter of the mode switching command is used to indicate the length of the metadata to be transmitted by the current command. In the embodiments according to this application, this command parameter is also set to 0 in the mode switching command.

[0062] When the mode switching command instructs the setting of the hidden LBA space size, it also indicates, for example, whether to initialize the hidden LBA space, whether the hidden LBA space needs to be aligned to 4KB, etc., through one or more command parameters.

[0063] As another implementation, the aforementioned command can be the Set Feature command defined by the NVMe protocol. The Set Feature command of the NVMe protocol can set various different "features" through command parameters. For a specific storage device, some "features" are not supported, so when it receives a Set Feature command for such a feature, it does not need to process it. Therefore, the Set Feature command indicating such a feature can be used as a mode switching command, thus eliminating the need to add a new command.

[0064] As an example, "LBA Range Type" is one of the features that the Set Feature command can indicate, but some current storage devices do not support this feature. Therefore, the Set Feature command with the "LBA Range Type" command parameter is used as the mode switching command according to embodiments of this application. For this purpose, in addition to carrying the "LBA Range Type" command parameter, the Set Feature command also carries one or more command parameters to instruct the storage device to: set to hidden mode, set to normal mode, and set the size of the hidden LBA space. Furthermore, when the mode switching command instructs the setting of the hidden LBA space size, one or more command parameters also indicate, for example, whether to initialize the hidden LBA space, whether the hidden LBA space needs 4KB alignment, etc. Specifically, the "Data Structure Entry" field of the Set Feature command with the "LBA Range Type" command parameter is used to describe one or more parameters used for the mode switching command.

[0065] In another example, the Set Feature command indicates two logical address ranges: LBA0~LAB100 and LBA200~LBA300. This application embodiment, based on the existing NVMe protocol's definition that the Set Feature command can indicate one or more logical address ranges, further sets the one or more logical address ranges indicated by the Set Feature command to be either host-accessible or host-inaccessible, thereby enabling the hiding or showing of a portion of the storage device's logical address space to the host. Furthermore, the operating mode of the storage device and the storage capacity can be set according to the one or more logical address ranges indicated by the Set Feature command. For example, these one or more logical address ranges can be set by the user using the Set Feature command. Understandably, in some implementations, the user can also directly set the Set Feature command defined by the NVMe protocol, so that the Set Feature command instructs the storage device to switch modes; that is, after receiving the Set Feature command, the storage device enters or exits hidden mode according to the switching mode indicated by the Set Feature command.

[0066] As mentioned above, storage devices can switch between hidden mode and normal mode according to actual needs. In hidden mode, some logical address space (hidden space) is not provided to the host, which may result in the host being able to access a non-contiguous logical address space, making it impossible for the host to access the storage device normally.

[0067] To enable the host to access the storage device normally in hidden mode, this application introduces the concepts of host logical address space and device logical address space. The device logical address space is the storage address space provided by the storage device. The host accesses the storage device using elements of the host logical address space (host logical addresses). To process I / O commands provided by the host, the storage device translates the elements of the host logical address space in the I / O command into elements of the device logical address space (device logical addresses). The host logical address space is the storage address space reported by the storage device to the host and accessed by the host as a block device. Furthermore, the storage device maintains a mapping relationship between the host logical address space and the device logical address space. The host accesses the storage device based on this mapping relationship, which actually maintains the mapping relationship between each device logical address in the device logical address space and the corresponding host logical address in the host logical address space.

[0068] Figure 2 A schematic diagram illustrating host access to a storage device provided in an embodiment of this application is shown. Figure 2 In this process, the host sends an I / O command (read / write command) to the storage device. The I / O command indicates the host logical address to be accessed. The storage device converts the host logical address to a device logical address based on the mapping relationship between host logical addresses and device logical addresses managed in the control unit, and then uses the FTL table to convert the device logical address to a physical address (PBA). The NVM chip is then accessed based on the PBA address. For example, the control unit retrieves data stored in the NVM chip based on the physical address and uses this data as a response to the I / O command.

[0069] Furthermore, since the size and range of the device logical address space that the storage device can provide to the host are different in hidden mode and normal mode, the mapping relationship between the host logical address space and the device logical address space maintained by the storage device is also different in different modes.

[0070] For example, in response to setting the storage device's operating mode to hidden mode, a mapping relationship a1 between host logical addresses and device logical addresses can be maintained. Alternatively, in response to setting the storage device's operating mode to normal mode, a mapping relationship a2 between host logical addresses and device logical addresses can be maintained. Mapping relationship a2 includes the host logical addresses maintained by mapping relationship a1 and newly added host logical addresses, and in hidden mode, newly added host logical addresses are hidden from the host.

[0071] As an example, the newly added host logical address in mapping relationship a2 is located after the host logical address maintained by mapping relationship a1, and mapping relationship a1 and mapping relationship a2 maintain a continuous host logical address space.

[0072] The following combination Figure 3A , Figure 3B as well as Figure 3C The mapping relationship between host logical addresses and device logical addresses under different operating modes is explained.

[0073] Figure 3A This illustration shows a schematic diagram of the mapping between the host logical address space and the device logical address space in hidden mode, as provided in an embodiment of this application. The host logical address space is the storage address space known and accessible to the host, while the device logical address space is the storage address space maintained and managed by the storage device. To enable the host to access the storage device through elements of the host logical address space, a certain mapping relationship exists between the host logical address space and the device logical address space. This mapping relationship is not static but dynamically changes depending on the operating mode of the storage device. Figure 3A In this context, the device's logical address space can include three parts: A1, A2, and A3. There is a mapping relationship between host logical address space 1 and A2, while A1 and A3 do not have corresponding host logical address spaces. It can be understood that in hidden mode, the hidden space includes device logical address spaces A1 and A3.

[0074] like Figure 3A As shown, when the storage device is in hidden mode, the relationship between the host logical address space and the device logical address space can be configured. A mapping relationship (a1) is stored between the host logical address and a portion of the device logical address space (e.g., a mapping relationship exists between host logical address space 1 and A2), while some device logical address spaces do not have corresponding host logical address spaces (e.g., A1 and A3 have no corresponding host logical address spaces). Since the host accesses the storage device through host logical addresses, the host cannot access the portion of the device logical address space that does not have a corresponding host logical address. For example, the host operating system, applications, or disk manager cannot access this portion of the device logical address space.

[0075] Figure 3B This illustration shows a schematic diagram of the mapping between the logical address space of a host and the logical address space of a device in normal mode, as provided in an embodiment of this application.

[0076] exist Figure 3B In normal mode (specifically, the storage device can be set to normal mode using the mode switching command or the Set Feature command), by Figure 3B As can be seen, in hidden mode, device logical address spaces A1 and A3 cannot be accessed by the host because they lack corresponding host logical address spaces. As discussed above, compared to hidden mode, in normal mode, the host can access not only the entire device logical address space (accessible in hidden mode), but also some or all of the device logical address space that is inaccessible in hidden mode. That is, in normal mode, the host can access not only device logical address space A2, but also part or all of device logical address spaces A1 and / or device logical address space A3. The following explanation uses the example of the host being able to access all device logical addresses in device logical address spaces A1 and A3 in normal mode.

[0077] In order for the host to access device logical address space A1 and device logical address space A3, Figure 3B In normal mode, the host logical address space includes host logical address space 1 and host logical address space 1-1. For example, a mapping relationship a2 can be maintained between the host logical address space and the device logical address space, including a mapping relationship between host logical address space 1-1 and device logical address spaces A1 and A3, and a mapping relationship between host logical address space 1 and A2. It is understandable that in hidden mode, some device logical address spaces A1 and A3 do not have corresponding host logical address spaces (e.g., ...). Figure 3B (As shown). In normal mode, some device logical address spaces A1 and A3 are mapped to the host logical address space 1-1. In this case, host logical address space 1-1 can be understood as a newly added host logical address space when switching from hidden mode to normal mode. The host accesses device logical address spaces A1 and A3 through this newly added host logical address space 1-1. For example, the newly added host logical address space 1-1 is located after host logical address space 1 in the host logical address space, thus ensuring that even if the capacity provided to the host by the storage device changes, the host can still find the corresponding data based on the logical address of the data recorded in the existing file system.

[0078] As another example, in normal mode, the newly added host logical address space 1-1 is mapped to any location in the device logical address space (e.g., A1, A3). Therefore, after the storage device switches from hidden mode to normal mode, the original host logical addresses remain unchanged, while the newly added host logical address space can be mapped to any location in the device logical address space, thus removing the location restrictions of the hidden space within the device logical address space. For example, if the address range of the host logical address space was 0-256GB in hidden mode, this range remains 0-256GB after switching from hidden mode to normal mode. Furthermore, the device logical address space managed by the storage device remains unchanged before and after the mode switch, isolating the changes in the host logical address space from the processing of the storage device's control components and avoiding the introduction of additional complexity.

[0079] Figure 3C This illustration shows a schematic diagram of the mapping between the host logical address space and the device logical address space in another normal mode provided by an embodiment of this application.

[0080] As shown in 3C, the device LBA space provided by the storage device consists of four parts: S1, S2, S3, and S4. In hidden mode, S1 is the device logical address space accessible to the host, while S2, S3, and S4 are device logical address spaces inaccessible to the host. In hidden mode, the host logical address space corresponding to S1 is host logical address space 1. In normal mode, S1, S2, and S4 are device logical address spaces accessible to the host, while S3 is a device logical address space inaccessible to the host. When the storage device switches its operating mode from hidden mode to normal mode, the host can access not only device logical address space S1 but also device logical address spaces S2 and S4. To enable the host to access device logical address spaces S2 and S4, the storage device, based on the mapping relationship between host logical address space 1 and device logical address space S1 maintained in hidden mode, adds a new host logical address space 2 after host logical address space 1 in this mapping relationship. A mapping relationship is established between host logical address space 2 and device logical address spaces S2 and S4, allowing access to device logical address spaces S2 and S4 through host logical address space 2. Furthermore, since S3 does not have a corresponding host logical address space, the host operating system, applications, or disk manager cannot access S3. Therefore, in both hidden mode and normal mode, a portion of hidden space is preserved from host access.

[0081] Furthermore, such as Figure 3CIn normal mode, the device logical address space actually accessible to the host is S1, S2, and S4. S4 is separated from S1 and S2 by S3, meaning that in normal mode, the device logical address space actually accessible to the host is a discontinuous logical address space. However, in the solution provided in this application embodiment, the storage device maintains a mapping relationship between the host logical address space and the device logical address space. The host logical address space is a contiguous logical address space. Therefore, when the host accesses the storage device based on its host logical address, it is accessing a contiguous logical address space from the host's perspective. This avoids the problem of the host being unable to access the device normally due to the discontinuous logical address space maintained by the storage device in hidden mode.

[0082] Furthermore, as a data storage device, a storage device can provide data storage services to multiple different users. To ensure the security of the data stored by different users, the storage device maintains its own accessible storage space for each user. For example, the logical address space of the storage device includes parts A1, A2, and A3. The storage device can be accessed by users A, B, and C. User A can access the entire logical address space (A1, A2, and A3), user B can access part of the logical address space (A1), and user C can access another part of the logical address space (A3). Whether user A can access the device's logical address spaces A2 and A3 is independent of whether users B and C can access the device's logical address spaces A2 and A3. In other words, different users' access to the storage device is independent and does not interfere with each other. In addition, different users can also access the storage device in parallel. Since different users have different accessible logical address spaces, different users can access the storage device in different operating modes. For example, user A can access the storage device in normal mode, while users B and C can access the storage device in hidden mode.

[0083] Furthermore, in order to enable multiple different users to access the storage device, the storage device also maintains a mapping relationship between the host logical address and the device logical address for each user.

[0084] As an example, further, in response to user A and user B accessing the storage device, the storage device can maintain a mapping relationship between the host logical address and the device logical address in normal mode for user A, enabling user A to access the storage device in normal mode. Additionally, it can maintain a mapping relationship between the host logical address and the device logical address in hidden mode for user B, enabling user B to access the storage device in hidden mode. Specifically, it can maintain a mapping relationship between the host logical address and all device logical addresses for user A. Of course, if it is still necessary to hide some space in normal mode, it can also maintain a mapping relationship between the host logical address space and a portion of the device logical address space for user A. In hidden mode, a portion of the logical addresses in the device logical address space needs to be hidden from user B; in this case, it maintains a mapping relationship between the host logical address space and the other device logical address spaces excluding that portion of logical addresses for user B. Further, as an example, in response to receiving command 1 sent by user A, in normal mode, the host logical address indicated by command 1 is converted to a device logical address according to the corresponding mapping relationship. In response to receiving command 2 sent by user B, in hidden mode, the host logical address indicated by command 2 is converted to a device logical address according to the corresponding mapping relationship. Furthermore, since each user's access to the storage device is independent, the storage device can maintain a mapping relationship between the host logical address and the device logical address in hidden mode for user A, enabling user A to access the storage device in hidden mode; and maintain a mapping relationship between the host logical address and the device logical address in hidden mode for user B, enabling user B to access the storage device in hidden mode; or maintain a mapping relationship between the host logical address and the device logical address in hidden mode for user A, enabling user A to access the storage device in hidden mode; and maintain a mapping relationship between the host logical address and the device logical address in normal mode for user B, enabling user B to access the storage device in normal mode. These two cases are similar to the aforementioned process of user A accessing the storage device in normal mode and user B accessing the storage device in hidden mode, and will not be elaborated upon here.

[0085] Figure 4A This illustration shows a mapping diagram between a host logical address space and a device logical address space provided by an embodiment of this application.

[0086] As another implementation method, a mapping relationship between the host logical address space and the device logical address space can be maintained for different users. For example... Figure 4AAs shown, the device logical address space can include S1 to S5. Mapping relationships can be established between host logical address space 1, host logical address space 2, and host logical address space 3 and the device logical address space, respectively. For example, the device logical address spaces corresponding to host logical address space 1, host logical address space 2, and host logical address space 3 can be independent of each other. For example, the mapping relationship between host logical address space 1 and S1, the mapping relationship between host logical address space 2 and S2 and S4, and the mapping relationship between host logical address space 3 and S5 can be maintained separately. As another example, the device logical address spaces corresponding to host logical address space 1, host logical address space 2, and host logical address space 3 can overlap. For example, the mapping relationship between host logical address space 1 and S1 and S2, the mapping relationship between host logical address space 2 and S2 and S4, and the mapping relationship between host logical address space 3 and S3 to S5 can be maintained separately. As yet another example, a separate hidden space can be maintained for each user. For example, S3 can be used as the hidden space for any user. In hidden mode, only the mapping relationship between host logical address space 1 and device logical address spaces S1, S2, S4, and S5 is maintained. In normal mode, in addition to maintaining the mapping relationship between host logical address space 1 and device logical address spaces S1, S2, S4, and S5, access to the hidden space can be achieved by maintaining the mapping relationship between host logical address 1-1 and device logical address space S3. Notably, host logical address 1-1 must be located after host logical address 1.

[0087] As another example, the storage device can also maintain its own hidden space for each user. In this hidden space, the visible space precedes the hidden space in the device's logical address space, and each user's visible space and hidden space are not contiguous in the device's logical address space. The storage device maintains a mapping between the host logical address and the device logical address for each user in either hidden mode or normal mode. This allows each user to access the storage device independently in hidden mode without affecting other users accessing the storage device in normal mode, or vice versa.

[0088] Figure 4B This illustration shows a mapping relationship between the host logical address space and the device logical address space maintained by each user, according to an embodiment of this application.

[0089] For example, the storage device provides a device logical address space consisting of four parts: M1, M2, M3, and M4. M1 is the device logical address space accessible to user A in hidden mode, while M3 is the device logical address space inaccessible to user A in hidden mode. M2 is the device logical address space accessible to user B in hidden mode, and M4 is the device logical address space inaccessible to user B in hidden mode. To enable users A and B to access the storage device through the host, the storage device maintains a mapping relationship between their respective host logical addresses and device logical addresses. For example... Figure 4B As shown, in hidden mode, the storage device maintains a mapping relationship A1 between the host logical address space and the device logical address space corresponding to user A, and a mapping relationship A2 between the host logical address space and the device logical address space corresponding to user B. Mapping relationship A1 maintains the mapping relationship between the device logical address space M1 accessible to user A in hidden mode and its corresponding host logical address space M1-1; mapping relationship A2 maintains the mapping relationship between the device logical address space M2 accessible to user B in hidden mode and its corresponding host logical address space M2-1.

[0090] Figure 4C This illustration shows another mapping relationship between the host logical address space and the device logical address space maintained by each user, as provided in an embodiment of this application.

[0091] As an example, in Figure 4C In the process, the storage device responds to access requests from users A and B, specifically user A accessing the storage device in normal mode and user B accessing the storage device in hidden mode. The storage device maintains a mapping A3 between the device logical address space and the host logical address space in normal mode for user A, and maintains the same mapping A3 for user B. Figure 4B The mapping relationship A2 is shown. Additionally, with... Figure 4B For user A, in normal mode, user A can access both device logical address space M1 and device logical address space M3 through the host. To enable user A to access device logical address spaces M1 and M3 through the host, the storage device, based on the mapping relationship between host logical address space M1-1 and device logical address space M1 maintained in hidden mode, adds a new host logical address space M1-2 after host logical address space M1-1 in mapping relationship A3, and establishes a mapping relationship between host logical address space M1-2 and device logical address space M3, allowing access to device logical address space M3 through host logical address space M1-2. Furthermore, as shown below... Figure 4CIt is understood that the storage device maintains its own hidden space for each user, where the visible space in the device's logical address space precedes the hidden space and is not contiguous. When any user accesses the storage device in normal mode, the host logical address space corresponding to that user's hidden space can be set after the host logical address space corresponding to their visible space. This ensures that when the user accesses the storage device through the host based on the host logical address space, their corresponding hidden space and visible space appear to be contiguous.

[0092] As another example, the aforementioned Figure 4B or Figure 4C The hidden spaces M2 and M4 shown can be located anywhere in the device's logical address space; for example, the hidden space can be located inside the visible space. As an example, in response to the hidden space being located inside the visible space, the visible space in the host logical address space maintained by the storage device is contiguous and not interrupted by the hidden space. For instance, if the device logical address range of the device logical address space is LBA0 to LBA256, where LBA50 to LBA100 is the hidden space and the other device logical address spaces are the visible space, then the host logical address space maintained by the storage device is LBA0 to LBA206. Here, the host logical address spaces LBA0 to LBA49 correspond to the device logical address spaces LBA0 to LBA49, and the host logical address spaces LBA50 to LBA206 correspond to the device logical address spaces LBA101 to LBA256.

[0093] As described above, the storage device allocates a corresponding storage space to each user. Due to the limited storage resources of the storage device, the storage space allocated to each user may partially or completely overlap. For example, the logical address range of the storage space allocated to user A may be LBA0 to LBA100, while the logical address range of the storage space allocated to user B may be LBA50 to LBA150. This means that the storage space with the logical address range LBA50 to LBA100 can be shared by both users A and B, meaning it can be accessed by both. In addition to allocating storage space to each user, the storage device also maintains a mapping relationship between the host logical address and the device logical address for each user's corresponding storage space. Therefore, in the mapping relationships between host logical addresses and device logical addresses maintained by the storage device for different users, this shared storage space will be mapped to different host logical address spaces. For example, for the device logical address space with a range of LBA50 to LBA150, it is mapped to host logical address space Q1 in the mapping relationship maintained for user A, and to host logical address space Q2 in the mapping relationship maintained for user B. In other words, the storage device can also map host logical address spaces maintained for different users to the same device logical address space. For example, if the device logical address space in the storage device has a range of 0 to 356 GB, it can maintain a mapping relationship between the host logical address space and the device logical address space with a range of 0 to 256 GB for user A, and maintain a mapping relationship between the host logical address space and the device logical address space with a range of 0 to 256 GB for user B.

[0094] For example, to allocate storage space to each user, multiple namespaces (NS) can be created within a solid-state storage device (SSD). This involves dividing the SSD's memory space into multiple independent logical spaces, each of which is a namespace. For the host, each namespace corresponds to an independent disk, presented as a disk with a contiguous range of logical addresses. For the SSD, each namespace contains several logical addresses, which may or may not be contiguous. Generally, an SSD has at least one namespace by default. Users can create namespaces with different characteristics according to their needs, creating several different namespaces on a single SSD for use by the same or different users. As another example, storage devices can use namespaces to represent the visible space of a user.

[0095] Because the capacity of the visible space differs between storage devices accessed in normal mode and those accessed in hidden mode (e.g., the visible space in normal mode is larger than that in hidden mode), as an example, when the visible space is represented by a namespace, the namespace displayed to the user increases in response to the storage device switching to normal mode. For instance, user A accesses the device's logical address space in hidden mode, where the logical address range is LBA0 to LBA100, and in normal mode, it's LBA0 to LBA150; user A's visible space is namespace 1. In response to user A accessing the storage device, the storage device switches from hidden mode to normal mode, and the namespace 1 displayed to the user changes from LBA0 to LBA100 to LBA0 to LBA150.

[0096] As an example, when a storage device has multiple namespaces, in response to serving multiple users based on these namespaces, a mapping relationship between host logical addresses and device logical addresses is maintained for each namespace. Furthermore, the device logical addresses mapped to host logical addresses maintained for different namespaces or different users may overlap or be independent. For example, user A's namespace is NS1, and user B's namespace is NS2. The storage device maintains a mapping relationship between a host logical address and a device logical address for both namespaces NS1 and NS2. The device logical address space in the storage device ranges from 0 to 356GB. A mapping relationship can be maintained between the host logical address space and the device logical address space ranging from 0 to 256GB for NS1, and between the host logical address space and the device logical address space ranging from 256GB to 356GB for NS1. Alternatively, NS1 can maintain the mapping relationship between the host logical address space and the device logical address space with a range of 0 to 256 GB, and NS2 can maintain the mapping relationship between the host logical address space and the device logical address space with a range of 100 GB to 356 GB.

[0097] Furthermore, in some embodiments, in response to the overlap between the host logical address spaces and device logical address spaces mapped to at least two users maintained by the storage device, and the existence of data conflicts, the data conflicts can be managed by the users themselves. For example, the storage device maintains a host logical address space and a device logical address range of LBA0 to LBA100 for user A, and a host logical address space and a device logical address range of LBA50 to LBA150 for user B. This means that the storage space within the device logical address range of LBA50 to LBA100 overlaps, and in some implementation scenarios, if data conflicts exist (e.g., user A and user B have conflicts regarding the use of this overlapping portion), the use of this overlapping portion can be negotiated and managed by the users to facilitate data sharing.

[0098] Furthermore, as an example, the host logical addresses maintained for different namespaces or different users are independent of each other. As mentioned earlier, although the device logical address spaces mapped by the host logical address spaces corresponding to different users may overlap, their corresponding host logical address spaces are independent of each other and will not interfere with each other.

[0099] As an example, further, in response to a change in the size of the device storage address space corresponding to a namespace or user, the mapping relationship between its corresponding host logical address and device logical address can be adjusted. Further, in response to adjusting the mapping relationship between the host logical address and device logical address corresponding to a namespace or user, there may be overlap between the host logical addresses corresponding to some namespaces or users. In some implementation scenarios, in response to a host accessing a storage device using the overlapping part of the host logical address, the storage device determines its corresponding namespace or user based on the namespace information or user information indicated by the IO command sent by the host, converts the host logical address indicated by the IO command to a device logical address according to the mapping relationship between the host logical address and device logical address corresponding to that namespace or user, converts the device logical address to a physical address using the FTL table, and accesses the NVM chip based on the physical address as a response to the IO command.

[0100] As an example, the host can further send a protocol-defined `identify` command to the storage device. After receiving the `identify` command, the storage device can return the host logical address space it maintains to the host. For example, the storage device can change the size of the LBA space it provides to the host by changing the value of the parameter `nsze`, where `nsze` indicates the changed host LBA space size.

[0101] For example, when retrieving the storage capacity of a storage device, for storage devices compliant with the NVMe protocol, the host can send an `Identify` command to the storage device and obtain the storage capacity from the command's response. However, in existing technologies, the operating system is configured to trigger the initialization of the storage device and retrieve its storage capacity during host startup, and this process cannot be triggered at other times. In other words, during host operation, if the storage device's operating mode changes, causing a change in storage capacity, the host may not be aware of the change and may still access the storage device with the previous capacity. Since a change in storage capacity can cause partition table anomalies, leading to access failures, a solution is needed. To ensure that the host can retrieve the changed storage capacity in real time, for example, the mode-switching command can be registered before issuing the command, associating it with the `identify` command. This allows the timing of the `identify` command to be adjusted, so that after sending the registered mode-switching command to the storage device, the host can send the `identify` command to retrieve its storage capacity at any time as needed.

[0102] According to this application, a control component is also provided for the method of accessing a storage device in the above embodiments. Additionally, this application also provides a storage device including a storage medium and a control component.

[0103] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application. Clearly, those skilled in the art can make various alterations and variations to this application without departing from its spirit and scope. Thus, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A method for accessing a storage device, characterized in that, include: In response to an I / O command sent by the receiving host, the logical address indicated in the I / O command is used as the host logical address; The host logical address is converted into a device logical address based on the mapping relationship between the host logical address in the host logical address space and the device logical address in the device logical address space; wherein, the host logical address space is the storage address space reported by the storage device to the host and accessed by the host as a block device; the device logical address space is the storage address space provided by the storage device; Use the FTL table to translate device logical addresses to physical addresses; and Accessing the NVM chip based on its physical address is a response to the I / O command; wherein, The mapping relationship between the host logical address in the host logical address space and the device logical address in the device logical address space maintains a continuous host logical address space.

2. The method according to claim 1, characterized in that, In response to setting the operating mode of the storage device to hidden mode, maintain the first mapping relationship between the host logical address and the device logical address; or In response to setting the operating mode of the storage device to normal mode, a second mapping relationship between the host logical address and the device logical address is maintained. The second mapping relationship includes the host logical address maintained by the first mapping relationship and the newly added host logical address, and the newly added host logical address is hidden from the host in the hidden mode.

3. The method according to claim 2, characterized in that, The newly added host logical address in the second mapping relationship is located after the host logical address maintained by the first mapping relationship, and the first mapping relationship and the second mapping relationship maintain a continuous host logical address space.

4. The method according to any one of claims 1 to 3, characterized in that, The method further includes: Maintain a mapping relationship between the host logical address and the device logical address for each user.

5. The method according to claim 4, characterized in that, The method includes: Each user maintains its own hidden space, where the visible space in the device's logical address space precedes the hidden space, and each user's visible space and hidden space are not contiguous in the device's logical address space. In response to any user accessing the storage device in normal mode, the hidden space corresponding to that user is set after its corresponding visible space, so that the hidden space and visible space appear to be continuous to the user.

6. The method according to claim 4, characterized in that, The method includes: In response to multiple users accessing the storage device, each user maintains their own hidden space, and each user accesses the storage device in hidden mode independently without affecting other users accessing the storage device in normal mode, or each user accesses the storage device in normal mode independently without affecting other users accessing the storage device in hidden mode.

7. The method according to claim 4, characterized in that, The storage device contains multiple namespaces, and maintaining a mapping relationship between the host logical address and the device logical address for each user includes: When serving multiple users based on multiple namespaces, maintain a mapping relationship between the host logical address and the device logical address for each namespace.

8. The method according to claim 7, characterized in that, The device logical addresses mapped to the host logical addresses maintained by different namespaces or different users may overlap or be independent of each other.

9. The method according to claim 7, characterized in that, The method further includes: In response to changes in the size of the namespace or the device storage address space corresponding to a user, the mapping relationship between the corresponding host logical address and device logical address is adjusted.

10. A control component, characterized in that, The control component is used to implement the method for accessing the storage device as described in any one of claims 1 to 9.