A data operation method and system for expanding a solid state disk cluster and a solid state disk

By centrally maintaining the mapping relationship between logical addresses and disks within the cluster in the main SSD, and dynamically allocating write target disks, the problem of uneven write load in the expanded SSD cluster is solved, improving system reliability and overall lifespan.

CN122111334APending Publication Date: 2026-05-29HEFEI DATANG STORAGE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HEFEI DATANG STORAGE TECH CO LTD
Filing Date
2026-02-06
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

In expanding a solid-state drive cluster, how can we reasonably allocate the write load to prevent some drives from aging prematurely due to frequent writes, thereby improving system reliability and overall lifespan?

Method used

By centrally maintaining the mapping relationship between logical addresses and the addresses of each solid-state drive and its internal addresses within the cluster through the main solid-state drive, the write target hard drive is dynamically allocated based on the running status information of each hard drive and the preset write strategy, so as to achieve write balance among the hard drives, including data migration and address mapping optimization.

Benefits of technology

Without changing the host access method, it enables unified external presentation and intelligent write scheduling of expanded solid-state drive clusters, reduces the risk of excessive wear on individual disks, improves system reliability and overall lifespan, and enhances storage utilization and write performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122111334A_ABST
    Figure CN122111334A_ABST
Patent Text Reader

Abstract

The application discloses a data operation method and system of an expanded solid state disk cluster and a solid state disk. Under the premise of not changing a host access mode, multiple solid state disks are combined into a logical whole to provide a larger continuous storage space. Meanwhile, through consideration of a running state, write load of each solid state disk is effectively balanced, a single-disk excessive wear risk is reduced, and overall reliability and service life are improved. Furthermore, through accurate address mapping and an independent internal address conversion mechanism, data write positioning is ensured to be accurate and a write process is ensured to be efficient and controllable, so that storage utilization, write performance and system stability of the expanded solid state disk cluster are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to, but is not limited to, the field of storage system technology, specifically to a data operation method, system, and solid-state drive for expanding a solid-state drive cluster. Background Technology

[0002] With the continuous growth of data storage demands, solid-state drives (SSDs) are widely used in personal computing devices, servers, and embedded systems due to their advantages such as fast read / write speeds, low power consumption, and good shock resistance. To increase storage capacity and meet users' flexible expansion needs, a technical solution has emerged that uses multiple cascaded SSDs to dynamically expand storage space.

[0003] In existing storage expansion solutions, the first expansion SSD is typically connected to the host via a host interface, where the host identifies and obtains its initial storage capacity. When the user's storage space is insufficient, another expansion SSD can be connected to the one already connected to the host via a dedicated data transmission cable, thus forming an expansion SSD cluster. The first expansion SSD then presents a larger logical storage space to the outside world.

[0004] Since expanded SSD clusters logically present a contiguous storage space to the host, the host only transmits data based on logical addresses when writing data, without caring which expanded SSD the underlying data is actually written to. Therefore, in scenarios where multiple expanded SSDs work together, how to reasonably distribute the write load and prevent some drives from aging prematurely due to frequent writes becomes a pressing technical problem that needs to be solved. Summary of the Invention

[0005] This application provides a data operation method, system, and solid-state drive for expanding a solid-state drive cluster, which can achieve write balance among the hard drives in the expanded solid-state drive cluster, thereby improving system reliability and overall lifespan.

[0006] This invention provides a data operation method for expanding a solid-state drive cluster, including: The primary SSD in the expanded SSD cluster receives the data to be written and its corresponding logical address from the host. The primary SSD obtains the operating status information of each SSD in the expanded SSD cluster; The primary SSD determines the target SSD to be written to based on the operating status information of each SSD in the expanded SSD cluster and the preset write strategy; The primary SSD determines the write location within the target SSD to carry the data corresponding to the logical address of the current write request, based on the target SSD's operating status information. The primary solid-state drive establishes a mapping relationship between the logical address number corresponding to the current write request and the target solid-state drive and its SLBA in its dynamic random access memory (DRAM), and marks the mapping relationship as valid; where SLBA represents the logical address number within its respective solid-state drive. The primary SSD updates the target SSD's operating status information; The primary SSD sends the data to be written and the corresponding SLBA to the target SSD based on the type of the target SSD. The target solid-state drive converts its SLBA into an internal logical address, then into a physical page address, and stores the data to be written into the storage array corresponding to the physical page address.

[0007] In one exemplary instance, before determining the write location in the target solid-state drive for carrying data corresponding to the logical address of the current write request, the method further includes: The main solid-state drive determines whether the logical address space in the expanded solid-state drive cluster is full. If it is not full, it returns to continue executing the step of determining the write location of the data used to carry the logical address corresponding to the current write request. If the drive is full, the main solid-state drive will mark the original mapping relationship of the logical address corresponding to the current write request as invalid and release its corresponding SLBA occupancy status. The primary solid-state drive uses the released SLBA to perform data migration based on the operating status of each solid-state drive in the expanded solid-state drive cluster in order to balance the cluster's write load. The main solid-state drive allocates a new write location for the data to be overwritten and completes the write operation.

[0008] In one exemplary instance, the primary solid-state drive determines whether the logical address space in the expanded solid-state drive cluster is full, including: The primary solid-state drive determines whether there are still unoccupied SLBAs in the expanded solid-state drive cluster; when it is detected that the SLBA logical space of each solid-state drive in the expanded solid-state drive cluster has been occupied, it determines that the current cluster logical address space is full; when it is detected that the SLBA logical space of each solid-state drive in the expanded solid-state drive cluster is not fully occupied, it determines that the current cluster logical address space is not full.

[0009] In one exemplary instance, when the current write request is a rewrite request for an LBA_index with an existing valid mapping relationship, marking the original mapping relationship of the logical address corresponding to the current rewrite request as invalid and releasing its corresponding SLBA occupancy status includes: In the logical address mapping table maintained by the main solid-state drive, find the mapping relationship that the LBA_index to be overwritten was established in the previous write operation and is still valid, and mark the mapping relationship as invalid; where LBA_index represents the nth logical block address LBA in the storage space of the expanded solid-state drive cluster. Release the occupancy status of the SLBA corresponding to the mapping relationship marked as invalid in its respective solid-state drive.

[0010] In one exemplary instance, the data migration includes: Based on the operating status information of each solid-state drive in the expanded solid-state drive cluster, at least one set of mapping relationships that are still in a valid state are selected from the solid-state drives whose cumulative write volume is higher than a preset threshold or higher than the cluster average as the objects to be migrated. A solid-state drive with a cumulative write volume lower than a preset threshold or lower than the cluster average and currently having an idle SLBA is identified as the target solid-state drive for migration, wherein the idle SLBA includes at least the released SLBA; The data corresponding to the mapping relationship to be migrated is migrated from the source solid-state drive to the idle SLBA of the target solid-state drive. Update the logical address mapping relationship corresponding to the migration data so that it points to the target SSD and its SLBA, and synchronously update the occupancy bitmap and cumulative write volume of the SLBA corresponding to each SSD.

[0011] In one exemplary instance, the primary solid-state drive allocates a new write location for the data to be overwritten and completes the write operation, including: According to a preset write strategy, the main solid-state drive determines a target solid-state drive for carrying the LBA_index to be rewritten from among the solid-state drives with available SLBAs. In the target solid-state drive to be rewritten, allocate an unused SLBA for the LBA_index to be rewritten; In the mapping table maintained by the main solid-state drive, establish a new mapping relationship and mark it as valid; The main solid-state drive writes the data to be written into the NAND Flash storage array of the target rewrite solid-state drive.

[0012] In one exemplary instance, the mapping relationship is as follows:<LBA_index, ssd_index_LBA, Effective> Where LBA_index indicates which LBA in the storage space of the expanded SSD cluster the host is accessing, and LBA represents a logical address; ssd_index_LBA represents the logical address number within the disk to which it belongs, called SLBA, and ssd_index represents the disk number of the SSD in the current expanded SSD cluster; Effective indicates whether the mapping is valid.

[0013] In one exemplary instance, determining the target solid-state drive for the current write includes: The primary solid-state drive compares and selects each solid-state drive in the expanded solid-state drive cluster based on the cumulative write volume in the acquired operating status information of each solid-state drive and in combination with a pre-set write strategy, in order to determine the target solid-state drive corresponding to the current host write request.

[0014] In one exemplary instance, determining the write location in the target solid-state drive for carrying the data corresponding to the logical address of the current write request includes: The primary solid-state drive (SSD) searches for and selects an unoccupied SLBA in the SLBA logical address space of the target SSD based on the SLBA occupancy status information obtained from the target SSD's operating status information. The selected SLBA will be used as the actual write location of the data corresponding to the current LBA_index in the target SSD.

[0015] In one exemplary instance, the primary solid-state drive updates the operating status information of the target solid-state drive, including: After the mapping relationship is established, the primary solid-state drive increases the cumulative write volume value corresponding to the target solid-state drive by a preset unit; the primary solid-state drive updates the occupancy status information of the selected SLBA in the target solid-state drive and marks the SLBA as occupied.

[0016] In one exemplary instance, the primary solid-state drive performs write data processing operations on the data to be written, based on the type of the target solid-state drive, including: When the target solid-state drive is the primary solid-state drive, the primary solid-state drive directly writes data to the local cache; When the target SSD is a slave SSD, the master SSD sends the current data to be written and the corresponding SLBA to the slave SSD, which is the target SSD, through the interconnect interface.

[0017] This application embodiment also provides a data operating system for expanding a solid-state drive cluster, including a primary solid-state drive and one or more secondary solid-state drives; the primary solid-state drive is connected to a host through a host interface, and the secondary solid-state drives are connected to the primary solid-state drive through an interconnect interface; The primary SSD receives the data to be written and its corresponding logical address from the host; obtains the operating status information of each SSD in the expanded SSD cluster; determines the target SSD for the current write based on the operating status information of each SSD in the expanded SSD cluster and the preset write strategy; determines the write location in the target SSD to carry the data corresponding to the logical address of the current write request based on the operating status information of the target SSD; updates the operating status information of the target SSD; establishes a mapping relationship between the logical address number corresponding to the current write request and the target SSD and its SLBA in the DRAM of the primary SSD itself, and marks the mapping relationship as valid; updates the operating status information of the target SSD; sends the data to be written and its corresponding SLBA to the target SSD according to the type of the target SSD; converts its SLBA into an internal logical address, then into a physical page address, and stores the data to be written in the NAND Flash storage array of the corresponding physical page address; As the primary or secondary SSD of the target SSD, it is used to convert its SLBA into an internal logical address, then into a physical page address, and finally to store the data to be written into the NAND Flash storage array with the corresponding physical page address.

[0018] In one exemplary instance, the primary solid-state drive can also be used for: Determine whether the logical address space in the expanded solid-state drive cluster is full. If it is not full, continue to determine the write position of the data corresponding to the current LBA_index in the target solid-state drive based on the running status information of the target solid-state drive. If the disk is full, mark the original mapping of the logical address corresponding to the current write request as invalid and release the corresponding SLBA occupancy status; use the released SLBA to perform data migration to balance the cluster write load according to the running status of each solid disk in the expanded solid disk cluster; allocate a new write location for the data to be written and complete the write.

[0019] This application embodiment further provides a solid-state drive, including: a controller chip, a NAND Flash storage array; a host interface for communicating with a host; an interconnect interface for communicating with at least one slave solid-state drive; and DRAM for storing a mapping table, operating status information, and control data; wherein, The main control chip is connected to the NAND Flash storage array, host interface, interconnect interface, and memory respectively, and is configured as follows: It receives the data to be written and its corresponding logical address from the host; obtains the operating status information of each solid-state drive (SSD) in the expanded SSD cluster; determines the target SSD for writing based on the operating status information of each SSD in the expanded SSD cluster and the preset write strategy; determines the write position of the data corresponding to the current LBA_index in the target SSD based on the operating status information of the target SSD; updates the operating status information of the target SSD; sends the data to be written and its corresponding SLBA to the target SSD according to the type of the target SSD; when acting as the target SSD, it is also used to convert its SLBA to an internal logical address, convert it to a physical page address, and store the data to be written in the NAND Flash storage array with the corresponding physical page address.

[0020] In one exemplary instance, the main control chip is further configured as follows: Determine whether the logical address space in the expanded solid-state drive cluster is full. If it is not full, continue to determine the write position of the data corresponding to the current LBA_index in the target solid-state drive based on the running status information of the target solid-state drive. If the LBA_index to be overwritten is full, mark the original mapping relationship as invalid and release the corresponding SLBA occupancy status; use the released SLBA to perform data migration to balance the cluster write load according to the running status of each solid disk in the expanded solid disk cluster; allocate a new write position for the LBA_index to be overwritten and complete the write.

[0021] The data operation method for expanding a solid-state drive (SSD) cluster provided in this application embodiment achieves unified external presentation and intelligent write scheduling of the expanded SSD cluster by centrally maintaining the mapping relationship between logical addresses and the internal addresses of each SSD in the cluster on the main SSD, and dynamically allocating target SSDs for writing based on the operating status information of each SSD and preset write strategies. This results in balanced write operations across all drives in the expanded SSD cluster, thereby improving system reliability and overall lifespan. In this application embodiment, multiple SSDs are combined into a logical whole without changing the host access method, providing a larger contiguous storage space. Simultaneously, by considering the operating status, the write load of each SSD is effectively balanced, reducing the risk of excessive wear on a single drive and improving overall reliability and lifespan. Furthermore, through precise address mapping and an independent internal address translation mechanism, accurate data write positioning and efficient and controllable writing processes are ensured, thereby improving the storage utilization, write performance, and system stability of the expanded SSD cluster.

[0022] Other features and advantages of the invention will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention may be realized and obtained by means of the structures particularly pointed out in the description, claims and drawings. Attached Figure Description

[0023] The accompanying drawings are used to provide a further understanding of the technical solutions of this application and constitute a part of the specification. They are used together with the embodiments of this application to explain the technical solutions of this application and do not constitute a limitation on the technical solutions of this application.

[0024] Figure 1 This is a flowchart of the data operation method for expanding a solid-state drive cluster in this application embodiment; Figure 2 This is a schematic diagram of the solid-state drive with an interconnect interface in an embodiment of this application; Figure 3 This is a schematic diagram illustrating an example of constructing an expanded solid-state drive cluster in an embodiment of this application; Figure 4 This is a schematic diagram of the data operating system structure of the expanded solid-state drive cluster in this application embodiment. Detailed Implementation

