Hard disk management method, device and system

By implementing accurate identification and isolation functions in the storage controller and control unit, identifying and isolating local fault areas in the hard disk, the problem of high frequency of hard disk failure detection and replacement is solved, and resource saving and hard disk usage time are achieved.

CN119225628APending Publication Date: 2024-12-31HUAWEI TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202311294459.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-28
Filing Date
2023-09-28
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

With the increase in data center business volume, the frequency of hard disk failure detection and replacement increases, resulting in increased cost and resource waste of storage nodes. It is difficult for the existing technology to effectively identify and isolate local fault areas in hard disks, resulting in the isolation of the hard disk disks and wasted available space. and resources.

Method used

By implementing accurate identification and isolation functions in the storage controller and control unit, the fault area is identified by using the physical attributes of local areas, and the notification information is transmitted to the control unit, avoiding access to the fault area, extending the hard disk usage time, and reducing storage resources and calculations Waste of resources.

Benefits of technology

It realizes accurate identification and isolation of local fault areas in the hard disk, reduces the frequency of isolation of the entire disk, saves storage resources and computing resources, extends the usage time of the hard disk, and reduces the cost of storage nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119225628A_ABST
    Figure CN119225628A_ABST
Patent Text Reader

Abstract

The invention discloses a hard disk management method, device and system. The at least one storage node in the system can accurately identify the local area with the fault in the hard disk, determine the physical space corresponding to the local area and further accurately isolate the physical space, so that the service life of the hard disk is prolonged on the premise of ensuring the reliability of data in the hard disk, and the service life of the hard disk is prolonged. And the frequency of isolating the whole hard disk by the storage system is reduced, so that the cost of the storage system is reduced. Besides, the detection result of the physical attribute of the local area generally does not depend on a large amount of I / O access to the corresponding physical space, so that the storage node can identify the faulty local area based on the detection result of the physical attribute, and further determine the unavailable physical space; in this way, the physical space can be recognized and isolated before a large number of computing nodes access the unavailable physical space, the data reliability is improved, and the time delay caused by the failure of accessing the physical space is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to Chinese Patent Application No. 202310778132.6, filed on June 28, 2023, entitled "A Storage Array", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of storage technology, and in particular to methods, apparatus and systems for managing hard disks. Background Technology

[0003] As data center workloads increase, the amount of data to be stored also grows, leading to a corresponding increase in the number of hard drives in storage nodes. The health status of these hard drives directly impacts the security of the data stored within them. To improve data security, storage nodes typically identify faulty hard drives based on overall disk-level data. For example, when a hard drive's input / output (I / O) errors reach a threshold, the storage node isolates the entire drive. This can be achieved by prompting for hard drive replacement or performing redundant data recovery on the entire hard drive.

[0004] As hard drive capacity continues to increase, so does the price of hard drives, leading to higher costs for replacing them. Furthermore, redundant data recovery from the entire hard drive by storage nodes will take longer and consume more storage and computing resources. Summary of the Invention

[0005] This application provides a method, apparatus, and system for managing hard disks, which reduces the frequency of hard disk replacement in storage nodes, lowers the cost of storage nodes, and saves storage and computing resources of storage nodes.

[0006] This application provides a method for managing a hard disk. The hard disk can provide physical space for data storage for a storage node. The hard disk may include a storage controller and storage components. The storage components, under the control of the storage controller, can write data to or read data from the physical space used for data storage. The storage controller is used to connect to the control unit of the storage node, and can receive data access requests from the control unit, accessing the physical space provided by the storage components according to the data access requests. The physical space provided by the storage components can refer to the physical space where the storage components can write and / or read data under the control of the storage controller.

[0007] Firstly, the execution subject of this method can be a hard disk or a module within a hard disk. Taking the execution of this method by a storage controller as an example, the method may include: the storage controller identifying the health status of a local area in the storage component, wherein the local area is used to provide a portion of the total physical space provided by the storage component; when the health status of the local area indicates a failure in the local area, the storage controller determines that the portion of physical space is unavailable.

[0008] Once the storage controller identifies an unavailable portion of the physical space, it can more accurately determine the available physical space on the hard drive. This allows the hard drive to continue providing reliable storage services to the storage node, extending its lifespan, reducing the frequency of disk isolation by the storage node, lowering the cost of the storage node, and saving storage and computing resources.

[0009] Optionally, the storage controller identifies the health status of the local region by: the storage controller acquiring operational information of the local region, the operational information including the values ​​of one or more physical attributes of the local region; and the storage controller identifying the health status of the local region based on the operational information.

[0010] Optionally, the one or more physical properties include at least one of the following: temperature, size, motion parameters, and electrical parameters. For example, the hard disk is a magnetic media hard disk (HDD), the storage component includes multiple read / write heads, the local area is a portion of the multiple read / write heads (e.g., one head), the motion parameters include head flight altitude, and the electrical parameters include head resistance and / or the signal-to-noise ratio of the head signal. The hard disk is a magnetic media hard disk (HDD), the storage component includes multiple read / write heads, the local area is a portion of the multiple read / write heads, the motion parameters include head flight altitude, and the electrical parameters include head resistance and / or the signal-to-noise ratio of the head signal.

[0011] The detection results of the physical attributes of a local area generally do not depend on a large number of I / O accesses to the corresponding physical space. Identifying the health status of a local area based on the detection results of its physical attributes is beneficial for isolating the physical space before the control unit makes extensive accesses to the corresponding physical space, thereby improving data reliability and reducing latency caused by failures to access the physical space.

[0012] Optionally, the method further includes: the storage controller transmitting notification information to the control unit, the notification information indicating the isolation of the portion of physical space. This helps prevent the control unit from continuing to access that portion of physical space, thereby improving data reliability and reducing data access latency.

[0013] Optionally, the notification information includes the address of the portion of physical space, and the notification information is used to indicate that the address of the portion of physical space is unavailable. This helps the control unit to avoid subsequently allocating the address, thereby preventing further access to that portion of physical space.

[0014] Optionally, the notification information includes the first address of the first physical space in which data is written in the portion of the physical space. The notification information is used to instruct the control unit to perform redundancy repair on the data at the first address. This facilitates the control unit in performing redundancy repair on the written data in this portion of the physical space, improving the reliability of the data stored by the storage node.

[0015] Optionally, the notification information includes capacity information, which is used to determine the capacity of the portion of physical space, and the notification information is used to indicate that the hard drive has lost the capacity. This helps the control unit determine the current available capacity of the hard drive, and then determine an isolation strategy. For example, when the capacity exceeds a threshold, all physical space in the hard drive can be isolated; or, the storage pool can be updated according to the capacity, for example, by shrinking the storage pool; or, the capacity of spare physical space can be used to make up for the lost capacity.

[0016] Optionally, the method further includes: the storage controller receiving a data access request from the control unit; when the address carried in the data access request points to the portion of physical space, the storage controller transmitting response information to the control unit, the response information indicating that the address carried in the data access request is unavailable. This helps to avoid low data reliability after the hard drive successfully writes data to the damaged area according to the request, and also helps to reduce the long access latency caused by the hard drive returning an error to the control unit after failing to access the damaged area.

[0017] Secondly, the execution entity of this method can be the control unit or a module within the control unit. Taking the control unit executing this method as an example, the method may include: the control unit obtaining notification information from the hard disk, wherein the notification information is transmitted from the hard disk to the control unit when a local area in the storage component fails, the local area being used to provide a portion of the total physical space provided by the storage component, and the notification information being used to instruct the isolation of the portion of physical space; and the control unit isolating the portion of physical space. When a local area in the hard disk fails, a portion of the physical space in the hard disk becomes unusable. Isolating this portion of physical space according to the notification information allows the control unit to continue accessing the available physical space in the hard disk. While ensuring the reliability of the hard disk, this extends the hard disk's lifespan, reduces the frequency of full-disk isolation, lowers the cost of the storage node, and saves storage and computing resources of the storage node.

[0018] Optionally, the notification information includes the address of the portion of physical space, and isolating the portion of physical space includes: the control unit updating the available address of the hard disk, wherein the available address is the address of the allocatable physical space on the hard disk, and the updated available address does not include the address of the portion of physical space. This helps the control unit to avoid subsequently allocating that address, thereby preventing further access to that portion of physical space.

[0019] Optionally, the notification information includes a first address of the physical space where data is written within the portion of the physical space, and isolating the portion of the physical space includes: the control unit performing redundancy repair on the data at the first address. This facilitates the control unit in performing redundancy repair on the written data in this portion of the physical space, improving the reliability of the data stored by the storage node.

[0020] Thirdly, the executing entity of this method can be the control unit or a module within the control unit. Taking the control unit executing this method as an example, the method may include: the control unit acquiring operational information of a local area of ​​the storage component, the operational information including values ​​of one or more physical attributes of the local area, the local area being used to provide a portion of the total physical space provided by the storage component; the control unit identifying the health status of the local area based on the operational information; when the health status of the local area indicates a fault in the local area, the control unit determining that the portion of physical space is unavailable.

[0021] Once the control unit identifies the unusable portion of physical space on the hard drive, it can more accurately determine the available physical space. This allows the hard drive to continue providing reliable storage services to the storage node, extending its lifespan, reducing the frequency of full disk isolation, lowering the cost of the storage node, and saving storage and computing resources.

[0022] Optionally, the one or more physical properties include at least one of the following: temperature, size, motion parameters, and electrical parameters. For example, the hard disk is a magnetic media hard disk (HDD), the storage component includes multiple read / write heads, the local area is a portion of the multiple read / write heads (e.g., one head), the motion parameters include head flight altitude, and the electrical parameters include head resistance and / or the signal-to-noise ratio of the head signal. The hard disk is a magnetic media hard disk (HDD), the storage component includes multiple read / write heads, the local area is a portion of the multiple read / write heads, the motion parameters include head flight altitude, and the electrical parameters include head resistance and / or the signal-to-noise ratio of the head signal.

[0023] The detection results of the physical attributes of a local area generally do not depend on a large number of I / O accesses to the corresponding physical space. Identifying the health status of a local area based on the detection results of its physical attributes is beneficial for isolating the physical space before the control unit makes extensive accesses to the corresponding physical space, thereby improving data reliability and reducing latency caused by failures to access the physical space.

[0024] Optionally, the method further includes: the control unit isolating the portion of the physical space.

[0025] Optionally, isolating the portion of physical space includes: the control unit determining the address of the portion of physical space; the control unit updating the available address of the hard disk, wherein the available address is the address of the allocatable physical space on the hard disk, and the updated available address does not include the address of the portion of physical space. This helps the control unit to avoid subsequently allocating that address, thereby preventing further access to that portion of physical space.

[0026] Optionally, the control unit isolates the portion of physical space by: determining a first address of the physical space where data is written; and performing redundancy repair on the data at the first address. This facilitates the control unit in performing redundancy repair on the written data in that portion of physical space.

[0027] Optionally, the method further includes: the control unit determining the capacity of the portion of physical space; when the capacity exceeds a threshold, the control unit isolating all physical space in the hard disk. This helps the control unit determine the current available capacity of the hard disk and thus determine an isolation strategy, such as isolating all physical space in the hard disk when the capacity exceeds a threshold, or updating the storage pool based on the capacity, such as shrinking the storage pool, or using the capacity of spare physical space to compensate for the lost capacity, etc.

[0028] Fourthly, the execution entity of this method can be a hard disk or a module within a hard disk. Taking the storage controller executing this method as an example, the method can include: the storage controller acquiring operational information of the local area, the operational information including values ​​of one or more physical attributes of the local area in the hard disk, the operational information being used to identify the health status of the local area, and the local area being used to provide a portion of the total physical space provided by the storage component; the storage controller transmitting the operational information to the control unit. In this way, when a local area fails, the control unit can determine that this portion of physical space is unavailable based on the operational information, avoiding the control unit from continuing to access this portion of physical space, thereby improving data reliability and reducing latency. Simultaneously, it helps the hard disk more accurately determine the available physical space, thus enabling the hard disk to continue providing reliable storage services to the storage node, reducing waste of available physical space on the hard disk, and thereby reducing the cost of the storage node.

[0029] Optionally, the one or more physical properties include at least one of the following: temperature, size, motion parameters, and electrical parameters. For example, the hard disk is a magnetic media hard disk (HDD), the storage component includes multiple read / write heads, the local area is a portion of the multiple read / write heads (e.g., one head), the motion parameters include head flight altitude, and the electrical parameters include head resistance and / or the signal-to-noise ratio of the head signal. The hard disk is a magnetic media hard disk (HDD), the storage component includes multiple read / write heads, the local area is a portion of the multiple read / write heads, the motion parameters include head flight altitude, and the electrical parameters include head resistance and / or the signal-to-noise ratio of the head signal.

[0030] The detection results of the physical attributes of a local area generally do not depend on a large number of I / O accesses to the corresponding physical space. Identifying the health status of a local area based on the detection results of its physical attributes is beneficial for isolating the physical space before the control unit makes extensive accesses to the corresponding physical space, thereby improving data reliability and reducing latency caused by failures to access the physical space.

[0031] Fifthly, this application provides a hard disk, the hard disk including a storage controller and a storage component, the storage controller being configured to connect to a control unit of the storage node, the storage component being configured to provide physical space for storing data to the control unit under the control of the storage controller, the storage controller being configured to receive data access requests from the control unit and access the physical space provided by the storage component according to the data access requests, and the storage controller being configured to perform the method as described in the first aspect or the fourth aspect.

[0032] Sixthly, this application provides a storage node, which includes a control unit and a communication unit. The control unit is connected to the communication unit, and the communication module is used to communicate with a hard disk. The control unit is used to connect to the hard disk through the communication unit, and the control unit is used to execute the method described in the second or third aspect. This application does not limit the number of hard disks connected to the communication unit, nor does it limit the communication unit to directly connecting to the hard disks. For example, the communication unit can be used to connect to a hard disk enclosure, and the communication unit connects to the hard disks in the hard disk enclosure through a controller of the hard disk enclosure.

[0033] Optionally, the storage node further includes one or more hard disks connected to the communication unit, the one or more hard disks including at least one hard disk as described in the fifth aspect.

[0034] In a seventh aspect, this application provides a computer-readable storage medium including computer-executable instructions that, when executed on a computer, cause the computer to perform the method described in any one of the first to fourth aspects.

[0035] Eighthly, this application provides a system comprising a plurality of storage nodes as described in the sixth aspect, which are interconnected with each other.

[0036] Optionally, the system may also include one or more computing nodes, which are used to send data access requests to the storage nodes.

[0037] This application also provides a hard disk management device. The hard disk can provide physical space for data storage for a storage node. The hard disk may include a storage controller and storage components. The storage components, under the control of the storage controller, can write data to or read data from the physical space used for data storage. The storage controller is used to connect to the control unit of the storage node, and can receive data access requests from the control unit, accessing the physical space provided by the storage components according to the data access requests. The physical space provided by the storage components can refer to the physical space where the storage components can write and / or read data under the control of the storage controller.

[0038] Ninthly, the management device is the hard disk, or is disposed within the hard disk, and is a module within the hard disk. The management device may include an identification module and a determination module. The identification module is used to identify the health status of a local area within the hard disk, the local area being a portion of the total physical space provided by the storage component. The determination module is used to determine that the portion of physical space is unavailable when the health status of the local area indicates a failure in the local area.

[0039] Optionally, the identification module is used to: acquire operational information of a local area, the operational information including the values ​​of one or more physical attributes of the local area; and identify the health status of the local area based on the operational information.

[0040] Optionally, the one or more physical properties include at least one of the following: temperature, size, motion parameters, and electrical parameters. For example, the hard disk is a magnetic media hard disk (HDD), the storage component includes multiple read / write heads, the local area is a portion of the multiple read / write heads (e.g., one head), the motion parameters include head flight altitude, and the electrical parameters include head resistance and / or the signal-to-noise ratio of the head signal. The hard disk is a magnetic media hard disk (HDD), the storage component includes multiple read / write heads, the local area is a portion of the multiple read / write heads, the motion parameters include head flight altitude, and the electrical parameters include head resistance and / or the signal-to-noise ratio of the head signal.

[0041] Optionally, the management device may further include a communication module for transmitting notification information to the control unit, the notification information being used to instruct the isolation of the portion of physical space.

[0042] Optionally, the notification information includes the address of the portion of physical space, and the notification information is used to indicate that the address of the portion of physical space is unavailable.

[0043] Optionally, the notification information includes the first address of the first physical space in which data is written in the portion of the physical space, and the notification information is used to instruct the control unit to perform redundancy repair on the data in the first address.

[0044] Optionally, the notification information includes capacity information, which is used to determine the capacity of the portion of physical space, and the notification information is used to indicate that the hard drive has lost the capacity.

[0045] Optionally, the communication module is further configured to: receive a data access request from the control unit; and when the address carried in the data access request points to the portion of physical space, transmit response information to the control unit, the response information indicating that the address carried in the data access request is unavailable.

[0046] Tenthly, the management device is the control unit, or is disposed within the control unit, and is a module within the control unit. The management device includes an acquisition module and an isolation module. The acquisition module is used to acquire notification information from the hard disk, the notification information being transmitted by the hard disk to the control unit when a local area in the storage component fails, the local area being a portion of the total physical space provided by the storage component, and the notification information indicating the isolation of the portion of physical space. The isolation module is used to isolate the portion of physical space.

[0047] Optionally, the notification information includes the address of the portion of physical space, and the isolation module is used to: update the available address of the hard disk, wherein the available address is the address of the allocatable physical space in the hard disk, and the updated available address does not include the address of the portion of physical space.

[0048] Optionally, the notification information includes the first address of the physical space where data is written in the portion of the physical space, and the isolation module is used to: perform redundancy repair on the data in the first address.

[0049] Eleventhly, the management device is the control unit, or is disposed within the control unit as a module within the control unit. The management device includes an acquisition module and a determination module. The acquisition module is used to acquire operational information of the local area, the operational information including values ​​of one or more physical attributes of the local area in the hard disk, the local area being used to provide a portion of the total physical space provided by the storage component. The determination module is used to identify the health status of the local area based on the operational information; when the health status of the local area indicates a local area failure, it determines that the portion of physical space is unavailable.

[0050] Optionally, the one or more physical properties include at least one of the following physical properties: temperature, size, motion parameters, and electrical parameters.

[0051] Optionally, the hard disk is a magnetic media hard disk (HDD), the local area is a portion of the read / write heads in the HDD, the motion parameters of the portion of read / write heads include the flight altitude of the portion of read / write heads, and the electrical parameters of the portion of read / write heads include the resistance and / or channel parameters of the portion of read / write heads.

[0052] Optionally, the management device may further include an isolation module for isolating the portion of the physical space.

[0053] Optionally, the isolation module is used to: determine the address of the portion of physical space; update the available address of the hard disk, wherein the available address is the address of the allocatable physical space in the hard disk, and the updated available address does not include the address of the portion of physical space.

[0054] Optionally, the isolation module is used to: determine the first address of the physical space where data is written in the portion of the physical space; and perform redundancy repair on the data at the first address.

[0055] Optionally, the isolation module is further configured to: determine the capacity of the portion of physical space; and when the capacity exceeds a threshold, isolate all physical space in the hard disk.

[0056] In a twelfth aspect, the management device is the hard disk, or is disposed within the hard disk, and is a module within the hard disk. The device includes an acquisition module and a communication module. The acquisition module is used to acquire operational information of the local area, the operational information including values ​​of one or more physical attributes of the local area in the hard disk, the operational information being used to identify the health status of the local area, and the local area being used to provide a portion of the total physical space provided by the storage component. The communication module is used to transmit the operational information to the control unit.

[0057] Optionally, the one or more physical properties include at least one of the following physical properties: temperature, size, motion parameters, and electrical parameters.

[0058] Optionally, the hard disk is a magnetic media hard disk (HDD), the local area is a portion of the read / write heads in the HDD, the motion parameters of the portion of read / write heads include the flight altitude of the portion of read / write heads, and the electrical parameters of the portion of read / write heads include the resistance and / or channel parameters of the portion of read / write heads.

[0059] Since the devices provided in this application can be used to perform the aforementioned method steps, the technical effects that the devices in this application can obtain can be referred to the technical effects obtained by the aforementioned corresponding methods, and will not be repeated here. Attached Figure Description

[0060] Figure 1 An example is shown of a centralized storage system employing a disk controller separation architecture;

[0061] Figure 2 An example is shown of a distributed storage system employing a fully converged architecture;

[0062] Figure 3 An example is shown of one possible structure of an HDD;

[0063] Figure 4 and Figure 5Each of the following schematic diagrams illustrates one possible flow of the method of this application;

