CN118113510A - ErrorCode layering solution method for SSD test system - Google Patents

ErrorCode layering solution method for SSD test system Download PDF

Info

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
Application number
CN202311673967.1A
Other languages
Chinese (zh)
Inventor
赵铭
秦文豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Okn Technology Co ltd
Original Assignee
Suzhou Okn Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Okn Technology Co ltd filed Critical Suzhou Okn Technology Co ltd
Priority to CN202311673967.1A priority Critical patent/CN118113510A/en
Publication of CN118113510A publication Critical patent/CN118113510A/en
Pending legal-status Critical Current

Links

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

ErrorCode layering solution method for SSD test system
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.
CN202311673967.1A 2023-12-07 2023-12-07 ErrorCode layering solution method for SSD test system Pending CN118113510A (en)

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)

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