[0025] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in detail below with reference to the accompanying drawings. It should be noted that, unless otherwise specified, the embodiments and features described in these embodiments can be arbitrarily combined with each other.

[0026] To facilitate understanding of this application, a more complete description will be provided below with reference to the accompanying drawings, which illustrate embodiments of the present application. However, the present application can be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided so that the disclosure of this application will be thorough and complete.

[0027] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application.

[0028] It is understood that the terms "first" and "second" used in this application are for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "multiple" means at least two, such as two, three, etc., unless otherwise explicitly specified.

[0029] It is understood that the term "connection" in the following embodiments should be understood as "electrical connection," "communication connection," etc., if the connected circuits, modules, units, etc., have electrical signal or data transmission with each other.

[0030] When used herein, the singular forms of “a,” “an,” and “the” may also include the plural forms unless the context clearly indicates otherwise. It should also be understood that the terms “comprising / including” or “having,” etc., specify the presence of the stated features, integrals, steps, operations, components, parts, or combinations thereof, but do not preclude the possibility of the presence or addition of one or more other features, integrals, steps, operations, components, parts, or combinations thereof. Meanwhile, the term “and / or” as used in this specification includes any and all combinations of the associated listed items.

[0031] Solid-state drives (SSDs), as a new type of storage device, offer advantages over traditional hard disk drives (HDDs) such as larger capacity, higher reliability, faster read and write speeds, shock and drop resistance, lower power consumption, and no noise. Therefore, they have been widely adopted in both consumer PCs and enterprise servers.

[0032] A solid-state drive (SSD) storage array primarily consists of multiple Nand Flash Dies. These dies form multiple channels and banks. Each die is composed of multiple blocks, and each block consists of multiple pages. Typically, each page has a physical size of 16KB. When a system application writes data, it accesses the SSD based on the host logical block address (LBA). The SSD firmware translates the LBA into a physical page address (PPA), determining the channel, bank, block, and page locations to complete data storage and retrieval. The one-to-one mapping between LBAs and PPAs forms a mapping table from logical addresses to physical addresses on the SSD. When a system application reads data from the SSD, the firmware looks up the mapping table using the LBA to obtain the PPA, locates the actual data storage location, and then reads the data from the storage array based on the PPA and returns it to the system application.

[0033] In a capacity expansion scenario, when expansion SSD A is connected to the host via its host interface, the host detects the connection and sends a command to obtain its storage space size K. When the user finds that expansion SSD A's available storage space is insufficient, expansion SSD B's expansion interface is connected to expansion SSD A's expansion interface via a dedicated data transmission cable, with expansion SSD B's host interface not connected to the host. Upon detecting expansion SSD B's connection, expansion SSD A sends a command to expansion SSD B via its expansion interface to obtain expansion SSD B's storage space size M, and then informs the host of the change to its current available storage space of K+M. The host then performs data writing operations according to the K+M storage space, assigns a logical address N to the data to be written, and sends the data to expansion SSD A via its host interface. Upon receiving logical address N, expansion SSD A determines whether the logical address belongs to its own storage space K or expansion SSD B's storage space M. When logical address N belongs to the storage space of expanded solid-state drive A, the data is directly written to its own storage medium; when logical address N belongs to the storage space of expanded solid-state drive B, logical address N is converted to the logical address P corresponding to expanded solid-state drive B, and the data is written to the storage medium of expanded solid-state drive B through the expansion interface.

[0034] Wear leveling technology ensures a balanced number of write cycles per storage cell in NAND flash memory, thereby extending the lifespan of solid-state drives (SSDs). However, during data writing to expanded SSDs, write allocation is based solely on the logical address-to-storage-space mapping, without considering wear leveling among the SSDs in the cluster. When the host continuously writes to the storage space corresponding to a particular expanded SSD, that SSD will prematurely reach the end of its lifespan due to excessive write cycles. Once an expanded SSD in the cluster fails due to its lifespan, the corresponding storage space becomes inaccessible, impacting the stability and reliability of the entire expanded SSD cluster. This reduces the overall lifespan of the storage system and fails to meet the demands of high-reliability and long-lifespan storage applications.

[0035] To address the aforementioned issues, this application provides a data operation method for expanding a solid-state drive (SSD) cluster. By employing a global dynamic wear leveling algorithm for the expanded SSD cluster, data written by the host is dynamically distributed among the cluster's hard drives, achieving balanced write operations across all drives and thereby improving system reliability and overall lifespan. Figure 1 As shown, it may include: Step 100: The primary SSD in the expanded SSD cluster receives the data to be written and its corresponding logical address from the host.

[0036] In one exemplary instance, step 100 is preceded by: constructing an expanded solid-state drive cluster and establishing a logical address mapping relationship.

[0037] In one exemplary instance, building an expanded SSD cluster may include: setting one SSD as the primary SSD and connecting it to the host via a host interface; and setting at least one SSD as a secondary SSD and connecting it to the primary SSD via an interconnect interface. Upon power-up, when the primary SSD detects a secondary SSD connected to the interconnect interface, it sends a command to the secondary SSD to obtain storage capacity via the interconnect interface. The secondary SSD then returns the current storage capacity N of its primary SSD to the primary SSD via the interconnect interface. When the primary SSD detects that its primary SSD is connected to the host via the host interface, the host sends a command to the primary SSD to obtain storage capacity via the host interface. The primary SSD then returns the sum of its current storage capacity M and the storage capacity N of the secondary SSD connected to it, i.e., (M+N), to the host via the host interface.

[0038] In one exemplary instance, establishing logical address mapping relationships may include: creating a mapping table in the primary solid-state drive (SSD) to the logical addresses of each SSD in the cluster and their internal logical addresses, to ensure that logical addresses accessed by the host can be correctly mapped to specific storage locations. Specifically, this may include: the primary SSD constructing multiple sets of mapping relationships in its dynamic random access memory (DRAM), which can take the form of...<LBA_index, ssd_index_LBA, Effective> Where LBA represents a logical address, and in one embodiment, each LBA is 512 bytes in size; the total number of logical addresses in the current expanded solid-state drive cluster is Bytes of LBAs, where LBA_index indicates which LBA in the storage space of the expanded SSD cluster the host is accessing; ssd_index indicates the disk number of the SSD in the current expanded SSD cluster, such as... Figure 3 In the illustrated embodiment, the ssd_index of the primary solid-state drive is 0, and the ssd_index of the secondary solid-state drive is 1; ssd_index_LBA represents the logical address number within the disk to which it belongs, also known as SLBA. In one embodiment, the LBA number of each disk to which it belongs starts from 0; Effective indicates whether the mapping is valid, for example, 1 indicates that the current mapping relationship is valid, and 0 indicates that the current mapping relationship is invalid.

