Satellite-borne dynamic array storage method with balanced performance

By monitoring and adjusting the write ratio of each SSD in the on-site storage system, the overall system performance degradation caused by the degradation of single disk performance is solved, and a performance balanced and high-reliability satellite dynamic array storage method is achieved.

CN119847423APending Publication Date: 2025-04-18SHANGHAI UNIV
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411776147.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-05
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

When the performance of a single disk performance of existing multi-disk satellite array storage systems decreases significantly, the overall system performance will be greatly reduced, and there is a lack of effective solutions.

Method used

A satellite-based dynamic array storage method with balanced performance is adopted. By configuring n-block SATA SSDs, the health status and performance indicators of each SSD are monitored, the relative wear factor is calculated, the data allocation strategy is adjusted, and the write ratio of each SSD is dynamically adjusted to ensure balanced performance.

Benefits of technology

It realizes a large-capacity and balanced performance satellite storage system, optimizes the read and write rate of the SSD array, extends the service life of the system, and provides protection in the event of abnormal power outage between stars, improving the reliability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119847423A_ABST
    Figure CN119847423A_ABST
Patent Text Reader

Abstract

The invention discloses a satellite-borne dynamic array storage method with balanced performance. The method comprises the following steps of configuring n SATA SSDs, accessing the SATA SSDs in a pure logic mode, obtaining S.M.A.R.T. Information of each SATA SSD, monitoring the health state of each SATA SSD and the like. When a file recording instruction of a satellite service computer is received, calculating a relative wear factor of each SATA SSD according to S.M.A.R.T. Information, splitting each package of file into fragments with different sizes, and writing the fragments into n SATA SSDs in a scattered manner to form a file management system; when a file playback instruction of the satellite service computer is received, fragment information of the file to be played back is obtained from the file management system, fragment data are spliced again, and a complete file package obtained after splicing is completed is downloaded to the data transmission system. The invention provides a satellite-borne dynamic array storage method with balanced performance, and provides a satellite-borne storage system which is large in capacity, balanced in performance and flexible in array configuration, so that the risk that the overall performance of a multi-array storage system is reduced due to performance reduction of a single disk is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of satellite array storage technology, and in particular to a satellite dynamic array storage method with balanced performance. Background Art

[0002] With the continuous development of satellite constellation technology, satellite camera technology has also made significant progress. Various cameras can capture images with higher precision and higher resolution. These technological advances have led to an exponential growth in the amount of remote sensing data, bringing unprecedented challenges to satellite storage systems. In this context, traditional low-performance storage systems can no longer meet the needs of efficient data processing and transmission. To address this problem, modern satellite storage systems have gradually upgraded to data storage architectures that use multi-disk arrays.

[0003] By combining multiple solid-state drives (SSDs) or other storage media in parallel, the new storage system can provide larger storage capacity, faster read and write speeds, and higher redundancy, thereby ensuring the stability of satellite missions and data security. In his 2021 research "Design and Implementation of Data Recording Device Based on SATA Hard Drive Array", Li Jintao designed a storage device for flight experiments with reference to the RAID0 mode; in his 2024 research "A Storage Access Device, Method, Onboard SSD Controller and Onboard SSD", Zhu Rongzhen used the SSD controller to implement the core functions of storage management and successfully achieved access to the FLASH array storage space. However, although multi-disk arrays can improve the overall performance of the system, in actual applications, fluctuations in the performance of a single disk often have a direct impact on the entire storage system. If the write speed of a disk decreases or fails, the performance of the entire system may be significantly reduced.

[0004] In the field of large-scale ground-based quantum computers, significant progress has been made in the study of the impact of single-disk performance degradation in multi-disk arrays on overall system performance. In his 2020 study "A method for adjusting uneven data distribution based on ceph", Chen Bangmin used disk management software to perform a secondary balance on the data based on hard disk capacity, weight, health status, and SMART information, successfully solving the problem of uneven data distribution in the storage system. However, there is currently no clear literature reporting on solutions to the problem of a significant reduction in overall system performance due to a single-disk performance degradation in a multi-disk array system for onboard storage. Current onboard array storage systems lack consideration of the problem of system performance degradation due to a single-disk performance degradation. Summary of the invention