[0064] Figure 6 This illustration shows another possible structure of the system in this application;

[0065] Figures 7-10 Each of the following schematically illustrates a possible structure of the management device provided in this application. Detailed Implementation

[0066] The application scenarios to which this application applies will be described below with reference to the accompanying drawings.

[0067] This application can be applied to centralized storage systems. A centralized storage system refers to a system consisting of one or more master devices forming a central node, where data is centrally stored and all data processing operations are centrally deployed. In other words, in a centralized storage system, the terminal or client is only responsible for data input and output, while data storage and control processing are entirely handled by the central node. The biggest advantage of a centralized system is its simple deployment structure; it eliminates the need to consider how to deploy services across multiple nodes, and therefore avoids the issue of distributed collaboration between multiple nodes.

[0068] Figure 1 An example of a centralized storage system employing a disk-controller separation architecture is shown. Figure 1 In the centralized storage system shown, users access data through applications. The computers running these applications are called "application servers." Application server 100 can be a physical machine or a virtual machine. Physical application servers include, but are not limited to, desktop computers, servers, laptops, and mobile devices. The application server accesses the storage system to access data through fiber optic switch 110. However, switch 110 is only an optional device; application server 100 can also communicate directly with storage system 120 via the network. Alternatively, fiber optic switch 110 can be replaced with an Ethernet switch, InfiniBand switch, RoCE (RDMAover Converged Ethernet) switch, etc.

[0069] Figure 1 The storage system 120 shown is a centralized storage system. A key feature of a centralized storage system is a unified entry point through which all data from external devices passes. This entry point is the engine 121 of the centralized storage system. The engine 121 is the most crucial component of the centralized storage system, and many advanced functions of the storage system are implemented within it.

[0070] like Figure 1 As shown, engine 121 contains one or more controllers. Figure 1 Let's take engine 121, which includes two controllers, as an example. Controller 0 and Controller 1 have a mirror channel. When Controller 0 writes data to its memory 124, it can send a copy of the data to Controller 1 via the mirror channel. Controller 1 then stores the copy in its local memory 124. Thus, Controller 0 and Controller 1 act as backups for each other. When Controller 0 fails, Controller 1 can take over its operations, and vice versa, preventing hardware failures from rendering the entire storage system 120 unavailable. When engine 121 has four controllers, any two controllers have a mirror channel, thus any two controllers act as backups for each other.

[0071] Engine 121 also includes a front-end interface 125 and a back-end interface 126. The front-end interface 125 is used to communicate with the application server 100 to provide storage services to the application server 100. The back-end interface 126 is used to communicate with the hard disk 133 to expand the capacity of the storage system. Through the back-end interface 126, engine 121 can connect to more hard disks 133, thereby forming a very large storage resource pool (or storage pool).

[0072] In terms of hardware, such as Figure 1 As shown, controller 0 may include at least processor 123 and memory 124. Processor 123 is a central processing unit (CPU) used to process data access requests (e.g., read / write data requests) from outside the storage system (server or other storage systems), and also to process requests generated within the storage system. For example, when processor 123 receives write data requests from application server 100 through front-end port 125, it temporarily stores the data in these write data requests in memory 124. When the total amount of data in memory 124 reaches a certain threshold, processor 123 sends the data stored in memory 124 to hard disk 133 for persistent storage through back-end port.

[0073] Memory 124 refers to internal memory that directly exchanges data with the processor. It can read and write data at any time and at high speed, serving as temporary data storage for the operating system or other running programs. Memory includes at least two types of memory, such as random access memory (RAM) or read-only memory (ROM). For example, RAM can be Dynamic Random Access Memory (DRAM) or Storage Class Memory (SCM). DRAM is a semiconductor memory and, like most RAM, is a volatile memory device. SCM is a hybrid storage technology that combines the characteristics of traditional storage devices and RAM. Storage Class Memory offers faster read and write speeds than hard drives, but slower access speeds than DRAM, and is also cheaper. However, DRAM and SCM are only illustrative examples in this embodiment; memory can also include other types of RAM, such as Static Random Access Memory (SRAM). For read-only memory, examples include programmable read-only memory (PROM) and erasable programmable read-only memory (EPROM). Additionally, memory 124 can also be a dual in-line memory module (DIMM), i.e., a module composed of dynamic random access memory (DRAM), or a solid-state drive (SSD). In practical applications, controller 0 can be configured with multiple memory modules 124, and memory modules of different types. This embodiment does not limit the number or type of memory modules 124. Furthermore, memory modules 124 can be configured to have a power-saving function. The power-saving function means that when the system experiences a power outage and then power is restored, the data stored in memory modules 124 will not be lost. Memory with a power-saving function is called non-volatile memory.

[0074] The memory 124 stores software programs, and the processor 123 runs these programs to manage the hard drive. For example, the hard drive can be abstracted as a storage pool and then divided into LUNs for server use. Here, the LUN is essentially the hard drive seen on the server. Of course, some centralized storage systems are also file servers themselves, providing shared file services to the server.

[0075] Controller 1 (and others) Figure 1 The hardware components and software structure of the controller (not shown) are similar to those of controller 0, and will not be described in detail here.

[0076] Figure 1 In the disk-controller-separated centralized storage system shown, engine 121 may not have hard drive bays; hard drive 133 needs to be placed in storage device 130, and back-end interface 126 communicates with storage device 130. Back-end interface 126 exists in the form of an adapter card within engine 121, and two or more back-end interfaces 126 can be used simultaneously on one engine 121 to connect multiple hard drive bays. Alternatively, the adapter card can be integrated onto the motherboard, in which case it can communicate with processor 123 via the PCIe bus.

[0077] It should be noted that, Figure 1 Only one engine 121 is shown in the figure. However, in actual applications, the storage system may contain two or more engines 121, and redundancy or load balancing may be performed between multiple engines 121.

[0078] Storage device 130 includes a controller 131 and a plurality of hard disks 133. The controller 131 can have various forms. In one case, storage device 130 can be a smart drive enclosure, such as... Figure 1As shown, controller 131 includes a CPU and memory. The CPU is used to perform operations such as address translation and reading / writing data. The memory is used to temporarily store data to be written to hard disk 133, or to read data from hard disk 133 to be sent to controller 0 or controller 1. Alternatively, controller 131 may be a programmable electronic component, such as a data processing unit (DPU). A DPU has the versatility and programmability of a CPU, but is more specialized, capable of efficiently operating on network packets, storage requests, or analysis requests. A DPU differs from a CPU by its high degree of parallelism (the ability to handle a large number of requests). Optionally, the DPU here can also be replaced by a graphics processing unit (GPU), an embedded neural network processing unit (NPU), or other processing chips. Typically, there may be one, two, or more controllers 131. When storage device 130 contains at least two controllers 131, there may be a hierarchical relationship between hard disk 133 and controllers 131. If there is an ownership relationship between the hard drive 133 and the controller 131, then each controller 131 can only access the hard drive belonging to it. This often involves forwarding data access requests between controllers 131, resulting in a longer data access path. Furthermore, if storage space is insufficient, adding a new hard drive 133 to the storage device 130 requires rebinding the ownership relationship between the hard drive 133 and the controller 131, which is complex and results in poor storage space scalability. Therefore, in another implementation, the functions of the controller 131 can be offloaded to the network interface card 132. In other words, in this implementation, the storage device 130 does not have a controller 131 internally; instead, the network interface card 132 performs data read / write, address translation, and other computational functions. In this case, the network interface card 132 is a smart network interface card. It can include a CPU and memory. In some applications, the network interface card (NIC) 132 may also have persistent storage media, such as persistent memory (PM), non-volatile random access memory (NVRAM), or phase-change memory (PCM). The CPU is used to perform address translation and data read / write operations. Memory is used to temporarily store data to be written to the hard disk 133, or to read data from the hard disk 133 to be sent to the controller. It can also be a programmable electronic component, such as a data processing unit (DPU).A DPU possesses the versatility and programmability of a CPU, but is more specialized, capable of efficiently operating on network packets, storage requests, or analysis requests. A DPU differs from a CPU by its high degree of parallelism (requiring the processing of a large number of requests). Optionally, the DPU can be replaced by a graphics processing unit (GPU), an embedded neural network processing unit (NPU), or other processing chips. There is no hierarchical relationship between the network interface card (NIC) 132 and the hard drive 133 in storage device 130; NIC 132 can access any hard drive 133 within storage device 130, making it convenient to expand the hard drive when storage space is insufficient.

[0079] Depending on the type of communication protocol between engine 121 and storage device 130, storage device 130 may be a SAS hard drive enclosure, an NVMe hard drive enclosure, an IP hard drive enclosure, or other types of hard drive enclosures. SAS hard drive enclosures use the SAS 3.0 protocol, and each enclosure supports 25 SAS hard drives. Engine 121 connects to storage device 130 via an onboard SAS interface or a SAS interface module. NVMe hard drive enclosures function more like a complete computer system, with NVMe hard drives inserted into them. The NVMe hard drive enclosure then connects to engine 121 via an RDMA port.

[0080] certainly, Figure 1 The centralized storage system with a disk-controller separation architecture shown is merely an example; in practical applications, a centralized storage system can also employ an integrated disk-controller architecture. Figure 1 Unlike the disk-controller separation architecture shown, in the disk-controller integrated architecture, the engine 121 has a hard drive slot, and the hard drive 133 can be directly deployed in the engine 121. The back-end interface 126 is an optional configuration. When the system's storage space is insufficient, more hard drives or hard drive enclosures can be connected through the back-end interface 126.

[0081] This application can be used in distributed storage systems. A distributed storage system refers to a system that distributes data across multiple independent storage nodes. Traditional network storage systems use a centralized storage array to store all data. The performance of the storage array is both a bottleneck for system performance and a key concern for reliability and security, failing to meet the needs of large-scale storage applications. Distributed network storage systems employ a scalable system architecture, utilizing multiple storage nodes to share the storage load. This not only improves system reliability, availability, and access efficiency but also facilitates expansion.