[0039] In one embodiment, the solid-state drives with interconnect interfaces used to construct the expanded solid-state drive cluster are, for example... Figure 2 As shown, compared to a general-purpose solid-state drive (SSD), the SSD 1 with interconnect interface 5 adds an interconnect interface between SSDs. Through interconnect interface 5, different SSDs can receive and send information. In some embodiments, interconnect interface 5 can be a high-speed serial bus interface such as Serial ATA (SATA), PCIe, or Universal Serial Bus (USB). The NAND Flash array 2 is used to store host-written data. The SSD's controller 3 and host interface 4 complete the reception of host commands and write data, as well as the return of read data. The controller 3 is also responsible for controlling the read and write operations of the NAND Flash array 2, and also controls the interconnect interface 5 of the SSD 1 to complete the transmission and reception of information between SSDs. Through host interface 4, the SSD 1 can receive commands and write data sent from the host, and return data that the host expects to read to the host through host interface 4. In some embodiments, the type of host interface 4 may include, but is not limited to, PCIe. DRAM 6 is used to temporarily store received host-written data and data to be sent to the host for reading, the NAND Flash mapping table, and to store the mapping relationship between the LBA of the host in the cluster and the numbers of all expanded SSDs in the cluster.

[0040] In one embodiment, the method for constructing an expanded solid-state drive cluster is as follows: Figure 3 As shown, in this embodiment, two solid-state drives (SSDs) are selected. One SSD serves as the master SSD, connected to the host via a host interface; the other SSD serves as the slave SSD, connected to the master SSD's interconnect interface via an interconnect interface. Upon system power-up, the master SSD checks if a slave SSD is connected to the interconnect interface, performs cluster initialization, and completes the interconnection between the master SSD, slave SSD, and host, thus forming an expanded SSD cluster. The master SSD communicates with the host, reporting the total available storage space of the entire cluster: the master SSD's storage space is M, the slave SSD's storage space is N, and the disk space size detected by the host is (M+N). A mapping table is established in the master SSD's DRAM to represent the LBAs to each SSD and its SLBA in the cluster. Each LBA contains the following information: its associated disk number (ssd_index), SLBA, and Effective. Assuming the cluster logical address range is LBA0-LBA19, the master SSD's number is 0, and the slave SSD's number is 1, the mapping is shown in Table 1.

[0041] Table 1 Step 101: The primary SSD obtains the operating status information of each SSD in the expanded SSD cluster.

[0042] In one exemplary instance, step 101 may include: After cluster initialization is complete, or upon receiving a write request from the host, the primary SSD sends a status query command to each secondary SSD via its own maintained data structure or through the interconnect interface to obtain the running status information of each SSD in the expanded SSD cluster. In one embodiment, the running status information may include at least: the total write volume (total_lba_write) of each SSD, which represents the number of logical addresses that have been allocated or written to the corresponding SSD; and the occupancy status information of the SLBAs within each SSD, which indicates whether each SLBA has been mapped or written with data.

[0043] In one embodiment, the primary SSD can maintain a status table in its own DRAM to record the total write volume (total_lba_write) value of each SSD in the expanded SSD cluster, as well as the occupancy status of its SLBA (SLBA). For the secondary SSD, its operating status information can be periodically reported to the primary SSD through the interconnect interface, or actively queried and obtained by the primary SSD when needed.

[0044] Step 102: The primary SSD determines the target SSD to be written to based on the operating status information of each SSD in the expanded SSD cluster and the preset write strategy.

[0045] In one exemplary instance, step 102 may include: the primary solid-state drive, based on the cumulative write volume total_lba_write in the obtained running status information of each solid-state drive, and in conjunction with a pre-set write strategy, compares and selects each solid-state drive in the expanded solid-state drive cluster to determine the target solid-state drive corresponding to the current host write request.

[0046] In one exemplary instance, the preset write strategy may include, but is not limited to, principles such as: balancing of cumulative write volume among solid-state drives; the number of remaining available SLBAs for each solid-state drive; solid-state drive type, performance parameters, or health status information, etc.

[0047] In one embodiment, the principle of balancing the cumulative write volume among the solid-state drives (SSDs) means that when the primary SSD selects a target SSD for writing, it prioritizes allocating write requests to the SSD with a smaller cumulative write volume (total_lba_write) to avoid frequent writing to any one SSD, which could lead to increased wear. For example, in an expanded SSD cluster, there is a primary SSD (SSD0) and a secondary SSD (SSD1). SSD0 has a cumulative write volume of 100,000 LBAs, and SSD1 has a cumulative write volume of 60,000 LBAs. Under the condition that other write conditions are met, the primary SSD prioritizes SSD1 as the target SSD for the current write, thus balancing the write load among the SSDs in the expanded SSD cluster.

[0048] In one embodiment, the number of remaining available SLBAs for each solid-state drive (SSD) refers to the number of SLBAs that have not yet been allocated or occupied in the logical address space within each SSD, reflecting the remaining available logical space of the corresponding SSD. In another embodiment, when determining the target SSD, the primary SSD may preferentially select the SSD with a larger number of remaining available SLBAs to reduce the risk of write failures and improve the continuity of storage space utilization. For example, if SSD0 has 1000 remaining available SLBAs and SSD1 has 100 remaining available SLBAs, then when receiving a new host write request, the primary SSD will preferentially select SSD0 as the target SSD to avoid subsequent writes being limited by insufficient available SLBAs on SSD1.

[0049] In one embodiment, solid-state drive (SSD) type, performance parameters, or health status information are used to characterize the differences in write performance, reliability, and lifespan among the SSDs. The primary SSD can allocate write requests differentially based on this information. Performance parameters may include, but are not limited to, write bandwidth, write latency, and the number of supported parallel write channels; health status information may include, but is not limited to, erase / write cycles, remaining lifespan percentage, and bad block percentage. For example, when both high-speed and regular SSDs exist in an expanded SSD cluster, the primary SSD can prioritize writing latency-sensitive data to the high-speed SSD; or, when the health status of a particular SSD indicates its remaining lifespan is below a preset threshold, the primary SSD reduces the write ratio to that SSD or temporarily stops allocating new write requests to it to extend its lifespan.

[0050] Step 103: The primary SSD determines the write location in the target SSD to carry the data corresponding to the logical address of the current write request, based on the target SSD's operating status information.

[0051] In one exemplary instance, step 103 may include: Based on the SLBA occupancy status information obtained from the target SSD's operational status information, the primary SSD searches for and selects an unoccupied SLBA within the target SSD's SLBA logical address space. This selected SLBA will serve as the actual write location for the data corresponding to the current LBA_index on the target SSD. In other words, the selected SLBA is used as the actual write location for the data at the corresponding logical address in the current write request.

[0052] In one embodiment, the selected SLBA can be the unoccupied SLBA with the smallest number in the target solid-state drive; alternatively, it can be selected according to a preset allocation order, a circular order, or other allocation strategies. The SLBA selected in this step will serve as the actual write location in the target solid-state drive for the data corresponding to the LBA_index accessed by the current host.

[0053] Step 104: The primary solid-state drive establishes a mapping relationship in its DRAM between the logical address number corresponding to the current write request and the target solid-state drive and its SLBA, and marks the mapping relationship as valid.

[0054] In one exemplary instance, step 104 may include: The main solid-state drive adds or updates a mapping record in the logical address mapping table maintained in its DRAM. This record represents the correspondence between the logical address number corresponding to the current write request, i.e., the current LBA_index, and the target solid-state drive number ssd_index selected in step 103 and its corresponding SLBA.

[0055] In one embodiment, the mapping record can be in the form of...<LBA_index, ssd_index_SLBA,Effective> In this context, Effective is set to a valid state (e.g., a value of 1) to indicate that the mapping is currently available for host access and data read / write operations.

[0056] Step 105: The primary SSD updates the target SSD's running status information.