[0005] In view of the above-mentioned defects of the prior art, the technical problem to be solved by the present invention is that the performance degradation of a single disk in the existing multi-disk onboard array storage system leads to a significant degradation of the overall system performance. The present invention provides a balanced-performance onboard dynamic array storage method, and provides a large-capacity, balanced-performance onboard storage system with flexible array configuration, so as to improve the risk of overall performance degradation of the multi-array storage system due to the degradation of the performance of a single disk.

[0006] To achieve the above object, the present invention provides a method for storing a dynamic array on board a satellite with balanced performance, comprising the following steps:

[0007] Configure n SATA SSDs, implement pure logical access to SATA SSDs according to the SATA3.0 protocol, obtain the SMART information of each SATA SSD, and monitor the health status, service life, and performance indicators of each SATA SSD;

[0008] When receiving the file recording instruction from the satellite computer, the relative wear factor of each SATA SSD is calculated according to the SMART information, and the data allocation strategy in the storage system is adjusted. Each package of files is split into fragments of different sizes and written to n SATA SSD disks in a dispersed manner. Each package is written completely to the SSD disk, and the fragment information of each package of files is written to the MRAM to form a file management system;

[0009] When receiving the playback file instruction from the satellite computer, the fragmentation information of the file to be played back is obtained from the file management system. According to the fragmentation information, the corresponding fragmented data is read from each SATA SSD disk and temporarily stored in the DDR3 cache. The fragmented data is re-spliced ​​and the spliced ​​complete file is uploaded to the data transmission system.

[0010] Furthermore, the FPGA pure logic reads the SMART information of the SSD disk according to the SATA3.0 protocol and ATA protocol, and dynamically adjusts the data writing ratio according to the health and performance status of each SSD.

[0011] Furthermore, the SMART attribute indicators of each SATA SSD include single-disk capacity, single-disk power-on time, single-disk temperature, single-disk wear times, and single-disk CRC check error rate.

[0012] Furthermore, based on the SMART information, the relative wear factor of each SATA SSD is calculated, the data allocation strategy in the storage system is adjusted, and each package of files is split into fragments of different sizes and written to n SATA SSD disks. Specifically, the obtained SMART attribute values ​​are normalized, and then multiplied by the weight value of each attribute. The final result is the relative wear factor of each disk. The interface data processing module splits a package of files into multiple 4K slice short frames according to the relative wear factor and allocates them to different storage channels.

[0013] Furthermore, before recording each file packet, the wear factor of the current SSD disk is updated to ensure real-time and dynamic adjustment of the load distribution of the current SSD array.

[0014] Furthermore, DDR3 SDRAM is used as a large-capacity cache pool; when receiving and executing file recording instructions, each package of file data is cached in DDR3 that is not completely written to the SSD array, and the fragmentation information of the package file is temporarily stored in the recording FIFO. When each package of file is completely written to the SSD array, the fragmentation information of the package file is updated into the MRAM file management system.

[0015] Furthermore, when a power outage occurs, only the package of files that were not completely written when the power outage occurred is lost. The file management system does not update the incompletely written files. When the power is turned on next time, the file fragment data of a new package will be rewritten to overwrite the file fragment data that was not completely written before the power outage.

[0016] Furthermore, the file fragmentation data includes {file number, file size, allocation ratio, starting record address of SSD1, ending record address of SSD1...starting record address of SSDn, ending record address of SSDn}, and the starting record address and ending record address correspond to the address mapping of the SSD disk.

[0017] Furthermore, when executing the file playback instruction, the file fragment data corresponding to the file to be played back is obtained from the file management system according to the label of the file to be played back.

[0018] Furthermore, when the file is played back, the fragmented data of the corresponding area is read from the corresponding SSD according to the starting record address and the ending record address in the read file fragmentation information, and the file fragments are restored and spliced ​​according to the same principle as the splitting according to the splitting ratio in the file fragmentation information.

[0019] Technical Effects

[0020] The present invention proposes a balanced performance satellite dynamic array storage method, which is a large-capacity, balanced performance and flexible array configuration satellite storage system. The system realizes flexible storage of multi-channel load data through FPGA pure logic design, supports any n (n≥1) SSD disk configurations based on SATA interface, can achieve TB-level storage capacity, and dynamically adjusts the write ratio of each SSD through intelligent SMART information collection and analysis, realizes the performance balance of the SSD array, optimizes the read and write rate of the SSD array, and prolongs the service life of the system, and protects against abnormal power outages between satellites, thereby improving the reliability of the satellite storage system and the service life of the storage device.