[0082] Figure 2 An example of a distributed storage system employing a fully converged architecture is shown. Figure 2The distributed storage system shown includes a server cluster, which comprises one or more servers 210 ( Figure 2 The diagram shows three servers 210 (but is not limited to three servers 210), which can communicate with each other. A server 210 is a device with both computing and storage capabilities, such as a server or desktop computer. On the software side, each server 210 has an operating system. Virtual machines 211 can be created on the servers 210. The computing resources required by the virtual machines 211 come from the local processor 212 and memory 213 of the server 210, while the storage resources required by the virtual machines 211 can come from the local hard disk 215 of the server 210 or from the hard disk 215 of other servers 210. Furthermore, various applications can run in the virtual machines 211, and users can trigger data access requests through these applications.

[0083] In terms of hardware, such as Figure 2 As shown, server 210 includes at least processor 212, memory 213, network interface card 214, and hard disk 215. Processor 212, memory 213, network interface card 214, and hard disk 215 are connected via a bus. Processor 212 and memory 213 provide computing resources. Specifically, processor 212 may include one or more central processing units (CPUs). A CPU may have one or more CPU cores; this embodiment does not limit the number of CPUs or CPU cores. Processor 212 processes data access requests from outside server 210 or requests generated internally by server 210. For example, when processor 212 receives write data requests from users, it temporarily stores the data in these write data requests in memory 213. When the total amount of data in memory 213 reaches a certain threshold, processor 212 sends the data stored in memory 213 to hard disk 215 for persistent storage. In addition, processor 212 is also used for data computation or processing, such as metadata management, deduplication, data compression, data verification, virtualization of storage space, and address translation.

[0084] Memory 213 refers to internal memory that directly exchanges data with the processor. It can read and write data at any time and at high speed, serving as temporary data storage for the operating system or other running programs. Memory includes at least two types of memory, such as random access memory (RAM) or read-only memory (ROM). For example, RAM can be Dynamic Random Access Memory (DRAM) or Storage Class Memory (SCM). DRAM is a semiconductor memory and, like most RAM, is a volatile memory device. SCM is a hybrid storage technology that combines the characteristics of traditional storage devices and RAM. Storage Class Memory offers faster read and write speeds than hard drives but slower access speeds than DRAM and is cheaper. However, DRAM and SCM are only illustrative examples in this embodiment; memory can also include other random access memories, such as Static Random Access Memory (SRAM). For read-only memory, examples include programmable read-only memory (PROM) and erasable programmable read-only memory (EPROM). Additionally, memory 213 can also be a dual in-line memory module (DIMM), i.e., a module composed of dynamic random access memory (DRAM), or a solid-state drive (SSD). In practical applications, server 210 can be configured with multiple memory modules 213, and different types of memory modules 213. This embodiment does not limit the number or type of memory modules 213. Furthermore, memory modules 213 can be configured to have a power-saving function. The power-saving function means that when the system experiences a power outage and then power is restored, the data stored in memory 213 will not be lost. Memory with a power-saving function is called non-volatile memory. Network interface card 214 is used for communication with other application servers 210.

[0085] The hard disk mentioned in this application is used to provide storage resources, such as storing data. It can be a disk or other type of storage medium, such as a hard disk drive (HDD) or a solid-state drive (SSD), shingled magnetic recording hard disk, or magnetic tape.

[0086] certainly, Figure 2 The distributed storage system shown here, employing a fully converged architecture, is merely an example. In practical applications, distributed storage systems can also adopt an integrated storage-compute architecture. Figure 2 Unlike the fully converged architecture shown, in the in-memory computing architecture, virtual machines do not need to be created on each server 210, and the processors 212 on each server 210 can receive external data access requests and perform corresponding read and write data processing.

[0087] Alternatively, distributed storage systems can also employ a storage-compute separation architecture. In this application, the node used to run the application that triggers data access requests is referred to as a compute node, such as... Figure 1 The application server 100 shown or Figure 2 The VM 211 shown in this application refers to the node used to handle data access requests as a storage node. In a compute-in-memory architecture, compute nodes and storage nodes are deployed on the same physical device. In a compute-in-memory split architecture, compute nodes and storage nodes are deployed on different physical devices.

[0088] Alternatively, a distributed storage system can also adopt a structured storage (memory fabric, MF) architecture. Unlike the aforementioned distributed storage systems with separate storage and compute architectures, in an MF architecture, each storage node contains different types of storage media, such as DRAM, SCM, and hard disks. These different types of storage media all provide memory interfaces that can be directly accessed by the processor. Furthermore, the various types of memory contained in these storage nodes form a storage pool.

[0089] Storage systems may include management nodes ( Figure 1 and Figure 2 (Not shown). The management node is used to create and manage the storage pool. Optionally, the management node is a node elected from among the storage nodes.

[0090] Not every storage node in the storage system needs to contribute storage space to the storage pool; a storage pool can cover only a portion of the storage nodes in the cluster. In some application scenarios, two or more storage pools can be created in the storage system, each covering one or more storage nodes, which provide storage space for that pool. Different storage pools may or may not use the same storage nodes. In summary, the storage pool in this embodiment is established on at least two storage nodes, and its storage space comes from at least two different types of memory.

[0091] Regarding the creation of storage pools: Each storage node can periodically report storage status information to the management node via a heartbeat channel. There can be one management node or multiple management nodes. It can be deployed as an independent node in the storage system or jointly deployed with storage nodes. In other words, one or more storage nodes assume the functions of a management node. Storage status information includes, but is not limited to: the types of various storage devices contained in the storage node, their health status, the total capacity of each type of storage device, and the available capacity, etc. The management node creates a storage pool based on the collected information. Creation means centralizing the storage space provided by each storage node into a unified storage pool for management; therefore, the physical space of the storage pool comes from the various storage devices contained in each storage node. However, in some scenarios, storage nodes can selectively provide storage to the storage pool based on their own circumstances, such as the health status of the storage devices. In other words, it is possible that some storage devices in some storage nodes are not part of the storage pool.

[0092] After information collection, the management node needs to uniformly address the storage spaces included in the storage pool. Through uniform addressing, each segment of space in the storage pool has a unique global address. A global address indicates a space that is unique within the storage pool, and each storage node 20 knows the meaning of this address. After allocating physical space to a segment of space in the storage pool, the global address of that space acquires its corresponding physical address. The physical address indicates which memory node and memory location the space represented by the global address is actually located on, as well as its offset within that memory—that is, the physical location of the space. Each segment of space here can be a "page".

[0093] In practical applications, to ensure data reliability, erasure coding (EC) or multiple replication mechanisms are often used to achieve data redundancy. EC involves dividing the data into at least two data fragments, calculating a check fragment for each fragment according to a specific algorithm, and recovering the data using the remaining fragment and the check fragment if one fragment is lost. Therefore, the global address of the data is a set of multiple fine-grained global addresses, each corresponding to the physical address of a data fragment / check fragment. Multiple replication mechanisms involve storing at least two identical copies of the data, located at two different physical addresses. If one copy is lost, the data can be recovered using the other copies. Thus, the global address of the data is also a set of even finer-grained global addresses, each corresponding to the physical address of a data copy.

[0094] The management node can allocate physical space for each global address after creating the storage pool, and it can also allocate physical space for the global address corresponding to a write data request when it receives a write data request. The mapping between each global address and its physical address is recorded in an index table, and the management node synchronizes the index table to each storage node. Each storage node stores the index table so that it can look up the physical address corresponding to the global address when reading or writing data.

[0095] When a new storage node joins the storage system, the management node collects node update information, incorporates the new storage node into the storage pool, addresses the storage space contained in that node to generate a new global address, and then refreshes the mapping between partitions and global addresses (because the total number of partitions remains unchanged regardless of whether it's expansion or reduction). Expansion also applies when some storage nodes have added memory or hard drives. The management node periodically collects the status information of the storage devices contained in each storage node. If a new storage device is added, it is incorporated into the storage pool, and the new storage space is addressed to generate a new global address, then the mapping between partitions and global addresses is refreshed. Similarly, the storage pool provided in this embodiment also supports reduction. Reduction refers to reducing the number of hard drives in the storage pool. By moving the data of the disk to be reduced to other disks, the overall external physical capacity will decrease, but the number of partitions will not change; only the mapping between global addresses and partitions needs to be updated.

[0096] The health status of a hard drive directly affects the security of the data stored on it. To improve data security in storage systems, storage systems can identify and isolate faulty hard drives based on disk-wide data. Disk-wide data includes self-monitoring analysis and reporting technology (SMART) data, input / output (I / O) data, and grown defected list (GList) data.

[0097] However, when a storage system determines a hard drive failure based on overall disk data, it often only involves a localized area of ​​damage, typically rendering a portion of the disk's physical space unusable. Isolating the entire hard drive wastes valuable physical space. As hard drive capacities increase, so do their prices, leading to higher replacement costs. Furthermore, redundant data recovery from the entire hard drive by storage nodes consumes significantly more time and resources, both in terms of storage and computing.

[0098] Figure 3 This schematic illustrates one possible structure of an HDD. For example... Figure 3 As shown, an HDD includes a storage controller, a head drive mechanism, a spindle drive mechanism, a spindle, and multiple platters (or disks). This application does not limit the number of platters in an HDD. Figure 3 The illustration schematically shows a platter (referred to as platter i) in an HDD. Each platter may include two platter surfaces (referred to as platter faces), which are denoted as platter face i1 and platter face i2, respectively. The HDD is also equipped with a read / write head for each platter face. In this application, the read / write head corresponding to platter face i1 is referred to as read / write head i1, and the read / write head corresponding to platter face i2 is referred to as read / write head i2. Figure 3 The disk surface i1 and the read / write head i1 are schematically shown.

[0099] The spindle is driven by a spindle drive mechanism to rotate at high speed. The disk rotates with the spindle, and the read / write head moves under the drive of the head drive mechanism. The storage controller can control the head drive mechanism to move the read / write head to a specified position on the corresponding disk surface, and then store data in or read data from the physical space corresponding to that position.

[0100] Different read / write heads are typically used to access different unidirectional locations; that is, different heads generally correspond to different physical spaces. When a head in an HDD fails, the physical space corresponding to that head becomes unavailable, but the physical spaces corresponding to other heads can still continue to provide usable physical space for the storage system. Isolating the entire physical space of the HDD by the storage system would waste the usable physical space in the HDD.

[0101] This application provides a storage system, which can be any of the storage systems described above, and at least one storage node in the storage system has precise identification and precise isolation capabilities. A storage node with this capability can identify damaged / faulty local areas on a hard drive. Faults in these local areas render a portion of the physical space on the hard drive unusable. This portion of physical space is then isolated, allowing the remaining usable physical space on the hard drive to continue to be used. Thus, when a local area of ​​the storage component fails, the storage node does not need to isolate the entire hard drive, saving other usable physical space on the hard drive and reducing the waste of computing and other storage resources caused by recovering the entire disk of data.

[0102] A storage node may include a control unit and a communication unit, the communication unit being used to connect to one or more hard drives. The control unit is used to process data access requests from outside the storage node or requests generated internally within the storage node, sending data to the hard drives for persistent storage or reading data from the hard drives.

[0103] This application does not limit the type of storage node. For example, a storage node can be a storage device, and the control unit can be a controller within the storage device, which connects one or more hard drives; for example, the storage device can be a hard drive enclosure. For example, a storage node can be a server, and the control unit can be a processor within the server. For example, a storage node can be a centralized storage system (or storage array), and the control unit can be the engine of the centralized storage system or a controller within the engine. For example, a storage node can be a storage node in a distributed storage system, and the control unit can be a processor within the storage node. This application does not limit the implementation of the control unit; for example, the control unit can include a processor and memory, or it can include a Data Processing Unit (DPU), or it can be a network interface card (NIC), etc. The communication unit can be an interface or a NIC, etc.

[0104] A hard disk may include a storage controller and storage components. The storage components provide physical space for data storage to the storage controller. The storage controller communicates with the control unit, receives data access requests from the control unit, and sends response information to the control unit for these requests. The storage controller also controls the storage components' access to designated physical space.

[0105] A storage component may include multiple local regions of the same type, each local region providing a portion of the total physical space offered by the storage component. Taking a hard disk as an example (HDD), the storage component may include multiple read / write heads in the HDD. Each head can operate independently. A local region may be one of the multiple heads, and the physical space corresponding to the local region may be the physical space corresponding to that head. Alternatively, a local region may be a group of heads, and the physical space corresponding to that group of heads may be the union of the physical spaces corresponding to each head in that group. This application does not limit the position of each head in a group of heads; for example, each head in a group of heads may correspond to the same platter or the same platter surface. Alternatively, continuing with the HDD example, the storage component may include multiple platters in the HDD. A local region may be one platter among the multiple platters, or one platter surface on a platter, or a region on one platter surface.

[0106] Hard disks can also include other storage components of different types. These multiple types of storage components can work together to provide physical space for data storage. Continuing with the example of an HDD, the multiple platters and heads in a hard disk can be different types of storage components. These platters and heads work together to provide physical space for data storage to the storage controller, enabling the storage controller to read data from or write data to it.

[0107] Below, examples illustrate possible ways to implement the above functions in storage nodes.

[0108] In a first possible implementation, at least one hard drive in the storage node has a precise identification (or partial identification) function. The hard drive with precise identification can identify damaged local areas, where damage to these areas renders the corresponding physical space (referred to as the target physical space) unusable. The hard drive can also transmit notification information to the control unit, instructing it to isolate the physical space. In the storage system provided in this application, the control unit has a precise isolation (or partial isolation) function. After receiving the notification information, the control unit can isolate the target physical space and continue using other available physical spaces on the hard drive besides the target physical space.

[0109] Based on the first possible implementation, the following example illustrates a method flow applied to a storage node. By executing this method flow, the storage node can achieve accurate identification and isolation functions. For example... Figure 4 As shown, the method flow may include S401 and S402.

[0110] S401, The storage controller identifies the health status of local areas in the hard drive;

[0111] The storage controller can identify the health status of local areas on the hard drive. The health status of a local area indicates whether that local area is faulty or not. This local area can be any of the local areas described above.

[0112] This application does not limit the method by which the storage controller identifies the health status of a local area on the hard disk. Optionally, the storage controller can obtain the operating information of the local area and identify the health status of the local area based on the operating information.

[0113] The operational information may include the values ​​of one or more physical attributes of the local area. These physical attributes may include at least one of the following: temperature, size, motion parameters, and electrical parameters. The electrical parameters may include at least one of the following: resistance, power, and channel parameters. Optionally, the physical attributes of the local area may also include composite physical attributes, the value of which is related to the values ​​of multiple physical attributes; for example, the value of a composite physical attribute may be related to the values ​​of two of the aforementioned physical attributes.

[0114] With hard drive as Figure 3 The HDD shown has a local area as... Figure 3 Taking the magnetic head i1 as an example, when the storage controller controls magnetic head i1 to read data, magnetic head i1 reads an analog signal from disk surface i1. This analog signal is then equalized (e.g., amplified, filtered, and / or shaped), and then converted to digital (A / D) to obtain the read data. Deterioration of the quality parameters of the magnetic head signal of magnetic head i1 reduces the reliability of data reading, rendering magnetic head i1 unusable. Therefore, the physical properties of magnetic head i1 can include the quality parameters of its magnetic head signal. These quality parameters can include seek positioning error and / or the signal-to-noise ratio and / or the amplitude and / or the bit error rate (BER). The analog signal read by magnetic head i1, after A / D conversion, will contain some bit errors. Correct data can only be obtained after error checking and correction (ECC). Bit error rate (BER) is a parameter obtained by dividing the number of erroneous bits by the total number of bits in the bit stream. BER reflects the signal-to-noise ratio of the read signal from head i1, indicating the performance and health status of head i1. The seek and positioning error of head i1 can be either repeatable runout or non-repeatable runout.

[0115] The electrical parameters of head i1 can include its resistance. The head itself is a magnetoresistive resistor. If the reference resistance of head i1 (the resistance when there is no external magnetic field) changes, the BER of head i1 will also deteriorate, which will make head i1 unusable.

[0116] The motion parameters of head i1 can be defined as the flight altitude of head i1 (referred to as flight height). Variations in flight altitude will degrade the amplitude and signal-to-noise ratio of the read signal from head i1, thereby rendering head i1 unusable.

[0117] Taking the magnetic arm corresponding to the magnetic head i1 as an example, the motion parameters of the magnetic arm can be the swing parameters or positioning parameters of the magnetic arm, and the physical space corresponding to the magnetic arm can be the physical space corresponding to the magnetic head.

[0118] The detection results of physical attributes generally do not depend on a large number of I / O accesses to the corresponding physical space. Identifying the health status of local areas based on the detection results of physical attributes is beneficial for isolating the corresponding physical space before computing nodes access it extensively, thereby improving data reliability and reducing latency caused by failure to access the physical space.

[0119] This application does not limit the method by which the storage controller obtains operational information. For example... Figure 3 As shown, the HDD may include a detection module, which can be used to detect the values ​​of physical properties of a local area (e.g., read / write head i1). The storage controller can obtain the detection results from the detection module. This application does not limit the number, location, or type of the detection module. For example, the detection module in the HDD may include a thermistor disposed on the read / write head. Each read / write head may have an independent thermistor, and the temperature of the read / write head is detected by the thermistor on the read / write head. For example, the temperature of read / write head i1 is detected by the thermistor on read / write head i1.

[0120] Optionally, the operational information may also include whole-disk dimension data of the hard drive, and the storage controller may combine the whole-disk dimension data with the values ​​of one or more physical attributes of a local area to identify the health status of that local area.

[0121] This application does not limit the method by which the storage controller determines the health status of a local area based on operational information.

[0122] The following section uses head i1 as an example to introduce the possible ways in which the storage controller determines the failure of head i1 based on the values ​​of one or more physical attributes of head i1.

[0123] For example, when a single physical property of head i1 (such as fly-up, BitErr error rate, or head temperature) exceeds a threshold, the storage controller can determine that head i1 is faulty.

[0124] Alternatively, for example, the storage controller can determine that head i1 is faulty when the value of each of the multiple physical attributes of head i1 exceeds a threshold.

[0125] The storage controller can automatically trigger the execution of S401, or the control unit can, when a connected hard drive is detected, extend the ModePage protocol settings through the hard drive's firmware (FW). When the hard drive supports the local identification algorithm (or function), the storage controller can activate the local identification function and trigger the execution of S401.

[0126] The storage controller can trigger the execution of step S401 for each local area on the hard drive, or it can identify suspected faulty local areas based on overall disk data and then trigger the execution of step S401 for those areas. For the HDD's heads / arms, the storage controller can determine that the heads corresponding to bad blocks in the GList data are suspected faulty local areas, and / or determine that the heads corresponding to I / O errors are suspected faulty local areas, and / or determine that the heads corresponding to problems such as SMART data / log pages / disk parameter anomalies are suspected faulty local areas. The log page contains statistical values ​​of the hard drive and can be used to record operational information. For example, the log page can record statistical values ​​such as write volume, uncorrected error count (UNC), and physical attributes of each local area, as well as the values ​​of the hard drive's operational cycle status. For the magnetic recording areas of an HDD (such as the disk surface area), the storage controller can perform a verification periodic scan to record damaged areas, and / or perform a scenario-based scan, such as an I / O bad sector trigger area scan, an area triggered by intermittent vibration, or an internal disk scan result detection, to identify suspected faulty magnetic recording areas.

[0127] S402. When the health status of a local area indicates a local area failure, the storage controller determines that the target physical space is unavailable.

[0128] After identifying the health status of a local area, if that local area fails, the storage controller can determine that the corresponding physical space is unavailable. This helps prevent the control unit from continuing to access that portion of the physical space, thereby improving data reliability and reducing latency. Simultaneously, it allows the hard drive to more accurately determine available physical space, enabling it to continue providing reliable storage services to the storage nodes and reducing waste.

[0129] For ease of description, this application refers to the physical space corresponding to this local area as the target physical space. As described above, the target physical space is a portion of the total physical space provided by the hard disk.

[0130] This application does not limit the specific type of local area failure, as long as the local area failure causes the corresponding physical space to become unusable. Taking HDD as an example, the failure type can be... Figure 3 The examples shown include cross-track scratches, area scratches, complete single-track scratches, and single-head scratches. This application does not limit the criteria for determining that physical space is unusable. For example, situations where physical space is unusable may include the storage controller being unable to access the physical space, or, although the storage controller can access the physical space, the physical space has a high risk of failure.

[0131] Taking a hard drive (HDD) as an example, the damaged localized area can be one of the multiple read / write heads or a group of heads in the HDD, and the target physical space can be the entire physical space corresponding to that head or group of heads. When an HDD is configured with one head for a single platter surface, that single head corresponds to the entire physical space on that platter surface. Optionally, an HDD can be configured with at least two heads for a single platter surface, with each head corresponding to a portion of the physical space on that platter surface. In this case, the physical space corresponding to a single head can be a portion of the physical space on that single platter surface.

[0132] Continuing with the example of a hard disk drive (HDD), the damaged area can be a region on one platter surface of the HDD. This application does not limit the shape or size of this region. For example, the damaged area may include... Figure 3 The area of ​​the cross-track scratch shown (i.e., a portion of the area within multiple tracks), and / or including Figure 3 The area of ​​a complete scratch on a single track shown (i.e., the entire area of ​​a single track), and / or including Figure 3 The area shown is the area that has been scratched.

[0133] The storage controller accurately identifies the physical space corresponding to the damaged local area. This helps prevent the control unit from continuing to access that part of the physical space, thereby improving data reliability. At the same time, it helps the hard drive more accurately determine the available physical space, thus enabling the hard drive to continue providing reliable storage services to the storage node, extending the hard drive's lifespan, reducing the frequency of the storage system performing full disk isolation, and thus helping to reduce the cost of the storage system and save storage and computing resources.

[0134] The storage controller can establish a mapping between physical addresses and logical addresses of physical space before receiving a request; in other words, the mapping between physical addresses and logical addresses of physical space on the hard drive is fixed. Alternatively, the storage controller can record the physical addresses of available or unavailable physical space on the hard drive. Upon receiving a request, the storage controller can allocate available physical space for the logical address carried in the request (i.e., establish a mapping between the logical address and the physical address). If the storage controller determines that the target physical space is unavailable, it can stop allocating the target physical space and continue allocating available physical space other than the target physical space, thereby preventing the compute node from accessing that physical space.

[0135] Optional, such as Figure 4 As shown, after S402, the method may also include S403.

[0136] S403, The storage controller transmits notification information to the control unit;

[0137] Once the storage controller determines that the target physical space is unavailable, it can send a notification message to the control unit. The notification message is used to instruct the isolation of the target physical space.

[0138] This application does not limit the method by which the storage controller transmits notification information to the control unit. Optionally, the storage controller may send notification information to the control unit. Alternatively, the storage controller may store the notification information on the hard disk. For example, the storage controller may store the notification information at a target storage location on the hard disk, and the control unit may read the notification information from the target storage location. Or, the storage controller may store the notification information according to a target filename, and the control unit may retrieve the notification information by searching for the target filename (e.g., "part-err-log"). The control unit may periodically search for notification information on the hard disk. Alternatively, the storage controller may notify the control unit of a local area failure on the hard disk via an error event or by carrying an error code in the I / O response. Accordingly, the control unit may read the notification information recorded on the disk via an extended protocol.

[0139] Optional, such as Figure 4 As shown, after S403, the method may also include S404.

[0140] S404. The control unit isolates the target physical space based on the notification information.

[0141] After receiving the notification information, the control unit can isolate the target physical space based on the notification information. This allows the control unit to avoid subsequently allocating the target physical space, thereby avoiding further access to that portion of the physical space, improving data reliability, and reducing latency.

[0142] The following examples illustrate the content of the notification information and the possible ways in which the control unit isolates the target physical space based on the notification information.

[0143] Optionally, the notification information may include an address pointing to the target physical space, which may indicate all or part of the physical space within the target physical space. The notification information may indicate that the address is unavailable.

[0144] Storage controllers typically use physical addresses to write data to or read data from physical space. Once the storage controller determines the target physical space, it can determine its physical address. Taking HDDs as an example, the smallest area on the disk surface where data is stored is called a sector, and the physical address of the physical space is the cylinder-header sector (CHS).

[0145] The physical address of physical space on a hard drive is generally an internal physical concept of the storage controller. The storage controller typically virtualizes the physical space into logical blocks for use by the control unit. Therefore, the control unit can generally perceive the logical address of the physical space, such as the logical block address (LBA).

[0146] The address in the notification information can be a physical address (e.g., CHS), or a logical address (e.g., LBA), or the notification information can associate the physical address and logical address of the target storage physical space. For example, the address in the notification information can include LBA 0 to LBA 100 and LBA 200 to LBA 300. Taking HDD as an example, LBA N can represent logical sector N.

[0147] This application refers to the address used to indicate all physical spaces within the target physical space as the target address. Optionally, the notification information may include the target address. After the control unit obtains the fault information, it can isolate the target address, or in other words, isolate the physical space indicated by the target address (i.e., the target physical space). The following describes possible implementation methods for the control unit to isolate the target address.

[0148] Optionally, for the address where data has already been written to the target address (referred to as the first address), the control unit can perform redundant recovery of the data. The control unit can store the recovered data in other available physical space and refresh the correspondence between the data's storage address and logical address. This helps improve the reliability of the data already written to the storage node. This application does not limit the specific method by which the control unit recovers data. For example, if the data stored at the logical address is a data fragment, a parity fragment, or a data copy stored according to a redundancy mechanism, the control unit can recover the data stored at the logical address according to the corresponding redundancy mechanism.

[0149] Optionally, the control unit may choose not to assign the target address to a storage address in the storage pool, but instead assign other available addresses from the hard drive besides the target address to storage addresses in the storage pool. For example, the control unit may update the recorded available addresses of the hard drive, where the available addresses are the addresses of the allocatable physical spaces on the hard drive, and the updated available addresses do not include the target address. This reduces the latency of data write requests and improves data reliability.

[0150] Optionally, the control unit can determine the capacity (or size) of the physical space corresponding to the target address, thereby determining the lost capacity of the hard drive and updating the available capacity of the hard drive.

[0151] Optionally, the control unit can update the storage pool based on the lost available capacity of the hard drives. For example, the control unit can shrink the storage pool based on the lost available capacity, reducing the overall external physical capacity of the storage pool. Alternatively, the control unit can use spare physical space to replace the lost physical space of the storage pool, while keeping the overall external physical capacity of the storage pool unchanged. This spare physical space can be, for example, hot spare space or overprovision (OP) space. Hot spare space refers to the space reserved in the storage pool, providing a portion of it as a hot spare for problematic disks in the storage pool, used for data recovery.

[0152] Optionally, the control unit can determine whether the lost capacity of the hard drive exceeds the hot spare capacity of the storage pool. When the lost capacity exceeds the hot spare capacity of the storage pool, the control unit can set the entire disk to pre-failure isolation and perform a complete disk replacement. Hot spare capacity can refer to a capacity threshold determined based on the total capacity of the hot spare space.

[0153] This application does not limit the control unit to performing the above isolation operation independently. Optionally, the control unit can work with the control units of other storage nodes to jointly perform the above isolation operation.

[0154] The above example, using the target address as the logical address, can optionally be used. After determining the physical address of the target physical space, the storage controller can generate and transmit fault information to the control unit. This fault information includes the physical address of the target physical space. In other words, the target address can be a physical address. After receiving the fault information, the control unit can determine the logical address corresponding to the physical address based on the correspondence between physical and logical addresses, and then isolate the LBA.

[0155] This application refers to the physical space in the target physical space where data is written as the first physical space, and the address used to indicate the first physical space as the first address. Optionally, the notification information may include the first address. After receiving the notification information, the control unit can perform redundancy recovery on the data in the first address. The details of the control unit's redundancy recovery of the data in the first address can be found in the relevant content above, and will not be repeated here.

[0156] Since data has already been written to the target address, the control unit can recover the data and store it in other available physical space, refreshing the mapping between the data's storage address and logical address. Optionally, the control unit may not assign the first address to a storage address in the storage pool, but instead assign other available addresses on the hard drive besides the first address to storage addresses in the storage pool.

[0157] Optionally, the notification information includes capacity information, which is used to determine the capacity of the target physical space, and the notification information is used to indicate that the hard drive has lost capacity. The control unit can determine the lost available capacity of the storage pool based on the status information, and then update the storage pool based on the lost available capacity. The possible methods by which the control unit updates the storage pool based on the lost available capacity of the hard drive can be found in the relevant content above, and will not be repeated here.

[0158] This application does not limit the control unit to perform the above isolation operation independently. Optionally, the control unit can work with the control units of other storage nodes (such as management nodes) to jointly perform the above isolation operation.

[0159] Optionally, the notification information may include at least one of the target address, the first address, and capacity information.

[0160] Optional, such as Figure 4 As shown, after S402, the method may also include S405.

[0161] S405, The control unit sends a data access request to the storage controller;

[0162] The control unit can send data access requests to the storage controller. A read data request is used to request to read data from the address carried in the request, and a write data request is used to request to write data to the address carried in the request.

[0163] S406. When the address carried in the data access request points to the target physical space, the storage controller transmits response information to the control unit. The response information is used to indicate that the address carried in the data access request is unavailable.

[0164] Upon receiving a data access request, the storage controller can determine whether the address carried in the request points to the target physical space. If it does, the storage controller can send a response message to the control unit, indicating that the address carried in the data access request is unavailable. This helps prevent the hard drive from writing data to a corrupted area based on the request, thereby improving data reliability.

[0165] The request to carry an address pointing to the target physical space means that the physical space indicated by the address belongs to the target physical space. This application does not limit the address to indicate all physical spaces in the target physical space.

[0166] Optionally, the storage controller may not include this I / O error in the overall disk dimension data to avoid reporting an overall disk pre-failure event when the threshold is reached, and may repeatedly check the damaged area within the disk and report an overall disk pre-failure event to avoid overall disk isolation due to access to the target physical space that has been partially isolated.

[0167] In the second possible implementation, the control unit of the storage node has a precise identification function for at least one hard drive. The control unit can obtain low-level information of a local area on the hard drive, identify the damaged local area based on the obtained low-level information, and determine the physical space corresponding to the local area (i.e., the target physical space). The control unit also has a precise isolation function. After determining the target physical space, the control unit can isolate the target physical space and continue to use other available physical spaces on the hard drive other than the target physical space.

[0168] Based on the second possible implementation, the following example illustrates another method flow applied to storage nodes. By executing this method flow, storage nodes can achieve accurate identification and precise isolation functions. For example... Figure 5 As shown, the method flow may include S501 to S504.

[0169] S501, the storage controller acquires the operating information of a local area;

[0170] The storage controller can acquire operational information for a local area. The operational information and the method of acquiring it can be understood by referring to the relevant content in S401. For example, the operational information may include the values ​​of one or more physical attributes of the local area. These physical attributes may include at least one of the following: temperature, size, motion parameters, and electrical parameters. The physical attributes can be understood by referring to the relevant content in S401, and will not be elaborated upon here. This local area can be any of the local areas described above.

[0171] S502, The storage controller transmits operating information to the control unit;

[0172] After acquiring operational information for a specific region, the storage controller can transmit this information to the control unit. Correspondingly, the control unit can acquire operational information for that specific region. This allows the control unit to accurately identify damaged regions based on the operational information, thus determining the unusable portion of physical space on the hard drive.

[0173] S503, The control unit identifies the health status of local areas based on operational information;

[0174] After acquiring the operating information, the control unit can identify the health status of local areas on the hard drive based on the operating information. This application does not limit the method by which the storage controller determines the health status of local areas based on the operating information. The method by which the control unit determines the health status of local areas based on the operating information can be found in the relevant content of S401.

[0175] The operational information of a local region includes the values ​​of its physical attributes. Since the detection results of physical attributes generally do not depend on a large number of I / O accesses to the corresponding physical space, identifying the health status of a local region based on the detection results of physical attributes is beneficial for isolating the corresponding physical space before computing nodes access it extensively, thereby improving data reliability and reducing latency caused by failed accesses to the physical space.

[0176] S504. When the health status of a local area indicates a local area failure, the control unit determines that the target physical space is unavailable.

[0177] After identifying the health status of a local area, if that local area fails, the control unit can determine that the corresponding physical space is unavailable. This helps prevent the control unit from continuing to access that portion of the physical space, thereby improving data reliability and reducing latency. Simultaneously, it allows the hard drive to more accurately determine available physical space, enabling it to continue providing reliable storage services to the storage nodes and reducing waste.

[0178] For ease of description, this application refers to the physical space corresponding to this local area as the target physical space. As described above, the target physical space is a portion of the total physical space provided by the hard disk.

[0179] This application does not limit the specific type of local area failure, as long as the local area failure causes the corresponding physical space to become unusable. The types of local area failures and the corresponding target physical spaces can be understood by referring to the relevant content in S402, and will not be repeated here.

[0180] The control unit's accurate identification of the physical space corresponding to the damaged local area helps prevent the control unit from continuing to access that part of the physical space, thereby improving data reliability and reducing latency. At the same time, it helps the control unit more accurately determine the available physical space on the hard drive, thus allowing the control unit to continue using the physical space provided by the hard drive.

[0181] like Figure 5 As shown, optionally, after S504, the method may also include S505.

[0182] S505, the control unit isolates the target physical space;

[0183] Once the control unit determines that the target physical space is unavailable, it can isolate the target physical space. This allows the control unit to avoid subsequently allocating the target physical space, thereby preventing further access to that portion of the physical space, improving data reliability, and reducing latency.

[0184] The following examples illustrate possible ways in which the control unit can isolate the target physical space.

[0185] Optionally, after determining the target physical space, the control unit can determine the address of the target physical space (called the target address) and then isolate the target address. For example, the control unit can convert the physical address of the target physical address into a logical address and then determine that the logical address is unavailable. The control unit can choose not to assign the target address to a storage address in the storage pool, and instead assign other available addresses on the hard drive besides the target address to storage addresses in the storage pool. For example, the control unit can update the recorded available addresses of the hard drive, where the available addresses are the addresses of the allocatable physical spaces on the hard drive, and the updated available addresses do not include the target address. This reduces the latency of data write requests and improves data reliability.

[0186] Optionally, after determining the target physical space, the control unit can determine the address (referred to as the first address) of the physical space (referred to as the first physical space) where data has already been written. The control unit can then perform redundancy recovery on the data at the first address. The control unit can store the recovered data in other available physical spaces and refresh the correspondence between the data's storage address and logical address. This helps improve the reliability of the data already written to the storage node. This application does not limit the specific method by which the control unit recovers data. For example, if the data stored at the logical address is a data fragment, a check fragment, or a data copy stored according to a redundancy mechanism, the control unit can recover the data stored at the logical address according to the corresponding redundancy mechanism.

[0187] Optionally, the control unit can determine the capacity (or size) of the target physical space, thereby determining the lost capacity of the hard drive and updating the available capacity of the hard drive. The control unit can update the storage pool based on the lost available capacity. For example, the control unit can update the storage space capacity of the storage pool. For example, the control unit can utilize spare physical space to compensate for the lost physical space of the storage pool. For example, the control unit can determine whether the lost capacity of the hard drive exceeds the hot spare capacity of the storage pool. When the lost capacity exceeds the hot spare capacity of the storage pool, the control unit can set up full disk pre-failure isolation and perform full disk replacement.

[0188] This application does not limit the control unit to performing the above isolation operation independently. Optionally, the control unit can work with the control units of other storage nodes to jointly perform the above isolation operation.

[0189] The above example uses HDD as the hard drive. Optionally, the hard drive can be other types of storage media besides HDD, such as magnetic tape or SSD.

[0190] A local area of ​​the magnetic tape can be a portion of the magnetic head, a portion of the magnetic tape medium, or a portion of the devices related to the operation of the magnetic head and the magnetic tape. The physical properties of the magnetic head can include at least one of the following: read / write error rate, head temperature, and read / write test error ratio. The target physical space can be the physical space within the segment of the magnetic tape medium corresponding to the damaged magnetic head.

[0191] A localized area of ​​an SSD can be a portion of the SSD controller or a portion of the SSD logic gates (not AND, NAND) media. Media issues in an SSD can stem from abnormal controller access to a portion of the media, or from a problem with a portion of the NAND flash memory chips (dies) containing the stored data. The target physical space can be a portion of the physical space within the NAND flash memory; for example, the target physical space can be the physical space within one or more flash memory chips (dies) or the physical space within one or more blocks of flash memory chips.

[0192] The above details the storage system and the methods involved in the storage system provided in this application. In order to facilitate better implementation of the above-mentioned solution of this application, relevant equipment for cooperating in the implementation of the above-mentioned solution is also provided below.

[0193] Figure 6 This schematic illustrates another possible diagram of the storage system. For example... Figure 6 As shown, the storage system includes a service host, an array (or array controller), and hard drives. The service host is communicatively connected to the array controller, and the array controller is connected to the hard drives. In some examples, the array can be replaced with a server. The service host can be understood as the application server or compute node described earlier.

[0194] like Figure 6 As shown, the array may include a Driver Group (DRV) running on an operating system (OS), a disk object management module, a disk space management module, and an array input / output (IO) module.

[0195] The hard drive can be connected to a DRV (Disk Object Management Module), which in turn connects to the disk object management module. The hard drive can provide algorithms to detect damaged local areas in the storage components (such as the read / write head or platter area), for example, by executing S401 and S402, and then notify the disk object management module via DRV, for example, by executing S403, to send notification information to the disk object management module.

[0196] The disk object management module can issue commands to the hard drive to obtain information about damaged local areas, such as executing S403 to isolate the space and prevent further access. The disk object management module connects to the disk space management module and can notify it. Alternatively, the disk object management module can detect damaged local areas itself using algorithms, such as executing S502 to S503.

[0197] The disk space management module is used to perform redundant repair and hot spare space replacement on the logical addresses of damaged local areas, and to update the lost capacity externally, for example, by executing S404 or S505. The disk space management module connects to the array I / O module, which can update the logical addresses of available physical space to the array I / O module. The array I / O module connects to the service host and receives data access requests from the service host, allocating logical addresses of available physical space to the data access requests and not allocating logical addresses of unavailable physical space, thus preventing the service host from accessing the physical space corresponding to the damaged local area on the hard drive.

[0198] The functionality of the array can be understood by referring to the function of the control unit of the storage node described earlier. This application does not limit the division of modules in the control unit. Figure 6 This is just one example. Other ways of dividing the modules in the control unit will be introduced later.

[0199] See Figure 7 , Figure 7 This illustration schematically depicts a hard disk management device provided in this application. This management device can be a hard disk as described above, a storage controller within a hard disk, or a device integrated within a storage controller. For example... Figure 7 As shown, the management device 7 includes an identification module 701 and a determination module 702.

[0200] The identification module 701 is used to identify the health status of local areas on the hard drive. For details on its implementation, please refer to [reference needed]. Figure 4 The relevant description of step S401 will not be repeated here.

[0201] The determination module 702 is used to determine that a portion of physical space is unavailable when the health status of a local area indicates a local area failure. For details on the implementation, please refer to the description of step S402; it will not be repeated here.

[0202] Optionally, the management device 7 may also include a communication module 703. The communication module 703 is used to transmit notification information to the control unit. For details on the implementation, please refer to the relevant description of step S403, which will not be repeated here.

[0203] Optionally, the communication module 703 can also be used to receive data access requests from the control unit; when the address carried in the data access request points to a portion of physical space, it transmits response information to the control unit, the response information indicating that the address carried in the data access request is unavailable. For specific implementation details, please refer to the descriptions of steps S405 and S406, which will not be repeated here.

[0204] See Figure 8 , Figure 8 This illustration schematically depicts a hard disk management device provided in this application. This management device can be a control unit as described above or can be integrated within a control unit. Figure 8 As shown, the management device 8 includes an acquisition module 801 and an isolation module 802.

[0205] The acquisition module 801 is used to retrieve notification information from the hard drive. Please refer to [reference needed for specific implementation details] for details. Figure 4 The relevant description of step S403 will not be repeated here.

[0206] The isolation module 802 is used to isolate a portion of the physical space. For details on its implementation, please refer to the description in step S404; it will not be repeated here.

[0207] See Figure 9 , Figure 9 This illustration schematically depicts a hard disk management device provided in this application. This management device can be a control unit as described above or can be integrated within a control unit. Figure 9 As shown, the management device 9 includes an acquisition module 901 and a determination module 902.

[0208] The acquisition module 901 is used to acquire operational information for a local region. Please refer to [reference needed for specific implementation details] for details. Figure 5 The relevant description of step S502 will not be repeated here.

[0209] The determination module 902 identifies the health status of a local area based on the operating information; when the health status of a local area indicates a local area failure, it determines that a portion of the physical space is unavailable. For specific implementation details, please refer to the descriptions in steps S503-S504, which will not be repeated here.

[0210] Optionally, the management device 9 may also include an isolation module 903. The isolation module 903 is used to isolate a portion of the physical space. For specific implementation details, please refer to the relevant description in step S505. For example, optionally, the isolation module 903 is used to determine the address of a portion of the physical space; update the available addresses of the hard disk. Optionally, the isolation module 903 is used to determine the first address of the physical space where data is written; perform redundancy repair on the data at the first address. Optionally, the isolation module 903 is used to determine the capacity of a portion of the physical space; when the capacity exceeds a threshold, isolate all physical space in the hard disk.

[0211] See Figure 10 , Figure 10 This illustration schematically depicts a hard disk management device provided in this application. This management device can be a hard disk as described above, a storage controller within a hard disk, or a device integrated within a storage controller. For example... Figure 10 As shown, the management device 10 includes an acquisition module 1001 and a communication module 1002.

[0212] The acquisition module 1001 is used to acquire operational information for a local region. Please refer to [reference needed for specific implementation details] for details. Figure 5 The relevant description of step S501 will not be repeated here.

[0213] The communication module 1002 is used to transmit operating information to the control unit. For details on its implementation, please refer to the description of step S502; it will not be repeated here.

[0214] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, can implement some or all of the steps described in the above method embodiments.

[0215] This invention also provides a computer program that includes instructions that, when executed by a computer, enable the computer to perform some or all of the steps of any method.

[0216] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0217] Those skilled in the art will understand that the aforementioned computer-readable storage media include various non-transitory machine-readable media capable of storing program code, such as USB flash drives, portable hard drives, magnetic disks, optical disks, RAM, SSDs, or non-volatile memory.

[0218] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Secondly, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application. The "A and / or B" in the embodiments of this application can be understood to include both "A and B" and "A or B" solutions.

[0219] The terms "first," "second," "third," and "fourth," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application.

[0220] In the several embodiments provided in this application, it should be understood that the disclosed devices can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the above-mentioned units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical or other forms.

[0221] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0222] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0223] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them.