[0057] In one exemplary instance, step 105 may include: After establishing the mapping relationship, the primary SSD increments the total_lba_write value of the target SSD by a preset unit (e.g., by 1) to reflect that the SSD has added a logical address write allocation. Simultaneously, the primary SSD updates the occupancy status information of the selected SLBA in the target SSD, marking the SLBA as occupied to prevent subsequent write operations from reusing the same SLBA.

[0058] Step 106: The primary SSD sends the data to be written and the corresponding SLBA to the target SSD according to the type of the target SSD.

[0059] In one embodiment, when the target solid-state drive is the primary solid-state drive, the primary solid-state drive directly writes data to the local cache.

[0060] In one embodiment, when the target SSD is a slave SSD, the master SSD sends the current data to be written and the corresponding SLBA to the slave SSD, which is the target SSD, through the interconnect interface.

[0061] In one exemplary instance, if the target SSD is determined to be a slave SSD, then the process further includes: the master SSD sending the LBA_index corresponding to the current host write request and the corresponding data to be written to the target slave SSD through the interconnect interface.

[0062] In one embodiment, the data sent by the primary solid-state drive may further include auxiliary control information, which is used to indicate the specific method by which the target performs a write operation from the solid-state drive. The auxiliary control information includes at least one of the following: a corresponding SLBA number, used to indicate that the corresponding SLBA is selected from the solid-state drive's internal logical address space for address translation; and a write control flag, used to indicate the timing, write type, or write confirmation method of the write operation performed from the solid-state drive.

[0063] Step 107: The target solid-state drive converts its SLBA to an internal logical address, then to a physical page address, and stores the data to be written to the storage array corresponding to the physical page address.

[0064] In one exemplary instance, step 107 may include: In its own control logic, the target solid-state drive (either the primary or secondary SSD) maps the SLBA used for writing to the corresponding internal logical address (LCA), and converts the LCA into the physical page address (PPA) in the NAND Flash storage array according to the maintained flash mapping mechanism.

[0065] The address translation process described above is completed by the controller of the target SSD, and the address translation processes between different SSDs are independent of each other. In one embodiment, when the target SSD is the master SSD, the master SSD completes the address translation from SLBA to LCA and PPA based on the established mapping relationship between the current LBA_index and the internal SLBAs of the master SSD. Then, based on the determined PPA address, it writes the corresponding data to be written to the target physical page location in the NAND Flash storage array, thereby completing the actual storage of the host-written data in the expanded SSD cluster. In another embodiment, when the target SSD is the slave SSD, the slave SSD completes the address translation from SLBA to LCA and PPA locally based on the received SLBA number, and writes the data to be written to the corresponding target physical page location in the NAND Flash storage array, thereby completing the actual storage of the host-written data in the expanded SSD cluster.

[0066] At this point, the write operation corresponding to the current LBA_index is complete. Subsequent accesses to this LBA_index by the host can accurately locate the corresponding target SSD and its physical storage location through the mapping relationship in the main SSD.

[0067] When the host initiates a write request to the same LBA_index again, the main solid-state drive re-executes steps 101 to 107, so that the multiple write operations of the LBA_index are allocated to different solid-state drives or different SLBAs respectively.

[0068] The data operation method for expanding a solid-state drive (SSD) cluster provided in this application embodiment centrally maintains the mapping relationship between logical addresses and the SSDs and their internal addresses within the cluster in the main SSD. Based on the operating status information of each SSD and a preset write strategy, it dynamically allocates target SSDs for writing, achieving unified external presentation and intelligent write scheduling for the expanded SSD cluster. This ensures balanced write operations across all drives in the expanded SSD cluster, thereby improving system reliability and overall lifespan. In this embodiment, multiple SSDs are combined into a logical unit without changing the host access method, providing a larger contiguous storage space. Simultaneously, by considering the operating status, the write load of each SSD is effectively balanced, reducing the risk of excessive wear on a single drive and improving overall reliability and lifespan. Furthermore, through precise address mapping and an independent internal address translation mechanism, accurate data write positioning and efficient, controllable writing processes are ensured, thereby improving the storage utilization, write performance, and system stability of the expanded SSD cluster.

[0069] In one exemplary instance, before determining the write location in the target solid-state drive for the data corresponding to the logical address of the current write request, this embodiment of the application may further include: Step 110: The primary SSD determines whether the logical address space in the expanded SSD cluster is full. If it is not full, continue to step 103; if it is full, proceed to step 111.

[0070] In one exemplary instance, step 110 may include: The primary SSD determines whether there are still unused SLBAs in the expanded SSD cluster; When it is detected that the SLBA logical space of each solid disk in the expanded solid disk cluster is occupied, it is determined that the current cluster logical address space is full and a new SLBA cannot be allocated for the current LBA_index. The main solid disk enters the rewrite process and continues to execute step 111. When it is detected that the SLBA logical space of each solid disk in the expanded solid disk cluster is not fully occupied, it is determined that the current cluster logical address space is not full and continues to execute step 103.

[0071] Step 111: The primary SSD marks the original mapping relationship of the logical address corresponding to the current write request as invalid and releases its corresponding SLBA occupancy status.

[0072] In one exemplary instance, when it is determined that the logical address space of the expanded solid-state drive cluster is full, and the current write request is a rewrite request for an LBA_index that already has a valid mapping relationship, step 111 may include: In the logical address mapping table maintained by the main solid-state drive, find the mapping relationship of the LBA_index to be overwritten that was established in the previous write operation and is still in a valid state, and mark the mapping relationship as invalid. Release the occupied state of the SLBA corresponding to the mapping relationship marked as invalid in its own solid-state drive, that is, mark the SLBA as unoccupied in the corresponding SLBA occupancy bitmap.

[0073] In this step, the original mapping relationship is the mapping relationship that was established by the current LBA_index in the previous write operation and is still in a valid state.

[0074] Step 112: The primary SSD uses the released SLBA to perform data migration based on the operating status of each SSD in the expanded SSD cluster to balance the cluster's write load.

[0075] In one exemplary instance, step 112 may include: Performing data migration operations in an expanded SSD cluster can include: Based on the running status information of each solid-state drive in the expanded solid-state drive cluster, select at least one set of mapping relationships that are still in a valid state from the solid-state drives whose cumulative write volume total_lba_write is higher than the preset threshold or higher than the cluster average as the objects to be migrated. Identify a solid-state drive whose cumulative write volume total_lba_write is lower than a preset threshold or lower than the cluster average, and which currently has idle SLBAs as the target solid-state drive for migration. The idle SLBAs include at least the SLBAs released in step 111. The data corresponding to the mapping relationship to be migrated is migrated from the source solid-state drive to the idle SLBA of the target solid-state drive. Update the logical address mapping relationship corresponding to the migration data so that it points to the target SSD and its SLBA, and synchronously update the occupancy bitmap and cumulative write volume total_lba_write of the SLBA corresponding to each SSD.

[0076] In this embodiment of the application, step 112 reallocates the write load of each solid-state drive in the expanded solid-state drive cluster by migrating other valid data, thereby creating a new write location for subsequent rewrite operations while ensuring data validity.

[0077] In one embodiment, the preset threshold can be determined based on the statistical value of the total write volume of each solid-state drive in the expanded solid-state drive cluster, including at least one of the average or median.

[0078] Step 113: The main SSD allocates a new write location for the data to be overwritten and completes the write operation.