[0021] The concept, specific structure and technical effects of the present invention will be further described below in conjunction with the accompanying drawings to fully understand the purpose, characteristics and effects of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 It is a general framework diagram of onboard dynamic storage of a performance-balanced onboard dynamic array storage method of a preferred embodiment of the present invention;

[0023] Figure 2 It is a flow chart of a package of files recorded in a method for storing a dynamic array on board a satellite with balanced performance according to a preferred embodiment of the present invention;

[0024] Figure 3 It is a flow chart of a file playback package of a performance-balanced onboard dynamic array storage method of a preferred embodiment of the present invention;

[0025] Figure 4 It is a file system information structure diagram of a performance balanced on-board dynamic array storage method of a preferred embodiment of the present invention;

[0026] Figure 5 The present invention is a flow chart of ATA instruction communication executed by a SATA controller of a performance-balanced onboard dynamic array storage method according to a preferred embodiment of the present invention. DETAILED DESCRIPTION

[0027] In order to make the technical problems, technical solutions and beneficial effects to be solved by the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0028] In the following description, specific details such as specific internal procedures and techniques are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present invention. However, it should be clear to those skilled in the art that the present invention may be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present invention.

[0029] The embodiment of the present invention provides a satellite-borne dynamic array storage method with balanced performance. The satellite system has a large-capacity, high-speed storage function. The real-time status of each SSD disk is monitored through FPGA pure logic. In the process of storing payload data in array form, the real-time write data volume of each disk can be dynamically adjusted, thereby giving full play to the maximum performance and efficiency of the SSD array.

[0030] like Figure 1 As shown in the figure, the satellite system includes an interface processing module, a DDR cache module, a storage control module and a file management module. The interface processing module is used to split and restore each packet of payload file data; the DDR cache module is used to balance the fluctuation characteristics of SSD read and write data; the storage control module is responsible for interacting with the SSD disk to read and write data and interact with SMART information; the file management module is used to manage the fragmentation information of each packet of files.

[0031] An embodiment of the present invention provides a method for storing a dynamic array on board a satellite with balanced performance, comprising the following steps:

[0032] Configure n SATA SSDs, implement pure logic access to SATA SSDs according to the SATA3.0 protocol, obtain the SMART information of each SATA SSD, and monitor the health status, service life and performance indicators of each SATA SSD; implement FPGA pure logic reading of SSD disk SMART information according to the SATA3.0 protocol and ATA protocol, dynamically adjust the proportion of data writing according to the health and performance status of each SSD, ensure that the SSD with reduced performance is assigned fewer data tasks, avoid excessive load on a single disk, and achieve balanced workload. The embodiment of the present invention can arbitrarily configure n SSD disks with SATA interfaces, achieve TB-level storage capacity through a multi-disk array, and meet the storage requirements of high-precision and large-data-volume satellite images.

[0033] When receiving the file recording instruction from the star service computer, the relative wear factor of each SATA SSD is calculated according to the SMART information, the data allocation strategy in the storage system is adjusted, each package of files is split into fragments of different sizes and scattered into n SATA SSD disks, each package is completely written into the SSD disk, and the fragment information of each package of files is written into the MRAM to form a file management system; the system makes real-time decisions and executions with pure hardware logic to ensure that the system responds quickly to changes in the storage array. Specifically, it includes: normalizing the obtained SMART attribute value, and then multiplying it with the weight value of each attribute. The final result is the relative wear factor of each disk. The interface data processing module splits a package of files into multiple 4K slice short frames according to the relative wear factor and allocates them to different storage channels. Before recording each package of files, the wear factor of the current SSD disk is updated to ensure real-time and dynamic adjustment of the load distribution of the current SSD array.

[0034] When receiving the playback file instruction from the satellite computer, the fragmentation information of the file to be played back is obtained from the file management system. According to the fragmentation information, the corresponding fragmented data is read from each SATA SSD disk and temporarily stored in the DDR3 cache. The fragmented data is re-spliced ​​and the spliced ​​complete file is uploaded to the data transmission system.

