Magnetic storage medium, LPOS codeword encoding and decoding method and related equipment
By using Fibonacci code to encode the first information in the magnetic storage medium to locate user data, the problem of increasing storage capacity is solved, and a larger numerical range and effective length over the same encoding length is achieved.
Patent Information
- Application Number
- CN202311393988.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-25
- Publication Date
- 2025-04-25
AI Technical Summary
In the technology of using magnetic materials as storage media, how to increase storage capacity is an urgent technical problem to be solved.
The storage capacity of the magnetic storage medium is increased by Fibonacci code. The specific implementation method is to encode the first information through the Fibonacci code and use the encoded information in the magnetic storage medium to locate user data.
Compared with the traditional tetra-coding method, the Fibonacci code can increase the numerical range expressed by the magnetic storage medium at the same encoding length, thereby improving the storage capacity and effective length of the magnetic storage medium.
Smart Images

Figure CN119889373A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of storage, and in particular to a magnetic storage medium, a longitudinal position (LPOS) codeword encoding and decoding method, and related equipment. Background Art
[0002] The technology of using magnetic materials as storage media can express information and store data through the transformation of magnetic signals. It is a low-cost and reliable data backup medium, mainly used as a backup in case of system crashes and for long-term data archiving, with the advantages of low cost, high capacity and long life.
[0003] With the widespread application of emerging technologies such as the Internet of Things, artificial intelligence, 5G, cloud computing, and autonomous driving, the amount of information in the world has increased dramatically. Generally speaking, stored data can be divided into hot, warm, and cold data according to the scale of the read frequency. Data that is frequently accessed in computer memory or cache is usually called hot data, and data stored in hard disks or flash memory is usually warm data. For electronic libraries, artificial intelligence (AI) training data, life sciences, financial archives, aerospace exploration, and other data that do not need to be accessed frequently, they are usually stored on tapes. These data are called cold data. Although the random read and write speed of tapes is slow, it still plays an important role in storage systems due to its advantages such as low cost, high capacity, and long life.
[0004] However, in the technology of using magnetic materials as storage media, how to improve the storage capacity is a technical problem that needs to be solved urgently. Summary of the invention
[0005] The present application provides a magnetic storage medium, a longitudinal position (LPOS) codeword encoding and decoding method and related equipment, which are used to increase the storage capacity of the magnetic storage medium by means of Fibonacci code, thereby increasing the effective length of the magnetic storage medium.
[0006] In a first aspect, the present application provides a magnetic storage medium, comprising a first storage area and a second storage area, wherein the first storage area is used to store first information, the second storage area is used to store user data, and the first information is used to locate the user data; wherein the first information is obtained through a Fibonacci code.
[0007] Based on the above technical solution, the first storage area in the magnetic storage medium is used to store the first information, and the second storage area in the magnetic storage medium is used to store the user data, and the first information is used to locate the user data. Moreover, the first information is obtained by Fibonacci code. Compared with the traditional encoding method using base 14, since Fibonacci code can use the bit space of the full codeword, it can increase the numerical range expressed by the magnetic storage medium at the same encoding length. Thus, the storage capacity of the magnetic storage medium can be increased by using Fibonacci code, thereby increasing the effective length of the magnetic storage medium.
[0008] It should be understood that the magnetic storage medium may be a storage medium containing magnetic materials, which may generally be referred to as a magnetic tape, including but not limited to an audio tape (or an audio tape), a video tape (or a video tape), a computer tape, and an instrument tape (or a precision tape). In other words, the user data in the present application may be understood to include audio data, video data, computer storage data, instrument data, and the like.
[0009] Optionally, the magnetic storage medium may include one or more storage areas for storing positioning information (i.e., first information) and one or more storage areas for storing one or more blocks of user data. In other words, the magnetic storage medium may include one or more first storage areas and one or more second storage areas. In addition, the first storage area may be referred to as a servo band, and the second storage area may be referred to as a data band.
[0010] Optionally, in the magnetic storage medium, one or more first storage areas may correspond to one or more second storage areas. For example, the one or more first storage areas may be used to store M (M is a positive integer) pieces of first information, the one or more second storage areas may be used to store M blocks of user data, and the M pieces of first information are used to locate the M blocks of user data. The first information may be referred to as position information, longitudinal position information, etc.
[0011] In the present application, the LPOS codeword may be replaced by other descriptions, such as a codeword, a position codeword, a position information codeword, etc.
[0012] In a possible implementation manner of the first aspect, the first information obtained through the Fibonacci code includes:
[0013] The first information is obtained by encoding the longitudinal position data through the Fibonacci code, and the fixed format of the longitudinal position data is 123…N, where N satisfies:
[0014]
[0015] Wherein, i<=k-1, d(i)={0,1}, d(k-1)=d(k)=1, and v represents the order of the Fibonacci code.
[0016] (d(0),…,d(k-1),d(k)) represents the first information.
[0017] Based on the above technical solution, the magnetic storage medium may include one or more second storage areas for storing one or more pieces of user data. To this end, the one or more pieces of user data contained in the magnetic storage medium may be located by a positive integer N, and accordingly, the positive integer N may be encoded by the above Fibonacci code to obtain a coding result (i.e., the first information stored in the first storage area).
[0018] In a possible implementation manner of the first aspect, the first storage area further includes second information, and the second information is used to locate a starting position of the first storage area.
[0019] Optionally, the first storage area includes a first sub-area and a second sub-area, the first sub-area is used to carry the first information; the second sub-area is used to carry the second information.
[0020] Based on the above technical solution, the first information stored in the first storage area can be carried in the first sub-area, and the first storage area can also include a second sub-area for carrying the second information, so as to locate the starting position of the first storage area through the second information.
[0021] Optionally, the second information is used to locate the position of the first storage area (eg, a starting position, an ending position, etc.), wherein the second information may be referred to as synchronization information, a synchronization mark, etc.
[0022] In a possible implementation manner of the first aspect, the code length of the second information is associated with the order of the Fibonacci code.
[0023] Based on the above technical solution, in the first storage area of the magnetic storage medium, the code length of the second information carried by the second sub-area is associated with the order of the Fibonacci code, so that different Fibonacci code orders can correspond to different code lengths. Compared with the method of using a fixed code length to carry the second information, the implementation flexibility can be improved.
[0024] In addition, compared with the method of using a fixed code length to carry synchronization information, when the order of the Fibonacci code is low, the synchronization information code length can be reduced. Accordingly, when the code length of the first storage area is constant, the code length of other information (such as the first information and / or the third information described later) can be increased to increase the value range expressed by the other information.
[0025] Optionally, the code length of the second information satisfies:
[0026] t1=v+1;
[0027] Wherein, t1 represents the second information code length, and v represents the order of the Fibonacci code.
[0028] Optionally, the format of the second information is v represents the order of the Fibonacci code, that is, the second information may consist of 1 0 and v 1s.
[0029] In a possible implementation manner of the first aspect, the first storage area is further used to store third information, where the third information is used to indicate production time information of the magnetic storage medium and / or manufacturer information of the magnetic storage medium.
[0030] Optionally, the first storage area further includes a third sub-area; the third sub-area is used to carry third information.
[0031] Optionally, at least one of the order of the Fibonacci code, the code length of the first information, the code length of the second information, and the code length of the third information is preconfigured (or a fixed value or manually configured).
[0032] Optionally, the third information may be referred to as manufacturer data.
[0033] Based on the above technical solution, the first storage area may further include a third sub-area for carrying third information, so as to carry the production time information of the magnetic storage medium and / or the manufacturer information of the magnetic storage medium through the third information.
[0034] In a possible implementation manner of the first aspect, the third sub-region is located between the second sub-region and the first sub-region.
[0035] Based on the above technical solution, in the magnetic storage medium, the first storage area includes a first sub-area for carrying the first information, a second sub-area for carrying the second information, and a third sub-area for carrying the third information. The third sub-area is located between the second sub-area and the first sub-area, so that the content stored in the first storage area is the second information for locating the starting position of the first storage area, the third information for indicating the production time information of the magnetic storage medium and / or the manufacturer information of the magnetic storage medium, and the first information for locating the user data.
[0036] In a possible implementation manner of the first aspect, the first storage area further includes a first separator, and the first separator is used to separate the second sub-area and the third sub-area.
[0037] Based on the above technical solution, when the contents stored in the first storage area are, in sequence, the second information for locating the starting position of the first storage area, the third information for indicating the production time information of the magnetic storage medium and / or the manufacturer information of the magnetic storage medium, and the first information for locating user data, the second information and the third information can be separated by a first separator to achieve separation of the second information and the third information, thereby avoiding confusion between the second information and the third information.
[0038] Optionally, the first delimiter includes one or more 1s, or the first delimiter includes other identifiers (eg, one or more 0s).
[0039] Optionally, the first separator may be located at the end of the second sub-region, and may serve to separate the second sub-region from the third sub-region. Accordingly, the first separator may be regarded as information contained in the second sub-region, that is, the second information may also include the first separator. Similarly, the first separator may be located at the beginning of the third sub-region, and may also serve to separate the second sub-region from the third sub-region. Accordingly, the first separator may be regarded as information contained in the third sub-region, that is, the third information may also include the first separator.
[0040] In a possible implementation manner of the first aspect, the format of the third information is Wherein, x∈{0,1}, t2 represents the code length of the third information.
[0041] Based on the above technical solution, the format of the third information satisfies In the case of, combined with the use of the first separator, the format of the combination of the third information and the first separator can satisfy t3 represents the number of "1"s contained in the first separator. This format can avoid the combination of the third information and the first separator. In order to distinguish it from the second information, thereby avoiding affecting the function of the second information.
[0042] In a possible implementation manner of the first aspect, the first storage area further includes a second separator, and the second separator is used to separate the third sub-area from the first sub-area.
[0043] Optionally, the second delimiter includes one or more 0s, or the second delimiter includes other identifiers (eg, one or more 1s).
[0044] Optionally, the second separator can be located at the end of the third sub-region, and can also serve to separate the third sub-region from the first sub-region. Accordingly, the second separator can be regarded as the information contained in the third sub-region, that is, the third information can also include the second separator. Similarly, the second separator can be located at the beginning of the first sub-region, and can also serve to separate the third sub-region from the first sub-region. Accordingly, the second separator can be regarded as the information contained in the first sub-region, that is, the first information can also include the second separator.
[0045] Based on the above technical solution, when the contents stored in the first storage area are, in sequence, the second information for locating the starting position of the first storage area, the third information for indicating the production time information of the magnetic storage medium and / or the manufacturer information of the magnetic storage medium, and the first information for locating user data, the third information and the first information can be separated by a second separator to achieve separation of the third information and the first information, thereby avoiding confusion between the third information and the first information.
[0046] In a possible implementation manner of the first aspect, the first sub-region is located between the second sub-region and the third sub-region.
[0047] Based on the above technical solution, in the magnetic storage medium, the first storage area includes a first sub-area for carrying the first information, a second sub-area for carrying the second information, and a third sub-area for carrying the third information. The first sub-area is located between the second sub-area and the third sub-area, so that the content stored in the first storage area is the second information for locating the starting position of the first storage area, the first information for locating user data, and the third information for indicating the production time information of the magnetic storage medium and / or the manufacturer information of the magnetic storage medium.
[0048] Optionally, when the first sub-region is located between the second sub-region and the third sub-region, the second sub-region and the first sub-region may be separated by a separator, and the first sub-region and the third sub-region may also be separated by a separator, and reference may be made to the implementation of the first separator and the second separator.
[0049] Optionally, no separator may be set between the first sub-region, the second sub-region and the third sub-region. For example, when the code lengths of the first sub-region, the second sub-region and the third sub-region are pre-configured (or fixed value or manually configured), the sub-regions may be distinguished by their code lengths.
[0050] The second aspect of the present application provides a method for encoding an LPOS codeword, which is performed by a first device, or the method is performed by a chip, a chip system, a processor, a logic module or a software module in the first device. Here, the method is performed by the first device as an example, for example, the first device can be a tape drive, a tape reading device, a tape encoding device, etc. The method includes: the first device obtains longitudinal position data; the first device encodes the longitudinal position data based on a Fibonacci code to obtain first information in the LPOS codeword.
[0051] Based on the above technical solution, after obtaining the longitudinal position data, the first device can encode the longitudinal position data based on the Fibonacci code to obtain the first information in the LPOS codeword. The first information is obtained by encoding the longitudinal position data by the Fibonacci code. Compared with the traditional encoding method using the 14-base encoding method, since the Fibonacci code can use the bit space of the full codeword, the numerical range expressed by the magnetic storage medium can be increased at the same encoding length. Thus, the storage capacity of the magnetic storage medium can be increased by the Fibonacci code, thereby increasing the effective length of the magnetic storage medium, and enabling the first device to store more information in the magnetic storage medium with increased storage capacity.
[0052] In a possible implementation of the second aspect, the first device obtains longitudinal position data, including: the first device calculates one or more information capacities of the Fibonacci code based on the code length of the LPOS codeword; the first device determines one of the one or more information capacities as a target information capacity; and the first device determines the longitudinal position data according to the target information capacity.
[0053] Optionally, after the LPOS code length is determined, one or more information capacities of the Fibonacci code are obtained based on the order of one or more Fibonacci codes, wherein the order of the Fibonacci code corresponds to the information capacity of the Fibonacci code, and accordingly, the target information capacity may be the information capacity with the largest information capacity determined among the one or more information capacities. Alternatively, the information capacities determined among the one or more information capacities are sorted from large to small according to the information capacity, and one of the information capacities (for example, the information capacity with the largest information capacity in the sorting result, or when the sorting result is sorted from large to small in terms of information capacity, the xth information capacity therein, where x is 1, 2, 3 or other values) is determined as the target information capacity according to the sorting result.
[0054] Based on the above technical solution, the first device can determine one or more information capacities corresponding to the Fibonacci code based on the code length of the LPOS codeword. When the information capacity of the Fibonacci code is the largest, the numerical range expressed by the information is also the largest. To this end, the first device determines the longitudinal position data according to the target information capacity, which can increase the numerical range of the information expression of the LPOS codeword.
[0055] In a possible implementation manner of the second aspect, the method further includes: the first device determining a target order of the Fibonacci code; and the first device determining second information in the LPOS codeword based on the target order, wherein the second information is used to locate a starting position of the LPOS codeword.
[0056] Based on the above technical solution, the first device can also determine the second information in the LPOS codeword based on the target order of the Fibonacci code, wherein the second information is used to locate the starting position of the LPOS codeword, so as to synchronize the LPOS codeword through the second information.
[0057] In a possible implementation manner of the second aspect, the first device determines the second information based on the target order, including: the first device calculates the code length of the second information based on the target order; and the first device determines the second information according to the code length of the second information.
[0058] Based on the above technical solution, the first device can specifically determine the code length of the second information based on the target order of the Fibonacci code, and determine the second information based on the code length of the second information and a predefined format.
[0059] In a possible implementation manner of the second aspect, the first device determines a target order of the Fibonacci code, including: the first device calculates one or more information capacities of the Fibonacci code based on the code length of the LPOS codeword; and the first device determines an order corresponding to one of the one or more information capacities as the target order.
[0060] Based on the above technical solution, when the first device determines the target order of the Fibonacci code, the first device can calculate one or more information capacities corresponding to the Fibonacci code based on the code length of the LPOS codeword. When the information capacity of the Fibonacci code is the largest, the numerical range expressed by the information is also the largest. To this end, the first device determines the target order according to the information capacity, which can increase the numerical range of the information expression of the LPOS codeword.
[0061] In a possible implementation manner of the second aspect, the encoding method further includes: the first device acquires manufacturer data; the first device encodes the manufacturer data based on an American standard code for information interchange (ASCII) code to obtain third information in the LPOS codeword.
[0062] Based on the above technical solution, after acquiring the manufacturer data, the first device may further encode the manufacturer data through ASCII code to obtain the third information in the LPOS code word, so as to store the manufacturer data through the LPOS code word.
[0063] It should be understood that the manufacturer data may be text information, for example, the manufacturer data includes information such as the recorded production time of the magnetic storage medium, the manufacturer name of the magnetic storage medium, and a specific identification.
[0064] Optionally, the ASCII code may also be replaced by other implementations, including but not limited to GBK, UTF8, Unicode, etc.
[0065] Optionally, at least one of the order of the Fibonacci code (eg, target order), the code length of the LPOS codeword, the code length of the first information, the code length of the second information, and the code length of the third information is preconfigured (or fixed value or manually configured).
[0066] It should be understood that in the second aspect, the magnetic storage medium on which the second device performs data reading can also refer to the description of the first aspect and any implementation thereof.
[0067] The third aspect of the present application provides a user data reading device, which includes a module for executing the method involved in the second aspect. For example, the user data reading device may include an acquisition module and an encoding module.
[0068] In a fourth aspect, the present application provides a method for decoding an LPOS codeword, which is performed by a second device, or the method is performed by a chip, a chip system, a processor, a logic module or a software module in the second device. Here, the method is performed by the second device as an example, for example, the second device can be a tape drive, a tape storage device, a tape decoding device, etc. The method includes: the second device obtains the LPOS codeword, and the LPOS codeword includes first information; the second device decodes the first information based on the Fibonacci code to obtain longitudinal position data.
[0069] Based on the above technical solution, after acquiring the LPOS codeword, the second device can decode the LPOS codeword based on the Fibonacci code to obtain the longitudinal position data. Among them, the first information is obtained by encoding the longitudinal position data through the Fibonacci code. Compared with the traditional encoding method using the 14-base encoding method, since the Fibonacci code can use the bit space of the full codeword, the numerical range expressed by the magnetic storage medium can be improved at the same encoding length. Therefore, the storage capacity of the magnetic storage medium can be improved by the Fibonacci code method, thereby improving the effective length of the magnetic storage medium, and allowing more information to be stored in the magnetic storage medium with improved storage capacity.
[0070] In a possible implementation of the fourth aspect, before the second device decodes the first information based on the Fibonacci code to obtain the longitudinal position data, it includes: the second device calculates one or more information capacities of the Fibonacci code based on the code length of the LPOS codeword; the second device determines one of the one or more information capacities as the target information capacity; and the second device determines the first information according to the target information capacity.
[0071] Optionally, after the LPOS code length is determined, one or more information capacities of the Fibonacci code are obtained based on the order of one or more Fibonacci codes, wherein the order of the Fibonacci code corresponds to the information capacity of the Fibonacci code, and accordingly, the target information capacity may be the information capacity with the largest information capacity determined among the one or more information capacities. Alternatively, the information capacities determined among the one or more information capacities are sorted from large to small according to the information capacity, and one of the information capacities (for example, the information capacity with the largest information capacity in the sorting result, or when the sorting result is sorted from large to small in terms of information capacity, the xth information capacity therein, where x is 1, 2, 3 or other values) is determined as the target information capacity according to the sorting result.
[0072] Based on the above technical solution, the second device can determine one or more information capacities corresponding to the Fibonacci code based on the code length of the LPOS codeword. When the information capacity of the Fibonacci code is the largest, the numerical range expressed by the information is also the largest. To this end, the second device determines the first information according to the target information capacity, which can increase the numerical range of the information expression of the LPOS codeword.
[0073] In a possible implementation manner of the fourth aspect, the LPOS codeword further includes second information, and the second information is used to locate a starting position of the LPOS codeword. The method further includes: the second device determines a target order of the Fibonacci code; and the second device determines the second information in the LPOS codeword based on the target order.
[0074] Based on the above technical solution, the second device can also determine the second information in the LPOS codeword based on the target order of the Fibonacci code, wherein the second information is used to locate the starting position of the LPOS codeword, so as to synchronize the LPOS codeword through the second information.
[0075] In a possible implementation of the fourth aspect, the second device determines the second information based on the target order, including: the second device calculates the code length of the second information based on the target order; the second device determines the second information according to the code length of the second information.
[0076] Based on the above technical solution, the second device can specifically determine the code length of the second information based on the target order of the Fibonacci code, and determine the second information based on the code length of the second information and a predefined format.
[0077] In a possible implementation manner of the fourth aspect, the second device determines a target order of the Fibonacci code, including: the second device calculates one or more information capacities of the Fibonacci code based on the code length of the LPOS codeword; and the second device determines an order corresponding to one of the one or more information capacities as the target order.
[0078] Based on the above technical solution, when the second device determines the target order of the Fibonacci code, the second device can calculate one or more information capacities corresponding to the Fibonacci code based on the code length of the LPOS codeword. When the information capacity of the Fibonacci code is the largest, the numerical range expressed by the information is also the largest. Therefore, the second device determines the target order according to the information capacity, which can increase the numerical range of the information expression of the LPOS codeword.
[0079] In a possible implementation manner of the fourth aspect, the LPOS codeword further includes third information, and the third information is used to carry manufacturer data. The method further includes: the second device decoding the third information in the LPOS codeword based on ASCII code to obtain the manufacturer data.
[0080] Based on the above technical solution, after acquiring the third information in the LPOS codeword, the second device may also decode the third information through ASCII code to obtain the manufacturer data, so as to decode and read the manufacturer data through the LPOS codeword.
[0081] It should be understood that the manufacturer data may be text information, for example, the manufacturer data includes information such as the recorded production time of the magnetic storage medium, the manufacturer name of the magnetic storage medium, and a specific identification.
[0082] Optionally, the ASCII code may also be replaced by other implementations, including but not limited to GBK, UTF8, Unicode, etc.
[0083] The fifth aspect of the present application provides an LPOS codeword encoding device, the device comprising a module for executing the method involved in the second aspect. For example, the user data reading device may include an acquisition module and a decoding module.
[0084] A sixth aspect of the present application provides an LPOS codeword encoding device, comprising at least one processor; the at least one processor is used to execute the method in the second aspect and any possible implementation manner thereof.
[0085] A seventh aspect of the present application provides a decoding device for an LPOS codeword, comprising at least one processor; the at least one processor is used to execute the method in the fourth aspect and any possible implementation manner thereof.
[0086] In an eighth aspect, the present application provides an LPOS codeword encoding device, comprising at least one logic circuit and an input / output interface; the logic circuit is used to execute the method described in any possible implementation manner of the second aspect.
[0087] A ninth aspect of the present application provides a decoding device for an LPOS codeword, comprising at least one logic circuit and an input / output interface; the logic circuit is used to execute the method as described in any possible implementation manner of the fourth aspect.
[0088] In a tenth aspect, an embodiment of the present application provides a computer-readable storage medium, which is used to store one or more computer-executable instructions. When the computer-executable instructions are executed by a processor, the processor executes a method as described in any possible implementation method of any aspect of the second or fourth aspect above.
[0089] An eleventh aspect of an embodiment of the present application provides a computer program product (or computer program). When the computer program in the computer program product is executed by the processor, the processor executes the method described in any possible implementation method of any aspect of the second or fourth aspect.
[0090] A twelfth aspect of an embodiment of the present application provides a chip system, which includes at least one processor, and is used to support a communication device to implement the method described in any possible implementation method of any aspect of the second or fourth aspect.
[0091] In a possible design, the chip system may also include a memory for storing program instructions and data necessary for the communication device. The chip system may be composed of a chip, or may include a chip and other discrete devices. Optionally, the chip system also includes an interface circuit, which provides program instructions and / or data for the at least one processor.
[0092] Among them, the technical effects brought about by any design method from the second aspect to the twelfth aspect can refer to the technical effects brought about by the above-mentioned first aspect and its different implementation methods, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0093] Figure 1 A schematic diagram of the structure of a servo band and a data band included in a magnetic tape;
[0094] Figure 2 A schematic diagram for servo band encoding;
[0095] Figure 3 Another schematic diagram for encoding the servo band;
[0096] Figure 4 A schematic diagram of an implementation of the magnetic storage medium provided in this application;
[0097] Figure 5 Another implementation schematic diagram of the magnetic storage medium provided by the present application;
[0098] Figure 6a Another implementation schematic diagram of the magnetic storage medium provided by the present application;
[0099] Figure 6b Another implementation schematic diagram of the magnetic storage medium provided by the present application;
[0100] Figure 6c Another implementation schematic diagram of the magnetic storage medium provided by the present application;
[0101] Figure 6d A schematic diagram of an implementation of the LPOS codeword provided in this application;
[0102] Figure 7 Another implementation schematic diagram of the magnetic storage medium provided by the present application;
[0103] Figure 8 A schematic diagram of the LPOS codeword encoding method provided by the present application;
[0104] Fig. 9 A schematic diagram of the LPOS codeword decoding method provided by the present application;
[0105] Fig.10 A schematic diagram of the device provided for this application. DETAILED DESCRIPTION
[0106] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.
[0107] The term "at least one" in the embodiments of the present application refers to one or more, and "multiple" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist, for example, A and / or B, which can represent: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " / " generally indicates that the associated objects before and after are in an "or" relationship. "At least one of the following" or its similar expression refers to any combination of these items, including any combination of single items or plural items. For example, "at least one of A, B and C" includes A, B, C, AB, AC, BC or ABC. And, unless otherwise specified, the ordinal numbers such as "first" and "second" mentioned in the embodiments of the present application are used to distinguish multiple objects, and are not used to limit the order, timing, priority or importance of multiple objects.
[0108] It should be noted that, in this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in this application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
[0109] It should be understood that in the present application, "when", "if" and "if" all mean that the device will take corresponding actions under certain objective circumstances, and do not limit the time, nor do they require that the device must have a judgment action when it is implemented, nor do they mean that there are other limitations.
[0110] In this application, unless otherwise specified, the same or similar parts between various embodiments or implementations can refer to each other. In each embodiment of this application, and each implementation method / implementation method / implementation method in each embodiment, if there is no special explanation and logical conflict, the terms and / or descriptions between different embodiments and each implementation method / implementation method / implementation method in each embodiment are consistent and can be referenced to each other. The technical features in different embodiments and each implementation method / implementation method / implementation method in each embodiment can be combined to form new embodiments, implementation methods, implementation methods or implementation methods according to their inherent logical relationships. The implementation methods of this application described below do not constitute a limitation on the scope of protection of this application.
[0111] The present application relates to the field of storage, and more particularly to a technology that uses magnetic materials as storage media (i.e., magnetic storage media). Among them, the magnetic storage medium can express information and store user data through the transformation of magnetic signals. Generally, the magnetic storage medium can be a storage medium containing magnetic materials, which can generally be called a tape, including but not limited to audio tapes (or audio tapes), video tapes (or video tapes), computer tapes, and instrument tapes (or precision tapes).
[0112] Take magnetic tape as an example. It is a low-cost and reliable data backup medium. It is mainly used as a backup to prevent system crashes and for long-term data archiving. It has the advantages of low cost, high capacity, and long life. With the widespread application of emerging technologies such as the Internet of Things, artificial intelligence, 5G, cloud computing, and autonomous driving, the amount of information in the world has increased dramatically. Generally, stored data can be divided into hot, warm, and cold data according to the scale of reading frequency. Data that is frequently accessed in computer memory or cache is usually called hot data, and data stored in hard disks or flash memory is usually warm data. For electronic libraries, AI training data, life sciences, financial archiving, aerospace exploration, and other data that do not need to be accessed frequently, they are usually stored on magnetic tapes. These data are called cold data. Although the random read and write speed of magnetic tapes is slow, it still plays an important role in storage systems due to its advantages such as low cost, high capacity, and long life.
[0113] Traditional tapes such as Figure 1 As shown in FIG. 1 , it is usually composed of 5 servo bands and 4 data bands adjacent to each other, including Figure 1 There are five servo bands (ie, servo band 0 to servo band 4) and four data bands (ie, data band 0 to data band 3).
[0114] The servo band can be a dedicated magnetic signal channel for assisting in locating the recording track, and the data band mainly contains the user's data storage information. Each servo band is composed of several servo frames, such as Figure 2 As shown, a frame includes 18 servo stripes, namely Figure 2 The 18 slashes in bold are shown in the figure. During the tape production process, one bit of information can be expressed by controlling the relative position of the strips. For example, Figure 2 As shown in the figure. When the coding bit is '1', the 2nd and 4th stripes of A Burst (and B Burst) are 0.25 microns closer to the 1st and 5th stripes respectively; when the coding bit is '0', the 2nd and 4th stripes of A Burst (and B Burst) are 0.25 microns away from the 1st and 5th stripes respectively. Therefore, each frame (i.e. 18 servo stripes) can encode one bit of information.
[0115] In an implementation example, in the LTO standard developed by the current linear tape open (LTO) organization, the servo frame can be encoded by constructing a longitudinal position (LPOS) codeword. The LPOS codeword records the absolute position information of the tape and the manufacturer's information, which ensures the accuracy of the read information position. Each LPOS codeword consists of 36 servo frames, which are Figure 2 As we know, it can encode 36 bits of information in total. For example, the structure of an LPOS codeword is as follows Figure 3 As shown, the first 8 bits are synchronization marks, the next 24 bits are longitudinal position information, and the last 4 bits are used to indicate manufacturer data.
[0116] Exemplarily, the synchronization code may be composed of two bit sequences of '1000' and '0000', and is used to locate the start position of the LPOS codeword.
[0117] Exemplarily, in the longitudinal position information, 24 bits can express 6 code symbols (which can be represented by L0 to L5), that is, every four bits are combined into code symbols other than 'Sy' in the following Table 1. Therefore, they are 14-decimal numbers composed of 14 symbols other than '1000' and '0000', and the corresponding longitudinal position information is:
[0118] LPOS value=L0+14L1+14 2 L2+14 3 L3+14 4L4+14 5 L5.
[0119] Therefore, the expression range of LPOS code words is 0 to 7529535.
[0120] Table 1
[0121]
[0122]
[0123] Exemplary, manufacturer data: used to record information such as production time, manufacturer name, and specific identification. The format of the manufacturer codeword is 'D', (M0, M1), (M0, M1), ..., where (M0, M1) represents the symbol pair of two adjacent LPOS codewords, a total of 96 pairs to determine the manufacturer codeword, that is, the ellipsis after (M0, M1) represents the remaining 94 pairs (M0, M1). The symbol 'D' is reserved as the synchronization symbol of the manufacturer codeword, and the remaining 13 symbols can form 169 symbol pairs. The manufacturer data values in the standard only use 52 of them, as shown in Table 2. For example, according to Table 1, 'D' is 0001. The value of (M0, M1) is obtained from Table 2, such as (M0, M1) = (A, B), then according to Table 2, A = (0, 0), B = (0, 1), and then according to Table 1, it can be obtained that A = 1111 1111, B = 11111110.
[0124] Table 2
[0125]
[0126] However, the above LPOS codeword construction fails to effectively utilize bit information, resulting in a small expression range of the LPOS codeword, which limits the maximum length of the magnetic tape. In the technology of using magnetic materials as storage media, how to increase storage capacity is a technical problem that needs to be solved urgently.
[0127] In order to solve the above problems, the present application provides a magnetic storage medium, a user data reading method, a user data storage method and related devices, which are used to increase the storage capacity of the magnetic storage medium by Fibonacci coding, thereby increasing the effective length of the magnetic storage medium. The following will be introduced in conjunction with more drawings.
[0128] like Figure 4 As shown, a schematic diagram of a magnetic storage medium is provided for the present application.
[0129] exist Figure 4In the embodiment, the magnetic storage medium includes a first storage area 100 and a second storage area 200, the first storage area 100 is used to store first information, the second storage area 200 is used to store user data, and the first information is used to locate the user data; wherein the first information is obtained through the Fibonacci code.
[0130] Specifically, the first storage area 100 in the magnetic storage medium is used to store the first information, and the second storage area 200 in the magnetic storage medium is used to store the user data, and the first information is used to locate the user data. Moreover, the first information is obtained by Fibonacci code. Compared with the traditional encoding method through 14-base, since Fibonacci code can use the bit space of the full codeword, it can increase the value range expressed by the magnetic storage medium at the same encoding length. Therefore, the storage capacity of the magnetic storage medium can be increased by Fibonacci code, thereby increasing the effective length of the magnetic storage medium.
[0131] It should be understood that the magnetic storage medium may be a storage medium containing magnetic materials, which may generally be referred to as a magnetic tape, including but not limited to an audio tape (or an audio tape), a video tape (or a video tape), a computer tape, and an instrument tape (or a precision tape). In other words, the user data in the present application may be understood to include audio data, video data, computer storage data, instrument data, and the like.
[0132] Optionally, the magnetic storage medium may include one or more storage areas for storing positioning information (i.e., first information), and one or more storage areas for storing one or more blocks of user data. In other words, the magnetic storage medium may include one or more first storage areas 100, and one or more second storage areas 200. In addition, the first storage area 100 may be referred to as a servo band, and the second storage area 200 may be referred to as a data band. In other words, in the magnetic storage medium, one or more first storage areas 100 may correspond to one or more second storage areas 100, respectively. For example, the one or more first storage areas may be used to store M (M is a positive integer) pieces of first information, respectively, and the one or more second storage areas may be used to store M pieces of user data, respectively, and the M pieces of first information are used to locate the M pieces of user data, respectively.
[0133] For example, taking the value of M as greater than 1, Figure 5 As shown, the first storage area 100 and the second storage area 200 can be arranged alternately. Figure 1In the implementation shown, the number of the first storage areas 100 can be 5 and the number of the second storage areas 200 can be 4. For another example, the numbers of the first storage areas 100 and the second storage areas 200 can take other same or different values, which are not limited herein.
[0134] Optionally, the first information stored in the first storage area 100 can be referred to as position information, longitudinal position information, etc.
[0135] Optionally, in Figure 5 the magnetic storage medium shown includes M first storage areas 100, and the M first storage areas are respectively used to carry M LPOS codewords. At least one of the M LPOS codewords includes the first information, and the second information and the third information mentioned later.
[0136] In Figure 4 the implementation shown, the first information stored in the first storage area 100 is obtained through a Fibonacci code. The Fibonacci code will be introduced below. First, define the Fibonacci code as:
[0137]
[0138] where F(i) represents the value of the i-th bit on the Fibonacci code, v is the order, and v is greater than or equal to 2. For example, when v = 2, the Fibonacci sequence is 0, 1, 1, 2, 3, 5, 8, 13,...; when v = 3, the Fibonacci sequence is 0, 0, 1, 1, 2, 4, 7, 13, 24,...; when v = 4, the Fibonacci sequence is 0, 0, 0, 1, 1, 2, 4, 8, 15, 29, 56,....
[0139] Fibonacci code: For any positive integer N, it can be expressed as where v is the order, d(i) ∈ {0, 1} where i < k - 1, and d(k - 1) = d(k) = 1.
[0140] In other words, the fact that the first information is obtained through the Fibonacci code includes: the first information is obtained by encoding the positive integer N through the Fibonacci code, and N satisfies:
[0141]
[0142] where i <= k - 1, d(i) = {0, 1}, d(k - 1) = d(k) = 1, v represents the order of the Fibonacci code, and (d(0),..., d(k - 1), d(k)) represents the first information.
[0143] For example, when v=2, compare N with the Fibonacci sequence from large to small, find the closest value and subtract it, and then continue to compare to determine whether each F(.) is 1. For example, when N is 12, the closest number to 12 is 8, that is, F(6)=1. Next, 12-8=4, the closest number is 3, that is, F(4)=1. Next, 4-3=1, that is, F(2)=1. For this reason, N=12=F(2)+F(4)+F(6), so d(0)=d(2)=d(4)=1, and the corresponding code is expressed as (101011) (that is, k=5).
[0144] Thus, the magnetic storage medium may include one or more second storage areas 200 for storing one or more pieces of user data. To this end, the one or more pieces of user data contained in the magnetic storage medium may be located by a positive integer N. Accordingly, the positive integer N may be encoded by the above-mentioned Fibonacci code to obtain a coding result (i.e., the first information stored in the first storage area 100).
[0145] In one possible implementation, Figure 6a As shown, compared to Figure 4 In the implementation process shown, the first storage area 100 includes a first sub-area 101 and a second sub-area 102, the first sub-area 101 is used to carry the first information; the second sub-area 102 is used to carry the second information, and the second information is used to locate the starting position of the first storage area 100. Specifically, the first information stored in the first storage area 100 can be carried in the first sub-area 101, and the first storage area 100 can also include a second sub-area 102 for carrying the second information, so as to locate the starting position of the first storage area through the second information.
[0146] Optionally, the second information is used to locate the position of the first storage area (eg, a starting position, an ending position, etc.), wherein the second information may be referred to as synchronization information, a synchronization mark, etc.
[0147] Optionally, in Figure 6a In the first storage area of the magnetic storage medium, the code length of the second information stored in the second sub-area 102 is associated with the order of the Fibonacci code. Specifically, in the first storage area of the magnetic storage medium, the code length of the second information carried by the second sub-area is associated with the order of the Fibonacci code, so that different orders of Fibonacci codes can correspond to different code lengths, which can improve the implementation flexibility compared to the method of using a fixed code length to carry the second information.
[0148] In addition, compared with the method of encoding the synchronization information with a fixed code length, when the order of the Fibonacci code is low, the synchronization information code length can be reduced. Accordingly, when the code length of the first storage area is constant, the code length occupied by other information (such as the first information and / or the third information described later) can be increased to increase the value range expressed by other information.
[0149] Optionally, the code length of the second information stored in the second sub-area 102 satisfies:
[0150] t1=v+1;
[0151] Wherein, t1 represents the second information code length, and v represents the order of the Fibonacci code.
[0152] Optionally, the format of the second information is v represents the order of the Fibonacci code, that is, the second information may consist of 1 0 and v 1s.
[0153] In one possible implementation, Figure 6b As shown, compared to Figure 4 In the implementation process shown, the first storage area 100 also includes a third sub-area 103; the third sub-area 103 is used to carry third information, and the third information is used to indicate the production time information of the magnetic storage medium and / or the manufacturer information of the magnetic storage medium.
[0154] Optionally, at least one of the order of the Fibonacci code, the code length of the first information, the code length of the second information, and the code length of the third information is preconfigured (or a fixed value or manually configured).
[0155] Optionally, the third information may be referred to as manufacturer data. Specifically, the first storage area 100 may further include a third sub-area 103 for carrying the third information, so as to carry the production time information of the magnetic storage medium and / or the manufacturer information of the magnetic storage medium through the third information.
[0156] In another possible implementation, compared to Figure 4 In the implementation process shown, the first storage area 100 may also include a second sub-area 102 and a third sub-area 103. The positional relationship between different sub-areas may be implemented in different ways, which will be described below in conjunction with some implementation examples.
[0157] Implementation example 1: Figure 6cAs shown, in the first storage medium 100, the third sub-area 103 is located between the second sub-area 102 and the first sub-area 101. For ease of understanding, the first information is recorded as "first information (position)", the second information is recorded as "second information (synchronization)", and the third information is recorded as "third information (manufacturer)" as an example.
[0158] Specifically, in the magnetic storage medium, the first storage area 100 includes a first sub-area 101 for carrying the first information, a second sub-area 102 for carrying the second information, and a third sub-area 103 for carrying the third information. The third sub-area 103 is located between the second sub-area 102 and the first sub-area 101, so that the content stored in the first storage area is the second information for locating the starting position of the first storage area, the third information for indicating the production time information of the magnetic storage medium and / or the manufacturer information of the magnetic storage medium, and the first information for locating the user data.
[0159] For example, taking the first storage area 100 implemented by LPOS codeword as an example, Figure 6d As shown, the LPOS codeword structure of the first storage area 100 is [second information (synchronization) + first information (position) + third information (manufacturer)] (corresponding to Figure 3 Synchronous code + manufacturer data + vertical position information in the Figure 3 In the manner shown, the positions of the manufacturer data (ie, the third information) and the longitudinal position information (ie, the first information) are swapped.
[0160] In a possible implementation of the first example, the first storage area 100 may further include a first separator ( Figure 6c ), the first separator is used to separate the second sub-area 102 and the third sub-area 103. Specifically, when the contents stored in the first storage area 100 are the second information for locating the start position of the first storage area, the third information for indicating the production time information of the magnetic storage medium and / or the manufacturer information of the magnetic storage medium, and the first information for locating the user data, the second information and the third information can be separated by the first separator to achieve the separation of the second information and the third information, so as to avoid confusion between the second information and the third information.
[0161] Optionally, the first delimiter includes one or more 1s, or the first delimiter includes other identifiers (eg, one or more 0s).
[0162] Optionally, the first separator may be located at the end of the second sub-region, and may serve to separate the second sub-region 102 from the third sub-region 103. Accordingly, the first separator may be regarded as information contained in the second sub-region 102, that is, the second information may also include the first separator. Similarly, the first separator may be located at the beginning of the third sub-region 103, and may also serve to separate the second sub-region 102 from the third sub-region 103. Accordingly, the first separator may be regarded as information contained in the third sub-region 103, that is, the third information may also include the first separator.
[0163] In a possible implementation of Example 1, the format of the third information is Wherein, x∈{0,1}, t2 represents the code length of the third information. Specifically, the format of the third information satisfies In the case of, combined with the use of the first separator, the format of the combination of the third information and the first separator can satisfy t3 represents the number of "1"s contained in the first separator. This format can avoid the combination of the third information and the first separator. In order to distinguish it from the second information, thereby avoiding affecting the function of the second information.
[0164] In a possible implementation manner of implementation example 1, the first storage area 100 may further include a second separator, and the second separator is used to separate the third sub-area 103 and the first sub-area 101.
[0165] Optionally, the second delimiter includes one or more 0s, or the second delimiter includes other identifiers (eg, one or more 1s).
[0166] Optionally, the second separator can be located at the end of the third sub-region 103, and can also serve to separate the third sub-region 103 from the first sub-region 102. Accordingly, the second separator can be regarded as the information contained in the third sub-region 103, that is, the third information can also include the second separator. Similarly, the second separator can be located at the beginning of the first sub-region 101, and can also serve to separate the third sub-region 103 from the first sub-region 101. Accordingly, the second separator can be regarded as the information contained in the first sub-region 101, that is, the first information can also include the second separator. Thus, in implementation example 1, the third information and the first information can be separated by the second separator to achieve separation of the third information and the first information, which can avoid confusion between the third information and the first information.
[0167] Implementation example 2, such as Figure 7As shown, in the first storage medium 100, the first sub-area 101 is located between the second sub-area 102 and the third sub-area 103. Similarly, for ease of understanding, the first information is recorded as "first information (position)", the second information is recorded as "second information (synchronization)", and the third information is recorded as "third information (manufacturer)" as an example.
[0168] Specifically, in the magnetic storage medium, the first storage area 100 includes a first sub-area 101 for carrying the first information, a second sub-area 102 for carrying the second information, and a third sub-area 103 for carrying the third information. The first sub-area 101 is located between the second sub-area 102 and the third sub-area 103, so that the content stored in the first storage area 100 is the second information for locating the starting position of the first storage area, the first information for locating the user data, and the third information for indicating the production time information of the magnetic storage medium and / or the manufacturer information of the magnetic storage medium.
[0169] Optionally, when the first sub-region 101 is located between the second sub-region 102 and the third sub-region 103, the second sub-region 102 and the first sub-region 101 can be separated by a separator, and the first sub-region 102 and the third sub-region 103 can also be separated by a separator, and reference can be made to the implementation of the first separator and the second separator.
[0170] Optionally, no separator may be set between the first sub-region 101, the second sub-region 102, and the third sub-region 103. For example, when the code lengths of the first sub-region 101, the second sub-region 102, and the third sub-region 103 are pre-configured (or fixed value or manually configured), the sub-regions may be distinguished by their code lengths.
[0171] In order to facilitate understanding of the above technical solution, the implementation process that may be involved in the encoding implementation will be introduced below using the above implementation example 1 as an example.
[0172] for Figure 4 The second information (synchronization) carried by the first sub-area 101 shown can be calculated based on the code length n of the first storage area 100 (where n=t1+t2+t3, t1 represents the code length of the second information (synchronization), t2 represents the code length of the third information (manufacturer), and t3 represents the code length of the first information (position)) first. The maximum integer value N that can be represented by the Fibonacci sequence under different orders is first calculated, and the optimal order v is selected. According to the characteristics of the Fibonacci code, the second information (synchronization) can be determined as The corresponding code length is t1=v+1, wherein the first '0' is used to locate the start position of the second information (synchronization).
[0173] for Figure 4 The third information (manufacturer) carried in the second sub-area 102 is shown as an example, taking the information in which the first delimiter and / or the second delimiter is inside the second sub-area 102. Different formats are determined according to the relationship between the bit length t2 of the third information (manufacturer) and the code length of the second information (synchronization):
[0174] If t2≤v+1, the format of the third information (manufacturer) is where x∈{0,1}. This format can avoid Appear in This further affects the function of the second information (synchronization); the '0' at the end is used to separate the third information (manufacturer) and the first information (position), and plays a role in locating the starting position.
[0175] If t2>v+1, the format of the third information (manufacturer) is There are t2-v formats to choose from, where x∈{0,1}. This format is also used to avoid the appearance of third-party information (manufacturer) This affects the role of the second information (synchronization); the '0' at the end is used to locate the starting position.
[0176] It should be understood that t2 can be a variable, and the value of t2 can be any value as long as it meets the expression range of the third information (manufacturer), and there is no strict restriction. Different manufacturers can use different t2.
[0177] for Figure 4 The first information (position) carried by the second sub-area 103 shown in FIG. 1 is a v-order Fibonacci code, and the maximum value that can be expressed is Based on the characteristics of the Fibonacci sequence, the first information (position) will also not have a sequence of v consecutive 1s, so it will not affect the function of the second information (synchronization).
[0178] As Figure 4 An example of application of the magnetic storage medium shown in FIG. Figures 1 to 3 In the implementation process, the LPOS code length is 36 as an example. Let the second information (synchronization) length be t1, and the third information (manufacturer) length be t2, then the first information (position) length is t3 = 36-t1-t2. Next, the maximum integer value that can be expressed by the Fibonacci sequence is calculated according to different second information (synchronization) lengths t1, as shown in Table 3, which is the maximum integer value that can be expressed by the Fibonacci code under different code lengths t1.
[0179] Table 3
[0180]
[0181] It can be seen that the maximum integer value N shows a trend of first increasing and then decreasing, reaching a maximum value at t1 = 5. Therefore, the second information (synchronization) is determined to be 01111, and the corresponding Fibonacci order v=4.
[0182] Next, determine the length t2 and format of the third information (manufacturer). The third information (manufacturer) can be encoded in ASCII, GBK, UTF8, Unicode, etc. Taking ASCII as an example, since ASCII has 128 characters, It can be determined that the bit length t2=5 (≤v+1) required to describe the third information (manufacturer) is in the format of xxxx0, where x∈{0,1}. Since the third information (manufacturer) is determined by a symbol pair of two adjacent LPOS code words, in which the format of t2 can be used to distinguish it from the second information (synchronization), there is no need for "symbol 'D' to be reserved as the synchronization symbol of the manufacturer code word", so it is possible to indicate 14*14=256 symbols, which is 51.5% more than the 169 symbols of the LTO standard solution shown in Table 2 above.
[0183] Afterwards, according to the determined length of the second information (synchronization) and the code length of the third information (manufacturer), the length of the first information (position) t3=36-5-5=26 can be obtained. The maximum integer value that can be expressed using the 4th-order Fibonacci sequence is 28074040, which is 273% more than the original solution of 7529536.
[0184] It can be seen from the above technical solution that the above technical solution can improve the expression range of LPOS codewords, and accordingly can extend the length limit of the tape by 273%. In addition, under the code length of 36 bits, the LTO standard solution can encode 26.54 bits, and this solution can encode 28.74 bits. The specific calculation method is as follows:
[0185] LTO standard solution: log27529535+log213=26.54;
[0186] In this embodiment: log228074040+4=28.74;
[0187] Solution without setting a separator: log2805385357=29.58;
[0188] The encoding method is Where x…x uses Fibonacci code.
[0189] As can be seen from the above description, compared with the current LTO standard, the above embodiment designs the second information (synchronization) based on the characteristics of the Fibonacci code to ensure that the third information (manufacturer) and the first information (position) do not have the format of the second information (synchronization). At the same time, the use of the Fibonacci code can make the integer value that can be expressed by the first information (position) reach the maximum value. Under the same code length, the expression range of the LPOS codeword can be effectively improved, thereby increasing the effective length of the tape.
[0190] The present application also provides a method for encoding an LPOS codeword, which is based on Fibonacci code and longitudinal position data to encode and obtain an LPOS codeword. It should be noted that the method is executed by the first device, or the method is executed by a chip, a chip system, a processor, a logic module or a software module in the first device. Figure 8 In the embodiment, the method is performed by a first device as an example, for example, the first device may be a tape drive, a tape reading device, a tape encoding device, etc.
[0191] In a specific embodiment of the present application, Figure 8 As shown, the method includes:
[0192] S801. The first device obtains the code length of the LPOS codeword;
[0193] S802. The first device calculates the longitudinal position data based on the code length of the LPOS codeword;
[0194] S803. The first device encodes the longitudinal position data based on the Fibonacci code to obtain first information in an LPOS codeword.
[0195] It should be understood that in step S802, the longitudinal position information may be a number sequence information with a fixed format, for example, the fixed format is 123…N, where N is the maximum integer value that can be represented by the Fibonacci code, which can also be called the information capacity of the Fibonacci code. Therefore, as long as the information capacity of the Fibonacci sequence is calculated, the longitudinal position information can be obtained according to the fixed format. Based on this, the longitudinal position data is obtained by calculating based on the code length of the LPOS code word, including: based on the code length of the LPOS code word and the order of multiple Fibonacci codes, the information capacity of multiple Fibonacci codes corresponding to the order of the multiple Fibonacci codes is calculated.
[0196] Optionally, the information capacity of the fixed format or Fibonacci sequence may be preconfigured (either a fixed value or manually configured).
[0197] In a specific implementation, the calculation of the information capacity of multiple Fibonacci codes corresponding to the order of the Fibonacci code includes: obtaining the order v of the Fibonacci code, where the order of the Fibonacci code is an integer greater than 1;
[0198] Based on the order of the Fibonacci code, the Fibonacci code is calculated, and the calculation process of the Fibonacci code includes:
[0199]
[0200] Where v is the order of the Fibonacci code.
[0201] For example, when v = 2, the Fibonacci sequence is 0, 1, 1, 2, 3, 5, 8, 13, ...;
[0202] When v=3, the Fibonacci sequence is 0,0,1,1,2,4,7,13,24,…;
[0203] When v=4, the Fibonacci sequence is 0,0,0,1,1,2,4,8,15,29,56,…
[0204] Based on the code length of the LPOS codeword and the order of the Fibonacci code, a target sequence number r is calculated;
[0205] First, the code length t2 of the second information is calculated according to the order v of the Fibonacci code;
[0206] t2=v+1
[0207] The order of the Fibonacci sequence is v, and the code length of the second information is t2;
[0208] Secondly, the code length of the first information is calculated according to the code length of the LPOS code word;
[0209] t1=n-t2-t3,
[0210] Wherein, the code length of the LPOS code word is n, t2 is the code length of the second information, and t3 is the code length of the third information;
[0211] In this embodiment, n=36 is given, and in this step, the length of the third information is ignored, t3=0, and the code length of the first information is calculated to be t1=36-t2;
[0212] For example, when v = 2, t2 = 3, t1 = 33;
[0213] When v=3, t2=4, t1=32;
[0214] When v=4, t2=5, t1=31;
[0215] Finally, the code length of the first information is used as the target sequence number.
[0216] Accordingly, when v = 2, the target sequence number r is 33;
[0217] When v=3, the target sequence number r is 32;
[0218] When v=4, the target sequence number r is 31.
[0219] Based on the target sequence number r and the Fibonacci code, the information capacity of the Fibonacci code is obtained.
[0220] In a specific implementation, the rth number in the Fibonacci code serves as the information capacity N of the Fibonacci code.
[0221] When the information capacity of the Fibonacci code is the largest, the order of the corresponding Fibonacci code is obtained as the target order, and the information capacity of the corresponding Fibonacci code is taken as the target information capacity.
[0222] It should be understood that when the information capacity of the Fibonacci code is the largest, the numerical range of the information expressed is also the largest. This operation can increase the numerical range of the information expressed by the LPOS codeword.
[0223] The longitudinal position data is determined according to the target information capacity.
[0224] It should be understood that the longitudinal position data is an increasing integer sequence, represented as 12345...N, where N is the target information capacity of the first information.
[0225] In another specific embodiment, a method for encoding an LPOS codeword further includes:
[0226] Second information in the LPOS codeword is determined based on the target order.
[0227] It should be understood that the second information is used to locate the starting position of the LPOS codeword, and the second information is a number sequence with a fixed format, consisting of a 0 and a number of 1s, represented as 01111…1, wherein the code length of the second information is related to the order of the Fibonacci code.
[0228] t2=v+1
[0229] Among them, v is the order of the Fibonacci code, and the current one is the target order.
[0230] The second information is expressed as
[0231] In a third specific embodiment, a method for encoding an LPOS codeword further includes:
[0232] Get manufacturer data.
[0233] It should be understood that the manufacturer data is text information, and the manufacturer data includes information such as the recorded production time of the magnetic storage medium, the manufacturer name of the magnetic storage medium, and a specific identification.
[0234] The manufacturer data is encoded based on ASCII to obtain the third information in the LPOS code word.
[0235] Different formats are determined according to the relationship between the code length t2 of the third information and the code length of the second information:
[0236] If t2≤v+1, the format of the third information is where x∈{0,1}. This format can avoid Appear in This further affects the function of the second information (synchronization); the '0' at the end is used to separate the third information (manufacturer) and the first information (position), and plays a role in locating the starting position.
[0237] If t2>v+1, the format of the third information (manufacturer) is There are t2-v formats to choose from, where x∈{0,1}. This format is also used to avoid the appearance of third-party information (manufacturer) This affects the role of the second information (synchronization); the '0' at the end is used to locate the starting position.
[0238] The present application also provides a method for decoding an LPOS codeword, which is based on Fibonacci code. It should be noted that the method is executed by the second device, or the method is executed by a chip, a chip system, a processor, a logic module or a software module in the second device. Fig. 9 In the example, the method is executed by the second device, for example, the first device can be a tape drive, a tape reading device, a tape decoding device, etc.
[0239] In a specific embodiment of the present application, Fig. 9 As shown, the method includes:
[0240] S901. The second device obtains the LPOS codeword;
[0241] S902. The second device decodes the first information based on the Fibonacci code to obtain longitudinal position data.
[0242] based on Fig. 9 In the technical solution shown, after the second device obtains the LPOS codeword in step S901, it can decode the LPOS codeword based on the Fibonacci code in step S902 to obtain the longitudinal position data. Among them, the first information is obtained by encoding the longitudinal position data by the Fibonacci code. Compared with the traditional encoding method using the 14-hexadecimal system, since the Fibonacci code can use the bit space of the full codeword, the numerical range expressed by the magnetic storage medium can be improved at the same encoding length. Therefore, the storage capacity of the magnetic storage medium can be improved by the Fibonacci code, thereby improving the effective length of the magnetic storage medium, and allowing more information to be stored in the magnetic storage medium with improved storage capacity.
[0243] In a possible implementation, before the second device decodes the first information based on the Fibonacci code to obtain the longitudinal position data, it includes: the second device calculates one or more information capacities of the Fibonacci code based on the code length of the LPOS codeword; the second device determines the order corresponding to one of the one or more information capacities as the target order. Specifically, in the process of determining the target order of the Fibonacci code, the first device can calculate one or more information capacities corresponding to the Fibonacci code based on the code length of the LPOS codeword. When the information capacity of the Fibonacci code is the largest, the numerical range expressed by the information is also the largest. To this end, the first device determines the target order according to the information capacity, which can increase the numerical range of information expression of the LPOS codeword.
[0244] Optionally, after the LPOS code length is determined, one or more information capacities of the Fibonacci code are obtained based on the order of one or more Fibonacci codes, wherein the order of the Fibonacci code corresponds to the information capacity of the Fibonacci code, and accordingly, the target information capacity may be the information capacity with the largest information capacity determined among the one or more information capacities. Alternatively, the information capacities determined among the one or more information capacities are sorted from large to small according to the information capacity, and one of the information capacities (for example, the information capacity with the largest information capacity in the sorting result, or when the sorting result is sorted from large to small in terms of information capacity, the xth information capacity therein, where x is 1, 2, 3 or other values) is determined as the target information capacity according to the sorting result.
[0245] In a possible implementation, the LPOS codeword further includes second information, and the second information is used to locate the starting position of the LPOS codeword. The method further includes: the second device determines the target order of the Fibonacci code; and the second device determines the second information in the LPOS codeword based on the target order. Specifically, the second device can also determine the second information in the LPOS codeword based on the target order of the Fibonacci code, wherein the second information is used to locate the starting position of the LPOS codeword, so as to achieve synchronization of the LPOS codeword through the second information.
[0246] In a possible implementation, the second device determines the second information based on the target order, including: the second device calculates the code length of the second information based on the target order; and the second device determines the second information according to the code length of the second information. Specifically, the second device can determine the code length of the second information based on the target order of the Fibonacci code, and determine the second information based on the code length of the second information and a predefined format.
[0247] In a possible implementation, the second device determines the target order of the Fibonacci code, including: the second device calculates one or more information capacities of the Fibonacci code based on the code length of the LPOS codeword; the first device determines the order corresponding to one of the one or more information capacities as the target order. Specifically, in the process of the second device determining the target order of the Fibonacci code, the first device can calculate one or more information capacities corresponding to the Fibonacci code based on the code length of the LPOS codeword, and when the information capacity of the Fibonacci code is the largest, the numerical range expressed by the information is also the largest. To this end, the first device determines the target order according to the information capacity, which can improve the numerical range of information expression of the LPOS codeword.
[0248] In a possible implementation, the LPOS codeword further includes third information, and the third information is used to carry manufacturer data. The method further includes: the second device decodes the third information in the LPOS codeword based on the ASCII code to obtain the manufacturer data. Specifically, after obtaining the third information in the LPOS codeword, the second device can also decode the third information through the ASCII code to obtain the manufacturer data, so as to achieve decoding and reading of the manufacturer data through the LPOS codeword.
[0249] It should be noted that in Fig. 9 In the technical solution shown, the calculation process of the Fibonacci code, the code length of the first information, the code length of the second information, the code length of the third information, etc. can be determined by referring to the aforementioned Figure 8 The implementation process is shown.
[0250] It should be understood that the manufacturer data may be text information, for example, the manufacturer data includes information such as the recorded production time of the magnetic storage medium, the manufacturer name of the magnetic storage medium, and a specific identification.
[0251] Optionally, the ASCII code may also be replaced by other implementations, including but not limited to GBK, UTF8, Unicode, etc.
[0252] As an implementation example, during the decoding process, the second device can first determine the synchronization code according to the data (i.e., the second information) read out from the tape servo channel. When the synchronization code is identified, the longitudinal position information (i.e., the first information) is decoded. The LPOS value P is calculated based on the t3 bits after the synchronization code (i.e., the first information). The calculation method is as follows:
[0253]
[0254] Among them, d(0), d(1), d(2), ..., d(t3-2), d(t3-1) are the t3 bits after the synchronization code, and F(0+v), F(1+v), F(2+v), ..., F(t3-2+v), F(t3-1+v) are the v-order Fibonacci sequence. Finally, according to the t2 bits after the vertical position information (i.e., the third information), the corresponding manufacturer information is decoded using the rules of ASCII code.
[0255] It should be noted that the magnetic storage medium used by the second device to store data may also refer to other implementations of the present application (for example Figure 4 , Figure 5 , Figures 6a to 6d , Figure 7 and related embodiments).
[0256] See also Fig.10 , is a device 1000 involved in the above embodiments provided in the embodiments of the present application. Among them, a possible logical structure diagram of the device 1000, the device 1000 may include but is not limited to at least one processor 1001.
[0257] Further optionally, the apparatus may also include at least one of a communication port 1002 and a bus 1004 . In an embodiment of the present application, the at least one processor 1001 is used to control and process the actions of the device 1000 .
[0258] In addition, the processor 1001 can be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, a hardware component or any combination thereof. It can implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements a computing function, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, and the like. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the above-described system, device and unit can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0259] It should be noted that Fig.10 The device 1000 shown can be specifically used to implement the steps implemented by each device in the aforementioned method embodiment, and to achieve the technical effects corresponding to each device. Fig.10 The specific implementation methods of the communication device shown can all refer to the description in the aforementioned method embodiment, and will not be described in detail here.
[0260] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the unit is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0261] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A magnetic storage medium, characterized in that: comprising a first storage area and a second storage area, wherein the first storage area is used to store first information, the second storage area is used to store user data, and the first information is used to locate the user data; The first information is obtained through Fibonacci code.
2. The magnetic storage medium according to claim 1, characterized in that The first storage area is also used to store second information, and the second information is used to locate the starting position of the first storage area.
3. The magnetic storage medium according to claim 2, characterized in that: The code length of the second information satisfies: t1=v+1; Wherein, t1 represents the second information code length, and v represents the order of the Fibonacci code.
4. The magnetic storage medium according to claim 2 or 3, characterized in that: The format of the second information is v represents the order of the Fibonacci code.
5. The magnetic storage medium according to any one of claims 2 to 4, characterized in that: The first storage area is further used to store third information, where the third information is used to indicate production time information of the magnetic storage medium and / or manufacturer information of the magnetic storage medium.
6. The magnetic storage medium according to claim 5, characterized in that: The first storage area includes a first sub-area for carrying the first information, a second sub-area for carrying the second information, and a third sub-area for carrying the third information; The third sub-region is located between the second sub-region and the first sub-region.
7. The magnetic storage medium according to claim 6, characterized in that: The first storage area further includes a first separator, and the first separator is used to separate the second sub-area and the third sub-area.
8. The magnetic storage medium according to claim 7, characterized in that: The first separator includes one or more 1s.
9. The magnetic storage medium according to any one of claims 6 to 8, characterized in that: The format of the third information is: Wherein, x∈{0,1}, t2 represents the code length of the third information.
10. The magnetic storage medium according to any one of claims 6 to 9, characterized in that: The first storage area further includes a second separator, and the second separator is used to separate the third sub-area from the first sub-area.
11. The magnetic storage medium according to claim 10, characterized in that: The second separator includes one or more zeros.
12. The magnetic storage medium according to claim 5, characterized in that: The first storage area includes a first sub-area for carrying the first information, a second sub-area for carrying the second information, and a third sub-area for carrying the third information; The first sub-region is located between the second sub-region and the third sub-region.
13. The magnetic storage medium according to any one of claims 5 to 12, characterized in that: The magnetic storage medium includes M first storage areas, where M is a positive integer; The M first storage areas are respectively used to carry M LPOS code words, and at least one LPOS code word among the M LPOS code words includes the first information, the second information and the third information.
14. The magnetic storage medium according to any one of claims 1 to 13, characterized in that: The first information is obtained through Fibonacci code, including: The first information is obtained by encoding a positive integer N using the Fibonacci code, where N satisfies: Among them, i<=k-1, d(i)={0,1}, d(k-1)=d(k)=1, v represents the order of the Fibonacci code, and (d(0),…,d(k-1),d(k)) represents the first information.
15. The magnetic storage medium according to any one of claims 5 to 14, characterized in that: At least one of the code length of the first information, the code length of the second information, and the code length of the third information is preconfigured.
16. A method for encoding a longitudinal position LPOS codeword, characterized in that: include: Get longitudinal position data; The longitudinal position data is encoded based on a Fibonacci code to obtain first information in the LPOS codeword.
17. The encoding method according to claim 16, characterized in that: The obtaining of longitudinal position data comprises: Calculating one or more information capacities of the Fibonacci code based on the code length of the LPOS codeword; determining one of the one or more information capacities as a target information capacity; The longitudinal position data is determined according to the target information capacity.
18. The encoding method according to claim 16 or 17, characterized in that: The method further comprises: Determining a target order of the Fibonacci code; Second information in the LPOS codeword is determined based on the target order, where the second information is used to locate a starting position of the LPOS codeword.
19. The encoding method according to claim 18, characterized in that: The determining of the second information based on the target order includes: Calculate the code length of the second information based on the target order; The second information is determined according to a code length of the second information.
20. The encoding method according to claim 18 or 19, characterized in that: Determining the target order of the Fibonacci code includes: Calculating one or more information capacities of the Fibonacci code based on the code length of the LPOS codeword; An order corresponding to one of the one or more information capacities is determined as the target order.
21. The method according to any one of claims 17 to 20, characterized in that The one information capacity is the largest information capacity among the one or more information capacities.
22. The encoding method according to any one of claims 16 to 21, characterized in that: The encoding method further comprises: Get manufacturer data; The manufacturer data is encoded based on the American Standard Code for Information Interchange ASCII code to obtain the third information in the LPOS code word.
23. A method for decoding a longitudinal position LPOS codeword, characterized in that: include: Acquire the LPOS codeword, where the LPOS codeword includes first information; The first information is decoded based on the Fibonacci code to obtain longitudinal position data.
24. The decoding method according to claim 23, characterized in that: Before decoding the first information based on the Fibonacci code to obtain the longitudinal position data, the method includes: Calculating one or more information capacities of the Fibonacci code based on the code length of the LPOS codeword; determining one of the one or more information capacities as a target information capacity; The first information is determined according to the target information capacity.
25. The decoding method according to claim 23 or 24, characterized in that: The LPOS codeword further includes second information, and the second information is used to locate the starting position of the LPOS codeword. The method further includes: Determining a target order of the Fibonacci code; Second information in the LPOS codeword is determined based on the target order.
26. The decoding method according to claim 25, characterized in that: The determining of the second information based on the target order includes: Calculate the code length of the second information based on the target order; The second information is determined according to a code length of the second information.
27. The decoding method according to claim 25 or 26, characterized in that: Determining the target order of the Fibonacci code includes: Calculating one or more information capacities of the Fibonacci code based on the code length of the LPOS codeword; An order corresponding to one of the one or more information capacities is determined as the target order.
28. The decoding method according to any one of claims 24 to 27, characterized in that: The one information capacity is the largest information capacity among the one or more information capacities.
29. The decoding method according to any one of claims 23 to 28, characterized in that: The LPOS codeword further includes third information, and the third information is used to carry manufacturer data. The method further includes: The third information in the LPOS code word is decoded based on the American Standard Code for Information Interchange ASCII code to obtain the manufacturer data.
30. A user data reading device, characterized in that: comprising at least one processor; The at least one processor is used to read the magnetic storage medium according to any one of claims 1 to 15 to obtain the servo band information and the user data.
31. A user data storage device, characterized in that: comprising at least one processor; The at least one processor is used to obtain user data; The at least one processor is further configured to store the user data in the magnetic storage medium of any one of claims 1 to 15.
32. A user data reading device, characterized in that: comprising at least one processor; The at least one processor is configured to execute the method of any one of claims 16 to 22.
33. A user data storage device, characterized in that: comprising at least one processor; The at least one processor is configured to execute the method of any one of claims 23 to 29.