Claims

1. A hard disk management method, characterized in that: The hard disk includes a storage controller and a storage component, the storage controller is used to receive a data access request from a control unit of a storage node, and access a physical space provided by the storage component according to the data access request. The method is applied to the hard disk, and the method includes: Identifying a health status of a local area in the storage component, the local area being used to provide a portion of the total physical space provided by the storage component; When the health status of the local area indicates that the local area is faulty, it is determined that the portion of the physical space is unavailable.

2. The method according to claim 1, characterized in that Identifying the health status of the local area includes: Acquiring operation information of the local area, the operation information including values ​​of one or more physical properties of the local area; A health status of the local area is identified based on the operating information.

3. The method according to claim 2, characterized in that The one or more physical properties include at least one of the following physical properties: temperature, size, motion parameter, and electrical parameter.

4. The method according to claim 3, characterized in that The hard disk is a magnetic medium hard disk HDD, the storage component includes multiple heads, the local area is a part of the multiple heads, the motion parameters include the head flying height, and the electrical parameters include the head resistance and / or the signal-to-noise ratio of the head signal.

5. The method according to any one of claims 1 to 4, characterized in that The method further comprises: Notification information is transmitted to the control unit, where the notification information is used to instruct to isolate the portion of the physical space.

6. The method according to claim 5, characterized in that The notification information includes the address of the portion of physical space, and the notification information is used to indicate that the address of the portion of physical space is unavailable.