[0035] DDR3 SDRAM is used as a large-capacity cache pool to alleviate the waiting time when the SSD switches from the sleep state to the working state, and smooth the rate fluctuation during the continuous writing process. When receiving and executing the file recording instruction, each package of file data is cached in DDR3 for data that is not completely written to the SSD array, and the fragmentation information of the package file is temporarily stored in the recording FIFO. When each package of file is completely written to the SSD array, the fragmentation information of the package file is updated into the MRAM file management system.

[0036] When a power outage occurs, only the file package that was not completely written when the power outage occurred is lost. For the incompletely written files, the file management system will not update them. When the power is turned on next time, the file fragment data of a new package will be rewritten to overwrite the file fragment data that was not completely written before the power outage. Among them, the file fragment data includes {file number, file size, allocation ratio, the starting record address of SSD1, the ending record address of SSD1...the starting record address of SSDn, the ending record address of SSDn}, the starting record address and the ending record address correspond to the address mapping of the SSD disk, and its file system information is as follows: Figure 4 shown.

[0037] When executing the file playback instruction, the file fragment data corresponding to the file to be played back is obtained from the file management system according to the label of the file to be played back.

[0038] When playing back a file, the fragment data of the corresponding area is read from the corresponding SSD according to the starting record address and the ending record address in the read file fragment information, and the file fragments are restored and spliced ​​according to the same principle as the splitting according to the splitting ratio in the file fragment information.

[0039] Another preferred embodiment of the present invention combines various modules of the satellite system to explain the implementation process of a performance-balanced onboard dynamic array storage method.

[0040] Use the storage control module to send SMART read instructions to all SSD disks. According to the current FPGA chip temperature, read once per minute when the temperature exceeds 70°C, and read once every 10 minutes when the temperature is below 70°C. Extract the required SMART attributes from the response frame returned by the acquired SSD disk. The SMART attribute indicators of each SATA SSD include single-disk capacity, single-disk power-on time, single-disk temperature, single-disk wear times, and single-disk CRC check error rate. Quantify the attribute values, assign weight ratios according to the importance, add the results of multiplying all quantized attribute values ​​by the weight values ​​to obtain the current wear value of each SSD disk, normalize the current wear value to obtain the relative wear factor of each SSD disk, and quantize the relative wear factors of all SSD disks to an integer with a total of N at each update to obtain the capacity allocation ratio of each SSD. Figure 2 As shown, when there is a file to be recorded, the data processing module receives each packet of payload file data, cuts the long data stream into short frames with a fixed size of 4KB, and writes them into the n-way recording cache channel of the DDR cache in different channels according to the capacity allocation ratio. After a packet of files is completely written into the DDR recording channel cache, the fragment information of a file is updated and written into the recording FIFO, including: {file number, file size, allocation ratio, starting recording address of SSD1, ending recording address of SSD1...starting recording address of SSDn, ending recording address of SSDn}, and the starting recording address and ending recording address correspond to the address mapping of the SSD disk.

[0041] When the storage management control module recognizes that there is unprocessed file fragment information in the record FIFO, it reads the fragment information of a file, obtains the starting record address and the ending record address of each channel, calculates the length of each fragment, reads the cache fragment data of the corresponding length channel from the DDR cache, and writes it to the corresponding address area in the corresponding SSD. When a package of files is completely written to the SSD disk, the fragment information of a file is updated to the MRAM file management system.

[0042] like Figure 3As shown, when file data needs to be played back, the file management system is searched according to the label of the file to be played back, and the MRAM is accessed according to the corresponding address to obtain the fragment information of the file to be played back.

[0043] The starting and ending record addresses of the file to be replayed on each SSD disk are obtained, and the storage management control module reads the fragmented data of the corresponding address area of ​​each SSD disk and sends it to the corresponding playback cache channel.

[0044] When a package of files is completely read from the SSD disk, the fragment information of a file is updated and written into the playback FIFO.

[0045] When the interface processing module recognizes that there is unprocessed file fragment information in the playback FIFO, it reads the fragment information of a file to obtain the file length and split ratio of the file to be played back. According to the split ratio, the cache data of each channel is read from the playback cache channel in turn, and 4KB short frames are read each time to restore and splice the file.