[0079] In one exemplary instance, the primary solid-state drive performs a write operation for the LBA_index to be overwritten, which may include: According to the preset write policy, the main solid-state drive determines a target solid-state drive to be used to carry the LBA_index to be rewritten from among the solid-state drives with available SLBAs. In the target solid-state drive to be rewritten, allocate an unused SLBA for the LBA_index to be rewritten; Create a new mapping table maintained by the primary SSD.<LBA_index, ssd_index_LBA,Effective> Map the relationships and mark Effective as valid; The main solid-state drive writes the data to be written into the NAND Flash storage array of the target rewrite solid-state drive in accordance with steps 106-107.

[0080] In this embodiment of the application, through steps 111-113, when the logical address space of the expanded solid-state drive cluster is full, the main solid-state drive realizes the rewriting operation of LBA_index by releasing the historical write position of LBA_index to be rewritten, migrating other valid data and reallocating the write position, while maintaining the write load balance of each solid-state drive in the expanded solid-state drive cluster.

[0081] This application also provides a computer-readable storage medium storing computer-executable instructions for performing the data operation method for expanding a solid-state drive cluster as described in any of the above claims.

[0082] This application further provides a computer device, including a memory; and a processor connected to the memory, the processor executing steps of a data operation method for expanding a solid-state drive cluster as described in any of the preceding claims, based on instructions stored in the memory.

[0083] The following describes in detail the implementation process of global dynamic wear leveling in an expanded solid-state drive cluster according to an embodiment of this application.

[0084] To construct an expanded SSD cluster, slave SSDs are connected to the master SSD via an interconnect interface, and the master SSD is connected to the host via a host interface. After system power-on, when the master SSD detects a slave SSD connected to its interconnect interface, it sends a command to the slave SSD to retrieve storage capacity via the interconnect interface. The slave SSD then returns its current storage capacity N to the master SSD via the interconnect interface. When the master SSD detects that its current SSD is connected to the host via the host interface, the host sends a command to the master SSD to retrieve storage capacity via its host interface. The master SSD then returns the sum of its current storage capacity M and the slave SSD's storage capacity N (M+N) to the host via the host interface. The master SSD constructs several mapping relationships in the DRAM of its current SSD.<LBA_index, ssd_index_LBA,effective> Where LBA is the address of a logical sector, each LBA is 512 bytes in size, and the current expanded SSD cluster has (M+N) / 512 bytes of LBAs. LBA_index is the LBA number in the storage space of the expanded SSD cluster that the host accesses, and ssd_index is the number of disks in the current expanded SSD cluster. In this embodiment, the primary SSD's ssd_index is 0, and the secondary SSD's ssd_index is 1. ssd_index_LBA is the LBA number in its respective disk (the LBA numbering for each disk starts from 0), and this LBA is the SLBA. ssd_index_LBA being 1_0 indicates the 0th SLBA of the disk with ssd_index 1; Effectiveness being 1 indicates that the current mapping relationship is valid, and Effectiveness being 0 indicates that the current mapping relationship is invalid. The host follows... - Logical address space writes can be sequential or random. After receiving the write command and the LBA address range to be written from the host, the primary SSD calculates the SLBA number of each LBA within the LBA address range written by the host in its respective SSD according to the global wear leveling algorithm in this embodiment. The primary SSD maintains the write volume of all SSDs in the current expanded SSD cluster in its DRAM, i.e., the total number of SLBAs written by the current disks. In this embodiment, the total SLBA write volume of the primary SSD (i.e., the disk with ssd_index 0) is total_lba_write_0, and the total SLBA write volume of the secondary SSD (i.e., the disk with ssd_index 1) is total_lba_write_1. The primary SSD also maintains the validity of each SLBA in the logical address space of all SSDs in the current expanded SSD cluster in its DRAM. In this embodiment, the validity of each SLBA in the logical address space of the primary SSD (i.e., the disk with ssd_index 0) is bitmap_0, and the validity of each SLBA in the logical address space of the secondary SSD (i.e., the disk with ssd_index 1) is bitmap_1. Each SLBA occupies 1 bit in the bitmap to indicate whether the SLBA to which the hard disk belongs has been allocated and occupied.

[0085] The primary SSD allocates a disk to each LBA within the LBA address range of the received write commands. In this embodiment, for example, if the logical storage space of each disk belongs to the LBA range SLBA0-SLBA9, then the logical storage space of the expanded SSD cluster detected by the host is LBA0-LBA19. When the host writes to LBA0-LBA5, total_lba_write_0 = total_lba_write_1 = 0, and the primary SSD allocates the cluster's logical storage space LBA0 to the disk with ssd_index 0; at this time, total_lba_write_0 = 1, total_lba_write_1 = 0, bitmap_0 = 1, bitmap_1 = 0. To maintain an average write volume and wear leveling for each SSD in the expanded SSD cluster, the primary SSD allocates the cluster's logical storage space LBA1 to the disk with ssd_index 1, and so on for the remaining LBAs, forming Table 2.

[0086]

[0087] Table 2 According to the method described in the agreed steps, after the primary SSD determines the disk to which each LBA in LBA0-LBA5 written to the host belongs and the SLBA number within the disk, the primary SSD will transfer the LBA set belonging to the secondary SSD and its corresponding data to the secondary SSD through the interconnect interface.

[0088] The primary and secondary SSDs convert their respective SLBA sets into LCAs and establish a mapping relationship from LCA to PPA in their respective SSD DRAMs.<LCA,PPA> The data corresponding to the LCA is written to the Nand_flash storage array corresponding to the PPA address.

[0089] If the host repeatedly writes to a certain LBA, such as LBA0, in order to ensure that the write volume of all solid-state drives in the cluster is consistent, the write process is as shown in Tables 3-5 according to the global wear leveling algorithm in this application embodiment: As shown in Table 3, the first write is to LBA0.

[0090]

[0091] Table 3 As shown in Table 4, the second write is made to LBA0.

[0092]

[0093] Table 4 As shown in Table 5, the third write to LBA0.

[0094]

[0095] Table 5 If the host writes to LBA1 after filling the logical storage space (LBA) in the storage cluster, LBA1 should be mapped to disk 0. However, LBA1 already has a valid mapping to SLBA on disk 1. For LBA1 to be written to disk 0, the existing mapping relationship of LBA1 on disk 1 must first be discarded. Then, a mapping relationship must be selected on disk 0 to migrate data to disk 1, and finally, LBA1 should be mapped and written to disk 0. The process is shown in Tables 6-9. As shown in Table 6, the host has filled the logical storage space LBA in the storage cluster, and LBA0-LBA19 have all been written.

[0096]

[0097] Table 6 As shown in Table 7, the host now rewrites LBA1, discarding the original mapping relationship from LBA1 to Ssd_index_LBA=1_0.

[0098]

[0099] Table 7 As shown in Table 8, select a mapping relationship (LBA0->0_0) in hard disk 0, and migrate its mapping relationship and its corresponding data to hard disk 1, that is, migrate to LBA0 of hard disk 1.

[0100]

[0101] Table 8 As shown in Table 9, the data mapping of LBA1 is written to LBA0, which belongs to the new hard disk 0.

[0102]