7. The method according to claim 5 or 6, characterized in that: The notification information includes a first address of a first physical space in which data is written in the portion of physical space, and the notification information is used to instruct to perform redundancy repair on the data in the first address.

8. The method according to any one of claims 5 to 7, characterized in that: The notification information includes the capacity of the portion of physical space, and the notification information is used to indicate that the hard disk has lost the capacity.

9. The method according to any one of claims 1 to 8, characterized in that After determining that the portion of the physical space is unavailable, the method further includes: receiving a data access request from the control unit; When the address carried by the data access request points to the portion of physical space, response information is transmitted to the control unit, where the response information is used to indicate that the address carried by the data access request is unavailable.

10. A hard disk management method, characterized in that: The hard disk includes a storage controller and a storage component. The storage controller is used to receive a data access request from a control unit of a storage node and access a physical space provided by the storage component according to the data access request. The method is applied to the control unit, and the method includes: Acquire notification information from the hard disk, the notification information being transmitted by the hard disk to the control unit when a local area of ​​the storage component fails, the local area being used to provide a portion of the physical space of the entire physical space provided by the storage component, and the notification information being used to instruct to isolate the portion of the physical space; Isolate the portion of the physical space.

11. The method according to claim 10, characterized in that The notification information includes an address of the portion of the physical space, and the isolating the portion of the physical space includes: The available address of the hard disk is updated, where the available address is the address of the physical space that can be allocated in the hard disk, and the updated available address does not include the address of the part of the physical space.