[0046] like Figure 5 As shown, the following is a detailed description of a performance balanced onboard dynamic array storage method implemented by the present invention using a specific embodiment with configuration n=4.

[0047] Step 100: the FPGA internally accesses the SMART attributes of the SSD disk and calculates the relative wear factor.

[0048] Step 101, FPGA constructs a Register-Host to DeviceFIS frame with a command register of SMART 0xB0h and sends it to the SSD device through the GTX physical layer. The SSD device returns a 512-Byte response frame.

[0049] Step 102: The FPGA internally identifies the received response frame and extracts specific SMART attributes, including:

[0050] Power-on time (Percentage Used, ID:09): Displays the percentage of the device's life that has been used.

[0051] Flash memory wear leveling count (Wear Leveling Count, ID: 177): Displays the average number of erase cycles.

[0052] Temperature (Temperature, ID: 194): Displays the current temperature. Too high a temperature may accelerate wear.

[0053] Remaining Life Estimation (Remaining Life, ID: 202): Some SSDs provide a remaining life estimation.

[0054] Total LBAs Written (ID: 241): records the total number of bytes written by the device.

[0055] Step 103, normalize the data: standardize each indicator to a value between 0 and 1 for easy comparison.

[0056]

[0057] Among them, taking the remaining life attribute as an example, L norm is the percentage of used life, L used is the used life, L max is the maximum lifespan.

[0058] Step 104, determine the weight and assign a weight ω to each indicator ID , to reflect its importance in performance balancing. The attribute weights of different SSD vendors may vary. Please refer to the manufacturer's manual and the test results during system debugging.

[0059] Step 105, calculate the wear factor of each SSD disk by weighted summation:

[0060] W i =ω ID09 L ID09 +ω ID177 L ID1771 +ω ID194 L ID194 +ω ID202 L ID202 +ω ID241 L ID241

[0061] Among them, W i is the wear factor of the i-th disk, ω ID09 ,ω ID177 ,ω ID194 ,ω ID202 ,ω ID241 They are the weights of power-on time, flash wear times, temperature, remaining lifetime estimate, and total bytes written.

[0062] Step 106, determine the write ratio: calculate the write amount distribution ratio of each disk according to the inverse proportional relationship of the wear factor

[0063]

[0064] Among them, P i is the write ratio of the i-th disk, W iis the wear factor of the i-th disk. The disk with a larger wear factor gets a smaller write ratio, and the disk with a smaller wear factor gets more write volume.

[0065] Step 200: Adjust the amount of data written to each SSD disk according to the relative wear factor, and update the file management table.

[0066] Step 201: Before receiving each packet of file data to be recorded at the data interface, update the relative wear factor of each current SSD disk to A1:A2:A3:A4. For the convenience of subsequent processing, quantize the floating-point numbers into integers N1:N2:N3:N4 so that their sum is N, where N is a fixed number.

[0067] Step 202: Split the file data stream coming in from the payload data interface into 4KB equally long slice short frames. Every N 4KB slice short frames follow the same splitting principle. The splitting principle is as Figure 2 shown. Taking N1 < N4 < N2 < N3 as an example, during the allocation process of every N 4KB slice short frames at a time,

[0068] each cache channel will be allocated N1, N2, N3, and N4 4KB slice short frames respectively.

[0069] The 1st to the 4*N1-th slice short frames are polled and cyclically written to channels 1 to 4.

[0070] The (4*N1 + 1)-th to the (4*N1 + 3*N4)-th slice short frames are polled and cyclically written to channels 2 to 4.

[0071] The (4*N1 + 3*N4 + 1)-th to the (4*N1 + 3*N4 + 2*N2)-th slice short frames are polled and cyclically written to channels 2 to 3.

[0072] The (4*N1 + 3*N4 + 2*N2 + 1)-th to the N-th slice short frames are all written to channel 3.

[0073] Step 203: Count that each packet of file data stream is totally split into M 4KB slice short frames. Since the size of each packet of file is different, M is also not fixed with the file size. Each packet of file needs to repeat the allocation principle of Step 202 for a total of a = floor(M / N) rounds. Since M is not fixed as a multiple of N, when the number of 4KB slice short frames allocated in the last round is less than N, continue to match them in order according to the above allocation principle.

