A data writing method, a magnetic disk, a storage system, a program product, and a magnetic tape
By aggregating data from the same application in a magneto-electric disk and writing it sequentially to magnetic tape, the latency and lifespan issues caused by the random distribution of data on magnetic tape are resolved, achieving more efficient data storage and reading/writing, and extending the lifespan of the magnetic tape.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2024-12-30
- Publication Date
- 2026-06-30
AI Technical Summary
The random distribution of data for different applications on magnetic tape leads to problems such as longer data reading times, increased invalid movement distances, and limited tape life.
The data writing method using magneto-electric disks aggregates data of the same application in the buffer and writes it sequentially to a specific area of the magnetic tape. Data areas of different applications are set up side by side along the length of the magnetic tape, reducing unnecessary movement distance and vertically distributing data of the same application within a limited length, thus optimizing the storage and read/write order of data on the magnetic tape.
It effectively reduces the access latency for reading and writing data on magnetic tape, extends the lifespan of magnetic tape, and improves the resource utilization and data reading and writing efficiency of magnetic tape.
Smart Images

Figure CN122308709A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of storage technology, and in particular to a data writing method, a magneto-electric disk, a storage system, a program product, and a magnetic tape. Background Technology
[0002] Magnetic tape is a strip of magnetic material used to record sound, images, digital signals, or other signals. It contains a magnetic medium, such as magnetic powder, for data storage. In storage technology, magnetic tape is the best choice for backup and archiving scenarios due to its low cost, high reliability, and security. Taking a tape drive as an example, a tape drive is a single-drive product consisting of a tape drive and a tape. Tape drives typically read and write data by sliding the tape along the read / write heads in the tape drive. In a tape drive, data from multiple applications is simultaneously sent to the drive for writing. Due to the randomness of data arrival at the tape drive, data from different applications is randomly distributed across the tape, requiring multiple address searches during data retrieval, resulting in long access latency, significant wasted tape movement, and limited tape lifespan. Summary of the Invention
[0003] This application provides a data writing method, a magneto disk, a storage system, a program product, and a magnetic tape, which solves the problem of random distribution of data in magnetic tape for different applications. It helps to reduce the invalid movement distance during the data reading process of magnetic tape, reduce access latency, and improve the service life of magnetic tape.
[0004] The technical solution adopted in this application is as follows.
[0005] Firstly, this application provides a data writing method. This data writing method is applied to a magnetoelectric disk, which includes a processor, a cache, and a magnetic tape. The data writing method provided by this application includes: the processor acquiring multiple data from different applications and writing the multiple data into multiple storage areas of the cache. The multiple storage areas include a first storage area and a second storage area, where the data stored in the first storage area corresponds to a first application, and the data stored in the second storage area corresponds to a second application. Furthermore, the data in the first storage area is written to a first magnetic tape area, and the data in the second storage area is written to a second magnetic tape area. The magnetic tape includes multiple wraps, where each wrap contains K sub-wraps. The first magnetic tape area and the second magnetic tape area are arranged side-by-side along the length of the magnetic tape. The first magnetic tape area includes M sub-wraps, which come from different wraps; the second magnetic tape area includes N sub-wraps, which come from different wraps. Wherein, K≥2, M≥2, N≥2, and M and N are both less than or equal to the number of wraps included in the magnetic tape.
[0006] In the first aspect of this application, a storage area in the cache is used to aggregate data from the same application. Therefore, data from different applications is not persistently stored in a first-come, first-served (FCFS) manner. Instead, data from the same application is aggregated and then written to disk, allowing the data of the same application to be sequentially distributed on the tape. This reduces the unnecessary movement distance of data during the tape writing process and helps extend the lifespan of the tape. Furthermore, a tape region on the tape is used to store data from the same application, and this tape region is arranged horizontally alongside other tape regions and vertically distributed within a finite-length tape area. Therefore, after multiple concurrent application data are written to the tape, different tape regions arranged along the length of the tape are used to store data from different applications. The data of the same application is sequentially arranged along the length of the tape, which helps reduce the access latency for data reading and writing on the tape and extends the lifespan of the tape.
[0007] For example, M sub-wraps are arranged side by side along the width of the tape.
[0008] As another example, N sub-wraps are arranged side by side along the width of the magnetic tape.
[0009] In one example, M = N.
[0010] In another example, M ≠ N, such as M > N or M < N.
[0011] In one alternative scenario, the first tape region and the second tape region are adjacent to each other.
[0012] In another alternative scenario, there are other tape regions between the first tape region and the second tape region.
[0013] In conjunction with the data writing method provided in the first aspect, in an optional implementation, the magnetic tape further includes a third magnetic tape region arranged side-by-side with the first magnetic tape region along the width direction of the magnetic tape. This third magnetic tape region is used to store data corresponding to a third application in the cache. The first application and the third application are different. In the first aspect of this application, different magnetic tape regions arranged along the width direction of the magnetic tape are used to store data for different applications, and the length of a magnetic tape region in the length direction of the magnetic tape is finite. Therefore, data for the same application is arranged sequentially along the finite length of the magnetic tape, and data for different applications are arranged sequentially along the width direction of the magnetic tape within the corresponding finite length of the tape. This helps to reduce the access latency for data reading and writing on the magnetic tape and extend the lifespan of the magnetic tape.
[0014] In conjunction with the data writing method provided in the first aspect, in one optional implementation, the data stored in the first magnetic tape area is the compressed data from the first storage area. In the first aspect of this application, the processor compresses the cached data and stores it on the magnetic tape, reducing the amount of data stored on the tape. With a fixed storage capacity, the tape can store more effective data, improving tape resource utilization. Furthermore, the reduced data volume after compression lowers the read / write latency of the magnetic disk while maintaining a constant read / write bandwidth, thus improving the data read / write efficiency of the magnetic disk.
[0015] In conjunction with the data writing method provided in the first aspect, in one optional implementation, the storage capacity of one sub-wrap among M sub-wraps is the same as the storage capacity of one sub-wrap among N sub-wraps. For example, the first tape region and the second tape region are adjacent, and the connecting line between the first tape region and the second tape region is perpendicular to the length direction of the tape.
[0016] In conjunction with the data writing method provided in the first aspect, in one optional implementation, the storage capacity of one sub-wrap among M sub-wraps is different from the storage capacity of one sub-wrap among N sub-wraps. For example, the first tape region and the second tape region are adjacent, and the connecting line between the first tape region and the second tape region is a broken line.
[0017] In conjunction with the data writing method provided in the first aspect, in one optional implementation, the first tape area is also used to store: data corresponding to the fourth application in the cache. In the first aspect of this application, the same tape area can be used to store data for different applications. Since the length of the tape area in the length direction of the tape is finite, the data of the different applications are arranged sequentially on the finite length of the tape, which helps to reduce the access latency of data reading and writing in the tape and extend the service life of the tape.
[0018] In conjunction with the data writing method provided in the first aspect, in one optional implementation, the magnetic tape further includes a fourth magnetic tape region arranged parallel to the first magnetic tape region along the length of the magnetic tape. The first and second magnetic tape regions are located in the first data area, and the fourth magnetic tape region is located in the second data area. The data generation time of the data in the first data area differs from the time characteristics of the data in the second data area. These time characteristics include one or both of the data generation time range and the data retention time on the magnetic tape. In the first aspect of this application, the magnetic disk stores data with different time characteristics (such as data generation time or data retention time) in different data zones. Data from different applications within the same data zone is sequentially distributed along a finite length of magnetic tape region, achieving sequential distribution of different application data within the same data zone. This improves the read / write efficiency of the magnetic disk and also achieves wear equalization across different data zones, thereby extending the lifespan of the magnetic tape. For example, during data reading, since data generated at different times is stored in different data areas of the magnetic tape, when the client reads data generated at the same time, the magnetic head in the magneto-electric disk does not need to contact the tape corresponding to other data areas. This reduces the number of times the head and tape come into contact, decreases tape wear, and extends tape life. Simultaneously, the tape in the magneto-electric disk does not need to align other data areas with the head; the tape only moves within the area corresponding to that data area, reducing the tape travel distance and lowering addressing latency in the magneto-electric disk.
[0019] In conjunction with the data writing method provided in the first aspect, in an optional implementation, before the processor writes multiple data items to multiple storage areas in the cache, the data writing method provided in the first aspect of this application further includes: the processor determining the cache level of multiple applications based on the application concurrency of different applications, the data rate of each application, and the unit storage capacity of the wrap in the magnetic tape; the cache level of the first application is used to determine the storage capacity of the first storage area in the cache. Furthermore, multiple storage areas are determined based on the cache levels of multiple applications. Wherein, one storage area corresponds to T applications, T≥1, and T is less than the application concurrency. For multiple data items from different applications, the processor sequentially writes the data of each application to the storage area corresponding to each application. In the first aspect of this application, the magnetic disk can determine the cache level of different applications in the cache based on the application concurrency and magnetic tape information, so that the storage capacity of different storage areas in the cache can be associated with the data rate of each application, avoiding write latency caused by a small data rate for a single application but a large cache space occupied, thereby improving the write efficiency of the magnetic disk.
[0020] In conjunction with the write data method provided in the first aspect, in an optional implementation, after the processor determines the cache water level of multiple applications, the write data method provided in the first aspect of this application further includes: updating the cache water level of multiple applications based on cache statistics. This statistics include one or more combinations of the following: the bandwidth of multiple applications within the statistical period, the available storage capacity of the cache, and the unit storage capacity of the tape wrapper. In the first aspect of this application, based on information such as bandwidth changes and cache capacity changes during the use of different applications, the magnetic disk supports dynamic adjustment of the cache water level of different applications in the cache. This solves the problem of increased write latency caused by decreased application bandwidth and larger cache space occupied, and also solves the problem of increased access latency caused by increased application bandwidth and smaller cache space occupied, which is beneficial to improving the write efficiency of the magnetic disk.
[0021] Secondly, this application provides a magnetoelectric disk. The magnetoelectric disk includes: a communication interface, a buffer, a magnetic tape, a magnetic head, and a processor. The communication interface is used to acquire multiple data from different applications. The buffer includes multiple storage areas, including a first storage area and a second storage area. Data stored in the first storage area corresponds to a first application, and data stored in the second storage area corresponds to a second application. The magnetic tape includes multiple tape regions, including a first tape region and a second tape region arranged side-by-side along the length of the tape. The magnetic tape has multiple wraps, wherein each wrap contains K sub-wraps. The first tape region includes M sub-wraps, which come from different wraps. The second tape region includes N sub-wraps, which come from different wraps. The magnetic head is used to access the magnetic tape, and the processor is used to collaboratively execute the method provided in the first aspect or any optional implementation of the first aspect based on the multiple data and the magnetic head. Wherein, K≥2, M≥2, N≥2, and M and N are both less than or equal to the number of wraps included in the magnetic tape.
[0022] Thirdly, this application provides a storage system, including: a controller and one or more magnetoelectric disks provided in the second aspect. The controller is used to acquire multiple data from different applications and, in coordination with the magnetoelectric disks, execute the method provided in the first aspect or any optional implementation thereof.
[0023] Fourthly, this application provides a computer program product. When the computer program product is run in an electronic device, the electronic device executes the method provided in the first aspect or any optional implementation thereof. This electronic device may be a processor, a magnetodisk, or a storage system.
[0024] Fifthly, this application provides a computer-readable storage medium. The computer-readable storage medium includes computer instructions. When the computer instructions are executed in an electronic device, the electronic device performs the method provided in the first aspect or any optional implementation thereof. If the electronic device refers to the aforementioned processor, controller, magnetodisk, or storage system.
[0025] Sixthly, this application provides a magnetic tape. The magnetic tape includes multiple tape regions. These multiple tape regions include a first tape region and a second tape region arranged side-by-side along the length of the tape. The magnetic tape has multiple wraps, wherein each wrap contains K sub-wraps. The first tape region includes M sub-wraps, which are derived from different wraps, and this first tape region is used to store data for a first application. The second tape region includes N sub-wraps, which are derived from different wraps, and this second tape region is used to store data for a second application. Wherein, K ≥ 2, M ≥ 2, N ≥ 2, and M and N are both less than or equal to the number of wraps included in the magnetic tape.
[0026] In the sixth aspect of this application, a magnetic tape area is used to store data of the same application, and the magnetic tape area and other magnetic tape areas are arranged horizontally side by side and vertically distributed within a finite length of magnetic tape area. Therefore, during the data writing process, multiple concurrent application data are written to the magnetic tape, and the data is arranged sequentially in the length direction of the magnetic tape, which helps to reduce the access latency of data reading and writing in the magnetic tape and further extend the service life of the magnetic tape.
[0027] In conjunction with the magnetic tape provided in the sixth aspect, in one optional implementation, the multiple tape regions in the magnetic tape further include a third tape region arranged side-by-side with the first tape region along the width direction of the tape. This third tape region is used to store data corresponding to a third application. The first application is different from the third application. In the sixth aspect of this application, different tape regions arranged along the width direction of the tape are used to store data for different applications, and the length of a tape region in the length direction of the tape is finite. Therefore, data for the same application is arranged sequentially along the finite length of the tape, and data for different applications are arranged sequentially along the width direction of the tape corresponding to that finite length. This helps to reduce the access latency for data reading and writing in the tape and extend the lifespan of the tape.
[0028] In conjunction with the magnetic tape provided in the sixth aspect, in one optional implementation, the first magnetic tape region is also used to store data corresponding to the fourth application. In the sixth aspect of this application, the same magnetic tape region can be used to store data for different applications. Since the length of this magnetic tape region in the length direction of the tape is finite, the data for the different applications are sequentially arranged along the finite length of the tape, which helps to reduce the access latency for data reading and writing in the magnetic tape and extend the lifespan of the tape.
[0029] In conjunction with the magnetic tape provided in the sixth aspect, in one optional implementation, the storage capacity of one of the aforementioned M sub-wraps is the same as the storage capacity of one of the aforementioned N sub-wraps.
[0030] In conjunction with the magnetic tape provided in the sixth aspect, in one optional implementation, the storage capacity of one of the aforementioned M sub-wraps is different from the storage capacity of one of the aforementioned N sub-wraps.
[0031] In conjunction with the magnetic tape provided in the sixth aspect, in one optional implementation, the multiple magnetic tape regions in the magnetic tape further include a fourth magnetic tape region arranged parallel to the first magnetic tape region along the length of the magnetic tape. The first and second magnetic tape regions are located in the first data area, and the fourth magnetic tape region is located in the second data area. The data generation time of the data in the first data area differs from the time characteristics of the data in the second data area, and the time characteristics include one or both of the data generation time range and the data retention time on the magnetic tape.
[0032] The beneficial effects of aspects two through six can be found in the description of aspect one or any of its optional implementations, and will not be repeated here. Based on the implementations provided in the above aspects, this application can be further combined to provide even more implementations. Attached Figure Description
[0033] Figure 1 This is a schematic diagram of the structure of a data access system provided in this application.
[0034] Figure 2 This is a schematic diagram of the structure of a magnetoelectric disk provided in this application.
[0035] Figure 3 A schematic diagram of the structure of a reel 201 and a magnetic tape 210 provided in this application.
[0036] Figure 4 This is a schematic diagram of the structure of a magnetic tape 210 provided in this application.
[0037] Figure 5 A flowchart illustrating a data writing method provided in this application. Figure 1 .
[0038] Figure 6A A flowchart illustrating a data writing method provided in this application. Figure 2 .
[0039] Figure 6B A schematic diagram of magnetic tape arrangement provided in this application Figure 1 .
[0040] Figure 7 A schematic diagram of magnetic tape arrangement provided in this application Figure 2 .
[0041] Figure 8 A schematic diagram of magnetic tape arrangement provided in this application Figure 3 .
[0042] Figure 9 A schematic diagram of magnetic tape arrangement provided in this application Figure 4 .
[0043] Figure 10 A schematic diagram of magnetic tape arrangement provided in this application Figure 5 .
[0044] Figure 11 Sixth, a schematic diagram of the magnetic tape arrangement provided in this application. Detailed Implementation
[0045] In the technical solution provided in this application embodiment, a storage area in the cache is used to aggregate data from the same application. Data from different applications is not persistently stored according to FCFS; instead, data from the same application is aggregated and then written to disk. This allows the data from the same application to be sequentially distributed on the tape, reducing the invalid movement distance of data during tape writing and thus extending the lifespan of the tape. Furthermore, a tape area on the tape is used to store data from the same application, and this tape area is arranged horizontally alongside other tape areas and vertically distributed within a finite length of tape. Therefore, during data writing to tape, multiple concurrent application data are written to the tape, and the data is sequentially arranged along the length of the tape, which helps reduce the access latency for data reading and writing on the tape, further extending the lifespan of the tape.
[0046] The technical solutions involved in this application may be applied not only to current magnetic tape technology or storage devices, but also to future magnetic tape technology or storage devices, or to storage systems including magneto-electric disks (MEDs) or storage devices, such as magnetic tape systems or magnetic tape libraries. The terminology used in the embodiments section of this application is only for explaining specific embodiments of this application and is not intended to limit this application. A brief introduction to some concepts that may be involved in this application is provided below.
[0047] Storage medium: A storage material used to record sound, images, digital signals, or other signals. This storage material may include, but is not limited to, magnetic tape, such as a tape-shaped material with a magnetic layer used to record sound, images, digital signals, or other signals. Magnetic tape contains a magnetic medium, such as magnetic powder, for storing data. For example, changes in the magnetic field in this magnetic medium are typically achieved by coating a plastic film substrate (support or backing) with a layer of granular magnetic material or by evaporating and depositing a layer of magnetic oxide or alloy film. The substrate of magnetic tape may include, but is not limited to, paper, celluloid, or polyester film.
[0048] Magnetic head: A component that reads and writes data on magnetic tape using magnetic principles. It is divided into write heads and read heads. Write heads record data by magnetizing the magnetic medium (such as magnetic powder), while read heads read data from the magnetic medium by sensing its magnetic field.
[0049] In this document, the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined with "first," "second," etc., may explicitly or implicitly include one or more of that feature. In the description of this application, unless otherwise stated, "a plurality of" means two or more.
[0050] Furthermore, in this application, directional terms such as "upper" and "lower" are defined relative to the orientation of the components shown in the accompanying drawings. It should be understood that these directional terms are relative concepts, used for relative description and clarification, and can change accordingly depending on the orientation of the components in the accompanying drawings.
[0051] The application scenarios of the embodiments of this application will be described below with reference to the accompanying drawings. Figure 1 This is a schematic diagram of a data access system provided in this application. The data access system includes: a data access device 100 and a storage system 120. Figure 1 In the application scenario shown, users access data through applications. The computer running these applications can be referred to as a "computing device".
[0052] Data access device 100 can be a physical machine, a virtual machine, or a container. The physical machine can include, but is not limited to, one or both a client and a smart NIC. For example, data access device 100 includes a client, such as a host, desktop computer, server, laptop, or mobile device. Another example is that data access device 100 includes a smart NIC. This smart NIC, also known as a smart network adapter, not only performs the network transmission functions of a standard NIC but also provides a built-in programmable and configurable hardware acceleration engine. This improves application performance and significantly reduces CPU consumption in the host connected to the smart NIC, providing more CPU resources for the application. For example, in a highly virtualized environment, the host CPU needs to run open virtual switch (OVS) related tasks. Simultaneously, the host CPU also needs to handle storage, online or offline encryption / decryption of data packets, deep packet inspection, firewalls, complex routing, and other operations. These operations not only consume significant CPU resources but also, due to competition for CPU resources between different services, prevent the services from achieving optimal performance. As a hub connecting various services, smart network interface cards (NICs) accelerate these services.
[0053] In one possible example, data access device 100 accesses storage system 120 via a network to access data; for example, the network may include switch 110.
[0054] In another possible example, the data access device 100 may also communicate with the storage system 120 via a wired connection, such as a Universal Serial Bus (USB) or a Peripheral Component Interconnect Express (PCIe) bus.
[0055] Figure 1 The storage system 120 shown can be a centralized storage system. A key feature of a centralized storage system is a unified entry point through which all data from external devices passes; this entry point is the engine 121 of the centralized storage system. The engine 121 has management functions, and many advanced functions of the storage system are implemented within it.
[0056] like Figure 1 As shown, engine 121 may have one or more controllers 1. Figure 1The following example illustrates the concept of an engine 121 containing one controller 1. In one possible example, if the engine 121 has multiple controllers 1, any two controllers 1 can have a mirror channel, enabling any two controllers 1 to serve as backups for each other, thereby preventing hardware failures from causing the entire storage system 120 to become unavailable. It should be understood that if the engine 121 includes multiple controllers 1, then the engine 121 can also be referred to as the array controller of the storage system 120.
[0057] Engine 121 also includes a front-end interface 1211 and a back-end interface 1214. The front-end interface 1211 is used to communicate with the data access device 100 to provide data access services to the data access device 100. The back-end interface 1214 is used to communicate with hard drives to expand the capacity of the storage system 120. Through the back-end interface 1214, engine 121 can connect to more hard drives, thereby forming a very large storage resource pool.
[0058] In terms of hardware, such as Figure 1 As shown, controller 1 includes at least processor 1212 and memory 1213. Processor 1212 is a central processing unit (CPU) used to process data access requests from outside the storage system 120 (server or other storage system), and also to process requests generated internally by the storage system 120. For example, when processor 1212 receives write data requests sent by data access device 100 through front-end interface 1211, it temporarily stores the data in these write data requests in memory 1213. When the total amount of data in memory 1213 reaches a certain threshold, processor 1212 sends the data stored in memory 1213 to at least one of the following hard drives for persistent storage: mechanical hard drive 1221, solid-state drive (SSD) 1222, magnetic disk 200, or other hard drive 1224, through back-end port.
[0059] Memory 1213 refers to internal memory that directly exchanges data with the processor. It can read and write data at any time and at high speed, serving as temporary data storage for the operating system or other running programs. Memory includes at least two types of memory, such as random access memory (RAM) or read-only memory (ROM). For example, RAM can be dynamic random access memory (DRAM) or storage class memory (SCM). DRAM is a semiconductor memory and, like most random access memory (RAM), is a volatile memory device. However, DRAM and SCM are merely illustrative examples in this embodiment; memory can also include other types of RAM, such as static random access memory (SRAM). For read-only memory, examples include programmable read-only memory (PROM) and erasable programmable read-only memory (EPROM). Additionally, memory 1213 can also be a dual in-line memory module (DIMM), i.e., a module composed of dynamic random access memory (DRAM), or an SSD. In practical applications, controller 1 can be configured with multiple memory modules 1213, and memory modules of different types 1213. This embodiment does not limit the number or type of memory modules 1213. Furthermore, memory modules 1213 can be configured to have a power-saving function. The power-saving function means that when the system loses power and then regains power, the data stored in memory modules 1213 will not be lost. Memory with a power-saving function is called non-volatile memory. Memory modules 1213 store software programs, and processor 1212 can run the software programs in memory modules 1213 to manage the hard disk. For example, the hard disk can be abstracted as a storage resource pool, and the storage resource pool can be provided to the server in the form of logical unit numbers (LUNs). Here, LUN is actually the hard disk seen on the server. Of course, some centralized storage systems are also file servers themselves, and can provide shared file services to the server.
[0060] like Figure 1As shown, in this system, engine 121 may not have a hard drive slot; the hard drive needs to be placed in disk enclosure 122, and the back-end interface 1214 communicates with disk enclosure 122. The back-end interface 1214 exists in the form of an adapter card within engine 121, and two or more back-end interfaces 1214 can be used simultaneously on one engine 121 to connect multiple disk enclosures. Alternatively, the adapter card can be integrated onto the motherboard, in which case the adapter card can communicate with processor 1212 via the PCIe bus.
[0061] It should be noted that, Figure 1 Only one engine 121 is shown in the figure. However, in actual applications, the storage system may contain two or more engines 121, and redundancy or load balancing may be performed between multiple engines 121.
[0062] The disk enclosure 122 includes a control unit 1225 and several hard drives. The control unit 1225 can have various forms. In one case, the disk enclosure 122 is a smart disk enclosure, such as... Figure 1 As shown, the control unit 1225 includes a CPU and memory. The CPU is used to perform operations such as address translation and reading / writing data. The memory is used to temporarily store data to be written to the hard disk or to read data from the hard disk to be sent to the controller 1. Alternatively, the control unit 1225 may be a programmable electronic component, such as a data processing unit (DPU). A DPU has the versatility and programmability of a CPU, but is more specialized, capable of efficiently operating on network packets, storage requests, or analysis requests. A DPU differs from a CPU by its high degree of parallelism (the ability to handle a large number of requests). Optionally, the DPU can be replaced by a graphics processing unit (GPU), an embedded neural network processing unit (NPU), or other processing chips. Typically, there may be one, two, or more control units 1225. The functions of the control unit 1225 can be offloaded to the network interface card (NIC) 1226. In other words, in this embodiment, the disk drive 122 does not contain a control unit 1225; instead, the NIC 1226 performs data reading / writing, address translation, and other computational functions. At this point, network interface card 1226 is a smart network interface card. It can include a CPU and memory. The CPU performs address translation and read / write operations, while the memory temporarily stores data to be written to the hard drive or reads data from the hard drive to be sent to controller 1. Network interface card 1226 can also include a programmable electronic component, such as a DPU. There is no ownership relationship between network interface card 1226 and hard drives in disk enclosure 122; network interface card 1226 can access any hard drive in disk enclosure 122 (e.g., ...). Figure 1The mechanical hard drive 1221, solid-state drive 1222, magneto-electric drive 200 and other hard drives 1224 shown are examples of hard drives that make it easier to expand the hard drive when storage space is insufficient.
[0063] In this embodiment, the magnetoelectric disk 200 refers to a memory including a magnetic tape medium. In hardware implementation, the magnetoelectric disk may include, but is not limited to, a magnetic head, a magnetic tape, and a magnetic tape driver. The magnetic tape driver can be used to drive the magnetic tape for winding, and the magnetic head can access the magnetic tape during winding, such as writing data to or reading data from the magnetic tape. Specific implementation details of the magnetoelectric disk are as follows. Figures 2 to 4 The embodiments shown are not described in detail here.
[0064] Depending on the type of communication protocol between engine 121 and disk enclosure 122, disk enclosure 122 may be a serially attached small computer system interface (SAS) disk enclosure, an NVMe (Non-Volatile Memory Express) disk enclosure, or other types of disk enclosures. SAS disk enclosures use the SAS 3.0 protocol, and each enclosure supports 25 SAS hard drives. Engine 121 connects to disk enclosure 122 via an onboard SAS interface or a SAS interface module. NVMe disk enclosures function more like a complete computer system, with NVMe hard drives inserted into them. The NVMe disk enclosure then connects to engine 121 via an RDMA port. In some cases, engine 121 may also be referred to as a hard drive management device or storage controller.
[0065] In terms of hardware implementation, the disk enclosure 122 can be installed in the storage system, or the disk enclosure 122 can be encapsulated and set up independently. When the disk enclosure 122 exists independently, it can also be called a storage device or storage system, such as a magnetoelectric storage system, etc. This application does not limit it in this way.
[0066] In one alternative implementation, the storage system 120 is a centralized storage system integrating disk and controller. The storage system 120 does not have the aforementioned disk enclosure 122, and the engine 121 manages multiple hard drives connected via hard drive bays. The functionality of the hard drive bays can be implemented by the backend interface 1214.
[0067] In some alternative implementations, storage system 120 is a distributed storage system. The distributed storage system includes a cluster of compute nodes and a cluster of storage nodes. The compute node cluster includes one or more compute nodes that can communicate with each other. A compute node can be a server, desktop computer, or controller of a storage array, etc. In terms of hardware, a compute node can include a processor, memory, and a network interface card (NIC), etc. The processor is a CPU used to process data access requests from outside the compute node or requests generated internally within the compute node. For example, when the processor receives a write data request from a user, it temporarily stores the data in the write data request in memory. When the total amount of data in memory reaches a certain threshold, the processor sends the data stored in memory to the storage node for persistent storage. In addition, the processor is also used for data computation or processing, such as metadata management, deduplication, data compression, virtualization of storage space, and address translation. In the embodiments provided in this application, the storage node can be a magnetic disk or other types of hard disk, etc. It is understood that the storage system described in the embodiments of this application can be a distributed storage system integrating storage and computing, or a distributed storage system with separate storage and computing; this application does not limit this.
[0068] For example, a distributed storage system can be implemented using network attached storage (NAS) technology. NAS refers to a network storage architecture that provides storage resources through file-level data access and sharing over an Internet Protocol (IP) network. In a NAS scenario, the NAS is an external device for the server / host, used to provide file-level storage space for the server / host in the distributed storage system.
[0069] It is worth noting that the above examples are merely possible implementations of the data access system provided in this embodiment and should not be construed as limiting this application. For example, Figure 1In the storage system 120 shown, data is stored as files on various hard drives. The files stored on each hard drive constitute the file storage system, which can be, for example, a distributed file system, such as a network file system (NFS). NFS is both a distributed file system and a network protocol used for accessing and sharing files between devices on the same local area network. For example, a NAS system can be implemented using the NFS protocol. A network file system is a low-cost network file-sharing option that allows users and applications to access, store, and update files on remote computers, just like using direct-attached storage. Network file systems use the Remote Procedure Call (RPC) protocol to route requests between clients and servers. While participating devices need to support network file systems, they do not need to know the details of the network. It is worth noting that RPC can be insecure, so network file systems should only be deployed on trusted networks behind firewalls. Although Windows supports this protocol, it is primarily used in Linux environments.
[0070] Regarding the aforementioned magnetoelectric disk 200, this application provides an optional example, such as... Figure 2 As shown, Figure 2 This is a schematic diagram of a magnetoelectric disk provided in this application. The magnetoelectric disk 200 can be used to realize the functions of the magnetoelectric disk 200 described above. In this document, the magnetoelectric disk may also be referred to as a magnetic tape media storage device, magnetic tape drive, magnetic tape all-in-one device, integrated magnetic tape disk, integrated magnetic tape drive, or magnetic tape drive equipment, etc., and this application does not limit it in this way.
[0071] The following is combined Figure 2 The magnetoelectric disk 200 is described by way of example. It includes: magnetic tape 210, magnetic tape drive 220, magnetic head 230, reel 201, roller 202, base 203, processor 240 and cache 241.
[0072] The reel 201 and the base 203 are rotatably connected, and the magnetic tape 210 is wound onto the reel 201.
[0073] Regarding the structural relationship between the reel 201 and the magnetic tape 210, the following will be combined with... Figure 3 Provided as an example, Figure 3 A schematic diagram of the structure of a reel 201 and a magnetic tape 210 provided for this application. Please refer to... Figure 3 The reel 201 includes a reel 2013, a first cover plate 2011, and a second cover plate 2012. The reel 2013 and the aforementioned... Figure 2The base 203 shown is rotatably connected. The magnetic tape 210 is located between the first cover plate 2011 and the second cover plate 2012. The first cover plate 2011 and the second cover plate 2012 can constrain the magnetic tape 210 and prevent the magnetic tape 210 from detaching from the reel 2013. During the rotation of the reel 2013, the first cover plate 2011 and the second cover plate 2012 rotate synchronously.
[0074] The first cover plate 2011 can be as follows: Figure 3 The circular plate-like structure shown can have a second cover plate 2012 as follows: Figure 3 The circular plate-like structure shown.
[0075] The embodiments of this application do not limit the shape of the first cover plate 2011 and the second cover plate 2012. For example, the first cover plate 2011 can be a circular, square, elliptical, or irregularly shaped plate. Similarly, the second cover plate 2012 can be a circular, square, elliptical, or irregularly shaped plate. The shape of the first cover plate 2011 can be the same as or different from the shape of the second cover plate 2012.
[0076] For example, the connection between the first cover plate 2011 and the roll 2013 can be achieved by welding, snap-fitting, or bonding. Similarly, the connection between the second cover plate 2012 and the roll 2013 can be achieved by welding, snap-fitting, or bonding.
[0077] Please continue reading. Figure 2 The magnetodisc 200 includes two reels 201. The first end of the magnetic tape 210 is wound on one reel 201, and the second end of the magnetic tape 210 is wound on the other reel 201.
[0078] During the tape winding process of the magnetic tape 210, in order to prevent the magnetic head from tearing the tape 210, the roller 202 in the magneto-disk 200 can be used to support the tape body of the magnetic tape 210, so that the friction between the magnetic tape 210 and the magnetic head is reduced during the winding process, which is beneficial to improving the service life of the magnetic tape 210.
[0079] Combination Figure 2 and Figure 3 As can be seen from the provided embodiments, the magnetic tape 210 is used to store data, and the magnetic tape driver 220 is used to drive the magnetic tape 210 to reel in.
[0080] Regarding the structure of magnetic tape 210, the following will be combined with... Figure 4 Provided as an example, Figure 4This application provides a schematic diagram of the structure of a magnetic tape 210. In hardware implementation, the magnetic tape 210 may include one or more data bands, such as data band 1 to data band 4. Each data band is a data track on the magnetic tape 210. Different data bands are separated and positioned by a servo belt, and multiple data bands are arranged side-by-side along the length of the magnetic tape 210. Each data band contains multiple wraps, representing data transmission from one end of the magnetic tape 210 to the other.
[0081] For example, magnetic tape 210 includes wrap1 to wrap8. Each wrap includes one or more tracks, and each track is accessed by a read head / write head. The number and size of data tapes in magnetic tape 210 depend on the generation and capacity of the tape. Wrap is a term used in magnetic tape, and wrap refers to the path the head travels on a data tape.
[0082] Taking data tape 1 in magnetic tape 210 as an example, data tape 1 includes wrap1 and wrap2. Wrap1 includes multiple tracks, such as track 1 and track 2. In magnetic tape 210, different tracks are arranged side by side along the width direction of magnetic tape 210. A track is a magnetic area in the magnetic tape used for recording data. In magnetic tape technology, data storage on magnetic tape 210 is achieved by magnetizing the tracks with the magnetic head 230.
[0083] In addition, the magnetic tape 210 may also include more or fewer wraps, such as the magnetic tape 210 including H wraps, where H≥1 and H is an integer.
[0084] above Figure 4 The magnetic tape 210 shown is only an optional embodiment provided by this application. Depending on the capacity of the magnetic tape 210 and user needs, the magnetic tape 210 may have more or fewer data tapes, or the magnetic tape 210 may have more or fewer tracks. This application does not limit this.
[0085] The magnetic head in the magneto disk 200 accesses the magnetic tape 210 during the tape rewinding process. The processor 240 is used to control the speed at which the tape drive 220 drives the magnetic tape 210 according to the I / O stream, and to control the magnetic head 230 to slide to access the tape area in the magnetic tape 210.
[0086] In this embodiment, the processor 240 is a CPU used to process data access requests (such as I / O requests) or task requests from outside the magneto-electric disk 200 (servers or other storage systems), and also to process requests generated internally by the magneto-electric disk 200. For example, when the processor 240 receives write data requests (write requests) sent by a data access device or host through a front-end interface, it temporarily stores the data in these write data requests in a cache 241. When the total amount of data in the cache 241 reaches a certain threshold, the processor 240 stores the data stored in the cache 241 to the magnetic tape 210 for persistent storage through a back-end port.
[0087] In terms of hardware implementation, cache 241 includes flash memory chips (also known as flash memory particles or cache particles), hard disk drives (HDDs), or others. Flash memory chips can include: XL-LAND, single-level cell (SLC), multi-level cell (MLC), trinary-level cell (TLC), quad-level cell (QLC), enterprise multi-level cell (eMLC), or others. In the embodiments of this application, cache 241 can also be, for example: DRAM, non-volatile magnetic random access memory (MRAM), resistive random access memory (RRAM), ferroelectric random access memory (FeRAM), high bandwidth memory (HBM), or phase change memory (PCM), etc.
[0088] Solid-state drives (SSDs) are hard drives made using arrays of solid-state electronic storage chips. An SSD consists of a control unit and storage units, such as FLASH chips or DRAM chips. The control unit manages the storage units, virtualizing the storage space provided by the units or performing data read / write operations on different storage units.
[0089] A hard disk drive (HDD) consists of platters, read / write heads, a spindle, a control motor, a head controller, a data converter, memory, and an interface. The read / write head moves radially along the platter to locate a specific position on the platter, and then reads and writes data to that position. In terms of read / write speeds, SSDs generally outperform HDDs.
[0090] Random access memory (DRAM) is a type of semiconductor memory that primarily works by using the amount of charge stored in a capacitor to represent whether a binary bit is 1 or 0.
[0091] Storage-class memory (SCM) is a hybrid storage technology that combines the characteristics of traditional storage devices and memory. SCM can provide faster read and write speeds than hard drives, but its access speed is slower than DRAM, and it is also cheaper than DRAM.
[0092] Resistive Random Access Memory (RRAM) is a novel type of non-volatile memory that stores "0" and "1" by applying pulsed voltages to a thin metal oxide film, creating a large resistance difference. RRAM has a very simple structure, with metal oxide sandwiched between two electrodes, which simplifies the manufacturing process and enables superior performance such as low power consumption and high-speed rewriting.
[0093] Ferroelectric RAM (FeRAM) is a type of random access memory. FeRAM cells primarily consist of capacitors and field-effect transistors (FETs), but these capacitors are not ordinary capacitors; a thin film of crystalline ferroelectric crystal is deposited between its two electrode plates. Early FeRAMs used two FETs and two capacitors per cell, known as "2T2C" (two-FET, two-capacitor), with each cell including a data bit and its own reference bit. "1T1C" (one-FET, one-capacitor) cells use one FET and one capacitor. In 1T1C FeRAM, all data bits share the same reference bit, instead of using separate reference bits for each data bit. 1T1C FeRAM products are less expensive and have larger capacities.
[0094] High-bandwidth memory (HBM), also known as high-speed RAM, is a high-performance DRAM based on a three-dimensional stacking process. It is suitable for applications with high memory bandwidth requirements, such as GPUs, network switching and forwarding devices (such as routers and switches). HBM consists of multiple stacked double-data-rate synchronous dynamic random access memory (DDR) chips and a GPU. The HBM stack is not physically integrated with the CPU or GPU, but rather connected compactly and rapidly through an intermediary layer. HBM possesses characteristics almost identical to on-chip integrated RAM, thus offering higher speed and bandwidth.
[0095] Phase change memory (PCM) stores data by utilizing the difference in conductivity exhibited by special materials when they transform between crystalline and amorphous states. PCM typically utilizes the significant difference in conductivity between crystalline and amorphous states of chalcogenides to store data.
[0096] In this embodiment, cache 241 includes multiple storage areas. A storage area refers to a portion of the storage space provided by cache 241.
[0097] When cache 241 is DRAM, a storage area refers to one or more data pages or cache lines. A page is the smallest unit of data writing, such as a page being 4 kilobytes (KB). A cache line is the smallest unit of data stored in cache 241, for example, a cache line being 64 bytes in size.
[0098] When cache 241 is a flash memory chip, a storage area refers to one or more storage blocks. A storage block consists of multiple pages. When a block is full, the processor 240 selects the next block to write data. A block is the smallest unit of data erasure.
[0099] In the case of a cache 241 SSD that supports zoned namespaces (ZNS), a storage zone refers to one or more regions that divide the logical address space of the namespace. For example, a region may have a storage capacity of 4MB, 8MB, or other values.
[0100] In the case of SCM (Supply Chain Management) cache 241, a storage area refers to one or more bytes or blocks. A byte is a group of 8 bits used for data storage. In SCM, storage areas can support data storage using both bytes and blocks simultaneously.
[0101] In the case of cache 241 being HBM, a storage area refers to one or more data pages.
[0102] When cache 241 is PCM, a storage area refers to one or more storage blocks or data pages.
[0103] The memory types described above are merely optional options for the cache 241 and storage area provided in this application embodiment, and should not be construed as limiting this application. In this document, the read / write speed of the cache 241 is greater than the read / write speed of the magnetic tape 210.
[0104] exist Figure 2 In the illustrated magneto disk 200, the processor 240 and cache 241 are configured independently. However, in some optional cases, the cache 241 is integrated into the processor 240 and connected via a PCIe bus, UB, or CXL bus, etc., which is not limited in this application.
[0105] Please continue reading. Figure 2 As an optional implementation, the tape drive 220 includes a tape reel motor and a voice coil motor (VCM) motor.
[0106] The tape reel motor is used to drive the magnetic tape 210 to wind along its length. For example, the tape reel motor can be used to drive a drum, causing the magnetic tape wound on the drum to rewind in a first direction, rewind in a second direction, or stop rewinding. The first direction and the second direction are two opposite directions along the length of the magnetic tape.
[0107] The VCM motor is used to drive the magnetic tape 210 to move along the width of the tape 210, so that the magnetic head 230 can access different tracks in the tape 210. The VCM is a direct drive motor, and its working principle includes: a current-carrying coil placed in a magnetic field will generate a force, the magnitude of which is proportional to the current applied to the coil. Based on this principle, the movement of the VCM can be linear or circular.
[0108] Optionally, the tape drive 220 may also include a stepper motor for fine-tuning the winding position or speed of the tape 210 along its length. This stepper motor is a type of electric motor that converts electrical pulse signals into corresponding angular or linear displacements. For each input pulse signal, the rotor rotates by an angle or moves forward one step; the output angular or linear displacement is proportional to the number of input pulses, and the rotational speed is proportional to the pulse frequency. Therefore, a stepper motor is also called a pulse motor.
[0109] It is worth noting that the tape drive 220 described above are merely examples provided in the embodiments of this application and should not be construed as limiting the application. The tape drive 220 may also include devices such as linear motors, hydraulic cylinders, or pneumatic cylinders, which are not limited in this application.
[0110] As an optional implementation, the magnetic head 230 may include one or both of a write head and a read head. The write head records data by magnetizing and changing the magnetic field of the magnetic medium (such as magnetic powder), while the read head reads data from the magnetic medium by sensing its magnetic field.
[0111] In some alternative configurations, the magnetic head 230 may also include a servo head, which may be divided into a write servo head and a read servo head. Taking the read servo head as an example, the read servo head can determine the position information of the tape 210 based on the address in the IO request, and the tape driver 220 can rewind the tape 210 from its current position to the target tape area indicated by the position information, so that the read data head can read the data stored in the target tape area.
[0112] Optionally, the magnetodisk 200 may also deploy an application (APP) and a driver. This application can be used to obtain data access requests (such as read or write requests) or send access responses to the host, such as write or read responses. For example, after the application triggers a read / write operation, the IO data stream is sent to the firmware corresponding to the magnetic tape 210 via the driver. The firmware then issues instructions to control the motor to drive the tape 210 to perform linear addressing. Once the desired tape position is reached, the read / write operation is achieved by the magnetic head through a digital-to-analog converter channel or an analog-to-digital converter channel for encoding and decoding.
[0113] Based on the magnetoelectric disk 200 provided in the aforementioned embodiment, the following is combined with... Figure 5 The data writing method provided in the embodiments of this application will be described by way of example. Figure 5 A flowchart illustrating a data writing method provided in this application. Figure 1 The data writing method provided in this application embodiment is applied to the magnetoelectric disk 200. Regarding... Figure 5The hardware implementation of the medium magnetoelectric disk 200 can be referred to the above. Figures 1 to 4 The description of that will not be repeated here.
[0114] In cache 241, the multiple storage areas include: storage area 1, storage area 2, storage area 3, and storage area 4. Storage area 1 is also called the first storage area, storage area 2 is also called the second storage area, storage area 3 is also called the third storage area, and storage area 4 is also called the fourth storage area. For the specific implementation of each storage area, please refer to the description of cache 241 in the foregoing embodiments, which will not be repeated here.
[0115] Please see Figure 5 The data writing method provided in this application includes S510 to S530.
[0116] The S510 processor 240 acquires multiple data from different applications.
[0117] For example, the different applications include a first application, a second application, a third application, and a fourth application. In the embodiments of this application, an application refers to an application program (APP), a process, a thread, a client, or others. A process refers to the execution process of a program. A thread is the smallest unit of computation that an operating system can schedule; a thread is contained within a process and is the actual unit of operation within a process. Multiple threads can run concurrently within a process, and each thread can execute different tasks in parallel. In this document, the first application, the second application, the third application, and the fourth application are different applications.
[0118] The data includes: Data 1, Data 2, Data 3, and Data 4. Data 1 comes from the first application, Data 2 comes from the second application, Data 3 comes from the third application, and Data 4 comes from the fourth application.
[0119] In one alternative implementation, multiple data items are carried by multiple write requests, such as write request 1 carrying data 1 and the identifier (ID) of the first application.
[0120] Figure 5 The first to fourth applications and data 1 to data 4 shown are merely optional methods provided in the embodiments of this application and should not be construed as limiting this application. Depending on the application concurrency of the data writing method, the processor 240 may acquire more or less data, and this application does not limit this.
[0121] S520, processor 240 writes multiple data to multiple storage areas of cache 241.
[0122] exist Figure 5In this context, the data stored in storage area 1 (first storage area) corresponds to the first application, the data stored in storage area 2 (second storage area) corresponds to the second application, the data stored in storage area 3 (third storage area) corresponds to the third application, and the data stored in storage area 4 (fourth storage area) corresponds to the fourth application.
[0123] In this embodiment of the application, for data from multiple concurrent applications, the processor 240 aggregates the data according to different applications and writes the aggregated data to the cache 241.
[0124] S530, processor 240 instructs to write data from multiple storage areas to multiple tape regions in tape 210.
[0125] The magnetic tape 210 includes multiple tape regions: tape region 1 (first tape region), tape region 2 (second tape region), tape region 3 (third tape region), and tape region 4 (fourth tape region), which are arranged side by side along the length of the magnetic tape 210.
[0126] exist Figure 5 In this design, the magnetic tape 210 includes multiple wraps arranged side-by-side along its width, such as wrap1 to wrap9. Each wrap includes K sub-wraps, where K ≥ 2 and K is an integer. A sub-wrap is a portion of a complete wrap that is used to store data.
[0127] In one alternative example, a tape region refers to a contiguous storage space within a magnetic tape.
[0128] Taking tape region 1 (first tape region) as an example, this first tape region is used to store data in storage area 1 of buffer 241. Tape region 1 includes M sub-wraps, and the M sub-wraps come from different wraps. The M sub-wraps are arranged side by side along the width direction of tape 210. Wherein, M≥2, and M is less than or equal to the number of wraps included in tape 210.
[0129] For example, in Figure 5 In the tape area 1, there are 9 sub-wraps, and these 9 sub-wraps come from different wraps (such as wrap1 to wrap9).
[0130] Taking tape region 2 (second tape region) as an example, this second tape region is used to store data in storage area 2 of buffer 241. Tape region 2 includes N sub-wraps, and the N sub-wraps come from different wraps. These N sub-wraps are arranged side by side along the width direction of tape 210. Wherein, N≥2, and N is less than or equal to the number of wraps included in tape 210.
[0131] For example, in Figure 5 In the tape area 2, there are 9 sub-wraps, and these 9 sub-wraps come from different wraps (such as wrap1 to wrap9).
[0132] In this embodiment, different tape regions are used to store data for different applications. For example, S530 described above includes: processor 240 instructing data in storage area 1 to be written to tape region 1, and processor 240 instructing data in storage area 2 to be written to tape region 2, wherein tape region 1 is used to store data for a first application, and tape region 2 is used to store data for a second application.
[0133] In another alternative example, the tape region is composed of multiple sub-wraps along the width direction of tape 210, with contiguous storage space within a sub-wrap, as follows: Figure 7 The provided examples.
[0134] In this embodiment, different magnetic tape regions arranged along the length of the magnetic tape 210 are used to store data for different applications. Therefore, the data of the same application is arranged sequentially along the length of the magnetic tape 210, which helps to reduce the access latency of data reading and writing in the magnetic tape 210 and extend the service life of the magnetic tape 210.
[0135] Based on the content of S510 to S530, it can be seen that one storage area in cache 241 is used to aggregate data of the same application. Therefore, data of different applications will not be persistently stored in the FCFS manner, but will be aggregated and then written to disk after being used in the same application. This allows the data of the same application to be distributed sequentially on tape 210, reducing the invalid movement distance of data during the tape writing process and helping to extend the life of the tape.
[0136] Furthermore, along the length of the magnetic tape 210, each tape region is arranged only over a limited length; along the width of the magnetic tape 210, the same tape region is used to store data for a single application. That is, one tape region in the magnetic tape 210 is used to store data for the same application, and this tape region is arranged horizontally side by side with other tape regions and vertically distributed within the limited length of the tape region. Therefore, during the data writing process, multiple concurrent application data are written to the magnetic tape 210, and the data is arranged sequentially along the length of the magnetic tape 210, which helps to reduce the access latency of data reading and writing in the magnetic tape 210 and further extend the service life of the magnetic tape 210.
[0137] In an optional scenario, the data stored in each tape region of tape 210 is consistent with the data stored in each storage region of cache 241.
[0138] In another alternative scenario, the data stored in each tape region of tape 210 is compressed data. For example, the data stored in tape region 1 is compressed data from storage region 1.
[0139] In both of the above optional scenarios, the processor 240 compresses the data in the cache 241 and stores it on the magnetic tape 210. This reduces the amount of data stored on the magnetic tape 210. With a fixed storage capacity, the magnetic tape 210 can store more valid data, improving its resource utilization. Furthermore, the reduced data volume after compression lowers the read / write latency of the magnetic disk while maintaining a constant read / write bandwidth, thus improving the data read / write efficiency of the magnetic disk.
[0140] It is understandable that, depending on the bandwidth of different applications, the storage capacity of each storage area in cache 241 may be the same or different. Corresponding to the storage capacity of each storage area in cache 241, the storage capacity of each tape area in tape 210 may also be the same or different.
[0141] exist Figure 5 In this system, the storage capacity of different storage areas in cache 241 is the same, and the storage capacity of different tape areas in tape 210 is the same. For example, the storage capacity of one sub-wrap in M sub-wraps (M=9) of tape area 1 is the same as the storage capacity of one sub-wrap in N sub-wraps (N=9) of tape area 2. For example, the storage capacity of one sub-wrap is 1MB.
[0142] However, in some optional implementations, the storage capacity of different tape regions in tape 210 can also be different. For example, the storage capacity of one sub-wrap in the M sub-wraps (M=9) of tape region 1 is different from the storage capacity of one sub-wrap in the N sub-wraps (N=9) of tape region 2. The following is in conjunction with... Figure 6A and Figure 6B The storage capacity of different storage areas in cache 241 and the arrangement of different tape areas in tape 210 are explained.
[0143] Figure 6A A flowchart illustrating a data writing method provided in this application. Figure 2 ,about Figure 6A The specific implementation of each hardware component can be found in the description of the foregoing embodiments, and will not be repeated here. Please refer to [link to relevant documentation]. Figure 6A In the data writing method provided in the embodiments of this application, the above-mentioned S520 process includes the following S521 to S523.
[0144] S521 and processor 240 determine the cache level of multiple applications based on the application concurrency of different applications, the data rate of each application, and the unit storage capacity of the wrap in tape 210.
[0145] Application concurrency refers to the number of concurrent applications among multiple write request sources. In this embodiment, the application concurrency is 4.
[0146] The unit storage capacity of a wrap refers to the amount of storage space provided by a single wrap within a specified tape length. For example, within a 10cm length, a single wrap provides 1 million bytes (MB) of storage space.
[0147] The application's data rate refers to the amount of data transmitted by the application within a set time period. This set time can be either a unit of time or the total time the application spends transmitting data.
[0148] The application's cache level refers to the maximum amount of data stored in cache 241 for the application.
[0149] The S522 and processor 240 determine multiple storage areas based on the cache levels of multiple applications.
[0150] In this case, one storage area corresponds to T applications, where T ≥ 1 and T is less than the number of concurrent applications.
[0151] In one optional scenario, a storage area is used to store data corresponding to one application. For example, storage area 1 is used to store data corresponding to the first application.
[0152] In another alternative scenario, a storage area can be used to store data for multiple applications. For example, storage area 1 can be used to store data for the first application and the fifth application, as detailed below. Figure 7 This will not be elaborated upon here.
[0153] For example, the plurality of applications includes a first application, whose cache watermark is used to determine the storage capacity of storage area 1 in cache 241. For example, the storage capacity of storage area 1 is 9MB.
[0154] For another example, the cache watermark of the second application is used to determine the storage capacity of storage area 2 in cache 241. For instance, the storage capacity of storage area 2 is 27MB.
[0155] The cache levels for the third and fourth applications will not be elaborated here, but for example, the storage capacity of storage area 3 is 18MB and the storage capacity of storage area 4 is 18MB.
[0156] S523. For multiple data from different applications, the processor 240 writes the data to the storage area corresponding to the application to which the data belongs.
[0157] For example, the processor 240 writes data of the first application to storage area 1, data of the second application to storage area 2, data of the third application to storage area 3, and data of the fourth application to storage area 4.
[0158] Based on the above S521 to S523, it can be seen that the magneto-electric disk can determine the cache level of different applications in the cache based on the application concurrency and tape information, so that the storage capacity of different storage areas in the cache can be associated with the data rate of each application, avoiding write wait latency caused by a small data rate of a single application but a large cache space occupied, thereby improving the write efficiency of the magneto-electric disk.
[0159] Combination Figure 5 and Figure 6A As can be seen from the provided embodiments, when the application concurrency / data rate are similar, the processor 240 determines that the cache water level of different applications is similar based on the application concurrency, data rate, and the size of each wrap, such as... Figure 5 The various tape regions are shown in the diagram. Furthermore, the processor 240 aggregates data from multiple applications in the corresponding storage areas of the cache 241. When all applications reach their cache levels, the data is sequentially written to the tape 210, enabling data from the same application to be vertically arranged on the tape body of the tape 210, meaning that data from the same application or process is concentrated in a section of the tape body of the tape 210.
[0160] When multiple applications have significantly different data rates but similar total time, processor 240 determines the cache level for each application in cache 241 based on the average bandwidth of different applications, the application concurrency, and the size of each wrapper. For example... Figure 6B As shown, Figure 6B A schematic diagram of magnetic tape arrangement provided in this application Figure 1 The hardware implementation of tape 210 can be found in the preceding text. Figure 4 The description of that will not be repeated here.
[0161] exist Figure 6B In this context, the storage capacity of tape area 2 > the storage capacity of tape area 3 = the storage capacity of tape area 4 > the storage capacity of tape area 1. For example, tape area 2 has a storage capacity of 27MB, tape area 3 has a storage capacity of 18MB, tape area 4 has a storage capacity of 18MB, and tape area 1 has a storage capacity of 9MB.
[0162] For example, in tape area 1, each of the nine sub-wraps has a storage capacity of 1MB. In tape area 2, each of the nine sub-wraps has a storage capacity of 3MB. In tape area 3 or tape area 4, each of the nine sub-wraps has a storage capacity of 2MB.
[0163] Combination Figure 6A and Figure 6B As can be seen from the provided embodiments, the magneto-electric disk can determine the cache level of different applications in the cache based on the application concurrency and tape information, so that the storage capacity of different storage areas in the cache can be associated with the data rate of each application, avoiding write wait latency caused by a small data rate of a single application but a large cache space occupied, thereby improving the write efficiency of the magneto-electric disk.
[0164] In an alternative implementation, processor 240 may also dynamically adjust the cache water level of each application in cache 241. For example, processor 240 dynamically adjusts the cache water level of each application based on statistical information from multiple applications at different times, so that the storage capacity of each storage area changes. For example, the statistical information includes one or more combinations of the following: bandwidth of multiple applications during the statistical period, available storage capacity of cache 241, and unit storage capacity of wrap in tape 210.
[0165] The bandwidth of multiple applications within the statistical period includes the bandwidth of different applications within the statistical period. The statistical period can be preset or dynamically changed, such as 10s, 20s, 30s or other periods.
[0166] The available storage capacity of cache 241 refers to the amount of storage space that can be used in cache 241.
[0167] The unit storage capacity of the wrap in the magnetic tape 210 can be referred to the description in the foregoing embodiments, and will not be repeated here.
[0168] In this embodiment, based on information such as bandwidth changes and cache capacity changes during the use of different applications, the magneto-electric disk supports dynamic adjustment of the cache level of different applications in the cache. This solves the problem of increased write latency caused by reduced application bandwidth and larger cache space occupied, and also solves the problem of increased access latency caused by increased application bandwidth and smaller cache space occupied, which is beneficial to improving the write efficiency of the magneto-electric disk.
[0169] It is worth noting that the above Figure 5 and Figure 6B The examples used here are of different tape regions arranged side-by-side along the length of tape 210. However, different tape regions can also be arranged side-by-side along the width of tape 210, such as... Figure 7 As shown, Figure 7 A schematic diagram of magnetic tape arrangement provided in this application Figure 2 .about Figure 5 or Figure 6B The content already described will not be repeated here.
[0170] Figure 7The data arrangement method of the middle magnetic tape 210 and Figure 5 The difference between them is: Figure 7 In this context, the multiple tape regions in tape 210 also include tape region 5, which is arranged side-by-side with tape region 1 along the width direction of tape 210. Tape region 5 is used to store data corresponding to the fifth application in cache 241. The first application is different from the fifth application.
[0171] It is worth noting that, in Figure 7 In tape region 1, the four sub-wraps originate from wrap1, wrap3, wrap6, and wrap8, respectively. In tape region 5, the five sub-wraps originate from wrap2, wrap4, wrap5, wrap7, and wrap9, respectively. The storage capacity of a sub-wrap in tape region 1 is the same as the storage capacity of a sub-wrap in tape region 5.
[0172] Combination Figure 5 and Figure 7 As can be seen from the provided embodiments, different tape regions arranged along the width direction of the tape 210 are used to store data for different applications, and the length of a tape region in the length direction of the tape 210 is finite. Therefore, the data of the same application is arranged sequentially on the finite length of the tape 210, and the data of different applications are arranged sequentially along the width direction of the tape 210 in the tape corresponding to the finite length. This helps to reduce the access latency of data reading and writing in the tape 210 and extend the service life of the tape 210.
[0173] Figure 7 This is merely an optional example of different magnetic tape regions arranged side-by-side along the width direction of the magnetic tape 210, provided only in the embodiments of this application. With the storage capacity of the magnetic tape region 1 remaining unchanged, since part of the tape 210 is wrapped in the width direction as the magnetic tape region 5, the lengths of the magnetic tape region 1 and the magnetic tape region 5 will increase. This is beneficial for increasing the length of a single magnetic tape region on the same wrap, reducing the number of times the magnetic head in the magneto-electric disk turns around during data reading and writing, and also enabling the spaced vertical arrangement of data from multiple applications in a single vertical region, thereby improving the granularity of sequential reading and writing.
[0174] During the data writing process on the magneto-electric disk, some applications may have limited bandwidth. However, the data from these applications is persistently stored on the tape 210, occupying a relatively small length along the tape 210. To improve the concurrency of multiple applications, the processor 240 can group multiple applications, allowing data from two or more applications to be stored in the same tape area. For example... Figure 8 As shown, Figure 8 A schematic diagram of magnetic tape arrangement provided in this application Figure 3 .about Figure 5 , Figure 6B or Figure 7 The content already described will not be repeated here.
[0175] Figure 8 The data arrangement method of the middle magnetic tape 210 and Figure 5 The difference between them is: Figure 8 In the magnetic tape 210, tape area 1 is used to store data for the first application and data for the fifth application; tape area 3 of magnetic tape 210 is used to store data for the third application and data for the sixth application.
[0176] The following explanation uses the data stored in tape area 1 as an example. In the same wrap, the data of the first application and the data of the fifth application are distributed along the length of tape 210, and the amount of data in the two applications may be the same or different.
[0177] For example, in wrap1 and wrap5, the amount of data in the first application is greater than the amount of data in the fifth application. That is, the storage capacity of the sub-wrap occupied by the data of the first application in wrap1 or wrap5 is greater than the storage capacity of the sub-wrap occupied by the data of the fifth application in wrap1 or wrap5.
[0178] For example, in wrap2, wrap3, wrap4, and wrap9, the amount of data in the first application is less than the amount of data in the fifth application. That is, the storage capacity of the sub-wrap occupied by the data of the first application in wrap2, wrap3, wrap4, or wrap9 is less than the storage capacity of the sub-wrap occupied by the data of the fifth application in wrap2, wrap3, wrap4, or wrap9.
[0179] For example, in wrap6, wrap7, and wrap8, the amount of data in the first application is equal to the amount of data in the fifth application. That is, the storage capacity of the sub-wrap occupied by the data of the first application in wrap6, wrap7, or wrap8 is equal to the storage capacity of the sub-wrap occupied by the data of the fifth application in wrap6, wrap7, or wrap8.
[0180] Combination Figure 5 and Figure 8 As can be seen from the provided embodiments, the same magnetic tape area can be used to store data for different applications. Since the length of the magnetic tape area in the length direction of the magnetic tape 210 is limited, when the data of different applications are arranged sequentially on the limited length of the magnetic tape 210, the access latency of data reading and writing in the magnetic tape can be reduced and the service life of the magnetic tape can be extended.
[0181] Combination Figure 8As can be seen from the provided embodiments, when the data writing bandwidth of different applications differs greatly, but the bandwidth changes relatively stably over time, the processor 240 groups multiple applications based on a load balancing algorithm and arranges the application data of different groups vertically according to the data writing method provided in the embodiments of this application. This can improve the order of data access for the same application, reduce addressing latency and tape wear.
[0182] It is understandable that the arrangement of different tape regions in tape 210 can be combined with each other to achieve the desired effect. Figure 7 and Figure 8 The provided embodiments are illustrated by combining examples, such as... Figure 9 As shown, Figure 9 A schematic diagram of magnetic tape arrangement provided in this application Figure 4 .about Figure 5 , Figure 6B , Figure 7 or Figure 8 The content already described will not be repeated here.
[0183] Figure 9 The data arrangement method of the middle magnetic tape 210 and Figure 7 The difference between them is: Figure 9 In this context, tape area 3 is used not only to store data for the third application, but also for the sixth application.
[0184] Figure 9 The data arrangement method of the middle magnetic tape 210 and Figure 8 The difference between them is: Figure 9 In the middle, tape area 1 and tape area 5 are arranged side by side along the width direction of tape 210.
[0185] Understandably, in Figure 9 In the present invention, tape region 1 and tape region 2 have different numbers of wraps, while tape region 2 and tape region 3 have the same number of wraps. This application does not limit this.
[0186] Figure 9 These are merely examples of different magnetic tape arrangement combinations provided in this application's embodiments, and should not be construed as limiting this application. Depending on user needs, application concurrency, and other information, various magnetic tape arrangement methods of 210 can be combined with each other, and this application does not limit such combinations.
[0187] It is worth noting that, in the above Figures 5 to 9 In the provided embodiments, the connecting line between two adjacent tape regions is perpendicular to the length direction of tape 210. For example, the connecting line between tape region 1 and tape region 2 is perpendicular to the length direction of tape 210. However, in some optional implementations, the connecting line between two adjacent tape regions is a broken line. Figure 10 As shown, Figure 10 A schematic diagram of magnetic tape arrangement provided in this application Figure 5 .about Figure 5 , Figure 6B , Figure 7 or Figure 8 The content already described will not be repeated here.
[0188] Figure 10 The data arrangement method of the middle magnetic tape 210 and Figure 5 The difference lies in the fact that the lengths of two adjacent tape regions are inconsistent along the length direction of tape 210. Specifically, within the same wrap, the storage capacity or storage space of different sub-wraps of two adjacent tape regions are different.
[0189] When the bandwidth of different applications fluctuates greatly over time, high and low water level lines and overall cache water level lines can be set. When the amount of data in cache 241 for different applications meets the requirements, it is sequentially written to tape 210 to ensure that the data of the same application is arranged vertically on a section of tape in magnetoelectric 210. This arrangement area can be an irregular area.
[0190] For example, in wrap1, the length of tape occupied by tape region 1 (corresponding to the storage space of the sub-wrap in tape region 1 of wrap1) is less than the length of tape occupied by tape region 2 (corresponding to the storage space of the sub-wrap in tape region 2 of wrap1); while in wrap5, the length of tape occupied by tape region 1 (corresponding to the storage space of the sub-wrap in tape region 1 of wrap5) is greater than the length of tape occupied by tape region 2 (corresponding to the storage space of the sub-wrap in tape region 2 of wrap5).
[0191] In wrap1 to wrap9, the order of tape area 1 to tape area 4 is consistent. Therefore, during data read / write operations, the magnetic head in the magneto-electric disk can achieve sequential read / write of tape 210. Furthermore, different tape areas are used to store data for different applications; therefore, during data read / write operations, the same as described above can be achieved. Figures 5 to 9 The provided embodiments have the same functionality: the tape area and other tape areas are arranged horizontally side by side and vertically distributed within a tape area of limited length. Multiple concurrent application data are written to the tape, and the data of the same application is arranged sequentially along the length of the tape, which helps to reduce the access latency of data reading and writing in the tape, thereby extending the life of the tape.
[0192] above Figures 5 to 10 This describes how the magnetic tape 210 is partitioned along its length based on information such as the number of concurrent applications. The magneto-electric disk can also adjust the arrangement of the magnetic tape 210 according to the temporal characteristics of the data. For example... Figure 11As shown, Figure 11 Sixth, a schematic diagram of a magnetic tape arrangement provided for this application. (Regarding...) Figure 5 , Figure 6B , Figure 7 , Figure 8 , Figure 9 or Figure 10 The content already described will not be repeated here.
[0193] Figure 11 The data arrangement method of the middle magnetic tape 210 and Figure 5 The difference between them is: Figure 11 In the data area, tape areas 1 to 4 are located in data area 1, tape areas 5 to 8 are located in data area 2, and tape areas 9 to 12 are located in data area 3.
[0194] For example, tape area 1, tape area 5 and tape area 9 are used to store data for the first application.
[0195] As another example, tape area 2, tape area 6 and tape area 10 are used to store data for a second application.
[0196] As also exemplarily, tape area 3, tape area 7 and tape area 11 are used to store data for a third application.
[0197] As also exemplarily, tape area 4, tape area 8 and tape area 12 are used to store data for a fourth application.
[0198] exist Figure 11 In this configuration, different data zones are arranged side-by-side along the length of the magnetic tape 210. Furthermore, the time characteristics of the data in different data zones are different.
[0199] In the first optional example, the temporal characteristics of the data include the data generation time, which refers to the time when the data was generated. The range of data generation time varies in different data regions; the larger the data generation time, the longer the data has been generated; the smaller the data generation time, the shorter the data has been generated.
[0200] For example, the data in data area 1 was generated within a time range of 0 to 30 days.
[0201] For example, the data in data area 2 was generated within a time range of 30 to 60 days.
[0202] For example, the data in data area 3 was generated within a time range of 60 to 90 days.
[0203] In the second alternative example, the temporal characteristics of the data include data retention time. Data retention time refers to the time the data is retained on magnetic tape 210. The data retention time ranges differently in different data areas; the longer the data retention time, the longer the data is stored on magnetic tape 210; the shorter the data retention time, the shorter the data is stored on magnetic tape 210.
[0204] For example, the data retention time for data in data area 1 ranges from 0 to 30 days.
[0205] For example, the data retention time for data in data area 2 ranges from 30 to 60 days.
[0206] For example, the data retention time for data in data area 3 ranges from 60 to 90 days.
[0207] In the third alternative example, the temporal characteristics of the data include the time of data generation and the time of data retention.
[0208] The data generation and retention times described above are merely optional examples provided in the embodiments of this application and should not be construed as limiting the scope of this application. In some optional implementations, the number of data areas in the magnetic tape 210 may be more or less, and this application does not limit this.
[0209] In other words, the magnetic tape in a magneto-electric disk can be divided into different data areas. These different data areas can be managed with the same data area size or with different data area sizes based on the characteristics of the IO stream (such as the IO interval between adjacent IO requests, the data length in a single IO request, etc.). This improves the utilization rate of the tape body space and also solves the limitation problem of supporting different types of IO within a single tape drive device.
[0210] Combination Figure 11 As can be seen from the provided embodiments, the magneto-electric disk stores data with different time characteristics (such as data generation time or data retention time) in different data zones. Data of different applications in the same data zone are sequentially distributed along a finite length of the magnetic tape, which realizes the sequential distribution of data of different applications in the same data zone. This is beneficial to improving the read and write efficiency of the magneto-electric disk and also realizes the wear equalization of different data zones, thereby extending the service life of the magnetic tape.
[0211] During data reading, since data generated at different times is stored in different data areas of the magnetic tape, when the client / data access device reads data generated at the same time, the magnetic head in the magneto-electric disk does not need to contact the tape corresponding to other data areas. This reduces the number of times the head and tape come into contact, decreases tape wear, and extends tape life. Simultaneously, the tape in the magneto-electric disk does not need to align other data areas with the head; the tape only moves within the area corresponding to that data area, reducing the tape travel distance and lowering addressing latency in the magneto-electric disk.
[0212] In summary Figures 5 to 11 As can be seen from the provided embodiments, when data access has temporal or spatial locality, the tape is longitudinally partitioned and then arranged longitudinally within a single partition to achieve wear balance across the entire tape, improve tape lifespan, and reduce average addressing latency.
[0213] Optionally, the magneto-electric disk 200 may also include a sensor and a safety module. The sensor can be used to determine the relative position between the magnetic tape and the magnetic head, and the safety module is used to encrypt the data stored in the magneto-electric disk 200, etc. The sensor and the safety module can also be electrically connected to the controller via a management bus, which is not limited in this application.
[0214] This application also provides a storage system. The storage system includes: a communication interface, a controller, and a magnetoelectric disk as provided in any of the foregoing embodiments. The magnetoelectric disk is used to store data, the communication interface is used to receive data access requests, and the controller is used to manage target magnetoelectric disks in the storage system according to data access requests. The storage system may be, for example, a magnetic tape library, or a computer / server containing a magnetic tape drive as a persistent storage medium, as described above. Figure 1 The provided storage system is 120 or disk enclosure 122, etc.
[0215] The controller includes one or more processors, which can be a very large-scale integrated circuit. The processor contains an operating system and other software programs, enabling it to access tape drives and various PCIe devices. The processor includes one or more processor cores. These cores can be, for example, a central processing unit (CPU) or other ASICs. The processor can also be other general-purpose processors, DSPs, ASICs, FPGAs, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. In practical applications, the storage system may also include multiple controllers.
[0216] Optionally, the storage system may also include, but is not limited to, other storage media: dynamic random access memory (DRAM), static random access memory (SRAM), etc., for caching data from the tape drive for processor processing. Additionally, other storage media may be read-only memory (ROM). For example, read-only memory may be programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), etc. This embodiment does not limit the number or type of other storage media. Furthermore, other storage media can be configured to have power-saving functionality. Power-saving functionality means that when the system experiences a power outage and is then powered on again, the data stored in the memory will not be lost. Storage media with power-saving functionality are called non-volatile memory.
[0217] Furthermore, in the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video disc (DVD); or it can be a semiconductor medium, such as a solid-state drive (SSD).
[0218] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Various equivalent modifications or substitutions can be conceived within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for writing data, characterized in that, Applied to a magnetoelectric disk, the method includes: Acquire multiple data sources from different applications; The multiple data are written to multiple storage areas of the cache; the multiple storage areas include a first storage area and a second storage area, the data stored in the first storage area corresponds to a first application, and the data stored in the second storage area corresponds to a second application; The data in the first storage area is written to the first tape area of the magnetic tape; the magnetic tape includes multiple wraps, wherein one wrap contains K sub-wraps, the first tape area includes M sub-wraps, and the M sub-wraps come from different wraps; K≥2, M≥2, and M is less than or equal to the number of wraps included in the magnetic tape; Write the data in the second storage area into the second tape area of the tape. The first tape region and the second tape region are arranged side by side along the length of the tape. The second tape region includes N sub-wraps, which are derived from different wraps. N ≥ 2 and N is less than or equal to the number of wraps included in the tape.
2. The method according to claim 1, characterized in that, The magnetic tape further includes a third magnetic tape region arranged side by side with the first magnetic tape region along the width direction of the magnetic tape; The third tape area is used to store: data in the cache corresponding to the third application; the first application is different from the third application.
3. The method according to claim 1 or 2, characterized in that, The data stored in the first magnetic tape area is the compressed data in the first storage area.
4. The method according to any one of claims 1-3, characterized in that, The storage capacity of one of the M sub-wraps may be the same as or different from the storage capacity of one of the N sub-wraps.
5. The method according to any one of claims 1-4, characterized in that, The first tape area is also used to store: the data in the cache corresponding to the fourth application.
6. The method according to any one of claims 1-5, characterized in that, The magnetic tape further includes: a fourth magnetic tape region arranged side by side with the first magnetic tape region along the length direction of the magnetic tape; The first tape area and the second tape area are located in the first data area, and the fourth tape area is located in the second data area; the data generation time of the data in the first data area is different from the time characteristics of the data in the second data area, and the time characteristics include one or both of the data generation time range or the data retention time on the tape.
7. The method according to any one of claims 1-6, characterized in that, Before writing the plurality of data into the plurality of cached storage areas, the method further includes: Based on the application concurrency of the different applications, the data rate of each application, and the unit storage capacity of the wrap in the tape, the cache water level of multiple applications is determined; the cache water level of the first application is used to determine the storage capacity of the first storage area in the cache. The plurality of storage areas are determined based on the cache water level of the plurality of applications; wherein, one storage area corresponds to T applications, T≥1 and T is less than the number of concurrent applications.
8. The method according to claim 7, characterized in that, After determining the cache watermarks for multiple applications, the method further includes: The cache water level of the multiple applications is updated based on the statistical information of the cache; the statistical information includes one or more of the following combinations: the bandwidth of the multiple applications within the statistical period, the available storage capacity of the cache, and the unit storage capacity of the wrap in the tape.
9. A magnetoelectric disk, characterized in that, include: A communication interface used to acquire multiple data sources from different applications; The cache includes multiple storage areas, including a first storage area and a second storage area. The data stored in the first storage area corresponds to a first application, and the data stored in the second storage area corresponds to a second application. A magnetic tape includes multiple magnetic tape regions, wherein the multiple magnetic tape regions include a first magnetic tape region and a second magnetic tape region arranged side by side along the length direction of the magnetic tape; The magnetic tape has multiple wraps, where each wrap contains K sub-wraps; K ≥ 2; The first tape region includes M sub-wraps, which are derived from different wraps; M ≥ 2, and M is less than or equal to the number of wraps included in the tape. The second tape region includes N sub-wraps, which are derived from different wraps; N ≥ 2, and N is less than or equal to the number of wraps included in the tape. A magnetic head, used to access the magnetic tape; A processor configured to perform the method of any one of claims 1-8 in conjunction with the plurality of data and the magnetic head.
10. A storage system, characterized in that, include: Controller, one or more magnetoelectric disks as described in claim 9; The controller is used to acquire multiple data from different applications and to perform the method of any one of claims 1-8 in coordination with the magneto-electric disk based on the multiple data.
11. A computer program product, characterized in that, When the computer program product is run in an electronic device, the electronic device performs the method of any one of claims 1-8.
12. A magnetic tape, characterized in that, include: Multiple tape regions; The plurality of magnetic tape regions include: a first magnetic tape region and a second magnetic tape region arranged side by side along the length direction of the magnetic tape; The magnetic tape has multiple wraps, where each wrap contains K sub-wraps; K ≥ 2; The first tape area includes M sub-wraps, which are derived from different wraps. The first tape area is used to store data for the first application; M ≥ 2, and M is less than or equal to the number of wraps included in the tape. The second tape area includes N sub-wraps, which are derived from different wraps. The second tape area is used to store data for the second application, where N ≥ 2 and N is less than or equal to the number of wraps included in the tape.
13. The magnetic tape according to claim 12, characterized in that, The plurality of magnetic tape regions further includes: a third magnetic tape region arranged side by side with the first magnetic tape region along the width direction of the magnetic tape; The third magnetic tape area is used to store data corresponding to a third application; the first application is different from the third application.
14. The magnetic tape according to claim 12 or 13, characterized in that, The first magnetic tape area is also used to store data corresponding to the fourth application.
15. The magnetic tape according to any one of claims 12-14, characterized in that, The storage capacity of one of the M sub-wraps may be the same as or different from the storage capacity of one of the N sub-wraps.
16. The magnetic tape according to any one of claims 12-15, characterized in that, The plurality of magnetic tape regions further includes: a fourth magnetic tape region arranged side by side with the first magnetic tape region along the length direction of the magnetic tape; The first tape area and the second tape area are located in the first data area, and the fourth tape area is located in the second data area; the data generation time of the data in the first data area is different from the time characteristics of the data in the second data area, and the time characteristics include one or both of the data generation time range or the data retention time on the tape.