12. The method according to claim 10 or 11, characterized in that: The notification information includes a first address of a physical space in which data is written in the portion of physical space, and isolating the portion of physical space includes: Redundancy repair is performed on the data in the first address.

13. A hard disk management method, characterized in that: The hard disk includes a storage controller and a storage component. The storage controller is used to receive a data access request from a control unit of a storage node and access a physical space provided by the storage component according to the data access request. The method is applied to the control unit, and the method includes: Acquire operation information of a local area of ​​the storage component, the local area being used to provide a portion of the physical space of the entire physical space provided by the storage component, the operation information including values ​​of one or more physical properties of the local area; identifying a health status of the local area according to the operation information; When the health status of the local area indicates that the local area is faulty, it is determined that the portion of the physical space is unavailable.

14. The method according to claim 13, characterized in that The one or more physical properties include at least one of the following physical properties: temperature, size, motion parameter, and electrical parameter.

15. The method according to claim 14, characterized in that The hard disk is a magnetic medium hard disk HDD, the storage component includes multiple heads, the local area is a part of the multiple heads, the motion parameters include the head flying height, and the electrical parameters include the head resistance and / or the signal-to-noise ratio of the head signal.

16. The method according to any one of claims 13 to 15, characterized in that The method further comprises: Isolate the portion of the physical space.