[0074] Step 204: When a packet of files is completely written into the cache, a file fragment information of 64 Bytes in length is written into the recording FIFO. The content of the file fragment information includes: {file label, file length, file allocation ratio, file fragment address}. Among them, the file label is the file serial number incremented from 0. The total number of files refers to the number M of 4KB slice short frames obtained by splitting this packet of files. The file allocation ratio refers to the splitting integer ratio N1:N2:N3:N4 of this packet of files. The file fragment address refers to the recording start address and recording end address of each file fragment in the corresponding channel. This address is the logical mapping address of the SSD disk, and one address unit is 4KB.

[0075] Step 205: When the solid-state storage controller recognizes that the recording FIFO is not empty, it reads a piece of file fragment information in the recording FIFO, obtains the start recording address and end recording address of the file fragment in the four channels, calculates the number of file fragments in the four cache channels, and reads the corresponding amount of data from the cache and writes it into the four SSDs. When a packet of files is completely written into the SSD disk, the recording information is written into the file management system. The file management system is the MRAM storage space, with a total size of 1MB, which can write 16,000 pieces of file information and can be recycled. The information structure of the file management system is shown in Figure x.

[0076] Step 300: Access the file management system to read out the file fragments and restore them into a complete packet of files.

[0077] Step 301: When receiving an instruction to play back a certain packet of files, through serial number query, access and read the fragment information of the corresponding file from the file management system according to the address.

[0078] Step 302: Obtain the initial recording address and end recording address of the file fragment on each SSD disk, read the data in the corresponding area of each SSD disk, send the data read from each channel into the corresponding cache channel, and write the file fragment information of this packet into the playback FIFO.

[0079] Step 303: When the file restoration module recognizes that the playback FIFO is not empty, it reads a piece of file fragment information in the playback FIFO, obtains the file length and file allocation ratio of the file to be restored, and restores the file according to the same principle. The file restoration principle is shown in Figure x. Taking N1<N4<N2<N3 as an example, in the process of restoring N packets of 4KB short frames at a time,

[0080] First, poll and read out N1 4KB slice short frames from channel 1 to channel 4 in turn.

[0081] Then, poll and read out N4 - N1 4KB slice short frames from channel 2 to channel 4 in turn.

[0082] Continue to poll from channel 2 to channel 4 to read out N2-N4 4KB slice short frames.

[0083] Finally, N3-N2 short frames are read from channel 3.

[0084] Step 303, from the file length information, it can be known that the file to be played back has a total of M 4KB slice short frames, and a=floor(M / N) rounds of restoration are required, and step 303 is repeated for each round of restoration. When the number of 4KB slice short frames to be restored in the last round is less than N, continue to splice in order according to the above restoration principle.

[0085] From then on, the recording and playback process of a package of files is completely completed.

[0086] This embodiment provides that when recording files, the SMART command in the ATA instruction set is called through FPGA pure logic to obtain the self-monitoring analysis report of the SSD disk, and the write ratio of each hard disk is allocated according to the specified parameter calculation to optimize the use rate of the SSD array and extend its life.

[0087] The invention provides a balanced performance on-board dynamic array storage method. When playing back files, users can play back any file according to the current file management system, supporting sequential playback, skip playback and continuous playback. DDR3SDRAM is used as a large-capacity cache pool to cope with the waiting time required for the SSD to switch from the sleep state to the working state, and smooth the rate fluctuation during the continuous writing process. A file management system is set up to record the mapping address of each file on the SSD internally and display the current status of the file externally, which is concise and intuitive and convenient for user operation.

[0088] In particular, in the case of abnormal power outages in the on-board system, due to the system design, the file management table will only be updated after the file is completely written to the SSD disk array. When an abnormal power outage occurs in the middle of recording a package of files, the package of files will be discarded but will not cause damage to the remaining files and subsequent files. This design avoids the accumulation or spread of subsequent errors caused by abnormal power outages that make files incomplete, ensuring the stability and integrity of the data structure.

[0089] The preferred specific embodiments of the present invention are described in detail above. It should be understood that a person skilled in the art can make many modifications and changes based on the concept of the present invention without creative work. Therefore, any technical solution that can be obtained by a person skilled in the art through logical analysis, reasoning or limited experiments based on the concept of the present invention on the basis of the prior art should be within the scope of protection determined by the claims.