[0103] Table 9 This application also provides a data operating system for expanding solid-state drive clusters, such as... Figure 4 As shown, it includes a primary solid-state drive (SSD) and one or more secondary SSDs; the primary SSD is connected to the host via a host interface, and the secondary SSDs are connected to the primary SSD via interconnect interfaces. The primary SSD receives the data to be written from the host and its corresponding logical address; obtains the operating status information of each SSD in the expanded SSD cluster; determines the target SSD for the current write based on the operating status information of each SSD in the expanded SSD cluster and the preset write strategy; determines the write position (the data corresponding to the current LBA_index) in the target SSD based on the operating status information of the target SSD; updates the operating status information of the target SSD; establishes a mapping relationship between the logical address number corresponding to the current write request and the target SSD and its SLBA in the DRAM of the primary SSD itself, and marks the mapping relationship as valid; updates the operating status information of the target SSD; performs write data processing operations on the data to be written according to the type of the target SSD; converts its SLBA to an internal logical address, converts it to a physical page address, and stores the data to be written in the NAND Flash storage array of the corresponding physical page address. As the primary or secondary SSD of the target SSD, it is used to convert its SLBA into an internal logical address, then into a physical page address, and finally to store the data to be written into the NAND Flash storage array with the corresponding physical page address.

[0104] The data operating system for the expanded SSD cluster provided in this application embodiment maintains the mapping relationship between logical addresses and the addresses of each SSD and its internal address within the cluster centrally in the main SSD. Based on the operating status information of each SSD and preset write strategies, it dynamically allocates target SSDs for writing, achieving unified external presentation and intelligent write scheduling for the expanded SSD cluster. This ensures balanced write operations across all SSDs in the expanded SSD cluster, thereby improving system reliability and overall lifespan. In this embodiment, multiple SSDs are combined into a logical unit without changing the host access method, providing a larger contiguous storage space. Simultaneously, by considering the operating status, the write load of each SSD is effectively balanced, reducing the risk of excessive wear on a single disk and improving overall reliability and lifespan. Furthermore, through precise address mapping and an independent internal address translation mechanism, accurate data write positioning and efficient and controllable writing processes are ensured, thereby improving the storage utilization, write performance, and system stability of the expanded SSD cluster.

[0105] In one exemplary instance, the primary solid-state drive can also be used for: Determine if the logical address space in the expanded SSD cluster is full. If not, continue execution and determine the write position of the data corresponding to the current LBA_index in the target SSD based on the target SSD's running status information. If the disk is full, mark the original mapping of the logical address corresponding to the current write request as invalid and release the corresponding SLBA occupancy status; use the released SLBA to perform data migration to balance the cluster write load according to the running status of each solid disk in the expanded solid disk cluster; allocate a new write location for the data to be written and complete the write.

[0106] In this embodiment, when the logical address space of the expanded SSD cluster is full, the primary SSD achieves the overwrite operation of the LBA_index by releasing the historical write position of the LBA_index to be overwritten, migrating other valid data, and reallocating the write position, while maintaining the write load balance among the SSDs in the expanded SSD cluster. Afterwards, the system proceeds to receive and process the next request.

[0107] This application embodiment also provides a solid-state drive, comprising at least: a controller chip, a NAND Flash storage array; a host interface for communicating with a host; an interconnect interface for communicating with at least one slave solid-state drive; and a memory (such as DRAM) for storing a mapping table, operating status information, and control data; wherein, The main control chip is connected to the NAND Flash storage array, host interface, interconnect interface, and memory respectively, and is configured as follows: It receives the data to be written and its corresponding logical address from the host; obtains the operating status information of each solid-state drive (SSD) in the expanded SSD cluster; determines the target SSD for writing based on the operating status information of each SSD in the expanded SSD cluster and the preset write strategy; determines the write position of the data corresponding to the current LBA_index in the target SSD based on the operating status information of the target SSD; updates the operating status information of the target SSD; performs write data processing operations on the data to be written according to the type of the target SSD; when it is the target SSD, it is also used to convert its SLBA to an internal logical address, convert it to a physical page address, and store the data to be written in the NAND Flash storage array with the corresponding physical page address.

[0108] In one exemplary instance, the main control chip is further configured as follows: Determine if the logical address space in the expanded SSD cluster is full. If not, continue execution and determine the write position of the data corresponding to the current LBA_index in the target SSD based on the target SSD's running status information. If the LBA_index to be overwritten is full, mark the original mapping relationship as invalid and release the corresponding SLBA occupancy status; use the released SLBA to perform data migration to balance the cluster write load according to the running status of each solid disk in the expanded solid disk cluster; allocate a new write position for the LBA_index to be overwritten and complete the write.

[0109] Although the embodiments disclosed in this application are as described above, the content described is merely for the purpose of understanding this application and is not intended to limit this application. Any person skilled in the art to which this application pertains may make any modifications and changes in the form and details of the implementation without departing from the spirit and scope disclosed in this application; however, the scope of patent protection of this application shall still be determined by the scope defined in the appended claims.

Claims

1. A data operation method for expanding a solid-state drive cluster, characterized in that, include: The primary SSD in the expanded SSD cluster receives the data to be written and its corresponding logical address from the host. The primary SSD obtains the operating status information of each SSD in the expanded SSD cluster; The primary SSD determines the target SSD to be written to based on the operating status information of each SSD in the expanded SSD cluster and the preset write strategy; The primary SSD determines the write location within the target SSD to carry the data corresponding to the logical address of the current write request, based on the target SSD's operating status information. The primary solid-state drive establishes a mapping relationship between the logical address number corresponding to the current write request and the target solid-state drive and its SLBA in its dynamic random access memory (DRAM), and marks the mapping relationship as valid; where SLBA represents the logical address number within its respective solid-state drive. The primary SSD updates the target SSD's operating status information; The primary SSD sends the data to be written and the corresponding SLBA to the target SSD based on the type of the target SSD. The target solid-state drive converts its SLBA into an internal logical address, then into a physical page address, and stores the data to be written into the storage array corresponding to the physical page address.

2. The data operation method according to claim 1, before determining the write location in the target solid-state drive for carrying the data corresponding to the logical address of the current write request, further includes: The main solid-state drive determines whether the logical address space in the expanded solid-state drive cluster is full. If it is not full, it returns to continue executing the step of determining the write location of the data used to carry the logical address corresponding to the current write request. If the drive is full, the main solid-state drive will mark the original mapping relationship of the logical address corresponding to the current write request as invalid and release its corresponding SLBA occupancy status. The primary solid-state drive uses the released SLBA to perform data migration based on the operating status of each solid-state drive in the expanded solid-state drive cluster in order to balance the cluster's write load. The main solid-state drive allocates a new write location for the data to be overwritten and completes the write operation.

3. The data manipulation method according to claim 2, wherein, The primary solid-state drive determines whether the logical address space in the expanded solid-state drive cluster is full, including: The primary solid-state drive determines whether there are still unoccupied SLBAs in the expanded solid-state drive cluster; when it is detected that the SLBA logical space of each solid-state drive in the expanded solid-state drive cluster has been occupied, it determines that the current cluster logical address space is full; when it is detected that the SLBA logical space of each solid-state drive in the expanded solid-state drive cluster is not fully occupied, it determines that the current cluster logical address space is not full.