17. The method according to claim 16, characterized in that The isolating the portion of the physical space comprises: determining an address of the portion of physical space; The available address of the hard disk is updated, where the available address is the address of the physical space that can be allocated in the hard disk, and the updated available address does not include the address of the part of the physical space.

18. The method according to claim 16 or 17, characterized in that The isolating the portion of the physical space comprises: Determine a first address of a physical space in which data is written in the portion of physical space; Redundancy repair is performed on the data in the first address.

19. The method according to any one of claims 13 to 18, characterized in that The method further comprises: determining a capacity of the portion of physical space; When the capacity exceeds a threshold, all physical space in the hard disk is isolated.

20. A hard disk management method, characterized in that: The hard disk includes a storage controller and a storage component, the storage controller is used to receive a data access request from a control unit of a storage node, and access a physical space provided by the storage component according to the data access request. The method is applied to the hard disk, and the method includes: Acquire operation information of a local area of ​​the storage component, the local area being used to provide a portion of a physical space of a total physical space provided by the storage component, the operation information comprising values ​​of one or more physical properties of the local area, the operation information being used to identify a health status of the local area; The operation information is transmitted to the control unit.

21. The method according to claim 20, characterized in that The one or more physical properties include at least one of the following physical properties: temperature, size, motion parameter, and electrical parameter.

22. The method according to claim 21, characterized in that The hard disk is a magnetic medium hard disk HDD, the storage component includes multiple heads, the local area is a part of the multiple heads, the motion parameters include the head flying height, and the electrical parameters include the head resistance and / or the signal-to-noise ratio of the head signal.

23. A hard disk, characterized in that: The hard disk includes a storage controller and a storage component, the storage controller is used to connect to the control unit of the storage node, the storage component is used to provide the control unit with physical space for storing data under the control of the storage controller, and the storage controller is used to execute the method as described in any one of claims 1-9 or the method as described in any one of claims 20-22.

24. A storage node, characterized in that: The storage node includes a control unit and a communication unit, the control unit is connected to the communication unit, the communication module is used to connect to the hard disk, and the control unit is used to execute the method according to any one of claims 10-19.

25. The storage node according to claim 24, characterized in that: The storage node further includes one or more hard disks connected to the communication unit, at least one of the one or more hard disks being as described in claim 23.

26. A storage system, characterized in that: The method comprises a plurality of storage nodes as claimed in claim 24 or 25 connected to each other.

27. A computer-readable storage medium, characterized in that: The computer-readable storage medium comprises computer-executable instructions, and when the computer-executable instructions are executed on a computer, the computer is caused to perform the method according to any one of claims 1 to 22.

28. A hard disk management device, characterized in that: The hard disk includes a storage controller and a storage component. The storage controller is used to receive a data access request from a control unit of a storage node and access a physical space provided by the storage component according to the data access request. The management device is applied to the hard disk, and the management device includes: an identification module, configured to identify a health status of a local area in the storage component, the local area being used to provide a portion of a physical space in a total physical space provided by the storage component; A determination module is used to determine that the portion of the physical space is unavailable when the health status of the local area indicates that the local area is faulty.

29. A hard disk management device, characterized in that: The hard disk includes a storage controller and a storage component. The storage controller is used to receive a data access request from a control unit of a storage node and access a physical space provided by the storage component according to the data access request. The management device is applied to the control unit, and the management device includes: an acquisition module, configured to acquire notification information from the hard disk, wherein the notification information is transmitted by the hard disk to the control unit when a local area of ​​the storage component fails, the local area being used to provide a part of the physical space in the entire physical space provided by the storage component, and the notification information being used to instruct to isolate the part of the physical space; The isolation module is used to isolate the part of the physical space.

30. A hard disk management device, characterized in that: The hard disk includes a storage controller and a storage component. The storage controller is used to receive a data access request from a control unit of a storage node and access a physical space provided by the storage component according to the data access request. The management device is applied to the control unit, and the management device includes: an acquisition module, configured to acquire operation information of a local area of ​​the storage component, the local area being used to provide a portion of the physical space of the entire physical space provided by the storage component, the operation information including values ​​of one or more physical properties of the local area; a determination module, configured to identify the health status of the local area according to the operation information; The determination module is further configured to determine that the portion of the physical space is unavailable when the health status of the local area indicates that the local area is faulty.

31. A hard disk management device, characterized in that: The hard disk includes a storage controller and a storage component. The storage controller is used to receive a data access request from a control unit of a storage node and access a physical space provided by the storage component according to the data access request. The management device is applied to the hard disk, and the management device includes: an acquisition module, configured to acquire operation information of a local area of ​​the storage component, the local area being used to provide a portion of a physical space in a total physical space provided by the storage component, the operation information comprising values ​​of one or more physical properties of the local area, and the operation information being used to identify a health status of the local area; A communication device is used to transmit the operation information to the control unit.

Citation Information

Cited By

  • Hard disk management method and apparatus, and system

    EP4715557A1

  • Hard disk management method and apparatus, and system

    WO2025001142A1