Claims

1. A method for storing dynamic arrays on board a satellite with balanced performance, characterized in that: The following steps are involved: Configure n SATA SSDs, implement pure logical access to SATA SSDs according to the SATA3.0 protocol, obtain the SMART information of each SATA SSD, and monitor the health status, service life, and performance indicators of each SATA SSD; When receiving the file recording instruction from the satellite computer, the relative wear factor of each SATA SSD is calculated according to the SMART information, and the data allocation strategy in the storage system is adjusted. Each package of files is split into fragments of different sizes and written to n SATA SSD disks in a dispersed manner. Each package is written completely to the SSD disk, and the fragment information of each package of files is written to the MRAM to form a file management system; When receiving the playback file instruction from the satellite computer, the fragmentation information of the file to be played back is obtained from the file management system. According to the fragmentation information, the corresponding fragmented data is read from each SATA SSD disk and temporarily stored in the DDR3 cache. The fragmented data is re-spliced ​​and the spliced ​​complete file is uploaded to the data transmission system.

2. A method for storing dynamic arrays on board a satellite with balanced performance as claimed in claim 1, characterized in that: According to the SATA3.0 protocol and ATA protocol, the FPGA pure logic reads the SSD disk's SMART information and dynamically adjusts the data writing ratio according to the health and performance status of each SSD.

3. A method for storing dynamic arrays on board a satellite with balanced performance as claimed in claim 2, characterized in that: The SMART attribute indicators of each SATA SSD include single-disk capacity, single-disk power-on time, single-disk temperature, single-disk wear times, and single-disk CRC check error rate.

4. A method for storing dynamic arrays on board a satellite with balanced performance as claimed in claim 3, characterized in that: According to the SMART information, the relative wear factor of each SATA SSD is calculated, the data allocation strategy in the storage system is adjusted, and each package of files is split into fragments of different sizes and written to n SATA SSD disks. Specifically, the obtained SMART attribute values ​​are normalized and then multiplied by the weight value of each attribute. The final result is the relative wear factor of each disk. The interface data processing module splits a package of files into multiple 4K slice short frames according to the relative wear value and allocates them to different storage channels.

5. The method for storing a dynamic onboard array with balanced performance as claimed in claim 4, characterized in that: Before recording each file packet, the wear factor of the current SSD disk is updated to ensure real-time and dynamic adjustment of the load distribution of the current SSD array.

6. The method for storing dynamic arrays on board a satellite with balanced performance as claimed in claim 1, characterized in that: Use DDR3SDRAM as a large-capacity cache pool; When receiving and executing the file record instruction, each package of file data is cached in DDR3 and the data that is not completely written to the SSD array. The fragmentation information of the package file is temporarily stored in the record FIFO. When each package of file is completely written to the SSD array, the fragmentation information of the package file is updated into the MRAM file management system.

7. The method for storing a dynamic array on board a satellite with balanced performance as claimed in claim 1, characterized in that: When a power outage occurs, only the package of files that were not completely written when the power outage occurred is lost. The file management system will not update the incompletely written files. When the power is on next time, the file fragment data of a new package will be rewritten to overwrite the file fragment data that was not completely written before the power outage.

8. The method for storing a dynamic onboard array with balanced performance as claimed in claim 7, characterized in that: The file fragmentation data includes {file number, file size, allocation ratio, starting record address of SSD1, ending record address of SSD1...starting record address of SSDn, ending record address of SSDn}, and the starting record address and ending record address correspond to the address mapping of the SSD disk.

9. The method for storing dynamic arrays on board a satellite with balanced performance as claimed in claim 1, characterized in that: When executing the file playback instruction, the file fragment data corresponding to the file to be played back is obtained from the file management system according to the label of the file to be played back.

10. The method for storing dynamic arrays on board a satellite with balanced performance as claimed in claim 9, characterized in that: When playing back a file, the fragment data of the corresponding area is read from the corresponding SSD according to the starting record address and the ending record address in the read file fragment information, and the file fragments are restored and spliced ​​according to the same principle as the splitting according to the splitting ratio in the file fragment information.

Citation Information

Cited By

  • SATA disk array access method and system, electronic equipment and storage medium

    CN121832847A