4. The data manipulation method according to claim 2, wherein, When the current write request is a rewrite request for an LBA_index that already has a valid mapping relationship, marking the original mapping relationship of the logical address corresponding to the current write request as invalid and releasing its corresponding SLBA occupancy status includes: In the logical address mapping table maintained by the main solid-state drive, find the mapping relationship that the LBA_index to be overwritten was established in the previous write operation and is still valid, and mark the mapping relationship as invalid; where LBA_index represents the nth logical block address LBA in the storage space of the expanded solid-state drive cluster. Release the occupancy status of the SLBA corresponding to the mapping relationship marked as invalid in its respective solid-state drive.

5. The data manipulation method according to claim 4, wherein, The execution data migration includes: Based on the operating status information of each solid-state drive in the expanded solid-state drive cluster, at least one set of mapping relationships that are still in a valid state are selected from the solid-state drives whose cumulative write volume is higher than a preset threshold or higher than the cluster average as the objects to be migrated. A solid-state drive with a cumulative write volume lower than a preset threshold or lower than the cluster average and currently having an idle SLBA is identified as the target solid-state drive for migration, wherein the idle SLBA includes at least the released SLBA; The data corresponding to the mapping relationship to be migrated is migrated from the source solid-state drive to the idle SLBA of the target solid-state drive. Update the logical address mapping relationship corresponding to the migration data so that it points to the target SSD and its SLBA, and synchronously update the occupancy bitmap and cumulative write volume of the SLBA corresponding to each SSD.

6. The data manipulation method according to claim 5, wherein, The main solid-state drive allocates a new write location for the data to be overwritten and completes the write operation, including: According to a preset write strategy, the main solid-state drive determines a target solid-state drive for carrying the LBA_index to be rewritten from among the solid-state drives with available SLBAs. In the target solid-state drive to be rewritten, allocate an unused SLBA for the LBA_index to be rewritten; In the mapping table maintained by the main solid-state drive, establish a new mapping relationship and mark it as valid; The main solid-state drive writes the data to be written into the NAND Flash storage array of the target rewrite solid-state drive.

7. The data manipulation method according to any one of claims 1-7, wherein, The mapping relationship is as follows:<LBA_index,ssd_index_LBA, Effective> Where LBA_index indicates which LBA in the storage space of the expanded SSD cluster the host is accessing, and LBA represents a logical address; ssd_index_LBA represents the logical address number within the disk to which it belongs, called SLBA, and ssd_index represents the disk number of the SSD in the current expanded SSD cluster; Effective indicates whether the mapping is valid.

8. The data manipulation method according to claim 1 or 2, wherein, Determining the target solid-state drive for the current write operation includes: The primary solid-state drive compares and selects each solid-state drive in the expanded solid-state drive cluster based on the cumulative write volume in the acquired operating status information of each solid-state drive and in combination with a pre-set write strategy, in order to determine the target solid-state drive corresponding to the current host write request.

9. The data manipulation method according to claim 1 or 2, wherein, Determining the write location in the target solid-state drive for the data corresponding to the logical address of the current write request includes: The primary solid-state drive (SSD) searches for and selects an unoccupied SLBA in the SLBA logical address space of the target SSD based on the SLBA occupancy status information obtained from the target SSD's operating status information. The selected SLBA will be used as the actual write location of the data corresponding to the current LBA_index in the target SSD.

10. The data manipulation method according to claim 1 or 2, wherein, The primary SSD updates the target SSD's operating status information, including: After the mapping relationship is established, the primary solid-state drive increases the cumulative write volume value corresponding to the target solid-state drive by a preset unit; the primary solid-state drive updates the occupancy status information of the selected SLBA in the target solid-state drive and marks the SLBA as occupied.

11. The data manipulation method according to claim 1 or 2, wherein, The primary solid-state drive performs write data processing operations on the data to be written according to the type of the target solid-state drive, including: When the target solid-state drive is the primary solid-state drive, the primary solid-state drive directly writes data to the local cache; When the target SSD is a slave SSD, the master SSD sends the current data to be written and the corresponding SLBA to the slave SSD, which is the target SSD, through the interconnect interface.

12. A data operating system for expanding solid-state drive clusters, characterized in that, It includes a primary solid-state drive (SSD) and one or more secondary SSDs; the primary SSD is connected to the host via a host interface, and the secondary SSDs are connected to the primary SSD via interconnect interfaces. The primary SSD receives the data to be written and its corresponding logical address from the host; obtains the operating status information of each SSD in the expanded SSD cluster; determines the target SSD for the current write based on the operating status information of each SSD in the expanded SSD cluster and the preset write strategy; determines the write location in the target SSD to carry the data corresponding to the logical address of the current write request based on the operating status information of the target SSD; updates the operating status information of the target SSD; establishes a mapping relationship between the logical address number corresponding to the current write request and the target SSD and its SLBA in the DRAM of the primary SSD itself, and marks the mapping relationship as valid; updates the operating status information of the target SSD; and sends the data to be written and its corresponding SLBA to the target SSD according to the type of the target SSD. The SLBA to which it belongs is converted into an internal logical address, and then into a physical page address. The data to be written is then stored in the NAND Flash memory array corresponding to the physical page address. As the primary or secondary SSD of the target SSD, it is used to convert its SLBA into an internal logical address, then into a physical page address, and finally to store the data to be written into the NAND Flash storage array with the corresponding physical page address.

13. The data operating system for the expanded solid-state drive cluster according to claim 12, wherein the primary solid-state drive can also be used for: Determine whether the logical address space in the expanded solid-state drive cluster is full. If it is not full, continue to determine the write position of the data corresponding to the current LBA_index in the target solid-state drive based on the running status information of the target solid-state drive. If the disk is full, mark the original mapping of the logical address corresponding to the current write request as invalid and release the corresponding SLBA occupancy status; use the released SLBA to perform data migration to balance the cluster write load according to the running status of each solid disk in the expanded solid disk cluster; allocate a new write location for the data to be written and complete the write.

14. A solid-state drive, characterized in that, include: The system includes a main control chip, a NAND Flash memory array, a host interface for communication with the host, an interconnect interface for communication with at least one slave solid-state drive, and DRAM for storing mapping tables, operating status information, and control data. The main control chip is connected to the NAND Flash storage array, host interface, interconnect interface, and memory respectively, and is configured as follows: It receives the data to be written and its corresponding logical address from the host; obtains the operating status information of each solid-state drive (SSD) in the expanded SSD cluster; determines the target SSD for writing based on the operating status information of each SSD in the expanded SSD cluster and the preset write strategy; determines the write position of the data corresponding to the current LBA_index in the target SSD based on the operating status information of the target SSD; updates the operating status information of the target SSD; sends the data to be written and its corresponding SLBA to the target SSD according to the type of the target SSD; when acting as the target SSD, it is also used to convert its SLBA to an internal logical address, convert it to a physical page address, and store the data to be written in the NAND Flash storage array with the corresponding physical page address.

15. The solid-state drive according to claim 14, wherein the controller chip is further configured as follows: Determine whether the logical address space in the expanded solid-state drive cluster is full. If it is not full, continue to determine the write position of the data corresponding to the current LBA_index in the target solid-state drive based on the running status information of the target solid-state drive. If the LBA_index to be overwritten is full, mark the original mapping relationship as invalid and release the corresponding SLBA occupancy status; use the released SLBA to perform data migration to balance the cluster write load according to the running status of each solid disk in the expanded solid disk cluster; allocate a new write position for the LBA_index to be overwritten and complete the write.