CN118113510A - ErrorCode layering solution method for SSD test system - Google Patents
ErrorCode layering solution method for SSD test system Download PDFInfo
- Publication number
- CN118113510A CN118113510A CN202311673967.1A CN202311673967A CN118113510A CN 118113510 A CN118113510 A CN 118113510A CN 202311673967 A CN202311673967 A CN 202311673967A CN 118113510 A CN118113510 A CN 118113510A
- Authority
- CN
- China
- Prior art keywords
- layers
- ssd
- test
- write
- errorcode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000013403 standard screening design Methods 0.000 claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 16
- 238000007639 printing Methods 0.000 claims abstract description 8
- 238000013500 data storage Methods 0.000 claims abstract description 4
- 230000011218 segmentation Effects 0.000 claims abstract description 4
- 238000013515 script Methods 0.000 claims description 12
- 238000005192 partition Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- NGVDGCNFYWLIFO-UHFFFAOYSA-N pyridoxal 5'-phosphate Chemical compound CC1=NC=C(COP(O)(O)=O)C(C=O)=C1O NGVDGCNFYWLIFO-UHFFFAOYSA-N 0.000 claims description 6
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 3
- 239000011449 brick Substances 0.000 claims description 3
- 230000014759 maintenance of location Effects 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 230000003068 static effect Effects 0.000 claims description 3
- 230000004807 localization Effects 0.000 claims description 2
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
The invention discloses an ErrorCode layering solving method of an SSD test system, which comprises the following operation steps: s1: layering SSD; s2: a layered data storage structure of the SSD; s3: write back and retirement logic for SSDs; s4: layering processing of software S5: baseScript modular segmentation; s6: defining ErrorCode according to S1-S2; s7: the invention relates to the field of software design, and provides a standardized printing interface for enabling a developer and a user to print and inquire the reasons of errors by using a form of a table to maintain continuously updated error codes.
Description
Technical Field
The invention relates to the field of software design, in particular to an error code output mode and specification of each layer in each software design.
Background
SSD is solid state drive, is the computer storage device that mainly uses flash memory as permanent memory, and solid state drive comprises control unit and memory cell, is widely used in a great deal of fields such as industrial control, video monitoring, network terminal, navigation equipment, and relative to mechanical hard disk, the solid state drive has higher read and write speed, and the cost is also relatively higher, and common solid state drive adopts SATA-III interface, PCIe x8 or mSATA, M.2, ZIF, IDE, U.2, CF, CFast and other interfaces.
At present, the error codes of the conventional SSD test system are all simple digital output, errors of a software layer are reflected through simple digital return values, for example, negative numbers represent specific errors, and 0 represents no errors, so that the scheme is simple, but the error codes are very chaotic and are not friendly to secondary development and users.
Therefore, it is necessary to propose an error code layering solution for the SSD test system to solve the above-mentioned problems.
Disclosure of Invention
The invention mainly aims to provide an ErrorCode layering solution method of an SSD test system, which can effectively solve the problems in the background technology.
In order to achieve the above purpose, the technical scheme adopted by the invention is as follows:
an error code layering solution for an SSD test system, comprising the following steps of:
S1: layering SSD: divide it into cli, tier, tierxlatro;
s2: hierarchical data storage structure of SSD: the partitions 0-4k are reserved spaces, the immediately following 1M is super block information, the super block is followed by a block information for storing the block information managed by the partition, the block information is followed by an Inode table for storing file information, one file is followed by a file metadata map for identifying all block information of the partition, the file metadata is followed by a reserved space of 1M, and the reserved space is followed by a data block;
s3: write back and retirement logic for SSDs:
A: if the hierarchical idle block ratio is less than 5%, turning to B for execution, otherwise turning to E for execution;
b: acquiring corresponding obsolete blocks from the algorithm;
C: writing the block to a mechanical disk;
d: the writing is completed, and the method is transferred to A to continue the circular execution;
E: according to the space utilization rate and the current IOPS, the throughput condition calculates the number of write backs required, and the number of write backs is obtained according to the following three-dimensional array inquiry: when the space utilization rate is low, service IO takes precedence, the write-back is in a stop state, write-back operation starts to be executed when the space utilization rate reaches 75%, the write-back occupies a small part of resources of SSD, the service IO correspondingly reduces the speed a bit, when the space utilization rate reaches 90%, the write-back is in a full-speed write-back state, the service IO continues to reduce the speed, if the number of acquired write-back blocks is 0, the write-back operation is stopped, otherwise, the execution is switched to C;
S4: layering processing of software: layering the whole Software, wherein 00 layers are Device/physical layer, 01 layers are SYSTEMLAYER, 02 layers are Software, 03 layers are Engine/Interface, 04 layers are BaseScript and 05 layers are BusinessScript;
S5: baseScript modular segmentation: wherein 00 layers are POWER_CYCLE, 01 layers are SPOR, 02 layers are POR, 03 layers are PERFORMANCE, 04 layers are PS_MODE, 05 layers are PLP, 06 layers are MARGIN_TEST, 07 layers are JEDEC_ENTERPRISE, 08 layers are JEDEC_CLIENT, 09 layers are FULL_RW, 10 layers are STESS_TEST, 11 layers are READ_DITURB_TEST, 12 layers are DATA_ RETENTION, and 13 layers are SHORT_LONG_DST;
S6: the definition of ErrorCode is performed according to S1-S2: errorCode is defined as AA, BB, CCCC, DD, where:
AA: layer code;
BB: module code defined by the layers;
CCCC: the error code is defined by each module of each layer;
DD: the error code subcode returns a value for the function;
S7: the continuously updated ErrorCode is maintained by using a form of a table, and an interface for normalized printing is provided, so that developers and users can print and inquire the reasons of errors, wherein the interface provided by the code realizes the following algorithm:
And (3) a step of: reading all row and column data from the file of the table in the drawing;
And II: using a HASH dictionary, taking errorcode columns as keys of the dictionary, taking other columns as values of the keys, and manufacturing the table into a HASH table;
thirdly,: when the test script program is initialized, two steps are executed, and the generated dictionary is used as a static member variable of an ErrorCode single instance for all people;
Fourth, the method comprises the following steps: when an error occurs, the program calls a printing method of the ErrorCode single instance, software can search and inquire a dictionary in the two steps according to the name of the module throwing the exception and the Code transmitted by a developer, and the error details and other information analyzed in the dictionary are output according to the specification.
Preferably, in step S4, the Device/physical layer of 00 layers is the physical hardware layer closest to the SSD system, the 05 layers are BusinessScript layers closest to the user, i.e. are service script layers, the 01 layers SYSTEMLAYER are system layer errors including errors caused by system level anomalies, the 02 layers Software are SSD test systems developed based on the operating system, the 04 layers BaseScript are test scripts developed based on the upper SSD test systems, and the 04 layers BusinessScript are test scripts customized by secondary developers based on the modularized scheme provided by the upper test scripts.
Preferably, in the step S5, POWER_CYCLE、SPOR、POR、PERFORMANCE、PS_MODE、PLP、MARGIN_TEST、JEDEC_ENTERPRISE、JEDEC_CLIENT、FULL_RW、STRESS_TEST、READ_DISTURB_TEST、DATA_RETENTION、SHORT_LONG_DS is a divided module, and the 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13 is a module code for subsequent query and problem localization of an error code, where the error code is labeled error code.
Preferably, in the step S1, cli is a single process, and is used for sending delete birck, add brick, and set parameter command to tier; tier is a single process, which is used for receiving and processing the request sent by cli, tierxlatro, storing and reading the user data; tierxlatro is a so library, glusterfsd is loaded, and is mainly used for receiving, processing a request sent by writecache, forwarding the request to a tier for processing, or issuing the request to a next layer for processing xlator.
Preferably, in step S2, the database is real data for storing data, and each data block has an identifier in the metadata area of the file.
Advantageous effects
Compared with the prior art, the invention provides an ErrorCode layering solution method of an SSD test system, which has the following beneficial effects:
1. According to the error code layering solution method of the SSD test system, through the error code scheme of the SSD test system, the way of synchronizing error information with a user can be developed, the complicated and error-prone mode of extracting an error code table from codes is not needed, through the way of layering and dividing modules by software, logic in development is clearer, the code coupling degree is lower, maintenance is more convenient, through defining the format of the error code, the error code can be output more clearly, layering and dividing modules are embodied, the error code can be used as a user to quickly inquire specific error reasons through the corresponding table of the error code, for a developer, the developer can directly use specific interfaces without paying attention to a plurality of details of the output error code, meanwhile, through layering during software design, internal printing specifications are formulated, and printed public interfaces are packaged, so that the coupling degree is reduced on a development level, and the visual understanding and inquiring difficulty of system users and secondary expanders on the error reasons are improved.
Drawings
FIG. 1 is a screenshot of an error code of the present invention.
Detailed Description
The invention is further described in connection with the following detailed description, in order to make the technical means, the creation characteristics, the achievement of the purpose and the effect of the invention easy to understand.
An ErrorCode layering solution method of an SSD test system comprises the following operation steps:
s1: layering SSD: it is divided into cli, tier, tierxlatro, wherein:
cli: a single process for sending delete birck, add brick, set parameter command to tier;
tier: a single process is used for receiving and processing the request sent by cli, tierxlatro, storing and reading the user data;
tierxlatro: the so library glusterfsd is loaded and is mainly used for receiving, processing the request sent by writecache, forwarding the request to the tier for processing or issuing to the next layer of xlator for processing;
S2: hierarchical data storage structure of SSD: the partitions 0-4k are reserved spaces, 1M is superblock information, the superblock is followed by a block information for storing the block information for partition management, the block information is followed by an Inode table for storing file information, one file is an Inode, the Inode table is followed by file metadata mapping for identifying all block information of the partitions, the file metadata is followed by a reserved space of 1M, the reserved space is followed by data blocks for storing real data of data, and each data block is identified in a file metadata area;
s3: write back and retirement logic for SSDs:
A: if the hierarchical idle block ratio is less than 5%, turning to B for execution, otherwise turning to E for execution;
b: acquiring corresponding obsolete blocks from the algorithm;
C: writing the block to a mechanical disk;
d: the writing is completed, and the method is transferred to A to continue the circular execution;
E: according to the space utilization rate and the current IOPS, the throughput condition calculates the number of write backs required, and the number of write backs is obtained according to the following three-dimensional array inquiry: when the space utilization rate is low, service IO takes precedence, the write-back is in a stop state, write-back operation starts to be executed when the space utilization rate reaches 75%, the write-back occupies a small part of resources of SSD, the service IO correspondingly reduces the speed a bit, when the space utilization rate reaches 90%, the write-back is in a full-speed write-back state, the service IO continues to reduce the speed, if the number of acquired write-back blocks is 0, the write-back operation is stopped, otherwise, the execution is switched to C;
S4: layering processing of software: layering the whole Software, wherein 00 layers are Device/physical layer, 01 layers are SYSTEMLAYER, 02 layers are Software, 03 layers are Engine/Interface, 04 layers are BaseScript, 05 layers are BusinessScript,00 layers are physical hardware layers closest to an SSD system, 05 layers are BusinessScript closest to a user, namely a business script layer, 01 layers SYSTEMLAYER are system layer errors, errors caused by system-level anomalies are included, 02 layers of Software are SSD test systems developed based on an operating system, 04 layers BaseScript are test scripts developed based on an upper SSD test system, 04 layers BusinessScript are test scripts customized by a secondary developer based on a modularized scheme provided by the upper test scripts;
S5: baseScript modular segmentation: wherein, the 00 layer is power_cycle, the 01 layer is SPOR, the 02 layer is POR, the 03 layer is PERFORMANCE, the 04 layer is ps_mode, the 05 layer is PLP, the 06 layer is margin_test, the 07 layer is jedec_enter_priority, the 08 layer is jedec_client, the 09 layer is full_rw, the 10 layer is structure_test, the 11 layer is read_display_test, the 12 layer is data_ RETENTION, the 13 layer is short_long_dst, wherein POWER_CYCLE、SPOR、POR、PERFORMANCE、PS_MODE、PLP、MARGIN_TEST、JEDEC_ENTERPRISE、JEDEC_CLIENT、FULL_RW、STRESS_TEST、READ_DISTURB_TEST、DATA_RETENTION、SHORT_LONG_DS is divided module, 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13 is module code for subsequent searching and problem positioning of error code, wherein the error code is marked error code;
S6: the definition of ErrorCode is performed according to S1-S2: errorCode is defined as AA, BB, CCCC, DD, where:
AA: layer code;
BB: module code defined by the layers;
CCCC: the error code is defined by each module of each layer;
DD: the error code subcode returns a value for the function;
S7: the continuously updated ErrorCode is maintained by using a form of a table, and an interface for normalized printing is provided, so that developers and users can print and inquire the reasons of errors, wherein the interface provided by the code realizes the following algorithm:
And (3) a step of: reading all row and column data from the file of the table in the drawing;
And II: using a HASH dictionary, taking errorcode columns as keys of the dictionary, taking other columns as values of the keys, and manufacturing the table into a HASH table;
thirdly,: when the test script program is initialized, two steps are executed, and the generated dictionary is used as a static member variable of an ErrorCode single instance for all people;
Fourth, the method comprises the following steps: when an error occurs, the program calls a printing method of the ErrorCode single instance, software can search and inquire a dictionary in the two steps according to the name of the module throwing the exception and the Code transmitted by a developer, and the error details and other information analyzed in the dictionary are output according to the specification.
Specific example one:
layering of the overall software is as follows:
Device/PhysicalLayer | 00 |
SystemLayer | 01 |
Software | 02 |
Engine/Interface | 03 |
BaseScript | 04 |
BusinessScript | 05 |
。
Specific example II:
BaseScript modular cut table:
third embodiment:
Definition table of error code:
Through the error code scheme of the SSD test system, the error information can be developed and synchronized with a user, the complicated and error-prone mode of extracting the error code table from the code is not needed, through the mode of software layering and module dividing, logic in development is clearer, code coupling degree is lower, maintenance is more convenient, the error code can be clearly output through defining the format of the error code, layering and module dividing can be embodied, the error code can be quickly queried to a specific error reason through the corresponding table of the error code as a user, a developer does not need to pay attention to a plurality of details of outputting the error code, a specific interface can be directly used, and the SSD test system is very convenient and fast.
The foregoing has shown and described the basic principles and main features of the present invention and the advantages of the present invention. It will be understood by those skilled in the art that the present invention is not limited to the embodiments described above, and that the above embodiments and descriptions are merely illustrative of the principles of the present invention, and various changes and modifications may be made without departing from the spirit and scope of the invention, which is defined in the appended claims. The scope of the invention is defined by the appended claims and equivalents thereof.
Claims (5)
1. An error code layering solution method of an SSD test system is characterized in that: the method comprises the following operation steps:
S1: layering SSD: divide it into cli, tier, tierxlatro;
s2: hierarchical data storage structure of SSD: the partitions 0-4k are reserved spaces, the immediately following 1M is super block information, the super block is followed by a block information for storing the block information managed by the partition, the block information is followed by an Inode table for storing file information, one file is followed by a file metadata map for identifying all block information of the partition, the file metadata is followed by a reserved space of 1M, and the reserved space is followed by a data block;
s3: write back and retirement logic for SSDs:
A: if the hierarchical idle block ratio is less than 5%, turning to B for execution, otherwise turning to E for execution;
b: acquiring corresponding obsolete blocks from the algorithm;
C: writing the block to a mechanical disk;
d: the writing is completed, and the method is transferred to A to continue the circular execution;
E: according to the space utilization rate and the current IOPS, the throughput condition calculates the number of write backs required, and the number of write backs is obtained according to the following three-dimensional array inquiry: when the space utilization rate is low, service IO takes precedence, the write-back is in a stop state, write-back operation starts to be executed when the space utilization rate reaches 75%, the write-back occupies a small part of resources of SSD, the service IO correspondingly reduces the speed a bit, when the space utilization rate reaches 90%, the write-back is in a full-speed write-back state, the service IO continues to reduce the speed, if the number of acquired write-back blocks is 0, the write-back operation is stopped, otherwise, the execution is switched to C;
S4: layering processing of software: layering the whole Software, wherein 00 layers are Device/physical layer, 01 layers are SYSTEMLAYER, 02 layers are Software, 03 layers are Engine/Interface, 04 layers are BaseScript and 05 layers are BusinessScript;
S5: baseScript modular segmentation: wherein 00 layers are POWER_CYCLE, 01 layers are SPOR, 02 layers are POR, 03 layers are PERFORMANCE, 04 layers are PS_MODE, 05 layers are PLP, 06 layers are MARGIN_TEST, 07 layers are JEDEC_ENTERPRISE, 08 layers are JEDEC_CLIENT, 09 layers are FULL_RW, 10 layers are STESS_TEST, 11 layers are READ_DITURB_TEST, 12 layers are DATA_ RETENTION, and 13 layers are SHORT_LONG_DST;
S6: the definition of ErrorCode is performed according to S1-S2: errorCode is defined as AA, BB, CCCC, DD, where:
AA: layer code;
BB: module code defined by the layers;
CCCC: the error code is defined by each module of each layer;
DD: the error code subcode returns a value for the function;
S7: the continuously updated ErrorCode is maintained by using a form of a table, and an interface for normalized printing is provided, so that developers and users can print and inquire the reasons of errors, wherein the interface provided by the code realizes the following algorithm:
And (3) a step of: reading all row and column data from the file of the table in the drawing;
And II: using a HASH dictionary, taking errorcode columns as keys of the dictionary, taking other columns as values of the keys, and manufacturing the table into a HASH table;
thirdly,: when the test script program is initialized, two steps are executed, and the generated dictionary is used as a static member variable of an ErrorCode single instance for all people;
Fourth, the method comprises the following steps: when an error occurs, the program calls a printing method of the ErrorCode single instance, software can search and inquire a dictionary in the two steps according to the name of the module throwing the exception and the Code transmitted by a developer, and the error details and other information analyzed in the dictionary are output according to the specification.
2. The SSD test system error code layering solution of claim 1, wherein: in step S4, the Device/physical layer of the 00 layers is the physical hardware layer closest to the SSD system, the 05 layers are BusinessScript layers closest to the user, i.e. are service script layers, the 01 layers SYSTEMLAYER are system layer errors including errors caused by system level anomalies, the 02 layers Software are SSD test systems developed based on the operating system, the 04 layers BaseScript are test scripts developed based on the upper SSD test systems, the 04 layers BusinessScript are test scripts customized by secondary developers based on the modularization scheme provided by the upper test scripts.
3. The SSD test system error code layering solution of claim 1, wherein: in the step S5, POWER_CYCLE、SPOR、POR、PERFORMANCE、PS_MODE、PLP、MARGIN_TEST、JEDEC_ENTERPRISE、JEDEC_CLIENT、FULL_RW、STRESS_TEST、READ_DISTURB_TEST、DATA_RETENTION、SHORT_LONG_DS is a divided module, and 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13 are module codes for subsequent query and problem localization of error codes, where the error codes are labeled error codes.
4. The SSD test system error code layering solution of claim 1, wherein: in the step S1, cli is a single process, and is used for sending delete birck, add brick, and set parameter command to tier; tier is a single process, which is used for receiving and processing the request sent by cli, tierxlatro, storing and reading the user data; tierxlatro is a so library, glusterfsd is loaded, and is mainly used for receiving, processing a request sent by writecache, forwarding the request to a tier for processing, or issuing the request to a next layer for processing xlator.
5. The SSD test system error code layering solution of claim 1, wherein: in the step S2, the database is real data for storing data, and each data block has an identifier in the metadata area of the file.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311673967.1A CN118113510A (en) | 2023-12-07 | 2023-12-07 | ErrorCode layering solution method for SSD test system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311673967.1A CN118113510A (en) | 2023-12-07 | 2023-12-07 | ErrorCode layering solution method for SSD test system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118113510A true CN118113510A (en) | 2024-05-31 |
Family
ID=91209521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311673967.1A Pending CN118113510A (en) | 2023-12-07 | 2023-12-07 | ErrorCode layering solution method for SSD test system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118113510A (en) |
-
2023
- 2023-12-07 CN CN202311673967.1A patent/CN118113510A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11281531B2 (en) | Serial storage node processing of data functions | |
CN108874971B (en) | Tool and method applied to mass tagged entity data storage | |
US8819335B1 (en) | System and method for executing map-reduce tasks in a storage device | |
US20100161565A1 (en) | Cluster data management system and method for data restoration using shared redo log in cluster data management system | |
CN106874348B (en) | File storage and index method and device and file reading method | |
CN109710572B (en) | HBase-based file fragmentation method | |
US10210196B2 (en) | Data storage device having internal hardware filter, data storage method and data storage system | |
CN102591947A (en) | Fast and low-RAM-footprint indexing for data deduplication | |
CN106980665B (en) | Data dictionary implementation method and device and data dictionary management system | |
CN113448938A (en) | Data processing method and device, electronic equipment and storage medium | |
US11625192B2 (en) | Peer storage compute sharing using memory buffer | |
US10990324B2 (en) | Storage node processing of predefined data functions | |
CN107798063A (en) | Snap processing method and snapshot processing unit | |
CN110704431A (en) | Hierarchical storage management method for mass data | |
CN103699627B (en) | A kind of super large file in parallel data block localization method based on Hadoop clusters | |
CN115470235A (en) | Data processing method, device and equipment | |
CN112347044A (en) | Object storage optimization method based on SPDK | |
CN111930684A (en) | Small file processing method, device and equipment based on HDFS (Hadoop distributed File System) and storage medium | |
WO2023235040A1 (en) | File system improvements for zoned storage device operations | |
US11474981B2 (en) | Database dual-core storage system based on optical disk and method using the system | |
CN114896250B (en) | Key value separated key value storage engine index optimization method and device | |
CN118113510A (en) | ErrorCode layering solution method for SSD test system | |
US11775487B2 (en) | Automatic flexible schema detection and migration | |
US11055018B2 (en) | Parallel storage node processing of data functions | |
US11314593B2 (en) | Storage node processing of data functions using overlapping symbols |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |